自动化和变量

自动化和变量

对于学校和考试来说,时间非常宝贵。复制表达式并粘贴到第三方计算器中太耗时了。更不用说如果你发现自己犯了一个错误,就必须调整所有依赖于该结果的表达式。

有什么办法可以让我把事情变成这样:

\mathdefine{a}[5]
\mathname{a} = \mathprint{a}

\mathcalc{4*a}
\mathexpression{} = \mathprint{}

\mathfuncadd{f, x}[a*x+10]
\mathfuncname{f, x} = \mathfuncdef{f}

\mathfuncname{f, 3} = \mathfunccalc{f, 3}

\mathfuncname{f, 3} = \mathfuncexpand{f, 3} = \mathfunccalc{f, 3}

变成这样: 在此处输入图片描述

它应该能够快速输入,并且最好将变量范围限定在当前部分,如果在子部分中,它将从其父部分继承。

有类似的东西吗?一个包或者一个带有库的脚本语言,比如 Lua 或 Python?

答案1

这显示了最后一种情况下略有不同的扩展步骤(我只有未替换的情况,或完全评估的术语)如果需要,可以添加其他变体

在此处输入图片描述

\documentclass{article}

\def\eval#1{{\def\var##1##2{##2}\def\*{*}\the\numexpr#1\relax}}
\def\sym#1{{\def\var##1##2{##1}\def\*{\cdot}#1}}
\begin{document}

\def\a{\var{a}{5}}
$\sym{\a} = \eval{\a}$

\def\expr{4\*\a}
$\sym{\expr} =\eval{\expr}$

\def\f#1{\a\*#1+10}
$f(x)=\sym{\f{x}}$

$f(3) = \eval{\f{3}}$

$f(3) = \sym{\f{3}} = \eval{\f{3}}$


\end{document}

相关内容