latex 字体设置

如题所述

第1个回答  2022-07-15

字体是由一些正交的属性决定的,通常讨论的属性为字体族(font family)、字体形状(font shape)以及字体系列(font series)。关于字号这个属性我们一般单独作为一个字体属性进行设置。本文不对具体的字体属性进行说明,仅通过实例来说明如何在我们的文档中分别设置中、西文字体。

本文主要参考了刘海洋的《LaTeX入门》,更多关于字体的介绍可以参考本书、官方文档或其他资料。

预定义的字体族有3种:默认的罗马字体族(roman family)、无衬线字体族(sans serif family)和打印机字体族(typewriter family)。其命令为:

预定义的字体形状:默认的直立(upright shape,也称roman shape)、意大利(italic shape)、倾斜(slanted shape)、小型大写(small capitals shape)。我们通常所说的“倾斜”往往是指意大利形状,因此我们在设置倾斜字体的时候往往都是指定意大利形状字体。

预定义的字体系列:默认的中等(medium)和加宽加粗(bold extended)两类:

在我们编写自己的包或者类文件时,一般我们都需要设置三个字体族使用什么样字体。对于其他两个字体形状和字体系列,我们往往只关心罗马字体族的“倾斜”(实际为意大利)和加粗两个属性。下面是一个常用的设置示例:

这里假设我们使用的文档模板为 ctexart ,这样我们可以直接使用下面三个 CJK 相关的命令。第一个命令是用来加载包的,如果在我们的文档中使用的话对应的命令为 \usepackage{fontspec} 。

接下来的三行是设置英文状态下三种字体族使用的字体。分别设置了正文罗马字体族、无衬线字体族和打印机字体族。英文字体一般都是成套的,当我们设置好这三种字体后, fontspec 宏包会自动的寻找对应的变体,无需我们关心。

最后的三行是设置中文状态下的三种字体族使用的字体。中文各个字体之间一般都是独立的(只有少数字体由不同重量的成套字体),因此这里我们给主要字体指定了其在加粗、倾斜以及加粗倾斜时使用的字体。由于正文字体及其加粗、倾斜变体一般足以覆盖我们90%以上的文档,所以这里不再给另外两个字体族设置变体字体了。

在 word 中选择字体时,我们可以看到所有我们电脑上安装的字体并进行设置。接下来介绍如何在 LaTeX 中引入更多的系统字体。

加载更多英文字体使用的命令为 fontspec 宏包的 \newfontfamily<命令>[(可选项)]{<字体名>} 。 xeCJK 宏包( ctex 宏包或文档类[包括我们这里的 ctexart 文档]会自动调用)中对应的命令为 \setCJKfamilyfont{<中文字体族>}[<可选项>]{字体名} 。下面是一个使用示例:

这里使用 \newcommand 命令将中文字体选择的命令重定义成一个更简单的形式。下面是一个使用示例:

显示结果如下:

对于字体不起作用的字符,会自动使用前面设置的正文罗马字体。

默认的字号大小可以在我们加载标准文档时,通过指定参数来进行设置。如: \documentclass[12pt]{report} 。正文默认字体的选项有10pt(默认),11pt,12pt三种。如果使用的为 ctexart,ctexrep,ctexbook 则还额外提供了 c5size 和 cs4size 两个选项。其中 c5size 为默认值,表示五号字(10.5pt),cs4size 表示小四号字(12pt)。

如果我们想要局部的修改某些字体的大小可以使用如下命令:

这些命令对应字体的大小和默认字体有关,具体对应关系如下:

当然 LaTeX 中还允许更加灵活的设置字号,如果你觉得上面字号不够用的话。可以查阅相关资料了解更多的字号设置。 这里 是一篇不错的文档。

相似回答