重命名时枚举会出现意外行为

重命名时枚举会出现意外行为

重命名时,枚举会出现意外行为。在下面的示例中,为了简洁起见,我将其重命名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}非常错误的。

相关内容