Ms word 有没有一种合理的方法可以从Asciidoc或Markdown等轻型标记格式生成Word或OpenOffice文档?

Ms word 有没有一种合理的方法可以从Asciidoc或Markdown等轻型标记格式生成Word或OpenOffice文档?,ms-word,markdown,docx,asciidoc,odt,Ms Word,Markdown,Docx,Asciidoc,Odt,我目前正在大学写论文。大学和我指定的导师都要求论文: 采用MS Word文档格式,即doc或docx 在开始时包含一些正式的样板,模板仅以上述格式提供——标题页、论文原创性的正式声明等,并且必须在布局、字体等方面完全遵循这些模板 使用特定字体和特定大小(确切地说是Times New Roman 12pt) 满足其他风格要求(段落必须在开头缩进一个制表符) 作为一名程序员,我被现代明文编辑器宠坏了,多年来一直避免使用Word或LibreOffice Writer之类的WYSIWYG编辑器,就像

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

  • 采用MS Word文档格式,即
    doc
    docx
  • 在开始时包含一些正式的样板,模板仅以上述格式提供——标题页、论文原创性的正式声明等,并且必须在布局、字体等方面完全遵循这些模板
  • 使用特定字体和特定大小(确切地说是Times New Roman 12pt)
  • 满足其他风格要求(段落必须在开头缩进一个制表符)
作为一名程序员,我被现代明文编辑器宠坏了,多年来一直避免使用Word或LibreOffice Writer之类的WYSIWYG编辑器,就像瘟疫一样——做任何比填写表单更复杂的事情都是对这种工具的折磨,因为我总是与编辑器发生冲突,而不是专注于我正在写的内容。改变一个段落的风格可能会改变所有段落,增加一个字符或一行太多可能会破坏整个复杂的布局,并将文本分散在两页上,而其中一页本来是这样的,这是一种非常不直观和令人沮丧的体验。像ODT或DOC这样的压缩格式也不利于VCS,这是一个缺点,因为我希望能够在Git回购中保留一个副本,并看到可读的差异

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

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

在切线上,是否有一种方法可以通过编程方式合并两个DOCX或ODT文档?如果是这样的话,我可以手动填写样板模板,然后将它们加入到文档中。

听起来您希望:

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

Pandoc可以在多种标记和文字处理之间进行转换 格式,包括但不限于各种风格的降价, HTML、LaTeX和worddocx。查看输入和输出的完整列表 格式,请参见下面的--from和--to选项。潘多克也可以 生成PDF输出:请参见下面的创建PDF

Pandoc的增强版Markdown包括表的语法, 定义列表、元数据块、脚注、引用、数学和 更多。见下文潘多克的降价


从程序员的角度来看,有一个很棒的DOCX生成器,IMHO比@kjhughes建议的Pandoc更合适。看看github存储库中的示例,它有一组令人惊叹的样式、节、图像嵌入等示例。因此,与使用预定义工具中的标记相比,我更愿意尝试使用它。它可能需要一种特殊类型的降价来添加您需要的所有功能

如果您的最终输出是PDF,那么使用FODT作为模板,使用nunjucks作为文本占位符,使用docker转换器,通过使用简单的REST调用,该转换器可以非常快速地工作

您使用标记进行FODT的想法也很好,但如果它不是您论文的一部分,可能需要您付出额外的努力,尽管非常欢迎将其用于其他人,也请分享您的发现

祝你论文顺利