Guile-Present defines a declarative vocabulary for presentations, together with tools to render presentation documents as SVG or PDF. Guile-Present can be used to make presentations programmatically, but also includes a tools to generate PDF presentations out of Org mode and Texinfo documents.
Guile-Present is written in a pure-functional subset of Scheme. Doing layout in a functional language turns out to be interesting enough for me to have written a paper about it.
guile-lib, available under Debian/Ubuntu as "guile-library".
The latest release can be found from Guile-Present's release area.
Send me an email at
wingo at pobox.com.