Biblatex-chicago 格式:同一作者同一年的“a”和“b”来源后没有句号

Biblatex-chicago 格式:同一作者同一年的“a”和“b”来源后没有句号

感谢社区迄今为止给予我的大量帮助。这是我第一次提问,因为这次我真的陷入了困境。我有一个使用 biblatex-chicago 和 authordate 样式引用的相当高级的模板,但有一个自定义项我似乎找不到任何代码来解决。我希望每个块后都有句号,所以我使用下面的代码。但是,问题是如果给定作者/年份有“a”和“b”来源,我不希望年份后有句号。如果不清楚,请参阅下面的 MWE。似乎实现此目的的最简单方法是添加一些代码,告诉 biblatex-chicago 在我指定的情况下对句号规则进行例外处理。

如果您运行 MWE,您会发现行为非常奇怪,因为“a”引用中的年份后面没有句号,但“b”引用中的年份后面有句号。我非常感谢任何人提供的帮助!我期待参与社区。

\RequirePackage{filecontents}
\begin{filecontents}{bibtex.bib}
@online{citekey1,
    title = {Book Title One},
    author = {Last, First},
    date = {1984},
}
@online{citekey2,
    title = {Book Title One},
    author = {Last, First},
    date = {1984},
}
\end{filecontents}

\documentclass{article}

\usepackage[authordate]{biblatex-chicago}
\addbibresource{bibtex.bib}
%adds periods after each "block" in bibliography
\renewcommand{\newblockpunct}{\addperiod\space}

\begin{document}

\cite{citekey1}
\cite{citekey2}

\printbibliography

\end{document}

答案1

biblatex-chicago我认为已经在参考书目中使用了相当多的句号,因此也许您不需要\renewcommand{\newblockpunct}{\addperiod\space}任何重新定义就可以了。

此外,我很少看到有人重新定义\newblockpunct标点符号,通常人们使用\newunitpunct,也许那么

\renewcommand{\newunitpunct}{\addperiod\space}

对你来说也足够了。

事实上,\newblockpunct似乎是通过block选项来留出空间的(参见第 49 页)手册biblatex),尽管可以重新定义,如第 97 页所指出的那样。它似乎缺乏\setunit标点符号的技巧,不过,正如你所经历的,我们可以使用

\renewcommand{\newblockpunct}{\setunit{\addperiod\space}}

反而。

\documentclass{article}

\usepackage[authordate]{biblatex-chicago}
\addbibresource{biblatex-examples.bib}
% pick one (or none) of the two lines below
\renewcommand{\newblockpunct}{\setunit{\addperiod\space}}
%\renewcommand{\newunitpunct}{\addperiod\space}

\begin{document}
\cite{knuth:ct:b,knuth:ct:c,sigfridsson}

\printbibliography
\end{document}

相关内容