LaTeX 编译中文文档
介绍
LaTeX 原生不支持中文。为了添加中文的功能,我们需要引入宏包。XeLaTeX 原生支持中文。不过由于默认使用的字体是英文字体,我们需要设置中文字体之后才能用。不过由于一些原因,在使用 LaTeX 书写中文文档的时候最好还是使用 XeLaTeX 引擎搭配 ctex 文档类或者 ctex 宏包。
- 其中
CJK是最古老的,其对中文字体的支持比较麻烦,不推荐使用。 xeCJK以及luatexja宏包在CJK基础上封装了对汉字排版细节的处理功能。ctex宏包和文档类进一步封装了CJK、xeCJK、luatexja等宏包,使得用户在排版中文时不再考虑排版引擎等细节。
所以目前来说书写中文 LaTeX 文档的最优解决方案是使用 ctex 文档类或者 ctex 宏包。
使用 ctex 文档类
如果你要撰写一篇纯中文的文档,那么你可以直接使用 ctex 文档类:
\documentclass[fontset=founder]{ctexart}
使用 ctex 宏包或者 xeCJK 宏包
如果你需要使用特定的文档类而不能使用 ctex 文档类,但又要在文档中插入中文,那么你可以使用 ctex 宏包或者 xeCJK 宏包:
\usepackage[fontset=founder]{ctex}
\usepackage{xeCJK}
xeCJK 对中文的支持更朴素一点,也就是它除了支持你插入中文以外不会改变文档其他地方。而 ctex 则会将文档类中的一些英文环境也翻译成中文。相对来说更推荐使用 ctex。
使用 xeCJK:
\documentclass{article}
\usepackage{fontspec} % 加载 fontspec 宏包
\usepackage{xeCJK} % 加载 xeCJK 宏包
\setmainfont{Times New Roman} % 设置英文字体
\setCJKmainfont{SimSun} % 设置中文字体
\begin{document}
这是中文文本。This is English text.
\end{document}
使用 ctex:
\documentclass{article}
\usepackage[fontset=founder]{ctex}
\setmainfont{Times New Roman} % 设置英文字体
\setCJKmainfont{SimSun} % 设置中文字体
\begin{document}
这是中文文本。This is English text.
\end{document}
在 XeLaTeX 中直接使用中文
XeLaTeX 引擎原生支持 Unicode 字符,因此我们实际上可以直接使用中文书写 LaTeX 文档。不过前提是设置一下中文字体,因为虽然 XeLaTeX 引擎原生支持中文字符,但是其使用的默认字体是英文字体,不包括中文字符。
\documentclass{article}
\usepackage{fontspec} % 使用 fontspec 包配置字体
\setmainfont{SimSun} % 设置宋体为主要字体
\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}。
参考:
LaTeX 编译中文文档的更多相关文章
- [问题解决]LaTex 进行中文文档操作
第一步,在\documentclass后输入 \usepackage{fontspec, xunicode, xltxtra} \usepackage{xeCJK}%中文字体 \setCJKmainf ...
- Phoenix综述(史上最全Phoenix中文文档)
个人主页:http://www.linbingdong.com 简书地址:http://www.jianshu.com/users/6cb45a00b49c/latest_articles 网上关于P ...
- ReactNative官方中文文档0.21
整理了一份ReactNative0.21中文文档,提供给需要的reactnative爱好者.ReactNative0.21中文文档.chm 百度盘下载:ReactNative0.21中文文档 来源: ...
- Spring中文文档
前一段时间翻译了Jetty的一部分文档,感觉对阅读英文没有大的提高(*^-^*),毕竟Jetty的受众面还是比较小的,而且翻译过程中发现Jetty的文档写的不是很好,所以呢翻译的兴趣慢慢就不大了,只能 ...
- ORCHARD中文文档(翻译)
众所周知,Orchard是.net领域最好的开源CMS之一,他使用了微软最先进的技术,有一群先进理念的支持者,但是,所有的事情在国内总得加个但是,Orchard也不例外,中文资料相对比较少,官网提供的 ...
- 【Chromium中文文档】Profile架构(看看谷歌家的重构)
进程模型 转载请注明出处:https://ahangchen.gitbooks.io/chromium_doc_zh/content/zh//General_Architecture/Profile_ ...
- npm的package.json字段含义中文文档
简介 本文档有所有package.json中必要的配置.它必须是真正的json,而不是js对象. 本文档中描述的很多行为都受npm-config(7)的影响. 默认值 npm会根据包内容设置一些默认值 ...
- Apache Storm 1.1.0 中文文档 | ApacheCN
前言 Apache Storm 是一个免费的,开源的,分布式的实时计算系统. 官方文档: http://storm.apache.org 中文文档: http://storm.apachecn.org ...
- 【scikit-learn 0.19 中文文档 】安装 scikit-learn | ApacheCN
中文文档: http://sklearn.apachecn.org/cn/0.19.0/tutorial/basic/tutorial.html 英文文档: http://sklearn.apache ...
- Keras官方中文文档:Keras安装和配置指南(Windows)
这里需要说明一下,笔者不建议在Windows环境下进行深度学习的研究,一方面是因为Windows所对应的框架搭建的依赖过多,社区设定不完全:另一方面,Linux系统下对显卡支持.内存释放以及存储空间调 ...
随机推荐
- java实现微信登录
前言 上一篇做了php的微信登录,所以也总结一下Java的微信授权登录并获取用户信息这个功能的开发流程. 配置 配置什么的就不多说了,详细的配置可以直接前往我上一篇查看. https://www.cn ...
- Java JVM——11. 执行引擎
1.概述 执行引擎属于JVM的下层,里面包括:解释器.即时编译器.垃圾回收器. 执行引擎是Java虚拟机核心的组成部分之一."虚拟机"是一个相对于"物理机"的概 ...
- pysnmp 获取设备 mib
snmpwalk 指令获取设备 mib snmpwalk -v 1 -c public ip .1 > ip.mibs pysnmp 获取设备 mib 安装环境 pip3 install pys ...
- 使用docker搭建ELK分式日志同步方案
ELK作为业界最常用日志同步方案,我们今天尝试一下使用docker快速搭建一套ELK方案.ELK使用国内加速源拉取的镜像比较旧,有条件的朋友可以拉取官网的源.elasticsearch作为日志储存库( ...
- 开源一个常用的树目录和下拉树js组件
我写的一个常用的树目录组件,需要jquery和font-awesome支持,对于想使用自定义图标的可以重定义 fa样式即可,或者直接更换源码的样式名称. 下载地址:https://github.com ...
- 使用gitea搭建源码管理【0到1架构系列】
使用开源搭建Git源码方案,gitlab和gitea是两个不错的方案,gitlab以前简单易用,现在功能复杂且对开源并不友好,gitea一直保持功能单一易用且完全开源,个人推荐gitea. 通过容器安 ...
- 如何让 3D 数字孪生场景闪闪发光
今日图扑软件功能分享:我们将探讨 HT 系统如何通过分组管理灯光.裁切体和流光,以提高场景光影效果的精准度和整体可控性. HT 中的灯光.裁切体.流光是会影响它所在区域一定范围内的其他节点的表现,如 ...
- Zabbix 5.0 LTS URL 健康监测
更多细节详情看[zabbix官方文档] 需求 Zabbix 的URL健康监测功能允许你检测 Web 地址是否可用.正常工作以及响应速度.这对于监控网站的可用性和性能非常有用.例如,你可以监控公司网站. ...
- Docker下安装Nginx代理服务器【工作实操版】
一.Nginx下载 使用命令拉取nginx镜像到本地,此处我们获取排名第一的是官方最新镜像,其它版本可以去DockerHub查询 docker pull nginx 二.先启动一个nginx容器用于c ...
- MoneyPrinterPlus全面支持本地Ollama大模型
MoneyPrinterPlus现在支持批量混剪,一键AI生成视频,一键批量发布短视频这些功能了. 之前支持的大模型是常用的云厂商,比如OpenAI,Azure,Kimi,Qianfan,Baichu ...