一. 环境

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相关推荐

  1. EndNote20教程:中英混排问题解决方法(中文参考文献处理) 附最新版下载

    作为全球市场占有率最高的个人文献管理软件,EndNote虽然对中文文献及数据库极度不友好(至少我这样认为),但仍然不影响它在国内科研人员心中的地位,因为它对英文数据库及英文文献的支持是非常友好的. 个 ...

  2. endnote中英混排时“等“与“et al”的处理

    一.建立文献类型Chinese Article 依次打开「Edit」→「Preference」→「Reference Types」→「Modify Reference Types 」→「Unused ...

  3. Android TextView中图文混排设置行间距导致高度不一致问题解决

    Android TextView中图文混排设置行间距导致高度不一致问题解决 参考文章: (1)Android TextView中图文混排设置行间距导致高度不一致问题解决 (2)https://www. ...

  4. 字体风格分类数据集共享(中英混读)

    Font Classifier 字体分类器 Abstract   Font style recognition is a very interesting and valuable thing. We ...

  5. 挑战赛 | MagicHub中英混语音识别挑战赛发布基线系统和开发训练集

    2022年8月12日起,由Magic Data.好未来.清华大学.中国科学院声学研究所主办联合主办的 "Magichub中英混ASR挑战赛" 自开展以来,已经收到三十多支国内外研究 ...

  6. Myeclipse中导入项目后java类中汉字注释出现乱码问题(已解决)

    Myeclipse中导入项目后java类中汉字注释出现乱码问题(已解决) 参考文章: (1)Myeclipse中导入项目后java类中汉字注释出现乱码问题(已解决) (2)https://www.cn ...

  7. java 在一个类中定义类_Java 中程序代码必须在一个类中定义,类使用( )关键字来定义。_学小易找答案...

    [填空题]每一个 else 子句都必须和它前面的一个距离它最近的 子句相对应. [单选题]有关类的说法,正确的是( ) [单选题]在JAVA中,无论测试条件是什么,下列( )循环体 将至少执行一次. ...

  8. java实体类中有枚举类型_当实体类中entity/DTO/VO等类中,有枚举值,应该怎么输出?...

    当实体类中entity/DTO/VO等类中,有枚举值,应该怎么输出? 问题: orderStatus 和 payStatus都是枚举类,并且枚举的个数达地10来个,我们不可能在模板页面(jsp/ftl ...

  9. java 在一个类中去调用另一个类中的对象数组

    比如说,我在A类中创建了一个对象数组.想在B类中去使用这个A类中的数组.那么有两种方式 以下创建的数组都是类类型的数组 我觉得类类型数组的好处可以给数组中的每一个元素创建多个标签.并且可以对多个标签进 ...

最新文章

  1. 假期充电!20世纪最优秀的物理学家费曼是如何生活、学习和思考的?
  2. 动手学深度学习需要这些数学基础知识
  3. 深度丨机器人会伤害你?科学家做了实验并回答了七个问题
  4. linux设备驱动学习笔记(1)
  5. PHP设计模式——抽象工厂模式
  6. Android之解析XML
  7. 干货+福利!MySQL常见的面试题+索引原理分析!
  8. 以下代码有什么问题(struct构造问题)
  9. 51Nod 1640 - 天气晴朗的魔法(最小生成树变形)
  10. 微软腾讯联手开发IM软件MQ QQ和MSN将于2009年停用
  11. 初识 Angularjs1.x ,了解5个W和1个H
  12. 恍然小悟,去掉Excel的worksheet(工作表)保护的新方法
  13. C++中数字和字符的转换
  14. 面试官问:如果MySQL引起CPU消耗过大,你会怎么优化
  15. comsol临时文件夹中有不支持的字符_文件名中不能包含的字符
  16. mysql数据库特征_如何掌握MySQL数据库中动态表的特征
  17. css sgc加密,ASP+SGC实现柱状图
  18. vue中动态添加组件
  19. C/C++编程语言中操作目录及目录中文件的方法
  20. linux 修改ip地址 和关闭防火墙设置

热门文章

  1. 【zabbix】MySQL模板创建与监控
  2. LCD电子手提秤电路板方案软硬件开发
  3. java 逆向工程、反向工程
  4. LibQQt系列之十四《v2.3》
  5. HCIP---第十七天笔记
  6. 从零开始,教你选购最适合自己的智能手机!
  7. 23种设计模式用英语怎样表达?
  8. 【涵子来信Linux百宝书】——Linux实体机简约安装教程
  9. 决策树、随机森林——泰坦尼克号生死预测示例
  10. 计算机不显示驱动硬盘,计算机硬盘分区名称不显示驱动器号