使用 pandoc ruby​​ 将 HTML 和内联 Mathjax 数学转换为 LaTeX

2024-02-27

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

我发现了和我类似的问题:

  • 使用 pandoc 将 html mathjax 转换为 Markdown https://stackoverflow.com/questions/16014717/convert-html-mathjax-to-markdown-with-pandoc
  • 如何使用 pandoc 将带有 mathjax 的 HTML 转换为 Latex? https://stackoverflow.com/questions/11338049/how-to-convert-html-with-mathjax-into-latex-using-pandoc

我在这里看到两个选项:

  1. 创建一个 Haskell 可执行文件,其中包含类似的内容\(y=f(x)\)将 html 转换为 LaTeX 时单独使用
  2. Write a ruby method which does the following things:
    • 采取string并将其拆分为array使用正则表达式(string.split(regex))
    • 循环遍历创建的array如果内容匹配regex将不包含内联数学的部分转换为 LaTeXPandocRuby.html(string).to_latex
    • 将所有内容重新连接在一起(array.join)

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

所以我的问题是:应该做什么regex看起来像分裂string by \(math\).

E.g. string可以看起来像这样: text \(y=f(x) \iff \log_{10}(b)\) and \(a+b=c\) text

并且为了完整起见,Haskell脚本应该如何写才能离开\(math\)单独转换为 LaTeX 和 ruby​​ 方法不是一个可能的解决方案吗?


获取最新版本的 pandoc (1.12.2)。然后你可以做

pandoc -f html+tex_math_dollars+tex_math_single_backslash -t latex
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 pandoc ruby​​ 将 HTML 和内联 Mathjax 数学转换为 LaTeX 的相关文章

  • Ruby 中的并行赋值运算符

    我正在查看 Ruby 编程 书中的一个示例 def fib up to max i1 i2 1 1 parallel assignment i1 1 and i2 1 while i1 lt max yield i1 i1 i2 i2 i1
  • 多行 C# 正则表达式在空行后匹配

    我正在寻找一个多行正则表达式 它将匹配空行后出现的情况 例如 给定下面的示例电子邮件 我想匹配 发件人 Alex From s 可以匹配任何 From 行 但我希望它仅限于正文中的行 第一个空白行之后的任何行 Received from a
  • Haskell 中的中缀运算符优先级

    对于以下 Haskell 表达式 返回 a gt gt f 应该读作 返回a gt gt f or 返回 a gt gt f 这里的相关规则是什么 规则始终是函数应用程序的优先级高于任何运算符 因此 return a gt gt f 被解析
  • Kate 文本编辑器正则表达式用于在 PC 上更改 CNC 代码

    使用某些CAM软件时 通常会正确生成带有空格的CNC代码 但例如 当通过 USB 或网络移动到 Citizen Cincom L20 机器并在那里进行编辑时 它会丢失空格 也会丢失分号 同时保留新行 无论如何 这些行都可以作为分号使用 但是
  • 正则表达式匹配带有连字符和/或撇号的单词

    我正在寻找一个正则表达式来匹配带有连字符和 或撇号的单词 到目前为止 我有 w w w 这在大多数情况下都有效 但如果先有一个撇号 然后有一个连字符 例如 qu est ce 则它不匹配 我可以附加更多选项 尽管也许还有另一种更有效的方法
  • 通过推送通知唤醒

    Suppose 有一些对象 例如 一个数组a 和依赖于对象的条件 例如 a empty 当前线程以外的某些线程可以操作该对象 a 因此条件评估值的真实性会随着时间的推移而变化 如何让当前线程在代码中的某个时刻休眠 并在条件满足时通过推送通知
  • Watir 更改 Mozilla Firefox 首选项

    我正在使用 Watir 运行 Ruby 脚本来自动执行一些操作 我正在尝试自动将一些文件保存到某个目录 因此 在我的 Mozilla 设置中 我将默认下载目录设置为桌面并选择自动保存文件 然而 当我开始运行脚本时 这些更改并未反映出来 似乎
  • 如何在 Haskell 中制作打勾游戏的图案?

    实现有 2 个参数的函数 ticktick 第一个参数是自然数元组 定义游戏场地的行数和列数 第二个列表包含由玩家 x 和玩家 o 轮流玩的坐标给出的井字游戏比赛的记录 打印游戏的实际状态 其中游戏区域将由字符 和 界定 空方块 以及字符
  • Ruby 中的任务/未来

    代表潜在延迟的异步计算并且可以订阅其完成的模式的惯用 Ruby 模拟是什么 即类似于 NET 的东西System Threading Task 或Python 3 xconcurrent futures future 请注意 这并不一定意味
  • 如何在直线上分解长方程?

    我正在尝试在新行中添加一个方程 问题是方程对于该行来说太长了 我需要手动打破它 否则 它只会重叠到右列或右边缘 并且看起来很难看 有没有一种方法可以让 LaTeX 帮我打破方程 看起来不错 我附上我的乳胶代码 begin align f n
  • Rails 4:资产未在生产中加载

    我正在尝试将我的应用程序投入生产 但图像和 CSS 资源路径不起作用 这是我目前正在做的事情 图像资源位于 app assets images image jpg 样式表位于 app assets stylesheets style css
  • 如何使用本地安装的gems执行Ruby程序?

    我已经使用安装了我的依赖项 bundle package 然后将它们传输到离线服务器并运行 gt bundle install local Using mime types 1 19 Using rest client 1 6 7 Usin
  • [Regex]::Replace() 和 -replace 有什么区别?

    我明白了之间的区别 Replace and replace 但是什么是 replace and Regex Replace 我测试了以下两个代码 但对我来说结果完全相同 我还提到了 PowerShell Cookbook O reilly
  • 正则表达式验证字符串是否包含三个非空白字符

    我使用欧芹 js 来验证输入 并且使用 data parsley pattern 它允许我传递正则表达式 我正在尝试验证该字符串以确保它至少包含三个非空白字符 下面是应该无效或有效的字符串 valid 1 2 b invalid 1 b s
  • Python re无限执行

    我正在尝试执行这段代码 import re pattern r w w s re compiled re compile pattern results re compiled search COPRO HORIZON 2000 HOR p
  • 使用 VCR 过滤敏感数据

    我正在使用 VCR gem 记录 http 交互并在将来重播它们 我想过滤掉 uri 请求中的实际密码值 以下是 uri 的示例 http services somesite com Services asmx Cabins Usernam
  • 有没有更好的方法将 UTC 时间转换为大纪元时间?

    我想将文件的修改时间设置为从 exif 数据获取的时间 为了从 exif 获取时间 我发现 Graphics Exif getTag Exif gt String gt IO Maybe String 要设置文件修改时间 我发现 Syste
  • Rails:named_scope、lambda 和块

    我认为以下两个是等效的 named scope admin lambda company id conditions gt company id company id named scope admin lambda do company
  • Nokogiri 保持 HTML 实体不变

    我希望 Nokogiri 保持 HTML 实体不变 但它似乎正在将实体转换为实际的符号 例如 Nokogiri HTML fragment p reg p to s 结果是 p p 似乎没有什么可以将原始 HTML 返回给我 inner h
  • Rails - 渲染:目标锚标记的操作?

    我希望像这样使用渲染 render action gt page form 我也尝试过这个 render template gt site page form 那也没用 这个特定页面上的表单位于最底部 如果提交时发生任何错误 我不希望用户被

随机推荐

  • Mercurial - 如何找到特定分支上的第一次提交

    我不想确定 foo 分支的年龄 据我了解 不可能直接获得这些信息 我尝试编写命令来查找有关 foo 分支上首次提交的信息 hg log r parents min branch foo 这个返回的结果并不完全是我想要的 有人可以帮助我吗 我
  • 我的 Play 2 应用程序如何响应客户端的不同“接受”标头?

    在 Rails 中 我能够执行类似于以下的操作 respond to do format format xml format json end 并且将根据客户端在 Accept 标头中提供的内容来执行适当的块 我如何在 Play 2 0 S
  • 我的 std::vector 应该包含指针还是结构?

    我知道保存指针会产生额外的取消引用操作的开销 但它可以节省我的时间 包括包含结构定义的 可能很大 头文件 然而 我的偏好是由拥有的优势决定的std vector
  • Rshinyjsshinydashboard框在操作按钮输入时展开

    在我闪亮的应用程序中 当应用程序启动时 我有几个框会折叠 单击操作按钮后 将运行计算 然后框应展开并显示结果 这是我正在使用的示例代码 但它不会展开该框 我从这里得到了 jscode 的代码如何手动折叠闪亮仪表板中的框 https stac
  • 通过id获取元素当前高度

    我有一个元素如下 div style width 20 div div style width 80 div 本质上 导航位于左侧 内容位于右侧 现在我正在动态调整两者的大小loadContent and loadNavigation页面加
  • 函数参数常量是否允许不匹配?

    关于using const功能参数 https stackoverflow com questions 117293 use of const for function parameters我听说在某些 OS X 系统上参数的常量性被破坏到
  • Twitter 引导程序更改词缀偏移量

    我有一个想要 子导航 的网站 因此 当您滚动到部分时 其工具栏将固定在主工具栏下方 我可以正常工作 但初始化后无法更改顶部偏移量 文档说 贴上 刷新 将词缀与添加或删除元素结合使用时 从 DOM 中 您需要调用刷新方法 但是当我尝试这个时我
  • WPF Richtextbox FontFace/FontSize

    我目前正在尝试在 WPF 项目中创建一些基本的文字处理功能 我正在使用 RichTextBox 并且知道所有的 EditingCommands ToggleBold ToggleItalic 等 我所坚持的问题是允许用户更改字体大小和字体
  • Internet Explorer 10/11 和旧的 .net Framework 1.1 网站的兼容性问题

    场景 我有一个用 net 框架1 1 开发的非常旧的网站 该网站在 Internet Explorer 10 11 中存在多个问题 可以使用兼容性视图进行修复 问题 问题是框 架 1 1 无法将 Internet Explorer 10 1
  • Eclipse 抽象语法树差异

    在 Eclipse 中给出以下代码 import org eclipse jdt core dom AST import org eclipse jdt core dom ASTParser import org eclipse jdt c
  • 递归包含所有模型子目录

    如何递归加载 models 和 lib 目录中的所有目录 在 application rb 中 我有以下几行 config autoload paths Dir Rails root join app models config autol
  • Xcode:UI 自动化:waitForValid()

    有一个 waitForInvalid 但 waitForValid 函数呢 由于某种原因 push popTimeout 在很多情况下对我不起作用 苹果 如果元素是 有效 但不是 可见 则可能返回得太早 这应该等到其可见且有效 UIATar
  • Firestore 添加文档 ||离线||回调[重复]

    这个问题在这里已经有答案了 期间未收到在集合中添加文档的回调offline 它在在线模式下运行良好 但是 文档正在被添加 并且侦听集合的侦听器正在被添加document快照 let database Firestore firestore
  • 带有外部第三方 jar 的 Eclipse 插件

    我有一个 RCP 应用程序 其中包含不同的插件 在其中一个插件中 我使用外部第三方 jar 由于版权原因 我无法将该 jar 捆绑到我的产品中 所以我尝试在运行时将 jar 作为外部 jar 包含在内 我所做的如下 在插件manifest
  • 为什么mysql无法创建新用户?

    mysql gt select user host from mysql user user host root 127 0 0 1 root 1 debian sys maint localhost developer localhost
  • 使用 QT 读取 Linux/Ubuntu 上的电池状态

    我目前正在使用 qt 开发一个应用程序 目标是运行 ubuntu 14 04 的平板电脑 由于设备上的电池指示器很差 并且应用程序将长时间全屏运行 因此我想在应用程序内显示电池指示器 搜索发现主要是旧结果或对 windows android
  • 找不到元素“context:annotation-config”的声明

    每当我写作时 春天
  • Highcharts,使 y 轴从零开始

    我想这对某些人来说应该是理所当然的 但我在那些可怕的自动生成的文档中找不到它 您应该在图表对象中添加 yAxis 属性min 0这是一个类似的问题 如何设置 Highcharts 图表最大 y 轴值 https stackoverflow
  • 让Git在分支之间保留不同的section内容

    我正在开发一个用户脚本 我的雇主要求我开始通过 Git 进行管理 现在 我有一个稳定文件和一个测试版文件 以便组织中的每个人都可以安装稳定代码 但如果愿意 可以选择帮助测试测试版添加内容 该文件的某些部分应保持不同 内容和更改不应在分支之间
  • 使用 pandoc ruby​​ 将 HTML 和内联 Mathjax 数学转换为 LaTeX

    我正在构建一个Rails应用程序 并且正在寻找一种方法将带有html和内联MathJax数学 TeX 的数据库条目转换为LaTeX以创建pdf 我发现了和我类似的问题 使用 pandoc 将 html mathjax 转换为 Markdow