Problema de delimitador con Biblatex-DW: eliminar coma de la cita

Problema de delimitador con Biblatex-DW: eliminar coma de la cita

Actualmente estoy trabajando en individualizar el estilo Biblatex-DW para adaptarlo a las necesidades de mi tesis doctoral. Hasta ahora he resuelto algunos problemas por mi cuenta, pero el problema actual me causa un verdadero dolor de cabeza ya que no estoy acostumbrado al código.

El estilo de cita final para todo tipo de documentos debe ser:

[apellido del autor en versales] ([año]), [número de página sin prefijo].

Hasta ahora obtuve:

[apellido del autor en versales], ([año]) [número de página sin prefijo].

Completé la mayoría de los campos para asegurarme de que no se imprima ningún campo en la cita que no pertenezca allí.

Aquí está mi intento de un MWE:

    \documentclass[11pt, a4paper]{book}
    \usepackage{acronym}
    \usepackage[ngerman]{babel}
    \usepackage[parfill]{parskip}
    \usepackage{csquotes}

\begin{filecontents*}{test.bib} 
@misc{bar_zitiertest_2004,
  title = {Zitiertest Dokument 2 Autoren},
  shorttitle = {Krzttl},
  author = {Bär, Gold and Rahmen, Bilder},
  date = {2004-05-19},
  publisher = {{Verlag}},
  url = {www.url.aub},
  urldate = {2020-01-13},
  abstract = {Zusammenfassung},
  langid = {deutsch},
  note = {Extra}
}

@mvbook{baum_zitiertest_2006,
  title = {Zitiertest Buch 3 Autoren},
  shorttitle = {Krzttl},
  author = {Baum, Tannen and Zange, Kneif and Kopf, Schafs},
  date = {2006-05-19},
  edition = {7},
  volume = {1},
  publisher = {{Verlag}},
  location = {{Ort}},
  url = {www.url.de},
  urldate = {2020-01-13},
  abstract = {Zusammenfassung},
  isbn = {0815},
  langid = {deutsch},
  note = {Extra},
  number = {55},
  pagetotal = {999},
  series = {Reihe},
  volumes = {2}
}

@incollection{eis_zitiertest_2004,
  title = {Zitiertest Buchteil 5 Autoren},
  shorttitle = {Krzttl},
  booktitle = {Warum Schneemänner keine Heißgetränke zu sich nehmen sollten ...},
  author = {Eis, Schoko and Tasse, Kaffee and Salat, Kartoffel and Duck, Donald and Mann, Schnee},
  date = {2004-05-19},
  edition = {1},
  volume = {5},
  pages = {999},
  publisher = {{Verlag}},
  location = {{Ort}},
  url = {www.url.aub},
  urldate = {2020-01-13},
  abstract = {Zusammenfassung},
  isbn = {0815},
  langid = {deutsch},
  note = {Extra},
  number = {45},
  series = {Reihe},
  volumes = {9}
}
\end{filecontents*}

\usepackage[
    style=footnote-dw,
    annotation=true,
    edstringincitations=true,
    idembib=false,
    library=true,   
    namefont=smallcaps,
    shorthandibid=false,
    xref=false,
    abbreviate=true,
    backref=false,
    bibwarn=true,
    ibidtracker=false,      
    idemtracker=false,
    isbn=false,
    maxnames=3,
    natbib=true,
    sorting=nyt,
    sortlocale=auto,
    url=false,
    backend=biber
]{biblatex}

    \addbibresource{test.bib}

\usepackage[utf8]{inputenc}
\usepackage[LGR, T1]{fontenc}   
\usepackage{geometry}   
    \geometry{margin=3cm}                   

\renewcommand*{\bibmultinamedelim}{\addsemicolon\space}
\renewcommand*{\citefinalnamedelim}{\addsemicolon\space}
\renewcommand*{\citemultinamedelim}{\addsemicolon\space}

%Last names only in citations:
\DeclareNameAlias{sortname}{family-given}
\DeclareNameAlias{default}{labelname}

%Getting rid of fields/lists/names in citations:
\AtEveryCitekey{\clearfield{abstract}}%
\AtEveryCitekey{\clearfield{afterword}}%
\AtEveryCitekey{\clearfield{annotation}}%
\AtEveryCitekey{\clearfield{annotator}}%
\AtEveryCitekey{\clearfield{annote}}%
\AtEveryCitekey{\clearfield{authortype}}%
\AtEveryCitekey{\clearfield{bookauthor}}%
\AtEveryCitekey{\clearfield{bookpagination}}%
\AtEveryCitekey{\clearfield{booksubtitle}}%
\AtEveryCitekey{\clearfield{booktitle}}%
\AtEveryCitekey{\clearfield{chapter}}%
\AtEveryCitekey{\clearfield{commentator}}%
\AtEveryCitekey{\clearfield{crossref}}%
\AtEveryCitekey{\clearfield{day}}%
\AtEveryCitekey{\clearfield{edition}}%
\AtEveryCitekey{\clearfield{eventtitle}}%
\AtEveryCitekey{\clearfield{howpublished}}%
\AtEveryCitekey{\clearfield{issue}}%
\AtEveryCitekey{\clearfield{journal}}%
\AtEveryCitekey{\clearfield{journaltitle}}%
\AtEveryCitekey{\clearfield{key}}%
\AtEveryCitekey{\clearfield{month}}%
\AtEveryCitekey{\clearfield{note}}%
\AtEveryCitekey{\clearfield{number}}%
\AtEveryCitekey{\clearfield{organization}}%
\AtEveryCitekey{\clearfield{pages}}%
\AtEveryCitekey{\clearfield{publisher}}%
\AtEveryCitekey{\clearfield{school}}%
\AtEveryCitekey{\clearfield{series}}%
\AtEveryCitekey{\clearfield{shorttitle}}%
\AtEveryCitekey{\clearfield{title}}%
\AtEveryCitekey{\clearfield{type}}%
\AtEveryCitekey{\clearfield{url}}%
\AtEveryCitekey{\clearfield{urldate}}%
\AtEveryCitekey{\clearfield{urlyear}}%
\AtEveryCitekey{\clearfield{volume}}%
\AtEveryCitekey{\clearfield{volumes}}%
\AtEveryCitekey{\clearlist{address}}%
\AtEveryCitekey{\clearlist{institution}}%
\AtEveryCitekey{\clearlist{location}}%
\AtEveryCitekey{\clearname{editor}}%
\AtEveryCitekey{\clearname{journal}}%

%Getting rid of >in:<:
\DefineBibliographyStrings{ngerman}{in = {}}

%Putting the date into parens for the citation & undoing it for the bibliography again:
\DeclareFieldFormat{date}{\mkbibparens{#1}}
\AtBeginBibliography{\DeclareFieldFormat{date}{#1}}

%Getting rid of the page prefix:
\DeclareFieldFormat{postnote}{#1}
\DeclareFieldFormat{multipostnote}{#1}
\renewcommand*{\bibpagespunct}{\addcolon\addspace}
\renewcommand{\postnotedelim}{%
\iffieldpages{postnote}{\addspace}{\addspace}}

\begin{document}

Citation nr. 1\cite[19]{bar_zitiertest_2004}\newline
Citation nr. 2\cite[13-56]{baum_zitiertest_2006}\newline
Citation nr. 3\cite[2-3]{eis_zitiertest_2004}

   \printbibliography 
   \end{document}

Feliz de corregir errores y responder preguntas lo antes posible - Flo

Respuesta1

footnote-dwes un estilo de la familia 'detallado' que imprime la entrada de la bibliografía completa en citas a pie de página. Lo que quieres es más un estilo de año de autor. Parece muy complicado intentar convertir un estilo detallado en un estilo de año de autor porque equivale a eliminar casi toda la información de las citas. Eso puede resultar bastante engorroso.

Sería mejor simplemente tomar un estilo authoryearcomo estilo de cita. Generalmente, biblatexle permite seleccionar diferentes bibstylevalores citestyle. Desafortunadamente, los estilos del biblatex-dwpaquete no se pueden combinar fácilmente con otros estilos arbitrarios que no sean del paquete, ya que existe una fuerte dependencia entre el estilo de cita y de bibliografía. Entonces una solución como bibstyle=footnote-dw, citestyle=authoryear,no funciona.

Si desea ceñirse a un biblatex-dwestilo, creo que la solución más sencilla es tomarlo authortitle-dwcomo base y modificar sus comandos de cita para convertirlos en un estilo de año de autor en lugar de un estilo de título de autor. Resulta que eso es realmente factible sin demasiado trabajo.

Solo necesitamos cargar style=authortitle-dw,y luego necesitamos labeldateparts=true,para que biblatexproporcione labeldateinformación. Las redefiniciones de cite:titley cite:title:forcedeberían explicarse por sí solas. También modificamos cite:edstringincitations para utilizar el delimitador correcto.

\documentclass[11pt, a4paper]{article}
\usepackage[ngerman]{babel}
\usepackage{csquotes}

\usepackage[
    backend=biber,
    style=authortitle-dw,
    sorting=nyt,
    labeldateparts=true,
    maxnames=3,
%
    annotation=true,
    edstringincitations=true,
    idembib=false,
    library=true,
    namefont=smallcaps,
    shorthandibid=false,
    xref=false,
    abbreviate=true,
    backref=false,
    bibwarn=true,
    ibidtracker=false,
    idemtracker=false,
    isbn=false,
    natbib=true,
    url=false,
]{biblatex}


\DeclareDelimFormat[footcite,smartcite]{nameyeardelim}{\addspace}
\renewbibmacro*{cite:edstringincitations}{%
  \ifbool{cbx:edstringincitations}
    {\usebibmacro{cite:editorstrg/translatorstrg}}
    {}%
  \setunit{\printdelim{nameyeardelim}}}

\DeclareFieldFormat{labeldate}{%
  \ifbool{cbx:parens}
    {#1}
    {\mkbibparens{#1}}}

\renewbibmacro*{cite:title}{%
  \ifboolexpr{
    test {\ifentrytype{review}}
    and
    not test {\iffieldundef{xref}}
  }
    {\printtext[review]{\bbx@review{\thefield{xref}}}}
    {\printtext[bibhyperref]{\printlabeldateextra}}}

\renewbibmacro*{cite:title:force}{%
  \printtext[bibhyperref]{\printlabeldateextra}}

\renewcommand*{\bibmultinamedelim}{\addsemicolon\space}
\renewcommand*{\citemultinamedelim}{\bibmultinamedelim}
\renewcommand*{\citefinalnamedelim}{\citemultinamedelim}


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

\renewbibmacro*{in:}{}

\DeclareFieldFormat{postnote}{\mknormrange{#1}}
\DeclareFieldFormat{multipostnote}{\mknormrange{#1}}
\renewcommand{\postnotedelim}{\addcomma\space}

\renewcommand*{\bibpagespunct}{\addcolon\addspace}

\begin{filecontents*}{\jobname.bib}
@misc{bar_zitiertest_2004,
  title      = {Zitiertest Dokument 2 Autoren},
  shorttitle = {Krzttl},
  author     = {Bär, Gold and Rahmen, Bilder},
  date       = {2004-05-19},
  publisher  = {Verlag},
  url        = {www.url.aub},
  urldate    = {2020-01-13},
  abstract   = {Zusammenfassung},
  langid     = {ngerman},
  note       = {Extra}
}
@mvbook{baum_zitiertest_2006,
  title      = {Zitiertest Buch 3 Autoren},
  shorttitle = {Krzttl},
  author     = {Baum, Tannen and Zange, Kneif and Kopf, Schafs},
  date       = {2006-05-19},
  edition    = {7},
  volume     = {1},
  publisher  = {Verlag},
  location   = {Ort},
  url        = {www.url.de},
  urldate    = {2020-01-13},
  abstract   = {Zusammenfassung},
  isbn       = {0815},
  langid     = {ngerman},
  note       = {Extra},
  number     = {55},
  pagetotal  = {999},
  series     = {Reihe},
  volumes    = {2}
}
@incollection{eis_zitiertest_2004,
  title      = {Zitiertest Buchteil 5 Autoren},
  shorttitle = {Krzttl},
  booktitle  = {Warum Schneemänner keine Heißgetränke zu sich nehmen sollten \dots},
  author     = {Eis, Schoko and Tasse, Kaffee and Salat, Kartoffel
                and Duck, Donald and Mann, Schnee},
  date       = {2004-05-19},
  edition    = {1},
  volume     = {5},
  pages      = {999},
  publisher  = {Verlag},
  location   = {Ort},
  url        = {www.url.aub},
  urldate    = {2020-01-13},
  abstract   = {Zusammenfassung},
  isbn       = {0815},
  langid     = {ngerman},
  note       = {Extra},
  number     = {45},
  series     = {Reihe},
  volumes    = {9}
}
\end{filecontents*}
\addbibresource{\jobname.bib}

\begin{document}
Citation nr. 1\autocite[19]{bar_zitiertest_2004}

Citation nr. 2\autocite[13-56]{baum_zitiertest_2006}

Citation nr. 3\autocite[2-3]{eis_zitiertest_2004}

\printbibliography
\end{document}

Bar; Rahmen (2004), 19.//Baum; Zange; Kopf (2006), 13–56.//Eis ua (2004), 2–3.

información relacionada