![如何将办公文档(odt、doc、rtf)转换为干净的 LaTeX?](https://linux22.com/image/270125/%E5%A6%82%E4%BD%95%E5%B0%86%E5%8A%9E%E5%85%AC%E6%96%87%E6%A1%A3%EF%BC%88odt%E3%80%81doc%E3%80%81rtf%EF%BC%89%E8%BD%AC%E6%8D%A2%E4%B8%BA%E5%B9%B2%E5%87%80%E7%9A%84%20LaTeX%EF%BC%9F.png)
[我知道,这个问题已经出现过好几次了,但让我先解释一下我的情况。] 我必须编辑某些书籍,作者将他们的文档以 或 文件的形式发送给我.doc
。.odt
我.rtf
想将这些文件转换为 LaTeX,但我只想保留以下结构和格式:
- 斜体
- 脚注
- 有序列表和无序列表
因此,我通常会.rtf
使用 Libreoffice 将这些文档转换为 LaTeX(因为我会删除许多我不想保留的格式),然后使用著名的 LibreOffice 扩展将其转换为 LaTeX。这种方法效果很好,但有时结果并不清晰,例如很多时候 LaTeX 文档中都有颜色标签或其他格式。
有人知道实现该目标的更好方法吗?如何转换这些文档,仅保留脚注、斜体和列表?
答案1
我知道哲学领域的典型文档是什么样的,因此我知道格式通常不是很复杂,但理想情况下,哲学著作是结构化且语义丰富的文档。例如,值得考虑斜体是否是为了强调或区分书名,并相应地标记它们。此外,保持标题的轮廓和层次完整可能会有所帮助。这让我想到了Writer2LaTeX。
我个人认为,在当今时代使用 RTF 没有任何优势,而且我的工作主要围绕 OpenDocument。当我必须整合不同的文档并使用 LaTeX 生成干净的排版版本时(这种情况越来越常见),我通常会依赖 Pandoc 和 Writer2LaTeX 的组合。以下是对后者的一些观察:
为了保留所有不同类型的样式和结构元素,人们别无选择,只能选择“打印”配置文件;对于我所做的工作,“干净”和“超干净”配置文件是不够的。一个原因是我的 ODT 文档中经常有多列文本部分(我的意思是实际的部分–
div
或环境(如果您愿意的话)– 而不是节级标题),并且当选择“干净”配置文件时,这些节不会保留在 Writer2LaTeX 的输出中。再说一次,即使使用“打印”配置文件,生成的也是环境multicols
,而不是具有自己名称的自定义环境,这不像我希望的那样具有语义。删除所有手动格式并用样式(即使是字符样式)替换时,转换结果通常会更好,这就是为什么我建议用“强调”和“作品标题”等样式替换斜体。这样,每种样式在生成的 LaTeX 序言中都有自己的定义。
即使我们尽可能地严守纪律,也总会有一些杂乱无章的地方需要删除。Writer2LaTeX 尊重 LibreOffice 编写 ODF 文件的方式,这意味着即使应用了命名样式,也会产生许多自动样式。就好像 LibreOffice “实例化”了所应用的样式,并用自动编号的样式替换它们(段落为 P1、P2 等,文本跨度为 T1、T2 等)。我觉得这很烦人,尤其是因为这种行为只出现在 LibreOffice 的最新版本中,而 OpenOffice 3.4.1 中不存在。
大多数情况下,您需要修改生成的前言中的命令和环境定义,因为它们根本不是最佳的(显然,使用自动化工具不能取代对 LaTeX 的实际知识)。
需要纪律和耐心,但使用 OpenDocument、LibreOffice、Writer2LaTeX 以及对生成的 LaTeX 源进行一些仔细的手动编辑绝对可以制作出漂亮的文档。
更新:2012 年至 2014 年间,Writer2LaTeX 的开发一直处于停滞状态,这令人不安,因为最新的稳定版本无法与 LibreOffice 4.0 及更高版本正常配合使用。我的解决方案是使用 Writer2LaTeX 的“独立”版本,可从该项目网站。此独立版本是通过命令行进行操作的,但我发现这样配置实际上更简单。
现在,自 2014 年底以来,Writer2LaTeX 的开发已经恢复,并且比以往更好。与 XeTeX 的兼容性得到了改善,使得该扩展在典型的多语言环境中更易于使用。
答案2
您可能想要尝试 Abi Word 中的乳胶函数,我知道它不像您想象的那么干净,但它可能会给您一些想法。