1. 程式人生 > >Win7系統上利用Texlive2015寫含有中文文件應該注意的問題

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,他們的編碼格式分別為:
這裡寫圖片描述
亦即它們:

檔案 編碼
test.tex UNIX UTF-8
test2.tex Dos\Windows ANSI
test3.tex Dos\Windows UTF-8

利用命令xelatex testX.tex

對這三個檔案編譯後,得到的pdf檔案輸出為:
這裡寫圖片描述
可見,只要你採用ANSI編碼,編譯結果就不能正確顯示中文。

注意

明白了本文的結論,對於使用CTex套件的使用者來說,當你解除安裝掉CTex而改用Texlive的時候,你的原來的latex程式碼,尤其是包含中文的程式碼,就會得到不正確的執行結果。對於如何得到正確的結果,看了本文後,解決方法不言而喻。