5

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,
  address      = {Leipzig}
}

@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,
  address      = {Leipzig},
  translator   = {Christian Friedrich Pezold},
  options      = {cmsdate=on},
  origdate     = {1754/1755}
}
\end{filecontents}
\addbibresource{\jobname.bib}

\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?

  • 2
    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
2

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.

Your MWE becomes

\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,
  address      = {Leipzig}
}

@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,
  address      = {Leipzig},
  translator   = {Christian Friedrich Pezold},
  options      = {cmsdate=on},
  origdate     = {1754/1755}
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
\nocite{*}
\printbibliography
\end{document}

and yields enter image description here

  • That works fine and breaks nothing in my bibliography (1092 items) but did reveal two other problems with origdate. Again I'm not sure whether I've stumbled on bugs or don't understand how to make biblatex-chicago do what I need. I'll put the problems in a new question. – George Pigman Sep 16 '13 at 21:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.