原文链接 🔗 6 An Emacs Starter Kit(opens new window)

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


下载和安装我已经提到的每一个软件的详细操作步骤超出了本文的讨论范围。但是,假设你已经尝试下载过了 Emacs、 发行版、R、或者 Git,那么接下来该怎么做呢?如果你打算在 Emacs 中工作,各种默认没有的设置和插件是非常有用的,但这些不是默认的设置。为了让设置变得简单,我为社会科学写作写了一个 Emacs 入门工具包(opens new window) ,旨在通过为你提供「开箱即用」的设置以及自动安装一些重要的插件来降低 Emacs 的上手难度,我希望这可以帮助你永远地避开那些无穷无尽的各种设置。

emacs-starter-kit

配色主题为 Solarized 的 Emacs

为什么我要写这样一个入门工具包?因为 Emacs 是一个功能非常强大的编辑器,但它的默认设置可能并不太友好,部分原因是因为默认情况下很多很好用的设置和模式不会启用。入门工具包是一组很好的默认设置,包括下载 GNU Emacs,将工具包放入 ~/.emacs.d/ 并开始工作。如果你已经在使用 Emacs 并拥有 .emacs 文件或 ~/.emacs.d 目录,那么入门工具包可以替换它们,同时留下一个可以轻松添加自定义项的位置。

入门工具包是在 GNU Emacs 中使用的,需要版本 24.4(2014 年 10 月发布)或更高版本。如果不进行修改,它将不适用于 Aquamacs(opens new window) ,工具包的 .org 文件中提供了详细的注释和文档。

# 安装说明(macOS)

# 开始之前

如果你想使用工具包支持的工具 —— 、R、Git、Pandoc 等,那么就需要把这些工具安装到你的 Mac 上。底层工具是苹果自己的开发者工具,可以用来编译自己的软件,其中就包含 Git 等工具。获取这些工具最直接的方法是安装 Xcode —— 软件开发者用来编写 macOS 和 iOS 应用的软件,因此它附带了很多我们用不到的东西,但它可以很方便地安装我们需要的工具。Xcode 可以在 Mac App Store(opens new window) 中免费下载,安装完成后,启动 Xcode,依次点击 Xcode -> Preferences -> Downloads 来安装 Xcode 命令行工具(Command Line Tools for Xcode),然后就可以退出 Xcode,后面就用不上它了。或者,你也可以打开 苹果开发者网站(opens new window) ,登录你的 Apple ID 来单独下载 Xcode 命令行工具(Command Line Tools for Xcode),就可以不用安装 Xcode。

如果你之前使用过 Emacs 并且有 .emacs 文件或 .emacs.d 目录,请将它们备份,然后删除掉,有关如何向工具包添加自定义项的详细信息,让我们接着往下看。

# 获取入门工具包

有 2 种方法获取入门工具包,一是你可以 下载工具包的 .zip 文件(opens new window) ,这是最新版本的静态快照。但是如果你想跟踪工具包的变化,就可以使用 Git 克隆(clone)源代码,而不是简单地复制静态版本。纯文本文档应该做好版本控制,所以我推荐使用第 2 种方法。

# 前提条件

  • 安装 R 和 Pandoc。安装这 2 个工具不是必须的,如果你不愿意安装,可以跳过此步骤。但是如果你在做统计工作,可能会使用它们,比如 R 或 Stata。

  • 记下你的用户名或电脑名称。如果你不知道,可以打开终端,输入以下命令:

$ whoami
1

按下 Enter 键,输出结果就是你的用户名。再输入:

$ hostname
1

按下 Enter 键,输出结果就是你的电脑名称。需要知道你的登录名才能正确激活最终的自定义文件,当然也可以使用系统名称。

# 设置

  1. 如果你下载了工具包的 .zip 文件,必须将它解压缩,将生成的文件夹移动到用户文件夹下并重命名为 .emacs.d。假设下载的 .zip 文件位于 ~/Downloads 文件夹中,那么可以打开终端执行以下操作:
$ cd ~/Downloads
$ unzip emacs-starter-kit-master.zip
$ mv emacs-starter-kit-master ~/.emacs.d
1
2
3

或者,如果你使用 Git(推荐的方法),可以从 GitHub 克隆工具包,打开终端并执行如下操作:

$ git clone git://github.com/kjhealy/emacs-starter-kit ~/.emacs.d
1
  1. kjhealy.org 文件中,按照文件顶部的描述更改 BibTeX 数据库的路径。
  2. 按照上面提到的,将工具包里的 kjhealy.org 文件重命名为 %你的用户名%.org 或者 %你的系统名称%.org,然后就可以在这个文件中向 Emacs 添加进一步的自定义设置。
  3. 启动 Emacs。安装了工具包后,首次启动 Emacs 时,它会尝试与多个软件包存储库取得联系,因此一定要确保电脑有网络连接。工具包将主要从 GNU ELPA repository(opens new window) MELPA Repo(opens new window) 下载软件包,Emacs 会读取每一个包,编译并存储在 ~/.emacs.d 目录中。当从服务器获取软件包时,有时候容易出现小问题,因此请耐心等待。如果首次没有获得所有内容,请退出并重新启动 Emacs,它将再次尝试。如果问题仍然存在,特别是如果提示信息说 The package ‘auctex’ is not available for installation,可以按如下方式手动安装包:打开 Emacs,输入 M-x list-packages,然后在输出结果中搜索或向下滚动,找到 Auctex,按下 i 来标记它,再按下 x 来安装它(或它们)。有了这些软件包后,重新启动 Emacs 并启动工具包将完成自定义设置。不幸的是,我无法控制这些间歇性的安装错误,它们似乎与 Emacs 和 GNU ELPA 包服务器的连接方式有关。
  4. Emacs 启动并运行后,执行 M-x starter-kit-compile 来编译工具包的文件,以加快加载速度。

# 使用 Marked

在日常使用中,我发现 Brett Terpstra(opens new window) 的软件 Marked(opens new window) [2] 是一个在写作时预览文本非常有用的工具。Marked 可以将 Markdown 文件显示为 HTML,只要在 Markdown 文件中保存更改,就可以在 Marked 中实时更新预览。Marked 自带一些常见的 Markdown 预览样式,不需要设置,开箱即用。但同时,它也支持自定义处理工具 Pandoc,这意味着 Marked 可以管理目前主流的各种学术论文格式。本质上,Marked 执行的是与之前提到的 Pandoc 生成 HTML 预览的命令是相似或相同的。可以在 Marked 首选项(Preferences)的高级(Advanced)选项卡中进行设置,首选项对话框中的「Path」包含 Pandoc 样式文件的完整路径,「Args」包含所有相关的转换命令,在我看来,这与前面的 Makefile 是一样的。

Marked 中的高级设置(Advanced)选项卡(译者截图,Marked 版本号为 2.5.35)

你可以通过首选项中的「Style」选项卡将 pandoc-templates 仓库的 CSS 文件(opens new window) 添加到 Marked 自定义 CSS 文件列表中,这样,Marked 的预览将与生成的 HTML 文件完全相同,下图展示了这种效果。

emacs-and-marked

在 Emacs(左)中处理文档,实时 HTML 在 Marked(右) 中显示

以上所有的这些,是使用 Emacs、ESS(opens new window) 、R 和其他工具进行强大的编辑,使用 Pandoc 进行灵活的转换,通过 HTML 和 Marked 进行快速简便的预览,以及生成高质量的 PDF(或任何需要的格式)的结果。所有这些都可以直接从纯文本生成,并且包括大多数学术论文所需的几乎所有机制,最值得注意的是,正确标记的表格和图片可以在论文中交叉引用。虽然以这种方式呈现可能看起来很复杂,但在使用中却非常简单,并且不需要考虑任何其他的东西,你只需要在文本编辑器中写作,各种脚本和设置安静地在后台执行它们的工作,然后就可以得到你想要的输出格式。


  1. 译者注:不同的操作系统应该安装哪种 发行版?可根据 这个页面(opens new window) 的说明进行安装。建议在 macOS 上安装 MacTeX,Windows 上安装 TeX Live,不要安装 CTeX! ↩︎

  2. 译者注:Marked 在 Mac App Store(opens new window) 中售价 ¥93,并包含 ¥12 的内购(Spelling and Grammar check)。此外,Marked 也加入了 Setapp(opens new window) ,订阅 Setapp 可以无限制使用 Marked 所有功能,并及时获得更新。 ↩︎