1 #+TITLE: Writing Non-Beamer presentations in org-mode
7 #+OPTIONS: H:3 num:nil toc:t \n:nil ::t |:t ^:t -:t f:t *:t tex:t d:(HIDE) tags:not-in-toc
8 #+INFOJS_OPT: view:nil toc:nil ltoc:t mouse:underline buttons:0 path:https://orgmode.org/org-info.js
10 #+EXCLUDE_TAGS: noexport
16 While [[file:org-beamer/tutorial.org][Beamer]] is a great option for generating high-quality
17 presentations from Org-mode documents, sometimes a lighter-weight
18 simpler option is desirable. This page presents the alternative
19 options for giving quick slide-show presentations from Org-mode
22 - [[Epresent]] :: is an Emacs minor mode for giving presentations. The
23 Emacs editor is used in a full-screen mode as the presentation
24 engine, and headings of the Org-mode buffer are presented
25 directly (with a few nice bells and whistles).
27 - [[S5]] :: is a standards-based suite for writing slide-show
28 presentations in html web pages. The browser is used as the
29 presentation engine, and a slightly altered form of Org-mode's
30 HTML export serves as the base of the presentation.
32 - org-html5presentation :: Is an Exporter of Org-mode documents to
33 HTML5 slide show presentations.
34 (see [[https://gist.github.com/509761][gist.github.com/509761]] for code and usage information)
36 - [[org-tree-slide]] :: is a simple tool to treat a tree of an org buffer as
37 a single slide. Since each slide is displayed by simple narrowing,
38 an editable presentation is easily achieved without restricting
39 the functionality of Org Mode. And usage of org-tree-slide is not
40 limited to a presentation. Three profiles are predefined for
43 - [[org-reveal]] :: is an Org-mode extension that exports Org documents
44 into Reveal.js presentations. Reveal.js is a web-based
45 presentation framework with 3-D effects, customizable
46 themes and animations, powered by the latest HTML5
47 technologies. For details, please check the [[org-reveal]]
55 Epresent was originally developed on top of outline mode by Tom
56 Tromey. Eric Schulte then adopted it for work with Org-mode. The
57 code for using Org-mode with epresent is available at
58 https://github.com/eschulte/epresent.
60 Epresent leverages existing Org-mode features like inline image
61 display, inline latex fragments, and in-buffer code fontification to
62 generate very nice (if somewhat nerdy) looking presentations directly
63 from within Emacs. This has the nice benefit that during-presentation
64 editing and code evaluation is possible.
66 The README file in the epresent repository has instillation
67 instructions, however usage is as simple as...
68 1. =M-x load-file epresent.el=
69 2. open the example =present.org= file located in the repository
70 3. call =M-x epresent-run=
71 4. press "=t=" to view the top level of the presentation
72 5. navigate the presentation with "=n=", "=p=", "=t=" and quit with "=q="
79 [[http://meyerweb.com/eric/tools/s5/][S5]] is a "/Simple Standards-Based Slide Show System/" implemented using
80 HTML, CSS and Javascript.
82 Two S5 options exist for Org-mode.
84 1. Yann Hodique has developed a javascript based option which works
85 directly with Org-mode's existing html export.
87 This technique is described on Yann's blog
88 [[http://www.hodique.info/blog/2009/11/14/s5_presentation_from_org-mode][s5 presentation from org-mode]].
90 2. There is also code implementing an altered version of Org-mode's
91 existing html export tailored to generating static S5
94 This second technique is described below.
96 ** Code and usage for =org-export-as-s5=.
97 - The emacs-lisp code available [[https://github.com/eschulte/org-S5/blob/master/org-export-as-s5.el][here]] defines a single function
98 (=org-export-as-s5=) as a simple wrapper around Org-mode's existing
99 html export. This function is based heavily on Pierre de Buyl's
100 [[https://orgmode.org/list/28A74B24-4011-4F2D-AA51-7E18C4765669@chem.utoronto.ca][very thorough S5 export instructions]] posted to the Org-mode mailing
103 - Simply evaluate this code, or add it to your =.emacs=, then call
104 =M-x org-export-as-s5= from within an Org-mode buffer. *Note*: the
105 [[http://gitweb.adaptive.cs.unm.edu/org-S5.git/tree/HEAD:/ui][ui]] directory holding S5 support files must be located in the same
106 directory as the exported html.
108 - Currently there are three themes which can be set with the
110 #+begin_src emacs-lisp
111 (setq org-s5-theme "railscast") ; based off `color-theme-railscasts'
112 (setq org-s5-theme "default") ; the default S5 theme
113 (setq org-s5-theme "i18n") ; the i18n theme by the author of S5
116 - This entire directory is available as a [[https://github.com/eschulte/org-S5/blob/master/org-export-as-s5.el][git repository]].
118 - For two examples of org-S5 in action see [[http://eschulte.github.io/org-S5/][here]].
122 :CUSTOM_ID: org-tree-slide
125 org-tree-slide is an Emacs minor mode for Org Mode. Once you toggle
126 =M-x org-tree-slide-mode=, just type =C->= and =C-<= to move between slides.
127 To show CONTENT, type =C-x s c=. When you exit this minor mode,
128 the slideshow will be finished. It is recommended to customize the default
129 keybindings so that user can smoothly operate their presentations.
131 The code is available at [[https://github.com/takaxp/org-tree-slide][Github]]. Please read [[https://github.com/takaxp/org-tree-slide/blob/master/README.org][README.org]] and check the user
132 variables to make your presentation more attractive.
134 Download org-tree-slide from the following direct link:
135 [[https://raw.github.com/takaxp/org-tree-slide/master/org-tree-slide.el]]
137 ** Recommended key bindings and profiles
139 #+begin_src emacs-lisp
140 (global-set-key (kbd "<f8>") 'org-tree-slide-mode)
141 (global-set-key (kbd "S-<f8>") 'org-tree-slide-skip-done-toggle)
144 Preset profiles are defined in org-tree-slide.
145 1. =M-x org-tree-slide-simple-profile= ; Simple use
146 2. =M-x org-tree-slide-presentation-profile= ; Presentation use
147 3. =M-x org-tree-slide-narrowing-control-profile= ; TODO Pursuit with narrowing
148 These functions set user variables for each using scenario.
149 You can find more detail in [[https://github.com/takaxp/org-tree-slide/blob/master/README.org][README.org]].
151 ** Frame maximized presentation
153 Normally, presentations will appear in full screen or frame maximized.
154 [[https://github.com/takaxp/moom#org-mode-org-tree-slide][moom]] is useful in such cases since the package can change frame position and size
155 by keyboard and the font size will be increased suitably for your presentation.
159 Sander Boer created orgmode-slideshow -- see his message:
161 I hacked together a javascript and a css that transforms the default html
162 export of my org file to a slide show:
164 - http://www.mauc.nl/presentations/test.html
168 - http://www.mauc.nl/presentations/test.org
170 Here's the rest (depends on jQuery)
172 - http://www.mauc.nl/assets/css/orgmode-slideshow.css
173 - http://www.mauc.nl/assets/js/orgmode-slideshow.js
177 Reveal.js is a web-based presentation framework, with attracting
179 - 3-D slide transition effect.
180 - 2-D slide arrangement.
182 - Navigation control.
184 - Customizable themes.
186 An [[http://lab.hakim.se/reveal-js/][example of Reveal.js]] is available online.
188 Org-reveal is an Org-mode extension that exports Org-mode documents
189 into Reveal.js presentations. With org-reveal, you can easily
190 organize Reveal.js presentations without knowing the detail of HTML,
191 AND with some extra benifits:
192 - Highlighted source codes.
193 - Neat math equations.
197 Both Reveal.js and org-reveal are hosted on GitHub.
198 * Reveal.js :: [[https://github.com/hakimel/reveal.js/]]
199 * Org-reveal :: [[https://github.com/yjwen/org-reveal/]]
203 See org-reveal's [[https://github.com/yjwen/org-reveal/blob/master/Readme.org][Readme.org]] for detail instruction about installing
204 Reveal.js/org-reveal and the setting ups.
206 Though you can read it online, it is recommended to download the
207 projects and read it in your Emacs, so that you can try exporting
208 it to Reveal.js presentation while reading.