![Combinação de polyglossia + biblatex + csquotes ignorando a configuração de autopunct](https://rvso.com/image/399808/Combina%C3%A7%C3%A3o%20de%20polyglossia%20%2B%20biblatex%20%2B%20csquotes%20ignorando%20a%20configura%C3%A7%C3%A3o%20de%20autopunct.png)
Estou tendo problemas para biblatex
respeitar a autopunct
opção do csquotes
pacote ao usar o polyglossia
. Quero imprimir minhas referências como
IN Processo. “Título da Obra.” Em: 2019.
não como
IN Processo. “Título da Obra”. Em: 2019.
(Observe a colocação do .
antes ”
).
No MWE a seguir, isso é conseguido quando uso o Babel, masnãoquando eu 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}
Estou fazendo algo errado ou acabei de encontrar um bug em um desses pacotes? Eu compilo meu documento usando LuaLaTeX.
Responder1
Este é o resultado de uma incompatibilidade entre a interface de linguagem do biblatex
and polyglossia
. With polyglossia
biblatex
só pode detectar o idioma principal ( english
neste caso) e não a variante do idioma ( american
). Freqüentemente, esse problema passa despercebido, mas pode causar alguns efeitos indesejados em certos casos extremos como este. Essa é a razão pela qual o próximo version
emitirá biblatex
um aviso se for usado polyglossia
novamente:https://github.com/plk/biblatex/issues/845.
O esquema de pontuação americano completo para cotação só é ativado quando biblatex
detecta o inglês americano ( american
) e não o inglês genérico ( english
), que é idêntico ao inglês americano. Como polyglossia
detectamos apenas english
, portanto, o esquema de pontuação dos EUA não está ativado. (Só para ficar claro: a movimentação da pontuação entre aspas produzidas por biblatex
na bibliografia é controlada exclusivamente por biblatex
e seus comandos \uspunctuation
e \stdpunctuation
. csquotes
' autopunct
a opção não tem voz nisso.)
A linha a seguir permitirá regras de pontuação de cotação nos EUA, mesmo com texto simplesenglish
\DefineBibliographyExtras{english}{\uspunctuation}
Como alternativa, você pode mapear english
para american
com
\DeclareLanguageMapping{english}{american}
mas observe que isso é explicitamente desencorajado na biblatex
documentação. A vantagem desta abordagem sobre a específica \DefineBibliographyExtras{english}{\uspunctuation}
seria que ela copiaria automaticamentetodosde american
configurações para english
e não apenas o \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}
Uma questão relacionada é discutida emEstilo de cotação Biblatex-Chicago e fora dos EUA?.Data localizada com biblatex e poliglossia,\DeclareLanguageMappingSuffix, herança e poliglossia no biblatexeComo fazemos com que as variantes da linguagem Polyglossia funcionem com as bibliografias do Biblatex?lidar com os problemas de compatibilidade entre biblatex
e polyglossia
.
Há algum tempo, eu teria recomendado inequivocamente abandonar, polyglossia
se babel
possível, uma vez que babel
está desenvolvido ativamente (de novo) e polyglossia
parecia em grande parte adormecido. Na prática babel
funciona tão bem (se não melhor) polyglossia
para a maioria das línguas europeias (ocidentais), mas babel
também faz progressos em áreas onde polyglossia
era tradicionalmente mais forte (hebraico, árabe, ...). VerDecida entre Polyglossia e Babel para LuaLaTeX em 2019. Muito recentemente houve algum desenvolvimento nopolyglossia
Página GitHub, então talvez o projeto esteja ganhando força novamente. (Como um aparte, acho que a comunidade LaTeX se beneficiaria se os dois projetos fossem fundidos de alguma forma ou forma, em vez de continuarem a ser desenvolvidos de forma independente com um objetivo semelhante. Os altos e baixos do desenvolvimento apenas confundem as pessoas sobre qual pacote adotar .)