Exibições inteligentes ?? 3.2.2 em vez do nome de referência correto

Exibições inteligentes ?? 3.2.2 em vez do nome de referência correto

Estou tentando usar o intelligentref para minhas referências, mas até agora não funciona para mim. Atualmente minha configuração está assim:

\documentclass[a4paper]{article}

% PACKAGES
\usepackage[english,ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{hyperref}
\usepackage[ngerman]{varioref}
\usepackage[ngerman]{cleveref}

\begin{document}

\section{Test}\label{test}

This is some text containing a self-reference \cref{test}.

\end{document}

Isso produz:

This is some text containing a self-reference ??.

Látex me diz:

LaTeX Warning: Reference `test' on page 1 undefined on input line 14.

E quando eu executo pela segunda vez (apenas usando pdflatex test.tex):

LaTeX Warning: \Cref reference format for label type `' undefined on input line 14.

Já tentei definir o idioma globalmente colocando ngermaninto \documentclass[a4paper,ngerman] ..e também tentei germane até mesmo englishsem efeito.

Alguém tem uma ideia do que estou fazendo de errado?

Responder1

Você precisa alterar a ordem de carregamento do pacote. variorefdeve ser carregado antes hyperrefe cleverefprecisa ser o último dos pacotes relacionados à referência:

\documentclass[a4paper]{article}

% PACKAGES
\usepackage[english,ngerman]{babel}
\usepackage[utf8]{inputenc}

\usepackage[ngerman]{varioref}
\usepackage{hyperref}
\usepackage[ngerman]{cleveref}

\begin{document}

\section{Test}\label{test}

This is some text containing a self-reference \cref{test}.

\end{document}

insira a descrição da imagem aqui

informação relacionada