Win7系统上利用Texlive2015写含有中文文档应该注意的问题

在Win7系统上面利用Texlive2015的XeLaTeX编译含有中文文档的时候,有一些问题需要注意。这就是:

想让最终编译的结果正确显示中文,你就必须采用UTF-8编码的.tex源文件;而如果你采用ANSI编码格式的.tex文件时,编译结果中英文字体能正确显示而中文字体不显示,编译log信息不提示任何错误信息。

上面结果是经过我的实践总结出来,没有任何人告诉我或参考任何资料。再次强调,我的电脑OS为Windows 7,在其中安装的是Texlive 2015。如果在Ubuntu系统上面就不会遇到这样的问题。

1 代码例子证明

给出结论而没有实际的代码示例是不好的。下面给出我利用的代码。三种不同的编码格式.tex都采用如下代码:

\documentclass{article}
\usepackage{zhfontcfg}
\begin{document}
你好

{\songti 你好}

{\heiti 你好}

Hello
\end{document}

三个源文件分别命名为test.tex、test2.tex和test3.tex,他们的编码格式分别为:
Win7系统上利用Texlive2015写含有中文文档应该注意的问题_第1张图片
亦即它们:

文件 编码
test.tex UNIX UTF-8
test2.tex Dos\Windows ANSI
test3.tex Dos\Windows UTF-8

利用命令xelatex testX.tex对这三个文件编译后,得到的pdf文件输出为:
Win7系统上利用Texlive2015写含有中文文档应该注意的问题_第2张图片
可见,只要你采用ANSI编码,编译结果就不能正确显示中文。

注意

明白了本文的结论,对于使用CTex套件的用户来说,当你卸载掉CTex而改用Texlive的时候,你的原来的latex代码,尤其是包含中文的代码,就会得到不正确的运行结果。对于如何得到正确的结果,看了本文后,解决方法不言而喻。

你可能感兴趣的:(感悟,工具学习,LaTeX)