En BibLaTeX, ¿cómo delimitar el título y el subtítulo con dos puntos, pero no cuando el título termina con un signo de interrogación?
Con BibLaTeX, me gustaría separar el título y el subtítulo con dos puntos, como se hace en algunos estilos de citas. Sin embargo, me gustaría que el mecanismo detecte si el título termina entre comillas y, si lo hace, omita subtitlepunct
.
La documentación en §4.7.3 dice:
\addcolon
Agrega dos puntos a menos que esté precedido por una coma, un punto y coma, otros dos puntos o un punto.
¿Puedo agregar "comillas" a esa lista? Es decir, ¿hay alguna solución que evite \isdot
?
\documentclass{article}
\begin{filecontents}{test.bib}
@book{testbook,
author = {A. U. Thor},
year = {2020},
title = {An example title?},
subtitle = {An example subtitle}
}
\end{filecontents}
\usepackage{biblatex}
\addbibresource{test.bib}
\renewcommand*{\subtitlepunct}{\addcolon\space}
\begin{document}
\nocite{testbook}
\printbibliography
\end{document}
Respuestas
Puede declarar una puntuación aceptable antes \addcolon
con \DeclarePunctuationPairs
. La configuración predeterminada
\DeclarePunctuationPairs{colon}{*!?}
permite la abreviatura de puntos, signos de exclamación y signos de interrogación antes de dos puntos. Después de todos los demás signos de puntuación, se suprimen los dos puntos.
Probablemente quieras
\documentclass{article}
\usepackage{biblatex}
\renewcommand*{\subtitlepunct}{\addcolon\space}
\DeclarePunctuationPairs{colon}{*}
\begin{filecontents}{\jobname.bib}
@book{testbook,
author = {A. U. Thor},
year = {2020},
title = {An example title?},
subtitle = {An example subtitle}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{testbook}
\printbibliography
\end{document}

Tenga en cuenta que \DeclarePunctuationPairs
generalmente es específico del idioma y, por lo tanto, generalmente debe vivir en él \DefineBibliographyExtras
. Esto no es necesario en el MWE (que no carga babel
ni polyglossia
), pero puede ser muy relevante en su aplicación del mundo real. Consulte Reconocimiento de puntuación Biblatex para obtener más detalles.