为什么 \renewcommand{ ... }{ ... } 不能与 \section (或 \subsection)一起使用?

为什么 \renewcommand{ ... }{ ... } 不能与 \section (或 \subsection)一起使用?

我有一个非常简单的文档,并且在 Windows 10 上使用带有 MiKTeX 的 pdfLaTeX。

\documentclass[12pt]{article}

\begin{document}
    \section{Some section heading}
    Some body text
\end{document}

这可行,但我想隐藏节标题前的“数字”。遗憾的是,我的真实文档中有相当多的数字,因此我无法轻松地手动完成。因此,我\renewcommand{\section}{\section*}在后面添加了\documentclass,希望可以将其重新定义\section\section*

\documentclass[12pt]{article}

\renewcommand{\section}{\section*}

\begin{document}
    \section{Some section heading}
    Some body text
\end{document}

但是,当我尝试这个时,我得到了TeX capacity exceeded, sorry [input stack size=10000]. \section

当我手动进行替换时,它可以很好地编译,但是我想避免在这里使用“查找+替换”,那么如何使用\renewcommand(或使用执行此操作的其他命令)来执行此操作?

答案1

\section*\section * 命令查找的*不是名称的一部分,因此您编写了一个非终止循环

\section-> \section*-> \section**->...

最终,您将有 10000 个*输入缓冲区堆栈泛滥,并得到所显示的错误。

相关内容