如何防止Maxima tex1包装其输出?

问题描述

| 我从批处理脚本中调用了Maxima
tex1
,如下所示:
maxima --very-quiet -r \"tex1(solve(8*x^2+7*x+5));\" | grep -v false > output.txt
我得到了
output.txt
,如下所示:
 \\left[ x=-{{\\sqrt{111}\\,i+7}\\over{16}},x={{\\sqrt{111}\\,i-7}\\over{16}} \\righ\\
t] 
作为(La)TeX输入文件无效。 如何防止千里马
tex1
包装输出?     

解决方法

        不幸的是,这是硬编码到Maxima中的。解决此问题的方法是编辑文件“ 5”中的函数myprinc。有一个写有70的
cond
格式,它应该读取linel而不是70。如果在进行此更改后重新编译最大值,则可以使用以下代码:
maxima --very-quiet -r \"linel: 1000$ tex1(solve(8*x^2+7*x+5));\" | grep -v false > output.txt
无论如何,我会尽快将补丁发送到Maxima列表,以便该程序的将来版本不会有此缺点。     ,        这么晚才回复很抱歉。 代替 tex1(解决(8 * x ^ 2 + 7 * x + 5)); 写: ?princ(tex1(solve(8 * x ^ 2 + 7 * x + 5)))$ 问题是显示格式化程序正在打印tex1返回的字符串(如果您在交互式会话中使用Maxima,则该函数将打印该字符串)。显示格式化程序以行字符(默认= 79)分隔字符串并插入反斜杠。相反,出于您的目的,您想完全避开显示格式化程序,因此使用?princ打印字符串(使用Lisp函数仅打印字符串),并用\“ $ \”而不是\“; \”终止输入以告知千里马不要调用显示格式器。 请注意,MYPRINC中的硬编码常数70在这里不起作用。在给定的示例中未调用MYPRINC。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...