本模板使用 pandoc 将 markdown 文档转换为 .docx 文件。
- 下载
pandoc - 将本仓库内的
template.docx下载到本地 - 执行如下命令,其中
exmaple.md是需要转换成 word 的 md 文件,template.docx是刚下载的文件:
pandoc ./example.md \
--reference-doc=./template.docx \
--shift-heading-level-by=-1 \
-t docx+native_numbering \
-o example.docxexample.docx就是转换好的文件。
上述方式可以完成大部分 markdown 样式的转换,已经可以覆盖大部分 word 文档的需求。但是没有办法完成“参考文献引用”相关的功能。
“文献引用”相关功能依赖仓库内的 bib.bib 提供文献信息,ieee.csl 提供文献格式,具体可以参考 example.md 和 transfer.sh 中的内容。
我虽然承认 pandoc 是一个非常强大的工具,但是配置起来实在是太麻烦了。
我个人的使用思路是 pandoc 完成大部分的转换工作,对于细节处手动微调。
使用 --shift-heading-level-by=-1 可以使得 markdown 文档中的 Level1 heading 变成 title,让 Level2 heading 变成 Level1 heading 。
Caption 的样式由 Image Caption 和 Table Caption 两个 reference.docx 样式所决定。
要开启 caption 的生成,需要先指定参数 -t docx+native_numbering。
如果希望使用中文的 caption,可以使用 -M lang=zh-CN 参数,但是此时需要在 pandoc 的 User data directory 创建 translations/zh.yaml 文件,其中内容为:
Figure: 图
Table: 表
Contents: 目录User data directory 可以用如下命令查看:
pandoc --version表格的格式可以通过名为 Table 的样式进行调整,但是只能在 Word 中调整,而不能在 WPS 中调整。对于引用块(Text Block)的调整也是类似。
但是 Word 又很难调整这些,经常与内置样式冲突,所以我没有仔细折腾。
使用如下参数,就可以根据 bib.bib 中的内容生成参考文献并指定格式为 ieee:
--citeproc --bibliography bib.bib --csl=http://www.zotero.org/styles/ieee对于图片和表格的交叉引用,需要使用插件 pandoc-crossref,我尝试了一下,感觉效果不好(尤其是中文效果)。就没有继续深究。
