latex字体设置
1、基本命令
\rmfamily 选择一种roman (i.e., serifed)字体族
\sffamily 选择一种sans serif字体族
\ttfamily 选择一种monospaced (“typewriter”)字体族
对于每种字体族可以使用下面的申明,选择不同的系列:
\mdseries 普通
\bfseries 加粗
和不同的形状:
\upshape 竖直
\slshape 倾斜
\itshape 斜体
\scshape 大写小写
这些“申明”命令,在当前组或环境中起作用。
族、系列、形状命令可以组合使用,如,\bfseries\itshape生成粗意大利体。另外并不是每种组合都是有效的,例如许多字体族中没有大小写。
这种方案称为NFSS(新字体选择方案),它的官方文件可以在每个latex系统中找到,fntguide.dvi或.pdf
2、怎样改变整篇文档的默认字体?
latex使用的三种默认字体族是
roman
sans serif
monospaced
在tex之外的世界里,这三种字体已经不流行了,因此“怎样改变整篇文档的默认字体?”这个问题是最多人问及的。
用\rmfamily, \sffamily和\ttfamily命令选择的字体族由对应的宏\rmdefault, \sfdefault 和\ttdefault决定。如果你知道希望使用的字体族的名字,则可以用\renewcommand改变它们。只需在导言部分增加这个命令
\renewcommand{\rmdefault}{ptm}
ptm是latex系统中“time”字体族的名字,因此文档中所以的CM Roman变为Times。
在后面将说明怎样知道一种字体族的名字。
但是如果文档中含有数学表达式,需要注意的是改变\rmdefault并不会对公式产生影响。在上面的例子中它们将还是使用CM数学字体,不会与Times相混淆。
要想改变数学字体比简单地定义一个宏要麻烦的多。这就是为什么可选择的数学字体常伴随着一个宏:要想得到宏的结果必须替换默认的(CM)数学字体;许多情况下这些宏会慎重考虑重定义\rmdefault.例如,将文字和数学表达式均改为Times,必须在导言部分还加入下面的命令:
\usepackage{mathptmx}
也有其他的宏可以只改变文字的字体,但是这也会改变其他特征,如缩放。
3、在你的Latex系统中有哪些字体族可用?
除了计算机现代体外还有其他的字体,相关的宏经常涉及“PSNFSS collection”。它支持typefaces Times, Helvetica, Palatino 和Charter (还有些其他的),另外还支持与Times和Palatino相适应的数学字体。相关信息可以参考Latex系统中的PDF文件psnfss2e.pdf,通常在目录doc/latex/psnfss下。强烈推荐大家阅读一下这篇文档。它谈到了支持字体族的名称(如上面提到的ptm),还解释了相关宏的用法。
PSNFSS collection谈到之外的可供选择的字体,严格来说,只有你的特定TEX发行文件可以告诉你,你的系统中安装了哪些字体,相关的文件安装在哪里。
最新的TEX发行及附带的免费文字和数学字体可以从CTAN得到。
更多Latex用户字体族在http://tug.org/fonts有介绍。4、怎样改变文档某一部分的字体?
一个经常问到的问题就是怎样改变文档中一部分元素的字体,特别地如章节标题的字体。这些元素的样式,包括字体的选择,是由你使用的文档类决定的。不幸的是标准的文档类(article, report, book)默认情况下不提供任何定制。
一种可行的办法就是使用额外的宏,来增加必要的功能;最常用的titlesec(CTAN:macros/latex/contrib/titlesec/)和sectsty(CTAN:macros/latex/contrib/sectsty/)来改变章节标题的样式,控制图形和表格的标题样式。这些宏的使用方法在相关的文章中有介绍。
另外,不同的文档类用不同的方法。KOMA类以及Memoir类提供多种方法定制格式。例如,我们来看看KOMA类控制节标题格式的接口:
默认情况下KOMA类使用粗体sans-serif 字体输出标题。要改变它可以使用
\setkomafont{sectioning}{...}
它的第二个参数定义对所有的节标题起作用。通常我们希望使用粗体的roman字体,另外应用\boldmath,因此在节标题中的数学表达式也是粗体。这在KOMA类中很简单:
\setkomafont{sectioning}{\rmfamily\bfseries\boldmath}
相似地,可以用\setkomafont{caption}{...}修改章标题的样式。
通常使用这些额外的宏和类,只需要一条Latex命令就可以改变文档许多部分的格式。