![将 \textcite 中的逗号更改为冒号](https://linux22.com/image/376618/%E5%B0%86%20%5Ctextcite%20%E4%B8%AD%E7%9A%84%E9%80%97%E5%8F%B7%E6%9B%B4%E6%94%B9%E4%B8%BA%E5%86%92%E5%8F%B7.png)
这应该很简单,但我找不到答案。我想使用 \textcite 和 authoryear 样式,但将年份后的逗号替换为冒号;也就是说,使用 Nichols (2004: 13) 而不是 Nichols (2004, 13)。这是一个 MWE:
\documentclass[preview]{standalone} %
\usepackage[backend=biber,style=authoryear]{biblatex} %
\usepackage{filecontents} %
\addbibresource{example.bib} %
\DeclareFieldFormat{postnote}{#1}
\DeclareFieldFormat{multipostnote}{#1}
\begin{filecontents}{example.bib}
@Article{nichols04,
author = {Nichols, Shaun},
title = {After Objectivity: An Empirical Study of Moral Judgment},
journal = {Philosophical Psychology},
year = {2004},
volume = {17},
number = {1},
pages = {3--26}
}
\end{filecontents}
\begin{document}
As described in \textcite[13]{nichols04}.
\end{document}
我已经用 删除了 p。\DeclareFieldFormat{postnote}{#1}
我还省略了\printbibliography
,因为我不是有兴趣修改参考书目,但引用。
答案1
手册中有一个错误,这很难找到。描述为在后注后定义标点符号的宏实际上似乎在后注前定义了标点符号。
至少,重新定义它似乎是有效的。
\begin{filecontents}{\jobname.bib}
@Article{nichols04,
author = {Nichols, Shaun},
title = {After Objectivity: An Empirical Study of Moral Judgment},
journal = {Philosophical Psychology},
year = {2004},
volume = {17},
number = {1},
pages = {3--26}
}
\end{filecontents}
\documentclass[border=10pt]{standalone}
\usepackage[backend=biber,style=authoryear]{biblatex}
\addbibresource{\jobname.bib}
\DeclareFieldFormat{postnote}{#1}
\DeclareFieldFormat{multipostnote}{#1}
\renewcommand\postnotedelim{\addcolon\addspace}
\begin{document}
As described in \textcite[13]{nichols04}.
\end{document}