![环境 prop 未定义并且已定义 LNCS 模板](https://linux22.com/image/470513/%E7%8E%AF%E5%A2%83%20prop%20%E6%9C%AA%E5%AE%9A%E4%B9%89%E5%B9%B6%E4%B8%94%E5%B7%B2%E5%AE%9A%E4%B9%89%20LNCS%20%E6%A8%A1%E6%9D%BF.png)
我尝试将我的论文转换成 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
并要求他们修复它。