如何引用没有子图的综合图,并使生成的超链接显示为
图 1(a)
在 RevTex 文档类中,就像其他发表论文:
我的代码是
\documentclass[preprint,prl,aps]{revtex4-2}
\usepackage{graphicx}
\usepackage[colorlinks=true, citecolor=blue, urlcolor=blue, linkcolor=blue]{hyperref}
\begin{document}
\begin{figure}
\includegraphics[width=8cm]{1}
\caption{ \label{fig:a}(a) is the first part of the figure. \label{fig:b}(b) is the second \dots}
\end{figure}
In Fig.~\ref{fig:a}(a) we \dots
In Fig.~\ref{fig:b}(b) we \dots
\end{document}
编译结果
我希望“1(a)”作为超链接呈现蓝色,而不仅仅是“1”。
答案1
您可以使用\autoref
。
\documentclass{article}
\usepackage{graphicx}
\usepackage{subcaption}
\usepackage{hyperref}
\begin{document}
\begin{figure}[htb]
\centering
\begin{subfigure}[b]{0.48\linewidth}
\centering\includegraphics[width=4cm]{example-image-a}
\caption{Caption a.}
\label{fig:a}
\end{subfigure}
\begin{subfigure}[b]{0.48\linewidth}
\centering\includegraphics[width=4cm]{example-image-b}
\caption{Caption a.}
\label{fig:b}
\end{subfigure}
\caption{Overall caption.}
\end{figure}
In \autoref{fig:a} we \dots
\end{document}
如果您使用cleveref
,请使用该nameinlink
选项。
\documentclass{article}
\usepackage{graphicx}
\usepackage{subcaption}
\usepackage{hyperref}
\usepackage[nameinlink]{cleveref}
\begin{document}
\begin{figure}[htb]
\centering
\begin{subfigure}[b]{0.48\linewidth}
\centering\includegraphics[width=4cm]{example-image-a}
\caption{Caption a.}
\label{fig:a}
\end{subfigure}
\begin{subfigure}[b]{0.48\linewidth}
\centering\includegraphics[width=4cm]{example-image-b}
\caption{Caption a.}
\label{fig:b}
\end{subfigure}
\caption{Overall caption.}
\end{figure}
In \Cref{fig:a} we \dots
\end{document}
答案2
您需要手动添加子标签。
\documentclass[preprint,prl,aps]{revtex4-2}
\usepackage{graphicx}
\usepackage[colorlinks=true, citecolor=blue, urlcolor=blue, linkcolor=blue]{hyperref}
\begin{document}
\begin{figure}
\includegraphics[width=8cm]{example-image}
\caption{(a) is the first part of the figure.(b) is the second \dots}
\label{fig:global}
\makeatletter
\let\save@currentlabel\@currentlabel
\edef\@currentlabel{\save@currentlabel(a)}\label{fig:a}
\edef\@currentlabel{\save@currentlabel(b)}\label{fig:b}
\makeatother
\end{figure}
In Fig.~\ref{fig:a} we \dots
In Fig.~\ref{fig:b} we \dots
\end{document}