0

I am citing a manual that has both section numbers and paragraph numbers. Sometimes, I want to cite an entire section, other times I want to also include a paragraph. For instance, I might type \cite[1.2.3 \P 4]{entry} to refer to section 1.2.3, paragraph 4. My expected output is [1, § 1.2.3 ¶ 4], however whenever I specify the paragraph number, the section symbol is suppressed. I suspect the reason why is that BibLaTeX is trying to determine whether the citation is singular or a range, and can't make sense of it.

My .bib file might look like this:

@manual{entry,
    pagination = "section",
    title = "Foo Bar",
    url = "http://www.example.com"
}
3
  • 2
    biblatex tests whether or not the postnote argument is something that looks like a page range. 1.2.3 looks page-y enough for biblatex and gets the prefix. 1.2.3 \P 4 is not page-y enough, in particular the \P makes the contents fail the \ifnumeral test. You have two options: (1) Tell biblatex to add the pagination prefix manually: [\pno~1.2.3 \P 4] or (2) tell biblatex to completely ignore \P when it test if something is a numeral: \NumCheckSetup{\def\P{}}.
    – moewe
    May 19, 2019 at 7:52
  • 1
    Please add a MWE showing which biblatex style you are using. As standard, it is a p. or pp. prefix that is added if biblatex guesses it is a page range; when the guess is wrong you can write \cite[\pno~12 \P4]{entry} for the p. case. I guess your style provides something similar for the sections. May 19, 2019 at 7:56
  • Please add a complete but minimal working example with bibliography (MWEB).
    – CarLaTeX
    May 19, 2019 at 8:01

1 Answer 1

3

It's pretty much as you suspected. For the page prefix feature biblatex determines whether the postnote argument you have supplied is a single numeral (\ifnumeral) or a range or list of numerals (\ifnumerals) in order to be able to give the correct prefix 'p.' or 'pp.'. But

1.2.3 \P 4

is neither of those because the \P is not recognised as part of a number.

You can trick biblatex into thinking \P is an acceptable part of a number with

\NumCheckSetup{\def\P{}}

Then

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=numeric, backend=biber]{biblatex}
\addbibresource{biblatex-examples.bib}

\NumCheckSetup{\def\P{}}

\begin{document}
\cite[1.2.3]{sigfridsson}

\cite[1.2.3 \P4]{sigfridsson}

\cite[1.2.3-1.2.4]{sigfridsson}

\cite[1.2.3 \P4-1.2.3 \P5]{sigfridsson}

\printbibliography
\end{document}

gives

[1, p. 1.2.3]/[1, p. 1.2.3 ¶4]//[1, pp. 1.2.3–1.2.4]//[1, pp. 1.2.3 ¶4–1.2.3 ¶5]

If this is just a one-off you can add the page prefix manually with \pno/\ppno:

\cite[\pno1.2.3 \P 4]{sigfridsson}
1
  • +1 to your crystal ball!
    – CarLaTeX
    May 19, 2019 at 8:03

You must log in to answer this question.

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