使用pandoc-ruby将HTML和内联Mathjax-math转换为LaTeX



我正在构建一个Rails应用程序,我正在寻找一种方法,将带有html和内联MathJax-math(TeX)的数据库条目转换为LaTeX以创建pdf。

我发现了类似我的问题:

  • 使用pandoc将html mathjax转换为markdown
  • 如何使用mathjax将HTML转换为使用pandoc的latex

我在这里看到两个选项:

  1. 创建一个Haskell可执行文件,在将html转换为LaTeX时,它将不使用(y=f(x))之类的内容
  2. 编写一个ruby方法,它可以执行以下操作:
    • string并用正则表达式(string.split(regex))将其拆分为array
    • 循环使用创建的array,如果内容与regex匹配,则将零件转换为不包含与PandocRuby.html(string).to_latex的内联数学的LaTeX
    • 将所有内容重新连接在一起(array.join

我更喜欢ruby方法解决方案,因为我在Heroku上托管我的应用程序,我不喜欢将二进制文件签入git
注意:pandoc二进制文件是这样实现的http://www.petekeen.net/introduction-to-heroku-buildpacks)

所以我的问题是:用(math)分割stringregex应该是什么样子。

例如,string可以如下所示:text (y=f(x) iff log_{10}(b)) and (a+b=c) text

为了完整性,当转换为LaTeX时,应该如何编写Haskell脚本以使(math)不受影响,而ruby方法不是一个可能的解决方案?

获取最新版本的pandoc(1.12.2)。然后您可以进行

pandoc -f html+tex_math_dollars+tex_math_single_backslash -t latex

最新更新