Configuración de idioma (fancyref) con fontspec y poliglosia

Configuración de idioma (fancyref) con fontspec y poliglosia

Tengo problemas fancyrefpara trabajar correctamente en alemán junto con la configuración de fontspec/polyglossia.

Esta es la configuración básica sin ninguna configuración de idioma:

\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}

Lo interesante es y será el resultado de lo frefque se refiere a la figura "de la página anterior".

En esta etapa inicial la figura se numera como "Figura 1" y la referencia dice "figura de la página anterior".

Añadiendo

\usepackage{polyglossia}
\setmainlanguage{german}

cambiará el título a "Abbildung 1" (que es correcto) y la referencia a "abbildung en la página anterior". Tenga en cuenta la "a" minúscula en "abbildung", que no es correcta, aunque es notable que la referencia utilice la palabra alemana.

Según el fancyrefmanual, esto debería configurarse en alemán con

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

Sin embargo, esto da como resultado a) el mensaje de error "! Aún no has definido el idioma". y b) el texto "]alemán" que se incluirá al principio del documento.

Si elimino \setmainlanguage{german}la referencia, se lee "figure auf der vorherigen Seite".

Si lo elimino \usepackage{german}, se lee "Abbildung en la página anterior".

Estoy completamente confundido acerca de todo esto. ¿Qué necesito para un documento en alemán con LuaLaTeX y referencias fontspecen alemán ?fancyref

Respuesta1

Lo primero: \labeltiene que irsedespués \caption.

La solución "adecuada" es utilizar la opción de idioma para 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}

ingrese la descripción de la imagen aquí

Aunque usaría variorefy 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}

información relacionada