3

When I am citing pages in books, I use the citation format

(Author 1982:45)

But when I am citing something like paragraphs or online data with an ID number (i.e. things that aren't a plain numeral like a page number), I would like to remove the colon:

(Online resource no. 58; Author 1975 §18)

I assume the necessary trick here is to specify an empty \postnotedelim iff the postnote is not a numeral. How can I accomplish this (adding something to the preamble in my .tex file)?

\documentclass{article}
\usepackage{fontspec,filecontents}
\usepackage[style=authoryear]{biblatex}
\renewcommand*{\postnotedelim}{\addcolon}
\DeclareFieldFormat{postnote}{#1}
\begin{filecontents}{\jobname.bib}
@BOOK{harrison,
    AUTHOR = "George Harrison",
    TITLE = "My life with the Beatles",
    YEAR = "1982",
    LOCATION = "London",
    PUBLISHER = "Big House"}
@ONLINE{archiveZ,
    TITLE = "Archive Z",
    SHORTHAND = "Archive Z",
    URL = "http://www.archivez.com",
    URLDATE = "2013-03-22"}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\parencites[45]{harrison}[no. 58]{archiveZ}.
\printbibliography
\end{document}

enter image description here

1 Answer 1

6

This can be achieved by the following code

\renewcommand{\postnotedelim}{%
  \iffieldnums{postnote}
    {\addcolon}
    {\addspace}}
3
  • The package xtring isn't included in TeXLive, even though I have installed TeXLive with all packages. How is \IfInteger different from \ifnumerals?
    – Sverre
    Mar 22, 2013 at 12:06
  • @Sverre I have changed the answer. The package would have been xstring. \IfInteger is from xstring, \ifnumerals is from biblatex. \ifnumerals or \iffieldnums would consider numbers also in different forms (roman and ranges).
    – Guido
    Mar 22, 2013 at 12:14
  • biblatex now also has \iffieldpages which is probably most appropriate here.
    – moewe
    Mar 26, 2016 at 14:35

You must log in to answer this question.

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