在 biblatex 中,cite 和 multicite 命令使用不同的后注分隔符

在 biblatex 中,cite 和 multicite 命令使用不同的后注分隔符

使用 biblatex,可以轻松更改引用样式,例如更改来源和页码之间的分隔符。我使用的引用样式是作者年份类型的变体,要求我以 Author (2000: 123) 或 (Author 2000:123) 的形式引用,因此我更改了

\renewcommand{\postnotedelim}{\addcolon\space}% change the standard ", "
\DeclareFieldFormat{postnote}{#1}% no "p. "

不幸的是,这会与诸如 之类的多引用命令混淆\parencites,因为它还会更改一系列引用项后的分隔符。例如,

\parencite(see)(etc){greenwade93,goossens93}

结果是

(参见 Goossens、Mittelbach 和 Samarin,1993;Greenwade,1993:等)

显然,postnotedelim 既可用于单引号命令,也可用于多引号命令。我希望此处使用“,etc”,而不是“:etc”。

但是,如何根据 postnote 分隔符是在单个还是多个引用命令中使用来更改它的行为?我搜索了 biblatex 手册并找到了该multipostnote字段,但没有办法更改它的分隔符。我想我正在寻找的是multipostnotedelim,但我对 biblatex 的经验不足,无法自己集成它。

\documentclass{article}


\usepackage[style=authoryear-comp,backend=biber,natbib=true]{biblatex}
\renewcommand{\postnotedelim}{\addcolon\space}
\DeclareFieldFormat{postnote}{#1}

\usepackage{filecontents}
\begin{filecontents}{bibliography.bib}
@article{greenwade93,
    author  = "George D. Greenwade",
    title   = "The {C}omprehensive {T}ex {A}rchive {N}etwork ({CTAN})",
    year    = "1993",
    journal = "TUGBoat",
    volume  = "14",
    number  = "3",
    pages   = "342--351"
}

@book{goossens93,
    author    = "Michel Goossens and Frank Mittelbach and Alexander Samarin",
    title     = "The LaTeX Companion",
    year      = "1993",
    publisher = "Addison-Wesley",
    address   = "Reading, Massachusetts"
}

\end{filecontents}
\bibliography{bibliography.bib}
\begin{document}

\citep[342]{greenwade93}

\parencites(see)(etc.){greenwade93,goossens93}

\end{document}

答案1

biblatex3.13multipostnotedelim除了 之外还实现了postnotedelim。请注意,这些命令现在是上下文相关的分隔符,因此应使用 重新定义\DeclareDelimFormat

\documentclass{article}
\usepackage[style=authoryear-comp, backend=biber, natbib=true]{biblatex}

\DeclareDelimFormat{postnotedelim}{\addcolon\space}
\DeclareFieldFormat{postnote}{#1}

\DeclareDelimFormat{multipostnotedelim}{\addcomma\space}

\addbibresource{biblatex-examples.bib}
\begin{document}
\citep[342]{sigfridsson}

\parencites(see)(etc.){sigfridsson,nussbaum}
\end{document}

(Sigfridsson 和 Ryde,1998:342)//(参见 Nussbaum,1978;Sigfridsson 和 Ryde,1998 等)

如果您使用的是过时的版本,请查看编辑历史记录以寻找解决方案biblatex

相关内容