将源代码转换为LaTeX

Sha*_*iar 5 java math latex expression documentation-generation

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

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

Math.sqrt(Math.pow(a,2) + Math.pow(b,2))
Run Code Online (Sandbox Code Playgroud)

变成了

\sqrt{a^2 + b^2}
Run Code Online (Sandbox Code Playgroud)

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

Spa*_*ker 1

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

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