biblatex: vírgula entre autor e ano na bibliografia ao usar o estilo ext-authoryear com introcite=label

biblatex: vírgula entre autor e ano na bibliografia ao usar o estilo ext-authoryear com introcite=label

Estou usando biblatex-extwith introcite=labelpara obter um estilo de citação como mostrado na seguinte pergunta:

Criação de uma bibliografia com recuo fixo e rótulos de ano de autor usando biblatex e biber

Isso me dá rótulos com espaço entre autor e ano tanto no rótulo quanto na bibliografia. No entanto, devo colocar um espaço entre autor e ano na etiqueta e uma vírgula entre autor e ano na entrada da bibliografia. Então eu preciso de algo assim:

Tietze et al. 2012    Tietze, Ulrich; Schenk, Christoph, 2012.
                      Halbleiterschaltungstechnik. ...

Observe que usei a seguinte solução para remover os parênteses em torno do ano:biblatex: Como remover os parênteses ao redor do ano no estilo autorano?

Enquanto procurava uma solução, encontrei

\renewcommand*{\nameyeardelim}{\addcomma\space}

mas isso só funciona para o rótulo que faz a entrada acima

Tietze et al., 2012    Tietze, Ulrich; Schenk, Christoph 2012.
                      Halbleiterschaltungstechnik. ...

Isso é o oposto do que eu preciso. Preciso de um espaço entre autor e ano no rótulo e uma vírgula na entrada da bibliografia.

Responder1

Como mencionado porDavid Purtonemos comentários, nameyeardelimé um delimitador sensível ao contexto. Isso significa que você pode dar diferentes definições para bibliografia e citações. O introciterótulo possui o contexto bbx@introcite, que é diferente do contexto bibdo restante da bibliografia, portanto podemos usar valores diferentes nameyeardelimaqui.

O padrão nameyeardelimpara todos os contextos é \addspace, portanto, só precisamos alterar o delimitador do bibcontexto para uma vírgula seguida de um espaço.

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[british]{babel}
\usepackage{csquotes}
\usepackage[style=ext-authoryear, backend=biber, introcite=label, dashed=false]{biblatex}
\addbibresource{biblatex-examples.bib}

\setlength{\bibitemsep}{0.5\baselineskip plus 0.5\baselineskip}
\setlength{\introcitewidth}{6em}

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

\DeclareFieldFormat{biblabeldate}{#1}

\begin{document}
\cite{sigfridsson,worman,geer,knuth:ct:a}
\printbibliography
\end{document}

Sigfridsson e Ryde 1998//Sigfridsson, Emma e Ulf Ryde, 1998.

informação relacionada