Lately, I have been using Org-mode and have used with the principles of Garr Reynolds’ principles of Presentation Zen. As I did not find any resource on how to blend Org-mode or beamer for that matter to work with presentation zen principles, here is a brief guide (I write it mostly for myself, but if you stumble on it and want to correct/add/edit, please do):
Set up an org-mode based presentation
Org-mode is an inferior mode in Emacs. Emacs is available on all platforms (windows/mac/linux). I used emacs as a one stop writing tool for all my needs. I use org-mode in Emacs to write papers, run analyses, and build presentations. You build beamer based presentations in org-mode using the following steps (the following steps will build a basic minimum PDF based presentation that you can then tweak):
- Start with a new file, name it something like
presentation.orgas org mode takes
.orgas file name extension.
- At the top of the blank document that you created, add an
export blockTo do that in org-mode/emacs, in the inferior process, do as follows:
M-x-org-default-exportand then select
defaultfrom the drop down box (I assume you use
helmor some variants that provide a nice set of drop down box of menu items that you can use.
- Change the title of the presentation, your name, your email address (if you want to show these things) and change accordingly.
- Importantly, where it says
H:remember to put it as
H:2, so that org-mode will know that your slides (the keyword is “frame” in beamer) are built with second level headers or section level headers as the headlines or titles in the slides. You can add bullet points, images, free text, etc to each slide.
- Build your presentation with these rules:
Building presentation with org-mode
**for second level headers
—to indicate bullet points
- You can create process diagrams on the fly in org-mode with code like this (I will show worked out examples later in this tutorial):
#+begin_src dot :file <your filename.png>
- You can drop images in the document with a code like this:
./ signifies your image is in the same folder as the rest of the presentation
- You can add tables to the presentation (although you should do that sparingly or not at all) using the emacs table syntax
- If you want to add codes such as R codes and want org-mode to evaluate the code to generate graphs on the fly you can do so using the following code block (more examples later)
#+begin_src R :results value :session
R code block goes here
If you add
:results value, org-mode will output tables for the last evaluated code. If you add
:results output, you can show actual code outputs. Org-mode will not show the actual code block.
- If you want to add figures on the fly, do:
#+begin_src R :file filename.png :session
R code block to generate figures
I like to keep my tables, outputs, and figures separate but I want to use objects I create in one code block to be used elsewhere, hence I use
:session as an option.
Once you have created a basic presentation with your bullet points, your texts on the screen, images, tables, graphs, you can export the org-mode presentation as a beamer presentation and open it up side by side and see how your changes will be affected. You run the following command the first time and then use a key stroke combination:
- First time, run
- Then on, run
C-c-C-b Pthis keystroke uses Control+c+b will open up a dialogue box and will ask you several option. Press Shift-P so that it will export to beamer format. Do not hit small letter p because that way it will export to a plain latex document and open up the pdf that way. I assume that you have a latex back end installed. You may or may not install
auctexthat won’t matter. But you need something like
texliveinstalled, otherwise this command will not work. You will also need a PDF reader installed. I use
evincein my linux installation, and Adobe PDF reader in my windows and preview for Mac.
This sets up a basic beamer based presentation with a few keystrokes. But this is a beginning. The real work is in following the presentation zen principles of Garr Reynolds, so that’s next.