感谢社区迄今为止给予我的大量帮助。这是我第一次提问,因为这次我真的陷入了困境。我有一个使用 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}