LaTeX 编译中文文档
介绍
pdfLaTeX 编译引擎不支持中文,而 XeLaTeX 编译引擎原生支持中文,但由于默认字体是英文字体,因此无法显示中文,需要设置中文字体之后才能正常显示中文。
- 其中
CJK
是最古老的,其对中文字体的支持比较麻烦,不推荐使用。 xeCJK
以及luatexja
宏包在CJK
基础上封装了对汉字排版细节的处理功能。CTEX
宏包和文档类进一步封装了CJK
、xeCJK
、luatexja
等宏包,使得用户在排版中文时不再考虑排版引擎等细节。
关于在 Overleaf 中加载自定义中文字体,参见博客:Overleaf 加载自定义字体
CTEX 文档类
如果你要撰写一篇纯中文的文档,那么你可以直接使用 CTEX 文档类:
\documentclass[fontset=founder]{ctexart}
参考:CTEX 宏集手册
xeCJK 宏包(常用)
很多情况下,我们希望利用某些英文 LaTeX 模板来撰写中文文章,这时候就不能使用 CTEX 文档类了。这种情况下,可以通过引入 ctex
宏包或者 xeCJK
宏包来支持中文。
xeCJK
对中文的支持更朴素一点,也就是它除了支持你插入中文以外不会改变文档其他地方。而 ctex
则会将文档类中的一些英文环境也翻译成中文。
\documentclass{article}
\usepackage{xeCJK} % 加载 xeCJK 宏包
\setCJKmainfont{SimSun} % 设置默认中文字体
\setCJKsansfont{SimHei} % 设置中文无衬线字体
\setCJKmonofont{SimFang} % 设置中文等宽字体
\begin{document}
你好,\LaTeX
\end{document}
参考:xeCJK 宏包
ctex 宏包
\documentclass{article}
\usepackage[fontset=founder]{ctex} % 加载 ctex 宏包,使用方正字体
\begin{document}
你好,\LaTeX
\end{document}
ctex
预定义的中文字库:
字体选项 | 描述 | 支持 pdfLATEX |
---|---|---|
adobe |
使用 Adobe 公司的四款中文字体 | 不支持 |
fandol |
使用 Fandol 中文字体 | 不支持 |
founder |
使用方正公司的中文字体 | 支持 |
mac |
使用 macOS 系统下的字体,分为 macnew 和 macold 两种 |
不支持 |
macnew |
使用 El Capitan 或之后的多字重华文字体和苹方字体 | 支持 |
macold |
使用 Yosemite 或之前的华文字体 | 支持 |
ubuntu |
使用 Ubuntu 系统下的思源宋体、思源黑体和文鼎楷体 | 不支持 |
windows |
使用 Windows 系统下的中易字体和微软雅黑字体 | 特定条件下支持(见描述) |
ctex
中定义的字体命令:
\songti
:宋体,CJK 等价命令\CJKfamily{zhsong}
。\heiti
:黑体,CJK 等价命令\CJKfamily{zhhei}
。\fangsong
:仿宋,CJK 等价命令\CJKfamily{zhfs}
。\kaishu
:楷书,CJK 等价命令\CJKfamily{zhkai}
。
在 XeLaTeX 中直接使用中文
XeLaTeX 引擎原生支持 Unicode 字符,因此我们实际上可以直接使用中文书写 LaTeX 文档。不过前提是设置一下中文字体,因为虽然 XeLaTeX 引擎原生支持中文字符,但是默认字体是英文字体,不包括中文字符。
\documentclass{article}
\usepackage{fontspec} % 使用 fontspec 包配置字体
\setmainfont{SimSun} % 设置宋体为主要字体
\begin{document}
你好,\LaTeX
\end{document}
参考:
参见: