From 39f51df3fc228daae67c6f320aae9589d2423993 Mon Sep 17 00:00:00 2001 From: Andreas Gerler Date: Wed, 11 Oct 2017 13:52:34 +0200 Subject: [PATCH] update to org 9.1.2 Update to org-20171009 and remove old org-20170407. Signed-off-by: Andreas Gerler --- elpa/org-20170407/ob-scala.el | 114 - elpa/org-20170407/org-gnus.el | 295 - elpa/org-20170407/org-pkg.el | 5 - elpa/org-20170407/orgcard.pdf | Bin 81692 -> 0 bytes elpa/{org-20170407 => org-20171009}/COPYING | 0 .../README_ELPA | 0 elpa/{org-20170407 => org-20171009}/dir | 0 .../etc/ORG-NEWS | 234 +- .../etc/styles/OrgOdtContentTemplate.xml | 0 .../etc/styles/OrgOdtStyles.xml | 0 .../etc/styles/README | 4 +- elpa/{org-20170407 => org-20171009}/ob-C.el | 42 +- elpa/{org-20170407 => org-20171009}/ob-J.el | 4 +- elpa/{org-20170407 => org-20171009}/ob-R.el | 2 +- elpa/{org-20170407 => org-20171009}/ob-abc.el | 18 +- .../ob-asymptote.el | 2 +- elpa/{org-20170407 => org-20171009}/ob-awk.el | 2 +- .../{org-20170407 => org-20171009}/ob-calc.el | 2 +- .../ob-clojure.el | 2 +- .../ob-comint.el | 7 +- elpa/{org-20170407 => org-20171009}/ob-coq.el | 2 +- .../{org-20170407 => org-20171009}/ob-core.el | 191 +- elpa/{org-20170407 => org-20171009}/ob-css.el | 2 +- .../ob-ditaa.el | 2 +- elpa/{org-20170407 => org-20171009}/ob-dot.el | 2 +- .../{org-20170407 => org-20171009}/ob-ebnf.el | 22 +- .../ob-emacs-lisp.el | 55 +- .../{org-20170407 => org-20171009}/ob-eval.el | 2 +- elpa/{org-20170407 => org-20171009}/ob-exp.el | 14 +- .../ob-forth.el | 2 +- .../ob-fortran.el | 2 +- .../ob-gnuplot.el | 6 +- .../ob-groovy.el | 2 +- .../ob-haskell.el | 2 +- .../ob-hledger.el | 4 +- elpa/{org-20170407 => org-20171009}/ob-io.el | 2 +- .../{org-20170407 => org-20171009}/ob-java.el | 2 +- elpa/{org-20170407 => org-20171009}/ob-js.el | 2 +- .../{org-20170407 => org-20171009}/ob-keys.el | 2 +- .../ob-latex.el | 2 +- .../ob-ledger.el | 2 +- .../ob-lilypond.el | 4 +- .../{org-20170407 => org-20171009}/ob-lisp.el | 2 +- elpa/{org-20170407 => org-20171009}/ob-lob.el | 16 +- elpa/{org-20170407 => org-20171009}/ob-lua.el | 14 +- .../ob-makefile.el | 2 +- .../ob-matlab.el | 2 +- .../ob-maxima.el | 2 +- .../ob-mscgen.el | 2 +- .../ob-ocaml.el | 2 +- .../ob-octave.el | 2 +- elpa/{org-20170407 => org-20171009}/ob-org.el | 2 +- .../{org-20170407 => org-20171009}/ob-perl.el | 2 +- .../ob-picolisp.el | 2 +- .../ob-plantuml.el | 2 +- .../ob-processing.el | 2 +- .../ob-python.el | 9 +- elpa/{org-20170407 => org-20171009}/ob-ref.el | 4 +- .../{org-20170407 => org-20171009}/ob-ruby.el | 2 +- .../{org-20170407 => org-20171009}/ob-sass.el | 2 +- .../ob-scheme.el | 160 +- .../ob-screen.el | 2 +- elpa/{org-20170407 => org-20171009}/ob-sed.el | 16 +- .../ob-shell.el | 14 +- .../{org-20170407 => org-20171009}/ob-shen.el | 2 +- elpa/{org-20170407 => org-20171009}/ob-sql.el | 20 +- .../ob-sqlite.el | 7 +- .../{org-20170407 => org-20171009}/ob-stan.el | 2 +- .../ob-table.el | 2 +- .../ob-tangle.el | 3 +- elpa/org-20171009/ob-vala.el | 117 + elpa/{org-20170407 => org-20171009}/ob.el | 2 +- elpa/{org-20170407 => org-20171009}/org | 5196 +++++++++-------- .../org-agenda.el | 868 +-- .../org-archive.el | 56 +- .../org-attach.el | 75 +- elpa/org-20171009/org-autoloads.el | 764 +++ .../org-bbdb.el | 4 +- .../org-bibtex.el | 6 +- .../org-capture.el | 207 +- .../org-clock.el | 243 +- .../org-colview.el | 232 +- .../org-compat.el | 29 +- .../org-crypt.el | 6 +- .../org-ctags.el | 2 +- .../org-datetree.el | 6 +- .../org-docview.el | 2 +- .../org-duration.el | 41 +- .../org-element.el | 212 +- .../org-entities.el | 4 +- .../org-eshell.el | 2 +- .../{org-20170407 => org-20171009}/org-eww.el | 10 +- .../org-faces.el | 2 +- .../org-feed.el | 2 +- .../org-footnote.el | 24 +- elpa/org-20171009/org-gnus.el | 242 + .../org-habit.el | 2 +- elpa/{org-20170407 => org-20171009}/org-id.el | 2 +- .../org-indent.el | 85 +- .../org-info.el | 10 +- .../org-inlinetask.el | 2 +- .../org-install.el | 0 .../{org-20170407 => org-20171009}/org-irc.el | 5 +- .../org-lint.el | 16 +- .../org-list.el | 55 +- .../org-loaddefs.el | 959 ++- .../org-macro.el | 170 +- .../org-macs.el | 133 +- .../{org-20170407 => org-20171009}/org-mhe.el | 6 +- .../org-mobile.el | 12 +- .../org-mouse.el | 24 +- .../org-pcomplete.el | 2 +- elpa/org-20171009/org-pkg.el | 3 + .../org-plot.el | 2 +- .../org-protocol.el | 47 +- .../org-rmail.el | 2 +- .../{org-20170407 => org-20171009}/org-src.el | 157 +- .../org-table.el | 228 +- .../org-timer.el | 10 +- .../org-version.el | 4 +- .../{org-20170407 => org-20171009}/org-w3m.el | 2 +- elpa/{org-20170407 => org-20171009}/org.el | 2160 ++++--- elpa/org-20171009/orgcard.pdf | Bin 0 -> 118931 bytes .../ox-ascii.el | 18 +- .../ox-beamer.el | 64 +- .../{org-20170407 => org-20171009}/ox-html.el | 114 +- .../ox-icalendar.el | 141 +- .../ox-latex.el | 28 +- elpa/{org-20170407 => org-20171009}/ox-man.el | 4 +- elpa/{org-20170407 => org-20171009}/ox-md.el | 9 +- elpa/{org-20170407 => org-20171009}/ox-odt.el | 82 +- elpa/{org-20170407 => org-20171009}/ox-org.el | 5 +- .../ox-publish.el | 127 +- .../ox-texinfo.el | 538 +- elpa/{org-20170407 => org-20171009}/ox.el | 338 +- 135 files changed, 8941 insertions(+), 6337 deletions(-) delete mode 100644 elpa/org-20170407/ob-scala.el delete mode 100644 elpa/org-20170407/org-gnus.el delete mode 100644 elpa/org-20170407/org-pkg.el delete mode 100644 elpa/org-20170407/orgcard.pdf rename elpa/{org-20170407 => org-20171009}/COPYING (100%) rename elpa/{org-20170407 => org-20171009}/README_ELPA (100%) rename elpa/{org-20170407 => org-20171009}/dir (100%) rename elpa/{org-20170407 => org-20171009}/etc/ORG-NEWS (94%) rename elpa/{org-20170407 => org-20171009}/etc/styles/OrgOdtContentTemplate.xml (100%) rename elpa/{org-20170407 => org-20171009}/etc/styles/OrgOdtStyles.xml (100%) rename elpa/{org-20170407 => org-20171009}/etc/styles/README (90%) rename elpa/{org-20170407 => org-20171009}/ob-C.el (93%) rename elpa/{org-20170407 => org-20171009}/ob-J.el (97%) rename elpa/{org-20170407 => org-20171009}/ob-R.el (99%) rename elpa/{org-20170407 => org-20171009}/ob-abc.el (88%) rename elpa/{org-20170407 => org-20171009}/ob-asymptote.el (98%) rename elpa/{org-20170407 => org-20171009}/ob-awk.el (98%) rename elpa/{org-20170407 => org-20171009}/ob-calc.el (98%) rename elpa/{org-20170407 => org-20171009}/ob-clojure.el (98%) rename elpa/{org-20170407 => org-20171009}/ob-comint.el (95%) rename elpa/{org-20170407 => org-20171009}/ob-coq.el (97%) rename elpa/{org-20170407 => org-20171009}/ob-core.el (96%) rename elpa/{org-20170407 => org-20171009}/ob-css.el (95%) rename elpa/{org-20170407 => org-20171009}/ob-ditaa.el (98%) rename elpa/{org-20170407 => org-20171009}/ob-dot.el (97%) rename elpa/{org-20170407 => org-20171009}/ob-ebnf.el (82%) rename elpa/{org-20170407 => org-20171009}/ob-emacs-lisp.el (67%) rename elpa/{org-20170407 => org-20171009}/ob-eval.el (98%) rename elpa/{org-20170407 => org-20171009}/ob-exp.el (96%) rename elpa/{org-20170407 => org-20171009}/ob-forth.el (97%) rename elpa/{org-20170407 => org-20171009}/ob-fortran.el (98%) rename elpa/{org-20170407 => org-20171009}/ob-gnuplot.el (98%) rename elpa/{org-20170407 => org-20171009}/ob-groovy.el (98%) rename elpa/{org-20170407 => org-20171009}/ob-haskell.el (99%) rename elpa/{org-20170407 => org-20171009}/ob-hledger.el (94%) rename elpa/{org-20170407 => org-20171009}/ob-io.el (98%) rename elpa/{org-20170407 => org-20171009}/ob-java.el (97%) rename elpa/{org-20170407 => org-20171009}/ob-js.el (98%) rename elpa/{org-20170407 => org-20171009}/ob-keys.el (98%) rename elpa/{org-20170407 => org-20171009}/ob-latex.el (99%) rename elpa/{org-20170407 => org-20171009}/ob-ledger.el (97%) rename elpa/{org-20170407 => org-20171009}/ob-lilypond.el (99%) rename elpa/{org-20170407 => org-20171009}/ob-lisp.el (98%) rename elpa/{org-20170407 => org-20171009}/ob-lob.el (93%) rename elpa/{org-20170407 => org-20171009}/ob-lua.el (98%) rename elpa/{org-20170407 => org-20171009}/ob-makefile.el (95%) rename elpa/{org-20170407 => org-20171009}/ob-matlab.el (94%) rename elpa/{org-20170407 => org-20171009}/ob-maxima.el (98%) rename elpa/{org-20170407 => org-20171009}/ob-mscgen.el (97%) rename elpa/{org-20170407 => org-20171009}/ob-ocaml.el (98%) rename elpa/{org-20170407 => org-20171009}/ob-octave.el (99%) rename elpa/{org-20170407 => org-20171009}/ob-org.el (97%) rename elpa/{org-20170407 => org-20171009}/ob-perl.el (98%) rename elpa/{org-20170407 => org-20171009}/ob-picolisp.el (99%) rename elpa/{org-20170407 => org-20171009}/ob-plantuml.el (98%) rename elpa/{org-20170407 => org-20171009}/ob-processing.el (98%) rename elpa/{org-20170407 => org-20171009}/ob-python.el (98%) rename elpa/{org-20170407 => org-20171009}/ob-ref.el (98%) rename elpa/{org-20170407 => org-20171009}/ob-ruby.el (99%) rename elpa/{org-20170407 => org-20171009}/ob-sass.el (97%) rename elpa/{org-20170407 => org-20171009}/ob-scheme.el (56%) rename elpa/{org-20170407 => org-20171009}/ob-screen.el (98%) rename elpa/{org-20170407 => org-20171009}/ob-sed.el (91%) rename elpa/{org-20170407 => org-20171009}/ob-shell.el (96%) rename elpa/{org-20170407 => org-20171009}/ob-shen.el (97%) rename elpa/{org-20170407 => org-20171009}/ob-sql.el (95%) rename elpa/{org-20170407 => org-20171009}/ob-sqlite.el (94%) rename elpa/{org-20170407 => org-20171009}/ob-stan.el (97%) rename elpa/{org-20170407 => org-20171009}/ob-table.el (98%) rename elpa/{org-20170407 => org-20171009}/ob-tangle.el (99%) create mode 100644 elpa/org-20171009/ob-vala.el rename elpa/{org-20170407 => org-20171009}/ob.el (94%) rename elpa/{org-20170407 => org-20171009}/org (87%) rename elpa/{org-20170407 => org-20171009}/org-agenda.el (95%) rename elpa/{org-20170407 => org-20171009}/org-archive.el (93%) rename elpa/{org-20170407 => org-20171009}/org-attach.el (90%) create mode 100644 elpa/org-20171009/org-autoloads.el rename elpa/{org-20170407 => org-20171009}/org-bbdb.el (99%) rename elpa/{org-20170407 => org-20171009}/org-bibtex.el (99%) rename elpa/{org-20170407 => org-20171009}/org-capture.el (94%) rename elpa/{org-20170407 => org-20171009}/org-clock.el (94%) rename elpa/{org-20170407 => org-20171009}/org-colview.el (91%) rename elpa/{org-20170407 => org-20171009}/org-compat.el (95%) rename elpa/{org-20170407 => org-20171009}/org-crypt.el (98%) rename elpa/{org-20170407 => org-20171009}/org-ctags.el (99%) rename elpa/{org-20170407 => org-20171009}/org-datetree.el (97%) rename elpa/{org-20170407 => org-20171009}/org-docview.el (98%) rename elpa/{org-20170407 => org-20171009}/org-duration.el (93%) rename elpa/{org-20170407 => org-20171009}/org-element.el (97%) rename elpa/{org-20170407 => org-20171009}/org-entities.el (99%) rename elpa/{org-20170407 => org-20171009}/org-eshell.el (96%) rename elpa/{org-20170407 => org-20171009}/org-eww.el (96%) rename elpa/{org-20170407 => org-20171009}/org-faces.el (99%) rename elpa/{org-20170407 => org-20171009}/org-feed.el (99%) rename elpa/{org-20170407 => org-20171009}/org-footnote.el (98%) create mode 100644 elpa/org-20171009/org-gnus.el rename elpa/{org-20170407 => org-20171009}/org-habit.el (99%) rename elpa/{org-20170407 => org-20171009}/org-id.el (99%) rename elpa/{org-20170407 => org-20171009}/org-indent.el (85%) rename elpa/{org-20170407 => org-20171009}/org-info.el (93%) rename elpa/{org-20170407 => org-20171009}/org-inlinetask.el (99%) rename elpa/{org-20170407 => org-20171009}/org-install.el (100%) rename elpa/{org-20170407 => org-20171009}/org-irc.el (98%) rename elpa/{org-20170407 => org-20171009}/org-lint.el (98%) rename elpa/{org-20170407 => org-20171009}/org-list.el (99%) rename elpa/{org-20170407 => org-20171009}/org-loaddefs.el (77%) rename elpa/{org-20170407 => org-20171009}/org-macro.el (68%) rename elpa/{org-20170407 => org-20171009}/org-macs.el (67%) rename elpa/{org-20170407 => org-20171009}/org-mhe.el (98%) rename elpa/{org-20170407 => org-20171009}/org-mobile.el (99%) rename elpa/{org-20170407 => org-20171009}/org-mouse.el (98%) rename elpa/{org-20170407 => org-20171009}/org-pcomplete.el (99%) create mode 100644 elpa/org-20171009/org-pkg.el rename elpa/{org-20170407 => org-20171009}/org-plot.el (99%) rename elpa/{org-20170407 => org-20171009}/org-protocol.el (95%) rename elpa/{org-20170407 => org-20171009}/org-rmail.el (98%) rename elpa/{org-20170407 => org-20171009}/org-src.el (90%) rename elpa/{org-20170407 => org-20171009}/org-table.el (97%) rename elpa/{org-20170407 => org-20171009}/org-timer.el (98%) rename elpa/{org-20170407 => org-20171009}/org-version.el (87%) rename elpa/{org-20170407 => org-20171009}/org-w3m.el (99%) rename elpa/{org-20170407 => org-20171009}/org.el (95%) create mode 100644 elpa/org-20171009/orgcard.pdf rename elpa/{org-20170407 => org-20171009}/ox-ascii.el (99%) rename elpa/{org-20170407 => org-20171009}/ox-beamer.el (96%) rename elpa/{org-20170407 => org-20171009}/ox-html.el (97%) rename elpa/{org-20170407 => org-20171009}/ox-icalendar.el (91%) rename elpa/{org-20170407 => org-20171009}/ox-latex.el (99%) rename elpa/{org-20170407 => org-20171009}/ox-man.el (99%) rename elpa/{org-20170407 => org-20171009}/ox-md.el (98%) rename elpa/{org-20170407 => org-20171009}/ox-odt.el (99%) rename elpa/{org-20170407 => org-20171009}/ox-org.el (98%) rename elpa/{org-20170407 => org-20171009}/ox-publish.el (94%) rename elpa/{org-20170407 => org-20171009}/ox-texinfo.el (79%) rename elpa/{org-20170407 => org-20171009}/ox.el (97%) diff --git a/elpa/org-20170407/ob-scala.el b/elpa/org-20170407/ob-scala.el deleted file mode 100644 index 7d5f299e..00000000 --- a/elpa/org-20170407/ob-scala.el +++ /dev/null @@ -1,114 +0,0 @@ -;;; ob-scala.el --- Babel Functions for Scala -*- lexical-binding: t; -*- - -;; Copyright (C) 2012-2017 Free Software Foundation, Inc. - -;; Author: Andrzej Lichnerowicz -;; Keywords: literate programming, reproducible research -;; Homepage: http://orgmode.org - -;; This file is part of GNU Emacs. - -;; GNU Emacs 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 3 of the License, or -;; (at your option) any later version. - -;; GNU Emacs 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 GNU Emacs. If not, see . - -;;; Commentary: -;; Currently only supports the external execution. No session support yet. - -;;; Requirements: -;; - Scala language :: http://www.scala-lang.org/ -;; - Scala major mode :: Can be installed from Scala sources -;; https://github.com/scala/scala-dist/blob/master/tool-support/src/emacs/scala-mode.el - -;;; Code: -(require 'ob) - -(defvar org-babel-tangle-lang-exts) ;; Autoloaded -(add-to-list 'org-babel-tangle-lang-exts '("scala" . "scala")) -(defvar org-babel-default-header-args:scala '()) -(defvar org-babel-scala-command "scala" - "Name of the command to use for executing Scala code.") - -(defun org-babel-execute:scala (body params) - "Execute a block of Scala code with org-babel. This function is -called by `org-babel-execute-src-block'" - (message "executing Scala source code block") - (let* ((processed-params (org-babel-process-params params)) - (session (org-babel-scala-initiate-session (nth 0 processed-params))) - (result-params (nth 2 processed-params)) - (result-type (cdr (assq :result-type params))) - (full-body (org-babel-expand-body:generic - body params)) - (result (org-babel-scala-evaluate - session full-body result-type result-params))) - - (org-babel-reassemble-table - result - (org-babel-pick-name - (cdr (assq :colname-names params)) (cdr (assq :colnames params))) - (org-babel-pick-name - (cdr (assq :rowname-names params)) (cdr (assq :rownames params)))))) - -(defvar org-babel-scala-wrapper-method - -"var str_result :String = null; - -Console.withOut(new java.io.OutputStream() {def write(b: Int){ -}}) { - str_result = { -%s - }.toString -} - -print(str_result) -") - - -(defun org-babel-scala-evaluate - (session body &optional result-type result-params) - "Evaluate BODY in external Scala process. -If RESULT-TYPE equals `output' then return standard output as a string. -If RESULT-TYPE equals `value' then return the value of the last statement -in BODY as elisp." - (when session (error "Sessions are not (yet) supported for Scala")) - (pcase result-type - (`output - (let ((src-file (org-babel-temp-file "scala-"))) - (with-temp-file src-file (insert body)) - (org-babel-eval - (concat org-babel-scala-command " " src-file) ""))) - (`value - (let* ((src-file (org-babel-temp-file "scala-")) - (wrapper (format org-babel-scala-wrapper-method body))) - (with-temp-file src-file (insert wrapper)) - (let ((raw (org-babel-eval - (concat org-babel-scala-command " " src-file) ""))) - (org-babel-result-cond result-params - raw - (org-babel-script-escape raw))))))) - - -(defun org-babel-prep-session:scala (_session _params) - "Prepare SESSION according to the header arguments specified in PARAMS." - (error "Sessions are not (yet) supported for Scala")) - -(defun org-babel-scala-initiate-session (&optional _session) - "If there is not a current inferior-process-buffer in SESSION -then create. Return the initialized session. Sessions are not -supported in Scala." - nil) - -(provide 'ob-scala) - - - -;;; ob-scala.el ends here diff --git a/elpa/org-20170407/org-gnus.el b/elpa/org-20170407/org-gnus.el deleted file mode 100644 index b9d09895..00000000 --- a/elpa/org-20170407/org-gnus.el +++ /dev/null @@ -1,295 +0,0 @@ -;;; org-gnus.el --- Support for Links to Gnus Groups and Messages -*- lexical-binding: t; -*- - -;; Copyright (C) 2004-2017 Free Software Foundation, Inc. - -;; Author: Carsten Dominik -;; Tassilo Horn -;; Keywords: outlines, hypermedia, calendar, wp -;; Homepage: http://orgmode.org -;; -;; This file is part of GNU Emacs. -;; -;; GNU Emacs 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 3 of the License, or -;; (at your option) any later version. - -;; GNU Emacs 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 GNU Emacs. If not, see . -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;;; Commentary: - -;; This file implements links to Gnus groups and messages from within Org. -;; Org mode loads this module by default - if this is not what you want, -;; configure the variable `org-modules'. - -;;; Code: - -(require 'org) -(require 'gnus-util) -(eval-when-compile (require 'gnus-sum)) - -;; Declare external functions and variables - -(declare-function message-fetch-field "message" (header &optional not-all)) -(declare-function message-narrow-to-head-1 "message" nil) -(declare-function gnus-summary-last-subject "gnus-sum" nil) -(declare-function nnvirtual-map-article "nnvirtual" (article)) - -;; Customization variables - -(defvaralias 'org-usenet-links-prefer-google 'org-gnus-prefer-web-links) - -(defcustom org-gnus-prefer-web-links nil - "If non-nil, `org-store-link' creates web links to Google groups or Gmane. -\\When nil, Gnus will be used for such links. -Using a prefix argument to the command `\\[org-store-link]' (`org-store-link') -negates this setting for the duration of the command." - :group 'org-link-store - :type 'boolean) - -(defcustom org-gnus-nnimap-query-article-no-from-file nil - "If non-nil, `org-gnus-follow-link' will try to translate -Message-Ids to article numbers by querying the .overview file. -Normally, this translation is done by querying the IMAP server, -which is usually very fast. Unfortunately, some (maybe badly -configured) IMAP servers don't support this operation quickly. -So if following a link to a Gnus article takes ages, try setting -this variable to t." - :group 'org-link-store - :version "24.1" - :type 'boolean) - -(defcustom org-gnus-no-server nil - "Should Gnus be started using `gnus-no-server'?" - :group 'org-gnus - :version "24.4" - :package-version '(Org . "8.0") - :type 'boolean) - -;; Install the link type -(org-link-set-parameters "gnus" :follow #'org-gnus-open :store #'org-gnus-store-link) - -;; Implementation - -(defun org-gnus-nnimap-cached-article-number (group server message-id) - "Return cached article number (uid) of message in GROUP on SERVER. -MESSAGE-ID is the message-id header field that identifies the -message. If the uid is not cached, return nil." - (with-temp-buffer - (let ((nov (and (fboundp 'nnimap-group-overview-filename) - ;; nnimap-group-overview-filename was removed from - ;; Gnus in September 2010, and therefore should - ;; only be present in Emacs 23.1. - (nnimap-group-overview-filename group server)))) - (when (and nov (file-exists-p nov)) - (mm-insert-file-contents nov) - (set-buffer-modified-p nil) - (goto-char (point-min)) - (catch 'found - (while (search-forward message-id nil t) - (let ((hdr (split-string (thing-at-point 'line) "\t"))) - (if (string= (nth 4 hdr) message-id) - (throw 'found (nth 0 hdr)))))))))) - -(defun org-gnus-group-link (group) - "Create a link to the Gnus group GROUP. -If GROUP is a newsgroup and `org-gnus-prefer-web-links' is -non-nil, create a link to groups.google.com or gmane.org. -Otherwise create a link to the group inside Gnus. - -If `org-store-link' was called with a prefix arg the meaning of -`org-gnus-prefer-web-links' is reversed." - (let ((unprefixed-group (replace-regexp-in-string "^[^:]+:" "" group))) - (if (and (string-prefix-p "nntp" group) ;; Only for nntp groups - (org-xor current-prefix-arg - org-gnus-prefer-web-links)) - (concat (if (string-match "gmane" unprefixed-group) - "http://news.gmane.org/" - "http://groups.google.com/group/") - unprefixed-group) - (concat "gnus:" group)))) - -(defun org-gnus-article-link (group newsgroups message-id x-no-archive) - "Create a link to a Gnus article. -The article is specified by its MESSAGE-ID. Additional -parameters are the Gnus GROUP, the NEWSGROUPS the article was -posted to and the X-NO-ARCHIVE header value of that article. - -If GROUP is a newsgroup and `org-gnus-prefer-web-links' is -non-nil, create a link to groups.google.com or gmane.org. -Otherwise create a link to the article inside Gnus. - -If `org-store-link' was called with a prefix arg the meaning of -`org-gnus-prefer-web-links' is reversed." - (if (and (org-xor current-prefix-arg org-gnus-prefer-web-links) - newsgroups ;; Make web links only for nntp groups - (not x-no-archive)) ;; and if X-No-Archive isn't set. - (format (if (string-match "gmane\\." newsgroups) - "http://mid.gmane.org/%s" - "http://groups.google.com/groups/search?as_umsgid=%s") - (org-fixup-message-id-for-http message-id)) - (concat "gnus:" group "#" message-id))) - -(defun org-gnus-store-link () - "Store a link to a Gnus folder or message." - (cond - ((eq major-mode 'gnus-group-mode) - (let* ((group (cond ((fboundp 'gnus-group-group-name) ; depending on Gnus - (gnus-group-group-name)) ; version - ((fboundp 'gnus-group-name) - (gnus-group-name)) - (t "???"))) - desc link) - (when group - (org-store-link-props :type "gnus" :group group) - (setq desc (org-gnus-group-link group) - link desc) - (org-add-link-props :link link :description desc) - link))) - - ((memq major-mode '(gnus-summary-mode gnus-article-mode)) - (let* ((group gnus-newsgroup-name) - (header (with-current-buffer gnus-summary-buffer - (gnus-summary-article-header))) - (from (mail-header-from header)) - (message-id (org-unbracket-string "<" ">" (mail-header-id header))) - (date (org-trim (mail-header-date header))) - (subject (copy-sequence (mail-header-subject header))) - (to (cdr (assq 'To (mail-header-extra header)))) - newsgroups x-no-archive desc link) - (cl-case (car (gnus-find-method-for-group gnus-newsgroup-name)) - (nnvirtual - (setq group (car (nnvirtual-map-article - (gnus-summary-article-number))))) - (nnir - (setq group (nnir-article-group (gnus-summary-article-number))))) - ;; Remove text properties of subject string to avoid Emacs bug - ;; #3506 - (set-text-properties 0 (length subject) nil subject) - - ;; Fetching an article is an expensive operation; newsgroup and - ;; x-no-archive are only needed for web links. - (when (org-xor current-prefix-arg org-gnus-prefer-web-links) - ;; Make sure the original article buffer is up-to-date - (save-window-excursion (gnus-summary-select-article)) - (setq to (or to (gnus-fetch-original-field "To")) - newsgroups (gnus-fetch-original-field "Newsgroups") - x-no-archive (gnus-fetch-original-field "x-no-archive"))) - (org-store-link-props :type "gnus" :from from :date date :subject subject - :message-id message-id :group group :to to) - (setq desc (org-email-link-description) - link (org-gnus-article-link - group newsgroups message-id x-no-archive)) - (org-add-link-props :link link :description desc) - link)) - ((eq major-mode 'message-mode) - (setq org-store-link-plist nil) ; reset - (save-excursion - (save-restriction - (message-narrow-to-headers) - (and (not (message-fetch-field "Message-ID")) - (message-generate-headers '(Message-ID))) - (goto-char (point-min)) - (re-search-forward "^Message-ID: *.*$" nil t) - (put-text-property (match-beginning 0) (match-end 0) 'message-deletable nil) - (let ((gcc (car (last - (message-unquote-tokens - (message-tokenize-header (mail-fetch-field "gcc" nil t) " ,"))))) - (id (org-unbracket-string "<" ">" (mail-fetch-field "Message-ID"))) - (to (mail-fetch-field "To")) - (from (mail-fetch-field "From")) - (subject (mail-fetch-field "Subject")) - desc link - newsgroup xarchive) ; those are always nil for gcc - (and (not gcc) - (error "Can not create link: No Gcc header found")) - (org-store-link-props :type "gnus" :from from :subject subject - :message-id id :group gcc :to to) - (setq desc (org-email-link-description) - link (org-gnus-article-link - gcc newsgroup id xarchive)) - (org-add-link-props :link link :description desc) - link)))))) - -(defun org-gnus-open-nntp (path) - "Follow the nntp: link specified by PATH." - (let* ((spec (split-string path "/")) - (server (split-string (nth 2 spec) "@")) - (group (nth 3 spec)) - (article (nth 4 spec))) - (org-gnus-follow-link - (format "nntp+%s:%s" (or (cdr server) (car server)) group) - article))) - -(defun org-gnus-open (path) - "Follow the Gnus message or folder link specified by PATH." - (let (group article) - (if (not (string-match "\\`\\([^#]+\\)\\(#\\(.*\\)\\)?" path)) - (error "Error in Gnus link")) - (setq group (match-string 1 path) - article (match-string 3 path)) - (when group - (setq group (org-no-properties group))) - (when article - (setq article (org-no-properties article))) - (org-gnus-follow-link group article))) - -(defun org-gnus-follow-link (&optional group article) - "Follow a Gnus link to GROUP and ARTICLE." - (require 'gnus) - (funcall (cdr (assq 'gnus org-link-frame-setup))) - (if gnus-other-frame-object (select-frame gnus-other-frame-object)) - (setq group (org-no-properties group)) - (setq article (org-no-properties article)) - (cond ((and group article) - (gnus-activate-group group) - (condition-case nil - (let* ((method (gnus-find-method-for-group group)) - (backend (car method)) - (server (cadr method))) - (cond - ((eq backend 'nndoc) - (if (gnus-group-read-group t nil group) - (gnus-summary-goto-article article nil t) - (message "Couldn't follow gnus link. %s" - "The summary couldn't be opened."))) - (t - (let ((articles 1) - group-opened) - (when (and (eq backend 'nnimap) - org-gnus-nnimap-query-article-no-from-file) - (setq article - (or (org-gnus-nnimap-cached-article-number - (nth 1 (split-string group ":")) - server (concat "<" article ">")) article))) - (while (and (not group-opened) - ;; stop on integer overflows - (> articles 0)) - (setq group-opened (gnus-group-read-group - articles t group) - articles (if (< articles 16) - (1+ articles) - (* articles 2)))) - (if group-opened - (gnus-summary-goto-article article nil t) - (message "Couldn't follow gnus link. %s" - "The summary couldn't be opened.")))))) - (quit (message "Couldn't follow gnus link. %s" - "The linked group is empty.")))) - (group (gnus-group-jump-to-group group)))) - -(defun org-gnus-no-new-news () - "Like `\\[gnus]' but doesn't check for new news." - (if (not (gnus-alive-p)) (if org-gnus-no-server (gnus-no-server) (gnus)))) - -(provide 'org-gnus) - - -;;; org-gnus.el ends here diff --git a/elpa/org-20170407/org-pkg.el b/elpa/org-20170407/org-pkg.el deleted file mode 100644 index ce53e693..00000000 --- a/elpa/org-20170407/org-pkg.el +++ /dev/null @@ -1,5 +0,0 @@ -(define-package "org" - "20170407" "Outline-based notes management and organizer" ( )) -;; Local Variables: -;; no-byte-compile: t -;; End: diff --git a/elpa/org-20170407/orgcard.pdf b/elpa/org-20170407/orgcard.pdf deleted file mode 100644 index 0420571817df1790636cc1bf0935cdf1c5e5d1df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81692 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

4zDCN$yWJosQv1rktyb!SxU`}FL+KECKj zd^L9I`XG=GgyTkbp`TT~-~9EWYb!%+gWZB1eUr-ig3l)9*&w{#rVtx=@)U(QXa?xZ5REMWFuHour5s~T?pPA*^WtwSVFG^`n{s}G2*iK z(TN%?s6y3G0{q*>R)kfvET-=GmF}pz$HZbTuI}`d3PZ&m9fVGDT3NQzF$q6Vu?Cd- zq&FT&E*;pB6Y&fhwUf4&-{%vW$#jUD7TtWQVnCal5RK_78COxwt`gs`LxV%A8H@TT zLPVcZ1@S@vv$-#WlKOO^l!PpTVC!DB2m>xZ9XDni+MSF9SbQG4Vp*+SXo?}D&sl(z zPA_OL7gvLZDD2$J@+*_C1$|+A9*3T)W1t_WnyNW?z`?>a5C#3tkwSsIxh2%*m3ngu;bS7l1xW^8zVS?+|bqPx3<=YSBCyO zWVtE3se`dToQ4js95r*ZGc&e<7m)tJE4MOsbo^0C`oBWUuj#da7N1^|`q-}t=Ejar z=5Refc;$a{%zq-68(W(j{*e5~BRjD>{dWxW>$=sSseeC1ZT}7>_*y~@oZRe;0qoaC z_`-|oI~q&c!a2L_BFYLHYU=QS64e007ya6J9Tg7dc22eq0MIouQTdt!=-}uiW~T1| z0ABOZ;RyMEoxtyFLf z;8!I-8W#K~pTHOE&*ixZKnDKrQf{!GZ)o{r{eSWb5MH(Yw^!gN|B?c{S$++?_R^oM z%Kt7@Zs0j@Nck;l;fwf}5-|MaPbGiEl#md>*v1Gh0R5j+@qb#L8};xvg!~q>oIfi8 zg5W#uPboLI^3VLv|IQ~j-VHaT{1&v}UzP{-w^u;dZ7_b`KEU7mVkqjH8au+@C$>;{ z5`jmVthtdRK>J6G!AalO*XyGH?N-j;7g$Um&i1x7MQ8tUCpbj)#+>k)`oCjB(ZSXT z3Qzk020J4YRbvfSAR8wK8yH^GFLs^4;faa?ZvFEVo@&M6SslP2&IjTEa&vIP8*uOd zIUpb{_y{>$qksRUs)N3rov{&sT~go5(HO2xRYHSJ5^7~-pl@SyJ-w=#xg!An^M?!o z)Y06=6kug;U}tM*XJzcb0(f%W+rric0A>Sn0wKJhe<@`Jv4H>#>c$2jF#tCkgpG?4 zU}>ihPn*X20O!9hxwil0HCG2?6Lby$CkUP6uLHmZfq)?Z6TrW0oN%H#;K#QBo4;&a z-0=6n_3^ijgX4O?|6=3j1zm5v8#XQwJZ68f@o)fn;EVB#jT=sMhX>RR8yIr)emoo; zobaHyF^-qxram4H@O7&EWgG`D1P<1{Y2$=9Q@LT|tvZEc+ZKQa{jO)70;Vhi|@d#+E!0onpU5pf`gsF);=n53ix zP*M^I=H}s$fJ2|bV(|Sf3K0VQ|3h>ELPF?{PWlc`KlU^a2N%3?6fLcUf+YI?0i0`~ Apa1{> diff --git a/elpa/org-20170407/COPYING b/elpa/org-20171009/COPYING similarity index 100% rename from elpa/org-20170407/COPYING rename to elpa/org-20171009/COPYING diff --git a/elpa/org-20170407/README_ELPA b/elpa/org-20171009/README_ELPA similarity index 100% rename from elpa/org-20170407/README_ELPA rename to elpa/org-20171009/README_ELPA diff --git a/elpa/org-20170407/dir b/elpa/org-20171009/dir similarity index 100% rename from elpa/org-20170407/dir rename to elpa/org-20171009/dir diff --git a/elpa/org-20170407/etc/ORG-NEWS b/elpa/org-20171009/etc/ORG-NEWS similarity index 94% rename from elpa/org-20170407/etc/ORG-NEWS rename to elpa/org-20171009/etc/ORG-NEWS index 51c516fb..d6f550d2 100644 --- a/elpa/org-20170407/etc/ORG-NEWS +++ b/elpa/org-20171009/etc/ORG-NEWS @@ -1,4 +1,4 @@ -ORG NEWS -- history of user-visible changes. -*- org -*- +ORG NEWS -- history of user-visible changes. -*- mode: org; coding: utf-8 -*- #+LINK: doc http://orgmode.org/worg/doc.html#%s #+LINK: git http://orgmode.org/cgit.cgi/org-mode.git/commit/?id=%s @@ -21,6 +21,12 @@ them, consider modifying ~org-duration-format~ instead. Variable ~org-time-clocksum-use-effort-durations~ is also obsolete. Consider setting ~org-duration-units~ instead. +*** ~org-at-timestamp-p~ optional argument accepts different values + +See docstrings for the allowed values. For backward compatibility, +~(org-at-timestamp-p t)~ is still supported, but should be updated +accordingly. + *** ~org-capture-templates~ no longer accepts S-expressions as file names Since functions are allowed there, a straightforward way to migrate @@ -43,6 +49,10 @@ You can now find them here : - https://github.com/sabof/org-bullets - https://github.com/org-mime/org-mime +*** Change ~org-texinfo-classes~ value +The value cannot support functions to create sectioning commands +anymore. Also, the sectioning commands should include commands for +appendices. See the docstring for more information. *** Removal of ~:sitemap-sans-extension~ The publishing property is no longer recognized, as a consequence of @@ -75,7 +85,40 @@ list as their first argument. The optional argument is now a string to extract the repeater from. See docstring for details. +*** Change signature for ~org-time-string-to-time~ +See docstring for changes. + +*** Change order of items in ~org-agenda-time-grid~ +~org-agenda-time-grid~ gained an extra item to allow users to customize +the string displayed after times in the agenda. See docstring for +details. + +*** ~tags-todo~ custom searches now include DONE keywords + +Use "/!" markup when filtering TODO keywords to get only not-done TODO +keywords. + +*** ~org-split-string~ returns ~("")~ when called on an empty string +It used to return nil. +*** Removal of =ob-scala.el= + +See [[https://github.com/ensime/emacs-scala-mode/issues/114][this github issue]]. + +You can use =ob-scala.el= as packaged in scala-mode, available from the +MELPA repository. + ** New features +*** iCalendar export uses inheritance for TIMEZONE and LOCATION properties +Both these properties can be inherited during iCalendar export, +depending on the value of ~org-use-property-inheritance~. +*** iCalendar export respects a TIMEZONE property +Set the TIMEZONE property on an entry to specify a time zone for that +entry only during iCalendar export. The property value should be +specified as in "Europe/London". +*** ~org-attach~ can move directory contents +When setting a new directory for an entry, org-attach offers to move +files over from the old directory. Using a prefix arg will reset the +directory to old, ID based one. *** New Org duration library This new library implements tools to read and print time durations in various formats (e.g., "H:MM", or "1d 2h 3min"...). @@ -89,6 +132,12 @@ docstrings. **** New variable : ~org-deadline-past-days~ See docstring for details. **** Binding C-c C-x < for ~org-agenda-set-restriction-lock-from-agenda~ +**** New auto-align default setting for =org-agenda-tags-column= + +=org-agenda-tags-column= can now be set to =auto=, which will +automatically align tags to the right edge of the window. This is now +the default setting. + *** New value for ~org-publish-sitemap-sort-folders~ The new ~ignore~ value effectively allows toggling inclusion of @@ -96,6 +145,24 @@ directories in published site-maps. *** Babel +**** Scheme: support for tables +**** Scheme: new variable: ~org-babel-scheme-null-to~ + +This new custom option allows to use a empty list or null symbol to +format the table output, initially assigned to ~hlines~. + +**** Scheme: new header ~:prologue~ + +A new block code header has been created for Org Babel that enables +developers to prepend code to the scheme block being processed. + +Multiple ~:prologue~ headers can be added each of them using a string +with the content to be added. + +The scheme blocks are prepared by surrounding the code in the block +with a let form. The content of the ~:prologue~ headers are prepended +before this let form. + **** Support for hledger accounting reports added **** Clojure: new setting ~org-babel-clojure-sync-nrepl-timeout~ @@ -177,6 +244,33 @@ To use =vertica= in an sql =SRC_BLK= set the =:engine= like this: SELECT * FROM nodes; ,#+END_SRC #+END_EXAMPLE +**** C++: New header ~:namespaces~ + +The new ~:namespaces~ export option can be used to specify namespaces +to be used within a C++ org source block. Its usage is similar to +~:includes~, in that it can accept multiple, space-separated +namespaces to use. This header is equivalent to adding ~using +namespace ;~ in the source block. Here is a "Hello World" in C++ +using ~:namespaces~: + +#+begin_example + ,#+BEGIN_SRC C++ :results output :namespaces std :includes + cout << "Hello World" << endl; + ,#+END_SRC +#+end_example + +**** Support for Vala language + +[[https://wiki.gnome.org/Projects/Vala][Vala]] language blocks support two special header arguments: + +- ~:flags~ passes arguments to the compiler +- ~:cmdline~ passes commandline arguments to the generated executable + +Support for [[http://orgmode.org/manual/var.html#var][~:var~]] does not exist yet, also there is no [[http://orgmode.org/manual/session.html#session][~:session~]] +support because Vala is a compiled language. + +The Vala compiler binary can be changed via the ~defcustom~ +~org-babel-vala-compiler~. *** New ~function~ scope argument for the Clock Table Added a nullary function that returns a list of files as a possible @@ -186,19 +280,28 @@ argument for the scope of the clock table. Global table of contents are generated using vanilla Markdown syntax instead of HTML. Also #+TOC keyword, including local table of contents, are now supported. -**** Add Slovanian translations +**** Add Slovenian translations **** Implement ~org-export-insert-image-links~ This new function is meant to be used in back-ends supporting images as descriptions of links, a.k.a. image links. See its docstring for details. +**** New macro : ~{{{n}}}~ +This macro creates and increment multiple counters in a document. See +manual for details. **** Add global macros through ~org-export-global-macros~ With this variable, one can define macros available for all documents. **** New keyword ~#+EXPORT_FILE_NAME~ -Simiralry to ~:EXPORT_FILE_NAME:~ property, this keyword allows the +Similarly to ~:EXPORT_FILE_NAME:~ property, this keyword allows the user to specify the name of the output file upon exporting the document. This also has an effect on publishing. **** Horizontal rules are no longer ignored in LaTeX table math mode **** Use ~compilation-mode~ for compilation output +**** Plain lists accept a new ~:separator~ attribute in Texinfo + +The new ~:separator~ attribute splits a tag from a description list +item into multiple parts. This allows to have two-column tables with +multiple entries in the first column. See manual for more details. + **** ~latex-environment~ elements support ~caption~ keywords for LaTeX export *** ~org-edit-special~ can edit LaTeX environments @@ -219,6 +322,28 @@ This allow to use a different title than entry title. Using ~C-c C-a u~ prompts for a URL pointing to a file to be attached to the document. +*** New option for ~org-refile-use-outline-path~ +~org-refile-use-outline-path~ now supports the setting ~buffer-name~, +which causes refile targets to be prefixed with the buffer’s +name. This is particularly useful when used in conjunction with +~uniquify.el~. + +*** ~org-file-contents~ now allows the FILE argument to be a URL. +This allows ~#+SETUPFILE:~ to accept a URL instead of a local file +path. The URL contents are auto-downloaded and saved to a temporary +cache ~org--file-cache~. A new optional argument ~NOCACHE~ is added +to ~org-file-contents~. + +*** ~org-mode-restart~ now resets the newly added ~org--file-cache~. +Using ~C-c C-c~ on any keyword (like ~#+SETUPFILE~) will reset the +that file cache. + +*** New option : ~org-table-duration-hour-zero-padding~ +This variable allow computed durations in tables to be zero-padded. + +*** New mode switch for table formulas : =U= +This mode omits seconds in durations. + ** Removed functions *** Org Timeline @@ -250,6 +375,11 @@ Use ~org-duration-to-minutes~ instead. Use ~org-duration-to-minutes~ instead. +*** ~org-gnus-nnimap-cached-article-number~ is removed. + +This function relied on ~nnimap-group-overview-filename~, which was +removed from Gnus circa September 2010. + ** Removed options *** ~org-agenda-repeating-timestamp-show-all~ is removed. @@ -258,11 +388,33 @@ For an equivalent to a ~nil~ value, set ~org-agenda-show-future-repeats~ to nil and ~org-agenda-prefer-last-repeat~ to ~t~. +*** ~org-gnus-nnimap-query-article-no-from-file~ is removed. + +This variable has no effect, as it was relying on a function that was +removed from Gnus circa September 2010. + +*** ~org-usenet-links-prefer-google~ is obsolete. + +Use ~org-gnus-prefer-web-links~ instead. + *** ~org-publish-sitemap-file-entry-format~ is deprecated One can provide new ~:sitemap-format-entry~ property for a function equivalent to the removed format string. +*** ~org-enable-table-editor~ is removed. + +Setting it to a ~nil~ value broke some other features (e.g., speed +keys). + +*** ~org-export-use-babel~ cannot be set to ~inline-only~ + +The variable is now a boolean. + +*** ~org-texinfo-def-table-markup~ is obsolete + +Use ~org-texinfo-table-default-markup~ instead. + ** New functions *** ~org-publish-find-property~ @@ -280,6 +432,24 @@ Call ~org-agenda-set-restriction-lock~ from the agenda. ** Miscellaneous +*** The Library of Babel now on Worg + +The library-of-babel.org used to be accessible from the =doc/= +directory, distributed with Org’s core. It is now accessible +from the Worg community-driven documentation [[http://orgmode.org/worg/library-of-babel.html][here]]. + +If you want to contribute to it, please see [[http://orgmode.org/worg/org-contribute.html][how to contribute]]. + +*** Allow multiple columns view + +Columns view is not limited to a single buffer anymore. +*** Org Attach obeys ~dired-dwim-target~ + +When a Dired buffer is opened next to the Org document being edited, +the prompt for file to attach can start in the Dired buffer's +directory if `dired-dwim-target' in non-nil. + +*** ~org-fill-paragraph~ can now fill a whole region *** More specific anniversary descriptions Anniversary descriptions (used in the agenda view, for instance) @@ -297,7 +467,7 @@ far away in the future. *** Save point before opening a file with an unknown search option When following a file link with a search option (e.g., =::#custom-id=) -that doesn't exist in the target file, save positon before raising an +that doesn't exist in the target file, save position before raising an error. As a consequence, it is possible to jump back to the original document with ~org-mark-ring-goto~ (default binding =C-c &=). @@ -309,7 +479,27 @@ See docstring for details. This variable is a ~defcustom~ and replaces the variable ~org-babel-capitalize-example-region-markers~, which is a ~defvar~ and -is now obselete. +is now obsolete. +*** =INCLUDE= keywords in commented trees are now ignored. +*** Default value for ~org-texinfo-text-markup-alist~ changed. + +Now ~=...=~ markup uses ~@samp{}~ instead of ~@verb{}~. You can use +~@verb{}~ again by customizing the variable. +*** Texinfo exports example blocks as ~@example~ +*** Texinfo exports inline src blocks as ~@code{}~ +*** Texinfo default table markup is ~@asis~ +It used to be ~@samp~ but ~@asis~ is neutral and, therefore, more +suitable as a default value. +*** Texinfo default process includes ~--no-split~ option +*** New entities : ~\dollar~ and ~\USD~ +*** ~org-parse-time-string~ accepts a new optional argument +=ZONE= specifies the current time zone. +*** ~org-time-string-to-seconds~ now accepts an optional =ZONE= argument +*** Support for date style URLs in =org-protocol://open-source= + URLs like =https://cool-blog.com/2017/05/20/cool-post/= are + covered by rewrite rules. + +*** Add (C) =COMMENT= support to ~org-structure-template-alist~ * Version 9.0 @@ -323,7 +513,7 @@ above is suggested. *** XEmacs support has been dropped Incomplete compatibility layer with XEmacs has been removed. If you -want to take over maintainance of this compatibility, please contact +want to take over maintenance of this compatibility, please contact our mailing list. *** New syntax for export blocks @@ -420,7 +610,7 @@ exists. *** ~org-file-apps~ no longer accepts S-expressions as commands The variable now accepts functions of two arguments instead of plain -S-expressions. Replacing a S-expresion with an appropriate function +S-expressions. Replacing an S-expression with an appropriate function is straightforward. For example : ("pdf" . (foo)) @@ -460,7 +650,7 @@ should be written instead ,* Headline :PROPERTIES: :header-args: :exports code -:header-args: :var a=1 b=2 +:header-args+: :var a=1 b=2 :header-args+: :var c=3 :END: #+END_EXAMPLE @@ -501,7 +691,7 @@ entries are added to last in the date tree. *** New ~vbar~ entity -~\vbar~ or ~\vbar{}~ will be exported unconditionnally as a =|=, +~\vbar~ or ~\vbar{}~ will be exported unconditionally as a =|=, unlike to existing ~\vert~, which is expanded as ~|~ when using a HTML derived export back-end. @@ -882,7 +1072,7 @@ is that spaces are allowed within the path. *** ~:preparation-function~ called earlier during publishing Functions in this list are called before any file is associated to the -current projet. Thus, they can be used to generate to be published +current project. Thus, they can be used to generate to be published Org files. *** Function ~org-remove-indentation~ changes. @@ -943,7 +1133,7 @@ where local file =emacs.html= is referenced. For most folks this file does not exist. Thus the new behavior is to generate this HTML link instead: -: emacs#List Buffers +: emacs#List Buffers All emacs related info links are similarly translated plus few other =gnu.org= manuals. @@ -1289,7 +1479,7 @@ a source block. *** New option in ASCII export Plain lists can have an extra margin by setting ~org-ascii-list-margin~ -variable to an appopriate integer. +variable to an appropriate integer. *** New blocks in ASCII export @@ -1325,7 +1515,7 @@ more features. See docstring for details. *** New filter: ~org-export-filter-body-functions~ Functions in this filter are applied on the body of the exported -document, befor wrapping it within the template. +document, before wrapping it within the template. *** New :environment parameter when exporting example blocks to LaTeX @@ -1390,7 +1580,7 @@ property is inherited by children. *** Tables can be sorted with an arbitrary function -It is now possible to specify a function, both programatically, +It is now possible to specify a function, both programmatically, through a new optional argument, and interactively with ~f~ or ~F~ keys, to sort a table. @@ -1802,7 +1992,7 @@ This enables SVG generation from latex code blocks. *** New option: [[doc:org-habit-show-done-always-green][org-habit-show-done-always-green]] -See [[http://lists.gnu.org/archive/html/emacs-orgmode/2013-05/msg00214.html][this message]] from Max Mikhanosha. +See [[https://lists.gnu.org/archive/html/emacs-orgmode/2013-05/msg00214.html][this message]] from Max Mikhanosha. *** New option: [[doc:org-babel-inline-result-wrap][org-babel-inline-result-wrap]] @@ -1978,7 +2168,7 @@ manual for details and check [[http://orgmode.org/worg/org-8.0.html][this Worg p *** ~ox-texinfo.el~ by Jonathan Leech-Pepin - =ox-texinfo.el= allows you to export Org files to [[http://www.gnu.org/software/texinfo/][Texinfo]] files. + =ox-texinfo.el= allows you to export Org files to [[https://www.gnu.org/software/texinfo/][Texinfo]] files. ** New packages in contrib @@ -2031,7 +2221,7 @@ manual for details and check [[http://orgmode.org/worg/org-8.0.html][this Worg p *** ~ox-groff.el~ by Luis Anaya and Nicolas Goaziou - The [[http://www.gnu.org/software/groff/][groff]] (GNU troff) software is a typesetting package which reads + The [[https://www.gnu.org/software/groff/][groff]] (GNU troff) software is a typesetting package which reads plain text mixed with formatting commands and produces formatted output. @@ -2618,7 +2808,7 @@ instead of requiring each Babel library one by one. - New option [[doc:org-gnus-no-server][org-gnus-no-server]] to start Gnus with =gnus-no-server= - Org is now distributed with =htmlize.el= version 1.43 - ~org-drill.el~ has been updated to version 2.3.7 -- ~org-mac-iCal.el~ now supports MacOSX version up to 10.8 +- ~org-mac-iCal.el~ now supports OS X versions up to 10.8 - Various improvements to ~org-contacts.el~ and =orgpan.el= ** Outside Org @@ -2711,7 +2901,7 @@ You can now add the Org ELPA repository like this: #+END_SRC It contains both the =org-*.tar= package (the core Org distribution, also -available through http://elpa.gnu.org) and the =org-plus*.tar= package (the +available through https://elpa.gnu.org) and the =org-plus*.tar= package (the extended Org distribution, with non-GNU packages from the =contrib/= directory.) @@ -2739,7 +2929,7 @@ See http://orgmode.org/elpa/ *** =org-eshell.el= by Konrad Hinsen is now in Org - =org-eshell.el= allows you to create links from [[http://www.gnu.org/software/emacs/manual/html_node/eshell/index.html][Eshell]]. + =org-eshell.el= allows you to create links from [[https://www.gnu.org/software/emacs/manual/html_node/eshell/index.html][Eshell]]. *** Support for execution of Scala code blocks (see ob-scala.el) *** Support for execution of IO code blocks (see ob-io.el) @@ -3339,7 +3529,7 @@ that Calc formulas can operate on them. =org-export-html-scripts= is now a variable, so that you can adapt the code and the license to your needs. - See http://www.gnu.org/philosophy/javascript-trap.html for + See https://www.gnu.org/philosophy/javascript-trap.html for explanations on why these changes were necessary. * Version 7.8.11 @@ -4124,4 +4314,4 @@ that Calc formulas can operate on them. GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with GNU Emacs. If not, see . + along with GNU Emacs. If not, see . diff --git a/elpa/org-20170407/etc/styles/OrgOdtContentTemplate.xml b/elpa/org-20171009/etc/styles/OrgOdtContentTemplate.xml similarity index 100% rename from elpa/org-20170407/etc/styles/OrgOdtContentTemplate.xml rename to elpa/org-20171009/etc/styles/OrgOdtContentTemplate.xml diff --git a/elpa/org-20170407/etc/styles/OrgOdtStyles.xml b/elpa/org-20171009/etc/styles/OrgOdtStyles.xml similarity index 100% rename from elpa/org-20170407/etc/styles/OrgOdtStyles.xml rename to elpa/org-20171009/etc/styles/OrgOdtStyles.xml diff --git a/elpa/org-20170407/etc/styles/README b/elpa/org-20171009/etc/styles/README similarity index 90% rename from elpa/org-20170407/etc/styles/README rename to elpa/org-20171009/etc/styles/README index d04f4349..9d11c07b 100644 --- a/elpa/org-20170407/etc/styles/README +++ b/elpa/org-20171009/etc/styles/README @@ -1,7 +1,7 @@ The files OrgOdtContentTemplate.xml and OrgOdtStyles.xml have the following copyright information: -Copyright (C) 2010-2014 Free Software Foundation, Inc. +Copyright (C) 2010-2017 Free Software Foundation, Inc. These files are part of GNU Emacs. @@ -16,7 +16,7 @@ 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 GNU Emacs. If not, see . +along with GNU Emacs. If not, see . Author: Jambunathan K diff --git a/elpa/org-20170407/ob-C.el b/elpa/org-20171009/ob-C.el similarity index 93% rename from elpa/org-20170407/ob-C.el rename to elpa/org-20171009/ob-C.el index 795bcb2b..78528a88 100644 --- a/elpa/org-20170407/ob-C.el +++ b/elpa/org-20171009/ob-C.el @@ -20,7 +20,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: @@ -46,6 +46,19 @@ (defvar org-babel-default-header-args:C '()) +(defconst org-babel-header-args:C '((includes . :any) + (defines . :any) + (main . :any) + (flags . :any) + (cmdline . :any) + (libs . :any)) + "C/C++-specific header arguments.") + +(defconst org-babel-header-args:C++ + (append '((namespaces . :any)) + org-babel-header-args:C) + "C++-specific header arguments.") + (defcustom org-babel-C-compiler "gcc" "Command used to compile a C source code file into an executable. May be either a command in the path, like gcc @@ -125,7 +138,8 @@ or `org-babel-execute:C++' or `org-babel-execute:D'." (pcase org-babel-c-variant (`c ".c") (`cpp ".cpp") (`d ".d")))) (tmp-bin-file ;not used for D - (org-babel-temp-file "C-bin-" org-babel-exeext)) + (org-babel-process-file-name + (org-babel-temp-file "C-bin-" org-babel-exeext))) (cmdline (cdr (assq :cmdline params))) (cmdline (if cmdline (concat " " cmdline) "")) (flags (cdr (assq :flags params))) @@ -151,7 +165,7 @@ or `org-babel-execute:C++' or `org-babel-execute:D'." (pcase org-babel-c-variant (`c org-babel-C-compiler) (`cpp org-babel-C++-compiler)) - (org-babel-process-file-name tmp-bin-file) + tmp-bin-file flags (org-babel-process-file-name tmp-src-file) libs) @@ -195,15 +209,18 @@ its header arguments." (colnames (cdr (assq :colname-names params))) (main-p (not (string= (cdr (assq :main params)) "no"))) (includes (org-babel-read - (or (cdr (assq :includes params)) - (org-entry-get nil "includes" t)) + (cdr (assq :includes params)) nil)) (defines (org-babel-read - (or (cdr (assq :defines params)) - (org-entry-get nil "defines" t)) - nil))) + (cdr (assq :defines params)) + nil)) + (namespaces (org-babel-read + (cdr (assq :namespaces params)) + nil))) (when (stringp includes) (setq includes (split-string includes))) + (when (stringp namespaces) + (setq namespaces (split-string namespaces))) (when (stringp defines) (let ((y nil) (result (list t))) @@ -223,6 +240,11 @@ its header arguments." (mapconcat (lambda (inc) (format "#define %s" inc)) (if (listp defines) defines (list defines)) "\n") + ;; namespaces + (mapconcat + (lambda (inc) (format "using namespace %s;" inc)) + namespaces + "\n") ;; variables (mapconcat 'org-babel-C-var-to-C vars "\n") ;; table sizes @@ -278,12 +300,12 @@ its header arguments." (defun org-babel-prep-session:C (_session _params) "This function does nothing as C is a compiled language with no support for sessions" - (error "C is a compiled languages -- no support for sessions")) + (error "C is a compiled language -- no support for sessions")) (defun org-babel-load-session:C (_session _body _params) "This function does nothing as C is a compiled language with no support for sessions" - (error "C is a compiled languages -- no support for sessions")) + (error "C is a compiled language -- no support for sessions")) ;; helper functions diff --git a/elpa/org-20170407/ob-J.el b/elpa/org-20171009/ob-J.el similarity index 97% rename from elpa/org-20170407/ob-J.el rename to elpa/org-20171009/ob-J.el index eba4bc63..eaccac81 100644 --- a/elpa/org-20170407/ob-J.el +++ b/elpa/org-20171009/ob-J.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: @@ -89,7 +89,7 @@ This function is called by `org-babel-execute-src-block'" (org-babel-J-eval-string full-body))))) (defun org-babel-J-eval-string (str) - "Sends STR to the `j-console-cmd' session and exectues it." + "Sends STR to the `j-console-cmd' session and executes it." (let ((session (j-console-ensure-session))) (with-current-buffer (process-buffer session) (goto-char (point-max)) diff --git a/elpa/org-20170407/ob-R.el b/elpa/org-20171009/ob-R.el similarity index 99% rename from elpa/org-20170407/ob-R.el rename to elpa/org-20171009/ob-R.el index 60990535..6781fb30 100644 --- a/elpa/org-20170407/ob-R.el +++ b/elpa/org-20171009/ob-R.el @@ -20,7 +20,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-abc.el b/elpa/org-20171009/ob-abc.el similarity index 88% rename from elpa/org-20170407/ob-abc.el rename to elpa/org-20171009/ob-abc.el index 0ce503d3..693c5d8f 100644 --- a/elpa/org-20170407/ob-abc.el +++ b/elpa/org-20171009/ob-abc.el @@ -7,22 +7,20 @@ ;; Homepage: http://www.tardis.ed.ac.uk/wwaites ;; Version: 0.01 -;;; License: +;; This file is part of GNU Emacs. -;; This program is free software; you can redistribute it and/or modify +;; GNU Emacs 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 3, or (at your option) -;; any later version. -;; -;; This program is distributed in the hope that it will be useful, +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; GNU Emacs 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 GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -;; Boston, MA 02110-1301, USA. +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-asymptote.el b/elpa/org-20171009/ob-asymptote.el similarity index 98% rename from elpa/org-20170407/ob-asymptote.el rename to elpa/org-20171009/ob-asymptote.el index 1dbf4842..819273ae 100644 --- a/elpa/org-20170407/ob-asymptote.el +++ b/elpa/org-20171009/ob-asymptote.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-awk.el b/elpa/org-20171009/ob-awk.el similarity index 98% rename from elpa/org-20170407/ob-awk.el rename to elpa/org-20171009/ob-awk.el index 2db4eeae..e2eec9bf 100644 --- a/elpa/org-20170407/ob-awk.el +++ b/elpa/org-20171009/ob-awk.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-calc.el b/elpa/org-20171009/ob-calc.el similarity index 98% rename from elpa/org-20170407/ob-calc.el rename to elpa/org-20171009/ob-calc.el index d4b7260c..76d36cf7 100644 --- a/elpa/org-20170407/ob-calc.el +++ b/elpa/org-20171009/ob-calc.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-clojure.el b/elpa/org-20171009/ob-clojure.el similarity index 98% rename from elpa/org-20170407/ob-clojure.el rename to elpa/org-20171009/ob-clojure.el index ada35a4b..b49bfe58 100644 --- a/elpa/org-20170407/ob-clojure.el +++ b/elpa/org-20171009/ob-clojure.el @@ -20,7 +20,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-comint.el b/elpa/org-20171009/ob-comint.el similarity index 95% rename from elpa/org-20170407/ob-comint.el rename to elpa/org-20171009/ob-comint.el index cc60f4e4..2a1d2743 100644 --- a/elpa/org-20170407/ob-comint.el +++ b/elpa/org-20171009/ob-comint.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: @@ -33,7 +33,6 @@ (require 'ob-core) (require 'org-compat) (require 'comint) -(require 'tramp) (defun org-babel-comint-buffer-livep (buffer) "Check if BUFFER is a comint buffer with a live process." @@ -148,10 +147,6 @@ FILE exists at end of evaluation." (process-send-string (get-buffer-process buffer) (if (= (aref string (1- (length string))) ?\n) string (concat string "\n"))) - ;; From Tramp 2.1.19 the following cache flush is not necessary - (when (file-remote-p default-directory) - (with-parsed-tramp-file-name default-directory nil - (tramp-flush-directory-property v ""))) (while (not (file-exists-p file)) (sit-for (or period 0.25)))) (provide 'ob-comint) diff --git a/elpa/org-20170407/ob-coq.el b/elpa/org-20171009/ob-coq.el similarity index 97% rename from elpa/org-20170407/ob-coq.el rename to elpa/org-20171009/ob-coq.el index 93d2b1f7..76bfc5ad 100644 --- a/elpa/org-20170407/ob-coq.el +++ b/elpa/org-20171009/ob-coq.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-core.el b/elpa/org-20171009/ob-core.el similarity index 96% rename from elpa/org-20170407/ob-core.el rename to elpa/org-20171009/ob-core.el index d64f7b1e..c7c03845 100644 --- a/elpa/org-20170407/ob-core.el +++ b/elpa/org-20171009/ob-core.el @@ -20,7 +20,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Code: (require 'cl-lib) @@ -82,7 +82,6 @@ (declare-function org-reverse-string "org" (string)) (declare-function org-set-outline-overlay-data "org" (data)) (declare-function org-show-context "org" (&optional key)) -(declare-function org-split-string "org" (string &optional separators)) (declare-function org-src-coderef-format "org-src" (element)) (declare-function org-src-coderef-regexp "org-src" (fmt &optional label)) (declare-function org-table-align "org-table" ()) @@ -242,11 +241,9 @@ should be asked whether to allow evaluation." (query (or (equal eval "query") (and export (equal eval "query-export")) (if (functionp org-confirm-babel-evaluate) - (save-excursion - (goto-char (nth 5 info)) - (funcall org-confirm-babel-evaluate - ;; language, code block body - (nth 0 info) (nth 1 info))) + (funcall org-confirm-babel-evaluate + ;; Language, code block body. + (nth 0 info) (nth 1 info)) org-confirm-babel-evaluate)))) (cond (noeval nil) @@ -1440,36 +1437,77 @@ specified in the properties of the current outline entry." (defun org-babel-balanced-split (string alts) "Split STRING on instances of ALTS. -ALTS is a cons of two character options where each option may be -either the numeric code of a single character or a list of -character alternatives. For example to split on balanced -instances of \"[ \t]:\" set ALTS to ((32 9) . 58)." - (let* ((matches (lambda (ch spec) (if (listp spec) (member ch spec) (equal spec ch)))) - (matched (lambda (ch last) - (if (consp alts) - (and (funcall matches ch (cdr alts)) - (funcall matches last (car alts))) - (funcall matches ch alts)))) - (balance 0) (last 0) - quote partial lst) - (mapc (lambda (ch) ; split on [], (), "" balanced instances of [ \t]: - (setq balance (+ balance - (cond ((or (equal 91 ch) (equal 40 ch)) 1) - ((or (equal 93 ch) (equal 41 ch)) -1) - (t 0)))) - (when (and (equal 34 ch) (not (equal 92 last))) - (setq quote (not quote))) - (setq partial (cons ch partial)) - (when (and (= balance 0) (not quote) (funcall matched ch last)) - (setq lst (cons (apply #'string (nreverse - (if (consp alts) - (cddr partial) - (cdr partial)))) - lst)) - (setq partial nil)) - (setq last ch)) - (string-to-list string)) - (nreverse (cons (apply #'string (nreverse partial)) lst)))) +ALTS is a character, or cons of two character options where each +option may be either the numeric code of a single character or +a list of character alternatives. For example, to split on +balanced instances of \"[ \t]:\", set ALTS to ((32 9) . 58)." + (with-temp-buffer + (insert string) + (goto-char (point-min)) + (let ((splitp (lambda (past next) + ;; Non-nil when there should be a split after NEXT + ;; character. PAST is the character before NEXT. + (pcase alts + (`(,(and first (pred consp)) . ,(and second (pred consp))) + (and (memq past first) (memq next second))) + (`(,first . ,(and second (pred consp))) + (and (eq past first) (memq next second))) + (`(,(and first (pred consp)) . ,second) + (and (memq past first) (eq next second))) + (`(,first . ,second) + (and (eq past first) (eq next second))) + ((pred (eq next)) t) + (_ nil)))) + (partial nil) + (result nil)) + (while (not (eobp)) + (cond + ((funcall splitp (char-before) (char-after)) + ;; There is a split after point. If ALTS is two-folds, + ;; remove last parsed character as it belongs to ALTS. + (when (consp alts) (pop partial)) + ;; Include elements parsed so far in RESULTS and flush + ;; partial parsing. + (when partial + (push (apply #'string (nreverse partial)) result) + (setq partial nil)) + (forward-char)) + ((memq (char-after) '(?\( ?\[)) + ;; Include everything between balanced brackets. + (let* ((origin (point)) + (after (char-after)) + (openings (list after))) + (forward-char) + (while (and openings (re-search-forward "[]()]" nil t)) + (pcase (char-before) + ((and match (or ?\[ ?\()) (push match openings)) + (?\] (when (eq ?\[ (car openings)) (pop openings))) + (_ (when (eq ?\( (car openings)) (pop openings))))) + (if (null openings) + (setq partial + (nconc (nreverse (string-to-list + (buffer-substring origin (point)))) + partial)) + ;; Un-balanced bracket. Backtrack. + (push after partial) + (goto-char (1+ origin))))) + ((and (eq ?\" (char-after)) (not (eq ?\\ (char-before)))) + ;; Include everything from current double quote to next + ;; non-escaped double quote. + (let ((origin (point))) + (if (re-search-forward "[^\\]\"" nil t) + (setq partial + (nconc (nreverse (string-to-list + (buffer-substring origin (point)))) + partial)) + ;; No closing double quote. Backtrack. + (push ?\" partial) + (forward-char)))) + (t (push (char-after) partial) + (forward-char)))) + ;; Add pending parsing and return result. + (when partial (push (apply #'string (nreverse partial)) result)) + (nreverse result)))) (defun org-babel-join-splits-near-ch (ch list) "Join splits where \"=\" is on either end of the split." @@ -1719,16 +1757,20 @@ NAME, or nil if no such block exists. Set match data according to `org-babel-named-src-block-regexp'." (save-excursion (goto-char (point-min)) - (ignore-errors - (org-next-block 1 nil (org-babel-named-src-block-regexp-for-name name))))) + (let ((regexp (org-babel-named-src-block-regexp-for-name name))) + (or (and (looking-at regexp) + (progn (goto-char (match-beginning 1)) + (line-beginning-position))) + (ignore-errors (org-next-block 1 nil regexp)))))) (defun org-babel-src-block-names (&optional file) "Returns the names of source blocks in FILE or the current buffer." (when file (find-file file)) (save-excursion (goto-char (point-min)) - (let ((re (org-babel-named-src-block-regexp-for-name)) - names) + (let* ((re (org-babel-named-src-block-regexp-for-name)) + (names (and (looking-at re) + (list (match-string-no-properties 9))))) (while (ignore-errors (org-next-block 1 nil re)) (push (match-string-no-properties 9) names)) names))) @@ -2236,21 +2278,22 @@ INFO may provide the values of these header arguments (in the ((member "prepend" result-params))) ; already there (setq results-switches (if results-switches (concat " " results-switches) "")) - (let ((wrap (lambda (start finish &optional no-escape no-newlines - inline-start inline-finish) - (when inline - (setq start inline-start) - (setq finish inline-finish) - (setq no-newlines t)) - (goto-char end) - (insert (concat finish (unless no-newlines "\n"))) - (goto-char beg) - (insert (concat start (unless no-newlines "\n"))) - (unless no-escape - (org-escape-code-in-region (min (point) end) end)) - (goto-char end) - (unless no-newlines (goto-char (point-at-eol))) - (setq end (point-marker)))) + (let ((wrap + (lambda (start finish &optional no-escape no-newlines + inline-start inline-finish) + (when inline + (setq start inline-start) + (setq finish inline-finish) + (setq no-newlines t)) + (let ((before-finish (marker-position end))) + (goto-char end) + (insert (concat finish (unless no-newlines "\n"))) + (goto-char beg) + (insert (concat start (unless no-newlines "\n"))) + (unless no-escape + (org-escape-code-in-region + (min (point) before-finish) before-finish)) + (goto-char end)))) (tabulablep (lambda (r) ;; Non-nil when result R can be turned into @@ -2304,13 +2347,13 @@ INFO may provide the values of these header arguments (in the (insert (org-macro-escape-arguments (org-babel-chomp result "\n")))) (t (goto-char beg) (insert result))) - (setq end (point-marker)) + (setq end (copy-marker (point) t)) ;; possibly wrap result (cond ((assq :wrap (nth 2 info)) (let ((name (or (cdr (assq :wrap (nth 2 info))) "RESULTS"))) (funcall wrap (concat "#+BEGIN_" name) - (concat "#+END_" (car (org-split-string name))) + (concat "#+END_" (car (split-string name))) nil nil (concat "{{{results(@@" name ":") "@@)}}}"))) ((member "html" result-params) (funcall wrap "#+BEGIN_EXPORT html" "#+END_EXPORT" nil nil @@ -2341,11 +2384,12 @@ INFO may provide the values of these header arguments (in the ((and (not (funcall tabulablep result)) (not (member "file" result-params))) (let ((org-babel-inline-result-wrap - ;; Hard code {{{results(...)}}} on top of customization. + ;; Hard code {{{results(...)}}} on top of + ;; customization. (format "{{{results(%s)}}}" org-babel-inline-result-wrap))) - (org-babel-examplify-region beg end results-switches inline) - (setq end (point)))))) + (org-babel-examplify-region + beg end results-switches inline))))) ;; Possibly indent results in par with #+results line. (when (and (not inline) (numberp indent) (> indent 0) ;; In this case `table-align' does the work @@ -2358,6 +2402,7 @@ INFO may provide the values of these header arguments (in the (message "Code block returned no value.") (message "Code block produced no output.")) (message "Code block evaluation complete."))) + (set-marker end nil) (when outside-scope (narrow-to-region visible-beg visible-end)) (set-marker visible-beg nil) (set-marker visible-end nil))))))) @@ -2854,24 +2899,20 @@ Otherwise if CELL looks like lisp (meaning it starts with a lisp, otherwise return it unmodified as a string. Optional argument INHIBIT-LISP-EVAL inhibits lisp evaluation for situations in which is it not appropriate." - (if (and (stringp cell) (not (equal cell ""))) - (or (org-babel--string-to-number cell) - (if (and (not inhibit-lisp-eval) - (or (member (substring cell 0 1) '("(" "'" "`" "[")) - (string= cell "*this*"))) - (eval (read cell) t) - (if (string= (substring cell 0 1) "\"") - (read cell) - (progn (set-text-properties 0 (length cell) nil cell) cell)))) - cell)) + (cond ((not (org-string-nw-p cell)) cell) + ((org-babel--string-to-number cell)) + ((and (not inhibit-lisp-eval) + (or (memq (string-to-char cell) '(?\( ?' ?` ?\[)) + (string= cell "*this*"))) + (eval (read cell) t)) + ((eq (string-to-char cell) ?\") (read cell)) + (t (org-no-properties cell)))) (defun org-babel--string-to-number (string) "If STRING represents a number return its value. - Otherwise return nil." - (when (string-match "\\`-?[0-9]*\\.?[0-9]*\\'" string) - (string-to-number string))) -(define-obsolete-function-alias 'org-babel-number-p 'org-babel--string-to-number "Org 9.0") + (and (string-match-p "\\`-?[0-9]*\\.?[0-9]*\\'" string) + (string-to-number string))) (defun org-babel-import-elisp-from-file (file-name &optional separator) "Read the results located at FILE-NAME into an elisp table. diff --git a/elpa/org-20170407/ob-css.el b/elpa/org-20171009/ob-css.el similarity index 95% rename from elpa/org-20170407/ob-css.el rename to elpa/org-20171009/ob-css.el index 4203b125..b3982db3 100644 --- a/elpa/org-20170407/ob-css.el +++ b/elpa/org-20171009/ob-css.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-ditaa.el b/elpa/org-20171009/ob-ditaa.el similarity index 98% rename from elpa/org-20170407/ob-ditaa.el rename to elpa/org-20171009/ob-ditaa.el index 89b5d246..2a7c7556 100644 --- a/elpa/org-20170407/ob-ditaa.el +++ b/elpa/org-20171009/ob-ditaa.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-dot.el b/elpa/org-20171009/ob-dot.el similarity index 97% rename from elpa/org-20170407/ob-dot.el rename to elpa/org-20171009/ob-dot.el index 81442bfc..8c8e2fbd 100644 --- a/elpa/org-20170407/ob-dot.el +++ b/elpa/org-20171009/ob-dot.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-ebnf.el b/elpa/org-20171009/ob-ebnf.el similarity index 82% rename from elpa/org-20170407/ob-ebnf.el rename to elpa/org-20171009/ob-ebnf.el index 410570bc..6bb9b81b 100644 --- a/elpa/org-20170407/ob-ebnf.el +++ b/elpa/org-20171009/ob-ebnf.el @@ -7,27 +7,25 @@ ;; Homepage: http://orgmode.org ;; Version: 1.00 -;;; License: +;; This file is part of GNU Emacs. -;; This program is free software; you can redistribute it and/or modify +;; GNU Emacs 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 3, or (at your option) -;; any later version. -;; -;; This program is distributed in the hope that it will be useful, +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; GNU Emacs 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 GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -;; Boston, MA 02110-1301, USA. +;; along with GNU Emacs. If not, see . ;;; Commentary: ;;; Org-Babel support for using ebnf2ps to generate encapsulated postscript -;;; railroad diagrams. It recogises these arguments: +;;; railroad diagrams. It recognizes these arguments: ;;; ;;; :file is required; it must include the extension '.eps.' All the rules ;;; in the block will be drawn in the same file. This is done by @@ -35,7 +33,7 @@ ;;; documentation for ebnf-eps-buffer for more information). ;;; ;;; :style specifies a value in ebnf-style-database. This provides the -;;; ability to customise the output. The style can also specify the +;;; ability to customize the output. The style can also specify the ;;; grammar syntax (by setting ebnf-syntax); note that only ebnf, ;;; iso-ebnf, and yacc are supported by this file. diff --git a/elpa/org-20170407/ob-emacs-lisp.el b/elpa/org-20171009/ob-emacs-lisp.el similarity index 67% rename from elpa/org-20170407/ob-emacs-lisp.el rename to elpa/org-20171009/ob-emacs-lisp.el index c0bd12a8..4736d895 100644 --- a/elpa/org-20170407/ob-emacs-lisp.el +++ b/elpa/org-20171009/ob-emacs-lisp.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: @@ -41,41 +41,38 @@ their value. It is used as the optional LEXICAL argument to (defun org-babel-expand-body:emacs-lisp (body params) "Expand BODY according to PARAMS, return the expanded body." - (let* ((vars (org-babel--get-vars params)) - (result-params (cdr (assq :result-params params))) - (print-level nil) (print-length nil) - (body (if (> (length vars) 0) - (concat "(let (" - (mapconcat - (lambda (var) - (format "%S" (print `(,(car var) ',(cdr var))))) - vars "\n ") - ")\n" body "\n)") - (concat body "\n")))) - (if (or (member "code" result-params) - (member "pp" result-params)) - (concat "(pp " body ")") body))) + (let ((vars (org-babel--get-vars params)) + (print-level nil) + (print-length nil)) + (if (null vars) (concat body "\n") + (format "(let (%s)\n%s\n)" + (mapconcat + (lambda (var) + (format "%S" (print `(,(car var) ',(cdr var))))) + vars "\n ") + body)))) (defun org-babel-execute:emacs-lisp (body params) "Execute a block of emacs-lisp code with Babel." (save-window-excursion (let* ((lexical (cdr (assq :lexical params))) - (result - (eval (read (format (if (member "output" - (cdr (assq :result-params params))) - "(with-output-to-string %s)" - "(progn %s)") - (org-babel-expand-body:emacs-lisp - body params))) - - (if (listp lexical) - lexical - (member lexical '("yes" "t")))))) - (org-babel-result-cond (cdr (assq :result-params params)) + (result-params (cdr (assq :result-params params))) + (body (format (if (member "output" result-params) + "(with-output-to-string %s\n)" + "(progn %s\n)") + (org-babel-expand-body:emacs-lisp body params))) + (result (eval (read (if (or (member "code" result-params) + (member "pp" result-params)) + (concat "(pp " body ")") + body)) + (if (listp lexical) + lexical + (member lexical '("yes" "t")))))) + (org-babel-result-cond result-params (let ((print-level nil) (print-length nil)) - (if (or (member "scalar" (cdr (assq :result-params params))) - (member "verbatim" (cdr (assq :result-params params)))) + (if (or (member "scalar" result-params) + (member "verbatim" result-params)) (format "%S" result) (format "%s" result))) (org-babel-reassemble-table diff --git a/elpa/org-20170407/ob-eval.el b/elpa/org-20171009/ob-eval.el similarity index 98% rename from elpa/org-20170407/ob-eval.el rename to elpa/org-20171009/ob-eval.el index 324cf5fb..4ce91c78 100644 --- a/elpa/org-20170407/ob-eval.el +++ b/elpa/org-20171009/ob-eval.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-exp.el b/elpa/org-20171009/ob-exp.el similarity index 96% rename from elpa/org-20170407/ob-exp.el rename to elpa/org-20171009/ob-exp.el index d966cd91..9606d3e4 100644 --- a/elpa/org-20170407/ob-exp.el +++ b/elpa/org-20171009/ob-exp.el @@ -20,7 +20,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Code: (require 'ob-core) @@ -41,14 +41,12 @@ (defcustom org-export-use-babel t "Switch controlling code evaluation and header processing during export. When set to nil no code will be evaluated as part of the export -process and no header arguments will be obeyed. When set to -`inline-only', only inline code blocks will be executed. Users -who wish to avoid evaluating code on export should use the header -argument `:eval never-export'." +process and no header arguments will be obeyed. Users who wish +to avoid evaluating code on export should use the header argument +`:eval never-export'." :group 'org-babel :version "24.1" :type '(choice (const :tag "Never" nil) - (const :tag "Only inline code" inline-only) (const :tag "Always" t)) :safe #'null) @@ -132,9 +130,7 @@ this template." (when org-export-use-babel (save-window-excursion (let ((case-fold-search t) - (regexp (if (eq org-export-use-babel 'inline-only) - "\\(call\\|src\\)_" - "\\(call\\|src\\)_\\|^[ \t]*#\\+\\(BEGIN_SRC\\|CALL:\\)")) + (regexp "\\(call\\|src\\)_\\|^[ \t]*#\\+\\(BEGIN_SRC\\|CALL:\\)") ;; Get a pristine copy of current buffer so Babel ;; references are properly resolved and source block ;; context is preserved. diff --git a/elpa/org-20170407/ob-forth.el b/elpa/org-20171009/ob-forth.el similarity index 97% rename from elpa/org-20170407/ob-forth.el rename to elpa/org-20171009/ob-forth.el index 152cf727..bb8d9af4 100644 --- a/elpa/org-20170407/ob-forth.el +++ b/elpa/org-20171009/ob-forth.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-fortran.el b/elpa/org-20171009/ob-fortran.el similarity index 98% rename from elpa/org-20170407/ob-fortran.el rename to elpa/org-20171009/ob-fortran.el index d059245b..50b12fc2 100644 --- a/elpa/org-20170407/ob-fortran.el +++ b/elpa/org-20171009/ob-fortran.el @@ -20,7 +20,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-gnuplot.el b/elpa/org-20171009/ob-gnuplot.el similarity index 98% rename from elpa/org-20170407/ob-gnuplot.el rename to elpa/org-20171009/ob-gnuplot.el index a62303ff..76338627 100644 --- a/elpa/org-20170407/ob-gnuplot.el +++ b/elpa/org-20171009/ob-gnuplot.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: @@ -40,7 +40,7 @@ ;;; Code: (require 'ob) -(declare-function org-time-string-to-time "org" (s &optional buffer pos)) +(declare-function org-time-string-to-time "org" (s &optional zone)) (declare-function org-combine-plists "org" (&rest plists)) (declare-function orgtbl-to-generic "org-table" (table params)) (declare-function gnuplot-mode "ext:gnuplot-mode" ()) @@ -187,7 +187,7 @@ This function is called by `org-babel-execute-src-block'." script-file (if (member system-type '(cygwin windows-nt ms-dos)) t nil))))) - (message output)) + (message "%s" output)) (with-temp-buffer (insert (concat body "\n")) (gnuplot-mode) diff --git a/elpa/org-20170407/ob-groovy.el b/elpa/org-20171009/ob-groovy.el similarity index 98% rename from elpa/org-20170407/ob-groovy.el rename to elpa/org-20171009/ob-groovy.el index 69993c0f..1e602dd0 100644 --- a/elpa/org-20170407/ob-groovy.el +++ b/elpa/org-20171009/ob-groovy.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: ;; Currently only supports the external execution. No session support yet. diff --git a/elpa/org-20170407/ob-haskell.el b/elpa/org-20171009/ob-haskell.el similarity index 99% rename from elpa/org-20170407/ob-haskell.el rename to elpa/org-20171009/ob-haskell.el index ecce6dcd..cc78bec3 100644 --- a/elpa/org-20170407/ob-haskell.el +++ b/elpa/org-20171009/ob-haskell.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-hledger.el b/elpa/org-20171009/ob-hledger.el similarity index 94% rename from elpa/org-20170407/ob-hledger.el rename to elpa/org-20171009/ob-hledger.el index 371b9c6b..57ab8af4 100644 --- a/elpa/org-20170407/ob-hledger.el +++ b/elpa/org-20171009/ob-hledger.el @@ -1,4 +1,4 @@ -;; ob-ledger.el --- Babel Functions for hledger -*- lexical-binding: t; -*- +;; ob-hledger.el --- Babel Functions for hledger -*- lexical-binding: t; -*- ;; Copyright (C) 2010-2017 Free Software Foundation, Inc. @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-io.el b/elpa/org-20171009/ob-io.el similarity index 98% rename from elpa/org-20170407/ob-io.el rename to elpa/org-20171009/ob-io.el index 5dd61109..35b92ef6 100644 --- a/elpa/org-20170407/ob-io.el +++ b/elpa/org-20171009/ob-io.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: ;; Currently only supports the external execution. No session support yet. diff --git a/elpa/org-20170407/ob-java.el b/elpa/org-20171009/ob-java.el similarity index 97% rename from elpa/org-20170407/ob-java.el rename to elpa/org-20171009/ob-java.el index 7e720231..608e2e88 100644 --- a/elpa/org-20170407/ob-java.el +++ b/elpa/org-20171009/ob-java.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-js.el b/elpa/org-20171009/ob-js.el similarity index 98% rename from elpa/org-20170407/ob-js.el rename to elpa/org-20171009/ob-js.el index 91be6b07..e344b7a5 100644 --- a/elpa/org-20170407/ob-js.el +++ b/elpa/org-20171009/ob-js.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-keys.el b/elpa/org-20171009/ob-keys.el similarity index 98% rename from elpa/org-20170407/ob-keys.el rename to elpa/org-20171009/ob-keys.el index f5fb9101..170c0063 100644 --- a/elpa/org-20170407/ob-keys.el +++ b/elpa/org-20171009/ob-keys.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-latex.el b/elpa/org-20171009/ob-latex.el similarity index 99% rename from elpa/org-20170407/ob-latex.el rename to elpa/org-20171009/ob-latex.el index 763ffb16..6964fde5 100644 --- a/elpa/org-20170407/ob-latex.el +++ b/elpa/org-20171009/ob-latex.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-ledger.el b/elpa/org-20171009/ob-ledger.el similarity index 97% rename from elpa/org-20170407/ob-ledger.el rename to elpa/org-20171009/ob-ledger.el index c02069e2..4f10ebe0 100644 --- a/elpa/org-20170407/ob-ledger.el +++ b/elpa/org-20171009/ob-ledger.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-lilypond.el b/elpa/org-20171009/ob-lilypond.el similarity index 99% rename from elpa/org-20170407/ob-lilypond.el rename to elpa/org-20171009/ob-lilypond.el index 37a7a6b5..0cc85685 100644 --- a/elpa/org-20170407/ob-lilypond.el +++ b/elpa/org-20171009/ob-lilypond.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: @@ -89,7 +89,7 @@ you can leave the string empty on this case." (string :tag "Lilypond ") (string :tag "PDF Viewer ") (string :tag "MIDI Player")) - :version "24.3" + :version "24.4" :package-version '(Org . "8.2.7") :set (lambda (_symbol value) diff --git a/elpa/org-20170407/ob-lisp.el b/elpa/org-20171009/ob-lisp.el similarity index 98% rename from elpa/org-20170407/ob-lisp.el rename to elpa/org-20171009/ob-lisp.el index 1e381d0c..d98098e1 100644 --- a/elpa/org-20170407/ob-lisp.el +++ b/elpa/org-20171009/ob-lisp.el @@ -21,7 +21,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-lob.el b/elpa/org-20171009/ob-lob.el similarity index 93% rename from elpa/org-20170407/ob-lob.el rename to elpa/org-20171009/ob-lob.el index b6f50d33..13f728f3 100644 --- a/elpa/org-20170407/ob-lob.el +++ b/elpa/org-20171009/ob-lob.el @@ -20,7 +20,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Code: (require 'cl-lib) @@ -53,11 +53,15 @@ should not be inherited from a source block.") (let* ((info (org-babel-get-src-block-info 'light)) (source-name (nth 4 info))) (when source-name - (setq source-name (intern source-name) - org-babel-library-of-babel - (cons (cons source-name info) - (assq-delete-all source-name org-babel-library-of-babel)) - lob-ingest-count (1+ lob-ingest-count))))) + (setf (nth 1 info) + (if (org-babel-noweb-p (nth 2 info) :eval) + (org-babel-expand-noweb-references info) + (nth 1 info))) + (let ((source (intern source-name))) + (setq org-babel-library-of-babel + (cons (cons source info) + (assq-delete-all source org-babel-library-of-babel)))) + (cl-incf lob-ingest-count)))) (message "%d src block%s added to Library of Babel" lob-ingest-count (if (> lob-ingest-count 1) "s" "")) lob-ingest-count)) diff --git a/elpa/org-20170407/ob-lua.el b/elpa/org-20171009/ob-lua.el similarity index 98% rename from elpa/org-20170407/ob-lua.el rename to elpa/org-20171009/ob-lua.el index fa60b0ee..fc9d9f2f 100644 --- a/elpa/org-20170407/ob-lua.el +++ b/elpa/org-20171009/ob-lua.el @@ -1,6 +1,6 @@ ;;; ob-lua.el --- Org Babel functions for Lua evaluation -*- lexical-binding: t; -*- -;; Copyright (C) 2014, 2016, 2017 Free Software Foundation, Inc. +;; Copyright (C) 2014, 2016-2017 Free Software Foundation, Inc. ;; Authors: Dieter Schoen ;; Keywords: literate programming, reproducible research @@ -19,13 +19,13 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;; Requirements: ;; for session support, lua-mode is needed. ;; lua-mode is not part of GNU Emacs/orgmode, but can be obtained ;; from marmalade or melpa. -;; The source respository is here: +;; The source repository is here: ;; https://github.com/immerrr/lua-mode ;; However, sessions are not yet working. @@ -49,7 +49,7 @@ (defcustom org-babel-lua-command "lua" "Name of the command for executing Lua code." - :version "24.5" + :version "26.1" :package-version '(Org . "8.3") :group 'org-babel :type 'string) @@ -58,21 +58,21 @@ "Preferred lua mode for use in running lua interactively. This will typically be 'lua-mode." :group 'org-babel - :version "24.5" + :version "26.1" :package-version '(Org . "8.3") :type 'symbol) (defcustom org-babel-lua-hline-to "None" "Replace hlines in incoming tables with this when translating to lua." :group 'org-babel - :version "24.5" + :version "26.1" :package-version '(Org . "8.3") :type 'string) (defcustom org-babel-lua-None-to 'hline "Replace 'None' in lua tables with this before returning." :group 'org-babel - :version "24.5" + :version "26.1" :package-version '(Org . "8.3") :type 'symbol) diff --git a/elpa/org-20170407/ob-makefile.el b/elpa/org-20171009/ob-makefile.el similarity index 95% rename from elpa/org-20170407/ob-makefile.el rename to elpa/org-20171009/ob-makefile.el index 2aa04fd2..14190ac1 100644 --- a/elpa/org-20170407/ob-makefile.el +++ b/elpa/org-20171009/ob-makefile.el @@ -20,7 +20,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-matlab.el b/elpa/org-20171009/ob-matlab.el similarity index 94% rename from elpa/org-20170407/ob-matlab.el rename to elpa/org-20171009/ob-matlab.el index 23cfa36d..e30ce8da 100644 --- a/elpa/org-20170407/ob-matlab.el +++ b/elpa/org-20171009/ob-matlab.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-maxima.el b/elpa/org-20171009/ob-maxima.el similarity index 98% rename from elpa/org-20170407/ob-maxima.el rename to elpa/org-20171009/ob-maxima.el index 350f66b7..224b3605 100644 --- a/elpa/org-20170407/ob-maxima.el +++ b/elpa/org-20171009/ob-maxima.el @@ -20,7 +20,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-mscgen.el b/elpa/org-20171009/ob-mscgen.el similarity index 97% rename from elpa/org-20170407/ob-mscgen.el rename to elpa/org-20171009/ob-mscgen.el index 5c9dccc6..784e0a94 100644 --- a/elpa/org-20170407/ob-mscgen.el +++ b/elpa/org-20171009/ob-mscgen.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: ;; diff --git a/elpa/org-20170407/ob-ocaml.el b/elpa/org-20171009/ob-ocaml.el similarity index 98% rename from elpa/org-20170407/ob-ocaml.el rename to elpa/org-20171009/ob-ocaml.el index 7997ff03..fd0ddf8a 100644 --- a/elpa/org-20170407/ob-ocaml.el +++ b/elpa/org-20171009/ob-ocaml.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-octave.el b/elpa/org-20171009/ob-octave.el similarity index 99% rename from elpa/org-20170407/ob-octave.el rename to elpa/org-20171009/ob-octave.el index 90735b11..0f516062 100644 --- a/elpa/org-20170407/ob-octave.el +++ b/elpa/org-20171009/ob-octave.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-org.el b/elpa/org-20171009/ob-org.el similarity index 97% rename from elpa/org-20170407/ob-org.el rename to elpa/org-20171009/ob-org.el index 5683b96f..232c2d01 100644 --- a/elpa/org-20170407/ob-org.el +++ b/elpa/org-20171009/ob-org.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-perl.el b/elpa/org-20171009/ob-perl.el similarity index 98% rename from elpa/org-20170407/ob-perl.el rename to elpa/org-20171009/ob-perl.el index 62df8c55..2f462cf4 100644 --- a/elpa/org-20170407/ob-perl.el +++ b/elpa/org-20171009/ob-perl.el @@ -20,7 +20,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-picolisp.el b/elpa/org-20171009/ob-picolisp.el similarity index 99% rename from elpa/org-20170407/ob-picolisp.el rename to elpa/org-20171009/ob-picolisp.el index f5773815..a1dbe6de 100644 --- a/elpa/org-20170407/ob-picolisp.el +++ b/elpa/org-20171009/ob-picolisp.el @@ -20,7 +20,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-plantuml.el b/elpa/org-20171009/ob-plantuml.el similarity index 98% rename from elpa/org-20170407/ob-plantuml.el rename to elpa/org-20171009/ob-plantuml.el index 70c8d787..8093100e 100644 --- a/elpa/org-20170407/ob-plantuml.el +++ b/elpa/org-20171009/ob-plantuml.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-processing.el b/elpa/org-20171009/ob-processing.el similarity index 98% rename from elpa/org-20170407/ob-processing.el rename to elpa/org-20171009/ob-processing.el index a18a53cb..4e09abc9 100644 --- a/elpa/org-20170407/ob-processing.el +++ b/elpa/org-20171009/ob-processing.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-python.el b/elpa/org-20171009/ob-python.el similarity index 98% rename from elpa/org-20170407/ob-python.el rename to elpa/org-20171009/ob-python.el index b838a48b..60ec5fa4 100644 --- a/elpa/org-20170407/ob-python.el +++ b/elpa/org-20171009/ob-python.el @@ -20,7 +20,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: @@ -73,15 +73,16 @@ This will typically be either `python' or `python-mode'." (defun org-babel-execute:python (body params) "Execute a block of Python code with Babel. This function is called by `org-babel-execute-src-block'." - (let* ((session (org-babel-python-initiate-session + (let* ((org-babel-python-command + (or (cdr (assq :python params)) + org-babel-python-command)) + (session (org-babel-python-initiate-session (cdr (assq :session params)))) (result-params (cdr (assq :result-params params))) (result-type (cdr (assq :result-type params))) (return-val (when (and (eq result-type 'value) (not session)) (cdr (assq :return params)))) (preamble (cdr (assq :preamble params))) - (org-babel-python-command - (or (cdr (assq :python params)) org-babel-python-command)) (full-body (org-babel-expand-body:generic (concat body (if return-val (format "\nreturn %s" return-val) "")) diff --git a/elpa/org-20170407/ob-ref.el b/elpa/org-20171009/ob-ref.el similarity index 98% rename from elpa/org-20170407/ob-ref.el rename to elpa/org-20171009/ob-ref.el index f30f49bf..323cdc7e 100644 --- a/elpa/org-20170407/ob-ref.el +++ b/elpa/org-20171009/ob-ref.el @@ -20,7 +20,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: @@ -131,7 +131,7 @@ the variable." ;; if ref is indexed grab the indices -- beware nested indices (when (and (string-match "\\[\\([^\\[]+\\)\\]$" ref) (let ((str (substring ref 0 (match-beginning 0)))) - (= (cl-count ?( str) (cl-count ?) str)))) + (= (cl-count ?\( str) (cl-count ?\) str)))) (setq index (match-string 1 ref)) (setq ref (substring ref 0 (match-beginning 0)))) ;; assign any arguments to pass to source block diff --git a/elpa/org-20170407/ob-ruby.el b/elpa/org-20171009/ob-ruby.el similarity index 99% rename from elpa/org-20170407/ob-ruby.el rename to elpa/org-20171009/ob-ruby.el index d0557835..d9525ea3 100644 --- a/elpa/org-20170407/ob-ruby.el +++ b/elpa/org-20171009/ob-ruby.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-sass.el b/elpa/org-20171009/ob-sass.el similarity index 97% rename from elpa/org-20170407/ob-sass.el rename to elpa/org-20171009/ob-sass.el index a9a2a9f0..769c9011 100644 --- a/elpa/org-20170407/ob-sass.el +++ b/elpa/org-20171009/ob-sass.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-scheme.el b/elpa/org-20171009/ob-scheme.el similarity index 56% rename from elpa/org-20170407/ob-scheme.el rename to elpa/org-20171009/ob-scheme.el index cd8c3860..f67080ad 100644 --- a/elpa/org-20170407/ob-scheme.el +++ b/elpa/org-20171009/ob-scheme.el @@ -20,7 +20,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: @@ -32,7 +32,7 @@ ;;; Requirements: ;; - a working scheme implementation -;; (e.g. guile http://www.gnu.org/software/guile/guile.html) +;; (e.g. guile https://www.gnu.org/software/guile/guile.html) ;; ;; - for session based evaluation geiser is required, which is available from ;; ELPA. @@ -44,37 +44,51 @@ (defvar geiser-impl--implementation) ; Defined in geiser-impl.el (defvar geiser-default-implementation) ; Defined in geiser-impl.el (defvar geiser-active-implementations) ; Defined in geiser-impl.el +(defvar geiser-debug-show-debug-p) ; Defined in geiser-debug.el +(defvar geiser-debug-jump-to-debug-p) ; Defined in geiser-debug.el +(defvar geiser-repl-use-other-window) ; Defined in geiser-repl.el +(defvar geiser-repl-window-allow-split) ; Defined in geiser-repl.el (declare-function run-geiser "ext:geiser-repl" (impl)) (declare-function geiser-mode "ext:geiser-mode" ()) (declare-function geiser-eval-region "ext:geiser-mode" (start end &optional and-go raw nomsg)) (declare-function geiser-repl-exit "ext:geiser-repl" (&optional arg)) +(declare-function geiser-eval--retort-output "ext:geiser-eval" (ret)) +(declare-function geiser-eval--retort-result-str "ext:geiser-eval" (ret prefix)) + +(defcustom org-babel-scheme-null-to 'hline + "Replace `null' and empty lists in scheme tables with this before returning." + :group 'org-babel + :version "26.1" + :package-version '(Org . "9.1") + :type 'symbol) (defvar org-babel-default-header-args:scheme '() "Default header arguments for scheme code blocks.") (defun org-babel-expand-body:scheme (body params) "Expand BODY according to PARAMS, return the expanded body." - (let ((vars (org-babel--get-vars params))) - (if (> (length vars) 0) - (concat "(let (" - (mapconcat - (lambda (var) (format "%S" (print `(,(car var) ',(cdr var))))) - vars "\n ") - ")\n" body ")") - body))) - - -(defvar org-babel-scheme-repl-map (make-hash-table :test 'equal) + (let ((vars (org-babel--get-vars params)) + (prepends (cdr (assq :prologue params)))) + (concat (and prepends (concat prepends "\n")) + (if (null vars) body + (format "(let (%s)\n%s\n)" + (mapconcat + (lambda (var) + (format "%S" (print `(,(car var) ',(cdr var))))) + vars + "\n ") + body))))) + + +(defvar org-babel-scheme-repl-map (make-hash-table :test #'equal) "Map of scheme sessions to session names.") (defun org-babel-scheme-cleanse-repl-map () "Remove dead buffers from the REPL map." (maphash - (lambda (x y) - (when (not (buffer-name y)) - (remhash x org-babel-scheme-repl-map))) + (lambda (x y) (unless (buffer-name y) (remhash x org-babel-scheme-repl-map))) org-babel-scheme-repl-map)) (defun org-babel-scheme-get-session-buffer (session-name) @@ -112,12 +126,9 @@ If the session is unnamed (nil), generate a name. If the session is `none', use nil for the session name, and org-babel-scheme-execute-with-geiser will use a temporary session." - (let ((result - (cond ((not name) - (concat buffer " " (symbol-name impl) " REPL")) - ((string= name "none") nil) - (name)))) - result)) + (cond ((not name) (concat buffer " " (symbol-name impl) " REPL")) + ((string= name "none") nil) + (name))) (defmacro org-babel-scheme-capture-current-message (&rest body) "Capture current message in both interactive and noninteractive mode" @@ -145,37 +156,46 @@ is true; otherwise returns the last value." (with-temp-buffer (insert (format ";; -*- geiser-scheme-implementation: %s -*-" impl)) (newline) - (insert (if output - (format "(with-output-to-string (lambda () %s))" code) - code)) + (insert code) (geiser-mode) - (let ((repl-buffer (save-current-buffer - (org-babel-scheme-get-repl impl repl)))) - (when (not (eq impl (org-babel-scheme-get-buffer-impl - (current-buffer)))) - (message "Implementation mismatch: %s (%s) %s (%s)" impl (symbolp impl) - (org-babel-scheme-get-buffer-impl (current-buffer)) - (symbolp (org-babel-scheme-get-buffer-impl - (current-buffer))))) - (setq geiser-repl--repl repl-buffer) - (setq geiser-impl--implementation nil) - (setq result (org-babel-scheme-capture-current-message - (geiser-eval-region (point-min) (point-max)))) - (setq result - (if (and (stringp result) (equal (substring result 0 3) "=> ")) - (replace-regexp-in-string "^=> " "" result) - "\"An error occurred.\"")) - (when (not repl) - (save-current-buffer (set-buffer repl-buffer) - (geiser-repl-exit)) - (set-process-query-on-exit-flag (get-buffer-process repl-buffer) nil) - (kill-buffer repl-buffer)) - (setq result (if (or (string= result "#") - (string= result "#")) - nil - result)))) + (let ((geiser-repl-window-allow-split nil) + (geiser-repl-use-other-window nil)) + (let ((repl-buffer (save-current-buffer + (org-babel-scheme-get-repl impl repl)))) + (when (not (eq impl (org-babel-scheme-get-buffer-impl + (current-buffer)))) + (message "Implementation mismatch: %s (%s) %s (%s)" impl (symbolp impl) + (org-babel-scheme-get-buffer-impl (current-buffer)) + (symbolp (org-babel-scheme-get-buffer-impl + (current-buffer))))) + (setq geiser-repl--repl repl-buffer) + (setq geiser-impl--implementation nil) + (let ((geiser-debug-jump-to-debug-p nil) + (geiser-debug-show-debug-p nil)) + (let ((ret (geiser-eval-region (point-min) (point-max)))) + (setq result (if output + (geiser-eval--retort-output ret) + (geiser-eval--retort-result-str ret ""))))) + (when (not repl) + (save-current-buffer (set-buffer repl-buffer) + (geiser-repl-exit)) + (set-process-query-on-exit-flag (get-buffer-process repl-buffer) nil) + (kill-buffer repl-buffer))))) result)) +(defun org-babel-scheme--table-or-string (results) + "Convert RESULTS into an appropriate elisp value. +If the results look like a list or tuple, then convert them into an +Emacs-lisp table, otherwise return the results as a string." + (let ((res (org-babel-script-escape results))) + (cond ((listp res) + (mapcar (lambda (el) + (if (or (null el) (eq el 'null)) + org-babel-scheme-null-to + el)) + res)) + (t res)))) + (defun org-babel-execute:scheme (body params) "Execute a block of Scheme code with org-babel. This function is called by `org-babel-execute-src-block'" @@ -184,24 +204,28 @@ This function is called by `org-babel-execute-src-block'" "^ ?\\*\\([^*]+\\)\\*" "\\1" (buffer-name source-buffer)))) (save-excursion - (org-babel-reassemble-table - (let* ((result-type (cdr (assq :result-type params))) - (impl (or (when (cdr (assq :scheme params)) - (intern (cdr (assq :scheme params)))) - geiser-default-implementation - (car geiser-active-implementations))) - (session (org-babel-scheme-make-session-name - source-buffer-name (cdr (assq :session params)) impl)) - (full-body (org-babel-expand-body:scheme body params))) - (org-babel-scheme-execute-with-geiser - full-body ; code - (string= result-type "output") ; output? - impl ; implementation - (and (not (string= session "none")) session))) ; session - (org-babel-pick-name (cdr (assq :colname-names params)) - (cdr (assq :colnames params))) - (org-babel-pick-name (cdr (assq :rowname-names params)) - (cdr (assq :rownames params))))))) + (let* ((result-type (cdr (assq :result-type params))) + (impl (or (when (cdr (assq :scheme params)) + (intern (cdr (assq :scheme params)))) + geiser-default-implementation + (car geiser-active-implementations))) + (session (org-babel-scheme-make-session-name + source-buffer-name (cdr (assq :session params)) impl)) + (full-body (org-babel-expand-body:scheme body params)) + (result + (org-babel-scheme-execute-with-geiser + full-body ; code + (string= result-type "output") ; output? + impl ; implementation + (and (not (string= session "none")) session)))) ; session + (let ((table + (org-babel-reassemble-table + result + (org-babel-pick-name (cdr (assq :colname-names params)) + (cdr (assq :colnames params))) + (org-babel-pick-name (cdr (assq :rowname-names params)) + (cdr (assq :rownames params)))))) + (org-babel-scheme--table-or-string table)))))) (provide 'ob-scheme) diff --git a/elpa/org-20170407/ob-screen.el b/elpa/org-20171009/ob-screen.el similarity index 98% rename from elpa/org-20170407/ob-screen.el rename to elpa/org-20171009/ob-screen.el index 554f8c43..fbf167e0 100644 --- a/elpa/org-20170407/ob-screen.el +++ b/elpa/org-20171009/ob-screen.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-sed.el b/elpa/org-20171009/ob-sed.el similarity index 91% rename from elpa/org-20170407/ob-sed.el rename to elpa/org-20171009/ob-sed.el index 733c7e19..7bd0bfb7 100644 --- a/elpa/org-20170407/ob-sed.el +++ b/elpa/org-20171009/ob-sed.el @@ -8,20 +8,18 @@ ;; This file is part of GNU Emacs. -;;; License: - -;; This program is free software; you can redistribute it and/or modify +;; GNU Emacs 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 3, or (at your option) -;; any later version. -;; -;; This program is distributed in the hope that it will be useful, +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; GNU Emacs 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 GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-shell.el b/elpa/org-20171009/ob-shell.el similarity index 96% rename from elpa/org-20170407/ob-shell.el rename to elpa/org-20171009/ob-shell.el index 9c22af83..af64adb8 100644 --- a/elpa/org-20170407/ob-shell.el +++ b/elpa/org-20171009/ob-shell.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: @@ -140,11 +140,13 @@ This function is called by `org-babel-execute-src-block'." (defun org-babel--variable-assignments:bash (varname values &optional sep hline) "Represents the parameters as useful Bash shell variables." - (if (listp values) - (if (and (listp (car values)) (= 1 (length (car values)))) - (org-babel--variable-assignments:bash_array varname values sep hline) - (org-babel--variable-assignments:bash_assoc varname values sep hline)) - (org-babel--variable-assignments:sh-generic varname values sep hline))) + (pcase values + (`((,_ ,_ . ,_) . ,_) ;two-dimensional array + (org-babel--variable-assignments:bash_assoc varname values sep hline)) + (`(,_ . ,_) ;simple list + (org-babel--variable-assignments:bash_array varname values sep hline)) + (_ ;scalar value + (org-babel--variable-assignments:sh-generic varname values sep hline)))) (defun org-babel-variable-assignments:shell (params) "Return list of shell statements assigning the block's variables." diff --git a/elpa/org-20170407/ob-shen.el b/elpa/org-20171009/ob-shen.el similarity index 97% rename from elpa/org-20170407/ob-shen.el rename to elpa/org-20171009/ob-shen.el index 6bf36c64..6a4a3f18 100644 --- a/elpa/org-20170407/ob-shen.el +++ b/elpa/org-20171009/ob-shen.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-sql.el b/elpa/org-20171009/ob-sql.el similarity index 95% rename from elpa/org-20170407/ob-sql.el rename to elpa/org-20171009/ob-sql.el index ec0427f4..1b1d2dc0 100644 --- a/elpa/org-20170407/ob-sql.el +++ b/elpa/org-20171009/ob-sql.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: @@ -115,7 +115,7 @@ Pass nil to omit that arg." (format "%s/%s@%s:%s/%s" user password host port database)) (defun org-babel-sql-dbstring-mssql (host user password database) - "Make sqlcmd commmand line args for database connection. + "Make sqlcmd command line args for database connection. `sqlcmd' is the preferred command line tool to access Microsoft SQL Server on Windows and Linux platform." (mapconcat #'identity @@ -127,7 +127,7 @@ SQL Server on Windows and Linux platform." " ")) (defun org-babel-sql-dbstring-sqsh (host user password database) - "Make sqsh commmand line args for database connection. + "Make sqsh command line args for database connection. \"sqsh\" is one method to access Sybase or MS SQL via Linux platform" (mapconcat #'identity (delq nil @@ -149,14 +149,14 @@ SQL Server on Windows and Linux platform." " ")) (defun org-babel-sql-convert-standard-filename (file) - "Convert the file name to OS standard. + "Convert FILE to OS standard file name. If in Cygwin environment, uses Cygwin specific function to -convert the file name. Otherwise, uses Emacs' standard conversion -function." - (format "\"%s\"" - (if (fboundp 'cygwin-convert-file-name-to-windows) - (cygwin-convert-file-name-to-windows file) - (convert-standard-filename file)))) +convert the file name. In a Windows-NT environment, do nothing. +Otherwise, use Emacs' standard conversion function." + (cond ((fboundp 'cygwin-convert-file-name-to-windows) + (format "%S" (cygwin-convert-file-name-to-windows file))) + ((string= "windows-nt" system-type) file) + (t (format "%S" (convert-standard-filename file))))) (defun org-babel-execute:sql (body params) "Execute a block of Sql code with Babel. diff --git a/elpa/org-20170407/ob-sqlite.el b/elpa/org-20171009/ob-sqlite.el similarity index 94% rename from elpa/org-20170407/ob-sqlite.el rename to elpa/org-20171009/ob-sqlite.el index 8094019d..38058274 100644 --- a/elpa/org-20170407/ob-sqlite.el +++ b/elpa/org-20171009/ob-sqlite.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: @@ -123,10 +123,7 @@ This function is called by `org-babel-execute-src-block'." (if (listp val) (let ((data-file (org-babel-temp-file "sqlite-data-"))) (with-temp-file data-file - (insert (orgtbl-to-csv - val '(:fmt (lambda (el) (if (stringp el) - el - (format "%S" el))))))) + (insert (orgtbl-to-csv val nil))) data-file) (if (stringp val) val (format "%S" val)))) body))) diff --git a/elpa/org-20170407/ob-stan.el b/elpa/org-20171009/ob-stan.el similarity index 97% rename from elpa/org-20170407/ob-stan.el rename to elpa/org-20171009/ob-stan.el index 40dd0efa..40fd8d9c 100644 --- a/elpa/org-20170407/ob-stan.el +++ b/elpa/org-20171009/ob-stan.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-table.el b/elpa/org-20171009/ob-table.el similarity index 98% rename from elpa/org-20170407/ob-table.el rename to elpa/org-20171009/ob-table.el index 4de8936d..3169f3d3 100644 --- a/elpa/org-20170407/ob-table.el +++ b/elpa/org-20171009/ob-table.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-20170407/ob-tangle.el b/elpa/org-20171009/ob-tangle.el similarity index 99% rename from elpa/org-20170407/ob-tangle.el rename to elpa/org-20171009/ob-tangle.el index b33fcaee..adc68067 100644 --- a/elpa/org-20170407/ob-tangle.el +++ b/elpa/org-20171009/ob-tangle.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: @@ -196,6 +196,7 @@ Return a list whose CAR is the tangled file name." "Tangle FILENAME and place the results in PUB-DIR." (unless (file-exists-p pub-dir) (make-directory pub-dir t)) + (setq pub-dir (file-name-as-directory pub-dir)) (mapc (lambda (el) (copy-file el pub-dir t)) (org-babel-tangle-file filename))) ;;;###autoload diff --git a/elpa/org-20171009/ob-vala.el b/elpa/org-20171009/ob-vala.el new file mode 100644 index 00000000..580e2724 --- /dev/null +++ b/elpa/org-20171009/ob-vala.el @@ -0,0 +1,117 @@ +;;; ob-vala.el --- Babel functions for Vala evaluation -*- lexical-binding: t; -*- + +;; Copyright (C) 2017 Free Software Foundation, Inc. + +;; Author: Christian Garbs +;; Keywords: literate programming, reproducible research +;; Homepage: http://orgmode.org + +;;; License: + +;; This file is part of GNU Emacs. + +;; GNU Emacs 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 3 of the License, or +;; (at your option) any later version. + +;; GNU Emacs 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 GNU Emacs. If not, see . + +;;; Commentary: + +;; ob-vala.el provides Babel support for the Vala language +;; (see http://live.gnome.org/Vala for details) + +;;; Requirements: + +;; - Vala compiler binary (valac) +;; - Vala development environment (Vala libraries etc.) +;; +;; vala-mode.el is nice to have for code formatting, but is not needed +;; for ob-vala.el + +;;; Code: + +(require 'ob) + +(declare-function org-trim "org" (s &optional keep-lead)) + +;; File extension. +(add-to-list 'org-babel-tangle-lang-exts '("vala" . "vala")) + +;; Header arguments empty by default. +(defvar org-babel-default-header-args:vala '()) + +(defcustom org-babel-vala-compiler "valac" + "Command used to compile a C source code file into an executable. +May be either a command in the path, like \"valac\" +or an absolute path name, like \"/usr/local/bin/valac\". +Parameters may be used like this: \"valac -v\"" + :group 'org-babel + :version "26.1" + :package-version '(Org . "9.1") + :type 'string) + +;; This is the main function which is called to evaluate a code +;; block. +;; +;; - run Vala compiler and create a binary in a temporary file +;; - compiler/linker flags can be set via :flags header argument +;; - if compilation succeeded, run the binary +;; - commandline parameters to the binary can be set via :cmdline +;; header argument +;; - stdout will be parsed as RESULT (control via :result-params +;; header argument) +;; +;; There is no session support because Vala is a compiled language. +;; +;; This function is heavily based on ob-C.el +(defun org-babel-execute:vala (body params) + "Execute a block of Vala code with Babel. +This function is called by `org-babel-execute-src-block'." + (message "executing Vala source code block") + (let* ((tmp-src-file (org-babel-temp-file + "vala-src-" + ".vala")) + (tmp-bin-file (org-babel-temp-file "vala-bin-" org-babel-exeext)) + (cmdline (cdr (assq :cmdline params))) + (flags (cdr (assq :flags params)))) + (with-temp-file tmp-src-file (insert body)) + (org-babel-eval + (format "%s %s -o %s %s" + org-babel-vala-compiler + (mapconcat #'identity + (if (listp flags) flags (list flags)) " ") + (org-babel-process-file-name tmp-bin-file) + (org-babel-process-file-name tmp-src-file)) "") + (when (file-executable-p tmp-bin-file) + (let ((results + (org-trim + (org-babel-eval + (concat tmp-bin-file (if cmdline (concat " " cmdline) "")) "")))) + (org-babel-reassemble-table + (org-babel-result-cond (cdr (assq :result-params params)) + (org-babel-read results) + (let ((tmp-file (org-babel-temp-file "vala-"))) + (with-temp-file tmp-file (insert results)) + (org-babel-import-elisp-from-file tmp-file))) + (org-babel-pick-name + (cdr (assq :colname-names params)) (cdr (assq :colnames params))) + (org-babel-pick-name + (cdr (assq :rowname-names params)) (cdr (assq :rownames params)))))))) + +(defun org-babel-prep-session:vala (_session _params) + "Prepare a session. +This function does nothing as Vala is a compiled language with no +support for sessions." + (error "Vala is a compiled language -- no support for sessions")) + +(provide 'ob-vala) + +;;; ob-vala.el ends here diff --git a/elpa/org-20170407/ob.el b/elpa/org-20171009/ob.el similarity index 94% rename from elpa/org-20170407/ob.el rename to elpa/org-20171009/ob.el index 736f5887..c5ce0c03 100644 --- a/elpa/org-20170407/ob.el +++ b/elpa/org-20171009/ob.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;; Code: (require 'org-macs) diff --git a/elpa/org-20170407/org b/elpa/org-20171009/org similarity index 87% rename from elpa/org-20170407/org rename to elpa/org-20171009/org index f7a3d605..def4e551 100644 --- a/elpa/org-20170407/org +++ b/elpa/org-20171009/org @@ -1,6 +1,6 @@ This is org, produced by makeinfo version 4.13 from org.texi. -This manual is for Org version 9.0.5 (release_9.0.5-436-g8ba336.dirty). +This manual is for Org version 9.1.2 (release_9.1.2-7-g027cfc). Copyright (C) 2004-2017 Free Software Foundation, Inc. @@ -26,7 +26,7 @@ File: org, Node: Top, Next: Introduction, Prev: (dir), Up: (dir) Org Mode Manual *************** -This manual is for Org version 9.0.5 (release_9.0.5-436-g8ba336.dirty). +This manual is for Org version 9.1.2 (release_9.1.2-7-g027cfc). Copyright (C) 2004-2017 Free Software Foundation, Inc. @@ -233,6 +233,12 @@ Capture templates * Template expansion:: Filling in information about time and context * Templates in contexts:: Only show a template in a specific context +Protocols for external access + +* `store-link' protocol:: Store a link, push URL to kill-ring. +* `capture' protocol:: Fill a buffer with external information. +* `open-source' protocol:: Edit published contents. + Archiving * Moving subtrees:: Moving a tree to an archive file @@ -289,8 +295,8 @@ Embedded LaTeX Exporting -* The export dispatcher:: The main exporter interface -* Export settings:: Generic export settings +* The export dispatcher:: The main interface +* Export settings:: Common export settings * Table of contents:: The if and where of the table of contents * Include files:: Include additional files into a document * Macro replacement:: Use macros to create templates @@ -310,85 +316,85 @@ Exporting Beamer export -* Beamer export commands:: How to export Beamer documents. -* Beamer specific export settings:: Export settings for Beamer export. -* Sectioning Frames and Blocks in Beamer:: Blocks and sections in Beamer. -* Beamer specific syntax:: Syntax specific to Beamer. -* Editing support:: Helper functions for Org Beamer export. -* A Beamer Example:: An complete Beamer example. +* Beamer export commands:: For creating Beamer documents. +* Beamer specific export settings:: For customizing Beamer export. +* Sectioning Frames and Blocks in Beamer:: For composing Beamer slides. +* Beamer specific syntax:: For using in Org documents. +* Editing support:: For using helper functions. +* A Beamer example:: A complete presentation. HTML export -* HTML Export commands:: How to invoke HTML export -* HTML Specific export settings:: Export settings for HTML export -* HTML doctypes:: Org can export to various (X)HTML flavors -* HTML preamble and postamble:: How to insert a preamble and a postamble -* Quoting HTML tags:: Using direct HTML in Org mode -* Links in HTML export:: How links will be interpreted and formatted -* Tables in HTML export:: How to modify the formatting of tables -* Images in HTML export:: How to insert figures into HTML output -* Math formatting in HTML export:: Beautiful math also on the web -* Text areas in HTML export:: An alternative way to show an example -* CSS support:: Changing the appearance of the output -* JavaScript support:: Info and Folding in a web browser +* HTML Export commands:: Invoking HTML export +* HTML Specific export settings:: Settings for HTML export +* HTML doctypes:: Exporting various (X)HTML flavors +* HTML preamble and postamble:: Inserting preamble and postamble +* Quoting HTML tags:: Using direct HTML in Org files +* Links in HTML export:: Interpreting and formatting links +* Tables in HTML export:: Formatting and modifying tables +* Images in HTML export:: Inserting figures with HTML output +* Math formatting in HTML export:: Handling math equations +* Text areas in HTML export:: Showing an alternate approach, an example +* CSS support:: Styling HTML output +* JavaScript support:: Folding scripting in the web browser LaTeX export -* LaTeX export commands:: How to export to LaTeX and PDF -* LaTeX specific export settings:: Export settings for LaTeX -* LaTeX header and sectioning:: Setting up the export file structure -* Quoting LaTeX code:: Incorporating literal LaTeX code -* Tables in LaTeX export:: Specific attributes for tables -* Images in LaTeX export:: Specific attributes for images -* Plain lists in LaTeX export:: Specific attributes for plain lists -* Source blocks in LaTeX export:: Specific attributes for source blocks -* Example blocks in LaTeX export:: Specific attributes for example blocks -* Special blocks in LaTeX export:: Specific attributes for special blocks -* Horizontal rules in LaTeX export:: Specific attributes for horizontal rules +* LaTeX export commands:: For producing LaTeX and PDF documents. +* LaTeX specific export settings:: Unique to this LaTeX back-end. +* LaTeX header and sectioning:: For file structure. +* Quoting LaTeX code:: Directly in the Org document. +* Tables in LaTeX export:: Attributes specific to tables. +* Images in LaTeX export:: Attributes specific to images. +* Plain lists in LaTeX export:: Attributes specific to lists. +* Source blocks in LaTeX export:: Attributes specific to source code blocks. +* Example blocks in LaTeX export:: Attributes specific to example blocks. +* Special blocks in LaTeX export:: Attributes specific to special blocks. +* Horizontal rules in LaTeX export:: Attributes specific to horizontal rules. OpenDocument Text export -* Pre-requisites for ODT export:: What packages ODT exporter relies on -* ODT export commands:: How to invoke ODT export -* ODT specific export settings:: Export settings for ODT -* Extending ODT export:: How to produce `doc', `pdf' files -* Applying custom styles:: How to apply custom styles to the output -* Links in ODT export:: How links will be interpreted and formatted -* Tables in ODT export:: How Tables are exported -* Images in ODT export:: How to insert images -* Math formatting in ODT export:: How LaTeX fragments are formatted -* Labels and captions in ODT export:: How captions are rendered -* Literal examples in ODT export:: How source and example blocks are formatted -* Advanced topics in ODT export:: Read this if you are a power user +* Pre-requisites for ODT export:: Required packages. +* ODT export commands:: Invoking export. +* ODT specific export settings:: Configuration options. +* Extending ODT export:: Producing `.doc', `.pdf' files. +* Applying custom styles:: Styling the output. +* Links in ODT export:: Handling and formatting links. +* Tables in ODT export:: Org table conversions. +* Images in ODT export:: Inserting images. +* Math formatting in ODT export:: Formatting LaTeX fragments. +* Labels and captions in ODT export:: Rendering objects. +* Literal examples in ODT export:: For source code and example blocks. +* Advanced topics in ODT export:: For power users. Math formatting in ODT export -* Working with LaTeX math snippets:: How to embed LaTeX math fragments -* Working with MathML or OpenDocument formula files:: How to embed equations in native format +* Working with LaTeX math snippets:: Embedding in LaTeX format. +* Working with MathML or OpenDocument formula files:: Embedding in native format. Advanced topics in ODT export -* Configuring a document converter:: How to register a document converter -* Working with OpenDocument style files:: Explore the internals -* Creating one-off styles:: How to produce custom highlighting etc -* Customizing tables in ODT export:: How to define and use Table templates -* Validating OpenDocument XML:: How to debug corrupt OpenDocument files +* Configuring a document converter:: Registering a document converter. +* Working with OpenDocument style files:: Exploring internals. +* Creating one-off styles:: Customizing styles, highlighting. +* Customizing tables in ODT export:: Defining table templates. +* Validating OpenDocument XML:: Debugging corrupted OpenDocument files. Texinfo export -* Texinfo export commands:: How to invoke Texinfo export -* Texinfo specific export settings:: Export settings for Texinfo -* Texinfo file header:: Generating the begining of a Texinfo file -* Texinfo title and copyright page:: Creating title and copyright pages -* Texinfo `Top' node:: Installing a manual in Info Top node -* Headings and sectioning structure:: Building document structure -* Indices:: Creating indices -* Quoting Texinfo code:: Incorporating literal Texinfo code -* Plain lists in Texinfo export:: Specific attributes for plain lists -* Tables in Texinfo export:: Specific attributes for tables -* Images in Texinfo export:: Specific attributes for images -* Special blocks in Texinfo export:: Specific attributes for special blocks -* A Texinfo example:: Illustrating Org to Texinfo process +* Texinfo export commands:: Invoking commands. +* Texinfo specific export settings:: Setting the environment. +* Texinfo file header:: Generating the header. +* Texinfo title and copyright page:: Creating preamble pages. +* Info directory file:: Installing a manual in Info file hierarchy. +* Headings and sectioning structure:: Building document structure. +* Indices:: Creating indices. +* Quoting Texinfo code:: Incorporating literal Texinfo code. +* Plain lists in Texinfo export:: List attributes. +* Tables in Texinfo export:: Table attributes. +* Images in Texinfo export:: Image attributes. +* Special blocks in Texinfo export:: Special block attributes. +* A Texinfo example:: Processing Org to Texinfo. Publishing @@ -567,10 +573,10 @@ Markdown. New export backends can be derived from existing ones, or defined from scratch. Org files can include source code blocks, which makes Org uniquely -suited for authoring technical documents with code examples. Org source -code blocks are fully functional; they can be evaluated in place and -their results can be captured in the file. This makes it possible to -create a single file reproducible research compendium. +suited for authoring technical documents with code examples. Org +source code blocks are fully functional; they can be evaluated in place +and their results can be captured in the file. This makes it possible +to create a single file reproducible research compendium. Org keeps simple things simple. When first fired up, it should feel like a straightforward, easy to use outliner. Complexity is not @@ -761,8 +767,8 @@ as shown below. debug-on-quit nil) ;; add latest org-mode to load path - (add-to-list 'load-path (expand-file-name "/path/to/org-mode/lisp")) - (add-to-list 'load-path (expand-file-name "/path/to/org-mode/contrib/lisp" t)) + (add-to-list 'load-path "/path/to/org-mode/lisp") + (add-to-list 'load-path "/path/to/org-mode/contrib/lisp" t) If an error occurs, a backtrace can be very useful (see below on how to create one). Often a small example file helps, along with clear @@ -964,11 +970,7 @@ visibility in the buffer. ,-> FOLDED -> CHILDREN -> SUBTREE --. '-----------------------------------' - The cursor must be on a headline for this to work(1). When the - cursor is at the beginning of the buffer and the first line is not - a headline, then actually runs global cycling (see - below)(2). Also when called with a prefix argument (`C-u '), - global cycling is invoked. + The cursor must be on a headline for this to work(1). `S-' (`org-global-cycle') C-u @@ -981,6 +983,10 @@ C-u CONTENTS view up to headlines of level N will be shown. Note that inside tables, `S-' jumps to the previous field. + You can run global cycling using only if point is at the very + beginning of the buffer, but not on a headline, and + `org-cycle-global-at-bob' is set to a non-`nil' value. + `C-u C-u ' (`org-set-startup-visibility') Switch back to the startup visibility of the buffer (*note Initial visibility::). @@ -1006,7 +1012,7 @@ C-u argument N, expose all children down to level N. `C-c C-x b' (`org-tree-to-indirect-buffer') - Show the current subtree in an indirect buffer(3). With a numeric + Show the current subtree in an indirect buffer(2). With a numeric prefix argument N, go up to level N and then take that tree. If N is negative then go up that many levels. With a `C-u' prefix, do not remove the previously used indirect buffer. @@ -1018,9 +1024,7 @@ C-u (1) see, however, the option `org-cycle-emulate-tab'. - (2) see the option `org-cycle-global-at-bob'. - - (3) The indirect buffer (*note Indirect Buffers: (emacs)Indirect + (2) The indirect buffer (*note Indirect Buffers: (emacs)Indirect Buffers.) will contain the entire buffer, but will be narrowed to the current tree. Editing the indirect buffer will also change the original buffer, but without affecting visibility in that buffer. @@ -1352,8 +1356,8 @@ less or equally indented than its bullet/number. A list ends whenever every item has ended, which means before any line less or equally indented than items at top level. It also ends -before two blank lines(5). In that case, all items are closed. Here -is an example: +before two blank lines. In that case, all items are closed. Here is +an example: ** Lord of the Rings My favorite scenes are (in this order) @@ -1405,7 +1409,7 @@ If some of these actions get in your way, configure Insert new item at current level. With a prefix argument, force a new heading (*note Structure editing::). If this command is used in the middle of an item, that item is _split_ in two, and the - second part becomes the new item(6). If this command is executed + second part becomes the new item(5). If this command is executed _before item's body_, the new item is created _before_ the current one. @@ -1414,14 +1418,14 @@ If some of these actions get in your way, configure `S-up' `S-down' - Jump to the previous/next item in the current list(7), but only if + Jump to the previous/next item in the current list(6), but only if `org-support-shift-select' is off. If not, you can still use paragraph jumping commands like `C-' and `C-' to quite similar effect. `M-up' `M-down' - Move the item including subitems up/down(8) (swap with + Move the item including subitems up/down(7) (swap with previous/next item of same indentation). If the list is ordered, renumbering is automatic. @@ -1502,15 +1506,13 @@ will automatically fallback to numbers. _before_ the checkbox. If you have activated alphabetical lists, you can also use counters like `[@b]'. - (5) See also `org-list-empty-line-terminates-plain-lists'. - - (6) If you do not want the item to be split, customize the variable + (5) If you do not want the item to be split, customize the variable `org-M-RET-may-split-line'. - (7) If you want to cycle around items that way, you may customize + (6) If you want to cycle around items that way, you may customize `org-list-use-circular-motion'. - (8) See `org-list-use-circular-motion' for a cyclic behavior. + (7) See `org-list-use-circular-motion' for a cyclic behavior.  File: org, Node: Drawers, Next: Blocks, Prev: Plain lists, Up: Document structure @@ -1665,7 +1667,7 @@ The following command handles footnotes: `C-c '' Edit the footnote definition corresponding to the reference at - point in a seperate window. The window can be closed by pressing + point in a separate window. The window can be closed by pressing `C-c ''. @@ -1786,13 +1788,13 @@ only type and then press to align the table and start filling in fields. Even faster would be to type `|Name|Phone|Age' followed by `C-c '. - When typing text into a field, Org treats , , and -all character keys in a special way, so that inserting and deleting -avoids shifting other fields. Also, when typing _immediately after the -cursor was moved into a new field with `', `S-' or `'_, -the field is automatically made blank. If this behavior is too -unpredictable for you, configure the options `org-enable-table-editor' -and `org-table-auto-blank-field'. + When typing text into a field, Org treats , , and all +character keys in a special way, so that inserting and deleting avoids +shifting other fields. Also, when typing _immediately after the cursor +was moved into a new field with `', `S-' or `'_, the +field is automatically made blank. If this behavior is too +unpredictable for you, configure the option +`org-table-auto-blank-field'. Creation and conversion ....................... @@ -2333,7 +2335,7 @@ List of modes: `F', `S' Fraction and symbolic modes of Calc. -`T', `t' +`T', `t', `U' Duration computations in Calc or Lisp, *note Durations and time values::. @@ -2462,22 +2464,27 @@ File: org, Node: Durations and time values, Next: Field and range formulas, P 3.5.4 Durations and time values ------------------------------- -If you want to compute time values use the `T' flag, either in Calc -formulas or Elisp formulas: +If you want to compute time values use the `T', `t', or `U' flag, +either in Calc formulas or Elisp formulas: | Task 1 | Task 2 | Total | |---------+----------+----------| | 2:12 | 1:47 | 03:59:00 | + | 2:12 | 1:47 | 03:59 | | 3:02:20 | -2:07:00 | 0.92 | - #+TBLFM: @2$3=$1+$2;T::@3$3=$1+$2;t + #+TBLFM: @2$3=$1+$2;T::@3$3=$1+$2;U::@4$3=$1+$2;t Input duration values must be of the form `HH:MM[:SS]', where seconds are optional. With the `T' flag, computed durations will be displayed -as `HH:MM:SS' (see the first formula above). With the `t' flag, -computed durations will be displayed according to the value of the -option `org-table-duration-custom-format', which defaults to `'hours' -and will display the result as a fraction of hours (see the second -formula in the example above). +as `HH:MM:SS' (see the first formula above). With the `U' flag, +seconds will be omitted so that the result will be only `HH:MM' (see +second formula above). Zero-padding of the hours field will depend +upon the value of the variable `org-table-duration-hour-zero-padding'. + + With the `t' flag, computed durations will be displayed according to +the value of the option `org-table-duration-custom-format', which +defaults to `'hours' and will display the result as a fraction of hours +(see the third formula in the example above). Negative duration values can be manipulated as well, and integers will be considered as seconds in addition and subtraction. @@ -3167,48 +3174,47 @@ External links are URL-like locators. They start with a short identifying string followed by a colon. There can be no space after the colon. The following list shows examples for each link type. - http://www.astro.uva.nl/~dominik on the web - doi:10.1000/182 DOI for an electronic resource - file:/home/dominik/images/jupiter.jpg file, absolute path - /home/dominik/images/jupiter.jpg same as above - file:papers/last.pdf file, relative path - ./papers/last.pdf same as above - file:/myself@some.where:papers/last.pdf file, path on remote machine - /myself@some.where:papers/last.pdf same as above - file:sometextfile::NNN file, jump to line number - file:projects.org another Org file - file:projects.org::some words text search in Org file(1) - file:projects.org::*task title heading search in Org - file(2) - docview:papers/last.pdf::NNN open in doc-view mode at page - id:B7423F4D-2E8A-471B-8810-C40F074717E9 Link to heading by ID - news:comp.emacs Usenet link - mailto:adent@galaxy.net Mail link - mhe:folder MH-E folder link - mhe:folder#id MH-E message link - rmail:folder RMAIL folder link - rmail:folder#id RMAIL message link - gnus:group Gnus group link - gnus:group#id Gnus article link - bbdb:R.*Stallman BBDB link (with regexp) - irc:/irc.com/#emacs/bob IRC link - info:org#External links Info node or index link - shell:ls *.org A shell command - elisp:org-agenda Interactive Elisp command - elisp:(find-file-other-frame "Elisp.org") Elisp form to evaluate + http://www.astro.uva.nl/~dominik on the web + doi:10.1000/182 DOI for an electronic resource + file:/home/dominik/images/jupiter.jpg file, absolute path + /home/dominik/images/jupiter.jpg same as above + file:papers/last.pdf file, relative path + ./papers/last.pdf same as above + file:/ssh:myself@some.where:papers/last.pdf file, path on remote machine + /ssh:myself@some.where:papers/last.pdf same as above + file:sometextfile::NNN file, jump to line number + file:projects.org another Org file + file:projects.org::some words text search in Org file(1) + file:projects.org::*task title heading search in Org file(2) + docview:papers/last.pdf::NNN open in doc-view mode at page + id:B7423F4D-2E8A-471B-8810-C40F074717E9 Link to heading by ID + news:comp.emacs Usenet link + mailto:adent@galaxy.net Mail link + mhe:folder MH-E folder link + mhe:folder#id MH-E message link + rmail:folder RMAIL folder link + rmail:folder#id RMAIL message link + gnus:group Gnus group link + gnus:group#id Gnus article link + bbdb:R.*Stallman BBDB link (with regexp) + irc:/irc.com/#emacs/bob IRC link + info:org#External links Info node or index link + shell:ls *.org A shell command + elisp:org-agenda Interactive Elisp command + elisp:(find-file-other-frame "Elisp.org") Elisp form to evaluate On top of these built-in link types, some are available through the `contrib/' directory (*note Installation::). For example, these links to VM or Wanderlust messages are available when you load the corresponding libraries from the `contrib/' directory: - vm:folder VM folder link - vm:folder#id VM message link - vm://myself@some.where.org/folder#id VM on remote machine - vm-imap:account:folder VM IMAP folder link - vm-imap:account:folder#id VM IMAP message link - wl:folder WANDERLUST folder link - wl:folder#id WANDERLUST message link + vm:folder VM folder link + vm:folder#id VM message link + vm://myself@some.where.org/folder#id VM on remote machine + vm-imap:account:folder VM IMAP folder link + vm-imap:account:folder#id VM IMAP message link + wl:folder WANDERLUST folder link + wl:folder#id WANDERLUST message link For customizing Org to add new link types *note Adding hyperlink types::. @@ -3217,7 +3223,7 @@ types::. descriptive text to be displayed instead of the URL (*note Link format::), for example: - [[http://www.gnu.org/software/emacs/][GNU Emacs]] + [[https://www.gnu.org/software/emacs/][GNU Emacs]] If the description is a file name or URL that points to an image, HTML export (*note HTML export::) will inline the image as a clickable @@ -3233,9 +3239,9 @@ the end of the link, enclose them in square brackets. (1) The actual behavior of the search will depend on the value of the option `org-link-search-must-match-exact-headline'. If its value -is `nil', then a fuzzy text search will be done. If it is t, then only -the exact headline will be matched, ignoring spaces and cookies. If -the value is `query-to-create', then an exact headline will be +is `nil', then a fuzzy text search will be done. If it is `t', then +only the exact headline will be matched, ignoring spaces and cookies. +If the value is `query-to-create', then an exact headline will be searched; if it is not found, then the user will be queried to create it. @@ -3324,9 +3330,9 @@ it into an Org file, and to follow the link. Completion support Completion with will help you to insert valid link prefixes - like `http:' or `ftp:', including the prefixes defined through - link abbreviations (*note Link abbreviations::). If you press - after inserting only the PREFIX, Org will offer specific + like `https:', including the prefixes defined through link + abbreviations (*note Link abbreviations::). If you press + after inserting only the PREFIX, Org will offer specific completion support for some link types(5) For example, if you type `file ', file name completion (alternative access: `C-u C-c C-l', see below) will be offered, and after `bbdb ' you @@ -4808,7 +4814,7 @@ entry or with a tree they need to be inserted into a special drawer right below a headline, and its planning line (*note Deadlines and scheduling::) when applicable. Each property is specified on a single line, with the key (surrounded by colons) first, and the value after -it. Keys are case-insensitives. Here is an example: +it. Keys are case-insensitive. Here is an example: * CD collection ** Classic @@ -5700,7 +5706,7 @@ File: org, Node: Deadlines and scheduling, Next: Clocking work time, Prev: Cr ============================ A timestamp may be preceded by special keywords to facilitate planning. -Both the timestamp and the keyword have to be positioned immediatly +Both the timestamp and the keyword have to be positioned immediately after the task they refer to. DEADLINE @@ -6806,10 +6812,10 @@ of content. The templates are expanded in the order given here: %^{prompt|default|completion2|completion3...}. The arrow keys access a prompt-specific history. %\1 ... %\N Insert the text entered at the Nth %^{PROMPT}, where `N' is - a number, starting from 1. + a number, starting from 1.(2) %? After completing the template, position cursor here. -For specific link types, the following keywords will be defined(2): +For specific link types, the following keywords will be defined(3): Link type | Available keywords ---------------------------------+---------------------------------------------- @@ -6821,7 +6827,7 @@ For specific link types, the following keywords will be defined(2): | %:date (message date header field) | %:date-timestamp (date as active timestamp) | %:date-timestamp-inactive (date as inactive timestamp) - | %:fromto (either "to NAME" or "from NAME")(3) + | %:fromto (either "to NAME" or "from NAME")(4) gnus | %:group, for messages also all email fields eww, w3, w3m | %:url info | %:file %:node @@ -6836,11 +6842,16 @@ To place the cursor after template expansion use: (1) If you need one of these sequences literally, escape the `%' with a backslash. - (2) If you define your own link types (*note Adding hyperlink + (2) As required in Emacs Lisp, it is necessary to +escape any backslash character in a string with another +backslash. So, in order to use `%\1' placeholder, you +need to write `%\\1' in the template. + + (3) If you define your own link types (*note Adding hyperlink types::), any property you store with `org-store-link-props' can be accessed in capture templates in a similar way. - (3) This will always be the other, not the user. See the variable + (4) This will always be the other, not the user. See the variable `org-from-is-user-regexp'.  @@ -7000,15 +7011,157 @@ File: org, Node: Protocols, Next: Refile and copy, Prev: RSS feeds, Up: Capt 9.4 Protocols for external access ================================= -You can set up Org for handling protocol calls from outside -applications that are passed to Emacs through the `emacsserver'. For +Org protocol is a mean to trigger custom actions in Emacs from external +applications. Any application that supports calling external programs +with an URL as argument may be used with this functionality. For example, you can configure bookmarks in your web browser to send a link to the current page to Org and create a note from it using capture -(*note Capture::). Or you could create a bookmark that will tell Emacs -to open the local source file of a remote website you are looking at -with the browser. See -`http://orgmode.org/worg/org-contrib/org-protocol.php' for detailed -documentation and setup instructions. +(*note Capture::). You can also create a bookmark that tells Emacs to +open the local source file of a remote website you are browsing. + + In order to use Org protocol from an application, you need to +register `org-protocol://' as a valid scheme-handler. External calls +are passed to Emacs through the `emacsclient' command, so you also need +to ensure an Emacs server is running. More precisely, when the +application calls + + emacsclient org-protocol://PROTOCOL?key1=val1&key2=val2 + +Emacs calls the handler associated to `PROTOCOL' with argument `(:key1 +val1 :key2 val2)'. + + Org protocol comes with three predefined protocols, detailed in the +following sections. Configure `org-protocol-protocol-alist' to define +your own. + +* Menu: + +* `store-link' protocol:: Store a link, push URL to kill-ring. +* `capture' protocol:: Fill a buffer with external information. +* `open-source' protocol:: Edit published contents. + + +File: org, Node: `store-link' protocol, Next: `capture' protocol, Up: Protocols + +9.4.1 `store-link' protocol +--------------------------- + +Using `store-link' handler, you can copy links, insertable through `M-x +org-insert-link' or yanking thereafter. More precisely, the command + + emacsclient org-protocol://store-link?url=URL&title=TITLE + +stores the following link: + + [[URL][TITLE]] + + In addition, `URL' is pushed on the kill-ring for yanking. You need +to encode `URL' and `TITLE' if they contain slashes, and probably quote +those for the shell. + + To use this feature from a browser, add a bookmark with an arbitrary +name, e.g., `Org: store-link' and enter this as _Location_: + + javascript:location.href='org-protocol://store-link?url='+ + encodeURIComponent(location.href); + + +File: org, Node: `capture' protocol, Next: `open-source' protocol, Prev: `store-link' protocol, Up: Protocols + +9.4.2 `capture' protocol +------------------------ + +Activating `capture' handler pops up a `Capture' buffer and fills the +capture template associated to the `X' key with them. The template +refers to the data through `%:url' and `%:title' placeholders. +Moreover, any selected text in the browser is appended to the body of +the entry. + + emacsclient org-protocol://capture?template=X?url=URL?title=TITLE?body=BODY + + To use this feature, add a bookmark with an arbitrary name, e.g. +`Org: capture' and enter this as `Location': + + javascript:location.href='org-protocol://template=x'+ + '&url='+encodeURIComponent(window.location.href)+ + '&title='+encodeURIComponent(document.title)+ + '&body='+encodeURIComponent(window.getSelection()); + + The result depends on the capture template used, which is set in the +bookmark itself, as in the example above, or in +`org-protocol-default-template-key'. + + +File: org, Node: `open-source' protocol, Prev: `capture' protocol, Up: Protocols + +9.4.3 `open-source' protocol +---------------------------- + +The `open-source' handler is designed to help with editing local sources +when reading a document. To that effect, you can use a bookmark with +the following location: + + javascript:location.href='org-protocol://open-source?&url='+ + encodeURIComponent(location.href) + + The variable `org-protocol-project-alist' maps URLs to local file +names, by stripping URL parameters from the end and replacing the +`:base-url' with `:working-directory' and `:online-suffix' with +`:working-suffix'. For example, assuming you own a local copy of +`http://orgmode.org/worg/' contents at `/home/user/worg', you can set +`org-protocol-project-alist' to the following + + (setq org-protocol-project-alist + '(("Worg" + :base-url "http://orgmode.org/worg/" + :working-directory "/home/user/worg/" + :online-suffix ".html" + :working-suffix ".org"))) + +If you are now browsing +`http://orgmode.org/worg/org-contrib/org-protocol.html' and find a typo +or have an idea about how to enhance the documentation, simply click the +bookmark and start editing. + + However, such mapping may not yield the desired results. Suppose you +maintain an online store located at `http://example.com/'. The local +sources reside in `/home/user/example/'. It is common practice to serve +all products in such a store through one file and rewrite URLs that do +not match an existing file on the server. That way, a request to +`http://example.com/print/posters.html' might be rewritten on the server +to something like +`http://example.com/shop/products.php/posters.html.php'. The +`open-source' handler probably cannot find a file named +`/home/user/example/print/posters.html.php' and fails. + + Such an entry in `org-protocol-project-alist' may hold an additional +property `:rewrites'. This property is a list of cons cells, each of +which maps a regular expression to a path relative to the +`:working-directory'. + + Now map the URL to the path `/home/user/example/products.php' by +adding `:rewrites' rules like this: + + (setq org-protocol-project-alist + '(("example.com" + :base-url "http://example.com/" + :working-directory "/home/user/example/" + :online-suffix ".php" + :working-suffix ".php" + :rewrites (("example.com/print/" . "products.php") + ("example.com/$" . "index.php"))))) + +Since `example.com/$' is used as a regular expression, it maps +`http://example.com/', `https://example.com', `http://www.example.com/' +and similar to `/home/user/example/index.php'. + + The `:rewrites' rules are searched as a last resort if and only if no +existing file name is matched. + + Two functions can help you filling `org-protocol-project-alist' with +valid contents: `org-protocol-create' and +`org-protocol-create-for-org'. The latter is of use if you're editing +an Org file that is part of a publishing project.  File: org, Node: Refile and copy, Next: Archiving, Prev: Protocols, Up: Capture - Refile - Archive @@ -7539,8 +7692,8 @@ forewarning, you can use the following instead: %%(org-bbdb-anniversaries-future 3) That will give you three days' warning: on the anniversary date -itself and the two days prior. The argument is optional: if omitted, it -defaults to 7. +itself and the two days prior. The argument is optional: if omitted, +it defaults to 7. Appointment reminders ..................... @@ -8943,13 +9096,13 @@ current working directory, or absolute. ("~/views/office.ps" "~/calendars/office.ics")))) The extension of the file name determines the type of export. If it -is `.html', Org mode will use the `htmlize.el' package to convert the -buffer to HTML and save it to this file name. If the extension is -`.ps', `ps-print-buffer-with-faces' is used to produce Postscript -output. If the extension is `.ics', iCalendar export is run export -over all files that were used to construct the agenda, and limit the -export to entries listed in the agenda. Any other extension produces a -plain ASCII file. +is `.html', Org mode will try to use the `htmlize.el' package to +convert the buffer to HTML and save it to this file name. If the +extension is `.ps', `ps-print-buffer-with-faces' is used to produce +Postscript output. If the extension is `.ics', iCalendar export is run +export over all files that were used to construct the agenda, and limit +the export to entries listed in the agenda. Any other extension +produces a plain ASCII file. The export files are _not_ created when you use one of those commands interactively because this might use too much overhead. @@ -9000,7 +9153,8 @@ information::, for more information. ---------- Footnotes ---------- - (1) You need to install Hrvoje Niksic's `htmlize.el'. + (1) You need to install `htmlize.el' from Hrvoje Niksic's +repository. (https://github.com/hniksic/emacs-htmlize) (2) To create PDF output, the ghostscript `ps2pdf' utility must be installed on the system. Selecting a PDF file will also create the @@ -9308,8 +9462,8 @@ so often, shortcuts are provided using the Easy templates facility ---------- Footnotes ---------- (1) This works automatically for the HTML back-end (it requires -version 1.34 of the `htmlize.el' package, which is distributed with -Org). Fontified code chunks in LaTeX can be achieved using either the +version 1.34 of the `htmlize.el' package, which you need to install). +Fontified code chunks in LaTeX can be achieved using either the listings (https://www.ctan.org/tex-archive/macros/latex/contrib/listings/?lang=en) or the minted (https://github.com/gpoore/minted) package. If you use @@ -9346,7 +9500,7 @@ indicate an arrow. Completion for these symbols is available, just type completions. If you need such a symbol inside a word, terminate it with a pair of curly brackets. For example - Protip: Given a circle \Gamma of diameter d, the length of its circumference + Pro tip: Given a circle \Gamma of diameter d, the length of its circumference is \pi{}d. A large number of entities is provided, with names taken from both @@ -9623,24 +9777,26 @@ Org ships with the following ones * man (Man page format) -More of them can be found in the `contrib/' directory (*note -Installation::) or through the Emacs packaging system(1). +Org also uses additional libraries located in `contrib/' directory +(*note Installation::). Users can install additional export libraries +for additional formats from the Emacs packaging system. For easy +discovery, these packages have a common naming scheme: `ox-NAME', where +NAME is one of the formats. For example, `ox-koma-letter' for +`koma-letter' back-end. - By default, the following five back-ends are loaded: `ascii', -`html', `icalendar', `latex' and `odt'. Others need to be specifically -loaded, either by customizing `org-export-backends', or by requiring -the associated library, e.g., + Org loads back-ends for the following formats by default: `ascii', +`html', `icalendar', `latex' and `odt'. - (require 'ox-md) + Org can load additional back-ends either of two ways: through the +`org-export-backends' variable configuration; or, by requiring the +library in the Emacs init file like this: - Eventually, you can these facilities can be used with `orgtbl-mode' -or `orgstruct-mode' in foreign buffers so you can author tables and -lists in Org syntax and convert them in place to the target language. + (require 'ox-md) * Menu: -* The export dispatcher:: The main exporter interface -* Export settings:: Generic export settings +* The export dispatcher:: The main interface +* Export settings:: Common export settings * Table of contents:: The if and where of the table of contents * Include files:: Include additional files into a document * Macro replacement:: Use macros to create templates @@ -9658,69 +9814,67 @@ lists in Org syntax and convert them in place to the target language. * Advanced configuration:: Fine-tuning the export output * Export in foreign buffers:: Author tables and lists in Org syntax - ---------- Footnotes ---------- - - (1) These libraries traditionnaly appear as `ox-NAME', e.g., -`ox-koma-letter' for `koma-letter' back-end. -  File: org, Node: The export dispatcher, Next: Export settings, Up: Exporting 12.1 The export dispatcher ========================== -The main entry point for export related tasks is the dispatcher, a -hierarchical menu from which it is possible to select an export format -and toggle export options(1). +The export dispatcher is the main interface for Org's exports. A +hierarchical menu presents the currently configured export formats. +Options are shown as easy toggle switches on the same screen. + + Org also has a minimal prompt interface for the export dispatcher. +When the variable `org-export-dispatch-use-expert-ui' is set to a +non-`nil' value, Org prompts in the minibuffer. To switch back to the +hierarchical menu, press . `C-c C-e' (`org-export-dispatch') - Dispatch for export and publishing commands. When called with a - `C-u' prefix argument, repeat the last export command on the - current buffer while preserving toggled options. If the current - buffer hasn't changed and subtree export was activated, the - command will affect that same subtree. + Invokes the export dispatcher interface. The options show default + settings. The `C-u' prefix argument preserves options from the + previous export, including any sub-tree selections. + - Normally the entire buffer is exported, but if there is an active -region only that part of the buffer will be exported. + Org exports the entire buffer by default. If the Org buffer has an +active region, then Org exports just that region. - Several export options (*note Export settings::) can be toggled from -the export dispatcher with the following key combinations: + These are the export options, the key combinations that toggle them +(*note Export settings::): `C-a' - Toggle asynchronous export. Asynchronous export uses an external - Emacs process that is configured with a specified initialization - file. + Toggles asynchronous export. Asynchronous export uses an external + Emacs process with a specially configured initialization file to + complete the exporting process in the background thereby releasing + the current interface. This is particularly useful when exporting + long documents. - While exporting asynchronously, the output is not displayed, but - stored in a place called "the export stack". This stack can be - displayed by calling the dispatcher with a double `C-u' prefix - argument, or with `&' key from the dispatcher menu. + Output from an asynchronous export is saved on the "the export + stack". To view this stack, call the export dispatcher with a + double `C-u' prefix argument. If already in the export dispatcher + menu, `&' displays the stack. - To make this behavior the default, customize the variable - `org-export-in-background'. + To make the background export process the default, customize the + variable, `org-export-in-background'. `C-b' - Toggle body-only export. Its effect depends on the back-end used. - Typically, if the back-end has a header section (like - `...' in the HTML back-end), a body-only export will - not include this header. + Toggle body-only export. Useful for excluding headers and footers + in the export. Affects only those back-end formats that have such + sections--like `...' in HTML. `C-s' - Toggle subtree export. The top heading becomes the document title. - - You can change the default state of this option by setting + Toggle sub-tree export. When turned on, Org exports only the + sub-tree starting from the cursor position at the time the export + dispatcher was invoked. Org uses the top heading of this sub-tree + as the document's title. If the cursor is not on a heading, Org + uses the nearest enclosing header. If the cursor is in the + document preamble, Org signals an error and aborts export. + + To make the sub-tree export the default, customize the variable, `org-export-initial-scope'. `C-v' - Toggle visible-only export. Only export the text that is currently - visible, i.e., not hidden by outline visibility in the buffer. - - ---------- Footnotes ---------- - - (1) It is also possible to use a less intrusive interface by setting -`org-export-dispatch-use-expert-ui' to a non-`nil' value. In that -case, only a prompt is visible from the minibuffer. From there one can -still switch back to regular menu by pressing . + Toggle visible-only export. Useful for exporting only visible + parts of an Org document by adjusting outline visibility settings.  File: org, Node: Export settings, Next: Table of contents, Prev: The export dispatcher, Up: Exporting @@ -9736,12 +9890,12 @@ setting properties (*note Properties and columns::). Options set at a specific level override options set at a more general level. In-buffer settings may appear anywhere in the file, either directly -or indirectly through a file included using `#+SETUPFILE: filename' -syntax. Option keyword sets tailored to a particular back-end can be -inserted from the export dispatcher (*note The export dispatcher::) -using the `Insert template' command by pressing <#>. To insert -keywords individually, a good way to make sure the keyword is correct -is to type `#+' and then to use `M-'(1) for completion. +or indirectly through a file included using `#+SETUPFILE: filename or +URL' syntax. Option keyword sets tailored to a particular back-end can +be inserted from the export dispatcher (*note The export dispatcher::) +using the `Insert template' command by pressing <#>. To insert keywords +individually, a good way to make sure the keyword is correct is to type +`#+' and then to use `M-'(1) for completion. The export keywords available for every back-end, and their equivalent global variables, include: @@ -9760,45 +9914,45 @@ equivalent global variables, include: The email address (`user-mail-address'). `LANGUAGE' - The language used for translating some strings - (`org-export-default-language'). E.g., `#+LANGUAGE: fr' will tell - Org to translate _File_ (english) into _Fichier_ (french) in the - clocktable. + Language to use for translating certain strings + (`org-export-default-language'). With `#+LANGUAGE: fr', for + example, Org translates _Table of contents_ to the French _Table + des matières_. `SELECT_TAGS' - The tags that select a tree for export (`org-export-select-tags'). - The default value is `:export:'. Within a subtree tagged with - `:export:', you can still exclude entries with `:noexport:' (see - below). When headlines are selectively exported with `:export:' - anywhere in a file, text before the first headline is ignored. + The default value is `:export:'. When a tree is tagged with + `:export:' (`org-export-select-tags'), Org selects that tree and + its sub-trees for export. Org excludes trees with `:noexport:' + tags, see below. When selectively exporting files with `:export:' + tags set, Org does not export any text that appears before the + first headline. `EXCLUDE_TAGS' - The tags that exclude a tree from export - (`org-export-exclude-tags'). The default value is `:noexport:'. - Entries with the `:noexport:' tag will be unconditionally excluded - from the export, even if they have an `:export:' tag. Code blocks - contained in excluded subtrees will still be executed during - export even though the subtree is not exported. + The default value is `:noexport:'. When a tree is tagged with + `:noexport:' (`org-export-exclude-tags'), Org excludes that tree + and its sub-trees from export. Entries tagged with `:noexport:' + will be unconditionally excluded from the export, even if they + have an `:export:' tag. Even if a sub-tree is not exported, Org + will execute any code blocks contained in them. `TITLE' - The title to be shown. You can use several such keywords for long - titles. + Org displays this title. For long titles, use multiple `#+TITLE' + lines. `EXPORT_FILE_NAME' - The name of the output file to be generated. By default, it is - taken from the file associated to the buffer, when possible, or - asked to you otherwise. In all cases, the extension is ignored, - and a back-end specific one is added. - + The name of the output file to be generated. Otherwise, Org + generates the file name based on the buffer name and the extension + based on the back-end format. - The `#+OPTIONS' keyword is a compact(3) form that recognizes the -following arguments: + The `#+OPTIONS' keyword is a compact form. To configure multiple +options, use several `#+OPTIONS' lines. `#+OPTIONS' recognizes the +following arguments. `':' - Toggle smart quotes (`org-export-with-smart-quotes'). When - activated, pairs of double quotes become primary quotes according - to the language used. Inside, pairs of single quotes become - secondary quotes. Other single quotes are treated as apostrophes. + Toggle smart quotes (`org-export-with-smart-quotes'). Depending + on the language used, when activated, Org treats pairs of double + quotes as primary quotes, pairs of single quotes as secondary + quotes, and single quote marks as apostrophes. `*:' Toggle emphasized text (`org-export-with-emphasize'). @@ -9811,11 +9965,12 @@ following arguments: Toggle fixed-width sections (`org-export-with-fixed-width'). `<:' - Toggle inclusion of any time/date active/inactive stamps + Toggle inclusion of time/date active/inactive stamps (`org-export-with-timestamps'). `\n:' - Toggle line-break-preservation (`org-export-preserve-breaks'). + Toggles whether to preserve line breaks + (`org-export-preserve-breaks'). `^:' Toggle TeX-like syntax for sub- and superscripts. If you write @@ -9823,29 +9978,29 @@ following arguments: left as it is (`org-export-with-sub-superscripts'). `arch:' - Configure export of archived trees. Can be set to `headline' to - only process the headline, skipping its contents - (`org-export-with-archived-trees'). + Configure how archived trees are exported. When set to + `headline', the export process skips the contents and processes + only the headlines (`org-export-with-archived-trees'). `author:' Toggle inclusion of author name into exported file (`org-export-with-author'). `broken-links:' - Decide whether to raise an error or not when encountering a broken - internal link. When set to `mark', signal the problem clearly in - the output (`org-export-with-broken-links'). + Toggles if Org should continue exporting upon finding a broken + internal link. When set to `mark', Org clearly marks the problem + link in the output (`org-export-with-broken-links'). `c:' Toggle inclusion of CLOCK keywords (`org-export-with-clocks'). `creator:' - Toggle inclusion of creator info into exported file + Toggle inclusion of creator information in the exported file (`org-export-with-creator'). `d:' - Toggle inclusion of drawers, or list drawers to include - (`org-export-with-drawers'). + Toggles inclusion of drawers, or list of drawers to include, or + list of drawers to exclude (`org-export-with-drawers'). `date:' Toggle inclusion of a date into exported file @@ -9870,24 +10025,23 @@ following arguments: Toggle inclusion of inlinetasks (`org-export-with-inlinetasks'). `num:' - Toggle section-numbers (`org-export-with-section-numbers'). It - can also be set to a number `n', so only headlines at that level - or above will be numbered. Finally, irrespective of the level of - a specific headline, the numbering of it can be disabled by - setting the `UNNUMBERED' property to non-`nil'. This also affects - subheadings. + Toggle section-numbers (`org-export-with-section-numbers'). When + set to number `n', Org numbers only those headlines at level `n' + or above. Set `UNNUMBERED' property to non-`nil' to disable + numbering of heading and subheadings entirely. `p:' Toggle export of planning information (`org-export-with-planning'). - "Planning information" is the line containing the `SCHEDULED:', the - `DEADLINE:' or the `CLOSED:' cookies or a combination of them. + "Planning information" comes from lines located right after the + headline and contain any combination of these cookies: + `SCHEDULED:', `DEADLINE:', or `CLOSED:'. `pri:' Toggle inclusion of priority cookies (`org-export-with-priority'). `prop:' - Toggle inclusion of property drawers, or list properties to include - (`org-export-with-properties'). + Toggle inclusion of property drawers, or list the properties to + include (`org-export-with-properties'). `stat:' Toggle inclusion of statistics cookies @@ -9898,16 +10052,16 @@ following arguments: (`org-export-with-tags'). `tasks:' - Toggle inclusion of tasks (TODO items), can be `nil' to remove all - tasks, `todo' to remove DONE tasks, or a list of keywords to keep + Toggle inclusion of tasks (TODO items); or `nil' to remove all + tasks; or `todo' to remove DONE tasks; or list the keywords to keep (`org-export-with-tasks'). `tex:' - Configure export of LaTeX fragments and environments. It may be - set to `verbatim' (`org-export-with-latex'). + `nil' does not export; `t' exports; `verbatim' keeps everything in + verbatim (`org-export-with-latex'). `timestamp:' - Toggle inclusion of the creation time into exported file + Toggle inclusion of the creation time in the exported file (`org-export-time-stamp-file'). `title:' @@ -9925,17 +10079,17 @@ following arguments: Toggle inclusion of tables (`org-export-with-tables'). - When exporting only a subtree, each of the previous keywords(4) can -be overridden locally by special node properties. These begin with -`EXPORT_', followed by the name of the keyword they supplant, unless -the keyword already beging with `EXPORT_'. For example, `DATE' and -`EXPORT_FILE_NAME' keywords become, respectively, `EXPORT_DATE' and -`EXPORT_FILE_NAME' properties. + When exporting sub-trees, special node properties in them can +override the above keywords. They are special because they have an +`EXPORT_' prefix. For example, `DATE' and `EXPORT_FILE_NAME' keywords +become, respectively, `EXPORT_DATE' and `EXPORT_FILE_NAME'. Except for +`SETUPFILE', all other keywords listed above have an `EXPORT_' +equivalent. If `org-export-allow-bind-keywords' is non-`nil', Emacs variables can become buffer-local during export by using the BIND keyword. Its syntax is `#+BIND: variable value'. This is particularly useful for -in-buffer settings that cannot be changed using specific keywords. +in-buffer settings that cannot be changed using keywords. ---------- Footnotes ---------- @@ -9945,58 +10099,50 @@ or ` ' instead. (2) The variable `org-export-date-timestamp-format' defines how this time-stamp will be exported. - (3) If you want to configure many options this way, you can use -several `#+OPTIONS' lines. - - (4) With the exception of `SETUPFILE'. -  File: org, Node: Table of contents, Next: Include files, Prev: Export settings, Up: Exporting 12.3 Table of contents ====================== -The table of contents is normally inserted directly before the first -headline of the file. The depth of the table is by default the same as -the number of headline levels, but you can choose a smaller number, or -turn off the table of contents entirely, by configuring the variable -`org-export-with-toc', or on a per-file basis with a line like +Org normally inserts the table of contents directly before the first +headline of the file. Org sets the TOC depth the same as the headline +levels in the file. Use a lower number for lower TOC depth. To turn +off TOC entirely, use `nil'. This is configured in the +`org-export-with-toc' variable or as keywords in an Org file as: - #+OPTIONS: toc:2 only inlcude two levels in TOC + #+OPTIONS: toc:2 only include two levels in TOC #+OPTIONS: toc:nil no default TOC at all - If you would like to move the table of contents to a different -location, you should turn off the default table using -`org-export-with-toc' or `#+OPTIONS' and insert `#+TOC: headlines N' at -the desired location(s). + To move the table of contents to a different location, first turn +off the default with `org-export-with-toc' variable or with `#+OPTIONS: +toc:nil'. Then insert `#+TOC: headlines N' at the desired location(s). #+OPTIONS: toc:nil no default TOC ... #+TOC: headlines 2 insert TOC here, with two headline levels - Moreover, if you append `local' parameter, the table contains only -entries for the children of the current section(1). In this case, any -depth parameter becomes relative to the current level. + To adjust the TOC depth for a specific section of the Org document, +append an additional `local' parameter. This parameter becomes a +relative depth for the current level. - * Section - #+TOC: headlines 1 local insert local TOC, with direct children only + Note that for this feature to work properly in LaTeX export, the Org +file requires the inclusion of the `titletoc' package. Because of +compatibility issues, `titletoc' has to be loaded _before_ `hyperref'. +Customize the `org-latex-default-packages-alist' variable. - The same `TOC' keyword can also generate a list of all tables (resp. -all listings) with a caption in the document. + * Section #+TOC: headlines 1 local insert local TOC, with direct children + only + + Use the `TOC' keyword to generate list of tables (resp. all listings) +with captions. #+TOC: listings build a list of listings #+TOC: tables build a list of tables - The headline's title usually determines its corresponding entry in a -table of contents. However, it is possible to specify an alternative -title by setting `ALT_TITLE' property accordingly. It will then be -used when building the table. - - ---------- Footnotes ---------- - - (1) For LaTeX export, this feature requires the `titletoc' package. -Note that `titletoc' must be loaded _before_ `hyperref'. Thus, you may -have to customize `org-latex-default-packages-alist'. + Normally Org uses the headline for its entry in the table of +contents. But with `ALT_TITLE' property, a different entry can be +specified for the table of contents.  File: org, Node: Include files, Next: Macro replacement, Prev: Table of contents, Up: Exporting @@ -10004,38 +10150,38 @@ File: org, Node: Include files, Next: Macro replacement, Prev: Table of conte 12.4 Include files ================== -During export, you can include the content of another file. For -example, to include your `.emacs' file, you could use: +Include other files during export. For example, to include your +`.emacs' file, you could use: #+INCLUDE: "~/.emacs" src emacs-lisp -The first parameter names the the file to include. The optional second -and third parameter specify the markup (i.e., `example', `export' or -`src'), and, if the markup is either `export' or `src', the language -for formatting the contents. - - If markup is requested, the included content will be placed within an -appropriate block(1). No changes to the included content are made and -it is the responsibility of the user to ensure that the result is valid -Org syntax. For markup `example' and `src', which is requesting a -literal example, the content will be code-escaped before inclusion. - - If no markup is requested, the text will be assumed to be in Org -mode format and will be processed normally. However, footnote labels -(*note Footnotes::) in the file will be made local to that file. -Contents of the included file will belong to the same structure -(headline, item) containing the `INCLUDE' keyword. In particular, -headlines within the file will become children of the current section. -That behavior can be changed by providing an additional keyword -parameter, `:minlevel'. In that case, all headlines in the included -file will be shifted so the one with the lowest level reaches that -specified level. For example, to make a file become a sibling of the -current top-level headline, use +The first parameter is the file name to include. The optional second +parameter specifies the block type: `example', `export' or `src'. The +optional third parameter specifies the source code language to use for +formatting the contents. This is relevant to both `export' and `src' +block types. + + If an include file is specified as having a markup language, Org +neither checks for valid syntax nor changes the contents in any way. +For `example' and `src' blocks, Org code-escapes the contents before +inclusion. + + If an include file is not specified as having any markup language, +Org assumes it be in Org format and proceeds as usual with a few +exceptions. Org makes the footnote labels (*note Footnotes::) in the +included file local to that file. The contents of the included file +will belong to the same structure--headline, item--containing the +`INCLUDE' keyword. In particular, headlines within the file will +become children of the current section. That behavior can be changed +by providing an additional keyword parameter, `:minlevel'. It shifts +the headlines in the included file to become the lowest level. For +example, this syntax makes the included file a sibling of the current +top-level headline: #+INCLUDE: "~/my-book/chapter2.org" :minlevel 1 - You can also include a portion of a file by specifying a lines range -using the `:lines' keyword parameter. The line at the upper end of the + Inclusion of only portions of files are specified using ranges +parameter with `:lines' keyword. The line at the upper end of the range will not be included. The start and/or the end of the range may be omitted to use the obvious defaults. @@ -10043,12 +10189,13 @@ be omitted to use the obvious defaults. #+INCLUDE: "~/.emacs" :lines "-10" Include lines 1 to 10, 10 excluded #+INCLUDE: "~/.emacs" :lines "10-" Include lines from 10 to EOF - Finally, you may use a file-link to extract an object as matched by -`org-link-search'(2) (*note Search options::). If the `:only-contents' -property is non-`nil', only the contents of the requested element will -be included, omitting properties drawer and planning-line if present. -The `:lines' keyword operates locally with respect to the requested -element. Some examples: + Inclusions may specify a file-link to extract an object matched by +`org-link-search'(1) (*note Search options::). + + To extract only the contents of the matched object, set +`:only-contents' property to non-`nil'. This will omit any planning +lines or property drawers. The ranges for `:lines' keyword are +relative to the requested element. Some examples: #+INCLUDE: "./paper.org::#theory" :only-contents t Include the body of the heading with the custom id `theory' @@ -10061,11 +10208,7 @@ element. Some examples: ---------- Footnotes ---------- - (1) While you can request paragraphs (`verse', `quote', `center'), -but this places severe restrictions on the type of content that is -permissible - - (2) Note that `org-link-search-must-match-exact-headline' is locally + (1) Note that `org-link-search-must-match-exact-headline' is locally bound to non-`nil'. Therefore, `org-link-search' only matches headlines and named elements. @@ -10083,59 +10226,67 @@ following syntax: which can be referenced using `{{{name(arg1, arg2)}}}'(1). - These references, called macros, can be inserted anywhere Org markup -is recognized: paragraphs, headlines, verse blocks, tables cells and -lists. They can also be used in keywords accepting Org syntax, e.g., -`#+CAPTION', `#+TITLE', `#+AUTHOR', `#+DATE' and some others, export -back-end specific, ones. + Org recognizes macro references in following Org markup areas: +paragraphs, headlines, verse blocks, tables cells and lists. Org also +recognizes macro references in keywords, such as `#+CAPTION', `#+TITLE', +`#+AUTHOR', `#+DATE', and for some back-end specific export options. - In addition to user-defined macros, a set of predefined macros can -be used: + Org comes with following pre-defined macros: `{{{title}}}' `{{{author}}}' `{{{email}}}' - These macros are replaced with the information available at the - time of export. + Org replaces these macro references with available information at + the time of export. `{{{date}}}' `{{{date(FORMAT)}}}' - This macro refers to the `#+DATE' keyword. FORMAT is an optional + This macro refers to the `#+DATE' keyword. FORMAT is an optional argument to the `{{{date}}}' macro that will be used only if `#+DATE' is a single timestamp. FORMAT should be a format string understood by `format-time-string'. `{{{time(FORMAT)}}}' `{{{modification-time(FORMAT, VC)}}}' - These macros refer to the date and time when the document is - exported and to the modification date and time, respectively. - FORMAT should be a format string understood by + These macros refer to the document's date and time of export and + date and time of modification. FORMAT is a string understood by `format-time-string'. If the second argument to the - `modification-time' macro is non-`nil', Org retrieves the - information from the version control system, using `vc.el', - instead of the file attributes. + `modification-time' macro is non-`nil', Org uses `vc.el' to + retrieve the document's modification time from the version control + system. Otherwise Org reads the file attributes. `{{{input-file}}}' - This macro refers to the filename of the exported file, if any. + This macro refers to the filename of the exported file. `{{{property(PROPERTY-NAME)}}}' `{{{property(PROPERTY-NAME,SEARCH-OPTION)}}}' - This macro returns the value of property PROPERTY-NAME in current - entry. If SEARCH-OPTION (*note Search options::) refers to a - remote entry, it will be used instead. + This macro returns the value of property PROPERTY-NAME in the + current entry. If SEARCH-OPTION (*note Search options::) refers + to a remote entry, that will be used instead. + +`{{{n}}}' +`{{{n(NAME)}}}' +`{{{n(NAME,ACTION)}}}' + This macro implements custom counters by returning the number of + times the macro has been expanded so far while exporting the + buffer. You can create more than one counter using different NAME + values. If ACTION is `-', previous value of the counter is held, + i.e. the specified counter is not incremented. If the value is a + number, the specified counter is set to that value. If it is any + other non-empty string, the specified counter is reset to 1. You + may leave NAME empty to reset the default counter. The surrounding brackets can be made invisible by setting `org-hide-macro-markers' non-`nil'. - Macro expansion takes place during the very beginning of the export -process. + Org expands macros at the very beginning of the export process. ---------- Footnotes ---------- - (1) Since commas separate arguments, commas within arguments have to -be escaped with a backslash character. Conversely, backslash -characters before a comma, and only them, need to be escaped with -another backslash character. + (1) Since commas separate the arguments, commas within arguments +have to be escaped with the backslash character. So only those +backslash characters before a comma need escaping with another +backslash character.  File: org, Node: Comment lines, Next: ASCII/Latin-1/UTF-8 export, Prev: Macro replacement, Up: Exporting @@ -10170,68 +10321,71 @@ File: org, Node: ASCII/Latin-1/UTF-8 export, Next: Beamer export, Prev: Comme 12.7 ASCII/Latin-1/UTF-8 export =============================== -ASCII export produces a simple and very readable version of an Org mode -file, containing only plain ASCII. Latin-1 and UTF-8 export augment -the file with special characters and symbols available in these -encodings. +ASCII export produces an output file containing only plain ASCII +characters. This is the most simplest and direct text output. It does +not contain any Org markup either. Latin-1 and UTF-8 export use +additional characters and symbols available in these encoding +standards. All three of these export formats offer the most basic of +text output for maximum portability. - Upon exporting, text is filled and justified, when appropriate, -according the text width set in `org-ascii-text-width'. + On export, Org fills and justifies text according to the text width +set in `org-ascii-text-width'. - Links are exported in a footnote-like style, with the descriptive -part in the text and the link in a note before the next heading. See -the variable `org-ascii-links-to-notes' for details and other options. + Org exports links using a footnote-like style where the descriptive +part is in the text and the link is in a note before the next heading. +See the variable `org-ascii-links-to-notes' for details. ASCII export commands --------------------- `C-c C-e t a/l/u (`org-ascii-export-to-ascii')' - Export as an ASCII file. For an Org file, `myfile.org', the ASCII - file will be `myfile.txt'. The file will be overwritten without - warning. When the original file is `myfile.txt', the resulting - file becomes `myfile.txt.txt' in order to prevent data loss. + Export as an ASCII file with a `.txt' extension. For `myfile.org', + Org exports to `myfile.txt', overwriting without warning. For + `myfile.txt', Org exports to `myfile.txt.txt' in order to prevent + data loss. `C-c C-e t A/L/U (`org-ascii-export-as-ascii')' - Export to a temporary buffer. Do not create a file. + Export to a temporary buffer. Does not create a file. ASCII specific export settings ------------------------------ -ASCII export introduces a single of keywords, similar to the general -options settings described in *note Export settings::. +The ASCII export back-end has one extra keyword for customizing ASCII +output. Setting this keyword works similar to the general options +(*note Export settings::). `SUBTITLE' - The document subtitle. + The document subtitle. For long subtitles, use multiple + `#+SUBTITLE' lines in the Org file. Org prints them on one + continuous line, wrapping into multiple lines if necessary. Header and sectioning structure ------------------------------- -In the exported version, the first three outline levels become -headlines, defining a general document structure. Additional levels -are exported as lists. The transition can also occur at a different -level (*note Export settings::). +Org converts the first three outline levels into headlines for ASCII +export. The remaining levels are turned into lists. To change this +cut-off point where levels become lists, *note Export settings::. Quoting ASCII text ------------------ -You can insert text that will only appear when using `ASCII' back-end -with the following constructs: +To insert text within the Org file by the ASCII back-end, use one the +following constructs, inline, keyword, or export block: - Text @@ascii:and additional text@@ within a paragraph. + Inline text @@ascii:and additional text@@ within a paragraph. #+ASCII: Some text #+BEGIN_EXPORT ascii - All lines in this block will appear only when using this back-end. + Org exports text in this block only when using ASCII back-end. #+END_EXPORT ASCII specific attributes ------------------------- -`ASCII' back-end only understands one attribute, `:width', which -specifies the length, in characters, of a given horizontal rule. It -must be specified using an `ATTR_ASCII' line, directly preceding the -rule. +ASCII back-end recognizes only one attribute, `:width', which specifies +the width of an horizontal rule in number of characters. The keyword +and syntax for specifying widths is: #+ATTR_ASCII: :width 10 ----- @@ -10239,9 +10393,8 @@ rule. ASCII special blocks -------------------- -In addition to `#+BEGIN_CENTER' blocks (*note Paragraphs::), it is -possible to justify contents to the left or the right of the page with -the following dedicated blocks. +Besides `#+BEGIN_CENTER' blocks (*note Paragraphs::), ASCII back-end has +these two left and right justification blocks: #+BEGIN_JUSTIFYLEFT It's just a jump to the left... @@ -10257,18 +10410,19 @@ File: org, Node: Beamer export, Next: HTML export, Prev: ASCII/Latin-1/UTF-8 12.8 Beamer export ================== -The LaTeX class _Beamer_ allows production of high quality -presentations using LaTeX and PDF processing. Org mode has special -support for turning an Org mode file or tree into a Beamer presentation. +Org uses _Beamer_ export to convert an Org file tree structure into a +high-quality interactive slides for presentations. _Beamer_ is a LaTeX +document class for creating presentations in PDF, HTML, and other +popular display formats. * Menu: -* Beamer export commands:: How to export Beamer documents. -* Beamer specific export settings:: Export settings for Beamer export. -* Sectioning Frames and Blocks in Beamer:: Blocks and sections in Beamer. -* Beamer specific syntax:: Syntax specific to Beamer. -* Editing support:: Helper functions for Org Beamer export. -* A Beamer Example:: An complete Beamer example. +* Beamer export commands:: For creating Beamer documents. +* Beamer specific export settings:: For customizing Beamer export. +* Sectioning Frames and Blocks in Beamer:: For composing Beamer slides. +* Beamer specific syntax:: For using in Org documents. +* Editing support:: For using helper functions. +* A Beamer example:: A complete presentation.  File: org, Node: Beamer export commands, Next: Beamer specific export settings, Up: Beamer export @@ -10277,18 +10431,17 @@ File: org, Node: Beamer export commands, Next: Beamer specific export settings ----------------------------- `C-c C-e l b (`org-beamer-export-to-latex')' - Export as a LaTeX file. For an Org file `myfile.org', the LaTeX - file will be `myfile.tex'. The file will be overwritten without - warning. + Export as LaTeX file with a `.tex' extension. For `myfile.org', + Org exports to `myfile.tex', overwriting without warning. `C-c C-e l B (`org-beamer-export-as-latex')' - Export to a temporary buffer. Do not create a file. + Export to a temporary buffer. Does not create a file. `C-c C-e l P (`org-beamer-export-to-pdf')' - Export as LaTeX and then process to PDF. + Export as LaTeX file and then convert it to PDF format. `C-c C-e l O' - Export as LaTeX and then process to PDF, then open the resulting + Export as LaTeX file, convert it to PDF format, and then open the PDF file.  @@ -10297,12 +10450,13 @@ File: org, Node: Beamer specific export settings, Next: Sectioning Frames and 12.8.2 Beamer specific export settings -------------------------------------- -Beamer export introduces a number of keywords, similar to the general -options settings described in *note Export settings::. +Beamer export back-end has several additional keywords for customizing +Beamer output. These keywords work similar to the general options +settings (*note Export settings::). `BEAMER_THEME' - The Beamer theme (`org-beamer-theme'). Options can be specified - via brackets, for example: + The Beamer layout theme (`org-beamer-theme'). Use square brackets + for options. For example: #+BEAMER_THEME: Rochester [height=20pt] `BEAMER_FONT_THEME' @@ -10315,29 +10469,30 @@ options settings described in *note Export settings::. The Beamer outer theme. `BEAMER_HEADER' - Arbitrary lines inserted into the preamble, just before the + Arbitrary lines inserted in the preamble, just before the `hyperref' settings. `DESCRIPTION' - The document description. By default these are inserted as - metadata using `hyperref'. Document metadata can be configured via - `org-latex-hyperref-template'. Description can also be typeset as - part of the front matter via `org-latex-title-command'. You can - use several `#+DESCRIPTION' keywords if the description is is long. + The document description. For long descriptions, use multiple + `#+DESCRIPTION' keywords. By default, `hyperref' inserts + `#+DESCRIPTION' as metadata. Use `org-latex-hyperref-template' to + configure document metadata. Use `org-latex-title-command' to + configure typesetting of description as part of front matter. `KEYWORDS' - The keywords defining the contents of the document. By default - these are inserted as metadata using `hyperref'. Document - metadata can be configured via `org-latex-hyperref-template'. - Description can also be typeset as part of the front matter via - `org-latex-title-command'. You can use several `#+KEYWORDS' if - the description is is long. + The keywords for defining the contents of the document. Use + multiple `#+KEYWORDS' lines if necessary. By default, `hyperref' + inserts `#+KEYWORDS' as metadata. Use + `org-latex-hyperref-template' to configure document metadata. Use + `org-latex-title-command' to configure typesetting of keywords as + part of front matter. `SUBTITLE' - The document subtitle. This is typeset using the format string - `org-beamer-subtitle-format'. It can also access via - `org-latex-hyperref-template' or typeset as part of the front - matter via `org-latex-title-command'. + Document's subtitle. For typesetting, use + `org-beamer-subtitle-format' string. Use + `org-latex-hyperref-template' to configure document metadata. Use + `org-latex-title-command' to configure typesetting of subtitle as + part of front matter.  File: org, Node: Sectioning Frames and Blocks in Beamer, Next: Beamer specific syntax, Prev: Beamer specific export settings, Up: Beamer export @@ -10345,65 +10500,65 @@ File: org, Node: Sectioning Frames and Blocks in Beamer, Next: Beamer specific 12.8.3 Sectioning, Frames and Blocks in Beamer ---------------------------------------------- -Any tree with not-too-deep level nesting should in principle be -exportable as a Beamer presentation. Headlines fall into three -categories: sectioning elements, frames and blocks. - - - Headlines become frames when their level is equal to - `org-beamer-frame-level' or `H' value in an `OPTIONS' line (*note - Export settings::). - - Though, if a headline in the current tree has a `BEAMER_ENV' - property set to either to `frame' or `fullframe', its level - overrides the variable. A `fullframe' is a frame with an empty - (ignored) title. - - - All frame's children become `block' environments. Special block - types can be enforced by setting headline's `BEAMER_ENV' - property(1) to an appropriate value (see - `org-beamer-environments-default' for supported values and - `org-beamer-environments-extra' for adding more). - - - As a special case, if the `BEAMER_ENV' property is set to either - `appendix', `note', `noteNH' or `againframe', the headline will - become, respectively, an appendix, a note (within frame or between - frame, depending on its level), a note with its title ignored or an - `\againframe' command. In the latter case, a `BEAMER_REF' property - is mandatory in order to refer to the frame being resumed, and - contents are ignored. - - Also, a headline with an `ignoreheading' environment will have its - contents only inserted in the output. This special value is - useful to have data between frames, or to properly close a +Org transforms heading levels into Beamer's sectioning elements, frames +and blocks. Any Org tree with a not-too-deep-level nesting should in +principle be exportable as a Beamer presentation. + + - Org headlines become Beamer frames when the heading level in Org + is equal to `org-beamer-frame-level' or `H' value in an `OPTIONS' + line (*note Export settings::). + + Org overrides headlines to frames conversion for the current tree + of an Org file if it encounters the `BEAMER_ENV' property set to + `frame' or `fullframe'. Org ignores whatever + `org-beamer-frame-level' happens to be for that headline level in + the Org tree. In Beamer terminology, a `fullframe' is a frame + without its title. + + - Org exports a Beamer frame's objects as `block' environments. Org + can enforce wrapping in special block types when `BEAMER_ENV' + property is set(1). For valid values see + `org-beamer-environments-default'. To add more values, see + `org-beamer-environments-extra'. + + - If `BEAMER_ENV' is set to `appendix', Org exports the entry as an + appendix. When set to `note', Org exports the entry as a note + within the frame or between frames, depending on the entry's + heading level. When set to `noteNH', Org exports the entry as a + note without its title. When set to `againframe', Org exports the + entry with `\againframe' command, which makes setting the + `BEAMER_REF' property mandatory because `\againframe' needs frame + to resume. + + When `ignoreheading' is set, Org export ignores the entry's + headline but not its content. This is useful for inserting + content between frames. It is also useful for properly closing a `column' environment. - Headlines also support `BEAMER_ACT' and `BEAMER_OPT' properties. -The former is translated as an overlay/action specification, or a -default overlay specification when enclosed within square brackets. -The latter specifies options(2) for the current frame or block. The -export back-end will automatically wrap properties within angular or -square brackets when appropriate. - - Moreover, headlines handle the `BEAMER_COL' property. Its value -should be a decimal number representing the width of the column as a -fraction of the total text width. If the headline has no specific -environment, its title will be ignored and its contents will fill the -column created. Otherwise, the block will fill the whole column and -the title will be preserved. Two contiguous headlines with a non-`nil' -`BEAMER_COL' value share the same `columns' LaTeX environment. It will -end before the next headline without such a property. This environment -is generated automatically. Although, it can also be explicitly -created, with a special `columns' value for `BEAMER_ENV' property (if -it needs to be set up with some specific options, for example). + When `BEAMER_ACT' is set for a headline, Org export translates that +headline as an overlay or action specification. When enclosed in square +brackets, Org export makes the overlay specification a default. Use +`BEAMER_OPT' to set any options applicable to the current Beamer frame +or block. The Beamer export back-end wraps with appropriate angular or +square brackets. It also adds the `fragile' option for any code that +may require a verbatim block. + + To create a column on the Beamer slide, use the `BEAMER_COL' property +for its headline in the Org file. Set the value of `BEAMER_COL' to a +decimal number representing the fraction of the total text width. +Beamer export uses this value to set the column's width and fills the +column with the contents of the Org entry. If the Org entry has no +specific environment defined, Beamer export ignores the heading. If +the Org entry has a defined environment, Beamer export uses the heading +as title. Behind the scenes, Beamer export automatically handles LaTeX +column separations for contiguous headlines. To manually adjust them +for any unique configurations needs, use the `BEAMER_ENV' property. ---------- Footnotes ---------- - (1) If this property is set, the entry will also get a -`:B_environment:' tag to make this visible. This tag has no semantic -meaning, it is only a visual aid. - - (2) The `fragile' option is added automatically if it contains code -that requires a verbatim environment, though. + (1) If `BEAMER_ENV' is set, Org export adds `:B_environment:' tag to +make it visible. The tag serves as a visual aid and has no semantic +relevance.  File: org, Node: Beamer specific syntax, Next: Editing support, Prev: Sectioning Frames and Blocks in Beamer, Up: Beamer export @@ -10411,67 +10566,76 @@ File: org, Node: Beamer specific syntax, Next: Editing support, Prev: Section 12.8.4 Beamer specific syntax ----------------------------- -The Beamer back-end is an extension of the LaTeX back-end. As such, all -LaTeX specific syntax (e.g., `#+LATEX:' or `#+ATTR_LATEX:') is -recognized. See *note LaTeX export:: for more information. +Since Org's Beamer export back-end is an extension of the LaTeX +back-end, it recognizes other LaTeX specific syntax--for example, +`#+LATEX:' or `#+ATTR_LATEX:'. *Note LaTeX export::, for details. - Table of contents generated from `toc:t' `OPTION' keyword are -wrapped within a `frame' environment. Those generated from a `TOC' -keyword (*note Table of contents::) are not. In that case, it is also -possible to specify options, enclosed within square brackets. + Beamer export wraps the table of contents generated with `toc:t' +`OPTION' keyword in a `frame' environment. Beamer export does not wrap +the table of contents generated with `TOC' keyword (*note Table of +contents::). Use square brackets for specifying options. #+TOC: headlines [currentsection] - Beamer specific code can be inserted with the following constructs: + Insert Beamer-specific code using the following constructs: #+BEAMER: \pause #+BEGIN_EXPORT beamer - All lines in this block will appear only when using this back-end. + Only Beamer export back-end will export this line. #+END_BEAMER Text @@beamer:some code@@ within a paragraph. - In particular, this last example can be used to add overlay -specifications to objects whose type is among `bold', `item', `link', -`radio-target' and `target', when the value is enclosed within angular -brackets and put at the beginning the object. + Inline constructs, such as the last one above, are useful for adding +overlay specifications to objects with `bold', `item', `link', +`radio-target' and `target' types. Enclose the value in angular +brackets and place the specification at the beginning the object as +shown in this example: A *@@beamer:<2->@@useful* feature - Eventually, every plain list has support for `:environment', -`:overlay' and `:options' attributes through `ATTR_BEAMER' affiliated -keyword. The first one allows the use of a different environment, the -second sets overlay specifications and the last one inserts optional -arguments in current list environment. + Beamer export recognizes the `ATTR_BEAMER' keyword with the following +attributes from Beamer configurations: `:environment' for changing local +Beamer environment, `:overlay' for specifying Beamer overlays in angular +or square brackets, and `:options' for inserting optional arguments. + + #+ATTR_BEAMER: :environment nonindentlist + - item 1, not indented + - item 2, not indented + - item 3, not indented - #+ATTR_BEAMER: :overlay +- + #+ATTR_BEAMER: :overlay <+-> - item 1 - item 2 + #+ATTR_BEAMER: :options [Lagrange] + Let $G$ be a finite group, and let $H$ be + a subgroup of $G$. Then the order of $H$ divides the order of $G$. +  -File: org, Node: Editing support, Next: A Beamer Example, Prev: Beamer specific syntax, Up: Beamer export +File: org, Node: Editing support, Next: A Beamer example, Prev: Beamer specific syntax, Up: Beamer export 12.8.5 Editing support ---------------------- -You can turn on a special minor mode `org-beamer-mode' for faster -editing with: +The `org-beamer-mode' is a special minor mode for faster editing of +Beamer documents. #+STARTUP: beamer `C-c C-b (`org-beamer-select-environment')' - In `org-beamer-mode', this key offers fast selection of a Beamer - environment or the `BEAMER_COL' property. + The `org-beamer-mode' provides this key for quicker selections in + Beamer normal environments, and for selecting the `BEAMER_COL' + property.  -File: org, Node: A Beamer Example, Prev: Editing support, Up: Beamer export +File: org, Node: A Beamer example, Prev: Editing support, Up: Beamer export 12.8.6 A Beamer example ----------------------- -Here is a simple example Org document that is intended for Beamer -export. +Here is an example of an Org document ready for Beamer export. #+TITLE: Example Presentation #+AUTHOR: Carsten Dominik @@ -10511,24 +10675,23 @@ File: org, Node: HTML export, Next: LaTeX export, Prev: Beamer export, Up: E 12.9 HTML export ================ -Org mode contains an HTML (XHTML 1.0 strict) exporter with extensive -HTML formatting, in ways similar to John Gruber's _markdown_ language, -but with additional support for tables. +Org mode contains an HTML exporter with extensive HTML formatting +compatible with XHTML 1.0 strict standard. * Menu: -* HTML Export commands:: How to invoke HTML export -* HTML Specific export settings:: Export settings for HTML export -* HTML doctypes:: Org can export to various (X)HTML flavors -* HTML preamble and postamble:: How to insert a preamble and a postamble -* Quoting HTML tags:: Using direct HTML in Org mode -* Links in HTML export:: How links will be interpreted and formatted -* Tables in HTML export:: How to modify the formatting of tables -* Images in HTML export:: How to insert figures into HTML output -* Math formatting in HTML export:: Beautiful math also on the web -* Text areas in HTML export:: An alternative way to show an example -* CSS support:: Changing the appearance of the output -* JavaScript support:: Info and Folding in a web browser +* HTML Export commands:: Invoking HTML export +* HTML Specific export settings:: Settings for HTML export +* HTML doctypes:: Exporting various (X)HTML flavors +* HTML preamble and postamble:: Inserting preamble and postamble +* Quoting HTML tags:: Using direct HTML in Org files +* Links in HTML export:: Interpreting and formatting links +* Tables in HTML export:: Formatting and modifying tables +* Images in HTML export:: Inserting figures with HTML output +* Math formatting in HTML export:: Handling math equations +* Text areas in HTML export:: Showing an alternate approach, an example +* CSS support:: Styling HTML output +* JavaScript support:: Folding scripting in the web browser  File: org, Node: HTML Export commands, Next: HTML Specific export settings, Up: HTML export @@ -10537,13 +10700,12 @@ File: org, Node: HTML Export commands, Next: HTML Specific export settings, U --------------------------- `C-c C-e h h (`org-html-export-to-html')' - Export as an HTML file. For an Org file `myfile.org', the HTML - file will be `myfile.html'. The file will be overwritten without - warning. `C-c C-e h o' Export as an HTML file and immediately - open it with a browser. + Export as HTML file with a `.html' extension. For `myfile.org', + Org exports to `myfile.html', overwriting without warning. `C-c + C-e h o' Exports to HTML and opens it in a web browser. `C-c C-e h H (`org-html-export-as-html')' - Export to a temporary buffer. Do not create a file. + Exports to a temporary buffer. Does not create a file.  File: org, Node: HTML Specific export settings, Next: HTML doctypes, Prev: HTML Export commands, Up: HTML export @@ -10551,54 +10713,58 @@ File: org, Node: HTML Specific export settings, Next: HTML doctypes, Prev: HT 12.9.2 HTML Specific export settings ------------------------------------ -HTML export introduces a number of keywords, similar to the general -options settings described in *note Export settings::. +HTML export has a number of keywords, similar to the general options +settings described in *note Export settings::. `DESCRIPTION' - The document description. This description is inserted as a HTML - meta tag. You can use several such keywords if the list is long. + This is the document's description, which the HTML exporter + inserts it as a HTML meta tag in the HTML file. For long + descriptions, use multiple `#+DESCRIPTION' lines. The exporter + takes care of wrapping the lines properly. `HTML_DOCTYPE' - The document type, e.g. HTML5, (`org-html-doctype'). + Specify the document type, for example: HTML5 (`org-html-doctype'). `HTML_CONTAINER' - The container, e.g. `div', used to wrap sections and elements - (`org-html-container-element'). + Specify the HTML container, such as `div', for wrapping sections + and elements (`org-html-container-element'). `HTML_LINK_HOME' - The home link URL (`org-html-link-home'). + The URL for home link (`org-html-link-home'). `HTML_LINK_UP' - The up link URL (`org-html-link-up'). + The URL for the up link of exported HTML pages + (`org-html-link-up'). `HTML_MATHJAX' - Options for the MathJax (`org-html-mathjax-options'). MathJax is - used to typeset LaTeX math in HTML documents. *note Math - formatting in HTML export:: contains an example. + Options for MathJax (`org-html-mathjax-options'). MathJax is used + to typeset LaTeX math in HTML documents. *Note Math formatting in + HTML export::, for an example. `HTML_HEAD' - Arbitrary lines appended to the end of the head of the document + Arbitrary lines for appending to the HTML document's head (`org-html-head'). `HTML_HEAD_EXTRA' - Arbitrary lines appended to the end of the header of the document + More arbitrary lines for appending to the HTML document's head (`org-html-head-extra'). `KEYWORDS' - The keywords defining the contents of the document. This - description is inserted as a HTML meta tag. You can use several - such keywords if the list is long. + Keywords to describe the document's content. HTML exporter + inserts these keywords as HTML meta tags. For long keywords, use + multiple `#+KEYWORDS' lines. `LATEX_HEADER' - Arbitrary lines appended to the preamble used when transcoding - LaTeX fragments to images. See *note Math formatting in HTML - export:: for details. + Arbitrary lines for appending to the preamble; HTML exporter + appends when transcoding LaTeX fragments to images (*note Math + formatting in HTML export::). `SUBTITLE' - The document subtitle. The formatting depends on whether HTML5 in - used and on the `subtitle' CSS class. + The document's subtitle. HTML exporter formats subtitle if + document type is `HTML5' and the CSS has a `subtitle' class. - These keywords are treated in details in the following sections. + Some of these keywords are explained in more detail in the following +sections of the manual.  File: org, Node: HTML doctypes, Next: HTML preamble and postamble, Prev: HTML Specific export settings, Up: HTML export @@ -10608,12 +10774,9 @@ File: org, Node: HTML doctypes, Next: HTML preamble and postamble, Prev: HTML Org can export to various (X)HTML flavors. - Setting the variable `org-html-doctype' allows you to export to -different (X)HTML variants. The exported HTML will be adjusted -according to the syntax requirements of that variant. You can either -set this variable to a doctype string directly, in which case the -exporter will try to adjust the syntax automatically, or you can use a -ready-made doctype. The ready-made options are: + Set the `org-html-doctype' variable for different (X)HTML variants. +Depending on the variant, the HTML exporter adjusts the syntax of HTML +conversion accordingly. Org includes the following ready-made variants: * "html4-strict" @@ -10636,11 +10799,11 @@ ready-made doctype. The ready-made options are: See the variable `org-html-doctype-alist' for details. The default is "xhtml-strict". - HTML5 introduces several new element types. By default, Org will -not make use of these element types, but you can set -`org-html-html5-fancy' to non-`nil' (or set `html5-fancy' item in an -`OPTIONS' line), to enable a few new block-level elements. These are -created using arbitrary #+BEGIN and #+END blocks. For instance: + Org's HTML exporter does not by default enable new block elements +introduced with the HTML5 standard. To enable them, set +`org-html-html5-fancy' to non-`nil'. Or use an `OPTIONS' line in the +file to set `html5-fancy'. HTML5 documents can now have arbitrary +`#+BEGIN' and `#+END' blocks. For example: #+BEGIN_aside Lorem ipsum @@ -10661,7 +10824,7 @@ created using arbitrary #+BEGIN and #+END blocks. For instance: Your browser does not support the video tag. #+END_video - Becomes: + Exports to:

Your browser does not support the video tag.

- Special blocks that do not correspond to HTML5 elements (see -`org-html-html5-elements') will revert to the usual behavior, i.e., -`#+BEGIN_lederhosen' will still export to `
'. + When special blocks do not have a corresponding HTML5 element, the +HTML exporter reverts to standard translation (see +`org-html-html5-elements'). For example, `#+BEGIN_lederhosen' exports +to `
'. - Headlines cannot appear within special blocks. To wrap a headline -and its contents in e.g., `
' or `
' tags, set the -`HTML_CONTAINER' property on the headline itself. + Special blocks cannot have headlines. For the HTML exporter to wrap +the headline and its contents in `
' or `
' tags, set +the `HTML_CONTAINER' property for the headline.  File: org, Node: HTML preamble and postamble, Next: Quoting HTML tags, Prev: HTML doctypes, Up: HTML export @@ -10683,23 +10847,23 @@ File: org, Node: HTML preamble and postamble, Next: Quoting HTML tags, Prev: 12.9.4 HTML preamble and postamble ---------------------------------- -The HTML exporter lets you define a preamble and a postamble. - - The default value for `org-html-preamble' is `t', which means that -the preamble is inserted depending on the relevant format string in -`org-html-preamble-format'. +The HTML exporter has delineations for preamble and postamble. The +default value for `org-html-preamble' is `t', which makes the HTML +exporter insert the preamble. See the variable +`org-html-preamble-format' for the format string. - Setting `org-html-preamble' to a string will override the default -format string. If you set it to a function, it will insert the output -of the function, which must be a string. Setting to `nil' will not -insert any preamble. + Set `org-html-preamble' to a string to override the default format +string. If the string is a function, the HTML exporter expects the +function to return a string upon execution. The HTML exporter inserts +this string in the preamble. The HTML exporter will not insert a +preamble if `org-html-preamble' is set `nil'. - The default value for `org-html-postamble' is `'auto', which means -that the HTML exporter will look for information about the author, the -email, the creator and the date, and build the postamble from these -values. Setting `org-html-postamble' to `t' will insert the postamble -from the relevant format string found in `org-html-postamble-format'. -Setting it to `nil' will not insert any postamble. + The default value for `org-html-postamble' is `auto', which makes +the HTML exporter build a postamble from looking up author's name, email +address, creator's name, and date. Set `org-html-postamble' to `t' to +insert the postamble in the format specified in the +`org-html-postamble-format' variable. The HTML exporter will not insert +a postamble if `org-html-postamble' is set to `nil'.  File: org, Node: Quoting HTML tags, Next: Links in HTML export, Prev: HTML preamble and postamble, Up: HTML export @@ -10707,11 +10871,11 @@ File: org, Node: Quoting HTML tags, Next: Links in HTML export, Prev: HTML pr 12.9.5 Quoting HTML tags ------------------------ -Plain `<' and `>' are always transformed to `<' and `>' in HTML -export. If you want to include raw HTML code, which should only appear -in HTML export, mark it with `@@html:' as in `@@html:@@bold -text@@html:@@'. For more extensive HTML that should be copied -verbatim to the exported file use either +The HTML export back-end transforms `<' and `>' to `<' and `>'. +To include raw HTML code in the Org file so the HTML export back-end +can insert that HTML code in the output, use this inline syntax: +`@@html:'. For example: `@@html:@@bold text@@html:@@'. For +larger raw HTML code blocks, use these HTML export code blocks: #+HTML: Literal HTML code for export @@ -10727,22 +10891,26 @@ File: org, Node: Links in HTML export, Next: Tables in HTML export, Prev: Quo 12.9.6 Links in HTML export --------------------------- -Internal links (*note Internal links::) will continue to work in HTML. -This includes automatic links created by radio targets (*note Radio -targets::). Links to external files will still work if the target file -is on the same relative path as the published Org file. Links to other -`.org' files will be translated into HTML links under the assumption -that an HTML version also exists of the linked file, at the same -relative path; setting `org-html-link-org-files-as-html' to `nil' -disables this translation. `id:' links can then be used to jump to -specific entries across files. For information related to linking -files while publishing them to a publishing directory see *note -Publishing links::. - - If you want to specify attributes for links, you can do so using a -special `#+ATTR_HTML' line to define attributes that will be added to -the `' or `' tags. Here is an example that sets `title' and -`style' attributes for a link: +The HTML export back-end transforms Org's internal links (*note +Internal links::) to equivalent HTML links in the output. The back-end +similarly handles Org's automatic links created by radio targets (*note +Radio targets::) similarly. For Org links to external files, the +back-end transforms the links to _relative_ paths. + + For Org links to other `.org' files, the back-end automatically +changes the file extension to `.html' and makes file paths relative. +If the `.org' files have an equivalent `.html' version at the same +location, then the converted links should work without any further +manual intervention. However, to disable this automatic path +translation, set `org-html-link-org-files-as-html' to `nil'. When +disabled, the HTML export back-end substitutes the `id:'-based links in +the HTML output. For more about linking files when publishing to a +directory, *note Publishing links::. + + Org files can also have special directives to the HTML export +back-end. For example, by using `#+ATTR_HTML' lines to specify new +format attributes to `' or `' tags. This example shows +changing the link's `title' and `style': #+ATTR_HTML: :title The Org mode homepage :style color:red; [[http://orgmode.org]] @@ -10753,41 +10921,40 @@ File: org, Node: Tables in HTML export, Next: Images in HTML export, Prev: Li 12.9.7 Tables in HTML export ---------------------------- -Org mode tables are exported to HTML using the table attributes defined -in `org-html-table-default-attributes'. The default setting makes -tables without cell borders and frame. If you would like to change -this for individual tables, place something like the following before -the table: +The HTML export back-end uses `org-html-table-default-attributes' when +exporting Org tables to HTML. By default, the exporter does not draw +frames and cell borders. To change for this for a table, use the +following lines before the table in the Org file: #+CAPTION: This is a table with lines around and between cells #+ATTR_HTML: :border 2 :rules all :frame border - You can also group columns in the HTML output (*note Column -groups::). + The HTML export back-end preserves column groupings in Org tables +(*note Column groups::) when exporting to HTML. - Below is a list of options for customizing tables HTML export. + Additional options for customizing tables for HTML export. `org-html-table-align-individual-fields' - Non-`nil' means attach style attributes for alignment to each - table field. + Non-`nil' attaches style attributes for alignment to each table + field. `org-html-table-caption-above' - When non-`nil', place caption string at the beginning of the table. + Non-`nil' places caption string at the beginning of the table. `org-html-table-data-tags' - The opening and ending tags for table data fields. + Opening and ending tags for table data fields. `org-html-table-default-attributes' - Default attributes and values which will be used in table tags. + Default attributes and values for table tags. `org-html-table-header-tags' - The opening and ending tags for table header fields. + Opening and ending tags for table's header fields. `org-html-table-row-tags' - The opening and ending tags for table rows. + Opening and ending tags for table rows. `org-html-table-use-header-tags-for-first-column' - Non-`nil' means format column one in tables with header tags. + Non-`nil' formats column one in tables with header tags.  File: org, Node: Images in HTML export, Next: Math formatting in HTML export, Prev: Tables in HTML export, Up: HTML export @@ -10795,33 +10962,35 @@ File: org, Node: Images in HTML export, Next: Math formatting in HTML export, 12.9.8 Images in HTML export ---------------------------- -HTML export can inline images given as links in the Org file, and it -can make an image the clickable part of a link. By default(1), images -are inlined if a link does not have a description. So -`[[file:myimg.jpg]]' will be inlined, while `[[file:myimg.jpg][the -image]]' will just produce a link `the image' that points to the image. -If the description part itself is a `file:' link or a `http:' URL -pointing to an image, this image will be inlined and activated so that -clicking on the image will activate the link. For example, to include -a thumbnail that will link to a high resolution version of the image, -you could use: +The HTML export back-end has features to convert Org image links to HTML +inline images and HTML clickable image links. + + When the link in the Org file has no description, the HTML export +back-end by default in-lines that image. For example: +`[[file:myimg.jpg]]' is in-lined, while `[[file:myimg.jpg][the image]]' +links to the text, `the image'. + + For more details, see the variable `org-html-inline-images'. + + On the other hand, if the description part of the Org link is itself +another link, such as `file:' or `http:' URL pointing to an image, the +HTML export back-end in-lines this image and links to the main image. +This Org syntax enables the back-end to link low-resolution thumbnail +to the high-resolution version of the image, as shown in this example: [[file:highres.jpg][file:thumb.jpg]] - If you need to add attributes to an inlined image, use a -`#+ATTR_HTML'. In the example below we specify the `alt' and `title' -attributes to support text viewers and accessibility, and align it to -the right. + To change attributes of in-lined images, use `#+ATTR_HTML' lines in +the Org file. This example shows realignment to right, and adds `alt' +and `title' attributes in support of text viewers and modern web +accessibility standards. #+CAPTION: A black cat stalking a spider #+ATTR_HTML: :alt cat/spider image :title Action! :align right [[./img/a.jpg]] -You could use `http' addresses just as well. - - ---------- Footnotes ---------- - - (1) But see the variable `org-html-inline-images'. +The HTML export back-end copies the `http' links from the Org file as +is.  File: org, Node: Math formatting in HTML export, Next: Text areas in HTML export, Prev: Images in HTML export, Up: HTML export @@ -10836,7 +11005,7 @@ Some MathJax display options can be configured via `org-html-mathjax-options', or in the buffer. For example, with the following settings, #+HTML_MATHJAX: align: left indent: 5em tagside: left font: Neo-Euler - equation labels will be displayed on the left marign and equations + equation labels will be displayed on the left margin and equations will be five ems from the left margin. See the docstring of `org-html-mathjax-options' for all supported @@ -10860,10 +11029,8 @@ still get this processing with ---------- Footnotes ---------- - (1) By default Org loads MathJax from MathJax.org -(http://docs.mathjax.org/en/latest/start.html#using-the-mathjax-content-delivery-network-cdn). -A link to the terms of service of the MathJax CDN can be found in the -docstring of `org-html-mathjax-options'. + (1) By default Org loads MathJax from cdnjs.com (https://cdnjs.com) +as recommended by MathJax (http://www.mathjax.org).  File: org, Node: Text areas in HTML export, Next: CSS support, Prev: Math formatting in HTML export, Up: HTML export @@ -10871,14 +11038,20 @@ File: org, Node: Text areas in HTML export, Next: CSS support, Prev: Math for 12.9.10 Text areas in HTML export --------------------------------- -An alternative way to publish literal code examples in HTML is to use -text areas, where the example can even be edited before pasting it into -an application. It is triggered by `:textarea' attribute at an -`example' or `src' block. +Before Org mode's Babel, one popular approach to publishing code in +HTML was by using `:textarea'. The advantage of this approach was that +copying and pasting was built into browsers with simple JavaScript +commands. Even editing before pasting was made simple. - You may also use `:height' and `:width' attributes to specify the -height and width of the text area, which default to the number of lines -in the example, and 80, respectively. For example + The HTML export back-end can create such text areas. It requires an +`#+ATTR_HTML:' line as shown in the example below with the `:textarea' +option. This must be followed by either an `example' or a `src' code +block. Other Org block types will not honor the `:textarea' option. + + By default, the HTML export back-end creates a text area 80 +characters wide and height just enough to fit the content. Override +these defaults with `:width' and `:height' options on the +`#+ATTR_HTML:' line. #+ATTR_HTML: :textarea t :width 40 #+BEGIN_EXAMPLE @@ -10920,7 +11093,7 @@ tables, etc. .figure-number label like "Figure 1:" .table-number label like "Table 1:" .listing-number label like "Listing 1:" - div.figure how to format an inlined image + div.figure how to format an in-lined image pre.src formatted source code pre.example normal example p.verse verse paragraph @@ -10930,23 +11103,31 @@ tables, etc. .footnum footnote number in footnote definition (always ) .org-svg default class for a linked `.svg' image - Each exported file contains a compact default style that defines -these classes in a basic way(2). You may overwrite these settings, or -add to them by using the variables `org-html-head' and -`org-html-head-extra'. You can override the global values of these -variables for each file by using these keywords: + The HTML export back-end includes a compact default style in each +exported HTML file. To override the default style with another style, +use these keywords in the Org file. They will replace the global +defaults the HTML exporter uses. #+HTML_HEAD: #+HTML_HEAD_EXTRA: -For longer style definitions, you can use several such lines. You -could also directly write a `' section in this way, -without referring to an external file. + To just turn off the default style, customize +`org-html-head-include-default-style' variable, or use this option line +in the Org file. + + #+OPTIONS: html-style:nil + +For longer style definitions, either use several `#+HTML_HEAD' and +`#+HTML_HEAD_EXTRA' lines, or use `' blocks around +them. Both of these approaches can avoid referring to an external file. + + In order to add styles to a sub-tree, use the +`:HTML_CONTAINER_CLASS:' property to assign a class to the tree. In +order to specify CSS styles for a particular headline, you can use the +id specified in a `:CUSTOM_ID:' property. - In order to add styles to a subtree, use the `:HTML_CONTAINER_CLASS:' -property to assign a class to the tree. In order to specify CSS styles -for a particular headline, you can use the id specified in a -`:CUSTOM_ID:' property. + Never change the `org-html-style-default' constant. Instead use +other simpler ways of customizing as described above. ---------- Footnotes ---------- @@ -10954,11 +11135,6 @@ for a particular headline, you can use the id specified in a the variables `org-html-todo-kwd-class-prefix' and `org-html-tag-class-prefix' to make them unique. - (2) This style is defined in the constant `org-html-style-default', -which you should not modify. To turn inclusion of these defaults off, -customize `org-html-head-include-default-style' or set `html-style' to -`nil' in an `OPTIONS' line. -  File: org, Node: JavaScript support, Prev: CSS support, Up: HTML export @@ -10967,28 +11143,25 @@ File: org, Node: JavaScript support, Prev: CSS support, Up: HTML export Sebastian Rose has written a JavaScript program especially designed to enhance the web viewing experience of HTML files created with Org. This -program allows you to view large files in two different ways. The -first one is an _Info_-like mode where each section is displayed -separately and navigation can be done with the `n' and `p' keys (and -some other keys as well, press `?' for an overview of the available -keys). The second view type is a _folding_ view much like Org provides -inside Emacs. The script is available at -`http://orgmode.org/org-info.js' and you can find the documentation for -it at `http://orgmode.org/worg/code/org-info-js/'. We host the script -at our site, but if you use it a lot, you might not want to be -dependent on `http://orgmode.org' and prefer to install a local copy on -your own web server. - - All it then takes to use this program is adding a single line to the -Org file: +program enhances large files in two different ways of viewing. One is +an _Info_-like mode where each section is displayed separately and +navigation can be done with the `n' and `p' keys (and some other keys +as well, press `?' for an overview of the available keys). The second +one has a _folding_ view, much like Org provides inside Emacs. The +script is available at `http://orgmode.org/org-info.js' and the +documentation at `http://orgmode.org/worg/code/org-info-js/'. The +script is hosted on `http://orgmode.org', but for reliability, prefer +installing it on your own web server. + + To use this program, just add this line to the Org file: #+INFOJS_OPT: view:info toc:nil -If this line is found, the HTML header will automatically contain the -code needed to invoke the script. Using the line above, you can set -the following viewing options: +The HTML header now has the code needed to automatically invoke the +script. For setting options, use the syntax from the above line for +options described below: - path: The path to the script. The default is to grab the script from + path: The path to the script. The default grabs the script from `http://orgmode.org/org-info.js', but you might want to have a local copy and use a path like `../scripts/org-info.js'. view: Initial view when the website is first shown. Possible values are: @@ -11014,8 +11187,8 @@ the following viewing options: buttons: Should view-toggle buttons be everywhere? When `nil' (the default), only one such button will be present. You can choose default values for these options by customizing the -variable `org-html-infojs-options'. If you always want to apply the -script to your pages, configure the variable `org-html-use-infojs'. +variable `org-html-infojs-options'. If you want the script to always +apply to your pages, configure the variable `org-html-use-infojs'.  File: org, Node: LaTeX export, Next: Markdown export, Prev: HTML export, Up: Exporting @@ -11023,34 +11196,35 @@ File: org, Node: LaTeX export, Next: Markdown export, Prev: HTML export, Up: 12.10 LaTeX export ================== -The LaTeX exporter can produce an arbitrarily complex LaTeX document of -any standard or custom document class(1). The Org LaTeX exporter is -geared towards producing fully-linked PDF output. - - As in LaTeX, blank lines are meaningful for this back-end: a -paragraph will not be started if two contiguous syntactical elements -are not separated by an empty line. +The LaTeX export back-end can handle complex documents, incorporate +standard or custom LaTeX document classes, generate documents using +alternate LaTeX engines, and produce fully linked PDF files with +indexes, bibliographies, and tables of contents, destined for +interactive online viewing or high-quality print publication. -* Menu: + While the details are covered in-depth in this section, here are +some quick references to variables for the impatient: for engines, see +`org-latex-compiler'; for build sequences, see `org-latex-pdf-process'; +for packages, see `org-latex-default-packages-alist' and +`org-latex-packages-alist'. -* LaTeX export commands:: How to export to LaTeX and PDF -* LaTeX specific export settings:: Export settings for LaTeX -* LaTeX header and sectioning:: Setting up the export file structure -* Quoting LaTeX code:: Incorporating literal LaTeX code -* Tables in LaTeX export:: Specific attributes for tables -* Images in LaTeX export:: Specific attributes for images -* Plain lists in LaTeX export:: Specific attributes for plain lists -* Source blocks in LaTeX export:: Specific attributes for source blocks -* Example blocks in LaTeX export:: Specific attributes for example blocks -* Special blocks in LaTeX export:: Specific attributes for special blocks -* Horizontal rules in LaTeX export:: Specific attributes for horizontal rules + An important note about the LaTeX export back-end: it is sensitive to +blank lines in the Org document. That's because LaTeX itself depends on +blank lines to tell apart syntactical elements, such as paragraphs. - ---------- Footnotes ---------- +* Menu: - (1) The LaTeX exporter can be configured to support alternative -LaTeX engines (see `org-latex-compiler'), build sequences (see -`org-latex-pdf-process'), and packages, (see -`org-latex-default-packages-alist' and `org-latex-packages-alist'). +* LaTeX export commands:: For producing LaTeX and PDF documents. +* LaTeX specific export settings:: Unique to this LaTeX back-end. +* LaTeX header and sectioning:: For file structure. +* Quoting LaTeX code:: Directly in the Org document. +* Tables in LaTeX export:: Attributes specific to tables. +* Images in LaTeX export:: Attributes specific to images. +* Plain lists in LaTeX export:: Attributes specific to lists. +* Source blocks in LaTeX export:: Attributes specific to source code blocks. +* Example blocks in LaTeX export:: Attributes specific to example blocks. +* Special blocks in LaTeX export:: Attributes specific to special blocks. +* Horizontal rules in LaTeX export:: Attributes specific to horizontal rules.  File: org, Node: LaTeX export commands, Next: LaTeX specific export settings, Up: LaTeX export @@ -11059,32 +11233,34 @@ File: org, Node: LaTeX export commands, Next: LaTeX specific export settings, ----------------------------- `C-c C-e l l (`org-latex-export-to-latex')' - Export as a LaTeX file. For an Org file `myfile.org', the LaTeX - file will be `myfile.tex'. The file will be overwritten without - warning. + Export as LaTeX file with a `.tex' extension. For `myfile.org', + Org exports to `myfile.tex', overwriting without warning. `C-c C-e + l l' Exports to LaTeX file. `C-c C-e l L (`org-latex-export-as-latex')' Export to a temporary buffer. Do not create a file. `C-c C-e l p (`org-latex-export-to-pdf')' - Export as LaTeX and then process to PDF. + Export as LaTeX file and convert it to PDF file. `C-c C-e l o' - Export as LaTeX and then process to PDF, then open the resulting - PDF file. - - The exporter supports several LaTeX engines, namely `pdflatex', -`xelatex' and `lualatex'. The default LaTeX compiler can be set via -`org-latex-compiler' or the `#+LATEX_COMPILER' keyword. It is possible -to only load some packages with certain compilers (see the docstring of -`org-latex-default-packages-alist'). The bibliography compiler may -also be set via `org-latex-bibtex-compiler'(1). + Export as LaTeX file and convert it to PDF, then open the PDF + using the default viewer. + + The LaTeX export back-end can use any of these LaTeX engines: +`pdflatex', `xelatex', and `lualatex'. These engines compile LaTeX +files with different compilers, packages, and output options. The +LaTeX export back-end finds the compiler version to use from +`org-latex-compiler' variable or the `#+LATEX_COMPILER' keyword in the +Org file. See the docstring for the `org-latex-default-packages-alist' +for loading packages with certain compilers. Also see +`org-latex-bibtex-compiler' to set the bibliography compiler(1). ---------- Footnotes ---------- - (1) You cannot set the bibliography compiler on a file basis via a -keyword. However, "smart" LaTeX compilation systems, such as -`latexmk', are usually able to select the correct bibliography compiler. + (1) This does not allow setting different bibliography compilers for +different files. However, "smart" LaTeX compilation systems, such as +`latexmk', can select the correct bibliography compiler.  File: org, Node: LaTeX specific export settings, Next: LaTeX header and sectioning, Prev: LaTeX export commands, Up: LaTeX export @@ -11092,53 +11268,63 @@ File: org, Node: LaTeX specific export settings, Next: LaTeX header and sectio 12.10.2 LaTeX specific export settings -------------------------------------- -The LaTeX exporter introduces a number of keywords, similar to the -general options settings described in *note Export settings::. +The LaTeX export back-end has several additional keywords for +customizing LaTeX output. Setting these keywords works similar to the +general options (*note Export settings::). `DESCRIPTION' - The document description. By default these are inserted as - metadata using `hyperref'. Document metadata can be configured via - `org-latex-hyperref-template'. Description can also be typeset as - part of the front matter via `org-latex-title-command'. You can - use several `#+DESCRIPTION' keywords if the description is is long. + The document's description. The description along with author + name, keywords, and related file metadata are inserted in the + output file by the `hyperref' package. See + `org-latex-hyperref-template' for customizing metadata items. See + `org-latex-title-command' for typesetting description into the + document's front matter. Use multiple `#+DESCRIPTION' lines for + long descriptions. `LATEX_CLASS' - The predefined preamble and headline level mapping to use - (`org-latex-default-class'). Must be an element in - `org-latex-classes'. + This is LaTeX document class, such as `article', `report', `book', + and so on, which contain predefined preamble and headline level + mapping that the LaTeX export back-end needs. The back-end reads + the default class name from the `org-latex-default-class' + variable. Org has `article' as the default class. A valid + default class must be an element of `org-latex-classes'. `LATEX_CLASS_OPTIONS' - Options given to the LaTeX document class. + Options the LaTeX export back-end uses when calling the LaTeX + document class. `LATEX_COMPILER' - The compiler used to produce the PDF (`org-latex-compiler'). + The compiler, such as `pdflatex', `xelatex', `lualatex', for + producing the PDF (`org-latex-compiler'). `LATEX_HEADER' - Arbitrary lines added to the preamble of the document, before the - `hyperref' settings. The location can be controlled via - `org-latex-classes'. + Arbitrary lines to add to the document's preamble, before the + `hyperref' settings. See `org-latex-classes' for adjusting the + structure and order of the LaTeX headers. `LATEX_HEADER_EXTRA' - Arbitrary lines added to the preamble of the document, before the - `hyperref' settings. The location can be controlled via - `org-latex-classes'. + Arbitrary lines to add to the document's preamble, before the + `hyperref' settings. See `org-latex-classes' for adjusting the + structure and order of the LaTeX headers. `KEYWORDS' - The keywords defining the contents of the document. By default - these are inserted as metadata using `hyperref'. Document - metadata can be configured via `org-latex-hyperref-template'. - Description can also be typeset as part of the front matter via - `org-latex-title-command'. You can use several `#+KEYWORDS' if - the description is is long. + The keywords for the document. The description along with author + name, keywords, and related file metadata are inserted in the + output file by the `hyperref' package. See + `org-latex-hyperref-template' for customizing metadata items. See + `org-latex-title-command' for typesetting description into the + document's front matter. Use multiple `#+KEYWORDS' lines if + necessary. `SUBTITLE' - The document subtitle. This is typeset according to + The document's subtitle. It is typeset as per `org-latex-subtitle-format'. If `org-latex-subtitle-separate' is - non-`nil' it is typed as part of the `\title'-macro. It can also - access via `org-latex-hyperref-template' or typeset as part of the - front matter via `org-latex-title-command'. + non-`nil', it is typed as part of the `\title'-macro. See + `org-latex-hyperref-template' for customizing metadata items. See + `org-latex-title-command' for typesetting description into the + document's front matter. - These keywords are treated in details in the following sections. + The following sections have further details.  File: org, Node: LaTeX header and sectioning, Next: Quoting LaTeX code, Prev: LaTeX specific export settings, Up: LaTeX export @@ -11146,32 +11332,37 @@ File: org, Node: LaTeX header and sectioning, Next: Quoting LaTeX code, Prev: 12.10.3 LaTeX header and sectioning structure --------------------------------------------- -By default, the first three outline levels become headlines, defining a -general document structure. Additional levels are exported as `itemize' -or `enumerate' lists. The transition can also occur at a different -level (*note Export settings::). +The LaTeX export back-end converts the first three of Org's outline +levels into LaTeX headlines. The remaining Org levels are exported as +`itemize' or `enumerate' lists. To change this globally for the +cut-off point between levels and lists, (*note Export settings::). - By default, the LaTeX output uses the class `article'. + By default, the LaTeX export back-end uses the `article' class. - You can change this globally by setting a different value for -`org-latex-default-class' or locally by adding an option like -`#+LATEX_CLASS: myclass' in your file, or with a `EXPORT_LATEX_CLASS' -property that applies when exporting a region containing only this -(sub)tree. The class must be listed in `org-latex-classes'. This -variable defines a header template for each class(1), and allows you to -define the sectioning structure for each class. You can also define -your own classes there. + To change the default class globally, edit `org-latex-default-class'. +To change the default class locally in an Org file, add option lines +`#+LATEX_CLASS: myclass'. To change the default class for just a part +of the Org file, set a sub-tree property, `EXPORT_LATEX_CLASS'. The +class name entered here must be valid member of `org-latex-classes'. +This variable defines a header template for each class into which the +exporter splices the values of `org-latex-default-packages-alist' and +`org-latex-packages-alist'. Use the same three variables to define +custom sectioning or custom classes. - The `LATEX_CLASS_OPTIONS' keyword or `EXPORT_LATEX_CLASS_OPTIONS' -property can specify the options for the `\documentclass' macro. These -options have to be provided, as expected by LaTeX, within square -brackets. + The LaTeX export back-end sends the `LATEX_CLASS_OPTIONS' keyword and +`EXPORT_LATEX_CLASS_OPTIONS' property as options to the LaTeX +`\documentclass' macro. The options and the syntax for specifying them, +including enclosing them in square brackets, follow LaTeX conventions. - You can also use the `LATEX_HEADER' and `LATEX_HEADER_EXTRA'(2) -keywords in order to add lines to the header. See the docstring of -`org-latex-classes' for more information. + #+LATEX_CLASS_OPTIONS: [a4paper,11pt,twoside,twocolumn] - An example is shown below. + The LaTeX export back-end appends values from `LATEX_HEADER' and +`LATEX_HEADER_EXTRA' keywords to the LaTeX header. The docstring for +`org-latex-classes' explains in more detail. Also note that LaTeX +export back-end does not append `LATEX_HEADER_EXTRA' to the header when +previewing LaTeX snippets (*note Previewing LaTeX fragments::). + + A sample Org file with the above headers: #+LATEX_CLASS: article #+LATEX_CLASS_OPTIONS: [a4paper] @@ -11179,15 +11370,8 @@ keywords in order to add lines to the header. See the docstring of * Headline 1 some text - - ---------- Footnotes ---------- - - (1) Into which the values of `org-latex-default-packages-alist' and -`org-latex-packages-alist' are spliced. - - (2) Unlike `LATEX_HEADER', contents from `LATEX_HEADER_EXTRA' -keywords will not be loaded when previewing LaTeX snippets (*note -Previewing LaTeX fragments::). + * Headline 2 + some more text  File: org, Node: Quoting LaTeX code, Next: Tables in LaTeX export, Prev: LaTeX header and sectioning, Up: LaTeX export @@ -11195,17 +11379,20 @@ File: org, Node: Quoting LaTeX code, Next: Tables in LaTeX export, Prev: LaTe 12.10.4 Quoting LaTeX code -------------------------- -Embedded LaTeX as described in *note Embedded LaTeX::, will be correctly -inserted into the LaTeX file. Furthermore, you can add special code -that should only be present in LaTeX export with the following -constructs: +The LaTeX export back-end can insert any arbitrary LaTeX code, *note +Embedded LaTeX::. There are three ways to embed such code in the Org +file and they all use different quoting syntax. - Code within @@latex:some code@@ a paragraph. + Inserting in-line quoted with symbols: + Code embedded in-line @@latex:any arbitrary LaTeX code@@ in a paragraph. - #+LATEX: Literal LaTeX code for export + Inserting as one or more keyword lines in the Org file: + #+LATEX: any arbitrary LaTeX code + Inserting as an export block in the Org file, where the back-end +exports any code between begin and end markers: #+BEGIN_EXPORT latex - All lines between these markers are exported literally + any arbitrary LaTeX code #+END_EXPORT  @@ -11214,73 +11401,84 @@ File: org, Node: Tables in LaTeX export, Next: Images in LaTeX export, Prev: 12.10.5 Tables in LaTeX export ------------------------------ -For LaTeX export of a table, you can specify a label and a caption -(*note Images and tables::). You can also use attributes to control -table layout and contents. Valid LaTeX attributes include: +The LaTeX export back-end can pass several LaTeX attributes for table +contents and layout. Besides specifying label and caption (*note +Images and tables::), the other valid LaTeX attributes include: `:mode' - Nature of table's contents. It can be set to `table', `math', - `inline-math' or `verbatim'. In particular, when in `math' or - `inline-math' mode, every cell is exported as-is and the table is - wrapped within a math environment. Also, contiguous tables - sharing the same math mode are merged within the same environment. - Default mode is determined in `org-latex-default-table-mode'. + The LaTeX export back-end wraps the table differently depending on + the mode for accurate rendering of math symbols. Mode is either + `table', `math', `inline-math' or `verbatim'. For `math' or + `inline-math' mode, LaTeX export back-end wraps the table in a math + environment, but every cell in it is exported as-is. The LaTeX + export back-end determines the default mode from + `org-latex-default-table-mode'. For , The LaTeX export back-end + merges contiguous tables in the same mode into a single + environment. `:environment' - Environment used for the table. It can be set to any LaTeX table - environment, like `tabularx'(1), `longtable', `array', `tabu'(2), - `bmatrix'... It defaults to `org-latex-default-table-environment' - value. + Set the default LaTeX table environment for the LaTeX export + back-end to use when exporting Org tables. Common LaTeX table + environments are provided by these packages: `tabularx', + `longtable', `array', `tabu', and `bmatrix'. For packages, such + as `tabularx' and `tabu', or any newer replacements, include them + in the `org-latex-packages-alist' variable so the LaTeX export + back-end can insert the appropriate load package headers in the + converted LaTeX file. Look in the docstring for the + `org-latex-packages-alist' variable for configuring these packages + for LaTeX snippet previews, if any. `:caption' - `#+CAPTION' keyword is the simplest way to set a caption for a - table (*note Images and tables::). If you need more advanced - commands for that task, you can use `:caption' attribute instead. - Its value should be raw LaTeX code. It has precedence over - `#+CAPTION'. + Use `#+CAPTION' keyword to set a simple caption for a table (*note + Images and tables::). For custom captions, use `:caption' + attribute, which accepts raw LaTeX code. `:caption' value + overrides `#+CAPTION' value. `:float' `:placement' - The `:float' specifies the float environment for the table. - Possible values are `sideways'(3), `multicolumn', `t' and `nil'. - When unspecified, a table with a caption will have a `table' - environment. Moreover, the `:placement' attribute can specify the - positioning of the float. Note: `:placement' is ignored for - `:float sideways' tables. + The table environments by default are not floats in LaTeX. To + make them floating objects use `:float' with one of the following + options: `sideways', `multicolumn', `t', and `nil'. Note that + `sidewaystable' has been deprecated since Org 8.3. LaTeX floats + can also have additional layout `:placement' attributes. These + are the usual `[h t b p ! H]' permissions specified in square + brackets. Note that for `:float sideways' tables, the LaTeX + export back-end ignores `:placement' attributes. `:align' `:font' `:width' - Set, respectively, the alignment string of the table, its font - size and its width. They only apply on regular tables. + The LaTeX export back-end uses these attributes for regular tables + to set their alignments, fonts, and widths. `:spread' - Boolean specific to the `tabu' and `longtabu' environments, and - only takes effect when used in conjunction with the `:width' - attribute. When `:spread' is non-`nil', the table will be spread - or shrunk by the value of `:width'. + When `:spread' is non-`nil', the LaTeX export back-end spreads or + shrinks the table by the `:width' for `tabu' and `longtabu' + environments. `:spread' has no effect if `:width' is not set. `:booktabs' `:center' `:rmlines' - They toggle, respectively, `booktabs' usage (assuming the package - is properly loaded), table centering and removal of every - horizontal rule but the first one (in a "table.el" table only). - In particular, `org-latex-tables-booktabs' (respectively - `org-latex-tables-centered') activates the first (respectively - second) attribute globally. + All three commands are toggles. `:booktabs' brings in modern + typesetting enhancements to regular tables. The `booktabs' + package has to be loaded through `org-latex-packages-alist'. + `:center' is for centering the table. `:rmlines' removes all but + the very first horizontal line made of ASCII characters from + "table.el" tables only. `:math-prefix' `:math-suffix' `:math-arguments' - A string that will be inserted, respectively, before the table - within the math environment, after the table within the math - environment, and between the macro name and the contents of the - table. The `:math-arguments' attribute is used for matrix macros - that require more than one argument (e.g., `qbordermatrix'). + The LaTeX export back-end inserts `:math-prefix' string value in a + math environment before the table. The LaTeX export back-end + inserts `:math-suffix' string value in a math environment after + the table. The LaTeX export back-end inserts `:math-arguments' + string value between the macro name and the table's contents. + `:math-arguments' comes in use for matrix macros that require more + than one argument, such as `qbordermatrix'. - Thus, attributes can be used in a wide array of situations, like -writing a table that will span over multiple pages, or a matrix product: + LaTeX table attributes help formatting tables for a wide range of +situations, such as matrix product or spanning multiple pages: #+ATTR_LATEX: :environment longtable :align l|lp{3cm}r|l | ..... | ..... | @@ -11293,89 +11491,73 @@ writing a table that will span over multiple pages, or a matrix product: | 1 | 2 | | 3 | 4 | - In the example below, LaTeX command `\bicaption{HeadingA}{HeadingB}' -will set the caption. + Set the caption with the LaTeX command +`\bicaption{HeadingA}{HeadingB}': #+ATTR_LATEX: :caption \bicaption{HeadingA}{HeadingB} | ..... | ..... | | ..... | ..... | - ---------- Footnotes ---------- - - (1) Requires adding the `tabularx' package to -`org-latex-packages-alist'. - - (2) Requires adding the `tabu' package to `org-latex-packages-alist'. - - (3) Formerly, the value was `sidewaystable'. This is deprecated -since Org 8.3. -  File: org, Node: Images in LaTeX export, Next: Plain lists in LaTeX export, Prev: Tables in LaTeX export, Up: LaTeX export 12.10.6 Images in LaTeX export ------------------------------ -Images that are linked to without a description part in the link, like -`[[file:img.jpg]]' or `[[./img.jpg]]' will be inserted into the PDF -output file resulting from LaTeX processing. Org will use an -`\includegraphics' macro to insert the image(1). +The LaTeX export back-end processes image links in Org files that do not +have descriptions, such as these links `[[file:img.jpg]]' or +`[[./img.jpg]]', as direct image insertions in the final PDF output. In +the PDF, they are no longer links but actual images embedded on the +page. The LaTeX export back-end uses `\includegraphics' macro to +insert the image. But for TikZ(1) images, the back-end uses an +`\input' macro wrapped within a `tikzpicture' environment. - You can specify image width or height with, respectively, `:width' -and `:height' attributes. It is also possible to add any other option -with the `:options' attribute, as shown in the following example: + For specifying image `:width', `:height', and other `:options', use +this syntax: #+ATTR_LATEX: :width 5cm :options angle=90 [[./img/sed-hr4049.pdf]] - If you need a specific command for the caption, use `:caption' -attribute. It will override standard `#+CAPTION' value, if any. + For custom commands for captions, use the `:caption' attribute. It +will override the default `#+CAPTION' value: #+ATTR_LATEX: :caption \bicaption{HeadingA}{HeadingB} [[./img/sed-hr4049.pdf]] - If you have specified a caption as described in *note Images and -tables::, the picture will be wrapped into a `figure' environment and -thus become a floating element. You can also ask Org to export an -image as a float without specifying caption by setting the `:float' -attribute. You may also set it to: - - `t': if you want to use the standard `figure' environment. It is - used by default if you provide a caption to the image. + When captions follow the method as described in *note Images and +tables::, the LaTeX export back-end wraps the picture in a floating +`figure' environment. To float an image without specifying a caption, +set the `:float' attribute to one of the following: + - `t': for a standard `figure' environment; used by default whenever + an image has a caption. - - `multicolumn': if you wish to include an image which spans multiple - columns in a page. This will export the image wrapped in a - `figure*' environment. + - `multicolumn': to span the image across multiple columns of a + page; the back-end wraps the image in a `figure*' environment. - - `wrap': if you would like to let text flow around the image. It - will make the figure occupy the left half of the page. + - `wrap': for text to flow around the image on the right; the figure + occupies the left half of the page. - - `sideways': if you would like the image to appear alone on a - separate page rotated ninety degrees using the `sidewaysfigure' - environment. Setting this `:float' option will ignore the - `:placement' setting. + - `sideways': for a new page with the image sideways, rotated ninety + degrees, in a `sidewaysfigure' environment; overrides `:placement' + setting. - - `nil': if you need to avoid any floating environment, even when a - caption is provided. - To modify the placement option of any floating environment, set the -`placement' attribute. + - `nil': to avoid a `:float' even if using a caption. + Use the `placement' attribute to modify a floating environment's +placement. - #+ATTR_LATEX: :float wrap :width 0.38\textwidth :placement {r}{0.4\textwidth} - [[./img/hst.png]] + #+ATTR_LATEX: :float wrap :width 0.38\textwidth :placement + {r}{0.4\textwidth} [[./img/hst.png]] - Images are centered by default. However, one can disable this -behavior by setting `:center' attribute to `nil'. To prevent any image -from being centered throughout a document, set -`org-latex-images-centered' instead. + The LaTeX export back-end centers all images by default. Setting +`:center' attribute to `nil' disables centering. To disable centering +globally, set `org-latex-images-centered' to `t'. - Eventually, if the `:comment-include' attribute is set to a -non-`nil' value, the LaTeX `\includegraphics' macro will be commented -out. + Set the `:comment-include' attribute to non-`nil' value for the +LaTeX export back-end to comment out the `\includegraphics' macro. ---------- Footnotes ---------- - (1) In the case of TikZ (`http://sourceforge.net/projects/pgf/') -images, it will become an `\input' macro wrapped within a `tikzpicture' -environment. + (1) `http://sourceforge.net/projects/pgf/'  File: org, Node: Plain lists in LaTeX export, Next: Source blocks in LaTeX export, Prev: Images in LaTeX export, Up: LaTeX export @@ -11383,10 +11565,9 @@ File: org, Node: Plain lists in LaTeX export, Next: Source blocks in LaTeX exp 12.10.7 Plain lists in LaTeX export ----------------------------------- -Plain lists accept two optional attributes: `:environment' and -`:options'. The first can be used to specify the environment. The -second can be used to specifies additional arguments to the environment. -Both attributes are illustrated in the following example: +The LaTeX export back-end accepts the `:environment' and `:options' +attributes for plain lists. Both attributes work together for +customizing lists, as shown in the examples: #+LATEX_HEADER: \usepackage[inline]{enumitem} Some ways to say "Hello": @@ -11396,9 +11577,9 @@ Both attributes are illustrated in the following example: - Bonjour - Guten Tag. - By default, LaTeX only supports four levels of nesting for lists. If -deeper nesting is needed, the `enumitem' LaTeX package can be employed, -as shown in this example: + Since LaTeX supports only four levels of nesting for lists, use an +external package, such as `enumitem' in LaTeX, for levels deeper than +four: #+LATEX_HEADER: \usepackage{enumitem} #+LATEX_HEADER: \renewlist{itemize}{itemize}{9} @@ -11415,48 +11596,50 @@ File: org, Node: Source blocks in LaTeX export, Next: Example blocks in LaTeX 12.10.8 Source blocks in LaTeX export ------------------------------------- -In addition to syntax defined in *note Literal examples::, names and -captions (*note Images and tables::), source blocks also accept two -additional attributes: `:float' and `:options'. +The LaTeX export back-end can make source code blocks into floating +objects through the attributes `:float' and `:options'. For `:float': - You may set the former to - - `t': if you want to make the source block a float. It is the - default value when a caption is provided. + - `t': makes a source block float; by default floats any source + block with a caption. - - `multicolumn': if you wish to include a source block which spans - multiple columns in a page. + - `multicolumn': spans the source block across multiple columns of a + page. - - `nil': if you need to avoid any floating environment, even when a - caption is provided. It is useful for source code that may not - fit in a single page. + - `nil': avoids a `:float' even if using a caption; useful for + source code blocks that may not fit on a page. #+ATTR_LATEX: :float nil #+BEGIN_SRC emacs-lisp - Code that may not fit in a single page. + Lisp code that may not fit in a single page. #+END_SRC - The latter allows to specify options relative to the package used to -highlight code in the output (e.g., `listings'). This is the local -counterpart to `org-latex-listings-options' and -`org-latex-minted-options' variables, which see. + The LaTeX export back-end passes string values in `:options' to +LaTeX packages for customization of that specific source block. In the +example below, the `:options' are set for Minted. Minted is a source +code highlighting LaTeXpackage with many configurable options. #+ATTR_LATEX: :options commentstyle=\bfseries #+BEGIN_SRC emacs-lisp - (defun Fib (n) ; Count rabbits. + (defun Fib (n) (if (< n 2) n (+ (Fib (- n 1)) (Fib (- n 2))))) #+END_SRC + To apply similar configuration options for all source blocks in a +file, use the `org-latex-listings-options' and +`org-latex-minted-options' variables. +  File: org, Node: Example blocks in LaTeX export, Next: Special blocks in LaTeX export, Prev: Source blocks in LaTeX export, Up: LaTeX export 12.10.9 Example blocks in LaTeX export -------------------------------------- -By default, when exporting to LaTeX, example blocks contents are wrapped -in a `verbatim' environment. It is possible to use a different -environment globally using an appropriate export filter (*note Advanced -configuration::). You can also change this per block using -`:environment' parameter. +The LaTeX export back-end wraps the contents of example blocks in a +`verbatim' environment. To change this behavior to use another +environment globally, specify an appropriate export filter (*note +Advanced configuration::). To change this behavior to use another +environment for each block, use the `:environment' parameter to specify +a custom environment. #+ATTR_LATEX: :environment myverbatim #+BEGIN_EXAMPLE @@ -11469,9 +11652,10 @@ File: org, Node: Special blocks in LaTeX export, Next: Horizontal rules in LaT 12.10.10 Special blocks in LaTeX export --------------------------------------- -In LaTeX back-end, special blocks become environments of the same name. -Value of `:options' attribute will be appended as-is to that -environment's opening string. For example: +For other special blocks in the Org file, the LaTeX export back-end +makes a special environment of the same name. The back-end also takes +`:options', if any, and appends as-is to that environment's opening +string. For example: #+BEGIN_abstract We demonstrate how to solve the Syracuse problem. @@ -11483,7 +11667,7 @@ environment's opening string. For example: Therefore, any even number greater than 2 is the sum of two primes. #+END_proof -becomes +exports to \begin{abstract} We demonstrate how to solve the Syracuse problem. @@ -11509,8 +11693,8 @@ File: org, Node: Horizontal rules in LaTeX export, Prev: Special blocks in LaT 12.10.11 Horizontal rules in LaTeX export ----------------------------------------- -Width and thickness of a given horizontal rule can be controlled with, -respectively, `:width' and `:thickness' attributes: +The LaTeX export back-end converts horizontal rules by the specified +`:width' and `:thickness' attributes. For example: #+ATTR_LATEX: :width .6\textwidth :thickness 0.8pt ----- @@ -11521,23 +11705,22 @@ File: org, Node: Markdown export, Next: OpenDocument Text export, Prev: LaTeX 12.11 Markdown export ===================== -`md' export back-end generates Markdown syntax(1) for an Org mode -buffer. +The Markdown export back-end, `md', converts an Org file to a Markdown +format, as defined at `http://daringfireball.net/projects/markdown/'. - It is built over HTML back-end: any construct not supported by -Markdown syntax (e.g., tables) will be controlled and translated by -`html' back-end (*note HTML export::). + Since `md' is built on top of the HTML back-end, any Org constructs +not supported by Markdown, such as tables, the underlying `html' +back-end (*note HTML export::) converts them. Markdown export commands ------------------------ `C-c C-e m m (`org-md-export-to-markdown')' - Export as a text file written in Markdown syntax. For an Org file, - `myfile.org', the resulting file will be `myfile.md'. The file - will be overwritten without warning. + Export to a text file with Markdown syntax. For `myfile.org', Org + exports to `myfile.md', overwritten without warning. `C-c C-e m M (`org-md-export-as-markdown')' - Export to a temporary buffer. Do not create a file. + Export to a temporary buffer. Does not create a file. `C-c C-e m o' Export as a text file with Markdown syntax, then open it. @@ -11545,16 +11728,11 @@ Markdown export commands Header and sectioning structure ------------------------------- -Markdown export can generate both `atx' and `setext' types for -headlines, according to `org-md-headline-style'. The former introduces -a hard limit of two levels, whereas the latter pushes it to six. -Headlines below that limit are exported as lists. You can also set a -soft limit before that one (*note Export settings::). - - ---------- Footnotes ---------- - - (1) Vanilla flavor, as defined at -`http://daringfireball.net/projects/markdown/'. +Based on `org-md-headline-style', markdown export can generate headlines +of both `atx' and `setext' types. `atx' limits headline levels to two. +`setext' limits headline levels to six. Beyond these limits, the +export back-end converts headlines to lists. To set a limit to a level +before the absolute limit (*note Export settings::).  File: org, Node: OpenDocument Text export, Next: Org export, Prev: Markdown export, Up: Exporting @@ -11562,24 +11740,24 @@ File: org, Node: OpenDocument Text export, Next: Org export, Prev: Markdown e 12.12 OpenDocument Text export ============================== -Org mode supports export to OpenDocument Text (ODT) format. Documents -created by this exporter use the `OpenDocument-v1.2 specification'(1) -and are compatible with LibreOffice 3.4. +The ODT export back-end handles creating of OpenDocument Text (ODT) +format files. The format complies with `OpenDocument-v1.2 +specification'(1) and is compatible with LibreOffice 3.4. * Menu: -* Pre-requisites for ODT export:: What packages ODT exporter relies on -* ODT export commands:: How to invoke ODT export -* ODT specific export settings:: Export settings for ODT -* Extending ODT export:: How to produce `doc', `pdf' files -* Applying custom styles:: How to apply custom styles to the output -* Links in ODT export:: How links will be interpreted and formatted -* Tables in ODT export:: How Tables are exported -* Images in ODT export:: How to insert images -* Math formatting in ODT export:: How LaTeX fragments are formatted -* Labels and captions in ODT export:: How captions are rendered -* Literal examples in ODT export:: How source and example blocks are formatted -* Advanced topics in ODT export:: Read this if you are a power user +* Pre-requisites for ODT export:: Required packages. +* ODT export commands:: Invoking export. +* ODT specific export settings:: Configuration options. +* Extending ODT export:: Producing `.doc', `.pdf' files. +* Applying custom styles:: Styling the output. +* Links in ODT export:: Handling and formatting links. +* Tables in ODT export:: Org table conversions. +* Images in ODT export:: Inserting images. +* Math formatting in ODT export:: Formatting LaTeX fragments. +* Labels and captions in ODT export:: Rendering objects. +* Literal examples in ODT export:: For source code and example blocks. +* Advanced topics in ODT export:: For power users. ---------- Footnotes ---------- @@ -11593,9 +11771,9 @@ File: org, Node: Pre-requisites for ODT export, Next: ODT export commands, Up 12.12.1 Pre-requisites for ODT export ------------------------------------- -The ODT exporter relies on the `zip' program to create the final -output. Check the availability of this program before proceeding -further. +The ODT export back-end relies on the `zip' program to create the final +compressed ODT output. Check if `zip' is locally available and +executable. Without `zip', export cannot finish.  File: org, Node: ODT export commands, Next: ODT specific export settings, Prev: Pre-requisites for ODT export, Up: OpenDocument Text export @@ -11606,51 +11784,53 @@ File: org, Node: ODT export commands, Next: ODT specific export settings, Pre `C-c C-e o o (`org-odt-export-to-odt')' Export as OpenDocument Text file. - If `org-odt-preferred-output-format' is specified, automatically - convert the exported file to that format. *Note Automatically - exporting to other formats: x-export-to-other-formats. + If `org-odt-preferred-output-format' is specified, the ODT export + back-end automatically converts the exported file to that format. + *Note Automatically exporting to other formats: + x-export-to-other-formats. + + For `myfile.org', Org exports to `myfile.odt', overwriting without + warning. The ODT export back-end exports a region only if a + region was active. Note for exporting active regions, the + `transient-mark-mode' has to be turned on. - For an Org file `myfile.org', the ODT file will be `myfile.odt'. - The file will be overwritten without warning. If there is an - active region,(1) only the region will be exported. If the - selected region is a single tree,(2) the tree head will become the - document title. If the tree head entry has, or inherits, an - `EXPORT_FILE_NAME' property, that name will be used for the export. + If the selected region is a single tree, the ODT export back-end + makes the tree head the document title. Incidentally, `C-c @' + selects the current sub-tree. If the tree head entry has, or + inherits, an `EXPORT_FILE_NAME' property, the ODT export back-end + uses that for file name. - `C-c C-e o O' Export as an OpenDocument Text file and open the - resulting file. + `C-c C-e o O' Export to an OpenDocument Text file format and open + it. - If `org-odt-preferred-output-format' is specified, open the + When `org-odt-preferred-output-format' is specified, open the converted file instead. *Note Automatically exporting to other formats: x-export-to-other-formats. - ---------- Footnotes ---------- - - (1) This requires `transient-mark-mode' to be turned on - - (2) To select the current subtree, use `C-c @' -  File: org, Node: ODT specific export settings, Next: Extending ODT export, Prev: ODT export commands, Up: OpenDocument Text export 12.12.3 ODT specific export settings ------------------------------------ -The ODT exporter introduces a number of keywords, similar to the general -options settings described in *note Export settings::. +The ODT export back-end has several additional keywords for customizing +ODT output. Setting these keywords works similar to the general options +(*note Export settings::). `DESCRIPTION' - The document description. These are inserted as document - metadata. You can use several such keywords if the list is long. + This is the document's description, which the ODT export back-end + inserts as document metadata. For long descriptions, use multiple + `#+DESCRIPTION' lines. `KEYWORDS' - The keywords defining the contents of the document. These are - inserted as document metadata. You can use several such keywords - if the list is long. + The keywords for the document. The ODT export back-end inserts the + description along with author name, keywords, and related file + metadata as metadata in the output file. Use multiple + `#+KEYWORDS' lines if necessary. `ODT_STYLES_FILE' - The style file of the document (`org-odt-styles-file'). See *note - Applying custom styles:: for details. + The ODT export back-end uses the `org-odt-styles-file' by default. + See *note Applying custom styles:: for details. `SUBTITLE' The document subtitle. @@ -11661,42 +11841,39 @@ File: org, Node: Extending ODT export, Next: Applying custom styles, Prev: OD 12.12.4 Extending ODT export ---------------------------- -The ODT exporter can interface with a variety of document converters -and supports popular converters out of the box. As a result, you can -use it to export to formats like `doc' or convert a document from one -format (say `csv') to another format (say `ods' or `xls'). +The ODT export back-end can produce documents in other formats besides +ODT using a specialized ODT converter process. Its common interface +works with popular converters to produce formats such as `doc', or +convert a document from one format, say `csv', to another format, say +`xls'. - If you have a working installation of LibreOffice, a document -converter is pre-configured for you and you can use it right away. If -you would like to use `unoconv' as your preferred converter, customize -the variable `org-odt-convert-process' to point to `unoconv'. You can -also use your own favorite converter or tweak the default settings of -the `LibreOffice' and `unoconv' converters. *Note Configuring a -document converter::. + Customize `org-odt-convert-process' variable to point to `unoconv', +which is the ODT's preferred converter. Working installations of +LibreOffice would already have `unoconv' installed. Alternatively, +other converters may be substituted here. *Note Configuring a document +converter::. Automatically exporting to other formats ........................................ -Very often, you will find yourself exporting to ODT format, only to -immediately save the exported document to other formats like `doc', -`docx', `rtf', `pdf' etc. In such cases, you can specify your -preferred output format by customizing the variable -`org-odt-preferred-output-format'. This way, the export commands -(*note Exporting to ODT: x-export-to-odt.) can be extended to export to -a format that is of immediate interest to you. +If ODT format is just an intermediate step to get to other formats, +such as `doc', `docx', `rtf', or `pdf', etc., then extend the ODT +export back-end to directly produce that format. Specify the final +format in the `org-odt-preferred-output-format' variable. This is one +way to extend (*note Exporting to ODT: x-export-to-odt.). Converting between document formats ................................... -There are many document converters in the wild which support conversion -to and from various file formats, including, but not limited to the ODT -format. LibreOffice converter, mentioned above, is one such converter. -Once a converter is configured, you can interact with it using the -following command. +The Org export back-end is made to be inter-operable with a wide range +of text document format converters. Newer generation converters, such +as LibreOffice and Pandoc, can handle hundreds of formats at once. Org +provides a consistent interaction with whatever converter is installed. +Here are some generic commands: `M-x org-odt-convert RET' Convert an existing document from one format to another. With a - prefix argument, also open the newly produced file. + prefix argument, opens the newly produced file.  File: org, Node: Applying custom styles, Next: Links in ODT export, Prev: Extending ODT export, Up: OpenDocument Text export @@ -11704,35 +11881,31 @@ File: org, Node: Applying custom styles, Next: Links in ODT export, Prev: Ext 12.12.5 Applying custom styles ------------------------------ -The ODT exporter ships with a set of OpenDocument styles (*note Working -with OpenDocument style files::) that ensure a well-formatted output. -These factory styles, however, may not cater to your specific tastes. -To customize the output, you can either modify the above styles files -directly, or generate the required styles using an application like -LibreOffice. The latter method is suitable for expert and non-expert -users alike, and is described here. +The ODT export back-end comes with many OpenDocument styles (*note +Working with OpenDocument style files::). To expand or further +customize these built-in style sheets, either edit the style sheets +directly or generate them using an application such as LibreOffice. +The example here shows creating a style using LibreOffice. Applying custom styles: the easy way .................................... - 1. Create a sample `example.org' file with the below settings and - export it to ODT format. + 1. Create a sample `example.org' file with settings as shown below, + and export it to ODT format. #+OPTIONS: H:10 num:t 2. Open the above `example.odt' using LibreOffice. Use the `Stylist' - to locate the target styles--these typically have the `Org' - prefix--and modify those to your taste. Save the modified file - either as an OpenDocument Text (`.odt') or OpenDocument Template - (`.ott') file. + to locate the target styles, which typically have the `Org' prefix. + Open one, modify, and save as either OpenDocument Text (`.odt') or + OpenDocument Template (`.ott') file. 3. Customize the variable `org-odt-styles-file' and point it to the newly created file. For additional configuration options *note Overriding factory styles: x-overriding-factory-styles. - If you would like to choose a style on a per-file basis, you can - use the `#+ODT_STYLES_FILE' option. A typical setting will look - like + To apply and ODT style to a particular file, use the + `#+ODT_STYLES_FILE' option as shown in the example below: #+ODT_STYLES_FILE: "/path/to/example.ott" @@ -11744,12 +11917,10 @@ Applying custom styles: the easy way Using third-party styles and templates ...................................... -You can use third-party styles and templates for customizing your -output. This will produce the desired output only if the template -provides all style names that the `ODT' exporter relies on. Unless -this condition is met, the output is going to be less than -satisfactory. So it is highly recommended that you only work with -templates that are directly derived from the factory settings. +The ODT export back-end relies on many templates and style names. Using +third-party styles and templates can lead to mismatches. Templates +derived from built in ODT templates and styles seem to have fewer +problems.  File: org, Node: Links in ODT export, Next: Tables in ODT export, Prev: Applying custom styles, Up: OpenDocument Text export @@ -11757,12 +11928,12 @@ File: org, Node: Links in ODT export, Next: Tables in ODT export, Prev: Apply 12.12.6 Links in ODT export --------------------------- -ODT exporter creates native cross-references for internal links. It -creates Internet-style links for all other links. +ODT export back-end creates native cross-references for internal links +and Internet-style links for all other link types. - A link with no description and destined to a regular (un-itemized) -outline heading is replaced with a cross-reference and section number -of the heading. + A link with no description and pointing to a +regular--un-itemized--outline heading is replaced with a +cross-reference and section number of the heading. A `\ref{label}'-style reference to an image, table etc. is replaced with a cross-reference and sequence number of the labeled entity. @@ -11774,22 +11945,22 @@ File: org, Node: Tables in ODT export, Next: Images in ODT export, Prev: Link 12.12.7 Tables in ODT export ---------------------------- -Export of native Org mode tables (*note Tables::) and simple `table.el' -tables is supported. However, export of complex `table.el' -tables--tables that have column or row spans--is not supported. Such -tables are stripped from the exported document. +The ODT export back-end handles native Org mode tables (*note Tables::) +and simple `table.el' tables. Complex `table.el' tables having column +or row spans are not supported. Such tables are stripped from the +exported document. - By default, a table is exported with top and bottom frames and with -rules separating row and column groups (*note Column groups::). -Furthermore, all tables are typeset to occupy the same width. If the -table specifies alignment and relative width for its columns (*note -Column width and alignment::) then these are honored on export.(1) + By default, the ODT export back-end exports a table with top and +bottom frames and with ruled lines separating row and column groups +(*note Column groups::). All tables are typeset to occupy the same +width. The ODT export back-end honors any table alignments and +relative widths for columns (*note Column width and alignment::). - You can control the width of the table by specifying `:rel-width' -property using an `#+ATTR_ODT' line. + Note that the ODT export back-end interprets column widths as +weighted ratios, the default weight being 1. - For example, consider the following table which makes use of all the -rules mentioned above. + Specifying `:rel-width' property on an `#+ATTR_ODT' line controls +the width of the table. For example: #+ATTR_ODT: :rel-width 50 | Area/Month | Jan | Feb | Mar | Sum | @@ -11802,21 +11973,15 @@ rules mentioned above. |---------------+-------+-------+-------+-------| | Sum | 16 | 123 | 2560 | 2699 | - On export, the table will occupy 50% of text area. The columns will -be sized (roughly) in the ratio of 13:5:5:5:6. The first column will -be left-aligned and rest of the columns will be right-aligned. There -will be vertical rules after separating the header and last columns -from other columns. There will be horizontal rules separating the -header and last rows from other rows. + On export, the above table takes 50% of text width area. The +exporter sizes the columns in the ratio: 13:5:5:5:6. The first column +is left-aligned and rest of the columns, right-aligned. Vertical rules +separate the header and the last column. Horizontal rules separate the +header and the last row. - If you are not satisfied with the above formatting options, you can -create custom table styles and associate them with a table using the -`#+ATTR_ODT' line. *Note Customizing tables in ODT export::. - - ---------- Footnotes ---------- - - (1) The column widths are interpreted as weighted ratios with the -default weight being 1 + For even more customization, create custom table styles and +associate them with a table using the `#+ATTR_ODT' line. *Note +Customizing tables in ODT export::.  File: org, Node: Images in ODT export, Next: Math formatting in ODT export, Prev: Tables in ODT export, Up: OpenDocument Text export @@ -11827,9 +11992,10 @@ File: org, Node: Images in ODT export, Next: Math formatting in ODT export, P Embedding images ................ -You can embed images within the exported document by providing a link -to the desired image file with no link description. For example, to -embed `img.png' do either of the following: +The ODT export back-end processes image links in Org files that do not +have descriptions, such as these links `[[file:img.jpg]]' or +`[[./img.jpg]]', as direct image insertions in the final output. Either +of these examples works: [[file:img.png]] @@ -11838,29 +12004,31 @@ embed `img.png' do either of the following: Embedding clickable images .......................... -You can create clickable images by providing a link whose description -is a link to an image file. For example, to embed a image -`org-mode-unicorn.png' which when clicked jumps to `http://Orgmode.org' -website, do the following +For clickable images, provide a link whose description is another link +to an image file. For example, to embed a image `org-mode-unicorn.png' +which when clicked jumps to `http://Orgmode.org' website, do the +following [[http://orgmode.org][./org-mode-unicorn.png]] Sizing and scaling of embedded images ..................................... -You can control the size and scale of the embedded images using the -`#+ATTR_ODT' attribute. - - The exporter specifies the desired size of the image in the final -document in units of centimeters. In order to scale the embedded -images, the exporter queries for pixel dimensions of the images using -one of a) ImageMagick's `identify' program or b) Emacs `create-image' -and `image-size' APIs(1). The pixel dimensions are subsequently -converted in to units of centimeters using `org-odt-pixels-per-inch'. -The default value of this variable is set to `display-pixels-per-inch'. -You can tweak this variable to achieve the best results. - - The examples below illustrate the various possibilities. +Control the size and scale of the embedded images with the `#+ATTR_ODT' +attribute. + + The ODT export back-end starts with establishing the size of the +image in the final document. The dimensions of this size is measured +in centimeters. The back-end then queries the image file for its +dimensions measured in pixels. For this measurement, the back-end +relies on ImageMagick's `identify' program or Emacs `create-image' and +`image-size' API. ImageMagick is the preferred choice for large file +sizes or frequent batch operations. The back-end then converts the +pixel dimensions using `org-odt-pixels-per-inch' into the familiar 72 +dpi or 96 dpi. The default value for this is in +`display-pixels-per-inch', which can be tweaked for better results +based on the capabilities of the output device. Here are some common +image scaling operations: Explicitly size the image To embed `img.png' as a 10 cm x 10 cm image, do the following: @@ -11891,34 +12059,26 @@ Scale the image to a specific height Anchoring of images ................... -You can control the manner in which an image is anchored by setting the -`:anchor' property of its `#+ATTR_ODT' line. You can specify one of -the following three values for the `:anchor' property: `"as-char"', -`"paragraph"' and `"page"'. +The ODT export back-end can anchor images to `"as-char"', +`"paragraph"', or `"page"'. Set the preferred anchor using the +`:anchor' property of the `#+ATTR_ODT' line. - To create an image that is anchored to a page, do the following: + To create an image that is anchored to a page: #+ATTR_ODT: :anchor "page" [[./img.png]] - ---------- Footnotes ---------- - - (1) Use of `ImageMagick' is only desirable. However, if you -routinely produce documents that have large images or you export your -Org files that has images using a Emacs batch script, then the use of -`ImageMagick' is mandatory. -  File: org, Node: Math formatting in ODT export, Next: Labels and captions in ODT export, Prev: Images in ODT export, Up: OpenDocument Text export 12.12.9 Math formatting in ODT export ------------------------------------- -The ODT exporter has special support for handling math. +The ODT export back-end has special support built-in for handling math. * Menu: -* Working with LaTeX math snippets:: How to embed LaTeX math fragments -* Working with MathML or OpenDocument formula files:: How to embed equations in native format +* Working with LaTeX math snippets:: Embedding in LaTeX format. +* Working with MathML or OpenDocument formula files:: Embedding in native format.  File: org, Node: Working with LaTeX math snippets, Next: Working with MathML or OpenDocument formula files, Up: Math formatting in ODT export @@ -11926,12 +12086,13 @@ File: org, Node: Working with LaTeX math snippets, Next: Working with MathML o Working with LaTeX math snippets ................................ -LaTeX math snippets (*note LaTeX fragments::) can be embedded in the ODT +LaTeX math snippets (*note LaTeX fragments::) can be embedded in an ODT document in one of the following ways: 1. MathML - This option is activated on a per-file basis with + Add this line to the Org file. This option is activated on a + per-file basis. #+OPTIONS: LaTeX:t @@ -11940,12 +12101,12 @@ document in one of the following ways: resulting MathML fragments are then embedded as an OpenDocument Formula in the exported document. - You can specify the LaTeX-to-MathML converter by customizing the - variables `org-latex-to-mathml-convert-command' and + To specify the LaTeX-to-MathML converter, customize the variables + `org-latex-to-mathml-convert-command' and `org-latex-to-mathml-jar-file'. - To use MathToWeb(1) as your converter, you can configure the above - variables as + To use MathToWeb(1) as the preferred converter, configure the + above variables as (setq org-latex-to-mathml-convert-command "java -jar %j -unicode -force -df %o %I" @@ -11955,8 +12116,8 @@ document in one of the following ways: (setq org-latex-to-mathml-convert-command "latexmlmath \"%i\" --presentationmathml=%o") - You can use the following commands to quickly verify the - reliability of the LaTeX-to-MathML converter. + To quickly verify the reliability of the LaTeX-to-MathML + converter, use the following commands: `M-x org-odt-export-as-odf RET' Convert a LaTeX math snippet to an OpenDocument formula @@ -11969,7 +12130,8 @@ document in one of the following ways: 2. PNG images - This option is activated on a per-file basis with + Add this line to the Org file. This option is activated on a + per-file basis. #+OPTIONS: tex:dvipng @@ -11979,10 +12141,10 @@ document in one of the following ways: #+OPTIONS: tex:imagemagick - With this option, LaTeX fragments are processed into PNG or SVG + Under this option, LaTeX fragments are processed into PNG or SVG images and the resulting images are embedded in the exported - document. This method requires that the `dvipng' program, - `dvisvgm' or `imagemagick' suite be available on your system. + document. This method requires `dvipng' program, `dvisvgm' or + `imagemagick' programs. ---------- Footnotes ---------- @@ -11997,10 +12159,10 @@ File: org, Node: Working with MathML or OpenDocument formula files, Prev: Work Working with MathML or OpenDocument formula files ................................................. -For various reasons, you may find embedding LaTeX math snippets in an -ODT document less than reliable. In that case, you can embed a math -equation by linking to its MathML (`.mml') source or its OpenDocument -formula (`.odf') file as shown below: +When embedding LaTeX math snippets in ODT documents is not reliable, +there is one more option to try. Embed an equation by linking to its +MathML (`.mml') source or its OpenDocument formula (`.odf') file as +shown below: [[./equation.mml]] @@ -12014,35 +12176,30 @@ File: org, Node: Labels and captions in ODT export, Next: Literal examples in 12.12.10 Labels and captions in ODT export ------------------------------------------ -You can label and caption various category of objects--an inline image, -a table, a LaTeX fragment or a Math formula--using `#+LABEL' and -`#+CAPTION' lines. *Note Images and tables::. ODT exporter enumerates -each labeled or captioned object of a given category separately. As a -result, each such object is assigned a sequence number based on order -of its appearance in the Org file. - - In the exported document, a user-provided caption is augmented with -the category and sequence number. Consider the following inline image -in an Org file. +ODT format handles labeling and captioning of objects based on their +types. Inline images, tables, LaTeX fragments, and Math formulas are +numbered and captioned separately. Each object also gets a unique +sequence number based on its order of first appearance in the Org file. +Each category has its own sequence. A caption is just a label applied +to these objects. #+CAPTION: Bell curve #+LABEL: fig:SED-HR4049 [[./img/a.png]] - It could be rendered as shown below in the exported document. + When rendered, it may show as follows in the exported document: Figure 2: Bell curve - You can modify the category component of the caption by customizing -the option `org-odt-category-map-alist'. For example, to tag all -embedded images with the string `Illustration' (instead of the default -`Figure') use the following setting: + To modify the category component of the caption, customize the option +`org-odt-category-map-alist'. For example, to tag embedded images with +the string `Illustration' instead of the default string `Figure', use +the following setting: (setq org-odt-category-map-alist - (("__Figure__" "Illustration" "value" "Figure" org-odt--enumerable-image-p))) + '(("__Figure__" "Illustration" "value" "Figure" org-odt--enumerable-image-p))) - With this, previous image will be captioned as below in the exported -document. + With the above modification, the previous example changes to: Illustration 2: Bell curve @@ -12052,19 +12209,18 @@ File: org, Node: Literal examples in ODT export, Next: Advanced topics in ODT 12.12.11 Literal examples in ODT export --------------------------------------- -Export of literal examples (*note Literal examples::) with full -fontification is supported. Internally, the exporter relies on -`htmlfontify.el' to generate all style definitions needed for a fancy -listing. The auto-generated styles have `OrgSrc' as prefix and inherit -their color from the faces used by Emacs `font-lock' library for the -source language. +The ODT export back-end supports literal examples (*note Literal +examples::) with full fontification. Internally, the ODT export +back-end relies on `htmlfontify.el' to generate the style definitions +needed for fancy listings. The auto-generated styles get `OrgSrc' +prefix and inherit colors from the faces used by Emacs `font-lock' +library for that source language. - If you prefer to use your own custom styles for fontification, you -can do so by customizing the option -`org-odt-create-custom-styles-for-srcblocks'. + For custom fontification styles, customize the +`org-odt-create-custom-styles-for-srcblocks' option. - You can turn off fontification of literal examples by customizing the -option `org-odt-fontify-srcblocks'. + To turn off fontification of literal examples, customize the +`org-odt-fontify-srcblocks' option.  File: org, Node: Advanced topics in ODT export, Prev: Literal examples in ODT export, Up: OpenDocument Text export @@ -12072,17 +12228,16 @@ File: org, Node: Advanced topics in ODT export, Prev: Literal examples in ODT 12.12.12 Advanced topics in ODT export -------------------------------------- -If you rely heavily on ODT export, you may want to exploit the full set -of features that the exporter offers. This section describes features -that would be of interest to power users. +The ODT export back-end has extensive features useful for power users +and frequent uses of ODT formats. * Menu: -* Configuring a document converter:: How to register a document converter -* Working with OpenDocument style files:: Explore the internals -* Creating one-off styles:: How to produce custom highlighting etc -* Customizing tables in ODT export:: How to define and use Table templates -* Validating OpenDocument XML:: How to debug corrupt OpenDocument files +* Configuring a document converter:: Registering a document converter. +* Working with OpenDocument style files:: Exploring internals. +* Creating one-off styles:: Customizing styles, highlighting. +* Customizing tables in ODT export:: Defining table templates. +* Validating OpenDocument XML:: Debugging corrupted OpenDocument files.  File: org, Node: Configuring a document converter, Next: Working with OpenDocument style files, Up: Advanced topics in ODT export @@ -12090,27 +12245,22 @@ File: org, Node: Configuring a document converter, Next: Working with OpenDocu Configuring a document converter ................................ -The ODT exporter can work with popular converters with little or no -extra configuration from your side. *Note Extending ODT export::. If -you are using a converter that is not supported by default or if you -would like to tweak the default converter settings, proceed as below. +The ODT export back-end works with popular converters with little or no +extra configuration. *Note Extending ODT export::. The following is +for unsupported converters or tweaking existing defaults. 1. Register the converter - Name your converter and add it to the list of known converters by - customizing the option `org-odt-convert-processes'. Also specify - how the converter can be invoked via command-line to effect the - conversion. + Add the name of the converter to the `org-odt-convert-processes' + variable. Note that it also requires how the converter is invoked + on the command line. See the variable's docstring for details. 2. Configure its capabilities - Specify the set of formats the converter can handle by customizing - the variable `org-odt-convert-capabilities'. Use the default - value for this variable as a guide for configuring your converter. - As suggested by the default setting, you can specify the full set - of formats supported by the converter and not limit yourself to - specifying formats that are related to just the OpenDocument Text - format. + Specify which formats the converter can handle by customizing the + variable `org-odt-convert-capabilities'. Use the entry for the + default values in this variable for configuring the new converter. + Also see its docstring for details. 3. Choose the converter @@ -12123,10 +12273,9 @@ File: org, Node: Working with OpenDocument style files, Next: Creating one-off Working with OpenDocument style files ..................................... -This section explores the internals of the ODT exporter and the means -by which it produces styled documents. Read this section if you are -interested in exploring the automatic and custom OpenDocument styles -used by the exporter. +This section explores the internals of the ODT exporter; the means by +which it produces styled documents; the use of automatic and custom +OpenDocument styles. a) Factory styles ................. @@ -12156,21 +12305,22 @@ by the variable `org-odt-styles-dir'. The two files are: are referenced by the exporter. 2. It contains `'...`' - elements that control how various entities--tables, images, - equations, etc.--are numbered. + elements that control numbering of tables, images, equations, + and similar entities. b) Overriding factory styles ............................ -The following two variables control the location from which the ODT -exporter picks up the custom styles and content template files. You can -customize these variables to override the factory styles used by the +The following two variables control the location from where the ODT +exporter picks up the custom styles and content template files. +Customize these variables to override the factory styles used by the exporter. * `org-odt-styles-file' - Use this variable to specify the `styles.xml' that will be used in - the final output. You can specify one of the following values: + The ODT export back-end uses the file pointed to by this variable, + such as `styles.xml', for the final output. It can take one of + the following values: 1. A `styles.xml' file @@ -12206,23 +12356,20 @@ File: org, Node: Creating one-off styles, Next: Customizing tables in ODT expo Creating one-off styles ....................... -There are times when you would want one-off formatting in the exported -document. You can achieve this by embedding raw OpenDocument XML in -the Org file. The use of this feature is better illustrated with -couple of examples. +The ODT export back-end can read embedded raw OpenDocument XML from the +Org file. Such direct formatting are useful for one-off instances. 1. Embedding ODT tags as part of regular text - You can inline OpenDocument syntax by enclosing it within - `@@odt:...@@' markup. For example, to highlight a region of text - do the following: + Enclose OpenDocument syntax in `@@odt:...@@' for inline markup. + For example, to highlight a region of text do the following: - @@odt:This is a highlighted - text@@. But this is a regular text. + @@odt:This is highlighted + text@@. But this is regular text. - *Hint:* To see the above example in action, edit your `styles.xml' + *Hint:* To see the above example in action, edit the `styles.xml' (*note Factory styles: x-orgodtstyles-xml.) and add a custom - `Highlight' style as shown below. + `Highlight' style as shown below: @@ -12230,8 +12377,8 @@ couple of examples. 2. Embedding a one-line OpenDocument XML - You can add a simple OpenDocument one-liner using the `#+ODT:' - directive. For example, to force a page break do the following: + The ODT export back-end can read one-liner options with `#+ODT:' + in the Org file. For example, to force a page break: #+ODT: @@ -12246,8 +12393,9 @@ couple of examples. 3. Embedding a block of OpenDocument XML - You can add a large block of OpenDocument XML using the - `#+BEGIN_EXPORT odt'...`#+END_EXPORT' construct. + The ODT export back-end can also read ODT export blocks for + OpenDocument XML. Such blocks use the `#+BEGIN_EXPORT + odt'...`#+END_EXPORT' constructs. For example, to create a one-off paragraph that uses bold text, do the following: @@ -12265,15 +12413,15 @@ File: org, Node: Customizing tables in ODT export, Next: Validating OpenDocume Customizing tables in ODT export ................................ -You can override the default formatting of the table by specifying a -custom table style with the `#+ATTR_ODT' line. For a discussion on -default formatting of tables *note Tables in ODT export::. +Override the default table format by specifying a custom table style +with the `#+ATTR_ODT' line. For a discussion on default formatting of +tables *note Tables in ODT export::. This feature closely mimics the way table templates are defined in the OpenDocument-v1.2 specification.(1) - To have a quick preview of this feature, install the below setting -and export the table that follows: + For quick preview of this feature, install the settings below and +export the table that follows: (setq org-odt-table-styles (append org-odt-table-styles @@ -12289,21 +12437,20 @@ and export the table that follows: | Peter | 1234 | 17 | | Anna | 4321 | 25 | - In the above example, you used a template named `Custom' and -installed two table styles with the names `TableWithHeaderRowAndColumn' -and `TableWithFirstRowandLastRow'. (*Important:* The OpenDocument -styles needed for producing the above template have been pre-defined for -you. These styles are available under the section marked `Custom Table -Template' in `OrgOdtContentTemplate.xml' (*note Factory styles: -x-orgodtcontenttemplate-xml.). If you need additional templates you -have to define these styles yourselves. + The example above used `Custom' template and installed two table +styles `TableWithHeaderRowAndColumn' and `TableWithFirstRowandLastRow'. +*Important:* The OpenDocument styles needed for producing the above +template were pre-defined. They are available in the section marked +`Custom Table Template' in `OrgOdtContentTemplate.xml' (*note Factory +styles: x-orgodtcontenttemplate-xml. For adding new templates, define +new styles here. To use this feature proceed as follows: 1. Create a table template(2) - A table template is nothing but a set of `table-cell' and - `paragraph' styles for each of the following table cell categories: + A table template is set of `table-cell' and `paragraph' styles for + each of the following table cell categories: - Body @@ -12404,24 +12551,18 @@ File: org, Node: Validating OpenDocument XML, Prev: Customizing tables in ODT Validating OpenDocument XML ........................... -Occasionally, you will discover that the document created by the ODT -exporter cannot be opened by your favorite application. One of the -common reasons for this is that the `.odt' file is corrupt. In such -cases, you may want to validate the document against the OpenDocument -RELAX NG Compact Syntax (RNC) schema. - - For de-compressing the `.odt' file(1): *note (emacs)File Archives::. -For general help with validation (and schema-sensitive editing) of XML -files: *note (nxml-mode)Introduction::. - - If you have ready access to OpenDocument `.rnc' files and the needed -schema-locating rules in a single folder, you can customize the variable -`org-odt-schema-dir' to point to that directory. The ODT exporter will -take care of updating the `rng-schema-locating-files' for you. +Sometimes ODT format files may not open due to `.odt' file corruption. +To verify if the `.odt' file is corrupt, validate it against the +OpenDocument RELAX NG Compact Syntax--RNC--schema. But first the +`.odt' files have to be decompressed using `zip'. Note that `.odt' +files are `zip' archives: *note (emacs)File Archives::. The contents +of `.odt' files are in `.xml'. For general help with validation--and +schema-sensitive editing--of XML files: *note (nxml-mode)Introduction::. - ---------- Footnotes ---------- - - (1) `.odt' files are nothing but `zip' archives + Customize `org-odt-schema-dir' to point to a directory with +OpenDocument `.rnc' files and the needed schema-locating rules. The +ODT export back-end takes care of updating the +`rng-schema-locating-files'.  File: org, Node: Org export, Next: Texinfo export, Prev: OpenDocument Text export, Up: Exporting @@ -12430,19 +12571,18 @@ File: org, Node: Org export, Next: Texinfo export, Prev: OpenDocument Text ex ================ `org' export back-end creates a normalized version of the Org document -in current buffer. In particular, it evaluates Babel code (*note -Evaluating code blocks::) and removes other back-ends specific contents. +in current buffer. The exporter evaluates Babel code (*note Evaluating +code blocks::) and removes content specific to other back-ends. Org export commands ------------------- `C-c C-e O o (`org-org-export-to-org')' - Export as an Org document. For an Org file, `myfile.org', the - resulting file will be `myfile.org.org'. The file will be - overwritten without warning. + Export as an Org file with a `.org' extension. For `myfile.org', + Org exports to `myfile.org.org', overwriting without warning. `C-c C-e O O (`org-org-export-as-org')' - Export to a temporary buffer. Do not create a file. + Export to a temporary buffer. Does not create a file. `C-c C-e O v' Export to an Org file, then open it. @@ -12453,24 +12593,24 @@ File: org, Node: Texinfo export, Next: iCalendar export, Prev: Org export, U 12.14 Texinfo export ==================== -`texinfo' export back-end generates Texinfo code and can compile it into -an Info file. +The `texinfo' export back-end generates documents with Texinfo code that +can compile to Info format. * Menu: -* Texinfo export commands:: How to invoke Texinfo export -* Texinfo specific export settings:: Export settings for Texinfo -* Texinfo file header:: Generating the begining of a Texinfo file -* Texinfo title and copyright page:: Creating title and copyright pages -* Texinfo `Top' node:: Installing a manual in Info Top node -* Headings and sectioning structure:: Building document structure -* Indices:: Creating indices -* Quoting Texinfo code:: Incorporating literal Texinfo code -* Plain lists in Texinfo export:: Specific attributes for plain lists -* Tables in Texinfo export:: Specific attributes for tables -* Images in Texinfo export:: Specific attributes for images -* Special blocks in Texinfo export:: Specific attributes for special blocks -* A Texinfo example:: Illustrating Org to Texinfo process +* Texinfo export commands:: Invoking commands. +* Texinfo specific export settings:: Setting the environment. +* Texinfo file header:: Generating the header. +* Texinfo title and copyright page:: Creating preamble pages. +* Info directory file:: Installing a manual in Info file hierarchy. +* Headings and sectioning structure:: Building document structure. +* Indices:: Creating indices. +* Quoting Texinfo code:: Incorporating literal Texinfo code. +* Plain lists in Texinfo export:: List attributes. +* Tables in Texinfo export:: Table attributes. +* Images in Texinfo export:: Image attributes. +* Special blocks in Texinfo export:: Special block attributes. +* A Texinfo example:: Processing Org to Texinfo.  File: org, Node: Texinfo export commands, Next: Texinfo specific export settings, Up: Texinfo export @@ -12479,17 +12619,13 @@ File: org, Node: Texinfo export commands, Next: Texinfo specific export settin ------------------------------- `C-c C-e i t (`org-texinfo-export-to-texinfo')' - Export as a Texinfo file. For an Org file, `myfile.org', the - resulting file will be `myfile.texi'. The file will be - overwritten without warning. + Export as a Texinfo file with `.texi' extension. For `myfile.org', + Org exports to `myfile.texi', overwriting without warning. `C-c C-e i i (`org-texinfo-export-to-info')' - Export to Texinfo and then process to an Info file(1). - - ---------- Footnotes ---------- - - (1) By setting `org-texinfo-info-process', it is possible to -generate other formats, including DocBook. + Export to Texinfo format first and then process it to make an Info + file. To generate other formats, such as DocBook, customize the + `org-texinfo-info-process' variable.  File: org, Node: Texinfo specific export settings, Next: Texinfo file header, Prev: Texinfo export commands, Up: Texinfo export @@ -12497,8 +12633,9 @@ File: org, Node: Texinfo specific export settings, Next: Texinfo file header, 12.14.2 Texinfo specific export settings ---------------------------------------- -The Texinfo exporter introduces a number of keywords, similar to the -general options settings described in *note Export settings::. +The Texinfo export back-end has several additional keywords for +customizing Texinfo output. Setting these keywords works similar to +the general options (*note Export settings::). `SUBTITLE' The document subtitle. @@ -12510,7 +12647,7 @@ general options settings described in *note Export settings::. The Texinfo filename. `TEXINFO_CLASS' - The class of the document (`org-texinfo-default-class'). This + The default document class (`org-texinfo-default-class'), which must be a member of `org-texinfo-classes'. `TEXINFO_HEADER' @@ -12537,54 +12674,48 @@ File: org, Node: Texinfo file header, Next: Texinfo title and copyright page, 12.14.3 Texinfo file header --------------------------- -Upon creating the header of a Texinfo file, the back-end guesses a name -for the Info file to be compiled. This may not be a sensible choice, -e.g., if you want to produce the final document in a different -directory. Specify an alternate path with `#+TEXINFO_FILENAME' keyword -to override the default destination. - - Along with the output file name, the header contains information -about the language (*note Export settings::) and current encoding -used(1). Insert a `#+TEXINFO_HEADER' keyword for each additional -command needed, e.g., @code{@synindex}. +After creating the header for a Texinfo file, the Texinfo back-end +automatically generates a name and destination path for the Info file. +To override this default with a more sensible path and name, specify the +`#+TEXINFO_FILENAME' keyword. - If you happen to regularly install the same set of commands, it may -be easier to define your own class in `org-texinfo-classes'. Set -`#+TEXINFO_CLASS' keyword accordingly in your document to activate it. - - ---------- Footnotes ---------- + Along with the output's file name, the Texinfo header also contains +language details (*note Export settings::) and encoding system as set +in the `org-texinfo-coding-system' variable. Insert `#+TEXINFO_HEADER' +keywords for each additional command in the header, for example: +@code{@synindex}. - (1) See `org-texinfo-coding-system' for more information. + Instead of repeatedly installing the same set of commands, define a +class in `org-texinfo-classes' once, and then activate it in the +document by setting the `#+TEXINFO_CLASS' keyword to that class.  -File: org, Node: Texinfo title and copyright page, Next: Texinfo `Top' node, Prev: Texinfo file header, Up: Texinfo export +File: org, Node: Texinfo title and copyright page, Next: Info directory file, Prev: Texinfo file header, Up: Texinfo export 12.14.4 Texinfo title and copyright page ---------------------------------------- -The default template includes a title page for hard copy output. The -title and author displayed on this page are extracted from, -respectively, `#+TITLE' and `#+AUTHOR' keywords (*note Export -settings::). It is also possible to print a different, more specific, -title with `#+TEXINFO_PRINTED_TITLE' keyword, and add subtitles with -`#+SUBTITLE' keyword. Both expect raw Texinfo code in their value. +The default template for hard copy output has a title page with +`#+TITLE' and `#+AUTHOR' (*note Export settings::). To replace the +regular `#+TITLE' with something different for the printed version, use +the `#+TEXINFO_PRINTED_TITLE' and `#+SUBTITLE' keywords. Both expect +raw Texinfo code for setting their values. - Likewise, information brought by `#+AUTHOR' may not be enough. You -can include other authors with several `#+SUBAUTHOR' keywords. Values -are also expected to be written in Texinfo code. + If one `#+AUTHOR' is not sufficient, add multiple `#+SUBAUTHOR' +keywords. They have to be set in raw Texinfo code. #+AUTHOR: Jane Smith #+SUBAUTHOR: John Doe #+TEXINFO_PRINTED_TITLE: This Long Title@inlinefmt{tex,@*} Is Broken in @TeX{} Copying material is defined in a dedicated headline with a non-`nil' -`:COPYING:' property. The contents are inserted within a `@copying' -command at the beginning of the document whereas the heading itself -does not appear in the structure of the document. +`:COPYING:' property. The back-end inserts the contents within a +`@copying' command at the beginning of the document. The heading +itself does not appear in the structure of the document. Copyright information is printed on the back of the title page. - * Copying + * Legalese :PROPERTIES: :COPYING: t :END: @@ -12594,48 +12725,53 @@ does not appear in the structure of the document. Copyright \copy 2016 Free Software Foundation, Inc.  -File: org, Node: Texinfo `Top' node, Next: Headings and sectioning structure, Prev: Texinfo title and copyright page, Up: Texinfo export +File: org, Node: Info directory file, Next: Headings and sectioning structure, Prev: Texinfo title and copyright page, Up: Texinfo export -12.14.5 Texinfo `Top' node --------------------------- +12.14.5 Info directory file +--------------------------- + +The end result of the Texinfo export process is the creation of an Info +file. This Info file's metadata has variables for category, title, and +description: `#+TEXINFO_DIR_CATEGORY', `#+TEXINFO_DIR_TITLE', and +`#+TEXINFO_DIR_DESC' that establish where in the Info hierarchy the file +fits. -You may ultimately want to install your new Info file in your system. -You can write an appropriate entry in the top level directory -specifying its category and title with, respectively, -`#+TEXINFO_DIR_CATEGORY' and `#+TEXINFO_DIR_TITLE'. Optionally, you -can add a short description using `#+TEXINFO_DIR_DESC'. The following -example would write an entry similar to Org's in the `Top' node. + Here is an example that writes to the Info directory file: #+TEXINFO_DIR_CATEGORY: Emacs #+TEXINFO_DIR_TITLE: Org Mode: (org) #+TEXINFO_DIR_DESC: Outline-based notes management and organizer  -File: org, Node: Headings and sectioning structure, Next: Indices, Prev: Texinfo `Top' node, Up: Texinfo export +File: org, Node: Headings and sectioning structure, Next: Indices, Prev: Info directory file, Up: Texinfo export 12.14.6 Headings and sectioning structure ----------------------------------------- -`texinfo' uses a pre-defined scheme, or class, to convert headlines into -Texinfo structuring commands. For example, a top level headline -appears as `@chapter' if it should be numbered or as `@unnumbered' -otherwise. If you need to use a different set of commands, e.g., to -start with `@part' instead of `@chapter', install a new class in -`org-texinfo-classes', then activate it with `#+TEXINFO_CLASS' keyword. -Export process defaults to `org-texinfo-default-class' when there is no -such keyword in the document. - - If a headline's level has no associated structuring command, or is -below a certain threshold (*note Export settings::), that headline -becomes a list in Texinfo output. - - As an exception, a headline with a non-`nil' `:APPENDIX:' property -becomes an appendix, independently on its level and the class used. - - Each regular sectioning structure creates a menu entry, named after -the heading. You can provide a different, e.g., shorter, title in -`:ALT_TITLE:' property (*note Table of contents::). Optionally, you can -specify a description for the item in `:DESCRIPTION:' property. E.g., +The Texinfo export back-end uses a pre-defined scheme to convert Org +headlines to an equivalent Texinfo structuring commands. A scheme like +this maps top-level headlines to numbered chapters tagged as `@chapter' +and lower-level headlines to unnumbered chapters tagged as +`@unnumbered'. To override such mappings to introduce `@part' or other +Texinfo structuring commands, define a new class in +`org-texinfo-classes'. Activate the new class with the +`#+TEXINFO_CLASS' keyword. When no new class is defined and activated, +the Texinfo export back-end defaults to the `org-texinfo-default-class'. + + If an Org headline's level has no associated Texinfo structuring +command, or is below a certain threshold (*note Export settings::), +then the Texinfo export back-end makes it into a list item. + + The Texinfo export back-end makes any headline with a non-`nil' +`:APPENDIX:' property into an appendix. This happens independent of the +Org headline level or the `#+TEXINFO_CLASS'. + + The Texinfo export back-end creates a menu entry after the Org +headline for each regular sectioning structure. To override this with +a shorter menu entry, use the `:ALT_TITLE:' property (*note Table of +contents::). Texinfo menu entries also have an option for a longer +`:DESCRIPTION:' property. Here's an example that uses both to override +the default menu entry: * Controlling Screen Display :PROPERTIES: @@ -12643,23 +12779,31 @@ specify a description for the item in `:DESCRIPTION:' property. E.g., :DESCRIPTION: Controlling Screen Display :END: + The text before the first headline belongs to the `Top' node, i.e., +the node in which a reader enters an Info manual. As such, it is +expected not to appear in printed output generated from the `.texi' +file. *note (texinfo)The Top Node::, for more information. +  File: org, Node: Indices, Next: Quoting Texinfo code, Prev: Headings and sectioning structure, Up: Texinfo export 12.14.7 Indices --------------- -Index entries are created using dedicated keywords. `texinfo' back-end -provides one for each predefined type: `#+CINDEX', `#+FINDEX', -`#+KINDEX', `#+PINDEX', `#+TINDEX' and `#+VINDEX'. For custom indices, -you can write raw Texinfo code (*note Quoting Texinfo code::). +The Texinfo export back-end recognizes these indexing keywords if used +in the Org file: `#+CINDEX', `#+FINDEX', `#+KINDEX', `#+PINDEX', +`#+TINDEX', and `#+VINDEX'. Write their value as verbatim Texinfo +code; in particular, `{', `}' and `@' characters need to be escaped +with `@' if they not belong to a Texinfo command. #+CINDEX: Defining indexing entries - To generate an index, you need to set the `:INDEX:' property of a -headline to an appropriate abbreviation (e.g., `cp' or `vr'). The -headline is then exported as an unnumbered chapter or section command -and the index is inserted after its contents. + For the back-end to generate an index entry for a headline, set the +`:INDEX:' property to `cp' or `vr'. These abbreviations come from +Texinfo that stand for concept index and variable index. The Texinfo +manual has abbreviations for all other kinds of indexes. The back-end +exports the headline as an unnumbered chapter or section command, and +then inserts the index after its contents. * Concept Index :PROPERTIES: @@ -12672,8 +12816,8 @@ File: org, Node: Quoting Texinfo code, Next: Plain lists in Texinfo export, P 12.14.8 Quoting Texinfo code ---------------------------- -It is possible to insert raw Texinfo code using any of the following -constructs +Use any of the following three methods to insert or escape raw Texinfo +code: Richard @@texinfo:@sc{@@Stallman@@texinfo:}@@ commence' GNU. @@ -12691,21 +12835,34 @@ File: org, Node: Plain lists in Texinfo export, Next: Tables in Texinfo export 12.14.9 Plain lists in Texinfo export ------------------------------------- -In Texinfo output, description lists appear as two-column tables, using -the default command `@table'. You can use `@ftable' or `@vtable'(1) -instead with `:table-type' attribute. +The Texinfo export back-end by default converts description lists in +the Org file using the default command `@table', which results in a +table with two columns. To change this behavior, specify `:table-type' +with `ftable' or `vtable' attributes. For more information, *note +(texinfo)Two-column Tables::. - In any case, these constructs require a highlighting command for -entries in the list. You can provide one with `:indic' attribute. If -you do not, it defaults to the value stored in -`org-texinfo-def-table-markup', which see. + The Texinfo export back-end by default also applies a text highlight +based on the defaults stored in `org-texinfo-table-default-markup'. To +override the default highlight command, specify another one with the +`:indic' attribute. - #+ATTR_TEXINFO: :indic @asis - - foo :: This is the text for /foo/, with no highlighting. + Org syntax is limited to one entry per list item. Nevertheless, the +Texinfo export back-end can split that entry according to any text +provided through the `:sep' attribute. Each part then becomes a new +entry in the first column of the table. - ---------- Footnotes ---------- + The following example illustrates all the attributes above: + + #+ATTR_TEXINFO: :table-type vtable :sep , :indic asis + - foo, bar :: This is the common text for variables foo and bar. + +becomes - (1) For more information, *note (texinfo)Two-column Tables::. + @vtable @asis + @item foo + @itemx bar + This is the common text for variables foo and bar. + @end table  File: org, Node: Tables in Texinfo export, Next: Images in Texinfo export, Prev: Plain lists in Texinfo export, Up: Texinfo export @@ -12713,9 +12870,10 @@ File: org, Node: Tables in Texinfo export, Next: Images in Texinfo export, Pr 12.14.10 Tables in Texinfo export --------------------------------- -When exporting a table, column widths are deduced from the longest cell -in each column. You can also define them explicitly as fractions of -the line length, using `:columns' attribute. +When exporting tables, the Texinfo export back-end uses the widest cell +width in each column. To override this and instead specify as +fractions of line length, use the `:columns' attribute. See example +below. #+ATTR_TEXINFO: :columns .5 .5 | a cell | another cell | @@ -12726,10 +12884,11 @@ File: org, Node: Images in Texinfo export, Next: Special blocks in Texinfo exp 12.14.11 Images in Texinfo export --------------------------------- -Images are links to files with a supported image extension and no -description. Image scaling is set with `:width' and `:height' -attributes. You can also use `:alt' to specify alternate text, as -Texinfo code. +Insert a file link to the image in the Org file, and the Texinfo export +back-end inserts the image. These links must have the usual supported +image extensions and no descriptions. To scale the image, use `:width' +and `:height' attributes. For alternate text, use `:alt' and specify +the text using Texinfo code, as shown in the example: #+ATTR_TEXINFO: :width 1in :alt Alternate @i{text} [[ridt.pdf]] @@ -12740,11 +12899,11 @@ File: org, Node: Special blocks in Texinfo export, Next: A Texinfo example, P 12.14.12 Special blocks ----------------------- -In Texinfo output, special blocks become commands of the same name. -Value of `:options' attribute is added right after the beginning of the -command. For example: +The Texinfo export back-end converts special blocks to commands with +the same name. It also adds any `:options' attributes to the end of +the command, as shown in this example: - #+attr_texinfo: :options org-org-export-to-org ... + #+ATTR_TEXINFO: :options org-org-export-to-org ... #+begin_defun A somewhat obsessive function. #+end_defun @@ -12761,18 +12920,20 @@ File: org, Node: A Texinfo example, Prev: Special blocks in Texinfo export, U 12.14.13 A Texinfo example -------------------------- -Here is a thorough example. *note (texinfo)GNU Sample Texts:: for an -equivalent Texinfo code. +Here is a more detailed example Org file. See *note GNU Sample Texts: +(texinfo)GNU Sample Texts. for an equivalent example using Texinfo code. - #+MACRO: version 2.0 - #+MACRO: updated last updated 4 March 2014 - - #+OPTIONS: ':t toc:t author:t email:t #+TITLE: GNU Sample {{{version}}} + #+SUBTITLE: for version {{{version}}}, {{{updated}}} #+AUTHOR: A.U. Thor #+EMAIL: bug-sample@gnu.org + + #+OPTIONS: ':t toc:t author:t email:t #+LANGUAGE: en + #+MACRO: version 2.0 + #+MACRO: updated last updated 4 March 2014 + #+TEXINFO_FILENAME: sample.info #+TEXINFO_HEADER: @syncodeindex pg cp @@ -12781,7 +12942,9 @@ equivalent Texinfo code. #+TEXINFO_DIR_DESC: Invoking sample #+TEXINFO_PRINTED_TITLE: GNU Sample - #+SUBTITLE: for version {{{version}}}, {{{updated}}} + + This manual is for GNU Sample (version {{{version}}}, + {{{updated}}}). * Copying :PROPERTIES: @@ -12791,8 +12954,7 @@ equivalent Texinfo code. This manual is for GNU Sample (version {{{version}}}, {{{updated}}}), which is an example in the Texinfo documentation. - Copyright @@texinfo:@copyright{}@@ 2013 Free Software Foundation, - Inc. + Copyright \copy 2016 Free Software Foundation, Inc. #+BEGIN_QUOTE Permission is granted to copy, distribute and/or modify this @@ -12830,64 +12992,72 @@ File: org, Node: iCalendar export, Next: Other built-in back-ends, Prev: Texi 12.15 iCalendar export ====================== -Some people use Org mode for keeping track of projects, but still -prefer a standard calendar application for anniversaries and -appointments. In this case it can be useful to show deadlines and -other time-stamped items in Org files in the calendar application. Org -mode can export calendar information in the standard iCalendar format. -If you also want to have TODO entries included in the export, configure -the variable `org-icalendar-include-todo'. Plain timestamps are -exported as VEVENT, and TODO items as VTODO. It will also create -events from deadlines that are in non-TODO items. Deadlines and -scheduling dates in TODO items will be used to set the start and due -dates for the TODO entry(1). As categories, it will use the tags -locally defined in the heading, and the file/tree category(2). See the -variable `org-icalendar-alarm-time' for a way to assign alarms to -entries with a time. - - The iCalendar standard requires each entry to have a globally unique -identifier (UID). Org creates these identifiers during export. If you -set the variable `org-icalendar-store-UID', the UID will be stored in -the `:ID:' property of the entry and re-used next time you report this -entry. Since a single entry can give rise to multiple iCalendar -entries (as a timestamp, a deadline, a scheduled item, and as a TODO -item), Org adds prefixes to the UID, depending on what triggered the -inclusion of the entry. In this way the UID remains unique, but a -synchronization program can still figure out from which entry all the -different instances originate. +A large part of Org mode's inter-operability success is its ability to +easily export to or import from external applications. The iCalendar +export back-end takes calendar data from Org files and exports to the +standard iCalendar format. + + The iCalendar export back-end can also incorporate TODO entries +based on the configuration of the `org-icalendar-include-todo' +variable. The back-end exports plain timestamps as VEVENT, TODO items +as VTODO, and also create events from deadlines that are in non-TODO +items. The back-end uses the deadlines and scheduling dates in Org +TODO items for setting the start and due dates for the iCalendar TODO +entry. Consult the `org-icalendar-use-deadline' and +`org-icalendar-use-scheduled' variables for more details. + + For tags on the headline, the iCalendar export back-end makes them +into iCalendar categories. To tweak the inheritance of tags and TODO +states, configure the variable `org-icalendar-categories'. To assign +clock alarms based on time, configure the `org-icalendar-alarm-time' +variable. + + The iCalendar format standard requires globally unique +identifier--UID--for each entry. The iCalendar export back-end creates +UIDs during export. To save a copy of the UID in the Org file set the +variable `org-icalendar-store-UID'. The back-end looks for the `:ID:' +property of the entry for re-using the same UID for subsequent exports. + + Since a single Org entry can result in multiple iCalendar entries--as +timestamp, deadline, scheduled item, or TODO item--Org adds prefixes to +the UID, depending on which part of the Org entry triggered the +creation of the iCalendar entry. Prefixing ensures UIDs remains +unique, yet enable synchronization programs trace the connections. `C-c C-e c f (`org-icalendar-export-to-ics')' - Create iCalendar entries for the current buffer and store them in - the same directory, using a file extension `.ics'. + Create iCalendar entries from the current Org buffer and store + them in the same directory, using a file extension `.ics'. `C-c C-e c a (`org-icalendar-export-agenda-files')' - Like `C-c C-e c f', but do this for all files in - `org-agenda-files'. For each of these files, a separate iCalendar - file will be written. + Create iCalendar entries from Org files in `org-agenda-files' and + store in a separate iCalendar file for each Org file. `C-c C-e c c (`org-icalendar-combine-agenda-files')' - Create a single large iCalendar file from all files in - `org-agenda-files' and write it to the file given by - `org-icalendar-combined-agenda-file'. + Create a combined iCalendar file from Org files in + `org-agenda-files' and write it to + `org-icalendar-combined-agenda-file' file name. - The export will honor SUMMARY, DESCRIPTION and LOCATION(3) -properties if the selected entries have them. If not, the summary will -be derived from the headline, and the description from the body -(limited to `org-icalendar-include-body' characters). + The iCalendar export back-end includes SUMMARY, DESCRIPTION, +LOCATION and TIMEZONE properties from the Org entries when exporting. +To force the back-end to inherit the LOCATION and TIMEZONE properties, +configure the `org-use-property-inheritance' variable. - How this calendar is best read and updated, depends on the -application you are using. The FAQ covers this issue. + When Org entries do not have SUMMARY, DESCRIPTION and LOCATION +properties, the iCalendar export back-end derives the summary from the +headline, and derives the description from the body of the Org item. +The `org-icalendar-include-body' variable limits the maximum number of +characters of the content are turned into its description. - ---------- Footnotes ---------- - - (1) See the variables `org-icalendar-use-deadline' and -`org-icalendar-use-scheduled'. + The TIMEZONE property can be used to specify a per-entry time zone, +and will be applied to any entry with timestamp information. Time +zones should be specified as per the IANA time zone database format, +e.g. "Asia/Almaty". Alternately, the property value can be "UTC", to +force UTC time for this entry only. - (2) To add inherited tags or the TODO state, configure the variable -`org-icalendar-categories'. - - (3) The LOCATION property can be inherited from higher in the -hierarchy if you configure `org-use-property-inheritance' accordingly. + Exporting to iCalendar format depends in large part on the +capabilities of the destination application. Some are more lenient +than others. Consult the Org mode FAQ for advice on specific +applications.  File: org, Node: Other built-in back-ends, Next: Advanced configuration, Prev: iCalendar export, Up: Exporting @@ -12895,17 +13065,17 @@ File: org, Node: Other built-in back-ends, Next: Advanced configuration, Prev 12.16 Other built-in back-ends ============================== -On top of the aforementioned back-ends, Org comes with other built-in -ones: +Other export back-ends included with Org are: * `ox-man.el': export to a man page. - To activate these export back-end, customize `org-export-backends' or -load them directly with e.g., `(require 'ox-man)'. This will add new -keys in the export dispatcher (*note The export dispatcher::). + To activate such back-ends, either customize `org-export-backends' or +load directly with `(require 'ox-man)'. On successful load, the +back-end adds new keys in the export dispatcher (*note The export +dispatcher::). - See the comment section of these files for more information on how -to use them. + Follow the comment section of such files, for example, `ox-man.el', +for usage and configuration details.  File: org, Node: Advanced configuration, Next: Export in foreign buffers, Prev: Other built-in back-ends, Up: Exporting @@ -12916,14 +13086,14 @@ File: org, Node: Advanced configuration, Next: Export in foreign buffers, Pre Hooks ----- -Two hooks are run during the first steps of the export process. The -first one, `org-export-before-processing-hook' is called before -expanding macros, Babel code and include keywords in the buffer. The -second one, `org-export-before-parsing-hook', as its name suggests, -happens just before parsing the buffer. Their main use is for heavy -duties, that is duties involving structural modifications of the -document. For example, one may want to remove every headline in the -buffer during export. The following code can achieve this: +The export process executes two hooks before the actual exporting +begins. The first hook, `org-export-before-processing-hook', runs +before any expansions of macros, Babel code, and include keywords in +the buffer. The second hook, `org-export-before-parsing-hook', runs +before the buffer is parsed. Both hooks are specified as functions, +see example below. Their main use is for heavy duty structural +modifications of the Org content. For example, removing every headline +in the buffer during export: (defun my-headline-removal (backend) "Remove all headlines in the current buffer. @@ -12933,24 +13103,23 @@ buffer during export. The following code can achieve this: (add-hook 'org-export-before-parsing-hook 'my-headline-removal) - Note that functions used in these hooks require a mandatory argument, -a symbol representing the back-end used. + Note that the hook function must have a mandatory argument that is a +symbol for the back-end. Filters ------- -Filters are lists of functions applied on a specific part of the output -from a given back-end. More explicitly, each time a back-end -transforms an Org object or element into another language, all -functions within a given filter type are called in turn on the string -produced. The string returned by the last function will be the one -used in the final output. +The Org export process relies on filters to process specific parts of +conversion process. Filters are just lists of functions to be applied +to certain parts for a given back-end. The output from the first +function in the filter is passed on to the next function in the filter. +The final output is the output from the final function in the filter. - There are filter sets for each type of element or object, for plain -text, for the parse tree, for the export options and for the final -output. They are all named after the same scheme: -`org-export-filter-TYPE-functions', where `TYPE' is the type targeted -by the filter. Valid types are: + The Org export process has many filter sets applicable to different +types of objects, plain text, parse trees, export options, and final +output formats. The filters are named after the element type or object +type: `org-export-filter-TYPE-functions', where `TYPE' is the type +targeted by the filter. Valid types are: body bold babel-call center-block clock code @@ -12971,9 +13140,8 @@ superscript table table-cell table-row target timestamp underline verbatim verse-block - For example, the following snippet allows me to use non-breaking -spaces in the Org buffer and get them translated into LaTeX without -using the `\nbsp' macro (where `_' stands for the non-breaking space): + Here is an example filter that replaces non-breaking spaces `~' in +the Org buffer with `_' for the LaTeX back-end. (defun my-latex-filter-nobreaks (text backend info) "Ensure \"_\" are properly handled in LaTeX export." @@ -12983,23 +13151,20 @@ using the `\nbsp' macro (where `_' stands for the non-breaking space): (add-to-list 'org-export-filter-plain-text-functions 'my-latex-filter-nobreaks) - Three arguments must be provided to a filter: the code being -changed, the back-end used, and some information about the export -process. You can safely ignore the third argument for most purposes. -Note the use of `org-export-derived-backend-p', which ensures that the -filter will only be applied when using `latex' back-end or any other -back-end derived from it (e.g., `beamer'). + A filter requires three arguments: the code to be transformed, the +name of the back-end, and some optional information about the export +process. The third argument can be safely ignored. Note the use of +`org-export-derived-backend-p' predicate that tests for `latex' +back-end or any other back-end, such as `beamer', derived from `latex'. Defining filters for individual files ------------------------------------- -You can customize the export for just a specific file by binding export -filter variables using `#+BIND'. Here is an example where we introduce -two filters, one to remove brackets from time stamps, and one to -entirely remove any strike-through text. The functions doing the -filtering are defined in an src block that allows the filter function -definitions to exist in the file itself and ensures that the functions -will be there when needed. +The Org export can filter not just for back-ends, but also for specific +files through the `#+BIND' keyword. Here is an example with two +filters; one removes brackets from time stamps, and the other removes +strike-through text. The filter functions are defined in a `src' code +block in the same Org file, which is a handy location for debugging. #+BIND: org-export-filter-timestamp-functions (tmp-f-timestamp) #+BIND: org-export-filter-strike-through-functions (tmp-f-strike-through) @@ -13012,23 +13177,21 @@ will be there when needed. Extending an existing back-end ------------------------------ -This is obviously the most powerful customization, since the changes -happen at the parser level. Indeed, some export back-ends are built as -extensions of other ones (e.g., Markdown back-end an extension of HTML -back-end). - - Extending a back-end means that if an element type is not transcoded -by the new back-end, it will be handled by the original one. Hence you -can extend specific parts of a back-end without too much work. +Some parts of the conversion process can be extended for certain +elements so as to introduce a new or revised translation. That is how +the HTML export back-end was extended to handle Markdown format. The +extensions work seamlessly so any aspect of filtering not done by the +extended back-end is handled by the original back-end. Of all the +export customization in Org, extending is very powerful as it operates +at the parser level. - As an example, imagine we want the `ascii' back-end to display the -language used in a source block, when it is available, but only when -some attribute is non-`nil', like the following: + For this example, make the `ascii' back-end display the language +used in a source code block. Also make it display only when some +attribute is non-`nil', like the following: #+ATTR_ASCII: :language t - Because that back-end is lacking in that area, we are going to -create a new back-end, `my-ascii' that will do the job. + Then extend `ascii' back-end with a custom `my-ascii' back-end. (defun my-ascii-src-block (src-block contents info) "Transcode a SRC-BLOCK element from Org to ASCII. @@ -13048,16 +13211,20 @@ create a new back-end, `my-ascii' that will do the job. :translate-alist '((src-block . my-ascii-src-block))) The `my-ascii-src-block' function looks at the attribute above the -element. If it isn't true, it gives hand to the `ascii' back-end. -Otherwise, it creates a box around the code, leaving room for the -language. A new back-end is then created. It only changes its -behavior when translating `src-block' type element. Now, all it takes -to use the new back-end is calling the following from an Org buffer: +current element. If not true, hands over to `ascii' back-end. If true, +which it is in this example, it creates a box around the code and +leaves room for the inserting a string for language. The last form +creates the new back-end that springs to action only when translating +`src-block' type elements. + + To use the newly defined back-end, call the following from an Org +buffer: (org-export-to-buffer 'my-ascii "*Org MY-ASCII Export*") - It is obviously possible to write an interactive function for this, -install it in the export dispatcher menu, and so on. + Further steps to consider would be an interactive function, +self-installing an item in the export dispatcher menu, and other +user-friendly improvements.  File: org, Node: Export in foreign buffers, Prev: Advanced configuration, Up: Exporting @@ -13065,9 +13232,9 @@ File: org, Node: Export in foreign buffers, Prev: Advanced configuration, Up: 12.18 Export in foreign buffers =============================== -Most built-in back-ends come with a command to convert the selected -region into a selected format and replace this region by the exported -output. Here is a list of such conversion commands: +The export back-ends in Org often include commands to convert selected +regions. A convenient feature of this in-place conversion is that the +exported output replaces the original source. Here are such functions: `org-html-convert-region-to-html' Convert the selected region into HTML. @@ -13081,11 +13248,11 @@ output. Here is a list of such conversion commands: `org-md-convert-region-to-md' Convert the selected region into `MarkDown'. - This is particularly useful for converting tables and lists in -foreign buffers. E.g., in an HTML buffer, you can turn on -`orgstruct-mode', then use Org commands for editing a list, and finally -select and convert the list with `M-x org-html-convert-region-to-html -RET'. + In-place conversions are particularly handy for quick conversion of +tables and lists in foreign buffers. For example, turn on the minor +mode `M-x orgstruct-mode' in an HTML buffer, then use the convenient +Org keyboard commands to create a list, select it, and covert it to +HTML with `M-x org-html-convert-region-to-html RET'.  File: org, Node: Publishing, Next: Working with source code, Prev: Exporting, Up: Top @@ -13457,7 +13624,7 @@ Texinfo specific properties `:texinfo-active-timestamp-format' `org-texinfo-active-timestamp-format' `:texinfo-classes' `org-texinfo-classes' `:texinfo-class' `org-texinfo-default-class' -`:texinfo-def-table-markup' `org-texinfo-def-table-markup' +`:texinfo-table-default-markup' `org-texinfo-table-default-markup' `:texinfo-diary-timestamp-format' `org-texinfo-diary-timestamp-format' `:texinfo-filename' `org-texinfo-filename' `:texinfo-format-drawer-function' `org-texinfo-format-drawer-function' @@ -13650,6 +13817,7 @@ directory on the local machine. '(("org" :base-directory "~/org/" :publishing-directory "~/public_html" + :publishing-function org-html-publish-to-html :section-numbers nil :with-toc nil :html-head ">'. This behavior is illustrated in the following example. -Because the `<>' noweb reference appears behind the SQL comment -syntax, each line of the expanded noweb reference will be commented. +Noweb insertions now honor prefix characters that appear before the +Noweb syntax reference. + + This behavior is illustrated in the following example. Because the +`<>' noweb reference appears behind the SQL comment syntax, +each line of the expanded noweb reference will be commented. - This `src' code block: + With: + #+NAME: example + #+BEGIN_SRC text + this is the + multi-line body of example + #+END_SRC + + this `src' code block: + + #+BEGIN_SRC sql :noweb yes -- <> + #+END_SRC expands to: @@ -15104,20 +15279,55 @@ syntax, each line of the expanded noweb reference will be commented. Since this change will not affect noweb replacement text without newlines in them, inline noweb references are acceptable. + This feature can also be used for management of indentation in +exported code snippets. + + With: + + #+NAME: if-true + #+BEGIN_SRC python :exports none + print('Do things when True') + #+END_SRC + + #+NAME: if-false + #+BEGIN_SRC python :exports none + print('Do things when False') + #+END_SRC + + this `src' code block: + + #+BEGIN_SRC python :noweb yes :results output + if True: + <> + else: + <> + #+END_SRC + + expands to: + + if True: + print('Do things when True') + else: + print('Do things when False') + + and evaluates to: + + Do things when True +  File: org, Node: noweb-ref, Next: noweb-sep, Prev: noweb, Up: Specific header arguments 14.8.2.16 `:noweb-ref' ...................... -When expanding "noweb" style references, Org concatenates `src' code -blocks by matching the reference name to either the block name or the -`:noweb-ref' header argument. +When expanding Noweb style references, Org concatenates `src' code +blocks by matching the reference name to either the code block name or +the `:noweb-ref' header argument. For simple concatenation, set this `:noweb-ref' header argument at the sub-tree or file level. In the example Org file shown next, the body of the source code in each block is extracted for concatenation to -a pure code file. +a pure code file when tangled. #+BEGIN_SRC sh :tangle yes :noweb yes :shebang #!/bin/sh <> @@ -15179,7 +15389,7 @@ generators are clearly unsuitable for caching. may cause unexpected results. When the caching mechanism tests for any source code changes, it -will not expand "noweb" style references (*note Noweb reference +will not expand Noweb style references (*note Noweb reference syntax::). For reasons why, see `http://thread.gmane.org/gmane.emacs.orgmode/79046'. @@ -15630,34 +15840,67 @@ File: org, Node: Noweb reference syntax, Next: Key bindings and useful functio 14.10 Noweb reference syntax ============================ -Org supports named blocks in "noweb" style syntax. For "noweb" literate +Org supports named blocks in Noweb style syntax. For Noweb literate programming details, see `http://www.cs.tufts.edu/~nr/noweb/'). <> - For the header argument `:noweb yes', Org expands "noweb" style + For the header argument `:noweb yes', Org expands Noweb style references in the `src' code block before evaluation. - For the header argument `:noweb no', Org does not expand "noweb" -style references in the `src' code block before evaluation. + For the header argument `:noweb no', Org does not expand Noweb style +references in the `src' code block before evaluation. - The default is `:noweb no'. + The default is `:noweb no'. Org defaults to `:noweb no' so as not +to cause errors in languages where Noweb syntax is ambiguous. Change +Org's default to `:noweb yes' for languages where there is no risk of +confusion. - Org offers a more flexible way to resolve "noweb" style references + Org offers a more flexible way to resolve Noweb style references (*note noweb-ref::). - Org can handle naming of _results_ block, rather than the body of the -`src' code block, using "noweb" style references. - - For "noweb" style reference, append parenthesis to the code block -name for arguments, as shown in this example: + Org can include the _results_ of a code block rather than its body. +To that effect, append parentheses, possibly including arguments, to +the code block name, as show below. <> - Note: Org defaults to `:noweb no' so as not to cause errors in -languages such as `Ruby' where "noweb" syntax is equally valid -characters. For example, `<>'. Change Org's default to `:noweb -yes' for languages where there is no risk of confusion. + Note that when using the above approach to a code block's results, +the code block name set by `#+NAME' keyword is required; the reference +set by `:noweb-ref' will not work. + + Here is an example that demonstrates how the exported content +changes when Noweb style references are used with parentheses versus +without. + + With: + + #+NAME: some-code + #+BEGIN_SRC python :var num=0 :results output :exports none + print(num*10) + #+END_SRC + + this code block: + + #+BEGIN_SRC text :noweb yes + <> + #+END_SRC + + expands to: + + print(num*10) + + Below, a similar Noweb style reference is used, but with +parentheses, while setting a variable `num' to 10: + + #+BEGIN_SRC text :noweb yes + <> + #+END_SRC + + Note that now the expansion contains the _results_ of the code block +`some-code', not the code block itself: + + 100 For faster tangling of large Org mode files, set `org-babel-use-quick-and-dirty-noweb-expansion' variable to `t'. The @@ -15720,25 +15963,15 @@ mode's usefulness. `org-babel-tangle'. #!/bin/sh - # -*- mode: shell-script -*- - # # tangle files with org-mode # - DIR=`pwd` - FILES="" - - # wrap each argument in the code required to call tangle on it - for i in $@; do - FILES="$FILES \"$i\"" - done - - emacs -Q --batch \ - --eval "(progn - (require 'org)(require 'ob)(require 'ob-tangle) - (mapc (lambda (file) - (find-file (expand-file-name file \"$DIR\")) - (org-babel-tangle) - (kill-buffer)) '($FILES)))" 2>&1 |grep -i tangled + emacs -Q --batch --eval " + (progn + (require 'ob-tangle) + (dolist (file command-line-args-left) + (with-current-buffer (find-file-noselect file) + (org-babel-tangle)))) + " "$@"  File: org, Node: Miscellaneous, Next: Hacking, Prev: Working with source code, Up: Top @@ -15823,11 +16056,9 @@ templates use an expansion mechanism, which is native to Org, in a process similar to `yasnippet' and other Emacs template expansion packages. - `<<>' `' `' completes the `src' code block. + `<' `s' `' expands to a `src' code block. - `<' `l' `' - - expands to: + `<' `l' `' expands to: #+BEGIN_EXPORT latex @@ -15840,6 +16071,7 @@ packages. `q' `#+BEGIN_QUOTE ... #+END_QUOTE' `v' `#+BEGIN_VERSE ... #+END_VERSE' `c' `#+BEGIN_CENTER ... #+END_CENTER' +`C' `#+BEGIN_COMMENT ... #+END_COMMENT' `l' `#+BEGIN_EXPORT latex ... #+END_EXPORT' `L' `#+LATEX:' `h' `#+BEGIN_EXPORT html ... #+END_EXPORT' @@ -15867,14 +16099,16 @@ also work on TTY devices known for their problems when entering Emacs keychords. By default, Org has Speed Keys disabled. To activate Speed Keys, -configure the variable `org-use-speed-commands'. To trigger a Speed -Key, the cursor must be at the beginning of an Org headline, before any -of the stars. +set the variable `org-use-speed-commands' to a non-`nil' value. To +trigger a Speed Key, the cursor must be at the beginning of an Org +headline, before any of the stars. - Org comes with a pre-defined list of Speed Keys; `?' shows currently -active Speed Keys. To add or modify Speed Keys, customize the variable, -`org-speed-commands-user'. For more details, see the variable's -docstring. + Org comes with a pre-defined list of Speed Keys. To add or modify +Speed Keys, customize the variable, `org-speed-commands-user'. For more +details, see the variable's docstring. With Speed Keys activated, `M-x +org-speed-command-help', or `?' when cursor is at the beginning of an +Org headline, shows currently active Speed Keys, including the +user-defined ones.  File: org, Node: Code evaluation security, Next: Customization, Prev: Speed keys, Up: Miscellaneous @@ -15898,7 +16132,7 @@ Source code blocks Org evaluates `src' code blocks in an Org file during export. Org also evaluates a `src' code block with the `C-c C-c' key chord. Users exporting or running code blocks must load files only from - trusted sources. Be weary of customizing variables that remove or + trusted sources. Be wary of customizing variables that remove or alter default security measures. -- User Option: org-confirm-babel-evaluate @@ -16001,14 +16235,17 @@ and reopening the Org file in Emacs also activates the changes. current buffer, most useful for specifying the allowed values of a property. -`#+SETUPFILE: file' - The setup file is for additional in-buffer settings. Org loads - this file and parses it for any settings in it only when Org opens - the main file. `C-c C-c' on the settings line will also parse and - load. Org also parses and loads the file during normal exporting - process. Org parses the contents of this file as if it was - included in the buffer. It can be another Org file. To visit the - file, `C-c '' while the cursor is on the line with the file name. +`#+SETUPFILE: file or URL' + The setup file or a URL pointing to such file is for additional + in-buffer settings. Org loads this file and parses it for any + settings in it only when Org opens the main file. If URL is + specified, the contents are downloaded and stored in a temporary + file cache. `C-c C-c' on the settings line will parse and load + the file, and also reset the temporary file cache. Org also + parses and loads the document during normal exporting process. Org + parses the contents of this document as if it was included in the + buffer. It can be another Org file. To visit the file (not a + URL), `C-c '' while the cursor is on the line with the file name. `#+STARTUP:' Startup options Org uses when first visiting a file. @@ -16154,7 +16391,9 @@ a consolidated list for easy reference. sparse tree, or from clock display, remove such highlights. - If the cursor is in one of the special `#+KEYWORD' lines, scan the - buffer for these lines and update the information. + buffer for these lines and update the information. Also reset the + Org file cache used to temporary store the contents of URLs used + as values for keywords like `#+SETUPFILE'. - If the cursor is inside a table, realign the table. The table realigns even if automatic table editor is turned off. @@ -16375,7 +16614,7 @@ File: org, Node: Cooperation, Next: Conflicts, Up: Interaction Speedbar package creates a special Emacs frame for displaying files and index items in files. Org mode supports Speedbar; users can drill into Org files directly from the Speedbar. The `<' in - the Speedbar frame tweeks the agenda commands to that file or to a + the Speedbar frame tweaks the agenda commands to that file or to a subtree. `table.el' by Takaaki Ota @@ -16912,7 +17151,7 @@ A.6.3 Translator functions -------------------------- Orgtbl mode has built-in translator functions: `orgtbl-to-csv' -(comma-separated values), `orgtbl-to-tsv' (TAB-separated values) +(comma-separated values), `orgtbl-to-tsv' (TAB-separated values), `orgtbl-to-latex', `orgtbl-to-html', `orgtbl-to-texinfo', `orgtbl-to-unicode' and `orgtbl-to-orgtbl'. They use the generic translator, `orgtbl-to-generic', which delegates translations to various @@ -17089,7 +17328,7 @@ search continues. meaningful string suitable for the agenda view. Search for entries with a limit set on levels for the custom search. -This is a general appraoch to creating custom searches in Org. To +This is a general approach to creating custom searches in Org. To include all levels, use `LEVEL>0'(2). Then to selectively pick the matched entries, use `org-agenda-skip-function', which also accepts Lisp forms, such as `org-agenda-skip-entry-if' and @@ -17744,7 +17983,7 @@ C.3 List of contributions porting `nouline.el' to XEmacs. * Sacha Chua suggested copying some linking code from Planner, and - helped make Org pupular through her blog. + helped make Org popular through her blog. * Toby S. Cubitt contributed to the code for clock formats. @@ -18473,17 +18712,17 @@ Concept index * #+ARCHIVE: Moving subtrees. (line 35) * #+ASCII: ASCII/Latin-1/UTF-8 export. - (line 53) + (line 57) * #+ATTR_ASCII: ASCII/Latin-1/UTF-8 export. - (line 64) + (line 68) * #+ATTR_BEAMER: Beamer specific syntax. - (line 34) + (line 35) * #+ATTR_HTML <1>: Images in HTML export. - (line 24) + (line 29) * #+ATTR_HTML <2>: Tables in HTML export. - (line 12) + (line 11) * #+ATTR_HTML: Links in HTML export. - (line 23) + (line 27) * #+ATTR_LATEX, in example blocks: Example blocks in LaTeX export. (line 6) * #+ATTR_LATEX, in horizontal rules: Horizontal rules in LaTeX export. @@ -18501,9 +18740,9 @@ Concept index * #+ATTR_ODT <1>: Customizing tables in ODT export. (line 6) * #+ATTR_ODT <2>: Images in ODT export. - (line 30) + (line 31) * #+ATTR_ODT: Tables in ODT export. - (line 17) + (line 20) * #+ATTR_TEXINFO, in images: Images in Texinfo export. (line 6) * #+ATTR_TEXINFO, in plain lists: Plain lists in Texinfo export. @@ -18516,15 +18755,15 @@ Concept index * #+BEAMER: Beamer specific syntax. (line 19) * #+BEAMER_FONT_THEME: Beamer specific export settings. - (line 15) + (line 16) * #+BEAMER_HEADER: Beamer specific export settings. - (line 24) + (line 25) * #+BEAMER_INNER_THEME: Beamer specific export settings. - (line 18) + (line 19) * #+BEAMER_OUTER_THEME: Beamer specific export settings. - (line 21) + (line 22) * #+BEAMER_THEME: Beamer specific export settings. - (line 10) + (line 11) * #+BEGIN, clocktable: The clock table. (line 36) * #+BEGIN, columnview: Capturing column view. (line 11) @@ -18533,17 +18772,17 @@ Concept index * #+BEGIN_COMMENT: Comment lines. (line 10) * #+BEGIN_EXAMPLE: Literal examples. (line 8) * #+BEGIN_EXPORT ascii: ASCII/Latin-1/UTF-8 export. - (line 53) + (line 57) * #+BEGIN_EXPORT beamer: Beamer specific syntax. (line 19) * #+BEGIN_EXPORT html: Quoting HTML tags. (line 12) -* #+BEGIN_EXPORT latex: Quoting LaTeX code. (line 11) +* #+BEGIN_EXPORT latex: Quoting LaTeX code. (line 17) * #+BEGIN_EXPORT texinfo: Quoting Texinfo code. (line 9) * #+BEGIN_JUSTIFYLEFT: ASCII/Latin-1/UTF-8 export. - (line 75) + (line 78) * #+BEGIN_JUSTIFYRIGHT: ASCII/Latin-1/UTF-8 export. - (line 75) + (line 78) * #+BEGIN_QUOTE: Paragraphs. (line 26) * #+BEGIN_SRC <1>: Structure of code blocks. (line 6) @@ -18553,9 +18792,9 @@ Concept index * #+CALL: Evaluating code blocks. (line 25) * #+CAPTION <1>: Images in HTML export. - (line 24) + (line 29) * #+CAPTION <2>: Tables in HTML export. - (line 12) + (line 11) * #+CAPTION: Images and tables. (line 6) * #+CATEGORY: Categories. (line 6) * #+CINDEX: Indices. (line 6) @@ -18565,72 +18804,72 @@ Concept index * #+CREATOR: Export settings. (line 28) * #+DATE: Export settings. (line 32) * #+DESCRIPTION (Beamer): Beamer specific export settings. - (line 28) + (line 29) * #+DESCRIPTION (HTML): HTML Specific export settings. (line 10) * #+DESCRIPTION (LaTeX): LaTeX specific export settings. - (line 10) + (line 11) * #+DESCRIPTION (ODT): ODT specific export settings. - (line 10) + (line 11) * #+EMAIL: Export settings. (line 35) -* #+EXCLUDE_TAGS: Export settings. (line 51) -* #+EXPORT_FILE_NAME: Export settings. (line 63) +* #+EXCLUDE_TAGS: Export settings. (line 52) +* #+EXPORT_FILE_NAME: Export settings. (line 64) * #+FILETAGS: Tag inheritance. (line 20) * #+FINDEX: Indices. (line 6) * #+HEADER:: Code block specific header arguments. (line 30) * #+HTML: Quoting HTML tags. (line 12) * #+HTML_CONTAINER: HTML Specific export settings. - (line 17) + (line 19) * #+HTML_DOCTYPE: HTML Specific export settings. - (line 14) -* #+HTML_HEAD <1>: CSS support. (line 49) + (line 16) +* #+HTML_HEAD <1>: CSS support. (line 48) * #+HTML_HEAD: HTML Specific export settings. - (line 32) -* #+HTML_HEAD_EXTRA <1>: CSS support. (line 49) + (line 35) +* #+HTML_HEAD_EXTRA <1>: CSS support. (line 48) * #+HTML_HEAD_EXTRA: HTML Specific export settings. - (line 36) + (line 39) * #+HTML_INCLUDE_STYLE: CSS support. (line 43) * #+HTML_LINK_HOME: HTML Specific export settings. - (line 21) + (line 23) * #+HTML_LINK_UP: HTML Specific export settings. - (line 24) + (line 26) * #+HTML_MATHJAX: HTML Specific export settings. - (line 27) + (line 30) * #+INCLUDE: Include files. (line 7) * #+INDEX: Generating an index. (line 16) -* #+INFOJS_OPT: JavaScript support. (line 23) +* #+INFOJS_OPT: JavaScript support. (line 20) * #+KEYWORDS (Beamer): Beamer specific export settings. - (line 35) + (line 36) * #+KEYWORDS (HTML): HTML Specific export settings. - (line 40) + (line 43) * #+KEYWORDS (LaTeX): LaTeX specific export settings. - (line 38) + (line 46) * #+KEYWORDS (ODT): ODT specific export settings. - (line 14) + (line 16) * #+KINDEX: Indices. (line 6) * #+LANGUAGE: Export settings. (line 38) -* #+LATEX: Quoting LaTeX code. (line 11) +* #+LATEX: Quoting LaTeX code. (line 13) * #+LATEX_CLASS <1>: LaTeX header and sectioning. - (line 22) + (line 23) * #+LATEX_CLASS: LaTeX specific export settings. - (line 17) + (line 20) * #+LATEX_CLASS_OPTIONS <1>: LaTeX header and sectioning. - (line 22) + (line 23) * #+LATEX_CLASS_OPTIONS: LaTeX specific export settings. - (line 22) + (line 28) * #+LATEX_COMPILER: LaTeX specific export settings. - (line 25) + (line 32) * #+LATEX_HEADER <1>: LaTeX header and sectioning. - (line 27) + (line 30) * #+LATEX_HEADER: LaTeX specific export settings. - (line 28) + (line 36) * #+LATEX_HEADER (HTML): HTML Specific export settings. - (line 45) + (line 48) * #+LATEX_HEADER_EXTRA <1>: LaTeX header and sectioning. - (line 27) + (line 30) * #+LATEX_HEADER_EXTRA: LaTeX specific export settings. - (line 33) + (line 41) * #+LINK: Link abbreviations. (line 49) * #+MACRO: Macro replacement. (line 6) * #+NAME <1>: Structure of code blocks. @@ -18639,7 +18878,7 @@ Concept index * #+NAME: Internal links. (line 21) * #+NAME, for table: References. (line 131) * #+ODT_STYLES_FILE: Applying custom styles. - (line 28) + (line 25) * #+OPTIONS: Export settings. (line 6) * #+ORGLST: Radio lists. (line 11) * #+ORGTBL: Radio tables. (line 19) @@ -18654,23 +18893,23 @@ Concept index * #+SEQ_TODO: Per-file keywords. (line 6) * #+SETUPFILE <1>: In-buffer settings. (line 52) * #+SETUPFILE: Export settings. (line 13) -* #+STARTUP: In-buffer settings. (line 64) +* #+STARTUP: In-buffer settings. (line 67) * #+SUBAUTHOR <1>: Texinfo title and copyright page. - (line 13) + (line 12) * #+SUBAUTHOR: Texinfo specific export settings. - (line 13) -* #+SUBTILE (HTML): HTML Specific export settings. - (line 50) + (line 14) * #+SUBTITLE (ASCII): ASCII/Latin-1/UTF-8 export. - (line 37) + (line 40) * #+SUBTITLE (Beamer): Beamer specific export settings. - (line 43) + (line 44) +* #+SUBTITLE (HTML): HTML Specific export settings. + (line 53) * #+SUBTITLE (LaTeX): LaTeX specific export settings. - (line 46) + (line 55) * #+SUBTITLE (Texinfo): Texinfo specific export settings. - (line 10) + (line 11) * #+TAGS: Setting tags. (line 29) -* #+TBLFM <1>: In-buffer settings. (line 173) +* #+TBLFM <1>: In-buffer settings. (line 176) * #+TBLFM <2>: Editing and debugging formulas. (line 99) * #+TBLFM: Field and range formulas. @@ -18683,36 +18922,40 @@ Concept index (line 9) * #+TEXINFO_CLASS <1>: Headings and sectioning structure. (line 6) -* #+TEXINFO_CLASS <2>: Texinfo file header. (line 12) +* #+TEXINFO_CLASS <2>: Texinfo file header. (line 11) * #+TEXINFO_CLASS: Texinfo specific export settings. - (line 19) -* #+TEXINFO_DIR_CATEGORY <1>: Texinfo Top node. (line 6) + (line 20) +* #+TEXINFO_DIR_CATEGORY <1>: Info directory file. (line 6) * #+TEXINFO_DIR_CATEGORY: Texinfo specific export settings. - (line 29) -* #+TEXINFO_DIR_DESC <1>: Texinfo Top node. (line 6) + (line 30) +* #+TEXINFO_DIR_DESC <1>: Info directory file. (line 6) * #+TEXINFO_DIR_DESC: Texinfo specific export settings. - (line 35) -* #+TEXINFO_DIR_TITLE <1>: Texinfo Top node. (line 6) + (line 36) +* #+TEXINFO_DIR_TITLE <1>: Info directory file. (line 6) * #+TEXINFO_DIR_TITLE: Texinfo specific export settings. - (line 32) + (line 33) * #+TEXINFO_FILENAME <1>: Texinfo file header. (line 6) * #+TEXINFO_FILENAME: Texinfo specific export settings. - (line 16) -* #+TEXINFO_HEADER <1>: Texinfo file header. (line 12) + (line 17) +* #+TEXINFO_HEADER <1>: Texinfo file header. (line 11) * #+TEXINFO_HEADER: Texinfo specific export settings. - (line 23) + (line 24) * #+TEXINFO_POST_HEADER: Texinfo specific export settings. - (line 26) + (line 27) * #+TEXINFO_PRINTED_TITLE <1>: Texinfo title and copyright page. (line 6) * #+TEXINFO_PRINTED_TITLE: Texinfo specific export settings. - (line 38) + (line 39) * #+TINDEX: Indices. (line 6) -* #+TITLE: Export settings. (line 59) +* #+TITLE: Export settings. (line 60) * #+TOC: Table of contents. (line 6) * #+TODO: Per-file keywords. (line 6) * #+TYP_TODO: Per-file keywords. (line 6) * #+VINDEX: Indices. (line 6) +* %:title template expansion in capture: capture protocol. (line 6) +* %:url template expansion in capture: capture protocol. (line 6) +* :base-url property in open-source protocol: open-source protocol. + (line 13) * :cache, src header argument <1>: cache. (line 6) * :cache, src header argument: System-wide header arguments. (line 9) @@ -18729,6 +18972,8 @@ Concept index * :file, src header argument: file. (line 6) * :file-ext, src header argument: file-ext. (line 6) * :hlines, src header argument: hlines. (line 6) +* :indic attribute, in Texinfo export: Plain lists in Texinfo export. + (line 12) * :mkdirp, src header argument: mkdirp. (line 6) * :no-expand, src header argument: no-expand. (line 6) * :noweb, src header argument <1>: noweb. (line 6) @@ -18736,6 +18981,8 @@ Concept index (line 9) * :noweb-ref, src header argument: noweb-ref. (line 6) * :noweb-sep, src header argument: noweb-sep. (line 6) +* :online-suffix property in open-source protocol: open-source protocol. + (line 13) * :output-dir, src header argument: output-dir. (line 6) * :padline, src header argument: padline. (line 6) * :post, src header argument: post. (line 6) @@ -18745,17 +18992,27 @@ Concept index * :results, src header argument <2>: results. (line 6) * :results, src header argument: System-wide header arguments. (line 9) +* :rewrites property in open-source protocol: open-source protocol. + (line 43) * :rownames, src header argument: rownames. (line 6) +* :sep attribute, in Texinfo export: Plain lists in Texinfo export. + (line 17) * :sep, src header argument: sep. (line 6) * :session, src header argument <1>: session. (line 6) * :session, src header argument: System-wide header arguments. (line 9) * :shebang, src header argument: shebang. (line 6) +* :table-type attribute, in Texinfo export: Plain lists in Texinfo export. + (line 6) * :tangle, src header argument <1>: tangle. (line 6) * :tangle, src header argument: Extracting source code. (line 23) * :tangle-mode, src header argument: tangle-mode. (line 6) * :var, src header argument: var. (line 6) +* :working-directory property in open-source protocol: open-source protocol. + (line 13) +* :working-suffix property in open-source protocol: open-source protocol. + (line 13) * :wrap, src header argument: wrap. (line 6) * abbreviation, links: Link abbreviations. (line 6) * abstract, in LaTeX export: Special blocks in LaTeX export. @@ -18792,7 +19049,7 @@ Concept index (line 6) * agenda, sticky: Agenda dispatcher. (line 50) * agenda, with block views: Block agenda. (line 6) -* align, STARTUP keyword: In-buffer settings. (line 85) +* align, STARTUP keyword: In-buffer settings. (line 88) * alignment in tables: Column width and alignment. (line 6) * anniversaries, from BBDB: Weekly/daily agenda. (line 79) @@ -18815,7 +19072,7 @@ Concept index * Atom feeds: RSS feeds. (line 6) * attachments: Attachments. (line 6) * author: Feedback. (line 6) -* author, macro: Macro replacement. (line 26) +* author, macro: Macro replacement. (line 24) * autoload: Activation. (line 6) * babel, languages: Languages. (line 6) * babel, library of: Library of Babel. (line 6) @@ -18847,6 +19104,9 @@ Concept index * capture <1>: Capture. (line 6) * capture: Capture - Refile - Archive. (line 6) +* capture protocol: capture protocol. (line 6) +* capture, %:title placeholder: capture protocol. (line 6) +* capture, %:url placeholder: capture protocol. (line 6) * capturing, from agenda: Agenda commands. (line 348) * category: Categories. (line 6) * category filtering, in agenda: Filtering/limiting agenda items. @@ -18857,7 +19117,7 @@ Concept index * cdlatex.el: Cooperation. (line 21) * center blocks: Paragraphs. (line 31) * center image (LaTeX export): Images in LaTeX export. - (line 52) + (line 50) * checkbox blocking: Checkboxes. (line 46) * checkbox statistics: Checkboxes. (line 30) * checkboxes: Checkboxes. (line 6) @@ -18909,14 +19169,15 @@ Concept index * completion, of TeX symbols: Completion. (line 6) * completion, of TODO keywords <1>: Completion. (line 6) * completion, of TODO keywords: Workflow states. (line 15) +* concept index, in Texinfo export: Indices. (line 6) * constants, in calculations: References. (line 110) * constants.el: Cooperation. (line 12) -* constcgs, STARTUP keyword: In-buffer settings. (line 143) -* constSI, STARTUP keyword: In-buffer settings. (line 143) -* content, STARTUP keyword <1>: In-buffer settings. (line 71) +* constcgs, STARTUP keyword: In-buffer settings. (line 146) +* constSI, STARTUP keyword: In-buffer settings. (line 146) +* content, STARTUP keyword <1>: In-buffer settings. (line 74) * content, STARTUP keyword: Initial visibility. (line 6) * contents, global visibility state: Global and local cycling. - (line 22) + (line 18) * context-sensitive commands, hooks: Context-sensitive commands. (line 6) * continuous clocking: Resolving idle time. (line 78) @@ -18928,6 +19189,7 @@ Concept index * copying notes: Refile and copy. (line 6) * copying, of subtrees: Structure editing. (line 6) * countdown timer: Timers. (line 6) +* counter, macro: Macro replacement. (line 55) * creating timestamps: Creating timestamps. (line 6) * CSS, for HTML export: CSS support. (line 6) * CUA.el: Conflicts. (line 18) @@ -18935,7 +19197,7 @@ Concept index * custom date/time format: Custom time format. (line 6) * custom search strings: Custom searches. (line 6) * customization: Customization. (line 6) -* customtime, STARTUP keyword: In-buffer settings. (line 139) +* customtime, STARTUP keyword: In-buffer settings. (line 142) * cutting, of subtrees: Structure editing. (line 6) * cycling, in plain lists: Plain lists. (line 69) * cycling, of agenda files: Agenda files. (line 22) @@ -18943,12 +19205,13 @@ Concept index * cycling, visibility: Visibility cycling. (line 6) * daily agenda: Weekly/daily agenda. (line 6) * dash, special symbol: Special symbols. (line 39) +* data type index, in Texinfo export: Indices. (line 6) * date format, custom: Custom time format. (line 6) * date range: Timestamps. (line 42) * date stamp: Dates and times. (line 6) * date stamps: Timestamps. (line 6) * date tree: Using capture. (line 9) -* date, macro: Macro replacement. (line 31) +* date, macro: Macro replacement. (line 29) * date, reading in minibuffer: The date/time prompt. (line 6) * dates: Dates and times. (line 6) @@ -18959,11 +19222,13 @@ Concept index * deadlines: Timestamps. (line 6) * debugging, of table formulas: Editing and debugging formulas. (line 132) +* defining new protocols: Protocols. (line 25) * demotion, of subtrees: Structure editing. (line 6) * dependencies, of TODO states: TODO dependencies. (line 6) * diary entries, creating from agenda: Agenda commands. (line 459) * diary integration: Weekly/daily agenda. (line 32) * dictionary word completion: Completion. (line 6) +* dir file, in Texinfo export: Info directory file. (line 6) * directories, for publishing: Sources and destinations. (line 6) * dispatching agenda commands: Agenda dispatcher. (line 6) @@ -18971,7 +19236,7 @@ Concept index * doc, docx, rtf: Configuring a document converter. (line 6) * document structure: Document structure. (line 6) -* document title: Export settings. (line 59) +* document title: Export settings. (line 60) * Dominik, Carsten: Cooperation. (line 12) * DONE, final TODO keyword: Per-file keywords. (line 26) * dragging, agenda lines: Agenda commands. (line 353) @@ -18982,11 +19247,11 @@ Concept index * Duration, computing: Durations and time values. (line 6) * dvipng <1>: Working with LaTeX math snippets. - (line 47) + (line 48) * dvipng: Math formatting in HTML export. (line 6) * dvisvgm <1>: Working with LaTeX math snippets. - (line 47) + (line 48) * dvisvgm: Math formatting in HTML export. (line 6) * dynamic blocks: Dynamic blocks. (line 6) @@ -19003,16 +19268,15 @@ Concept index * Elisp links: External links. (line 6) * ellipsis, special symbol: Special symbols. (line 39) * ELPA: Activation. (line 6) -* emacsserver: Protocols. (line 6) -* email, macro: Macro replacement. (line 26) +* email, macro: Macro replacement. (line 24) * embedding images in ODT: Images in ODT export. (line 6) -* entitiesplain, STARTUP keyword: In-buffer settings. (line 166) -* entitiespretty, STARTUP keyword <1>: In-buffer settings. (line 166) +* entitiesplain, STARTUP keyword: In-buffer settings. (line 169) +* entitiespretty, STARTUP keyword <1>: In-buffer settings. (line 169) * entitiespretty, STARTUP keyword: Special symbols. (line 34) * escaping characters: Special symbols. (line 27) * evaluate time range: Creating timestamps. (line 62) -* even, STARTUP keyword: In-buffer settings. (line 129) +* even, STARTUP keyword: In-buffer settings. (line 132) * example blocks, in LaTeX export: Example blocks in LaTeX export. (line 6) * export back-end: Exporting. (line 12) @@ -19054,13 +19318,13 @@ Concept index (line 17) * Filters, exporting: Advanced configuration. (line 32) -* fnadjust, STARTUP keyword: In-buffer settings. (line 149) -* fnauto, STARTUP keyword: In-buffer settings. (line 149) -* fnconfirm, STARTUP keyword: In-buffer settings. (line 149) -* fninline, STARTUP keyword: In-buffer settings. (line 149) -* fnlocal, STARTUP keyword: In-buffer settings. (line 149) -* fnplain, STARTUP keyword: In-buffer settings. (line 149) -* fnprompt, STARTUP keyword: In-buffer settings. (line 149) +* fnadjust, STARTUP keyword: In-buffer settings. (line 152) +* fnauto, STARTUP keyword: In-buffer settings. (line 152) +* fnconfirm, STARTUP keyword: In-buffer settings. (line 152) +* fninline, STARTUP keyword: In-buffer settings. (line 152) +* fnlocal, STARTUP keyword: In-buffer settings. (line 152) +* fnplain, STARTUP keyword: In-buffer settings. (line 152) +* fnprompt, STARTUP keyword: In-buffer settings. (line 152) * folded, subtree visibility state: Global and local cycling. (line 10) * folding, sparse trees: Sparse trees. (line 6) @@ -19083,13 +19347,14 @@ Concept index * formula, for table column: Column formulas. (line 6) * formula, in tables: Built-in table editor. (line 162) +* function index, in Texinfo export: Indices. (line 6) * Gillespie, Dave: Cooperation. (line 6) * global cycling: Global and local cycling. - (line 22) + (line 18) * global key bindings: Activation. (line 6) * global TODO list: Global TODO list. (line 6) * global visibility states: Global and local cycling. - (line 22) + (line 18) * Gnus links: External links. (line 6) * graph, in tables: Org-Plot. (line 6) * group tags: Tag hierarchy. (line 6) @@ -19099,6 +19364,8 @@ Concept index * habits: Tracking your habits. (line 6) * hacking: Hacking. (line 6) +* handle rewritten URL in open-source protocol: open-source protocol. + (line 32) * header, for LaTeX files: LaTeX header and sectioning. (line 6) * headline navigation: Motion. (line 6) @@ -19106,15 +19373,15 @@ Concept index * headline, promotion and demotion: Structure editing. (line 6) * headlines: Headlines. (line 6) * hide text: Visibility cycling. (line 6) -* hideblocks, STARTUP keyword <1>: In-buffer settings. (line 161) +* hideblocks, STARTUP keyword <1>: In-buffer settings. (line 164) * hideblocks, STARTUP keyword: Blocks. (line 13) -* hidestars, STARTUP keyword: In-buffer settings. (line 129) +* hidestars, STARTUP keyword: In-buffer settings. (line 132) * hiding leading stars: Clean view. (line 6) * history: History and acknowledgments. (line 6) * hooks: Hooks. (line 6) * horizontal rules, in ASCII export: ASCII/Latin-1/UTF-8 export. - (line 64) + (line 68) * horizontal rules, in LaTeX export: Horizontal rules in LaTeX export. (line 6) * horizontal rules, markup rules: Horizontal rules. (line 6) @@ -19123,18 +19390,18 @@ Concept index * HTML export, CSS: CSS support. (line 6) * HTML, and Orgtbl mode: Translator functions. (line 6) -* HTML5, export new elements: HTML doctypes. (line 36) +* HTML5, export new elements: HTML doctypes. (line 33) * hyperlinks: Hyperlinks. (line 6) * hyperlinks, adding new types: Adding hyperlink types. (line 6) * iCalendar export: iCalendar export. (line 6) * identify, ImageMagick: Images in ODT export. - (line 33) + (line 34) * idle, resolve, dangling: Resolving idle time. (line 9) * image, centering (LaTeX export): Images in LaTeX export. - (line 52) + (line 50) * imagemagick <1>: Working with LaTeX math snippets. - (line 47) + (line 48) * imagemagick: Math formatting in HTML export. (line 6) * images, embedding in ODT: Images in ODT export. @@ -19148,26 +19415,32 @@ Concept index * in-buffer settings: In-buffer settings. (line 6) * inactive timestamp: Timestamps. (line 51) * include files, during export: Include files. (line 6) -* indent, STARTUP keyword: In-buffer settings. (line 76) +* indent, STARTUP keyword: In-buffer settings. (line 79) * indentation, in source blocks <1>: Editing source code. (line 38) * indentation, in source blocks: Literal examples. (line 72) * index, in a publishing project: Generating an index. (line 6) +* Info directory file, in Texinfo export: Info directory file. + (line 6) * Info links: External links. (line 6) * inheritance, of properties: Property inheritance. (line 6) * inheritance, of tags: Tag inheritance. (line 6) +* inline, in LaTeX export: Quoting LaTeX code. (line 10) * inlined images, markup rules: Images and tables. (line 22) -* inlineimages, STARTUP keyword <1>: In-buffer settings. (line 90) +* inlineimages, STARTUP keyword <1>: In-buffer settings. (line 93) * inlineimages, STARTUP keyword: Handling links. (line 136) * inlining images: Handling links. (line 136) * inlining images in HTML: Images in HTML export. (line 6) * inlining images in LaTeX: Images in LaTeX export. (line 6) -* input file, macro: Macro replacement. (line 47) +* input file, macro: Macro replacement. (line 44) * inserting links: Handling links. (line 66) * insertion, of templates: Easy templates. (line 6) +* install-info parameters, in Texinfo export: Info directory file. + (line 6) * installation: Installation. (line 6) +* Installing Org protocol: Protocols. (line 14) * internal links: Internal links. (line 6) * internal links, in HTML export: Links in HTML export. (line 6) @@ -19178,6 +19451,7 @@ Concept index (line 6) * jumping, to headlines: Motion. (line 6) * key bindings, global: Activation. (line 6) +* keystroke index, in Texinfo export: Indices. (line 6) * keyword options: Per-file keywords. (line 6) * LaTeX class: LaTeX header and sectioning. (line 6) @@ -19192,13 +19466,13 @@ Concept index * LaTeX sectioning structure: LaTeX header and sectioning. (line 6) * LaTeX, and Orgtbl mode: A LaTeX example. (line 6) -* latexpreview, STARTUP keyword: In-buffer settings. (line 97) +* latexpreview, STARTUP keyword: In-buffer settings. (line 100) * Latin-1 export: ASCII/Latin-1/UTF-8 export. (line 6) * level, require for tags/property match: Matching tags and properties. (line 72) * LibreOffice <1>: Extending ODT export. - (line 11) + (line 12) * LibreOffice: OpenDocument Text export. (line 6) * limits, in agenda: Filtering/limiting agenda items. @@ -19227,20 +19501,20 @@ Concept index * lists, ordered: Plain lists. (line 6) * lists, plain: Plain lists. (line 6) * literal examples, markup rules: Literal examples. (line 6) -* logdone, STARTUP keyword: In-buffer settings. (line 103) -* logdrawer, STARTUP keyword: In-buffer settings. (line 103) +* logdone, STARTUP keyword: In-buffer settings. (line 106) +* logdrawer, STARTUP keyword: In-buffer settings. (line 106) * logging, of progress: Progress logging. (line 6) -* lognoteclock-out, STARTUP keyword: In-buffer settings. (line 103) -* lognotedone, STARTUP keyword: In-buffer settings. (line 103) -* lognoteredeadline, STARTUP keyword: In-buffer settings. (line 103) -* lognoterefile, STARTUP keyword: In-buffer settings. (line 103) -* lognoterepeat, STARTUP keyword: In-buffer settings. (line 103) -* lognotereschedule, STARTUP keyword: In-buffer settings. (line 103) -* logredeadline, STARTUP keyword: In-buffer settings. (line 103) -* logrefile, STARTUP keyword: In-buffer settings. (line 103) -* logrepeat, STARTUP keyword: In-buffer settings. (line 103) -* logreschedule, STARTUP keyword: In-buffer settings. (line 103) -* logstatesreversed, STARTUP keyword: In-buffer settings. (line 103) +* lognoteclock-out, STARTUP keyword: In-buffer settings. (line 106) +* lognotedone, STARTUP keyword: In-buffer settings. (line 106) +* lognoteredeadline, STARTUP keyword: In-buffer settings. (line 106) +* lognoterefile, STARTUP keyword: In-buffer settings. (line 106) +* lognoterepeat, STARTUP keyword: In-buffer settings. (line 106) +* lognotereschedule, STARTUP keyword: In-buffer settings. (line 106) +* logredeadline, STARTUP keyword: In-buffer settings. (line 106) +* logrefile, STARTUP keyword: In-buffer settings. (line 106) +* logrepeat, STARTUP keyword: In-buffer settings. (line 106) +* logreschedule, STARTUP keyword: In-buffer settings. (line 106) +* logstatesreversed, STARTUP keyword: In-buffer settings. (line 106) * lookup functions in tables: Lookup functions. (line 6) * Ludlam, Eric M.: Cooperation. (line 34) * macro replacement, during export: Macro replacement. (line 6) @@ -19268,39 +19542,44 @@ Concept index * MobileOrg: MobileOrg. (line 6) * mode, for calc: Formula syntax for Calc. (line 14) -* modification time, macro: Macro replacement. (line 38) +* modification time, macro: Macro replacement. (line 36) * motion commands in agenda: Agenda commands. (line 19) * motion, between headlines: Motion. (line 6) +* Multiple entries in two-column tables, in Texinfo export: Plain lists in Texinfo export. + (line 17) +* n, macro: Macro replacement. (line 55) * name, of column or field: References. (line 110) * named references: References. (line 110) * names as TODO keywords: TODO types. (line 6) * narrow columns in tables: Column width and alignment. (line 6) -* noalign, STARTUP keyword: In-buffer settings. (line 85) -* nofnadjust, STARTUP keyword: In-buffer settings. (line 149) -* nofninline, STARTUP keyword: In-buffer settings. (line 149) -* nohideblocks, STARTUP keyword <1>: In-buffer settings. (line 161) +* noalign, STARTUP keyword: In-buffer settings. (line 88) +* nofnadjust, STARTUP keyword: In-buffer settings. (line 152) +* nofninline, STARTUP keyword: In-buffer settings. (line 152) +* nohideblocks, STARTUP keyword <1>: In-buffer settings. (line 164) * nohideblocks, STARTUP keyword: Blocks. (line 13) -* noindent, STARTUP keyword: In-buffer settings. (line 76) -* noinlineimages, STARTUP keyword <1>: In-buffer settings. (line 90) +* noindent, STARTUP keyword: In-buffer settings. (line 79) +* noinlineimages, STARTUP keyword <1>: In-buffer settings. (line 93) * noinlineimages, STARTUP keyword: Handling links. (line 136) -* nolatexpreview, STARTUP keyword: In-buffer settings. (line 97) -* nologdone, STARTUP keyword: In-buffer settings. (line 103) -* nologdrawer, STARTUP keyword: In-buffer settings. (line 103) -* nolognoteclock-out, STARTUP keyword: In-buffer settings. (line 103) -* nologredeadline, STARTUP keyword: In-buffer settings. (line 103) -* nologrefile, STARTUP keyword: In-buffer settings. (line 103) -* nologrepeat, STARTUP keyword: In-buffer settings. (line 103) -* nologreschedule, STARTUP keyword: In-buffer settings. (line 103) -* nologstatesreversed, STARTUP keyword: In-buffer settings. (line 103) +* nolatexpreview, STARTUP keyword: In-buffer settings. (line 100) +* nologdone, STARTUP keyword: In-buffer settings. (line 106) +* nologdrawer, STARTUP keyword: In-buffer settings. (line 106) +* nolognoteclock-out, STARTUP keyword: In-buffer settings. (line 106) +* nologredeadline, STARTUP keyword: In-buffer settings. (line 106) +* nologrefile, STARTUP keyword: In-buffer settings. (line 106) +* nologrepeat, STARTUP keyword: In-buffer settings. (line 106) +* nologreschedule, STARTUP keyword: In-buffer settings. (line 106) +* nologstatesreversed, STARTUP keyword: In-buffer settings. (line 106) * occur, command: Sparse trees. (line 6) * occur-tree: Storing searches. (line 9) -* odd, STARTUP keyword: In-buffer settings. (line 129) +* odd, STARTUP keyword: In-buffer settings. (line 132) * odd-levels-only outlines: Clean view. (line 6) * ODT: OpenDocument Text export. (line 6) * ODT_STYLES_FILE: ODT specific export settings. - (line 19) + (line 22) +* open-source protocol: open-source protocol. + (line 6) * OpenDocument: OpenDocument Text export. (line 6) * option keyword completion: Completion. (line 6) @@ -19311,16 +19590,17 @@ Concept index * Org entities: Special symbols. (line 6) * Org export: Org export. (line 6) * Org mode, turning on: Activation. (line 21) +* Org protocol, set-up: Protocols. (line 14) * Org syntax: Org syntax. (line 6) * org-agenda, command: Weekly/daily agenda. (line 9) * org-capture-last-stored: Using capture. (line 50) * org-crypt.el: org-crypt. (line 6) * org-decrypt-entry: org-crypt. (line 6) -* org-hide-block-startup: In-buffer settings. (line 160) +* org-hide-block-startup: In-buffer settings. (line 163) * org-insert-drawer <1>: Property syntax. (line 90) * org-insert-drawer: Drawers. (line 6) * org-list-insert-radio-list: Radio lists. (line 6) -* org-pretty-entities: In-buffer settings. (line 165) +* org-pretty-entities: In-buffer settings. (line 168) * org-publish-project-alist: Project alist. (line 6) * Orgstruct mode: Orgstruct mode. (line 6) * Orgtbl mode <1>: Tables in arbitrary syntax. @@ -19331,8 +19611,8 @@ Concept index * outline tree: Headlines. (line 6) * outlines: Outlines. (line 6) * overview, global visibility state: Global and local cycling. - (line 22) -* overview, STARTUP keyword <1>: In-buffer settings. (line 71) + (line 18) +* overview, STARTUP keyword <1>: In-buffer settings. (line 74) * overview, STARTUP keyword: Initial visibility. (line 6) * packages, interaction with other: Interaction. (line 6) * paragraphs, markup rules: Paragraphs. (line 6) @@ -19342,7 +19622,7 @@ Concept index * plain lists: Plain lists. (line 6) * plain lists, in LaTeX export: Plain lists in LaTeX export. (line 6) -* plain text external links: External links. (line 69) +* plain text external links: External links. (line 68) * plot tables using Gnuplot: Org-Plot. (line 6) * presentation, of agenda items: Presentation and sorting. (line 6) @@ -19351,6 +19631,7 @@ Concept index * priorities: Priorities. (line 6) * priorities, of agenda items: Sorting agenda items. (line 6) +* program index, in Texinfo export: Indices. (line 6) * progress logging: Progress logging. (line 6) * projects, for publishing: Project alist. (line 6) * promotion, of subtrees: Structure editing. (line 6) @@ -19370,24 +19651,24 @@ Concept index * property syntax: Property syntax. (line 6) * property, +: Property syntax. (line 52) * property, _ALL: Property syntax. (line 44) -* property, ALT_TITLE: Table of contents. (line 37) +* property, ALT_TITLE: Table of contents. (line 41) * property, APPENDIX: Headings and sectioning structure. - (line 19) + (line 20) * property, ARCHIVE <1>: Moving subtrees. (line 37) * property, ARCHIVE: Property inheritance. (line 34) * property, ATTACH_DIR: Attachments. (line 74) * property, ATTACH_DIR_INHERIT: Attachments. (line 79) * property, BEAMER_ACT: Sectioning Frames and Blocks in Beamer. - (line 38) + (line 41) * property, BEAMER_COL: Sectioning Frames and Blocks in Beamer. - (line 45) + (line 49) * property, BEAMER_ENV: Sectioning Frames and Blocks in Beamer. (line 14) * property, BEAMER_OPT: Sectioning Frames and Blocks in Beamer. - (line 38) + (line 41) * property, BEAMER_REF: Sectioning Frames and Blocks in Beamer. - (line 25) + (line 27) * property, CATEGORY <1>: Categories. (line 12) * property, CATEGORY: Property inheritance. (line 30) @@ -19397,23 +19678,23 @@ Concept index * property, COOKIE_DATA <1>: Checkboxes. (line 30) * property, COOKIE_DATA: Breaking down tasks. (line 21) * property, COPYING: Texinfo title and copyright page. - (line 21) + (line 19) * property, CUSTOM_ID <1>: Handling links. (line 21) * property, CUSTOM_ID: Internal links. (line 6) -* property, DESCRIPTION <1>: iCalendar export. (line 46) +* property, DESCRIPTION <1>: iCalendar export. (line 51) * property, DESCRIPTION: Headings and sectioning structure. - (line 22) + (line 24) * property, Effort: Effort estimates. (line 6) * property, EXPORT_LATEX_CLASS: LaTeX header and sectioning. - (line 22) + (line 23) * property, EXPORT_LATEX_CLASS_OPTIONS: LaTeX header and sectioning. - (line 22) -* property, ID <1>: iCalendar export. (line 21) + (line 23) +* property, ID <1>: iCalendar export. (line 26) * property, ID <2>: Capturing column view. (line 22) * property, ID: Handling links. (line 21) -* property, INDEX: Indices. (line 13) -* property, LOCATION: iCalendar export. (line 46) +* property, INDEX: Indices. (line 14) +* property, LOCATION: iCalendar export. (line 51) * property, LOG_INTO_DRAWER <1>: Clocking commands. (line 7) * property, LOG_INTO_DRAWER: Tracking TODO state changes. (line 6) @@ -19421,7 +19702,7 @@ Concept index (line 38) * property, LOGGING: Tracking TODO state changes. (line 45) -* property, macro: Macro replacement. (line 51) +* property, macro: Macro replacement. (line 48) * property, ORDERED <1>: Checkboxes. (line 46) * property, ORDERED: TODO dependencies. (line 6) * property, special, ALLTAGS: Special properties. (line 13) @@ -19440,11 +19721,31 @@ Concept index * property, special, TIMESTAMP: Special properties. (line 13) * property, special, TIMESTAMP_IA: Special properties. (line 13) * property, special, TODO: Special properties. (line 13) -* property, SUMMARY: iCalendar export. (line 46) -* property, UNNUMBERED: Export settings. (line 148) +* property, SUMMARY: iCalendar export. (line 51) +* property, TIMEZONE: iCalendar export. (line 51) +* property, UNNUMBERED: Export settings. (line 149) * property, VISIBILITY: Initial visibility. (line 17) * property: CLOCK_MODELINE_TOTAL: Clocking commands. (line 20) * property: LAST_REPEAT: Clocking commands. (line 20) +* protocol, capture: capture protocol. (line 6) +* protocol, new protocol: Protocols. (line 25) +* protocol, open-source: open-source protocol. + (line 6) +* protocol, open-source rewritten URL: open-source protocol. + (line 32) +* protocol, open-source, :base-url property: open-source protocol. + (line 13) +* protocol, open-source, :online-suffix property: open-source protocol. + (line 13) +* protocol, open-source, :rewrites property: open-source protocol. + (line 43) +* protocol, open-source, :working-directory property: open-source protocol. + (line 13) +* protocol, open-source, :working-suffix property: open-source protocol. + (line 13) +* protocol, open-source, set-up mapping: open-source protocol. + (line 67) +* protocol, store-link: store-link protocol. (line 6) * protocols, for external access: Protocols. (line 6) * publishing: Publishing. (line 6) * query editing, in agenda: Filtering/limiting agenda items. @@ -19504,6 +19805,8 @@ Concept index (line 6) * set startup visibility, command: Global and local cycling. (line 33) +* set-up mappings in open-source protocol: open-source protocol. + (line 67) * setting tags: Setting tags. (line 6) * SHELL links: External links. (line 6) * shift-selection-mode <1>: Conflicts. (line 6) @@ -19511,17 +19814,17 @@ Concept index * show all, command: Global and local cycling. (line 35) * show all, global visibility state: Global and local cycling. - (line 22) + (line 18) * show branches, command: Global and local cycling. (line 47) * show children, command: Global and local cycling. (line 51) * show hidden text: Visibility cycling. (line 6) -* showall, STARTUP keyword <1>: In-buffer settings. (line 71) +* showall, STARTUP keyword <1>: In-buffer settings. (line 74) * showall, STARTUP keyword: Initial visibility. (line 6) -* showeverything, STARTUP keyword <1>: In-buffer settings. (line 71) +* showeverything, STARTUP keyword <1>: In-buffer settings. (line 74) * showeverything, STARTUP keyword: Initial visibility. (line 6) -* showstars, STARTUP keyword: In-buffer settings. (line 129) +* showstars, STARTUP keyword: In-buffer settings. (line 132) * shy hyphen, special symbol: Special symbols. (line 39) * sitemap, of published pages: Sitemap. (line 6) * sorting, of agenda items: Sorting agenda items. @@ -19561,7 +19864,7 @@ Concept index * sparse tree, tag based: Tags. (line 6) * sparse trees: Sparse trees. (line 6) * special blocks, in ASCII export: ASCII/Latin-1/UTF-8 export. - (line 75) + (line 78) * special blocks, in LaTeX export: Special blocks in LaTeX export. (line 6) * special keywords: In-buffer settings. (line 6) @@ -19570,9 +19873,10 @@ Concept index * speed keys: Speed keys. (line 6) * speedbar.el: Cooperation. (line 34) * spreadsheet capabilities: The spreadsheet. (line 6) -* square brackets, around links: External links. (line 69) +* square brackets, around links: External links. (line 68) * statistics, for checkboxes: Checkboxes. (line 30) * statistics, for TODO items: Breaking down tasks. (line 6) +* store-link protocol: store-link protocol. (line 6) * storing links: Handling links. (line 10) * Storm, Kim. F.: Conflicts. (line 18) * strike-through text, markup rules: Emphasis and monospace. @@ -19588,7 +19892,7 @@ Concept index * subscript: Subscripts and superscripts. (line 6) * SUBTITLE (ODT): ODT specific export settings. - (line 23) + (line 26) * subtree cycling: Global and local cycling. (line 10) * subtree visibility states: Global and local cycling. @@ -19652,18 +19956,32 @@ Concept index * TeX interpretation: Embedded LaTeX. (line 6) * TeX symbol completion: Completion. (line 6) * Texinfo export: Texinfo export. (line 6) +* Texinfo export, data type index: Indices. (line 6) +* Texinfo export, dir file: Info directory file. (line 6) +* Texinfo export, index, concept: Indices. (line 6) +* Texinfo export, index, function: Indices. (line 6) +* Texinfo export, Info directory file: Info directory file. (line 6) +* Texinfo export, install-info parameters: Info directory file. + (line 6) +* Texinfo export, keystroke index: Indices. (line 6) +* Texinfo export, program index: Indices. (line 6) +* Texinfo export, Top node: Headings and sectioning structure. + (line 37) +* Texinfo export, variable index: Indices. (line 6) * text areas, in HTML: Text areas in HTML export. (line 6) * text search: Search view. (line 6) * thanks: History and acknowledgments. (line 6) +* The Top node, in Texinfo export: Headings and sectioning structure. + (line 37) * time clocking: Clocking work time. (line 6) * time format, custom: Custom time format. (line 6) * time grid: Time-of-day specifications. (line 26) * Time, computing: Durations and time values. (line 6) -* time, macro: Macro replacement. (line 38) +* time, macro: Macro replacement. (line 36) * time, reading in minibuffer: The date/time prompt. (line 6) * time-of-day specification: Time-of-day specifications. @@ -19676,7 +19994,7 @@ Concept index * timestamp, with repeater interval: Timestamps. (line 25) * timestamps: Timestamps. (line 6) * timestamps, creating: Creating timestamps. (line 6) -* title, macro: Macro replacement. (line 26) +* title, macro: Macro replacement. (line 24) * TODO dependencies: TODO dependencies. (line 6) * TODO dependencies, NOBLOCKING: TODO dependencies. (line 6) * TODO items: TODO items. (line 6) @@ -19702,18 +20020,21 @@ Concept index * trees, sparse: Sparse trees. (line 6) * trees, visibility: Visibility cycling. (line 6) * tty key bindings: TTY keys. (line 6) +* Two-column tables, in Texinfo export: Plain lists in Texinfo export. + (line 6) * types as TODO keywords: TODO types. (line 6) * underlined text, markup rules: Emphasis and monospace. (line 6) * undoing remote-editing events: Agenda commands. (line 228) * unison: Uploading files. (line 6) * unoconv: Extending ODT export. - (line 11) + (line 12) * updating, table: Updating the table. (line 6) * URL links: External links. (line 6) * USENET links: External links. (line 6) * UTF-8 export: ASCII/Latin-1/UTF-8 export. (line 6) +* variable index, in Texinfo export: Indices. (line 6) * variables, for customization: Customization. (line 6) * vectors, in table calculations: Formula syntax for Calc. (line 11) @@ -19727,8 +20048,8 @@ Concept index * visibility cycling, drawers: Drawers. (line 6) * visibility, initialize: Initial visibility. (line 6) * visible text, printing: Sparse trees. (line 53) -* VM links: External links. (line 42) -* WANDERLUST links: External links. (line 42) +* VM links: External links. (line 41) +* WANDERLUST links: External links. (line 41) * weekly agenda: Weekly/daily agenda. (line 6) * windmove.el: Conflicts. (line 78) * workflow states as TODO keywords: Workflow states. (line 6) @@ -19827,7 +20148,7 @@ Key index * C-c &: Handling links. (line 146) * C-c ' <1>: Cooperation. (line 48) * C-c ' <2>: Editing source code. (line 6) -* C-c ' <3>: Include files. (line 58) +* C-c ' <3>: Include files. (line 59) * C-c ' <4>: Literal examples. (line 87) * C-c ' <5>: Editing and debugging formulas. (line 36) @@ -19956,34 +20277,34 @@ Key index * C-c C-d: Inserting deadline/schedule. (line 9) * C-c C-e: The export dispatcher. - (line 10) -* C-c C-e c a: iCalendar export. (line 34) -* C-c C-e c c: iCalendar export. (line 39) -* C-c C-e c f: iCalendar export. (line 32) + (line 15) +* C-c C-e c a: iCalendar export. (line 40) +* C-c C-e c c: iCalendar export. (line 44) +* C-c C-e c f: iCalendar export. (line 38) * C-c C-e C-v: Sparse trees. (line 53) * C-c C-e h H: HTML Export commands. - (line 10) + (line 11) * C-c C-e h h: HTML Export commands. (line 6) * C-c C-e i i: Texinfo export commands. - (line 9) + (line 8) * C-c C-e i t: Texinfo export commands. (line 6) * C-c C-e l B: Beamer export commands. - (line 9) + (line 8) * C-c C-e l b: Beamer export commands. (line 6) * C-c C-e l L: LaTeX export commands. - (line 9) + (line 11) * C-c C-e l l: LaTeX export commands. (line 6) * C-c C-e l p: LaTeX export commands. (line 12) * C-c C-e l P: Beamer export commands. - (line 12) -* C-c C-e m M: Markdown export. (line 19) + (line 11) +* C-c C-e m M: Markdown export. (line 18) * C-c C-e m m: Markdown export. (line 16) -* C-c C-e O O: Org export. (line 16) +* C-c C-e O O: Org export. (line 17) * C-c C-e O o: Org export. (line 13) * C-c C-e o o: ODT export commands. (line 6) * C-c C-e P a: Triggering publication. @@ -19995,9 +20316,9 @@ Key index * C-c C-e P x: Triggering publication. (line 8) * C-c C-e t A/L/U: ASCII/Latin-1/UTF-8 export. - (line 25) + (line 27) * C-c C-e t a/l/u: ASCII/Latin-1/UTF-8 export. - (line 21) + (line 23) * C-c C-f: Motion. (line 12) * C-c C-j: Motion. (line 21) * C-c C-k <1>: Using capture. (line 31) @@ -20425,7 +20746,7 @@ Key index * S- <1>: Built-in table editor. (line 66) * S-: Global and local cycling. - (line 22) + (line 18) * S- <1>: Agenda commands. (line 284) * S- <2>: The date/time prompt. (line 82) @@ -20596,9 +20917,9 @@ Command and function index * org-archive-subtree-default: Archiving. (line 11) * org-archive-to-archive-sibling: Internal archiving. (line 50) * org-ascii-export-as-ascii: ASCII/Latin-1/UTF-8 export. - (line 25) + (line 27) * org-ascii-export-to-ascii: ASCII/Latin-1/UTF-8 export. - (line 21) + (line 23) * org-attach <1>: Agenda commands. (line 297) * org-attach: Attachments. (line 26) * org-attach-attach: Attachments. (line 31) @@ -20615,11 +20936,11 @@ Command and function index * org-attach-url: Attachments. (line 41) * org-backward-same-level: Motion. (line 15) * org-beamer-export-as-latex: Beamer export commands. - (line 9) + (line 8) * org-beamer-export-to-latex: Beamer export commands. (line 6) * org-beamer-export-to-pdf: Beamer export commands. - (line 12) + (line 11) * org-beamer-select-environment: Editing support. (line 11) * org-buffer-property-keys: Using the property API. (line 34) @@ -20709,22 +21030,22 @@ Command and function index * org-evaluate-time-range <1>: Clocking commands. (line 51) * org-evaluate-time-range: Creating timestamps. (line 59) * org-export-dispatch: The export dispatcher. - (line 10) + (line 15) * org-feed-goto-inbox: RSS feeds. (line 27) * org-feed-update-all: RSS feeds. (line 23) * org-force-cycle-archived: Internal archiving. (line 47) * org-forward-same-level: Motion. (line 12) * org-global-cycle: Global and local cycling. - (line 22) + (line 18) * org-goto: Motion. (line 21) * org-goto-calendar: Creating timestamps. (line 33) * org-html-export-as-html: HTML Export commands. - (line 10) + (line 11) * org-html-export-to-html: HTML Export commands. (line 6) -* org-icalendar-combine-agenda-files: iCalendar export. (line 39) -* org-icalendar-export-agenda-files: iCalendar export. (line 34) -* org-icalendar-export-to-ics: iCalendar export. (line 32) +* org-icalendar-combine-agenda-files: iCalendar export. (line 44) +* org-icalendar-export-agenda-files: iCalendar export. (line 40) +* org-icalendar-export-to-ics: iCalendar export. (line 38) * org-insert-columns-dblock: Capturing column view. (line 52) * org-insert-heading <1>: Timers. (line 40) @@ -20739,7 +21060,7 @@ Command and function index * org-insert-todo-heading-respect-content: Structure editing. (line 30) * org-iswitchb: Activation. (line 6) * org-latex-export-as-latex: LaTeX export commands. - (line 9) + (line 11) * org-latex-export-to-latex: LaTeX export commands. (line 6) * org-latex-export-to-pdf: LaTeX export commands. @@ -20755,7 +21076,7 @@ Command and function index * org-mark-subtree: Structure editing. (line 65) * org-match-sparse-tree <1>: Property searches. (line 10) * org-match-sparse-tree: Tag searches. (line 9) -* org-md-export-as-markdown: Markdown export. (line 19) +* org-md-export-as-markdown: Markdown export. (line 18) * org-md-export-to-markdown: Markdown export. (line 16) * org-meta-return: Structure editing. (line 6) * org-move-subtree-down: Structure editing. (line 56) @@ -20768,7 +21089,7 @@ Command and function index * org-odt-export-to-odt: ODT export commands. (line 6) * org-open-at-point <1>: Creating timestamps. (line 38) * org-open-at-point: Handling links. (line 101) -* org-org-export-as-org: Org export. (line 16) +* org-org-export-as-org: Org export. (line 17) * org-org-export-to-org: Org export. (line 13) * org-paste-subtree: Structure editing. (line 77) * org-previous-link: Handling links. (line 152) @@ -20784,6 +21105,10 @@ Command and function index * org-property-action: Property syntax. (line 92) * org-property-next-allowed-value: Property syntax. (line 100) * org-property-previous-allowed-value: Property syntax. (line 100) +* org-protocol-create: open-source protocol. + (line 67) +* org-protocol-create-for-org: open-source protocol. + (line 67) * org-publish: Triggering publication. (line 8) * org-publish-all: Triggering publication. @@ -20812,6 +21137,7 @@ Command and function index * org-show-todo-tree: TODO basics. (line 38) * org-sort: Structure editing. (line 107) * org-sparse-tree: Sparse trees. (line 15) +* org-speed-command-help: Speed keys. (line 19) * org-speedbar-set-agenda-restriction: Agenda files. (line 57) * org-store-agenda-views: Exporting agenda views. (line 64) @@ -20919,7 +21245,7 @@ Command and function index * org-tags-view <2>: Property searches. (line 12) * org-tags-view: Tag searches. (line 13) * org-texinfo-export-to-info: Texinfo export commands. - (line 9) + (line 8) * org-texinfo-export-to-texinfo: Texinfo export commands. (line 6) * org-time-stamp: Creating timestamps. (line 10) @@ -20981,7 +21307,7 @@ org-customize '. * Menu: * cdlatex-simplify-sub-super-scripts: CDLaTeX mode. (line 33) -* constants-unit-system <1>: In-buffer settings. (line 142) +* constants-unit-system <1>: In-buffer settings. (line 145) * constants-unit-system: References. (line 117) * htmlize-output-type: Exporting agenda views. (line 20) @@ -21012,7 +21338,7 @@ org-customize '. * org-agenda-exporter-settings <1>: Exporting agenda views. (line 13) * org-agenda-exporter-settings: Agenda commands. (line 505) -* org-agenda-files <1>: iCalendar export. (line 37) +* org-agenda-files <1>: iCalendar export. (line 43) * org-agenda-files <2>: Sorting agenda items. (line 8) * org-agenda-files: Agenda files. (line 6) @@ -21096,25 +21422,26 @@ org-customize '. * org-archive-location: Moving subtrees. (line 10) * org-archive-save-context-info: Moving subtrees. (line 41) * org-ascii-links-to-notes: ASCII/Latin-1/UTF-8 export. - (line 14) + (line 16) * org-ascii-text-width: ASCII/Latin-1/UTF-8 export. - (line 11) + (line 13) * org-attach-directory: Attachments. (line 6) * org-attach-method: Attachments. (line 32) * org-babel-default-header-args <1>: Header arguments in Org mode properties. (line 31) * org-babel-default-header-args: System-wide header arguments. (line 6) +* org-babel-load-languages: Languages. (line 35) * org-beamer-environments-default: Sectioning Frames and Blocks in Beamer. - (line 19) + (line 21) * org-beamer-environments-extra: Sectioning Frames and Blocks in Beamer. - (line 19) + (line 21) * org-beamer-frame-level: Sectioning Frames and Blocks in Beamer. (line 10) * org-beamer-subtitle-format: Beamer specific export settings. - (line 43) + (line 44) * org-beamer-theme: Beamer specific export settings. - (line 10) + (line 11) * org-calc-default-modes: Formula syntax for Calc. (line 14) * org-capture-bookmark: Using capture. (line 50) @@ -21153,7 +21480,7 @@ org-customize '. * org-cycle-emulate-tab: Global and local cycling. (line 16) * org-cycle-global-at-bob: Global and local cycling. - (line 16) + (line 29) * org-cycle-include-plain-lists: Plain lists. (line 69) * org-cycle-open-archived-trees: Internal archiving. (line 12) * org-cycle-separator-lines: Headlines. (line 26) @@ -21178,17 +21505,15 @@ org-customize '. (line 6) * org-emphasis-regexp-components: Emphasis and monospace. (line 6) -* org-enable-table-editor: Built-in table editor. - (line 30) * org-enforce-todo-dependencies: TODO dependencies. (line 6) * org-entities-user: Special symbols. (line 16) * org-execute-file-search-functions: Custom searches. (line 12) * org-export-allow-bind-keywords: Export settings. (line 210) * org-export-async-init-file: The export dispatcher. - (line 24) + (line 28) * org-export-backends <1>: Other built-in back-ends. (line 6) -* org-export-backends: Exporting. (line 38) +* org-export-backends: Exporting. (line 42) * org-export-before-parsing-hook: Advanced configuration. (line 9) * org-export-before-processing-hook: Advanced configuration. @@ -21200,13 +21525,13 @@ org-customize '. * org-export-default-language: Export settings. (line 38) * org-export-dispatch-use-expert-ui: The export dispatcher. (line 6) -* org-export-exclude-tags: Export settings. (line 51) +* org-export-exclude-tags: Export settings. (line 52) * org-export-global-macros: Macro replacement. (line 6) -* org-export-headline-levels: Export settings. (line 140) +* org-export-headline-levels: Export settings. (line 141) * org-export-in-background: The export dispatcher. - (line 33) + (line 39) * org-export-initial-scope: The export dispatcher. - (line 43) + (line 48) * org-export-preserve-breaks: Export settings. (line 93) * org-export-select-tags: Export settings. (line 44) * org-export-time-stamp-file <1>: HTML preamble and postamble. @@ -21214,31 +21539,31 @@ org-customize '. * org-export-time-stamp-file: Export settings. (line 185) * org-export-use-babel: Exporting code blocks. (line 36) -* org-export-with-archived-trees <1>: Export settings. (line 101) +* org-export-with-archived-trees <1>: Export settings. (line 102) * org-export-with-archived-trees: Internal archiving. (line 28) -* org-export-with-author: Export settings. (line 106) -* org-export-with-broken-links: Export settings. (line 110) -* org-export-with-clocks: Export settings. (line 115) -* org-export-with-creator: Export settings. (line 118) -* org-export-with-date: Export settings. (line 126) -* org-export-with-drawers <1>: Export settings. (line 122) +* org-export-with-author: Export settings. (line 107) +* org-export-with-broken-links: Export settings. (line 111) +* org-export-with-clocks: Export settings. (line 116) +* org-export-with-creator: Export settings. (line 119) +* org-export-with-date: Export settings. (line 127) +* org-export-with-drawers <1>: Export settings. (line 123) * org-export-with-drawers: Drawers. (line 38) -* org-export-with-email: Export settings. (line 133) -* org-export-with-entities: Export settings. (line 130) +* org-export-with-email: Export settings. (line 134) +* org-export-with-entities: Export settings. (line 131) * org-export-with-fixed-width: Export settings. (line 86) -* org-export-with-footnotes: Export settings. (line 137) -* org-export-with-inlinetasks: Export settings. (line 145) +* org-export-with-footnotes: Export settings. (line 138) +* org-export-with-inlinetasks: Export settings. (line 146) * org-export-with-latex <1>: Export settings. (line 181) * org-export-with-latex: LaTeX fragments. (line 38) -* org-export-with-planning: Export settings. (line 156) +* org-export-with-planning: Export settings. (line 155) * org-export-with-priority: Export settings. (line 161) * org-export-with-properties <1>: Export settings. (line 164) * org-export-with-properties: Drawers. (line 38) -* org-export-with-section-numbers: Export settings. (line 148) +* org-export-with-section-numbers: Export settings. (line 149) * org-export-with-smart-quotes: Export settings. (line 73) * org-export-with-special-strings: Export settings. (line 82) * org-export-with-statistics-cookies: Export settings. (line 168) -* org-export-with-sub-superscripts: Export settings. (line 96) +* org-export-with-sub-superscripts: Export settings. (line 97) * org-export-with-tables: Export settings. (line 200) * org-export-with-tags: Export settings. (line 172) * org-export-with-tasks: Export settings. (line 176) @@ -21254,11 +21579,11 @@ org-customize '. * org-file-apps: Handling links. (line 104) * org-fontify-emphasized-text: Emphasis and monospace. (line 6) -* org-footnote-auto-adjust <1>: In-buffer settings. (line 147) +* org-footnote-auto-adjust <1>: In-buffer settings. (line 150) * org-footnote-auto-adjust: Footnotes. (line 48) -* org-footnote-auto-label <1>: In-buffer settings. (line 147) +* org-footnote-auto-label <1>: In-buffer settings. (line 150) * org-footnote-auto-label: Footnotes. (line 34) -* org-footnote-define-inline <1>: In-buffer settings. (line 147) +* org-footnote-define-inline <1>: In-buffer settings. (line 150) * org-footnote-define-inline: Footnotes. (line 48) * org-footnote-section <1>: Footnotes. (line 48) * org-footnote-section: Headlines. (line 18) @@ -21276,36 +21601,36 @@ org-customize '. * org-hide (face): Clean view. (line 70) * org-hide-block-startup: Blocks. (line 6) * org-hide-leading-stars <1>: Clean view. (line 55) -* org-hide-leading-stars: In-buffer settings. (line 126) +* org-hide-leading-stars: In-buffer settings. (line 129) * org-hierarchical-todo-statistics: Breaking down tasks. (line 25) * org-highest-priority <1>: In-buffer settings. (line 45) * org-highest-priority: Priorities. (line 37) * org-html-container-element: HTML Specific export settings. - (line 17) + (line 19) * org-html-doctype <1>: HTML doctypes. (line 8) * org-html-doctype: HTML Specific export settings. - (line 14) + (line 16) * org-html-doctype-alist: HTML doctypes. (line 8) * org-html-head <1>: CSS support. (line 43) * org-html-head: HTML Specific export settings. - (line 32) + (line 35) * org-html-head-extra <1>: CSS support. (line 43) * org-html-head-extra: HTML Specific export settings. - (line 36) + (line 39) * org-html-head-include-default-style: CSS support. (line 43) -* org-html-html5-elements: HTML doctypes. (line 69) -* org-html-html5-fancy: HTML doctypes. (line 36) -* org-html-infojs-options: JavaScript support. (line 54) +* org-html-html5-elements: HTML doctypes. (line 66) +* org-html-html5-fancy: HTML doctypes. (line 33) +* org-html-infojs-options: JavaScript support. (line 51) * org-html-inline-images: Images in HTML export. (line 6) * org-html-link-home: HTML Specific export settings. - (line 21) + (line 23) * org-html-link-org-files-as-html: Links in HTML export. (line 6) * org-html-link-up: HTML Specific export settings. - (line 24) + (line 26) * org-html-mathjax-options: HTML Specific export settings. - (line 27) + (line 30) * org-html-postamble: HTML preamble and postamble. (line 6) * org-html-postamble-format: HTML preamble and postamble. @@ -21316,30 +21641,30 @@ org-customize '. (line 6) * org-html-style-default: CSS support. (line 43) * org-html-table-align-individual-fields: Tables in HTML export. - (line 20) + (line 19) * org-html-table-caption-above: Tables in HTML export. - (line 24) + (line 23) * org-html-table-data-tags: Tables in HTML export. - (line 27) + (line 26) * org-html-table-default-attributes: Tables in HTML export. (line 6) * org-html-table-header-tags: Tables in HTML export. - (line 33) + (line 32) * org-html-table-row-tags: Tables in HTML export. - (line 36) + (line 35) * org-html-table-use-header-tags-for-first-column: Tables in HTML export. - (line 39) + (line 38) * org-html-tag-class-prefix: CSS support. (line 6) * org-html-todo-kwd-class-prefix: CSS support. (line 6) -* org-html-use-infojs: JavaScript support. (line 54) +* org-html-use-infojs: JavaScript support. (line 51) * org-html-validation-link: HTML preamble and postamble. (line 6) * org-icalendar-alarm-time: iCalendar export. (line 6) * org-icalendar-categories: iCalendar export. (line 6) -* org-icalendar-combined-agenda-file: iCalendar export. (line 42) -* org-icalendar-include-body: iCalendar export. (line 46) +* org-icalendar-combined-agenda-file: iCalendar export. (line 47) +* org-icalendar-include-body: iCalendar export. (line 51) * org-icalendar-include-todo: iCalendar export. (line 6) -* org-icalendar-store-UID: iCalendar export. (line 21) +* org-icalendar-store-UID: iCalendar export. (line 26) * org-icalendar-use-deadline: iCalendar export. (line 6) * org-icalendar-use-scheduled: iCalendar export. (line 6) * org-id-link-to-org-use-id: Handling links. (line 21) @@ -21352,44 +21677,44 @@ org-customize '. * org-latex-classes <1>: LaTeX header and sectioning. (line 13) * org-latex-classes: LaTeX specific export settings. - (line 17) + (line 20) * org-latex-compiler <1>: LaTeX specific export settings. - (line 25) + (line 32) * org-latex-compiler: LaTeX export commands. (line 21) * org-latex-default-class <1>: LaTeX header and sectioning. (line 13) * org-latex-default-class: LaTeX specific export settings. - (line 17) + (line 20) * org-latex-default-packages-alist <1>: LaTeX header and sectioning. (line 13) * org-latex-default-packages-alist: LaTeX export commands. (line 21) * org-latex-default-table-environment: Tables in LaTeX export. - (line 19) + (line 22) * org-latex-default-table-mode: Tables in LaTeX export. (line 11) * org-latex-images-centered: Images in LaTeX export. - (line 52) + (line 50) * org-latex-listings: Literal examples. (line 23) * org-latex-listings-options: Source blocks in LaTeX export. - (line 26) + (line 23) * org-latex-minted-options: Source blocks in LaTeX export. - (line 26) + (line 23) * org-latex-packages-alist: LaTeX header and sectioning. (line 13) * org-latex-subtitle-format: LaTeX specific export settings. - (line 46) + (line 55) * org-latex-subtitle-separate: LaTeX specific export settings. - (line 46) -* org-latex-tables-booktabs: Tables in LaTeX export. (line 55) +* org-latex-tables-booktabs: Tables in LaTeX export. + (line 64) * org-latex-tables-centered: Tables in LaTeX export. - (line 55) + (line 64) * org-latex-to-mathml-convert-command: Working with LaTeX math snippets. - (line 20) + (line 21) * org-latex-to-mathml-jar-file: Working with LaTeX math snippets. - (line 20) + (line 21) * org-link-abbrev-alist <1>: In-buffer settings. (line 40) * org-link-abbrev-alist: Link abbreviations. (line 12) * org-link-frame-setup: Handling links. (line 104) @@ -21398,20 +21723,19 @@ org-customize '. * org-list-automatic-rules <1>: Checkboxes. (line 6) * org-list-automatic-rules: Plain lists. (line 62) * org-list-demote-modify-bullet: Plain lists. (line 56) -* org-list-empty-line-terminates-plain-lists: Plain lists. (line 30) * org-list-indent-offset: Plain lists. (line 56) * org-list-use-circular-motion: Plain lists. (line 94) -* org-log-done <1>: In-buffer settings. (line 101) +* org-log-done <1>: In-buffer settings. (line 104) * org-log-done <2>: Agenda commands. (line 118) * org-log-done: Tracking TODO state changes. (line 29) * org-log-into-drawer <1>: Agenda commands. (line 295) * org-log-into-drawer: Tracking TODO state changes. (line 6) -* org-log-note-clock-out <1>: In-buffer settings. (line 101) +* org-log-note-clock-out <1>: In-buffer settings. (line 104) * org-log-note-clock-out: Clocking commands. (line 37) * org-log-refile: Refile and copy. (line 17) -* org-log-repeat <1>: In-buffer settings. (line 101) +* org-log-repeat <1>: In-buffer settings. (line 104) * org-log-repeat: Repeated tasks. (line 37) * org-log-states-order-reversed: Tracking TODO state changes. (line 6) @@ -21419,38 +21743,38 @@ org-customize '. * org-lowest-priority: Priorities. (line 37) * org-M-RET-may-split-line <1>: Plain lists. (line 82) * org-M-RET-may-split-line: Structure editing. (line 7) -* org-md-headline-style: Markdown export. (line 30) +* org-md-headline-style: Markdown export. (line 29) * org-odd-levels-only <1>: Special agenda views. (line 41) * org-odd-levels-only <2>: Clean view. (line 75) -* org-odd-levels-only <3>: In-buffer settings. (line 126) +* org-odd-levels-only <3>: In-buffer settings. (line 129) * org-odd-levels-only: Matching tags and properties. (line 72) * org-odt-category-map-alist: Labels and captions in ODT export. - (line 25) + (line 21) * org-odt-convert: Extending ODT export. - (line 39) + (line 36) * org-odt-convert-capabilities: Configuring a document converter. - (line 20) + (line 18) * org-odt-convert-process: Configuring a document converter. - (line 30) + (line 25) * org-odt-convert-processes: Configuring a document converter. - (line 13) + (line 12) * org-odt-create-custom-styles-for-srcblocks: Literal examples in ODT export. - (line 17) + (line 16) * org-odt-fontify-srcblocks: Literal examples in ODT export. (line 13) * org-odt-pixels-per-inch: Images in ODT export. - (line 33) + (line 34) * org-odt-preferred-output-format <1>: Extending ODT export. - (line 22) + (line 21) * org-odt-preferred-output-format: ODT export commands. (line 9) * org-odt-schema-dir: Validating OpenDocument XML. - (line 16) + (line 14) * org-odt-styles-file <1>: Applying custom styles. - (line 28) + (line 25) * org-odt-styles-file: ODT specific export settings. - (line 19) + (line 22) * org-odt-table-styles: Customizing tables in ODT export. (line 13) * org-outline-path-complete-in-steps: Refile and copy. (line 17) @@ -21464,11 +21788,14 @@ org-customize '. * org-priority-start-cycle-with-default: Priorities. (line 32) * org-property-allowed-value-functions: Using the property API. (line 68) +* org-protocol-default-template-key: capture protocol. (line 22) +* org-protocol-project-alist: open-source protocol. + (line 13) * org-publish-project-alist <1>: Publishing options. (line 13) * org-publish-project-alist: Project alist. (line 6) * org-publish-use-timestamps-flag: Triggering publication. (line 21) -* org-put-time-stamp-overlays: In-buffer settings. (line 137) +* org-put-time-stamp-overlays: In-buffer settings. (line 140) * org-read-date-display-live: The date/time prompt. (line 91) * org-read-date-force-compatible-dates: The date/time prompt. @@ -21493,18 +21820,18 @@ org-customize '. * org-sparse-tree-open-archived-trees: Internal archiving. (line 18) * org-special-ctrl-a/e: Headlines. (line 6) * org-special-ctrl-k: Headlines. (line 6) -* org-speed-commands-user: Speed keys. (line 6) -* org-startup-align-all-tables <1>: In-buffer settings. (line 81) +* org-speed-commands-user: Speed keys. (line 19) +* org-startup-align-all-tables <1>: In-buffer settings. (line 84) * org-startup-align-all-tables: Column width and alignment. (line 33) * org-startup-folded <1>: Speeding up your agendas. (line 18) -* org-startup-folded <2>: In-buffer settings. (line 71) +* org-startup-folded <2>: In-buffer settings. (line 74) * org-startup-folded: Initial visibility. (line 6) -* org-startup-indented: In-buffer settings. (line 76) -* org-startup-with-inline-images <1>: In-buffer settings. (line 88) +* org-startup-indented: In-buffer settings. (line 79) +* org-startup-with-inline-images <1>: In-buffer settings. (line 91) * org-startup-with-inline-images: Handling links. (line 136) -* org-startup-with-latex-preview <1>: In-buffer settings. (line 94) +* org-startup-with-latex-preview <1>: In-buffer settings. (line 97) * org-startup-with-latex-preview: Previewing LaTeX fragments. (line 28) * org-store-link-functions: Adding hyperlink types. @@ -21527,7 +21854,7 @@ org-customize '. * org-table-use-standard-references <1>: Editing and debugging formulas. (line 6) * org-table-use-standard-references: References. (line 17) -* org-tag-alist <1>: In-buffer settings. (line 171) +* org-tag-alist <1>: In-buffer settings. (line 174) * org-tag-alist: Setting tags. (line 23) * org-tag-faces: Tags. (line 10) * org-tag-persistent-alist: Setting tags. (line 38) @@ -21540,24 +21867,24 @@ org-customize '. * org-tags-match-list-sublevels: Tag inheritance. (line 26) * org-texinfo-classes <1>: Headings and sectioning structure. (line 6) -* org-texinfo-classes: Texinfo file header. (line 12) -* org-texinfo-coding-system: Texinfo file header. (line 12) -* org-texinfo-def-table-markup: Plain lists in Texinfo export. - (line 10) +* org-texinfo-classes: Texinfo file header. (line 11) +* org-texinfo-coding-system: Texinfo file header. (line 11) * org-texinfo-default-class <1>: Headings and sectioning structure. (line 6) * org-texinfo-default-class: Texinfo specific export settings. - (line 19) + (line 20) * org-texinfo-info-process: Texinfo export commands. (line 6) +* org-texinfo-table-default-markup: Plain lists in Texinfo export. + (line 12) * org-time-stamp-custom-formats: Custom time format. (line 6) -* org-time-stamp-overlay-formats: In-buffer settings. (line 137) +* org-time-stamp-overlay-formats: In-buffer settings. (line 140) * org-time-stamp-rounding-minutes: Creating timestamps. (line 23) * org-todo (face): Faces for TODO keywords. (line 6) * org-todo-keyword-faces: Faces for TODO keywords. (line 6) -* org-todo-keywords <1>: In-buffer settings. (line 189) +* org-todo-keywords <1>: In-buffer settings. (line 192) * org-todo-keywords <2>: Global TODO list. (line 18) * org-todo-keywords <3>: TODO extensions. (line 6) * org-todo-keywords: TODO basics. (line 41) @@ -21574,10 +21901,10 @@ org-customize '. (line 18) * org-use-property-inheritance <2>: Header arguments in Org mode properties. (line 17) -* org-use-property-inheritance <3>: iCalendar export. (line 46) +* org-use-property-inheritance <3>: iCalendar export. (line 51) * org-use-property-inheritance: Property inheritance. (line 6) -* org-use-speed-commands: Speed keys. (line 6) +* org-use-speed-commands: Speed keys. (line 14) * org-use-sub-superscripts: Subscripts and superscripts. (line 14) * org-use-tag-inheritance: Tag inheritance. (line 22) @@ -21598,533 +21925,508 @@ org-customize '.  Tag Table: -Node: Top900 -Node: Introduction24537 -Node: Summary24978 -Node: Installation27674 -Node: Activation30370 -Ref: Activation-Footnote-131890 -Node: Feedback32012 -Ref: Feedback-Footnote-135667 -Node: Conventions35794 -Node: Document structure37831 -Node: Outlines38822 -Node: Headlines39451 -Ref: Headlines-Footnote-140653 -Ref: Headlines-Footnote-240829 -Node: Visibility cycling40900 -Node: Global and local cycling41279 -Ref: Global and local cycling-Footnote-143963 -Ref: Global and local cycling-Footnote-244021 -Ref: Global and local cycling-Footnote-344071 -Node: Initial visibility44340 -Ref: Initial visibility-Footnote-145375 -Node: Catching invisible edits45556 -Node: Motion46021 -Node: Structure editing47348 -Node: Sparse trees53950 -Ref: Sparse trees-Footnote-156460 -Ref: Sparse trees-Footnote-256571 -Node: Plain lists56642 -Ref: Plain lists-Footnote-164057 -Ref: Plain lists-Footnote-264411 -Ref: Plain lists-Footnote-364507 -Ref: Plain lists-Footnote-464754 -Ref: Plain lists-Footnote-564925 -Ref: Plain lists-Footnote-664988 -Ref: Plain lists-Footnote-765088 -Ref: Plain lists-Footnote-865190 -Node: Drawers65256 -Ref: Drawers-Footnote-167120 -Node: Blocks67256 -Node: Footnotes67815 -Ref: Footnotes-Footnote-171759 -Ref: Footnotes-Footnote-271856 -Node: Orgstruct mode71933 -Node: Org syntax73563 -Node: Tables74536 -Node: Built-in table editor75177 -Ref: Built-in table editor-Footnote-184929 -Node: Column width and alignment85029 -Ref: Column width and alignment-Footnote-187590 -Node: Column groups87687 -Node: Orgtbl mode89258 -Node: The spreadsheet90067 -Node: References91527 -Ref: References-Footnote-198245 -Ref: References-Footnote-298467 -Ref: References-Footnote-398736 -Ref: References-Footnote-498849 -Node: Formula syntax for Calc99139 -Ref: Formula syntax for Calc-Footnote-1104286 -Node: Formula syntax for Lisp104610 -Node: Durations and time values106345 -Node: Field and range formulas107423 -Node: Column formulas109820 -Node: Lookup functions111908 -Node: Editing and debugging formulas113831 -Ref: Using multiple #+TBLFM lines118092 -Ref: Editing and debugging formulas-Footnote-1119341 -Node: Updating the table119477 -Node: Advanced features120833 -Ref: Advanced features-Footnote-1125314 -Node: Org-Plot125420 -Node: Hyperlinks129614 -Node: Link format130371 -Node: Internal links131630 -Ref: Internal links-Footnote-1133925 -Ref: Internal links-Footnote-2134165 -Node: Radio targets134303 -Node: External links134970 -Ref: External links-Footnote-1138894 -Ref: External links-Footnote-2139312 -Node: Handling links139568 -Ref: Handling links-Footnote-1147432 -Ref: Handling links-Footnote-2147591 -Ref: Handling links-Footnote-3147773 -Ref: Handling links-Footnote-4148068 -Ref: Handling links-Footnote-5148314 -Ref: Handling links-Footnote-6148433 -Ref: Handling links-Footnote-7148505 -Node: Using links outside Org148589 -Node: Link abbreviations149074 -Node: Search options151843 -Ref: Search options-Footnote-1153725 -Node: Custom searches153806 -Node: TODO items154816 -Ref: TODO items-Footnote-1155924 -Node: TODO basics156038 -Node: TODO extensions158862 -Node: Workflow states159892 -Ref: Workflow states-Footnote-1161193 -Node: TODO types161286 -Ref: TODO types-Footnote-1162884 -Node: Multiple sets in one file162953 -Node: Fast access to TODO states164807 -Ref: Fast access to TODO states-Footnote-1165680 -Ref: Fast access to TODO states-Footnote-2165764 -Node: Per-file keywords166057 -Ref: Per-file keywords-Footnote-1167428 -Node: Faces for TODO keywords167629 -Node: TODO dependencies168670 -Node: Progress logging171005 -Node: Closing items171717 -Ref: Closing items-Footnote-1172694 -Ref: Closing items-Footnote-2172763 -Node: Tracking TODO state changes172837 -Ref: Tracking TODO state changes-Footnote-1175873 -Ref: Tracking TODO state changes-Footnote-2175928 -Ref: Tracking TODO state changes-Footnote-3176068 -Node: Tracking your habits176356 -Node: Priorities180590 -Ref: Priorities-Footnote-1182562 -Node: Breaking down tasks182631 -Ref: Breaking down tasks-Footnote-1184610 -Node: Checkboxes184706 -Ref: Checkboxes-Footnote-1189333 -Ref: Checkboxes-Footnote-2189457 -Ref: Checkboxes-Footnote-3189631 -Node: Tags189751 -Node: Tag inheritance190807 -Ref: Tag inheritance-Footnote-1192622 -Ref: Tag inheritance-Footnote-2192722 -Node: Setting tags192848 -Ref: Setting tags-Footnote-1199159 -Node: Tag hierarchy199242 -Node: Tag searches202610 -Node: Properties and columns203892 -Node: Property syntax205328 -Node: Special properties209670 -Node: Property searches211315 -Node: Property inheritance212750 -Node: Column view214566 -Node: Defining columns215801 -Node: Scope of column definitions216179 -Node: Column attributes217084 -Ref: Column attributes-Footnote-1221878 -Ref: Column attributes-Footnote-2222034 -Ref: Column attributes-Footnote-3222247 -Ref: Column attributes-Footnote-4222530 -Node: Using column view222663 -Node: Capturing column view225588 -Ref: Capturing column view-Footnote-1228665 -Node: Property API228801 -Node: Dates and times229155 -Node: Timestamps230062 -Ref: Timestamps-Footnote-1232462 -Ref: Timestamps-Footnote-2232648 -Ref: Timestamps-Footnote-3232779 -Node: Creating timestamps233548 -Node: The date/time prompt236372 -Ref: The date/time prompt-Footnote-1240954 -Ref: The date/time prompt-Footnote-2241117 -Ref: The date/time prompt-Footnote-3241223 -Node: Custom time format241317 -Node: Deadlines and scheduling243039 -Ref: Deadlines and scheduling-Footnote-1246519 -Node: Inserting deadline/schedule246674 -Ref: Inserting deadline/schedule-Footnote-1248474 -Ref: Inserting deadline/schedule-Footnote-2248582 -Node: Repeated tasks248690 -Ref: Repeated tasks-Footnote-1253093 -Ref: Repeated tasks-Footnote-2253342 -Node: Clocking work time253541 -Ref: Clocking work time-Footnote-1254726 -Ref: Clocking work time-Footnote-2254870 -Node: Clocking commands255008 -Ref: Clocking commands-Footnote-1259913 -Ref: Clocking commands-Footnote-2260020 -Ref: Clocking commands-Footnote-3260070 -Ref: Clocking commands-Footnote-4260128 -Node: The clock table260206 -Ref: The clock table-Footnote-1267741 -Ref: The clock table-Footnote-2267835 -Node: Resolving idle time267960 -Ref: Resolving idle time-Footnote-1271807 -Node: Effort estimates272275 -Ref: Effort estimates-Footnote-1275028 -Node: Timers275135 -Node: Capture - Refile - Archive277427 -Node: Capture278417 -Node: Setting up capture279485 -Ref: Setting up capture-Footnote-1279894 -Node: Using capture279960 -Node: Capture templates282368 -Node: Template elements284333 -Ref: Template elements-Footnote-1290910 -Ref: Template elements-Footnote-2291227 -Node: Template expansion291414 -Ref: Template expansion-Footnote-1295404 -Ref: Template expansion-Footnote-2295491 -Ref: Template expansion-Footnote-3295673 -Node: Templates in contexts295771 -Node: Attachments296593 -Ref: Attachments-Footnote-1300040 -Node: RSS feeds300190 -Node: Protocols301667 -Node: Refile and copy302382 -Ref: Refile and copy-Footnote-1304804 -Node: Archiving304900 -Node: Moving subtrees305600 -Node: Internal archiving307624 -Node: Agenda views310256 -Node: Agenda files312584 -Ref: Agenda files-Footnote-1315387 -Ref: Agenda files-Footnote-2315536 -Node: Agenda dispatcher315729 -Ref: Agenda dispatcher-Footnote-1318560 -Ref: Agenda dispatcher-Footnote-2318654 -Node: Built-in agenda views318756 -Node: Weekly/daily agenda319340 -Ref: Weekly/daily agenda-Footnote-1325074 -Ref: Weekly/daily agenda-Footnote-2325301 -Node: Global TODO list325476 -Node: Matching tags and properties328004 -Node: Search view334956 -Node: Stuck projects336269 -Ref: Stuck projects-Footnote-1338329 -Node: Presentation and sorting338359 -Node: Categories339316 -Node: Time-of-day specifications340045 -Node: Sorting agenda items342014 -Node: Filtering/limiting agenda items343583 -Ref: Filtering/limiting agenda items-Footnote-1350731 -Node: Agenda commands351146 -Ref: Agenda commands-Footnote-1372137 -Ref: Agenda commands-Footnote-2372218 -Ref: Agenda commands-Footnote-3372337 -Ref: Agenda commands-Footnote-4372437 -Node: Custom agenda views372520 -Node: Storing searches373161 -Ref: Storing searches-Footnote-1376113 -Ref: Storing searches-Footnote-2376230 -Node: Block agenda376478 -Node: Setting options377716 -Node: Exporting agenda views381305 -Ref: Exporting agenda views-Footnote-1386206 -Ref: Exporting agenda views-Footnote-2386264 -Ref: Exporting agenda views-Footnote-3386420 -Ref: Exporting agenda views-Footnote-4386607 -Node: Agenda column view386689 -Node: Markup389761 -Node: Paragraphs390748 -Node: Emphasis and monospace391914 -Node: Horizontal rules392756 -Node: Images and tables393007 -Node: Literal examples394714 -Ref: Literal examples-Footnote-1399223 -Ref: Literal examples-Footnote-2399756 -Ref: Literal examples-Footnote-3399925 -Ref: Literal examples-Footnote-4400104 -Ref: Literal examples-Footnote-5400354 -Node: Special symbols400448 -Ref: Special symbols-Footnote-1402377 -Ref: Special symbols-Footnote-2402532 -Node: Subscripts and superscripts402622 -Node: Embedded LaTeX403726 -Ref: Embedded LaTeX-Footnote-1404540 -Node: LaTeX fragments404730 -Ref: LaTeX fragments-Footnote-1406810 -Node: Previewing LaTeX fragments407033 -Ref: Previewing LaTeX fragments-Footnote-1408462 -Node: CDLaTeX mode408708 -Ref: CDLaTeX mode-Footnote-1411208 -Node: Exporting411356 -Ref: Exporting-Footnote-1413935 -Node: The export dispatcher414045 -Ref: The export dispatcher-Footnote-1416084 -Node: Export settings416347 -Ref: Export settings-Footnote-1423891 -Ref: Export settings-Footnote-2423989 -Ref: Export settings-Footnote-3424091 -Ref: Export settings-Footnote-4424186 -Node: Table of contents424229 -Ref: Table of contents-Footnote-1425980 -Node: Include files426178 -Ref: Include files-Footnote-1429099 -Ref: Include files-Footnote-2429249 -Node: Macro replacement429415 -Ref: Macro replacement-Footnote-1431666 -Node: Comment lines431896 -Ref: Comment lines-Footnote-1432702 -Node: ASCII/Latin-1/UTF-8 export432802 -Node: Beamer export435580 -Node: Beamer export commands436338 -Node: Beamer specific export settings437013 -Node: Sectioning Frames and Blocks in Beamer438797 -Ref: Sectioning Frames and Blocks in Beamer-Footnote-1441753 -Ref: Sectioning Frames and Blocks in Beamer-Footnote-2441916 -Node: Beamer specific syntax442034 -Node: Editing support443665 -Node: A Beamer Example444096 -Node: HTML export445374 -Node: HTML Export commands446518 -Node: HTML Specific export settings447064 -Node: HTML doctypes448849 -Node: HTML preamble and postamble451063 -Node: Quoting HTML tags452111 -Node: Links in HTML export452750 -Node: Tables in HTML export453961 -Node: Images in HTML export455397 -Ref: Images in HTML export-Footnote-1456687 -Node: Math formatting in HTML export456742 -Ref: Math formatting in HTML export-Footnote-1458133 -Node: Text areas in HTML export458393 -Node: CSS support459175 -Ref: CSS support-Footnote-1462347 -Ref: CSS support-Footnote-2462519 -Node: JavaScript support462761 -Node: LaTeX export466142 -Ref: LaTeX export-Footnote-1467428 -Node: LaTeX export commands467672 -Ref: LaTeX export commands-Footnote-1468774 -Node: LaTeX specific export settings468980 -Node: LaTeX header and sectioning471152 -Ref: LaTeX header and sectioning-Footnote-1472785 -Ref: LaTeX header and sectioning-Footnote-2472897 -Node: Quoting LaTeX code473060 -Node: Tables in LaTeX export473660 -Ref: Tables in LaTeX export-Footnote-1477270 -Ref: Tables in LaTeX export-Footnote-2477348 -Ref: Tables in LaTeX export-Footnote-3477422 -Node: Images in LaTeX export477506 -Ref: Images in LaTeX export-Footnote-1480122 -Node: Plain lists in LaTeX export480276 -Node: Source blocks in LaTeX export481392 -Node: Example blocks in LaTeX export482789 -Node: Special blocks in LaTeX export483425 -Node: Horizontal rules in LaTeX export484606 -Node: Markdown export484995 -Ref: Markdown export-Footnote-1486293 -Node: OpenDocument Text export486379 -Ref: OpenDocument Text export-Footnote-1487570 -Node: Pre-requisites for ODT export487714 -Node: ODT export commands488042 -Ref: x-export-to-odt488246 -Ref: ODT export commands-Footnote-1489245 -Ref: ODT export commands-Footnote-2489305 -Node: ODT specific export settings489356 -Node: Extending ODT export490198 -Ref: x-export-to-other-formats491186 -Ref: x-convert-to-other-formats491696 -Node: Applying custom styles492153 -Node: Links in ODT export494277 -Node: Tables in ODT export494924 -Ref: Tables in ODT export-Footnote-1497060 -Node: Images in ODT export497153 -Ref: Images in ODT export-Footnote-1499879 -Node: Math formatting in ODT export500112 -Node: Working with LaTeX math snippets500576 -Ref: Working with LaTeX math snippets-Footnote-1502795 -Ref: Working with LaTeX math snippets-Footnote-2502871 -Node: Working with MathML or OpenDocument formula files502916 -Node: Labels and captions in ODT export503470 -Node: Literal examples in ODT export504928 -Node: Advanced topics in ODT export505792 -Node: Configuring a document converter506548 -Ref: x-odt-converter-capabilities507320 -Node: Working with OpenDocument style files507901 -Ref: x-factory-styles508377 -Ref: x-orgodtstyles-xml508615 -Ref: x-orgodtcontenttemplate-xml508942 -Ref: x-overriding-factory-styles509598 -Ref: x-org-odt-styles-file509878 -Ref: x-org-odt-content-template-file510759 -Node: Creating one-off styles510900 -Node: Customizing tables in ODT export513121 -Ref: Customizing tables in ODT export-Footnote-1518098 -Ref: Customizing tables in ODT export-Footnote-2518202 -Ref: Customizing tables in ODT export-Footnote-3518290 -Node: Validating OpenDocument XML518605 -Ref: Validating OpenDocument XML-Footnote-1519604 -Node: Org export519656 -Node: Texinfo export520420 -Node: Texinfo export commands521520 -Ref: Texinfo export commands-Footnote-1522055 -Node: Texinfo specific export settings522163 -Node: Texinfo file header523197 -Ref: Texinfo file header-Footnote-1524199 -Node: Texinfo title and copyright page524261 -Node: Texinfo `Top' node525734 -Node: Headings and sectioning structure526473 -Node: Indices527928 -Node: Quoting Texinfo code528721 -Node: Plain lists in Texinfo export529213 -Ref: Plain lists in Texinfo export-Footnote-1529969 -Node: Tables in Texinfo export530035 -Node: Images in Texinfo export530497 -Node: Special blocks in Texinfo export530993 -Node: A Texinfo example531569 -Node: iCalendar export533588 -Ref: iCalendar export-Footnote-1536320 -Ref: iCalendar export-Footnote-2536410 -Ref: iCalendar export-Footnote-3536510 -Node: Other built-in back-ends536647 -Node: Advanced configuration537237 -Node: Export in foreign buffers544212 -Node: Publishing545169 -Node: Configuration546037 -Node: Project alist546800 -Node: Sources and destinations547941 -Node: Selecting files549464 -Node: Publishing action550465 -Ref: Publishing action-Footnote-1552294 -Node: Publishing options552451 -Node: Publishing links565601 -Node: Sitemap566953 -Node: Generating an index570681 -Node: Uploading files571463 -Node: Sample configuration573227 -Node: Simple example573716 -Node: Complex example574363 -Node: Triggering publication576414 -Node: Working with source code577410 -Node: Structure of code blocks581860 -Node: Editing source code584347 -Node: Exporting code blocks587106 -Node: Extracting source code589711 -Node: Evaluating code blocks592155 -Ref: Evaluating code blocks-Footnote-1595276 -Ref: Evaluating code blocks-Footnote-2595402 -Node: Library of Babel595588 -Node: Languages596267 -Node: Header arguments598664 -Node: Using header arguments599021 -Node: System-wide header arguments599827 -Node: Language-specific header arguments600522 -Node: Header arguments in Org mode properties601042 -Node: Language-specific mode properties602485 -Node: Code block specific header arguments603305 -Node: Arguments in function calls604956 -Node: Specific header arguments605716 -Node: var608398 -Node: results614980 -Node: file618879 -Node: file-desc619544 -Node: file-ext619942 -Node: output-dir620359 -Node: dir620757 -Node: exports622878 -Node: tangle623750 -Node: mkdirp624595 -Node: comments624909 -Node: padline625865 -Node: no-expand626256 -Node: session626968 -Node: noweb628045 -Node: noweb-ref629843 -Node: noweb-sep630931 -Node: cache631235 -Node: sep633833 -Node: hlines634224 -Node: colnames635706 -Node: rownames637110 -Node: shebang638299 -Node: tangle-mode638777 -Node: eval639561 -Node: wrap640545 -Node: post640852 -Node: prologue642587 -Node: epilogue643083 -Node: Results of evaluation643341 -Node: Noweb reference syntax647062 -Node: Key bindings and useful functions648582 -Node: Batch execution650621 -Node: Miscellaneous651659 -Node: Completion652498 -Node: Easy templates654541 -Node: Speed keys655726 -Node: Code evaluation security656734 -Node: Customization659539 -Node: In-buffer settings659965 -Node: The very busy C-c C-c key669192 -Node: Clean view671023 -Ref: Clean view-Footnote-1674422 -Ref: Clean view-Footnote-2674645 -Ref: Clean view-Footnote-3674700 -Node: TTY keys674772 -Node: Interaction676197 -Node: Cooperation676594 -Node: Conflicts679313 -Node: org-crypt683822 -Node: Hacking685074 -Node: Hooks686060 -Node: Add-on packages686378 -Node: Adding hyperlink types686906 -Node: Adding export back-ends690267 -Node: Context-sensitive commands691487 -Node: Tables in arbitrary syntax692168 -Node: Radio tables693831 -Node: A LaTeX example695904 -Ref: A LaTeX example-Footnote-1699617 -Ref: A LaTeX example-Footnote-2699783 -Node: Translator functions700218 -Node: Radio lists702324 -Node: Dynamic blocks703474 -Node: Special agenda views705520 -Ref: x-agenda-skip-entry-regexp708345 -Ref: Special agenda views-Footnote-1709110 -Ref: Special agenda views-Footnote-2709305 -Node: Speeding up your agendas709433 -Node: Extracting agenda information710477 -Node: Using the property API714301 -Node: Using the mapping API717626 -Node: MobileOrg721593 -Node: Setting up the staging area723153 -Ref: Setting up the staging area-Footnote-1724355 -Ref: Setting up the staging area-Footnote-2724524 -Node: Pushing to MobileOrg724731 -Ref: Pushing to MobileOrg-Footnote-1725610 -Ref: Pushing to MobileOrg-Footnote-2725696 -Ref: Pushing to MobileOrg-Footnote-3726055 -Node: Pulling from MobileOrg726127 -Ref: Pulling from MobileOrg-Footnote-1728147 -Node: History and acknowledgments728207 -Node: GNU Free Documentation License743392 -Node: Main Index768582 -Node: Key Index859819 -Node: Command and Function Index912407 -Node: Variable Index947358 +Node: Top892 +Node: Introduction24390 +Node: Summary24831 +Node: Installation27528 +Node: Activation30224 +Ref: Activation-Footnote-131744 +Node: Feedback31866 +Ref: Feedback-Footnote-135483 +Node: Conventions35610 +Node: Document structure37647 +Node: Outlines38638 +Node: Headlines39267 +Ref: Headlines-Footnote-140469 +Ref: Headlines-Footnote-240645 +Node: Visibility cycling40716 +Node: Global and local cycling41095 +Ref: Global and local cycling-Footnote-143722 +Ref: Global and local cycling-Footnote-243780 +Node: Initial visibility44049 +Ref: Initial visibility-Footnote-145084 +Node: Catching invisible edits45265 +Node: Motion45730 +Node: Structure editing47057 +Node: Sparse trees53659 +Ref: Sparse trees-Footnote-156169 +Ref: Sparse trees-Footnote-256280 +Node: Plain lists56351 +Ref: Plain lists-Footnote-163763 +Ref: Plain lists-Footnote-264117 +Ref: Plain lists-Footnote-364213 +Ref: Plain lists-Footnote-464460 +Ref: Plain lists-Footnote-564631 +Ref: Plain lists-Footnote-664731 +Ref: Plain lists-Footnote-764833 +Node: Drawers64899 +Ref: Drawers-Footnote-166763 +Node: Blocks66899 +Node: Footnotes67458 +Ref: Footnotes-Footnote-171402 +Ref: Footnotes-Footnote-271499 +Node: Orgstruct mode71576 +Node: Org syntax73206 +Node: Tables74179 +Node: Built-in table editor74820 +Ref: Built-in table editor-Footnote-184541 +Node: Column width and alignment84641 +Ref: Column width and alignment-Footnote-187202 +Node: Column groups87299 +Node: Orgtbl mode88870 +Node: The spreadsheet89679 +Node: References91139 +Ref: References-Footnote-197857 +Ref: References-Footnote-298079 +Ref: References-Footnote-398348 +Ref: References-Footnote-498461 +Node: Formula syntax for Calc98751 +Ref: Formula syntax for Calc-Footnote-1103903 +Node: Formula syntax for Lisp104227 +Node: Durations and time values105962 +Node: Field and range formulas107338 +Node: Column formulas109735 +Node: Lookup functions111823 +Node: Editing and debugging formulas113746 +Ref: Using multiple #+TBLFM lines118007 +Ref: Editing and debugging formulas-Footnote-1119256 +Node: Updating the table119392 +Node: Advanced features120748 +Ref: Advanced features-Footnote-1125229 +Node: Org-Plot125335 +Node: Hyperlinks129529 +Node: Link format130286 +Node: Internal links131545 +Ref: Internal links-Footnote-1133840 +Ref: Internal links-Footnote-2134080 +Node: Radio targets134218 +Node: External links134885 +Ref: External links-Footnote-1138921 +Ref: External links-Footnote-2139340 +Node: Handling links139596 +Ref: Handling links-Footnote-1147451 +Ref: Handling links-Footnote-2147610 +Ref: Handling links-Footnote-3147792 +Ref: Handling links-Footnote-4148087 +Ref: Handling links-Footnote-5148333 +Ref: Handling links-Footnote-6148452 +Ref: Handling links-Footnote-7148524 +Node: Using links outside Org148608 +Node: Link abbreviations149093 +Node: Search options151862 +Ref: Search options-Footnote-1153744 +Node: Custom searches153825 +Node: TODO items154835 +Ref: TODO items-Footnote-1155943 +Node: TODO basics156057 +Node: TODO extensions158881 +Node: Workflow states159911 +Ref: Workflow states-Footnote-1161212 +Node: TODO types161305 +Ref: TODO types-Footnote-1162903 +Node: Multiple sets in one file162972 +Node: Fast access to TODO states164826 +Ref: Fast access to TODO states-Footnote-1165699 +Ref: Fast access to TODO states-Footnote-2165783 +Node: Per-file keywords166076 +Ref: Per-file keywords-Footnote-1167447 +Node: Faces for TODO keywords167648 +Node: TODO dependencies168689 +Node: Progress logging171024 +Node: Closing items171736 +Ref: Closing items-Footnote-1172713 +Ref: Closing items-Footnote-2172782 +Node: Tracking TODO state changes172856 +Ref: Tracking TODO state changes-Footnote-1175892 +Ref: Tracking TODO state changes-Footnote-2175947 +Ref: Tracking TODO state changes-Footnote-3176087 +Node: Tracking your habits176375 +Node: Priorities180609 +Ref: Priorities-Footnote-1182581 +Node: Breaking down tasks182650 +Ref: Breaking down tasks-Footnote-1184629 +Node: Checkboxes184725 +Ref: Checkboxes-Footnote-1189352 +Ref: Checkboxes-Footnote-2189476 +Ref: Checkboxes-Footnote-3189650 +Node: Tags189770 +Node: Tag inheritance190826 +Ref: Tag inheritance-Footnote-1192641 +Ref: Tag inheritance-Footnote-2192741 +Node: Setting tags192867 +Ref: Setting tags-Footnote-1199178 +Node: Tag hierarchy199261 +Node: Tag searches202629 +Node: Properties and columns203911 +Node: Property syntax205347 +Node: Special properties209688 +Node: Property searches211333 +Node: Property inheritance212768 +Node: Column view214584 +Node: Defining columns215819 +Node: Scope of column definitions216197 +Node: Column attributes217102 +Ref: Column attributes-Footnote-1221896 +Ref: Column attributes-Footnote-2222052 +Ref: Column attributes-Footnote-3222265 +Ref: Column attributes-Footnote-4222548 +Node: Using column view222681 +Node: Capturing column view225606 +Ref: Capturing column view-Footnote-1228683 +Node: Property API228819 +Node: Dates and times229173 +Node: Timestamps230080 +Ref: Timestamps-Footnote-1232480 +Ref: Timestamps-Footnote-2232666 +Ref: Timestamps-Footnote-3232797 +Node: Creating timestamps233566 +Node: The date/time prompt236390 +Ref: The date/time prompt-Footnote-1240972 +Ref: The date/time prompt-Footnote-2241135 +Ref: The date/time prompt-Footnote-3241241 +Node: Custom time format241335 +Node: Deadlines and scheduling243057 +Ref: Deadlines and scheduling-Footnote-1246538 +Node: Inserting deadline/schedule246693 +Ref: Inserting deadline/schedule-Footnote-1248493 +Ref: Inserting deadline/schedule-Footnote-2248601 +Node: Repeated tasks248709 +Ref: Repeated tasks-Footnote-1253112 +Ref: Repeated tasks-Footnote-2253361 +Node: Clocking work time253560 +Ref: Clocking work time-Footnote-1254745 +Ref: Clocking work time-Footnote-2254889 +Node: Clocking commands255027 +Ref: Clocking commands-Footnote-1259932 +Ref: Clocking commands-Footnote-2260039 +Ref: Clocking commands-Footnote-3260089 +Ref: Clocking commands-Footnote-4260147 +Node: The clock table260225 +Ref: The clock table-Footnote-1267760 +Ref: The clock table-Footnote-2267854 +Node: Resolving idle time267979 +Ref: Resolving idle time-Footnote-1271826 +Node: Effort estimates272294 +Ref: Effort estimates-Footnote-1275047 +Node: Timers275154 +Node: Capture - Refile - Archive277446 +Node: Capture278436 +Node: Setting up capture279504 +Ref: Setting up capture-Footnote-1279913 +Node: Using capture279979 +Node: Capture templates282387 +Node: Template elements284352 +Ref: Template elements-Footnote-1290929 +Ref: Template elements-Footnote-2291246 +Node: Template expansion291433 +Ref: Template expansion-Footnote-1295426 +Ref: Template expansion-Footnote-2295513 +Ref: Template expansion-Footnote-3295776 +Ref: Template expansion-Footnote-4295958 +Node: Templates in contexts296056 +Node: Attachments296878 +Ref: Attachments-Footnote-1300325 +Node: RSS feeds300475 +Node: Protocols301952 +Node: `store-link' protocol303403 +Node: `capture' protocol304211 +Node: `open-source' protocol305257 +Node: Refile and copy308312 +Ref: Refile and copy-Footnote-1310734 +Node: Archiving310830 +Node: Moving subtrees311530 +Node: Internal archiving313554 +Node: Agenda views316186 +Node: Agenda files318514 +Ref: Agenda files-Footnote-1321317 +Ref: Agenda files-Footnote-2321466 +Node: Agenda dispatcher321659 +Ref: Agenda dispatcher-Footnote-1324490 +Ref: Agenda dispatcher-Footnote-2324584 +Node: Built-in agenda views324686 +Node: Weekly/daily agenda325270 +Ref: Weekly/daily agenda-Footnote-1331005 +Ref: Weekly/daily agenda-Footnote-2331232 +Node: Global TODO list331407 +Node: Matching tags and properties333935 +Node: Search view340887 +Node: Stuck projects342200 +Ref: Stuck projects-Footnote-1344260 +Node: Presentation and sorting344290 +Node: Categories345247 +Node: Time-of-day specifications345976 +Node: Sorting agenda items347945 +Node: Filtering/limiting agenda items349514 +Ref: Filtering/limiting agenda items-Footnote-1356662 +Node: Agenda commands357077 +Ref: Agenda commands-Footnote-1378068 +Ref: Agenda commands-Footnote-2378149 +Ref: Agenda commands-Footnote-3378268 +Ref: Agenda commands-Footnote-4378368 +Node: Custom agenda views378451 +Node: Storing searches379092 +Ref: Storing searches-Footnote-1382044 +Ref: Storing searches-Footnote-2382161 +Node: Block agenda382409 +Node: Setting options383647 +Node: Exporting agenda views387236 +Ref: Exporting agenda views-Footnote-1392144 +Ref: Exporting agenda views-Footnote-2392261 +Ref: Exporting agenda views-Footnote-3392417 +Ref: Exporting agenda views-Footnote-4392604 +Node: Agenda column view392686 +Node: Markup395758 +Node: Paragraphs396745 +Node: Emphasis and monospace397911 +Node: Horizontal rules398753 +Node: Images and tables399004 +Node: Literal examples400711 +Ref: Literal examples-Footnote-1405220 +Ref: Literal examples-Footnote-2405748 +Ref: Literal examples-Footnote-3405917 +Ref: Literal examples-Footnote-4406096 +Ref: Literal examples-Footnote-5406346 +Node: Special symbols406440 +Ref: Special symbols-Footnote-1408370 +Ref: Special symbols-Footnote-2408525 +Node: Subscripts and superscripts408615 +Node: Embedded LaTeX409719 +Ref: Embedded LaTeX-Footnote-1410533 +Node: LaTeX fragments410723 +Ref: LaTeX fragments-Footnote-1412803 +Node: Previewing LaTeX fragments413026 +Ref: Previewing LaTeX fragments-Footnote-1414455 +Node: CDLaTeX mode414701 +Ref: CDLaTeX mode-Footnote-1417201 +Node: Exporting417349 +Node: The export dispatcher419969 +Node: Export settings422539 +Ref: Export settings-Footnote-1430075 +Ref: Export settings-Footnote-2430173 +Node: Table of contents430275 +Node: Include files432119 +Ref: Include files-Footnote-1434908 +Node: Macro replacement435074 +Ref: Macro replacement-Footnote-1437840 +Node: Comment lines438057 +Ref: Comment lines-Footnote-1438863 +Node: ASCII/Latin-1/UTF-8 export438963 +Node: Beamer export441939 +Node: Beamer export commands442709 +Node: Beamer specific export settings443381 +Node: Sectioning Frames and Blocks in Beamer445206 +Ref: Sectioning Frames and Blocks in Beamer-Footnote-1448389 +Node: Beamer specific syntax448542 +Node: Editing support450460 +Node: A Beamer example450934 +Node: HTML export452201 +Node: HTML Export commands453208 +Node: HTML Specific export settings453719 +Node: HTML doctypes455702 +Node: HTML preamble and postamble457753 +Node: Quoting HTML tags458887 +Node: Links in HTML export459549 +Node: Tables in HTML export460958 +Node: Images in HTML export462361 +Node: Math formatting in HTML export463806 +Ref: Math formatting in HTML export-Footnote-1465197 +Node: Text areas in HTML export465321 +Node: CSS support466436 +Ref: CSS support-Footnote-1469865 +Node: JavaScript support470037 +Node: LaTeX export473287 +Node: LaTeX export commands475005 +Ref: LaTeX export commands-Footnote-1476276 +Node: LaTeX specific export settings476476 +Node: LaTeX header and sectioning479204 +Node: Quoting LaTeX code481279 +Node: Tables in LaTeX export482063 +Node: Images in LaTeX export486356 +Ref: Images in LaTeX export-Footnote-1488761 +Node: Plain lists in LaTeX export488808 +Node: Source blocks in LaTeX export489813 +Node: Example blocks in LaTeX export491199 +Node: Special blocks in LaTeX export491899 +Node: Horizontal rules in LaTeX export493135 +Node: Markdown export493522 +Node: OpenDocument Text export494820 +Ref: OpenDocument Text export-Footnote-1495909 +Node: Pre-requisites for ODT export496053 +Node: ODT export commands496427 +Ref: x-export-to-odt496631 +Node: ODT specific export settings497760 +Node: Extending ODT export498767 +Ref: x-export-to-other-formats499626 +Ref: x-convert-to-other-formats500031 +Node: Applying custom styles500500 +Node: Links in ODT export502261 +Node: Tables in ODT export502911 +Node: Images in ODT export504881 +Node: Math formatting in ODT export507675 +Node: Working with LaTeX math snippets508136 +Ref: Working with LaTeX math snippets-Footnote-1510372 +Ref: Working with LaTeX math snippets-Footnote-2510448 +Node: Working with MathML or OpenDocument formula files510493 +Node: Labels and captions in ODT export511020 +Node: Literal examples in ODT export512280 +Node: Advanced topics in ODT export513098 +Node: Configuring a document converter513752 +Ref: x-odt-converter-capabilities514430 +Node: Working with OpenDocument style files514829 +Ref: x-factory-styles515234 +Ref: x-orgodtstyles-xml515472 +Ref: x-orgodtcontenttemplate-xml515799 +Ref: x-overriding-factory-styles516448 +Ref: x-org-odt-styles-file516719 +Ref: x-org-odt-content-template-file517627 +Node: Creating one-off styles517768 +Node: Customizing tables in ODT export519916 +Ref: Customizing tables in ODT export-Footnote-1524769 +Ref: Customizing tables in ODT export-Footnote-2524873 +Ref: Customizing tables in ODT export-Footnote-3524961 +Node: Validating OpenDocument XML525276 +Node: Org export526152 +Node: Texinfo export526885 +Node: Texinfo export commands527901 +Node: Texinfo specific export settings528499 +Node: Texinfo file header529582 +Node: Texinfo title and copyright page530524 +Node: Info directory file531846 +Node: Headings and sectioning structure532549 +Node: Indices534515 +Node: Quoting Texinfo code535499 +Node: Plain lists in Texinfo export535988 +Node: Tables in Texinfo export537315 +Node: Images in Texinfo export537802 +Node: Special blocks in Texinfo export538427 +Node: A Texinfo example539017 +Node: iCalendar export541141 +Node: Other built-in back-ends544734 +Node: Advanced configuration545332 +Node: Export in foreign buffers552070 +Node: Publishing553107 +Node: Configuration553975 +Node: Project alist554738 +Node: Sources and destinations555879 +Node: Selecting files557402 +Node: Publishing action558403 +Ref: Publishing action-Footnote-1560232 +Node: Publishing options560389 +Node: Publishing links573543 +Node: Sitemap574895 +Node: Generating an index578623 +Node: Uploading files579405 +Node: Sample configuration581169 +Node: Simple example581658 +Node: Complex example582365 +Node: Triggering publication584416 +Node: Working with source code585412 +Node: Structure of code blocks589862 +Node: Editing source code592349 +Node: Exporting code blocks595108 +Node: Extracting source code597403 +Node: Evaluating code blocks599845 +Ref: Evaluating code blocks-Footnote-1602966 +Ref: Evaluating code blocks-Footnote-2603092 +Node: Library of Babel603278 +Node: Languages603954 +Node: Header arguments606409 +Node: Using header arguments606766 +Node: System-wide header arguments607572 +Node: Language-specific header arguments608267 +Node: Header arguments in Org mode properties608787 +Node: Language-specific mode properties610230 +Node: Code block specific header arguments611050 +Node: Arguments in function calls612701 +Node: Specific header arguments613461 +Node: var616143 +Node: results622725 +Node: file626624 +Node: file-desc627289 +Node: file-ext627687 +Node: output-dir628104 +Node: dir628502 +Node: exports630624 +Node: tangle631496 +Node: mkdirp632341 +Node: comments632655 +Node: padline633611 +Node: no-expand634002 +Node: session634712 +Node: noweb635789 +Node: noweb-ref638401 +Node: noweb-sep639505 +Node: cache639809 +Node: sep642405 +Node: hlines642796 +Node: colnames644278 +Node: rownames645682 +Node: shebang646871 +Node: tangle-mode647349 +Node: eval648133 +Node: wrap649117 +Node: post649424 +Node: prologue651159 +Node: epilogue651655 +Node: Results of evaluation651913 +Node: Noweb reference syntax655634 +Node: Key bindings and useful functions657905 +Node: Batch execution659944 +Node: Miscellaneous660716 +Node: Completion661555 +Node: Easy templates663598 +Node: Speed keys664818 +Node: Code evaluation security665987 +Node: Customization668791 +Node: In-buffer settings669217 +Node: The very busy C-c C-c key678650 +Node: Clean view680615 +Ref: Clean view-Footnote-1684014 +Ref: Clean view-Footnote-2684237 +Ref: Clean view-Footnote-3684292 +Node: TTY keys684364 +Node: Interaction685789 +Node: Cooperation686186 +Node: Conflicts688905 +Node: org-crypt693414 +Node: Hacking694666 +Node: Hooks695652 +Node: Add-on packages695970 +Node: Adding hyperlink types696498 +Node: Adding export back-ends699859 +Node: Context-sensitive commands701079 +Node: Tables in arbitrary syntax701760 +Node: Radio tables703423 +Node: A LaTeX example705496 +Ref: A LaTeX example-Footnote-1709209 +Ref: A LaTeX example-Footnote-2709375 +Node: Translator functions709810 +Node: Radio lists711917 +Node: Dynamic blocks713067 +Node: Special agenda views715113 +Ref: x-agenda-skip-entry-regexp717938 +Ref: Special agenda views-Footnote-1718703 +Ref: Special agenda views-Footnote-2718898 +Node: Speeding up your agendas719026 +Node: Extracting agenda information720070 +Node: Using the property API723894 +Node: Using the mapping API727219 +Node: MobileOrg731186 +Node: Setting up the staging area732746 +Ref: Setting up the staging area-Footnote-1733948 +Ref: Setting up the staging area-Footnote-2734117 +Node: Pushing to MobileOrg734324 +Ref: Pushing to MobileOrg-Footnote-1735203 +Ref: Pushing to MobileOrg-Footnote-2735289 +Ref: Pushing to MobileOrg-Footnote-3735648 +Node: Pulling from MobileOrg735720 +Ref: Pulling from MobileOrg-Footnote-1737740 +Node: History and acknowledgments737800 +Node: GNU Free Documentation License752985 +Node: Main Index778175 +Node: Key Index875330 +Node: Command and Function Index927918 +Node: Variable Index963214  End Tag Table diff --git a/elpa/org-20170407/org-agenda.el b/elpa/org-20171009/org-agenda.el similarity index 95% rename from elpa/org-20170407/org-agenda.el rename to elpa/org-20171009/org-agenda.el index 8a590ce2..cf7a4dbf 100644 --- a/elpa/org-20170407/org-agenda.el +++ b/elpa/org-20171009/org-agenda.el @@ -19,7 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . +;; along with GNU Emacs. If not, see . ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;;; Commentary: @@ -277,10 +277,7 @@ list are are :deadline List deadline due on that date. When the date is today, also list any deadlines past due, or due within - `org-deadline-warning-days'. `:deadline' must appear before - `:scheduled' if the setting of - `org-agenda-skip-scheduled-if-deadline-is-shown' is to have - any effect. + `org-deadline-warning-days'. :deadline* Same as above, but only include the deadline if it has an hour specification as [h]h:mm. @@ -327,12 +324,14 @@ the daily/weekly agenda, see `org-agenda-skip-function'.") (string)) (list :tag "Number of days in agenda" (const org-agenda-span) - (choice (const :tag "Day" day) - (const :tag "Week" week) - (const :tag "Fortnight" fortnight) - (const :tag "Month" month) - (const :tag "Year" year) - (integer :tag "Custom"))) + (list + (const :format "" quote) + (choice (const :tag "Day" day) + (const :tag "Week" week) + (const :tag "Fortnight" fortnight) + (const :tag "Month" month) + (const :tag "Year" year) + (integer :tag "Custom")))) (list :tag "Fixed starting date" (const org-agenda-start-day) (string :value "2007-11-01")) @@ -1069,7 +1068,7 @@ have been removed when this is called, as will any matches for regular expressions listed in `org-agenda-entry-text-exclude-regexps'.") (defvar org-agenda-include-inactive-timestamps nil - "Non-nil means include inactive time stamps in agenda and timeline. + "Non-nil means include inactive time stamps in agenda. Dynamically scoped.") (defgroup org-agenda-windows nil @@ -1143,17 +1142,17 @@ When nil, only the days which actually have entries are shown." (defcustom org-agenda-format-date 'org-agenda-format-date-aligned "Format string for displaying dates in the agenda. -Used by the daily/weekly agenda and by the timeline. This should be -a format string understood by `format-time-string', or a function returning -the formatted date as a string. The function must take a single argument, -a calendar-style date list like (month day year)." +Used by the daily/weekly agenda. This should be a format string +understood by `format-time-string', or a function returning the +formatted date as a string. The function must take a single +argument, a calendar-style date list like (month day year)." :group 'org-agenda-daily/weekly :type '(choice (string :tag "Format string") (function :tag "Function"))) (defun org-agenda-format-date-aligned (date) - "Format a DATE string for display in the daily/weekly agenda, or timeline. + "Format a DATE string for display in the daily/weekly agenda. This function makes sure that dates are aligned for easy reading." (require 'cal-iso) (let* ((dayname (calendar-day-name date)) @@ -1213,8 +1212,7 @@ For example, 9:30am would become 09:30 rather than 9:30." (defcustom org-agenda-weekend-days '(6 0) "Which days are weekend? -These days get the special face `org-agenda-date-weekend' in the agenda -and timeline buffers." +These days get the special face `org-agenda-date-weekend' in the agenda." :group 'org-agenda-daily/weekly :type '(set :greedy t (const :tag "Monday" 1) @@ -1447,7 +1445,7 @@ E.g. when this is set to 1, the search view will only show headlines of level 1. When set to 0, the default value, don't limit agenda view by outline level." :group 'org-agenda-search-view - :version "24.4" + :version "26.1" :package-version '(Org . "8.3") :type 'integer) @@ -1479,11 +1477,12 @@ the variable `org-agenda-time-grid'." (defcustom org-agenda-time-grid '((daily today require-timed) - "----------------" - (800 1000 1200 1400 1600 1800 2000)) + (800 1000 1200 1400 1600 1800 2000) + "......" + "----------------") "The settings for time grid for agenda display. -This is a list of three items. The first item is again a list. It contains +This is a list of four items. The first item is again a list. It contains symbols specifying conditions when the grid should be displayed: daily if the agenda shows a single day @@ -1492,10 +1491,14 @@ symbols specifying conditions when the grid should be displayed: require-timed show grid only if at least one item has a time specification remove-match skip grid times already present in an entry -The second item is a string which will be placed behind the grid time. +The second item is a list of integers, indicating the times that +should have a grid line. + +The third item is a string which will be placed right after the +times that have a grid line. -The third item is a list of integers, indicating the times that should have -a grid line." +The fourth item is a string placed after the grid times. This +will align with agenda items" :group 'org-agenda-time-grid :type '(list @@ -1507,8 +1510,9 @@ a grid line." require-timed) (const :tag "Skip grid times already present in an entry" remove-match)) - (string :tag "Grid String") - (repeat :tag "Grid Times" (integer :tag "Time")))) + (repeat :tag "Grid Times" (integer :tag "Time")) + (string :tag "Grid String (after agenda times)") + (string :tag "Grid String (aligns with agenda items)"))) (defcustom org-agenda-show-current-time-in-grid t "Non-nil means show the current time in the time grid." @@ -1636,13 +1640,12 @@ When nil, such items are sorted as 0 minutes effort." (defcustom org-agenda-prefix-format '((agenda . " %i %-12:c%?-12t% s") - (timeline . " % s") (todo . " %i %-12:c") (tags . " %i %-12:c") (search . " %i %-12:c")) "Format specifications for the prefix of items in the agenda views. An alist with five entries, each for the different agenda types. The -keys of the sublists are `agenda', `timeline', `todo', `search' and `tags'. +keys of the sublists are `agenda', `todo', `search' and `tags'. The values are format strings. This format works similar to a printf format, with the following meaning: @@ -1695,11 +1698,12 @@ Custom commands can set this variable in the options section." (string :tag "General format") (list :greedy t :tag "View dependent" (cons (const agenda) (string :tag "Format")) - (cons (const timeline) (string :tag "Format")) (cons (const todo) (string :tag "Format")) (cons (const tags) (string :tag "Format")) (cons (const search) (string :tag "Format")))) - :group 'org-agenda-line-format) + :group 'org-agenda-line-format + :version "26.1" + :package-version '(Org . "9.1")) (defvar org-prefix-format-compiled nil "The compiled prefix format and associated variables. @@ -1810,7 +1814,7 @@ When non-nil, this must be the number of minutes, e.g. 60 for one hour." (defcustom org-agenda-show-inherited-tags t "Non-nil means show inherited tags in each agenda line. -When this option is set to `always', it take precedences over +When this option is set to `always', it takes precedence over `org-agenda-use-tag-inheritance' and inherited tags are shown in every agenda. @@ -1821,7 +1825,7 @@ given agenda type. This can be set to a list of agenda types in which the agenda must display the inherited tags. Available types are `todo', -`agenda', `search' and `timeline'. +`agenda' and `search'. When set to nil, never show inherited tags in agenda lines." :group 'org-agenda-line-format @@ -1833,7 +1837,7 @@ When set to nil, never show inherited tags in agenda lines." (repeat :tag "Show inherited tags only in selected agenda types" (symbol :tag "Agenda type")))) -(defcustom org-agenda-use-tag-inheritance '(todo search timeline agenda) +(defcustom org-agenda-use-tag-inheritance '(todo search agenda) "List of agenda view types where to use tag inheritance. In tags/tags-todo/tags-tree agenda views, tag inheritance is @@ -1842,7 +1846,7 @@ controlled by `org-use-tag-inheritance'. In other agenda types, agenda entries. Still, you may want the agenda to be aware of the inherited tags anyway, e.g. for later tag filtering. -Allowed value are `todo', `search', `timeline' and `agenda'. +Allowed value are `todo', `search' and `agenda'. This variable has no effect if `org-agenda-show-inherited-tags' is set to `always'. In that case, the agenda is aware of those @@ -1851,7 +1855,8 @@ tags. The default value sets tags in every agenda type. Setting this option to nil will speed up non-tags agenda view a lot." :group 'org-agenda - :version "24.3" + :version "26.1" + :package-version '(Org . "9.1") :type '(choice (const :tag "Use tag inheritance in all agenda types" t) (repeat :tag "Use tag inheritance in selected agenda types" @@ -1880,13 +1885,21 @@ When this is the symbol `prefix', only remove tags when (defvaralias 'org-agenda-remove-tags-when-in-prefix 'org-agenda-remove-tags) -(defcustom org-agenda-tags-column -80 +(defcustom org-agenda-tags-column 'auto "Shift tags in agenda items to this column. -If this number is positive, it specifies the column. If it is negative, -it means that the tags should be flushright to that column. For example, --80 works well for a normal 80 character screen." +If set to `auto', tags will be automatically aligned to the right +edge of the window. + +If set to a positive number, tags will be left-aligned to that +column. If set to a negative number, tags will be right-aligned +to that column. For example, -80 works well for a normal 80 +character screen." :group 'org-agenda-line-format - :type 'integer) + :type '(choice + (const :tag "Automatically align to right edge of window" auto) + (integer :tag "Specific column" -80)) + :package-version '(Org . "9.1") + :version "26.1") (defvaralias 'org-agenda-align-tags-to-column 'org-agenda-tags-column) @@ -2157,13 +2170,12 @@ The following commands are available: ;; while letting `kill-all-local-variables' kill the rest (let ((save (buffer-local-variables))) (kill-all-local-variables) - (mapc 'make-local-variable org-agenda-local-vars) + (mapc #'make-local-variable org-agenda-local-vars) (dolist (elem save) - (let ((var (car elem)) - (val (cdr elem))) - (when (and val - (member var org-agenda-local-vars)) - (set var val))))) + (pcase elem + (`(,var . ,val) ;ignore unbound variables + (when (and val (memq var org-agenda-local-vars)) + (set var val)))))) (setq-local org-agenda-this-buffer-is-sticky t)) (org-agenda-sticky ;; Creating a sticky Agenda buffer for the first time @@ -2190,9 +2202,9 @@ The following commands are available: (add-hook 'pre-command-hook 'org-unhighlight nil 'local) ;; Make sure properties are removed when copying text (add-hook 'filter-buffer-substring-functions - (lambda (fun start end delete) - (substring-no-properties (funcall fun start end delete))) - nil t) + (lambda (fun start end delete) + (substring-no-properties (funcall fun start end delete))) + nil t) (unless org-agenda-keep-modes (setq org-agenda-follow-mode org-agenda-start-with-follow-mode org-agenda-entry-text-mode org-agenda-start-with-entry-text-mode)) @@ -2286,7 +2298,7 @@ The following commands are available: (org-defkey org-agenda-mode-map "!" 'org-agenda-toggle-deadlines) (org-defkey org-agenda-mode-map "G" 'org-agenda-toggle-time-grid) (org-defkey org-agenda-mode-map "r" 'org-agenda-redo) -(org-defkey org-agenda-mode-map "g" (lambda () (interactive) (org-agenda-redo t))) +(org-defkey org-agenda-mode-map "g" 'org-agenda-redo-all) (org-defkey org-agenda-mode-map "e" 'org-agenda-set-effort) (org-defkey org-agenda-mode-map "\C-c\C-xe" 'org-agenda-set-effort) (org-defkey org-agenda-mode-map "\C-c\C-x\C-e" @@ -2351,6 +2363,7 @@ The following commands are available: (org-defkey org-agenda-mode-map "<" 'org-agenda-filter-by-category) (org-defkey org-agenda-mode-map "^" 'org-agenda-filter-by-top-headline) (org-defkey org-agenda-mode-map ";" 'org-timer-set-timer) +(org-defkey org-agenda-mode-map "\C-c\C-x_" 'org-timer-stop) (define-key org-agenda-mode-map "?" 'org-agenda-show-the-flagging-note) (org-defkey org-agenda-mode-map "\C-c\C-x\C-mg" 'org-mobile-pull) (org-defkey org-agenda-mode-map "\C-c\C-x\C-mp" 'org-mobile-push) @@ -2368,7 +2381,7 @@ The following commands are available: ("Agenda Files") "--" ("Agenda Dates" - ["Goto Today" org-agenda-goto-today (org-agenda-check-type nil 'agenda 'timeline)] + ["Goto Today" org-agenda-goto-today (org-agenda-check-type nil 'agenda)] ["Next Dates" org-agenda-later (org-agenda-check-type nil 'agenda)] ["Previous Dates" org-agenda-earlier (org-agenda-check-type nil 'agenda)] ["Jump to date" org-agenda-goto-date (org-agenda-check-type nil 'agenda)]) @@ -2414,7 +2427,7 @@ The following commands are available: "--" ["Show Logbook entries" org-agenda-log-mode :style toggle :selected org-agenda-show-log - :active (org-agenda-check-type nil 'agenda 'timeline) + :active (org-agenda-check-type nil 'agenda) :keys "v l (or just l)"] ["Include archived trees" org-agenda-archives-mode :style toggle :selected org-agenda-archives-mode :active t @@ -2471,13 +2484,13 @@ The following commands are available: ["Schedule" org-agenda-schedule t] ["Set Deadline" org-agenda-deadline t] "--" - ["Change Date +1 day" org-agenda-date-later (org-agenda-check-type nil 'agenda 'timeline)] - ["Change Date -1 day" org-agenda-date-earlier (org-agenda-check-type nil 'agenda 'timeline)] - ["Change Time +1 hour" org-agenda-do-date-later :active (org-agenda-check-type nil 'agenda 'timeline) :keys "C-u S-right"] - ["Change Time -1 hour" org-agenda-do-date-earlier :active (org-agenda-check-type nil 'agenda 'timeline) :keys "C-u S-left"] - ["Change Time + min" org-agenda-date-later :active (org-agenda-check-type nil 'agenda 'timeline) :keys "C-u C-u S-right"] - ["Change Time - min" org-agenda-date-earlier :active (org-agenda-check-type nil 'agenda 'timeline) :keys "C-u C-u S-left"] - ["Change Date to ..." org-agenda-date-prompt (org-agenda-check-type nil 'agenda 'timeline)]) + ["Change Date +1 day" org-agenda-date-later (org-agenda-check-type nil 'agenda)] + ["Change Date -1 day" org-agenda-date-earlier (org-agenda-check-type nil 'agenda)] + ["Change Time +1 hour" org-agenda-do-date-later :active (org-agenda-check-type nil 'agenda) :keys "C-u S-right"] + ["Change Time -1 hour" org-agenda-do-date-earlier :active (org-agenda-check-type nil 'agenda) :keys "C-u S-left"] + ["Change Time + min" org-agenda-date-later :active (org-agenda-check-type nil 'agenda) :keys "C-u C-u S-right"] + ["Change Time - min" org-agenda-date-earlier :active (org-agenda-check-type nil 'agenda) :keys "C-u C-u S-left"] + ["Change Date to ..." org-agenda-date-prompt (org-agenda-check-type nil 'agenda)]) ("Clock and Effort" ["Clock in" org-agenda-clock-in t] ["Clock out" org-agenda-clock-out t] @@ -2493,12 +2506,12 @@ The following commands are available: ["Decrease Priority" org-agenda-priority-down t] ["Show Priority" org-show-priority t]) ("Calendar/Diary" - ["New Diary Entry" org-agenda-diary-entry (org-agenda-check-type nil 'agenda 'timeline)] - ["Goto Calendar" org-agenda-goto-calendar (org-agenda-check-type nil 'agenda 'timeline)] - ["Phases of the Moon" org-agenda-phases-of-moon (org-agenda-check-type nil 'agenda 'timeline)] - ["Sunrise/Sunset" org-agenda-sunrise-sunset (org-agenda-check-type nil 'agenda 'timeline)] - ["Holidays" org-agenda-holidays (org-agenda-check-type nil 'agenda 'timeline)] - ["Convert" org-agenda-convert-date (org-agenda-check-type nil 'agenda 'timeline)] + ["New Diary Entry" org-agenda-diary-entry (org-agenda-check-type nil 'agenda)] + ["Goto Calendar" org-agenda-goto-calendar (org-agenda-check-type nil 'agenda)] + ["Phases of the Moon" org-agenda-phases-of-moon (org-agenda-check-type nil 'agenda)] + ["Sunrise/Sunset" org-agenda-sunrise-sunset (org-agenda-check-type nil 'agenda)] + ["Holidays" org-agenda-holidays (org-agenda-check-type nil 'agenda)] + ["Convert" org-agenda-convert-date (org-agenda-check-type nil 'agenda)] "--" ["Create iCalendar File" org-icalendar-combine-agenda-files t]) "--" @@ -2634,8 +2647,7 @@ type." (const agenda) (const todo) (const tags) - (const search) - (const timeline)) + (const search)) (integer :tag "Max number of entries"))))) (defcustom org-agenda-max-todos nil @@ -2653,8 +2665,7 @@ type." (const agenda) (const todo) (const tags) - (const search) - (const timeline)) + (const search)) (integer :tag "Max number of TODOs"))))) (defcustom org-agenda-max-tags nil @@ -2672,8 +2683,7 @@ type." (const agenda) (const todo) (const tags) - (const search) - (const timeline)) + (const search)) (integer :tag "Max number of tagged entries"))))) (defcustom org-agenda-max-effort nil @@ -2691,8 +2701,7 @@ to limit entries to in this type." (const agenda) (const todo) (const tags) - (const search) - (const timeline)) + (const search)) (integer :tag "Max number of minutes"))))) (defvar org-agenda-keep-restricted-file-list nil) @@ -3396,7 +3405,8 @@ the agenda to write." (kill-buffer (current-buffer)) (message "Org file written to %s" file))) ((member extension '("html" "htm")) - (require 'htmlize) + (or (require 'htmlize nil t) + (error "Please install htmlize from https://github.com/hniksic/emacs-htmlize")) (set-buffer (htmlize-buffer (current-buffer))) (when org-agenda-export-html-style ;; replace