Estoy usando biblatex-ext
with introcite=label
para obtener un estilo de cita como se muestra en la siguiente pregunta:
Crear una bibliografía con sangría fija y etiquetas de año de autor usando biblatex y biber
Esto me da etiquetas con un espacio entre autor y año tanto en la etiqueta como en la bibliografía. Sin embargo, debo tener un espacio entre autor y año en la etiqueta y una coma entre autor y año en la entrada de bibliografía. Entonces necesito algo como eso:
Tietze et al. 2012 Tietze, Ulrich; Schenk, Christoph, 2012.
Halbleiterschaltungstechnik. ...
Tenga en cuenta que utilicé la siguiente solución para eliminar los paréntesis alrededor del año:biblatex: ¿Cómo eliminar los paréntesis alrededor del año en estilo autoraño?
Mientras buscaba una solución, encontré
\renewcommand*{\nameyeardelim}{\addcomma\space}
pero esto sólo funciona para la etiqueta que hace la entrada anterior
Tietze et al., 2012 Tietze, Ulrich; Schenk, Christoph 2012.
Halbleiterschaltungstechnik. ...
Esto es lo contrario de lo que necesito. Necesito un espacio entre autor y año en la etiqueta y una coma en la entrada de bibliografía.
Respuesta1
Como lo mencionaDavid Purtonenlos comentarios, nameyeardelim
es un delimitador sensible al contexto. Esto significa que puede darle diferentes definiciones para la bibliografía y las citas. La introcite
etiqueta tiene el contexto bbx@introcite
, que es diferente del contexto bib
del resto de la bibliografía, por lo que podemos usar valores diferentes nameyeardelim
aquí.
El valor predeterminado nameyeardelim
para todos los contextos es \addspace
, por lo que solo necesitamos cambiar el delimitador del bib
contexto a una coma seguida de un espacio.
\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}