我有一些包含子图的图要包含在我的文档中。我不使用子图环境,而是只生成一个 EPS,其中每个部分都标记为 A、B 等。(编辑希望以这种方式上传子图)。
我想在我的博士论文中使用这些图并使用命令引用它们\figref
。问题是,如果我写类似的东西
( \figref{fig:label} A)
,那么“图 1”部分是蓝色的,包含指向该图的链接,但“A”是黑色的。我觉得这有点丑,所以我想重新定义,\figref
以便它可以接受类似这样的参数\figref{fig:label}{A}
,并且引用和链接(我在我的文档中使用包 hyperref)显示为蓝色。有什么办法吗?
答案1
我的subcaption
包提供了一个名为\phantomcaption
(resp. \phantomsubcaption
) 的命令,用于支持带有内置子标题的子图的标签和引用。使用此方法无需重新定义\figref
,它应该可以与您现有的定义一起使用。
一个例子:
\documentclass{article}
\usepackage{subcaption}
\usepackage[demo]{graphicx}
% Define \figref as abbreviation of "Figure~\ref{...}"
\newcommand\figref{Figure~\ref}
% Use uppercase letters for sub-figures
\renewcommand\thesubfigure{\Alph{subfigure}}
\begin{document}
\begin{figure}
\centering
\begin{subfigure}{0.4\textwidth}
\includegraphics{A}
\phantomcaption
\label{fig:test:A}
\end{subfigure}
\qquad
\begin{subfigure}{0.4\textwidth}
\includegraphics{B}
\phantomcaption
\label{fig:test:B}
\end{subfigure}
\caption{A demo figure}
\end{figure}
\begin{figure}
\begin{subfigure}{\linewidth}%
\centering
\includegraphics{AandBandC}
\phantomcaption
\label{fig:test2:A}%
\phantomcaption
\label{fig:test2:B}%
\phantomcaption
\label{fig:test2:C}%
\end{subfigure}
\caption{A demo figure}
\label{fig:test2}
\end{figure}
See \figref{fig:test:A} and \figref{fig:test2:C}...
\end{document}
有关详细信息,请参阅subcaption
包文档。
(请注意,这需要该subcaption
软件包的版本 1.1(2011/08/17)。)
答案2
您可以将命令定义为:
\newcommand{\figref}[2][{}]{\hyperref[#2]{\figurename~\ref{#2}#1}}
将其用作\figref{label}
仅包含一个图的图形,并将其用作\figref[A]{label}
想要引用图 1A 的图形。
希望这可以帮助!