我想使用 subfigure 将文档中的一个图像放在另一个图像旁边。我直接从背页并将其修改为包含 2 个图像而不是 3 个图像。我直接在 Overleaf 上操作,但无法正常工作,并出现以下错误:
缺失数字,视为零。
} l.20 \begin{subfigure}[b]{0.4\textwidth}
这里应该有一个数字;我插入了 0。(如果您不明白为什么我需要看到一个数字,请在 TeXbook 索引中查找“奇怪的错误”。)
和
非法计量单位(插入 pt)} l.27 \begin{subfigure}[b]{0.4\textwidth}
尺寸的单位可以是 em、ex、in、pt、pc、cm、mm、dd、cc、nd、nc、bp 或 sp;但您的单位是新的!我假设您指的是 pt,即打印点。要从此错误中顺利恢复,最好删除错误的单位;例如,键入 2 以删除两个字母。(请参阅 TeXbook 的第 27 章。)
我尝试直接复制粘贴并使用两次相同的图像,但仍然出现相同的错误。
\begin{figure}
\centering
\begin{subfigure}[b]{0.3\textwidth}
\centering
\includegraphics[width=\textwidth]{images/body/hierarchical-clustering-sklearn.png}
\caption{$y=x$}
\label{fig:y equals x}
\end{subfigure}
\hfill
\begin{subfigure}[b]{0.3\textwidth}
\centering
\includegraphics[width=\textwidth]{images/body/partition-sklearn.png}
\caption{$y=3\sin x$}
\label{fig:three sin x}
\end{subfigure}
\hfill
\begin{subfigure}[b]{0.3\textwidth}
\centering
\includegraphics[width=\textwidth]{images/body/partition-sklearn.png}
\caption{$y=5/x$}
\label{fig:five over x}
\end{subfigure}
\caption{Three simple graphs}
\label{fig:three graphs}
\end{figure}
编辑1:我确实在序言中加载了graphicx。
答案1
我可以重现错误,如果我运行 LaTeX
\documentclass{article}
\usepackage{graphicx}
\usepackage{subfigure}
\begin{document}
\begin{figure}
\centering
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=\textwidth]{example-image}
\caption{$y=x$}
\label{fig:y equals x}
\end{subfigure}
\hfill
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=\textwidth]{example-image}
\caption{$y=3\sin x$}
\label{fig:three sin x}
\end{subfigure}
\hfill
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=\textwidth]{example-image}
\caption{$y=5/x$}
\label{fig:five over x}
\end{subfigure}
\caption{Three simple graphs}
\label{fig:three graphs}
\end{figure}
\end{document}
该软件包subfigure
已经过时了大约二十年,并被 取代subfig
。无论如何,您使用的是 的语法subcaption
。
\documentclass{article}
\usepackage{graphicx}
\usepackage{subcaption}
\begin{document}
\begin{figure}
\centering
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=\textwidth]{example-image}
\caption{$y=x$}
\label{fig:y equals x}
\end{subfigure}\hfill
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=\textwidth]{example-image}
\caption{$y=3\sin x$}
\label{fig:three sin x}
\end{subfigure}\hfill
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=\textwidth]{example-image}
\caption{$y=5/x$}
\label{fig:five over x}
\end{subfigure}
\caption{Three simple graphs}
\label{fig:three graphs}
\end{figure}
\end{document}
请注意,我删除了\centering
里面无用的命令subfigure
。我还用我拥有的内容替换了图像的文件名。
还要注意正确的语法\hfill
(由于行尾有多余的空格)。