在 biblatex' \cites 中用分号代替逗号分隔

在 biblatex' \cites 中用分号代替逗号分隔

我使用biblatex+biber来表示我的论文参考书目。我使用numeric-comp引用样式。总体来说,这很完美。

我通常使用\cite来引用参考文献;但有时也使用\cites,即当我想以特定(非数字)顺序引用参考文献时,或者当我想使用后记(即 之间)为部分(但不是全部)引用的参考文献指定页码时[]

我的问题是关于后一种用法\cites,例如:

\cites[pp.173--199]{SomeBook}{SomePaper}

得出的结果为(10=SomeBook; 20=SomePaper):

[10,第 173-199、20 页]

我觉得这里的逗号有点令人困惑。因此,我想知道是否有可能以某种方式告诉biblatex使用另一个分隔符,比如分号。这样我就可以得到:

[10,第 173-199 页;20]

然而,我确实不是想要在任何地方用分号代替逗号,但仅限于此特定情况。因此,所有使用\cite以及\cites没有后注的使用 时,仍应使用逗号。

如果有必要,我同意针对具体情况采用基于单独命令的解决方案。例如,使用内部\semicites配置不同的命令。\cites

编辑2 我改变了主意,并根据 Marco 的回答找到了解决方案。

答案1

首先我想推荐一下比布拉特克斯

除了文档之外,该文件biblatex.def对每个用户都非常有用。在那里你可以找到用户定义命令的每个默认定义。

您正在寻找命令\multicitedelim。版本 1.7 中的默认设置是分号:

\newcommand*{\multicitedelim}{\addsemicolon\space}

该样式numeric重新定义了文件中的多重引用numeric.cbx

\renewcommand*{\multicitedelim}{\addcomma\space}

要设置默认设置,只需使用:

\renewcommand*{\multicitedelim}{\addsemicolon\space}

答案2

对于我的论文(phys风格),我现在按照你最初的要求去做了。我定义了一个新的 multicite 命令\semicites

\DeclareMultiCiteCommand{\semicites}[\mkbibbrackets]{\cite}{\addsemicolon\space}

这给了我一个类似的输出,[280–282; 6, S. 88]同时保持所有其他多点完整,例如[12, 15, 20]

由于前一种情况出现的次数很少(目前只有一次:)),我决定保留这种不一致,但在几乎所有引用中保留逗号,因为这对我来说看起来更好(也许我只是习惯了)。

相关内容