表格编号和标题位于同一位置

表格编号和标题位于同一位置

我的表格和标题位于同一行,在我对所申请的会议使用不同的类文件后,这种情况就开始发生了。

下面是一张我所指的图片:(通常“表 1”字样位于标题上方,不在同一行) enter image description here

我想知道这是什么原因造成的?我应该在类文件中查找什么来查看这是故意的还是我的错误?

答案1

旧文件类不同于新文档类定义方式不同\@makecaption- 负责设置浮点数标题的宏。区别如下:

旧文档类别:

\long\def\@makecaption#1#2{%
  % test if is a for a figure or table
  \ifx\@captype\@IEEEtablestring%
    % if a table, do table caption
    \footnotesize\bgroup\par
      \centering\@IEEEtabletopskipstrut{\normalfont\footnotesize #1}\\
      {\normalfont\footnotesize\scshape #2}\par\addvspace{0.5\baselineskip}\egroup%
    \@IEEEtablecaptionsepspace
  % if not a table, format it as a figure
  \else
  %...
  \fi}

新的文档类别:

\long\def\@makecaption#1#2{%
  % test if is a for a figure or table
  \ifx\@captype\@IEEEtablestring%
    % if a table, do table caption
    \footnotesize{\centering\normalfont\footnotesize#1.\qquad\scshape #2\par}%
    \@IEEEtablecaptionsepspace
  % if not a table, format it as a figure
  \else
  %...
  \fi}

很明显,旧版类会插入换行符,\\而新版类会使用换行符.\qquad来分隔标题类型和文本。使用etoolbox修补\@makecaption以插入\par(段落分隔符),而不是使用.\qquad

enter image description here

\documentclass{IEEEtran}
\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
\makeatletter
\patchcmd{\@makecaption}% <cmd>
  {.\qquad}% <search>
  {\par}% <replace>
  {}{}% <success><failure>
\makeatother
\begin{document}
\begin{table}
  \caption{Filled with some text}
\end{table}
\end{document}

\patchcmd{<cmd>}{<search>}{<replace>}{<success>}{<failure>}搜索<search>in<cmd>并将其替换为<replace>。如果此搜索和替换成功,<success>则执行 ,否则<failure>执行 。

相关内容