wolfram-mathematica - 如何在源代码级别区分 2 个笔记本?

标签 wolfram-mathematica

有谁知道在源代码级别找到两个笔记本之间差异的工具?

工作台 2 中的比较笔记本工具似乎在内部数据结构级别工作,这对我没有用。我正在寻找可以查看源代码级别差异的工具(查看笔记本时看到的内容,即不是 FullForm)。

我在 Windows 上使用 Mathematica 的 V8。

编辑1:

如何以更易读的形式显示 NotebookDiff 的输出/报告?

enter image description here

最佳答案

此答案基于对此问题其他部分的评论中的讨论。
如果它要定期使用,它也可以(并且应该)自动化。
这可以通过标记要比较的单元格并使用 NotebookFind 来完成。找到用于提取和比较的单元格。

仅比较单个大型代码单元格的解决方案(有时在制作 demonstrations 时会发生这种情况)是复制 InputForm 中的代码。从两个笔记本

enter image description here

并将其粘贴到一个简单的差异工具中,例如 Quick Diff Online
然后将为您显示标准差异:

enter image description here

以上代码取自 one of Nasser's demonstrations .

另一种选择是使用 CellDiff来自 AuthorTools包裹。

Needs["AuthorTools`"];
CellDiff[Cell["Some text.", "Text"], 
         Cell["Some different text.", "Text"]]

CellDiff

要在演示中使用,您可以通过右键单击单元格括号从两个版本中复制单元格表达式:

enter image description here

关于wolfram-mathematica - 如何在源代码级别区分 2 个笔记本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6528798/

相关文章:

wolfram-mathematica - Stephen Wolfram 的规则 30 模式说明

wolfram-mathematica - 我可以使用 Stackoverflow API 检查哪些 SO 回答者 sleep 不足?

wolfram-mathematica - 强制 x 轴与 Mathematica Plot 中的 y 轴对齐

math - 比较传统数学符号与 APL/J 符号的示例

Mathematica 中另一个 Dynamic 中的动态列表选择

wolfram-mathematica - 如何从 Notebook[] 中删除不必要的选项?

git - Mathematica 笔记本的版本控制

wolfram-mathematica - 数学 : Grokking 'maximal number of evaluations' argument for `NestWhileList`

wolfram-mathematica - 缩放区域并显示为图中的子图

wolfram-mathematica - 在 mathematica 中获取 listplot 的点数