所以我试过
texput(%e, "\e"); texput(log, "\\ln");
但是如果我调用tex
函数:
tex(%e*log(3));
这给出了:
$$\e\,\log 3$$
但我实在期待:
$$\e\,\ln 3$$
所以我的问题是如何在maxima的tex输出中将每个log
输出为ln
?这可能与texput有关吗?
答案 0 :(得分:3)
这里有两件事,都是完全不明显的;对于那个很抱歉。 (1)在nounify(log)
的调用中需要说log
而不只是texput
。这是因为log(3)
是一个所谓的名词表达式(与动词表达式相对)。 (2)在调用prefix
时需要说texput
,因为log
被排版为TeX中的前缀运算符。
(%i1) texput (nounify(log), "\\ln", prefix);
(%o1) \ln
(%i2) tex(log(3));
$$\ln3$$
(%o2) false
哦,看起来我们需要一个尾随空格来将\ln
与3分开。
(%i3) texput (nounify(log), "\\ln ", prefix);
(%o3) \ln
(%i4) tex(log(3));
$$\ln 3$$
(%o4) false
这似乎按预期工作。