Я пишу многоязычный документ и хочу, чтобы записи библиографии были правильно расставлены через дефис для их языка. Я не хочу переводить термины в библиографии, такие как "in", "p." и "edited by". Как я читал документацию BibLaTeX, autolang=hyphen
это должно быть сделано, и мне кажется, что это работало в прошлом, но теперь это также приводит к переводу терминов, используемых в библиографии, таких как "pp." в "S." для немецкой записи, чего я и ожидал от autolang=other
. Вот MWE:
\documentclass[a4paper]{article}
\usepackage{polyglossia}
\setdefaultlanguage[variant=american]{english}
\setotherlanguage{german}
\usepackage{csquotes}
\usepackage[style=verbose-ibid,autolang=hyphen,backend=biber]{biblatex}
\addbibresource{biblatex-examples.bib}
\begin{document}
Here I cite Sigfridsson\autocite{sigfridsson} and Spiegelberg\autocite{spiegelberg}.
\printbibliography
\end{document}
Пример записей библиографии, используемых langid
для указания языка («американский» и «немецкий» соответственно). Я получаю это (с похожими результатами в сносках):
Обновлять:Поскольку проблема была идентифицирована как ошибка, я добавляю несколько номеров версий на случай, если кто-то прочтет это в будущем: BibLaTeX 3.7, Polyglossia 1.42.4.
решение1
Обновлять
polyglossia
поддержкаbiblatex
должна быть функционально эквивалентнаbabel
поддержке вbiblatex
3.14 (или выше) иpolyglossia
1.46 (или выше).
На данный момент polyglossia
поддержка в biblatex
все еще довольно шаткая. Определение версии языка ( american
vs. british
) сейчас вообще не работает.
Среда, используемая с autolang=hyphen
, hyphenrules
требует исключения при обработке biblatex
интерфейсом polyglossia
. Это рассматривается впроблема #564 на github bug tracker.
В предстоящем релизе все должно работать как и ожидалось. Если вам не нужны polyglossia
функции, вы всегда можете переключиться на babel
. В настоящее время babel
поддержка более зрелая и стабильная.