1

My bibliography contains an entry for a web-site where the contents of a discussion mailing list have been archived. The archive is organized in volumes which are themselves organized in threads. Each volume and each thread is numbered. So, we get indications like "Volume 10-290".

Just like citation commands can be used to give readers specific page numbers (like so \cite[12]{key}), I would like to be able to do the same with volumes and thread numbers, to get something like [1, vol. 10-290].

With Biblatext, the〈postnote〉argument command can be modified to change the pagination scheme to show "verses" instead of "pages", for instance -- pages are Biblatex's default pagination scheme. We can do this by setting the "Pagination" scheme to something like {verse} or {section}. However, this doesn't seem to work with online references.

How can I get change the pagination scheme for @online references to show (in my case) volume and thread numbers, like so: "Sample body text [1, vol. 10-290]"?

\documentclass[a4paper,10pt]{book}
    
\usepackage{biblatex}
\addbibresource{Bibliography.bib}
    
\newbibmacro*{cite:label}{%
    \iffieldundef{label}
    {\printfield[citetitle]{labeltitle}}
    {\printfield{label}}}
    
\begin{document}
   
 Sample text \autocite[10-290]{KEY}.
    
 \printbibliography
    
 \end{document}

Here my test Bibliography.bib entry:

@online{KEY,
AUTHOR= "Someone",
TITLE= "Mailing List Archive",
URL= "https://tex.stackexchange.com",
ADDENDUM= "(accessed: 21.08.2020)"
}

enter image description here

1
  • At least in the MWE cite:label is not used (the numeric style does not know about this macro), so I dropped it in my answer.
    – moewe
    Aug 21, 2020 at 12:59

1 Answer 1

0

pagination should just work. The entry type does not play a role here.

The only problem you need to work around is that biblatex will parse the - in 10-290 as a range dash (as in '10 to 290'). If this should not happen, a little trickery is needed.

\documentclass{article}
\usepackage{biblatex}

\newrobustcmd*{\dash}{-}
\NumCheckSetup{\let\dash\empty}

\begin{filecontents}{\jobname.bib}
@online{KEY,
  AUTHOR     = {Someone},
  TITLE      = {Mailing List Archive},
  URL        = {https://tex.stackexchange.com},
  URLDATE    = {2020-08-21},
  pagination = {volume},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
Sample text \autocite[10\dash290]{KEY}.
    
\printbibliography
\end{document}

Sample text [1, vol. 10-290].

You must log in to answer this question.

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