我是 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
) 引用不同章节 (或refsection
s) 中的表格或部分。
为了解决这个问题,我们可以使用refsegment
,然后使用\printbibliography[segment=\therefsegment]
(灵感来自引用文献中的引文)。
编辑:请忽略此评论——我似乎无法在小示例中或我自己的工作文档中复制此问题。
编辑 2:这个问题又出现在我的工作文档中,但这更可能是我的模板错误,而不是一般错误。我又开始使用该ref segment
方法了。
另外,还有另一个原因让我更喜欢这种方法\refsection
,但这可能只对我这样的人有用——我使用我的参考管理器 (Mendeley) 导出的单个.bib
文件进行本地 LaTeX 工作。在我的整体参考书目中,如果我使用\nocite{*}
,则包括我所引用的每一条。如果有更好的方法处理这种情况,请告诉我!我相信这是一个小问题。