CTAN Comprehensive TeX Archive Network

Directory macros/latex/contrib/checklistings



By Timothy Bourke and Marc Pouzet.

User manuals and papers about programming languages usually contain many code samples, often with accompanying compiler messages giving the types of declarations or error messages explaining why certain declarations are invalid.

The checklistings package augments the fancyvrb and listings packages for including source code in documents with a way to pass the source code through a compiler and also include the resulting messages in the document.

The motivation is to check the code samples in a document for syntax and typing errors and to facilitate the inclusion of inferred types and compiler warnings or errors in a text. This package is intentionally very lightweight and unlike packages like python it is not intended for interacting with an interpretor or including the execution traces of code. While checklistings does not focus on a specific programming language, it is designed to work well with ML-like languages.

Using the package involves three elements:

  1. The declaration \usepackage{checklistings}.
  2. The verbatim environment \begin{chklisting}...\end{chklisting}.
  3. The shell script checklistings.sh.

In a first pass, latex/pdflatex outputs code samples into files. The second pass is performed by checklistings.sh which passes each file through a compiler to generate corresponding output files. In a third pass, latex/pdflatex reads from the generated files to incorporate the results into the document.

A checklistings.hva file is provided for interoperability with HeVeA.

The checklistings package may be distributed and/or modified under the conditions of the Project Public License, either version 1.2 of this license or (at your option) any later version.

Please send comments, suggestions, and bug reports (with version number and the keyword "checklistings" in the subject of the message) to <tim@tbrk.org>. Please keep in mind that we prefer to keep checklistings simple and lightweight rather than to incorporate many different configuration and customization options. The source code is hosted on GitHub.

This package was developed within the PARKAS at Inria and the ENS.

Download the contents of this package in one zip archive (369.4k).

checklistings – Pass verbatim contents through a compiler and reincorporate the resulting output

This package augments the fancyvrb and listings packages to allow the source code they contain to be checked by an external tool (like a compiler). The external tool's messages can be automatically reincorporated into the original document.

The package does not focus on a specific programming language, but it is designed to work well with languages and compilers in the ML family.

LicensesThe Project Public License 1.2
Copyright2015 Timothy Bourke and Marc Pouzet
MaintainerTimothy Bourke
Contained inTeX Live as checklistings
Guest Book Sitemap Contact Contact Author