如何重命名现有命令?

如何重命名现有命令?

我想知道在 LaTeX 中是否可以重命名命令。例如,我可以更改 by\section\sec

我读到有些人使用了一种叫做“别名”的东西。

答案1

有很多种方法,取决于你想要什么:

在此处输入图片描述

\documentclass{article}
\setlength{\parindent}{0pt}% Just for this example
\begin{document}
\let\TextBF\textbf% Copy definition of \textbf into \TextBF

\textbf{textbf}\par
\TextBF{TextBF}

\let\textbf\texttt% Change original \textbf to now be equivalent to \texttt

\textbf{textbf}\par
\TextBF{TextBF}% \TextBF remains unchanged

\hrulefill

\newcommand{\TextIT}{\textit}% \TextIT will be replaced with \textit

\textit{textit}\par
\TextIT{TextIT}

\let\textit\texttt% Change original \textit to now be equivalent to \texttt

\textit{textit}\par
\TextIT{TextIT}% \TextIT changes with \textit

\end{document}
  • \let<csnameA><csnameB>复制 的定义<csnameB>并将其放入<csnameA>(就像常规的复制粘贴一样)。 它的优点是,您现在可以重新定义,<csnameB>而不会影响您刚刚制作的副本 ( <csnameA>)。

  • \newcommand{<csnameA>}{<csnameB>}仅指向<csnameA><csnameB>为此,对 的更新<csnameB>仍将反映在 中<csnameA>

相关问题:

答案2

请注意,如果您想复制(即如果原始命令被修改,新命令将保留旧值),您可以使用:

\NewCommandCopy\newMacro\oldMacro
\RenewCommandCopy\newMacro\oldMacro
\DeclareCommandCopy\newMacro\oldMacro

\NewDocumentCommand例如,这对于通过以下方式创建的命令更加强大。

相关内容