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."

  • 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 '17 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 '17 at 14:08
3

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

  • 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 '17 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. – David Purton Jul 3 '17 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 '17 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? – David Purton Jul 3 '17 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 '17 at 14:40

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.