![在 revtex 中,如何引用没有子图的完整图,并使生成的超链接显示为“图 1(a)”?](https://linux22.com/image/478080/%E5%9C%A8%20revtex%20%E4%B8%AD%EF%BC%8C%E5%A6%82%E4%BD%95%E5%BC%95%E7%94%A8%E6%B2%A1%E6%9C%89%E5%AD%90%E5%9B%BE%E7%9A%84%E5%AE%8C%E6%95%B4%E5%9B%BE%EF%BC%8C%E5%B9%B6%E4%BD%BF%E7%94%9F%E6%88%90%E7%9A%84%E8%B6%85%E9%93%BE%E6%8E%A5%E6%98%BE%E7%A4%BA%E4%B8%BA%E2%80%9C%E5%9B%BE%201(a)%E2%80%9D%EF%BC%9F.png)
如何引用没有子图的综合图,并使生成的超链接显示为
图 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}