Biblatex - 删除年份和页码之间的逗号

Biblatex - 删除年份和页码之间的逗号

我想删除年份和页数之间的逗号,例如:

(TAPLEY 等 2004:13-19)而不是

(TAPLEY 等,2004,:13-19)

这是我第一次使用 biblatex,代码如下:

\documentclass[10pt,a4paper]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage{csquotes}
\usepackage[citestyle=authoryear, bibstyle = apa, backend=biber, natbib=true, hyperref=true]{biblatex}
\addbibresource{Test.bib}

\renewcommand*{\mkbibnamelast}[1]{\textsc{#1}}
\DefineBibliographyStrings{ngerman}{
andothers = {{et\,al\adddot}}}
\renewcommand*{\nameyeardelim}{\space}
\DefineBibliographyStrings{ngerman}{
and = {{\&}}}
\DefineBibliographyStrings{ngerman}{
pages = {{:}}}

\begin{document}
\parencite[13-19]{Tapley.2004}
\end{document}

Test.bib 条目如下所示:

@article{Tapley.2004,
 author = {Tapley, B. D. and Bettadpur, S. and Watkins, M. and Reigber, C.},
 year = {2004},
 title = {The gravity recovery and climate experiment: Mission overview and early results},
 pages = {1-1000},
 volume = {31},
 number = {9},
 journal = {Geophysical Research Letters},
}

答案1

使用

\documentclass[10pt,a4paper]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage{csquotes}
\usepackage[citestyle=authoryear, bibstyle = apa, backend=biber, natbib=true]{biblatex}
\addbibresource{biblatex-examples.bib}


\DefineBibliographyStrings{ngerman}{
  andothers = {et\,al\adddot},
}
\renewcommand*{\mkbibnamefamily}[1]{\textsc{#1}}
\DeclareDelimFormat{finalnamedelim}{\addspace\&\space}

\DeclareDelimFormat{nameyeardelim}{\space}

\renewcommand*{\postnotedelim}{\addcolon\space}
\DeclareFieldFormat{postnote}{\mknormrange{#1}}

\begin{document}
\parencite[13-19]{sigfridsson}
\end{document}

在此处输入图片描述

引文和后注之间的标点符号由 控制\postnotedelim。您只需将其设置为冒号和空格即可。然后,您需要隐藏页码。最好通过调整字段格式来完成此操作,而不是粗暴地重新定义 bibstring pages

类似的事情也适用于要用 & 符号替换的“and”。重新定义finalnamedelim而不是 的 bibstring and

我也改成\mkbibnamelast\mkbibnamefamily看看Biblatex 3.3 名称格式\DeclareDelimFormat此外,使用 它也是一个好主意nameyeardelim

请注意,该组合citestyle=authoryear, bibstyle = apa不符合 APA 规则。由于biblatex-apa它是专门为实现 APA 的要求而设计的,因此通常不建议在具有不同要求的文档中使用它。biblatex-apa修改起来非常困难。

最后,hyperref=true它本身不启用超链接。您仍然需要加载hyperref。实际上,hyperref=true它比默认的几乎没有优势hyperref=auto。两者之间的唯一区别是,如果未加载,它true会发出警告。hyperref

相关内容