pdflatex --shell-escapeを使ったときに図中フォントを埋め込む
pdflatexを使えば,TeXファイルから直接PDFに変換することができる.内部で何をやっているかは知らないけど.
pdflatexはEPSをそのまま挿入することができないので,
$ pdflatex --shell-escape hoge.tex
という感じで,--shell-escapeというオプションをつける必要がある.
これによって,EPSを一旦PDFに変換してPDFに挿入する.
EPSからPDFへの変換はepstopdfというシェルスクリプトを使っている.
なので,あらかじめ,EPSをPDFに変換して,変換後のPDFを挿入するようにしておいた方がコンパイルが早い.
しかし,epstopdfの設定によっては,図中のフォントが変換後のPDFに埋め込まれないことがある.
これは困る,困るぜ.論文にフォントが埋め込まれてないって言って弾かれてる.
ちなみに,PDFにフォントが埋め込まれているか確認するには,Adobe Readerを使う.
確認したいPDFファイルを開いて,
「メニュー」→「File」→「Properties...」か,ショートカットキー「command + D」とする.
でてきたDocument Propertiesウィンドウの「Fonts」というタブを開くと,次のように使われているフォントの一覧が出てくる.
ちなみにこれは,Helveticaの隣に (Embedded Subset) と書かれていないので,埋め込まれていない.
なので,epstopdfを編集してフォントを埋め込む.
epstopdfでフォントを埋め込む方法
環境はMac OS 10.7.1.
小川さんが配布しているパッケージ(Drag & Drop UpTeX)を例として,見ていくことにする.
epstopdfは/Applications/UpTeX.app/teTeX/binにある.これを編集する.
$ cd /Applications/UpTeX.app/teTeX/bin $ sudo vim epstopdf
多分,管理者権限がいるので,持っていない人は,TeXの作業ディレクトリにepstopdfをコピー後,編集.
$ cd {自分の作業ディレクトリ} $ cp /Applications/UpTeX.app/teTeX/bin/epstopdf . $ vim epstopdf
epstopdfを開いた後,次の行
### no embed fonts my $GSNOEMBED="-dNOKANJI -c '.setpdfwrite << /NeverEmbed [/Courier /Courier-Bold /Courier-Oblique /Courier-BoldOblique /Helvetica /Helvetica-Bold /Helvetica-Oblique /Helvetica-BoldOblique /Times-Roman /Times-Bold /Times-Italic /Times-BoldItalic /Symbol /ZapfDingbats /Ryumin-Light /GothicBBB-Medium] >> setdistillerparams'";
を
### no embed fonts my $GSNOEMBED="-dNOKANJI -c '.setpdfwrite << /NeverEmbed [] >> setdistillerparams'";
と編集.
つまり,埋め込みたいフォントの表記を全部消す.