在 \newcommand 中定义可选参数

在 \newcommand 中定义可选参数

如果我有一个命令形式

\newcommand{\TM}[1]{\color{red} $\boldsymbol{#1}$}

我该如何使用可选的颜色参数来调用它?我想要的是,如果它被调用为

\TM{\alpha}

它应该返回一个红色的 alpha,但如果它被调用为

\TM[green]{\alpha}

alpha 的颜色应该是绿色。

答案1

可选参数是通过[<opt>]在定义参数数量后添加来定义的:

在此处输入图片描述

\documentclass{article}

\usepackage{xcolor,amsmath}

\newcommand{\TM}[2][red]{\textcolor{#1}{$\boldsymbol{#2}$}}

\begin{document}

\TM{\alpha}

\TM[green!50!black]{\beta}

\end{document}

请注意,在命令中包含数学格式并不总是一个好主意,因为如果在数学中使用它将导致错误。为此,LaTeX 提供了\ensuremath

为了避免这种情况,我使用了文本\textcolor{<colour>}{<stuff>}模式<stuff>。因此,切换到数学模式就可以了。

相关内容