9.1.0.1 画像ファイルの BoundingBox 情報の自動取得の設定

ここでは、少し前までの相場を説明する。 (もうすぐ以下に書いてあることを意識する必要はなくなる見込みだが…)

以下、myimage.png を取り込む場合で説明する。 .png のところは .pdf, .jpg などでも同様である。

myimage.png の BoundingBox 情報を得るため、 TEX は外部のプログラムの力を借りて、 BoundingBox 情報を書き込んだ myimage.xbb というファイルを生成し、 TEX はそれを読み込んで必要な空白を作り、 実際の画像の埋め込みはドライバー・プログラムに任せる、 という処理の流れになっている。

実際は extractbb という外部プログラム (実は実体は dvipdfmx) を用いていた。 手動で myimage.xbb を作るには、ターミナルから
extractbb mygraph.png
のように実行する。

これを自動化するために、設定ファイル texmf.cnf の中の shell_escape_commands=extractbb を含めておく。
texmf.cnfshell_escape_commands= の設定例
shell_escape_commands = \
bibtex,bibtex8,bibtexu,pbibtex,upbibtex,biber,\
kpsewhich,\
makeindex,mendex,texindy,\
mpost,pmpost,upmpost,\
repstopdf,epspdf,extractbb,\
\ は行継続を表すので、 最後に少なくとも1つの空行が必要である。

最近の TeXLive 環境では、 texmf.cnf/usr/local/texlive/texmf-local/web2c/ に置くのが良いとされている。 自分で作らない限り存在しないので、初めて作った場合は (上の枠内の 7 行だけの内容の texmf.cnf とすれば良い)
sudo mktexlsr
を実行して、 /usr/local/texlive/texmf-local/web2c/texmf.cnf が加わったことを 教える必要がある。

注意すべき点

桂田 祐史
2017-07-09