Open tsuu32 opened 4 years ago
現在のClutTeXの--bibtexオプションでは、BibTeXが再実行されるかはauxファイルが更新されたかどうか(?)で決まっているようです。 そのため、bibファイルのエントリの中身を変えるだけではBibTeXは再実行されず、古いbblが使われてしまいます。 なのでbibファイルのエントリを更新したときもBibTeXを再実行する機能が欲しいです。
--bibtex
BibTeXが再実行されるべきなのは、「LaTeXソースで使われているBibTeXエントリ」の中身が「書き変わった場合」ですが、これは大変なので、使われているbibファイルたちの更新日時とbblファイルの更新日時を比べてbblファイルが古ければBibTeXを再実行する、のが現実的な気がします。 ClutTeXの実装を見てみましたが、extract_bibtex_from_aux_fileでbibdataの中をパースしてbibファイル名を取り出してごにょごにょするのかなと思います。が、BIBINPUTSやbiberのことも考えると難しそうです...
extract_bibtex_from_aux_file
現在のClutTeXの
--bibtex
オプションでは、BibTeXが再実行されるかはauxファイルが更新されたかどうか(?)で決まっているようです。 そのため、bibファイルのエントリの中身を変えるだけではBibTeXは再実行されず、古いbblが使われてしまいます。 なのでbibファイルのエントリを更新したときもBibTeXを再実行する機能が欲しいです。BibTeXが再実行されるべきなのは、「LaTeXソースで使われているBibTeXエントリ」の中身が「書き変わった場合」ですが、これは大変なので、使われているbibファイルたちの更新日時とbblファイルの更新日時を比べてbblファイルが古ければBibTeXを再実行する、のが現実的な気がします。 ClutTeXの実装を見てみましたが、
extract_bibtex_from_aux_file
でbibdataの中をパースしてbibファイル名を取り出してごにょごにょするのかなと思います。が、BIBINPUTSやbiberのことも考えると難しそうです...