在数学环境中使用 \def

在数学环境中使用 \def

我有以下内容:

\documentclass{article}

\usepackage{amsmath}
\usepackage{witharrows}


\begin{document}
    
\def\var{x}
    
\[
    \begin{WithArrows}
        \var\var&=\def\var{y}\var\var\\
        \var
    \end{WithArrows}
\]

\end{document}

我想将\var值更改为但它只对该行\var之后的 and 部分起作用。\def

编译的结果是:

在此处输入图片描述

我想知道为什么\var第二行不受上述指令的影响。

答案1

更改\def\gdef,使定义成为全局的。在环境内部,每个子线都是其自己的组,因此\def不会延续到其外部。

\documentclass{article}

\usepackage{amsmath}
\usepackage{witharrows}


\begin{document}
    
\def\var{x}
    
\[
    \begin{WithArrows}
        \var\var&=\gdef\var{y}\var\var\\
        \var
    \end{WithArrows}
\]

\end{document}

在此处输入图片描述

相关内容