*PDF 形式についての 1 つの便利なノウハウ --TSNETの過去ログより RIGHT:By 閑舎 **概要 通常 PDF 形式は Adobe の Acrobat という製品を購入したときについてくる Distiller というドライバを使い、 各種アプリケーションの出力を PDF 形式にすることによって生成するケースがほとんどだと思います。 TeX というテキストファイルの形式はホームページと同様のマークアップを行うことによって数式を含めたさまざまな内容を扱えます。 そして Dviware と呼ばれるソフトを経由してプレビュー、印刷が可能です。 そこで、印刷屋さんは、数式あるいは漢文の訓点、文字鏡などの多国語/多書体フォントを効率よく扱うために、 TeX で組版して印刷し、Distiller を介して PDF 形式にすることにより一部ネット上で公表、という方向が従来からありました。 最近まで、Distiller を持っていない人は Ghostscript というフリーウェアを入手し、 dvipsk というツールを使って PDF 形式にする、という方法を取っていました(私も)。 しかし、この方法には難点があり、まず表示が Type 3 形式の埋め込みフォントを使うためにあまり綺麗ではない、 しおりやハイパージャンプなどの拡張機能を使うのが面倒である、A4 の普通の用紙サイズから別の形式に変更するのが厄介だ……という感じでした。 ところが今年、こういった状況が一変しました。今まで日本語が通らなかった dvipdfm というツールの日本語版が出て、 しかも下馬評に反して極めて質のよい出力が可能だったのです。 これによって、上記の 3 点は皆解決しました。出力は Distiller を使ったと同様で、Type 1 フォントを使っており、 フォントの埋め込みはビットマップではなく、アウトラインフォントを使っています。 作成者が配布可能な TrueType Font を持っていれば、それをそのままサブセットとして PDF 文書の中に埋め込めるため、 プレビュー、印刷とも極めて綺麗です。 この dvipdfm による PDF ファイルの作成について、主に Windows 環境において述べます (UNIX でも原理的には同じ)。 関心がある人は、ぜひトライし、美しい PDF 文書を作って、Web に置いてください。 **準備(TeX) PDF 文書を綺麗につくるためには TeX が必要です。 TeX はソフトウェアやデータが複雑に組み合わさって動作します。 面倒ですが、まずそのための環境設定に取りかかりましょう。 TeX 関係の書籍なども参考になります(pLaTeX2e を対象にしたものがよい)。 -すでに c:\usr\local 以下に TeX の環境がある方は、これを c:\usr\localbak などという名前に変えておいてください。 -c:\usr\local というフォルダを作ります。 -http://www.fsci.fuk.kindai.ac.jp/~kakuto/win32-ptex/web2c73.html (WEB2C73 と略記) -http://www.fsci.fuk.kindai.ac.jp/~kakuto/win32-ptex/web2c73.html (WEB2C73 と略記。バージョンは変わる) から、 unzip.exe を手に入れ、 c:\usr\local に置きます。 -c:\temp というフォルダを作ります。WEB2C73 から texinst733.zip を手に入れ、c:\temp に保存します。 -MS-DOS プロンプト(コマンドプロンプト)から、次のコマンドを実行します。 C: CD \usr\local unzip c:/temp/texinst733.zip これでインストールの準備が完了です。 -WEB2C73 の「最小インストール」「標準インストール」の全パッケージ、 「フルインストール」の dvipdfm-w32.tar.gz, ttf2pk-w32.tar.gz を c:\temp にダウンロードします。 -MS-DOS プロンプト(コマンドプロンプト)から、次のコマンドを実行します。 C: CD \usr\local texinst733 c:\temp お気づきでしょうが、最初の C: は C ドライブのことなので、不要かもしれません。 -最後に定義すべき環境変数が表示されますから、 Windows 95/98 の場合には C:\AUTOEXEC.BAT をメモ帳などで編集し、 PATH=c:\usr\local\bin;%PATH% を書き加え、再起動します。 Windows 2000/XP の場合にはコントロールパネルのシステムで同様に定義して下さい。 -MS-DOS プロンプト(コマンドプロンプト)から、次のコマンドを実行します。 C: mktexlsr これにより、インストールした TeX 関係のパッケージの設定が有効になります。 mktexlsr は TeX の設定を変えたり、何かインストールしたりした後必ず実行します。 -メモ帳で次のような内容のファイルを作成します。 \documentclass[a4j]{jarticle} \begin{document} Hello. \end{document} 保存は c:\tex のフォルダに test.tex というファイル名で行ったとします。 -続いて MS-DOS プロンプト(コマンドプロンプト)から、次のコマンドを実行します。 C: CD \tex platex test 最初 2 行で C ドライブの tex というフォルダに移動しています。 元からこのフォルダで作業している場合、この 2 行は不要です。 さて、このとき、次のような表示が出てくれば、TeX は完全に動作しています。 This is pTeX, Version p3.0.1, based on TeX, Version 3.14159 (SJIS) (Web2C 7.3.3) (./test.tex pLaTeX2e <2001/09/04>+0 (based on LaTeX2e <2001/06/01> patch level 0) (c:/usr/local/share/texmf/ptex/platex/base/jarticle.cls Document Class: jarticle 2001/10/04 v1.3 Standard pLaTeX class (c:/usr/local/share/texmf/ptex/platex/base/jsize10.clo)) No file test.aux. [1] (./test.aux) ) Output written on test.dvi (1 page, 220 bytes). Transcript written on test.log. かなり長い作業ですが、これで TeX を使うための準備終了です。お疲れさまでした。 これで全工程の 70-80 % は終わっています。 **付録(画像の必要な場合) 文書に画像を組み込もうという方は、GhostScript が必要です(文字だけなら不要)。 http://www.cs.wisc.edu/~ghost/doc/AFPL/get704.htm から gs704w32.exe, gsv42w32.exe を手に入れてください。 また WEB2C73 にある gs704-j-wapi.zip も必要です。 -gs704w32.exe を実行し、質問に答えてインストールします。 -その後、Ghostscript をインストールしたディレクトリ(C:\gs など) をカレントディレクトリとして gs704-j-wapi.zip を展開します。 unzip -o gs704-j-wapi.zip -環境変数 PATH, TMP, TEMP をセットします。 set PATH=C:\gs\gs7.04\bin;C:\gs\gs7.04\lib;C:\gs\gsview;%PATH% set TMP=c:/temp set TEMP=c:/temp -C:\gs でないディレクトリにインストールした場合には set GS_LIB=d:\gs\gs7.04\lib;d:\gs\gs7.04\kanji;d:\gs\fonts のように環境変数を定義します。 -gsv42w32.exe を入れると、ps ファイルを画面でプレビューできるようになります。 c:\gs, gsview と指定してインストールします。 -gsview を起動し、help を確認して registration の意味を理解したら [OK] を押します。 [Options]-[Easy Configure] で 7.04 を選択します。 ここで [File]-[Open] で C:\gs\gs7.04\examples\tiger.ps を開くと虎の絵が出るはずです。 C:\gs\gs7.04\kanji\article9.ps も表示されれば日本語の縦書きも Ok となります。 インストールに当たっては [[奥村先生のページ>http://www.matsusaka-u.ac.jp/~okumura/texfaq/install-win32.html]] の記述が参考になるでしょう。 **Linux 環境について(付録) たむらさんから情報がありました。以下の URL が参考になると思います。 [[Install GNU GhostScript 6.53 and dvipdfm(Vine)>http://isweb22.infoseek.co.jp/computer/pop-club/tex/gs_dvipdfm.html]] &br; [[Install GNU GhostScript 6.53 and dvipdfm(Vine)>http://isweb22.infoseek.co.jp/computer/pop-club/tex/gs_dvipdfm.html]], [[RPM バイナリ>http://www.nn.iij4u.or.jp/~tutimura/tex/dvipdfm.html]] ただ PC UNIX に元からインストールされている TeX のパッケージに dvipdfm を追加する、というインストールのしかたでは通常動作しません。 まず TrueType フォーマットに対応した kpathsea バージョン 3.2 以上が必要で、 フォントの問題、マップの問題、Ghostscript のバージョンの問題なども、 少しずつ解決していく必要があると思います。 これらについては、今、私のところに、簡単に追試できる環境がまだないので、 すみませんが、各自試みてください。 **簡単な TeX 文書の PDF 形式への変換 コマンドラインで kpsewhich -show-path="truetype fonts" とやって示されるパスに TrueType フォントが必要です。 通常、Windows の fonts フォルダなどが入っているはずです。 もしここに TrueType フォントがなければ、 c:\usr\local\share\texmf\web2c\texmf.cnf で環境変数 TTFONTS に TrueType フォントがあるディレクトリへのパスを追加します。 TTFONTS = .;$TEXMF/fonts/truetype//;$SYSTTFONTS;d:/myfonts// ^^^^^^^^^^^^^ では、ここで簡単な文書を作ってみましょう。 -以下の \documentclass から \end{document} までを 1.tex として保存してください。 \documentclass[a4j]{jarticle} \begin{document} TSNETはテキストの殿堂です。 dvipdfm\cite{dvipdfm} を使えば PDF 文書独特のしおりやハイパージャンプ機能などを使った文書を作成できます。 さらに、 フォントのサブセットをベクトルフォントのまま埋め込むことができ、 PS Type1 フォント、CID フォント(Type1 のマルチバイト版。CMap が必要)を使えるので、 見た目、印刷結果ともにとても綺麗です。 \end{document} -TeX でタイプセットし、dvi ファイルを作ります。 platex 1.tex -dvipdfme で PDF 文書に変換します。 dvipdfme 1 ここで 1.pdf を Acrobat Reader 5.0 以上で表示してみてください。 よくマニュアルなどでお目にかかる、綺麗な文書が現れることと思います。 従来の dvipsk、GhostScript を併用して作成していたものを 1old.pdf として置きます(Type 3 フォントなので綺麗ではありません)。 さて、1.pdf ですが、[ファイル]-[文書のプロパティ]-[フォント]としてみると、 MS Mincho が「埋め込みサブセット」となっていることに気づきます。 つまり、埋め込まなくてもよいものが埋め込まれているのです。 ここで c:\usr\local\share\texmf\dvipdfm\cid-e.map を編集します。 %rml H Ryumin-Light %gbm H GothicBBB-Medium の各行の前にある % を取って上書き保存してください。ここで再び dvipdfme 1 としてみると、生成された 1.pdf では MS Mincho が埋め込まれていないため、 サイズが小さくなっています(この方法が最良の選択です)。 これでひと段落、TeX の使い方をおいおい覚えていけば、一応使えるでしょう。 |従来の dvipsk, GhostScript を使って作ったもの|#ref(1old.pdf)| |dvipdfme を使って作ったもの(MS 埋め込み)|#ref(1.pdf)| |dvipdfme を使って作ったもの(MS 埋め込みなし)|#ref(1new.pdf)| **画像、しおり、参考文献などの入った PDF 文書作成 複雑な文書の作成に挑戦してみましょう。 次の \documentclass から \end{document} までを 2.tex として保存してください。 \documentclass[a4j]{jarticle} \usepackage[dvipdfm]{graphicx} \usepackage[dvipdfm]{color} \usepackage[dvipdfm,bookmarks=true,bookmarksnumbered=true,bookmarkstype=toc]{hyperref} \begin{document} \section{参照篇} \hypertarget{参照篇}{} \hyperlink{後書き}{後書き}にジャンプします。 dvipdfm\cite{dvipdfm} を使えば PDF 文書独特のしおりやハイパージャンプ機能などを使った文書を作成できます。 テキストの殿堂は\href{http://rakunet.org/TSNET/}{TSNET}にあります。 \section{画像篇} \begin{figure}[h] \begin{center} \includegraphics[width=50mm]{tiger.png} \end{center} \caption{GhostScript に棲むトラ} \end{figure} \section{後書き} \hypertarget{後書き}{} \hyperlink{参照篇}{参照篇}に戻ります。 \reflectbox{おまけ}で、 \textcolor{red}{赤い色}とか \colorbox{blue}{\textcolor{white}{青色に白抜き}}とか、書いてみました。 \begin{thebibliography}{99} \bibitem{dvipdfm} dvi ファイルを pdf 形式に変換するコンバータ。 \href{http://www.fsci.fuk.kindai.ac.jp/~kakuto/win32-ptex/web2c73.html} {角藤さんの W32TeX ページ}参照のこと。 \end{thebibliography} \end{document} つづいて、タイプセット、PDF ファイルへのコンバートと続きます。 -jpeg, png 形式の画像を取り込む場合はあらかじめやっておきます (tiger.png は何か適当な画像を用意してやってみてください)。 ebb tiger.png -タイプセット(参照を含む dvi の生成は 2 回タイプセット) platex 2 platex 2 -参考文献としおりの準備(最初が参考文献、後が PDF のしおり) jbibtex test out2uni test -もう一度タイプセット platex 2 -dvipdfme (pdf 生成) dvipdfme 2 できた 2.pdf を見てみましょう。マニュアルを作ったなあ、 という感じになってきましたね。 本当は多書体混在の方法まで書こうと思っていたのですが、 ここからは説明もちょっと面倒になってきて、 そろそろ根がつづかなくなってきたので、 今回は取りあえず、ここで終了させていただきます。 |dvipdfme を使って作ったもの(1 ファイルに凝縮)|#ref(2.pdf)| **テキストから作る綺麗な PDF(補遺) 明朝が多少プレビューでは見にくい感じもするので、多書体の走りとして、 Dynalab の新細丸ゴシックを入れてみました。それから、ヘッダと索引。 仕組みはこのくらいから始めれば、まずまずでしょう。後は中味:-)。 |上記ソースを書き代え、見映えを向上したもの(1 ファイルに凝縮)|#ref(2b.pdf)|