Vladar's Blog

LaTeX for tabletop

LaTeX, which is pronounced "Lah-tech" or "Lay-tech" (to rhyme with "blech" or "Bertolt Brecht"), is a document preparation system for high-quality typesetting. It is most often used for medium-to-large technical or scientific documents but it can be used for almost any form of publishing.1

There are multiple RPG-oriented LaTeX templates: from old-school2 to contemporary3 ones. What are the Pros and Cons of using this academia-oriented tool for writing your tabletop rulebooks, adventures, or zines?


Consistent Style

Just as I write this blog in Markdown, and the site's engine fashions it with consistent margins, fonts, and colors, LaTeX does the same (and much more) for the PDF it outputs. You specify the visual style once and forget about it (until you decide to shake things up a little), which allows you to concentrate on the writing.


LaTeX does all the boring tasks for you. Table of contents? Index? List of tables? All will be accounted for and updated on its own.


Not only LaTeX has a vast library of commands, but you could create your own, suited for your specific needs, including math operations and simple programming procedures.

Version Control and Collaboration

Since the LaTeX source files are plain text, they are perfect for version control systems like Git.4,5,6 You'll have all the chronology of edits done you your documents, as well as benefits of working on a different branches and along with other people.


Learning Curve

You need to know the syntax in depth to get the most of the LaTeX experience. You don't need to learn it all at once though — just extend your knowledge base when needed.

Installation Size

TeX Live distribution with additional packages that I use to compile ItDR takes almost 2 GB of space. Maybe not that much by modern standards, but you should keep that in mind.

Starting point

It is not hard to find a LaTeX beginner-level tutorial. Here's one from the NYU. Also, some kind of cheat sheet will be useful.


There are multiple editors available. My editor of choice is TeXstudio, but you might find than another one will suit you better.

STY files

It is quite useful to keep all of your custom formatting parameters and macros in a separate file. Here is a quick reference on how to write your own packages.


So, with that information in mind, here's a minimal working example of a LaTeX document.







Here's an example of a custom command defined in \verb|example.sty| that formats a monster stat block:

\statblock[d6]{Orcs}{MV 40'; AC 6; HD 1; AB +1; \#AT 1 scimitar (1d8); SV F1; AL C; Int 7; ML 8; XP 10.}{}


What follows is a dummy ``Lorem ipsum'' text.






% \statblock[number]{Name}{stats}
% Outputs a monster statblock.
			\textbf{#2 (#1)} #3
		}% parbox
	}% colorbox

Now try to compile it and see what you'll get!

With this information, you can start tinkering with LaTeX and adapt it for your specific purposes. In the future I will highlight specific use-cases and some useful packages.

Discuss this post on Reddit

end illustration

  1. https://www.latex-project.org/about

  2. https://www.ctan.org/pkg/rpg-module

  3. https://github.com/rpgtex/DND-5e-LaTeX-Template

  4. https://git-scm.com

  5. https://github.com

  6. https://gitlab.com

#gamedev #guide #latex #software #ttrpg