Latex中文utf-8編碼的三種方式

原文地址爲:Latex中文utf-8編碼的三種方式

我們知道Latex一般用CJK和CTEX宏包支持中文編輯,CJK和CTEX的默認編碼是GBK,而windows下的默然編碼就是GBK,因此CJK和CTEX不需要特殊配置就可以直接支持中文Latex編譯,只需要用GBK編碼保存文件即可。但是如果把文件的字符編碼換成現在更加普遍的utf-8的話,應該怎麼操作呢?在這裏有3種方式可以使用。

 

1、CJKutf8

CJK有兩個基本宏包:CJK和CJKutf8,其中後者面向utf-8編碼,其一般使用方法如下:

\usepackage{CJKutf8}
\begin{document}
\begin{CJK}{UTF8}{<font>}
...
\end{CJK}
\end{document}

 

font爲簡體中文字體,CJK自帶的utf-8簡體字體有gbsn(宋體)和gkai(楷體)。以下代碼是一個簡單的例子(一定要將tex文件保存成utf-8格式):

%test.tex
\documentclass{article}\usepackage{CJKutf8}
\begin{document}
\begin{CJK}{UTF8}{gbsn}
這是一個CJKutf8的例子,使用的字體是gbsn。
\end{CJK}
\end{document}

用pdflatex編譯tex文件,即可得到輸出結果。

 

2、CTEX的UTF8選項

上面的CJKutf8只提供了兩種字體,可選擇的餘地太小,我們可以直接用UTF8選項使CTEX支持utf-8編碼,利用CTEX豐富的字體和中文設置可以更好地編輯Latex中文文本,其語法格式爲:

\documentclass[UTF8]{article}
\usepackage{CTEX}
\begin{document}
...
\end{document}

或者,直接使用ctexart

\documentclass[UTF8]{ctexart}
\begin{document}
...
\end{document}

 

以下代碼是一個簡單的例子(同樣把tex文件保存成utf-8格式):

% ctex_test.tex
\documentclass[UTF8]{article}
\usepackage{CTEX}
\begin{document}
這是一個CTEX的utf-8編碼例子,{\kaishu 這裏是楷體顯示},{\songti 這裏是宋體顯示},{\heiti 這裏是黑體顯示},{\fangsong 這裏是仿宋顯示},{\lishu 這裏是隸書顯示},{\youyuan 這裏是幼圓顯示}。
\end{document}

 

用pdflatex編譯tex文件:pdflate ctex_test.tex,即可得到如下輸出結果,

 

3、xelatex編譯

XeTeX是一種使用Unicode的TeX排版引擎,它原生的支持Unicode,並默認其輸入文件爲utf-8編碼。XeTeX可以在不進行額外配置的情況下直接使用操作系統中安裝的字體。XeLaTeX是使用LaTeX的排版引擎,也有上述XeTeX的優點,命令下直接使用xelatex ***.tex就會產生對應的PDF文件。以下是一個簡單的xelatex編譯ctex的例子(同樣把tex文件保存成utf-8格式):

% 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,即可得到如下輸出結果,

 


轉載請註明本文地址:Latex中文utf-8編碼的三種方式
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章