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

2021-08-16 10:46:24 字數 1976 閱讀 1827

我們知道latex一般用cjk和ctex巨集包支援中文編輯,cjk和ctex的預設編碼是gbk,而windows下的默然編碼就是gbk,因此cjk和ctex不需要特殊配置就可以直接支援中文latex編譯,只需要用gbk編碼儲存檔案即可。但是如果把檔案的字元編碼換成現在更加普遍的utf-8的話,應該怎麼操作呢?在這裡有3種方式可以使用。

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

\usepackage

\begin

\begin{}

...\end

\end

font為簡體中文本型,cjk自帶的utf-8簡體字體有gbsn(宋體)和gkai(楷體)。以下**是乙個簡單的例子(一定要將tex檔案儲存成utf-8格式):

%test.tex

\documentclass

\usepackage

\begin

\begin

這是乙個cjkutf8的例子,使用的字型是gbsn。

\end

\end

用pdflatex編譯tex檔案,即可得到輸出結果。

上面的cjkutf8只提供了兩種字型,可選擇的餘地太小,我們可以直接用utf8選項使ctex支援utf-8編碼,利用ctex豐富的字型和中文設定可以更好地編輯latex中文文字,其語法格式為:

\documentclass[utf8

]

\usepackage

\begin

...\end

或者,直接使用ctexart

\documentclass[utf8

]

\begin

...\end

以下**是乙個簡單的例子(同樣把tex檔案儲存成utf-8格式):

% ctex_test.tex

\documentclass[utf8]

\usepackage

\begin

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

\end

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

xetex是一種使用unicode的tex排版引擎,它原生的支援unicode,並預設其輸入檔案為utf-8編碼。xetex可以在不進行額外配置的情況下直接使用作業系統中安裝的字型。xelatex是使用latex的排版引擎,也有上述xetex的優點,命令下直接使用xelatex ***.tex就會產生對應的pdf檔案。以下是乙個簡單的xelatex編譯ctex的例子(同樣把tex檔案儲存成utf-8格式):

% xelatex_test.tex

\documentclass

\usepackage

\begin

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

\end

明眼的同學一下就發現了,這貨跟上面第2條中ctex的**相比,就少了乙個utf8選項啊!額,表面看是這樣的,但是如果如果直接把xelatex_test.tex用pdflatex編譯,系統就會報錯。這是因為不加utf8選項,pdflatex默然按照gbk編碼處理tex檔案,而這個檔案我們是用utf-8編碼的,這樣就會造成解碼失敗。這裡直接用xelatex編譯,就會編譯成功,因為xelatex的預設輸入檔案是utf-8編碼。切換到tex檔案所在目錄,直接用xelatex編譯tex檔案:xelatex xelatex_test.tex,即可得到如下輸出結果,

mysql 對utf8編碼 中文排序

select from m order by convert name using gbk asc eg select distinct b.id b.ach name,b.ach bussiness,b.ach finish date,b.ach finish unit m.areaid,a.ar...

讓 SciTE 支援中文 utf 8 編碼

讓 scite 支援中文的文章,google一搜一大片,但都是設定成gbk編碼的。對於我這種啥都utf 8的懶人來說,每次開啟檔案都要點 file encodeing utf 8 實在是太不方面了。自己仔細把全域性配置檔案看了一遍,發現原來有 本地化 的引數。現在只要在 sciteuser.prop...

PHP中文GBK編碼轉UTF 8

iconv 和 mb convert encoding的區別 string mb convert encoding string str,string to encoding mixed from encoding 需要先enable mbstring 擴充套件庫,在 php.ini裡將 exten...