学术论文写作新武器:Markdown-上篇
🍎 连享会主页:lianxh.cn
🎦 论文班·精讲8篇论文
📅 2021 年 5.2-4 日
🔑 主讲:梁平汉(中山大学);张川川 (浙江大学);连玉君 (中山大学)
🍓 课程主页:https://gitee.com/lianxh/paper
New!
lianxh命令发布了: GIF 动图介绍
随时搜索 Stata 推文、教程、手册、论坛,安装命令如下:
. ssc install lianxh

作者:初虹 (公众号「虹鹄山庄」创办人)
E-mail:20170237402@mail.sdufe.edu.cn
本文源自 「学术论文写作新武器:Markdown」 系列专栏:
学术论文写作新武器:Markdown-上篇 学术论文写作新武器:Markdown-中篇 学术论文写作新武器:Markdown-下篇

目录
1. 写在前面
2. 什么是 Markdown
3. 为什么选择 Markdown
4. Markdown 编辑器 —— VScode
5. 格式转换的「瑞士军刀」:Pandoc
5.1 Pandoc 是什么
5.2 下载安装
5.3 基本使用
6. 参考资料
7. 相关推文
温馨提示: 文中链接在微信中无法生效。请点击底部「阅读原文」。或直接长按/扫描如下二维码,直达原文:
1. 写在前面
学术论文的写作工具,除了 Microsoft Word,还有其他的选择吗?我在这期文章 还在用 Word 做笔记?Markdown 开启你更高效工作的第一步! 中推荐了使用 Markdown 作为个人知识体系的书写载体。作为大多数人眼中极轻量的排版工具 —— Markdown 也能实现像 Word 那样丰富的样式效果吗?学术论文的写作也可以使用 Markdown 来完成吗?
答案是 —— 能!💡💡
对于搞学术的人来说,「写论文」是吃饭的本事。一般来说,大家(人文社科领域)都会有自己的写作模板,这个模板通常是 Word 格式,除了论文的基本套路之外,里面还包含了各个标题、摘要、图表等的样式信息。不少经济学实证研究者的论文写作流程是这样的:先通过 Stata 等计量工具以图、表的形式输出结果,粘贴到模板(DOCX)文件中,完成实证部分;再在模板文件的基础上「增删改查」,完成论文其余部分的撰写。内容写完之后,就是对各种样式的「无限」调整了。下一篇论文同样复制上面的流程,一遍又一遍。
论文的写作过程已经着实令人头疼,一篇篇文章格式的调整更是无比麻烦(好吧,一篇都没写出来过🤣🤣)。论文写作我们不能自动化,格式调整的自动化还做不到吗?
接下来就要请出今天的主角 —— Markdown + Pandoc 。二者配合「食用」助你实现 Markdown 写文、Pandoc 一行命令批量格式转换的效果,这回再有一百篇 Markdown 文章也能同一个样式转成 Word 或 PDF 了。
一篇学术论文的格式通常涉及标题、摘要、作者信息、正文、图片(图注和编号)、表格(表注和编号)、脚注、数学公式、参考文献、毕业论文还会有目录、附录等。为做演示,我七拼八凑了一篇、力求长相似经济学实证论文的 Markdown 文章(内容莫深究)🙈🙈
文末提供所有文件的下载链接~~

pandoc -F pandoc-crossref --citeproc `
--bibliography=ref.bib `
--csl=china-national-standard-gb-t-7714-2015-numeric.csl `
--reference-doc=ref.docx `
-M reference-section-title='参考文献' -M link-citations=true `
ref.yaml `
test_paper.md -o test_paper.docx
注:这里的反点号起到折行的作用,可不写,那样就会呈现在同一行上。
上面的 Pandoc 语法是本文转换流程的完整命令。这能实现何种效果呢?往下看👀👀

怎么样?还不错是嘛。这行命令具体啥意思、还需要哪些准备工作?别急,我们一步步来🚀🚀!
2. 什么是 Markdown
又到了这个老生常谈的问题了。自从遇到了 Markdown,感觉写作明显轻快了不少,也常常安利,奈何号召力有限,身边真正去用的还真不多🤔🤔。既然要用 Markdown 写学术论文,首先你得先弄明白什么是 Markdown。
计算机常见的文件格式主要分为两种:纯文本文件(Plain Text)和二进制文件(Binary File)。
最直观来看,纯文本文件可以直接用「记事本」打开,如常见的代码文件(.c/.py等)、文本文件 .txt 和接下来要介绍的 Markdown .md文件等。纯文本文件不保存任何格式设置、仅显示字符内容,因此无法展示样式信息。格式分明、样式丰富的二进制文件往往需要专业的软件来编写、浏览和维护,内存空间占用更大。常见的格式有多媒体文件(图片、音视频)、可执行程序 .exe 等;值得注意的是,我们日常见得最多的 Word 文档也属于二进制文件。
不过,对纯文本文件(如 MD)进行「版本控制」要比二进制文件(如 DOCX)容易的多。版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。进行版本控制不仅有利于「版本回退」、更会让你了解内容发生了什么样的变化,同时在文件备份、团队协同方面的作用更明显。
除此之外,也正是由于纯文本文件仅显示字符的特性,使其具有占用内存小、打开速度快等优点,在计算机世界被广泛使用。也因此出现了各种各样的 标记语言(Mark-Up Language),以使纯文本文件更加易读。
Markdown 便是众多标记语言中的一员。它允许人们使用易读易写的 「纯文本格式」 编写文档,然后转换成有效的 HTML 格式。由于 Markdown 轻量化、易读写的特性,以及对于图片、图表、数学公式的良好支持,目前 Markdown 已被广泛应用于各大网站和帮助文档的撰写中。其基本语法相当简单,十分钟即可快速上手,不了解的童鞋建议直接看看下面的介绍👇👇
Markdown 中文文档 Markdown 指南中文版 Markdown 菜鸟教程
🎦 2021 效率分析专题
📅 2021 年 5.15-16;5.21-22
🔑 主讲:龚斌磊(浙江大学);连玉君(中山大学);张宁(暨南大学)
🍓 课程主页:https://gitee.com/lianxh/TE
3. 为什么选择 Markdown
除了上面介绍的语法简单、容易上手、可进行版本控制等优点之外,我们在思考「为什么选择 Markdown」时,更应该想想「为什么不」选择其他编辑器?比如,Word、LaTeX。
从刚接触电脑那会儿,我们便与 Microsoft Word 「不期而遇」。凭借其广泛的流行性,Word 毫无疑问成为大多数人日常学习工作中使用频率最高的软件之一。那为什么不选择 Word 呢?
「流行不代表好用」。即使使用频率高,我们也深受其苦。Word 的「内容和格式分离」设计使得我们很容易不自觉地调整文章格式、打断写作的连贯性。或许用 Word 写几页的文档或许还能忍受,但是几十、上百页的毕业论文都用 Word 完成,不是我们先受不了,恐怕 Word 也会先「罢工」。
「易分心」和「易崩溃」的双重叠加足以促使我「不得不」选择新工具。
LaTeX 作为极专业的排版软件,为什么不选择它呢?
原因也正在于它「引以为傲」的优点 ——— 过于专业、学习曲线太陡峭。当然,除了 LaTeX 上手难度高的因素外,目前国内人文社科领域尚未形成使用 LaTeX 的氛围是更重要的原因。当下该领域绝大多数期刊对审稿稿件的格式要求以 Word 和 PDF 为主,提供 LaTeX 模板的期刊极少。在个人写作中,优雅的 LaTeX 带给自己「沉浸」的体验;不过一旦放到团队协作的模式中,怕是会用 LaTeX 的也没几个,交流成本将大幅提高。
您也可以扫码查看连享会 Markdown 仓库,获取更多资源:
https://gitee.com/arlionn/md
4. 编辑器 —— VScode
确定了语法,还需要一个写作载体——编辑器。我在这期 推文 中介绍了 马克飞象、StackEdit、Editor 等几个在线 Markdown 编辑器和两个本地编辑器(均可全平台使用)—— Typora 和 Visual Studio code。
如果你没有插入参考文献的需求,Typora 应该是极佳的选择。但对于学术研究者而言,使用文献管理软件(这里仅以 Zotero 为例)插入引文是常事,那更推荐能与 Zotero 联动的 VScode 来解决这一学术论文写作的棘手问题。不过如果你使用的是 macOS 系统,Typora(或其他 Markdown 编辑器)也不错,因为搭配 ZotHero(一个 Alfred Workflow)可实现全局搜索 Zotero 数据库并快速复制引文。考虑到全平台性,本文仅以 VScode 为例。
关于 VScode,可以在其 官网 下载;或使用「包管理器」一键安装 choco install vscode 。关于「包管理器」的具体使用,可以参阅我的个人公众号推文👉👉虹鹄山庄 |「一行代码」打通软件的安装的所有需求:Windows 系统缺失的包管理器 Chocolatey (备用地址 | 少数派)
软件初始界面默认语言为英文,需要的话,可以在扩展市场搜索安装 中文汉化扩展。除此之外,虽然 VScode 原生支持 Markdown,但是想要获得更地道的体验,还是得安装几个 Markdown 插件,实现实时预览、快捷操作等更优质的体验。
Markdown Preview Enhanced Markdown All in One

5. 格式转换:Pandoc
到这里,Markdown 部分就介绍差不多了,其准备工作也基本完成了。或许你也对简单易用的 Markdown 感兴趣了。那么问题来了。我们写好的论文需要传给不使用 Markdown 的老师同学们查看、批阅或者交给期刊编辑们审阅,那 .md 格式就不好用了,有解决之道吗?
Markdown 格式的文件转换为 Word 或 PDF 格式就轮到另一员大将出马了,它就是 —— Pandoc,专为各种文本文件「换马甲」。
5.1 Pandoc 是什么
Pandoc 是加州大学伯克利分校哲学系教授 John MacFarlane 于 2006 年使用 Haskell 语言编写的一款跨平台、自由开源及命令行界面的标记语言转换工具。由于支持的格式众多,Pandoc 也被誉为文本转换界的「瑞士军刀」。点击 这里 你将会看到那张著名 Pandoc 支持的文件格式图。
5.2 下载安装
进入 Pandoc 官网,按需选择对应的版本,点击下载安装即可。除了下载安装包的形式外,更推荐使用「包管理器」一键安装。
Windows 系统: choco install pandoc/scoop install pandoc/winget install pandocmacOS 系统: brew install pandoc

安装成功后,可在 ** CMD 或 PowerShell 等命令行窗口** 输入 pandoc -v 查看版本信息,检验是否正确安装。

之后我们使用 Pandoc 的所有操作都基于命令行进行。
5.3 基本使用
好了,我们先和这个「百变魔王」简单过下招儿。
查看帮助文档: pandoc --help、pandoc -h查看支持的输入格式: pandoc --list-input-formats查看支持的输出格式: pandoc --list-output-formats基础使用:
pandoc -f 输入格式 -t 输出格式 输入文件名 -o 输出文件名
# 比如将当前目录下 Markdown 文件转换为 DOCX 文件# pandoc -f markdown -t docx test.md -o test.docx
Pandoc 可自动根据文件名后缀判断文件类型,所以上述命令可简化为:
pandoc 输入文件名 -o 输出文件名
# Markdown → DOCX:pandoc test.md -o test.docx
# DOCX → PDF:pandoc test.docx -o test.pdf
# IPYNB → HTML:pandoc test.ipynb -o test.html
看到了吗?「一行代码」便能实现巨多种文件格式的快速转换,这仅是 Pandoc 的基本功能,若想实现更炫酷的玩法,还得接着往下看~~来个实际场景试试:转换下我文章开头说的「七拼八凑」的学术论文~
pandoc test_paper.md -o test_paper.docx
这是最简单的、不加任何修饰的 Markdown 转 Word,效果怎样呢?

嗯,还可、不过并不美观。最需要调整应该是各个标题的颜色、显示位置、大小(当然,表注、交叉引用编号、参考文献等进阶样式需要特殊语法)。如果仅是格式转换,到这儿或许可以了。但是想要符合学术论文写作的需求,还得再做进一步修改。
到这里,或许你即将被劝退😇😇,说好的用 Markdown 写论文,到这里还仅在准备阶段?!莫慌,为了让大家对整个流程有更深的理解,我用不少篇幅介绍了背景知识,相信我,接着看下期,好戏来了!你会发现有 Pandoc 加持的 Markdown,战斗力早不可同日而语。
下载地址:FavourHong蓝奏云 | https://honghujun.lanzous.com/iiDBLo6mp7e
6. 参考资料
如何在 Markdown 中双语写作,输出英文或中文文件? Markdown 写作,Pandoc 转换:我的纯文本学术写作流程 pandocmarkdown 王树义老师 Markdwon2Word - B 站 pandoc-crossref 用 Pandoc 生成一篇调研论文 Pandoc 笔记 —— 转化 Markdown 为 PDF Windows 系统缺失的包管理器:Chocolatey、WinGet 和 Scoop 图床搭配 PicGo:打造高效的图片处理工作流
7. 相关推文
Note:产生如下推文列表的 Stata 命令为:
lianxh Markdown
安装最新版lianxh命令:
ssc install lianxh, replace
