我必须在我的文档中插入一个图形(例如图 1),其中已经有 3 个区域,我想将它们称为图 1(a)、图 1(b) 和图 1(c)。当我尝试将 \ref{图 1} 与 hyperref 包一起使用时,它会生成显示图 1 的超链接(或它为给定图形生成的任何计数)。我是否可以根据是否要引用图 1(a)、图 1(b) 或图 1(c) 来修改此计数?一般来说,我想在超链接中添加 (a)、(b) 或 (c)。
谢谢
答案1
如果您使用该subcaption
包及其subfigure
环境,则可以通过(i)将每个图形放在单独的subfigure
环境中,(ii)在每个图形中提供\caption
和\label
语句subfigure
,以及(iii)使用\ref
-type调用与各个子图(或,您称之为“区域”)相关联的标签来生成所需类型的交叉引用。
\documentclass{article}
\usepackage[demo]{graphicx} % omit 'demo' option in real doc.
\usepackage[skip=0.333\baselineskip]{subcaption}
\usepackage[colorlinks,allcolors=blue]{hyperref}
\usepackage[nameinlink,capitalize]{cleveref} % for 'clever' cross-references.
\begin{document}
\begin{figure}[ht]
\centering
\begin{subfigure}{0.5\linewidth}
\includegraphics[width=\textwidth]{pic1a}
\caption{Region A} \label{fig:1a}
\end{subfigure}
\bigskip
\begin{subfigure}{0.5\linewidth}
\includegraphics[width=\textwidth]{pic1b}
\caption{Region B} \label{fig:1b}
\end{subfigure}
\bigskip
\begin{subfigure}{0.5\linewidth}
\includegraphics[width=\textwidth]{pic1c}
\caption{Region C} \label{fig:1c}
\end{subfigure}
\caption{A figure with three subfigures} \label{fig:1}
\end{figure}
A cross-reference to \cref{fig:1}. Cross-references to \cref{fig:1a,fig:1b,,fig:1c}.
\end{document}