2

With biblatex, it is easy to change the cite style such that the delimiter between source and page number changes. The cite style I use, a variant of the author-year type, requires me to cite in the form Author (2000: 123) or (Author 2000:123), and accordingly I changed

\renewcommand{\postnotedelim}{\addcolon\space}% change the standard ", "
\DeclareFieldFormat{postnote}{#1}% no "p. "

Unfortunately, this messes with multi cite commands like \parencites, because it also changes the delimiter after a series of cited items. E.g.,

\parencite(see)(etc){greenwade93,goossens93}

results in

(see Goossens, Mittelbach, and Samarin, 1993; Greenwade, 1993: etc.)

Apparently, the postnotedelim is used both in single and in multi cite commands. What I'd like to have here is a ", etc", not a ": etc".

But how can I change the behaviour of the postnote delimiter depending on whether it is used in a single or multi cite command? I searched the biblatex manual and found the multipostnote field, but no way to change the delimiter for it. I guess what I'm looking for is a multipostnotedelim, but I have insufficient experience with biblatex to integrate it myself.

\documentclass{article}


\usepackage[style=authoryear-comp,backend=biber,natbib=true]{biblatex}
\renewcommand{\postnotedelim}{\addcolon\space}
\DeclareFieldFormat{postnote}{#1}

\usepackage{filecontents}
\begin{filecontents}{bibliography.bib}
@article{greenwade93,
    author  = "George D. Greenwade",
    title   = "The {C}omprehensive {T}ex {A}rchive {N}etwork ({CTAN})",
    year    = "1993",
    journal = "TUGBoat",
    volume  = "14",
    number  = "3",
    pages   = "342--351"
}

@book{goossens93,
    author    = "Michel Goossens and Frank Mittelbach and Alexander Samarin",
    title     = "The LaTeX Companion",
    year      = "1993",
    publisher = "Addison-Wesley",
    address   = "Reading, Massachusetts"
}

\end{filecontents}
\bibliography{bibliography.bib}
\begin{document}

\citep[342]{greenwade93}

\parencites(see)(etc.){greenwade93,goossens93}

\end{document}
1
  • Note that \bibliography should take the file name of your .bib file without extension, so \bibliography{bibliography} would be correct. With biblatex I usually use \addbibresource instead of \bibliography and \addbibresource requires the file extension, so you could also use \addbibresource{bibliography.bib}. Depending on the OS, TeX distribution and the backend (Biber or BibTeX) the system might not be able to find the file in case the extension is not handled properly.
    – moewe
    Commented Nov 1, 2018 at 17:02

1 Answer 1

2

biblatex 3.13 implements multipostnotedelim in addition to postnotedelim. Note that these commands are now context-sensitive delimiters and should therefore be redefined with \DeclareDelimFormat.

\documentclass{article}
\usepackage[style=authoryear-comp, backend=biber, natbib=true]{biblatex}

\DeclareDelimFormat{postnotedelim}{\addcolon\space}
\DeclareFieldFormat{postnote}{#1}

\DeclareDelimFormat{multipostnotedelim}{\addcomma\space}

\addbibresource{biblatex-examples.bib}
\begin{document}
\citep[342]{sigfridsson}

\parencites(see)(etc.){sigfridsson,nussbaum}
\end{document}

(Sigfridsson and Ryde, 1998: 342)//(see Nussbaum, 1978; Sigfridsson and Ryde, 1998, etc.)

See the edit history for a solution if you are using an outdated version of biblatex.

2
  • I think it would make sense to define \multi(pre|post)notedelim (after all the field formats for multi(pre|post)note are already independent from those for (pre|post)note). It might make sense to think about making the delimiters context-sensitive as well (useful to eliminate \extpostnotedelim?).
    – moewe
    Commented Nov 1, 2018 at 16:56
  • multi(pre|post)notedelim was implemented in github.com/plk/biblatex/pull/869. The delimiters are context-sensitive now.
    – moewe
    Commented May 9, 2019 at 12:27

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .