biblatex-chicago & origdate

I have two entries by the same author, the second of which contains an origdate field with a range of years. If I print only the second entry, the date is fine: 1754--1755. But if I print both entries, the date has a stray period: 1754--. 1755. Here's a MWE.

\documentclass[12pt]{article}
\usepackage[authordate,backend=biber]{biblatex-chicago}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@Book{crusius1749,
author       = {Christian August Crusius},
title        = {Anleitung {\"u}ber nat{\"u}rliche Begebenheiten ordentlich
und vorsichtig nachzudencken},
publisher    = {Gleditsch},
year         = 1749,
}

@Book{crusius1754,
author       = {Christian August Crusius},
title        = {Gr{\"u}ndliche Belehrung vom Aberglauben zur Aufkl{\"a}rung
des Unterschiedes zwischen Religion und Aberglauben},
publisher    = {Langenheim},
year         = 1767,
translator   = {Christian Friedrich Pezold},
options      = {cmsdate=on},
origdate     = {1754/1755}
}
\end{filecontents}

\begin{document}
\cite{crusius1749}
\cite{crusius1754}
\printbibliography
\end{document}


Comment out the first \cite to see the correct form of the second entry.

Is this a bug, or am I doing something wrong?

• Looks like a bug. And even if it is a feature, the documentation needs to be clearer regarding how and why it is one. – jon Sep 15 '13 at 15:45

This behaviour indeed seems to be a bug. The following quick-and-dirty fix might help you.

Add the following code to your preamble.

\renewbibmacro*{origyear+endyear}{%
\printfield{origyear}%
\iffieldundef{origendyear}%
{}%
{\iffieldequalstr{origendyear}{}%
{\mbox{\bibdatedash}}%
{\bibdatedash\nopunct\printtext{\unspace}\printfield{origendyear}}}}


That portion of code is a modified version of the original {origyear+endyear} macro from chicago-authordate.bbx. The last line was modified to make the next punctuation command print nothing (\nopunct), that punctuation command is then implicitly invoked by \printtext{\unspace} which here actually "prints" only a command to remove all preceding whitespace (\unspace). So the full stop as well as the space between the \bibdatedash and the origendyear disappear.

\documentclass[12pt]{article}
\usepackage[authordate,backend=biber]{biblatex-chicago}
\usepackage{filecontents}

\renewbibmacro*{origyear+endyear}{%
\printfield{origyear}%
\iffieldundef{origendyear}%
{}%
{\iffieldequalstr{origendyear}{}%
{\mbox{\bibdatedash}}%
{\bibdatedash\nopunct\printtext{\unspace}\printfield{origendyear}}}}

\begin{filecontents}{\jobname.bib}
@Book{crusius1749,
author       = {Christian August Crusius},
title        = {Anleitung {\"u}ber nat{\"u}rliche Begebenheiten ordentlich
und vorsichtig nachzudencken},
publisher    = {Gleditsch},
year         = 1749,
}

@Book{crusius1754,
author       = {Christian August Crusius},
title        = {Gr{\"u}ndliche Belehrung vom Aberglauben zur Aufkl{\"a}rung
des Unterschiedes zwischen Religion und Aberglauben},
publisher    = {Langenheim},
year         = 1767,
translator   = {Christian Friedrich Pezold},
options      = {cmsdate=on},
origdate     = {1754/1755}
}
\end{filecontents}