Benutzerdefinierte Formatierung für den Typ @inreference

Benutzerdefinierte Formatierung für den Typ @inreference

Für eine Arbeit muss ich einen Zitierstil für Enzyklopädiereferenzen übernehmen, der völlig anders aussieht als bei anderen Quellen (z. B. Monographien, Sammlungen):

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

Ist dies mit BibLatex möglich? Der Rest des Dokuments funktioniert bei mir einwandfrei, daher müsste die Lösung nur für diesen Eintragstyp funktionieren.

Im Dokument verwende ich style=ext-verbose-inotemit einigen Änderungen:

\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-Datei als Referenz:

@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}}

Antwort1

Normalerweise @inreferenceist dies ein Alias ​​für @incollection, aber die gewünschte Ausgabe unterscheidet sich so sehr von , @incollectiondass es sinnvoll ist, einen neuen Bibliografietreiber zu definieren, der speziell auf die Erzeugung der gewünschten Ausgabe zugeschnitten ist.

\DeclareBibliographyDriver{inreference}ist nur eine Kopie von\DeclareBibliographyDriver{incollection}(Z. 338-369 in v0.7a von ext-standard.bbx)wobei incollectionersetzt durch inreference. inreference:parentübernimmt die ganze schwere Arbeit.

Ein @inreferenceEintrag sollte fast immer ein @pagesFeld haben, also habe ich eines hinzugefügt. Außerdem habe ich die Definitionen leicht umgeordnet, damit ich leichter den Überblick behalte, was vor sich geht, und ein paar Kleinigkeiten geändert. (Zum Beispiel ist es nicht mehr nötig, wenn Sie mit der Dokumentsprache sortlocale=de_DE,laden ).babelngerman

\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.

verwandte Informationen