执行

执行

这很奇怪,我的代码运行良好,然后我实际上只是走出房间,当我回来并编译时,我收到错误未定义的控制序列 \subfloat。

基本上,我试图将 3 个图像(cc.png、bb.png 和 tt.png)并排排列在文档中,而不是像 latex 尝试的那样排列在一列中。这是我的代码的相关部分:

\documentclass{article}
\usepackage[top=0.5in]{geometry}
\usepackage{fullpage}
\usepackage{graphicx}
\usepackage{auto-pst-pdf}
\usepackage{epstopdf}
\usepackage{float}
\usepackage{subfloat}
\usepackage{caption}
\usepackage{axodraw4j}
\usepackage{pstricks}
\usepackage{color}

\DeclareMathSizes{10}{12}{10}{6}


\begin{document} 

\title{Higgs Boson Deacay} 
\author{name} 
\maketitle 


    \begin{figure}[h!t]
        \centering
        \subfloat{\includegraphics[scale=0.7]{cc}}
        \subfloat{\includegraphics[scale=0.7]{bb}}
        \subfloat{\includegraphics[scale=0.7]{tt}}
    \end{figure}

\end{document}

我的输出没有问题,我确定我没有改变任何东西(尽管我承认我肯定做了,否则就不会有问题),但现在这段代码一直给我我所说的错误。我已经看了很长时间了,问题可能就在我眼前,但我看不到。任何帮助都将不胜感激。

答案1

subfloat包未定义\subfloat(并且从未定义过它)。其用途不同:您可以将不同的标题分组到同一个数字下并附加一个字母,类似于环境subequations(from amsmath)所做的。

因为\subfloat你需要加载subfig

\usepackage{subfig}

或者

\usepackage[caption=false]{subfig}

如果您不想caption与包一起加载subfig(某些类,特别是IEEEtran不允许加载caption

subcaption但是,如果你对所用软件包没有限制,则应该考虑:它更新且维护良好。此外,它没有 在使用subfig时出现的小缺陷。hyperref

顺便说一句你不应该说

\begin{figure}[!ht]

(放置位置!无关紧要),但是

\begin{figure}[!htp]

因为否则你可能会阻塞浮动队列。

答案2

请不要使用subfloatsubfig朋友,因为它们在某些文档类中存在某些问题。这是使用最新包的解决方案subcaption

执行

\documentclass{article}
\pagestyle{empty}% for cropping
\usepackage[demo]{graphicx}
\usepackage{subcaption}
\begin{document} 
\begin{figure}[ht!]
    \centering
    \begin{subfigure}{.4\linewidth}
        \includegraphics[scale=0.7]{cc}
        \caption{cc}
    \end{subfigure}
    \hskip2em
    \begin{subfigure}{.4\linewidth}
        \includegraphics[scale=0.7]{bb}
        \caption{bb}
    \end{subfigure}
    \begin{subfigure}{.4\linewidth}
        \includegraphics[scale=0.7]{tt}
        \caption{tt}
    \end{subfigure}
    \caption{Several subfigures}
\end{figure}
\end{document}

输出

在此处输入图片描述

答案3

我更喜欢使用多个子图。

为此,您必须包含子标题包声明:

\usepackage{subcaption}

然后,将 3 个数字并排放置的代码如下所示:

\begin{figure}[t!]
    \centering
    \begin{subfigure}[b]{0.25\textwidth}
           \centering
           \includegraphics[width=\textwidth]{fig1.png}
            \caption{}
            \label{fig:a}
    \end{subfigure}
    \begin{subfigure}[b]{0.25\textwidth}
            \centering
            \includegraphics[width=\textwidth]{fig2.png}
            \caption{}
            \label{fig:b}
    \end{subfigure}
\begin{subfigure}[b]{0.25\textwidth}
            \centering
            \includegraphics[width=\textwidth]{fig3.png}
            \caption{}
            \label{fig:c}
    \end{subfigure}
    \caption{Three images side-by-side}
    \end{figure}

相关内容