配置中文 一 中文環境的配置

2021-10-14 20:02:51 字數 1664 閱讀 8900

在latex中使用中文需要滿足以下三項條件

1、tex原始檔用utf-8編碼儲存

2、匯入合適的包並正確配置

3、使用xelatex編譯

此處1,3不言自明。關於第2點,一般選擇匯入ctex包或xecjk包,經研究,ctex似是xecjk的高階封裝,此外我也從未使用過ctex,因此以下僅以xecjk為例作說明。

最簡配置:

usepackage

setcjkmainfont[autofakebold]

字型名在windows/mac/ubuntu下都可以通過系統自帶的fonts/font book/font這一類的程式中查詢,例如我的mac版本下的宋體名稱為stsongti-sc-regular

autofakebold:大體效果是在需要粗體(即texbf, bfseries這一類的命令)時,在原字元的筆畫附近增加一些畫素,以起到筆畫變粗的視覺效果。如果完全不需要粗體,也可以省去[autofakebold]這項(注意若不指定粗體的處理則標題亦不會加粗)。

如果沒有其它需求,這樣就可以compile了。

下面再就實際使用中可能遇到的一些問題和需求作簡單說明

q: 如何使用非系統自帶的字型

a: 一種常見需求,通常是為了應付行政部門的無聊要求。例如你使用mac或linux的某個發行版,但上級規定文件中必須使用windows中的某字型(如宋體)。

此時可以從windows中拷貝定義該字型的檔案,然後在配置xecjk時指定具體的字型檔案。

windows下所有字型都預設安裝在 c:windowsfonts 資料夾下,例如宋體的檔名為simsun.ttf(或simsun.ttc),我們把它放在 /home/ultraman/documents/fonts/ 目錄下,那麼此時的配置為

setcjkmainfont[path=/home/ultraman/documents/fonts/, autofakebold]
類unix系統中字型檔案的預設路徑是 ~/library/fonts ,我們也可以把字型檔案放在該資料夾下,這樣就可以直接呼叫字型名而不必額外指定路徑。

q: autofakebold太醜了,如何為粗體和斜體單獨指定字型?

a: 在引數中使用 boldfont=字型名 以及 italicfont=字型名,例如

setcjkmainfont[boldfont=stsongti-sc-bold, italicfont=stfangsong]
結合上面兩個例子,也可以用 path= 來指定路徑名,再用 boldfont=字型檔名 以及italicfont=字型檔名 來使用非系統自帶的字型作為粗體和斜體。

q: 我在別人的教程裡看到還有 setcjksansfont 和 setcjkmonofont 兩個命令,分別是什麼意思?

a:sansfont,襯線字型,在筆畫末端有一些形如筆峰的細節,與非襯線字型的區別可以參考本文的封面圖;monofont,等寬字型,其意思容易理解。setcjksansfont 和 setcjkmonofont 設定的是 textsf、texttt 命令呼叫的中文字型,如果不需要上述字型時則不必單獨設定。另外常用的中文字型不少已經是等寬襯線字型(例如上例中的宋體)。

Debian10中文環境配置

在安裝系統的時候會有乙個語言區域選項,不管當時選的什麼,在這裡都可以更改。同時解決中文亂碼問題。以下操作最好在root使用者下進行,root使用者操作起來方便一些,不會被許可權困擾。最好在做所有工作之前把軟體源換一下。在我換源之前,使用apt get安裝vim都提示我找不到軟體包。換源之後才能繼續安...

MySQL學習(一) 中文支援相關

使用mysql 時,建立了乙個名為student的資料庫,在其中建了個名為studentinfo的表,包括以下字段 學號,姓名,年齡,性別,家庭住址。其中的各個欄位名稱均用漢字表示。期間有兩個問題需要注意,都與漢字表示有關。1 欄位的宣告方式 各個欄位的定義方式如下 學號 int 4 姓名 nvar...

WinEdt學習筆記(一 中文編輯)

好像不論是哪一款軟體,只要是涉及到 部分,最喜歡一上來就hello,world!其實想想還蠻有道理的,因為程式嘛,真就是輸入輸出才是萬惡之源。那我們也來試試叭 documentclass begin hello,world end 接下來問題來了,我可以實現用中文輸出你好,世界!嘛?大不了試試唄!d...