使命令的独立使用在文档中的某个点之后抛出错误

使命令的独立使用在文档中的某个点之后抛出错误

我定义了一个命令来统一更改文档中的章节,后来错误地使用了 \section{} 命令。

有没有办法在自定义命令中使用 \section{},并让定义命令后使用 \section{} 引发错误?

\documentclass{article}

\newcommand{\mysection}[2]{
    % whatever style for the entire document
    \section{#1}
    \label{#2}
}

\makeUsageOfCommandThrowErrorAfterHere{\section}

\begin{document}

\mysection{title}{label} % this should work
text

\section{another titel}{another label} % this should throw an error
more text

\end{document}

答案1

你可以简单地将其分配\section给未定义的内容,这样使用时就会抛出错误。例如:

\documentclass{article}

\let\originalsection\section
\newcommand{\mysection}[2]{
    % whatever style for the entire document
    \originalsection{#1}
    \label{#2}
}
\let\section\SomethingUndefined

\begin{document}

\mysection{title}{label} % this will work
text

\section{another titel}{another label} % this will throw an error
more text

\end{document}

相关内容