\newcommand 无论如何都会出错

\newcommand 无论如何都会出错

我有两个文件,均以

\documentclass{article}
\usepackage{Macros}
\begin{document}

我自己的样式文件在哪里Macros。这两个文档中没有其他包或定义。我已经用了几个月了,没有问题。今晚,其中一个文档在编译多次没有任何错误后,开始抛出

LaTeX Error: Command \G already defined.
           Or name \end... illegal, see p.192 of the manual.

\newcommand{\G}{\gamma}我在文件中的位置Macros

此错误通常意味着我试图使用\newcommand已定义的命令,这非常简单。今晚的问题是,我可以编译另一个文档而不会出现错误,即使它使用了确切地相同的用户定义命令列表。可能是什么原因造成的?

如果我注释掉 Macros.sty 中有问题的行,那么问题文档就会出现错误

LaTeX Error: Command \G unavailable in encoding OT1.

而正常文件给出了预期

Undefined control sequence.

错误。

编辑:TeXWorks 崩溃后,我重新打开了文件,两个文件都编译成功,没有任何错误,所以我相信问题出在 TeXWorks 上。我接受 David 的回答,因为如果再次出现类似的问题,并表明问题已解决,这将很有帮助。

答案1

有些东西正在定义\G,所以你可以插入

\show\G

在您的文档或包中的几个点处,每个 tex 都会停止并显示定义。

错误消息表明\G具有特定于编码的命令定义。我的本地 tex 树有以下可能性

allrunes/ara.fd:\DeclareTextSymbol{\G}{LRA}{167}
fc/t4enc.def:\DeclareTextAccent{\G}{T4}{'237}% double grave accent
hyperref/puenc.def:\DeclareTextCommand{\G}{PU}[1]{#1\83\017}% U+030F
teubner/teubner.sty:\DeclareTextCommand{\G}{\GRencoding@name}[1]{\lift@accent{96}{#1}}

因此,您必须加载与其中一个类似的定义。

相关内容