使用 APA7 包时重命名参考书目

使用 APA7 包时重命名参考书目

最小示例:

\documentclass[stu]{apa7}

\usepackage[
backend=biber,
style=apa,
sortcites=true,
sorting=nyt,
]{biblatex}
\shorttitle{Hello}

\addbibresource{annot.bib}

\begin{document}
\nocite{*}
\printbibliography[title={New Reference Title}]{}

\end{document}

“参考文献”的标题没有更改为新标题。我怀疑是apa7包的问题。将文档类更改为时article,标题会发生变化。

问题:如何更改书目标题?

我尝试过:设置\printbibliography[heading=none]然后手动添加\section{new title}。但我想知道重命名它的正确方法。

答案1

更新

下列的https://github.com/dan-weiss/apa7-latex-cls-source/issues/20,2.08 版及以上版本apa7.cls不再硬编码参考书目标题,并可以使用title参数\printbibliography


旧答案

apa7.cls将参考书目标题硬编码如下

\AtEndPreamble{%
  \@ifpackageloaded{biblatex}{%  the user has loaded biblatex
    \@ifundefined{def@man}{%
      \defbibheading{bibliography}{\section*{\normalfont\textbf\refname}}%
    }{%
      \defbibheading{bibliography}{\clearpage\section*{\normalfont\textbf\refname}}%
    }
  }{}
}

而类似

\AtEndPreamble{%
  \@ifpackageloaded{biblatex}{%  the user has loaded biblatex
    \@ifundefined{def@man}{%
      \defbibheading{bibliography}[\refname]{\section*{\normalfont\textbf{#1}}}%
    }{%
      \defbibheading{bibliography}[\refname]{\clearpage\section*{\normalfont\textbf{#1}}}%
    }
  }{}
}

可能会稍微灵活一些,因为它允许选项title正常\printbibliography工作。

您可以按如下方式反对所作的定义apa7.cls(我们需要在“更改生效\AtBeginDocument”后使用我们的定义apa7.cls),但您可能希望通知作者apa7.cls。也许他们想更改一些东西,以便该title选项再次可用。

\documentclass[stu, american]{apa7}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[
  backend=biber,
  style=apa,
]{biblatex}
\shorttitle{Hello}

\AtBeginDocument{%
  \defbibheading{bibliography}[\refname]{\clearpage\section*{\normalfont\textbf{#1}}}%
}

\addbibresource{biblatex-examples.bib}

\begin{document}
\nocite{*}
lorem
\printbibliography[title={New Reference Title}]
\end{document}

新参考标题

答案2

apa7.cls 版本 2.08 中添加了更改参考文献部分标题的功能

\printbibliography[title={New Reference Title}]{}

现在可以在 apa7 文档中工作,无需修改。

相关内容