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?
Pros
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.
Automation
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.
Macros
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.
Cons
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.
Editor
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.
Example
So, with that information in mind, here's a minimal working example of a LaTeX document.
example.tex
\documentclass[10pt,twoside,twocolumn,openany]{book}
\usepackage{example}
\usepackage[utf8]{inputenc}
\usepackage{lipsum}
\title{\scshape\LaTeX~Example}
\author{Vladar}
\begin{document}
\maketitle
\chapter{Example}
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.}{}
\vspace{\baselineskip}
What follows is a dummy ``Lorem ipsum'' text.
\lipsum[1-4]
\end{document}
example.sty
\ProvidesPackage{example}
\RequirePackage{xcolor}
% \statblock[number]{Name}{stats}
% Outputs a monster statblock.
\newcommand{\statblock}[3][1]{%
\noindent
\colorbox{black!20}{%
\parbox{0.98\linewidth}{%
\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