Rafał M. Siejakowski

Instituto de Matemática e Estatística
Universidade de São Paulo

A template presentation in Reveal.js

For largely historical reasons, most slideshows for mathematics talks are made with the ‘beamer’ package for Latex. Unfortunately, the PDF file format was never meant to be used for slideshows, so accomplishing any interactivity or embedding multimedia is hard if not outright impossible. Combined with the quirkiness of beamer (which arose as a massive hack after all) and its unappealing, dated default styles, the current state of affairs is far from ideal.

I would like to contribute to putting ‘beamer’ out of its misery by disseminating the knowledge of Reveal.js. In a nutshell, Reveal.js is a framework for creating slideshows in HTML which are then viewed in a web browser. Not only can you use all of the rich multimedia functionality that the modern web allows, but also publishing your slides becomes as simple as putting them on a server. Thanks to the steady advancement of MathJAX, you can easily include mathematical formulae using the familiar Latex syntax.

All you need in order to get started is some knowledge of HTML and the following demo presentation which you can use as a template to create your own slides.
View the demo in the browser or download the demo presentation.

Latex to SVG and MathML converter

Mathematical formulae are typeset most easily using Latex syntax, but you're going to need a different format if you want to embed such a formula in a web document, an email, or a drawing. The most widely-supported formats suitable for this purpose are: SVG (scalable vector graphics) and MathML. Both formats are based on XML and can be directly incorporated into HTML5 documents.

I've created a MathJAX-based tool which converts Latex formulae to these two formats, allowing you to either copy the markup as text or to save it as a file. The tool works in your browser and doesn't submit any data to the server.

Access the online Latex to SVG and MathML converter.

PDF creation and manipulation

llpdf – a shell script for lossless conversion of raster images into PDF

I often need to convert raster images (such as PNG or TIFF files) into pages of a PDF document – for example, when turning scanned pages into a multi-page PDF.
Although ImageMagick can help with this task, it doesn't give you a good way to control the parameters of the resulting PDF file. In many cases, the PDF has a low resolution and the images are downsampled and/or compressed with a lossy compression algorithm similar to JPEG.

llpdf is a Bash shell script which relies on ImageMagick and Ghostscript internally, but enables you to losslessly convert a raster image, or a collection of images, into a PDF document with one image per page. You can set the page size and the margins of the PDF in user-friendly units and decide whether you want to keep your images' aspect ratio or you're OK with stretching them to fill the available page area. In all cases, llpdf guarantees that only lossless compression will be used, without any downsampling or colour space reduction, so that all pixels of the input images are faithfully represented in the final PDF.

Visit the project page on GitHub to download llpdf.

fitpdf – a shell script for resizing PDF files and fitting multiple pages in one

The Bash script fitpdf has two main functions:

The first function is useful when you want to print a PDF but you don't have paper in the exact page size, although most PDF readers can do this anyway. Perhaps the most useful function is the second one: fitting several pages as “minipages” onto a single page of output. The pages are scaled as needed and placed in a grid layout. In addition to paper format, you can specify the margins and the separation of the minipages in the output file.

Visit the project page on GitHub to download fitpdf.

Exam countdown timer

This is a simple countdown timer that I wrote in 2013. It has the form of an HTML5 document which you can display in full-screen mode on a screen in the exam room in order to give your students a good idea of how much time they have until the exam ends. Thanks to it being hosted online, you don't need to install any software in the exam room; all you need is a web browser with internet access.
Access the exam timer