biblatex 中的每章参考书目

biblatex 中的每章参考书目

我是 biblatex 的新手,编译放置在多个书目和一个全局书目 - 均带有全局标签,但我得到的是

  1.1 Foo

  Some text [B02x ].

  1.2 Bar

  Some text [B02y ].

不要按章节获取参考书目,或获取全局参考文献。

真的没什么可做的

 \documentclass{report}
 \usepackage[style=alphabetic]{biblatex}
 \addbibresource{references.bib}
 \begin{document}
 \chapter{First chapter}
 \section{Foo}
 Some text \cite{childs_temperature}.
 \printbibliography
 \chapter{Second chapter}
 \section{Bar}
 Some text \cite{hashemian}.
 \printbibliography
 \newpage
 \printbibliography
 \end{document}

以及 references.bib

  @BOOK{childs_temperature,
  title = {Practical Temperature Measurement},
  publisher = {Butterworth - Heinemann},
  year = {2001},
  author = {Childs, Peter R N},
  address = {Great Britain},
  edition = {1},
  isbn = {0 7506 5080 X}
  }

  @PHDTHESIS{hashemian,
  author = {Hashemian, Hashem Mehrdad},
  title = {Measurements of dynamic temperatures and pressures in nuclear power plants},
  school = {{The University of Western Ontario}},
  year = {2011},
  type = {PhD {T}hesis}
  }

我需要按章节和全局引用的参考文献获取参考文献,但我不知道如何编译。

答案1

听起来你想要的refsection环境,详见第 3.11.3 节biblatex

\begin{filecontents*}{references.bib}
@BOOK{childs_temperature,
  title = {Practical Temperature Measurement},
  publisher = {Butterworth - Heinemann},
  year = {2001},
  author = {Childs, Peter R N},
  address = {Great Britain},
  edition = {1},
  isbn = {0 7506 5080 X}
  }

  @PHDTHESIS{hashemian,
  author = {Hashemian, Hashem Mehrdad},
  title = {Measurements of dynamic temperatures and pressures in nuclear power plants},
  school = {{The University of Western Ontario}},
  year = {2011},
  type = {PhD {T}hesis}
  }
\end{filecontents*}

\documentclass{report}
 \usepackage[style=alphabetic]{biblatex}
 \addbibresource{references.bib}

 \begin{document}
 \begin{refsection}
 \chapter{First chapter}
 \section{Foo}
 Some text \cite{childs_temperature}.
 \printbibliography
 \end{refsection}

 \begin{refsection}
 \chapter{Second chapter}
 \section{Bar}
 Some text \cite{hashemian}.
 \printbibliography[heading=subbibliography]
 \end{refsection}

 \nocite{*}
 \printbibliography
 \end{document}

需要澄清的是,编译顺序是

pdflatex myfile.tex
biber myfile.bcf
pdflatex myfile.tex
pdflatex myfile.tex

如果您不愿意,则不必使用文件扩展名:)

如果你更喜欢使用,bibtex那么使用

\usepackage[style=alphabetic,backend=bibtex]{biblatex}

然后运行

pdflatex myfile.tex
bibtex myfile1-blx.aux
bibtex myfile2-blx.aux
bibtex myfile.aux
pdflatex myfile.tex
pdflatex myfile.tex

如果您愿意的话,无需扩展。 动画片

答案2

我不确定这会如何影响雅皮士网络这么说吧,但是为了扩展上面 cmhughes 的回答,refsection可以防止使用\ref(或\cref) 引用不同章节 (或refsections) 中的表格或部分。

为了解决这个问题,我们可以使用refsegment,然后使用\printbibliography[segment=\therefsegment](灵感来自引用文献中的引文)。

编辑:请忽略此评论——我似乎无法在小示例中或我自己的工作文档中复制此问题。

编辑 2:这个问题又出现在我的工作文档中,但这更可能是我的模板错误,而不是一般错误。我又开始使用该ref segment方法了。

另外,还有另一个原因让我更喜欢这种方法\refsection,但这可能只对我这样的人有用——我使用我的参考管理器 (Mendeley) 导出的单个.bib文件进行本地 LaTeX 工作。在我的整体参考书目中,如果我使用\nocite{*},则包括我所引用的每一条。如果有更好的方法处理这种情况,请告诉我!我相信这是一个小问题。

相关内容