这是一个简单的问题,但我无法从其他类似的问题中找到答案。
很多人在填写表格时经常会遇到这样的错误:
LaTeX Error: Command \XYZ already defined.
Or name \end... illegal, see p.192 of the manual.
通常,问题在于他们使用了在两个不同的包中定义的东西,因此 LaTeX 对如何处理该命令感到困惑。
我的症状类似:
88 \begin{definition}
89 The distribution of a random variable $X$ is usually described by giving its {\bf distribution function}, $f(x) = P(X \leq x)$.
90 \end{definition}
我的 TeXShop 说:
89:LaTeX Error: Command \c@T already defined.
Or name \end... illegal, see p.192 of the manual.
因此,我尝试查找命令 \c@T 可以在哪里定义。我只使用
\usepackage{amssymb,amsmath}
\usepackage{changepage}
我真的不明白他们怎么能同时定义命令 c@T。
我查看了 LaTeX 中所有命令的列表,http://www-sop.inria.fr/marelle/tralics/doc-c.html#cmd-citetype,我甚至还没有找到这样的命令,但看起来某种计数是问题所在。所以,我承认我也有
\begin{document}
\newenvironment{definition}[1][Definition]
\newcounter{definition}
这可能是我定义错误的地方,但我不明白为什么这个问题不会出现在以前的定义中。
如果有人有耐心再次解决这个老问题并向我解释,我将不胜感激。
答案1
显然发生的情况如下:正如@Ulrike 所说,你的\newenvironment
缺少两个强制参数。它将改为拾取\newcounter
和definition
,因为这是接下来的内容。
这样做的结果是,当你调用时\begin{definition}
,你会无意中调用\newcounter
,因此
\begin{definition} The thing
省略一些技术细节后,
\newcounter The thing
IE
\newcounter{T}he thing
这就是您的计数器的来源,这就是您收到错误的原因:您可能需要以“T”开头的定义!
(回溯并解决您的问题:我想您真的想看看 amsthm 包及其\newtheorem
命令?)