如何在 Mac OS X 上裝設 LaTeX 以及 CJK 套件 (TeX Live 2007)

由 TeX User Group (TUG) 所釋出的 TeXLive 2007 (二月下旬) 已經包含了完整的 CJK 套件 (4.7.0版) 以及繁體中文 Type 1 字型 (文鼎細上海宋 bsmi)。所以,安裝後馬上就可以使用中文。之前已經安裝舊版的 teTeX,或其他方式安裝的TeX,不會因為安裝了 TeXLive2007 而廢了以前的安裝;它們和平共存,由系統偏好裡做切換。

A. 裝設 TeX 系統

要用 TeXShop 寫英文、中文文稿,用 LaTeXiT 製作數學公式給 Keynote、PowerPoint 等其他應用程式使用,用 LyX 寫英文、中文文稿,都需要有可用的 TeX 系統為基礎。由 TeX 用戶小組 (TUG) 所建構的 MacTeX 安裝包 (已於2007 年二月下旬釋出),會安裝完整的 TeX Live 2007。

CTAN 站下載 MacTeX.dmg,

ctan mactex page illustration

可以選最近的鏡射站,以便縮短下載的時間。

ctan mirror list illustration

此安裝包是以 Mac OS X 常見的磁碟映像檔 .dmg 以及標準的安裝包.pkg 構成。如果網頁瀏覽器沒有自動掛上磁碟映像檔,請先以鼠標雙擊所下載的 .dmg 檔。然後,只要以鼠標雙擊 .pkg 檔即可開始進行安裝,如圖。

MacTeX pkg illustration

安裝時可以有限度的選擇不想安裝的部分。不過,MacTeX 給我們的選擇不多,只有一些工具程式可以不裝;整個 TeX Live 2007 卻必須照單全收。

install option illustration

整個安裝過程大概要幾分鐘。

install progress illustration

裝完後,請進行簡單的測試。

B. 簡單的測試

在/Applications 檔案夾裡,多了一個 TeX 子檔案夾,裝有 TeXShop (版本是 2.10 beta8), Excalibur (拼字檢查器), BibDesk (v1.3.1), LaTeXiT等應用程式。請執行TeXShop,並在新文件的視窗內,鍵入下列文字:

\documentclass[12pt]{article}
\begin{document}
This is a test.
\end{document}

然後讓 TeXShop 將之排版 (typesetting)。TeXShop 預設以 pdflatex 方式排版。如果 TeX 系統裝設成功,TeXShop 應該會產生排版的結果視窗,呈現 「This is a test.」

接下來,試試中文。在 TeXShop 裡另開個新文件,鍵入下列文字:

%!TEX encoding = UTF-8 Unicode
\documentclass[12pt]{article}
\usepackage{CJKutf8}
\begin{document}
\begin{CJK}{UTF8}{bsmi}
This is a test. 中文字測試。
\end{CJK}
\end{document}

如果 CJK 套件以及中文字型都沒有問題的話,TeXShop 也會排版出「This is a test.中文字測試。」。這裡常會遇到的問題是沒有把 TeXShop 的預設文字編碼設成UTF8。所以,為了一勞永逸,不用在每次的文稿第一行都加上「%!TEX encoding = UTF-8 Unicode」,請到TeXShop 的偏好設定裡把預設文字編碼設成 UTF8。

C. 測試 XeTeX (XeLaTeX)

TeX Live 2007 已經把 XeTeX 納入,與之搭配的 fontspec套件也是。所以裝完 TeX Live 2007後可以直接使用。原先只適用於 Mac OS X 上的中文 LaTeX方案,現在已經移植到 linux 平台、MS Windows 平台的TeX (拜 TeX Live 2007 之賜)。可以直接使用作業系統裡的任意字型,不需裝設額外的字型描述檔,直接在TeXShop 裡以 unicode寫作多國語言文稿。如果要與他人交流文稿,雙方的字型名稱須一致。底下這個範例,部份參考了 oikos 裡的討論,部份參考了網友 jjgod 關於 XeTeX 的網頁

%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode

% XeLaTeX 測試範例
% 以上是設定使用 XeLaTeX 編譯,並內設 unicode 編碼,以便 TeXShop 自動辨識

\documentclass[12pt]{article}

\usepackage{fontspec}
% XeTeX 配合 fontspec 時,字形非常容易設定

\setromanfont[Mapping=tex-text, %
Ligatures={Required,Common}, %
ItalicFont={Times Italic}, %
BoldFont={Apple LiGothic Medium}]%
{BiauKai}
% 預設字形:這裡設內文為標楷,
% 沿用 latex 的一些標點的轉換,如 en-dash 以兩個減號表示,
% 如果此字型檔裡有 ligatures 的定義,則啟動
% 斜體字以 Times Iatlic (只有英文有斜體)
% 粗體字以黑體字表現
% 此為 fontspec 套件的指令

\setmonofont[Scale=0.8]{AppleGothic Regular}
% 設定等寬字形

\XeTeXlinebreaklocale "zh"
\XeTeXlinebreakskip = 0pt plus 1pt
% 讓中文正確斷行的設定

\newfontinstance\rmfont{Times}
\newcommand{\nc}[1]{{\rmfont #1}}
% 在中文裡用英文字體顯示英文的命令
% 詳見底下的範例

\begin{document}

自此,就是內文了。可以自由的使用。

我們再來試試換預設字形的方法:只在大括號內局部之字串有效。

{
\fontspec{Hiragino Mincho Pro W6}
% \fontspec 用法和前面預設字形之 \setromanfont 一樣,只是可更自由地使用
這是用日文字形的測試。只要打正常中文即可。可能會缺字就是了。
}

再來就回到正常字形,就用正常 \LaTeX\ 的寫法使用就行了。

如果,在中、英文夾雜時,英文想用不同的字型,則可以使用開頭時定義的 nc 指令

\nc{This is Times font. The ‘field’ contains ligatures.}

應該與中文字型裡的英文字不同:
This is Chinese font. The `field' does not have ligatures.

\end{document}

D. 多家 TeX 系統和平共存

過去幾年以來,Mac OS X 平台使用的 TeX 系統是依據在 Unix, linux 等平台的 teTeX (由 Thomas Esser 等維護),經由 fink MacPorts Gerben Wierda (i-installer) 等社群移植到 Mac OS X 平台。

自從 TeX Live 社群蓬勃發展後,Thomas Esser 於 2006 年 5 月宣布不再維護 teTeX,請大家改用TeXLive。Gerben Wierda 也積極把他所維護的 Mac OS X i-installer gwTeX 導入 TeXLive大家庭裡。

所以,以前已經裝了 TeX 的用戶,裝了 TeX Live 2007 之後,電腦多了一套 TeX系統,並有圖形介面協助切換。想要用以前的TeX 系統,只要到 Apple Menu : System Preferences : TeXdistribution 做切換即可。

system preference panel illustration
tex switching panel illustration

這切換動作實際上是針對 /Library/TeX 作 symbolic link,連結到相對應的 TeX 系統。所以,各 TeX 系統裡的程式、工具、設定檔都不會打架、干擾。

這些系統的 texmf 設定檔的層次類似。以舊的 gwTeX (以前用 i-installer 所裝設的) 為例,它的設定、支援的檔案分層放在

/usr/local/teTeX/share/texmf
/usr/local/teTeX/share/texmf.tetex
/usr/local/teTeX/share/texmf.gwtex
/usr/local/teTeX/share/texmf.local

以及各人自己帳號底下的

~/Library/texmf

習慣是把自己額外安裝的套件、字型放在最後兩處:如果是多人共用的,可以放在 texmf.local;如果只是自己用,則放在自己帳號下的 texmf。

新的 TeX Live 2007 的 MacTeX,則是使用

/usr/local/texlive/2007/texmf
/usr/local/texlive/2007/texmf-config
/usr/local/texlive/2007/texmf-dist
/usr/local/texlive/texmf-local

以及各人自己帳號底下的

~/Library/texmf

在這裡唯一要注意的是:這不同系統的交集是各人自己帳號底下的 ~/Library/texmf。所以,有可能發生在舊的 gwTeX時代自己安裝的套件、字型與新的 TeX Live2007 不相容。例如,當時安裝的 CJK 套件版本較舊,以及所安裝的中文文鼎TrueType 字型名稱與 TeX Live 2007裡所用文鼎 Type 1 的相衝了 。所以,如果以前是把 CJK套件、中文字型裝在個人的 texmf 區,建議在裝 TeX Live 2007 後,把

~/Library/texmf/tex/latex/CJK/
~/Library/texmf/fonts/

先移至他處。

如果以前是把 CJK 套件、中文字型裝在 /usr/local/teTeX/share/texmf.local,那就不用擔心。

以前沒有安裝套件的用戶,就更不用擔心了。

相關的 TeX distributions 歷史緣由,可以參閱 TeXShop 作者 Richard Koch 所寫的短文。

E. 安裝更多的 TrueType 中文字型

由於 TeXLive 2007 更新字型 map 檔的方式與我之前寫的簡易安裝程式 mkfont_npc2006.command 有些差異。請使用新的 mkfont_npc2007.command,位於 install_cjk_fonts 檔案夾裡。

window of install CJK fonts

它會產生一個 TrueType 字型所需要的各類描述檔,只適用於 UTF-8 編碼。用法如下:

大概會執行幾分鐘,產生所需要的.map、.tfm、.enc、.fd、.fdx (中文直排用)。如果要 shell script 順便把這些描述檔裝設到LaTeX 系統裡,並更新 cid-x.map 等檔案,程式執行中請同意讓它做這些動作 (回答 Y),並選擇或鍵入所選的[texmf] 路徑。如果要把字型裝在個人區,則選 1;如果要裝在共用區,則選 2;如果要裝在別的地方,則直接鍵入該位置路徑。如果該區需要管理員權限才能拷貝檔案的話,會詢問索取管理員密碼。在 MacOS X 裡,由於 sudo 指令的限制,必須以系統管理員的身分 (但不必請出 root 身分) 執行這個字型簡易安裝程式,除非要裝在個人區裡。

  1. 如果裝設的字型並不打算在電腦上與其他使用者共用的話 (也不會因系統升級而失效),上述的
    [texmf]=~/Library/texmf 也就是在個人 home 子目錄裡的 Library 檔案夾裡的 texmf 檔案夾
  2. 如果是實驗室的電腦,有多個使用帳號要使用到 LaTeX CJK 字型,則上述的
    [texmf]=/usr/local/texlive/texmf-local

更新 map 檔的過程也需要幾分鐘。

這個 shell script 參考了 李果正先生的 mkfont.sh cyberb.sh。不同之處是我這個 shell script 以 unicode 編碼為最終目的、只考慮 TrueType 字型;而李果正先生的scripts 是以 Big5 或 GB 為使用環境、同時考慮 TrueType 與 PostScript Type 1 字型,雖然所套用的TrueType字型檔內容都是以 unicode 編碼的。由於此 shell script 並沒有使用任何與 Mac OSX 有關的特殊語法,以及使用者可以指定不同的 [texmf],其他 unix / linux 平台的使用者如果想要以 unicode 編碼做為 LaTeXCJK的使用環境的話,也可以在終端機裡執行本程式。

執行完後,即可把一開始時放入的 TrueType 字型檔拿掉。如果要繼續裝設更多的字型,只要把該字型檔放入 install_cjk_fonts 檔案夾裡,再執行mkfont_npc2007.command 即可。

F. 哪裡可以下載中文字型

理論上任何以 unicode 編碼、含中文字的 TrueType 字型檔都可以用上述的 mkfont_npc2007.command 處理後給LaTeX CJK 使用。但是,選用 LaTeX CJK 做為 LaTeX的中文方案,很重要的一個理由是與其他平台 (linux, MSWindows, ...) 的相容性;要不然,為何不用前述的XeTeX?所以,在文稿中使用了 Mac OS X特有的中文字型反而對文稿的交流會造成困擾。最好是使用下列的這些其他平台也在用的免費字型:

  1. 文鼎字型
    文鼎公司 (Arphic) 所釋出的中文字型。
    繁體雖然只有 Big5 範圍內的字,簡體雖然只有 GB 範圍內的字,但卻都是用 unicode編碼的。字型美觀,使用的人很多。過去,unicode 還沒有普遍使用時,上述字型要經過 unicode 到 Big5 或 GB編碼的轉換。所以,在 CJK 裡這些字型叫的名字就以b 或 g 起頭來分辨繁體或簡體:bkai (bkai00mp.ttf 在 CJK套件裡的簡稱), gkai (gkai00mp.ttf 在CJK 套件裡的簡稱)。 在現今 unicode 編碼情況下,雖然不再用 Big5或 GB 編碼,但在此類只含有單一繁體或簡體的字型,仍以b 或 g 來分辨繁、簡體。CJK 套件的作者 Werner Lemberg是用這種命名原則來處理文鼎字型 (唯一一套在 CJK套件裡已經命名的中文繁、簡體字型,已內建有對應的 c70*.fd 與 fdx 檔):
    所以,建議大家在執行 mkfont_npc2007.command 時,把文鼎繁體楷體字型簡稱名字叫做 bkai。安裝程式會保留原內建的 fd 與 fdx 檔。
    下載點: http://cle.linux.org.tw/fonts/ttf/unicode/Arphic/
  2. 文鼎衍生字型 opendesk 版 (以前叫做 Firefly 版)
    結合了繁體與簡體的文鼎宋體字型,中文名稱為「文鼎 PL 新宋」,英文字型名稱為 「AR PL NewSung」; 整合文鼎 PL 中楷與文鼎 PL 簡中楷為單一字型檔,重新命名為文鼎 PL 新中楷 (AR PL NewKai)。修正許多字的筆劃錯誤,詳情見其 ChangeLog。建議大家在執行 mkfont_npc2007.command時,把它簡稱名字叫做 odosung, odokai。
    下載點: ftp://ftp.opendesktop.org.tw/odp/ODOFonts/OpenFonts/
  3. 文鼎衍生字型 李果正先生版
    這是由 opendesktop 新宋/新中楷 TrueType 字型 1.4.2 轉換成的中文 Type 1 字型,適合 LaTeX CJK的使用。 此套字型可以適用於 LaTeX CJK 的 UTF8/Bg5/GB/GBK 四種環境,使用的字型名稱皆為nsung/nkai。其中只有 UTF8 編碼的字型為實體字型,Bg5/GB 編碼的字型為虛擬字型(Virtualfont)。已含中文直排的定義檔及其標點符號字型,可用於中文直排文件。所有含『角』的部首、偏旁的字修改成依台灣教育部的標準寫法。由於此非TrueType 字型,mkfont_npc2007.command 無法處理。李果正先生準備了安裝程式,可以安裝到個人區。
    下載點: http://blog.bs2.to/post/EdwardLee/8341
  4. cwTeXTrueType 字型 (cwttf)
    吳聰敏、吳聰慧、翁鴻翎共同發展的 cwTeX 裡的中文 Type 1 字型轉換而來,並整合 Alexej Kryukov 的CM-LGC 字型,及 Koanughi Un 的韓文字型。
    這套字型有兩種形式。center 目錄下的標點符號為置中,以符合中小學校文件助讀的功能及一般的使用習慣。baseline 目錄下的字型,其中文全型標點符號的安排為置於和英文標點符號相配合的位置,對於中英混合橫排的文件會比較能取得一致性,且符號後留有一定的空白,以達標點符號的目的。由於這兩種形式的字體檔名相同,請勿混用。至於 tfm 目錄,雖然標明是給 LaTeX CJK 用的,但是其目的是給仍用Big5 編碼形式的其他平台使用者,我們不必下載。請用前述的 mkfont_npc2007.command 來自行產生 UTF8 編碼的tfm 檔。建議大家在執行 mkfont_npc2007.command 時,直接以主檔名 (去掉 .ttf) 做為它在 CJKmacro 裡的簡稱名字,例如明體叫做 cwming。
    在試用 cwkai.ttf 時發現 pdflatex工作流程出奇的慢,每一個中文字都需要好幾秒鐘才能從 ttf 檔裡掏出資料;但是latex+dvipdfmx 工作流程則沒有問題。李果正先生也證實這點。目前似乎無解。所以,如果要用這套字型,請使用latex+dvipdfmx 工作流程 (詳見後文)。
    下載點: http://cle.linux.org.tw/fonts/cwttf/
  5. cyberbit.tff
    Bitstream 公司所釋放的多國語文 TrueType 字體。是早期含有各語文字型的少數免費 unicode 字體,但是字形並不好看。不建議下載。 LaTeXCJK 套件裝設後,已經內建 cyberbit 字型檔的描述資料 c70song.fd,在
    [texmf]/tex/latex/CJK/UTF8/
    這裡,把 cyberbit.tff 這個 unicode 編碼的「全都收錄」的字型,命名為 song。所以,在 LaTeX CJK 文稿裡下達
    \begin{CJK}{UTF8}{song}
    的命令時,系統就會採用 cyberbit.tff 字型檔。但是,字型檔本身以及所需的 .map、.tfm、.enc 等檔案,則不在LaTeXCJK 套件內建範疇之中。所以,仍需執行安裝程式 mkfont_npc2007.command,以 cyberb 為 LaTeX 簡稱名字,而以 song 為 LaTeX CJK 簡稱名字。
    下載點: http://cle.linux.org.tw/fonts/ttf/unicode/bitstream/,該處有 cyberbit.ttf (13 MB) 與 cybercjk.ttf (12 MB)兩個檔案。後者把中、日、韓文以外的字符給拿掉了,只省了 1 MB;如果真的想下載,建議下載前者,做為多國語文的字體來使用。
  6. 藏文字型 TibetanMachineUniAlpha.ttf
    我不懂藏文,但有人問起藏文在 LaTeX 裡的情況,所以在這裡寫下我所知道的。在 TeX 用戶小組 (TUG) 的 TeX 功能展示頁裡, 藏文是用羅馬拼音的方式輸入。這裡我列出了另一種方式。 在 unicode架構下,同樣是從左到右的書寫方式,藏文的處理,有字型就成功了大半。再加上這個Tibetan Machine Uni 是個新型態的 opentype字型,對於藏文的疊字需求,會自動處理大部份的情況。所以,只要能夠把藏文輸入或拷貝到文稿裡,就可以處理藏文了。同樣利用前述的mkfont_npc2007.command 安裝程式來進行安裝即可。建議在 LaTeX 裡的簡稱名字取為「mtibetan」。
    至於在 Mac OS X 系統裡輸入藏文,可以參考 openvanilla 計畫的 藏文輸入模組,以及開發者 zonble的相關網站 網頁
    字型下載點: TheTibetan & Himalayan Digital Library
    文稿中穿插少量藏文之範例與結果 (藏文文字串與其解釋節自於上述 網頁)
    image of tibetan latex code
    image of tibetan latex pdf
    如果通篇大都是藏文,可以直接以
    \begin{CJK}{UTF8}{mtibetan}.....\end{CJK}

G. 關於 TrueType 字型檔安裝的細節

此段乃針對瞭解 TeX / LaTeX 系統安裝的人所撰寫,沒有興趣者可以略過。
before 2003 (teTeX, gwTeX)
mkfont_npc2003.command
運作原則
2004~2006 (teTeX, gwTeX)
mkfont_npc2006.command
運作原則
TeX Live 2007
mkfont_npc2007.command
運作原則
(font1)??.enc [texmf]/pdftex/enc/ [texmf]
/fonts/enc/
cjk/(font1)/
[texmf]
/fonts/enc/
CJK/(font1)/
(font1)??.tfm [texmf] /fonts/tfm/CJK/ (font_name)/ [texmf]
/fonts/tfm/
cjk/(font1)/
[texmf]
/fonts/tfm/
CJK/(font1)/
(font1).map [texmf]/pdftex/config/
[texmf]/dvipdfm/config/
[texmf]
/fonts/map/pdftex/
cjk/
[texmf]
/fonts/map/pdftex/
CJK/
(font0) [texmf]/fonts/truetype/CJK/ [texmf]
/fonts/truetype/
cjk/
[texmf]
/fonts/truetype/
CJK/
c70(font2).fd and .fdx [texmf]/tex/latex/CJK/UTF8/ [texmf]
/tex/latex/CJK/UTF8/
[texmf]
/tex/latex/CJK/UTF8/
更新[texmf] /pdftex/config/pdftex.cfg 加入一行 map +(font1).map 不需要更動 不需要更動
更新[texmf] /web2c/updmap.cfg 加入一行
Map (font1).map
不需要自己更新,而是使用
updmap-sys --enable Map
(詳見下欄)
更新[texmf] /dvipdfm/config/dvipdfmx.cfg 加入一行 f (font1).map 同左 不需要更動
更新[texmf] /dvipdfm/config/cid-x.map 加入一行
(font1)@Unicode@ unicode:0:(font0).ttf
同左 同左,但是檔案位置在
[texmf]
/fonts/map/dvipdfm/dvipdfmx/
(目前發現放在 texmf-local 無效。
如果要多人共用,必須直接更動在核心的
/usr/local/texlive/2007/texmf/
的原有 cid-x.map)
目前安裝程式有針對此裝況做處理。
更新 ttfonts.map
(似乎對 CJK 套件運作沒有影響)
[texmf]/ttf2pk/ttfonts.map
加入一行
(font1)@Unicode@ (font0).ttf
[texmf] /fonts/map/ttf2pk/ttfonts.map
加入一行與左欄相同之指令
無此必要
TeX 字型資料庫更新之指令 sudo texhash sudo texhash
sudo updmap 兩者都要
sudo texhash
sudo updmap-sys
--enable Map (font1).map
sudo fix_dvipdfm_map.py

【註1】粗體路徑名稱表示必須遵從,正常字體則表示可以自行另加檔案夾以便分類,名稱不拘。

【註2】TeX / LaTex字型資料檔採用多層名冊方式:

以文鼎繁體中文楷書使用 unicode 編碼為例,原 truetype 字型檔名為 bkai00mp.ttf,CJK 套件作者 Werner的命名方式是:

(font0) = bkai00mp.ttf
(font1) = bkaiu
(font2)= bkai

【註3】截至 4/12/2007, updmap-sys 有個小臭蟲,會將TrueType 字型所用的 .map檔內的資料以不正確的語法抄入dvipdfm_dl14.map 與 dvipdfm_ndl14.map 內,造成 dvipdfmx 無法載入一些英文字型 (例如Times)。此臭蟲只影響 latex + dvipdfmx 工作流程,但沒有對 pdflatex 有任何影響。我用 python寫了一個修正程式 fix_dvipdfm_map.py (在 needed_files 檔案夾裡)。請在每次使用了 updmap-sys 或updmap 之後 (不管是加入了中文字型還是英文字型的 .map 檔),執行 sudo./fix_dvipdfm_map.py。本文裡介紹的 'mkfont_npc2007.command'安裝程式會自動使用此修正程式。又,如果日後此臭蟲已修正,則修正程式不會更動正確的 dvipdfm map 檔。

H. 在 TeXShop 裡方便的使用 latex + dvipdfmx 工作流程

請先下載這個 shell script ' install_my_dvipdfmx', 解壓縮後,執行 install_my_dvipdfmx,它會將 my_dvipdfmx 放在 ~/Library/TeXShop/bin/ 裡 (在個人子目錄裡的 Library/)

請在 TeXShop 的 preference 設定裡,在 misc 項,在 Personal Script, Latex 欄位裡把該 script 的完整路徑填入,以及所選的執行參數 -x , -b , -u , -l
/Users/(你的名字)/Library/TeXShop/bin/my_dvipdfmx -x

TeXShop preference setting

在 install_my_dvipdfmx 安裝程式執行完後,會在終端機螢幕上留有路徑名,可以拷貝貼入 TeXShop 的 preference 設定裡。

執行參數的定義如下:

TexShop在編排一般 LaTeX 文稿時,會選用指定的工作流程而產生 PDF 文件,預設的是pdflatex。如果想要用 latex+dvipdfmx,則必須以 TeXShop 的 personal script 的方式進行 (在typeset 選單下選擇)。

該用 pdflatex 還是 latex+dvipdfmx? 後者在內嵌字型時,使用較新的技術 (CID),所以產生的pdf 檔案較小,而且裡面的中文是可以拷貝出來、檢索的;不過,它在第一階段由 latex 編譯時,對於較近代的圖檔格式,如 jpg, png, pdf 等格式,必須先由一個叫ebb 的小工具程式,在終端機程式裡先替這些圖檔產生 boundary box 的 .bb 檔案,來取得圖的尺寸。例如在 .pdf 圖檔所在的子目錄裡執行 ebb *.pdf

至於 pdlaftex,不會做 CID 的中文內嵌,而是用傳統的 subfont的方式,所以無法拷貝、檢索裡面的中文,不過,上述的圖檔則不需用ebb 做前置處理,直接搞定;但反而對於較傳統的 .eps 檔需要先轉檔成.pdf 或 .mps 的格式。請參考 這個網頁

在使用插圖套件 graphicx 時,要依據工作流程,而採用底下對應的設定
\usepackage[pdftex]{graphicx}

\usepackage[dvipdfm]{graphicx} 第二種設定並沒有筆誤,dvipdfmx 的前身是 dvipdfm

如果想要文稿在兩種工作流程之間通吃,則可以在文稿開頭的設定區用如下的設定

% 參考自
% http://www.tex.ac.uk/cgi-bin/texfaq2html?label=ifpdf
\ifx\pdfoutput\undefined
% not running pdftex
\usepackage[dvipdfm]{graphicx}
\else
\ifx\pdfoutput\relax
% not running pdftex
\usepackage[dvipdfm]{graphicx}
\else
% running pdftex, with...
\ifnum\pdfoutput>0
% ... PDF output
\usepackage[pdftex]{graphicx}
\else
%...DVI output
\usepackage[dvipdfm]{graphicx}
\fi
\fi
\fi

同時,在文稿內放插圖時,圖檔名不要把附檔名寫出。例如,有個圖檔叫 logo.pdf,則使用 \includegraphic[...]{logo} 即可。在 latex + dvipdfmx 工作流程裡,logo.bb 檔會先被載入。

參考網頁

  1. 台灣 Mac 的網站 oikos 的 LaTeX 討論
  2. 李果正先生的《 我的CJK》, 《 替 LaTeX CJK 新增字型》。
  3. TeX User Group's MacTeX package details
  4. Helmer Aslaksen's Chinese TeX Using CJK, Unicode Truetype Fonts, and pdfTeX under Windows

updated on May 8, 2007 Valid XHTML 1.0! Document made with Nvu
回到 LaTeXNote page | |