4

Using biblatex.sty 2013/01/10 v2.5 and biber version: 1.5, given

\documentclass{article}
\usepackage{biblatex}
\addbibresource{pages.bib}

\begin{document}
\nocite{*}
\printbibliography
\end{document}

and the .bib file

@Article{A,
  author =       {Some author},
  title =        {Some title},
  journal =      {Some journal},
  year =         2013,
  pages =        {1A}
}

the page number is generated as '1A' instead of 'p. 1A'.

Note 1: The same happens if I replace the 'A' in '1A' by some letter not belonging to Roman numerals, i.e. I, V, X, L, C, D or M.

Note 2: The same happens if I replace the biber backend by the bibtex one.

Note 3: If I remove biblatex and I use bibtex instead, I got the right result.

5

biblatex uses the command \mkpageprefix to print the page numbers. Internal this command checks whether the input is a number or not. This is done by \ifnumeral:

In the documentation you can find the following explanation:

\ifnumeral{⟨string⟩}{⟨true⟩}{⟨false⟩}

Executes ⟨true⟩ if the ⟨string⟩ is an Arabic or Roman numeral, and ⟨false⟩ otherwise. This command is robust. See also \DeclareNumChars and \NumCheckSetup in § 4.6.4.

The token A isn't an arabic nor an roman numeral. As described you can add this token by \DeclareNumChars

\documentclass{article}
\usepackage{biblatex}
\DeclareNumChars{A}
\usepackage{filecontents}
\begin{filecontents}{pages.bib}
@Article{A,
  author =       {Some author},
  title =        {Some title},
  journal =      {Some journal},
  year =         2013,
  pages =        {1A}
}
\end{filecontents}
\addbibresource{pages.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}

enter image description here

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.