切换到 Linux 时经常提到的问题之一是文件兼容性。 您总是会发送其他操作系统文件的用户,并且在应用程序中打开时它们看起来不一样 Word. 虽然您可以安装字体或尝试使用虚拟机或模拟器来确保外观一致,但另一种方法是以纯文本格式完成工作,然后在完成后将其转换。
pandoc 是一种可用于在格式之间进行转换的工具,它是任何 Linux 用户工具箱中必不可少的工具。
基本 Pandoc 安装和使用
在大多数 Linux 发行版上安装 pandoc 只需访问存储库即可。 在基于 Ubuntu 的系统上,以下命令会为您安装它:
sudo apt-get install pandoc
安装后,您可以开始使用命令行程序来转换文件。 擅长处理 Markdown 和其他轻量级标记语言,如果你有 .MD 文件,您可以使用以下内容将其转换为 HTML:
pandoc -o myfile.html myfile.md
这 -o flag 告诉你的名字 输出文件 你要。 在这种情况下,它还通过文件扩展名推断输出格式 (HTML)。 您可以使用 -r (为了 读) 和 -w (为了 写) 标志告诉 pandoc 你想要的转换类型。 假设您习惯于使用 Markdown 进行写作,但需要在基于 Mediawiki 的页面上发布一些内容:
pandoc -r markdown -w mediawiki -o markdown.wiki markdown.md
在其早期版本中,pandoc 专注于“升级”文件,因为它可以将更简单的格式(例如 Markdown)转换为更复杂的格式(例如 ODT 或 Microsoft 的 DOCX)。 但现在会 读 这些更复杂的格式也是如此。 这意味着,如果您习惯于使用文字处理器,但出于各种原因而倾向于使用更小、更便携的纯文本格式,那么它会变得容易得多。
给定一个目录 Word 文件,以下命令会将它们中的每一个转换为 Markdown:
for file in *
do
pandoc -r docx -w markdown -o "$file".md "$file"
done
请注意,这将为您留下名为 文件名.docx.md,因此您需要运行快速重命名命令(或者更好的是,将其作为 shell 脚本添加到上面)。
Pandoc 命令行选项
现在您已经掌握了一些基础知识,我们将看看 pandoc 命令行选项的一些更高级的选项。
ODT/DOCX 参考文件
假设您已将所有旧的、庞大的文字处理器文件转换为 Markdown。 当您陶醉在纯文本创作的乐趣中时,有时您需要与他人分享这些内容。 并且有人可能没有你那么开明。 您可以简单地反转 读 和 写 将文件转换回的标志 Word 格式:
pandoc -r markdown -w docx -o wordfile.docx wordfile.md
但有些人喜欢他们的 Word 具有特定字体、编号标题等的文件。 Pandoc 的 DOCX 后端支持模板文件,称为 参考文件,就在这样的场合。 这些都是 ODT 或者 DOCX 您设置的文件具有您需要的所有样式。 然后,如果您在命令行中将参考文件传递给 pandoc,它会在转换时应用这些样式:
pandoc -r markdown -w odt --reference-odt=/home/user/path/to/ref-file.odt -o lowriter.odt lowriter.md
请注意上面参考文件中配置的字体(标题 1 的 Arial Black 等)如何在下面的转换文件中显示。 您可以根据需要创建任意数量的这些参考文件(例如 example,每个客户一个)。 然后在您编写时完全忽略格式,并在转换时一步应用样式。
PDF 渲染后端
一旦安装了一些必要的软件包,创建 PDF 也是一个简单的练习。 获得 PDF 编写功能的一种轻量级方法是安装 wkhtmltopdf package,一个将 HTML 转换为 PDF 的命令行工具。 pandoc 本身就支持这个,所以如果你设置 写 标记为 HTML,但 输出文件 作为 PDF,它将将此解释为您的使用意图 wkhtmltopdf 全部靠自己!
pandoc -r markdown -w html -o nicepub.pdf nicepub.md
或者,您可以使用 TeTex 排版系统选择全功能选项。 利用这些包是 建议安装 通过使用以下命令重新安装 pandoc 包:
sudo apt-get install --install-suggests pandoc
然后,在安装很多(真的,很多)软件包时坐下来。 完成后,您可以通过将文件指定为 写 旗帜:
pandoc -r markdown -w pdf -o nicepub-tetex.pdf nicepub.md
虽然 wkhtmltopdf 选项只需要安装一个包,您可以使用 TeTex 获得一些更易于打印的结果。 即默认使用衬线字体,页面自动编号。
电子书生成器
最后,pandoc 可以将您的文件转换为适合在手机或电子阅读器上阅读的电子书。 这 电子版 和 epub3 后端将为您提供格式正确的电子书:
pandoc -r markdown -w epub -o mybook.epub mybook.md
进阶技巧
pandoc 的优势超出了它作为命令行实用程序的能力…… example,它包括对 Markdown 改进版本的支持,并且可以轻松地与图形应用程序集成。
Pandoc 的 Markdown 风味
除了作为转换工具之外,pandoc 还支持略微增强的 Markdown 风格。 通过使用 pandoc 而不是标准 降价 命令,您可以使用一些附加功能,包括:
- 元数据 — Pandoc 的 Markdown 风格允许您在文档的标题中包含信息,例如作者、日期、电子邮件地址等。
- 文字装饰 — 您可以通过 pandoc 应用标准 Markdown 中不支持的文本装饰,例如删除线或上标/下标。
- 表 — 与“香草” Markdown 相比,仅此一项就使 pandoc 值得。 使用管道字符分隔表格单元格,您可以创建一个范围从非常丑陋到纯文本以及呈现格式的人类可读的表格。
- 花式清单 — Pandoc 允许您格式化具有大纲样式级别的列表,例如“1.”,然后是“A.”,然后是“i.”等。您还可以指定列表的起始编号,其中普通 Markdown 中的列表开始从“1”。
- 代码语法高亮 — 您可以通过告诉 pandoc 语言是什么来将突出显示应用于您的代码块。
以上只是 pandoc Markdown 的部分功能。 访问 pandoc.org 上的手册页 对于这种 Markdown 风格提供的附加功能的完整列表。
使用带有 pandoc 的 GUI
虽然 pandoc 作为命令行工具很有效,但它确实包含很多选项。 如果您是 Linux 新手,您可能更喜欢使用带有 GUI 界面的 pandoc。 虽然默认情况下它不包含图形界面,但您可以安装 PanDocElectrion 通过点击转换您的文档。 从下载安装脚本 应用程序的网站,然后运行它以安装所有必要的软件包和程序本身。
安装后, npm 开始 命令在 泛多电子 目录将启动应用程序。 借助格式下拉列表和通过对话框选择输入文件的能力,这将帮助您习惯 pandoc 的“进出”,就像它一样。
如果您对 pandoc 的无数选项和标志感到满意,但只是想要一种轻松的方式 称呼 它,您可以将它与您的 GUI 文本编辑器集成。 为了 example,Atom 编辑器包含许多包,这些包提供了使用 pandoc 将当前文件保存为不同格式的能力(包 pandoc 转换):
另一种选择是使用编辑器的内置函数运行 pandoc 命令,例如 build 命令。 原子的 构建工具 包裹 使您能够指定自定义命令:
然后,您可以在 pandoc 兼容文件上调用 build 命令,就像在源代码上一样:
Pandoc 减轻了切换的压力
在您的工具包中使用 pandoc,您可以更轻松地知道您始终可以以其他人需要的格式将您的文档提供给他们。 同时,您可以利用 Linux 的一些强大功能(考虑提供一个基于终端的文本编辑器,例如 vim 试一试)。
您是否经常发现自己在格式之间来回转换文件? 如果您遇到兼容性问题,请在评论中告诉我们,我们将看看是否可以使用 pandoc 来解决您的问题!
图片来源:Nirat.pix,来自 Shutterstock.com