使用 biblatex 和 polyglossia 输出参考书目翻译器

使用 biblatex 和 polyglossia 输出参考书目翻译器

当我尝试在参考书目中显示翻译器时,出现了一些奇怪的行为。德语“Übers. v.”设置为一个“V”,上面有两个点。

我认为这是因 polyglossia ans 加载的拉丁语所致,而文档中稍后需要拉丁语。如果我删除它,\setotherlanguage[variant=classic]{latin}一切就都好了。但我真的不明白为什么 biblatex 不直接使用主语言?有人知道如何解决这个问题吗?

这是我的 MWE 和我的参考书目文件:

\documentclass[11pt, pagesize=false]{scrbook}
\usepackage{fontspec}

\usepackage{polyglossia}
    \setdefaultlanguage{german}
    \setotherlanguage[variant=classic]{latin}
    \setotherlanguage[variant=ancient]{greek}

\setmainfont[Numbers=OldStyle]{TeX Gyre Pagella}

%Bibliographie und Abbildungen
\usepackage[style=authoryear,backend=biber, isbn=false]{biblatex}
\bibliography{test-Biblio}

%BEGIN DOCUMENT
\begin{document}
\nocite{bruni_interpretatione_2008}
\printbibliography

\end{document}

bib 文件如下:

@book{bruni_interpretatione_2008,
    Address = {Ottawa},
    Author = {Bruni, Leonardo},
    Date-Added = {2018-08-27 12:05:41 +0200},
    Date-Modified = {2018-08-27 12:05:41 +0200},
    File = {Katalog plus - Universit{\"a}tsbibliothek Freiburg:/Users/moritzheffter/Library/Application Support/Zotero/Profiles/yc5solgb.default/zotero/storage/U95MWV98/Results.html:text/html},
    Isbn = {978-2-7603-3037-5},
    Keywords = {Quelle},
    Langid = {german},
    Publisher = {Les Presses de l'Univ. d'Ottawa},
    Series = {Collection {Regards} sur la traduction},
    Title = {De interpretatione recta -- {De} la traduction parfaite},
    Translator = {Le Blanc, Charles},
    Year = {2008}}

答案1

这是由以下错误引起的:polyglossia2017 年 1 月报告的一个错误引起的:https://github.com/reutenauer/polyglossia/issues/172该错误仅发生在 XeLaTeX 中,LuaLaTeX 不受影响。

latin.ldf每当语言加载了或 时,都会在当前范围内错误地设置\classicuclccodes(定义为) 。但和只应在语言附加部分中重新定义,并且应在之后进行清理(例如\def\classicuclccodes{\lccode`\V=`\u \uccode`\u=`\V}variant=classicvariant=medieval\uccode\lccodegloss-classiclatin.ldf),因此它们只适用于拉丁文本,而不适用于其他语言。

这里的问题是,biblatex需要\uppercase自动\MakeUppercase将“übers. von”大写,如果设置错误,“ü”会转换为上面带有两个点的“V”。

如果您不需要的“U/V”功能,您可以在使用明确选项加载后(实际上每次您明确请求拉丁语时)polyglossia使用 将其关闭。latinvariantvariant\noclassicuclccodes

\documentclass[11pt, pagesize=false]{scrbook}
\usepackage{fontspec}

\usepackage{polyglossia}
    \setdefaultlanguage{german}
    \setotherlanguage[variant=classic]{latin}
    \noclassicuclccodes % work around https://github.com/reutenauer/polyglossia/issues/172
    \setotherlanguage[variant=ancient]{greek}

\setmainfont[Numbers=OldStyle]{TeX Gyre Pagella}

\usepackage[style=authoryear,backend=biber, isbn=false]{biblatex}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{bruni_interpretatione_2008,
    Address = {Ottawa},
    Author = {Bruni, Leonardo},
    Isbn = {978-2-7603-3037-5},
    Keywords = {Quelle},
    Langid = {german},
    Publisher = {Les Presses de l'Univ. d'Ottawa},
    Series = {Collection {Regards} sur la traduction},
    Title = {De interpretatione recta -- {De} la traduction parfaite},
    Translator = {Le Blanc, Charles},
    Year = {2008}}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}
\nocite{bruni_interpretatione_2008}
\printbibliography
\end{document}

Bruni, Leonardo (2008)。《正确翻译——正确翻译》。Charles Le Blanc 著。《翻译须知》。渥太华:渥太华大学出版社。

相关内容