[[チュートリアル]]

***PDFの作成 [#hb151a98]
#contents

***概要 [#v3468589]
LaTeX のソースファイルを PDF に変換するときに注意しなければならないことが
結構あります。~
自分の所属する研究室のプリンターで正常に印刷できても、最終的
に提出する PDF にフォントが完全に埋め込まれていないと、正常に印刷所のほう
で印刷できない可能性があります。~
印刷所では PDF に Type3 フォントのような
ビットマップフォント(数百 dpi)が含まれていると、印刷してくれない所もあ
るそうです。~
印刷所に渡すような PDF に対してフォントをすべて埋め込むことは
大変有効です。~
印刷品質を劣化させることのないようにアウトラインフォントを
埋め込むと良い結果になります。~

ただし、学位論文や学会に提出する論文にはそれほど積極的に書体を埋め込まない
ようにします。~
特に和文書体(日本語フォント)は原則的に埋め込みません。~
このページでは主に印刷所に渡すような PDF 作成について解説します。~

***方法 [#h7c4b0b7]

+lualatex を使う
+luajitlatex を使う
+xelatex を使う
+pdflatex を使う
+uplatex + dvipdfmx を使う
+uplatex + dvips + Ghostscript (ps2pdf) を使う
+uplatex + dvips + Acrobat Distiller を使う

原稿がすべて欧文(日本語を含まない)の場合はどの方法でも全然問題ありません。~
上記のどの方法を選択しても完成度は和文に比べ高くなります。~
しかし、今では GPL Ghostscript 9.10
がリリースされ、日本語 True Type フォントが埋め込めるようになったので、
状況は改善されています。

いつのまにか Windows ユーザー向けの解説で、Unix 系はどうすればよいのか
書いてありませんでした。~
過去には東風明朝の自由度がなくなったために、
日本語フォントに関して、何らかの対処をしないといけない時期がありました。~
まさか、みかちゃんフォントでデータ入稿するわけにも行きませんので。~
しかし、今では IPA からフリーのフォントである IPAexフォント/IPAフォントが公開されているため、問題は解消しました。


*** 注意事項 [#c582499c]

TeX を PDF に変換するときに、 原稿に日本語があるときやってはいけないことがあります。

-dvipdfmx を使用する場合は画像ファイルに EPS ファイルをなるべくなら使わないようにします。
EPS ファイルを使用すると Ghostscript を使用するので
EPS ファイルから PDF ファイルへの変換に時間がかかります。
-dvipdfmx を使用する場合は画像ファイルは PDF ファイルを使うようにしましょう。
EPS ファイルを使用する場合に比べて高速に処理できるようになります。
-欧文の原稿ならば何の迷いも必要ありません。pdflatex でさくっと。

*** 画像の取り込み [#hac77f3b]
昔は LaTeX ではデバイスドライバとして dvips が使用されていたため~
画像ファイルは一般的に EPS 画像が使用されていました。~
しかし、今は dvipdfmx や pdflatex が良く使われるので
EPDF も頻繁に使われています。~
PDF も頻繁に使われています。~
dvipdfmx は

 EPDF, JPEG, PNG, MetaPost
 PDF, PNG, JPEG, JPEG 2000, MetaPost

の画像は BoundingBox があれば PDF に取り込むことができます。~
の画像は PDF に取り込むことができます。~
画像ファイルは BoundingBox を使用して PDF に取り込みます。~
BoundingBox というのは画像の領域情報が記載されたファイルです。~
BoundingBox は extractbb で作成できます。~

TeX Live 2014 を使用している場合は texmf.cnf の shell_escape_commands に
extractbb を追加することで extractbb を自動的に実行することが出来ます.~

 shell_escape_commands = \
 bibtex,bibtex8,bibtexu,upbibtex,biber,\
 kpsewhich,\
 makeindex,mendex,texindy,xindy,\
 mpost,upmpost,\
 repstopdf,epspdf,extractbb

ソースファイルのプリアンブルに
 \usepackage[dvipdfmx]{graphicx}
を追加すれば OK です.~
ソースファイルは以下のようになります。
 \documentclass{ujarticle}
 \usepackage[dvipdfmx]{graphicx}
 \begin{document}
   \includegraphics{hoge.png}
 \end{document} 
ここでは
 \usepackage[dvipdfmx]{graphicx}
として ''graphicx.sty'' を dvipdfmx 用に読み込んで (include して) います。~
TeX Live や W32TeX には dvipdfmx.def という dvipdfmx 用の設定ファイルが添付されています.~
 kpsewhich dvipdfmx.def
とターミナル(コンソール)から実行すればファイルの所在が分かりますし,
OS の検索機能でも探す事が出来ます.~
//まあ、何が使えるかは graphicx パッケージに添付されて
//いる各デバイスドライバに関する情報を見ればよいのですが。

 ptex2pdf -u -l -ot "-synctex=1" hoge  
とすれば、PDF や PNG が PDF に張り込めます。~
このようにして画像を取り込むこと
ができます。~
dvipdfmx での基本的な画像の取り扱いは以上です。~

*** フォントを全部埋め込むとか [#gc811052]
学会などの提出する投稿論文で、フォントは全部埋め込んで下さいとか
埋め込まないで下さいとか、色々言われたりします。~
また、印刷所などに
PDF で原稿を渡すときは、トラブルを避けるためにほとんどのフォントを
埋め込んだ方が無難だと思います (Computer Modern フォントなんて普通の
PC とか Mac には入っていないので)。~
そこで、 dvipdfmx などを使って全てのフォントを埋め込む方法を紹介します。~
TeX Live を使っている場合はデフォルトでは和文フォントは埋め込まれません。~
IPAex フォントを埋め込む場合は
 ptex2pdf -u -l -ot "-synctex=1" -od "-f uptex-ipaex.map -f otf-up-ipaex.map" file
のようにすると IPAex フォントが埋め込まれます。~
 ptex2pdf -u -l -ot "-synctex=1" -od "-f uptex-ms.map -f otf-up-ms.map" file
とすれば、MS 明朝とか MS ゴシックなんていう TrueType フォントが
埋め込まれるようになります。~
dvipdfmx であれば OpenType フォントでも OK です。~
フォントを埋め込まないようにするには
 ptex2pdf -u -l -ot "-synctex=1" -od "-f uptex-noEmbed-04.map -f otf-up-noEmbed.map" file
とするとフォントが埋め込まれていない PDF ファイルが作成されます。~
写研フォントを埋め込む場合も同様にできますが、大抵の場合は
設定しなくとも埋め込まれるようになります。~

捕捉として、このように和文フォントなどの TrueType フォントを埋め込んだ PDF
はそのフォントが PostScript Type42 フォントを互換性を持つようにサブセット化
された格納されているので Xpdf utilities の pdftops を使って
 pdftops ipa.pdf
などとすると 和文の書体も埋め込んだ Postscript ファイル ipa.ps を
作成することが出来ます。~
これは相互変換が可能で、作成された ipa.ps を
 ps2pdf ipa.ps ps2pdf.pdf
とすると ps2pdf.pdf が ipa.ps から作成されます。~
これを
 pdffonts ps2pdf.pdf
などとすると
 name                                 type         emb sub uni object ID
 ------------------------------------ ------------ --- --- --- ---------
 ZKJGWS+IPAGothic_03                  TrueType     yes yes no      22  0
 LYFLYF+IPAMincho_03                  TrueType     yes yes no      25  0
 PYJGKY+IPAGothic_09                  TrueType     yes yes no      19  0
 JAAEQV+IPAGothic_0b                  TrueType     yes yes no      13  0 
 ZHEMUT+CMBX10                        Type 1C      yes yes no      10  0 
 UDPLJD+CMSS17                        Type 1C      yes yes no      16  0
となっていることからも、わかるでしょう。~
通常は
 name                                 type         emb sub uni object ID
 ------------------------------------ ------------ --- --- --- ---------
 SCJWRU+CMBX10                        Type 1C      yes yes yes      4  0
 SCJWRU+IPAGothic                     CID TrueType yes yes no       6  0
 WPOMZQ+CMSS17                        Type 1C      yes yes yes      7  0
 WPOMZQ+IPAMincho                     CID TrueType yes yes no       9  0
のようになります。~

***参照ページ [#b17d2d72]
-[[チュートリアル/PDFの操作]] --- PDF の結合,分割,パスワードの付与…
-[[チュートリアル/Illustratorの図をTeXに]] --- 実は Illustrator 8 以降の *.ai ファイルは
BoundingBox さえ分かれば変換せずに取り込む事が可能です.