TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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.)

share|improve this question
    
Don't do it like that, use the proper thing: \footcites which can handle multiple keys. – Johannes_B Feb 28 at 15:03
up vote 4 down vote accepted
\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

share|improve this answer
    
Not citing a cooking book with recipes concerning liver? ;-) – Christian Hupfer Feb 28 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 at 16:34
    
@Tom Test my answer, look at the output, compare your input. – Johannes_B Feb 28 at 16:36
    
@Johannes_B Great, thanks! – Tom Feb 28 at 16:41

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};
share|improve this answer
    
The amazing thing is, that people use the same bibkeys over and over again for normal case examples. :-) – Johannes_B Feb 28 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 at 16:52
    
The same here :-) – Johannes_B Feb 28 at 16:53

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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