![为什么 \renewcommand{ ... }{ ... } 不能与 \section (或 \subsection)一起使用?](https://linux22.com/image/464553/%E4%B8%BA%E4%BB%80%E4%B9%88%20%5Crenewcommand%7B%20...%20%7D%7B%20...%20%7D%20%E4%B8%8D%E8%83%BD%E4%B8%8E%20%5Csection%20%EF%BC%88%E6%88%96%20%5Csubsection%EF%BC%89%E4%B8%80%E8%B5%B7%E4%BD%BF%E7%94%A8%EF%BC%9F.png)
我有一个非常简单的文档,并且在 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 个*
输入缓冲区堆栈泛滥,并得到所显示的错误。