是否可以使用 href 跳转到图像而不使用标题?

是否可以使用 href 跳转到图像而不使用标题?

我在我的文档中使用了各种没有标题的图形。为了引用它们,我\refstepcounter{figure}在用 标记它们之前使用了\label{fig:label}命令。但是,当我这样做并单击图形引用时,Latex 会进入图形下方,就好像有标题一样。但是,没有标题,命令\capstart来自氢化物软件包也不起作用。我该怎么做才能解决这个问题?

MWE 如下:

\documentclass{scrartcl}
\usepackage[utf8]{inputenc} % I write in UTF8
\usepackage[T1]{fontenc} % 256 glyphs are sufficient for our purposes
\usepackage[demo]{graphicx} 
\usepackage[hypcap=true]{caption}
\usepackage[list=true]{subcaption} % Provides subfigures with captions and lists them in ToC
\usepackage{hyperref} % Options configured later
\usepackage{hypcap} % For anchorage
\usepackage{float} % For additional position specifiers etc.
\usepackage{lipsum}

\begin{document}
    \section{Introduction}
    \lipsum[6-7]
    Please see \ref{fig:try}.
    \lipsum[8-10]
    \begin{figure}[H]\capstart
        \includegraphics[width=\textwidth,height=10cm]{try}
        \refstepcounter{figure} \label{fig:try}
    \end{figure}
\end{document}

答案1

首先,如果您加载该hypcap包,该包的 hyperref-caption 功能caption将被关闭,因为在这种情况下,该caption包假定您想使用该hypcap包的功能/命令,而不是使用该caption包的 hyperref-caption 功能。

\phantom...现在有一个可能的解决方案:与该包提供的命令类似,hyperrefcaption包提供的命令如下\phantomcaption

\documentclass{scrartcl}
\usepackage[utf8]{inputenc} % I write in UTF8
\usepackage[T1]{fontenc} % 256 glyphs are sufficient for our purposes
\usepackage[demo]{graphicx} 
\usepackage[hypcap=true]{caption}
\usepackage[list=true]{subcaption} % Provides subfigures with captions and lists them in ToC
\usepackage{hyperref} % Options configured later
\usepackage{float} % For additional position specifiers etc.
\usepackage{lipsum}

\begin{document}
    \section{Introduction}
    \lipsum[6-7]
    Please see \ref{fig:try}.
    \lipsum[8-10]
    \begin{figure}[H]
        \includegraphics[width=\textwidth,height=10cm]{try}
        \phantomcaption \label{fig:try}
    \end{figure}
\end{document}

\phantomcaption增加figure计数器(但仅在\ContinuedFloat未使用时),处理超链接和超目标等等,但不排版标题本身。

另外,也可以使用\captionlistentry与此相同的功能,\phantomcaption但会将条目放入图形列表中:

\documentclass{scrartcl}
\usepackage[utf8]{inputenc} % I write in UTF8
\usepackage[T1]{fontenc} % 256 glyphs are sufficient for our purposes
\usepackage[demo]{graphicx} 
\usepackage[hypcap=true]{caption}
\usepackage[list=true]{subcaption} % Provides subfigures with captions and lists them in ToC
\usepackage{hyperref} % Options configured later
\usepackage{float} % For additional position specifiers etc.
\usepackage{lipsum}

\begin{document}
    \listoffigures
    \section{Introduction}
    \lipsum[6-7]
    Please see \ref{fig:try}.
    \lipsum[8-10]
    \begin{figure}[H]
        \includegraphics[width=\textwidth,height=10cm]{try}
        \captionlistentry{Whatever} \label{fig:try}
    \end{figure}
\end{document}

我必须承认,我不确定如果该hypcap包被额外加载,这些解决方案会如何表现,所以如果您想使用该caption包提供的这些功能,我建议放弃它。

但是,这两种解决方案都会增加figure计数器并\ref为您提供对计数器的引用figure。如果这不是您想要的,我建议您使用\hypertarget\hyperlink,就像 Werner 建议的那样。

相关内容