![Combinación de poliglosia + biblatex + csquotes ignorando la configuración de puntuación automática](https://rvso.com/image/399808/Combinaci%C3%B3n%20de%20poliglosia%20%2B%20biblatex%20%2B%20csquotes%20ignorando%20la%20configuraci%C3%B3n%20de%20puntuaci%C3%B3n%20autom%C3%A1tica.png)
Tengo problemas para biblatex
respetar la autopunct
opción del csquotes
paquete cuando uso polyglossia
. Quiero imprimir mis referencias como
EN Actas. “Título de la Obra”. En: 2019.
no como
EN Actas. “Título de la Obra”. En: 2019.
(Tenga en cuenta la ubicación del .
antes ”
).
En el siguiente MWE, esto se logra cuando uso Babel, peronocuando lo uso polyglossia
.
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@inproceedings{example,
author = {Proceedings, I. N.},
year = {2019},
title = {Title of the Work},
}
\end{filecontents}
\newif\ifusepolyglossia
\usepolyglossiatrue
%\usepolyglossiafalse
\ifusepolyglossia
\usepackage{polyglossia}
\setdefaultlanguage[variant=usmax]{english}
\else
\usepackage[american]{babel}
\fi
\usepackage[autopunct]{csquotes}
\usepackage[backend=biber]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
\cite{example}
\printbibliography
\end{document}
¿Estoy haciendo algo mal o simplemente encontré un error en uno de estos paquetes? Compilo mi documento usando LuaLaTeX.
Respuesta1
Este es el resultado de una incompatibilidad entre la interfaz de idioma de biblatex
y polyglossia
. Con polyglossia
biblatex
solo puede detectar el idioma principal ( english
en este caso) y no la variante del idioma ( american
). A menudo, este problema pasará desapercibido, pero puede causar algunos efectos no deseados en ciertos casos extremos como este. Esa es la razón por la cual el siguiente version
de biblatex
emitirá una advertencia si se usa polyglossia
nuevamente:https://github.com/plk/biblatex/issues/845.
El esquema de puntuación estadounidense completo para citas solo se habilita cuando biblatex
se detecta inglés americano ( american
) y no con inglés genérico ( english
), que por lo demás es idéntico al inglés americano. Solo polyglossia
detectamos english
, por lo que el esquema de puntuación de EE. UU. no está habilitado. (Para que quede claro: el movimiento de la puntuación entre las comillas producidas por biblatex
en la bibliografía está controlado únicamente por biblatex
y sus comandos \uspunctuation
y la opción \stdpunctuation
. csquotes
' autopunct
no tiene voz y voto en esto).
La siguiente línea habilitará las reglas de puntuación y comillas de EE. UU. incluso con palabras simples.english
\DefineBibliographyExtras{english}{\uspunctuation}
Alternativamente, puede english
asignar american
con
\DeclareLanguageMapping{english}{american}
pero tenga en cuenta que esto se desaconseja explícitamente en la biblatex
documentación. La ventaja de este enfoque sobre el específico \DefineBibliographyExtras{english}{\uspunctuation}
sería que copiaría automáticamentetodode american
s configuraciones english
y no solo \uspunctuation
.
\documentclass{article}
\newif\ifusepolyglossia
\usepolyglossiatrue
%\usepolyglossiafalse
\ifusepolyglossia
\usepackage{polyglossia}
\setdefaultlanguage[variant=usmax]{english}
\else
\usepackage[american]{babel}
\fi
\usepackage[autopunct]{csquotes}
\usepackage[backend=biber]{biblatex}
\DefineBibliographyExtras{english}{\uspunctuation}
\addbibresource{biblatex-examples.bib}
\begin{document}
\cite{sigfridsson}
\printbibliography
\end{document}
Un tema relacionado se analiza en¿Estilo de cotización Biblatex-Chicago y fuera de EE. UU.?.Fecha localizada con biblatex y poliglosia.,\DeclareLanguageMappingSuffix, herencia y poliglosia en biblatexy¿Cómo conseguimos que las variantes del idioma Polyglossia funcionen con las bibliografías de Biblatex?Tratar los problemas de compatibilidad entre biblatex
y polyglossia
.
Hace un tiempo hubiera recomendado claramente abandonarlo polyglossia
si babel
fuera posible, ya que babel
se desarrolla activamente (de nuevo) y polyglossia
en gran medida parecía inactivo. En la práctica babel
funciona tan bien (si no mejor) polyglossia
para la mayoría de los idiomas europeos (occidentales), pero babel
también avanza en áreas donde polyglossia
tradicionalmente era más fuerte (hebreo, árabe, ...). VerDecidir entre Polyglossia y Babel para LuaLaTeX en 2019. Muy recientemente ha habido algún desarrollo en lapolyglossia
página de GitHub, por lo que tal vez el proyecto esté ganando impulso nuevamente. (Aparte, creo que la comunidad LaTeX se beneficiaría si los dos proyectos se fusionaran de alguna forma en lugar de continuar desarrollándose de forma independiente con un objetivo similar. Los altibajos del desarrollo simplemente confunden a las personas sobre qué paquete tomar .)