温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。
New!
lianxh
命令发布了:
随时搜索推文、Stata 资源。安装命令如下:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
⛳ Stata 系列推文:
作者:初虹 (公众号「虹鹄山庄」创办人)
E-mail:20170237402@mail.sdufe.edu.cn
本文源自 「学术论文写作新武器:Markdown」 系列专栏:
学术论文写作新武器:Markdown-上篇
学术论文写作新武器:Markdown-下篇
学术论文写作新武器:Markdown-中篇
目录
学术论文的写作工具,除了 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 语法是本文转换流程的完整命令。这能实现何种效果呢?往下看
怎么样?还不错是嘛。这行命令具体啥意思、还需要哪些准备工作?别急,我们一步步来!
又到了这个老生常谈的问题了。自从遇到了 Markdown,感觉写作明显轻快了不少,也常常安利,奈何号召力有限,身边真正去用的还真不多。既然要用 Markdown 写学术论文,首先你得先弄明白什么是 Markdown。
计算机常见的文件格式主要分为两种:纯文本文件(Plain Text)和二进制文件(Binary File)。
最直观来看,纯文本文件可以直接用「记事本」打开,如常见的代码文件(.c
/.py
等)、文本文件.txt
和接下来要介绍的 Markdown .md
文件等。纯文本文件不保存任何格式设置、仅显示字符内容,因此无法展示样式信息。格式分明、样式丰富的二进制文件往往需要专业的软件来编写、浏览和维护,内存空间占用更大。常见的格式有多媒体文件(图片、音视频)、可执行程序.exe
等;值得注意的是,我们日常见得最多的 Word 文档也属于二进制文件。
不过,对纯文本文件(如 MD)进行「版本控制」要比二进制文件(如 DOCX)容易的多。版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。进行版本控制不仅有利于「版本回退」、更会让你了解内容发生了什么样的变化,同时在文件备份、团队协同方面的作用更明显。
除此之外,也正是由于纯文本文件仅显示字符的特性,使其具有占用内存小、打开速度快等优点,在计算机世界被广泛使用。也因此出现了各种各样的 标记语言(Mark-Up Language),以使纯文本文件更加易读。
Markdown 便是众多标记语言中的一员。它允许人们使用易读易写的 「纯文本格式」 编写文档,然后转换成有效的 HTML 格式。由于 Markdown 轻量化、易读写的特性,以及对于图片、图表、数学公式的良好支持,目前 Markdown 已被广泛应用于各大网站和帮助文档的撰写中。其基本语法相当简单,十分钟即可快速上手,不了解的童鞋建议直接看看下面的介绍
除了上面介绍的语法简单、容易上手、可进行版本控制等优点之外,我们在思考「为什么选择 Markdown」时,更应该想想「为什么不」选择其他编辑器?比如,Word、LaTeX。
从刚接触电脑那会儿,我们便与 Microsoft Word 「不期而遇」。凭借其广泛的流行性,Word 毫无疑问成为大多数人日常学习工作中使用频率最高的软件之一。那为什么不选择 Word 呢?
「流行不代表好用」。即使使用频率高,我们也深受其苦。Word 的「内容和格式分离」设计使得我们很容易不自觉地调整文章格式、打断写作的连贯性。或许用 Word 写几页的文档或许还能忍受,但是几十、上百页的毕业论文都用 Word 完成,不是我们先受不了,恐怕 Word 也会先「罢工」。
「易分心」和「易崩溃」的双重叠加足以促使我「不得不」选择新工具。
LaTeX 作为极专业的排版软件,为什么不选择它呢?
原因也正在于它「引以为傲」的优点 ——— 过于专业、学习曲线太陡峭。当然,除了 LaTeX 上手难度高的因素外,目前国内人文社科领域尚未形成使用 LaTeX 的氛围是更重要的原因。当下该领域绝大多数期刊对审稿稿件的格式要求以 Word 和 PDF 为主,提供 LaTeX 模板的期刊极少。在个人写作中,优雅的 LaTeX 带给自己「沉浸」的体验;不过一旦放到团队协作的模式中,怕是会用 LaTeX 的也没几个,交流成本将大幅提高。
确定了语法,还需要一个写作载体——编辑器。我在这期 推文 中介绍了 马克飞象、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 部分就介绍差不多了,其准备工作也基本完成了。或许你也对简单易用的 Markdown 感兴趣了。那么问题来了。我们写好的论文需要传给不使用 Markdown 的老师同学们查看、批阅或者交给期刊编辑们审阅,那 .md
格式就不好用了,有解决之道吗?
Markdown 格式的文件转换为 Word 或 PDF 格式就轮到另一员大将出马了,它就是 —— Pandoc,专为各种文本文件「换马甲」。
Pandoc 是加州大学伯克利分校哲学系教授 John MacFarlane 于 2006 年使用 Haskell 语言编写的一款跨平台、自由开源及命令行界面的标记语言转换工具。由于支持的格式众多,Pandoc 也被誉为文本转换界的「瑞士军刀」。点击 这里 你将会看到那张著名 Pandoc 支持的文件格式图。
进入 Pandoc 官网,按需选择对应的版本,点击下载安装即可。除了下载安装包的形式外,更推荐使用「包管理器」一键安装。
choco install pandoc
/ scoop install pandoc
/ winget install pandoc
brew install pandoc
安装成功后,可在 ** CMD 或 PowerShell 等命令行窗口** 输入 pandoc -v
查看版本信息,检验是否正确安装。
之后我们使用 Pandoc 的所有操作都基于命令行进行。
好了,我们先和这个「百变魔王」简单过下招儿。
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
Note:产生如下推文列表的 Stata 命令为:
lianxh Markdown
安装最新版lianxh
命令:
ssc install lianxh, replace
免费公开课
最新课程-直播课
专题 | 嘉宾 | 直播/回看视频 |
---|---|---|
⭐ 最新专题 | 文本分析、机器学习、效率专题、生存分析等 | |
研究设计 | 连玉君 | 我的特斯拉-实证研究设计,-幻灯片- |
面板模型 | 连玉君 | 动态面板模型,-幻灯片- |
面板模型 | 连玉君 | 直击面板数据模型 [免费公开课,2小时] |
⛳ 课程主页
⛳ 课程主页
关于我们
课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法
等
连享会小程序:扫一扫,看推文,看视频……
扫码加入连享会微信群,提问交流更方便
✏ 连享会-常见问题解答:
✨ https://gitee.com/lianxh/Course/wikis
New!
lianxh
命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh