利用pandoc将markdown转换为word文档 |
您所在的位置:网站首页 › 如何将文件转换为word › 利用pandoc将markdown转换为word文档 |
目录基本使用修改word文档格式合并多个markdown文件,自动生成目录markdown预处理操作指南:汇总软工实践课程博客总结
pandoc可以完成多种文件类型的相互转换,支持的文件格式参见官方网站:https://pandoc.org/index.html。本博客参考了官方文档以及社区讨论,将介绍如何利用pandoc将markdown转换为word文档。 基本使用在Installing页面选择合适的版本下载 命令行运行基本参数 使用参数-f FORMAT和-t FORMAT指定源和目标文件格式;pandoc支持识别文档后缀,一般可以省略 使用参数-o FILE指定输出文件一个例子 省略文件格式,使用命令pandoc 课程回顾与总结.md -o 课程回顾与总结.docx,得到的结果如下: 课程回顾与总结.md 课程回顾与总结.docx 修改word文档格式使用参数--reference-doc=FILE可以指定docx输出文件的格式参考对象,从而修改word文档的格式。 获取模板 首先使用命令pandoc -o custom-reference.docx --print-default-data-file reference.docx拷贝一份默认的参考文件模板,取名为custom-reference.docx 修改模板样式 用word打开custom-reference.docx,修改各部分对应样式。例如,将光标移动到Heading 2,找到对应的样式,右键进行修改: 下图修改了Heading 1和Heading 2,将字体修改为黑体,颜色修改为黑色: custom-reference.docx修改前 custom-reference.docx修改后如果要修改输出文件中的表格样式,直接给模板中的表格更换样式,不能达成效果。根据Github上的讨论得知,必须修改名为Table的表格样式,才能控制输出文件的表格样式。 再次转换文件 使用命令pandoc 课程回顾与总结.md -o 课程回顾与总结.docx --reference-doc=custom-reference.docx,此次运行结果和之前对比如下,注意到一级标题和二级标题变成黑色: 默认格式 修改格式后 合并多个markdown文件,自动生成目录pandoc可以接受多个文件为输入,例如pandoc file1.md file2.md file3.md -o result.docx;另外有一些参数可以用于自动生成目录。 生成目录 使用参数--toc自动生成目录 同时可以修改格式参考文件中,TOC标题/TOCHeader的样式,选中段前分页,这样之后手动插入文档封面会比较方便。 使用参数--toc-depth=NUMBER指定目录包含的标题深度 如果每一篇markdown的文章标题都是一级标题,使用--toc-depth=1可以生成最简单的目录。 使用参数--reference-doc=FILE指定格式参考文件,并给格式参考文件添加页码 如此生成的文件也会有页码。 文件分页 pandoc读入了多个文件,输出时各个文件的内容是连续的;希望每个文件能从新的一页开始,检索互联网得到两种解决方式: 格式选择段前分页 一级标题往往是文章标题。如果修改一级标题的格式,选中段前分页,每一个markdown文件的一级标题就会出现在新的一页。 参考链接:How to add a page break in word document generated by RStudio & markdown pandoc使用filter Pandoc provides an interface for users to write programs (known as filters) which act on pandoc’s AST. 什么是filter,参考官网:Pandoc filters 如何使用filter达到分页目的,参考这个回答:Pandoc markdown page break markdown预处理提前处理markdown源文件,或者根据结果修改markdown文件,以得到排版较好的word文件。 合理使用标题层次 合并多篇markdown时,注意统一标题层次。 合理使用markdown语法 例如,避免仅仅为了排版美观而使用引用语法;markdown引用在word文件中显示效果不同,错误使用可能会产生奇怪的效果。 注意缩进和空行 使用缩进和空行以体现段落关系。观察下面两个结果: markdwon word避免手动换行排版 markdown中不要为了让每行文字数量相同而手动使用回车换行。 替换html标签(暂时没有找到支持的方式) 如果使用了html表格/图片等,需要替换成相应的markdown语法。 操作指南:汇总软工实践课程博客下载群文件:文档封面和提前处理好的格式参考文件custom-reference.docx 后者参考了福大毕业论文撰写规范,提前调整了部分格式 后者仅修改了前四级标题格式;如果有需求,需要自行修改其他部分的格式整理好历次作业的markdown文件 参考markdown预处理中的内容修改源文件 用作业的名字给每篇博客添加一级标题,用于生成目录,同时产生分页效果在命令行运行pandoc hw1.md hw2.md hw3.md -o result.docx --reference-doc=custom-reference.docx --toc --toc-depth=1 命令中markdown文件的名字、数量和顺序,以及输出文件的名字,根据自己的情况填充核查所有内容是否正确显示;如果不是,调整markdown源文件,再次生成结果 根据实际情况,调整有问题的文字格式/图片/表格/代码段/列表缩进 修改目录标题Table of Contents为目录 手动插入封面并填写相关信息 有必要时,调整页码(例如去除封面和目录部分的页码) 总结个人感觉pandoc对于docx的格式控制是有限的。如果对word操作很熟练,使用pandoc的基本转换功能就可以,后续的格式/目录/页码都能够在word文档中完成。如果不熟悉word,或者希望pandoc提供一些便利,这篇博客的其他部分可以提供一些帮助。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |