怎樣在LaTeX中使用中文

2022-03-30 06:26:14 字數 1701 閱讀 8569

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

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

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

我發現了三個方法:

第一種方法:

%! tex program = xelatex

\documentclass

\usepackage[utf8, scheme = plain]

\begin

支援 xelatex 編譯,可以插入中文,不影響版式。

\end

這段**的原理十分清楚,編譯程式選擇對中文支援較好的xelatex,具體文件可以看這裡簡單的理解下,xelatex是這家公司:overleaf旗下的一款用utf-8碼編碼的tex引擎,而且支援更多更多的字型。這也是為什麼他對中文支援更好而對比之下pdflatex卻經常因為字型報錯的原因。接下來呢?我們使用乙個包,這個包叫做ctex,包中有各種的排版樣式,中文字型設定等等等等。ctex具體的使用方法還是參見文件。那麼,有了合適的引擎-xelatex,合適的排版規範-ctex,支援中文不在話下。

第二種方法:

%! tex program = xelatex

\documentclass[utf8]

\begin

這是乙個ctex的utf-8編碼例子,,,,。

\end

這段**過同樣是呼叫了ctex包,在設定documentclass的時候,我們其實已經使用了ctex包。下面的...等等,不難理解是 ctex包中,ctexart文件型別的特性!這樣字型是不是也變化萬千了。

第三種方法:

%! tex program = xelatex

\documentclass

\usepackage

\setcjkmainfont

\begin

中文 \latex 示例。

\end

這段**是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的文件:  我看的時候,這個包更新於4天前,那麼我們為什麼不用這個活躍的包嘞~

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

Latex中使用中文

使用任何一種語言,latex都必須處理兩個基本問題 將輸入位元組對映為所使用語言的字元 將字元對映為所使用字型的字形 使用xelatex可以幫助我們處理這些問題。對於xelatex,輸入檔案預設為utf 8格式,引擎自動將字元對映為truetype或opentype字型的字形。當然,我們必須保證所使...

在部落格園中使用LATEX

在設定中,找到頁首html,並加入如下js 儲存即可。例如 e 1 0.對應的效果為 e 1 0 e 1 0.e 1 0.e 1 0.集合操作命令 集合的大括號 集合中的 mid 屬於 in 不屬於 not in a包含於b a subset b a真包含於b a subsetneqq b a包含b...

怎樣在osworkflow中使用BeanShell

1 如下定義流程檔案 這樣就定義了乙個名稱為example,位置在 samples comment arg.xml的流程檔案 2 建立測試類com.hongsoft.os.test 裡面的main方法的 如下 counter 0 要測試的變數 map inputs new hashmap input...