RinohType is a document preparation system in the style of LaTeX. It still has a ways to go before a first release can be made, but it already implements a lot of functionality.
For a detailed introduction to RinohType and a report of its current status, see this blog article. If you want to try running RinohType, please refer to the rest of this README.
RinohType was originally developed as a Python 3-only project. However, recently it was ported to also run on Python 2 for testing with PyPy. I recommend running the Python 3 version for now, as there are probably still some problems with the Python 2 port. That said, you can find the Python 2-compatible code in the python2 and pypy2 branches.
The core of RinohType does not depend on any other Python packages. If you want to use reStructuredText as an input format, you will need the docutils package. For citations and bibliography rendering, you will need citeproc-py.
I should warn you that some PDF readers have trouble displaying the PDFs generated by RinohType (issue 2). It seems like this is a bug in these PDF readers, but this still needs to be verified.
The repository includes two examples. First, you need to clone the RinohType repository. Make sure you also check out the submodule:
git clone --recurse-submodules https://github.com/brechtm/rinohtype.git
The first example demonstrates most of RinohType's features. It parses text from
an XML file and renders it as a two-column article. A shell script is included
to set up PYTHONPATH (since it is not yet possible to install RinohType
easily):
cd rinohtype/examples/rfic2009 ./template.sh
When the script finishes, you will find template.pdf in the current
directory.
The second example requires the docutils package. It parses a the
reStructuredText quickstart document and renders it to quickstart.pdf:
cd rinohtype/examples/restructuredtext ./test.sh
Please bear in mind that these examples have not yet been polished. At the moment, they merely serve to assist development rather than look good. Once the codebase is more mature, proper stylesheets will be created to deliver pretty output.