回忆录和 biblatex:如何抑制选定章节目录中的参考书目条目?

回忆录和 biblatex:如何抑制选定章节目录中的参考书目条目?

在我的memoir文档中,我有一个序言,它被定义为未编号的章节,其中包含简短的参考书目,但我不希望该参考书目出现在目录中。

使用时biblatex,如何根据章节控制参考书目是否出现在目录中?(在切换到之前biblatex,参考书目的打印和向目录中添加条目是分开的,因此易于选择性控制。)

梅威瑟:

\documentclass{memoir}

\usepackage{filecontents}
\usepackage{biblatex}
\addbibresource{refs.bib}

\begin{filecontents}{refs.bib}
  @book{somebook,
    author={some author},
    title={some title},
    date={2021}
  }
\end{filecontents}

\begin{document}

\tableofcontents*

\chapter{A section}
\begin{refsection}
\textcite{somebook} showed that...
\printbibliography[heading=subbibliography]
\end{refsection}

\chapter{A section}
\begin{refsection}
\textcite{somebook} showed that...
\printbibliography[heading=subbibliography]
\end{refsection}

\end{document}

答案1

对于“三巨头”(标准类、KOMA-Script 类和memoirbiblatex尝试尽可能多地与类交互以格式化参考书目标题。

因为memoir这意味着biblatex响应\nobibintoc\bibintoc。因此伊万 在评论中说\nobibintoc,您只需在目录中指定要隐藏的参考书目即可。如果您在 中执行此操作refsection,您甚至不必\bibintoc事后恢复,因为这些命令的效果是局部的。

\documentclass{memoir}

\usepackage{biblatex}
\addbibresource{biblatex-examples.bib}

\begin{document}

\tableofcontents*

\chapter{A section}
\begin{refsection}
\textcite{sigfridsson} showed that\dots
\nobibintoc
\printbibliography[heading=subbibliography]
\end{refsection}

\chapter{A section}
\begin{refsection}
\textcite{sigfridsson} showed that\dots
\printbibliography[heading=subbibliography]
\end{refsection}

\end{document}

目录仅显示一个参考书目。

如果您的所有或大部分参考书目都是subbibliographys,您可以使用 s 节省一些打字时间\DeclarePrintbibliographyDefaults(该功能于 2019-08-17 在 v3.13 中添加biblatex)。

\documentclass{memoir}

\usepackage{biblatex}

\DeclarePrintbibliographyDefaults{heading=subbibliography}

\addbibresource{biblatex-examples.bib}

\begin{document}

\tableofcontents*

\chapter{A section}
\begin{refsection}
\textcite{sigfridsson} showed that\dots
\nobibintoc
\printbibliography
\end{refsection}

\chapter{A section}
\begin{refsection}
\textcite{sigfridsson} showed that\dots
\printbibliography
\end{refsection}

\end{document}

标准类heading=subbibliography不会转到目录,因此heading=subbibliography如果您不想让参考书目转到目录,而heading=subbibintoc希望将其放在目录中,则可以使用。

\documentclass{article}

\usepackage{biblatex}
\addbibresource{biblatex-examples.bib}

\begin{document}

\tableofcontents*

\chapter{A section}
\begin{refsection}
\textcite{sigfridsson} showed that\dots
\nobibintoc
\printbibliography[heading=subbibliography]
\end{refsection}

\chapter{A section}
\begin{refsection}
\textcite{sigfridsson} showed that\dots
\printbibliography[heading=subbibintoc]
\end{refsection}

\end{document}

总是可以定义一个新的书目标题,以便完全控制发生的事情,例如

\defbibheading{mybib}[\refname]{%
  \section*{#1}}

相关内容