Ubuntu 14.04/14.10 系統安裝 Latex及配置中文字型[修訂]
阿新 • • 發佈:2018-12-29
Linux下的中文字型,對於Ubuntu來說有現成的。因此,只要第一步正常安裝完畢,就可以用下面的測試檔案進行測試。
將這部分程式碼貼上到文字檔案中,然後儲存將其儲存為test.tex。然後使用下面的命令生成PDF文件。\documentclass{article} \usepackage{CJKutf8} \begin{document} \begin{CJK}{UTF8}{gkai} 這是一個楷體中文測試,處理簡體字。 \end{CJK} \begin{CJK}{UTF8}{gbsn} 這是一個宋體中文測試,處理簡體字。 \end{CJK} \begin{CJK}{UTF8}{bkai} 這是一個big5編碼的楷體中文測試,處理繁體文字。 \end{CJK} \begin{CJK}{UTF8}{bsmi} 這是一個個big5編碼的明體中文測試,處理繁體文字。 \end{CJK} \end{document}
pdflatex test.tex
evince test.pdf
如果編譯tex文件時沒有出錯,對於宋體和楷體,應該看到希望的字型正確顯示(參考下圖的示例)。二、準備其他中文字型包
不過,為了得到更好地支援,常常會使用Windows既有的TrueType字型或者文泉驛字型,以便擴充現有的系統字型庫。對於Linux,安裝fontforge可以方便地生成能被Latex識別的字型檔案(map、enc等檔案)。
sudo apt-get install fontforge
因為Windows的字型涉及版權問題,而且我個人覺得文泉字型更美觀,所以我選擇文泉字型生成字型地圖。(注:原文推薦下載font.tar.bz2,但是此壓縮包很難下載,加上如果使用文泉字型該包可以不需要,因此不必糾結)。
步驟1:將包括wqy-microhei.ttc等相關檔案都複製到~/cnfont裡去,執行下面的命令生成字型地圖:
$mkdir ./cnfont $cd ~/cnfont $cp /usr/share/texlive/texmf-dist/fonts/sfd/ttf2pk/Unicode.sfd ./ $cp /usr/share/fonts/truetype/wqy/wqy-microhei.ttc ./ $cp /usr/share/latex-cjk-common/utils/subfonts/subfonts.pe ./ $cp /usr/share/latex-cjk-common/utils/subfonts/vertical.pe ./ $cp /usr/share/latex-cjk-common/utils/subfonts/makefdx.pl ./ $ time fontforge -script subfonts.pe wqy-micorhei.ttc hei Unicode.sfd
注:原文中步驟如下,遺漏拷貝重要檔案的步驟,此處已修正。按上述命令操作,在Ubuntu 14.10上已通過驗證。在我的電腦上,生成文泉驛的字型地圖花了2-3分鐘。
cd ~/fonttime fontforge -script subfonts.pe simsun.ttc song Unicode.sfd
步驟2:接下來,在~/cnfont下,建立一個makemap.sh檔案,內容如下( 沒有空格):
for i in *.tfm
do
cat >> song.map << EOF
${i%.tfm} ${i%.tfm} < ${i%.tfm}.pfb
EOF
done
然後在終端下執行:chmod +x makemap.sh讓檔案加上執行許可權,最後執行:
./makemap.sh
編寫此配置檔案的時候可能會需要查詢CJK擴充套件包的版本,可以參考附註中的步驟操作。步驟3:將步驟1、2中生成的各種字型配置檔案拷貝到系統的指定目錄。(相關操作的詳細含義可參考)
$sudo mkdir -p /usr/share/texmf/fonts/type1/latex-cjk-cn/hei
$sudo cp *pfb /usr/share/texmf/fonts/type1/latex-cjk-cn/hei
$sudo mkdir -p /usr/share/texmf/fonts/afm/arphic/hei
$sudo cp *afm /usr/share/texmf/fonts/afm/arphic/hei/
$mkdir -p /usr/share/texmf/fonts/tfm/latex-cjk-cn/hei
$sudo cp *tfm /usr/share/texmf/fonts/tfm/latex-cjk-cn/hei/
$sudo mkdir -p /usr/share/texmf/fonts/enc/dvips/latex-cjk-cn/hei
$sudo cp *enc /usr/share/texmf/fonts/enc/dvips/latex-cjk-cn/hei/
$sudo mkdir -p /usr/share/texmf/fonts/map/dvips/latex-cjk-cn
$sudo cp hei.map /usr/share/texmf/fonts/map/dvips/latex-cjk-cn
再建立一個文字檔案,命名為“c70hei.fd”檔案:
% This is the file c70hei.fd of the CJK package
% for using Asian logographs (Chinese/Japanese/Korean)
% with LaTex2e
%
% created by the Debian source package for
% CJK Version 4.8.3 (30-1-2015)
\def\fileversion{4.8.3}
\def\filedate{2012/09/14}
\ProvidesFile{c70hei.fd}[\filedate\space\fileversion]
% character set: UTF-8
% font encoding: Unicode
\DeclareFontFamily{C70}{hei}{\hyphenchar\font\[email protected]}
\DeclareFontShape{C70}{hei}{m}{n}{<-> CJK * hei}{\CJKnormal}
\DeclareFontShape{C70}{hei}{bx}{n}{<-> CJKb * hei}{\CJKbold}
\endinput
將編輯完畢的c70hei.fd檔案拷貝到配置目錄。
$sudo cp c70hei.fd /usr/share/texmf/tex/latex/CJK/UTF8/
步驟5:複製完後,執行字型地圖更新命令重新整理快取,讓配置生效:
sudo texhash
updmap-sys --enable Map hei.map
假如一切順序的話, 就測試一下我們安裝的文泉驛米黑體能否使用。
可以在$HOME目錄下編輯如下文字檔案,然後儲存為"test.tex",支援UTF-8格式:
\begin{CJK}{UTF8}{gbsn}
這是一個宋體中文測試,處理簡體字。
\end{CJK}
\documentclass{article}
\usepackage{CJKutf8}
\begin{document}
\begin{CJK}{UTF8}{gkai}
這是一個楷體中文測試,處理簡體字。
\end{CJK}
\begin{CJK}{UTF8}{hei}
這是一個黑體中文測試,處理簡體字。
\end{CJK}
\begin{CJK}{UTF8}{bkai}
這是一個big5編碼的楷體中文測試,處理繁體文字。
\end{CJK}
\begin{CJK}{UTF8}{bsmi}
這是一個個big5編碼的明體中文測試,處理繁體文字。
\end{CJK}
\end{document}
執行分別生成pdf文件和用evince來檢視文件:
pdflatex test.tex
evince test.pdf
一切順利的話,在PDF中應該看到類似下圖的效果。
補充說明:
1)如何確認CJK安裝包的版本。