2

For a paper I need to adopt a citation style for encyclopedia references that looks completely different from other sources (eg monographs, collections):

<LastName>, <FirstName>, Art. <ArticleTitle>, in: <Encyclopedia>^<Edition> <Volume> (<Year>), <Pages>.

Is this possible using BibLatex? I have the rest of the document working ok, so the solution would need to work for just this entry type.

In the document I'm using style=ext-verbose-inote with some modifications:

\documentclass[paper=A4,12pt, parskip=half, pointednumbers]{scrartcl} 
\usepackage[utf8]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage[ngerman]{babel} 
\usepackage{setspace}
\usepackage{lmodern} 
\usepackage[left=25mm, right=50mm, top=25mm, bottom=20mm]{geometry} 
\setlength{\parindent}{0pt}
\onehalfspacing 

\usepackage[
    backend=biber,
    style=ext-verbose-inote,
    autocite=footnote,
    sortlocale=de_DE,
    innamebeforetitle=true,
    natbib=true,
    url=false, 
    doi=true,
    eprint=false
]{biblatex}
\addbibresource{literatur.bib}

\renewcommand{\footnotesize}{\fontsize{10pt}{12pt}\selectfont}


\renewbibmacro*{pubinstorg+location+date}[1]{%
  \setunit{\addcomma\space}%
  \printlist{location}%
  \iflistundef{#1}
    {\setunit*{\locdatedelim}}
    {\setunit*{\locpubdelim}}%
  \printlist{#1}%
  \setunit*{\pubdatedelim}%
  \usebibmacro{date}%
  \newunit}


\renewbibmacro*{in:}{%
  \setunit{\addcomma\space}%
  \printtext{%
    \bibstring{in}\intitlepunct}}
\DeclareDelimFormat[bib]{nametitledelim}{\addcomma\space}


\DeclareNameAlias{default}{family-given}
\DeclareNameAlias{sortname}{default}
\DeclareDelimFormat[bib]{nametitledelim}{\addcomma\space}
\DeclareDelimFormat{multinamedelim}{\addspace\slash\space}
\DeclareDelimAlias{finalnamedelim}{multinamedelim}


\DeclareDelimFormat{editortypedelim}{\space}

\DeclareFieldFormat[incollection]{title}{#1}
\DeclareFieldFormat[incollection]{booktitle}{#1}

\DeclareFieldFormat[book]{title}{#1}
\DeclareFieldFormat[book]{booktitle}{#1}

\DeclareFieldFormat{edition}{\textsuperscript{#1}} 

  \DefineBibliographyStrings{ngerman} {% 
      andothers = {et al.},               % "et al." statt "u. a." 
      editor = {\mkbibparens{Hg.\adddot}},   % Hrsg. in Klammern 
      editors = {\mkbibparens{Hg.\adddot}}    % Hrsg. in Klammern 
      } 




\begin{document} 

\begin{titlepage}
\begin{spacing}{1}   
   \centering 
    Some Text
  \end{spacing} 
\end{titlepage} 

\newpage 
\tableofcontents
\addtocontents{toc}{\protect\thispagestyle{empty}}
\newpage
\setcounter{page}{1}
% TEXT BEGINNT HIER
\section{Introduction}
\section{Part 1}
\subsection{Section}
\subsection{Section}
\subsection{Section}
Testtext\Footcite[Vgl.][100-105]{kampf}
\subsection{Section}
Testext\Footcite[Vgl.][]{dbwnf}\Footcite[Vgl.][]{nachfolge}\Footcite[Vgl.][100-200]{rgggnade}
\section{Schluss}

\newpage 
\printbibliography[keyword=pl, title={Primärliteratur}]
\printbibliography[keyword=sl, title={Sekundärliteratur}]
\end{document}

Bib file for reference:

@inreference{rgggnade,
    Author = {Saarinen, Risto},
    Booktitle = {RGG},
    Date-Modified = {2019-08-04 19:13:13 +0200},
    Edition = {4},
    Keywords = {sl},
    Title = {Gnade/Gnade Gottes. V. Systematisch-theologisch},
    Volume = {3},
    Year = {2000}}

@book{nachfolge,
    Address = {Stuttgart},
    Author = {Liebend{\"o}rfer, Bernd},
    Date-Added = {2019-08-04 17:32:06 +0200},
    Date-Modified = {2019-08-04 17:45:58 +0200},
    Keywords = {sl},
    Title = {Der Nachfolge-Gedanke Dietrich Bonhoeffers und seine Potentiale in der Gegenwart},
    Year = {2016}}

@book{kampf,
    Address = {Osnabr{\"u}ck},
    Author = {Schlegel, Thomas and Schwarze, Andreas},
    Date-Added = {2019-08-04 16:53:38 +0200},
    Date-Modified = {2019-08-04 16:57:04 +0200},
    Keywords = {sl},
    Subtitle = {Studien zu Dietrich Bonhoeffer},
    Title = {Der Kampf um die teure Gnade},
    Year = {2002}}

@incollection{dbwnf,
    Address = {M{\"u}nchen},
    Author = {Dietrich Bonhoeffer},
    Booktitle = {Dietrich Bonnhoeffer Werke (DBW 4)},
    Date-Added = {2019-08-04 14:01:21 +0200},
    Date-Modified = {2019-08-04 17:31:25 +0200},
    Editor = {Kuske, Martin and T{\"o}dt, Ilse},
    Keywords = {pl},
    Title = {Nachfolge},
    Year = {1989}}
  • Do you have an example @inreference entry for us? We don't have your literatur.bib and so don't get to see your kampf, nachfolge and rgggnade entries. – moewe Aug 4 at 17:36
  • Very mildly related: tex.stackexchange.com/q/290695/35864 – moewe Aug 4 at 17:37
  • I had a look at that previously. While changing field format works fine, I suppose what I need is to change the delimiters conditional on the entry type. – Lucas Aug 4 at 17:39
1

Usually @inreference is an alias for @incollection, but the desired output is so different from @incollection that it makes sense to define a new bibliography driver that is specifically tailored to produce the desired output.

\DeclareBibliographyDriver{inreference} is just a copy of \DeclareBibliographyDriver{incollection} (ll. 338-369 in v0.7a of ext-standard.bbx) with incollection replaced by inreference. inreference:parent does all the heavy lifting.

An @inreference entry should almost always have a @pages field, so I added one. I also slightly reordered the definitions to make it easier for me to keep track of what is going on and modified some small things. (There is, for example, no need for sortlocale=de_DE, if you load babel with the document language ngerman).

\documentclass[paper=A4,12pt, parskip=half, numbers=enddot]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage{csquotes}

\usepackage[
  backend=biber,
  style=ext-verbose-inote,
  autocite=footnote,
  innamebeforetitle=true,
  natbib=true,
  url=false,
  doi=true,
  eprint=false,
]{biblatex}

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

\DeclareDelimFormat{multinamedelim}{\addspace\slash\space}
\DeclareDelimAlias{finalnamedelim}{multinamedelim}

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

\DeclareDelimFormat[bib]{nametitledelim}{\addcomma\space}

\DeclareFieldFormat[incollection,inbook,book]{title}{#1}
\DeclareFieldFormat[inreference]{title}{\bibstring{article}~#1}

\DeclareFieldFormat[incollection,inbook]{booktitle}{#1}

\DeclareFieldFormat[reference,inreference]{date}{\mkbibparens{#1}}
\DeclareFieldFormat{superedition}{\textsuperscript{#1}}

\renewbibmacro*{in:}{%
  \setunit{\addcomma\space}%
  \printtext{%
    \bibstring{in}\intitlepunct}}

\renewbibmacro*{pubinstorg+location+date}[1]{%
  \setunit{\addcomma\space}%
  \printlist{location}%
  \iflistundef{#1}
    {\setunit*{\locdatedelim}}
    {\setunit*{\locpubdelim}}%
  \printlist{#1}%
  \setunit*{\pubdatedelim}%
  \usebibmacro{date}%
  \newunit}

\DeclareBibliographyDriver{inreference}{%
  \usebibmacro{introcite:plain}%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/translator+others}%
  \setunit{\printdelim{nametitledelim}}\newblock
  \usebibmacro{title}%
  \newunit
  \usebibmacro{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{in:}%
  \usebibmacro{crosscite}{inreference:parent}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit\newblock
  \usebibmacro{isbn}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \ifboolexpr{togl {bbx:related} and not test {\iffieldxref{related}}}
    {\usebibmacro{related:init}%
     \usebibmacro{related}}
    {}%
  \usebibmacro{finentry}}

\newbibmacro*{inreference:parent}{%
  \iftoggle{bbx:innamebeforetitle}
    {\usebibmacro{in:editor+others}%
     \setunit{\printdelim{innametitledelim}}\newblock}
    {}%
  \ifboolexpr{
    test {\iffieldundef{booktitle}}
    and
    test {\iffieldundef{booksubtitle}}
  }
    {}
    {\printtext[booktitle]{%
       \printfield[titlecase]{booktitle}%
       \setunit{\subtitlepunct}%
       \printfield[titlecase]{booksubtitle}}%
     \setunit{}%
     \printfield[superedition]{edition}}%
  \printfield{booktitleaddon}%
  \setunit{\addspace}%
  \printfield{volume}%
  \printfield{part}%
  \setunit{\addspace}%
  \printdate}


\NewBibliographyString{article}
\DefineBibliographyStrings{german}{%
  article   = {Art\adddot},
  andothers = {et al\adddot},
  editor    = {Hg\adddot},
  editors   = {Hg\adddot},
}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@inreference{rgggnade,
  author    = {Saarinen, Risto},
  booktitle = {RGG},
  edition   = {4},
  keywords  = {sl},
  title     = {Gnade/Gnade Gottes. V. Systematisch-theologisch},
  volume    = {3},
  year      = {2000},
  pages     = {100-103},
}
@book{nachfolge,
  address  = {Stuttgart},
  author   = {Liebendörfer, Bernd},
  keywords = {sl},
  title    = {Der Nachfolge-Gedanke Dietrich Bonhoeffers
              und seine Potentiale in der Gegenwart},
  year     = {2016},
}
@book{kampf,
  address  = {Osnabrück},
  author   = {Schlegel, Thomas and Schwarze, Andreas},
  keywords = {sl},
  subtitle = {Studien zu Dietrich Bonhoeffer},
  title    = {Der Kampf um die teure Gnade},
  year     = {2002},
}
@incollection{dbwnf,
  address   = {München},
  author    = {Dietrich Bonhoeffer},
  booktitle = {Dietrich Bonnhoeffer Werke (DBW 4)},
  editor    = {Kuske, Martin and Tödt, Ilse},
  keywords  = {pl},
  title     = {Nachfolge},
  year      = {1989},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
Testtext\Autocite[Vgl.][100-105]{kampf}
Testext\Autocite[Vgl.][]{dbwnf}
dolor\Autocite[Vgl.][]{nachfolge}
sit\Autocite[Vgl.][100-200]{rgggnade}

\printbibliography[keyword=pl, title={Primärliteratur}]
\printbibliography[keyword=sl, title={Sekundärliteratur}]
\end{document}

Saarinen, Risto, Art. Gnade/Gnade Gottes. V. Systematisch-theologisch, in: RGG 4 Bd. 3 (2000), S. 100–103.

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.