我曾经texput
将tex1
输出设置log(x)
为\ln(x)
texput('log, lambda([e],[a]:args(e), printf(false, "\\ln(~a)", tex1(a))));
并且想知道是否可以将输出设置为类似的东西(log(x))^n
?特别是我想使用\ln^n(x)
约定。
TeX 输出的奇怪之log
处是我正在处理的一个错误。但我认为,这是一个可以得到你想要的行为的解决方法。
在这里,我同时调用texput(log, "\\ln ")
andtexput(log, "\\ln ", prefix)
来log
在不同的上下文中设置 TeX 输出,并且也:lisp (push log *tex-mexpt-trig-like-fns*)
对log
trig 函数进行了类似的处理。
(%i1) stringdisp: true $
(%i2) map (tex1, [log(x), log(x+1), log(x)^n]);
(%o2) ["\log x", "\log \left(x+1\right)", "\left(\log x\right)^{n}"]
(%i3) texput (log, "\\ln ");
(%o3) "\ln "
(%i4) texput (log, "\\ln ", prefix);
(%o4) "\ln "
(%i5) map (tex1, [log(x), log(x+1), log(x)^n]);
(%o5) ["\ln x", "\ln \left(x+1\right)", "\ln x^{n}"]
嗯,这还不够。哦,对了,我忘记了三角函数。
(%i6) :lisp (push '%log *tex-mexpt-trig-like-fns*)
(%LOG %SIN %COS %TAN %SINH %COSH %TANH %ASIN %ACOS %ATAN %ASINH %ACOSH %ATANH)
(%i6) map (tex1, [log(x), log(x+1), log(x)^n]);
(%o6) ["\ln x", "\ln \left(x+1\right)", "\ln ^{n}x"]
这看起来对吗?