I'd like to print a colon after a period, i.e. after Hrsg. (German version of eds.). How can I achieve to have a colon after the string for {editors}
?
Picture
MWE
\documentclass[
a4paper,
12pt,
ngerman
]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage[
language=german,
style=authoryear-ibid,
backend=biber,
hyperref=true,
dashed=false,
isbn=false,
doi=false,
maxcitenames=2,
maxbibnames=99,
sorting=nyt,
firstinits=true,
uniquename=init,
uniquelist=false,
autocite=footnote,
ibidtracker=true,
date=comp,
mincrossrefs=1,
]{biblatex}
\usepackage{xpatch}
\DefineBibliographyStrings{german}{%
byeditor = {Hrsg.},%
byeditor = {Hrsg.},%
andothers={et \addabbrvspace al\adddot},
}
\renewbibmacro*{byeditor+others}{%
\ifnameundef{editor}
{}
{\usebibmacro{byeditor+othersstrg}%
\setunit{\addcolon\addspace}%
\printnames[byeditor]{editor}%
\newunit%
\clearname{editor}%
\newunit}
\usebibmacro{byeditorx}%
\usebibmacro{bytranslator+others}}
\begin{filecontents}{\jobname.bib}
@incollection{abc,
Title = {Stuff},
Author = {Lamp, Jones},
Date = {2011},
Crossref ={ddd}
}
@collection{ddd,
Title= {Words},
Editor={Smith, John and Doe, Jane},
Date={2012},
Location={Towntown}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\nocite{*}
\listfiles
\begin{document}
Words.
\printbibliography
\end{document}
byeditor = {Hrsg\adddot}
instead ofbyeditor = {Hrsg.}
(see In biblatex, treat periods in journal as abbreviation dots for example).biblatex
by default thinks a "." is a full stop and suppresses following punctuation to avoid double punctuation, if an "." is actually an abbreviation dot, you need to tellbiblatex
, either by issuing.\isdot
, or by using the appropriate\adddot
command.