Biblatex 书目部分更改标题中的章节名称

Biblatex 书目部分更改标题中的章节名称

我正在整理我的论文,使用 Koma 脚本书类和 biblatex 为每一章创建单独的参考列表。我使用 选项将章节名称放在每个左页的页眉中chapterprefix=onscrbook我还使用[header=subbibintoc]命令的选项\printbibliography将参考书目作为目录中未编号的部分。但是,从参考部分到每章的结尾,标题中的章节名称都更改为“参考书目”。如何让页眉在每章的参考书目部分中打印章节名称?

使用[header=subbibliography]几乎可以得到我想要的,只是参考书目没有出现在目录中。使用[header=subbibnumbered]也几乎可以得到我想要的,只是参考书目有编号。

我在下面提供了一个最小的工作示例来说明我的问题。请注意,在编译后的文档的第二页上,标题正确打印了章节名称,而在第 4 页上,它错误地打印了“参考书目”。

\documentclass[chapterprefix=on]{scrbook}

\usepackage[
    backend=biber,
    style=authoryear-comp,
    refsection=chapter,
]{biblatex}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
    @misc{A01,
        author = {Author, A.},
        year = {2001},
        title = {Alpha},
    }
\end{filecontents}
\addbibresource{\jobname.bib}

\usepackage{appendix}

\usepackage{lipsum}

\begin{document}

    \tableofcontents

\mainmatter

\chapter{Test}

\lipsum \lipsum \lipsum \autocite{A01}.

\printbibliography[heading=subbibintoc]

\begin{subappendices}

\section{An appendix}

\lipsum

\end{subappendices}

\end{document}

答案1

原始答案:虽然该refsection=chapter选项将确保“所有引用的作品都被分配了本地环境的标签”biblatex手册,第 3.6.4 节),它不会修改用 创建的参考书目的分段级别\printbibliography。MWE 中的“参考部分”实际上是一个未编号的章节(该类的默认设置scrbook),从强制分页符中应该可以明显看出。对于未编号的部分,您必须发出\printbibliography[heading=subbibliography]-- 这将产生正确的布局,包括标题。

更新:(我假设有问题的标题实际上位于 MWE 的第 6 页,而第 4 页没有问题。)您似乎偶然发现了 界面中的一个错误biblatexscrbook使用此类,heading=subbibintoc使用\addsec命令生成一个带有 ToC 条目和(借助\markright)标题的未编号部分。无论出于何种原因,biblatex添加\markboth-- 从定义中删除此命令subbibintoc都会生成正确的标题。

\documentclass[chapterprefix=on]{scrbook}

\usepackage[
    backend=biber,
    style=authoryear-comp,
    refsection=chapter,
]{biblatex}

\defbibheading{subbibintoc}[\refname]{%
  \addsec{#1}%
%   \markboth{#1}{#1}}% DELETED
  }% NEW

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
    @misc{A01,
        author = {Author, A.},
        year = {2001},
        title = {Alpha},
    }
\end{filecontents}

\addbibresource{\jobname.bib}

\usepackage{appendix}

\usepackage{lipsum}

\begin{document}

\tableofcontents

\mainmatter

\chapter{Test}

\lipsum \lipsum \lipsum \autocite{A01}.

\printbibliography[heading=subbibintoc]

\begin{subappendices}

\section{An appendix}

\lipsum

\end{subappendices}

\end{document}

相关内容