图片包含未知/多余的文字

图片包含未知/多余的文字

我正在使用我定义的自定义图形命令.sty来显示图形: \def\thefigure{\@arabic\c@figure}

然后我制作了一个如下图形:

\begin{thefigure}
   \centering
   \includegraphics[width=0.5\textwidth]{test}
   \captionof{figure}{test image}
   \label{fig:test1}
\end{thefigure}

但是当我显示一个图形时,标题前会出现一个额外的文本,一个随机的零。以下是示例:

在此处输入图片描述

生成 pdf 时没有出现任何错误。

答案1

你误解了班级声明的意图

\def\thefigure{\@arabic\c@figure}

每个 LaTeX 计数器都有一个\the....定义其打印形式的命令,在这里您声明计数器figure应该使用 1,2,3...而不是说\@alph哪个会导致它使用 a,b,c,...

虽然可以\thefigure直接使用,但这种情况很少见,但在\caption需要图号的其他地方都会使用这种形式。

\begin{thefigure}
\includegraphics{zzz}
\end{thefigure}

相当于

{\thefigure
\includegraphics{zzz}
}

因此它会排版计数器的当前值(在第一个标题增加它之前为 0),然后是图形。这就是为什么您会在图像的左侧看到基线上的 0(尽管由于图像中的空白,它看起来略低于基线)。

正常形式是

\begin{figure}
\centering
\includegraphics{...}
\caption{...}
\end{figure}

或者如果出于某种原因你不想允许浮动

\begin{center}
  \includegraphics{...}
    \captionof{figure}{...}
\end{center}

无论哪种情况,\thefigure定义都会影响标题中图号的排版。

相关内容