如何在 wxMaxima 中为所有类型的分数设置 tex1 输出?

How to set tex1 output for all types of fractions in wxMaxima?

询问有关为数字分数设置 tex1 的输出(即 x 其中 ratnump(x) = true);然而,这似乎并未涵盖所有以分数形式打印的对象,例如1/xdiff(ln(x),x)).

之后,我尝试使用 :lisp $x 来查询 lisp 形式,我得到 ((MEXPT SIMP) $X -1) for 1/x((%DERIVATIVE SIMP) (($LN SIMP) $X) $X 1) for diff(ln(x),x);但是,我不知道如何将此信息与 texput 一起使用来指定所需的格式。

虽然我认为它不一定与问题相关,但我想调用不同的 LaTeX 函数,而不是 \frac(例如 \tfrac)。

说来话长,原来要显示的运算符是MQUOTIENT。试试这个:

texput (?mquotient, lambda([e], printf (false, "\tfrac{~a}{~a}", tex1(num(e)), tex1(denom(e)))));

然后我得到:

(%i12) tex1(1/x);
(%o12)                    \tfrac{1}{x}
(%i13) tex1(y/x);
(%o13)                    \tfrac{y}{x}
(%i14) tex1((1+a/b)/(1-c/d));
(%o14)       \tfrac{\tfrac{a}{b}+1}{1-\tfrac{c}{d}}

PS。 ln 无法被 Maxima 识别(除非您创建了一个名为 ln 的函数)。以 e 为底的对数是 loglog10 也无法识别(同样,除非您创建了这样的函数)。