Linux Mint の TeX Live で画像挿入するノウハウ
Linux Mint の TeX Live 2013 で画像を挿入したいのに、 コンパイルエラーが出て困った(そして解決した)という話。
latexファイルの書き方
[改訂第6版]LaTeX2e 美文書作成入門の120ページや151ページによると、 以下のようにして画像を挿入するのが良いらしい。
\documentclass{jsarticle} \usepackage[dvipdfmx]{graphicx} \begin{document} \begin{figure}[htpd] \centering \includegraphics[width=5cm]{gazo.pdf} \caption{画像だよ} \label{fig:gazo} \end{figure} % \begin{figure}[H]にすれば、必ずその位置に画像を挿入 % \includegraphics[]{./figdir/gazo.pdf} も可能 % \includegraphics[]{../figdir/gazo.pdf} も可能 % \includegraphics[]{gazo.png} も可能。jpgも可能 % 今後は eps より pdf が推奨される % ファイル名にアンダースコア_が含まれるとエラーになる \end{document}
しかし上記ファイルのコンパイルを試みると、gazo.xbbが見つかりません 的なエラーメッセージが現れた。
$ platex hoge.latex ... いろいろ表示される ... ! LaTeX Error: File `gazo.xbb' not found. Use -shell-escape option to generate automatically.
なんで画像入れるだけで怒られなあかんのや。
解決法: texmf.cnf を編集する
TeX Live 2013 のインストール時に作成される
usr/share/texlive/texmf/web2c/texmf.cnf
というファイルを編集し、
shell_escape_commands =
に extractbb
を追加すれば、
コンパイルが通るようになった。
具体的には、texmf.cnf
の547行目あたりに
%... % shell_escape_commands = \ bibtex,bibtex8,\ kpsewhich,\ makeindex,\ mpost,\ repstopdf,\ % we'd like to allow: %...
という箇所を見つけたので、
以下のように extractbb
を追加したらうまくいった。
%... % shell_escape_commands = \ bibtex,bibtex8,\ kpsewhich,\ makeindex,\ mpost,\ repstopdf,\ extractbb,\ % we'd like to allow: %...
[追記 2014/01/10]
Windowsのw32tex環境でも同様のコンパイルエラーが発生したので、 以下のように設定して問題を解決した。
....\w32tex\share\texmf-dist\web2c\texmf.cnf
の485行目あたりの
% for being called from TeX. % shell_escape_commands = \ bibtex,pbibtex,jbibtex,repstopdf,epspdf,extractbb,\ makeindex,mendex,mpost,pmpost,upmpost,kpsewhich % we'd like to allow:
を
% for being called from TeX. % shell_escape_commands = \ bibtex,pbibtex,jbibtex,repstopdf,epspdf,extractbb,\ makeindex,mendex,mpost,pmpost,upmpost,kpsewhich,\ extractbb % we'd like to allow:
に変更すれば、コンパイルエラーが消えた。