Contribute Media
A thank you to everyone who has made this possible: Read More

RinohType, a document processor inspired by LaTeX

Description

Brecht Machiels - RinohType, a document processor inspired by LaTeX [EuroPython 2015] [24 July 2015] [Bilbao, Euskadi, Spain]

RinohType is a document processor inspired by [LaTeX][1] and written in Python. It renders [reStructuredText][2] and [Sphinx][3] documents to PDF based on a document template and a style sheet. RinohType already implements many of the features that make LaTeX so great. Not stopping there, RinohType also tries to fix LaTeX's weaknesses; it should not only be easy to use, but easy to _customize_ and _extend_ as well. To minimize frustration when things go wrong, care is taken to provide descriptive warning and error messages. The powerful layout engine makes it easy to define custom page layouts. And the CSS- inspired stylesheets simplify the styling of document elements. At a lower level, Python makes the writing of extensions much more accessible when compared to TeX's rather arcane macro language.

In the talk, I would like to introduce RinohType to the Python community. No special prerequisite knowledge is required. I will start off by discussing my motivation for starting RinohType development, its design goals and the currently available features. This will be followed by an example of how you can use RinohType to render a reStructuredText document to a neat PDF document, highlighting some of the features along the way. Next, we'll explore some of RinohType's internals such as the page layout engine and the style sheet system. We will explore how these can be used in a Python application to create a document from scratch.

A first RinohType release was recently created. While this preview release is of alpha quality, it should be able to render most reStructuredText documents. It also includes a preliminary Sphinx builder. Please find more details in the package's description at [PyPI][4].

[1]: http://en.wikipedia.org/wiki/LaTeX [2]: http://docutils.sourceforge.net/rst.html [3]: http://sphinx-doc.org [4]: https://pypi.python.org/pypi/RinohType

Improve this page