如何从乳胶文件中提取数学

时间:2016-10-10 16:47:34

标签: parsing math latex pandoc

我希望能够获取(可能很复杂的)LaTeX文档并拉出将在mathmode中呈现的LaTeX源代码。我能想到的选择是,

  • Grep for equation$$
  • 使用La {{
  • extract
  • 使用pandoc之类的转换器,并从更简单的格式中提取表达式
  • 使用渲染器中的中间DOM(plasTeX似乎适合此)

不幸的是grep是hacky并且不适用于宏; extract似乎有用,但使用起来很尴尬; pandocplasTeX都会遇到复杂的“真实世界”问题。文档。

我是否忽略了更容易/更强大的方法来做到这一点?

1 个答案:

答案 0 :(得分:1)

虽然pandoc不能代表更复杂的布局,但它确实支持数学,而pandoc LaTeX阅读器可以非常可靠地检测数学环境。所以我建议写一个除pandoc filter以外的所有内容Math elements。您也可以在python中编写过滤器,但在Haskell中可以使用以下内容:

#!/usr/bin/env runhaskell
-- dropNonMath.hs
import Text.Pandoc.JSON

main = toJSONFilter dropNonMath
  where dropNonMath (Math x y) = Math x y
        dropNonMath _ = []

然后用:

运行它
pandoc --filter dropNonMath.hs -f latex -t latex input.tex