--- Title: Tools for making and giving presentations Date: 2024-11-03 Author: Fabrice Category: Tips Tags: presentation, vim, latex Slug: presenting Header_Cover: ../images/covers/pts24-talk.jpg Summary: Some of the tools I use for making and giving presentations. Lang: en --- # Introduction Over the past year, I have to give quite a few presentations in different contexts: internal to the company, for open-source conferences, for business conferences… I use this opportunity to refine a bit my presentation tools, and I just summarize them here for curious people. This page may be updated, for instance if I start using [typst] for slide making. If you have subscribed to this blog’s [RSS feed], you will be notified of future updates. # Making slides For slide making, I prefer using tools that separate the content from the actual design. I’m thus not using fancy WYSIWYG tools for that. If you are not interested in that, you can already skip to the [presenting slides] section. ## LaTeX beamer As explained in the [typst article], I’m mostly using [LaTeX] to produce/typeset documents, and presentations are not an exception. For this purpose I’m using [beamer]. For this purpose, my [vim setup for LaTeX] proved to be pretty useful, even though the backward search is not very accurate with beamer slides. The main advantage, besides my familiarity with [LaTeX], lays in the [overlay] system in beamer, that is quite powerful and provides a very precise way to display elements, especially with [TikZ] to design animated graphics. For instance in the example below, I can show the top part of the graph initially, then the bottom, and change the name of the last node for the second slide. That can be easily adjusted to have more steps in the process. ```latex … \usetikzlibrary{positioning} … \begin{tikzpicture} \tikzstyle{node} = [draw, rectangle, fill=blue!40, minimum height=2em] \tikzstyle{arrow} = [->, >=stealth, very thick] \node[node] (start) {Data}; \node[node, right=1cm of start] (a1) {Enc($\cdot$)}; \node<2->[node, below=5mm of a1] (a2) {Sig($\cdot$)}; \node<1>[node, right=1cm of a1] (stop) {Encrypted Data}; \node<2->[node, right=1cm of a1] (stop) {Encrypted and Signed Data}; \draw[arrow] (start) -- (a1); \draw<2->[arrow] (start) -- (a2); \draw[arrow] (a1) -- (stop); \draw<2->[arrow] (a2) -- (stop); \end{tikzpicture} ``` Resulting in: ![The last image from the above code](../examples/tikz-graph.svg "The last image from the above code"){width=66%} Moreover, you have access to the whole latex ecosystem, especially those for neat illustrations such as [tikzpingus] ## reveal.js # Presenting Slides {#presenting-slides} ## wl-mirror ## pdfpc [RSS feed]: /feeds/all.rss.xml [typst]: https://typst.app/ [typst article]: {filename}../software/typst.md [presenting slides]: #presenting-slides [LaTeX]: https://www.latex-project.org/ [beamer]: https://ctan.org/pkg/beamer [vim setup for LaTeX]: {filename}../software/nvim-latex.md [overlay]: https://www.overleaf.com/learn/latex/Beamer_Presentations%3A_A_Tutorial_for_Beginners_(Part_4)%E2%80%94Overlay_Specifications [TikZ]: https://www.ctan.org/pkg/pgf [tikzpingus]: https://github.com/EagleoutIce/tikzpingus