綺麗で小さいPDFファイルを作る
普通にDVIファイルをPostScriptに変換するとフォントはすべてビットマップ形式で
埋め込まれます。それをPDFに変換するとフォントはビットマップ形式のままで、
Adobe Acrobat Readerはビットマップ形式のフォントの表示が恐ろしく汚いです。
アウトライン形式でフォントを埋め込む方法はここを見て下さい。
またTeXから作ったPDFファイルは大量にフォントが埋め込まれているのでサイズがとても大きくなりホームページなどに置くのには不向きです。サイズを小さくする方法はここを見て下さい。
TeXからPDFファイルを作るにはUNIX上では以下の4つの方法があります。
- PSファイルをAdobe AcrobatでPDFに変換する。この方法がおそらくベストで、上に述べた方法でPSファイルを作りそれをPDFファイルに変換すれば、ビットマップフォントは含まれず、含まれるフォントの量も少ないPDFファイルが出来上がります。
ただtgifの古いバージョンやidrawで作ったPSファイルを含んでいるとうまくPDFに変換できないことがあります。詳しくは下のほうを見て下さい。
- PSファイルをGhostscriptでPDFに変換する。PDFファイルにビットマップフォントが埋め込まれるという問題点があり、また漢字を含んでいると漢字フォントをPDFに埋め込むためAcrobatで作ったPDFファイルよりかなり大きくなります。(注: gsバージョン6以降は欧文フォントは元がアウトラインフォントの場合ビットマップに変換されることはなくなった。漢字は相変わらずビットマップに変換される。)
- PDF(La)TeXで直接PDFファイルに変換する。PDFTeXはアウトラインフォントをPDFに埋め込むことができます。
Win32用のPDFTeXは角藤さんのホームページにあります。
- dvipdfmを使う。これは使ったことが無いので良くしりませんがWin32版は角藤さんのホームページにあります。
日本語を通すようにするパッチは
ここ
にあります。
hyperref.styを使うとTeXの\ref、\cite、目次、索引などをPDFのハイパーリンクに変換できます。PDFLaTeXでも普通のLaTeXでもOKです。hyperref.styはCTANのmacros/latex/contrib/supported/hyperrefディレクトリにあります。またmacros/latex/contrib/other/misc/url.styも必要です。
ただPDFのしおり(bookmark)にhyperrefを使って日本語の目次を作ろうとするとそのままではうまくできません。できるようにする方法はここに書いてあります。
PDFファイルはLZWアルゴリズムで圧縮することができますが、
Unisysの特許の警告によりGhostscriptやPDFTeXはLZWアルゴリズムによる圧縮はできないようです。
そのかわりLZWよりも多くの場合圧縮率が良いDeflateアルゴリズムによるファイルの圧縮を行います。
tgif, idrawで作った図を張り込むときの問題
古い日本語 tgif や日本語 idraw で作ったPSファイルは新しいPSプリンタで印刷できなかったりAcrobat DistillerでPDFに変換できないことが知られています。これに対する対処方は
こういうトラブルが起きる仕組みはここで解説されています。
dvips with vflib
私は経験したことが無いですが、VFLibを使うパッチを当てたdvipskで作ったPS
ファイルをDistillerで変換すると漢字の部分が表示されないPDFが作られるという話を
聞いたことがあります。
この症状は普通のdvipsを使ってPSを作ってPDFに変換したら解消したそうです。
松本 隆太郎
感想コメントなどは
に送ってください。