Problema de delimitador com Biblatex-DW: Remova a vírgula da citação

Problema de delimitador com Biblatex-DW: Remova a vírgula da citação

Atualmente estou trabalhando na individualização do estilo Biblatex-DW para atender às necessidades da minha tese de doutorado. Até agora consegui resolver alguns problemas sozinho, mas o problema atual me causa uma verdadeira dor de cabeça, pois não estou muito acostumado com o código.

O estilo final de citação para todos os tipos de documentos deve ser:

[sobrenome do autor em minúsculas] ([ano]), [número da página sem prefixo].

Até agora eu consegui:

[sobrenome do autor em minúsculas], ([ano]) [número da página sem prefixo].

Preenchi a maioria dos campos para garantir que nenhum campo seja impresso na citação que não pertença a ele.

Aqui está minha tentativa de um 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}

Fico feliz em corrigir erros e responder perguntas o mais rápido possível - Flo

Responder1

footnote-dwé um estilo da família 'detalhado' que imprime a entrada completa da bibliografia em citações de notas de rodapé. O que você quer é mais um estilo de ano de autor. Parece muito complicado tentar fazer com que um estilo detalhado seja um estilo autor-ano, porque isso equivale a excluir quase todas as informações das citações. Isso pode ser bastante complicado.

Seria melhor usar apenas um estilo authoryearcomo o seu estilo de citação. Geralmente, biblatexpermite selecionar diferentes bibstylevalores citestyle. Infelizmente, os estilos do biblatex-dwpacote não podem ser facilmente combinados com outros estilos arbitrários que não sejam do pacote, uma vez que existe uma forte dependência entre o estilo de citação e a bibliografia. Portanto, uma solução como bibstyle=footnote-dw, citestyle=authoryear,essa não funciona.

Se você quiser manter um biblatex-dwestilo, acho que a solução mais fácil é tomar authortitle-dwcomo base e modificar seus comandos de citação para se tornar um estilo autor-ano em vez de um estilo autor-título. Acontece que isso é realmente possível sem muito trabalho.

Só precisamos carregar style=authortitle-dw,o que precisamos labeldateparts=true,para biblatexfornecer labeldateinformações. As redefinições de cite:titlee cite:title:forcedevem ser autoexplicativas. Também modificamos cite:edstringincitations para usar o delimitador correto.

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

informação relacionada