在 revtex 中,如何引用没有子图的完整图,并使生成的超链接显示为“图 1(a)”?

在 revtex 中,如何引用没有子图的完整图,并使生成的超链接显示为“图 1(a)”?

如何引用没有子图的综合图,并使生成的超链接显示为

图 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}

在此处输入图片描述

相关内容