重命名时,枚举会出现意外行为。在下面的示例中,为了简洁起见,我将其重命名enumerate
为。enum
\documentclass{article}
\usepackage{enumerate}
\newcommand{\enum}{\enumerate}
\title{}
\author{}
\date{}
\begin{document}
\begin{enumerate}
\item A
\item B
\item C
\end{enumerate}
\begin{enum}
\item A
\item B
\item C
\end{enum}
%\begin{\enum}
%\item A
%\item B
%\item C
%\end{\enum}
\end{document}
但是,使用全名和使用短名时的输出是不同的。正如预期的那样,全名给出
1. A
2. B
3. C
但是短名称给了
1. A
2. B
3. C
并且\enum
无法编译。对于其他一些环境,短名称根本不起作用。有人能解释一下为什么会发生这种情况以及如何正确缩短环境名称吗?
答案1
问题是\end{enum}
想要执行\endenum
,并且由于标记未定义,TeX 将其视为\relax
(因为\csname
已使用)。
因此\endenumerate
永远不会被执行并且你会得到错误的输出。
添加\let\endenum\endenumerate
。
\documentclass{article}
\usepackage{enumerate}
\newcommand{\enum}{\enumerate}
\let\endenum\endenumerate
\title{}
\author{}
\date{}
\begin{document}
\begin{enumerate}
\item A
\item B
\item C
\end{enumerate}
\begin{enum}
\item A
\item B
\item C
\end{enum}
\end{document}
我建议使用更灵活的enumitem
包来代替enumerate
。
别想了\begin{\enum}
。非常错误的。