首页 > 解决方案 > 有没有一种健全的方法可以从 Asciidoc 或 Markdown 等轻量级标记格式生成 Word 或 OpenOffice 文档?

问题描述

我目前正在大学写论文。大学和我指定的导师都要求论文:

作为一名程序员,我被现代纯文本编辑器宠坏了,多年来一直在避免使用 WYSIWYG 编辑器,比如 Word 或 LibreOffice Writer,就像瘟疫一样——做任何比填写表格更复杂的事情都是对这种工具的折磨,就像我往常一样最终与编辑抗争,而不是专注于我正在写的内容。更改一个段落的样式可能会更改所有段落,添加一个字符或行太多可能会破坏整个复杂的布局并将文本散布在一个页面的两页上,这是一种非常不直观和令人沮丧的体验。像 ODT 或 DOC 这样的压缩格式也不是 VCS 友好的,这是一个缺点,因为我希望能够在 Git 存储库中保留一份副本并查看可读的差异。

由于我的论文将是关于软件的,我可能需要内联等宽部分、互联网资源链接和代码列表块,最好使用适合语言的语法突出显示。在 LO 或 Word 中手动执行这些操作将非常乏味、重复且容易出错。Asciidoc 似乎非常适合我的用例但是既不支持 ODT 也不支持任何与 Word 兼容的格式作为 asciidoctor 输出目标。Markdown 也是可以接受的,尽管它缺乏手动标记分页符的能力。

有没有人将 Asciidoc 或 Markdown 转换为 DOCX、ODT 或兼容格式的经验?现在我正在认真考虑编写我自己的纯文本/浅色标记→ FODT(平面 XML ODT)转换器,然后手动将其输出转换为 DOCX,因为与学习如何使用所见即所得相比,我很可能花费更少的时间有效地编辑。

切线,有没有办法以编程方式合并两个 DOCX 或 ODT 文档?如果是这样,我可以手动填写样板模板,然后将它们正确地加入到文档中。

标签: ms-wordmarkdowndocxasciidocodt

解决方案


听起来你喜欢pandoc

Pandoc 是一个用于从一种标记格式转换为另一种标记格式的 Haskell 库,以及使用该库的命令行工具。

Pandoc 可以在多种标记和文字处理格式之间进行转换,包括但不限于各种风格的 Markdown、HTML、LaTeX 和 Word docx。有关输入和输出格式的完整列表,请参阅下面的 --from 和 --to 选项。Pandoc 还可以生成 PDF 输出:请参阅下面的创建 PDF。

Pandoc 的 Markdown 增强版包括表格语法、定义列表、元数据块、脚注、引文、数学等等。请参阅下文 Pandoc 的 Markdown。


推荐阅读