![从 .tex 源文件中提取高级对象](https://linux22.com/image/432637/%E4%BB%8E%20.tex%20%E6%BA%90%E6%96%87%E4%BB%B6%E4%B8%AD%E6%8F%90%E5%8F%96%E9%AB%98%E7%BA%A7%E5%AF%B9%E8%B1%A1.png)
我想到了一个可以方便地撇去通过 arXiv 论文/文章。简而言之,它应该根据文档的类型(图像、表格、公式、段落等)过滤掉文档的各个部分。显然,在 HTML 上执行比在 PDF 上执行要容易得多。据我所知,PDF 不包含有关文档结构的任何信息,基本上它是一组“在此处绘制此字形”的指令,因此恢复结构成为(不必要的)非平凡 OCR 问题。
那么,直接的解决方案就是将论文.tex
源转换为 HTML。可用选项包括:
lwarp
:似乎从一开始就要考虑 HTML 目标,需要大量的源修补latex2html
:非常强大,但有些内容被转换成图像,这对响应性/a11y 来说不太好pandoc
:抛弃由 arxiv-vanity/engrafo 开发人员编写;未找到与其他工具的比较make4ht/tex4ht
:我不确定我是否理解它的内部翻译过程(.tex
-> DVI -> HTML?),总体表现良好,偶尔会出现一些我不知道如何修复的瑕疵(连接到 LuaTeX 内部?),但是一些文件未能送达latexml
: 有努力将整个 arXiv 处理为 HTML,然后查看数字,效果还不错,但我还没有亲自测试过;这就是arxiv-vanity用途,从用户的角度来看,转换质量与tex4ht
我很可能会使用make4ht
或latexml
经过额外的测试,但主意
对我来说,提取相对“高级”的对象就像抛弃任何排版一样;TeX 引擎在处理 LaTeX 内容宏后会得到什么。LuaTeX 字形节点似乎太低级了,不适合我的目的。
所以我的问题是 LuaTeX/TeX 是否在内部对类似于文档的抽象语法树的东西进行操作?