Distributed Systems Group

deutsch english

Dipl.-Inform. Wolfgang Runte

Wolfgang Runte
University of Osnabrück
Institute of Computer Science
Friedrich-Janssen-Str. 1
49076 Osnabrück, Germany
+49-541-969-2487 (or -2360, Computing Center)

Flexible LaTeX-based Automatic Making of Exercise Sheets & Sessions Flexible LaTeX-based Automatic Making of Exercise Sheets & Sessions

What is FLAMES?

FLAMES is a generator for exercise sheets (resp. worksheets) and for the content required for exercise sessions or tutorials. FLAMES is particularly suited for exercise sessions with attestations. During these the students have to present their homework. An evaluation and grading is done by instructed tutors.

The usage of FLAMES may be helpful also in similar situations, where only a subset of the functions of FLAMES is used. The application is reasonable in situations, when a flexible generation of exercise sheets and an automatic preparation of the content of exercise sessions is required.

FLAMES is used via the command line. A Unix-based environment is required (Linux or Mac OS X for example). Mainly FLAMES is based on the document markup language "LaTeX" and the build tool "Make". The goal is to offer an efficient and easy to use system, which is based on a small number of powerful standard tools. With these a flexible mechanism for short-term modifications and rearrangements is guaranteed. Additionally the automation of recurrent adaptions and adjustments is ensured.


  • exercises and sample solutions are held in the same document, generation is done on demand
  • exercises can be moved on different exercise sheets very easily in one master document
  • automatic update of hyperlinks on exercise sheets
  • output of exercise sheets and sample solutions as PDF, PostScript (for printing) and HTML
  • a separate list of questions can be hold and integrated for every exercise sheet and respective for every attestation
  • special handling and storing of source code needed for exercise sessions in an integrated development environment (IDE)
  • pattern for the storage of files including naming and directory convention for every single exercise
    • consider files to be handed out to the students, needed for the work on the exercises (directory name: ausgabe)
    • consider files needed for the exercise sessions, i.e. examples, templates, etc. (directory name: uebung)
    • consider files belonging to the sample solutions (directory name: mlsg)
  • preparing the notes for the pre- and postliminary talks on every exercise of an exercise session
  • preparing the grading schemes for all exercises needed for the evaluation by the tutors
  • preparing the content needed for the exercise sessions, i.e. source code and images or diagrams
  • automatic creation of archives containing all files needed for the exercise sessions
  • automatic creation of archives containing all files needed to prepare the tutors for the attestations
  • automatic creation of a printable PDF/PS file with complete all content needed for the attestations
  • simple backup function, creating an archive containing all content of the exercise sessions, portable and fully functional also in other environments


  • download and extract current archive (see below)
  • use the command line to change with "cd" to the directory ".../Aufgaben/"
  • by entering "make" or "make help" an overview of the available functions is given
  • with the following commands:
    $ make b01
    $ make ueb01
    $ make tut01
    ... the first exercise sheet and all corresponding content is generated
  • alternatively the same is reached on a shorter way with the following commands:
    $ make 01
    $ make tut01
  • The steps for the generation were divided into these steps because it was useful in the past: The exercise sheet ("make b01") and the exercise session ("make ueb01") were often generated separately or in combination ("make 01"). The archive for the tutors ("make tut01") was rarely generated, mostly one-time before it was given to the tutors.
  • It would be a good choice to use FLAMES in combination with a version control system (VCS) like Subversion (SVN) for example. Besides the benefits a VCS offers for a single user (version history, central repository to synchronize different working repositories, etc.) this would be an easy way to get a multi-user system.

System Requirements

  • Bash (incl. find, tar, gzip)
  • Make
  • LaTeX, incl. pdfLaTeX and Tex4ht
  • pdftops, pstops, ps2pdf, a2ps, gs, epstopdf
  • dvipng and probably dvips and convert (ImageMagick)

Tested with: Ubuntu Linux 12.04.2 LTS and the included TeX distribution "TeX Live 2009-15"