8 releases

0.1.7 Apr 1, 2020
0.1.6 Nov 2, 2019
0.1.5 Oct 15, 2019

#25 in #slide

25 downloads per month

GPL-3.0-or-later

24MB
636K SLoC

C 632K SLoC JavaScript 2K SLoC // 0.0% comments C++ 1.5K SLoC // 0.0% comments Rust 816 SLoC // 0.1% comments

Build Status Crates.io

faster-beamer

An incremental compiler for LaTeX Beamer slides

Motivation

Compiling Beamer slides takes too long. I wanted to have a fast preview of my files even if the output is not 100% correct.

What it does

It parses your input file and compiles each frame enviroment individually and in parallel. Compiled frames are cached and only recompiled if necessary.
Of course, frame pages and citation will not be rendered correctly, but it should be sufficient to get an idea how your frames will look like.

Executing the following line will let faster-beamer watch your tex-file for changes, compile all frames on changes and only output the frame that was changed most recently.

faster-beamer presentation.tex --server

If you want pdfunite to glue all the compiled frames together use:

faster-beamer presentation.tex --server --pdfunite

We can also try to reinsert the precompiled frames into the orginal document. This will yield the most accurate result (including title, section pages).

faster-beamer presentation.tex --server --unite

Requirements

  • A Rust toolchain >= 3.39
  • You need to have pdflatex in PATH. Addidionally, also pdfunite if you want to unite PDFs.

Installation

cargo install --path . --force

Thanks

A modified version of https://github.com/santifa/latexcompile is used in this project.

Dependencies

~9–20MB
~286K SLoC