svjour3 和某些软件包冲突吗?

svjour3 和某些软件包冲突吗?

我怎样才能找出哪些包导致了课程出现问题svjour3

经过多次编译,我发现问题出在我使用的软件包上。代码如下,并没有生成 pdf。

编辑 1:文件 svjour3.cls 于 2008 年 1 月 10 日修改。我使用 MiKTeX 2.9。

编辑2:错误是

! TeX capacity exceeded, sorry [input stack size=5000].
\cl@chapter ->\cl@chapter 
                          \@elt {theorem}
l.2486 }{}
          %  end of \@ifpackageloaded{amsmath}
!  ==> Fatal error occurred, no output PDF file produced!
Transcript written on probleem.log.

PDFLaTeX 编译报告:

(Pages: 0) Errors: 2   Warnings: 2   Bad Boxes: 0



\documentclass[smallextended]{svjour3}

\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{undertilde}
\usepackage{amstext}
\usepackage{amsthm}
\usepackage{epsfig}
\usepackage{graphics}
\usepackage{color}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{caption}
\usepackage{float}
\usepackage{subfigure}
\usepackage[sort&compress,round,comma,authoryear]{natbib}%bibtex
\usepackage{mathtools}
\usepackage{epstopdf}
\usepackage[titletoc,title]{appendix}% for appendix met A
\usepackage{cleveref}
\usepackage{dcolumn}


\begin{document}
Hello
\end{document} 

答案1

问题出现在cleveref加载时,并且仅在amsmath加载时显示,因为在这种情况下cleveref会进行一些检查和重新定义。

问题是svjour其中的一个错误

\if@envcntsect
   \def\@thmcountersep{.}
   \spnewtheorem{theorem}{Theorem}[section]{\bfseries}{\itshape}
\else
   \spnewtheorem{theorem}{Theorem}{\bfseries}{\itshape}
   \if@envcntreset
      \@addtoreset{theorem}{section}
   \else
      \@addtoreset{theorem}{chapter}
   \fi
\fi

并且这一\@addtoreset{theorem}{chapter}行根本没有任何意义,因为该类不支持章节。

您可以通过定义一个虚拟chapter计数器来解决此问题。

\documentclass[smallextended]{svjour3}
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage{amssymb}
%\usepackage{undertilde} % not in TeX Live
%\usepackage{amsthm} % incompatible with svjour3
%\usepackage{epsfig} % obsolete
%\usepackage{graphics} % loaded by graphicx
\usepackage{color}
\usepackage{booktabs}
\usepackage{graphicx}
%\usepackage{caption} % incompatible with svjour3
\usepackage{float}
\usepackage{subfigure} % deprecated!!!
\usepackage[sort&compress,round,comma,authoryear]{natbib}%bibtex
\usepackage{epstopdf}
\usepackage[titletoc,title]{appendix}% for appendix met A
\usepackage{dcolumn}
\newcounter{chapter} % to fix the bug in svjour3
\usepackage{cleveref}

\begin{document}

Hello

\end{document}

我注释掉了一些软件包:undertilde我的系统上没有,可能你更适合使用这个accents软件包(记得在之后加载它amsmath);我注释掉的其他软件包要么已经过时,要么与之不兼容svjour3(除了一些引发的错误)。

你可以subfigure使用

\usepackage[caption=false]{subfig}

它有\subfloat而不是\subfigure\subtable(一个简单的改变)。

相关内容