怎樣在LaTeX中使用中文


  因為疫情在家中上課,作業提交都必須使用PDF。反正時間充裕,不如趁機回顧一下LaTeX的使用。

  之前一直用的是Vimtex,但是感覺還是不太方便,於是改用了Texpad。Texpad的強大之處在於它支持光速的實時預覽。但是在配置Texpad支持中文的時候卻踩了一萬個坑,而且到現在還沒有真正實現中文實時預覽,明天再試試吧。

  下面進入正題,怎樣在LaTeX中使用中文,或者說怎樣讓LaTeX支持中文?

  我發現了三個方法:


 

  第一種方法:

%! Tex program = xelatex
\documentclass{article}
\usepackage[UTF8, scheme = plain]{ctex}
\begin{document}
支持 XeLaTeX 編譯,可以插入中文,不影響版式。
\end{document}

  這段代碼的原理十分清楚,編譯程序選擇對中文支持較好的xelatex,具體文檔可以看這里https://www.overleaf.com/learn/latex/XeLaTeX,簡單的理解下,XeLaTeX是這家公司:overleaf旗下的一款用UTF-8碼編碼的tex引擎,而且支持更多更多的字體。這也是為什么他對中文支持更好而對比之下pdfLaTeX卻經常因為字體報錯的原因。接下來呢?我們使用一個包,這個包叫做ctex,包中有各種的排版樣式,中文字體設置等等等等。ctex具體的使用方法還是參見文檔。那么,有了合適的引擎-xelatex,合適的排版規范-ctex,支持中文不在話下。


 

  第二種方法:  

%! Tex program = xelatex

\documentclass[UTF8]{ctexart}
\begin{document}
這是一個CTEX的utf-8編碼例子,{\kaishu 這里是楷體顯示},{\songti 這里是宋體顯示},{\heiti 這里是黑體顯示},{\fangsong 這里是仿宋顯示}。
\end{document}

  這段代碼過同樣是調用了ctex包,在設置documentclass的時候,我們其實已經使用了ctex包。下面的{\songti ooxx}...等等,不難理解是 ctex包中,ctexart文檔類型的特性!這樣字體是不是也變化萬千了。


 

  第三種方法:

%! Tex program = xelatex

\documentclass{article}
\usepackage{xeCJK}
\setCJKmainfont{SimSun}
\begin{document}
中文 \LaTeX 示例。
\end{document}

  這段代碼是XeCJK的文檔中的。這里要解釋一下CJK:即Chinese,Japanese,Korean。那么我們可以想見,XeCJK是和ctex屬於一個檔次的!那么我們為什么要使用XeCJK包,而不再使用ctex包呢?學校的readme科普了我一下:CTeX 套裝最早是由中科院 Leo Wu(吳凌雲)研究員開發、維護和發布的 TeX 發行版,它是應當時中文配置困難的背景(CCT、CJK 等)而誕生的,而現在的中文支持技術(xeCJK等)配置已非常簡單;CTeX 套裝自 2012 年 3 月 22 日發行 2.9.2.164 版本后,至今未更新,已不能適應當前 TeX 中文技術的發展,引用 CTeX 套裝的開發之一劉海洋的話:CTeX 已經完成了它的歷史使命。歐克,那么我們也應該識趣一點,以后不要再使用CTeX這個包了,擁抱XeCJK這個包。

  XeCJK的文檔:https://www.ctan.org/pkg/xecjk  我看的時候,這個包更新於4天前,那么我們為什么不用這個活躍的包嘞~

  三種方法:個人推薦第三種,也是最新的一種。前兩種使用方式因為調用長久未更新的ctex包而勢必被淘汰(事實上有一種調用CJK包的中文排版方案,它早就被淘汰了)。相反,掌握了XeCJK,中文排版將會如虎添翼!  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM