Latex之安装GBK字体
? ? Latex下支持中文的方式有多種,其中之一就是應(yīng)用CJK宏包。當(dāng)Tex發(fā)行版,如MikTex,安裝CJK后,可以使用中文。但是,發(fā)行版中包含的字體較少,例如MikTex,當(dāng)安裝完CJK-Fonts后,只支持UTF-8編碼的宋字體等。為了使用更多的中文字符集及其字體,需要手動(dòng)安裝之。本文主要介紹如何在Windows 7中為MikTex2.9安裝GBK字體。
? ? 安裝額外的字體過(guò)程與安裝額外的宏包類似,也需要在自建的texmf目錄下安裝字體文件。關(guān)于如何安裝額外的宏包可參考以前的博客。只不過(guò)安裝字體文件更加復(fù)雜。
1. 建立字庫(kù)定義文件*.fd
? ? 打開(kāi)MikTex的安裝目錄,記為MIKTEXPATH,本文目錄為:MIKTEXPATH=E:\Program Files\MikTex2.9\。注意觀察MIKTEXPATH下tex\latex和Fonts兩個(gè)文件夾的目錄結(jié)構(gòu),即MikTex的TDS規(guī)則。然后仿照目錄MIKTEXPATH\tex\latex\cjk\GB,建目錄texmf\tex\latex\cjk\GB(其中texmf是MikTex的本地TDS目錄)。仿照MIKTEXPATH\tex\latex\cjk\GB目錄下的c19song.fd文件,分別在texmf\tex\latex\cjk\GB目錄中建宋體、仿宋、楷體、黑體、隸書(shū)、幼圓字體的*.fd文件,分別命名為:c19song.fd, c19fs.fd, c19kai.fd, c19hei.fd, c19li.fd和c19you.fd。以文件c19song.fd為例,其中非注釋部分為:
| %... \def\fileversion{4.3.0} \def\filedate{1999/06/20} \ProvidesFile{c19song.fd}[\filedate\space\fileversion] %... \DeclareFontFamily{C19}{song}{\hyphenchar \font\m@ne} \DeclareFontShape{C19}{song}{m}{n}{<-> CJK * gbksong}{} \DeclareFontShape{C19}{song}{bx}{n}{<-> CJKb * gbksong}{\CJKbold} \DeclareFontShape{C19}{song}{m}{sl}{<-> CJK * gbksongsl}{} \DeclareFontShape{C19}{song}{bx}{sl}{<-> CJKb * gbksongsl}{\CJKbold} \DeclareFontShape{C19}{song}{m}{it}{<-> CJK * gbksongsl}{} \DeclareFontShape{C19}{song}{bx}{it}{<-> CJKb * gbksongsl}{\CJKbold} \endinput |
? ? 這些命令的含義現(xiàn)解釋如下:
? ? 文件中命令\DeclareFontFamily和\DeclareFontShape的定義可以總結(jié)為:
\DeclareFontFamily{C19}{#1}{\hyphenchar \font\m@ne} \DeclareFontShape{C19}{#1}{#2}{#3}{<#4> #5 * gbk#6}{#7}
? ? 這些Tex命令中參數(shù),即#1~#7的具體含義如下:
? ? 參考MIKTEXPATH\doc\latex\base下文檔fntguide.dvi,每種文本字庫(kù)(text font)都有5個(gè)屬性,分別是encoding, family, series, shape, size。以上命令\DelareFontShape就是定義這些屬性。這里的C19表示CJK所使用的GBK字庫(kù)的編碼(encoding)。參考經(jīng)典文檔clatex.pdf(吳凌云和王磊. "中文LaTeX擴(kuò)展安裝指南" ),七個(gè)參數(shù)的定義為:
- #1,字族(family),這里每個(gè)*.fd文件定義一種字族,分別取song, fs, kai, hei, li, yuan。例如,對(duì)應(yīng)著CJK環(huán)境定義:\begin{CJK*}{GBK}{song};
- #2,字系(series),這里可以取:m(medium weight)和bx(bold extended),分別表示正常和加粗字體。其中bx對(duì)應(yīng)著latex文檔中\(zhòng)bf或\textbf命令的使用字體;
- #3,字形(shape),這里可以取:n(normal/upright),sl(slant)和it(italic),分別表示正常,傾斜和斜體。例如,it對(duì)應(yīng)著latex文檔中\(zhòng)it或\textit命令的使用;
- #4,適用的字號(hào)(size),一般認(rèn)為所有字號(hào)都適用,設(shè)置為“-”;
- #5,這里一般取CJK和CJKb,其中CJKb表示用另外一種字體代替,例如上面的{bx}{n}的字庫(kù)文件就用{m}{n}的字庫(kù)文件gbksong代替,只是多了一個(gè)操作\CJKbold,用來(lái)加粗;
- #6,字庫(kù)文件名字,CJK會(huì)在gbk#6后面再加上字庫(kù)的編號(hào),以作為子字庫(kù)的名字(subfont name)。它們會(huì)對(duì)應(yīng)于MiKTeX的*.tfm文件,例如gbksong05.tfm,gbkkaisl02.tfm等,可以參考后面的目錄texmf\fonts\tfm\chinese下面的各個(gè)子目錄文件;
- #7,CJK生成加粗字體的一種預(yù)處理方法:通過(guò)平移字模后重疊得到。但效果并不太好,特別是放大后可以看到明顯的鋸齒痕跡。如果希望用此功能則設(shè)置為\CJKbold,否則空著。
? ? 建立其它字體的fd文件時(shí),只要將示例中紅色“song”的部分換成其它字體的名字即可,如“hei”等。fd文件的作用是給MikTex指出了tfm等文件的名字,建立了兩者的連接。因此,下面要做的工作是將tfm等文件放在指定位置。
2. 安裝字庫(kù)文件
? ? 接著需要安裝字庫(kù)文件。但安裝之前,需要獲得字庫(kù)文件。一般情況下,有兩種方式可以獲得:(a)從指定網(wǎng)站上下載已經(jīng)編輯好的字庫(kù)文件;(b)使用gbkfonts等工具自己制作字庫(kù)文件。本文使用了第一種方法,即從網(wǎng)絡(luò)上下載字庫(kù)文件。
? ? 從ftp.ctex.org下載字庫(kù)文件/pub/tex/fonts/type1/font-chs.zip,解壓到font-chs文件夾。然后按照如下方式將解壓的文件復(fù)制到texmf的子目錄下:
- 將font-chs/fonts/tfm/chinese/下所有子目錄和*.tfm文件都拷貝到相應(yīng)的texmf/fonts/tfm/chinese/目錄下。這些是各個(gè)字體/字族(song, fs, kai, hei, li, you)的*.tfm文件,分別有g(shù)bk#6??.tfm和gbk#6sl??.tfm兩種,對(duì)應(yīng)這*.fd文件中的定義。其中#6對(duì)應(yīng)前面所說(shuō)的參數(shù) #6,而??是這些子字庫(kù)文件的編號(hào),取十進(jìn)制01~94;
- 將font-chs/fonts/afm/chinese/下所有子目錄和*.afm文件都拷貝到相應(yīng)的texmf/fonts/afm/chinese/目錄下;
- 將font-chs/fonts/type1/chinese/下所有子目錄和*.pfb文件都拷貝到相應(yīng)的texmf/fonts/type1/chinese/目錄下。與*.tfm相對(duì)應(yīng)的命名規(guī)則;
- 將font-chs/dvips/chinese/map/下的兩個(gè)*.map文件拷貝到相應(yīng)的texmf/fonts/map/dvips/chinese/map/下。這兩個(gè)文件為文本文件,實(shí)際上規(guī)定了前面*.tfm和*.pfb的對(duì)應(yīng)關(guān)系。其中可以從文件gbk-t1.map看到,gbk#6??.tfm文件的字體與gbk#6??.pfb定義的相對(duì)應(yīng);而gbk-t1sl.map規(guī)定,gbk#6sl??.tfm文件的字體是由gbk#6??.pfb定義的字體作一個(gè)傾斜操作得到的。
3. 配置使用環(huán)境
? ? 進(jìn)入MiKTeX的命令環(huán)境,如果使用WinEdt,則直接點(diǎn)擊工具欄的“Command Prompt”圖標(biāo),進(jìn)入DOS命令框;或者直接啟動(dòng)CMD,記得使用管理員權(quán)限打開(kāi)。然后執(zhí)行命令:initexmf --edit-config-file updmap,在打開(kāi)的文件updmap.cfg中添加兩行:
? ? Map gbk-t1.map
? ? Map gbk-t1sl.map
保存并關(guān)閉這個(gè)文件。updmap.cfg文件位于?"C:\Documents and Settings\All Users\Application Data\MiKTeX\2.6\miktex\config"目錄下,一般都不直接打開(kāi)修改,都會(huì)通過(guò)命令的方式打開(kāi)修改。
? ? 然后在CMD命令框中分別執(zhí)行命令:
? ? ?initexmf -u
? ? ?initexmf --mkmaps
? ? ?initexmf -u
本文參考了兩篇文章:(a)CTEX論壇中的“安裝CJK之GBK(MiKTeX 2.6)”;(b)水木社區(qū)的“用了半年miktex了, 還是配置不好中文”。
總結(jié)
以上是生活随笔為你收集整理的Latex之安装GBK字体的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 超级计算机紫金,E级超算,下一张黑洞照片
- 下一篇: F28M35 驱动外部SRAM 调试小结