如何添加两个子图的组合交叉引用?

如何添加两个子图的组合交叉引用?

我想要两个子图,然后像“如图 2a、2b 所示”那样引用它们 - 从而将它们合并起来。

我怎样才能做到这一点?(或者如果你知道 lyx 或 latex 中更好的方法)

答案1

我稍微修改了 Gonzalo Medina 的例子,以便使用聪明人包(除其他外)根据交叉引用的“类型”自动确定其格式。

\documentclass{article}

\usepackage[demo]{graphicx}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{cleveref}

\AtBeginDocument{%
  \renewcommand{\crefpairconjunction}{,}%% instead of " and\nobreakspace"
  \renewcommand{\crefmiddleconjunction}{,}% instead of ", "
  \renewcommand{\creflastconjunction}{,}% instead of " and\nobreakspace"
}

\begin{document}

\begin{figure}
\begin{subfigure}[b]{.5\linewidth}
  \centering
  \includegraphics{name1}
  \caption{A subfigure}
  \label{fig:one-one}
\end{subfigure}%
\begin{subfigure}[b]{.5\linewidth}
  \centering
  \includegraphics{name1}
  \caption{A subfigure}
  \label{fig:one-two}
\end{subfigure}
\caption{A figure with two subfigures}
\label{fig:one}
\end{figure}

\dots\ as seen in \Cref{fig:one-one,fig:one-two} \dots

\end{document}

编辑:添加了\crefpairconjunction&friends的重新定义。

在此处输入图片描述

答案2

您可以使用标准\ref命令或包中的命令\ref来实现您想要的功能(应该优先于包:\subrefsubcaptionsubfigsubcaption 与 subfig)。这里有一个小例子:

\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{caption}
\usepackage{subcaption}

\begin{document}

\begin{figure}
\begin{subfigure}[b]{.5\linewidth}
  \centering
  \includegraphics{name1}
  \caption{A subfigure}
  \label{fig:1a}
\end{subfigure}%
\begin{subfigure}[b]{.5\linewidth}
  \centering
  \includegraphics{name1}
  \caption{A subfigure}
  \label{fig:1b}
\end{subfigure}
\caption{A figure with two subfigures}
\label{fig:1}
\end{figure}

...as seen in Figures~\ref{fig:1a},\ref{fig:1b}...

...as seen in Figures~\ref{fig:1a},\ref{fig:1}\subref{fig:1b}...    
    \end{document}

编辑:我添加了一个链接,该问题的答案解释了为什么 subcaption 应该优于 subfig。

答案3

您可以使用子图包,然后是\label每个子图,例如

\documentclass{article}
\usepackage{subfig}

\begin{document}
\begin{figure}
 \centering
 \subfloat[This is figA]{\label{fig:figA}\Large A}\hspace{3cm}
 \subfloat[This is figB]{\label{fig:figB}\Large B}
 \caption{Here goes the main caption}
 \label{fig:figAB}
\end{figure}

Here are Figure~\ref{fig:figA} and Figure~\ref{fig:figB}, and a combination thereof: 
Figure~\ref{fig:figA},\subref*{fig:figB}.
\end{document}

用您的数字替换\Large A和。\Large B

输出如下:

在此处输入图片描述

我想您可以编写一个简单的宏来完成对\ref和的组合调用\subref

相关内容