![Biblatex:当有两位作者时,如何在 \textcite 中使用 & 符号](https://linux22.com/image/469791/Biblatex%EF%BC%9A%E5%BD%93%E6%9C%89%E4%B8%A4%E4%BD%8D%E4%BD%9C%E8%80%85%E6%97%B6%EF%BC%8C%E5%A6%82%E4%BD%95%E5%9C%A8%20%5Ctextcite%20%E4%B8%AD%E4%BD%BF%E7%94%A8%20%26%20%E7%AC%A6%E5%8F%B7.png)
我的 MWE:
\documentclass[a4paper, 12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{ellipsis}
\usepackage[ngerman]{babel}
\usepackage{csquotes}
\usepackage[style=apa, backend=biber, sortlocale=de]{biblatex}
\DeclareLanguageMapping{german}{german-apa}
\addbibresource{Literatur.bib}
\usepackage{filecontents}
\begin{filecontents}{literatur.bib}
@article{MartinsonBerridge2015,
title = {Successful {{Aging}} and {{Its Discontents}}: {{A Systematic Review}} of the {{Social Gerontology Literature}}},
shorttitle = {Successful {{Aging}} and {{Its Discontents}}},
author = {Martinson, Marty and Berridge, Clara},
date = {2015-02}
}
\end{filecontents}
\begin{document}
„hello“ \parencite[p. 12]{MartinsonBerridge2015}
\textcite{MartinsonBerridge2015} say,
\printbibliography
\end{document}
它吐出
“你好”(Martinson & Berridge,2015,第 12 页)
Martinson und Berridge (2015) 表示,
但我希望它吐出:
“你好”(Martinson & Berridge,2015,第 12 页)
Martinson & Berridge (2015) 表示,
所以我怎样才能\textcite
将“&”改为“代替” und
(and
德语)。
我首先对此感到困惑,因为在两种情况下都需要使用 & 符号来符合 APA 指南,我不知道为什么它甚至会在那里显示出不一致。
答案1
正如 Alan 在评论中所说,这是正确的 APA 风格(例如https://apastyle.apa.org/style-grammar-guidelines/citations/basic-principles/author-date)。如果您想更改 的输出\textcite
,可以尝试以下方法
\documentclass[a4paper, 12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{csquotes}
\usepackage[style=apa, backend=biber]{biblatex}
\DeclareDelimAlias[textcite]{finalnamedelim}[parencite]{finalnamedelim}
\begin{filecontents}{\jobname.bib}
@article{MartinsonBerridge2015,
title = {Successful Aging and Its Discontents},
subtitle = {A Systematic Review of the Social Gerontology Literature},
author = {Martinson, Marty and Berridge, Clara},
date = {2015-02},
journal = {Gerontologist},
volume = {55},
pages = {58-69},
doi = {10.1093/geront/gnu037},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\enquote{hello} \parencite[12]{MartinsonBerridge2015}
\textcite{MartinsonBerridge2015} say
\printbibliography
\end{document}
这是更改 的最短方法\textcite
。一个概念上稍微更令人满意但更长的解决方案是将所有 cite 命令的输出更改为使用 & 符号,如下所示
\DeclareDelimFormat*{finalnamedelim}
{\ifnum\value{liststop}>2 \finalandcomma\fi\addspace\&\space}
\DeclareDelimFormat[bib,biblist]{finalnamedelim}{%
\ifthenelse{\value{listcount}>\maxprtauth}
{}
{\ifthenelse{\value{liststop}>2}
{\finalandcomma\addspace\&\space}
{\addspace\&\space}}}
反而。