0

In biblatex, the field volumes can be used to indicate the number of volumes in a multi-volume work. But how can I indicate that a multi-volume work has e.g. 8 numbered volumes plus a supplementary unnumbered volume, e.g. an index?

Ideally, I would like to output a reference with a format like "8 vols, 1 index", "8 vols, 1 appendix " or "8 vols, 1 supplementary vol."

2
  • 1
    Help us to help you providing a Minimal Working Example with Bibliography (MWEB). (i.e a compilable minimal LaTeX document with its respective <bibliography>.bib). This makes it easier to reproduce your situation and propose a solution.
    – skpblack
    Jul 3, 2017 at 14:03
  • A solution will depend on the style you use. Please provide a MWE/MWEB. Even though your question is fairly general you will make it easier for us to get started and make sure things work with your setup.
    – moewe
    Jul 3, 2017 at 14:08

1 Answer 1

4

You could redefine the format of volumes to print a literal unless its a numeral. Something like this:

\documentclass{article}
\usepackage{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@mvbook{mvbook1,
  author = {AuthorA},
  title = {Title 1},
  volumes = {8 vols\adddot, 1 supplementary vol\adddot},
  location = {Location},
  publisher = {Publisher},
  date = {2017}
}
@mvbook{mvbook2,
  author = {AuthorB},
  title = {Title 2},
  volumes = {7},
  location = {Location},
  publisher = {Publisher},
  date = {2017}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\pagestyle{empty}
\DeclareFieldFormat{volumes}{%
  \ifnumeral{#1}
    {#1 \bibstring{volumes}}
    {#1}}
\begin{document}
\nocite{*}
\printbibliography
\end{document}

enter image description here

6
  • Of course the use of \adddot makes things slightly less portable in the .bib file. In this case we can get away with literal .s and \isdot in the field format.
    – moewe
    Jul 3, 2017 at 14:24
  • @moewe Is it better to use \bibstring{volumes} and \bibstring{volume} directly? Actually, feel free to edit my answer as you see fit. Jul 3, 2017 at 14:26
  • Mhhh, I'm not sure what you mean. If you use that in the .bib file you will make things even less portable. I nice, but much more complicated solution would be to allow for a new field, but I'm not entirely sure how the input and output would work. It is impracticable to have a index and suppvolume field...
    – moewe
    Jul 3, 2017 at 14:30
  • I must be misunderstanding something with how \adddot and \bibstring work in bib fields. I would have thought that volumes={8 \bibstring{volumes}} and volumes={8 vols\adddot} were equivalent, since the volumes string is defined as vols\adddot. Or is this incorrect? Jul 3, 2017 at 14:38
  • 1
    If you load biblatex, more or less (actually much more than less) yes. But if you use the same .bib file with natbib, the commands \adddot and \bibstring{volumes} are not defined, so will throw an error if used.
    – moewe
    Jul 3, 2017 at 14:40

You must log in to answer this question.

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