This page has notes about using Emacs for presentations. I teach CS classes at UC Davis, these notes are informed by that experience.

For now these are brief notes descrbing my setup and customizations that I’ve made.

Emacs

  • I started using Spacemacs fall 2023, still using it.
    • Not a huge fan of the package management
    • Like the keybindings (came to Emacs from neovim and VSCode with Vim plugin)
  • My base emacs is install on MacOS using brew
  • I use the railwaycat emacs-mac package

Org Mode

  • I use Org Mode
  • I use org-tree-slide
  • Each lecture is an org buffer

Styling

  • I copy-paste the same snippet of Local Variables that use face-remap-add-relative to adjust fonts and sizes for org faces.

Working with Images

  • I make use of org-download-clipboard and org-download-screenshot to add images
  • I can open images from the main Org buffer in a new buffer by moving point to the image and doing RET
  • However, the new buffer that pops open is usually small.
  • I have image-auto-resize set to t, this makes the image fit the window size. But the image doesn’t grow when I increase the size of the window.
  • Resizing and doing M-x image-transform-fit-to-window fixes the above problem. This is bound to s w in my setup. I’d like to hook this onto evil-window-set-width so it happens automatically.

Alternating between PDFs and Org content

  • For me, Org is the top-level structure, and I can detour to and return from PDFs by linking to them in the org buffer.

Publishing lecture notes

  • I tried ox-hugo but had a hard time with setup, probably just wasn’t patient enough to understand the config.
  • I have a custom function that exports an org buffer to a markdown file plus images. I choose the markdown file path and images directory interactively on each export. Not the most efficient, but works ok for the time being.

Stability

  • I have noticed intermittent stability issues
  • I have noticed that savehist-mode seems to be the culprit, at least in some cases
    • Lag occurs at regular intervals

The approach from this page resulted in the following:

3692:(setq mu4e~headers-search-hist
3850:(setq mu4e--search-hist
18839:(setq command-history
131498:(setq eww-prompt-history
132242:(setq consult--find-history

From here it seems that mu4e—search-hist and command-history both result in large writes to savehist cache.

Other notes on stability: