ЛАТЕКСНАЯ ссылка hyperref переходит к неправильной странице

Я пытаюсь создать ссылку на плавание, которое не использует подпись. Если я включаю \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}
15
задан ecto 30 April 2010 в 20:16
поделиться

2 ответа

Команда \ 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} бессмысленно.

16
ответ дан 1 December 2019 в 02:55
поделиться

Загрузка пакета caption должна подавлять вывод пустых заголовков. Метки для float всегда определяются командой caption, предшествующей команде label.

0
ответ дан 1 December 2019 в 02:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: