Directory macros/luatex/latex/osglecture
OSG Lecture
This README describes the CTAN release 2026-10-23 of the bundle. Sources and the current development state are available at https://github.com/werner-matthias/osglecture.
LaTeX bundle for generating lecture materials at the Operating Systems Group at the TU Chemnitz. The bundle serves two main purposes:
- To support an "one source, many documents" approach
- To support accessibility (tagging)
Currently, the following packages are included:
- osglecture: class to generate different materials (slides, script) from a common source
- OSG LaTeX Lecture Maker (ollm): latexmk-based build script to support creation and deploying of lecture materials
- osglecture-modes: generalization of portable document modes in the style of beamer/ltx-talk
- langselect: generation of different language versions from a common source
- tagpax: semantic import of tagged PDFs
- osgstyler: template-based formatting
- ltxtalk-theme: theme engine to allow easy and flexible design of themes for ltx-talk. It also includes a few themes modeled after some Beamer themes
- ltxtalk-theme-tuc-2019: (an unofficial version of) the presentation theme of TU Chemnitz for ltx-talk
- ansiterm: ANSI-aware executable terminal windows
- osglistings:
minted-based code-listing front end - semcat: generalized semantic-category markup
- tagdirtree: taggable directory tree
- tagbridge: transition package to patch few third party package w/o own native PDF/UA support
- osgdoc: small wrapper for cnltx with some further support for documentation
Warning
Although the bundle is currently in active use (or perhaps precisely because
it isβwe're dealing with a kind of DevOps scenario here), it is explicitly under active
development and is not stable.
>
In other words: APIs are subject to change.
Modules' version and compatibility
The bundle as a whole is identified by its release date only (current: 2026-10-23). Each module keeps its own version and may has its own compatibility dependency.
In addition, OSG Lecture is a LuaLaTeX bundle ( π ). That said, there are few package that can work without Lua in a degrated mode ( π ) or don't require Lua at all ( π ).
The following table lists the versions of the modules and their use of Lua.
| Module | Version | Date | Files | Lua |
|---|---|---|---|---|
| osglecture | v0.6.0 | 2026-10-05 | 24 | π |
| osglecture-modes | v0.5.1 | 2026-09-27 | 2 | π |
| ollm | v0.15.0 | n/a | 1 | βͺ |
| tagpax | v0.8.6 | 2026-10-22 | 2 | π |
| tagbridge | v0.1.0 | 2026-09-14 | 1 | π |
| tagdirtree | v0.1.0 | 2026-09-14 | 1 | π |
| langselect | v1.1.3 | 2026-09-18 | 1 | π |
| osgstyler | v0.2.0 | 2026-08-24 | 2 | π |
| lttheme | v0.5.3 | 2026-10-05 | 15 | π |
| lttheme-tuc-2019 | v0.5.1 | 2026-08-24 | 1 | π |
| ansiterm | v0.2.1 | 2026-08-26 | 1 | π |
| osglistings | v0.1.0 | 2026-08-28 | 1 | π |
| semcat | v0.3.0 | 2026-08-31 | 1 | π |
| osgdoc | v0.5.0 | 2026-09-08 | 2 | π |
Installation
Install the bundle with the package manager of your TeX distribution. The build tool ollm is installed as a user command; check the installation with
ollm doctor
Documentation
See osglecture-manual-en.pdf or osglecture-manual-de.pdf for a user documentation in English, or German, respectively.
Beside, the most packages have their own documentation.
Bugs and Limitations
Even though the individual packages vary considerably in terms of maturity, the bundle as a whole should definitely be considered experimental. As such, it certainly still has lots of bugs. Please report any bug you find here.
License
The bundle is released under the LaTeX Project Public License, version 1.3c or later (see LICENSE). Excepted are the vendored third-party components described in ollm/THIRDPARTY-ollm.md and osglecture/THIRDPARTY-osglecture-cls.md.
Download the contents of this package in one zip archive (7.8M).
Osglecture – Lecture materials from one source: slides, script, and tagged PDF
The osglecture bundle supports the generation of lecture materials. It can produce several documents from one LaTeX source: slides, handouts, a presenter version, or script, each in several languages. The class osglecture selects the actual document class (ltx-talk or beamer for presentations, book or scrbookt for long forms) through document profiles, so the source contains nothing class-specific. The build manager ollm builds whole lecture series, carries cross-references and counters between units, and collects units into one document. In addition, the bundle aims at accessible, tagged PDFs.
Several of the bundle's packages can also be used on their own. The bundle currently contains:
- osglecture: document class that produces slides, script, handouts, and other materials from a common source
- ollm (OSG LaTeX Lecture Maker): latexmk-based build manager for creating and deploying lecture materials
- osglecture-modes: portable document modes in the style of beamer/ltx-talk for arbitrary classes
- langselect: several language versions of a document from a common source
- tagpax: semantic import of tagged PDFs
- osgstyler: template-based formatting
- ltxtalk-theme: theme engine for ltx-talk, with a few themes modelled after Beamer themes
- ltxtalk-theme-tuc-2019: unofficial version of the TU Chemnitz presentation theme for ltx-talk
- ansiterm: ANSI-aware, optionally executable terminal windows
- osglistings: minted-based code-listing front end
- semcat: semantic-category markup
- tagdirtree: taggable directory trees
- tagbridge: transitional patches for a few third-party packages that lack native tagging (PDF/UA) support
- osgdoc: small wrapper for cnltx with further support for documentation
The bundle requires LuaLaTeX and is under active development.
| Package | Osglecture |
| Repository | |
| Version | 2026-10-23 |
| Licenses | Perl Artistic License The LaTeX Project Public License 1.3c MIT License GNU General Public License, version 1 or newer |
| Maintainer | Matthias Werner |
| Topics | Bundle Class Course material Use LuaTeX Multi-lingual Subdocs Presentation |