我如何引用由两幅图像(a)和(b)组成的图片,但文件中已经包含这两幅图像?

我如何引用由两幅图像(a)和(b)组成的图片,但文件中已经包含这两幅图像?

我需要文档中的一张图片,其中的一个文件中已经包含两张图片。我只需要在文本中将该图引用为图 1a 和图 1b。我尝试对包装执行此操作subfig,但图像显示了 a 和 b 标签,它们也已打印在图像文件中。

文中引用的结果很好,我想删除该\subfloat命令产生的a和b标签。

\documentclass{article}
\usepackage{subfig}
\usepackage{cleveref}

\begin{document}

\begin{figure}
\centering
\subfloat[\label{sub:1}]{}
\subfloat[\label{sub:2}]{}
\caption{General caption}
\label{fig:test}
\end{figure}

\cref{sub:1,sub:2}

\end{document}

在此处输入图片描述

答案1

另一个解决方案是使用包的机制subcaption。它利用了这样一个事实:真正需要的是一种适当地增加计数器subfigure两次的方法。这样做的一种方法是发出\caption两次语句。另一种方法——这里追求的方法是执行两次低级\refstepcounter{subfigure}指令。由于\refstepcounter没有产生可见的输出,因此不需要做任何特殊的事情来“隐藏”空的子标题。

在此处输入图片描述

\documentclass{article}
\usepackage{subcaption,cleveref}

\begin{document}

\begin{figure}[h]
       \begin{subfigure}{1sp}
       \refstepcounter{subfigure}\label{sub:1}
       \refstepcounter{subfigure}\label{sub:2}
       \end{subfigure}
\caption{General caption}
\label{fig:test}
\end{figure}

\cref{sub:1,sub:2}

\end{document}

答案2

使用subcaption并临时将 设置labelformatempty两个\subcaptionboxes,然后通过 按原样包含图像\includegraphics

在此处输入图片描述

\documentclass{article}

\usepackage{subcaption,graphicx}
\usepackage{cleveref}

\begin{document}

\begin{figure}
  \centering
  \captionsetup[subfigure]{labelformat=empty}%
  \subcaptionbox{\label{sub:1}}{}%
  \subcaptionbox{\label{sub:2}}{}%
  \includegraphics[width=0.5\linewidth]{example-image}
  \caption{General caption}
  \label{fig:test}
\end{figure}

\cref{sub:1,sub:2}

\end{document}

另一个选择是包含原始图像的剪辑版本(使用adjustbox,例如),然后使用标准子图包来呈现它们:

在此处输入图片描述

\documentclass{article}

\usepackage{subcaption}
\usepackage[export]{adjustbox}
\usepackage{cleveref}

\begin{document}

\begin{figure}
  \centering
  \setbox1=\hbox{\includegraphics{example-image}}% Capture image in box 1
  % Trimming is: trim=<left> <bottom> <right> <top>
  % Set an appropriate value for <bottom> to trim/clip out the embedded subfigure labels (a), (b)
  \subcaptionbox{\label{sub:1}}[0.5\linewidth][c]{%
    \includegraphics[trim=0pt 35pt \fpeval{0.5*\wd1}pt 0pt,clip,width=0.5\linewidth]{example-image}}%
  \subcaptionbox{\label{sub:2}}[0.5\linewidth][c]{%
    \includegraphics[trim=\fpeval{0.5*\wd1}pt 35pt 0pt 0pt,clip,width=0.5\linewidth]{example-image}}%
  \caption{General caption}
  \label{fig:test}
\end{figure}

\cref{sub:1,sub:2}

\end{document}

答案3

不要使用可选命令\subfloat

A

\documentclass{article}
\usepackage{subfig}
\usepackage{cleveref}

\usepackage{graphicx}

\begin{document}
    
    \begin{figure}
        \centering
        \subfloat{\label{sub:1}\includegraphics[width=0.2\textwidth]{example-image-a}}\qquad
        \subfloat{\label{sub:2}\includegraphics[width=0.2\textwidth]{example-image-b}}
        \caption{General caption}
        \label{fig:test}
    \end{figure}
    
    \cref{sub:1,sub:2}
    
\end{document}

相关内容