日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Latex之安装GBK字体

發(fā)布時(shí)間:2024/3/12 编程问答 66 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Latex之安装GBK字体 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

? ? 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è)傾斜操作得到的。
? ? 這里說(shuō)明一下:*.tfm文件只是在latex編譯*.tex時(shí)使用來(lái)確定字符的高和寬等,即一個(gè)盒子,得到dvi文件;而當(dāng)用MiKTeX工具yap打開(kāi)dvi,或用dvips來(lái)將*.dvi文檔生成*.ps文件時(shí),會(huì)去找相應(yīng)的*.pfb字庫(kù)文件;*.afm文件則是pdflatex在編譯*.tex 時(shí)所使用的定義字符高和寬的文件,并直接生成*.pdf文件。


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)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。