3

I have a question concerning biblatex, specifically the publisher field.
I want to replace the comma between the publisher and the year with a semicolon.

This:

publisher, year

should become this:

publisher; year

After researching the documentation of biblatex, I found some possible delimiter options, but they don't work.
Which option is the right one? I included the ones I already tried in the minimal example.

This is the obligatory minimal example:

minimal.tex:

\documentclass[a4paper, 11pt, twoside, chapteratlists=0pt]{scrreprt}

\usepackage[babel]{csquotes}%

\usepackage[
style=alphabetic-verb,%
backend=bibtex8,%
bibstyle=alphabetic,
block=ragged,%
isbn=true,%
firstinits=true,%
%dashed=false,%
maxbibnames=99,%
sorting=nty,%
language=german,%
backrefstyle=three+,%
]{biblatex}

%Already tried:
%\renewcommand*{\multilistdelim}{\addsemicolon\space}
%\renewcommand*{\finallistdelim}{\addsemicolon\space}
%\DeclareFieldFormat{publisher}{#1\addsemicolon}%
%\DeclareFieldFormat{location}{#1\addsemicolon}%
%\DeclareFieldFormat{year}{\nopunct#1\addsemicolon}

\addbibresource{minimal.bib}

\begin{document}

\nocite{*}
\printbibliography

\end{document}

The bib file minimal.bib:

@BOOK{BossOstendorf.2010,
  title = {title},
  year = {1990},
  author = {author},
  volume = {123},
  publisher = {publisher}
}
  • Thanks alot to moewe. It works now. I will research the commands, so i can do it myself next time. – schwarz1603 Oct 26 '13 at 21:41
4

You need to edit the bibmacro publisher+location+date; put this into your preamble

\renewbibmacro*{publisher+location+date}{%
  \printlist{location}%
  \iflistundef{publisher}
    {\setunit*{\addsemicolon\space}}
    {\setunit*{\addcolon\space}}%
  \printlist{publisher}%
  \setunit*{\addsemicolon\space}%
  \usebibmacro{date}%
  \newunit}

The MWE

\documentclass[ngerman,a4paper, 11pt, twoside, chapteratlists=0pt]{scrreprt}
\usepackage{babel}
\usepackage[babel]{csquotes}%

\usepackage[
  style=alphabetic-verb,
  backend=bibtex8,
  bibstyle=alphabetic,
  block=ragged,
  isbn=true,
  firstinits=true,
  maxbibnames=99,
  sorting=nty,
  backrefstyle=three+]{biblatex}


\addbibresource{biblatex-examples.bib}

\renewbibmacro*{publisher+location+date}{%
  \printlist{location}%
  \iflistundef{publisher}
    {\setunit*{\addcomma\space}}
    {\setunit*{\addcolon\space}}%
  \printlist{publisher}%
  \setunit*{\addsemicolon\space}%
  \usebibmacro{date}%
  \newunit}

\begin{document}
\nocite{wilde}
\printbibliography
\end{document}

yields

enter image description here

  • @schwarz1603 This solution will print "place, year" if there is no publisher provided. Do you want "place; year" instead? – moewe Oct 26 '13 at 21:55
  • yes, that would be great. I need the semicolon as a separator between every unit for all types of literature. Thanks. – schwarz1603 Oct 26 '13 at 22:18
  • 1
    @schwarz1603 I have updated the answer to add a semicolon between "place; year" if need be. – moewe Oct 27 '13 at 12:15

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.