Arara is a build tool designed for TeX documents. Unlike most other build tools, arara will only do what you tell it to do. It is exceptionally simple to use, predictable, reliable, and extensible. You can integrate it with most LaTeX editors out there – instructions for doing so are clearly spelled out in its excellent manual.

Instead of trying guessing the next compilation step from the log, arara works by reading ‘directives’ at the top of your file. These directives tell arara what to do with defaults and options configured in corresponding ‘rules’. For example, this directive (the line beginning with % arara:) will call the pdflatex rule with the defaults, which will in turn call the pdflatex program as appropriate.

% arara: pdflatex
\documentclass{article}
\begin{document}
hello, world
\end{document}

Specifying options for the directive is easy:

% arara: pdflatex: { synctex: yes }
\documentclass{article}
\begin{document}
hello, world
\end{document}

The above will add the appropriate command-line options to generate files for SyncTeX.

The greatest advantage of arara comes in its extensibility. Since other tools focus on fully automating the process from start to finish, adding a ‘new step’ involves complex programming to understand TeX’s output and decide to run that new step. With arara, you can just create a new rule.

Since arara is coming out with a new version soon, I will wait for the release of that new version before adding an example rule. More content will also follow that release – it’s filled with fantastic and useful new features :)