現状
dockerを使って以下のコマンドでTeXをコンパイルした。
TARGET_DIR=$(pwd)/myfiles
docker run -v $TARGET_DIR/:/root/ kakerukitahara/tex ptex2pdf -l targetfile.tex
するとPDF自体は出力されるものの、目次が表示されない
解決方法
docker run を2回やる。それだけ。
2回やらないと行けないのは仕様で、一度ファイル全体を処理して項目の一覧などを生成してから、2回目のコンパイルで目次としてそれを利用しているらしい。
1回目のコンパイルでtargetfile.auxが生成されて、2回目でそれが利用される
TARGET_DIR=$(pwd)/myfiles
docker run -v $TARGET_DIR/:/root/ kakerukitahara/tex ptex2pdf -l targetfile.tex
docker run -v $TARGET_DIR/:/root/ kakerukitahara/tex ptex2pdf -l targetfile.tex
volumeをホストにマウントしているので良いが、マウントせずdocker cp
を使う場合などは以下のほうが良いかも
docker run -v $TARGET_DIR/:/root/ kakerukitahara/tex bash -c 'ptex2pdf -l targetfile.tex && ptex2pdf -l targetfile.tex'