aboutsummaryrefslogtreecommitdiffstats
path: root/doc/misc
diff options
context:
space:
mode:
authorCarsten Dominik2008-06-17 15:22:00 +0000
committerCarsten Dominik2008-06-17 15:22:00 +0000
commitb349f79f7434513bd603b063473bfdf59c465817 (patch)
tree787a8d6677b022cd76aebc1fc9706a5c06980d27 /doc/misc
parent4271b4248d5e0add806a41ddbd6b0c99574eea8e (diff)
downloademacs-b349f79f7434513bd603b063473bfdf59c465817.tar.gz
emacs-b349f79f7434513bd603b063473bfdf59c465817.zip
2008-06-17 Carsten Dominik <dominik@science.uva.nl>
* org-colview.el (org-columns-next-allowed-value): Bug fix. * org-colview-xemacs.el (org-columns-next-allowed-value): Bug fix. * org-agenda.el (org-agenda-get-closed): Get the end time into the agenda prefix as well. * org-publish.el (org-publish-org-index): Make a properly indented list. * org.el (org-calendar-agenda-action-key): New option. (org-get-cursor-date): New function. (org-mark-entry-for-agenda-action): New command. (org-overriding-default-time): New variable. (org-read-date): Respect `org-overriding-default-time'. * org-remember.el (org-remember-apply-template): Respect the ovverriding default time. * org-agenda.el (org-agenda-action-marker): New variable. (org-agenda-action): New command. (org-agenda-do-action): New function. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org.el (org-schedule, org-deadline): Protect scheduled and deadline tasks against changes that accidently remove the repeater. Also show a message with the new date when done. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org.el (org-beginning-of-line): Cater for the case when there are tags but no headline text. (org-align-tags-here): Convert to tabs only when indent-tabs-mode it set. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org-mhe.el (org-mhe-get-message-folder-from-index): Make sure the return value is nil instead of "nil" when there is no match. * org-exp.el (org-insert-centered): Use fill-column instead of 80. (org-export-as-ascii): Use string-width to measure the width of the heading. * org.el (org-diary-to-ical-string): No longer kill buffer FROMBUF, this is now done by the caller. * org-exp.el (org-print-icalendar-entries): Move the call to `org-diary-to-ical-string' out of the loop, and kill the buffer afterwords. * org-remember.el (org-remember-visit-immediately): Position cursor after moving to the note. (org-remember-apply-template): Use a text property to record the cursor position. (org-remember-handler): Align tags after pasting the note. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org-bbdb.el (org-bbdb-follow-anniversary-link): New function. * org-agenda.el (org-agenda-open-link): If there is an org-bbdb-name property in the current line, jump to that bbdb entry. * org-bbdb.el (org-bbdb-anniversaries): Add the bbdb-name as a text property, so that the agenda knows where this entry comes from. * org-agenda.el (org-agenda-clock-in): Fixed bug in the interaction between clocking-in from the agenda, and automatic task state switching. * org-macs.el (org-with-point-at): Bug fix in macro defintion. * org.el (org-beginning-of-line, org-end-of-line): Make sure the zmacs-region stays after this command in XEmacs. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org.el (org-scan-tags): Allow new values for ACTION parameter. * org-remember.el (org-remember-templates): Fix bug in customization type definition. * org.el (org-map-entries): New function. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org-agenda.el (org-agenda-skip-comment-trees): New option. (org-agenda-skip): Respect `org-agenda-skip-comment-trees'. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org-remember.el (org-jump-to-target-location): New variable. (org-remember-apply-template): Set `org-remember-apply-template' if requested by template. (org-remember-handler): Start an idle timer to jump to remember location. * org-exp.el (org-get-current-options): Add the FILETAGS setting. * org.el (org-set-regexps-and-options): Fix bug with parsing of file tags. (org-get-tags-at): Add the content of `org-file-tags'. * org-exp.el (org-export-handle-comments): Fix bug with several comment lines after each other. (org-number-to-roman, org-number-to-counter): New functions. (org-export-section-number-format): New option. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org-exp.el (org-export-protect-examples): Catch the case of a missing end_example line. * org.el (org-set-regexps-and-options): Set `org-file-properties' and `org-file-tags' to nil. * org-colview.el (org-columns-next-allowed-value): Handle next argument NTH to directly select a value. * org-colview-xemacs.el (org-columns-next-allowed-value): Handle next argument NTH to directly select a value. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org-agenda.el (org-agenda-scheduled-leaders): Fix docstring. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org.el (org-columns-ellipses): New option. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org-colview.el (org-columns-add-ellipses): New function. (org-columns-compact-links): New function. (org-columns-cleanup-item): Call `org-columns-compact-links'. (org-columns-display-here): Call `org-agenda-columns-cleanup-item' when in agenda. (org-columns-edit-value): Fixed bug with editing values from agenda column view. (org-columns-redo): Also redo the agenda itself. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org-agenda.el (org-agenda-columns-remove-prefix-from-item): New option. * org-colview.el (org-agenda-columns-cleanup-item): New function. * org-exp.el (org-export-ascii-preprocess): Renamed from `org-export-ascii-clean-string'. (org-export-kill-licensed-text) (org-export-define-heading-targets) (org-export-handle-invisible-targets) (org-export-target-internal-links) (org-export-remove-or-extract-drawers) (org-export-remove-archived-trees) (org-export-protect-quoted-subtrees) (org-export-protect-verbatim, org-export-protect-examples) (org-export-select-backend-specific-text) (org-export-mark-blockquote-and-verse) (org-export-remove-comment-blocks-and-subtrees) (org-export-handle-comments, org-export-mark-radio-links) (org-export-remove-special-table-lines) (org-export-normalize-links) (org-export-concatenate-multiline-links) (org-export-concatenate-multiline-emphasis): New functions, obtained from spliiting the export preprocessor. * org-table.el (org-table-recalculate): Improve error message if the row number is invalid. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org-archive.el (org-archive-save-context-info): Fix bugs in customization setup and docstring. * org-exp.el (org-export-html-style): Changed the size of in the <pre> element to 90%. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org.el (org-find-src-example-start): Function removed. (org-edit-src-find-region-and-lang): New function. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org.el (org-edit-src-exit): New function. (org-exit-edit-mode): New minor mode. * org-exp.el (org-export-preprocess-string): Fix bug with removing comment-like lines from protected examples. * org.el (org-edit-src-example, org-find-src-example-start) (org-protect-source-example, org-edit-special): New functions. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org-publish.el (org-publish-project-alist): Fix typo in docstring. (org-publish-project-alist): Handle :index-title property. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org-export-latex.el (org-export-as-latex): Make sure region bounds are correct. Parse subtree properties relating to export. * org-exp.el (org-export-add-options-to-plist): New function. (org-infile-export-plist): Use `org-export-add-options-to-plist'. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org.el (org-default-properties): Add EXPORT_FILE_NAME and EXPORT_TITLE. * org-exp.el (org-export-get-title-from-subtree) (org-export-as-ascii, org-export-as-html): Make sure the original region-beginning and region-end are used, even after moving point. (org-export-get-title-from-subtree): Also try the EXPORT_TITLE property. * org-remember.el (org-remember-last-stored-marker): New variable. (org-remember-goto-last-stored): Use `org-goto-marker-or-bmk'. (org-remember-handler): Also use marker to remember last-stored position. * org.el (org-goto-marker-or-bmk): New function. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org.el (org-file-properties): Renamed from `org-local-properties'. (org-scan-tags): Take file tags into account. (org-tags-match-list-sublevels): Default changed to t. * org-exp.el (org-export-as-html): Close paragraph after a footnote. * org.el (org-update-parent-todo-statistics): New function. * org-exp.el (org-icalendar-store-UID): New option. (org-icalendar-force-UID): Option removed. (org-print-icalendar-entries): IMplement UIDs. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org-mhe.el (org-mhe-follow-link): Fix bug in mhe searches. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org-faces.el (org-column): Document how this face is being used and why sometimes the background faces shine through. * org-mhe.el (org-mhe-follow-link): Improve handling of searches. * org-publish.el (org-publish-attachment): Create publishing directory if it does not yet exist. * org-table.el (org-calc-default-modes): Change default number format to (float 8). * org.el (org-olpath-completing-read): New function. (org-time-clocksum-format): New option. (org-minutes-to-hh:mm-string): Use `org-time-clocksum-format'. * org-clock.el (org-clock-display, org-clock-out) (org-update-mode-line): Use `org-time-clocksum-format'. * org-colview-xemacs.el (org-columns-number-to-string): Use `org-time-clocksum-format'. * org-colview.el (org-columns-number-to-string): Use `org-time-clocksum-format'. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org-id.el: New file, move from contrib to core. * org-exp.el (org-icalendar-force-UID): New option. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org-exp.el (org-print-icalendar-entries): Make sure DTEND is shifted by one day if theere is a date range without an end time. * org.el (org-try-structure-completion): New function. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org.el (org-set-font-lock-defaults): Improve fontification of description lists. (org-insert-item): Handle description lists. (org-adaptive-fill-function): Improve auto indentation in description lists. * org-exp.el (org-export-as-html, org-export-preprocess-string): Implement VERSE environment. (org-export-preprocess-string): Implement the COMMENT environment. * org-export-latex.el (org-export-latex-preprocess): Implement VERSE environment. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org-jsinfo.el (org-infojs-opts-table): Add entry for FIXED_TOC option. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org-table.el (orgtbl-to-tsv, orgtbl-to-csv): New functions. * org.el (org-quote-csv-field): New functions. * org-table.el (org-table-export-default-format): Remove :splice from default format, we get the same effect by not specifying :tstart and :tend. (org-table-export): Improve setup, distinguish better between interactive and non-interactive use, allow specifying the format on the fly, better protection against wrong file names. (orgtbl-to-generic): Fix documentation. Do not require :tstart and :tend when :splice is omitted. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org-clock.el (org-clock-select-task): Make sure the selection letters are 1-9 and A-Z, no special characters. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org-exp.el (org-export-htmlize): New group. (org-export-htmlize-output-type) (org-export-htmlize-css-font-prefix): New options. (org-export-htmlize-region-for-paste): New function. (org-export-htmlize-generate-css): New command. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org.el (org-set-visibility-according-to-property): New function. (org-ctrl-c-ctrl-c): Do not restart org-mode, just get the options and compute the regular expressions, and update font-lock. (org-property-re): Allow a dash in property names. * org-archive.el (org-extract-archive-file): Insert the file name without the path into the format, to allow the location format to contain a subdirectory. * org-agenda.el (org-agenda-post-command-hook): If point is at end of buffer, and the `org-agenda-type' property undefined, use the value from the character before. * org.el (org-add-planning-info): Don't let indentation for would-be timestamp become extra whitespace at the end of headline. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org.el (org-remove-double-quotes, org-file-contents): New functions. * org-exp.el (org-infile-export-plist): Also parse the contents of #+SETUPFILE files, recursively. * org.el (org-set-regexps-and-options): Also parse the contents of #+SETUPFILE files, recursively. * org-exp.el (org-export-handle-include-files): New function. (org-export-preprocess-string): Call `org-export-handle-include-files'. * org.el (org-delete-property-globally) (org-delete-property, org-set-property): Ignore case during completion. (org-set-property): Use `org-completing-read' instead of `completing-read'. * org.el (org-complete-expand-structure-template): New, experimental function. (org-structure-template-alist): New, experimental option. (org-complete): Call `org-complete-expand-structure-template'. 2008-06-17 Bastien Guerry <bzg@altern.org> * org-export-latex.el (org-export-latex-preprocess): Added support for blockquotes. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org.el (org-read-date-analyze): Catch the case where only a weekday is given. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org.el (org-set-font-lock-defaults): Make the description tag bold. * org-exp.el (org-export-as-html, org-close-li): Implement description lists. 2008-06-17 Jason Riedy <jason@acm.org> * org-table.el (*orgtbl-default-fmt*): New variable. (orgtbl-format-line): Use the value of *orgtbl-default-fmt* when there is no other fmt available. (orgtbl-to-generic): Allow an explicitly nil :tstart or :tend to suppress the appropriate string. (orgtbl-to-orgtbl): New function for translating to another orgtbl table. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org.el (org-read-date-analyze): "." as an alias for "+0" in read date. * org-clock.el (org-clock-save-markers-for-cut-and-paste): New function. * org-agenda.el (org-agenda-save-markers-for-cut-and-paste): New function. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org-clock.el (org-clock-find-position): Don't include notes into clock drawer. * org-archive.el (org-archive-subtree): No longer remove an extra line after cutting the subtree. `org-cut-subtree' already takes care of this. * org-remember.el (org-remember-handler): Only kill the target buffer if it does not contain the running clock. * org.el (org-markers-to-move): New variable. (org-save-markers-in-region, org-check-and-save-marker) (org-reinstall-markers-in-region): New function. (org-move-subtree-down, org-copy-subtree): Remember relative marker positions before cutting. (org-move-subtree-down, org-paste-subtree): Restore relative marker positions after pasting. * org-remember.el (org-remember-clock-out-on-exit): New option. (org-remember-finalize): Clock out only if the setting in `org-remember-clock-out-on-exit' requires it. (org-remember-handler): Do the cleanup in the buffer, to make sure that the clock marker remains in tact. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org-clock.el (org-clock-goto): Widen buffer if necessary. (org-clock-in): Make sure that also tasks outside the narrowed region will be clocked in correctly. (org-clock-insert-selection-line): Widen the buffer so that we can find the correct task heading. * org.el (org-base-buffer): New function. * org-exp.el (org-icalendar-cleanup-string): Make sure '," and ";" are escaped. (org-print-icalendar-entries): Also apply `org-icalendar-cleanup-string' to the headline, not only to the summary property. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org-exp.el (org-export-preprocess-hook): New hook. (org-export-preprocess-string): Call `org-export-preprocess-hook'. * org.el (org-font-lock-hook): New variable. (org-font-lock-hook): New function. (org-set-font-lock-defaults): Call `org-font-lock-hook'. 2008-06-17 Carsten Dominik <dominik@science.uva.nl> * org.texi: Modify license to no longer include back- and front cover matters. (Using the mapping API): New section. (Agenda column view): New section. (Moving subtrees): Document archiving to the archive sibling. (Agenda commands): Document columns view in the agenda. (Using the property API): Document the API for multi-valued properties.
Diffstat (limited to 'doc/misc')
-rw-r--r--doc/misc/ChangeLog18
-rw-r--r--doc/misc/org.texi1552
2 files changed, 1030 insertions, 540 deletions
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog
index 7f74be79b39..f13b30bd7dd 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,3 +1,21 @@
12008-06-17 Carsten Dominik <dominik@science.uva.nl>
2
3 * org.texi: Modify license to no longer include back- and front
4 cover matters.
5 (Using the mapping API): New section.
6 (Agenda column view): New section.
7 (Moving subtrees): Document archiving to the archive
8 sibling.
9 (Agenda commands): Document columns view in the agenda.
10 (Using the property API): Document the API for
11 multi-valued properties.
12
132008-06-17 Jason Riedy <jason@acm.org>
14
15 * org.texi (A LaTeX example): Note that fmt may be a one-argument
16 function, and efmt may be a two-argument function.
17 (Radio tables): Document multiple destinations.
18
12008-06-16 Glenn Morris <rgm@gnu.org> 192008-06-16 Glenn Morris <rgm@gnu.org>
2 20
3 * epa.texi, erc.texi, pgg.texi, remember.texi, sasl.texi, url.texi: 21 * epa.texi, erc.texi, pgg.texi, remember.texi, sasl.texi, url.texi:
diff --git a/doc/misc/org.texi b/doc/misc/org.texi
index 7ec70e9caa2..71865b7b2a0 100644
--- a/doc/misc/org.texi
+++ b/doc/misc/org.texi
@@ -3,8 +3,8 @@
3@setfilename ../../info/org 3@setfilename ../../info/org
4@settitle The Org Manual 4@settitle The Org Manual
5 5
6@set VERSION 6.02b 6@set VERSION 6.05a
7@set DATE April 2008 7@set DATE June 2008
8 8
9@dircategory Emacs 9@dircategory Emacs
10@direntry 10@direntry
@@ -42,9 +42,9 @@ Permission is granted to copy, distribute and/or modify this document
42under the terms of the GNU Free Documentation License, Version 1.2 or 42under the terms of the GNU Free Documentation License, Version 1.2 or
43any later version published by the Free Software Foundation; with no 43any later version published by the Free Software Foundation; with no
44Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' 44Invariant Sections, with the Front-Cover texts being ``A GNU Manual,''
45and with the Back-Cover Texts as in (a) below. A copy of the 45and with the Back-Cover Texts as in (a) below. A copy of the
46license is included in the section entitled ``GNU Free Documentation 46 license is included in the section entitled ``GNU Free Documentation
47License'' in the Emacs manual. 47-License.''
48 48
49(a) The FSF's Back-Cover Text is: ``You have the freedom to copy and 49(a) The FSF's Back-Cover Text is: ``You have the freedom to copy and
50modify this GNU manual. Buying copies from the FSF supports it in 50modify this GNU manual. Buying copies from the FSF supports it in
@@ -94,7 +94,8 @@ license to the document, as described in section 6 of the license.
94* Exporting:: Sharing and publishing of notes 94* Exporting:: Sharing and publishing of notes
95* Publishing:: Create a web site of linked Org files 95* Publishing:: Create a web site of linked Org files
96* Miscellaneous:: All the rest which did not fit elsewhere 96* Miscellaneous:: All the rest which did not fit elsewhere
97* Extensions and Hacking:: It is possible to write add-on code 97* Extensions::
98* Hacking::
98* History and Acknowledgments:: How Org came into being 99* History and Acknowledgments:: How Org came into being
99* Main Index:: An index of Org's concepts and features 100* Main Index:: An index of Org's concepts and features
100* Key Index:: Key bindings and where they are described 101* Key Index:: Key bindings and where they are described
@@ -279,16 +280,35 @@ Embedded LaTeX
279 280
280Exporting 281Exporting
281 282
283* Markup rules:: Which structures are recognized?
284* Export options:: Per-file export settings
285* The export dispatcher:: How to access exporter commands
282* ASCII export:: Exporting to plain ASCII 286* ASCII export:: Exporting to plain ASCII
283* HTML export:: Exporting to HTML 287* HTML export:: Exporting to HTML
284* LaTeX export:: Exporting to LaTeX 288* LaTeX export:: Exporting to LaTeX
285* XOXO export:: Exporting to XOXO 289* XOXO export:: Exporting to XOXO
286* iCalendar export:: Exporting in iCalendar format 290* iCalendar export:: Exporting in iCalendar format
287* Text interpretation:: How the exporter looks at the file 291
292Markup rules
293
294* Document title:: How the document title is determined
295* Headings and sections:: The main structure of the exported document
296* Table of contents:: If, where, how to create a table of contents
297* Initial text:: Text before the first headline
298* Lists:: Plain lists are exported
299* Paragraphs:: What determines beginning and ending
300* Literal examples:: Source code and other examples
301* Include files:: Include the contents of a file during export
302* Tables exported:: Tables are exported richly
303* Footnotes:: Numbers like [1]
304* Emphasis and monospace:: To bold or not to bold
305* TeX macros and LaTeX fragments:: Create special, rich export.
306* Horizontal rules:: A line across the page
307* Comment lines:: Some lines will not be exported
288 308
289HTML export 309HTML export
290 310
291* HTML Export commands:: How to invoke LaTeX export 311* HTML Export commands:: How to invoke HTML export
292* Quoting HTML tags:: Using direct HTML in Org mode 312* Quoting HTML tags:: Using direct HTML in Org mode
293* Links:: Transformation of links for HTML 313* Links:: Transformation of links for HTML
294* Images:: How to include images 314* Images:: How to include images
@@ -301,15 +321,6 @@ LaTeX export
301* Quoting LaTeX code:: Incorporating literal LaTeX code 321* Quoting LaTeX code:: Incorporating literal LaTeX code
302* Sectioning structure:: Changing sectioning in LaTeX output 322* Sectioning structure:: Changing sectioning in LaTeX output
303 323
304Text interpretation by the exporter
305
306* Comment lines:: Some lines will not be exported
307* Initial text:: Text before the first headline
308* Footnotes:: Numbers like [1]
309* Quoted examples:: Inserting quoted chunks of text
310* Enhancing text:: Subscripts, symbols and more
311* Export options:: How to influence the export settings
312
313Publishing 324Publishing
314 325
315* Configuration:: Defining projects 326* Configuration:: Defining projects
@@ -347,14 +358,19 @@ Interaction with other packages
347* Cooperation:: Packages Org cooperates with 358* Cooperation:: Packages Org cooperates with
348* Conflicts:: Packages that lead to conflicts 359* Conflicts:: Packages that lead to conflicts
349 360
350Extensions, Hooks and Hacking 361Extensions
362
363* Extensions in the contrib directory:: These come with the Org distro
364* Other extensions:: These you have to find on the web.
365
366Hacking
351 367
352* Extensions:: Existing 3rd-party extensions
353* Adding hyperlink types:: New custom link types 368* Adding hyperlink types:: New custom link types
354* Tables in arbitrary syntax:: Orgtbl for LaTeX and other programs 369* Tables in arbitrary syntax:: Orgtbl for LaTeX and other programs
355* Dynamic blocks:: Automatically filled blocks 370* Dynamic blocks:: Automatically filled blocks
356* Special agenda views:: Customized views 371* Special agenda views:: Customized views
357* Using the property API:: Writing programs that use entry properties 372* Using the property API:: Writing programs that use entry properties
373* Using the mapping API:: Mapping over all or selected entries
358 374
359Tables and lists in arbitrary syntax 375Tables and lists in arbitrary syntax
360 376
@@ -561,9 +577,10 @@ the file's name is. See also the variable
561@cindex maintainer 577@cindex maintainer
562@cindex author 578@cindex author
563 579
564If you find problems with Org, or if you have questions, remarks, 580If you find problems with Org, or if you have questions, remarks, or ideas
565or ideas about it, please contact the maintainer @value{MAINTAINER} at 581about it, please mail to the Org mailing list @code{emacs-orgmode@@gnu.org}.
566@value{MAINTAINEREMAIL}. 582If you are not a member of the mailing list, your mail will be reviewed by a
583moderator and then passed through to the list.
567 584
568For bug reports, please provide as much information as possible, 585For bug reports, please provide as much information as possible,
569including the version information of Emacs (@kbd{C-h v emacs-version 586including the version information of Emacs (@kbd{C-h v emacs-version
@@ -792,6 +809,19 @@ buffer:
792#+STARTUP: showall 809#+STARTUP: showall
793@end example 810@end example
794 811
812@noindent
813Forthermore, any entries with a @samp{VISIBILITY} property (@pxref{Properties
814and Columns}) will get their visibility adapted accordingly. Allowed values
815for this property are @code{folded}, @code{children}, @code{content}, and
816@code{all}.
817@table @kbd
818@kindex C-u C-u @key{TAB}
819@item C-u C-u @key{TAB}
820Switch back to the startup visibility of the buffer, i.e. whatever is
821requested by startup options and @samp{VISIBILITY} properties in individual
822entries.
823@end table
824
795@node Motion, Structure editing, Visibility cycling, Document Structure 825@node Motion, Structure editing, Visibility cycling, Document Structure
796@section Motion 826@section Motion
797@cindex motion, between headlines 827@cindex motion, between headlines
@@ -915,6 +945,12 @@ been defined in the setup). Reverse sorting is possible as well. You can
915also supply your own function to extract the sorting key. With a @kbd{C-u} 945also supply your own function to extract the sorting key. With a @kbd{C-u}
916prefix, sorting will be case-sensitive. With two @kbd{C-u C-u} prefixes, 946prefix, sorting will be case-sensitive. With two @kbd{C-u C-u} prefixes,
917duplicate entries will also be removed. 947duplicate entries will also be removed.
948@kindex C-x n s
949@item C-x n s
950Narrow buffer to current subtree.
951@kindex C-x n w
952@item C-x n w
953Widen buffer to remove a narrowing.
918@kindex C-c * 954@kindex C-c *
919@item C-c * 955@item C-c *
920Turn a normal line or plain list item into a headline (so that it 956Turn a normal line or plain list item into a headline (so that it
@@ -1064,14 +1100,14 @@ added.
1064@cindex folding, sparse trees 1100@cindex folding, sparse trees
1065@cindex occur, command 1101@cindex occur, command
1066 1102
1067An important feature of Org mode is the ability to construct 1103An important feature of Org mode is the ability to construct @emph{sparse
1068@emph{sparse trees} for selected information in an outline tree, so that 1104trees} for selected information in an outline tree, so that the entire
1069the entire document is folded as much as possible, but the selected 1105document is folded as much as possible, but the selected information is made
1070information is made visible along with the headline structure above 1106visible along with the headline structure above it@footnote{See also the
1071it@footnote{See also the variables @code{org-show-hierarchy-above}, 1107variables @code{org-show-hierarchy-above}, @code{org-show-following-heading},
1072@code{org-show-following-heading}, and @code{org-show-siblings} for 1108@code{org-show-siblings}, and @code{org-show-entry-below} for detailed
1073detailed control on how much context is shown around each match.}. Just 1109control on how much context is shown around each match.}. Just try it out
1074try it out and you will see immediately how it works. 1110and you will see immediately how it works.
1075 1111
1076Org mode contains several commands creating such trees, all these 1112Org mode contains several commands creating such trees, all these
1077commands can be accessed through a dispatcher: 1113commands can be accessed through a dispatcher:
@@ -1082,15 +1118,16 @@ commands can be accessed through a dispatcher:
1082This prompts for an extra key to select a sparse-tree creating command. 1118This prompts for an extra key to select a sparse-tree creating command.
1083@kindex C-c / r 1119@kindex C-c / r
1084@item C-c / r 1120@item C-c / r
1085Occur. Prompts for a regexp and shows a sparse tree with all matches. 1121Occur. Prompts for a regexp and shows a sparse tree with all matches. If
1086If the match is in a headline, the headline is made visible. If the 1122the match is in a headline, the headline is made visible. If the match is in
1087match is in the body of an entry, headline and body are made visible. 1123the body of an entry, headline and body are made visible. In order to
1088In order to provide minimal context, also the full hierarchy of 1124provide minimal context, also the full hierarchy of headlines above the match
1089headlines above the match is shown, as well as the headline following 1125is shown, as well as the headline following the match. Each match is also
1090the match. Each match is also highlighted; the highlights disappear 1126highlighted; the highlights disappear when the buffer is changed by an
1091when the buffer is changed by an editing command, or by pressing 1127editing command@footnote{depending on the option
1092@kbd{C-c C-c}. When called with a @kbd{C-u} prefix argument, previous 1128@code{org-remove-highlights-with-change}}, or by pressing @kbd{C-c C-c}.
1093highlights are kept, so several calls to this command can be stacked. 1129When called with a @kbd{C-u} prefix argument, previous highlights are kept,
1130so several calls to this command can be stacked.
1094@end table 1131@end table
1095 1132
1096@noindent 1133@noindent
@@ -1133,24 +1170,34 @@ additional structure. They also provide a way to create lists of
1133checkboxes (@pxref{Checkboxes}). Org supports editing such lists, 1170checkboxes (@pxref{Checkboxes}). Org supports editing such lists,
1134and the HTML exporter (@pxref{Exporting}) parses and formats them. 1171and the HTML exporter (@pxref{Exporting}) parses and formats them.
1135 1172
1136Org knows ordered and unordered lists. Unordered list items start 1173Org knows ordered lists, unordered lists, and description lists.
1137with @samp{-}, @samp{+}, or @samp{*}@footnote{When using @samp{*} as a 1174@itemize @bullet
1138bullet, lines must be indented or they will be seen as top-level 1175@item
1139headlines. Also, when you are hiding leading stars to get a clean 1176@emph{Unordered} list items start with @samp{-}, @samp{+}, or
1140outline view, plain list items starting with a star are visually 1177@samp{*}@footnote{When using @samp{*} as a bullet, lines must be indented or
1141indistinguishable from true headlines. In short: even though @samp{*} 1178they will be seen as top-level headlines. Also, when you are hiding leading
1142is supported, it may be better to not use it for plain list items.} as 1179stars to get a clean outline view, plain list items starting with a star are
1143bullets. Ordered list items start with a numeral followed by either a 1180visually indistinguishable from true headlines. In short: even though
1144period or a right parenthesis, such as @samp{1.} or @samp{1)}. Items 1181@samp{*} is supported, it may be better to not use it for plain list items.}
1145belonging to the same list must have the same indentation on the first 1182as bullets.
1146line. In particular, if an ordered list reaches number @samp{10.}, then 1183@item
1147the 2--digit numbers must be written left-aligned with the other numbers 1184@emph{Ordered} list items start with a numeral followed by either a period or
1148in the list. Indentation also determines the end of a list item. It 1185a right parenthesis, such as @samp{1.} or @samp{1)}.
1149ends before the next line that is indented like the bullet/number, or 1186@item
1150less. Empty lines are part of the previous item, so you can have 1187@emph{Description} list items are like unordered list items, but contain the
1151several paragraphs in one item. If you would like an empty line to 1188separator @samp{ :: } to separate the description @emph{term} from the
1152terminate all currently open plain lists, configure the variable 1189desciption.
1153@code{org-empty-line-terminates-plain-lists}. Here is an example: 1190@end itemize
1191
1192Items belonging to the same list must have the same indentation on the first
1193line. In particular, if an ordered list reaches number @samp{10.}, then the
11942--digit numbers must be written left-aligned with the other numbers in the
1195list. Indentation also determines the end of a list item. It ends before
1196the next line that is indented like the bullet/number, or less. Empty lines
1197are part of the previous item, so you can have several paragraphs in one
1198item. If you would like an empty line to terminate all currently open plain
1199lists, configure the variable @code{org-empty-line-terminates-plain-lists}.
1200Here is an example:
1154 1201
1155@example 1202@example
1156@group 1203@group
@@ -1164,6 +1211,10 @@ terminate all currently open plain lists, configure the variable
1164 - on DVD only 1211 - on DVD only
1165 He makes a really funny face when it happens. 1212 He makes a really funny face when it happens.
1166 But in the end, not individual scenes matter but the film as a whole. 1213 But in the end, not individual scenes matter but the film as a whole.
1214 Important actors in this film are:
1215 - @b{Elijah Wood} :: He plays the Frodo
1216 - @b{Sean Austin} :: He plays the Sam, Frodos friend. I still remember
1217 him very well from his role as Mikey Walsh a in the Goonies.
1167@end group 1218@end group
1168@end example 1219@end example
1169 1220
@@ -1171,7 +1222,8 @@ Org supports these lists by tuning filling and wrapping commands to
1171deal with them correctly@footnote{Org only changes the filling 1222deal with them correctly@footnote{Org only changes the filling
1172settings for Emacs. For XEmacs, you should use Kyle E. Jones' 1223settings for Emacs. For XEmacs, you should use Kyle E. Jones'
1173@file{filladapt.el}. To turn this on, put into @file{.emacs}: 1224@file{filladapt.el}. To turn this on, put into @file{.emacs}:
1174@code{(require 'filladapt)}}. 1225@code{(require 'filladapt)}}, and by exporting them properly
1226(@pxref{Exporting}).
1175 1227
1176The following commands act on items when the cursor is in the first line 1228The following commands act on items when the cursor is in the first line
1177of an item (the line with the bullet or number). 1229of an item (the line with the bullet or number).
@@ -1265,7 +1317,8 @@ Visibility cycling (@pxref{Visibility cycling}) on the headline will
1265hide and show the entry, but keep the drawer collapsed to a single line. 1317hide and show the entry, but keep the drawer collapsed to a single line.
1266In order to look inside the drawer, you need to move the cursor to the 1318In order to look inside the drawer, you need to move the cursor to the
1267drawer line and press @key{TAB} there. Org mode uses a drawer for 1319drawer line and press @key{TAB} there. Org mode uses a drawer for
1268storing properties (@pxref{Properties and Columns}). 1320storing properties (@pxref{Properties and Columns}), and another one for
1321storing clock times (@pxref{Clocking work time}).
1269 1322
1270@node Orgstruct mode, , Drawers, Document Structure 1323@node Orgstruct mode, , Drawers, Document Structure
1271@section The Orgstruct minor mode 1324@section The Orgstruct minor mode
@@ -1520,7 +1573,10 @@ exchange with, for example, spreadsheet or database programs. The format
1520used to export the file can be configured in the variable 1573used to export the file can be configured in the variable
1521@code{org-table-export-default-format}. You may also use properties 1574@code{org-table-export-default-format}. You may also use properties
1522@code{TABLE_EXPORT_FILE} and @code{TABLE_EXPORT_FORMAT} to specify the file 1575@code{TABLE_EXPORT_FILE} and @code{TABLE_EXPORT_FORMAT} to specify the file
1523name and the format for table export in a subtree. 1576name and the format for table export in a subtree. Org supports quite
1577general formats for exported tables. The exporter format is the same as the
1578format used by Orgtbl radio tables, see @ref{Translator functions} for a
1579detailed description.
1524@end table 1580@end table
1525 1581
1526If you don't like the automatic table editor because it gets in your 1582If you don't like the automatic table editor because it gets in your
@@ -2656,8 +2712,6 @@ for Bib@TeX{} database files, and you can use the corresponding code as
2656an implementation example. Search for @samp{BibTeX links} in the source 2712an implementation example. Search for @samp{BibTeX links} in the source
2657file. 2713file.
2658 2714
2659
2660
2661@node TODO Items, Tags, Hyperlinks, Top 2715@node TODO Items, Tags, Hyperlinks, Top
2662@chapter TODO Items 2716@chapter TODO Items
2663@cindex TODO items 2717@cindex TODO items
@@ -3136,12 +3190,37 @@ priority):
3136@cindex tasks, breaking down 3190@cindex tasks, breaking down
3137 3191
3138It is often advisable to break down large tasks into smaller, manageable 3192It is often advisable to break down large tasks into smaller, manageable
3139subtasks. You can do this by creating an outline tree below a TODO 3193subtasks. You can do this by creating an outline tree below a TODO item,
3140item, with detailed subtasks on the tree@footnote{To keep subtasks out 3194with detailed subtasks on the tree@footnote{To keep subtasks out of the
3141of the global TODO list, see the 3195global TODO list, see the @code{org-agenda-todo-list-sublevels}.}. To keep
3142@code{org-agenda-todo-list-sublevels}.}. Another possibility is the use 3196the overview over the fraction of subtasks that are already completed, insert
3143of checkboxes to identify (a hierarchy of) a large number of subtasks 3197either @samp{[/]} or @samp{[%]} anywhere in the headline. These cookies will
3144(@pxref{Checkboxes}). 3198be updates each time the todo status of a child changes. For example:
3199
3200@example
3201* Organize Party [33%]
3202** TODO Call people [1/2]
3203*** TODO Peter
3204*** DONE Sarah
3205** TODO Buy food
3206** DONE Talk to neighbor
3207@end example
3208
3209If you would like a TODO entry to automatically change to DONE when all
3210chilrden are done, you can use the following setup:
3211
3212@example
3213(defun org-summary-todo (n-done n-not-done)
3214 "Switch entry to DONE when all subentries are done, to TODO otherwise."
3215 (let (org-log-done org-log-states) ; turn off logging
3216 (org-todo (if (= n-not-done 0) "DONE" "TODO"))))
3217
3218(add-hook 'org-after-todo-statistics-hook 'org-summary-todo)
3219@end example
3220
3221
3222Another possibility is the use of checkboxes to identify (a hierarchy of) a
3223large number of subtasks (@pxref{Checkboxes}).
3145 3224
3146 3225
3147@node Checkboxes, , Breaking down tasks, TODO Items 3226@node Checkboxes, , Breaking down tasks, TODO Items
@@ -3268,14 +3347,24 @@ well. For example, in the list
3268@noindent 3347@noindent
3269the final heading will have the tags @samp{:work:}, @samp{:boss:}, 3348the final heading will have the tags @samp{:work:}, @samp{:boss:},
3270@samp{:notes:}, and @samp{:action:} even though the final heading is not 3349@samp{:notes:}, and @samp{:action:} even though the final heading is not
3271explicitly marked with those tags. When executing tag searches and 3350explicitly marked with those tags. You can also set tags that all entries in
3272Org mode finds that a certain headline matches the search criterion, it 3351a file should inherit as if these tags would be defined in a hypothetical
3273will not check any sublevel headline, assuming that these also match and 3352level zero that surounds the entire file.
3274that the list of matches could become very long because of that. If you 3353
3275do want the sublevels be tested and listed as well, you may set the 3354@example
3276variable @code{org-tags-match-list-sublevels}. To limit tag inheritance 3355#+FILETAGS: :Peter:Boss:Secret:
3277to specific tags, or to turn it off entirely, use the variable 3356@end example
3278@code{org-use-tag-inheritance}. 3357
3358@noindent
3359To limit tag inheritance to specific tags, or to turn it off entirely, use
3360the variable @code{org-use-tag-inheritance}.
3361
3362When a headline matches during a tags search while tag inheritance is turned
3363on, all the sublevels in the same tree will match as well@footnote{This is
3364only true if the the search does not involve more complex tests including
3365properties (@pxref{Property searches}).}. The list of matches may then
3366become very long. If you only want to see the first tags match in a subtree,
3367configure the variable @code{org-tags-match-list-sublevels}.
3279 3368
3280@node Setting tags, Tag searches, Tag inheritance, Tags 3369@node Setting tags, Tag searches, Tag inheritance, Tags
3281@section Setting tags 3370@section Setting tags
@@ -3886,6 +3975,8 @@ Move through the column view from field to field.
3886@item S-@key{left}/@key{right} 3975@item S-@key{left}/@key{right}
3887Switch to the next/previous allowed value of the field. For this, you 3976Switch to the next/previous allowed value of the field. For this, you
3888have to have specified allowed values for a property. 3977have to have specified allowed values for a property.
3978@item 1..9,0
3979Directly select the nth allowed value, @kbd{0} selects the 10th value.
3889@kindex n 3980@kindex n
3890@kindex p 3981@kindex p
3891@itemx n / p 3982@itemx n / p
@@ -3930,6 +4021,7 @@ exported or printed directly. If you want to capture a column view, use
3930this @code{columnview} dynamic block (@pxref{Dynamic blocks}). The frame 4021this @code{columnview} dynamic block (@pxref{Dynamic blocks}). The frame
3931of this block looks like this: 4022of this block looks like this:
3932 4023
4024@cindex #+BEGIN: columnview
3933@example 4025@example
3934* The column view 4026* The column view
3935#+BEGIN: columnview :hlines 1 :id "label" 4027#+BEGIN: columnview :hlines 1 :id "label"
@@ -3948,8 +4040,10 @@ capture, you can use 3 values:
3948@example 4040@example
3949local @r{use the tree in which the capture block is located} 4041local @r{use the tree in which the capture block is located}
3950global @r{make a global view, including all headings in the file} 4042global @r{make a global view, including all headings in the file}
3951"label" @r{call column view in the tree that has and @code{:ID:}} 4043"label" @r{call column view in the tree that has an @code{:ID:}}
3952 @r{property with the value @i{label}} 4044 @r{property with the value @i{label}. You can use}
4045 @r{@kbd{M-x org-id-copy} to create a globally unique ID for}
4046 @r{the current entry and copy it to the kill-ring.}
3953@end example 4047@end example
3954@item :hlines 4048@item :hlines
3955When @code{t}, insert a hline after every line. When a number N, insert 4049When @code{t}, insert a hline after every line. When a number N, insert
@@ -4215,6 +4309,8 @@ a single letter, you use the abbreviation of day name, the date will be
4215the nth such day. E.g. 4309the nth such day. E.g.
4216 4310
4217@example 4311@example
4312+0 --> today
4313. --> today
4218+4d --> four days from today 4314+4d --> four days from today
4219+4 --> same as above 4315+4 --> same as above
4220+2w --> two weeks from today 4316+2w --> two weeks from today
@@ -4411,6 +4507,15 @@ Insert @samp{SCHEDULED} keyword along with a stamp. The insertion will
4411happen in the line directly following the headline. Any CLOSED 4507happen in the line directly following the headline. Any CLOSED
4412timestamp will be removed. When called with a prefix argument, remove 4508timestamp will be removed. When called with a prefix argument, remove
4413the scheduling date from the entry. 4509the scheduling date from the entry.
4510@c
4511@kindex C-c C-x C-k
4512@kindex k a
4513@kindex k s
4514@item C-c C-x C-k
4515Mark the current entry for agenda action. After you have marked the entry
4516like this, you can open the agenda or the calendar to find an appropriate
4517date. With the cursor on the selected date, press @kbd{k s} or @kbd{k d} to
4518schedule the marked item.
4414@end table 4519@end table
4415 4520
4416@node Repeated tasks, , Inserting deadline/schedule, Deadlines and scheduling 4521@node Repeated tasks, , Inserting deadline/schedule, Deadlines and scheduling
@@ -4545,6 +4650,7 @@ report as an Org mode table into the current file. When the cursor is
4545at an existing clock table, just update it. When called with a prefix 4650at an existing clock table, just update it. When called with a prefix
4546argument, jump to the first clock report in the current document and 4651argument, jump to the first clock report in the current document and
4547update it. 4652update it.
4653@cindex #+BEGIN: clocktable
4548@example 4654@example
4549#+BEGIN: clocktable :maxlevel 2 :emphasize nil :scope file 4655#+BEGIN: clocktable :maxlevel 2 :emphasize nil :scope file
4550#+END: clocktable 4656#+END: clocktable
@@ -4620,7 +4726,7 @@ The @kbd{l} key may be used in the timeline (@pxref{Timeline}) and in
4620the agenda (@pxref{Weekly/daily agenda}) to show which tasks have been 4726the agenda (@pxref{Weekly/daily agenda}) to show which tasks have been
4621worked on or closed during a day. 4727worked on or closed during a day.
4622 4728
4623@node Effort estimates 4729@node Effort estimates, , Clocking work time, Dates and Times
4624@section Effort estimates 4730@section Effort estimates
4625@cindex Effort estimates 4731@cindex Effort estimates
4626 4732
@@ -4655,7 +4761,7 @@ In the column next to it, any clocked time will be displayed.
4655If you switch to column view in the daily/weekly agenda, the effort column 4761If you switch to column view in the daily/weekly agenda, the effort column
4656will summarize the estimated work effort for each day@footnote{Please note 4762will summarize the estimated work effort for each day@footnote{Please note
4657the pitfalls of summing hierarchical data in a flat list (@pxref{Agenda 4763the pitfalls of summing hierarchical data in a flat list (@pxref{Agenda
4658column view}.}, and you can use this to find space in your schedule. To get 4764column view}).}, and you can use this to find space in your schedule. To get
4659an overview of the entire part of the day that is committed, you can set the 4765an overview of the entire part of the day that is committed, you can set the
4660option @code{org-agenda-columns-add-appointments-to-effort-sum}. The 4766option @code{org-agenda-columns-add-appointments-to-effort-sum}. The
4661appointments on a day that take place over a specified time interval will 4767appointments on a day that take place over a specified time interval will
@@ -4705,6 +4811,11 @@ stored: Just call @code{org-remember} with a prefix argument. If you
4705use two prefix arguments, Org jumps to the location where the last 4811use two prefix arguments, Org jumps to the location where the last
4706remember note was stored. 4812remember note was stored.
4707 4813
4814You can also call @code{org-remember} in a special way from the agenda,
4815using the @kbd{k r} key combination. With this access, any time stamps
4816inserted by the selected remember template (see below) will default to
4817the cursor date in the agenda, rather than to the current date.
4818
4708@node Remember templates, Storing notes, Setting up Remember, Remember 4819@node Remember templates, Storing notes, Setting up Remember, Remember
4709@section Remember templates 4820@section Remember templates
4710@cindex templates, for remember 4821@cindex templates, for remember
@@ -4724,26 +4835,29 @@ use:
4724 4835
4725@noindent In these entries, the first string is just a name, and the 4836@noindent In these entries, the first string is just a name, and the
4726character specifies how to select the template. It is useful if the 4837character specifies how to select the template. It is useful if the
4727character is also the first letter of the name. The next string 4838character is also the first letter of the name. The next string specifies
4728specifies the template. Two more (optional) strings give the file in 4839the template. Two more (optional) strings give the file in which, and the
4729which, and the headline under which the new note should be stored. The 4840headline under which the new note should be stored. The file (if not present
4730file (if not present or @code{nil}) defaults to 4841or @code{nil}) defaults to @code{org-default-notes-file}, the heading to
4731@code{org-default-notes-file}, the heading to 4842@code{org-remember-default-headline}. If the file name is not an absolute
4732@code{org-remember-default-headline}. If the file name is not an 4843path, it will be interpreted relative to @code{org-directory}. The heading
4733absolute path, it will be interpreted relative to @code{org-directory}. 4844can also be the symbols @code{top} or @code{bottom} to send note as level 1
4734 4845entries to the beginning or end of the file, respectively.
4735An optional sixth element specifies the contexts in which the user can 4846
4736select the template. This element can be either a list of major modes 4847An optional sixth element specifies the contexts in which the user can select
4737or a function. @code{org-remember} will first check whether the function 4848the template. This element can be a list of major modes or a function.
4738returns @code{t} or if we are in any of the listed major mode, and select 4849@code{org-remember} will first check whether the function returns @code{t} or
4739the template accordingly. 4850if we are in any of the listed major mode, and exclude templates fo which
4851this condition is not fulfilled. Templates that do not specify this element
4852at all, or that use @code{nil} or @code{t} as a value will always be
4853selectable.
4740 4854
4741So for example: 4855So for example:
4742 4856
4743@example 4857@example
4744(setq org-remember-templates 4858(setq org-remember-templates
4745 '(("Bug" ?b "* BUG %?\n %i\n %a" "~/org/BUGS.org" "Bugs" (emacs-lisp-mode)) 4859 '(("Bug" ?b "* BUG %?\n %i\n %a" "~/org/BUGS.org" "Bugs" (emacs-lisp-mode))
4746 ("Journal" ?j "* %U %?\n\n %i\n %a" "~/org/JOURNAL.org" my-check) 4860 ("Journal" ?j "* %U %?\n\n %i\n %a" "~/org/JOURNAL.org" "X" my-check)
4747 ("Idea" ?i "* %^@{Title@}\n %i\n %a" "~/org/JOURNAL.org" "New Ideas"))) 4861 ("Idea" ?i "* %^@{Title@}\n %i\n %a" "~/org/JOURNAL.org" "New Ideas")))
4748@end example 4862@end example
4749 4863
@@ -4752,8 +4866,8 @@ from an buffer in @code{emacs-lisp-mode}. The second template will only be
4752available when the function @code{my-check} returns @code{t}. The third 4866available when the function @code{my-check} returns @code{t}. The third
4753template will be proposed in any context. 4867template will be proposed in any context.
4754 4868
4755When you call @kbd{M-x remember} (or @kbd{M-x org-remember}) to remember 4869When you call @kbd{M-x org-remember} (or @kbd{M-x remember}) to remember
4756something, org will prompt for a key to select the template (if you have 4870something, Org will prompt for a key to select the template (if you have
4757more than one template) and then prepare the buffer like 4871more than one template) and then prepare the buffer like
4758@example 4872@example
4759* TODO 4873* TODO
@@ -4768,16 +4882,16 @@ insertion of content:
4768 @r{You may specify a default value and a completion table with} 4882 @r{You may specify a default value and a completion table with}
4769 @r{%^@{prompt|default|completion2|completion3...@}} 4883 @r{%^@{prompt|default|completion2|completion3...@}}
4770 @r{The arrow keys access a prompt-specific history.} 4884 @r{The arrow keys access a prompt-specific history.}
4885%a @r{annotation, normally the link created with @code{org-store-link}}
4886%A @r{like @code{%a}, but prompt for the description part}
4887%i @r{initial content, the region when remember is called with C-u.}
4888 @r{The entire text will be indented like @code{%i} itself.}
4771%t @r{time stamp, date only} 4889%t @r{time stamp, date only}
4772%T @r{time stamp with date and time} 4890%T @r{time stamp with date and time}
4773%u, %U @r{like the above, but inactive time stamps} 4891%u, %U @r{like the above, but inactive time stamps}
4774%^t @r{like @code{%t}, but prompt for date. Similarly @code{%^T}, @code{%^u}, @code{%^U}} 4892%^t @r{like @code{%t}, but prompt for date. Similarly @code{%^T}, @code{%^u}, @code{%^U}}
4775 @r{You may define a prompt like @code{%^@{Birthday@}t}} 4893 @r{You may define a prompt like @code{%^@{Birthday@}t}}
4776%n @r{user name (taken from @code{user-full-name})} 4894%n @r{user name (taken from @code{user-full-name})}
4777%a @r{annotation, normally the link created with @code{org-store-link}}
4778%A @r{like @code{%a}, but prompt for the description part}
4779%i @r{initial content, the region when remember is called with C-u.}
4780 @r{The entire text will be indented like @code{%i} itself.}
4781%c @r{Current kill ring head.} 4895%c @r{Current kill ring head.}
4782%x @r{Content of the X clipboard.} 4896%x @r{Content of the X clipboard.}
4783%^C @r{Interactive selection of which kill or clip to use.} 4897%^C @r{Interactive selection of which kill or clip to use.}
@@ -4789,6 +4903,7 @@ insertion of content:
4789%(sexp) @r{evaluate elisp @code{(sexp)} and replace with the result} 4903%(sexp) @r{evaluate elisp @code{(sexp)} and replace with the result}
4790%! @r{immediately store note after completing the template} 4904%! @r{immediately store note after completing the template}
4791 @r{(skipping the @kbd{C-c C-c} that normally triggers storing)} 4905 @r{(skipping the @kbd{C-c C-c} that normally triggers storing)}
4906%& @r{jump to target location immediately after storing note}
4792@end example 4907@end example
4793 4908
4794@noindent 4909@noindent
@@ -4828,14 +4943,20 @@ template that will be filled with the previous context information.
4828@node Storing notes, Refiling notes, Remember templates, Remember 4943@node Storing notes, Refiling notes, Remember templates, Remember
4829@section Storing notes 4944@section Storing notes
4830 4945
4831When you are finished preparing a note with @i{remember}, you have to 4946When you are finished preparing a note with @i{remember}, you have to press
4832press @kbd{C-c C-c} to file the note away. The handler will store the 4947@kbd{C-c C-c} to file the note away. If you have started the clock in the
4833note in the file and under the headline specified in the template, or it 4948remember buffer, you will first be asked if you want to clock out
4834will use the default file and headlines. The window configuration will 4949now@footnote{To avoid this query, configure the variable
4835be restored, sending you back to the working context before the call to 4950@code{org-remember-clock-out-on-exit}.}. If you answer @kbd{n}, the clock
4836@code{remember}. To re-use the location found during the last call to 4951will continue to run after the note is filed away.
4837@code{remember}, exit the remember buffer with @kbd{C-u C-u C-c C-c}, 4952
4838i.e. specify a double prefix argument to @kbd{C-c C-c}. 4953The handler will then store the note in the file and under the headline
4954specified in the template, or it will use the default file and headlines.
4955The window configuration will be restored, sending you back to the working
4956context before the call to @code{remember}. To re-use the location found
4957during the last call to @code{remember}, exit the remember buffer with
4958@kbd{C-u C-u C-c C-c}, i.e. specify a double prefix argument to @kbd{C-c
4959C-c}.
4839 4960
4840If you want to store the note directly to a different place, use 4961If you want to store the note directly to a different place, use
4841@kbd{C-u C-c C-c} instead to exit remember@footnote{Configure the 4962@kbd{C-u C-c C-c} instead to exit remember@footnote{Configure the
@@ -4898,7 +5019,9 @@ filed below the target heading as a subitem. Depending on
4898subitem.@* By default, all level 1 headlines in the current buffer are 5019subitem.@* By default, all level 1 headlines in the current buffer are
4899considered to be targets, but you can have more complex definitions 5020considered to be targets, but you can have more complex definitions
4900across a number of files. See the variable @code{org-refile-targets} 5021across a number of files. See the variable @code{org-refile-targets}
4901for details. 5022for details. If you would like to select a location via a file-pathlike
5023completion along the outline path, see the variable
5024@code{org-refile-use-outline-path}.
4902@kindex C-u C-c C-w 5025@kindex C-u C-c C-w
4903@item C-u C-c C-w 5026@item C-u C-c C-w
4904Use the refile interface to jump to a heading. 5027Use the refile interface to jump to a heading.
@@ -5696,13 +5819,13 @@ Toggle the ARCHIVE tag for the current headline.
5696@c 5819@c
5697@kindex A 5820@kindex A
5698@item A 5821@item A
5699Move the subtree correspoding to the current entry to its @emph{Archive 5822Move the subtree corresponding to the current entry to its @emph{Archive
5700Sibling}. 5823Sibling}.
5701@c 5824@c
5702@kindex $ 5825@kindex $
5703@item $ 5826@item $
5704Archive the subtree corresponding to the current headline. This means the 5827Archive the subtree corresponding to the current headline. This means the
5705entry will be moved to the configured archive locatin, most likely a 5828entry will be moved to the configured archive location, most likely a
5706different file. 5829different file.
5707@c 5830@c
5708@kindex T 5831@kindex T
@@ -5747,6 +5870,21 @@ Schedule this item
5747@item C-c C-d 5870@item C-c C-d
5748Set a deadline for this item. 5871Set a deadline for this item.
5749@c 5872@c
5873@kindex k
5874@item k
5875Agenda actions, to set dates for selected items to the cursor date.
5876This command also works in the calendar! The command prompts for an
5877additonal key:
5878@example
5879m @r{Mark the entry at point for action. You can also make entries}
5880 @r{in Org files with @kbd{C-c C-x C-k}.}
5881d @r{Set the deadline of the marked entry to the date at point.}
5882s @r{Schedule the marked entry at the date at point.}
5883r @r{Call @code{org-remember} with the cursor date as default date.}
5884@end example
5885Press @kbd{r} afterwards to refresh the agenda and see the effect of the
5886command.
5887@c
5750@kindex S-@key{right} 5888@kindex S-@key{right}
5751@item S-@key{right} 5889@item S-@key{right}
5752Change the time stamp associated with the current line by one day into the 5890Change the time stamp associated with the current line by one day into the
@@ -6554,8 +6692,425 @@ deadlines or appointments into a desktop calendar program like iCal,
6554Org mode can also produce extracts in the iCalendar format. Currently 6692Org mode can also produce extracts in the iCalendar format. Currently
6555Org mode only supports export, not import of these different formats. 6693Org mode only supports export, not import of these different formats.
6556 6694
6557When exporting, Org mode uses special conventions to enrich the output 6695@menu
6558produced. @xref{Text interpretation}, for more details. 6696* Markup rules:: Which structures are recognized?
6697* Export options:: Per-file export settings
6698* The export dispatcher:: How to access exporter commands
6699* ASCII export:: Exporting to plain ASCII
6700* HTML export:: Exporting to HTML
6701* LaTeX export:: Exporting to LaTeX
6702* XOXO export:: Exporting to XOXO
6703* iCalendar export:: Exporting in iCalendar format
6704@end menu
6705
6706@node Markup rules, Export options, Exporting, Exporting
6707@section Markup rules
6708
6709When exporting Org mode documents, the exporter tries to reflect the
6710structure of the document as accurately as possible in the back-end. Since
6711export targets like HTML or La@TeX{} allow much richer formatting, Org mode
6712has rules how to prepare text for rich export. This section summarizes the
6713markup rule used in an Org mode buffer.
6714
6715@menu
6716* Document title:: How the document title is determined
6717* Headings and sections:: The main structure of the exported document
6718* Table of contents:: If, where, how to create a table of contents
6719* Initial text:: Text before the first headline
6720* Lists:: Plain lists are exported
6721* Paragraphs:: What determines beginning and ending
6722* Literal examples:: Source code and other examples
6723* Include files:: Include the contents of a file during export
6724* Tables exported:: Tables are exported richly
6725* Footnotes:: Numbers like [1]
6726* Emphasis and monospace:: To bold or not to bold
6727* TeX macros and LaTeX fragments:: Create special, rich export.
6728* Horizontal rules:: A line across the page
6729* Comment lines:: Some lines will not be exported
6730@end menu
6731
6732@node Document title, Headings and sections, Markup rules, Markup rules
6733@subheading Document title
6734@cindex document title, markup rules
6735
6736@noindent
6737The title of the exported document is taken from the special line
6738
6739@example
6740#+TITLE: This is the title of the document
6741@end example
6742
6743@noindent
6744If this line does not exist, the title is derived from the first non-empty,
6745non-comment line in the buffer. If no such line exists, or if you have
6746turned off exporting of the text before the first headline (see below), the
6747title will be the file name without extension.
6748
6749If you are exporting only a subtree by marking is as the region, the heading
6750of the subtree will become the title of the document. If the subtree has a
6751property @code{EXPORT_TITLE}, that will take precedence.
6752
6753@node Headings and sections, Table of contents, Document title, Markup rules
6754@subheading Headings and sections
6755@cindex headings and sections, markup rules
6756
6757The outline structure of the document as described in @ref{Document
6758Structure} forms the basis for defining sections of the exported document.
6759However, since the outline structure is also used for (for example) lists of
6760tasks, only the first three outline levels will be used as headings. Deeper
6761levels will become itemized lists. You can change the location of this
6762switch, globally by setting the variable @code{org-headline-levels}, or on a
6763per file basis with a line
6764
6765@example
6766#+OPTIONS: H:4
6767@end example
6768
6769@node Table of contents, Initial text, Headings and sections, Markup rules
6770@subheading Table of contents
6771@cindex table of contents, markup rules
6772
6773The table of contents is normally inserted directly before the first headline
6774of the file. If you would like to get it to a different location, insert the
6775string @code{[TABLE-OF-CONTENTS]} on a line by itself at the desired
6776location. The depth of the table of contents is by default the same as the
6777number of headline levels, but you can choose a smaller number or turn off
6778the table of contents entirely by configuring the variable
6779@code{org-export-with-toc}, or on a per-file basis with a line like
6780
6781@example
6782#+OPTIONS: toc:2 (only to two levels in TOC)
6783#+OPTIONS: toc:nil (no TOC at all)
6784@end example
6785
6786@node Initial text, Lists, Table of contents, Markup rules
6787@subheading Text before the first headline
6788@cindex text before first headline, markup rules
6789@cindex #+TEXT
6790
6791Org mode normally exports the text before the first headline, and even uses
6792the first line as the document title. The text will be fully marked up. If
6793you need to include literal HTML or La@TeX{} code, use the special constructs
6794described below in the sections for the individual exporters.
6795
6796Some people like to use the space before the first headline for setup and
6797internal links and therefore would like to control the exported text before
6798the first headline in a different way. You can do so by setting the variable
6799@code{org-export-skip-text-before-1st-heading} to @code{t}. On a per-file
6800basis, you can get the same effect with @samp{#+OPTIONS: skip:t}.
6801
6802@noindent
6803If you still want to have some text before the first headline, use the
6804@code{#+TEXT} construct:
6805
6806@example
6807#+OPTIONS: skip:t
6808#+TEXT: This text will go before the *first* headline.
6809#+TEXT: [TABLE-OF-CONTENTS]
6810#+TEXT: This goes between the table of contents and the first headline
6811@end example
6812
6813@node Lists, Paragraphs, Initial text, Markup rules
6814@subheading Lists
6815@cindex lists, markup rules
6816
6817Plain lists as described in @ref{Plain lists} are translated to the back-ends
6818syntax for such lists. Most back-ends support unordered, ordered, and
6819description lists.
6820
6821@node Paragraphs, Literal examples, Lists, Markup rules
6822@subheading Paragraphs, line breaks, and quoting
6823@cindex paragraphs, markup rules
6824
6825Paragraphs are separated by at least one empty line. If you need to enforce
6826a line break within a paragraph, use @samp{\\} at the end of a line.
6827
6828To keep the line breaks in a region, but otherwise use normal formatting, you
6829can use this construct, which can also be used to format poetry.
6830
6831@example
6832#+BEGIN_VERSE
6833Everything should be made as simple as possible,
6834but not any simpler -- Albert Einstein
6835#+END_VERSE
6836@end example
6837
6838When quoting a passage from another document, it is customary to format this
6839as a paragraph that is indented on both the left and the right margin. You
6840can include quotations in Org mode documents like this:
6841
6842@example
6843#+BEGIN_QUOTE
6844Everything should be made as simple as possible,
6845but not any simpler -- Albert Einstein
6846#+END_QUOTE
6847@end example
6848
6849
6850@node Literal examples, Include files, Paragraphs, Markup rules
6851@subheading Literal examples
6852@cindex literal examples, markup rules
6853
6854You can include literal examples that should not be subjected to
6855markup. Such examples will be typeset in monospace, so this is well suited
6856for source code and similar examples.
6857@cindex #+BEGIN_EXAMPLE
6858
6859@example
6860#+BEGIN_EXAMPLE
6861Some example from a text file.
6862#+END_EXAMPLE
6863@end example
6864
6865For simplicity when using small examples, you can also start the example
6866lines with a colon:
6867
6868@example
6869: Some example from a text file.
6870@end example
6871
6872@cindex formatting source code, markup rules
6873If the example is source code from a programming language, or any other text
6874that can be marked up by font-lock in Emacs, you can ask for the example to
6875look like the fontified Emacs buffer@footnote{Currently this works only for
6876the HTML back-end, and requires the @file{htmlize.el} package version 1.34 or
6877later.}. This is done with the @samp{src} block, where you also need to
6878specify the name of the major mode that should be used to fontify the
6879example:
6880@cindex #+BEGIN_SRC
6881
6882@example
6883#+BEGIN_SRC emacs-lisp
6884(defun org-xor (a b)
6885 "Exclusive or."
6886 (if a (not b) b))
6887#+END_SRC
6888@end example
6889
6890@table @kbd
6891@kindex C-c '
6892@item C-c '
6893Edit the source code example at point in its native mode. This works by
6894switching to an indirect buffer, narrowing the buffer and switching to the
6895other mode. You need to exit by pressing @kbd{C-c '} again.
6896@end table
6897
6898
6899@node Include files, Tables exported, Literal examples, Markup rules
6900@subheading Include files
6901@cindex include files, markup rules
6902
6903During export, you can include the content of another file. For example, to
6904include your .emacs file, you could use:
6905@cindex #+INCLUDE
6906
6907@example
6908#+INCLUDE: "~/.emacs" src emacs-lisp
6909@end example
6910
6911The optional second and third parameter are the markup (@samp{quote},
6912@samp{example}, or @samp{src}), and, if the markup is @samp{src}, the
6913language for formatting the contents. The markup is optional, if it is not
6914given, the text will be assumed to be in Org mode format and will be
6915processed normally.
6916
6917@table @kbd
6918@kindex C-c '
6919@item C-c '
6920Visit the include file at point.
6921@end table
6922
6923@node Tables exported, Footnotes, Include files, Markup rules
6924@subheading Tables
6925@cindex tables, markup rules
6926
6927Both the native Org mode tables (@pxref{Tables}) and tables formatted with
6928the @file{table.el} package will be exported properly. For Org mode tables,
6929the lines before the first horizontal separator line will become table header
6930lines.
6931
6932@node Footnotes, Emphasis and monospace, Tables exported, Markup rules
6933@subheading Footnotes
6934@cindex footnotes, markup rules
6935@cindex @file{footnote.el}
6936
6937@kindex C-c !
6938Numbers in square brackets are treated as footnote markers, and lines
6939starting with such a marker are interpreted as the footnote itself. You can
6940use the Emacs package @file{footnote.el} to create footnotes@footnote{The
6941@file{footnote} package uses @kbd{C-c !} to invoke its commands. This
6942binding conflicts with the Org mode command for inserting inactive time
6943stamps. You could use the variable @code{footnote-prefix} to switch
6944footnotes commands to another key. Or, if you are too used to this binding,
6945you could use @code{org-replace-disputed-keys} and @code{org-disputed-keys}
6946to change the settings in Org.}. For example:
6947
6948@example
6949The Org homepage[1] now looks a lot better than it used to.
6950
6951[1] The link is: http://orgmode.org
6952@end example
6953
6954@node Emphasis and monospace, TeX macros and LaTeX fragments, Footnotes, Markup rules
6955@subheading Emphasis and monospace
6956
6957@cindex underlined text, markup rules
6958@cindex bold text, markup rules
6959@cindex italic text, markup rules
6960@cindex verbatim text, markup rules
6961@cindex code text, markup rules
6962@cindex strike-through text, markup rules
6963You can make words @b{*bold*}, @i{/italic/}, _underlined_, @code{=code=}
6964and @code{~verbatim~}, and, if you must, @samp{+strike-through+}. Text
6965in the code and verbatim string is not processed for Org mode specific
6966syntax, it is exported verbatim.
6967
6968@node TeX macros and LaTeX fragments, Horizontal rules, Emphasis and monospace, Markup rules
6969@subheading @TeX{} macros and La@TeX{} fragments
6970@cindex LaTeX fragments, markup rules
6971@cindex TeX macros, markup rules
6972@cindex HTML entities
6973@cindex LaTeX entities
6974
6975A @TeX{}-like syntax is used to specify special characters. Where possible,
6976these will be transformed into the native format of the exporter back-end.
6977Strings like @code{\alpha} will be exported as @code{&alpha;} in the HTML
6978output, and as @code{$\alpha$} in the La@TeX{} output. Similarly,
6979@code{\nbsp} will become @code{&nbsp;} in HTML and @code{~} in La@TeX{}.
6980This applies for a large number of entities, with names taken from both HTML
6981and La@TeX{}, see the variable @code{org-html-entities} for the complete
6982list. If you are unsure about a name, use @kbd{M-@key{TAB}} for completion
6983after having types the backslash and maybe a few characters
6984(@pxref{Completion}).
6985
6986La@TeX{} fragments are converted into images for HTML export, and they are
6987written literally into the La@TeX{} export. See also @ref{Embedded LaTeX}.
6988
6989Finally, @samp{\-} is treated as a shy hyphen, and @samp{--}, @samp{---}, and
6990@samp{...} are all converted into special commands creating hyphens of
6991different lengths or a compact set of dots.
6992
6993@node Horizontal rules, Comment lines, TeX macros and LaTeX fragments, Markup rules
6994@subheading Horizontal rules
6995@cindex horizontal rules, markup rules
6996A line consisting of only dashes, and at least 5 of them, will be
6997exported as a horizontal line (@samp{<hr/>} in HTML).
6998
6999@node Comment lines, , Horizontal rules, Markup rules
7000@subheading Comment lines
7001@cindex comment lines
7002@cindex exporting, not
7003
7004Lines starting with @samp{#} in column zero are treated as comments and will
7005never be exported. Also entire subtrees starting with the word
7006@samp{COMMENT} will never be exported. Finally, regions surrounded by
7007@samp{#+BEGIN_COMMENT} ... @samp{#+END_COMMENT} will not be exported.
7008
7009@table @kbd
7010@kindex C-c ;
7011@item C-c ;
7012Toggle the COMMENT keyword at the beginning of an entry.
7013@end table
7014
7015@node Export options, The export dispatcher, Markup rules, Exporting
7016@section Export options
7017@cindex options, for export
7018
7019@cindex completion, of option keywords
7020The exporter recognizes special lines in the buffer which provide
7021additional information. These lines may be put anywhere in the file.
7022The whole set of lines can be inserted into the buffer with @kbd{C-c
7023C-e t}. For individual lines, a good way to make sure the keyword is
7024correct is to type @samp{#+} and then use @kbd{M-@key{TAB}} completion
7025(@pxref{Completion}).
7026
7027@table @kbd
7028@kindex C-c C-e t
7029@item C-c C-e t
7030Insert template with export options, see example below.
7031@end table
7032
7033@cindex #+TITLE:
7034@cindex #+AUTHOR:
7035@cindex #+DATE:
7036@cindex #+EMAIL:
7037@cindex #+LANGUAGE:
7038@cindex #+TEXT:
7039@cindex #+OPTIONS:
7040@cindex #+LINK_UP:
7041@cindex #+LINK_HOME:
7042@example
7043#+TITLE: the title to be shown (default is the buffer name)
7044#+AUTHOR: the author (default taken from @code{user-full-name})
7045#+DATE: A date, fixed, of a format string for @code{format-time-string}
7046#+EMAIL: his/her email address (default from @code{user-mail-address})
7047#+LANGUAGE: language for HTML, e.g. @samp{en} (@code{org-export-default-language})
7048#+TEXT: Some descriptive text to be inserted at the beginning.
7049#+TEXT: Several lines may be given.
7050#+OPTIONS: H:2 num:t toc:t \n:nil @@:t ::t |:t ^:t f:t TeX:t ...
7051#+LINK_UP: the ``up'' link of an exported page
7052#+LINK_HOME: the ``home'' link of an exported page
7053@end example
7054
7055@noindent
7056The OPTIONS line is a compact@footnote{If you want to configure many options
7057this way, you can use several OPTIONS lines.} form to specify export settings. Here
7058you can:
7059@cindex headline levels
7060@cindex section-numbers
7061@cindex table of contents
7062@cindex line-break preservation
7063@cindex quoted HTML tags
7064@cindex fixed-width sections
7065@cindex tables
7066@cindex @TeX{}-like syntax for sub- and superscripts
7067@cindex footnotes
7068@cindex special strings
7069@cindex emphasized text
7070@cindex @TeX{} macros
7071@cindex La@TeX{} fragments
7072@cindex author info, in export
7073@cindex time info, in export
7074@example
7075H: @r{set the number of headline levels for export}
7076num: @r{turn on/off section-numbers}
7077toc: @r{turn on/off table of contents, or set level limit (integer)}
7078\n: @r{turn on/off line-break-preservation}
7079@@: @r{turn on/off quoted HTML tags}
7080:: @r{turn on/off fixed-width sections}
7081|: @r{turn on/off tables}
7082^: @r{turn on/off @TeX{}-like syntax for sub- and superscripts. If}
7083 @r{you write "^:@{@}", @code{a_@{b@}} will be interpreted, but}
7084 @r{the simple @code{a_b} will be left as it is.}
7085-: @r{turn on/off conversion of special strings.}
7086f: @r{turn on/off footnotes like this[1].}
7087*: @r{turn on/off emphasized text (bold, italic, underlined)}
7088TeX: @r{turn on/off simple @TeX{} macros in plain text}
7089LaTeX: @r{turn on/off La@TeX{} fragments}
7090skip: @r{turn on/off skipping the text before the first heading}
7091author: @r{turn on/off inclusion of author name/email into exported file}
7092timestamp: @r{turn on/off inclusion creation time into exported file}
7093d: @r{turn on/off inclusion of drawers}
7094@end example
7095
7096These options take effect in both the HTML and La@TeX{} export, except
7097for @code{TeX} and @code{LaTeX}, which are respectively @code{t} and
7098@code{nil} for the La@TeX{} export.
7099
7100When exporting only a single subtree by selecting it with @kbd{C-c @@} before
7101calling an export command, the subtree can overrule some of the file's export
7102settings with properties @code{EXPORT_FILE_NAME}, @code{EXPORT_TITLE},
7103@code{EXPORT_TEXT}, and @code{EXPORT_OPTIONS}.
7104
7105@node The export dispatcher, ASCII export, Export options, Exporting
7106@section The export dispatcher
7107@cindex dispatcher, for export commands
7108
7109All export commands can be reached using the export dispatcher, which is a
7110prefix key that prompts for an additional key specifying the command.
7111Normally the entire file is exported, but if there is an active region that
7112contains one outline tree, the first heading is used as document title and
7113the subtrees are exported.
6559 7114
6560@table @kbd 7115@table @kbd
6561@kindex C-c C-e 7116@kindex C-c C-e
@@ -6566,6 +7121,10 @@ command. The prefix arg is passed through to the exporter. If the option
6566@code{org-export-run-in-background} is set, Org will run the command in the 7121@code{org-export-run-in-background} is set, Org will run the command in the
6567background if that seems useful for the specific command (i.e. commands that 7122background if that seems useful for the specific command (i.e. commands that
6568write to a file). 7123write to a file).
7124@kindex C-c C-e v
7125@item C-c C-e v
7126Like @kbd{C-c C-e}, but only export the text that is currently visible
7127(i.e. not hidden by outline visibility).
6569@kindex C-u C-u C-c C-e 7128@kindex C-u C-u C-c C-e
6570@item C-u C-u C-c C-e 7129@item C-u C-u C-c C-e
6571Call an the exporter, but reverse the setting of 7130Call an the exporter, but reverse the setting of
@@ -6573,16 +7132,7 @@ Call an the exporter, but reverse the setting of
6573not set, or force processing in the current Emacs process if st. 7132not set, or force processing in the current Emacs process if st.
6574@end table 7133@end table
6575 7134
6576@menu 7135@node ASCII export, HTML export, The export dispatcher, Exporting
6577* ASCII export:: Exporting to plain ASCII
6578* HTML export:: Exporting to HTML
6579* LaTeX export:: Exporting to LaTeX
6580* XOXO export:: Exporting to XOXO
6581* iCalendar export:: Exporting in iCalendar format
6582* Text interpretation:: How the exporter looks at the file
6583@end menu
6584
6585@node ASCII export, HTML export, Exporting, Exporting
6586@section ASCII export 7136@section ASCII export
6587@cindex ASCII export 7137@cindex ASCII export
6588 7138
@@ -6598,9 +7148,10 @@ file.
6598Export as ASCII file. For an org file @file{myfile.org}, the ASCII file 7148Export as ASCII file. For an org file @file{myfile.org}, the ASCII file
6599will be @file{myfile.txt}. The file will be overwritten without 7149will be @file{myfile.txt}. The file will be overwritten without
6600warning. If there is an active region, only the region will be 7150warning. If there is an active region, only the region will be
6601exported. If the selected region is a single tree, the tree head will 7151exported. If the selected region is a single tree@footnote{To select the
7152current subtree, use @kbd{C-c @@}.}, the tree head will
6602become the document title. If the tree head entry has or inherits an 7153become the document title. If the tree head entry has or inherits an
6603@code{:EXPORT_FILE_NAME:} property, that name will be used for the 7154@code{EXPORT_FILE_NAME} property, that name will be used for the
6604export. 7155export.
6605@kindex C-c C-e v a 7156@kindex C-c C-e v a
6606@item C-c C-e v a 7157@item C-c C-e v a
@@ -6635,7 +7186,7 @@ HTML formatting, in ways similar to John Grubers @emph{markdown}
6635language, but with additional support for tables. 7186language, but with additional support for tables.
6636 7187
6637@menu 7188@menu
6638* HTML Export commands:: How to invoke LaTeX export 7189* HTML Export commands:: How to invoke HTML export
6639* Quoting HTML tags:: Using direct HTML in Org mode 7190* Quoting HTML tags:: Using direct HTML in Org mode
6640* Links:: Transformation of links for HTML 7191* Links:: Transformation of links for HTML
6641* Images:: How to include images 7192* Images:: How to include images
@@ -6652,13 +7203,13 @@ language, but with additional support for tables.
6652@table @kbd 7203@table @kbd
6653@kindex C-c C-e h 7204@kindex C-c C-e h
6654@item C-c C-e h 7205@item C-c C-e h
6655Export as HTML file @file{myfile.html}. For an org file 7206Export as HTML file @file{myfile.html}. For an org file @file{myfile.org},
6656@file{myfile.org}, the ASCII file will be @file{myfile.html}. The file 7207the ASCII file will be @file{myfile.html}. The file will be overwritten
6657will be overwritten without warning. If there is an active region, only 7208without warning. If there is an active region, only the region will be
6658the region will be exported. If the selected region is a single tree, 7209exported. If the selected region is a single tree@footnote{To select the
6659the tree head will become the document title. If the tree head entry 7210current subtree, use @kbd{C-c @@}.}, the tree head will become the document
6660has or inherits an @code{:EXPORT_FILE_NAME:} property, that name will be 7211title. If the tree head entry has or inherits an @code{EXPORT_FILE_NAME}
6661used for the export. 7212property, that name will be used for the export.
6662@kindex C-c C-e b 7213@kindex C-c C-e b
6663@item C-c C-e b 7214@item C-c C-e b
6664Export as HTML file and immediately open it with a browser. 7215Export as HTML file and immediately open it with a browser.
@@ -6716,6 +7267,7 @@ the exported file use either
6716@end example 7267@end example
6717 7268
6718@noindent or 7269@noindent or
7270@cindex #+BEGIN_HTML
6719 7271
6720@example 7272@example
6721#+BEGIN_HTML 7273#+BEGIN_HTML
@@ -6818,19 +7370,20 @@ navigation can be done with the @kbd{n} and @kbd{p} keys (and some other keys
6818as well, press @kbd{?} for an overview of the available keys). The second 7370as well, press @kbd{?} for an overview of the available keys). The second
6819view type is a @emph{folding} view much like Org provides it inside Emacs. 7371view type is a @emph{folding} view much like Org provides it inside Emacs.
6820The script is available at @url{http://orgmode.org/org-info.js} and you can 7372The script is available at @url{http://orgmode.org/org-info.js} and you can
6821find the documentation for it at @url{http://orgmode.org/org-infojs.html}. 7373find the documentation for it at
6822We are serving the script from our site, but if you use it a lot, you might 7374@url{http://orgmode.org/worg/code/org-info-js/org-info.js.html}. We are
6823not want to be dependent on @url{orgmode.org} and prefer to install a local 7375serving the script from our site, but if you use it a lot, you might not want
6824copy on your own web server. 7376to be dependent on @url{orgmode.org} and prefer to install a local copy on
7377your own web server.
6825 7378
6826To use the script, you need to make sure that the @file{org-infojs.el} module 7379To use the script, you need to make sure that the @file{org-jsinfo.el} module
6827gets loaded. It should be loaded by default, try @kbd{M-x customize-variable 7380gets loaded. It should be loaded by default, try @kbd{M-x customize-variable
6828@key{RET} org-modules @key{RET}} to convince yourself that this is indeed the 7381@key{RET} org-modules @key{RET}} to convince yourself that this is indeed the
6829case. All it then takes to make use of the program is adding a single line 7382case. All it then takes to make use of the program is adding a single line
6830to the Org file: 7383to the Org file:
6831 7384
6832@example 7385@example
6833#+INFOSJ_OPT: view:info toc:nil 7386#+INFOJS_OPT: view:info toc:nil
6834@end example 7387@end example
6835 7388
6836@noindent 7389@noindent
@@ -6842,7 +7395,7 @@ viewing options:
6842path: @r{The path to the script. The default is to grab the script from} 7395path: @r{The path to the script. The default is to grab the script from}
6843 @r{@url{http://orgmode.org/org-info.js}, but you might want to have} 7396 @r{@url{http://orgmode.org/org-info.js}, but you might want to have}
6844 @r{a local copy and use a path like @samp{../scripts/org-info.js}.} 7397 @r{a local copy and use a path like @samp{../scripts/org-info.js}.}
6845view: @r{Initial view when website is first shown. Possible values are} 7398view: @r{Initial view when website is first shown. Possible values are:}
6846 info @r{Info-like interface with one section per page.} 7399 info @r{Info-like interface with one section per page.}
6847 overview @r{Folding interface, initially showing only top-level.} 7400 overview @r{Folding interface, initially showing only top-level.}
6848 content @r{Folding interface, starting with all headlines visible.} 7401 content @r{Folding interface, starting with all headlines visible.}
@@ -6856,6 +7409,8 @@ toc: @r{Should the table of content @emph{initially} be visible?}
6856 @r{Even when @code{nil}, you can always get to the toc with @kbd{i}.} 7409 @r{Even when @code{nil}, you can always get to the toc with @kbd{i}.}
6857tdepth: @r{The depth of the table of contents. The defaults are taken from} 7410tdepth: @r{The depth of the table of contents. The defaults are taken from}
6858 @r{the variables @code{org-headline-levels} and @code{org-export-with-toc}.} 7411 @r{the variables @code{org-headline-levels} and @code{org-export-with-toc}.}
7412ftoc: @r{Does the css of the page specify a fixed position for the toc?}
7413 @r{If yes, the toc will never be displayed as a section.}
6859ltoc: @r{Should there be short contents (children) in each section?} 7414ltoc: @r{Should there be short contents (children) in each section?}
6860mouse: @r{Headings are highlighted when the mouse is over them. Should be} 7415mouse: @r{Headings are highlighted when the mouse is over them. Should be}
6861 @r{@samp{underline} (default) or a background color like @samp{#cccccc}.} 7416 @r{@samp{underline} (default) or a background color like @samp{#cccccc}.}
@@ -6885,7 +7440,13 @@ Org mode contains a La@TeX{} exporter written by Bastien Guerry.
6885@table @kbd 7440@table @kbd
6886@kindex C-c C-e l 7441@kindex C-c C-e l
6887@item C-c C-e l 7442@item C-c C-e l
6888Export as La@TeX{} file @file{myfile.tex}. 7443Export as La@TeX{} file @file{myfile.tex}. For an org file
7444@file{myfile.org}, the ASCII file will be @file{myfile.tex}. The file will
7445be overwritten without warning. If there is an active region, only the
7446region will be exported. If the selected region is a single tree@footnote{To
7447select the current subtree, use @kbd{C-c @@}.}, the tree head will become the
7448document title. If the tree head entry has or inherits an
7449@code{EXPORT_FILE_NAME} property, that name will be used for the export.
6889@kindex C-c C-e L 7450@kindex C-c C-e L
6890@item C-c C-e L 7451@item C-c C-e L
6891Export to a temporary buffer, do not create a file. 7452Export to a temporary buffer, do not create a file.
@@ -6933,6 +7494,7 @@ constructs:
6933@end example 7494@end example
6934 7495
6935@noindent or 7496@noindent or
7497@cindex #+BEGIN_LaTeX
6936 7498
6937@example 7499@example
6938#+BEGIN_LaTeX 7500#+BEGIN_LaTeX
@@ -6940,8 +7502,6 @@ All lines between these markers are exported literally
6940#+END_LaTeX 7502#+END_LaTeX
6941@end example 7503@end example
6942 7504
6943
6944
6945@node Sectioning structure, , Quoting LaTeX code, LaTeX export 7505@node Sectioning structure, , Quoting LaTeX code, LaTeX export
6946@subsection Sectioning structure 7506@subsection Sectioning structure
6947@cindex LaTeX class 7507@cindex LaTeX class
@@ -6973,7 +7533,7 @@ Export as XOXO file @file{myfile.html}.
6973Export only the visible part of the document. 7533Export only the visible part of the document.
6974@end table 7534@end table
6975 7535
6976@node iCalendar export, Text interpretation, XOXO export, Exporting 7536@node iCalendar export, , XOXO export, Exporting
6977@section iCalendar export 7537@section iCalendar export
6978@cindex iCalendar export 7538@cindex iCalendar export
6979 7539
@@ -6985,6 +7545,16 @@ application. Org mode can export calendar information in the standard
6985iCalendar format. If you also want to have TODO entries included in the 7545iCalendar format. If you also want to have TODO entries included in the
6986export, configure the variable @code{org-icalendar-include-todo}. 7546export, configure the variable @code{org-icalendar-include-todo}.
6987 7547
7548The iCalendar standard requires each entry to have a globally unique
7549identifier (UID). Org creates these identifiers during export. If you set
7550the variable @code{org-icalendar-store-UID}, the UID will be stored in the
7551@code{:ID:} property of the entry and re-used next time you report this
7552entry. Since a single entry can give rise to multiple iCalendar entries (as
7553a timestamp, a deadline, a scheduled item, and as a TODO item), Org adds
7554prefixes to the UID, depending on what triggered the inclusion of the entry.
7555In this way the UID remains unique, but a synchronization program can still
7556figure out from which entry all the different instances originate.
7557
6988@table @kbd 7558@table @kbd
6989@kindex C-c C-e i 7559@kindex C-c C-e i
6990@item C-c C-e i 7560@item C-c C-e i
@@ -7010,294 +7580,6 @@ from the headline, and the description from the body (limited to
7010How this calendar is best read and updated, depends on the application 7580How this calendar is best read and updated, depends on the application
7011you are using. The FAQ covers this issue. 7581you are using. The FAQ covers this issue.
7012 7582
7013
7014@node Text interpretation, , iCalendar export, Exporting
7015@section Text interpretation by the exporter
7016
7017The exporter backends interpret additional structure in the Org file
7018in order to produce better output.
7019
7020@menu
7021* Comment lines:: Some lines will not be exported
7022* Initial text:: Text before the first headline
7023* Footnotes:: Numbers like [1]
7024* Quoted examples:: Inserting quoted chunks of text
7025* Enhancing text:: Subscripts, symbols and more
7026* Export options:: How to influence the export settings
7027@end menu
7028
7029@node Comment lines, Initial text, Text interpretation, Text interpretation
7030@subsection Comment lines
7031@cindex comment lines
7032@cindex exporting, not
7033
7034Lines starting with @samp{#} in column zero are treated as comments
7035and will never be exported. Also entire subtrees starting with the
7036word @samp{COMMENT} will never be exported.
7037
7038@table @kbd
7039@kindex C-c ;
7040@item C-c ;
7041Toggle the COMMENT keyword at the beginning of an entry.
7042@end table
7043
7044@node Initial text, Footnotes, Comment lines, Text interpretation
7045@subsection Text before the first headline
7046
7047Org mode normally ignores any text before the first headline when
7048exporting, leaving this region for internal links to speed up navigation
7049etc. However, in publishing-oriented files, you might want to have some
7050text before the first headline, like a small introduction, special HTML
7051code with a navigation bar, etc. You can ask to have this part of the
7052file exported as well by setting the variable
7053@code{org-export-skip-text-before-1st-heading} to @code{nil}. On a
7054per-file basis, you can get the same effect with
7055
7056@example
7057#+OPTIONS: skip:nil
7058@end example
7059
7060The text before the first headline will be fully processed
7061(@pxref{Enhancing text}), and the first non-comment line becomes the
7062title of the exported document. If you need to include literal HTML,
7063use the special constructs described in @ref{Quoting HTML tags}. The
7064table of contents is normally inserted directly before the first
7065headline of the file. If you would like to get it to a different
7066location, insert the string @code{[TABLE-OF-CONTENTS]} on a line by
7067itself at the desired location.
7068
7069Finally, if you want to use the space before the first headline for
7070internal purposes, but @emph{still} want to place something before the
7071first headline when exporting the file, you can use the @code{#+TEXT}
7072construct:
7073
7074@example
7075#+OPTIONS: skip:t
7076#+TEXT: This text will go before the *first* headline.
7077#+TEXT: We place the table of contents here:
7078#+TEXT: [TABLE-OF-CONTENTS]
7079#+TEXT: This goes between the table of contents and the first headline
7080@end example
7081
7082@node Footnotes, Quoted examples, Initial text, Text interpretation
7083@subsection Footnotes
7084@cindex footnotes
7085@cindex @file{footnote.el}
7086
7087Numbers in square brackets are treated as footnotes, so that you can use
7088the Emacs package @file{footnote.el} to create footnotes. For example:
7089
7090@example
7091The Org homepage[1] clearly needs help from
7092a good web designer.
7093
7094[1] The link is: http://orgmode.org
7095@end example
7096
7097@noindent
7098@kindex C-c !
7099Note that the @file{footnote} package uses @kbd{C-c !} to invoke its
7100commands. This binding conflicts with the Org mode command for
7101inserting inactive time stamps. You could use the variable
7102@code{footnote-prefix} to switch footnotes commands to another key. Or,
7103if you are too used to this binding, you could use
7104@code{org-replace-disputed-keys} and @code{org-disputed-keys} to change
7105the settings in Org.
7106
7107@node Quoted examples, Enhancing text, Footnotes, Text interpretation
7108@subsection Quoted examples
7109@cindex quoted examples
7110@cindex examples, quoted
7111@cindex text, fixed width
7112@cindex fixed width text
7113
7114When writing technical documents, you often need to insert examples that
7115are not further interpreted by Org mode. For historical reasons, there
7116are several ways to do this:
7117
7118@itemize @bullet
7119@item
7120If a headline starts with the word @samp{QUOTE}, the text below the
7121headline will be typeset as fixed-width, to allow quoting of computer
7122codes etc.
7123@item
7124Lines starting with @samp{:} are also typeset in fixed-width font.
7125@table @kbd
7126@kindex C-c :
7127@item C-c :
7128Toggle fixed-width for entry (QUOTE) or region, see below.
7129@end table
7130@item
7131Finally, text between
7132@example
7133#+BEGIN_EXAMPLE
7134quoted text
7135#+END_EXAMPLE
7136@end example
7137will also be exported in this way.
7138@end itemize
7139
7140
7141@node Enhancing text, Export options, Quoted examples, Text interpretation
7142@subsection Enhancing text for export
7143@cindex enhancing text
7144@cindex richer text
7145
7146Some of the export backends of Org mode allow for sophisticated text
7147formatting, this is true in particular for the HTML and La@TeX{}
7148backends. Org mode has a number of typing conventions that allow to
7149produce a richly formatted output.
7150
7151@itemize @bullet
7152
7153@cindex hand-formatted lists
7154@cindex lists, hand-formatted
7155@item
7156Plain lists @samp{-}, @samp{*} or @samp{+} as bullet, or with @samp{1.}
7157or @samp{2)} as enumerator will be recognized and transformed if the
7158backend supports lists. See @xref{Plain lists}.
7159
7160@cindex underlined text
7161@cindex bold text
7162@cindex italic text
7163@cindex verbatim text
7164@item
7165You can make words @b{*bold*}, @i{/italic/}, _underlined_, @code{=code=}
7166and @code{~verbatim~}, and, if you must, @samp{+strikethrough+}. Text
7167in the code and verbatim string is not processed for Org mode specific
7168syntax, it is exported verbatim.
7169
7170@cindex horizontal rules, in exported files
7171@item
7172A line consisting of only dashes, and at least 5 of them, will be
7173exported as a horizontal line (@samp{<hr/>} in HTML).
7174
7175@cindex LaTeX fragments, export
7176@cindex TeX macros, export
7177@item
7178Many @TeX{} macros and entire La@TeX{} fragments are converted into HTML
7179entities or images (@pxref{Embedded LaTeX}).
7180
7181@cindex tables, export
7182@item
7183Tables are transformed into native tables under the exporter, if the
7184export backend supports this. Data fields before the first horizontal
7185separator line will be formatted as table header fields.
7186
7187@cindex fixed width
7188@item
7189If a headline starts with the word @samp{QUOTE}, the text below the
7190headline will be typeset as fixed-width, to allow quoting of computer
7191codes etc. Lines starting with @samp{:} are also typeset in fixed-width
7192font.
7193@table @kbd
7194@kindex C-c :
7195@item C-c :
7196Toggle fixed-width for entry (QUOTE) or region, see below.
7197@end table
7198Finally, text between
7199@example
7200#+BEGIN_EXAMPLE
7201quoted text
7202#+END_EXAMPLE
7203@end example
7204will also be exported in this way.
7205
7206@cindex linebreak, forced
7207@item
7208A double backslash @emph{at the end of a line} enforces a line break at
7209this position.
7210
7211@cindex HTML entities, LaTeX entities
7212@item
7213Strings like @code{\alpha} will be exported as @code{&alpha;}, in the
7214HTML output. These strings are exported as @code{$\alpha$} in the
7215La@TeX{} output. Similarly, @code{\nbsp} will become @code{&nbsp;} in
7216HTML and in La@TeX{}. This applies for a long list of entities, see
7217the variable @code{org-html-entities} for the complete list.
7218@c FIXME
7219@end itemize
7220
7221If these conversions conflict with your habits of typing ASCII text,
7222they can all be turned off with corresponding variables. See the
7223customization group @code{org-export-general}, and the following section
7224which explains how to set export options with special lines in a
7225buffer.
7226
7227
7228@node Export options, , Enhancing text, Text interpretation
7229@subsection Export options
7230@cindex options, for export
7231
7232@cindex completion, of option keywords
7233The exporter recognizes special lines in the buffer which provide
7234additional information. These lines may be put anywhere in the file.
7235The whole set of lines can be inserted into the buffer with @kbd{C-c
7236C-e t}. For individual lines, a good way to make sure the keyword is
7237correct is to type @samp{#+} and then use @kbd{M-@key{TAB}} completion
7238(@pxref{Completion}).
7239
7240@table @kbd
7241@kindex C-c C-e t
7242@item C-c C-e t
7243Insert template with export options, see example below.
7244@end table
7245
7246@example
7247#+TITLE: the title to be shown (default is the buffer name)
7248#+AUTHOR: the author (default taken from @code{user-full-name})
7249#+DATE: A date, fixed, of a format string for @code{format-time-string}
7250#+EMAIL: his/her email address (default from @code{user-mail-address})
7251#+LANGUAGE: language for HTML, e.g. @samp{en} (@code{org-export-default-language})
7252#+TEXT: Some descriptive text to be inserted at the beginning.
7253#+TEXT: Several lines may be given.
7254#+OPTIONS: H:2 num:t toc:t \n:nil @@:t ::t |:t ^:t f:t TeX:t ...
7255@end example
7256
7257@noindent
7258The OPTIONS line is a compact form to specify export settings. Here
7259you can:
7260@cindex headline levels
7261@cindex section-numbers
7262@cindex table of contents
7263@cindex linebreak preservation
7264@cindex quoted HTML tags
7265@cindex fixed-width sections
7266@cindex tables
7267@cindex @TeX{}-like syntax for sub- and superscripts
7268@cindex footnotes
7269@cindex special strings
7270@cindex emphasized text
7271@cindex @TeX{} macros
7272@cindex La@TeX{} fragments
7273@cindex author info, in export
7274@cindex time info, in export
7275@example
7276H: @r{set the number of headline levels for export}
7277num: @r{turn on/off section-numbers}
7278toc: @r{turn on/off table of contents, or set level limit (integer)}
7279\n: @r{turn on/off linebreak-preservation}
7280@@: @r{turn on/off quoted HTML tags}
7281:: @r{turn on/off fixed-width sections}
7282|: @r{turn on/off tables}
7283^: @r{turn on/off @TeX{}-like syntax for sub- and superscripts. If}
7284 @r{you write "^:@{@}", @code{a_@{b@}} will be interpreted, but}
7285 @r{the simple @code{a_b} will be left as it is.}
7286-: @r{turn on/off conversion of special strings.}
7287f: @r{turn on/off foototes like this[1].}
7288*: @r{turn on/off emphasized text (bold, italic, underlined)}
7289TeX: @r{turn on/off simple @TeX{} macros in plain text}
7290LaTeX: @r{turn on/off La@TeX{} fragments}
7291skip: @r{turn on/off skipping the text before the first heading}
7292author: @r{turn on/off inclusion of author name/email into exported file}
7293timestamp: @r{turn on/off inclusion creation time into exported file}
7294d: @r{turn on/off inclusion of drawers}
7295@end example
7296
7297These options take effect in both the HTML and La@TeX{} export, except
7298for @code{TeX} and @code{LaTeX}, which are respectively @code{t} and
7299@code{nil} for the La@TeX{} export.
7300
7301@node Publishing, Miscellaneous, Exporting, Top 7583@node Publishing, Miscellaneous, Exporting, Top
7302@chapter Publishing 7584@chapter Publishing
7303@cindex publishing 7585@cindex publishing
@@ -7383,8 +7665,11 @@ and where to put published files.
7383@item @code{:publishing-directory} 7665@item @code{:publishing-directory}
7384@tab Directory (possibly remote) where output files will be published. 7666@tab Directory (possibly remote) where output files will be published.
7385@item @code{:preparation-function} 7667@item @code{:preparation-function}
7386@tab Function called before starting publishing process, for example to 7668@tab Function called before starting the publishing process, for example to
7387run @code{make} for updating files to be published. 7669run @code{make} for updating files to be published.
7670@item @code{:completion-function}
7671@tab Function called after finishing the publishing process, for example to
7672change permissions of the resulting files.
7388@end multitable 7673@end multitable
7389@noindent 7674@noindent
7390 7675
@@ -7651,7 +7936,7 @@ Org uses timestamps to track when a file has changed. The above
7651functions normally only publish changed files. You can override this and 7936functions normally only publish changed files. You can override this and
7652force publishing of all files by giving a prefix argument. 7937force publishing of all files by giving a prefix argument.
7653 7938
7654@node Miscellaneous, Extensions and Hacking, Publishing, Top 7939@node Miscellaneous, Extensions, Publishing, Top
7655@chapter Miscellaneous 7940@chapter Miscellaneous
7656 7941
7657@menu 7942@menu
@@ -7769,6 +8054,9 @@ Set file-local values for constants to be used in table formulas. This
7769line set the local variable @code{org-table-formula-constants-local}. 8054line set the local variable @code{org-table-formula-constants-local}.
7770The global version of this variable is 8055The global version of this variable is
7771@code{org-table-formula-constants}. 8056@code{org-table-formula-constants}.
8057@item #+FILETAGS: :tag1:tag2:tag3:
8058Set tags that can be inherited by any entry in the file, including the
8059top-level entries.
7772@item #+DRAWERS: NAME1 ..... 8060@item #+DRAWERS: NAME1 .....
7773Set the file-local set of drawers. The corresponding global variable is 8061Set the file-local set of drawers. The corresponding global variable is
7774@code{org-drawers}. 8062@code{org-drawers}.
@@ -7783,6 +8071,14 @@ have a lower ASCII number that the lowest priority.
7783@item #+PROPERTY: Property_Name Value 8071@item #+PROPERTY: Property_Name Value
7784This line sets a default inheritance value for entries in the current 8072This line sets a default inheritance value for entries in the current
7785buffer, most useful for specifying the allowed values of a property. 8073buffer, most useful for specifying the allowed values of a property.
8074@item #+SETUPFILE: file
8075This line defines a file that holds more in-buffer setup. Normally this is
8076entirely ignored. Only when the buffer is parsed for option-setting lines
8077(i.e. when starting Org mode for a file, when pressing @kbd{C-c C-c} in a
8078settings line, or when exporting), then the contents of this file are parsed
8079as if they had been included in the buffer. In particlar, the file can be
8080any other Org mode file with internal setup. You can visit the file the
8081cursor is in the line with @kbd{C-c '}.
7786@item #+STARTUP: 8082@item #+STARTUP:
7787This line sets options to be used at startup of Org mode, when an 8083This line sets options to be used at startup of Org mode, when an
7788Org file is being visited. The first set of options deals with the 8084Org file is being visited. The first set of options deals with the
@@ -7828,10 +8124,10 @@ nologrepeat @r{do not record when reinstating repeating item}
7828lognoteclock-out @r{record a note when clocking out} 8124lognoteclock-out @r{record a note when clocking out}
7829nolognoteclock-out @r{don't record a note when clocking out} 8125nolognoteclock-out @r{don't record a note when clocking out}
7830@end example 8126@end example
7831Here are the options for hiding leading stars in outline headings. The 8127Here are the options for hiding leading stars in outline headings, and for
7832corresponding variables are @code{org-hide-leading-stars} and 8128indenting outlines. The corresponding variables are
7833@code{org-odd-levels-only}, both with a default setting @code{nil} 8129@code{org-hide-leading-stars} and @code{org-odd-levels-only}, both with a
7834(meaning @code{showstars} and @code{oddeven}). 8130default setting @code{nil} (meaning @code{showstars} and @code{oddeven}).
7835@cindex @code{hidestars}, STARTUP keyword 8131@cindex @code{hidestars}, STARTUP keyword
7836@cindex @code{showstars}, STARTUP keyword 8132@cindex @code{showstars}, STARTUP keyword
7837@cindex @code{odd}, STARTUP keyword 8133@cindex @code{odd}, STARTUP keyword
@@ -7839,6 +8135,8 @@ corresponding variables are @code{org-hide-leading-stars} and
7839@example 8135@example
7840hidestars @r{make all but one of the stars starting a headline invisible.} 8136hidestars @r{make all but one of the stars starting a headline invisible.}
7841showstars @r{show all stars starting a headline} 8137showstars @r{show all stars starting a headline}
8138indent @r{virtual indentation according to outline level}
8139noindent @r{no virtual indentation according to outline level}
7842odd @r{allow only odd outline levels (1,3,...)} 8140odd @r{allow only odd outline levels (1,3,...)}
7843oddeven @r{allow all outline levels} 8141oddeven @r{allow all outline levels}
7844@end example 8142@end example
@@ -7925,56 +8223,73 @@ block is updated.
7925@node Clean view, TTY keys, The very busy C-c C-c key, Miscellaneous 8223@node Clean view, TTY keys, The very busy C-c C-c key, Miscellaneous
7926@section A cleaner outline view 8224@section A cleaner outline view
7927@cindex hiding leading stars 8225@cindex hiding leading stars
8226@cindex dynamic indentation
8227@cindex odd-levels-only outlines
7928@cindex clean outline view 8228@cindex clean outline view
7929 8229
7930Some people find it noisy and distracting that the Org headlines 8230Some people find it noisy and distracting that the Org headlines are starting
7931are starting with a potentially large number of stars. For example 8231with a potentially large number of stars, and that text below the headlines
7932the tree from @ref{Headlines}: 8232is not indented. This is not really a problem when you are writing a book
8233where the outline headings are really section headlines. However, in a more
8234list-oriented outline, it is clear that an indented structure is a lot
8235cleaner, as can be seen by comparing the two columns in the following
8236example:
7933 8237
7934@example 8238@example
7935* Top level headline 8239@group
7936** Second level 8240* Top level headline | * Top level headline
7937*** 3rd level 8241** Second level | * Second level
7938 some text 8242*** 3rd level | * 3rd level
7939*** 3rd level 8243some text | some text
7940 more text 8244*** 3rd level | * 3rd level
7941* Another top level headline 8245more text | more text
8246* Another top level headline | * Another top level headline
8247@end group
7942@end example 8248@end example
7943 8249
7944@noindent 8250@noindent
7945Unfortunately this is deeply ingrained into the code of Org and 8251It is non-trivial to make such a look work in Emacs, but Org contains three
7946cannot be easily changed. You can, however, modify the display in such 8252separate features that, combined, achieve just that.
7947a way that all leading stars become invisible and the outline more easy
7948to read. To do this, customize the variable
7949@code{org-hide-leading-stars} like this:
7950 8253
7951@lisp 8254@enumerate
7952(setq org-hide-leading-stars t) 8255@item
7953@end lisp 8256@emph{Indentation of text below headlines}@*
8257You may indent text below each headline to make the left boundary line up
8258with the headline, like
7954 8259
7955@noindent 8260@example
7956or change this on a per-file basis with one of the lines (anywhere in 8261*** 3rd level
7957the buffer) 8262 more text, now indented
8263@end example
8264
8265A good way to get this indentation is by hand, and Org supports this with
8266paragraph filling, line wrapping, and structure editing@footnote{See also the
8267variable @code{org-adapt-indentation}.} preserving or adapting the
8268indentation appropriate. A different approach would be to have a way to
8269automatically indent lines according to outline structure by adding overlays
8270or text properties. But I have not yet found a robust and efficient way to
8271do this in large files.
8272
8273@item
8274@emph{Hiding leading stars}@* You can modify the display in such a way that
8275all leading stars become invisible. To do this in a global way, configure
8276the variable @code{org-hide-leading-stars} or change this on a per-file basis
8277with
7958 8278
7959@example 8279@example
7960#+STARTUP: showstars 8280#+STARTUP: showstars
7961#+STARTUP: hidestars 8281#+STARTUP: hidestars
7962@end example 8282@end example
7963 8283
7964@noindent 8284With hidden stars, the tree becomes:
7965Press @kbd{C-c C-c} with the cursor in a @samp{STARTUP} line to activate
7966the modifications.
7967
7968With stars hidden, the tree becomes:
7969 8285
7970@example 8286@example
8287@group
7971* Top level headline 8288* Top level headline
7972 * Second level 8289 * Second level
7973 * 3rd level 8290 * 3rd level
7974 some text 8291 ...
7975 * 3rd level 8292@end group
7976 more text
7977* Another top level headline
7978@end example 8293@end example
7979 8294
7980@noindent 8295@noindent
@@ -7986,32 +8301,14 @@ effect. Another possibility is to set this font such that the extra
7986stars are @i{almost} invisible, for example using the color 8301stars are @i{almost} invisible, for example using the color
7987@code{grey90} on a white background. 8302@code{grey90} on a white background.
7988 8303
7989Things become cleaner still if you skip all the even levels and use only 8304@item
7990odd levels 1, 3, 5..., effectively adding two stars to go from one 8305Things become cleaner still if you skip all the even levels and use only odd
7991outline level to the next: 8306levels 1, 3, 5..., effectively adding two stars to go from one outline level
7992 8307to the next. In this way we get the outline view shown at the beginning of
7993@example 8308this section. In order to make the structure editing and export commands
7994* Top level headline 8309handle this convention correctly, configure the variable
7995 * Second level 8310@code{org-odd-levels-only}, or set this on a per-file basis with one of the
7996 * 3rd level 8311following lines:
7997 some text
7998 * 3rd level
7999 more text
8000* Another top level headline
8001@end example
8002
8003@noindent
8004In order to make the structure editing and export commands handle this
8005convention correctly, use
8006
8007@lisp
8008(setq org-odd-levels-only t)
8009@end lisp
8010
8011@noindent
8012or set this on a per-file basis with one of the following lines (don't
8013forget to press @kbd{C-c C-c} with the cursor in the startup line to
8014activate changes immediately).
8015 8312
8016@example 8313@example
8017#+STARTUP: odd 8314#+STARTUP: odd
@@ -8022,6 +8319,7 @@ You can convert an Org file from single-star-per-level to the
8022double-star-per-level convention with @kbd{M-x org-convert-to-odd-levels 8319double-star-per-level convention with @kbd{M-x org-convert-to-odd-levels
8023RET} in that file. The reverse operation is @kbd{M-x 8320RET} in that file. The reverse operation is @kbd{M-x
8024org-convert-to-oddeven-levels}. 8321org-convert-to-oddeven-levels}.
8322@end enumerate
8025 8323
8026@node TTY keys, Interaction, Clean view, Miscellaneous 8324@node TTY keys, Interaction, Clean view, Miscellaneous
8027@section Using Org on a tty 8325@section Using Org on a tty
@@ -8240,39 +8538,108 @@ multiple recalculation may be needed to get all fields consistent. You
8240may use the command @code{org-table-iterate} (@kbd{C-u C-c *}) to 8538may use the command @code{org-table-iterate} (@kbd{C-u C-c *}) to
8241recalculate until convergence. 8539recalculate until convergence.
8242@item 8540@item
8243A single letter cannot be made bold, for example @samp{*a*}.
8244@item
8245The exporters work well, but could be made more efficient. 8541The exporters work well, but could be made more efficient.
8246@end itemize 8542@end itemize
8247 8543
8248 8544
8249@node Extensions and Hacking, History and Acknowledgments, Miscellaneous, Top 8545@node Extensions, Hacking, Miscellaneous, Top
8250@appendix Extensions, Hooks and Hacking 8546@appendix Extensions
8547
8548This appendix lists the extension modules that have been written for Org.
8549Many of these extensions live in the @file{contrib} directory of the Org
8550distribution, others are available somewhere on the web.
8251 8551
8252This appendix lists extensions for Org written by other authors. 8552@menu
8253It also covers some aspects where users can extend the functionality of 8553* Extensions in the contrib directory:: These come with the Org distro
8554* Other extensions:: These you have to find on the web.
8555@end menu
8556
8557@node Extensions in the contrib directory, Other extensions, Extensions, Extensions
8558@section Extensions in the @file{contrib} directory
8559
8560@table @asis
8561@item @file{org-annotate-file.el} by @i{Philip Jackson}
8562 Annotate a file with org syntax, in a separate file, with links back to
8563 the annotated file.
8564@item @file{org-annotation-helper.el} by @i{Bastien Guerry and Daniel E. German}
8565 Call @i{remember} directly from Firefox/Opera, or from Adobe Reader.
8566 When activating a special link or bookmark, Emacs receives a trigger to
8567 create a note with a link back to the website. Requires some setup, a
8568 detailes description is in
8569 @file{contrib/packages/org-annotation-helper}.
8570@item @file{org-bookmark.el} by @i{Tokuya Kameshima}
8571 Support for links to Emacs bookmarks.
8572@item @file{org-depend.el} by @i{Carsten Dominik}
8573 TODO dependencies for Org-mode. Make TODO state changes in one entry
8574 trigger changes in another, or be blocked by the state of another
8575 entry. Also, easily create chains of TODO items with exactly one
8576 active item at any time.
8577@item @file{org-elisp-symbol.el} by @i{Bastien Guerry}
8578 Org links to emacs-lisp symbols. This can create annotated links that
8579 exactly point to the definition location of a variable of function.
8580@item @file{org-eval.el} by @i{Carsten Dominik}
8581 The @code{<lisp>} tag, adapted from Emacs Wiki and Emacs Muse, allows
8582 to include text in a document that is the result of evaluating some
8583 code. Other scripting languages like @code{perl} can be supported with
8584 this package as well.
8585@item @file{org-expiry.el} by @i{Bastien Guerry}
8586 Expiry mechanism for Org entries.
8587@item @file{org-indent.el} by @i{Carsten Dominik}
8588 Dynamic indentation of Org outlines. The plan is to indent an outline
8589 according to level, but so far this is too hard for a proper and stable
8590 implementation. Still, it works somewhat.
8591@item @file{org-interactive-query.el} by @i{Christopher League}
8592 Interactive modification of tags queries. After running a general
8593 query in Org, this package allows to narrow down the results by adding
8594 more tags or keywords.
8595@item @file{org-mairix.el} by @i{Georg C. F. Greve}
8596 Hook mairix search into Org for different MUAs.
8597@item @file{org-man.el} by @i{Carsten Dominik}
8598 Support for links to manpages in Org-mode.
8599@item @file{org-mtags.el} by @i{Carsten Dominik}
8600 Support for some Muse-like tags in Org-mode. This package allows you
8601 to write @code{<example>} and @code{<src>} and other syntax copied from
8602 Emacs Muse, right inside an Org file. The goal here is to make it easy
8603 to publish the same file using either org-publish or Muse.
8604@item @file{org-panel.el} by @i{Lennard Borgman}
8605 Simplified and display-aided access to some Org commands.
8606@item @file{org-registry.el} by @i{Bastien Guerry}
8607 A registry for Org links, to find out from where links point to a given
8608 file or location.
8609@item @file{org2rem.el} by @i{Bastien Guerry}
8610 Convert org appointments into reminders for the @file{remind} program.
8611@item @file{org-screen.el} by @i{Andrew Hyatt}
8612 Visit screen sessions through Org-mode links.
8613@item @file{org-toc.el} by @i{Bastien Guerry}
8614 Table of contents in a separate buffer, with fast access to sections
8615 and easy visibility cycling.
8616@item @file{orgtbl-sqlinsert.el} by @i{Jason Riedy}
8617 Convert Org-mode tables to SQL insertions. Documentation for this can
8618 be found on the Worg pages.
8619@end table
8620
8621
8622@node Other extensions, , Extensions in the contrib directory, Extensions
8623@section Other extensions
8624
8625@i{TO BE DONE}
8626
8627@node Hacking, History and Acknowledgments, Extensions, Top
8628@appendix Hacking
8629
8630This appendix covers some aspects where users can extend the functionality of
8254Org. 8631Org.
8255 8632
8256@menu 8633@menu
8257* Extensions:: Existing 3rd-party extensions
8258* Adding hyperlink types:: New custom link types 8634* Adding hyperlink types:: New custom link types
8259* Tables in arbitrary syntax:: Orgtbl for LaTeX and other programs 8635* Tables in arbitrary syntax:: Orgtbl for LaTeX and other programs
8260* Dynamic blocks:: Automatically filled blocks 8636* Dynamic blocks:: Automatically filled blocks
8261* Special agenda views:: Customized views 8637* Special agenda views:: Customized views
8262* Using the property API:: Writing programs that use entry properties 8638* Using the property API:: Writing programs that use entry properties
8639* Using the mapping API:: Mapping over all or selected entries
8263@end menu 8640@end menu
8264 8641
8265@node Extensions, Adding hyperlink types, Extensions and Hacking, Extensions and Hacking 8642@node Adding hyperlink types, Tables in arbitrary syntax, Hacking, Hacking
8266@section Third-party extensions for Org
8267@cindex extension, third-party
8268
8269There are lots of extensions that have been written by other people. Most of
8270them have either been integrated into Org by now, or they can be found in the
8271Org distribution, in the @file{contrib} directory. The list has gotten too
8272long to cover in any detail here, but there is a seaparate manual for these
8273extensions.
8274
8275@node Adding hyperlink types, Tables in arbitrary syntax, Extensions, Extensions and Hacking
8276@section Adding hyperlink types 8643@section Adding hyperlink types
8277@cindex hyperlinks, adding new types 8644@cindex hyperlinks, adding new types
8278 8645
@@ -8369,7 +8736,7 @@ can also set the @code{:description} property to provide a default for
8369the link description when the link is later inserted into an Org 8736the link description when the link is later inserted into an Org
8370buffer with @kbd{C-c C-l}. 8737buffer with @kbd{C-c C-l}.
8371 8738
8372@node Tables in arbitrary syntax, Dynamic blocks, Adding hyperlink types, Extensions and Hacking 8739@node Tables in arbitrary syntax, Dynamic blocks, Adding hyperlink types, Hacking
8373@section Tables and lists in arbitrary syntax 8740@section Tables and lists in arbitrary syntax
8374@cindex tables, in other modes 8741@cindex tables, in other modes
8375@cindex lists, in other modes 8742@cindex lists, in other modes
@@ -8436,7 +8803,9 @@ acted upon before the translation function is called:
8436 8803
8437@table @code 8804@table @code
8438@item :skip N 8805@item :skip N
8439Skip the first N lines of the table. Hlines do count! 8806Skip the first N lines of the table. Hlines do count as separate lines for
8807this parameter!
8808
8440@item :skipcols (n1 n2 ...) 8809@item :skipcols (n1 n2 ...)
8441List of columns that should be skipped. If the table has a column with 8810List of columns that should be skipped. If the table has a column with
8442calculation marks, that column is automatically discarded as well. 8811calculation marks, that column is automatically discarded as well.
@@ -8482,6 +8851,7 @@ modes.} with the command @kbd{M-x orgtbl-insert-radio-table}. You will
8482be prompted for a table name, lets say we use @samp{salesfigures}. You 8851be prompted for a table name, lets say we use @samp{salesfigures}. You
8483will then get the following template: 8852will then get the following template:
8484 8853
8854@cindex #+ORGTBL: SEND
8485@example 8855@example
8486% BEGIN RECEIVE ORGTBL salesfigures 8856% BEGIN RECEIVE ORGTBL salesfigures
8487% END RECEIVE ORGTBL salesfigures 8857% END RECEIVE ORGTBL salesfigures
@@ -8550,7 +8920,7 @@ Month & \multicolumn@{1@}@{c@}@{Days@} & Nr.\ sold & per day\\
8550The La@TeX{} translator function @code{orgtbl-to-latex} is already part of 8920The La@TeX{} translator function @code{orgtbl-to-latex} is already part of
8551Orgtbl mode. It uses a @code{tabular} environment to typeset the table 8921Orgtbl mode. It uses a @code{tabular} environment to typeset the table
8552and marks horizontal lines with @code{\hline}. Furthermore, it 8922and marks horizontal lines with @code{\hline}. Furthermore, it
8553interprets the following parameters: 8923interprets the following parameters (see also @ref{Translator functions}):
8554 8924
8555@table @code 8925@table @code
8556@item :splice nil/t 8926@item :splice nil/t
@@ -8581,15 +8951,15 @@ supplied instead of strings.
8581@cindex HTML, and Orgtbl mode 8951@cindex HTML, and Orgtbl mode
8582@cindex translator function 8952@cindex translator function
8583 8953
8584Orgtbl mode has several translator functions built-in: 8954Orgtbl mode has several translator functions built-in: @code{orgtbl-to-csv}
8585@code{orgtbl-to-latex}, @code{orgtbl-to-html}, and 8955(comma-separated values), @code{orgtbl-to-tsv} (TAB-separated values)
8586@code{orgtbl-to-texinfo}. Except for @code{orgtbl-to-html}@footnote{The 8956@code{orgtbl-to-latex}, @code{orgtbl-to-html}, and @code{orgtbl-to-texinfo}.
8587HTML translator uses the same code that produces tables during HTML 8957Except for @code{orgtbl-to-html}@footnote{The HTML translator uses the same
8588export.}, these all use a generic translator, @code{orgtbl-to-generic}. 8958code that produces tables during HTML export.}, these all use a generic
8589For example, @code{orgtbl-to-latex} itself is a very short function that 8959translator, @code{orgtbl-to-generic}. For example, @code{orgtbl-to-latex}
8590computes the column definitions for the @code{tabular} environment, 8960itself is a very short function that computes the column definitions for the
8591defines a few field and line separators and then hands over to the 8961@code{tabular} environment, defines a few field and line separators and then
8592generic translator. Here is the entire code: 8962hands over to the generic translator. Here is the entire code:
8593 8963
8594@lisp 8964@lisp
8595@group 8965@group
@@ -8692,7 +9062,7 @@ La@TeX{} file:
8692Pressing `C-c C-c' on @code{a new house} and will insert the converted 9062Pressing `C-c C-c' on @code{a new house} and will insert the converted
8693La@TeX{} list between the two marker lines. 9063La@TeX{} list between the two marker lines.
8694 9064
8695@node Dynamic blocks, Special agenda views, Tables in arbitrary syntax, Extensions and Hacking 9065@node Dynamic blocks, Special agenda views, Tables in arbitrary syntax, Hacking
8696@section Dynamic blocks 9066@section Dynamic blocks
8697@cindex dynamic blocks 9067@cindex dynamic blocks
8698 9068
@@ -8705,6 +9075,7 @@ Dynamic block are enclosed by a BEGIN-END structure that assigns a name
8705to the block and can also specify parameters for the function producing 9075to the block and can also specify parameters for the function producing
8706the content of the block. 9076the content of the block.
8707 9077
9078#+BEGIN:dynamic block
8708@example 9079@example
8709#+BEGIN: myblock :parameter1 value1 :parameter2 value2 ... 9080#+BEGIN: myblock :parameter1 value1 :parameter2 value2 ...
8710 9081
@@ -8756,7 +9127,7 @@ example @code{before-save-hook}. @code{org-update-all-dblocks} is
8756written in a way that is does nothing in buffers that are not in 9127written in a way that is does nothing in buffers that are not in
8757@code{org-mode}. 9128@code{org-mode}.
8758 9129
8759@node Special agenda views, Using the property API, Dynamic blocks, Extensions and Hacking 9130@node Special agenda views, Using the property API, Dynamic blocks, Hacking
8760@section Special agenda views 9131@section Special agenda views
8761@cindex agenda views, user-defined 9132@cindex agenda views, user-defined
8762 9133
@@ -8838,7 +9209,7 @@ like this, even without defining a special function:
8838 (org-agenda-overriding-header "Projects waiting for something: ")))) 9209 (org-agenda-overriding-header "Projects waiting for something: "))))
8839@end lisp 9210@end lisp
8840 9211
8841@node Using the property API, , Special agenda views, Extensions and Hacking 9212@node Using the property API, Using the mapping API, Special agenda views, Hacking
8842@section Using the property API 9213@section Using the property API
8843@cindex API, for properties 9214@cindex API, for properties
8844@cindex properties, API 9215@cindex properties, API
@@ -8896,7 +9267,105 @@ Treat the value of the property PROPERTY as a whitespace-separated list of
8896values and check if VALUE is in this list. 9267values and check if VALUE is in this list.
8897@end defun 9268@end defun
8898 9269
8899@node History and Acknowledgments, Main Index, Extensions and Hacking, Top 9270@node Using the mapping API, , Using the property API, Hacking
9271@section Using the mapping API
9272@cindex API, for mapping
9273@cindex mapping entries, API
9274
9275Org has sophisticated mapping capabilities to find all entries satisfying
9276certain criteria. Internally, this functionality is used to produce agenda
9277views, but there is also an API that can be used to execute arbitrary
9278functions for each or selected entries. The main entry point for this API
9279is:
9280
9281@defun org-map-entries func &optional match scope &rest skip
9282Call FUNC at each headline selected by MATCH in SCOPE.
9283
9284FUNC is a function or a lisp form. The function will be called without
9285arguments, with the cursor positioned at the beginning of the headline.
9286The return values of all calls to the function will be collected and
9287returned as a list.
9288
9289MATCH is a tags/property/todo match as it is used in the agenda tags view.
9290Only headlines that are matched by this query will be considered during
9291the iteration. When MATCH is nil or t, all headlines will be
9292visited by the iteration.
9293
9294SCOPE determines the scope of this command. It can be any of:
9295
9296@example
9297nil @r{the current buffer, respecting the restriction if any}
9298tree @r{the subtree started with the entry at point}
9299file @r{the current buffer, without restriction}
9300file-with-archives
9301 @r{the current buffer, and any archives associated with it}
9302agenda @r{all agenda files}
9303agenda-with-archives
9304 @r{all agenda files with any archive files associated with them}
9305(file1 file2 ...)
9306 @r{if this is a list, all files in the list will be scanned}
9307@end example
9308
9309The remaining args are treated as settings for the skipping facilities of
9310the scanner. The following items can be given here:
9311
9312@example
9313archive @r{skip trees with the archive tag}
9314comment @r{skip trees with the COMMENT keyword}
9315function or Lisp form
9316 @r{will be used as value for @code{org-agenda-skip-function},}
9317 @r{so whenever the the function returns t, FUNC}
9318 @r{will not be called for that entry and search will}
9319 @r{continue from the point where the function leaves it}
9320@end example
9321@end defun
9322
9323The function given to that mapping routine can really do anything you like.
9324It can uce the property API (@pxref{Using the property API}) to gather more
9325information about the entry, or in order to change metadate in the entry.
9326Here are a couple of functions that might be handy:
9327
9328@defun org-todo &optional arg
9329Change the TODO state of the entry, see the docstring of the functions for
9330the many possible values for the argument ARG.
9331@end defun
9332
9333@defun org-priority &optional action
9334Change the priority of the entry, see the docstring of this function for the
9335possible values for ACTION.
9336@end defun
9337
9338@defun org-toggle-tag tag &optional onoff
9339Toggle the tag TAG in the current entry. Setting ONOFF to either @code{on}
9340or @code{off} will not toggle tag, but ensure that it is either on or off.
9341@end defun
9342
9343@defun org-promote
9344Promote the current entry.
9345@end defun
9346
9347@defun org-demote
9348Demote the current entry.
9349@end defun
9350
9351Here is a simple example that will turn all entries in the current file with
9352a tag @code{TOMORROW} into TODO entries with the keyword @code{UPCOMING}.
9353Entries in comment trees and in archive trees will be ignored.
9354
9355@lisp
9356(org-map-entries
9357 '(org-todo "UPCOMING")
9358 "+TOMORROW" 'file 'archive 'comment)
9359@end lisp
9360
9361The following example counts the number of entries with TODO keyword
9362@code{WAITING}, in all agenda files.
9363
9364@lisp
9365(length (org-map-entries t "/+WAITING" nil 'agenda))
9366@end lisp
9367
9368@node History and Acknowledgments, Main Index, Hacking, Top
8900@appendix History and Acknowledgments 9369@appendix History and Acknowledgments
8901@cindex acknowledgments 9370@cindex acknowledgments
8902@cindex history 9371@cindex history
@@ -8940,6 +9409,9 @@ let me know.
8940@item 9409@item
8941@i{Thomas Baumann} wrote @file{org-bbdb.el} and @file{org-mhe.el}. 9410@i{Thomas Baumann} wrote @file{org-bbdb.el} and @file{org-mhe.el}.
8942@item 9411@item
9412@i{Christophe Bataillon} created the great unicorn logo that we use on the
9413Org-mode website.
9414@item
8943@i{Alex Bochannek} provided a patch for rounding time stamps. 9415@i{Alex Bochannek} provided a patch for rounding time stamps.
8944@item 9416@item
8945@i{Charles Cave}'s suggestion sparked the implementation of templates 9417@i{Charles Cave}'s suggestion sparked the implementation of templates
@@ -9039,15 +9511,16 @@ single key navigation.
9039@i{Frank Ruell} solved the mystery of the @code{keymapp nil} bug, a 9511@i{Frank Ruell} solved the mystery of the @code{keymapp nil} bug, a
9040conflict with @file{allout.el}. 9512conflict with @file{allout.el}.
9041@item 9513@item
9042@i{Jason Riedy} sent a patch to fix a bug with export of TODO keywords. 9514@i{Jason Riedy} generalized the send-receive mechanism for orgtbl tables with
9515extensive patches.
9043@item 9516@item
9044@i{Philip Rooke} created the Org reference card and provided lots 9517@i{Philip Rooke} created the Org reference card, provided lots
9045of feedback. 9518of feedback, developed and applied standards to the Org documentation.
9046@item 9519@item
9047@i{Christian Schlauer} proposed angular brackets around links, among 9520@i{Christian Schlauer} proposed angular brackets around links, among
9048other things. 9521other things.
9049@item 9522@item
9050Linking to VM/BBDB/Gnus was inspired by @i{Tom Shannon}'s 9523Linking to VM/BBDB/Gnus was first inspired by @i{Tom Shannon}'s
9051@file{organizer-mode.el}. 9524@file{organizer-mode.el}.
9052@item 9525@item
9053@i{Ilya Shlyakhter} proposed the Archive Sibling. 9526@i{Ilya Shlyakhter} proposed the Archive Sibling.
@@ -9057,8 +9530,8 @@ subtrees.
9057@item 9530@item
9058@i{Dale Smith} proposed link abbreviations. 9531@i{Dale Smith} proposed link abbreviations.
9059@item 9532@item
9060@i{Adam Spiers} asked for global linking commands and inspired the link 9533@i{Adam Spiers} asked for global linking commands, inspired the link
9061extension system. support mairix. 9534extension system, added support for mairix, and proposed the mapping API.
9062@item 9535@item
9063@i{David O'Toole} wrote @file{org-publish.el} and drafted the manual 9536@i{David O'Toole} wrote @file{org-publish.el} and drafted the manual
9064chapter about publishing. 9537chapter about publishing.
@@ -9072,12 +9545,11 @@ keyword.
9072@i{David Wainberg} suggested archiving, and improvements to the linking 9545@i{David Wainberg} suggested archiving, and improvements to the linking
9073system. 9546system.
9074@item 9547@item
9075@i{John Wiegley} wrote @file{emacs-wiki.el} and @file{planner.el}. The 9548@i{John Wiegley} wrote @file{emacs-wiki.el}, @file{planner.el}, and
9076development of Org was fully independent, and both systems are really 9549@file{muse.el}, which have similar goals as Org. Initially the
9077different beasts in their basic ideas and implementation details. I later 9550development of Org was fully independent because I was not aware of the
9078looked at John's code, however, and learned from his implementation of (i) 9551existence of these packages. But with time I have accasionally looked
9079links where the link itself is hidden and only a description is shown, and 9552at John's code and learned a lot from it. John has also contributed a
9080(ii) popping up a calendar to select a date. John has also contributed a
9081number of great ideas and patches directly to Org, including the file 9553number of great ideas and patches directly to Org, including the file
9082@code{org-mac-message.el}' 9554@code{org-mac-message.el}'
9083@item 9555@item