我想用字母和数字定义变量。但变量有和没有数字值的名称相同。以下是示例:
基本上我想定义
\def\lam{\lambda}
\newcommand{lam}{\lambda}
\def\lam#1{\lambda^{#1}}
在我的表达中
F = \lam + \lam2 + \lam3
输出应该是
F = \lambda + \lambda^2 + \lambda^3
答案1
例如,你可以这样做:
\newcount\tmpnum
\def\lam{\lambda\afterassignment\lamA\tmpnum=0}
\def\lamA{\ifnum\tmpnum=0 \else ^{\the\tmpnum}\fi}
$ F = \lam + \lam2 + \lam3 $
答案2
我找到了如何检查参数是否为数字这里。然后你只需输出“如果那不是一个数字”:
\documentclass{article}
\newcommand{\lam}[1]{%
\ifnum0<0#1\relax
$\lambda^{#1}$%
\else
$\lambda$~{#1}%
\fi
}
\begin{document}
F = \lam + \lam2 + \lam3
\end{document}