学术论文写作新武器:Markdown-下篇

发布时间:2021-04-20 阅读 643

Stata连享会   主页 || 视频 || 推文 || 知乎

温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。

New! lianxh 命令发布了:
随时搜索推文、Stata 资源。安装命令如下:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh

课程详情 https://gitee.com/lianxh/Course

课程主页 https://gitee.com/lianxh/Course

⛳ Stata 系列推文:

作者:初虹 (公众号「虹鹄山庄」创办人)
E-mail20170237402@mail.sdufe.edu.cn

本文源自 「学术论文写作新武器:Markdown」 系列专栏:

学术论文写作新武器:Markdown-上篇
学术论文写作新武器:Markdown-下篇
学术论文写作新武器:Markdown-中篇

我们在第二期重点介绍了 Markdown 转 DOCX,接下来我们看看该如何转成另一种常见的格式 —— PDF。


目录


1. Typora 导出

Typora 仅遵循 Markdown 原生语法,对于 Pandoc 语法并不支持,所以参考文献的引用、图表等的交叉引用就不能很好预览了。

2. Pandoc 导出:基于 xelatex

上面导出 DOCX 用的是 Pandoc,转换成 PDF 自然而然还想沿用此法,本想不就是改改后缀这么简单,没想到的是遇到的坑还真不少。方法比较麻烦,效果也不算太好,也可能是我操作不当,如果你有解决方案,欢迎在留言区、邮件、我个人公众号「虹鹄山庄」后台告诉我。

首先,Pandoc-create-a-PDF 提示需要在本机先安装 LaTeX。否则运行pandoc test_paper.md -o test_paper.pdf会出现:

pdflatex not found. Please select a different --pdf-engine or install pdflatex

安装后还没完,若仅仅是全英文文档,上面的命令能很好地出结果,一旦包含中文字符,又会报错:

Error producing PDF. Package inputenc Error: Unicode character

意思是需要增加--pdf-engine=xelatex,也就是:

pandoc --pdf-engine=xelatx test_paper.md -o test_paper.pdf

以为终于要成功了,可运行后发现中文全部变成空白?同样提示字符错误,我在网上搜罗了一圈,大家给出的答案均是需要指定字体,比如-V mainfont="Microsoft YaHei"(注意V大写、字体名称必须使用双引号)。

pandoc --pdf-engine=xelatex -V mainfont="Microsoft YaHei" test_paper.md -o test_paper.pdf

可是这样做又有问题了,整篇文档就一种字体,唉,再换一种思路吧。

3. wkhtmltopdf

开源免费的命令行工具 wkhtmltopdf,使用 Qt WebKit 引擎将 HTML 渲染成 PDF,并且完全「无界面」运行,不需要显示或显示服务。通过 scoop install wkhtmltopdf安装(macOS 下可使用 Homebrew),完成后,输入wkhtmltopdf --version查看是否输出版本信息。

这种方法比上面的更简单,但是效果也不算太好。

pandoc test_paper.md -o test_paper.pdf --pdf-engine=wkhtmltopdf (-t html5)

4. Word 导出

找了一圈,发现还是先转换为 Word、微调好所有的格式,再利用 Word 自带的导出功能转换为 PDF 就挺好。不过还有个「锦上添花」的操作:为 PDF 文件添加目录书签。

默认的文件 → 导出 → 创建 PDF/XPS 操作,尽管会保留目录超链接、但并不会生成目录书签,需要在导出窗口的选项界面勾选创建书签时使用:标题

Word to PDF 保留目录书签的效果
Word to PDF 保留目录书签的效果

还是那个观点,如果你仅仅是将一篇普通 Markdown 文章导出 DOCX 或 PDF,没有参考文献引用、图表编号交叉引用等学术方面的需求,那么一个 Typora 也足够了。截止 2021 年 4 月中旬,Typora 官方提供的 主题 | Typora 款式已经达 60+了,选择的主题不同、显示效果和导出样式均不相同。

Typora 八种主题样式显示效果
Typora 八种主题样式显示效果

当然,如果你想显示效果与众不同,学点儿前端知识,改改 CSS 主题样式表,应该不是件难事。

5. 总结

Zettlr 是近年来主打学术论文写作的 Markdown 编辑器,从官方给出的对比图就能看出其在学术研究方面下的功夫。我也曾试用了一小段时间,不过感觉上面的流程还,就没再深究。如果你也想使用 Markdown 写论文,或许 Zettlr 是不错的选择。此处不多言,期待你的探索~~

Zettlr 与其他主流 Markdown 编辑器的功能对比图
Zettlr 与其他主流 Markdown 编辑器的功能对比图

文章写到这儿,真的要结束了。篇幅很长,也用到不少软件、工具、扩展,做个总结吧。

首先,你得先学会 Markdown 语法,然后「物色」一款趁手的编辑器,本文推荐了 VScode。为了获得更优质的体验,最好再安装两个 Markdown 扩展 —— Markdown Preview Enhanced 和 Markdown All in One。

格式转换用的是 Pandoc,处理参考文献需要 Zotero 及其扩展 —— Better BibTeX、Citation Picker for Zotero(或 Pandoc Citer),图、表、公式等的交叉引用到 pandoc-crossref,当然,参考文献和交叉引用等涉及到 Pandoc 的特殊语法,也是需要记住的。

整套流程下来,需要的文件有:主文件test_paper.md、Metadata 文件ref.yaml(可没有、一并写在主文件开头)、文献条目文件ref.bib、参考文献格式文件china-national-standard-gb-t-7714-2015-numeric.csl

你会说,一条完整的命令很长,记不住咋办?(多敲几遍自然就记住了 o((>ω< ))o)你可以像我一样,不必记住它、设定一个输入法快捷短语就好了。比如,我用pandoctd 代表 pandoctodocx的缩写,当然你可以设定地更短。

搜狗输入法相关设定如下:

搜狗输入法设定快捷短语
搜狗输入法设定快捷短语

6. 写在最后

本文实际就讲了一件事儿:学术论文写作工具的新可能 —— Markdown。Word 里「先写后调」或「边写边调」的模式实在算不上高效、优雅。使用 Markdown 写文、Pandoc 一行命令自动化格式转换,让我们无需担心排版问题,才能将有限的精力重点放在创作本身,而非排版。

本文是中山大学连玉君老师公众号「连享会」的约稿,连老师给的主题为「Markdown 转为 Word 和 PDF」。当时看到这个题目感觉真没什么好写的,不懂 Pandoc 的、一个 Typora 也能「完美」导出。过会儿再想,就知道连老师要的怕不是「默认样式」导出这么简单,而是怎么导出既好看又好用。仅仅完成 Markdown 的格式转换或许不难,但要想样式美观,还真得下番功夫。

于是我便将这个题目应用到具体的场景中 —— 如何用 Markdown 撰写学术论文并完美转换,写着写着,就扩充了这么多。当然,真正的「完美」远未达到,且不说有需要手动修改格式的地方(尤其是表格),这套流程最不如 Word 的地方,应该是不能很好地实现审阅修订功能。

一定会有人说,费这么大劲儿、完成了一个「半成品」,有什么必要呢?。其实经济学基础理论需求决定供给一直在你我生活中发挥着无形的作用。当你觉得目前的工作流程很顺畅、真舒服时,你当然不会选择花费大力气去折腾新工具的;而只有遇到了不满意的地方(比如厌倦了 Word),你才有动力迫使自己去修改工作流程、寻找新的替代应用。

本文仅是抛砖引玉、希望对你在学术论文写作的路上有所启发。文中有几处我比较困惑的地方(已标明),如果你有解决方案,欢迎在文末留言区、邮件或我的个人公众号「虹鹄山庄」后台进行交流~~

下载地址:FavourHong蓝奏云 | https://honghujun.lanzous.com/iiDBLo6mp7e

7. 参考资料

8. 相关推文

Note:产生如下推文列表的 Stata 命令为:
lianxh Markdown
安装最新版 lianxh 命令:
ssc install lianxh, replace

相关课程

免费公开课

最新课程-直播课

专题 嘉宾 直播/回看视频
最新专题 文本分析、机器学习、效率专题、生存分析等
研究设计 连玉君 我的特斯拉-实证研究设计-幻灯片-
面板模型 连玉君 动态面板模型-幻灯片-
面板模型 连玉君 直击面板数据模型 [免费公开课,2小时]
  • Note: 部分课程的资料,PPT 等可以前往 连享会-直播课 主页查看,下载。

课程主页

课程主页

关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • 连享会-主页知乎专栏,400+ 推文,实证分析不再抓狂。直播间 有很多视频课程,可以随时观看。
  • 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法

连享会小程序:扫一扫,看推文,看视频……

扫码加入连享会微信群,提问交流更方便

✏ 连享会-常见问题解答:
https://gitee.com/lianxh/Course/wikis

New! lianxh 命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh