[[チュートリアル]]

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

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

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

***方法 [#h7c4b0b7]

+pdflatex (pdfelatex, pdfxlatex) を使う(文書が欧文のとき)
+dvipdfmx を使う 
+dvips(k) と Distiller 4.0 以降を使う 

原稿がすべて欧文(日本語を含まない)の場合は全然問題ありません。
pdflatex, dvipdfm, dvips(-Ppdf)+Distiller, dvips(-Ppdf)+Ghostscript
などでもも完成度は高くなります。しかし、ようやっと AFPL Ghostscript 8.50 
がリリースされ、日本語 True Type フォントが埋め込めるようになったので、
状況は改善されれています (2004 年後半)。

いつのまにか Windows ユーザー向けの解説で、Unix 系はどうすればよいのか
書いてありませんでした。今となっては東風明朝の自由度がなくなったために、
日本語フォントに関してはフリーな感じじゃなくなった気がしてなりません。日
本語フォントに関して、何らかの対処をしないといけないと思います。まさか、
みかちゃんフォントでデータ入稿するわけにも行きませんので。
しかし、ようやっと IPA の GRASS から IPA 明朝と IPA ゴシックなるフリーに
近い書体が公開されたため、状況は変わりました (2004 年後半)。


*** 注意事項 [#c582499c]

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

-Ghostscript の pdfwrite なるべくなら使わないようにします。
GSview や Gview などからも操作できますが、 これらの GUI ベースの
プログラムから変換にかかると不測の事態に陥る場合があるので、
お勧めできません。
-dvipdfm-e, dvipdfm-cjk, dvipdfm-jpn などは使わないほうが良いようです。
これらはすでに Obsolete です。変わりに dvipdfmx を使うようにしましょう。
-欧文の原稿ならば何の迷いも必要ありません。dvipdfmx や pdflatex でさくっと。

*** 画像の取り込み [#hac77f3b]
LaTeX では EPS 画像が推奨されます。しかし、近年は dvipdfmx が良く使われるので
EPDF も頻繁に使われています。dvipdfm(x) は

 EPDF, JPEG, PNG, MetaPost, Windows BMP, (TIFF)

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

手順としては hoge.png や hoge.jpg があった場合、コンソールから
 ebb hoge.png
 ebb file.pdf
 ebb name.jpg eman.jpg *.pdf
とすれば hoge.png 用の hoge.bb、file.pdf 用の file.bb、 name.jpg 用の name.bb
が作成されます。この hoge.bb とかは画像ファイルの縦横を正しく扱うためのファイ
ルです。hoge.bb をtype file.bb (cat file.bb) で見れば分かりますが、中身は
 %%Title: ./file.pdf
 %%Creator: ebb Version 0.5.2
 %%BoundingBox: 0 0 595 841
 %%CreationDate: Fri Oct 03 10:03:07 2003 
となっています。BoundingBox というのが縦横の長さの値です。注意することは
拡張子は違っても、同じファイル名だと hoge.bb が上書きされます。

最近は井上先生が作られた [[mediabb.sty:http://www.ma.ns.musashi-tech.ac.jp/Pages/TeX/mediabb.sty.html]]
を使う事によって *.bb ファイルを自動的に生成する事が出来るようになっています.

次にソースファイルを以下のようにします。
 \documentclass{jarticle}
   \usepackage[dvipdfm]{graphicx}
 \begin{document}
   \includegraphics{hoge.png}
 \end{document} 
ここでは
 \usepackage[dvipdfm]{graphicx}
として ''graphicx.sty'' を dvipdfm 用に読み込んで (include して) います。
 \usepackage[dvipdfmx]{graphicx}
と %%は決してしません%% する事もできます.最近の LaTeX 環境(角藤版 Windows pTeX)には dvipdfmx.def という dvipdfmx 用の設定ファイルが添付されています.
 kpsewhich dvipdfmx.def
とターミナル(コンソール)から実行すればファイルの所在が分かりますし,
OS の検索機能でも探す事が出来ます.
//まあ、何が使えるかは graphicx パッケージに添付されて
//いる各デバイスドライバに関する情報を見ればよいのですが。

 platex hoge  
 dvipdfmx hoge
とすれば、PDF や PNG が PDF に張り込めます。このようにして画像を取り込むこと
ができます。dvipdfmx での基本的な画像の取り扱いは以上です。

*** フォントを全部埋め込むとか [#gc811052]
学会などの提出する投稿論文で、フォントは全部埋め込んで下さいとか
埋め込まないで下さいとか、色々言われたりします。また、印刷所などに
PDF で原稿を渡すときは、トラブルを避けるためにほとんどのフォントを
埋め込んだ方が無難だと思います (Computer Modern フォントなんて普通の
PC とか Mac には入っていないので)。
そこで、 dvipdfmx などを使って全てのフォントを埋め込む方法を紹介します。
Windows の場合は簡単で、角藤さんの W32TeX を使っている場合は
 platex file
 platex file
 dvipdfmx -f msembed.map -o output.pdf file.dvi
とすれば、この場合は msembed.map という''マップファイル''が読み込まれて、
通常は cid-x.map で
 rml  H Ryumin-Light
 gbm  H GothicBBB-Medium
 rmlv V Ryumin-Light
 gbmv V GothicBBB-Medium
と設定されているところが
 rml  H :0:msmincho
 gbm  H :0:msgothic
 rmlv V :0:msmincho
 gbmv V :0:msgothic
のように変更されるので MS 明朝とか MS ゴシックなんていう TrueType フォントが
埋め込まれるようになります。dvipdfmx であれば OpenType フォントでも OK です。
他にも GRASS 配布の IPA 明朝・ IPA ゴシックを埋め込むには
 rml  H :0:ipam.ttf
 gbm  H :0:ipag.ttf
 rmlv V :0:ipam.ttf 
 gbmv V :0:ipag.ttf
という記述をした ipa.map というファイルを用意して
 dvipdfmx -f ipa.map -o ipa.pdf file.dvi
とすると IPA フォントが埋め込まれた ipa.pdf が作成されます。
写研フォントを埋め込む場合も同様にできますが、大抵の場合は
設定しなくとも埋め込まれるようになります。

捕捉として、このように和文フォントなどの TrueType フォントを埋め込んだ PDF
はそのフォントが PostScript Type42 フォントを互換性を持つようにサブセット化
された格納されているので Xpdf utilities の pdftops を使って
 pdftops ipa.pdf
などとすると 和文の書体も埋め込んだ Postscript ファイル ipa.ps を
作成することが出来ます。これは相互変換が可能で、作成された ipa.ps を
 ps2pdf14 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 さえ分かれば変換せずに取り込む事が可能です.