参考文献を部分ごとに分割する

参考文献を部分ごとに分割する

ほぼ関連している

ファイルは1つです.bib。文書は2つの部分から成り、各部分の最後に参考文献を印刷したいのですが、その部分に引用されている項目のみもちろん、両方の部分で同じ項目が引用されている場合は、交差が発生する可能性があります。

好みはありません。bibtexbiblatexまたは何か追加できるものでもかまいません。

ムウェ

\begin{filecontents}{mybib.bib}
@article{faa,
  title={Faa Something important},
  author={Faa Big Guy and Another Big Guy},
  journal={Prestigious Journal},
  volume={47},
  number={7},
  pages={966--978},
  year={2001},
  publisher={Institute}
}
@article{foo,
  title={Foo Something important},
  author={Foo Big Guy and Another Big Guy},
  journal={Prestigious Journal},
  volume={47},
  number={7},
  pages={966--978},
  year={2001},
  publisher={Institute}
}
\end{filecontents}

\documentclass{report}
\usepackage{filecontents}
\begin{document}
\part{Faa}
\cite{faa}

\bibliographystyle{plain}
\bibliography{mybib}

\part{Foo}
\cite{foo}

%% I tried to insert twice, but got an error
%\bibliographystyle{plain}
%\bibliography{mybib}

\end{document}

答え1

biblatex環境を定義しますrefsection。ドキュメントの§ 3.7.4、参考文献セクション、88-89 ページを参照してください。

答え2

バーナード彼はすでにrefsection回答の中で s について言及しています。

biblatexには というオプションがありrefsection、これを使用して特定のセクション コマンドで新しい を自動的に開始できることに注意してくださいrefsection。たとえば、 はごとにrefsection=part新しい を作成します。追加のコードは必要ありません。refsection\part

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=authoryear, backend=biber, refsection=part]{biblatex}

\addbibresource{biblatex-examples.bib}

\begin{document}
\part{One}
\cite{sigfridsson,worman,knuth:ct:b}
\printbibliography

\part{Two}
\cite{sigfridsson,nussbaum,knuth:ct:c}
\printbibliography
\end{document}

参照セクションのあるパーツ

次回refsectionまで続く新しいものを始めることができますrefsection

\newrefsection

s とその終了をより細かく制御したい場合はrefsection、環境フォームを使用できます。

\begin{refsection}

\end{refsection}

refsections はネストできず、特定の s の外側にあるすべてのものはrefsectionセクション 0 で発生することに注意してください。

refsections は、それぞれのコンテンツを完全に分離し、互いに独立させています。つまり、同じエントリが各セクションで異なる引用ラベルを持つ可能性があり、その逆、つまり 2 つの異なるエントリが同じラベルを持つ可能性があります。

それが望ましくない場合 (または、最後に全体的な参考文献を作成する方法を探している場合)、refsegments を検討してください。 s は基本的に、文書の特定のセグメントで引用されているエントリをマークするだけです。 繰り返しになりますが、特定のタイプのセクション コマンドごとに新しい を開始する というrefsegmentオプションがあります。refsegmentrefsegment

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=authoryear, backend=biber, refsegment=part]{biblatex}

\addbibresource{biblatex-examples.bib}

\begin{document}
\part{One}
\cite{sigfridsson,worman,knuth:ct:b}
\printbibliography[segment=\therefsegment]

\part{Two}
\cite{sigfridsson,nussbaum,knuth:ct:c}
\printbibliography[segment=\therefsegment]

\printbibliography[title=Overall \bibname]
\end{document}

refsegments のあるパーツ

と同様にrefsectionrefsegmentsは

\newrefsegment

または環境として使用できる

\begin{refsegment}

\end{refsegment}

関連情報