Latex 環境下“中文字體”的使用


 

Latex 環境下“中文字體”的使用

      使用CTex自帶編輯器WinEdt,在該環境下如何使用中文字體呢?作為一個菜鳥,折騰了好幾天,最終基本解決了這個問題。現在整理下,分享給后來者。

       對於使用中文字體,網上的很多教程是CCT、CJK和TY,不過,CCT已經不建議使用,而CJK、TY這些都已經過時了。而且這些方案中使用的中文字體就那么幾種,想使用更多的字體,要單獨去安裝字體,無法直接調用系統安裝的字體,這樣無疑會很麻煩。最終網上找到的成熟方案是:XeLaTeX。

 

一、首先,從頭講起,基於LaTeX2對於字體的調用方式:

[plain]  view plain  copy
 
 在CODE上查看代碼片派生到我的代碼片
  1. {\字體名稱 正文內容}  
       使用CTex宏包調用的實例:

 

1.新建文件,鍵入下面代碼

 

[html]  view plain  copy
 
 在CODE上查看代碼片派生到我的代碼片
  1. \documentclass{article}  
  2. \usepackage{ctex}  
  3.   
  4. \begin{document}  
  5.   
  6. 中文宏包測試               \par % "\par"表示回車換號  
  7. {\songti   這是宋體的樣式} \par  
  8. {\heiti    這是黑體的樣式} \par  
  9. {\fangsong 這是仿宋的樣式} \par  
  10. {\kaishu   這是楷書的樣式} \par  
  11. %{\lishu   這是隸書的樣式} \par %CTeX的手冊中是支持隸書和幼圓的,  
  12. %{\youyuan 這是幼圓的樣式} \par %但是不知是何原因編譯有問題  
  13.   
  14. \end{document}  
2.點擊保存,這里這里保存類型建議以后一直選擇“UTF-8”

 

注意;保存類型建議以后一直選擇“UTF-8”,因為一方面xeCJK格式的漢字字體將無法顯示,另一方面, GBK 編碼是 ctex 宏包的缺省模式,使用 XeTEX 引擎的情況下總是內部使用 UTF-8 編碼,所以不必使用這個選項,但這並不妨礙編寫 GBK 編碼的文檔。

3.選擇XeLaTeX編譯方式,點擊查看

4.效果如下圖:

二、基於XeLaTeX的中文字體的使用

       XeLaTeX可以直接調用系統中安裝的字體,但是字體的名稱並不是我們通常見到的那樣,比如:華文隸書 在系統中是“STLiti”。而如何找到這種對於關系呢?

      開始->運行->輸入“CMD”,彈出命令窗口:輸入:"fc-list",回車,就可以看到系統中所有安裝字體的這種對於關系。當然,顯示的原因,可能看不全,所有不如把它保存下來,方法是命令窗口中輸入:“fc-list>>c:font.txt”(這里假設存入到D盤的font.txt文件下)。

      注意筆者按照網上的兩種方法:“fc-list:lang=zh-cn”(查看所有安裝的中文字體)或者“fc-list:lang=en”(查看所有安裝的英文字體),一直無法查看,在這點上折騰了很長時間。所以,如果你的電腦上可以按這兩種方法查看那樣最好,如果不能,不妨就用我的方法。當然,如果你搞清楚了其中的原因也歡迎留言。

     現在有了這種對應關系,那么就可以繼續了。在導言區對全局的字體進行設置:

        然后便是對於其它字體的設置和使用,需要注意的是指令的名稱是可以自己定義的,但是系統字體名稱卻一定要按照上面查出來了的字體名稱

下面是一個完整的例子:

 

[plain]  view plain  copy
 
 在CODE上查看代碼片派生到我的代碼片
  1. \documentclass{article}  
  2. \usepackage{ctex}  
  3.   
  4. \setmainfont{Times New Roman}%設置Times New Roman為默認的英文字體  
  5. \setCJKmainfont{SimSun}      %設置宋體為默認的中文字體  
  6.   
  7. %設置要使用的英文字體  
  8. %\newfontinstance{\courier}   {Courier}   %使用Courier字體  
  9. \newfontinstance{\gramond}   {Garamond}   %使用Garamond字體  
  10.   
  11.   
  12. %設置要使用的中文字體  
  13. \setCJKfamilyfont{mhwxk}{STXingkai} %華文行楷  
  14. \newcommand{\stxk}{\CJKfamily{mhwxk}}  
  15.   
  16. \setCJKfamilyfont{hwlsh}{STLiti} %華文隸書  
  17. \newcommand{\sthwls}{\CJKfamily{hwlsh}}  
  18.   
  19.   
  20. \begin{document}  
  21. %{\courier This a Courier Style} \par  
  22. {\gramond This a Garamond font style} \par  
  23. {\stxk   這是華文行楷字體的式樣} \par  
  24. {\sthwls 這是華文隸書字體的式樣} \par  
  25. \end{document}  

       注意

        1.以上面的程序代碼為例,注釋掉的部分是使用Courier字體,如果去掉注釋,由於我的電腦上沒有這樣的字體,於是就出來了這樣的情況:編譯的時候沒有錯誤,卻無法生成PDF文件,進而也就無法查看,所以,出現編譯沒有錯誤,但是生成不了PDF文件時要考慮是不是本機沒有這種字體。這一點一定一定要引起足夠的重視!!!

       2.對於系統中查到的字體名稱,可能考慮到轉義字符原因,有些是不能直接使用的,要把“\”去掉才能正確使用。

例如:系統中查到一種字體:“ FZXiaoBiaoSong\-B05S,方正小標宋簡體”如果這樣使用就是錯誤的:

 

[plain]  view plain  copy
 
 在CODE上查看代碼片派生到我的代碼片
  1. \setCJKfamilyfont{MyCJKfzxbs}{FZXiaoBiaoSong\-B05S} %方正小標宋簡體  
  2. \newcommand{\fzxbs}{\CJKfamily{MyCJKfzxbs}}  
正確的使用方法是要去掉“\”的,下面是正確的示例,注意對比:

 

 

[plain]  view plain  copy
 
 在CODE上查看代碼片派生到我的代碼片
  1. \setCJKfamilyfont{MyCJKfzxbs}{FZXiaoBiaoSong-B05S} %方正小標宋簡體  
  2. \newcommand{\fzxbs}{\CJKfamily{MyCJKfzxbs}}  


 

 

參考資料:

[1].在xeLaTeX和CTeX中使用本地系統字體的方法

[2].《CTeX宏包說明》


免責聲明!

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



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