0

I'm trying to rearrange the editor and book title for the @incollection entry. There should also be a colon after the editors and a period after the book title

This is what it looks like so far.

enter image description here

MWE:

\documentclass[11pt, a4paper]{scrbook}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[left=27.5mm,right=16mm,top=30mm,bottom=30mm]{geometry}

\usepackage{filecontents}
\begin{filecontents}{BA.bib}
@online{polymer2020,
  title = {Polymer},
  author = {{N. N.}},
  journaltitle = {Wikipedia},
  url = {https://de.wikipedia.org/wiki/Polymer},
  urldate = {2020-02-16},
  langid = {german}
}

@thesis{kaddar2010,
  title = {Die generative Fertigung mittels Laser-Sintern: Scanstrategien, Einfl\"usse verschiedener Prozessparameter auf die mechanischen und optischen Eigenschaften beim LS von Thermoplasten und deren  Nachbearbeitungsm\"oglichkeiten},
  author = {Kaddar, Wesam},
  date = {2010},
  institution = {{Universit\"at Duisburg-Essen}},
  location = {{Duisburg}},
  langid = {german},
  type = {Dissertation}
}

@incollection{hans2020,
  title = {Ein {{Qualit\"atsicherungskonzept}}},
  booktitle = {Additive {{Fertigung}} von {{Bauteilen}}},
  author = {Hans, Peter and Werner, Meier},
  editor = {Furman, Bernd and Eder, Max},
  date = {2020},
  publisher = {{Springer}},
  location = {{Berlin}}
}

@article{drummer2010,
  title = {Untersuchung der Materialalterung bei pulverbasierten Schichtbauverfahren},
  author = {Drummer, Dietmar and K\"uhnlein, Florian and Rietzel, Dom and H\"udler, Gerrit},
  date = {2010},
  journaltitle = {RTejournal - Forum f\"ur Rapid Technologie},
  volume = {7},
  langid = {german},
  number = {1}
}
\end{filecontents}

\usepackage[backend=biber, style=ieee, citestyle=numeric, sorting=nyt, autocite=inline, isbn=false, dashed=false, url=false]{biblatex}
\addbibresource{BA.bib}
\DeclareNameAlias{sortname}{family-given}
\DeclareNameAlias{default}{family-given}

\DeclareFieldFormat[book,inbook,incollection,inproceedings]{series}{#1}

\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\DeclareDelimFormat{editortypedelim}{\addspace}
\DeclareFieldFormat*[online]{title}{\textit{#1}}
\DeclareFieldFormat{url}{\url{#1}}
\DeclareFieldFormat{journaltitle}{#1}
\DeclareFieldFormat[article]{title}{\textit{#1}\addperiod}
\DeclareFieldFormat[thesis]{title}{\textit{#1}\addperiod}

\renewcommand{\mkbibnamefamily}[1]{\textsc{#1}}
\renewcommand{\multinamedelim}{\addsemicolon\space}
\renewcommand{\finalnamedelim}{\addsemicolon\space}
\renewcommand*{\labelnamepunct}{\addcolon\addspace}

\renewbibmacro*{publisher+location+date}{%
\printunit{\addperiod\space}%
\printlist{location}%
\iflistundef{publisher}
{\setunit*{\addcomma\space}}
{\setunit*{\addcolon\space}}%
\printlist{publisher}%
\setunit*{\addcomma\space}%
\usebibmacro{date}%
\newunit}
\DeclareFieldFormat[online]{date}{\mkbibparens{#1}}
\usepackage{xpatch}
\xpatchbibdriver{online}
{\printtext[parens]{\usebibmacro{date}}}
{\usebibmacro{date}}
{}{}

\xpatchbibdriver{online}
{\newunit\newblock
\usebibmacro{url+urldate}}
{\setunit{\addperiod\space}\newblock
\usebibmacro{url+urldate}}
{}{}


\begin{document}

\autocite{polymer2020} \autocite{hans2020} \autocite{kaddar2010} \autocite{drummer2010}

\printbibliography

\end{document}

1 Answer 1

2

As mentioned in my answer to Biblatex punctuation after author for @article you apply a lot of modifications to a style that was purpose built to reproduce the requirements of the IEEE. Usually the standard styles are easier to modify. In this particular case the biblatex-ext styles would make our lives a whole lot easier, because they have a simple option to do what you want.

\documentclass[11pt, a4paper]{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage[backend=biber,
  style=ext-numeric, sorting=nyt,
  autocite=inline,
  innamebeforetitle=true,
  isbn=false, url=false]{biblatex}


\DeclareNameAlias{sortname}{family-given}
\DeclareNameAlias{default}{family-given}


\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\DeclareDelimFormat{editortypedelim}{\addspace}

\DeclareDelimFormat[bib]{nametitledelim}{\addcolon\addspace}

\begin{filecontents}{\jobname.bib}
@incollection{hans2020,
  title     = {Ein Qualitätsicherungskonzept},
  booktitle = {Additive Fertigung von Bauteilen},
  author    = {Hans, Peter and Werner, Meier},
  editor    = {Furman, Bernd and Eder, Max},
  date      = {2020},
  publisher = {Springer},
  location  = {Berlin},
}
\end{filecontents}
\addbibresource{\jobname.bib}


\begin{document}
\autocite{hans2020}

\printbibliography
\end{document}

But (almost) enough advertising for my pet project ... If you want to stick to style=ieee (you may feel you are in to deep already), you need to do some more work. I reduced the MWE to the bits necessary to deal with @incollections to make it slightly easier to navigate. We can steal the necessary code from biblatex-ext and patch it into ieee.bbx's @incollection driver with xpatch.

\documentclass[11pt, a4paper]{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage[backend=biber,
  bibstyle=ieee, citestyle=numeric, sorting=nyt,
  autocite=inline,
  isbn=false, dashed=false, url=false]{biblatex}

\DeclareNameAlias{sortname}{family-given}
\DeclareNameAlias{default}{family-given}


\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\DeclareDelimFormat{editortypedelim}{\addspace}

\renewcommand*{\labelnamepunct}{\addcolon\addspace}

\DeclareDelimFormat{innametitledelim}{\labelnamepunct}

\DeclareNameAlias{ineditor}{default}

\newbibmacro*{bbx:in:editor}[1]{%
  \ifboolexpr{
    test \ifuseeditor
    and
    not test {\ifnameundef{editor}}
  }
    {\printnames[ineditor]{editor}%
     \setunit{\printdelim{editortypedelim}}%
     \usebibmacro{#1}%
     \clearname{editor}}
    {}}

\newbibmacro*{in:editor}{%
  \usebibmacro{bbx:in:editor}{editorstrg}}
\newbibmacro*{in:editor+others}{%
  \usebibmacro{bbx:in:editor}{editor+othersstrg}}

\usepackage{xpatch}
\xpatchbibdriver{incollection}
  {\usebibmacro{maintitle+booktitle}%
   \newunit\newblock}
  {\usebibmacro{in:editor+others}%
   \setunit{\printdelim{innametitledelim}}\newblock
   \usebibmacro{maintitle+booktitle}%
   \printunit{\addperiod\space}\newblock}
  {}{}

\begin{filecontents}{\jobname.bib}
@incollection{hans2020,
  title     = {Ein Qualitätsicherungskonzept},
  booktitle = {Additive Fertigung von Bauteilen},
  author    = {Hans, Peter and Werner, Meier},
  editor    = {Furman, Bernd and Eder, Max},
  date      = {2020},
  publisher = {Springer},
  location  = {Berlin},
}
\end{filecontents}
\addbibresource{\jobname.bib}


\begin{document}
\autocite{hans2020}

\printbibliography
\end{document}

Hans, P. und Werner, M.: “Ein Qualitätsicherungskonzept,” in Furman, B. und Eder, M. (Hrsg.): Additive Fertigung von Bauteilen. Berlin: Springer, 2020.

You must log in to answer this question.

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