From a458bf92870e9817d2b94ac216ce225fbad5d9fc Mon Sep 17 00:00:00 2001 From: John Kitchin Date: Thu, 18 Dec 2014 09:49:29 -0500 Subject: [PATCH] rm org-show --- org-show.org | 710 --------------------------------------------------- taskbar.png | Bin 54758 -> 0 bytes 2 files changed, 710 deletions(-) delete mode 100644 org-show.org delete mode 100644 taskbar.png diff --git a/org-show.org b/org-show.org deleted file mode 100644 index cf0ef3c..0000000 --- a/org-show.org +++ /dev/null @@ -1,710 +0,0 @@ -#+TITLE: org-show - simple presentations in org-mode -#+AUTHOR: John Kitchin - -There are several options for "presenting" from org-mode. Here are the options I found. - -https://github.com/rlister/org-present -https://github.com/eschulte/epresent - -https://github.com/yjwen/org-reveal -https://github.com/takaxp/org-tree-slide/ -https://github.com/tucasp/org-presie - -http://orgmode.org/worg/exporters/beamer/tutorial.html -http://orgmode.org/worg/org-tutorials/non-beamer-presentations.html#sec-3 - -The one I like the best is discussed here: http://sachachua.com/blog/2013/04/how-to-present-using-org-mode-in-emacs/. I like it best because you can edit the slides as you go, execute arbitrary emacs code, and it is still pretty simple. I used Sacha's code as the basis for org-show. There is a lot of similarity. - -elisp:org-show-mode - -elisp:org-show-start-slideshow - -* org-show -You can have: - -1. code run -2. split to show slide and full image -3. plain text - -** Title slide :slide: -#+BEGIN_SRC emacs-lisp-slide -(org-show-animate '("Welcome to the org-show" "John Kitchin")) -#+END_SRC - -** Presentations in org-mode :slide: -This should be easy - -1. Create your org-file. Tag headlines with :slide: -2. Enter org-show-mode, press f5. Use PageUp and PageDn to navigate slides -3. Go back and forth from the presentation to other files in Emacs or other software. -4. Edit yours slides as you go, e.g. to demonstrate something -5. Totally interactive, run code, etc... - -org-show is based on this blog post: http://sachachua.com/blog/2013/04/how-to-present-using-org-mode-in-emacs/ - -Thanks Sacha! -** Test out some themes :slide: - -[[elisp:(load-theme 'my)]] [[elisp:(disable-theme 'my)]] - -[[elisp:(load-theme 'adwaita)]] [[elisp:(disable-theme 'adwaita)]] - -[[elisp:(load-theme 'deeper-blue)]] [[elisp:(disable-theme 'deeper-blue)]] - -[[elisp:(load-theme 'light-blue)]] [[elisp:(disable-theme 'light-blue)]] - -[[elisp:(load-theme 'manoj-dark)]] [[elisp:(disable-theme 'manoj-dark)]] - -[[elisp:(load-theme 'misterioso)]] [[elisp:(disable-theme 'misterioso)]] - -[[elisp:(load-theme 'tango)]] [[elisp:(disable-theme 'tango)]] - -[[elisp:(load-theme 'tango-dark)]] [[elisp:(disable-theme 'tango-dark)]] - -[[elisp:(load-theme 'tsdh-dark)]] [[elisp:(disable-theme 'tsdh-dark)]] - -[[elisp:(load-theme 'tsdh-light)]] [[elisp:(disable-theme 'tsdh-light)]] - -[[elisp:(load-theme 'wheatgrass)]] [[elisp:(disable-theme 'wheatgrass)]] - -[[elisp:(load-theme 'whiteboard)]] [[elisp:(disable-theme 'whiteboard)]] - -[[elisp:(load-theme 'wombat)]] [[elisp:(disable-theme 'wombat)]] - -[[elisp:(load-theme 'solarized-light t)]] [[elisp:(disable-theme 'solarized-light)]] - -[[elisp:(load-theme 'solarized-dark t)]] [[elisp:(disable-theme 'solarized-dark)]] - -[[elisp:(load-theme 'zenburn t)]] [[elisp:(disable-theme 'zenburn)]] - -[[elisp:(load-theme 'anti-zenburn t)]] [[elisp:(disable-theme 'anti-zenburn)]] - -** Equations :slide: -It should be easy to show equations like this $\int_0^x \frac{1}{2} \sin x dx = 6$. - -It is. Maybe you prefer equation environments? - -\begin{equation} -e^x = 55 -\end{equation} - -Want to see the equation source? [[elisp:(org-ctrl-c-ctrl-c)][click here]] - -Back to equations: C-c C-x C-l -** Figures :slide: - -Figures should show up in two panes. -The left pane shows the slide. The right pane shows the figure, scaled to fit in the window. - -Here is a little screen capture: -[[./taskbar.png]] - -** Need a more complicated layout? :slide: -Write some code to generate it, and put it in an emacs-lisp-slide block. org-show will run it and show you the result - -#+BEGIN_SRC emacs-lisp -(delete-other-windows) -(split-window-right) -(other-window 1) -(find-file "taskbar.png") -(split-window-below) -(other-window 1) -(find-file "doi-utils.org") -#+END_SRC - -#+RESULTS: -: # - -#+BEGIN_EXAMPLE -,#+BEGIN_SRC emacs-lisp-slide -(delete-other-windows) -(split-window-right) -(other-window 1) -(find-file "taskbar.png") -(split-window-below) -(other-window 1) -(find-file "doi-utils.org") -,#+END_SRC -#+END_EXAMPLE - -** A complicated layout :slide: -#+BEGIN_SRC emacs-lisp-slide -(delete-other-windows) -(split-window-right) -(other-window 1) -(find-file "taskbar.png") -(split-window-below) -(other-window 1) -(find-file "doi-utils.org") -#+END_SRC -** Code blocks should be runnable and editable :slide: - -#+BEGIN_SRC python -print 6 + 62 -#+END_SRC - - -They are. -** We can use many languages :slide: -(of course, you must have them installed on your computer) - -#+BEGIN_SRC emacs-lisp -(+ 6 6) -#+END_SRC - - -#+BEGIN_SRC R -sum(c(6, 6)) -#+END_SRC - - - -#+BEGIN_SRC perl :results output -print 6 + 6 -#+END_SRC - - -#+BEGIN_SRC ruby -print 6 + 6 -#+END_SRC - -#+RESULTS: - - -** Interactivity is important -We get it. -*** Snake :slide: -#+BEGIN_SRC emacs-lisp-slide -(snake) -#+END_SRC - -*** tetris :slide: - -#+BEGIN_SRC emacs-lisp-slide -(when (and (boundp 'snake-buffer-name) (get-buffer snake-buffer-name)) - (kill-buffer snake-buffer-name)) -(delete-other-windows) -(tetris) -#+END_SRC - - -*** doctor :slide: -#+BEGIN_SRC emacs-lisp-slide -(doctor) -#+END_SRC - - -*** Become a graffiti artist :slide: -#+BEGIN_SRC emacs-lisp-slide -(progn - (switch-to-buffer (get-buffer-create "*artist*")) - (erase-buffer) - (artist-mode 1) - (menu-bar-mode 1) - (text-scale-set 0) - (artist-select-op-spray-can)) -#+END_SRC - - -*** Or draw lines :slide: -#+BEGIN_SRC emacs-lisp-slide -(progn - (switch-to-buffer (get-buffer-create "*artist*")) - (artist-select-op-line)) -#+END_SRC - -** No seriously, we can do real work! :slide: - :PROPERTIES: - :CUSTOM_ID: sec:data-tab-code - :END: - -Use this table as a data source. -#+tblname: tab-data -| x | y | -|---+----| -| 1 | 1 | -| 2 | 4 | -| 3 | 9 | -| 4 | 16 | - -#+BEGIN_SRC python :var data=tab-data -import matplotlib.pyplot as plt -import numpy as np -d = np.array(data) -plt.plot(d[:,0], d[:,1]) -plt.show() -#+END_SRC - -#+RESULTS: - -You can make links to a table like this: ref:tab-data. -** Interactive links :slide: -<> - -You can have links that take you to places: [[beginning]], [[end]], to a [[#sec:data-tab-code][section]], - -Or links that are functional: cite:mehta-2014-ident-poten. - -Or that run code [[elisp:(message "Hello %s" user-full-name)]] - -Or links to info: [[info:org#External%20links][info:org#External links]] - -Or to open a [[http://kitchingroup.cheme.cmu.edu][website]]. - -<> -** Conclusions :slide: -That is the end! - -#+BEGIN_SRC emacs-lisp-slide -(org-show-animate '("That's the end of the org-show." "Thank you for your attention!" "http://github.com/jkitchin/jmax")) -#+END_SRC - - -* The code - -** The header - -#+BEGIN_SRC emacs-lisp :tangle org-show.el -;;; org-show.el --- Summary -;; Copyright(C) 2014 John Kitchin - -;; Author: John Kitchin -;; Contributions from Sacha Chua. -;; This file is not currently part of GNU Emacs. - -;; This program is free software; you can redistribute it and/or -;; modify it under the terms of the GNU General Public License as -;; published by the Free Software Foundation; either version 2, or (at -;; your option) any later version. - -;; This program is distributed in the hope that it will be useful, but -;; WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -;; General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with this program ; see the file COPYING. If not, write to -;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. - -;;; Commentary: -;; A simple mode for presenting org-files as slide-shows -#+END_SRC - -** Some basic setup -#+BEGIN_SRC emacs-lisp :tangle org-show.el -(defvar org-show-presentation-file nil "File containing the presentation.") - -(defvar org-show-slide-tag "slide" "Tag that marks slides.") - -(defvar org-show-slide-tag-regexp (concat ":" (regexp-quote org-show-slide-tag) ":")) - -(defvar org-show-latex-scale 4.0 "scale for latex preview") - -(defvar org-show-original-latex-scale - (plist-get org-format-latex-options :scale) - "Original scale for latex preview, so we can reset it.") - -(defvar org-show-text-scale 4 "scale for text in presentation") - -(defvar org-show-current-slide-number 1 "holds current slide number") - -(defvar org-show-mogrify-p (executable-find "mogrify")) - -(defvar org-show-tags-column -60 "column position to move tags to in slide mode") - -(defvar org-show-original-tags-column org-tags-column "Save value so we can change back to it") - -(defvar *org-show-flyspell-mode* (when (boundp flyspell-mode) - (flyspell-mode)) - "whether flyspell mode is enabled at beginning of show") - -(defvar *org-show-running* nil - "Flag for if the show is running") - -(when org-show-mogrify-p (ignore-errors (require 'eimp))) -#+END_SRC - -** Make a minor mode and menu - -#+BEGIN_SRC emacs-lisp :tangle org-show.el -(require 'easymenu) - -(defvar org-show-mode-map - (let ((map (make-sparse-keymap))) - (define-key map [next] 'org-show-next-slide) - (define-key map [prior] 'org-show-previous-slide) - - (define-key map [f5] 'org-show-start-slideshow) - (define-key map [f6] 'org-show-execute-slide) - (define-key map (kbd "C--") 'org-show-decrease-text-size) - (define-key map (kbd "C-=") 'org-show-increase-text-size) - (define-key map (kbd "\e\eg") 'org-show-goto-slide) - (define-key map (kbd "\e\et") 'org-show-toc) - (define-key map (kbd "\e\eq") 'org-show-stop-slideshow) - map) - "Keymap for org-show-mode.") - -(easy-menu-define my-menu org-show-mode-map "My own menu" - '("org-show" - ["Start slide show" org-show-start-slideshow t] - ["Next slide" org-show-next-slide t] - ["Previous slide" org-show-previous-slide t] - ["Open this slide" org-show-open-slide t] - ["Goto slide" org-show-goto-slide t] - ["Table of contents" org-show-toc t] - ["Stop slide show" org-show-stop-slideshow t] -)) - - -(define-minor-mode org-show-mode - "Minor mode for org-show - -\\{org-show-mode-map}" - :lighter " org-show" - :global t - :keymap org-show-mode-map - - (if org-show-mode - ;; we are in org-show mode - (progn - ;; turn off flyspell mode - (if flyspell-mode - (progn - (setq *org-show-flyspell-mode* t) - (flyspell-mode-off)) - (setq *org-show-flyspell-mode* nil))) - ;; we are leaving flyspell mode - (when *org-show-flyspell-mode* - (flyspell-mode-on)) - - ;; close the show. - (when *org-show-running* - (org-show-stop-slideshow)))) -#+END_SRC - -** Prepare and show the slide - -#+BEGIN_SRC emacs-lisp :tangle org-show.el - -(defvar org-show-temp-images '() "list of temporary images") - -(defun org-show-execute-slide () - "Process slide at point. - If it contains an Emacs Lisp source block, evaluate it. - If it contains an image, view it in a split buffer - Else, focus on that buffer. - Hide all drawers." - (interactive) - (setq org-show-presentation-file (expand-file-name (buffer-name))) - (delete-other-windows) - - ;; make sure nothing is folded. This seems to be necessary to - ;; prevent an error on narrowing then trying to make latex fragments - ;; I think. - (org-cycle '(64)) - - (org-narrow-to-subtree) - (visual-line-mode 1) - (let ((heading-text (nth 4 (org-heading-components))) - (org-format-latex-options (plist-put org-format-latex-options :scale org-show-latex-scale))) - - (set-frame-name (format "%-180s%15s%s" heading-text "slide " (cdr (assoc heading-text org-show-slide-titles)))) - - ;; preview equations in the current subtree - (org-preview-latex-fragment '(4)) - (message "") ; clear minibuffer - (cond - - ;; view images if there is one. WE only do this this for the first one. - ((and (goto-char (point-min)) - (re-search-forward "\\[\\[\\(.*\\.\\(jpg\\|gif\\|png\\)\\)" nil t)) - - (unless (file-exists-p "org-show-images") - (make-directory "org-show-images")) - - (let* ((png-file (match-string 1)) - (temp-png (expand-file-name (concat "org-show-images/" (secure-hash 'sha1 - (with-temp-buffer - (insert-file-contents png-file) - (buffer-string))) ".png")))) - - (add-to-list 'org-show-temp-images temp-png) - (unless (file-exists-p temp-png) - (copy-file png-file temp-png t)) - - (split-window-right) - - (other-window 1) - (find-file temp-png) - (when org-show-mogrify-p - (eimp-fit-image-width-to-window nil))) - - (other-window 1) ; back to slide - (goto-char (point-min)) - (text-scale-set org-show-text-scale) - (org-remove-inline-images) - (org-cycle-hide-drawers t) - (org-show-subtree)) - - ;; find and execute source code blocks. - ;; you can either have images, or code. Not both. - ;; Only code blocks of type emacs-lisp-slide are used. - ((and (goto-char (point-min)) - (re-search-forward "#\\+begin_src emacs-lisp-slide" nil t)) - (let ((info (org-babel-get-src-block-info))) - (unwind-protect - (eval (read (concat "(progn " (nth 1 info) ")")))))) - - ;; plain text slides - (t - (switch-to-buffer (current-buffer)) - (text-scale-set org-show-text-scale) - (org-show-subtree) - (org-cycle-hide-drawers t) - (org-display-inline-images) - (delete-other-windows))))) -#+END_SRC - -** Next and previous slides - -#+BEGIN_SRC emacs-lisp :tangle org-show.el -(defun org-show-next-slide () - "Goto next slide in presentation" - (interactive) - (find-file org-show-presentation-file) - (widen) - (if (<= (+ org-show-current-slide-number 1) (length org-show-slide-titles)) - (progn - (setq org-show-current-slide-number (+ org-show-current-slide-number 1)) - (org-show-goto-slide org-show-current-slide-number)) - (org-show-goto-slide org-show-current-slide-number) - (message "This is the end. My only friend the end. Jim Morrison."))) -#+END_SRC - -#+BEGIN_SRC emacs-lisp :tangle org-show.el -(defun org-show-previous-slide () - "Goto previous slide in the list" - (interactive) - (find-file org-show-presentation-file) - (widen) - (if (> (- org-show-current-slide-number 1) 0) - (progn - (setq org-show-current-slide-number (- org-show-current-slide-number 1)) - (org-show-goto-slide org-show-current-slide-number)) - (org-show-goto-slide org-show-current-slide-number) - (message "Once upon a time..."))) -#+END_SRC - -** Open this slide - -#+BEGIN_SRC emacs-lisp :tangle org-show.el -(defun org-show-open-slide () - "Start show at this slide" - (setq org-show-presentation-file (expand-file-name (buffer-name))) - (org-show-initialize) - (let ((n (cdr (assoc (nth 4 (org-heading-components)) org-show-slide-titles)))) - (setq org-show-current-slide-number n) - (org-show-goto-slide n))) -#+END_SRC - -** Starting the show -We need some functions for convenient starting and stopping. - -On starting, we want to map the slides so we can get slide numbers for navigation and to display them on the frame. We also make the slide tags invisible. We set some temporary key bindings. These need to be global because sometimes we navigate out of the slideshow buffer, and we want page up and down to go to the next slides no matter where we are. - - -#+BEGIN_SRC emacs-lisp :tangle org-show.el -(defvar org-show-slide-list '() "List of slide numbers and markers to each slide") -(defvar org-show-slide-titles '() "List of titles and slide numbers for each slide") - -(defun org-show-initialize () - ;; make slide lists for future navigation. rerun this if you change slide order - (setq org-show-slide-titles '() - org-show-temp-images '() - org-show-slide-list '()) - - (let ((n 0)) - (org-map-entries - (lambda () - (when (string-match-p ":slide:" (or (nth 5 (org-heading-components)) "")) - (setq n (+ n 1)) - - (add-to-list 'org-show-slide-titles - (cons (nth 4 (org-heading-components)) n) t) - - (add-to-list 'org-show-slide-list - (cons n (set-marker (make-marker) (point))) t)))))) - -(defun org-show-start-slideshow () - "Start the slide show, at the beginning" - (interactive) - - (setq *org-show-running* t) - (setq org-show-presentation-file (expand-file-name (buffer-name))) - (beginning-of-buffer) - (setq org-tags-column org-show-tags-column) - (org-set-tags-command '(4) t) - - (org-show-initialize) - ;; hide slide tags - (save-excursion - (while (re-search-forward ":slide:" nil t) - (overlay-put - (make-overlay (match-beginning 0)(match-end 0)) - 'invisible 'slide))) - (add-to-invisibility-spec 'slide) - (beginning-of-buffer) - (delete-other-windows) - (org-show-mode 1) - (setq org-show-current-slide-number 1) - (org-show-goto-slide 1)) -#+END_SRC - -** Stop the show - -#+BEGIN_SRC emacs-lisp :tangle org-show.el -(defun org-show-stop-slideshow () - (interactive) - ;; make slide tag visible again - (remove-from-invisibility-spec 'slide) - - ;; Redisplay inline images - (org-display-inline-images) - - ;; reset latex scale - (plist-put org-format-latex-options :scale org-show-original-latex-scale) - - ;; clean up temp images - (mapcar (lambda (x) - (let ((bname (file-name-nondirectory x))) - (when (get-buffer bname) - (set-buffer bname) - (save-buffer) - (kill-buffer bname))) - - (when (file-exists-p x) - (delete-file x))) - org-show-temp-images) - (setq org-show-temp-images '()) - - ;; ;; clean up miscellaneous buffers - (when (get-buffer "*Animation*") (kill-buffer "*Animation*")) - - (when org-show-presentation-file (find-file org-show-presentation-file)) - (widen) - (text-scale-set 0) - (delete-other-windows) - (setq org-show-presentation-file nil) - (setq org-show-current-slide-number 1) - (set-frame-name (if (buffer-file-name) - (abbreviate-file-name (buffer-file-name)))) - (setq org-tags-column org-show-original-tags-column) - (org-set-tags-command '(4) t) - (setq *org-show-running* nil) - (org-show-mode -1)) - -(defalias 'stop 'org-show-stop-slideshow) -#+END_SRC - -** Goto a slide -#+BEGIN_SRC emacs-lisp :tangle org-show.el -(defun org-show-goto-slide (n) - "Goto slide N" - (interactive "nSlide number: ") - (message "Going to slide %s" n) - (find-file org-show-presentation-file) - (setq org-show-current-slide-number n) - (widen) - (goto-char (cdr (assoc n org-show-slide-list))) - (org-show-execute-slide)) -#+END_SRC - -** Table of contents -#+BEGIN_SRC emacs-lisp :tangle org-show.el -(defun org-show-toc () - (interactive) - (let ((links) (c-b (buffer-name)) (n)) - (save-excursion - (widen) - (mapcar - (lambda (x) - (setq n (car x)) - (goto-char (cdr x)) - (add-to-list - 'links - (format " [[elisp:(progn (switch-to-buffer \"%s\")(goto-char %s)(org-show-execute-slide))][%2s %s]]\n\n" - (marker-buffer (cdr x)) - (marker-position (cdr x)) - (car x) - (nth 4 (org-heading-components))) t)) - org-show-slide-list)) - - (switch-to-buffer "*List of Slides*") - (org-mode) - (erase-buffer) - - (insert (mapconcat 'identity links "")) - - ;(setq buffer-read-only t) - (use-local-map (copy-keymap org-mode-map)) - (local-set-key "q" #'(lambda () (interactive) (kill-buffer))))) -#+END_SRC - -** Utilities -It seems like we might animate enough to have a function -#+BEGIN_SRC emacs-lisp :tangle org-show.el -(require 'animate) - -(defun org-show-animate (strings) - "Animate STRINGS in an *Animation* buffer" - (switch-to-buffer (get-buffer-create - (or animation-buffer-name - "*Animation*"))) - (erase-buffer) - (text-scale-set 6) - (let* ((vpos (/ (- 20 - 1 ;; For the mode-line - (1- (length strings)) - (length strings)) - 2)) - (width 43) - hpos) - (while strings - (setq hpos (/ (- width (length (car strings))) 2)) - (when (> 0 hpos) (setq hpos 0)) - (when (> 0 vpos) (setq vpos 0)) - (animate-string (car strings) vpos hpos) - (setq vpos (1+ vpos)) - (setq strings (cdr strings))))) -#+END_SRC - -dynamic rescalling of text size - -#+BEGIN_SRC emacs-lisp :tangle org-show.el -(defun org-show-increase-text-size (&optional arg) - "Increase text size. Bound to \\[org-show-increase-text-size]. - -With prefix ARG, set `org-show-text-scale' so subsquent slides are the same text size." - (interactive "P") - (text-scale-increase 1.5) - (when arg - (setq org-show-text-scale (* org-show-text-scale 1.5)))) - -(defun org-show-decrease-text-size (&optional arg) - "Increase text size. Bound to \\[org-show-decrease-text-size]. - -With prefix ARG, set `org-show-text-scale' so subsquent slides are the same text size." - (interactive "P") - (text-scale-decrease 1.5) - (when arg - (setq org-show-text-scale (/ org-show-text-scale 1.5))) -) -#+END_SRC - -** End -#+BEGIN_SRC emacs-lisp :tangle org-show.el -(provide 'org-show) -#+END_SRC -* build -[[elisp:(org-babel-load-file "org-show.org")]] diff --git a/taskbar.png b/taskbar.png deleted file mode 100644 index 5f82843734bdd676c01100fbc6ff35aeea0300dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54758 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 wALgnktY${FpD1iAX5X>+>%aMH`OkR#e|TY7$j