2016-10-10 32 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 _ = [] 

然後運行它