使用Pandoc将Markdown文件转换为文字处理器文档

如果您以纯文本的方式生活,那么总会有一段时间有人要求文字处理程序文档。 我经常遇到这个问题,尤其是在Day Job TM上 。 尽管我已经在Docs Like Code工作流程中介绍了一个开发团队,用于编写和查看发行说明,但仍有少数人对GitHub或Markdown并不感兴趣。 他们更喜欢为某些专有应用程序格式化的文档。

好消息是,您不必再将未格式化的文本复制并粘贴到文字处理器文档中。 使用pandoc ,您可以快速给人们他们想要的东西。 让我们看一下如何使用pandocLinux 中将文档从Markdown转换为文字处理器格式

请注意, pandoc也可用于多种操作系统,范围从两种BSD( NetBSDFreeBSD )到Chrome OS,MacOS和Windows。

转换基础

首先,在计算机上安装pandoc 。 然后,打开控制台终端窗口,然后导航到包含要转换的文件的目录。

键入以下命令来创建ODT文件(可以使用诸如LibreOffice WriterAbiWord的文字处理器打开该文件):

pandoc -t odt filename.md -o filename.odt

切记用文件的实际名称替换文件名。 而且,如果您需要为该其他文字处理器创建一个文件(您知道我的意思是那个文件),请在命令行上将odt替换为docx 。 这是转换为ODT文件时的外观:

Basic conversion results with pandoc.

这些结果是有用的,但是有点平淡。 让我们看一下如何在转换后的文档中添加更多样式。

样式转换

pandoc具有一个漂亮的功能,使您可以在将标记的纯文本文件转换为文字处理器格式时指定样式模板。 在此文件中,您可以编辑文档中的少量样式,包括控制段落,标题,标题,标题和字幕,基本表格和超链接外观的样式。

让我们看一下可能性。

创建模板

为了给文档设置样式,您不能仅使用任何模板。 您需要生成Pandoc称为参考模板的文件,该模板是将文本文件转换为文字处理器文档时使用的模板。 要创建此文件,请在终端窗口中键入以下内容:

pandoc -o custom-reference.odt-打印默认数据文件reference.odt

此命令创建一个名为custom-reference.odt的文件。 如果您正在使用其他文字处理器,请将命令行上对odt的引用更改为docx

在LibreOffice Writer中打开模板文件,然后按F11打开LibreOffice Writer的“样式”窗格。 尽管pandoc手册建议不要对文件进行其他更改,但我会更改页面大小并在必要时添加页眉和页脚。

使用模板

那么,如何使用刚刚创建的模板? 有两种方法可以做到这一点。

最简单的方法是将模板放在/ home目录的.pandoc文件夹中-如果该文件夹不存在,则可能必须首先创建该文件夹。 当需要转换文档时, pandoc使用此模板文件。 如果需要多个模板,请参阅下一节有关如何从多个模板中进行选择。

使用模板的另一种方法是在命令行中输入以下转换选项集:

pandoc -t odt文件名.md --reference-doc =您的文件路径/reference.odt -o文件名.odt

如果您想知道使用自定义模板转换后的文件是什么样子,请参考以下示例:

A document converted using a pandoc style template.

从多个模板中选择

许多人只需要一个pandoc模板。 但是,有些人需要多个。

例如,在我的日常工作中,我使用了多个模板-一个带有草稿水印的模板,一个带有说明供内部使用的水印的模板,以及一个用于文档最终版本的模板。 每种类型的文档都需要不同的模板。

如果您有类似的需求,请通过创建文件custom-reference.odt来开始对单个模板的相同操作。 重命名生成的文件,例如,将其重命名为custom-reference-draft.odt,然后在LibreOffice Writer 中将其打开并修改样式。 对您需要的每个模板重复此过程。

接下来,将文件复制到/ home目录。 如果愿意,您甚至可以将它们放在.pandoc文件夹中。

要在转换时选择特定的模板,您需要在终端中运行以下命令:

pandoc -t odt文件名.md --reference-doc =您的文件路径/custom-template.odt -o文件名.odt

custom-template.odt更改为模板文件的名称。

结语

为了避免记住我不经常使用的一组选项,我将一些简单,非常la脚的单行脚本拼凑在一起,这些脚本封装了每个模板的选项。 例如,我运行脚本todraft.sh以使用带有DRAFT水印的模板创建文字处理器文档。 您可能想要做同样的事情。

这是使用包含DRAFT水印的模板的脚本示例:

pandoc -t odt $1.md -o $1.odt --reference-doc=~/Documents/pandoc-templates/custom-reference-draft.odt

使用pandoc是一种以人们要求的格式提供文档的好方法,而不必放弃命令行寿命。 该工具也不仅仅与Markdown一起使用。 我在本文中讨论的内容还使您可以在多种标记语言之间创建和转换文档。 有关更多详细信息,请参见前面链接的pandoc网站。

翻译自: https://opensource.com/article/19/5/convert-markdown-to-word-pandoc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值