在宏中用粗体 lambda 替换 lambda

在宏中用粗体 lambda 替换 lambda

我正在寻找一种方法来替换某些表达式中的\lambdaby 。这是我尝试过的,但没有成功:\bm\lambda

% arara: pdflatex
\documentclass{article}
\usepackage{bm}
\usepackage{xstring}
\usepackage{xpatch}
\begin{document}

    \def\MakeLambdaBold#1{\StrSubstitute{#1}{\lambda}{\bm\lambda}}
    $\MakeLambdaBold{\lambda}$

    \pretocmd{\lambda}{\bm}
    $\lambda$

\end{document}

答案1

那么,不使用那些花哨的软件包,采用纯 TeX 解决方案怎么样?

\let\truelambda\lambda%
\def\makelambdabold#1{%
    \begingroup%
    \def\lambda{\bm{\truelambda}}%
    #1%
    \endgroup%
}

编辑:抱歉,听起来有点说教,但如果还不算太晚,我还要指出“正确”的做法。您应该定义命令来指示 lambda(或其他任何内容)在文档中可能意味着的不同内容,即使它们由相同的符号表示。这样,如果您决定稍后更改符号,您只需更改一个命令,而不必使用我们正在讨论的狡猾解决方法。

相关内容