微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否有一种明智的方法可以从浅标记格式如Asciidoc或Markdown生成Word或OpenOffice文档?

如何解决是否有一种明智的方法可以从浅标记格式如Asciidoc或Markdown生成Word或OpenOffice文档?

我目前正在大学里写论文。大学和我指定的主管都要求论文:

  • 采用MS Word文档格式,即docdocx
  • 一开始包含一些正式的样板,其模板只能以所述格式使用-标题页,论文原创性的正式声明等,并且这些模板必须严格按照版式,字体和等等
  • 使用特定大小的特定字体(精确到Times New Roman 12pt)
  • 满足其他样式要求(段落开头必须带有制表符的缩进)

作为一名程序员,多年来我一直被现代的纯文本编辑所宠爱,多年来一直避开像瘟疫这样的WYSIWYG编辑器(如瘟疫)-做任何比填写表格更复杂的事情都会被这种工具折磨,因为我总是与编辑抗衡,而不是专注于所写的内容。更改一个段落的样式可能会更改所有段落,过多添加一个字符或一行可能会炸毁整个错综复杂的布局,并将文本分散在一页所占的两页上,这是一种非常不直观且令人沮丧的体验在周围。像ODT或DOC这样的压缩格式也不是VCS友好的,这是一个缺点,因为我希望能够将副本保存在Git存储库中并查看可读的差异。

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

有没有人有过将asciidoc或Markdown转换为DOCX,ODT或兼容格式的经验?目前,我正在认真考虑编写自己的纯文本/浅色标记→FODT(平面XML ODT)转换器,然后将其输出手动转换为DOCX,因为与学习如何使用所见即所得的编辑器有效。在切线上,是否有办法以编程方式合并两个DOCX或ODT文档?如果是这样,我可以手动填写样板模板,然后将它们加入文档中。

解决方法

您喜欢的声音pandoc

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

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

Pandoc的Markdown增强版包括表格语法, 定义列表,元数据块,脚注,引文,数学和 多得多。参见下面的Pandoc降价促销。

,

从程序员的角度来看,有一个很棒的 DOCX 生成器,恕我直言,它比 @kjhughes 建议的 Pandoc 更合适,请查看 https://docx.js.org/https://github.com/dolanmiu/docx/tree/master/demo 的 github 存储库中的示例有一组惊人的样式、部分、图像嵌入等示例。所以我会比使用预定义工具中的标记更好地尝试它。它可能需要一种特殊类型的 Markdown 来添加您需要的所有功能。

如果您的最终输出将是 PDF,则使用 FODT 作为模板并使用 nunjucks 作为文本占位符,请使用 https://thecodingmachine.github.io/gotenberg/#introduction 中的 docker 转换器,它使用简单的 REST 调用即可出色且快速地工作。

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

>

祝你论文顺利。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。