我如何更改 hyperref 建立的链接?

我如何更改 hyperref 建立的链接?

我的文件:

\documentclass[12pt,a4paper]{mwrep}
\usepackage{polski}
\usepackage[utf8]{inputenc}

\usepackage[hidelinks,unicode]{hyperref}

\usepackage[T1,OT4]{fontenc}
\usepackage{graphicx}
\usepackage{hypcap}

\let\origfigure\figure
\let\endorigfigure\endfigure

\makeatletter
\g@addto@macro\@floatboxreset\centering
\makeatother

\begin{document}

\tableofcontents
\listoffigures

\chapter{Bzdety}\label{rozdzial-bzdety}
W rozdziale \ref{rozdzial-bzdety} ze strony \pageref{rozdzial-bzdety}
znajduje się obrazek \ref{obraz-jesien} na stronie \pageref{obraz-jesien}.

The first paragraph.

\begin{figure}
    \includegraphics{a.jpg}
    \caption[Opcjonalny skrócony opis do spisu obrazków]{Opis}
    \label{obraz-jesien}
\end{figure}

The second paragraph.
\end{document}

hyerref为图片标题创建漂亮的超链接。例如,我可以创建图片列表。这很好。但每个链接都指向标题,而图片位于标题上方,因此读者需要向上滚动才能看到它。我如何更改序言中的某些内容,以便单击此类超链接会转到图片顶部?除非必要,否则我不想更改序言之外的任何内容。

答案1

hypcap使用以下选项加载all\usepackage[all]{hypcap}。有关详细信息,请参阅文档的第 1.1 节。

编辑:这是一个相当简单的工作示例(仅保留了居中浮点数的代码):

\documentclass{mwrep}

\usepackage[draft]{graphicx}
\usepackage{hyperref}
\usepackage[all]{hypcap}

\makeatletter
\g@addto@macro\@floatboxreset\centering
\makeatother

\begin{document}

\listoffigures

\chapter{foo}

\begin{figure}[h]
  \includegraphics{a.jpg}
  \caption{Opis}
\end{figure}

\end{document} 

相关内容