在我的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 类和memoir
)biblatex
尝试尽可能多地与类交互以格式化参考书目标题。
因为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}
如果您的所有或大部分参考书目都是subbibliography
s,您可以使用 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}}