【问题标题】:Referencing a subfigure in LaTeX that doesn't have a caption引用 LaTeX 中没有标题的子图
【发布时间】:2016-05-26 20:24:40
【问题描述】:

我在 LaTeX 中使用推荐的包 subcaption 并排放置了 2 个图形。

\begin{figure}
  \centering
  \begin{subfigure}[b]{0.48\textwidth}
    \includegraphics[width=\textwidth]{events/pad_p2}
    \label{fig:pad_p2}
  \end{subfigure}
  ~
  \begin{subfigure}[b]{0.48\textwidth}
    \includegraphics[width=\textwidth]{events/pad_p8}
    \label{fig:pad_p8}
  \end{subfigure}

  \caption{Pads.}
\end{figure}

然后我尝试在文本中引用它们:

Look at figure~\ref{fig:pad_p8}

但是我在编译文档时收到一个错误,指出引用不存在。

如果我在每个子图中添加一个标题,那么错误就会消失,但这不是我真正想要做的。

如何在不为每个子图添加caption 的情况下解决问题?

【问题讨论】:

  • 首先,它不是编译错误\reference 不存在只是一个警告。什么会期望\reference 无论如何都会返回?请注意,如果它不存在,读者将无法找到任何对应的编号......所以当你一开始没有把它放在那里时,请求一些东西似乎很奇怪。
  • 我希望它返回对 all figure 构造的引用。所以右边的数字不是 5b,而是指 5。我知道我可以通过在图形结构中放置一个标签来做到这一点,但如果以后我需要更改任何内容,它就会变得复杂。
  • 如果您的结构是这样的,您将从不使用编号子图,那么可以更新\labelsubfigure 环境中的工作方式。获得正确引用的唯一方法是,如果将内容放在\caption 之后,\caption 会步进关联的计数器并设置正确的引用。
  • tex.stackexchange.com/questions/16625/… 帮助...虽然你需要使用不同的包。
  • 你至少应该放一个空标题

标签: latex subfigure subcaption


【解决方案1】:

使用包

    \usepackage{graphicx}
    \usepackage{caption}
    \usepackage{subcaption}
    \usepackage{subfigure}
    \usepackage{subfloat}
    \usepackage{float}

在适当的位置*为多栏文章编写这样的代码(如果不需要,请使用figure

 \begin{figure*}[ht!]
        \centering
            \subfigure[] 
            {
                \label{subfig:lab1}
                \includegraphics[width=.3\textwidth]{figures/1.pdf} % .png .jpg ... according to supported graphics files
            } 
            %
            \subfigure[] 
            {
                \label{subfig:lab2}
                \includegraphics[width=.3\textwidth]{figures/2.pdf} % .png .jpg ... according to supported graphics files
            }
            %
            \subfigure[] 
            {
                \label{subfig:lab3}
                \includegraphics[width=.3\textwidth]{figures/3.pdf} % .png .jpg ... according to supported graphics files
            }\\ % for new row or line of subfigures
            %
            \subfigure[Caption 4] 
            {
                \label{subfig:lab4}
                \includegraphics[width=.3\textwidth]{figures/4.pdf} % .png .jpg ... according to supported graphics files
            }
            %
            \subfigure[Caption 5] 
            {
                \label{subfig:lab6}
                \includegraphics[width=.3\textwidth]{figures/5.pdf} % .png .jpg ... according to supported graphics files
            }
            %
            \subfigure[Caption 6] 
            {
                \label{subfig:lab6}
                \includegraphics[width=.3\textwidth]{figures/6.pdf} % .png .jpg ... according to supported graphics files 
            }
            %
        \caption{Figure Caption}
        \label{fig:Figure ref}
        \end{figure*}

仅使用 ~\ref{subfig:lab1} is subref. 将显示为 Use just 6(a) is subref. 或类似。

【讨论】:

  • 混合不同的子图包很容易出现问题。决定是要使用subfigure 还是subcaption,但不能同时使用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-19
  • 2010-11-01
相关资源
最近更新 更多