LaTeX教学2.5 字体

这篇的错误和不严谨较多, 可以参考 Stone-Zeng 的博客 来获得更多的字体知识

2.5 字体

在论文中我们使用最多的是一个字体的四种性质:字族(font family), 字体形状(font shape), 字体系列(font series)[1], 和字体大小(size)

. LaTeX提供了带参数命令字体声明两种修改字体的命令, 前者用于少量字体的更换, 后者用于分组或环境中字体的整体更换例如:

字体示例.png

2.5.1 字体的性质

字族

预设的字族有三种:罗马字族(roman family), 无衬线字族(sans serif family)和打字机字族(typewriter family), 其中无衬线字族也叫等线字族, 打字机字族也叫等宽字族, 其命令和显示效果为:

字族示例.png
字体形状

字体预设的形状有4种:直立形状(upright shape, 也称roman shape), 意大利形状(italic shape), 倾斜形状(slanted shape), 小型大写形状(small capitals shape), 其对应的命令及显示为:

字形示例.png

在论文中正文模式使用直立字形. 要注意倾斜形状和意大利形状的区别, 倾斜形状只是直接对符号进行倾斜而产生的, 而我们常说的斜体往往指的是意大利形状, 它更类似于手写体. 因为数学公式中的字体一般使用意大利形状, 因而与数学混排时倾斜形状不会与公式中的字母混淆; 在标题, 参考文献中也有使用倾斜形状的, 一般会根据所使用的模板不同而不同. 但是, 并不是所有的字族都有这么多种形状, 除了LaTeX默认的Computer Modern和Latin Modern, 大多数字体都只有意大利与倾斜两种形状中的一种, 很多字体也缺少小型大写字母符号. 另一方面, 一些其他字体也会提供更多其他的形状, 比如Venturis Adf字体就提供意大利的小型大写和空心等形状, 具体的命令可以查看对应字体的pdf文档, 其路径是C:\texlive\2018\texmf-dist\doc\fonts\(TeXlive), MikTeX也可以到类似的路径下寻找pdf文档.

字体系列

预设命令中字体系列有中等(medium)和加宽加粗(bold extened)两类:

字体系列示例.png

论文正文默认使用中等字体系列, 两个命令表示的意义对不同套的字体可能有所区别, 如命令\textbf\bfseries对默认的字体选择加宽加粗字体系列, 但对一些字体则是选择加粗(bold)或半粗(demi-bold)字体系列.

上面介绍字体的三种性质, 同一种性质之间不能叠加, 但不同类的性质可以叠加, 三种性质的组合效果见下表

总表格.png
字体大小

在LaTeX中修改字体大小有两种方法, 一种是用系统内的字体大小, 另一种是在文类中添加可选参数, 这里我们只介绍如何用命令修改字体大小. 字体修改命令只有声明式的命令, 即对命令后的文字起效, 下面给出各个字体下各个命令的点数:

字体尺寸命令 10pt(默认选项) 11pt 12pt
\tiny 5pt 6pt 6pt
\scriptsize 7pt 8pt 8pt
\footnotesize 8pt 9pt 10pt
\small 9pt 10pt 10.95pt
\normalsize 10pt 10.95pt 12pt
\large 12pt 12pt 14.4pt
\Large 14.4pt 14.4pt 17.28pt
\LARGE 17.28pt 17.28pt 20.74pt
\huge 20.74pt 20.74pt 24.88pt
\Huge 24.88pt 24.88pt 24.88pt

当使用默认的10pt时, 所有字体尺寸命令与排版效果如下表:

字体-大小.png

对于整段文字都需要调整字体的, 可以使用一对花括号将要改变字体的内容括起来, 或者使用环境形式的更改方案, 如

\begin{large}
...
\end{large}
中文字体

对于中文字体, 大多数并没有所谓的粗体和意大利体, 但是在中文论文的写作过程中经常会需要用它们来做强调, 为此, ctex宏包重定义了\rmfamily, 使其对中文也起作用, 另外还定义了一些组合字体, 可以让中文也使用粗体\bfseries和意大利体\itshape, 默认的中文字族是rm, 其正常字体是宋体, 粗体是黑体, 意大利体是楷体, 对应的无衬线字族是微软雅黑, 打字机字族是仿宋, 故上面我们看到在抄录命令中中文变成了仿宋体就是这个原因, 我们用下面的示例来进行综合的说明:

\documentclass{article}
\usepackage[UTF8]{ctex}
\begin{document}
\textrm{正常的中文字体}, \textsf{无衬线中文字体}, \texttt{打字机中文字体}, \textbf{中文粗体}, \textit{意大利中文字体}
\end{document} 
ctex字体示例.png

而且ctex还针对中文用户设计了特别的字号, 类似MS-Word中的初号, 小四等等, 其命令为\zihao{数值}, 其中的数值有16个可选项, 部分对应关系如下表:

字号 初号 小初 一号 小一 二号 小二 三号 小三 四号
代码 0 -0 1 -1 2 -2 3 -3 4

以上字体大小与使用文类中的字体大小无关, 其点数都是固定不变的.
注意:在上文中提及的字族, 形状和系列的命令都是使用对应性质的命令, 而不是对应性质的名称, 如加宽加粗的命令是\textbf, 而加宽加粗系列的名称是bx

2.5.2 字体设置

说完了LaTeX中的字体的性质, 再说说怎么更换字体.

英文字体

对于英文字体可以使用fontspec宏包, 使用声明命令\fontspec[<性质>]{<字体>}, 其中字体可以是字体名或字体文件名, 例如:MS-Word中默认的西文字体是Times New Roman, 字体名叫"Times New Roman", 而字体文件名叫"times.ttf", 注意, 当使用字体名时, LaTeX会自动调用字体对应的其他字形和系列, 而使用文件名使用更换字体的时候需要同时在[性质]中指定其对应的形状和系列, 否则无法使用其对应的形状和系列. 即如果想要完整使用Times New Roman字体的话, 以下命令二选一

\fontspec[BoldFont=timesbd.ttf, ItalicFont=timesi.ttf, BoldItalicFont=timesbi.ttf]{times.ttf}
\fontspec{Times New Roman}

或者可以指定其他字体作为times.ttf的粗宽体和意大利体, 只需在[性质]中添加想使用的字体即可. 需要注意的是这种修改方式只可以改变当前文档中的罗马体, 即当我们使用\textsf, \texttt命令的时候, 仍是调用原来的无衬线字体和等宽字体, 如果需要全局进行这种字体的修改的话, 推荐使用下面的格式:

\setmainfont[<性质>]{<字体名>}     %设置正文罗马字体
\setsansfont[<性质>]{<字体名>}     %设置正文无衬线字体
\setmonofont[<性质>]{<字体名>}     %设置正文等宽字体

上述命令中的性质的说明与命令\fontspec中的性质相同, 这些命令推荐用在导言区来修改全文的字体, 而且系统会尽量找到这些字体对应的粗宽体和意大利体, 尽量使得命令\textbf和命令\textit, 同时可以使用新的字族命令:

\newfontfamily<命令>[<性质>]{<字体名>}

这个命令中<命令>是用户自定义的用来调用该字体的一个命令, <字体名>依旧可以是字体名称或者字体文件名, 然后用定义的声明命令来调用该字体, 看下例:
调用新字族命令来改变一段文字的字体.

\documentclass{article}
\begin{document}
    \newfontfamily\myfont{Lucida Handwriting}
    \myfont This is my font.
\end{document} 
字体更换.png
中文字体

对于CJK(China, Janpan, Korea)文字, \fontspec命令对其不起作用, 类比英文的字体更换方法, 我们可以使用xeCJK宏包中的命令, 但是我们无需主动调用这个宏包, 因为ctex文类以及ctex宏包都自动调用了这个宏包. 我们可以用下面的命令来改变全局CJK文字的罗马体, 无衬线体还有等宽体.

\setCJKmainfont[<性质>]{<字体名>}     %设置正文罗马字体
\setCJKsansfont[<性质>]{<字体名>}     %设置正文无衬线字体
\setCJKmonofont[<性质>]{<字体名>}     %设置正文等宽字体

还有另一种调用字体的方法, 即定义新字族, 只是命令与英文命令有些区别:

\setCJKfamilyfont{<自定义字族>}[<性质>]{<字体名>}

并且用声明命令\CJKfamily{<自定义字族>}来调用该命令, 看下例.

\documentclass{article}
\usepackage[UTF8]{ctex}
\begin{document}
    \setCJKfamilyfont{myCJKfont}{华文行楷} 
    \CJKfamily{myCJKfont} 华文行楷
\end{document} 
CJK字体更换.png

同样这种方法只对CJK文字起作用, 不会改变英文的字体, xeCJK宏包又为我们提供了三个命令, 扩充了字体更换功能:

\CJKfamily{<自定义字族>}     %只改变CJK文字字体
\CJKfamily+{<自定义字族>}    %改变CJK和非CJK文字
\CJKfamily-{<自定义字族>}    %只改变非CJK文字

同样, 对于中文字体, ctex宏包也给了我们更多的方便, 使用\songti, \heiti, \fangsong, \kaishu, \youyuan, \lishu来分别输出宋体, 黑体, 仿宋, 楷书, 幼圆, 隶书, 上述命令都是声明形式的, 但是不能在导言区使用. 中文字体宏包ctex将章节中的字体设为黑体, 如果想更改章节名中的字体, 可以使用上述字体命令, 如果要改变全文中某个层次的中文字体, 可以参考中文标题宏包ctexcap.


  1. 通常指字体的重量(weight, 即粗细)和宽度(width)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,636评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,890评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,680评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,766评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,665评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,045评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,515评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,182评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,334评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,274评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,319评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,002评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,599评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,675评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,917评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,309评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,885评论 2 341