How to write a paper? Part 1: Markdown, Zettelkasten, Principles

Writing scientific papers involves many different tasks: Reading text, taking notes, organizing, filing, and retrieving knowledge, and of course, the writing itself. This series of articles shows how I write papers. Included: Markdown, Notebox, Obsidian, Zotero and more…

Part 1: Markdown, Zettelkasten, principles
Part 2: Collecting information and making use of it
Part 3: Reading and summarizing
Part 4: Writing

I write different types of articles on this blog: Reviews of hardware and software, workflow articles for specific apps, more general thoughts on (scientific) work, and little tips and tricks. And then there are pieces that I consider to be foundational. Articles that go into detail about a comprehensive problem and outline my proposed solution. In this series of articles I would like to write about how I write papers, i.e. scientific publications. The focus is on the tools I use and on my workflow to get from an idea to a first paper draft.

The question of how we acquire knowledge, process it, rethink it, and finally bring it back into the world in the form of our own texts is surely the most comprehensive and important task facing knowledge workers of all stripes. I’ve written two articles on this in the past, the first as a starting point, the second – about a year ago – as a reaction to my changed workflow. At that time, I described why I had left Devonthink behind and how I had made the Markdown format, as well as apps that handle it well (most notably iA Writer), the center of my work. I had also adopted the Zettelkasten, and with it a way to relate my notes to each other.

What is left of this system after one year? Not so little after all. But a lot has changed, too. For one thing, I hardly ever work outside the home anymore – thanks to Corona. In contrast, in 2019 I commuted to my work location almost weekly and also spent about 6 weeks abroad. All this time I worked with my iPad Pro and various external keyboards. And once I was home, it didn’t change that much, simply because I was used to working with the iPad. This year, things have fundamentally shifted in the direction of the Mac. I sit in front of it for most of my workday, and the iPad now only has an (important) helper role.

The note taking revolution changes everything

However, the note-taking revolution, which is currently in full swing, proved to be even more drastic. While note-taking apps have been a source of annoyance for many years (Looking at you, Evernote!), the topic really took off last year. Notion made headlines and trended on YouTube. A bit more nerdy, but no less sustainable in the productivity bubble, Roam Research came on the scene. Suddenly it was possible to link notes to each other simply via backlinks knitting knowledge networks without much effort. I also tried Roam and was impressed. However, I was also bothered by a few aspects. Roam is only available in the browser and my notes are on Roam servers. A no-go for me, not only, but also for privacy reasons. I had not issued the strategy to put Markdown files in the center of my work for nothing. So Roam was out.

So my interest was all the greater when I first heard about Obsidian. Obsidian promised to take some principles of Roam Research (backlinks, knowledge graph) and combine them with Markdown files. All local, no subscription fees, potentially extensible through plugins. So I would still be able to write everything in Markdown files and ultimately text files that other apps could use. No locked silos, no proprietary file formats. Three quarters of a year later, I’m sitting here writing these lines in Obsidian. Just like every day.

Obsidian was the missing piece for an integrated workflow based on Markdown that covers everything from reading other people’s text, extracting knowledge, thinking about it, and finally writing new papers. Time to take a look at this workflow in its entirety, hoping to be an inspiration to others.

The text is very extensive, which is why I have decided to publish it in several parts over the next few weeks. At the end, the entire article will also be downloadable as a PDF.

In total, there will be four parts. In the first part, I’ll give insights into more basic considerations. Why Markdown? What about the Zettelkasten? I’ll also write something about the tools that support me in my work, but otherwise stay in the background. In the following sections I will follow the typical workflow of my work: Collecting information, reading, summarizing, extracting knowledge, processing it productively, writing it myself and then bringing that back into the world – the eternal cycle of knowledge. 🙂

Markdown lays the groundwork

It doesn’t make much sense to reinvent the wheel at this point. I already wrote in the article a year ago why I think Markdown is a fantastic file format and why I want to use it for all my notes and texts. So at this point I’ll just copy the relevant sections from a year ago:

When I switched to the Zettelkasten, I also briefly thought about the form in which I would like to store my permanent notes. Basically, handwriting or computer writing (is that a word?) comes into question. However, I quickly decided that I wanted to have the finished notes as digital text and not as a PDF file exported from GoodNotes. This raises two questions: which file format makes the most sense, and which program do I want to work with?

My requirements for the file format are that it should be as universal as possible so as not to be tied to specific apps. That would speak for simple txt files. But at the same time I want a minimum of formatability, which is excluded with txt by design. But I also didn’t want to use the rtf format, because there aren’t many text editors for the iPad that can handle rtf well. So in order to still meet both requirements, I decided to use Markdown. Markdown has been developed by John Gruber and Aaron Swartz and is a simplified markup language similar to HTML (only simpler), which allows to apply formatting to a text while writing it, without having to go beyond the plain text level. There is a very good introduction available here. Simple examples are a * placed before and after a word to make it italic, or two ** for bold. Markdown files are saved with the .md file extension, but can easily be converted to .txt files should that ever be necessary, since they consist of plain text only.

So I have a folder on my hard drive that is full to bursting with Markdown files. The advantage is obvious: any app that can read Markdown can also read these files, without me having to import them into an app and thus “lock them away”. Instead, I have one big text silo that all apps can access. This year, the strategy has fully worked, as Obsidian has been released. So looking back, I’m very happy with my decision to go full Markdown.

Zettelkasten as inspiration

So the file format is clear, the next question is how I organize and interrelate my notes. In December 2019, I wrote that I was dissatisfied with my approach to knowledge. I didn’t feel like I was really acquiring it, or working with it productively. Instead, marked-up PDF files were lying around somewhere on the hard drive without me really being able to do anything with them. It was out of this feeling that I became involved with the Zettelkasten. Originally thought up by German sociologist Niklas Luhmann, it’s had a pretty remarkable career in the Productivity Bubble over the past year and has also arrived in the English-language blogo or podcastosphere. Again, I will refrain from listing in great detail how the Zettelkasten works. Others have already done that quite excellently elsewhere. The best place to start is certainly this article: Introduction to the Zettelkasten Method. But I have also tried to give a short summary, so I will simply quote the relevant parts from last year’s article here again:

What is the Zettelkasten? To describe this in detail would go beyond the scope of this article. I’ll try to sketch it out. It was developed by the sociologist Niklas Luhmann, who was extraordinarily productive during his academic career. This was probably due in part to the fact that he did not have to constantly apply for research projects from the DFG or any ministries, but also in large part to the Zettelkasten.
This is a collection of notes that can refer to each other. Each note contains a thought, for example an exciting argument that one has read in a text. The note is then given a number, simply starting at 1. The next slip of paper gets 2, then 3, and so on. So at least when 1, 2 and 3 have nothing to do with each other. But if I read something again after some time, which fits to note 1, I can’t give it the 2, because it is already assigned to another topic. Therefore it gets e.g. the designation 1a. And a thought that follows 1a gets 1b. And if I want to branch off 1a? 1a2. In this way, a thought can be branched infinitely further. How the used scheme looks exactly, everyone can think up themselves, the main thing is that it is consistent.

But more important than the naming scheme is the connection between the notes. Since each note has a unique identification number, you can easily refer to each note. For this purpose, I write the note numbers that are relevant to the content under the actual note text. As the notebox grows, one will not be able to cover everything; Luhmann, for example, had about 90,000 notes. But you don’t have to. The charm lies in the fact that one can arrive at completely different thoughts with a single introductory note, since the first note refers to two or three others, which in turn have other connections and so on.

A second linking mechanism are keywords. For this, I simply write appropriate keywords with a # sign below the note references and also give the text files the respective keywords.

Finally – and this should never be forgotten – comes the source citation. Where did I get this idea? Usually this is a bibliography, i.e. author year: page number or whatever citation format you use. Of course, this is only useful if you also enter the source in a literature management system, otherwise you won’t know at some point what the reference refers to.

What has stuck after one year? First and foremost, the principle that notes don’t live in a vacuum, but can be related to each other. I was able to leave the whole naming scheme behind, because Obsidian allows me to link notes simply by their title. After all, the unique identifiers of the notebox come primarily from a time when people wanted to implement hyperlinks on paper. Certainly, the identifiers still play a role in the sense that they assign a note a fixed location in the system. 1a comes after 1, but before 2. This certainly has a use, but always triggered an inner reluctance in me to really work much with the Zettelkasten, as I found it kind of tedious. Now I rely on a combination of [[pages]] and entry notes, also known as a Map of Content (MOC). I’ll write about this, as well as my general organization in Obsidian, in more detail in subsequent parts of the article. For now, it’s enough to say that the Zettelkasten inspired me to think intensively about the organization of my knowledge and that its principles can still be seen in my work. It’s just that the very orthodox implementation hasn’t proven practical for me.

Infrastructure in the background: Clouds, aText and automation

For syncing I use the built-in Obsidian Sync Plugin which works flawless. Those 4$ per month are well-invested money in my eyes as it also offers version history.

To save me a bit of typing, I also use aText. aText is a text replacement tool, similar to the better known Text Expander, but much cheaper. You type any predefined abbreviation and aText turns it into a word, a group of words or anything else you have defined before. For example, xps turns into my blog address, @ps turns into my blog mail address. And when I type zknote, my notes footer template appears in which I collect metadata like source, tags and related other notes. The title is populated from my clipboard in the process.

Automation is more than just typing less

Why all the fuss? A core insight for me was that I have to make it as easy as possible for myself to write down knowledge. Willpower is a finite resource, so it’s sometimes hard to write notes for the Zettelkasten during a busy workday.

However, saving time and willpower are only two reasons to simplify your life a bit. It is at least as important to reduce errors and to create a certain uniformity in the system. My notes should accompany me for years, or rather decades. And for that I need a system that I can trust blindly. But this will only work if the conventions of the system remain the same over time. I need to be able to rely on the ways I handle tags or headings. They have to be the same in the future as they were five years ago. And at this point, automation is the solution. Otherwise, I’d have to constantly check to make sure I’m implementing my own conventions correctly. That, in turn, would permanently interrupt my flow and distract me from the content.

In summary, automation saves me time, reduces the amount of work I have to do, puts less strain on my willpower, and makes me less prone to making mistakes. In return, I tend to actually write notes and thus increase my knowledge base. Consistent conventions ensure that I have confidence in my system and know what to expect and how to look for something, even years later.

The next part is about how I extract and store information from various sources such as articles, scientific papers, podcasts, videos or even simple conversations in order to be able to work productively with it.


Photo by Fallon Michael on Unsplash

Leave a Reply

Your email address will not be published. Required fields are marked *