How I take (handwritten) notes on Linux

Linux
Opinion
Tutorial
Author

Gninahophin Jean-Pierre Axel

A bit of context

You can skip this if you just want to learn how to setup your graphical tablet

As a Stem major, most of my courses involve diagrams and equations. This is not a problem when taking notes on paper or a tablet, but it can become one if you are typing everything. Diagrams are rarely just ASCII characters unfortunately.

Living by Latex, dying by Latex

Why don’t you use Latex a wise owl said ?

Latex seems like a good solution indeed. Writing equations in Latex is fairly easy once you learn a few commands, and you can do impressive graphs using the Tikz package. The biggest downside to using Latex for me is that it’s verbose. I touch type (I have memorized my keyboard so I don’t have to look at the key I press), so I type pretty fast but even with that, it’s quite hard to keep up in class, especially when you have to work with matrices, integrals, derivatives, and generally more complicated equations.

But you can use a Latex IDE and define macros !

They are heavy, usually proprietary software and it can be quite hard/time-consuming to customize them. Some of them don’t even have real-time rendering or will take a lot of time to render your notes as you type them… Oh, and what about the time when you just need to write a few LaTeX equations? You’re working in R markdown or Jupyter notebooks ? All that time you spent configuring your LaTeX editor for mediocre speed goes to waste !

And this is why you should use Vim by the way !

Okay but what else can you use ?

There are two alternatives I can think of that I actually use and combine:

  • Using a drawing tablet
  • Using typst instead of Latex

Using a drawing tablet on Linux

So there are plenty of great software options available, and I won’t focus on that.

Over the past five years, I have tried my fair share of drawing tablets, with the last one being a Wacom Intuos M. It is fairly basic and one of their cheapest models.

However, Wacom’s tablets offer some of the best Linux support I’ve experienced. The drivers were already installed on my computer somehow; it was just plug-and-play. They have allegedly been contributing to the Linux kernel (at least according to their website), so I was pleasantly surprised.

Mapping the buttons to certain key combinations can be quite straightforward when using X11.

xsetwacom set "Wacom Intuos BT M Pen stylus" button 2 key "ctrl shift e"
xsetwacom set "Wacom Intuos BT M Pad pad" Button 1 key "ctrl shift p"
xsetwacom set "Wacom Intuos BT M Pad pad" Button 2 key "alt 2"
xsetwacom set "Wacom Intuos BT M Pad pad" Button 3 key "alt 1"

Of course, you don’t just guess that you can type this in bash and that it will work; unfortunately, they don’t come with any setup instructions for Linux.

After Firefoxing, here are two great resources I discovered that should cover most of your use cases over most of your usecases.

This is not sponsored by Wacom by any means and you should definitely keep in mind they’re usually more expensive than the others.

Using Typst instead of Latex

Okay, so I have been mentioning Typst a few times and you might be wondering what it is. You can think of Typst as a less verbose version of Latex that’s easier to pick up but with less support because it’s a fairly recent project.

I discovered it thanks to Quarto, and using Quarto I could barely make it work the way I intended too.

However, if you’re fine with producing PDF-only documents for academic papers or personal notes, Typst is fantastic.

Typst

Keep in mind, it’s fairly new, you won’t find as much ressources as you would for Latex, but the documentation is pretty good, and in one afternoon you should be up and running. I will probably make a full tutorial on it eventually.