Magic for making slideshows with Racket
Motivation and background
I'm a scientist, so I make a fair number of presentations. I'm also a purist
and a nerd, so it makes me crazy to design my presentations in PowerPoint,
which I find clunky and often infuriating. My slides are mostly a little bit of
text and a few images, nicely arranged. That information should be
and easily transportable.
I therefore love Racket's slideshow, which I'll summarize as "the presentation is a program". Imagine Beamer but more succint.
My problem with slideshow is that it lacks a lot of the common functionality I use with slides. I want a title slide, transition slides, images that are scaled relative to the page, etc. I slowly collected all this functionality in Laterna.
You can install Laterna like any other package:
- Download it.
- Install it via
racoor, easier, via DrRacket.
(require slideshow) and whatever else with just
(require laterna). The things that Laterna provides that I think are particularly
(slide "Meter in Tennyson" items...)is like
(slide #:title "Meter in Tennyson" items...). Laterna's title processing is also takes care of Markdown-style italics and bold: words in the title are by default is bold. Words inside starts become
*italics*, double-star becomes
- transition-slide. It takes just one string and puts that string in the middle of the slide.
- bitmap/relative-width. It takes a filename and a float. It scales the bitmap to that float's width relative to the slide's width.
- with-ref. It takes a pict and a string. The string gets put as a mini-caption to the bottom-right, just like you would do to give a citation or reference for a picture.
- enum. Takes a number and some text, so
(enum 1 "Iambic") (enum 2 "Spondaic")feels like writing a list in markdown.
- title-slide. Takes a title, which is typeset differently, and then the rest of the content like normal.
- pin-over*. It's like
pin-over, but it can take many specs.
- Needs nicer documentation.
- More configurability.