LaTex支持中文的三种方式(首推第一种)
转自:https://blog.csdn.net/z_feng12489/article/details/90449495
我们知道 Latex 一般用 CJK 和 CTEX 宏包支持中文编辑,CJK 和 CTEX 的默认编码是 GBK,而 windows 下的默然编码就是 GBK,因此 CJK 和 CTEX 不需要特殊配置就可以直接支持中文 Latex 编译,只需要用 GBK 编码保存文件即可。但是如果把文件的字符编码换成现在更加普遍的 utf-8 的话,应该怎么操作呢?在这里有3种方式可以使用。
CJKutf8
CJK有两个基本宏包:CJK和CJKutf8,其中后者面向utf-8编码,其一般使用方法如下:
1 2 | \usepackage{CJKutf8} \begin{document} \begin{CJK}{UTF8}{ } … \end{CJK} \end{document} |
例如(我使用):
1 2 3 4 5 6 7 8 | % test.tex \documentclass{article} \usepackage{CJKutf8} \begin{document} \begin{CJK}{UTF8}{gbsn} 这是一个CJKutf8的例子,使用的字体是gbsn。 \end{CJK} \end{document} |
注意上述的\usepackage{CJKutf8}、
用pdflatex编译tex文件,即可得到输出结果。
CTEX的UTF8选项
上面的 CJKutf8 只提供了两种字体,可选择的余地太小,我们可以直接用 UTF8 选项使CTEX 支持 utf-8 编码,利用 CTEX 丰富的字体和中文设置可以更好地编辑 Latex 中文文本,其语法格式为:
1 2 3 4 | \documentclass[UTF8]{article} \usepackage{CTEX} \begin{document} … \end{document} \begin{document} … \end{document} |
或者,直接使用ctexart
1 2 3 4 5 6 7 8 | \documentclass[UTF8]{ctexart} \begin{document} … \end{document} \begin{document} … \end{document} % ctex_test.tex \documentclass[UTF8]{ctexart} \begin{document} 这是一个CTEX的utf - 8 编码例子,{\kaishu 这里是楷体显示},{\songti 这里是宋体显示},{\heiti 这里是黑体显示},{\fangsong 这里是仿宋显示}。 \end{document} |
xelatex编译
XeTeX 是一种使用 Unicode 的 TeX 排版引擎,它原生的支持 Unicode ,并默认其输入文件为 utf-8 编码。XeTeX 可以在不进行额外配置的情况下直接使用操作系统中安装的字体。XeLaTeX 是使用 LaTeX 的排版引擎,也有上述 XeTeX 的优点,命令下直接使用 xelatex ***.tex 就会产生对应的 PDF 文件。以下是一个简单的xelatex 编译 ctex 的例子(同样把 tex 文件保存成 utf-8 格式):
1 2 3 4 5 6 | % xelatex_test.tex \documentclass{article} \usepackage{CTEX} \begin{document} 这是一个CTEX的utf - 8 编码例子,{\kaishu 这里是楷体显示},{\songti 这里是宋体显示},{\heiti 这里是黑体显示},{\fangsong 这里是仿宋显示}。 \end{document} |
明眼的同学一下就发现了,这货跟上面第2条中 ctex 的代码相比,就少了一个 UTF8 选项啊!额,表面看是这样的,但是如果如果直接把 xelatex_test.tex 用 pdflatex 编译,系统就会报错。这是因为不加 UTF8 选项,pdflatex 默然按照 GBK 编码处理 tex 文件,而这个文件我们是用 utf-8 编码的,这样就会造成解码失败。这里直接用 xelatex 编译,就会编译成功,因为 xelatex 的默认输入文件是 utf-8 编码。切换到 tex 文件所在目录,直接用 xelatex 编译 tex 文件:xelatex xelatex_test.tex,即可得到如下输出结果,
————————————————
版权声明:本文为CSDN博主「TransientYear」的原创文章
原文链接:https://blog.csdn.net/z_feng12489/article/details/90449495
作者:楚千羽
出处:https://www.cnblogs.com/chuqianyu/
本文来自博客园,本文作者:楚千羽,转载请注明原文链接:https://www.cnblogs.com/chuqianyu/p/14620014.html
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~