8

I'm writing a document in Italian with xetex and polyglossia, bibliography with biblatex/biber, nature style (but the issue happens with numeric too, at least).

Is it normal that I get bold pagetotals strings in the bibliography? here's an example

bold pagetotals

I don't know, it doesn't seem something that should be bold and I kind of expected a simple string like that would be automatically localized.

I can fix it with

\DefineBibliographyStrings{italian}{%
  pagetotals = {pagine},
}

but I'm worried it's the symptom of some other problem.

Here's a minimal example that reproduces the issue

mwe.tex

\documentclass[11pt, a4paper]{memoir}

\usepackage{polyglossia}
\setmainlanguage{italian}
\usepackage[autostyle]{csquotes}

\usepackage[backend=biber, style=nature]{biblatex}
\bibliography{mwe}

\begin{document}
Here's some citation\cite{knuth}.

\printbibliography
\end{document}

mwe.bib

@book{knuth,
  address = {Reading, MA},
  author = {Knuth, Donald E.},
  publisher = {Addison-Wesley},
  title = {Sorting and Searching: The Art of Computer Programming Volume 3},
  year = 1973,
  pagetotal = {800}
}

Compile it with

xelatex mwe.tex
biber mwe
xelatex mwe.tex

Now that I looked at the logs I see there's a warning:

Package biblatex Warning: Bibliography string 'pagetotals' undefined
(biblatex)                at entry 'knuth' on input line 13.
  • Can you please add a minimal example? – egreg Jan 23 '18 at 8:33
  • @egreg sure, see the edit, there's also a warning about undefined pagetotals, but where does that string come from? It's pagetotal in the bib file – filippo Jan 23 '18 at 8:47
5

In version 3.8 biblatex introduced dedicated bibstrings for the pagetotal field (see https://github.com/plk/biblatex/issues/534, https://github.com/plk/biblatex/pull/546). This became necessary because in some languages (Swedish) the string for "[on] pages 6--12" is not the same as in "230 pages".

Earlier all instances of 'page' used the page bibstring, but now there is also pagetotal, its plural version is pagetotals (there are also columntotal, columntotals, ... for all known pagination types). Unfortunately not all localisations have these strings yet, because we did not want to assume that pagetotal and page coincide in all languages.

\DefineBibliographyStrings{italian}{%
  pagetotal  = {pagina},
  pagetotals = {pagine},
}

Is indeed the correct 'fix' (assuming that in Italian 'on pages 20-40' is the same as '240 pages'). But please by all means, drop the developers a line and tell them what the correct strings are so they can be included (https://github.com/plk/biblatex/issues). At the moment the Italian localisation misses a few strings, so help would definitely be appreciated.

There was a nasty bug in version 3.8 of biblatex that prevented pagetotal from being used properly, but that was resolved in version 3.9. See https://github.com/plk/biblatex/issues/653. So if you are running a version <3.9, you should consider updating before trying to use pagetotal.

See also New version of biber+biblatex problem with pagetotal string

  • Thank you, I'm on 3.10 so I should be safe about those bugs. Will open an issue about the translation. By the way, do you know if is there a way to define both extended and abbreviated strings with something like \DefineBibliographyStrings ? I tried the syntax used in italian.lbx pagetotals = {{pagine}{pp\adddot}} but it doesn't seem to work – filippo Jan 23 '18 at 9:31
  • 1
    @filippo You can't define the long and short versions with \DefineBibliographyStrings, that command supports only one string. To define both versions you need \DeclareBibliographyStrings, but that command can only be used from .lbx files. So you can only define one version from your document, if you want to define both you need an .lbx file. – moewe Jan 23 '18 at 9:33
  • Hehe I completely missed it was Declare instead of Define, thanks again – filippo Jan 23 '18 at 9:36

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.