我正在制作一些数学模式宏,但其中一些尝试在数学模式中定义新命令(用作变量)align*
。我已将问题归咎于此 MWE:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
5+5 &= 10\\
\def\answer{10}\\
\answer
\newcommand{\answer}{10}\\
\answer
\end{align*}
\end{document}
由于 和内部\def
均不起作用,因此失败。\newcommand
align*
有可能\def
在里面工作align*
吗?如果不行,还有其他方法可以在align*
环境中存储变量数字吗?
答案1
它们很有效;只是你没有正确使用它们……
内部的每个“单元格”都align
构成一个组。因此,您对\def
and/or的使用\newcommand
不会在&
or之外继续存在\\
。在内部,使用\gdef
(a \global\def
) 不会出现问题:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
5+5 &= 10\\
\gdef\answer{10}\\
\answer
\gdef\answer{10}\\
\answer
\end{align*}
\end{document}
请注意,align
对其主体进行两次处理。