Academic writing with Open Source tools
There are a number of blogs posts around detailing individuals setups for academic study using only Open Source software. As there are so many different tools, each requiring their own configurations, I thought I would detail my setup as it might help others get going.
I almost entirely use Open Software in my work as a web developer and my studies in philosophy. This means the instructions here are Linux centric; specifically, Ubuntu Linux with the Gnome desktop. Most of the tools listed here are cross-platform, so this shouldn’t be much of an issue, but some of the specifics might not work if you’re running MacOS or Windows.
Markdown is not software, but a simple markup format for writing plaintext documents. It is designed to be easy to read and write, but also easily parsed by software so it can be converted to different formats.
Writing in a plaintext format is the key using Open Source software for academic purposes. You are no longer tied to propriety software like MS Office or Apple Pages; which are fine if everyone is using one of them, but not when different people are using different operating systems with different software packages. Using a plaintext format also allows the use of tools like Git, that don’t handle binary files too well.
Markdown is one of the easiest markup formats to learn and very simple to write. There are plenty of sites giving details on how to write in Markdown, some good ones are:
To write Markdown you need an editor that can save plaintext files. Most editors are able to do this and their are a number of editors specifically designed for writing Markdown, but the Atom editor (https://atom.io/) is a very good cross-platform editor that is extremely customisable.
Atom is designed as a general purpose text editor, so it benefits from some customisation. To get it functioning nicely as an academic Markdown editor I use the following extra packages:
- Atom Shell Commands - for running commands to compile Markdown into other formats without having to move to a command line.
- File Icons - which provides nicer icons in the tree view.
- Git-plus - for running git commands without having to move to a command line.
- PFM - Pandoc Flavoured Markdown support.
- Markdown Preview Plus - to preview Markdown files.
- Markdown Writer - provides extra features, such as shortcuts and automatic continuation of lists, for writing in Markdown.
- Wordcout - does what it says.
- Zen - for distraction free writing.
On top of this I use the Pen Paper Coffee theme. Although I have found a number of annoyances with the theme, so I’m currently using a forked version which contains some changes I made: https://github.com/stephen-cox/pen-paper-coffee-syntax (such is the beauty of Open Source – if you find something you don’t like you can change it).
If you find Atom to fiddly to get working you could try an editor designed specifically for writing Markdown. A couple with good reviews are:
While writing in Markdown is great, there are times when you’ll need to convert the text files into a different format; perhaps assignment submissions need to be in Word format or you need a PDF for printing. This is where Pandoc (https://pandoc.org/) comes in. This command line tool converts between many different formats, but the ones I’m interested here are converting plaintext Markdown files to binary formats like DOCX and PDF.
One of the key features of Pandoc is its support for many Markdown extensions. Key to it’s use in academic writing is the ability to handle citations and footnotes. The citation management allows the inclusion of references in Markdown text and have them rendered according to a specified citation style with a bibliography included at the end of the page. For this a CSL file (specifying the citation style) and a bibliography file need to be passed to Pandoc, Zotero is able to provide these. Markdown footnotes are included in the text, but are rendered at the bottom of the page, with the numbering being handled automatically.
Some pages that
OwnCloud / NextCloud
This post as outlined the tools I use when writing, specifically for an academic audience. This is just one way of doing things. Other posts which cover similar ground are: