Я пытаюсь создать ссылку на плавание, которое не использует подпись. Если я включаю \label {нечто} в рамках плавания и ссылаюсь на него с помощью \pageref {нечто}, корректный номер страницы отображен в моем документе PDF, но гиперссылке, созданной hyperref ссылками пакета на другую страницу (первая страница раздела). Если я включаю подпись, прежде чем маркировка в плавании, ссылка hyperref перейдет к корректной странице.
Существует ли способ заставить ссылку hyperref работать правильно без включения подписи в плавании? Или иначе существует ли способ подавить дисплей подписи, таким образом, я могу включать один без него показываемый?
Ниже минимальный пример. Если я обрабатываю его с помощью pdflatex, я получаю три страницы. "Число" показывают на второй странице, и третья страница говорит, правильно, "Посмотрите рис. на стр. 2". Но гиперссылка на эти '2' говорит, "Переходят к странице 1", и если я нажимаю ее, она берет меня к странице 1.
Если я поместил пустой \caption {} перед \label {нечто}, то гиперссылка работает правильно, но я не хочу показывать подпись для своего плавания.
\documentclass[11pt]{memoir}
\usepackage{hyperref}
\begin{document}
some text
\clearpage
\begin{figure}
a figure
\label{foo}
\end{figure}
more text
\clearpage
See figure on page \pageref{foo}.
\end{document}
Команда \ label
ссылается на последний вызов \ refstepcounter
. \ caption
распознает, что он находится в среде рисунка, и вызывает \ refstepcounter {figure}
. Вы можете позвонить по \ refstepcounter
самостоятельно.
Чтобы избежать пропуска числа в серии цифр, вы можете создать собственный бессмысленный счетчик с помощью \ newcounter {dummy}
. Результат:
\documentclass{scrreprt}
\usepackage{hyperref}
\newcounter{dummy}
\begin{document}
\chapter{First}
\newpage
\begin{figure}
{\Huge FIGURE}
\refstepcounter{dummy}
\label{fig:figure}
\end{figure}
\chapter{Second}
Goto \pageref{fig:figure}
\end{document}
Создает гиперссылку на конец рисунка. (работает на моей машине :-)
Обратите внимание, что \ ref {fig: figure}
бессмысленно.
Загрузка пакета caption
должна подавлять вывод пустых заголовков. Метки для float всегда определяются командой caption, предшествующей команде label.