\(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.

The code of this tutorial is available on GitHub: Delors/reStructuredTextToLectureDoc2/main/ld_base_example.rst

Prof. 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.

Alternatively, you can use the following class: no-title in combination with the class directive:


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

Animation of Lists

In case of (un-)ordered lists (ol or ul in HTML) it is sufficient to associate the class incremental using the class directive with the list. It is also possible, to only specify the class attribute for the required list items.

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.

Associating a slide set with a unique id

Many functions in LectureDoc2 - e.g. persistence of the slide progress - require that a slide set is associated with a unique id. This id can be set using the meta directive.

Adding Supplemental Information

Adding information that should not be on the slides, but provide additional information/explanations, can be added using the supplemental directive.

Alternatively, a container with the class supplemental can also be used:

Formatting Slides

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

Structuring Documents

Creating Sections

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

Slide Transitions

Slide transitions can be controlled using the transition-... classes:

See the LectureDoc2 Cheat Sheet for a comprehensive list of predefined transitions.

Adding Code

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

Scientific Citations

Citations are fully supported in LectureDoc2.

A reference to a book: [Martin2017] (Details are found in the bibliography (see next slide)).


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 situations (e.g., continuous view vs. slide view will render stacked layouts or supplemental information differently).

Stacked layouts

Stacked layouts enables updating parts of a slide by putting the content into layers and then showing the layers incrementally.

Integrated Exercises

Exercises can be integrated into the slide set.

If you have multiple exercises, you can define a master password to unlock all solutions at once (press m to open the dialog).

.. meta::
    :exercises-master-password: 123456


Image in the Background (Hack)


Image in the Background