LaTeX 中的字体定义

LaTeX 的字体设置(伪黑体,伪斜体)

2017-03-31

在 LaTeX 中,使用 XeLaTeX 编译时可以很方便的调用系统字体。

1. 查找本地字体

Windows 下运行 cmd 输入以下指令可以得到电脑上已安装的中文字体和英文字体列表文件。

fc−list :lang=en >> 文件路径/font_en.txt
fc−list :lang=zh >> 文件路径/font_zh.txt

2. 设置全局字体

在 LaTeX 文件中调用 ctex 宏包后,可以通过下列命令设置默认字符格式。

\setmainfont[AutoFakeSlant=0.3, AutoFakeBold=3]{HYXinRenWenSongW}
% 全局西文用汉仪新人文宋W字体
\setCJKmainfont[AutoFakeSlant=0.3, AutoFakeBold=3]{汉仪新人文宋W}
% 全局中文用汉仪新人文宋W 字体 AutoFakeBold = false

这里 \setmainfont 表示英文字体格式,\setCJKmainfont 为设置中文字体格式。因为大量中文字体没有斜体与黑体,需要用伪斜体和伪黑体来表示,在可选参数中可以设置 AutoFakeSlantAutoFakeBold。如果参数不设置值,则为默认值,上述 0.3 和 3 就是默认值。系统字体名称必须与 fc-list 查到的名称一致(如果有中文的话,也可以用中文名称)。

3. 设置某一部分字体

设定英文字体指令:

\newfontinstance {自定义指令名} {系统字体名称}

示例:

\newfontinstance {\courier} {Courier}

设定中文字体指令:

\setCJKfamilyfont {自定义的CJKfamily名称} {系统字体名称}
\newcommand {自定义指令名} {自定义的CJKfamily名称}

示例:

\setCJKfamilyfont{hwxk}{STXingkai}
\newcommand {\stxk} {\CJKfamily{hwxk}}

4. 举例

\documentclass{article}
\usepackage[margin=25mm]{geometry}
\usepackage{ctex}

\setmainfont[AutoFakeSlant=0.3, AutoFakeBold=3]{HYXinRenWenSongW}
% 全局西文用汉仪新人文宋W字体
\setCJKmainfont[AutoFakeSlant=0.3, AutoFakeBold=3]{汉仪新人文宋W}
% 全局中文用汉仪新人文宋W 字体 AutoFakeBold = false
% 如果参数不设置值,则为默认值,上述 0.3 和 3 就是默认值。

\setCJKfamilyfont{hwxk}{STXingkai} % 使用 STXingkai 华文行楷字体
\newcommand {\stxk} {\CJKfamily{hwxk}}
\setCJKfamilyfont{hwlt}{STLiti} % 使用 STLiti 华文隶书字体
\newcommand {\stlt} {\CJKfamily{hwlt}}

\begin{document}
\zihao{3}
(正常)甲乙丙丁戊己庚辛壬葵\par
ABCDEFGHIJKLMNOPQRSTUVWXYZ\par
abcdefghijklmnopqrstuvwxyz1234567890\par
~\par\bfseries
(粗体)甲乙丙丁戊己庚辛壬葵\par
ABCDEFGHIJKLMNOPQRSTUVWXYZ\par
abcdefghijklmnopqrstuvwxyz1234567890\par
~\par\it
(斜体)甲乙丙丁戊己庚辛壬葵\par
ABCDEFGHIJKLMNOPQRSTUVWXYZ\par
abcdefghijklmnopqrstuvwxyz1234567890\par
~\par\it\bfseries
(粗斜)甲乙丙丁戊己庚辛壬葵\par
ABCDEFGHIJKLMNOPQRSTUVWXYZ\par
abcdefghijklmnopqrstuvwxyz1234567890\par
~\par\rm
\underline{(下划线)甲乙丙丁戊己庚辛壬葵} \par

~\par
{\stxk 甲乙丙丁戊己庚辛壬葵} \par
{\stlt 甲乙丙丁戊己庚辛壬葵} \par

\end{document}

效果展示:
20170331_latexfont.jpg

参考资料:
XeLaTeX+CTeX调用本地系统字体的方法