コンパイル以外にも、TeX 環境には日々の作業を助ける小さなツールが同梱されています。パッケージの説明書を開く texdoc、コンパイルの出力を要点だけに絞る texfot、PDF を作ったり縮めたりする Ghostscript、出力を Web 向けの SVG に変える dvisvgm——このページはこの 4 つの早見表です。
4 つの道具を執筆の流れに置く
この章で目指すのは、個々のコマンドを暗記することではなく、文書を書き進めるどの場面で何を見るか を決められるようになることです。新しいパッケージを入れる前に texdoc で説明書を読む。ビルドが騒がしくなったら texfot で警告だけを拾う。提出 PDF が大きすぎるなら Ghostscript で圧縮するが、リンクやフォント埋め込みを確認する。Web に載せる数式や図は dvisvgm で SVG にして、ブラウザで拡大表示を確かめる。この順に使うと、調査・執筆・仕上げ・公開が一本の流れになります。
texdoc — パッケージの説明書を開く
CTAN のパッケージにはたいてい詳しい説明書(PDF)が付属し、それは インストール時に手元にも入っています。texdoc パッケージ名 と打つと、その説明書を探してビューアで開きます——オフラインで、しかも自分のバージョンに合った内容が読めるのが利点です。TeX Live 同梱のツールで(原作者は Manuel Pégourié-Gonnard)、同じデータベースは texdoc.org でも公開されています。
texdoc booktabs # booktabs の説明書を開く / open booktabs’ manual
texdoc -l siunitx # 候補を一覧表示(開かない)/ list matches instead of opening既定では最も良い候補を 1 つ開きます。-l(--list) を付けると、開かずに候補の一覧を出して選べます。-s(--showall) は、評価の低い候補も含めてすべて表示するモードです。章や卒論で新しいパッケージを使うときは、まず texdoc パッケージ名 で「読み込む命令」「代表例」「注意すべきオプション」を確認し、原稿のプリアンブルに必要最小限だけ写す、という順にすると設定が散らかりません。
texfot — 出力を要点だけに
TeX のコンパイルは大量のメッセージを吐き、本当に見るべき警告やエラーが流れて見落としがちです。texfot(Karl Berry 作のパブリックドメインの Perl スクリプト)は、エンジンを実行しつつ出力を 「注目に値する」行だけに絞り込み ます——エラー、警告、過剰/不足ボックス(overfull / underfull)などです。終了コードはそのまま素通しするので、ビルドツールに組み込んでも判定を壊しません。
texfot pdflatex document.tex # 出力を要約しつつコンパイル / compile with a quiet, filtered loglatexmk と併用するなら、設定ファイルでエンジンの呼び出しを texfot でくるみます。
# .latexmkrc
$pdflatex = 'texfot pdflatex %O %S';Ghostscript — PDF を作る・縮める
gs(Ghostscript) は PostScript/PDF のインタプリタで、ps2pdf の中身でもあります。-sDEVICE=pdfwrite を指定すると PDF を出力でき、PS から PDF への変換、複数 PDF の結合、そして 大きすぎる PDF の圧縮(画像の解像度を落とす) に使えます。品質は -dPDFSETTINGS のプリセットで選びます:/screen(画面確認向け)、/ebook(中程度)、/printer(印刷向け)、/prepress(印刷前工程向け)などです。ただしこれらは入力 PDF を作り直して内容を変える可能性があります。提出・入稿用の PDF では、圧縮後に画像の読め方、フォント埋め込み、リンク、ページサイズを必ず確認します。
gs -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -dNOPAUSE -dBATCH \
-sOutputFile=small.pdf big.pdfdvisvgm — DVI を SVG に
dvisvgm(Martin Gieseking 作)は DVI を SVG(ベクタ画像) に変換します。EPS や、--pdf を付ければ PDF も入力にできます。数式や図を 拡大しても劣化しない形で Web に載せたい ときに最適です。フォントは既定では SVG として埋め込まれますが、--font-format=woff2(または woff・ttf)を指定すると Web フォント形式にできます。PDF 入力では処理方式によってフォントがパス化されることがあるため、Web に載せる図は「DVI から変換するか、PDF から変換するか」を決めたあと、ブラウザで実表示を確認します。-p(--page)でページを選べます。
latex equation.tex # → equation.dvi
dvisvgm --font-format=woff2 equation.dvi # → equation.svg
dvisvgm --pdf figure.pdf # PDF を入力にする / convert a PDFよくある失敗を切り分ける
texdocで違う説明書が開くときはtexdoc -l パッケージ名で候補を見て、目的の PDF を番号で選びます。texfotで何も見えないのに PDF がおかしいときは、一度 texfot を外して生ログを読み、隠れている情報がないか確認します。Ghostscriptで圧縮後にリンクやしおりが消えたら、その PDF は再生成で非表示情報が落ちた可能性があります。提出前は元 PDF と圧縮 PDF の両方をビューアで比較します。dvisvgm --pdfで文字がパス化されると、SVG 内のテキスト検索やフォント差し替えはできません。Web で編集可能な文字を保ちたい図は DVI からの変換を先に試します。
使いどころ
- パッケージの使い方を調べたい →
texdoc パッケージ名。 - ログのノイズを減らしたい →
texfot(latexmkと併用)。 - PDF が大きすぎる/PS を PDF に →
Ghostscript(-dPDFSETTINGS)。 - 数式・図を Web 用に SVG 化 →
dvisvgm。