2016-10-10 28 views
0

我希望能够获取(可能是复杂的)LaTeX文档并提取将在mathmode中呈现的LaTeX源文件。选择我能想到的是,如何从乳胶文档中提取数学

  • grep命令equation$$
  • 使用extract包乳胶
  • 使用像pandoc一个转换器,并从一个简单的格式
  • 使用提取表达式来自渲染器的中间DOM(plasTeX似乎适合于此)

不幸的是grep ing是hacky,不能和宏一起工作; extract似乎工作,但使用尴尬; pandocplasTeX都会遇到复杂的“真实世界”文档。

我可以忽略任何更简单/更强大的方法吗?

回答

1

虽然pandoc无法代表更复杂的布局,但它支持数学运算,而且pandoc LaTeX阅读器可以非常可靠地检测数学环境。所以我建议你写一个pandoc filter,除了Math elements之外的所有东西都会丢掉。你也可以用Python语言编写的过滤器,但是在Haskell的东西沿着线:

pandoc --filter dropNonMath.hs -f latex -t latex input.tex 

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

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

然后运行它