Language

Friday, August 1, 2014

在 LaTeX 使用內建在 Acrobat Reader 裡的 Minion Pro 與 Myriad Pro 字型以及 =\epsilon= (\epsilon) 與 =\ell= (\ell) 的問題解法





在 LaTeX 使用內建在 Acrobat Reader 裡的 Minion Pro 與 Myriad Pro 字型以及 <code>\epsilon</code> (ε) 與 <code>\ell</code> (ℓ) 的問題解法









在 LaTeX 使用內建在 Acrobat Reader 裡的 Minion Pro 與 Myriad Pro 字型以及 \epsilon (ε) 與 \ell (ℓ) 的問題解法





1 前言




Minion Pro1 是一個 Adobe 出品的 Serif 字型, 內建在 Adobe Reader2 與 Adobe Acrobat 裡面, 是一套高品質且漂亮的字型, Myriad Pro3 則是同樣內建在軟體內的 Sans Serif 字型。有興趣的讀者可以先到 footnotes 上去找兩套字型的範例。兩套字型的格式都是 Open Type, 而且免費贈送, 如果我們想要在自己的 LaTeX 檔案裡面使用, 要怎麼安裝呢?以下這篇文章就會介紹安裝過程以及這兩套字型相關的問題與解法,所有範例都是以 MacOSX 為主, 其他系統請自行找尋相關資源。






2 準備檔案




  • TeX 系統



你必須先安裝好 TeX/LaTeX 系統, Windows 的話一般是 MikTeX 比較受歡迎, 而 Mac 則是 MacTeX, 兩者都是基於 TeXLive 衍生出來的, 如果是 Linux 使用者的話, 就直接安裝 TeXLive 即可。




  • MnSymbol 套件



安裝完 TeX/LaTeX 系統之後, 用系統附的套件管理員安裝 MnSymbol 這個套件。MnSymbol 是搭配 MinionPro 使用的數學符號字型, 相關的符號可以參考 4 裡面的說明檔。




  • LCDF typetools




一般來說安裝完 TeX/LaTeX 系統後就會有 LCDF typetools 了, 你可以在終端機下命令檢查:



Aquila:Font albert$ otfinfo --version
otfinfo (LCDF typetools) 2.100
Copyright (C) 2003-2013 Eddie Kohler
This is free software; see the source for copying conditions.
There is NO warranty, not even for merchantability or fitness for a
particular purpose.


如果沒有的話, 請用套件管理員或請到 LCDF Type Software 下載安裝。




  • CTAN 上的 MinionPro 套件



如果 TeX/LaTeX 套件管理員沒有列 MinionPro, 那麼就請你到 CTAN 下載以下檔案:



  1. http://mirrors.ctan.org/fonts/minionpro/enc-2.000.zip

  2. http://mirrors.ctan.org/fonts/minionpro/metrics-base.zip

  3. http://mirrors.ctan.org/fonts/minionpro/metrics-full.zip

  4. http://mirrors.ctan.org/fonts/minionpro/metrics-opticals.zip

  5. http://mirrors.ctan.org/fonts/minionpro/scripts.zip


  6. Minion Pro 與 Myriad Pro 字型檔



在你安裝完 Adobe Reader 或 Acrobat 之後, 你就會在 /Applications 有一個 "Adobe Reader.app" 而 Minion Pro 與 Myriad Pro 字型檔會放在 /Applications/Adobe\ Reader.app/Contents/Resources/Resource/Font/ 裡面



Aquila:~ albert$ cd /Applications/Adobe\ Reader.app/Contents/Resources/Resource/Font/
Aquila:Font albert$ ls
AdobePiStd.otf MinionPro-BoldIt.otf MyriadPro-Regular.otf ZY______.MMM
CourierStd-Bold.otf MinionPro-It.otf SY______.PFB ZY______.PFB
CourierStd-BoldOblique.otf MinionPro-Regular.otf SY______.PFM ZY______.PFM
CourierStd-Oblique.otf MyriadPro-Bold.otf ZX______.MMM
CourierStd.otf MyriadPro-BoldIt.otf ZX______.PFB
MinionPro-Bold.otf MyriadPro-It.otf ZX______.PFM



如果你安裝的是 Acrobat, 那麼把 /Applications 下的 Adobe Reader.app 取代成 Acrobat.app 即可。先把這個路徑記起來, 等一下會用到。





3 安裝




檔案準備完之後, 就要開始安裝過程了, 筆者先認定你已經會操作終端機, 如果不知道的話, 請在網路上搜尋終端機的使用方式, 請先開啟終端機(or Terminal.app)。




先切換使用者目錄到 scripts.zip 解壓縮的地方, 一般會在 ~/Downloads/scripts 裡面:




Aquila:~ albert$ cd ~/Downloads/scripts/
Aquila:scripts albert$ cp /Applications/Adobe\ Reader.app/Contents/Resources/Resource/Font/*.otf ./otf
Aquila:scripts albert$ ./convert.sh
Creating PostScript fonts ...
AdobePiStd: has no 'j' glyph to make dotless
cfftot1: glyph 'sterling.oldstyle': While processing otf/MinionPro-Bold.otf:
cfftot1: glyph 'sterling.oldstyle': warning: complex flex hint replaced with curves
cfftot1: (This Type 2 format font contains flex hints prohibited by Type 1.
cfftot1: I've safely replaced them with ordinary curves.)
MinionPro-Bold: already has a dotlessj glyph at 'uni0237'
MinionPro-BoldIt: already has a dotlessj glyph at 'uni0237'
cfftot1: glyph 'colonmonetary.oldstyle': While processing otf/MinionPro-It.otf:
cfftot1: glyph 'colonmonetary.oldstyle': warning: complex flex hint replaced with curves
cfftot1: (This Type 2 format font contains flex hints prohibited by Type 1.
cfftot1: I've safely replaced them with ordinary curves.)
MinionPro-It: already has a dotlessj glyph at 'uni0237'
MinionPro-Regular: already has a dotlessj glyph at 'uni0237'
Aquila:scripts albert$ mkdir -p ~/Library/texmf/fonts/type1/adobe/MinionPro
Aquila:scripts albert$ cp ./pfb/*.pfb ~/Library/texmf/fonts/type1/adobe/MinionPro



然後解壓縮字型相關檔案



Aquila:scripts albert$ cd ~/Library/texmf
Aquila:scripts albert$ unzip enc-2.000.zip
Aquila:scripts albert$ unzip metrics-base.zip
Aquila:scripts albert$ unzip metrics-full.zip



更新字型地圖,



Aquila:scripts albert$ updmap


執行的結果應該會列出 ~/Librar/texmf/fonts/map/dvips/MinionPro/MinionPro.map 以及 ~/Librar/texmf/fonts/map/dvips/MyriadPro/MyriadPro.map




找到之後, 預設是 disable 的, 你要下命令啟動他們:



Aquila:scripts albert$ updmap --enable Map=MinionPro.map
Aquila:scripts albert$ updmap --enable Map=MyriadPro.map



到這邊如果安裝過程順利沒有什麼錯誤的話, 這兩套字型就算是安裝完成了。





4 使用




想要在你的 LaTeX 檔案裡面使用 MinionPro 字型, 只要在 preamble 寫下:




\usepackage{MinionPro} % 使用 Minion Pro 字型
\usepackage{MnSymbol} % 使用搭配 MnSymbol 的數學字型




另外, 預設的 text figure 一般人可能不太習慣, 可以選擇 lining figure 如下:




\usepackage[lf]{MinionPro} % 使用 Minion Pro 字型, lining figure




兩者的差異如圖所示:





MinionPro-figures.png





其他更詳細的使用方法, 請參考 CTAN 連結上面的 MinionPro.pdf 檔案。安裝過程就介紹到這裡了。






5 \epsilon 變成方塊的問題




有數種解決方法, 不過最簡單的是用 \varepsilon 取代, 或是在 preamble 設定




\renewcommand{\epsilon}{\varepsilon}





6 \ell




Adobe Reader 9 之後 \ell 被更改編碼位置, 但是 enc-2.0.0 未反映這個更新, 要修正這個問題, 就請修改 base-MinionPro-ab.enc 這個檔案, 他應該在 ~/Library/texmf/fonts/enc/dvips/MinionPro 裡面, 打開檔案後, 把 "afii61289" 取代成 "uni2113" 然後存檔即可。





7 結語




TeX/LaTeX 是一個高品質的排版系統, 桌上型排版發展了這麼多年, 一直還沒有任何其他排版軟體能夠真正的取代它的地位, 雖然學習曲線比較陡峭, 但依然值得我們花精神學習它。LaTeX 的字型安裝一直是令人頭痛的問題, 這篇文章簡單的介紹如何安裝 Minion Pro 與 Myriad Pro 兩套字型, 讓使用者在 LaTeX 使用它們, 希望能夠減緩一些安裝字型時頭痛的程度, 讓各位更能享受 LaTeX 的排版品質。






Author: Albert Huang


Created: 2014-08-01 Fri 23:58


Emacs 24.3.1 (Org mode 8.2.1)


Validate





2 comments:

descent said...

這是用什麼轉成 html?

Albert Huang said...

GNU Emacs org-mode