私は彼の博士論文のある同僚を支援しており、各章の終わりに参考文献を提示する必要があります。
問題はlatex + bibtexを使用したこのケースの最小限の実用例はありますか?
現在使用しているドキュメント構造は次のとおりです。
main.tex
chap1.tex
chap2.tex
...
chapn.tex
biblio.bib
ここで、main.tex
には、パッケージ、ドキュメント宣言、マクロ、および各章の\include
sが含まれています。 biblio.bib
はonly bibtexファイルです(すべての引用を1か所に置く方が簡単だと思います)。
私たちは、さまざまなラテックスパッケージを検索して試し、それらのドキュメントを読んでフォローしました。具体的には、bibitemsおよびchapterbib。
bibitemsはbu*.aux
ファイルを正常に生成しますが、それらのそれぞれに対してbibtexを実行すると、\bibdata
ファイルに.aux
要素がないため、エラーが発生します。
chapterbibも.aux
ファイルを生成しますが、bibtexは\bibliography{file}
ファイルで複数の.tex
を使用することでエラーで終了します(チャプターごとに1つ)。
一部の同僚は、章ごとに別々のbibtexファイルを使用することを提案しました。これは、将来、同じ章を異なる章で引用するときに、メンテナンスの問題になる可能性があります。
可能であれば、このドキュメント構造を継続していきます。したがって、もし誰かがこの問題に光を当てることができれば、私たちはそれを感謝します。
ありがとう。
更新:MWEが見つかりましたヘルプを提供してくれたHabiに感謝します。これが実際の例です。
上記のドキュメント構造の場合:
% main.tex
\documentclass{report}
\usepackage{url}
\usepackage{natbib}
\usepackage{chapterbib}
\begin{document}
\include{chap1}
\include{chap2}
% other chapters ...
\end{document}
% chap1.tex
\chapter{one chapter}
text~\cite{paper1}
text~\cite{paper2}
% don't forget:
\bibliographystyle{plainnat}
\bibliography{biblio}
% chap2.tex
\chapter{another chapter}
text~\cite{paper2, paper3}
% don't forget, again:
\bibliographystyle{plainnat}
\bibliography{biblio}
% biblio.bib
@Article{paper1,
author = {John Smith},
title = {A title},
journal = {A Journal},
year = {2010}
}
@Article{paper2,
author = {John Doe},
title = {A paper},
journal = {Another journal},
year = {2009}
}
@Article{paper3,
author = {Yuppie Networking},
title = {My paper},
journal = {The best journal},
year = {2000}
}
最後に、ドキュメントを生成するには:
#!/bin/bash
latex main.tex
for auxfile in chap*.aux
do
bibtex `basename $auxfile .aux`
done
latex main.tex
latex main.tex
少し前に、chapterbibのメモをすばやく書き留めました。彼らはあなたを助けますか?
それは TeX FAQ item です:
ドキュメントの「章」ごとに個別の参考文献を提供するには、パッケージ
chapterbib
を使用します(これには、他の優れた参考文献が多数付属しています)。このパッケージでは、\included
ファイル(つまり、パッケージの名前にかかわらず、参考文献の入手は、ドキュメントを論理的に構成する章ではなく、ドキュメントのコンポーネントソースファイルに関連しています)。 [...]