考虑这个例子,取自并修改自先前的问题:
\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{memoir}
\usepackage[style=alphabetic,refsection=chapter]{biblatex}
\addbibresource{references.bib}
\begin{document}
\tableofcontents
% \begin{refsection}
\chapter{First chapter}
\section{Foo}
Some text \cite{childs_temperature}.
\printbibliography[heading=subbibliography]
% \end{refsection}
% \begin{refsection}
\chapter{Second chapter}
\section{Bar}
Some text \cite{hashemian}.
\printbibliography[heading=subbibliography]
% \end{refsection}
\end{document}
根据 biblatex 的文档,printbibliography
由于使用了该选项,该命令会生成一个包含每个章节参考资料的部分,refsection=chapter
但它不应包含在目录中,因为标题subbibliography
不会将其添加到目录中(参见以下 biblatex.def 摘录):
\defbibheading{subbibliography}[\refname]{%
\subsection*{#1}}
\defbibheading{subbibintoc}[\refname]{%
\subsection*{#1}%
\addcontentsline{toc}{subsection}{#1}}
然而,在这个例子中,它包含在目录中。
此外,如果refsection=chapter
不使用并且\begin{refsection} \end{refsection}
取消注释部分,则参考部分将不包含在目录中,正如文档所宣传的那样。
另一个有趣的线索,也许是关键线索对于这个谜团,是当我使用书籍文档类而不是回忆录时,参考文献和目录按预期工作。
有人能解释一下这种现象吗?我确信我误解了,或者在浩如烟海的 biblatex 和 memoir 文档中没有找到答案。
答案1
继续往下看biblatex.def
你会发现
\or % memoir (book)
% ....
\defbibheading{subbibliography}[\refname]{%
\section*{#1}%
\ifmemoirbibintoc
{\phantomsection
\addcontentsline{toc}{section}{#1}}
{}%
\if@twoside\markright{\memUChead{#1}}\fi}
因此,如果\memoirbibintoc
为真,它将向目录中添加一个参考标题。
并且该变量与中\nobibintoc
提到的直接相关jon
blx-compat.def