Sim*_*mon 7 wolfram-mathematica configuration-files
当数学计算一个细胞,它给人的输入单元和输出单元的CellLabel小号In[$Line]:=
和Out[$Line]=
其中$线是从每输入计算递增的计数器.
如果您输入类似TraditionalForm[expr]
或TeXForm[expr]
(或任何其他*表格$OutputForms
)的内容,则表单的名称也会添加到输出单元格的标签中.例如Out[1]//TraditionalForm=
.
我找不到任何自定义这些标签的方法.
可以在"首选项"对话框中禁用它们.
它们似乎不在输入和输出单元格的StyleSheet选项中 - 尽管有与CellLabel行为相关的选项.
也不在Notebook选项中 - 尽管在Option Inspector中:Notebook Options> Evaluation Options> EvaluationCompletionAction可以通过添加TimeStamp来修改CellLabel.它还可以在StatusArea中显示Timing,一旦打印出其他内容,它就会被删除.
也不是任何init.m类型的 配置文件.
那么,有谁知道这些CellLabel的生成位置?
特别是,我有兴趣将Timing
CellLabel 添加到输出单元格.
好的,关于物理论坛的讨论导致了这个非常糟糕的解决方案(现在已经清理了一点):
SetAttributes[Timeit, HoldAll]
Timeit[x_] := With[{t = Timing[x]}, Module[{out, form},
If[TrueQ[MemberQ[$OutputForms, Head[t[[2]]]]],
out = First[t[[2]]]; form = "//" <> ToString[Head[t[[2]]]],
out = t[[2]]; form = ""];
If[out === Null, Null,
CellPrint[ExpressionCell[t[[2]], "Output", CellLabelAutoDelete -> False,
CellLabel -> StringJoin["(", ToString[t[[1]]], ")",
"Out[", ToString[$Line], "]", form, "="]]];
Unprotect[Out]; Out[$Line] = out; Protect[Out]; out;]];]
$Pre = Timeit;
Run Code Online (Sandbox Code Playgroud)
若要使CellLabels保持不变,以便在保存和加载笔记本时不会丢失时间,可以修改样式表,以便输出单元格具有该选项CellLabelAutoDelete -> True
.(编辑:现在已添加到CellPrint
命令中.)
任何更好的解决方案都非常受欢迎.
归档时间: |
|
查看次数: |
727 次 |
最近记录: |