分享

LaTeX字体设置

 牛厨馆 2018-12-10

记录一些关于latex字体配置

英文字体

使用fontspec宏包设置字体

\setmainfont{Times New Roman}
\setsansfont{DejaVu Sans}
\setmonofont{Latin Modern Mono}
\setsansfont{[foo.ttf]}                          % 直接使用当前目录下的字体文件
  • 1
  • 2
  • 3
  • 4

这里可以用可选参数强制设置每种字体对应的变体,比如如果要Times加粗后用Nimbus Sans L,斜体用Nimbus Roman No9 L则:

\setmainfont[BoldFont=Nimbus Sans L, ItalicFont={Nimbus Roman No9 L}]{Times New Roman}
  • 1

大多数情况下,这样做是不必要的,因为fontspec宏包会自动选择对应的粗体和斜体。

英文的字体变换比中文方便许多,也有效许多,很多英文下有效的字体变换方法在中文下都没有用。

在英文下,临时改变英文字体可以用

 \fongfamily{font}
 \setmainfont{font}
  • 1
  • 2

配合{}的分组作用,可以临时改变字体。但是在中文下,这两种方法都失效。

字体大小

Command     Nominal Point Size      Exact Point Size
\tiny               5                       5
\scriptsize         7                       7
\footnotesize       8                       8
\small              9                       9
\normalsize        10                      10
\large             12                      12
\Large             14                   14.40
\LARGE             18                   17.28
\huge              20                   20.74
\Huge              24                   24.88
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

字体颜色

\usepackage{xcolor}
\textcolor{color}{words to be in color}
\color{color}{}
\colorbox[rgb]{r,g,b}{text}  %背景颜色
  • 1
  • 2
  • 3
  • 4

中文字体

\setCJKmainfont{SimSun}     % 语义和语法同fontspec
\setCJKsansfont{SimHei}
\setCJKmonofont{SimSun}
\punctstyle{kaiming}     % 不使用台湾同胞们标点独占一格的行为
  • 1
  • 2
  • 3
  • 4

英文环境下改变中文字体的方法几乎都不能用,但是还有其他的方法可用

\CJKfontspec{font}
\setCJKfamilyfont{shortname}{fontname}
\CJKfamily{shortname}    %配合\setCJKfamilyfont
  • 1
  • 2
  • 3

英文下改变字体大小的方法,也能在中文下使用,此外,ctex包还提供了\zihao{}方法来改变字号。其中参数为阿拉伯数字,如\zihao{5}表示五号,如果前面加上-号,即\ziaho{-5},则表示小五号。

斜体加粗与下划线

英文下:latex

显示直立文本: \textup{文本}
意大利斜体: \textit{文本}
slanted斜体: \textsl{文本}
显示小体大写文本:  \textsc{文本}
中等权重: \textmd{文本}
加粗命令: \textbf{文本}
默认值: \textnormal{文本}
下划线: \underline{文本}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

字体族:

罗马  \textrm{}
无衬字 \textsf{}
打字机 \texttt{}
普通字体: \textnormal{} 或者 \normalfont, 相当于 \rmfamily\mdseries\upshape
  • 1
  • 2
  • 3
  • 4

中文下:

加粗下划线命令可以正常使用

latex中,中文没有斜体,所谓的斜体其实是”伪斜体”,可以利用改变字体的方式来实现,例如

\setCJKmainfont[BoldFont = STZhongsong, ItalicFont = STKaiti]{STSong}
  • 1

扩展

利用宏包ulem可以实现其他的标记

\usepackage{ulem}

\uline{text}  下划线
\uuline{text}  双下划线
\uwave{text} 波浪线
\sout{text} 删除线
\xout{text} 斜删除线
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

查看系统字体

使用 fc-list 命令可以列出系统中可以使用的字体. 使用参数 fc-list :lang=zh 可以单独列出支持中文的字体.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多