对于中英混排ctex类中字体设置的说明 -- Latex
一. 环境
Document Class: ctexbook 2019/05/29 v2.4.16
TexStudio + Texlive 2019
Win10
\documentclass[12pt,openright,a4paper,AutoFakeBold,twoside]{ctexbook} %在双面(twoside)环境下,openright使得每个新章节从奇数页开始
\usepackage[CJKbookmarks]{hyperref}
\usepackage{shortvrb,indentfirst,ulem,makeidx}
\usepackage{fancyhdr}
\usepackage{graphicx}
\usepackage[numbers,sort&compress]{natbib}
\usepackage{geometry}
\usepackage[OT1]{fontenc} %添加后才使字体加粗和斜体起作用
\usepackage{times}
\usepackage{fontspec}
\usepackage{CJKfntef}
\usepackage{caption}
\usepackage{titletoc}\begin{document}
...
\end{document}
导言区的
\usepackage[OT1]{fontenc}
是依据 [1] 想解决Xelatex编译文档提示Warning: Font shape 'TU/ptm/m/n' undefined(Font) using 'TU/lmr/m/n' instead on input line 207.
才添加的。但实际没有解决该字体的问题,反而解决了原本文档中使用{\bf 加粗的内容}
和{\it italicABCD}
都不起作用的问题。
----Edit----------
关于Warning: Font shape 'TU/ptm/m/n' undefined(Font) using 'TU/lmr/m/n' instead on input line 207.
的解决方法,可以参考 解决Font shape `TU/ptm/m/n‘ undefined (Font)的问题。
二. ctex中关于字体的命令与设置 [2, 3]
对于字体设置分为字体声明和字体命令。字体声明看作是对当前位置及其后续内容的字体进行的统一设置;字体命令看作是对紧跟命令的花括号内的内容进行的字体设置。
1. 字体族的设置(罗马字体,无衬线字体,打字机字体,中文字体)
罗马字体命令:\textrm{该内容显示罗马字体Roman Family} %大括号中是文字内容。
声明后续字体为罗马字体: \rmfamily 该内容显示罗马字体,后续文字内容也为罗马字体,直至新的声明出现覆盖该声明。
罗马字体声明的作用域:
{\rmfamily 该内容显示罗马字体} %加上大括号即可约束字体说明范围。
其他字体声明也是类似的。无衬线字体命令:\textsf{无衬线字体Sans Serif Family}
无衬线字体声明:\sffamily打字机字体命令:\texttt{打字机字体Typewriter Family}
打字机字体声明:\ttfamily{\songti 宋体}
{\heiti 黑体}
{\fangsong 仿宋}
{\kaishu 楷书}
2. 字体形状设置(直立,斜体,伪斜体,小型大写)
%直立
\textup{Upright shape} %这是命令。
{\upshape Upright shape} %这是声明。(下同)%斜体
\textit{Italic shape }
{\itshape Italic shape}%伪斜体
\textsl{Slanted shape }
{\slshape Slanted shape}%小型大写
\textsc{Small caps shape }
{\scshape Small caps shape}
3. 字体系列(粗细,宽度)
- 字体加粗:
\textbf{内容abcd粗体} %这属于命令.
\bf{…} 或 \bfseries{…} %这属于声明,且这里的花括号不起限定作用
.
{\bf 内容abcd粗体} 或 {\bfseries 内容abcd加粗} %这属于声明+用花括号限定作用范围. - 字体斜体:
\textit{内容abcd斜体} %这属于命令.
\it{…} 或 \itshape{…} %这属于声明,且这里的花括号不起限定作用
.
{\it 内容abcd斜体} 或 {\itshape 内容abcd斜体}%这属于声明+用花括号限定作用范围
中文粗体是黑体,斜体是楷书 [3];对英文加粗就是bold,斜体就是italic的。
[4] 中提到 其实\bf{A} 的用法是不存在的,且\bf是一个过时的命令。此外, [4] 中提到 要想对希腊字母例如\gamma加粗,得使用bm宏包,然后使用 \bm命令(不是\bf命令)。
在数学环境下编辑公式时,使用\bm{\gamma}}。如果是在正文中非数学环境下,应当为$\bm{\gamma}}$。
参考
[1] Latex Font Warning after updating to TeXlive 2016
[2] Latex 字体的设置
[3] LaTeX——基本介绍及字体设置
[4] 为什么latex的公式中\bf{\gamma}总是不能加粗
[5] Latex: 编译时字体加粗无效
对于中英混排ctex类中字体设置的说明 -- Latex相关推荐
- EndNote20教程:中英混排问题解决方法(中文参考文献处理) 附最新版下载
作为全球市场占有率最高的个人文献管理软件,EndNote虽然对中文文献及数据库极度不友好(至少我这样认为),但仍然不影响它在国内科研人员心中的地位,因为它对英文数据库及英文文献的支持是非常友好的. 个 ...
- endnote中英混排时“等“与“et al”的处理
一.建立文献类型Chinese Article 依次打开「Edit」→「Preference」→「Reference Types」→「Modify Reference Types 」→「Unused ...
- Android TextView中图文混排设置行间距导致高度不一致问题解决
Android TextView中图文混排设置行间距导致高度不一致问题解决 参考文章: (1)Android TextView中图文混排设置行间距导致高度不一致问题解决 (2)https://www. ...
- 字体风格分类数据集共享(中英混读)
Font Classifier 字体分类器 Abstract Font style recognition is a very interesting and valuable thing. We ...
- 挑战赛 | MagicHub中英混语音识别挑战赛发布基线系统和开发训练集
2022年8月12日起,由Magic Data.好未来.清华大学.中国科学院声学研究所主办联合主办的 "Magichub中英混ASR挑战赛" 自开展以来,已经收到三十多支国内外研究 ...
- Myeclipse中导入项目后java类中汉字注释出现乱码问题(已解决)
Myeclipse中导入项目后java类中汉字注释出现乱码问题(已解决) 参考文章: (1)Myeclipse中导入项目后java类中汉字注释出现乱码问题(已解决) (2)https://www.cn ...
- java 在一个类中定义类_Java 中程序代码必须在一个类中定义,类使用( )关键字来定义。_学小易找答案...
[填空题]每一个 else 子句都必须和它前面的一个距离它最近的 子句相对应. [单选题]有关类的说法,正确的是( ) [单选题]在JAVA中,无论测试条件是什么,下列( )循环体 将至少执行一次. ...
- java实体类中有枚举类型_当实体类中entity/DTO/VO等类中,有枚举值,应该怎么输出?...
当实体类中entity/DTO/VO等类中,有枚举值,应该怎么输出? 问题: orderStatus 和 payStatus都是枚举类,并且枚举的个数达地10来个,我们不可能在模板页面(jsp/ftl ...
- java 在一个类中去调用另一个类中的对象数组
比如说,我在A类中创建了一个对象数组.想在B类中去使用这个A类中的数组.那么有两种方式 以下创建的数组都是类类型的数组 我觉得类类型数组的好处可以给数组中的每一个元素创建多个标签.并且可以对多个标签进 ...
最新文章
- 假期充电!20世纪最优秀的物理学家费曼是如何生活、学习和思考的?
- 动手学深度学习需要这些数学基础知识
- 深度丨机器人会伤害你?科学家做了实验并回答了七个问题
- linux设备驱动学习笔记(1)
- PHP设计模式——抽象工厂模式
- Android之解析XML
- 干货+福利!MySQL常见的面试题+索引原理分析!
- 以下代码有什么问题(struct构造问题)
- 51Nod 1640 - 天气晴朗的魔法(最小生成树变形)
- 微软腾讯联手开发IM软件MQ QQ和MSN将于2009年停用
- 初识 Angularjs1.x ,了解5个W和1个H
- 恍然小悟,去掉Excel的worksheet(工作表)保护的新方法
- C++中数字和字符的转换
- 面试官问:如果MySQL引起CPU消耗过大,你会怎么优化
- comsol临时文件夹中有不支持的字符_文件名中不能包含的字符
- mysql数据库特征_如何掌握MySQL数据库中动态表的特征
- css sgc加密,ASP+SGC实现柱状图
- vue中动态添加组件
- C/C++编程语言中操作目录及目录中文件的方法
- linux 修改ip地址 和关闭防火墙设置