原文链接 🔗 1 Introduction(opens new window)

📚 合集|社会科学的纯文本指南(opens new window)


作为一名刚刚踏入社会科学研究领域的研究生,你应该使用什么样的软件来完成工作?[1] 更重要的是,哪些原则应该指导你的选择?在此,我提供一些通用的原则和具体的解决方法。简单来说:你应该使用可以让你更好地控制数据分析和写作过程的工具。

  • 我推荐你使用一个好的文本编辑器来写文章和代码;用 R(opens new window) 、RStudio(opens new window) 或 Stata(opens new window) 来分析定量数据,通过简单的格式存储你的成果,来实现错误最小化(纯文本是最好的),并养成记录已完成的工作的习惯。
  • 对于数据分析,可以考虑使用 RMarkdown(opens new window) 这种格式来写作,用 knitr(opens new window) 来使你的工作在将来更容易复现 (reproducible)。
  • 使用 Pandoc(opens new window) 将纯文本文档转换为 PDF、HTML 或 Word 文件来与他人分享。
  • 将你的项目文件保存在 版本控制系统(opens new window) 中,定期备份其中所有的内容。
  • 通过计算机的自动化操作来执行尽可能多的步骤,以减轻你的负担。

为了帮助你快速入门,我提供了一套有用的默认设置来开始使用 Emacs(opens new window) (一个功能强大的免费文本编辑器),分享了一些模板和样式文件,可以让你快速从纯文本输出各种各样的格式。但需要强调的是,这在许多人中是一个可行的选择,同时我也讨论了几种替代方案。因为一个富有人情味的人,在推荐 Emacs 的同时,也应该提供其他的选择。

首先,我讨论了为什么你应该关心如何更好地控制你的工作文件。我想鼓励你开始考虑这个问题,引导你找到一个适合你的解决方案,而不是直接进入工具列表或重述一遍这些工具的说明手册,也许这意味着使用这些工具,但可能也不是。

# 动机

你可以使用各种各样不同的软件设置进行高效的、可维护的和可重复性的工作。这是我不去鼓励每个人转换为我使用的软件的主要原因,[2] 所以这个讨论并不是为了说服你有一种「真正的方法」来组织事物。但是,我确实认为,如果你处于社会学、经济学或政治学的研究生早期阶段,你应该考虑一下如何组织和管理你的学术工作。[3] 这有两个原因。首先,研究生过渡阶段是进行转变的好时机,在早期,转变的惰性和成本比后期要低得多。其次,在社会科学领域,文本和数据管理技能通常不会明确地教给学生,这意味着你最终可能会采用你的指导老师或导师的做法,继续使用你在方法课上学到的东西,或者只是复制你的同学正在做的东西,遵循这些路径可能会引导你做出令自己满意的安排,但也许不能,因此值得看看下面这些选择。

一开始可能有两种看法。首先,因为这个讨论是针对初学者的,所以一些读者可能会发现他们已经了解了很多东西。其次,虽然在后面我建议你着重看几个应用程序,但它并不是关于小工具或实用程序,在各种花式软件中不可能找到「组织之禅」(The Zen of Organization)。通过购买漂亮的 Moleskine Notebook(opens new window) ,也不会向你揭示「完成任务」的真正道路,恰恰相反,这是大多数人的看法。

# 计算机的两种革命

在与本科生或研究生谈论这个话题时,以及在讲授使用这些工具的课程时,我越来越多地遇到这样一个问题:在谈论我们使用的计算机是如何工作的话题之前,如果开始不稍微回顾一下之前的内容,那么就很难开始。我认为其原因在于平板式、触摸式计算机的兴起。最明显的是在手机上,其次是苹果的 iPad 或微软的 Surface 平板电脑。如今,大多数需要编写长文档 (比如论文)或者和数据打交道的人不会使用平板电脑作为主要设备。但似乎很明显,这种触摸屏交互是大多数人使用的计算机的未来。事实上,一旦你适当地来看待手机,就会意识到它就是当下计算机对大多数人来说的形态。

虽然这不是绝对不可能的,但在这种触摸交互式的设备上进行社会科学的学术研究仍然非常困难,这可能是一段时期面临的状况,我们这里谈论的工具不是为这些平板电脑设计的。我认为这里有一种未被充分认识的对立局面,两种正在进行的计算机革命倾向于向相反的方向发展。

一方面,移动端以云为中心的触摸屏幕、手机或平板电脑为更多人带来了前所未有的强大计算能力。这场革命是每个人都在谈论的,因为它正在资本存在的任何地方大规模地发生。它们将单用途应用程序放在前台,同时向用户隐藏了操作系统的工作方式,并且试图简化或完全隐藏存储和移动项目的文件系统结构。

另一方面,用于纯文本编码、数据分析和写作的开源工具也比以往更好、更易于访问。当然,这比第一种计算机革命的规模要小。但是,这些工具确实彻底改变了数据分析和科学计算的可用性和实践性,开源工具也确实在继续这样做,因为人们努力使他们变得更好,从在网上挖掘数据到展示数据结果,这些工具主要通过将单独的专用小部件连接到可重现的工作流程中来实现,它们是「零碎的」或粒度的,因为数据分析过程也是这样。这些开源工具可以更少地隐藏操作系统层而不是直接与它进行网格划分,而且它们通常预先假定文件系统的工作知识加强了研究人员正在进行的事情的组织管理,从数据文件到代码再到图片,以及最终的论文。

令人感到焦虑的是,越来越多的人进入社会科学领域,兴奋地使用数据而往往很少或根本没有基于文本、命令行或者文件系统相关工具的经验。在许多情况下,他们在有效使用多任务窗口环境方面也没有太多经验,在如何使应用程序在单个目标的服务中协同工作的意义上也不甚了解。[4] 需要明确的是,这不是在责怪用户,也不是我对命令行一些误导的怀旧情绪,相反,它是计算机在很大范围内使用发生变化的一种体现。我们拥有的代码和数据分析工具功能强大,在很大程度上意味着可以开放和检查研究成果,但是他们的工作方式与计算机最终的计算用途相悖,这种计算隐藏了实施细节并专注于单一用途的任务。中短期社会科学的最终结果是,我们将拥有一套功能强大且非常有用的工具,这些工具是开源开发的,由互助的社区提供支持,而且大部分都是免费提供的。但是,在刚刚开始时,教会人们如何使用它们会变得更加困难,也许应该把说服人们尝试使用这些工具摆在第一位。

# 问题是什么?

问题是,学术工作本质上就是一团乱麻。令人讨厌的灵感想法,不得不把它们写下来,并且包括在它之前、期间和涉及的一切:数据分析及其附带的所有内容,以及乏味但不可避免的学术论文机制——特别是引用和参考。在撰写文章时,有很多需要记录的内容,很多是清楚了解的,很多是在写作时聚集在一起的。但学术论文绝不是受这种约束限制的唯一写作形式。我们来看看咨询工程师 Drang 博士(化名)的 这一明智的讨论(opens new window) :

我通常做的写作类型…… 充满着各种事实。我需要不断地参考照片、图纸、实验测试结果、计算结果、他人撰写的报告、教科书、期刊文章等。这些不是分心,它们对写作过程至关重要。

而且不仅仅是参考资料。我经常需要自己制作图表和图纸以包含在报告中。因为文本和插图都是连贯整体的一部分,我需要在两者之间来回切换,文字与图片共同起着说明注释的作用。这不是柏拉图式理想纯净的书写环境——白色房间空桌上的一杯咖啡——你可以在视频中看到无干扰的编辑者。

这些编辑的受欢迎程度是对多任务处理强烈反对的一部分,但是人们对自己的计算机感到困惑。当我写一份报告时,这是我的唯一任务,我带来了完成它所需的所有工具,我的计算机通过同时运行多个程序来进行多任务处理并不会引起混乱或分心,这是让我完成一项任务自然而有效的方法。

很多学术写作就是这样,管理起来会很棘手。当你有合作者或其他撰稿者时,情况会更糟。那么应该怎么办?

# 办公室模式和工程师模式

让我们做一个简单粗略的区分。一个问题有办公室模式(The Office Model)和工程师模式(The Engineerings Model)两种解决方案(不要太在意这种区分或标签)。办公室解决方案倾向于使用 Microsoft Word 等工作集中的集合式工具。一个 Word 文件或多个 Word 文件是项目中最「实实在在」的东西。你对 Word 文件所做的修改是记录在文件内部的,引文和参考文献管理工具插入文件中,数据分析的输出——表格和图片也被剪切和粘贴在里面,或者与它们保存在一起。Word 主文档可以在不同人之间传递进行编辑和更新。[5] 最终输出也是从 Word 文件导出为其他格式,可能是 PDF 或 HTML,但也许最常见的输出就还是 .docx 文件,并且是经过清理和关闭修订的 Word 文件[6]。

与此同时,在工程师模型中,纯文本文件是你工作的中心。项目中最「实实在在」的东西要么是那些文件,更有可能是存储项目的版本控制存储库。你对纯文本文件所作的修改记录在文件外部。数据分析在代码中进行管理,该代码以(理想情况下)已知且可重现的方式产生输出,与 BibTeX 的 .bib 文件一样,引文和参考文献管理也可以纯文本形式完成。最终使用某种排版或转换工具输出由纯文本的组合生成的 .tex、.html 或 .pdf。但是很多时候,由于这个世界的一些 不可避免的事实(opens new window) ,这些解决方案的最终输出也可能还是一个 .docx 文件。

这种区分旨在发现组织管理中的一种趋势,而不是一种严格的鸿沟,更不是一种个人品质的区分。显然,可以在办公室模式上组织事物(实际上,这是主导的方式)。同时,像 Scrivener(opens new window) 这样的应用程序,结合了这两种模式的要素,Scrivener 以有效的方式接受大型写作项目的「比特性」,并且可以以各种格式生成干净的副本。Scrivener 是为编写长篇小说(或定性非小说)而不是给进行定量数据分析的人创造的,因此我从未深度使用过它。同时,Microsoft Word 仍然统治着大量的人文科学和社会科学以及很多出版商的编辑出版。因此,即使你出于其他原因(特别是与项目管理和数据分析相关)而更喜欢纯文本,但向他人提供 Word 文档的例行需求或义务,是能够轻松顺畅进行合作的主要原因之一。HTML 是一种很好的通用语言。

我主要关注工程师模式,但是很多人使用办公室模式,因为最终可能会与其中一些人合作或为他们工作。在这些情况下,你通常更容易使用他们的软件,反之亦然,只是因为你可能已经在电脑上拥有 Word 文件的副本。在这些情况下,你还可以使用 Google Docs[7] 或其他一些允许同时编辑文档主副本的服务进行协作。这可能不太理想,但它比不合作更好。在一个 .docx 的世界中,「纯文本主义」几乎无法实现。


  1. 这个网页版指南也有 单个 PDF 文件(英文版)(opens new window) 可下载,可将原网页中 .html 扩展名更改为 .Rmd 以查看任何页面的纯文本源文件,也可以查看此项目的 GitHub 仓库(opens new window) 。 ↩︎

  2. 我的原则是,如果我不能在别人转换工具期间或之后向他们提供技术支持,我不会试图说服任何人进行转换。 ↩︎

  3. 如果你即将从一名研究生转变为一名教师,那么这些方法也可能是适用的,尽管考虑到成本,这个理由可能不那么令人信服。 ↩︎

  4. 与多任务相对的是,在不那么有趣的意义上,尝试将注意力集中在一些分散的任务上(写作、电子邮件、日历、网页浏览),每个任务都由一个单独的应用程序控制。 ↩︎

  5. 如果协作是最重要的,那么可以在 Google Docs(opens new window) 中完成,而代价则是失去了传统文字处理器的大部分功能。 ↩︎

  6. 译者注:实际上 .docx 是一系列 .xml 文件的集合,是一种压缩文件(.zip 格式)。 ↩︎

  7. 译者注:Google Docs 在中国大陆无法使用,类似的在线协作文档服务,如 腾讯文档(opens new window) 、石墨文档(opens new window) 、松果文档(opens new window) 、WPS 云文档(opens new window) 等。 ↩︎