I have kind of the same question as stated in here. Anyway as this approach is already 8 years old it doesnt seem to work anymore.

I use biblatex and biber as well with

\documentclass[a4paper,         % Seitenformat
        12pt,                   % Schriftgröße
        bibliography=totoc,     % Literaturverzeichnis in das Inhaltsverzeichnis
        abstract=on             % Erstellt Titel für Abstract

 author = {Jordan, M. I. and Mitchell, T. M.},
 year = {2015},
 title = {Machine learning: Trends, perspectives, and prospects},
 keywords = {Algorithms;Artificial Intelligence/trends;Computer Systems;Data Interpretation, Statistical;Humans},
 pages = {255--260},
 pagination = {page},
 volume = {349},
 journaltitle = {Science},
 language = {eng},
 doi = {10.1126/science.aaa8415},
 number = {6245}

 author = {Scherk, Johannes and P{\"o}chhacker-Tr{\"o}scher, Gerlinde and Wagner, Karina},
 year = {2017},
 title = {K{\"u}nstliche Intelligenz - Artificial Intelligence},
 keywords = {K{\"u}nstliche Intelligenz},
 editor = {{P{\"o}chhacker Innovation Consulting}},
 abstract = {K{\"u}nstliche Intelligenz},
 pagetotal = {54},
 file = {kuenstliche_intelligenz.pdf}


\addbibresource{jobname.bib} % note the .bib is required



(\cites[vgl.][S. 256 ff.]{Jordan.2015}[vgl.][S. 37 f.]{Scherk.})


What I get is

enter image description here

Even when manually forcing a semicolon ; by

(\cites[vgl.][S. 256 ff.;]{Jordan.2015}[vgl.][S. 37 f.]{Scherk.})

it turns out as

enter image description here


The linked answer is still the correct way to do this and still works. We don't get the expected output in the MWE shown in the question because of the .s at the end of the postnote.

biblatex does a lot of work to avoid unintentional double punctuation. Firstly, there is the punctuation tracker (\setunit) that only prints punctuation in bibmacros and drivers when really needed. Secondly, the punctuation commands \add... try to detect previous punctuation marks and may not print punctuation if that would lead to double punctuation.

The second is what happens here. The \addsemicolon detects the previous . from the page/postnote argument and holds off printing the semicolon to avoid double punctuation.

In this case of course the double punctuation is desired. That is because the . can have two different meanings. It can be the sentence-ending full stop (period) after which double punctuation must be suppressed. Or it can be an abbreviation mark (dot) after which other punctuation marks are usually printed (except for the period). The latter is the case here.

By default biblatex treats a . as a period and thus suppressed double punctuation. You can tell biblatex that a . is actually an abbreviation dot with \isdot. So ff. would become ff.\isdot.

In this particular case, however, there is a much better solution: Use \psq and \psqq.

These two macros are specifically intended to produce "sq." ("f." in German) and "sqq." ("ff." in German) marks without upsetting the punctuation tracker (and without upsetting the page range detector).

Simply write










(vgl. Sigfridsson und Ryde 1998, S. 256 ff.; vgl. Worman 2002, S. 37 ff.)


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.