将源代码转换为LaTeX

时间:2013-02-02 22:11:27

标签: java math latex expression documentation-generation

我经常遇到许多用Java和Fortran实现的物理方程。在大多数情况下,这些方程式直接从高级物理教科书或出版物中复制而来。原始形式的方程很容易阅读,因为它们通常在LaTeX中排版。然而,当这些方程转化为代码时,它们看起来像是胡言乱语。即使使用特定于域的特定变量名as suggested here,或将公式分解为多行,也不会使其看起来像排版版本一样直观。

是否有任何工具可以解析Java / Fortran源文件并将其输出到LaTeX中,将所有数学表达式转换为LaTeX等效项。例如,

Math.sqrt(Math.pow(a,2) + Math.pow(b,2))

转化为

\sqrt{a^2 + b^2}

要清楚。我不是在寻找允许将LaTeX作为comments / javadoc的一部分包含在内的解决方案。因为这只会创建我的注释的LaTeX输出而不是源代码中的表达式。

1 个答案:

答案 0 :(得分:1)

我想我已经看到了像jetbrains mps的投影编辑所要求的那样。它曾经将源代码中的算术表达式显示为类似乳胶的渲染方程。虽然我记不清楚,我在哪里看到它。也许是mbeddr

但是你对从源到乳胶的方式更感兴趣,所以这是我的建议: ATL提供了模型到模型的转换。您可以使用它将Java表达式转换为乳胶表达式。因此,您需要一个EMF model的Java。 MoDisco已附带Java 1.5模型。我不知道乳胶EMF模型。要将模型序列化为乳胶源,您可以使用Xtext