Combinação de polyglossia + biblatex + csquotes ignorando a configuração de autopunct

Combinação de polyglossia + biblatex + csquotes ignorando a configuração de autopunct

Estou tendo problemas para biblatexrespeitar a autopunctopção do csquotespacote 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 biblatexand polyglossia. With polyglossia biblatexsó pode detectar o idioma principal ( englishneste 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 versionemitirá biblatexum aviso se for usado polyglossianovamente:https://github.com/plk/biblatex/issues/845.


O esquema de pontuação americano completo para cotação só é ativado quando biblatexdetecta o inglês americano ( american) e não o inglês genérico ( english), que é idêntico ao inglês americano. Como polyglossiadetectamos 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 biblatexna bibliografia é controlada exclusivamente por biblatexe seus comandos \uspunctuatione \stdpunctuation. csquotes' autopuncta 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 englishpara americancom

\DeclareLanguageMapping{english}{american}

mas observe que isso é explicitamente desencorajado na biblatexdocumentação. A vantagem desta abordagem sobre a específica \DefineBibliographyExtras{english}{\uspunctuation}seria que ela copiaria automaticamentetodosde americanconfigurações para englishe 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}

Emma Sigfridsson e Ulf Ryde. “Comparação de métodos para derivar cargas atômicas do potencial e momentos eletrostáticos.” In: Journal of Computational Chemistry 19.4 (1998), pp. doi: 10.1002/(SICI)1096-987X(199803)19:4<377::AID-JCC1>3.0.CO;2-P.

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 biblatexe polyglossia.


Há algum tempo, eu teria recomendado inequivocamente abandonar, polyglossiase babelpossível, uma vez que babelestá desenvolvido ativamente (de novo) e polyglossiaparecia em grande parte adormecido. Na prática babelfunciona tão bem (se não melhor) polyglossiapara a maioria das línguas europeias (ocidentais), mas babeltambém faz progressos em áreas onde polyglossiaera tradicionalmente mais forte (hebraico, árabe, ...). VerDecida entre Polyglossia e Babel para LuaLaTeX em 2019. Muito recentemente houve algum desenvolvimento nopolyglossiaPá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 .)

informação relacionada