wolfram-mathematica - 如何创建具有正确格式表达式的笔记本

标签 wolfram-mathematica mathematica-frontend mathematical-expressions

我有一个由另一个程序生成的 Mathematica 表达式,我想在笔记本中打开它,格式正确。例如,另一个程序会生成这个:

Plot[{Exp[x],Interpolation[Table[{k/5,Exp[(k-1/2)/5]},{k,0,5}],
InterpolationOrder->0][x]},{x,0,1},Filling->{1->{{2},{Yellow,Orange}}},
PlotLabel->Style["Formatting",Blue,FontFamily->"Courier"]]

文本被写入文件,粗略后缀“.nb”,然后启动,表达式在笔记本中打开,没有格式化。要实现格式化,使用 BoxData 手动编写文件似乎不切实际。

该文件实际上是使用 Process.Start("filename.nb") 从 .Net 启动的,但命令行启动似乎同样有问题。

最佳答案

这个怎么样:

Export["C:\\Temp\\formatTest1.nb", 
   ToExpression[Import["C:\\Temp\\formatTest.nb", "Text"], InputForm, MakeBoxes]]

我对其进行了测试,它似乎可以工作(从普通文件导入,然后导出到您将打开的文件)。这确实创建了明确的框,但在用户方面只需要很少的努力。我没有测试,但是你应该可以在脚本模式下,从命令行运行这段代码。

编辑

要在 Mathematica 中进行测试,您可以使用例如

Export["C:\\Temp\\formatTest.nb", 
  ToString@HoldForm@FullForm@
    Plot[{Exp[x],Interpolation[Table[{k/5, Exp[(k - 1/2)/5]}, {k, 0, 5}],
    InterpolationOrder -> 0][x]}, {x, 0, 1}, 
    Filling -> {1 -> {{2}, {Yellow, Orange}}},
    PlotLabel -> Style["Formatting", Blue, FontFamily -> "Courier"]], 
  "Text"]

在运行上面的代码之前。

关于wolfram-mathematica - 如何创建具有正确格式表达式的笔记本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7306773/

相关文章:

for-loop - 进行迭代计划的最佳方法

wolfram-mathematica - 将内联格式添加到使用消息的便捷方式

c - 如何使用 C 中的循环找到满足 (x - y * sqrt(2016.0))/(y + sqrt(2016.0)) = 2016 的数字

wolfram-mathematica - Times 和 NonCommutativeMultiply,自动处理差值

wolfram-mathematica - 将未评估的函数存储在数学列表中

wolfram-mathematica - 在新版本的Mathematica中制作版本5的旧版文档的工作副本

r - 在表头 R Markdown html 输出中显示带有数学符号的 data.frame

php - 使用 MySQL 和/或 PHP 的数学运算

wolfram-mathematica - Mathematica 中的薛定谔方程

wolfram-mathematica - 如何在 "Working"样式环境而不是 "Printout"中导出图形?