Fix a few more refs
[worg.git] / org-tutorials / non-beamer-presentations.org
blobc0ebd6e538aa9d8f5bffc55f2370d2afdd744d8e
1 #+TITLE:     Writing Non-Beamer presentations in org-mode
2 #+AUTHOR:    Eric Schulte
3 #+DATE:      2018-04-25
4 #+DESCRIPTION:
5 #+KEYWORDS:
6 #+LANGUAGE:  en
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
9 #+SELECT_TAGS: export
10 #+EXCLUDE_TAGS: noexport
11 #+HTML_LINK_UP:
12 #+HTML_LINK_HOME:
14 # This file is released by its authors and contributors under the GNU
15 # Free Documentation license v1.3 or later, code examples are released
16 # under the GNU General Public License v3 or later.
18 * Introduction
20 While [[file:org-beamer/tutorial.org][Beamer]] is a great option for generating high-quality
21 presentations from Org-mode documents, sometimes a lighter-weight
22 simpler option is desirable.  This page presents the alternative
23 options for giving quick slide-show presentations from Org-mode
24 documents.
26 - [[Epresent]] :: is an Emacs minor mode for giving presentations.  The
27      Emacs editor is used in a full-screen mode as the presentation
28      engine, and headings of the Org-mode buffer are presented
29      directly (with a few nice bells and whistles).
31 - [[S5]] :: is a standards-based suite for writing slide-show
32      presentations in html web pages.  The browser is used as the
33      presentation engine, and a slightly altered form of Org-mode's
34      HTML export serves as the base of the presentation.
36 - org-html5presentation :: Is an Exporter of Org-mode documents to
37      HTML5 slide show presentations.
38      (see [[https://gist.github.com/509761][gist.github.com/509761]] for code and usage information)
40 - [[org-tree-slide]] :: is a simple tool to treat a tree of an org buffer as
41      a single slide. Since each slide is displayed by simple narrowing,
42      an editable presentation is easily achieved without restricting
43      the functionality of Org Mode. And usage of org-tree-slide is not
44      limited to a presentation. Three profiles are predefined for
45      different use cases.
47 - [[org-reveal]] :: is an Org-mode extension that exports Org documents
48                 into Reveal.js presentations. Reveal.js is a web-based
49                 presentation framework with 3-D effects, customizable
50                 themes and animations, powered by the latest HTML5
51                 technologies. For details, please check the [[org-reveal]]
52                 section below.
54 * Epresent
55   :PROPERTIES:
56   :CUSTOM_ID: Epresent
57   :END:
59 Epresent was originally developed on top of outline mode by Tom
60 Tromey.  Eric Schulte then adopted it for work with Org-mode.  The
61 code for using Org-mode with epresent is available at
62 https://github.com/eschulte/epresent.
64 Epresent leverages existing Org-mode features like inline image
65 display, inline latex fragments, and in-buffer code fontification to
66 generate very nice (if somewhat nerdy) looking presentations directly
67 from within Emacs.  This has the nice benefit that during-presentation
68 editing and code evaluation is possible.
70 The README file in the epresent repository has instillation
71 instructions, however usage is as simple as...
72 1. =M-x load-file epresent.el=
73 2. open the example =present.org= file located in the repository
74 3. call =M-x epresent-run=
75 4. press "=t=" to view the top level of the presentation
76 5. navigate the presentation with "=n=", "=p=", "=t=" and quit with "=q="
78 * S5
79   :PROPERTIES:
80   :CUSTOM_ID: S5
81   :END:
83 [[http://meyerweb.com/eric/tools/s5/][S5]] is a "/Simple Standards-Based Slide Show System/" implemented using
84 HTML, CSS and Javascript.
86 Two S5 options exist for Org-mode.
88 1. Yann Hodique has developed a javascript based option which works
89    directly with Org-mode's existing html export.
91    This technique is described on Yann's blog
92    [[http://www.hodique.info/blog/2009/11/14/s5_presentation_from_org-mode][s5 presentation from org-mode]].
94 2. There is also code implementing an altered version of Org-mode's
95    existing html export tailored to generating static S5
96    presentations.
98   This second technique is described below.
100 ** Code and usage for =org-export-as-s5=.
101 - The emacs-lisp code available [[https://github.com/eschulte/org-S5/blob/master/org-export-as-s5.el][here]] defines a single function
102   (=org-export-as-s5=) as a simple wrapper around Org-mode's existing
103   html export.  This function is based heavily on Pierre de Buyl's
104   [[https://orgmode.org/list/28A74B24-4011-4F2D-AA51-7E18C4765669@chem.utoronto.ca][very thorough S5 export instructions]] posted to the Org-mode mailing
105   list.
107 - Simply evaluate this code, or add it to your =.emacs=, then call
108   =M-x org-export-as-s5= from within an Org-mode buffer. *Note*: the
109   [[http://gitweb.adaptive.cs.unm.edu/org-S5.git/tree/HEAD:/ui][ui]] directory holding S5 support files must be located in the same
110   directory as the exported html.
112 - Currently there are three themes which can be set with the
113   following.
114   #+begin_src emacs-lisp
115     (setq org-s5-theme "railscast")   ; based off `color-theme-railscasts'
116     (setq org-s5-theme "default")     ; the default S5 theme
117     (setq org-s5-theme "i18n")        ; the i18n theme by the author of S5
118   #+end_src
120 - This entire directory is available as a [[https://github.com/eschulte/org-S5/blob/master/org-export-as-s5.el][git repository]].
122 - For two examples of org-S5 in action see [[http://eschulte.github.io/org-S5/][here]].
124 * org-tree-slide
125   :PROPERTIES:
126   :CUSTOM_ID: org-tree-slide
127   :END:
129 org-tree-slide is an Emacs minor mode for Org Mode. Once you toggle
130 =M-x org-tree-slide-mode=, just type =C->= and =C-<= to move between slides.
131 To show CONTENT, type =C-x s c=. When you exit this minor mode,
132 the slideshow will be finished. It is recommended to customize the default
133 keybindings so that user can smoothly operate their presentations.
135 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
136 variables to make your presentation more attractive.
138 Download org-tree-slide from the following direct link:
139 [[https://raw.github.com/takaxp/org-tree-slide/master/org-tree-slide.el]]
141 ** Recommended key bindings and profiles
143 #+begin_src emacs-lisp
144 (global-set-key (kbd "<f8>") 'org-tree-slide-mode)
145 (global-set-key (kbd "S-<f8>") 'org-tree-slide-skip-done-toggle)
146 #+end_src
148 Preset profiles are defined in org-tree-slide.
149 1. =M-x org-tree-slide-simple-profile=            ; Simple use
150 2. =M-x org-tree-slide-presentation-profile=      ; Presentation use
151 3. =M-x org-tree-slide-narrowing-control-profile= ; TODO Pursuit with narrowing
152 These functions set user variables for each using scenario.
153 You can find more detail in [[https://github.com/takaxp/org-tree-slide/blob/master/README.org][README.org]].
155 ** Frame maximized presentation
157 Normally, presentations will appear in full screen or frame maximized.
158 [[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
159 by keyboard and the font size will be increased suitably for your presentation.
161 * orgmode-slideshow
163 Sander Boer created orgmode-slideshow -- see his message:
165 I hacked together a javascript and a css that transforms the default html
166 export of my org file to a slide show:
168 - http://www.mauc.nl/presentations/test.html
170 Here's the org-file:
172 - http://www.mauc.nl/presentations/test.org
174 Here's the rest (depends on jQuery)
176 - http://www.mauc.nl/assets/css/orgmode-slideshow.css
177 - http://www.mauc.nl/assets/js/orgmode-slideshow.js
179 * org-reveal
181   Reveal.js is a web-based presentation framework, with attracting
182   features like:
183   - 3-D slide transition effect.
184   - 2-D slide arrangement.
185   - Fragmented items.
186   - Navigation control.
187   - Slide thumbnail.
188   - Customizable themes.
190   An [[http://lab.hakim.se/reveal-js/][example of Reveal.js]] is available online.
192   Org-reveal is an Org-mode extension that exports Org-mode documents
193   into Reveal.js presentations. With org-reveal, you can easily
194   organize Reveal.js presentations without knowing the detail of HTML,
195   AND with some extra benifits:
196   - Highlighted source codes.
197   - Neat math equations.
199 ** Sources
201    Both Reveal.js and org-reveal are hosted on GitHub.
202    * Reveal.js :: [[https://github.com/hakimel/reveal.js/]]
203    * Org-reveal :: [[https://github.com/yjwen/org-reveal/]]
205 ** Usage
207    See org-reveal's [[https://github.com/yjwen/org-reveal/blob/master/Readme.org][Readme.org]] for detail instruction about installing
208    Reveal.js/org-reveal and the setting ups.
210    Though you can read it online, it is recommended to download the
211    projects and read it in your Emacs, so that you can try exporting
212    it to Reveal.js presentation while reading.