Writing Non-Beamer presentations in org-mode
Table of Contents
Introduction
While Beamer is a great option for generating high-quality presentations from Org-mode documents, sometimes a lighter-weight simpler option is desirable. This page presents two alternative options for giving quick slide-show presentations from Org-mode documents.
- Epresent
- is an Emacs minor mode for giving presentations. The Emacs editor is used in a full-screen mode as the presentation engine, and headings of the Org-mode buffer are presented directly (with a few nice bells and whistles).
- S5
- is a standards-based suite for writing slide-show presentations in html web pages. The browser is used as the presentation engine, and a slightly altered form of Org-mode's HTML export serves as the base of the presentation.
- org-html5presentation
- Is an Exporter of Org-mode documents to HTML5 slide show presentations. (see gist.github.com/509761 for code and usage information)
- org-tree-slide
- is a simple tool to treat a tree of an org buffer as a single slide. Since each slide is displayed by simple narrowing, an editable presentation is easily achieved without restricting the functionality of Org-mode. And usage of org-tree-slide is not limited to a presentation. Three profiles are predefined for different scenarios.
Epresent
Epresent was originally developed on top of outline mode by Tom Tromey. Eric Schulte then adopted it for work with Org-mode. The code for using Org-mode with epresent is available at https://github.com/eschulte/epresent.
Epresent leverages existing Org-mode features like inline image display, inline latex fragments, and in-buffer code fontification to generate very nice (if somewhat nerdy) looking presentations directly from within Emacs. This has the nice benefit that during-presentation editing and code evaluation is possible.
The README file in the epresent repository has instillation instructions, however usage is as simple as…
M-x load-file epresent.el- open the example
present.orgfile located in the repository - call
M-x epresent-run - press "
t" to view the top level of the presentation - navigate the presentation with "
n", "p", "t" and quit with "q"
S5
S5 is a "Simple Standards-Based Slide Show System" implemented using HTML, CSS and Javascript.
Two S5 options exist for Org-mode.
- Yann Hodique has developed a javascript based option which works
directly with Org-mode's existing html export.
This technique is described on Yann's blog s5 presentation from org-mode.
- There is also code implementing an altered version of Org-mode's
existing html export tailored to generating static S5
presentations.
This second technique is described below.
Code and usage for org-export-as-s5.
- The emacs-lisp code available here defines a single function
(
org-export-as-s5) as a simple wrapper around Org-mode's existing html export. This function is based heavily on Pierre de Buyl's very thorough S5 export instructions posted to the Org-mode mailing list. - Simply evaluate this code, or add it to your
.emacs, then callM-x org-export-as-s5from within an Org-mode buffer. Note: the ui directory holding S5 support files must be located in the same directory as the exported html. - Currently there are three themes which can be set with the
following.
(setq org-s5-theme "railscast") ; based off `color-theme-railscasts' (setq org-s5-theme "default") ; the default S5 theme (setq org-s5-theme "i18n") ; the i18n theme by the author of S5
- This entire directory is available as a git repository
- For two examples of org-S5 in action see here
org-tree-slide
org-tree-slide is an Emacs minor mode for org-mode. Once you toggle
M-x org-tree-slie-mode, just type <left> and <right> to move between
slides. To show CONTENT, type C-x s c. When you exit this minor mode,
the slideshow will be finished.
The code is available at Github. Please read README.org and check user variables for flexible control.
Download org-tree-slide from the following direct link: https://raw.github.com/takaxp/org-tree-slide/master/org-tree-slide.el
Recommended key bindings and profiles
(global-set-key (kbd "<f8>") 'org-tree-slide-mode) (global-set-key (kbd "S-<f8>") 'org-tree-slide-skip-done-toggle)
Preset profiles are defined in org-tree-slide.
M-x org-tree-slide-simple-profile; Simple useM-x org-tree-slide-presentation-profile; Presentation useM-x org-tree-slide-narrowing-control-profile; TODO Pursuit with narrowing
These functions set user variables for each using scenario. You can find more detail in README.org.