Настройки языка (fancyref) с fontspec и полиглоссией

Настройки языка (fancyref) с fontspec и полиглоссией

У меня возникли проблемы с 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 на предыдущей странице". Обратите внимание на строчную "a" в "abbildung", что неправильно, хотя примечательно, что ссылка вообще использует немецкое слово.

Согласно fancyrefруководству, необходимо установить немецкий язык.

\usepackage{german}
\usepackage[german]{fancyref}

Однако это приводит к а) появлению сообщения об ошибке «! Вы еще не определили язык [». и б) текст «]german» будет включен в начало документа.

Если я уберу \setmainlanguage{german}ссылку, получится «figure auf der vorherigen Seite».

Если я удалю, \usepackage{german}то будет написано «Развитие на предыдущей странице»

Я совсем запутался во всем этом. Что мне нужно для немецкого документа с 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}

Связанный контент