Change the order of the address and publisher in Biblatex
Insert this after loading biblatex:
% let "publisher" and "location" change place
\renewbibmacro*{publisher+location+date}{%
\printlist{publisher}%
\iflistundef{location}
{\setunit*{\addcomma\space}}
{\setunit*{\addcolon\space}}%
\printlist{location}%
\setunit*{\addcomma\space}%
\usebibmacro{date}%
\newunit}
This is from standard.bbx
in Biblatex, with only those two interchanged.
If only book
s should be affected, a straightforward method is to not change the macro as above, but instead define a new one, \newbibmacro{location+publisher+date}
with the definition as above. And then you copy the whole \DeclareBibliographyDriver{book}
part from standard.bbx
into your file, but exchange the \usebibmacro
call to use the alternative macro instead.
We can use \ifentrytype{book}
to change the macro only for @books
.
\renewbibmacro*{publisher+location+date}{%
\ifentrytype{book}
{\printlist{publisher}%
\iflistundef{location}
{\setunit*{\addcomma\space}}
{\setunit*{\addcolon\space}}%
\printlist{location}}
{\printlist{location}%
\iflistundef{publisher}
{\setunit*{\addcomma\space}}
{\setunit*{\addcolon\space}}%
\printlist{publisher}}
\setunit*{\addcomma\space}%
\usebibmacro{date}%
\newunit}
\documentclass{article}
\usepackage[style=numeric, firstinits=true, maxbibnames=99, minbibnames=1, backend=biber]{biblatex}
\renewbibmacro*{publisher+location+date}{%
\ifentrytype{book}
{\printlist{publisher}%
\iflistundef{location}
{\setunit*{\addcomma\space}}
{\setunit*{\addcolon\space}}%
\printlist{location}}
{\printlist{location}%
\iflistundef{publisher}
{\setunit*{\addcomma\space}}
{\setunit*{\addcolon\space}}%
\printlist{publisher}}
\setunit*{\addcomma\space}%
\usebibmacro{date}%
\newunit}
\bibliography{biblatex-examples.bib}
\begin{document}
\cite{cicero,wilde}
\printbibliography
\end{document}