LaTeX 错误:命令 \c@T 已定义

LaTeX 错误:命令 \c@T 已定义

这是一个简单的问题,但我无法从其他类似的问题中找到答案。

很多人在填写表格时经常会遇到这样的错误:

    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缺少两个强制参数。它将改为拾取\newcounterdefinition,因为这是接下来的内容。

这样做的结果是,当你调用时\begin{definition},你会无意中调用\newcounter,因此

\begin{definition} The thing

省略一些技术细节后,

\newcounter The thing

IE

\newcounter{T}he thing

这就是您的计数器的来源,这就是您收到错误的原因:您可能需要以“T”开头的定义!

(回溯并解决您的问题:我想您真的想看看 amsthm 包及其\newtheorem命令?)

相关内容