MIT licensed and maintained by Travis Cardwell
This version can be pinned in stack with:queue-sheet-,2458

Module documentation for

Queue Sheet

Project Status: Active – The project has reached a stable, usable state and is being actively developed. GitHub CI Hackage Stackage LTS Stackage Nightly


Queue Sheet is a utility that builds PDFs of lists. Printed PDFs can be used to track progress when offline.

Use Queue Sheet to track:

  • podcasts
  • research papers
  • conference videos
  • university lectures



Queue Sheet has only been tested on Linux. It might work on Windows and macOS.

Queue Sheet uses XeTeX to build PDFs. It is usually installed as part of TeX Live. The LaTeX packages used depend entirely on the contents of the template.


.deb Package Installation

Check the Releases page for .deb packages.

.rpm Package Installation

Check the Releases page for .rpm packages.

Installation From Hackage

Install Queue Sheet from Hackage using Cabal as follows:

$ cabal v2-install queue-sheet

Installation From Stackage

Install Queue Sheet from Stackage using Stack as follows:

$ stack install queue-sheet


See the queue-sheet man page for usage information.

See the examples directory for example queue files, templates, and built output.


Queue Sheet was written quickly to solve a particular pain point. There are no plans to put the package on Hackage.



All releases are tagged in the main branch. Release tags are signed using the GPG key.


Issues and feature requests are tracked on GitHub:

Issues may also be submitted via email to


This project is released under the MIT License as specified in the LICENSE file.


queue-sheet-haskell Changelog

This project follows the Haskell package versioning policy, with versions in A.B.C.D format. A may be incremented arbitrarily for non-technical reasons, but semantic versioning is otherwise followed, where A.B is the major version, C is the minor version, and D is the patch version. Initial development uses versions 0.0.0.D, for which every version is considered breaking.

The format of this changelog is based on Keep a Changelog, with the following conventions:

  • Level-two heading Unreleased is used to track changes that have not been released.
  • Other level-two headings specify the release in A.B.C.D (YYYY-MM-DD) format, with newer versions above older versions.
  • Level-three headings are used to categorize changes as follows:
    1. Breaking
    2. Non-Breaking
  • Changes are listed in arbitrary order and present tense. (2022-03-02)


  • Bump text dependency version upper bound
  • Bump optparse-applicative dependency version upper bound (2021-10-10)


  • Add dependency bounds (2021-06-25)


  • Fix --help when using optparse-applicative 0.16


  • Use TTC
  • Refactor Nix configuration (2021-05-27)


  • Add support for optparse-applicative 0.16


  • Add .deb and .rpm packaging
  • Add Cabal support to Makefile
  • Add Cabal tests to GitHub Actions
  • Add stan static analysis (2020-11-23)


  • Use GitHub Actions instead of Travis CI (2020-11-08)


  • Add simplified CSV support for tags and items


  • Rename Git default branch to main (2020-09-12)


  • Add item support for tags (2020-08-23)


  • Add default section support
  • Add top-level queues array support
  • Add import support
  • Add user-defined tag support
  • Remove split property
  • Change templates to use snake-case properties (2020-08-11)


  • Add URL support (2020-07-25)


  • Configure sections and queues in a single YAML file


  • Add a template option
  • Add an output option
  • Refactor Makefile, add STACK_NIX_PATH support
  • Add test-all command to Makefile
  • Add Nix configuration (2020-01-22)


  • Initial public release