Xelatex 似乎不会在德语书目中使用连字符,即使条目明确声明为德语。xelatex + biber + xelatex + xelatex。Pdflatex 没有他们的问题。如何解决这个问题?
\documentclass[12pt,a4paper,twoside]{memoir}
\usepackage{ifxetex}
\ifxetex
\usepackage{fontspec}
\usepackage{xunicode}
\usepackage{xltxtra}
\usepackage{microtype}
\defaultfontfeatures{Ligatures=TeX}
\setmainfont[Mapping=tex-text]{CMU Serif}
\newfontfamily{\cyrillicfont}[Script=Cyrillic]{CMU Serif}
\newfontfamily{\greekfont}[Script=Greek]{CMU Serif}
\setsansfont{CMU Sans Serif}
\setmonofont{CMU Typewriter Text}
\usepackage{polyglossia}
\setdefaultlanguage[spelling=modern]{russian}
\setotherlanguages{german,french,greek,latin,spanish,italian,english}
\setkeys{greek}{variant=ancient}
\setkeys{german}{spelling=new}
\enablehyphenation
\usepackage[backend=biber,citestyle=gost-footnote,bibstyle=gost-footnote,language=auto,autolang=other,autocite=footnote,citetracker=true,ibidtracker=false,opcittracker=false,citereset=chapter,citepages=omit,sorting=nty,notetype=foot+end]{biblatex}
\usepackage{csquotes}
\usepackage{tocvsec2}
\usepackage{filecontents,hyperref}
\begin{filecontents*}{\jobname.bib}
@Incollection{Reimitz:2004b,
author = {Helmut Reimitz},
title = {Der Weg zum Königtum in historiographischen Kompendien der Karolingerzeit},
booktitle = {Der Dynastiewechsel von 751. Vorgeschichte, Legitimationsstrategien und Erinnerung},
editor = {Matthias Becher and Jörg Jarnut},
address = {Münster},
publisher = {Scriptorium},
year = {2004},
pages = {283-326},
language = {german},
hyphenation = {german},
shorttitle = {Der Weg zum Königtum},
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\begin{document}
\large
Test.\autocites{Reimitz:2004b}
\printbibliography
\end{document}
答案1
发布的 MWE 为我正确地连字
虽然hyphenation
现在已弃用该字段,而改用该langid
字段,但它仍可继续使用,并由 Biber 重新映射到langid
。事实上,当我运行 MWE 时,.bbl
文件包含
\field{langid}{german}
某些代码可以阻止这种字段别名的发生,这并不是不可想象的,但是您的 MWE 中不存在这种代码。
检查您的.bbl
文件是否包含\field{langid}{german}
。然后检查 XeLaTeX 是否可以对任何德语单词进行连字(如果标记正确)[即检查德语连字是否在上下文之外起作用biblatex
]。
请注意,MWE 缺少第四行\fi
的匹配。\ifxetex