使用 biblatex+memoir+refsection:为什么参考文献包含在目录中?

使用 biblatex+memoir+refsection:为什么参考文献包含在目录中?

考虑这个例子,取自并修改自先前的问题

\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提到的直接相关jonblx-compat.def

相关内容