fancyref
我在使用 fontspec/polyglossia 设置时无法正确使用德语。
这是没有任何语言设置的裸设置:
\documentclass{scrartcl}
\usepackage{fontspec}
\usepackage{fancyref}
\begin{document}
Das ist ein deutscher Text
\begin{figure}
\centering
Das soll eine Abbildung sein
\label{fig:sample}
\caption{Beispiel-Abbildung}
\end{figure}
\pagebreak
Das ist die zweite Seite mit einem Verweis auf \fref{fig:sample}.
\end{document}
有趣的是,并且将是fref
指“上一页”图的结果。
在这个初始阶段,图形编号为“图 1”,引用为“上一页的图形”。
添加
\usepackage{polyglossia}
\setmainlanguage{german}
会将标题更改为“Abbildung 1”(这是正确的),并将引用更改为“上一页的 abbildung”。请注意“abbildung”中的小写字母“a”,这是不正确的,尽管值得注意的是引用中使用的是德语单词。
根据fancyref
手册,应该将其设置为德语
\usepackage{german}
\usepackage[german]{fancyref}
然而,这会导致 a) 出现错误消息“!您尚未定义语言 [。” 和 b) 在文档开头包含文本“]german”。
如果我删除\setmainlanguage{german}
参考资料,则会显示“figure auf der vorherigen Seite”。
如果我删除\usepackage{german}
它,它会显示“上一页的 Abbildung”
我对这一切完全感到困惑。我需要什么才能获得包含 LuaLaTeX 和fontspec
德语fancyref
参考资料的德语文档?
答案1
第一件事:\label
必须走后 \caption
。
“正确”的解决方案是使用语言选项fancyref
:
\documentclass{scrartcl}
\usepackage{polyglossia}
\usepackage{fontspec}
\usepackage[german]{fancyref}
\setmainlanguage{german}
\begin{document}
Das ist ein deutscher Text
\begin{figure}
\centering
Das soll eine Abbildung sein
\caption{Beispiel-Abbildung}
\label{fig:sample}
\end{figure}
\pagebreak
Das ist die zweite Seite mit einem Verweis auf \fref{fig:sample}.
\end{document}
不过,我会使用varioref
和cleveref
。
\documentclass{scrartcl}
\usepackage{polyglossia}
\usepackage{fontspec}
\usepackage[german]{varioref}
\usepackage[noabbrev]{cleveref}
\setmainlanguage{german}
\begin{document}
Das ist ein deutscher Text
\begin{figure}
\centering
Das soll eine Abbildung sein
\caption{Beispiel-Abbildung}
\label{fig:sample}
\end{figure}
\pagebreak
Das ist die zweite Seite mit einem Verweis auf \vref{fig:sample}.
\end{document}