
Я пытаюсь использовать cleverref для своих ссылок, но пока это не работает для меня. В настоящее время моя настройка выглядит так:
\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}
Это означает:
This is some text containing a self-reference ??.
Латекс говорит мне:
LaTeX Warning: Reference `test' on page 1 undefined on input line 14.
И когда я запускаю его во второй раз (просто используя pdflatex test.tex
):
LaTeX Warning: \Cref reference format for label type `' undefined on input line 14.
Я уже пытался установить язык глобально, вставив ngerman
и \documentclass[a4paper,ngerman] ..
, а также пробовал german
и даже english
вместо этого, но безрезультатно.
Кто-нибудь знает, что я делаю не так?
решение1
Вам необходимо изменить порядок загрузки пакетов. varioref
должен быть загружен до hyperref
и cleveref
должен быть последним из ссылающихся связанных пакетов:
\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}