Created: February 9, 2023

Last modified: March 1, 2023

Presentation Software

Powerpoint sucks for many reasons that I don’t really need to elaborate on here. Keynote is certainly better especially since it can sort-of do latex equations that don’t look terrible. But ultimately it’s still opaque non-free software that is not moldable to my needs.

Given that my talks and posters are technical, it was inevitable that I would end up making them in latex with beamer. However, I’ve found that this process is just needlessly painful and for something as visual as a talk or poster should be, trying to make it with code can never match the efficiency of a GUI, especially when one is pressed for time and completion with imperfection is always better than the alternative. Using org mode to export to beamer helps a fair bit with the efficiency, but I find that ultimately, not creating these talks and posters in a visual medium encourages bad practices such as too much text and no visual flow through the concepts.

Finally, trying as much as possible to keep everything as vector graphics goes a long way to making talks and posters look more polished, so that leaves me with pretty much one tool with the chops to do this sort of work: inkscape!

Given inkscape is a general purpose tool, there’s really a whole world of possible workflows one could imagine. Creating posters is more straight forward here, but for creating slides there’s the older and not very maintained jessyink which is a builtin inkscape extension, then there’s sozi which is an external program with a slicker interface that seems a bit more focused on “prezi-like” presentations. Also now that inkscape has multipage support, one could just export to pdf and use whatever software one used for beamer presentations. One could also use reveal.js with inkscape layers and such using something like this. Finally one could pretty easily roll their own jessyink with some simple javascript like this.

After thinking about all these options, I think I’m gonna give jessyink a go since it’s built into inkscape, has a nice slide overview, and seems like I should be able to hack on it without too much trouble. I also like that it ends up as a self contained svg making it easy move around and throw up on a website (reveal.js would also fit some of the bills here, but seems more complex to figure out how to work well, but does have a presenter view which jessyink lacks).

In my searching I did also come across this older interesting project called inkmacs by the person that started the xwidgets effort that relies on dbus. I might play around with updating some of the ideas for the newer dbus support in inkscape.

I’m still a bit undecided on how much to rely on the textext inkscape extension. It would be nice if these features (external editor and recompile everything) were implemented since I think they could potentially really help my workflow.

I’m thinking that for faster iteration of my slides/posters, I’m going to try the external <image> embed of svgs in the inkscape document, that way I don’t have to re-import figures when I update them (great for working on last minute research update talks where it’s nice to have slides put together earlier then keep working on debugging figures up to the last minute). If I’m doing this I might as well try to just use my custom ob-latex.el patch to generate svg’s from latex using dvisvgm and also include them by path. Then I should just probably write a quick script, or rely on inkscapes Extensions > Images > Embed Images option to generate a self contained file with everything at the end.

See also: Useful Information: Using JessyInk to create presentations

Here’s some of my bullet-pointed thoughts from a few months ago when I went down this rabit hole before making my first research poster in inkscape:

Some thoughts software for slides/posters/figures (i.e. inkscape vs tikz)

  • Immediately want to rule out proprietary software (powerpoint, keynote)
    • Not only because they’re proprietary with their own formats that keep you at mercy of backwards compatablitiy
    • Cannot be easly versioned controlled in git
    • Support for TeX not always ideal, harder to make figures pixel-precise
  • Programmatic vs GUI editing
    • Spend a decent amount of time compiling beamer, tikz, fixing bugs
    • Less flexibility for when “what the eye sees is right, not what is exact” (see e.g. kerning in large font titles)
    • Less ability to arbitrarily lay out content
    • Animations harder for slides
    • No support for video
    • Big advantage is programming: loops, re-usability, parametric figures

Getting latin modern fonts to macos for inkscape

/usr/local/texlive/2022basic/texmf-dist/fonts/opentype/public/lm in font book

Some links

Backlinks: