我在我的文档中使用了各种没有标题的图形。为了引用它们,我\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...
现在有一个可能的解决方案:与该包提供的命令类似,hyperref
该caption
包提供的命令如下\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 建议的那样。