Alterando os delimitadores de autor e localização no biblatex

Alterando os delimitadores de autor e localização no biblatex

Estou tentando alterar os seguintes delimitadores de pontos para vírgulas:

Delimitadores que estou querendo mudar

Arquivo Tex:

\documentclass[paper=A4,12pt]{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}


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

\renewcommand{\multinamedelim}[0]{ / }
\renewcommand{\finalnamedelim}[0]{ / }

\DeclareNameAlias{sortname}{last-first}
\DeclareNameAlias{default}{last-first}


%\usepackage{xpatch}
%\def\dopatchbibdrivereditorcomma#1{%
%  \xpatchbibdriver{#1}
%    {\usebibmacro{maintitle+booktitle}%
%     \newunit\newblock}
%    {\usebibmacro{maintitle+booktitle}%
%     \setunit{\addcomma\space}\newblock}
%    {}
%    {\typeout{failed to patch driver for type #1}}}
%\forcsvlist{\dopatchbibdrivereditorcomma}{inbook,incollection,inproceedings}



\begin{document}

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

\newpage
\tableofcontents
\addtocontents{toc}{\protect\thispagestyle{empty}}
\newpage
\setcounter{page}{1}
\section{Erster Abschnitt}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua\Footcite[Vgl.][]{dbwnf}. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua\Footcite[Vgl.][]{dbwnf}. .. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
\printbibliography[keyword=pl, title={Primärliteratur}]
\end{document}

arquivo bib:

@book{test,
    Author = {Test},
    Booktitle = {test},
    Date-Added = {2019-08-04 15:48:27 +0200},
    Date-Modified = {2019-08-04 15:48:37 +0200},
    Publisher = {test},
    Title = {test},
    Year = {2019}}

@incollection{dbwnf,
    Address = {M{\"u}nchen},
    Author = {Dietrich Bonhoeffer},
    Booktitle = {Dietrich Bonnhoeffer Werke},
    Date-Added = {2019-08-04 14:01:21 +0200},
    Date-Modified = {2019-08-04 14:54:00 +0200},
    Editor = {Kuske, Martin and T{\"o}dt, Ilse},
    Keywords = {pl},
    Title = {Nachfolge},
    Year = {1989}}

Verifiquei a biblatex-extdocumentação, mas não consegui identificar os delimitadores relevantes e como alterá-los.

Responder1

O delimitador entre o nome do autor (ou editor) e o título é chamado nametitledelim. Pode ser alterado com

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

O delimitador antes do local não possui um nome especial. biblatexapenas imprime o de costume \newunitpunctlá. Poderíamos modificar ext-standarda pubinstorg+location+datemacro aqui para imprimir uma vírgula antes dolocation

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

Parece-me, no entanto, que você deseja uma vírgula em quase todos os lugares, exceto antes do "in:", então talvez a seguinte ideia, onde \newunitpuncté definido como uma vírgula e adicionamos apenas um ponto final antes do "in:", funciona melhor para você.

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

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

\renewcommand*{\newunitpunct}{\addcomma\space}

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

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

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


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


\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{test,
  Author    = {Test},
  Booktitle = {test},
  Publisher = {test},
  Title     = {test},
  Year      = {2019},
}
@incollection{dbwnf,
  Address   = {München},
  Author    = {Dietrich Bonhoeffer},
  Booktitle = {Dietrich Bonnhoeffer Werke},
  Editor    = {Kuske, Martin and Tödt, Ilse},
  Keywords  = {pl},
  Title     = {Nachfolge},
  Year      = {1989},
}
\end{filecontents}

\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}


\begin{document}
Lorem\Footcite[Vgl.][]{dbwnf}.
Ipsum\Footcite[Vgl.][]{test}.

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

Vgl. Bonhoeffer, Dietrich, Nachfolge. In: Kuske, Martin/Tödt, Ilse, Hrsg., Dietrich Bonnhoeffer Werke, Munique, 1989.//Vgl. Teste, teste, teste, 2019.


De qualquer forma, você pode dar uma olhada nas pequenas modernizações em seu código que apliquei no MWE acima.

informação relacionada