工作好きな情報系の雑記

[LaTeX]大量の画像のbbファイルをまとめて生成する

TeXに画像を挿入する時、ebbコマンドで各画像にbbファイルってのを作らないといけない。
(2019/12/12 追記: 今のTeXではわざわざbbファイルを用意する必要がないとのことで、改めて環境を見直そうとしたら、なぜか今度はbbファイル作らなくてもコンパイルが通った。なんでぇ?)

でもこのコマンドって画像ごとに走らせる必要があるから、大量に画像があるといちいち実行するのがめんどくさいのね。

ここは情工らしく、自動化させようではないか!

ということで作ったソースコードがこちら。

最初はebbにファイルのフルパスを渡そうとしてたんだけど、そうするとエラーが出て実行できなかった。

ebb: Not writing to /Users/ユーザー/Documents/png/image.bb (openout_any = p).
ebb:fatal: Unable to open output file: /Users/ユーザー/Documents/png/imgae.bb

Stack ExchangeのTeXフォーラムによると、ebbには画像の相対パスを渡さないといけないらしい。
Texのファイル保護システムの仕様でこうなってるらしい。

mkbb.pyをpngが入っているディレクトリにおいて、ファイル名だけ渡すようにしたら無事bbファイルを生成できるようになった。
ちなみにこのソースコードではpngファイルについてのみbbファイルを生成するようになってるので、jpgとかにも生成させたい時は17行目あたりをいじって対応させてみてほしい。

I am using a Mac, OS X 10.10.1, TeXLive, all packages up-to-date. MacTeX-2014 Distribution. The document is based on the moderncv package and uses multibib. I can run LaTeX on the file, and it
bibtex error: Not writing to book.blg (openout_any = p), MacTeX-2014 - 
モバイルバージョンを終了