tex 中間生成ファイルとコンパイル

latex, texshop使用時の話です.

参考文献とか図表の番号とか反映されんくて,何度もとりあえずタイプセットをクリック!!みたいなこと繰り返してたのでちょっと理解するために調べてみた.やっとなんとなく理解できたのでまとめとく.

ファイルの種類

とりあえずやたら生成される様々な種類のファイルの意味.内容で大別する.

拡張子 意味
.tex 編集するメインファイル
.bib 編集する参考文献ファイル
  • とりま実際に編集するのはこの二つ.
拡張子 意味
.pdf 完成されるpdfファイル
.dvi pdfに変換する一歩手前のバイナリファイル
  • 最終的に完成させるファイル
  • pdfを作成するんだけどtex的にはdviが完成物みたいなもの,これを作成していく.
拡張子 意味
.aux 図表や式などの番号付けに使用する補助ファイル
.bbl texファイルで参照された参考文献が書かれるファイル
  • 理解に重要な中間生成ファイル
  • auxってのがない状態でコンパイルされるとdviの図表とかの番号が[?]になっちゃうってことですね
拡張子 意味
.log ログファイル
.blg 参考文献系のログファイル
  • ログ系.コンパイルにおいて特に重要ではない.無くても出来る.

コンパイルの流れ

ファイルの意味調べたらなんとなく理解.

実際に,pdfの番号部分に[?]とか出ちゃったり繰り返しタイプセットしなきゃいけない意味について.

タイプセット(texshop)の流れ,挙動が次のよう.

1.LaTeXタイプセット

auxがない状態でのコンパイルなのでpdf(dvi)には番号付けがされない.\cite{}とか図表や式のrefを読み取ってauxに番号付けの情報と,参考文献のリストが作成される.(参考文献の番号付けの情報はまだ入ってない)

(2).LaTeXタイプセット(bibがないなら)

番号付けのためのauxファイルがある状態でコンパイル.番号付けされた状態でpdf(dvi)が作成.(完成)

2.BibTexタイプセット

auxファイルを元にbibファイル (データベースみたいな使われ方) から,参照された参考文献が書かれたbblファイルができる.

3.LaTeXタイプセット

bblファイルを元にauxファイルが更新され,番号付けの情報が入る.

4.LaTeXタイプセット

auxが完全になってるので,pdf(dvi)が番号付けされた状態で作成.(完成)

まとめ

とりまauxで番号付けしてるので,(1)aux作るためと(2)auxからpdf(dvi)作るため,で2回タイプセットしなきゃなのは当然だった.

あとはbibファイル使うならauxからbbl,bblからauxを作成するって流れ.

何回も適当にタイプセットしてたら解決する意味を理解.

texshopは自動でpdfまで作成されるからいらんけど,dviをpdfに変換するコマンド (hogehoge.dvi -> hogehoge.pdf)

dvipdfmx hogehoge

あと.synctex.zg的なもの.TeX ソースを開いたエディタと PDF ビューワとの間での相互ジャンプを実現する仕組みとのこと.