考虑以下代码:
\documentclass{memoir}
\newcommand{\cs}{\Sigma}
\title{Rings and Modules}
\author{}
\begin{document}
\maketitle
\end{document}
编译失败,并出现以下错误。
! LaTeX Error: Command \cs already defined.
Or name \end... illegal, see p.192 of the manual.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.2 \newcommand{\cs}{\Sigma}
PS 代码与amsart
类完全兼容。另外,请告诉我错误消息中提到的“手册”是什么。
答案1
该文件memoir.cls
有这一行
\DeclareRobustCommand{\cs}[1]{\texttt{\char`\\#1}}
用于打印控制序列名称:\cs{cs}
将打印\cs
。它似乎不是一个关键命令,因此您可以使用已知技巧来重新定义它,而不必担心它是否被定义:
\providecommand{\cs}{}
\renewcommand{\cs}{\Sigma}
这对于标准 LaTeX 类、AMS 类和 都是安全的memoir
。如果您使用其他类,最好注释掉第一行并查看会发生什么。如果命令已定义,请尝试查看其定义。
答案2
该类memoir
确实包括以下定义\cs
:
\DeclareRobustCommand{\cs}[1]{\texttt{\char`\\#1}}
它用于格式化控制序列的文本示例。
\documentclass{memoir}
%\newcommand{\cs}{\Sigma}
\title{Rings and Modules}
\author{}
\begin{document}
\maketitle
\cs{mycommand}
\end{document}