Thanks Tom Gauld
Presentations: The quantum of information for all parts of society for which the quantum of information is not a tweet or a Facebook status update. Powerpoint presentations are already purported to have various oft-cited defects but these I will not discuss here. In my trade they are a necessary evil. I’m all about harm minimisation of the evil, by minimising the amount of time I must waste on it.
The default options:
- Microsoft Powerpoint.
- Apple Keynote.
Both these are a colossal waste of time, adding little to my research while sucking energy into a black hole of trying to give a shit about transitions and fiddly file type compatibility issues. Both, last time I looked, had a terrible mathematical equation typesetting work flow, although Keynote went beyond terrible to abysmal in this area. Although admittedly the last time I looked it was 2011.
An alternative strategy might re-use the documentation, code, maths markup and/or graphs from my actual research articles and code.
It turns out that this is not hard as such, merely harder than it should be. Read on for options.
Generate a PDF using your choice of technology Display the PDF in presentation mode using your PDF viewer. AFAICT this cannot play multimedia stuff.
Scribus is a good open source desktop publisher system (think InDesign, but free.) I discovered it while writing some posters, but it has many features to recommend it for PDFs also, including an in-built LaTeX math renderer and good support for vector graphics, and it will even render arbitrary graphs from weird command-line software automagically via
Beamer, the LaTeX slide thingy, also works. It is very hard to do too exciting a design but this in itself is perhaps a feature. It lends a certain reassurance to the audience that you are performing the rituals of academia in a Right and Proper fashion.
Note that BibTeX does not work with beamer. BibLaTeX, by contrast, seems to.
knitr does support beamer slides too, although why would you want to do that?
There is no hope of making beamer match my corporate style guide in any sensible timeframe, but I could choose the closest approximation by looking at the example theme matrix. OTOH, who actually meets corporate style guidelines? No academic I know at any academic conference I have been to.
HTML slides are powerful because they can leverage all the powers of web browsers, which are a powerful execution platform these days.
reveal.js and remark.js are the best I have tried.
Reveal.js seems more popular, although a little overengineered. There are many additional options listed below.
reveal.js is the poster child for HTML slides. the online editor makes it easier to collaborate with my non-HTML-nerd colleagues.
- Git sourcecode
- It has a GUI theme editor.
- There is a commercial spinoff GUI slide editor slides.com.
- jupyter notebooks support reveal.js.
- Note that Rmarkdown suppports reveal.js.
Creating themes seems to require you to fork reveal’s github repo for full generality, which feels a bit weird. Although in principle one can still just inject those CSS style sheets as made famous by the web, right? Either way, in practice themeing can be a rabbit hole of flex-box and responsive media queries.
Do you need to preview slideshows to colleagues who are allergic to html? You can export as a PDF, although it’s not quite as immediate as you’d hope.
See also sundry workflow notes.
In addition to the basic reveal.js integration in jupyter, there is even a convenient (although slightly restricted) version of reveal available to display and interact with jupyter notebooks as slideshows via RISE.
Customisation of style etc for RISE:
- use nbextensions_configurator; this tool offers an interactive way to enable, disable and tweak all notebook extensions - see screenshot below;
- define settings in JSON files, typically by using python scripts;
- you can also embed settings in a specific notebook’s metadata;
- and you can also provide your own CSS file(s), that can supersede styling of the various DOM pieces.
PDF export is clunky but works.
remark.js is mostly similar to Reveal.js, is a more minimalist maybe and a little tidier.
It has native R support via xaringan, which is Yihui Xe’s favourite. It has such luxuries as presenter notes.
It was not immediately obvious what dialects of markdown are supported by
remark.js. (not pandoc!) Specifically it supports gfm and commonmark. The documentation for the former is superior.
Other HTML slide systems
- The classic is Eric Meyer’s S5, although it’s showing its age. No longer recommended.
- Elegant but no longer maintained, deck.js …
- marp is an integrated markdown presentation writer
- impress.js does prezi-style fancy slide animations. Documentaiton is spartan
- R supports DZslides using knitr and pandoc -
an interactive tutorial on making interactive tutorials using d3.js (which would also work fine with
So how do you actually give a good presentation?
Like most academics, I will leave this one for some unspecified future date.
Alternatives: Animations and interactives
- 3b1b’s manim is a curious passion project to create interactive mathematical animations in code, targeting e.g. youtube.