.png)
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 on the previous page”。請注意“abbildung”中的小寫“a”,這是不正確的,儘管值得注意的是該參考文獻完全使用了德語單字。
根據fancyref
手冊,應將其設定為德語
\usepackage{german}
\usepackage[german]{fancyref}
但是,這會導致 a) 錯誤訊息“!您尚未定義語言 [ ”。 b) 文字「]德文」包含在文件的開頭。
如果我刪除\setmainlanguage{german}
參考文獻“figure auf der vorherigen Seite”。
如果我刪除\usepackage{german}
它,它會顯示“Abbildung on the previous page”
我對這一切完全感到困惑。對於包含 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
and 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}