2

By default the \cite command ignores a semicolon if it follows a dot. How can I force biblatex to print the semicolon regardless if there is a dot before?

\documentclass{article}

\usepackage[
    style=authortitle,
    backend=biber,
]{biblatex}

\begin{filecontents*}{\jobname.bib}
@book{test,
author = {Foo, Bar},
title = {Foobar},
year = {2016},
location = {Baz}
}
\end{filecontents*}

\addbibresource{\jobname.bib}

\begin{document}

\footnote{\cite[12]{test}; \cite[12~f.]{test}; \cite[12~ff.]{test}}

\end{document}

enter image description here

(And yes, I know that in general I should use \cites. But for technical reasons I cannot in this case.)

  • Don't do it like that, use the proper thing: \footcites which can handle multiple keys. – Johannes_B Feb 28 '16 at 15:03
4
\documentclass[ngerman,english]{article}

\usepackage{babel}
\usepackage[
    style=authortitle,
    backend=biber,
]{biblatex}

\addbibresource{biblatex-examples.bib}

\setlength{\textheight}{9cm}
\begin{document}

Sugar, spice and everything
nice\footcites[12]{aristotle:physics}[12\psq]{aksin}[12\psqq]{companion}
\selectlanguage{ngerman}
Der Leguan liegt auf der
Lauer\footcites[42]{nietzsche:historie}[84\psq]{knuth:ct:a}[96\psqq]{vangennep}
\selectlanguage{english}
Please don't do it like that\footnote{\cite[12]{companion};
\cite[12\psq]{aksin}; \cite[12\psqq]{ctan}}

\end{document}

tomFootcites

  • Not citing a cooking book with recipes concerning liver? ;-) – user31729 Feb 28 '16 at 15:53
  • Thank you for your answer but as mentioned in my question I cannot change the syntax for technical reasons which means that I have to use \footnote and \cite. – Tom Feb 28 '16 at 16:34
  • @Tom Test my answer, look at the output, compare your input. – Johannes_B Feb 28 '16 at 16:36
3

Johannes_B has already given the best answer for this situation. But people might find that they have to write a postnote with a . in it for which biblatex does not already provide a convenient command (as it does for the German "f." and "ff.": \psq and \psqq).

The problem arises because biblatex tries very hard to avoid double punctuation and even scans ahead for punctuation after its \cite commands. It finds that the postnote 12~f. ends with a period and doesn't want that to crash with the semicolon afterwards, so the semicolon is swallowed.

You can tell biblatex that the . in 12~f. is not a sentence end period (which would clash with a semicolon), but an abbreviation dot (which is fine before a semicolon) with \isdot

\cite[etc.\isdot]{sigfridsson};
  • The amazing thing is, that people use the same bibkeys over and over again for normal case examples. :-) – Johannes_B Feb 28 '16 at 16:48
  • @Johannes_B I have become quite fond of it over the time ;-). The first thing I did when I copied the MWE was to throw out \jobname.bib and just use biblatex-examples.bib. – moewe Feb 28 '16 at 16:52
  • The same here :-) – Johannes_B Feb 28 '16 at 16:53

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.