minoki / cluttex

Process LaTeX documents without cluttering your working directory
GNU General Public License v3.0
45 stars 3 forks source link

[Feature Request] Rerun BibTeX if bbl file has been outdated #3

Open tsuu32 opened 4 years ago

tsuu32 commented 4 years ago

現在の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のことも考えると難しそうです...