将 PDF 恢复为 LaTeX [关闭]
Posted
技术标签:
【中文标题】将 PDF 恢复为 LaTeX [关闭]【英文标题】:Recover PDF to LaTeX [closed] 【发布时间】:2010-12-09 20:26:58 【问题描述】:我知道如何从 LaTeX 制作 PDF。有没有办法从我之前创建的 PDF 中提取 LaTeX 代码?如果有人给我发一份 PDF,我喜欢这种格式,那怎么样。我可以从中提取 LaTeX 吗?
【问题讨论】:
tex.stackexchange.com/questions/8503/… 【参考方案1】:短版:没有。
长版:这很像反编译:技术上可以,但需要大量猜测和启发。
我不熟悉 PDF 的内部结构,但它可能会直接设置字体/大小/位置,而不是像在 LaTeX 中那样定义格式并将其应用于标题等。
【讨论】:
【参考方案2】:LaTeX 没有与 PDF 的一对一转换。关于您的第一个问题,我相信这种转换在技术上是可行的,但我不相信这样做的应用程序存在。类似于汇编程序可以反编译回高级语言的方式,可能有一种方法可以做到这一点。然而——一个pdf允许包含所有类型的数据——AutoCAD绘图、JPEG图形、字体文件、表格、数字签名等。LaTeX不知道这些东西是什么。所以第二个问题的答案是否定的——没有办法从任何 PDF 文档中提取等效的 LaTeX。
【讨论】:
【参考方案3】:只有将文档的源代码嵌入到 PDF 文件中才有可能。请参阅attachfile 包以执行此操作。
【讨论】:
或者,您可以使用标记的 PDF 添加提供线索的元数据。 是的,确实如此,但我不知道通过这条路线将 LaTeX 源代码转换为 PDF 的预先存在的方法。有什么建议吗? 抱歉,直到最近才看到您的问题。 Ross Moore 演示了 pdftex 添加,允许生成 PDF,其中数学用生成它们的 Tex 代码标记。这距离问题的完整答案还有很长的路要走,但我认为它表明它是可能的。关于这一点,我想说的比评论还多——我只想说它可以成为一篇很棒的硕士论文。【参考方案4】:查看我对相关问题的回答 (how to turn a DVI to tex?)
放大 - 不需要字符按阅读顺序排列(我发现 PDF 中 sdrawkcab sdaer txet 的一部分(并且依赖于坐标)。这很难重建,因为它可能取决于字体指标. 可以使用骇人听闻的ASCII86协议。
【讨论】:
【参考方案5】:它可以与 texmacs 一起使用,其中包括 pdf 文件的导入。
【讨论】:
texmacs 是从未尝试解决此问题的废弃软件。 不过,我已经做到了。 告诉我更多!几年前,我将 texmacs 视为一种不需要革命的问题的过度设计方法。我猜你有不同的看法?【参考方案6】:从 pdf 文件(由于其复杂的格式)中进行数据挖掘的最佳方法是使用 adobe illustrator 打开它们。 然后将pdf文件转换为svg文件,并使用svg解析器库自己编写一些棘手的代码。
一个高效的 svg 解析器库是 batik
(对于 Linux,将 pdf 转换为 svg 相当复杂: calcmaster.net/personal_projects/pdf2svg/)
PS 我一直在努力寻找问题的第二部分的解决方案 但我已经在诸如“可视化数据,Ben Fry,O'Reilly”之类的书中找到了答案 该 pdf 尤其是 Adobe pdf 解析起来很复杂,因此请改用 svg 解析器库。
【讨论】:
OP 要求 Linux 上的解决方案...【参考方案7】:Inkscape 可以导入 PDF,然后另存为“带有 PSTricks 宏的 LaTeX”,这基本上是通过将 PostScript 嵌入到 LaTeX 源中来工作的。麻烦多于其价值,生成的 Latex 源必须经过预处理才能再次输出为 PDF。
无论如何,即使有一些假设的 PDF 到 LaTeX 编译器,充其量你会得到一些单独指定每个字符或单词的位置和大小的东西——这与你想要的相反,我猜这是为了分母是分数的一半,而不是水平线下方的某个数字。
【讨论】:
【参考方案8】:可以使用 pdftohtml 和 gnuhtml2latex 将您的 PDF 转换为 HTML 并将您的 HTML 转换为 TEX。
实际上,您分两步进行 PDF 到 LaTeX 的转换。结果仍然像“用汉堡包做牛”,但结合一些清理脚本,结果可能相当不错。
GlobalBlindSpot 上的博文“Rudimentary PDF to LaTeX conversion in Linux”有一个示例 Bash 脚本,可将 .pdf 转换为 .tex 文件,然后再将其转换为 .pdf 文件。
【讨论】:
【参考方案9】:有一个工具可以像 OCR 一样读取 PDF 文件并尝试重新创建 Latex 代码。 它几乎是完美的,被称为"Infty Reader"! 因为 Latex 的可扩展性很强,所以我认为它并不是所有的格式都是正确的。
【讨论】:
InftyReader 仅适用于 MS Windows。以上是关于将 PDF 恢复为 LaTeX [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何最好地编写针对 HTML 和 PDF 的文档? [关闭]