Brecht Machiels - RinohType, a document processor inspired by LaTeX
Channel: EuroPython Conference
Date: 03/08/2015

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