我想知道在 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
例如,这对于通过以下方式创建的命令更加强大。