答案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
定义都会影响标题中图号的排版。