我正试图打印带有指数的变量,目标是写一些类似的东西。
x_1 + x_2 = 3 + 1 = 4
问题是,像x_1这样的变量不显示索引。它显示的是下划线本身。
/* works fine */
print(x_1)$
x_1;
/* Does not work */
ostream: make_string_output_stream()$
printf(ostream, string(x_1))$
get_output_stream_string(ostream);
将 "x_1 "转换为字符串会破坏下划线,但你需要一个字符串用于printf()方法。
有什么变通的办法吗?
这里该怎么做,可能在一定程度上取决于你需要用这个来实现什么目标。你能说说你正在努力实现的更大目标吗?
为了生成有排版指令的输出,你可以调用 tex
或 tex1
函数来生成TeX输出。如果需要在网页中显示,我相信你可以利用MathJax Javascript库。抱歉,我对MathJax不了解。
你可能应该写 x[1]
而不是 x_1
. 显示 x_1
带下标 1
是一种方便 -- Maxima 的其他部分对它了解不多。
编辑:还有一个附加包可以输出MathML;可能有两个这样的包,我得查查。如果MathML能帮助解决你的问题,我会研究一下。