技術備忘録

環境構築によるトラブルの解決方法、知った技術のまとめなどを自分のためにも書き連ねていきます。あわよくば誰かの参考になればと思います。

Texでpdfが使えない...

今回の内容

LaTexを使っているのですが、図はepsでは取り込めるのですがうまくpdfがエラーが起きてしまし取り込めません。環境はMacOSです。 このエラーを直すためにしたことを書きます。

Texでno Boundingboxのエラーが...

MacTexを使って文書をまとめてpdfにしてるけれど、その時に図を貼る必要があるんですけれど、 pdfを使って(file.pdfを貼ろうとしたとき)

\includegraphics[width=10cm]{file.pdf}

のように指定をしても

LaTeX Error: Cannot determine size of graphic in file.xbb (no BoundingBox)

のようなエラーが出てしまい上手くpdfとして文書が生成されません。 file.pdfを何らかの方法でpdfからeps形式に変換し

\includegraphics[width=10cm]{file.eps}

ですると上手く生成されるのですが... ただこのpdfからepsに変換するのがめんどくさくて、webサービスの変換サイトを使うかターミナルでXpdfをインストールする方法2つがあります。 直すにも極力いじるところは最小限で環境をできるだけ元のままでpdfが貼れないかと思いました。 で、上記のエラーを調べて見るとどうもxbbというものがなくてpdfが上手く表示することができないらしいです。 というわけで、

$ extractbb file.pdf

をターミナルで実行し、こうすることでpdfファイルの表示に必要なbbの値を示すfile.xbbが作成されるため pdfをLaTexに取り込むことができました。

xbbの自動作成

ただこれをpdfを使うたびに作成するのはめんどくさい...ので1つ1つのpdfを取り込む際に自動的にxbbファイルを作成する方法があるみたいです。 Macの場合は、/usr/local/texlive/texmf-local/web2c/texmf.cnfに

shell_escape_commands = \
bibtex,bibtex8,bibtexu,pbibtex,upbibtex,biber,\
kpsewhich,\
makeindex,mendex,texindy,\
mpost,pmpost,upmpost,\
repstopdf,epspdf,extractbb,\

を書きます。 以下のサイトを参考にさせてもらいました。 参考:http://www.ic.daito.ac.jp/~mizutani/tex/image.html このときtexmf.cnfがなければ新規で作成しても良いみたいです。私の場合はtexmf.cnfがなかったので新規で作成しました。 これをすることでpdfを表示するたびにxbbを自動作成してくれ無事pdfの貼り付けは成功しました。