如何在 maxima 的 tex 输出中将每个 `log` 输出为 `ln`?
How to output every `log` as `ln` in tex output in maxima?
所以我尝试了
texput(%e, "\e"); texput(log, "\ln");
但是如果我调用 tex
函数:
tex(%e*log(3));
这给出:
$$\e\,\log 3$$
但我实际上预计:
$$\e\,\ln 3$$
所以我的问题是如何在 tex 输出中将每个 log
输出为 ln
?用 texput 可以吗?
这里有两件事,完全不明显;对于那个很抱歉。 (1) 在调用 texput
时需要说 nounify(log)
而不仅仅是 log
。这是因为 log(3)
是所谓的名词表达(与动词表达相反)。 (2) 需要在调用 texput
时说 prefix
因为 log
在 TeX 中被排版为前缀运算符。
(%i1) texput (nounify(log), "\ln", prefix);
(%o1) \ln
(%i2) tex(log(3));
$$\ln3$$
(%o2) false
哦,看起来我们需要一个尾随 space 来将 \ln
与 3.
分开
(%i3) texput (nounify(log), "\ln ", prefix);
(%o3) \ln
(%i4) tex(log(3));
$$\ln 3$$
(%o4) false
这似乎符合预期。
所以我尝试了
texput(%e, "\e"); texput(log, "\ln");
但是如果我调用 tex
函数:
tex(%e*log(3));
这给出:
$$\e\,\log 3$$
但我实际上预计:
$$\e\,\ln 3$$
所以我的问题是如何在 tex 输出中将每个 log
输出为 ln
?用 texput 可以吗?
这里有两件事,完全不明显;对于那个很抱歉。 (1) 在调用 texput
时需要说 nounify(log)
而不仅仅是 log
。这是因为 log(3)
是所谓的名词表达(与动词表达相反)。 (2) 需要在调用 texput
时说 prefix
因为 log
在 TeX 中被排版为前缀运算符。
(%i1) texput (nounify(log), "\ln", prefix);
(%o1) \ln
(%i2) tex(log(3));
$$\ln3$$
(%o2) false
哦,看起来我们需要一个尾随 space 来将 \ln
与 3.
(%i3) texput (nounify(log), "\ln ", prefix);
(%o3) \ln
(%i4) tex(log(3));
$$\ln 3$$
(%o4) false
这似乎符合预期。