我正在尝试使用 theomac.sty 重新陈述一个定理环境,它遵循了我在这里收到的建议:
我下载的包加载正常,但每当我运行 pdflatex 时都会出现以下错误:
! You can't use `\spacefactor' in vertical mode.
\@->\spacefactor
\@m
l.199 \@
newtheoremWithMacro{replemma}{lemma}
我很困惑它是什么意思。我试着在谷歌上搜索了一下,但我仍然不明白。
这是我的样式文件定义的词干环境:
\def\lemmaname{Lemma}
\newtheorem{lemma}{\lemmaname}%[section]
\def\thelemma{\arabic{lemma}}
\def\lemmafont{}
\def\lemmaheadfont{\bfseries}
theomac 样式文件可以在以下位置找到:http://cookp.com/thread/1500775/Equation%20kopieren%20referenzieren
theomac.sty
有人能找出我为什么会收到此错误吗?仅提示一下它的含义也可能有帮助...我在 syle 文件(或定义定理的样式文件)中都找不到命令 spacefactor 。
答案1
klew 对他的问题进行了评论:had to use \makeatletter and \let command exactly as it appears in
cookp.com/thread/1500775/Equation%20kopieren%20referenzieren。hyperref
,其中出现以下代码片段,在使用包和的Latex 文件上下文中theomac
:
% 将方程环境复制到 \myequation-environment: \让\myequation=\equation \let\endmyequation=\endequation % 变换复制的环境,该环境也使用方程计数器 % 变成这样,它采用可选参数来定义宏: \制作字母 \@newtheoremWithMacro{myequation}{equation}% \makeatother
\equation
通过在将宏分配给时不扩展宏\myequation
,它允许在创建新的定理样式时重复使用该宏。