我必须使用可以在这里找到的 IEEE 类文件:
http://mocha-java.uccs.edu/ieee/
您可以在那里下载类文件本身(ieee.cls
)和一个名为的演示 tex 文件ieeecls.tex
。当我加载pgfplots
包时,我收到以下错误
! } 太多了。\color@endbox ->\color@endgroup \egroup l.811 \end{figure}
我看到有其他关于这个问题的帖子,最好的帮助是
在我看来。这是由史蒂芬·柯特维茨。这个解决方案对我的情况没有帮助。Stefan 的解决方案是:
有些类和样式文件以可能导致此错误的方式定义宏 \@xfloat。在这种情况下,请考虑删除/重新定义此宏,或使用其他类
\makeatletter \let\latex@xfloat=\@xfloat \def\@xfloat #1[#2]{% \latex@xfloat #1[#2]% \def\baselinestretch{1} \@normalsize\normalsize \normalsize } \makeatother
我无法在这里添加最小的工作示例 - 但您可以下载如上所述所需的两个文件。
我已经向 IEEE 提交了一份错误报告,但我认为他们不会及时回复。
答案1
color
当 1994 年引入该软件包时,您经常会看到该错误,但您通常会期望过去 20 年内使用过的任何类文件现在都已经更新了。
该类ieee
重新启用了 LaTeX2.09 浮点处理程序,因此删除了对!
浮点选项、颜色(导致错误消息)的支持以及自 LaTex2e 发布以来添加的任何修复。
如果你确实必须使用此类,你可以重新启用 lateX2e 的浮点处理(这里我使用了 中的版本fixltx2e
),
\documentclass{ieee}
\usepackage{color}
\makeatletter
\def\@xfloat #1[#2]{%
\@nodocument
\def \@captype {#1}%
\def \@fps {#2}%
\@onelevel@sanitize \@fps
\def \reserved@b {!}%
\ifx \reserved@b \@fps
\@fpsadddefault
\else
\ifx \@fps \@empty
\@fpsadddefault
\fi
\fi
\ifhmode
\@bsphack
\@floatpenalty -\@Mii
\else
\@floatpenalty-\@Miii
\fi
\ifinner
\@parmoderr\@floatpenalty\z@
\else
\@next\@currbox\@freelist
{%
\@tempcnta \sixt@@n
\expandafter \@tfor \expandafter \reserved@a
\expandafter :\expandafter =\@fps
\do
{%
\if \reserved@a h%
\ifodd \@tempcnta
\else
\advance \@tempcnta \@ne
\fi
\fi
\if \reserved@a t%
\@setfpsbit \tw@
\fi
\if \reserved@a b%
\@setfpsbit 4%
\fi
\if \reserved@a p%
\@setfpsbit 8%
\fi
\if \reserved@a !%
\ifnum \@tempcnta>15
\advance\@tempcnta -\sixt@@n\relax
\fi
\fi
}%
\@tempcntb \csname ftype@\@captype \endcsname
\multiply \@tempcntb \@xxxii
\advance \@tempcnta \@tempcntb
\global \count\@currbox \@tempcnta
}%
\@fltovf
\fi
\global \setbox\@currbox
\color@vbox
\normalcolor
\vbox \bgroup
\hsize\columnwidth
\@parboxrestore
\@floatboxreset
}
\makeatother
\begin{document}
\begin{figure}
\fbox{x}
\caption{zzz}
\end{figure}
\end{document}