HC MID Devoted to the study of incompletely published primary sources

Software for editing manuscripts


  1. a terminal (such as the bash shell) to run commands
  2. git (version control)
  3. atom (text editor)
  4. java sdk and sbt (running scripts)

Details: 1. shell

We use the bash shell to run commands from a terminal.

  • OS X users: Terminal.app is already in /Applications/Utilities
  • Windows users: use gitbash (installed with Windows versions of git, below)
  • Linux users: any of your favorite terminals

Details: 2. version control

We manage all our work using git for version control.

Details: 3. text editor

We edit several types of documents: tables of data in delimited text files, diplomatic editions marked up in XML, scripts in the Scala language, and texts, slide shows and web pages composed in Markdown. The Atom editor provides excellent support for all of these when configured with appropriate plugins.

Download and install atom from https://atom.io/. If you are using Mac OS X, open atom and choose from the Atom menu, “Install Shell Commands”. (This step should not be necessary on Windows or Linux operating systems.)

Configuring Atom for scholarly work on manuscripts

Installing atom should have installed the command-line atom package manager apm. Copy and pasthe the following commands into a bash shell to install a suite of packages:

apm install intentions
apm install busy-signal
apm install linter
apm install linter-ui-default
apm install linter-autocomplete-jing
apm install atom-xsltransform
apm install xml-formatter
apm install https://github.com/mfripp/atom-tablr.git
apm install rainbow-csv

Download the file atom-tablr-conf.cson, and copy it to atom’s default location for config files. You can do that with the cp command in your terminal.

cp atom-tablr-conf.cson $HOME/.atom/config.cson

(Gotcha: if your browser renames your file for you when you download – e.g., if it calls it atom-tablr-conf.txt – it, you’ll have to use the name it chose instead of atom-tablr-conf.cson.)


  1. add the linter-autocomplete-jing plugin
  2. install this package for automatic validation of documents following the Text Encoding Initiative (TEI) schema

Details: 4. Running scripts

To test and validate our editions, we use scripts written in Scala, a language that runs on the Java Virtual Machine. sbt is a build system that will find the appropriate version of Scala and any other code libraries your scripts need, and automatically download them, so if you install Java and sbt, everything you need to run MID scripts is taken care of for you.