\(LectureDoc^2\) Tutorial

LectureDoc is an authoring system for creating lecture slides/notes/exercises. LectureDoc enables you to write a single (HTML or) reStructuredText document that contains the slides, additional annotations and also exercises.

This tutorial is written in reStructuredText and can be used as a template for creating your own lecture slides.

Dr. Michael Eichberg


A basic slide consists of a (section) header and some reStructuredText content.

Embedding Formulae

Embed math equations using reStructuredText's default directive (.. math::) and role (:math:`...`).

A slide without an explicit title can be created by explicitly creating an empty title:


Basic appear animations can be created using the (CSS) class incremental. You can also define a corresponding custom role (.. role:: incremental) to animate parts of a text.

Animation of Lists

In case of lists (ol or ul) it is sufficient to specify incremental in the class attribute of ol or ul; it is also possible, to only specify the class attribute for the required list elements.

Slide Dimensions

The slide dimensions can be controlled by specifying the corresponding meta information. If not specified, the default dimension is set to \(1920 \times 1200\); i.e., a ratio of 16:10.

Adding Supplemental Information

Adding information that should not be on the slides, but provide additional information, can be added using a container at the root level in combination with the class supplemental.

Formatting Slides

Creating heavily formatted slides is easily possible using rst directives and roles which are mapped to CSS classes.

Creating Section Marker Slides

Creating a slide which marks the beginning of a new section can be done using the "new-section" class.

Adding Code

Adding code can be done using reStructuredText's code directive.

Advanced Formatting

LectureDoc comes with a set of predefined CSS classes that can be used to format the slides. Some of these classes have explicit support by LectureDoc and will be rendered differently in the different views (continuous view vs. slide view) (e.g., stacked layouts or supplemental information). See the LectureDoc2 Cheat Sheet for a comprehensive list of predefined CSS classes.