biblatex-chicago 中的系列号前有虚假逗号

biblatex-chicago 中的系列号前有虚假逗号

当使用 格式化包含seriesand的引文number(即,属于编号书籍系列的书籍)时,我发现在系列标题之后以及后者是列表或范围时biblatex-chicago的内容之前会添加一个额外的逗号。number

number当字段包含简单整数时,不会出现这样的问题。

梅威瑟:

\documentclass{article}

\usepackage[notes]{biblatex-chicago}
\usepackage{biblatex-source-division}

\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{Graf:GCAL,
    Address = {Vatican City},
    Author = {Graf, Georg},
    Number = {118, 133, 146, 147, 172},
    Publisher = {Biblioteca Apostolica Vaticana},
    Series = {Studi e Testi},
    Shorttitle = {GCAL},
    Title = {Geschichte der christlichen arabischen Literatur},
    Volumes = {5},
    Year = {1944--1953}
}
\end{filecontents*}
\addbibresource{\jobname.bib}

\begin{document}
\cite{Graf:GCAL}
\printbibliography
\end{document}

\cite命令产生

乔治·格拉夫,基督教阿拉伯文学史,5 卷,Studi e Testi,118,133,146,147,172(梵蒂冈:梵蒂冈宗座图书馆,1944–1953 年)

正确的输出是:

乔治·格拉夫,基督教阿拉伯文学史,5 卷,Studi e Testi 118,133,146,147,172(梵蒂冈:梵蒂冈宗座图书馆,1944–1953 年)

唯一的区别是“Studi e Testi”后面的逗号。

number当字段包含范围(例如)时也会发生同样的情况3--5,但对于带有点(例如20.1)或罗马数字(例如II.1)的条目则不会发生这种情况。

有没有简单的方法可以解决这个问题?

答案1

这是因为字段格式有\ifnumeral测试sernum。如果字段中有逗号,则为 false number

我们可以将测试改为\ifnumerals适合您情况的测试。

此外,year={1944--1953}您还应该使用date={1944/1953}

以下是 MWE:

\documentclass{article}

\usepackage[notes]{biblatex-chicago}
\usepackage{biblatex-source-division}

\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{Graf:GCAL,
    Address = {Vatican City},
    Author = {Graf, Georg},
    Number = {118, 133, 146, 147, 172},
    Publisher = {Biblioteca Apostolica Vaticana},
    Series = {Studi e Testi},
    Shorttitle = {GCAL},
    Title = {Geschichte der christlichen arabischen Literatur},
    Volumes = {5},
    date = {1944/1953}
}
\end{filecontents*}
\addbibresource{\jobname.bib}

\DeclareFieldFormat{sernum}{%
  \ifnumerals{#1}% change from \ifnumeral to \ifnumerals
  {\addnbspace #1}%
  {\addcomma\addspace #1}}

\begin{document}
\cite{Graf:GCAL}
\printbibliography
\end{document}

在此处输入图片描述

相关内容