对 ieee.cls 和图形有帮助吗?

对 ieee.cls 和图形有帮助吗?

使用{ieee}[2000/01/11].cls(通过使用 LaTeX2e 格式化 IEEE 论文),我对以下最小代码有疑问(构建良好\documentclass{article}- 用于pdflatex编译):

\documentclass[%
        %draft,
        %submission,
        %compressed,
        %final,
        %
        %technote,
        %internal,
        %submitted,
        %inpress,
        %reprint,
        %
        %titlepage,
        notitlepage,
        %anonymous,
        narroweqnarray,
        inline,
        %twoside,
        ]{ieee}
% \documentclass{article}

\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{cite}
\usepackage{caption}

\begin{document}

Test ...

\begin{figure}
\end{figure}

\end{document}

它失败了:

! Too many }'s.
\color@endbox ->\color@endgroup \egroup 

l.33 \end{figure}

? X
No pages of output.
Transcript written on test.log.

此错误在LaTeX 社区 • 查看主题 - 颜色包与图形不兼容?确实如此,IEEE 分类目录确实定义了\@xfloat-但我正在尝试以下操作:

\makeatletter

% \undef\@xfloat % no work :) 

% http://joonidea.blogspot.com/2010/04/how-to-undefine-command-in-latex.html
% \let\@xfloat\@undefined                  % undefine \@xfloat
% no work, fails with:
%% ! Undefined control sequence.
%% \@xfloat #1[#2]->\caption@ORI@xfloat 
%%                                      {#1}[#2]\caption@settype {#1}
%% l.49 \end
%%          {figure}

% http://www.latex-community.org/forum/viewtopic.php?f=4&t=507&p=1978
% the below has no effect: 
% \let\latex@xfloat=\@xfloat
% \def\@xfloat #1[#2]{%
%   \latex@xfloat #1[#2]%
%   \def \baselinestretch {1}\@normalsize  %%  GT: need \@normalsize?
%   \normalsize
% }

\makeatother

...但显然无法让它工作。

我是否可以以某种方式使用\figure此类{ieee}[2000/01/11],以便我在 tex 文件中覆盖其行为,而不是破解 .cls 文件?

非常感谢您的任何回答,
干杯!

答案1

我尝试过

\makeatletter
\let\kernel@xfloat\@xfloat
\makeatother
\documentclass[...]{ieee}

\makeatletter
\let\@xfloat\kernel@xfloat
\def\@floatboxreset{%   
  \reset@font
  \linespread{1}\normalsize
  \@setminipage}
\makeatother   

结果似乎正是我们想要的。我认为问题在于一个非常古老的定义,\@xfloat它与 LaTeX 通常处理浮点数的方式不兼容。

正如您所发现的,使用基于 LaTeX 2.09 文档样式的类以及更为现代的软件包会带来不便。

相关内容