Biblatex APA-7 修改

Biblatex APA-7 修改

我的大学要求在最后一位作者的“&”符号前不要有逗号。

以下是完整引文:

Blinowski, G.、Anna, O. 和 Adam, P. (2022)。单片架构与微服务架构:性能和可扩展性评估。IEEE Access,10,20357–20374。https://doi.org/10.1109/ACCESS.2022.3152803

需要删除“Anna, O., (<-- this here)”和“& Adam, P.”之间的逗号。我该如何调整?

我的使用方式biblatex如下:

\usepackage[style=apa, backend=biber]{biblatex}

任何帮助都将受到赞赏。


更新:

我可以去掉这个逗号。但是,我注意到在 Overleaf 中,这只适用于 TexLive 2021 或更低版本。如果我切换到 2022,会biblatex自动在那里添加一个逗号。 \renewcommand*{\finalandcomma}{;}不要替换逗号,而是在逗号后添加一个分号……所以这对我来说非常奇怪。有人知道这个“错误”吗?

\documentclass{article}

\usepackage[backend=biber,hyperref,style=apa,citestyle=apa,cites]{biblatex}
\begin{filecontents}{mybib.bib}
@book{ref,
    author = {Michel Goossens and Frank Mittelbach and Alexander Samarin},
    title = {The LaTeX Companion},
    year = {1993},
    publisher = {Addison-Wesley},
    address = {Reading, Massachusetts}
}
\end{filecontents}
\addbibresource{mybib.bib}


\AtBeginDocument{% this is solving it
    \renewcommand*{\finalandcomma}{}
}

\begin{document}
\begin{itemize}
\item[] A cite: \cite{ref}. 
\item[] A parencite: \parencite{ref}.
\item[] A textcite: \textcite{ref}.
\end{itemize}
\printbibliography
\end{document}

答案1

显然,这个位置上的逗号在逻辑上不是\finalandcomma。请参阅https://github.com/plk/biblatex-apa/issues/48biblatex-apa 缺少逗号(以及那里的链接)。您可以在以下位置找到逗号的当前实现说明https://github.com/plk/biblatex-apa/pull/144(也可以看看https://github.com/plk/biblatex-apa/issues/191)。

为了去掉逗号,我们需要重新定义\apablx@ifrevnameappcomma。(但之后我们仍然需要重置,\finalandcomma所以沒有觸發。)

\documentclass[american]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[backend=biber, style=apa]{biblatex}

\makeatletter
\renewcommand*{\apablx@ifrevnameappcomma}{\@secondoftwo}
\makeatother

\DefineBibliographyExtras{english}{%
  \renewcommand*{\finalandcomma}{}%
}

\addbibresource{biblatex-examples.bib}

\begin{document}
Lorem \autocite{sigfridsson,companion,aksin,geer}

\printbibliography
\end{document}

Goossens、M.、Mittelbach、F. 和 Samarin、A. (1994)。

相关内容