/CaSSius

CaSSius: a CSS-regions-based PDF typesetter for scholarly communications

Primary LanguageXSLTGNU Affero General Public License v3.0AGPL-3.0

CaSSiuS CaSSius is a tool to create beautiful paginated PDF documents from NLM/JATS. Under the hood, v0.2 of CaSSius uses the pagination polyfill from pagedjs. It is intended to be part of XML-first/XML-in workflows for scholarly communications but may have alternative uses.

CaSSius: heavyweight typesetting with lightweight technology.

Usage and Quick Start Guide

Usage:
    cassius.py <in-file> <out-file> [options]
    cassius.py (-h | --help)
    cassius.py --version
    cassius.py --debug

CaSSius takes NLM/JATS XML and produces a PDF file from the results. To begin using CaSSius on a Linux system, follow these steps:

  1. Ensure that you have all of the requirements in requirements.txt installed and are using Python 3.
  2. Install Google Chrome in order to generate the PDF.
  3. Copy CaSSius.css to the directory with your input files and modify as appropriate.
  4. Run src/cassius.py from within that directory, specifying the input XML and the desired output PDF file.

Troubleshooting

If something isn't working, please try with the --debug option. Furthermore, please verify the JATS structure against the provided samples.

Samples

Various sample XML files can be found in the "samples" directory.

Headless Printing

CaSSius creates PDF files by headless printing of documents in Google Chrome.

Components and Licensing

CaSSius is copyright Martin Paul Eve 2020. It is released under the terms specified in LICENSE.

CaSSius makes use of several other open-source/free-software projects, including: