Ilmari's Webpage

Humanities Dissertation in org-mode? Some Thoughts

Posted: 2022-01-30

Introduction

Over the past couple of days I have been toying with the idea of formally continuing my academic studies and writing a PhD dissertation. As I have using "org-mode" for a little while now, I was curious about setting it up for an extended humanities project 1 . Briefly, org-mode is an extension for the multipurpose software GNU Emacs, based around plain text markup. Among other features, it hosts a convenient way to write and outline text, that one can then export to other intermediary formats, such as LaTeX. Additionally, it is a powerful productivity tool for activity planning and scheduling (including to-do lists and an agenda), all in plain text 2 . While it can be a useful way to write extensive prose documents, its use is not too apparent within the Arts and Humanities academic community. The purpose of this post is therefore to explore my experiences with GNU Emacs and org-mode, within the backdrop of humanities writing tasks. This includes sharing some of the my own choices in terms of setup, with appropriate addons for, for example, reference management and note taking 3 .

Regarding GNU Emacs

Regarding GNU Emacs, it is mainly associated with the software development and systems administration world, but I have come across configurations for humanities research as well. In my area of interest this includes, for example, Christian Wittern's Mandoku , designed for research into pre-modern Chinese texts [4]. Briefly, Mandoku hosts a suite of tools for philological analysis, translation and annotation of primary literature. And it includes integration to Kanseki Repository, an online database of texts in computer readable format compiled by Wittern and his team. Other related examples include that of Jay Dixit, a New York based science writer, who has honed his GNU Emacs configuration for professional writing tasks [8]. Through his demonstration, Dixit displays the modularity of the software beyond its applicability in computing and Unix administration. Lastly, one can find further related examples within the GNU Emacs "emacs-humanities" mailing-list, and its archives.

On org-mode

As highlighted above, org-mode is a GNU Emacs mode for a variety of text based tasks, including notes, authoring documents, and maintaining to-do lists. Being analogues to other markup languages, it involves utilising a predefined syntax to manipulate a document in plain text. Everything being plain text means that one can open and edit an org-mode document in any conventional text editor. Additionally, as with other markup systems, one can easily export org-mode files to different intermediate formats such as HTML and LaTeX. This means that one can simply write without needing to think about formatting, essentially making it a feature rich distraction-free writing environment. Its defining feature for me, as it is for others, is its highly flexible structured text formatting allowing one to easily outline and plan documents. It uses marks (by default an asterisk) to indicate nested levels of a hierarchy (trees) that the user can fold to hide their respective contents. This, combined with GNU Emacs use of buffers, allows one to have a document outline always visible, while simultaneously writing content within any section.

static/org-one.gif
"Org-mode trees in action (in this post)"

Being a part of GNU Emacs, one can customise org-modes functionality to a great extent with customised macros and further addons. In general, most of my writing and note taking workflow revolve around the functionality provided by the extension org-roam. This mode is broadly speaking a note taking strategy involving linked "nodes," inspired from German Sociologist Niklas Luhmann's (1927-1998) zettelkasten method [6], and also Roam Research. I store every written "thing" (whether bibliographic or otherwise) in an org-roam database, that I can quickly search via tags or arbitrary text. All such nodes are org-mode files, associated with a unique identifier, that one can then link to other org files in said database. Through writing and linking content in such a database, one can develop a kind of personal "wiki" or knowledge pool. This can then be, for example, visualised (as with org-roam-ui) to discover lines of thought not necessarily accessible via conventional note taking approaches. Lastly, in terms of citations, these I insert into my org-files with org-ref as links, that I can quickly turn into org-roam nodes with org-roam-bibtex.

static/org-two.gif
"Using org-ref"

Other Functionality

Apart from org-mode, I have also been using other modes to enhance my writing experience within GNU Emacs. This includes, for example, writegood-mode that is helpful for me as a non-native English speaker, as it can highlight problematic uses of language. These include pointing out weasel words, passive structures, any unwanted idiosyncrasies, and also duplicate words. Other modes include synosaurus-mode for a thesaurus, wc-mode for wordcounting, olivetti-mode for helpful visual formatting within GNU Emacs, and engine-mode for quick web searches. Additionally, I grown to heavily rely on palimpsest-mode, which is a simple addon through which one can quickly highlight a text portion and archive it. This means that nothing gets deleted, and I can later refer to any text snippet (that did not initially fit into a section) without hassle.

static/org-three.gif
"org-roam use"

While I regularly take backups with external harddrives and Dropbox, I also use Git as a way to version control my notes and projects. For the future, I plan to use Git to experiment with different insights, having the possibility to then returning to the main text body. There are a multitude of options when working with Git in GNU Emacs, with Magit being particularly well regarded. In terms of managing my bibliography and PDF library, I currently use Zotero with the Better-Bibtex add on. Zotero needs not too much introduction, being a well regarded free open-source bibliographical tool. In short, as I add new material to Zotero, a master BibTeX file is also updated, which is then read by org-ref. Relying on org-mode to create LaTeX projects, I use Better-Bibtex to makes sure that, for example, there are no clashes between citation keys.

Issues

While I am comfortable working with the above setup, it is difficult to integrate it into a conventional work flow that stresses software conformity and collaboration. Org-mode is not (readily) designed for web based interaction, relying on the user to install an Emacs client to fully engage with a file. Due to the required time investment, it is understandably difficult to convince someone to learn Emacs simply to open a single file. While org-mode does host a number of export options, these also have some limitations worth considering in terms of collaboration. This issue became apparent during my MA thesis, which I also wrote in org-mode using roughly the same tools as above. For example, reference links do not carry over to the exported ".odt" format utilised by LibreOffice. This was problematic as I needed to send my supervisor my project in a Microsoft Word readable format (converted from LibreOffice). However, I will be able to iron out these kinds of issues in the future as my familiarity with GNU Emacs and Emacs Lisp increases.

Conclusion

This post sought to share my experiences using GNU Emacs org-mode for humanities writing tasks, in this case with a future dissertation in mind. I believe I have settled for the basic writing environment in terms of completing a multi-year writing project, however, I still expect some tinkering to be had. This is especially due to not having first-hand experience writing or editing a 100,000+ word document, meaning some adjustment is inevitable. At this stage the main issue, I feel, concerns the smooth collaboration between author, supervisors, and any collaborators. Future posts here concerning org-mode for humanities research will likely discuss these issues further, together with trying to establish some feasible strategies to overcome them.

Footnotes

[1]

For a tutorial on how to use Org-mode, please see the online course by Rainer König [25].

[2]

In addition to writing tasks, GNU Emacs makes for a descent digital humanities platform for text encoding and programming, with built-in support for common formats.

[3]

This post was also written in org-mode and published with org-static-blog. For reference, please see the raw ".org" file here.

References

[1] C. Wittern, “Digital Texts in Practice,” Journal of the Text Encoding Initiative, no. 13, 2020.
[2] Thoughtbot and J. Dixit, “Emacs For Writers,” 2015. [ http ]
[3] J. F. K. Schmidt, “Niklas Luhmann's Card Index: The Fabrication of Serendipity,” Sociologica, vol. 12, no. 1, p. 8, 2018.
[4] R. König, “Getting Yourself Organised with Org-mode,” 2016. [ http ]