本文用简明的样例, 介绍如何使用 Markdown 和自动化工具帮你处理数学公式参考文献引用图片交叉索引等学术论文写作中常见的棘手问题快来试试吧
苦恼
自从我学会了如何在数字文档上用红笔写写画画, 跟学生合写文章和指导毕业论文的工作就变得轻松多了
有的部分, 学生会很快改完反馈给我但是我发现每次对引言和文献综述部分做出调整要求, 学生们的反馈都非常慢
有的时候, 学生甚至会求饶, 老师, 参考文献顺序能不能不动? 或者全文都确定下来再统一做? 每次调整一个, 就需要很长时间!
我一时惊愕, 为什么需要那么久?
后来才明白, 他们居然是在 Word 中一条条 手动插入 尾注, 来引用参考文献的尾注的内容有的直接搬过来, 有的手动输入, 结果参考文献列表的格式丰富多彩有的信息不全, 有的格式根本就不符合 GB/T 7714-2015 的规范
在我的帮助下, 许多学生学会了使用 NoteExpressEndnoteZotero 和 Mendeley 等工具, 用自动化方式管理和引用参考文献
但即便是这样, 效率依然不够高尤其是跟别人协作的时候, 参考文献引用的修改就成了噩梦
你可能需要每次都把 Mendeley 或者 Zotero 的文献库同步给对方, 否则自动生成的引用标记就容易乱掉
写作学术论文时, 你还不得不时常面对图表交叉引用数学公式和脚注等问题如果方法不当, 会把宝贵的时间和注意力耗散掉, 劳而无功
Word 编辑器用来写学术论文, 可能真的 并不是最优 方案
但是没办法, 国内学术界, 尤其是人文社科领域, 目前投稿模板还主要是 Word 的
好消息是, 即便是形成 Word 文稿, 效率也是可挖掘的
我平时写作学术论文的时候, 用的依然是让人喜欢的标记语言 Markdown 对, 你没听错, 它不光可以帮你写公众号做幻灯, 也可以写论文哦
通过本文, 我把自己用 Markdown 写作学术论文的流程分享给你希望看过之后, 能帮助你提升效率, 带来更多愉悦的写作体验
方案
我的方案, 是采用 Markdown 来写作内容然后用文档格式处理界的瑞士军刀 Pandoc, 把内容转换成 Word 格式
Pandoc 实在是 黑科技 我曾经用它给你演示了 如何把思维导图秒变成幻灯 还记得其中这张图吗?
图中每一个节点, 都是 Pandoc 支持的一种文档格式 MarkdownDocxPDFLaTeXePubhtml 基本上涵盖了我们常见的发布格式需求
一次写作, 多种格式发布听起来是不是很兴奋呢?
要使用这一方案, 我们需要安装一些必要的工具这就开始吧
环境
我们需要安装以下几样东西:
Python 运行环境;
Pandoc;
Atom 编辑器;
样例文件夹
下面我们一一介绍安装方法和注意事项
Python 环境
我们的演示中, 需要用到 pip 等 Python 环境工具最简便的方法是安装 Anaconda 套装, 这样就不必对各种组件一一手动调整安装了
请到 这个网址 下载最新版的 Anaconda 下拉页面, 找到下载位置根据你目前使用的系统, 网站会自动推荐给你适合的版本下载我使用的是 macOS, 下载文件格式为 pkg
下载页面区左侧是 Python 3.6 版, 右侧是 2.7 版请选择 2.7 版本
双击下载后的 pkg 文件, 根据中文提示一步步安装即可
Pandoc
请到 这个网址 下载 Pandoc
根据你的操作系统, 下载对应的版本我在 macOS 下, 需要下载其中的 pkg 扩展名安装包 , 双击安装
为了处理图形的交叉引用, 我们需要添加一个 pandoc 插件
在终端 (macOS, Linux) 或者命令行 (Windows) 下, 执行:
pip install pandoc-fignos
正常安装后, pandoc 就算准备好了
Atom 编辑器
请到 这个地址 下载 Atom 编辑器网站会根据你的操作系统, 自动找到对应的版本供你下载
因为我用的是 macOS, 所以这里网站提供的是苹果版本 Atom
下载之后, 安装运行然后你需要安装 1 个插件, 帮你预览 Markdown, 叫做 markdown-preview-enhanced
安装方法如下:
使用 Cmd + , 呼叫配置菜单注意我这里说的是苹果系统 macOS 上的操作如果你用的是 Windows, 请把所有出现的 Cmd 按键替换为 Ctrl 按键, 或者查阅帮助文档
选择左侧边栏的最后一项 + 号, 用于安装新的插件
在搜索框中输入该插件的名字:
markdown-preview-enhanced
, 点击搜索结果中该插件的 Install 按钮
很快, 插件安装好了
这样, 我们就可以实时查看 Markdown 的预览效果了
样例文件夹
我专门为这篇教程, 准备了一个 github 项目
请从 这个位置 , 下载压缩包, 之后解压
把其中的 demo.md 文件拖动到 Atom 编辑器中, 就可以正式开始我们的探索之旅了
基础版本
Atom 编辑器里, demo.md 文件显示如下
左侧是 Markdown 源代码, 对应的预览效果在右侧显示
这里我们只包含了最简单的文本和图片图片在我们刚刚下载文件夹的 /assets 子目录中
到终端下, 采用 cd 命令进入咱们的演示文件夹(我的在
~/Downloads/demo-scholar-markdown-docx-master
), 执行:
pandoc demo.md -o demo.docx
可以看到, 当前文件夹下, 生成了 demo.docx 文件
打开 Word 文件, 内容是这样的:
基础版本的格式转换, 就是这么简单下面我们就要添加一些内容, 让文稿变得愈加有学术色彩
数学公式
我们尝试插入数学公式
在 Markdown 下, 可以直接使用 LaTeX 数学公式你只需要负责键入符号, Pandoc 负责将其转换成漂亮的公式显示在 Word 中
如果你对 LaTeX 数学公式的输入不是很熟悉, 不要紧, 这里有个小抄 (cheatsheet), 你可以参考
我们打开 demo-math.md , 可以看到这次除了刚刚的内容, 还增加了一个新的部分, 叫做数学公式
内含一个经典物理学公式, 还有相应的变量解释
在右侧预览区里面, 我们看到了公式预览的效果
回到终端下执行:
pandoc demo-math.md -o demo-math.docx
这次生成的 docx 文件如下图所示:
转换后的 word 文件里, 不论是独立公式, 还是行内数学符号, 都显示正常
脚注
写学术论文的时候, 经常需要加入脚注例如在首页需要添加作者和基金支持信息之类咱们也尝试在本部分加入对应内容
打开 demo-footnote.md , 对比一下添加了哪些信息
脚注用 [^1] 来表示内容用同样的符号, 后接冒号, 然后填写具体信息
这次的预览中, 我们看到了脚注的标注, 但是脚注内容哪儿去了?
别担心, 拖拽右侧的预览窗口, 我们就能看到脚注了
但是转换成 word 后, 这脚注还在第一页吗?
我们到终端下, 执行 pandoc 命令:
pandoc demo-footnote.md -o demo-footnote.docx
脚注如同我们需要的那样, 显示在了首页底部本部分测试成功
文献引用
下面我们进入关键阶段文献引用了
我们打开百度学术, 找几篇跟大数据特性相关的文献
键入检索主题词大数据 + 3V+5V, 搜索后的结果如下:
点开第一篇, 我们看看内容
页面下方有全文链接, 我们选择知网
点击 PDF 下载, 查看全文其中包含以下内容, 跟咱们这篇文稿的主题相关
我们决定引用这篇参考文献
回到百度学术的页面, 点击引用按钮
在弹出页面中, 点击下方蓝色的 BibTex
如上图所示, 该文献的 Bibtex 信息就是这样的一段文本我们将其拷贝下来, 存储到 .bib 文件里
依此类推, 我们再下载其他两份文献的 Bibtex 信息
你可以打开演示目录内的 myref.bib 文件查看, 内容如下图所示:
下面我们就要引用这些文献了
打开 demo-citation.md
引用的时候, 我们使用 Bibtex 中每条文献信息大括号内的第一个字段, 前面加上 @ 符号, 用方括号扩起来需要引用多条文献的时候, 在方括号内, 对不同文献标记用分号区隔
我们很容易就发现, 参考文献的预览信息是不正确的
下面我们看看 Pandoc 能否帮助我们将其转换成为正确的 Word 内容
注意这次需要使用的参数比较多因为我们不光需要指定参考文献的格式, 还得告诉 Pandoc, 参考文献数据存储在了哪里( myref.bib )
pandoc --filter pandoc-citeproc --bibliography=myref.bib --csl=chinese-gb7714-2005-numeric.csl demo-citation.md -o demo-citation.docx
打开转换后的 word, 看看效果
Pandoc 正确地帮我们把文献的引用标记信息转换成为了上角标, 根据出现的顺序自动编排序号对于多个文献的引用情况, 也做了对应的处理
参考文献列表呢?
我们翻动页面到文末
参考文献列表已经根据 GB/T 7714-2015 的规范自动生成
将来无论是对文献引用作增删移动修改, 都可以通过执行上面的一条命令自动更新非常方便
图片引用
写作长篇学术论文 (例如毕业论文) 时, 图片可能会有很多引用起来如果手动编号, 将来插入新的图片, 就得手动重排许多后续内容, 很麻烦
下面我们尝试在 Markdown 里插入图片标题, 并且在文中作交叉引用
请打开 demo-figref.md , 内容如下:
注意这里图片使用时, 加入了一些新的信息前面的方括号里面, 加上了图标题; 后面的大括号, 使用 #fig:id 的方式, 加入了图的标记
引用的时候, 采用 {@fig:id} 的方式, 分别引用每个图形
注意右侧的预览区, 图标记都是原封不动显示的
为了能够让图片引用的时候使用图, 而不是 Figure, 我们在文件首部插入 4 行内容:
- ---
- fignos-cleveref: On
fignos-plus-name: 图
预览中, 这部分也出现在了文章首部, 很难看
我们执行以下的 pandoc 命令, 注意此次加入了图片引用处理要求
pandoc --filter pandoc-fignos --filter pandoc-citeproc --bibliography=myref.bib --csl=chinese-gb7714-2005-numeric.csl demo-figref.md -o demo-figref.docx
这次生成的 Word 里面, 图片自动加上了编号
第二张图, 序号也符合我们的预期
注意, 目前这个图片自动编号的功能对于中文支持还有些问题例如标题中依然显示为 Figure, 而非我们想要的图不过我们只需要调整替换图标题即可, 所有的引用都是正常的
如果你的学术论文里面有数十或上百张图片, 你会立即体会到这种引用方式的好处
小结
本文我们用一个最小化的样例, 介绍了如何在学术论文写作时, 利用 Markdown 和 Pandoc 处理以下格式信息:
数学公式;
脚注;
文献引用;
图片引用
此时再来看我们生成的 Word 文稿, 已经变成了这个样子:
是不是很有成就感呢?
举一反三, 你也可以把这些技巧和方法应用于其他学术文稿的写作中, 它们包括而不限于开题报告结项报告, 甚至是科研项目申请书
希望这些展示, 能对你写作学术文稿效率的提升, 起到促进作用
讨论
你平时经常写学术论文吗? 用的是什么工具? 效率如何? 除了本文介绍的方法外, 有没有更好的工具和流程推荐给大家? 欢迎留言, 分享你的思考和经验, 我们一起交流讨论
如果你对我的文章感兴趣, 欢迎点赞, 并且微信关注和置顶我的公众号玉树芝兰(nkwangshuyi)
如果本文可能对你身边的亲友有帮助, 也欢迎你把本文通过微博或朋友圈分享给他们让他们一起参与到我们的讨论中来
少数派, 汇聚数字时代愿意思考的人
来源: http://www.tuicool.com/articles/22mIj2j