学术论文写作新武器: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 pandoc
  • macOS 系统:brew install pandoc

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

之后我们使用 Pandoc 的所有操作都基于命令行进行。

5.3 基本使用

好了,我们先和这个「百变魔王」简单过下招儿。

  • 查看帮助文档:pandoc --helppandoc -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

(0)

相关推荐