环境 prop 未定义并且已定义 LNCS 模板

环境 prop 未定义并且已定义 LNCS 模板

我尝试将我的论文转换成 LNCS 格式,但出现一个奇怪的错误,如果我注释掉 \newtheorem{prop}[theorem]{Proposition} 这一行,它会告诉我 prop 未定义,但如果我取消注释这一行,它会告诉我它已经定义。

\documentclass[runningheads]{llncs}
\usepackage{thm-restate}

%\newtheorem{prop}[theorem]{Proposition}
\begin{document}
\title{Contribution Title\thanks{Supported by organization x.}}
\maketitle              
\begin{abstract}
The abstract 
\end{abstract}
\section{First Section}
\subsection{A Subsection Sample}
Please note 
\begin{prop}
    dsafdf
\end{prop}
\end{document}

LNCS 文件可在此处获取https://www.overleaf.com/read/ygfkzwkxjhbw#d20610

答案1

LLNCS 已经定义了一个命题定理环境,您应该使用它,\begin{proposition} ... \end{proposition}而不必定义自己的环境。它的优点是可以正确地本地化到各种语言。


也就是说, 的问题prop不是与 LLNCS 冲突,而是thm-restate。 这并不是因为环境prop已经定义,而是因为thmtools试图锁定 LLNCS 宏并提供其自己的内容解释时存在错误。

我已经能够将错误隔离到文件中thm-llncs.sty;具体错误来自于\thmt@newtheorem@predefinition定义中的调用\thmt@spnewtheoremiv。(对于这部分我很确定。

我认为问题是(以下是猜测,可能不正确),其缺点是,作为 的一部分...predefinition,它调用...autorefsetup,当使用同级计数器时,它会创建一个计数器别名。但随后\spnewtheorem会调用 Springer LLNCS 文件中的原始文件,它会尝试再次创建计数器。

可以检查一下,如果不指定同级计数器,诸如 \newtheorem{prop}{Proposition}、或\declaretheorem[name=Proposition]{prop}\spnewtheorem{prop}{Proposition}{\bfseries}{\itshape}等命令均能按预期工作,但只要指定同级计数器,一切都会中断。

您应该向链接到此帖子的维护人员提交错误thmtools并要求他们修复它。

相关内容