Biblatex – Can Fields Be Reordered in a Biblatex Bibliography?

biblatex

I'm using the verbose bibliography style in biblatex, and would like to place the URL and DOI fields at the end of each entry, after the (cited on page …) field rather than before it. Is there a way to reorder the fields of an existing style?

Best Answer

For the general case, when the fields you're wanting to reorder don't necessarily appear at the end, biblatex's \clearfield-type macros and the xpatch package come in handy.

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{csquotes}
\usepackage[american]{babel}
\usepackage[style=verbose,backref=true]{biblatex}
\usepackage[colorlinks]{hyperref}
\usepackage{xpatch}

\newbibmacro*{addendum+pubstate+pageref}{%
  \usebibmacro{addendum+pubstate}%
  \clearfield{addendum}%
  \clearfield{pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \clearlist{pageref}%
  \newunit\newblock}

\xpretobibmacro{doi+eprint+url}{\usebibmacro{addendum+pubstate+pageref}}{}{}
\xpretobibmacro{eprint}{\usebibmacro{addendum+pubstate+pageref}}{}{}
\xpretobibmacro{url+urldate}{\usebibmacro{addendum+pubstate+pageref}}{}{}

\addbibresource{biblatex-examples.bib}

\begin{document}
\null\vfill\noindent
Filler text.\footcite{bertram,kastenholz,ctan,itzhaki}
\printbibliography
\end{document}

enter image description here

Related Question