diff options
| author | Carsten Dominik | 2008-06-17 15:22:00 +0000 |
|---|---|---|
| committer | Carsten Dominik | 2008-06-17 15:22:00 +0000 |
| commit | b349f79f7434513bd603b063473bfdf59c465817 (patch) | |
| tree | 787a8d6677b022cd76aebc1fc9706a5c06980d27 /doc/misc | |
| parent | 4271b4248d5e0add806a41ddbd6b0c99574eea8e (diff) | |
| download | emacs-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/ChangeLog | 18 | ||||
| -rw-r--r-- | doc/misc/org.texi | 1552 |
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 @@ | |||
| 1 | 2008-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 | |||
| 13 | 2008-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 | |||
| 1 | 2008-06-16 Glenn Morris <rgm@gnu.org> | 19 | 2008-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 | |||
| 42 | under the terms of the GNU Free Documentation License, Version 1.2 or | 42 | under the terms of the GNU Free Documentation License, Version 1.2 or |
| 43 | any later version published by the Free Software Foundation; with no | 43 | any later version published by the Free Software Foundation; with no |
| 44 | Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' | 44 | Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' |
| 45 | and with the Back-Cover Texts as in (a) below. A copy of the | 45 | and with the Back-Cover Texts as in (a) below. A copy of the |
| 46 | license is included in the section entitled ``GNU Free Documentation | 46 | license is included in the section entitled ``GNU Free Documentation |
| 47 | License'' 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 |
| 50 | modify this GNU manual. Buying copies from the FSF supports it in | 50 | modify 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 | ||
| 280 | Exporting | 281 | Exporting |
| 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 | |
| 292 | Markup 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 | ||
| 289 | HTML export | 309 | HTML 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 | ||
| 304 | Text 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 | |||
| 313 | Publishing | 324 | Publishing |
| 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 | ||
| 350 | Extensions, Hooks and Hacking | 361 | Extensions |
| 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 | |||
| 366 | Hacking | ||
| 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 | ||
| 359 | Tables and lists in arbitrary syntax | 375 | Tables 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 | ||
| 564 | If you find problems with Org, or if you have questions, remarks, | 580 | If you find problems with Org, or if you have questions, remarks, or ideas |
| 565 | or ideas about it, please contact the maintainer @value{MAINTAINER} at | 581 | about it, please mail to the Org mailing list @code{emacs-orgmode@@gnu.org}. |
| 566 | @value{MAINTAINEREMAIL}. | 582 | If you are not a member of the mailing list, your mail will be reviewed by a |
| 583 | moderator and then passed through to the list. | ||
| 567 | 584 | ||
| 568 | For bug reports, please provide as much information as possible, | 585 | For bug reports, please provide as much information as possible, |
| 569 | including the version information of Emacs (@kbd{C-h v emacs-version | 586 | including 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 | ||
| 813 | Forthermore, any entries with a @samp{VISIBILITY} property (@pxref{Properties | ||
| 814 | and Columns}) will get their visibility adapted accordingly. Allowed values | ||
| 815 | for 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} | ||
| 820 | Switch back to the startup visibility of the buffer, i.e. whatever is | ||
| 821 | requested by startup options and @samp{VISIBILITY} properties in individual | ||
| 822 | entries. | ||
| 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 | |||
| 915 | also supply your own function to extract the sorting key. With a @kbd{C-u} | 945 | also supply your own function to extract the sorting key. With a @kbd{C-u} |
| 916 | prefix, sorting will be case-sensitive. With two @kbd{C-u C-u} prefixes, | 946 | prefix, sorting will be case-sensitive. With two @kbd{C-u C-u} prefixes, |
| 917 | duplicate entries will also be removed. | 947 | duplicate entries will also be removed. |
| 948 | @kindex C-x n s | ||
| 949 | @item C-x n s | ||
| 950 | Narrow buffer to current subtree. | ||
| 951 | @kindex C-x n w | ||
| 952 | @item C-x n w | ||
| 953 | Widen buffer to remove a narrowing. | ||
| 918 | @kindex C-c * | 954 | @kindex C-c * |
| 919 | @item C-c * | 955 | @item C-c * |
| 920 | Turn a normal line or plain list item into a headline (so that it | 956 | Turn 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 | ||
| 1067 | An important feature of Org mode is the ability to construct | 1103 | An 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 | 1104 | trees} for selected information in an outline tree, so that the entire |
| 1069 | the entire document is folded as much as possible, but the selected | 1105 | document is folded as much as possible, but the selected information is made |
| 1070 | information is made visible along with the headline structure above | 1106 | visible along with the headline structure above it@footnote{See also the |
| 1071 | it@footnote{See also the variables @code{org-show-hierarchy-above}, | 1107 | variables @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 |
| 1073 | detailed control on how much context is shown around each match.}. Just | 1109 | control on how much context is shown around each match.}. Just try it out |
| 1074 | try it out and you will see immediately how it works. | 1110 | and you will see immediately how it works. |
| 1075 | 1111 | ||
| 1076 | Org mode contains several commands creating such trees, all these | 1112 | Org mode contains several commands creating such trees, all these |
| 1077 | commands can be accessed through a dispatcher: | 1113 | commands can be accessed through a dispatcher: |
| @@ -1082,15 +1118,16 @@ commands can be accessed through a dispatcher: | |||
| 1082 | This prompts for an extra key to select a sparse-tree creating command. | 1118 | This 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 |
| 1085 | Occur. Prompts for a regexp and shows a sparse tree with all matches. | 1121 | Occur. Prompts for a regexp and shows a sparse tree with all matches. If |
| 1086 | If the match is in a headline, the headline is made visible. If the | 1122 | the match is in a headline, the headline is made visible. If the match is in |
| 1087 | match is in the body of an entry, headline and body are made visible. | 1123 | the body of an entry, headline and body are made visible. In order to |
| 1088 | In order to provide minimal context, also the full hierarchy of | 1124 | provide minimal context, also the full hierarchy of headlines above the match |
| 1089 | headlines above the match is shown, as well as the headline following | 1125 | is shown, as well as the headline following the match. Each match is also |
| 1090 | the match. Each match is also highlighted; the highlights disappear | 1126 | highlighted; the highlights disappear when the buffer is changed by an |
| 1091 | when the buffer is changed by an editing command, or by pressing | 1127 | editing 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}. |
| 1093 | highlights are kept, so several calls to this command can be stacked. | 1129 | When called with a @kbd{C-u} prefix argument, previous highlights are kept, |
| 1130 | so 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 | |||
| 1133 | checkboxes (@pxref{Checkboxes}). Org supports editing such lists, | 1170 | checkboxes (@pxref{Checkboxes}). Org supports editing such lists, |
| 1134 | and the HTML exporter (@pxref{Exporting}) parses and formats them. | 1171 | and the HTML exporter (@pxref{Exporting}) parses and formats them. |
| 1135 | 1172 | ||
| 1136 | Org knows ordered and unordered lists. Unordered list items start | 1173 | Org knows ordered lists, unordered lists, and description lists. |
| 1137 | with @samp{-}, @samp{+}, or @samp{*}@footnote{When using @samp{*} as a | 1174 | @itemize @bullet |
| 1138 | bullet, lines must be indented or they will be seen as top-level | 1175 | @item |
| 1139 | headlines. Also, when you are hiding leading stars to get a clean | 1176 | @emph{Unordered} list items start with @samp{-}, @samp{+}, or |
| 1140 | outline view, plain list items starting with a star are visually | 1177 | @samp{*}@footnote{When using @samp{*} as a bullet, lines must be indented or |
| 1141 | indistinguishable from true headlines. In short: even though @samp{*} | 1178 | they will be seen as top-level headlines. Also, when you are hiding leading |
| 1142 | is supported, it may be better to not use it for plain list items.} as | 1179 | stars to get a clean outline view, plain list items starting with a star are |
| 1143 | bullets. Ordered list items start with a numeral followed by either a | 1180 | visually indistinguishable from true headlines. In short: even though |
| 1144 | period 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.} |
| 1145 | belonging to the same list must have the same indentation on the first | 1182 | as bullets. |
| 1146 | line. In particular, if an ordered list reaches number @samp{10.}, then | 1183 | @item |
| 1147 | the 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 |
| 1148 | in the list. Indentation also determines the end of a list item. It | 1185 | a right parenthesis, such as @samp{1.} or @samp{1)}. |
| 1149 | ends before the next line that is indented like the bullet/number, or | 1186 | @item |
| 1150 | less. 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 |
| 1151 | several paragraphs in one item. If you would like an empty line to | 1188 | separator @samp{ :: } to separate the description @emph{term} from the |
| 1152 | terminate all currently open plain lists, configure the variable | 1189 | desciption. |
| 1153 | @code{org-empty-line-terminates-plain-lists}. Here is an example: | 1190 | @end itemize |
| 1191 | |||
| 1192 | Items belonging to the same list must have the same indentation on the first | ||
| 1193 | line. In particular, if an ordered list reaches number @samp{10.}, then the | ||
| 1194 | 2--digit numbers must be written left-aligned with the other numbers in the | ||
| 1195 | list. Indentation also determines the end of a list item. It ends before | ||
| 1196 | the next line that is indented like the bullet/number, or less. Empty lines | ||
| 1197 | are part of the previous item, so you can have several paragraphs in one | ||
| 1198 | item. If you would like an empty line to terminate all currently open plain | ||
| 1199 | lists, configure the variable @code{org-empty-line-terminates-plain-lists}. | ||
| 1200 | Here 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 | |||
| 1171 | deal with them correctly@footnote{Org only changes the filling | 1222 | deal with them correctly@footnote{Org only changes the filling |
| 1172 | settings for Emacs. For XEmacs, you should use Kyle E. Jones' | 1223 | settings 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 | ||
| 1176 | The following commands act on items when the cursor is in the first line | 1228 | The following commands act on items when the cursor is in the first line |
| 1177 | of an item (the line with the bullet or number). | 1229 | of an item (the line with the bullet or number). |
| @@ -1265,7 +1317,8 @@ Visibility cycling (@pxref{Visibility cycling}) on the headline will | |||
| 1265 | hide and show the entry, but keep the drawer collapsed to a single line. | 1317 | hide and show the entry, but keep the drawer collapsed to a single line. |
| 1266 | In order to look inside the drawer, you need to move the cursor to the | 1318 | In order to look inside the drawer, you need to move the cursor to the |
| 1267 | drawer line and press @key{TAB} there. Org mode uses a drawer for | 1319 | drawer line and press @key{TAB} there. Org mode uses a drawer for |
| 1268 | storing properties (@pxref{Properties and Columns}). | 1320 | storing properties (@pxref{Properties and Columns}), and another one for |
| 1321 | storing 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 | |||
| 1520 | used to export the file can be configured in the variable | 1573 | used 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 |
| 1523 | name and the format for table export in a subtree. | 1576 | name and the format for table export in a subtree. Org supports quite |
| 1577 | general formats for exported tables. The exporter format is the same as the | ||
| 1578 | format used by Orgtbl radio tables, see @ref{Translator functions} for a | ||
| 1579 | detailed description. | ||
| 1524 | @end table | 1580 | @end table |
| 1525 | 1581 | ||
| 1526 | If you don't like the automatic table editor because it gets in your | 1582 | If 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 | |||
| 2656 | an implementation example. Search for @samp{BibTeX links} in the source | 2712 | an implementation example. Search for @samp{BibTeX links} in the source |
| 2657 | file. | 2713 | file. |
| 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 | ||
| 3138 | It is often advisable to break down large tasks into smaller, manageable | 3192 | It is often advisable to break down large tasks into smaller, manageable |
| 3139 | subtasks. You can do this by creating an outline tree below a TODO | 3193 | subtasks. You can do this by creating an outline tree below a TODO item, |
| 3140 | item, with detailed subtasks on the tree@footnote{To keep subtasks out | 3194 | with detailed subtasks on the tree@footnote{To keep subtasks out of the |
| 3141 | of the global TODO list, see the | 3195 | global TODO list, see the @code{org-agenda-todo-list-sublevels}.}. To keep |
| 3142 | @code{org-agenda-todo-list-sublevels}.}. Another possibility is the use | 3196 | the overview over the fraction of subtasks that are already completed, insert |
| 3143 | of checkboxes to identify (a hierarchy of) a large number of subtasks | 3197 | either @samp{[/]} or @samp{[%]} anywhere in the headline. These cookies will |
| 3144 | (@pxref{Checkboxes}). | 3198 | be 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 | |||
| 3209 | If you would like a TODO entry to automatically change to DONE when all | ||
| 3210 | chilrden 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 | |||
| 3222 | Another possibility is the use of checkboxes to identify (a hierarchy of) a | ||
| 3223 | large 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 |
| 3269 | the final heading will have the tags @samp{:work:}, @samp{:boss:}, | 3348 | the 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 |
| 3271 | explicitly marked with those tags. When executing tag searches and | 3350 | explicitly marked with those tags. You can also set tags that all entries in |
| 3272 | Org mode finds that a certain headline matches the search criterion, it | 3351 | a file should inherit as if these tags would be defined in a hypothetical |
| 3273 | will not check any sublevel headline, assuming that these also match and | 3352 | level zero that surounds the entire file. |
| 3274 | that the list of matches could become very long because of that. If you | 3353 | |
| 3275 | do want the sublevels be tested and listed as well, you may set the | 3354 | @example |
| 3276 | variable @code{org-tags-match-list-sublevels}. To limit tag inheritance | 3355 | #+FILETAGS: :Peter:Boss:Secret: |
| 3277 | to specific tags, or to turn it off entirely, use the variable | 3356 | @end example |
| 3278 | @code{org-use-tag-inheritance}. | 3357 | |
| 3358 | @noindent | ||
| 3359 | To limit tag inheritance to specific tags, or to turn it off entirely, use | ||
| 3360 | the variable @code{org-use-tag-inheritance}. | ||
| 3361 | |||
| 3362 | When a headline matches during a tags search while tag inheritance is turned | ||
| 3363 | on, all the sublevels in the same tree will match as well@footnote{This is | ||
| 3364 | only true if the the search does not involve more complex tests including | ||
| 3365 | properties (@pxref{Property searches}).}. The list of matches may then | ||
| 3366 | become very long. If you only want to see the first tags match in a subtree, | ||
| 3367 | configure 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} |
| 3887 | Switch to the next/previous allowed value of the field. For this, you | 3976 | Switch to the next/previous allowed value of the field. For this, you |
| 3888 | have to have specified allowed values for a property. | 3977 | have to have specified allowed values for a property. |
| 3978 | @item 1..9,0 | ||
| 3979 | Directly 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 | |||
| 3930 | this @code{columnview} dynamic block (@pxref{Dynamic blocks}). The frame | 4021 | this @code{columnview} dynamic block (@pxref{Dynamic blocks}). The frame |
| 3931 | of this block looks like this: | 4022 | of 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 |
| 3949 | local @r{use the tree in which the capture block is located} | 4041 | local @r{use the tree in which the capture block is located} |
| 3950 | global @r{make a global view, including all headings in the file} | 4042 | global @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 |
| 3955 | When @code{t}, insert a hline after every line. When a number N, insert | 4049 | When @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 | |||
| 4215 | the nth such day. E.g. | 4309 | the 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 | |||
| 4411 | happen in the line directly following the headline. Any CLOSED | 4507 | happen in the line directly following the headline. Any CLOSED |
| 4412 | timestamp will be removed. When called with a prefix argument, remove | 4508 | timestamp will be removed. When called with a prefix argument, remove |
| 4413 | the scheduling date from the entry. | 4509 | the 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 | ||
| 4515 | Mark the current entry for agenda action. After you have marked the entry | ||
| 4516 | like this, you can open the agenda or the calendar to find an appropriate | ||
| 4517 | date. With the cursor on the selected date, press @kbd{k s} or @kbd{k d} to | ||
| 4518 | schedule 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 | |||
| 4545 | at an existing clock table, just update it. When called with a prefix | 4650 | at an existing clock table, just update it. When called with a prefix |
| 4546 | argument, jump to the first clock report in the current document and | 4651 | argument, jump to the first clock report in the current document and |
| 4547 | update it. | 4652 | update 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 | |||
| 4620 | the agenda (@pxref{Weekly/daily agenda}) to show which tasks have been | 4726 | the agenda (@pxref{Weekly/daily agenda}) to show which tasks have been |
| 4621 | worked on or closed during a day. | 4727 | worked 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. | |||
| 4655 | If you switch to column view in the daily/weekly agenda, the effort column | 4761 | If you switch to column view in the daily/weekly agenda, the effort column |
| 4656 | will summarize the estimated work effort for each day@footnote{Please note | 4762 | will summarize the estimated work effort for each day@footnote{Please note |
| 4657 | the pitfalls of summing hierarchical data in a flat list (@pxref{Agenda | 4763 | the pitfalls of summing hierarchical data in a flat list (@pxref{Agenda |
| 4658 | column view}.}, and you can use this to find space in your schedule. To get | 4764 | column view}).}, and you can use this to find space in your schedule. To get |
| 4659 | an overview of the entire part of the day that is committed, you can set the | 4765 | an overview of the entire part of the day that is committed, you can set the |
| 4660 | option @code{org-agenda-columns-add-appointments-to-effort-sum}. The | 4766 | option @code{org-agenda-columns-add-appointments-to-effort-sum}. The |
| 4661 | appointments on a day that take place over a specified time interval will | 4767 | appointments 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 | |||
| 4705 | use two prefix arguments, Org jumps to the location where the last | 4811 | use two prefix arguments, Org jumps to the location where the last |
| 4706 | remember note was stored. | 4812 | remember note was stored. |
| 4707 | 4813 | ||
| 4814 | You can also call @code{org-remember} in a special way from the agenda, | ||
| 4815 | using the @kbd{k r} key combination. With this access, any time stamps | ||
| 4816 | inserted by the selected remember template (see below) will default to | ||
| 4817 | the 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 |
| 4726 | character specifies how to select the template. It is useful if the | 4837 | character specifies how to select the template. It is useful if the |
| 4727 | character is also the first letter of the name. The next string | 4838 | character is also the first letter of the name. The next string specifies |
| 4728 | specifies the template. Two more (optional) strings give the file in | 4839 | the template. Two more (optional) strings give the file in which, and the |
| 4729 | which, and the headline under which the new note should be stored. The | 4840 | headline under which the new note should be stored. The file (if not present |
| 4730 | file (if not present or @code{nil}) defaults to | 4841 | or @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 | 4843 | path, it will be interpreted relative to @code{org-directory}. The heading |
| 4733 | absolute path, it will be interpreted relative to @code{org-directory}. | 4844 | can also be the symbols @code{top} or @code{bottom} to send note as level 1 |
| 4734 | 4845 | entries to the beginning or end of the file, respectively. | |
| 4735 | An optional sixth element specifies the contexts in which the user can | 4846 | |
| 4736 | select the template. This element can be either a list of major modes | 4847 | An optional sixth element specifies the contexts in which the user can select |
| 4737 | or a function. @code{org-remember} will first check whether the function | 4848 | the template. This element can be a list of major modes or a function. |
| 4738 | returns @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 |
| 4739 | the template accordingly. | 4850 | if we are in any of the listed major mode, and exclude templates fo which |
| 4851 | this condition is not fulfilled. Templates that do not specify this element | ||
| 4852 | at all, or that use @code{nil} or @code{t} as a value will always be | ||
| 4853 | selectable. | ||
| 4740 | 4854 | ||
| 4741 | So for example: | 4855 | So 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 | |||
| 4752 | available when the function @code{my-check} returns @code{t}. The third | 4866 | available when the function @code{my-check} returns @code{t}. The third |
| 4753 | template will be proposed in any context. | 4867 | template will be proposed in any context. |
| 4754 | 4868 | ||
| 4755 | When you call @kbd{M-x remember} (or @kbd{M-x org-remember}) to remember | 4869 | When you call @kbd{M-x org-remember} (or @kbd{M-x remember}) to remember |
| 4756 | something, org will prompt for a key to select the template (if you have | 4870 | something, Org will prompt for a key to select the template (if you have |
| 4757 | more than one template) and then prepare the buffer like | 4871 | more 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 | ||
| 4831 | When you are finished preparing a note with @i{remember}, you have to | 4946 | When you are finished preparing a note with @i{remember}, you have to press |
| 4832 | press @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 |
| 4833 | note in the file and under the headline specified in the template, or it | 4948 | remember buffer, you will first be asked if you want to clock out |
| 4834 | will use the default file and headlines. The window configuration will | 4949 | now@footnote{To avoid this query, configure the variable |
| 4835 | be 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 | 4951 | will 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 | |
| 4838 | i.e. specify a double prefix argument to @kbd{C-c C-c}. | 4953 | The handler will then store the note in the file and under the headline |
| 4954 | specified in the template, or it will use the default file and headlines. | ||
| 4955 | The window configuration will be restored, sending you back to the working | ||
| 4956 | context before the call to @code{remember}. To re-use the location found | ||
| 4957 | during 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 | ||
| 4959 | C-c}. | ||
| 4839 | 4960 | ||
| 4840 | If you want to store the note directly to a different place, use | 4961 | If 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 | |||
| 4898 | subitem.@* By default, all level 1 headlines in the current buffer are | 5019 | subitem.@* By default, all level 1 headlines in the current buffer are |
| 4899 | considered to be targets, but you can have more complex definitions | 5020 | considered to be targets, but you can have more complex definitions |
| 4900 | across a number of files. See the variable @code{org-refile-targets} | 5021 | across a number of files. See the variable @code{org-refile-targets} |
| 4901 | for details. | 5022 | for details. If you would like to select a location via a file-pathlike |
| 5023 | completion 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 |
| 4904 | Use the refile interface to jump to a heading. | 5027 | Use 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 |
| 5699 | Move the subtree correspoding to the current entry to its @emph{Archive | 5822 | Move the subtree corresponding to the current entry to its @emph{Archive |
| 5700 | Sibling}. | 5823 | Sibling}. |
| 5701 | @c | 5824 | @c |
| 5702 | @kindex $ | 5825 | @kindex $ |
| 5703 | @item $ | 5826 | @item $ |
| 5704 | Archive the subtree corresponding to the current headline. This means the | 5827 | Archive the subtree corresponding to the current headline. This means the |
| 5705 | entry will be moved to the configured archive locatin, most likely a | 5828 | entry will be moved to the configured archive location, most likely a |
| 5706 | different file. | 5829 | different 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 |
| 5748 | Set a deadline for this item. | 5871 | Set a deadline for this item. |
| 5749 | @c | 5872 | @c |
| 5873 | @kindex k | ||
| 5874 | @item k | ||
| 5875 | Agenda actions, to set dates for selected items to the cursor date. | ||
| 5876 | This command also works in the calendar! The command prompts for an | ||
| 5877 | additonal key: | ||
| 5878 | @example | ||
| 5879 | m @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}.} | ||
| 5881 | d @r{Set the deadline of the marked entry to the date at point.} | ||
| 5882 | s @r{Schedule the marked entry at the date at point.} | ||
| 5883 | r @r{Call @code{org-remember} with the cursor date as default date.} | ||
| 5884 | @end example | ||
| 5885 | Press @kbd{r} afterwards to refresh the agenda and see the effect of the | ||
| 5886 | command. | ||
| 5887 | @c | ||
| 5750 | @kindex S-@key{right} | 5888 | @kindex S-@key{right} |
| 5751 | @item S-@key{right} | 5889 | @item S-@key{right} |
| 5752 | Change the time stamp associated with the current line by one day into the | 5890 | Change 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, | |||
| 6554 | Org mode can also produce extracts in the iCalendar format. Currently | 6692 | Org mode can also produce extracts in the iCalendar format. Currently |
| 6555 | Org mode only supports export, not import of these different formats. | 6693 | Org mode only supports export, not import of these different formats. |
| 6556 | 6694 | ||
| 6557 | When exporting, Org mode uses special conventions to enrich the output | 6695 | @menu |
| 6558 | produced. @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 | |||
| 6709 | When exporting Org mode documents, the exporter tries to reflect the | ||
| 6710 | structure of the document as accurately as possible in the back-end. Since | ||
| 6711 | export targets like HTML or La@TeX{} allow much richer formatting, Org mode | ||
| 6712 | has rules how to prepare text for rich export. This section summarizes the | ||
| 6713 | markup 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 | ||
| 6737 | The 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 | ||
| 6744 | If this line does not exist, the title is derived from the first non-empty, | ||
| 6745 | non-comment line in the buffer. If no such line exists, or if you have | ||
| 6746 | turned off exporting of the text before the first headline (see below), the | ||
| 6747 | title will be the file name without extension. | ||
| 6748 | |||
| 6749 | If you are exporting only a subtree by marking is as the region, the heading | ||
| 6750 | of the subtree will become the title of the document. If the subtree has a | ||
| 6751 | property @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 | |||
| 6757 | The outline structure of the document as described in @ref{Document | ||
| 6758 | Structure} forms the basis for defining sections of the exported document. | ||
| 6759 | However, since the outline structure is also used for (for example) lists of | ||
| 6760 | tasks, only the first three outline levels will be used as headings. Deeper | ||
| 6761 | levels will become itemized lists. You can change the location of this | ||
| 6762 | switch, globally by setting the variable @code{org-headline-levels}, or on a | ||
| 6763 | per 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 | |||
| 6773 | The table of contents is normally inserted directly before the first headline | ||
| 6774 | of the file. If you would like to get it to a different location, insert the | ||
| 6775 | string @code{[TABLE-OF-CONTENTS]} on a line by itself at the desired | ||
| 6776 | location. The depth of the table of contents is by default the same as the | ||
| 6777 | number of headline levels, but you can choose a smaller number or turn off | ||
| 6778 | the 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 | |||
| 6791 | Org mode normally exports the text before the first headline, and even uses | ||
| 6792 | the first line as the document title. The text will be fully marked up. If | ||
| 6793 | you need to include literal HTML or La@TeX{} code, use the special constructs | ||
| 6794 | described below in the sections for the individual exporters. | ||
| 6795 | |||
| 6796 | Some people like to use the space before the first headline for setup and | ||
| 6797 | internal links and therefore would like to control the exported text before | ||
| 6798 | the 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 | ||
| 6800 | basis, you can get the same effect with @samp{#+OPTIONS: skip:t}. | ||
| 6801 | |||
| 6802 | @noindent | ||
| 6803 | If 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 | |||
| 6817 | Plain lists as described in @ref{Plain lists} are translated to the back-ends | ||
| 6818 | syntax for such lists. Most back-ends support unordered, ordered, and | ||
| 6819 | description lists. | ||
| 6820 | |||
| 6821 | @node Paragraphs, Literal examples, Lists, Markup rules | ||
| 6822 | @subheading Paragraphs, line breaks, and quoting | ||
| 6823 | @cindex paragraphs, markup rules | ||
| 6824 | |||
| 6825 | Paragraphs are separated by at least one empty line. If you need to enforce | ||
| 6826 | a line break within a paragraph, use @samp{\\} at the end of a line. | ||
| 6827 | |||
| 6828 | To keep the line breaks in a region, but otherwise use normal formatting, you | ||
| 6829 | can use this construct, which can also be used to format poetry. | ||
| 6830 | |||
| 6831 | @example | ||
| 6832 | #+BEGIN_VERSE | ||
| 6833 | Everything should be made as simple as possible, | ||
| 6834 | but not any simpler -- Albert Einstein | ||
| 6835 | #+END_VERSE | ||
| 6836 | @end example | ||
| 6837 | |||
| 6838 | When quoting a passage from another document, it is customary to format this | ||
| 6839 | as a paragraph that is indented on both the left and the right margin. You | ||
| 6840 | can include quotations in Org mode documents like this: | ||
| 6841 | |||
| 6842 | @example | ||
| 6843 | #+BEGIN_QUOTE | ||
| 6844 | Everything should be made as simple as possible, | ||
| 6845 | but 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 | |||
| 6854 | You can include literal examples that should not be subjected to | ||
| 6855 | markup. Such examples will be typeset in monospace, so this is well suited | ||
| 6856 | for source code and similar examples. | ||
| 6857 | @cindex #+BEGIN_EXAMPLE | ||
| 6858 | |||
| 6859 | @example | ||
| 6860 | #+BEGIN_EXAMPLE | ||
| 6861 | Some example from a text file. | ||
| 6862 | #+END_EXAMPLE | ||
| 6863 | @end example | ||
| 6864 | |||
| 6865 | For simplicity when using small examples, you can also start the example | ||
| 6866 | lines with a colon: | ||
| 6867 | |||
| 6868 | @example | ||
| 6869 | : Some example from a text file. | ||
| 6870 | @end example | ||
| 6871 | |||
| 6872 | @cindex formatting source code, markup rules | ||
| 6873 | If the example is source code from a programming language, or any other text | ||
| 6874 | that can be marked up by font-lock in Emacs, you can ask for the example to | ||
| 6875 | look like the fontified Emacs buffer@footnote{Currently this works only for | ||
| 6876 | the HTML back-end, and requires the @file{htmlize.el} package version 1.34 or | ||
| 6877 | later.}. This is done with the @samp{src} block, where you also need to | ||
| 6878 | specify the name of the major mode that should be used to fontify the | ||
| 6879 | example: | ||
| 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 ' | ||
| 6893 | Edit the source code example at point in its native mode. This works by | ||
| 6894 | switching to an indirect buffer, narrowing the buffer and switching to the | ||
| 6895 | other 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 | |||
| 6903 | During export, you can include the content of another file. For example, to | ||
| 6904 | include your .emacs file, you could use: | ||
| 6905 | @cindex #+INCLUDE | ||
| 6906 | |||
| 6907 | @example | ||
| 6908 | #+INCLUDE: "~/.emacs" src emacs-lisp | ||
| 6909 | @end example | ||
| 6910 | |||
| 6911 | The optional second and third parameter are the markup (@samp{quote}, | ||
| 6912 | @samp{example}, or @samp{src}), and, if the markup is @samp{src}, the | ||
| 6913 | language for formatting the contents. The markup is optional, if it is not | ||
| 6914 | given, the text will be assumed to be in Org mode format and will be | ||
| 6915 | processed normally. | ||
| 6916 | |||
| 6917 | @table @kbd | ||
| 6918 | @kindex C-c ' | ||
| 6919 | @item C-c ' | ||
| 6920 | Visit 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 | |||
| 6927 | Both the native Org mode tables (@pxref{Tables}) and tables formatted with | ||
| 6928 | the @file{table.el} package will be exported properly. For Org mode tables, | ||
| 6929 | the lines before the first horizontal separator line will become table header | ||
| 6930 | lines. | ||
| 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 ! | ||
| 6938 | Numbers in square brackets are treated as footnote markers, and lines | ||
| 6939 | starting with such a marker are interpreted as the footnote itself. You can | ||
| 6940 | use the Emacs package @file{footnote.el} to create footnotes@footnote{The | ||
| 6941 | @file{footnote} package uses @kbd{C-c !} to invoke its commands. This | ||
| 6942 | binding conflicts with the Org mode command for inserting inactive time | ||
| 6943 | stamps. You could use the variable @code{footnote-prefix} to switch | ||
| 6944 | footnotes commands to another key. Or, if you are too used to this binding, | ||
| 6945 | you could use @code{org-replace-disputed-keys} and @code{org-disputed-keys} | ||
| 6946 | to change the settings in Org.}. For example: | ||
| 6947 | |||
| 6948 | @example | ||
| 6949 | The 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 | ||
| 6963 | You can make words @b{*bold*}, @i{/italic/}, _underlined_, @code{=code=} | ||
| 6964 | and @code{~verbatim~}, and, if you must, @samp{+strike-through+}. Text | ||
| 6965 | in the code and verbatim string is not processed for Org mode specific | ||
| 6966 | syntax, 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 | |||
| 6975 | A @TeX{}-like syntax is used to specify special characters. Where possible, | ||
| 6976 | these will be transformed into the native format of the exporter back-end. | ||
| 6977 | Strings like @code{\alpha} will be exported as @code{α} in the HTML | ||
| 6978 | output, and as @code{$\alpha$} in the La@TeX{} output. Similarly, | ||
| 6979 | @code{\nbsp} will become @code{ } in HTML and @code{~} in La@TeX{}. | ||
| 6980 | This applies for a large number of entities, with names taken from both HTML | ||
| 6981 | and La@TeX{}, see the variable @code{org-html-entities} for the complete | ||
| 6982 | list. If you are unsure about a name, use @kbd{M-@key{TAB}} for completion | ||
| 6983 | after having types the backslash and maybe a few characters | ||
| 6984 | (@pxref{Completion}). | ||
| 6985 | |||
| 6986 | La@TeX{} fragments are converted into images for HTML export, and they are | ||
| 6987 | written literally into the La@TeX{} export. See also @ref{Embedded LaTeX}. | ||
| 6988 | |||
| 6989 | Finally, @samp{\-} is treated as a shy hyphen, and @samp{--}, @samp{---}, and | ||
| 6990 | @samp{...} are all converted into special commands creating hyphens of | ||
| 6991 | different 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 | ||
| 6996 | A line consisting of only dashes, and at least 5 of them, will be | ||
| 6997 | exported 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 | |||
| 7004 | Lines starting with @samp{#} in column zero are treated as comments and will | ||
| 7005 | never 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 ; | ||
| 7012 | Toggle 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 | ||
| 7020 | The exporter recognizes special lines in the buffer which provide | ||
| 7021 | additional information. These lines may be put anywhere in the file. | ||
| 7022 | The whole set of lines can be inserted into the buffer with @kbd{C-c | ||
| 7023 | C-e t}. For individual lines, a good way to make sure the keyword is | ||
| 7024 | correct 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 | ||
| 7030 | Insert 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 | ||
| 7056 | The OPTIONS line is a compact@footnote{If you want to configure many options | ||
| 7057 | this way, you can use several OPTIONS lines.} form to specify export settings. Here | ||
| 7058 | you 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 | ||
| 7075 | H: @r{set the number of headline levels for export} | ||
| 7076 | num: @r{turn on/off section-numbers} | ||
| 7077 | toc: @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.} | ||
| 7086 | f: @r{turn on/off footnotes like this[1].} | ||
| 7087 | *: @r{turn on/off emphasized text (bold, italic, underlined)} | ||
| 7088 | TeX: @r{turn on/off simple @TeX{} macros in plain text} | ||
| 7089 | LaTeX: @r{turn on/off La@TeX{} fragments} | ||
| 7090 | skip: @r{turn on/off skipping the text before the first heading} | ||
| 7091 | author: @r{turn on/off inclusion of author name/email into exported file} | ||
| 7092 | timestamp: @r{turn on/off inclusion creation time into exported file} | ||
| 7093 | d: @r{turn on/off inclusion of drawers} | ||
| 7094 | @end example | ||
| 7095 | |||
| 7096 | These options take effect in both the HTML and La@TeX{} export, except | ||
| 7097 | for @code{TeX} and @code{LaTeX}, which are respectively @code{t} and | ||
| 7098 | @code{nil} for the La@TeX{} export. | ||
| 7099 | |||
| 7100 | When exporting only a single subtree by selecting it with @kbd{C-c @@} before | ||
| 7101 | calling an export command, the subtree can overrule some of the file's export | ||
| 7102 | settings 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 | |||
| 7109 | All export commands can be reached using the export dispatcher, which is a | ||
| 7110 | prefix key that prompts for an additional key specifying the command. | ||
| 7111 | Normally the entire file is exported, but if there is an active region that | ||
| 7112 | contains one outline tree, the first heading is used as document title and | ||
| 7113 | the 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 |
| 6567 | background if that seems useful for the specific command (i.e. commands that | 7122 | background if that seems useful for the specific command (i.e. commands that |
| 6568 | write to a file). | 7123 | write to a file). |
| 7124 | @kindex C-c C-e v | ||
| 7125 | @item C-c C-e v | ||
| 7126 | Like @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 |
| 6571 | Call an the exporter, but reverse the setting of | 7130 | Call an the exporter, but reverse the setting of |
| @@ -6573,16 +7132,7 @@ Call an the exporter, but reverse the setting of | |||
| 6573 | not set, or force processing in the current Emacs process if st. | 7132 | not 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. | |||
| 6598 | Export as ASCII file. For an org file @file{myfile.org}, the ASCII file | 7148 | Export as ASCII file. For an org file @file{myfile.org}, the ASCII file |
| 6599 | will be @file{myfile.txt}. The file will be overwritten without | 7149 | will be @file{myfile.txt}. The file will be overwritten without |
| 6600 | warning. If there is an active region, only the region will be | 7150 | warning. If there is an active region, only the region will be |
| 6601 | exported. If the selected region is a single tree, the tree head will | 7151 | exported. If the selected region is a single tree@footnote{To select the |
| 7152 | current subtree, use @kbd{C-c @@}.}, the tree head will | ||
| 6602 | become the document title. If the tree head entry has or inherits an | 7153 | become 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 |
| 6604 | export. | 7155 | export. |
| 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} | |||
| 6635 | language, but with additional support for tables. | 7186 | language, 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 |
| 6655 | Export as HTML file @file{myfile.html}. For an org file | 7206 | Export 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 | 7207 | the ASCII file will be @file{myfile.html}. The file will be overwritten |
| 6657 | will be overwritten without warning. If there is an active region, only | 7208 | without warning. If there is an active region, only the region will be |
| 6658 | the region will be exported. If the selected region is a single tree, | 7209 | exported. If the selected region is a single tree@footnote{To select the |
| 6659 | the tree head will become the document title. If the tree head entry | 7210 | current subtree, use @kbd{C-c @@}.}, the tree head will become the document |
| 6660 | has or inherits an @code{:EXPORT_FILE_NAME:} property, that name will be | 7211 | title. If the tree head entry has or inherits an @code{EXPORT_FILE_NAME} |
| 6661 | used for the export. | 7212 | property, 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 |
| 6664 | Export as HTML file and immediately open it with a browser. | 7215 | Export 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 | |||
| 6818 | as well, press @kbd{?} for an overview of the available keys). The second | 7370 | as well, press @kbd{?} for an overview of the available keys). The second |
| 6819 | view type is a @emph{folding} view much like Org provides it inside Emacs. | 7371 | view type is a @emph{folding} view much like Org provides it inside Emacs. |
| 6820 | The script is available at @url{http://orgmode.org/org-info.js} and you can | 7372 | The script is available at @url{http://orgmode.org/org-info.js} and you can |
| 6821 | find the documentation for it at @url{http://orgmode.org/org-infojs.html}. | 7373 | find the documentation for it at |
| 6822 | We 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 |
| 6823 | not want to be dependent on @url{orgmode.org} and prefer to install a local | 7375 | serving the script from our site, but if you use it a lot, you might not want |
| 6824 | copy on your own web server. | 7376 | to be dependent on @url{orgmode.org} and prefer to install a local copy on |
| 7377 | your own web server. | ||
| 6825 | 7378 | ||
| 6826 | To use the script, you need to make sure that the @file{org-infojs.el} module | 7379 | To use the script, you need to make sure that the @file{org-jsinfo.el} module |
| 6827 | gets loaded. It should be loaded by default, try @kbd{M-x customize-variable | 7380 | gets 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 |
| 6829 | case. All it then takes to make use of the program is adding a single line | 7382 | case. All it then takes to make use of the program is adding a single line |
| 6830 | to the Org file: | 7383 | to 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: | |||
| 6842 | path: @r{The path to the script. The default is to grab the script from} | 7395 | path: @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}.} |
| 6845 | view: @r{Initial view when website is first shown. Possible values are} | 7398 | view: @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}.} |
| 6857 | tdepth: @r{The depth of the table of contents. The defaults are taken from} | 7410 | tdepth: @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}.} |
| 7412 | ftoc: @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.} | ||
| 6859 | ltoc: @r{Should there be short contents (children) in each section?} | 7414 | ltoc: @r{Should there be short contents (children) in each section?} |
| 6860 | mouse: @r{Headings are highlighted when the mouse is over them. Should be} | 7415 | mouse: @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 |
| 6888 | Export as La@TeX{} file @file{myfile.tex}. | 7443 | Export 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 | ||
| 7445 | be overwritten without warning. If there is an active region, only the | ||
| 7446 | region will be exported. If the selected region is a single tree@footnote{To | ||
| 7447 | select the current subtree, use @kbd{C-c @@}.}, the tree head will become the | ||
| 7448 | document 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 |
| 6891 | Export to a temporary buffer, do not create a file. | 7452 | Export 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}. | |||
| 6973 | Export only the visible part of the document. | 7533 | Export 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 | |||
| 6985 | iCalendar format. If you also want to have TODO entries included in the | 7545 | iCalendar format. If you also want to have TODO entries included in the |
| 6986 | export, configure the variable @code{org-icalendar-include-todo}. | 7546 | export, configure the variable @code{org-icalendar-include-todo}. |
| 6987 | 7547 | ||
| 7548 | The iCalendar standard requires each entry to have a globally unique | ||
| 7549 | identifier (UID). Org creates these identifiers during export. If you set | ||
| 7550 | the 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 | ||
| 7552 | entry. Since a single entry can give rise to multiple iCalendar entries (as | ||
| 7553 | a timestamp, a deadline, a scheduled item, and as a TODO item), Org adds | ||
| 7554 | prefixes to the UID, depending on what triggered the inclusion of the entry. | ||
| 7555 | In this way the UID remains unique, but a synchronization program can still | ||
| 7556 | figure 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 | |||
| 7010 | How this calendar is best read and updated, depends on the application | 7580 | How this calendar is best read and updated, depends on the application |
| 7011 | you are using. The FAQ covers this issue. | 7581 | you 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 | |||
| 7017 | The exporter backends interpret additional structure in the Org file | ||
| 7018 | in 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 | |||
| 7034 | Lines starting with @samp{#} in column zero are treated as comments | ||
| 7035 | and will never be exported. Also entire subtrees starting with the | ||
| 7036 | word @samp{COMMENT} will never be exported. | ||
| 7037 | |||
| 7038 | @table @kbd | ||
| 7039 | @kindex C-c ; | ||
| 7040 | @item C-c ; | ||
| 7041 | Toggle 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 | |||
| 7047 | Org mode normally ignores any text before the first headline when | ||
| 7048 | exporting, leaving this region for internal links to speed up navigation | ||
| 7049 | etc. However, in publishing-oriented files, you might want to have some | ||
| 7050 | text before the first headline, like a small introduction, special HTML | ||
| 7051 | code with a navigation bar, etc. You can ask to have this part of the | ||
| 7052 | file exported as well by setting the variable | ||
| 7053 | @code{org-export-skip-text-before-1st-heading} to @code{nil}. On a | ||
| 7054 | per-file basis, you can get the same effect with | ||
| 7055 | |||
| 7056 | @example | ||
| 7057 | #+OPTIONS: skip:nil | ||
| 7058 | @end example | ||
| 7059 | |||
| 7060 | The text before the first headline will be fully processed | ||
| 7061 | (@pxref{Enhancing text}), and the first non-comment line becomes the | ||
| 7062 | title of the exported document. If you need to include literal HTML, | ||
| 7063 | use the special constructs described in @ref{Quoting HTML tags}. The | ||
| 7064 | table of contents is normally inserted directly before the first | ||
| 7065 | headline of the file. If you would like to get it to a different | ||
| 7066 | location, insert the string @code{[TABLE-OF-CONTENTS]} on a line by | ||
| 7067 | itself at the desired location. | ||
| 7068 | |||
| 7069 | Finally, if you want to use the space before the first headline for | ||
| 7070 | internal purposes, but @emph{still} want to place something before the | ||
| 7071 | first headline when exporting the file, you can use the @code{#+TEXT} | ||
| 7072 | construct: | ||
| 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 | |||
| 7087 | Numbers in square brackets are treated as footnotes, so that you can use | ||
| 7088 | the Emacs package @file{footnote.el} to create footnotes. For example: | ||
| 7089 | |||
| 7090 | @example | ||
| 7091 | The Org homepage[1] clearly needs help from | ||
| 7092 | a good web designer. | ||
| 7093 | |||
| 7094 | [1] The link is: http://orgmode.org | ||
| 7095 | @end example | ||
| 7096 | |||
| 7097 | @noindent | ||
| 7098 | @kindex C-c ! | ||
| 7099 | Note that the @file{footnote} package uses @kbd{C-c !} to invoke its | ||
| 7100 | commands. This binding conflicts with the Org mode command for | ||
| 7101 | inserting inactive time stamps. You could use the variable | ||
| 7102 | @code{footnote-prefix} to switch footnotes commands to another key. Or, | ||
| 7103 | if you are too used to this binding, you could use | ||
| 7104 | @code{org-replace-disputed-keys} and @code{org-disputed-keys} to change | ||
| 7105 | the 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 | |||
| 7114 | When writing technical documents, you often need to insert examples that | ||
| 7115 | are not further interpreted by Org mode. For historical reasons, there | ||
| 7116 | are several ways to do this: | ||
| 7117 | |||
| 7118 | @itemize @bullet | ||
| 7119 | @item | ||
| 7120 | If a headline starts with the word @samp{QUOTE}, the text below the | ||
| 7121 | headline will be typeset as fixed-width, to allow quoting of computer | ||
| 7122 | codes etc. | ||
| 7123 | @item | ||
| 7124 | Lines starting with @samp{:} are also typeset in fixed-width font. | ||
| 7125 | @table @kbd | ||
| 7126 | @kindex C-c : | ||
| 7127 | @item C-c : | ||
| 7128 | Toggle fixed-width for entry (QUOTE) or region, see below. | ||
| 7129 | @end table | ||
| 7130 | @item | ||
| 7131 | Finally, text between | ||
| 7132 | @example | ||
| 7133 | #+BEGIN_EXAMPLE | ||
| 7134 | quoted text | ||
| 7135 | #+END_EXAMPLE | ||
| 7136 | @end example | ||
| 7137 | will 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 | |||
| 7146 | Some of the export backends of Org mode allow for sophisticated text | ||
| 7147 | formatting, this is true in particular for the HTML and La@TeX{} | ||
| 7148 | backends. Org mode has a number of typing conventions that allow to | ||
| 7149 | produce a richly formatted output. | ||
| 7150 | |||
| 7151 | @itemize @bullet | ||
| 7152 | |||
| 7153 | @cindex hand-formatted lists | ||
| 7154 | @cindex lists, hand-formatted | ||
| 7155 | @item | ||
| 7156 | Plain lists @samp{-}, @samp{*} or @samp{+} as bullet, or with @samp{1.} | ||
| 7157 | or @samp{2)} as enumerator will be recognized and transformed if the | ||
| 7158 | backend 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 | ||
| 7165 | You can make words @b{*bold*}, @i{/italic/}, _underlined_, @code{=code=} | ||
| 7166 | and @code{~verbatim~}, and, if you must, @samp{+strikethrough+}. Text | ||
| 7167 | in the code and verbatim string is not processed for Org mode specific | ||
| 7168 | syntax, it is exported verbatim. | ||
| 7169 | |||
| 7170 | @cindex horizontal rules, in exported files | ||
| 7171 | @item | ||
| 7172 | A line consisting of only dashes, and at least 5 of them, will be | ||
| 7173 | exported as a horizontal line (@samp{<hr/>} in HTML). | ||
| 7174 | |||
| 7175 | @cindex LaTeX fragments, export | ||
| 7176 | @cindex TeX macros, export | ||
| 7177 | @item | ||
| 7178 | Many @TeX{} macros and entire La@TeX{} fragments are converted into HTML | ||
| 7179 | entities or images (@pxref{Embedded LaTeX}). | ||
| 7180 | |||
| 7181 | @cindex tables, export | ||
| 7182 | @item | ||
| 7183 | Tables are transformed into native tables under the exporter, if the | ||
| 7184 | export backend supports this. Data fields before the first horizontal | ||
| 7185 | separator line will be formatted as table header fields. | ||
| 7186 | |||
| 7187 | @cindex fixed width | ||
| 7188 | @item | ||
| 7189 | If a headline starts with the word @samp{QUOTE}, the text below the | ||
| 7190 | headline will be typeset as fixed-width, to allow quoting of computer | ||
| 7191 | codes etc. Lines starting with @samp{:} are also typeset in fixed-width | ||
| 7192 | font. | ||
| 7193 | @table @kbd | ||
| 7194 | @kindex C-c : | ||
| 7195 | @item C-c : | ||
| 7196 | Toggle fixed-width for entry (QUOTE) or region, see below. | ||
| 7197 | @end table | ||
| 7198 | Finally, text between | ||
| 7199 | @example | ||
| 7200 | #+BEGIN_EXAMPLE | ||
| 7201 | quoted text | ||
| 7202 | #+END_EXAMPLE | ||
| 7203 | @end example | ||
| 7204 | will also be exported in this way. | ||
| 7205 | |||
| 7206 | @cindex linebreak, forced | ||
| 7207 | @item | ||
| 7208 | A double backslash @emph{at the end of a line} enforces a line break at | ||
| 7209 | this position. | ||
| 7210 | |||
| 7211 | @cindex HTML entities, LaTeX entities | ||
| 7212 | @item | ||
| 7213 | Strings like @code{\alpha} will be exported as @code{α}, in the | ||
| 7214 | HTML output. These strings are exported as @code{$\alpha$} in the | ||
| 7215 | La@TeX{} output. Similarly, @code{\nbsp} will become @code{ } in | ||
| 7216 | HTML and in La@TeX{}. This applies for a long list of entities, see | ||
| 7217 | the variable @code{org-html-entities} for the complete list. | ||
| 7218 | @c FIXME | ||
| 7219 | @end itemize | ||
| 7220 | |||
| 7221 | If these conversions conflict with your habits of typing ASCII text, | ||
| 7222 | they can all be turned off with corresponding variables. See the | ||
| 7223 | customization group @code{org-export-general}, and the following section | ||
| 7224 | which explains how to set export options with special lines in a | ||
| 7225 | buffer. | ||
| 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 | ||
| 7233 | The exporter recognizes special lines in the buffer which provide | ||
| 7234 | additional information. These lines may be put anywhere in the file. | ||
| 7235 | The whole set of lines can be inserted into the buffer with @kbd{C-c | ||
| 7236 | C-e t}. For individual lines, a good way to make sure the keyword is | ||
| 7237 | correct 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 | ||
| 7243 | Insert 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 | ||
| 7258 | The OPTIONS line is a compact form to specify export settings. Here | ||
| 7259 | you 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 | ||
| 7276 | H: @r{set the number of headline levels for export} | ||
| 7277 | num: @r{turn on/off section-numbers} | ||
| 7278 | toc: @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.} | ||
| 7287 | f: @r{turn on/off foototes like this[1].} | ||
| 7288 | *: @r{turn on/off emphasized text (bold, italic, underlined)} | ||
| 7289 | TeX: @r{turn on/off simple @TeX{} macros in plain text} | ||
| 7290 | LaTeX: @r{turn on/off La@TeX{} fragments} | ||
| 7291 | skip: @r{turn on/off skipping the text before the first heading} | ||
| 7292 | author: @r{turn on/off inclusion of author name/email into exported file} | ||
| 7293 | timestamp: @r{turn on/off inclusion creation time into exported file} | ||
| 7294 | d: @r{turn on/off inclusion of drawers} | ||
| 7295 | @end example | ||
| 7296 | |||
| 7297 | These options take effect in both the HTML and La@TeX{} export, except | ||
| 7298 | for @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 |
| 7387 | run @code{make} for updating files to be published. | 7669 | run @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 | ||
| 7672 | change 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 | |||
| 7651 | functions normally only publish changed files. You can override this and | 7936 | functions normally only publish changed files. You can override this and |
| 7652 | force publishing of all files by giving a prefix argument. | 7937 | force 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 | |||
| 7769 | line set the local variable @code{org-table-formula-constants-local}. | 8054 | line set the local variable @code{org-table-formula-constants-local}. |
| 7770 | The global version of this variable is | 8055 | The global version of this variable is |
| 7771 | @code{org-table-formula-constants}. | 8056 | @code{org-table-formula-constants}. |
| 8057 | @item #+FILETAGS: :tag1:tag2:tag3: | ||
| 8058 | Set tags that can be inherited by any entry in the file, including the | ||
| 8059 | top-level entries. | ||
| 7772 | @item #+DRAWERS: NAME1 ..... | 8060 | @item #+DRAWERS: NAME1 ..... |
| 7773 | Set the file-local set of drawers. The corresponding global variable is | 8061 | Set 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 |
| 7784 | This line sets a default inheritance value for entries in the current | 8072 | This line sets a default inheritance value for entries in the current |
| 7785 | buffer, most useful for specifying the allowed values of a property. | 8073 | buffer, most useful for specifying the allowed values of a property. |
| 8074 | @item #+SETUPFILE: file | ||
| 8075 | This line defines a file that holds more in-buffer setup. Normally this is | ||
| 8076 | entirely 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 | ||
| 8078 | settings line, or when exporting), then the contents of this file are parsed | ||
| 8079 | as if they had been included in the buffer. In particlar, the file can be | ||
| 8080 | any other Org mode file with internal setup. You can visit the file the | ||
| 8081 | cursor is in the line with @kbd{C-c '}. | ||
| 7786 | @item #+STARTUP: | 8082 | @item #+STARTUP: |
| 7787 | This line sets options to be used at startup of Org mode, when an | 8083 | This line sets options to be used at startup of Org mode, when an |
| 7788 | Org file is being visited. The first set of options deals with the | 8084 | Org 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} | |||
| 7828 | lognoteclock-out @r{record a note when clocking out} | 8124 | lognoteclock-out @r{record a note when clocking out} |
| 7829 | nolognoteclock-out @r{don't record a note when clocking out} | 8125 | nolognoteclock-out @r{don't record a note when clocking out} |
| 7830 | @end example | 8126 | @end example |
| 7831 | Here are the options for hiding leading stars in outline headings. The | 8127 | Here are the options for hiding leading stars in outline headings, and for |
| 7832 | corresponding variables are @code{org-hide-leading-stars} and | 8128 | indenting 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}). | 8130 | default 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 |
| 7840 | hidestars @r{make all but one of the stars starting a headline invisible.} | 8136 | hidestars @r{make all but one of the stars starting a headline invisible.} |
| 7841 | showstars @r{show all stars starting a headline} | 8137 | showstars @r{show all stars starting a headline} |
| 8138 | indent @r{virtual indentation according to outline level} | ||
| 8139 | noindent @r{no virtual indentation according to outline level} | ||
| 7842 | odd @r{allow only odd outline levels (1,3,...)} | 8140 | odd @r{allow only odd outline levels (1,3,...)} |
| 7843 | oddeven @r{allow all outline levels} | 8141 | oddeven @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 | ||
| 7930 | Some people find it noisy and distracting that the Org headlines | 8230 | Some people find it noisy and distracting that the Org headlines are starting |
| 7931 | are starting with a potentially large number of stars. For example | 8231 | with a potentially large number of stars, and that text below the headlines |
| 7932 | the tree from @ref{Headlines}: | 8232 | is not indented. This is not really a problem when you are writing a book |
| 8233 | where the outline headings are really section headlines. However, in a more | ||
| 8234 | list-oriented outline, it is clear that an indented structure is a lot | ||
| 8235 | cleaner, as can be seen by comparing the two columns in the following | ||
| 8236 | example: | ||
| 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 | 8243 | some text | some text |
| 7940 | more text | 8244 | *** 3rd level | * 3rd level |
| 7941 | * Another top level headline | 8245 | more 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 |
| 7945 | Unfortunately this is deeply ingrained into the code of Org and | 8251 | It is non-trivial to make such a look work in Emacs, but Org contains three |
| 7946 | cannot be easily changed. You can, however, modify the display in such | 8252 | separate features that, combined, achieve just that. |
| 7947 | a way that all leading stars become invisible and the outline more easy | ||
| 7948 | to 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}@* |
| 8257 | You may indent text below each headline to make the left boundary line up | ||
| 8258 | with the headline, like | ||
| 7954 | 8259 | ||
| 7955 | @noindent | 8260 | @example |
| 7956 | or change this on a per-file basis with one of the lines (anywhere in | 8261 | *** 3rd level |
| 7957 | the buffer) | 8262 | more text, now indented |
| 8263 | @end example | ||
| 8264 | |||
| 8265 | A good way to get this indentation is by hand, and Org supports this with | ||
| 8266 | paragraph filling, line wrapping, and structure editing@footnote{See also the | ||
| 8267 | variable @code{org-adapt-indentation}.} preserving or adapting the | ||
| 8268 | indentation appropriate. A different approach would be to have a way to | ||
| 8269 | automatically indent lines according to outline structure by adding overlays | ||
| 8270 | or text properties. But I have not yet found a robust and efficient way to | ||
| 8271 | do this in large files. | ||
| 8272 | |||
| 8273 | @item | ||
| 8274 | @emph{Hiding leading stars}@* You can modify the display in such a way that | ||
| 8275 | all leading stars become invisible. To do this in a global way, configure | ||
| 8276 | the variable @code{org-hide-leading-stars} or change this on a per-file basis | ||
| 8277 | with | ||
| 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 | 8284 | With hidden stars, the tree becomes: |
| 7965 | Press @kbd{C-c C-c} with the cursor in a @samp{STARTUP} line to activate | ||
| 7966 | the modifications. | ||
| 7967 | |||
| 7968 | With 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 | |||
| 7986 | stars are @i{almost} invisible, for example using the color | 8301 | stars 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 | ||
| 7989 | Things become cleaner still if you skip all the even levels and use only | 8304 | @item |
| 7990 | odd levels 1, 3, 5..., effectively adding two stars to go from one | 8305 | Things become cleaner still if you skip all the even levels and use only odd |
| 7991 | outline level to the next: | 8306 | levels 1, 3, 5..., effectively adding two stars to go from one outline level |
| 7992 | 8307 | to the next. In this way we get the outline view shown at the beginning of | |
| 7993 | @example | 8308 | this section. In order to make the structure editing and export commands |
| 7994 | * Top level headline | 8309 | handle 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 | 8311 | following lines: |
| 7997 | some text | ||
| 7998 | * 3rd level | ||
| 7999 | more text | ||
| 8000 | * Another top level headline | ||
| 8001 | @end example | ||
| 8002 | |||
| 8003 | @noindent | ||
| 8004 | In order to make the structure editing and export commands handle this | ||
| 8005 | convention correctly, use | ||
| 8006 | |||
| 8007 | @lisp | ||
| 8008 | (setq org-odd-levels-only t) | ||
| 8009 | @end lisp | ||
| 8010 | |||
| 8011 | @noindent | ||
| 8012 | or set this on a per-file basis with one of the following lines (don't | ||
| 8013 | forget to press @kbd{C-c C-c} with the cursor in the startup line to | ||
| 8014 | activate 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 | |||
| 8022 | double-star-per-level convention with @kbd{M-x org-convert-to-odd-levels | 8319 | double-star-per-level convention with @kbd{M-x org-convert-to-odd-levels |
| 8023 | RET} in that file. The reverse operation is @kbd{M-x | 8320 | RET} in that file. The reverse operation is @kbd{M-x |
| 8024 | org-convert-to-oddeven-levels}. | 8321 | org-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 | |||
| 8240 | may use the command @code{org-table-iterate} (@kbd{C-u C-c *}) to | 8538 | may use the command @code{org-table-iterate} (@kbd{C-u C-c *}) to |
| 8241 | recalculate until convergence. | 8539 | recalculate until convergence. |
| 8242 | @item | 8540 | @item |
| 8243 | A single letter cannot be made bold, for example @samp{*a*}. | ||
| 8244 | @item | ||
| 8245 | The exporters work well, but could be made more efficient. | 8541 | The 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 | |||
| 8548 | This appendix lists the extension modules that have been written for Org. | ||
| 8549 | Many of these extensions live in the @file{contrib} directory of the Org | ||
| 8550 | distribution, others are available somewhere on the web. | ||
| 8251 | 8551 | ||
| 8252 | This appendix lists extensions for Org written by other authors. | 8552 | @menu |
| 8253 | It 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 | |||
| 8630 | This appendix covers some aspects where users can extend the functionality of | ||
| 8254 | Org. | 8631 | Org. |
| 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 | |||
| 8269 | There are lots of extensions that have been written by other people. Most of | ||
| 8270 | them have either been integrated into Org by now, or they can be found in the | ||
| 8271 | Org distribution, in the @file{contrib} directory. The list has gotten too | ||
| 8272 | long to cover in any detail here, but there is a seaparate manual for these | ||
| 8273 | extensions. | ||
| 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 | |||
| 8369 | the link description when the link is later inserted into an Org | 8736 | the link description when the link is later inserted into an Org |
| 8370 | buffer with @kbd{C-c C-l}. | 8737 | buffer 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 |
| 8439 | Skip the first N lines of the table. Hlines do count! | 8806 | Skip the first N lines of the table. Hlines do count as separate lines for |
| 8807 | this parameter! | ||
| 8808 | |||
| 8440 | @item :skipcols (n1 n2 ...) | 8809 | @item :skipcols (n1 n2 ...) |
| 8441 | List of columns that should be skipped. If the table has a column with | 8810 | List of columns that should be skipped. If the table has a column with |
| 8442 | calculation marks, that column is automatically discarded as well. | 8811 | calculation 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 | |||
| 8482 | be prompted for a table name, lets say we use @samp{salesfigures}. You | 8851 | be prompted for a table name, lets say we use @samp{salesfigures}. You |
| 8483 | will then get the following template: | 8852 | will 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\\ | |||
| 8550 | The La@TeX{} translator function @code{orgtbl-to-latex} is already part of | 8920 | The La@TeX{} translator function @code{orgtbl-to-latex} is already part of |
| 8551 | Orgtbl mode. It uses a @code{tabular} environment to typeset the table | 8921 | Orgtbl mode. It uses a @code{tabular} environment to typeset the table |
| 8552 | and marks horizontal lines with @code{\hline}. Furthermore, it | 8922 | and marks horizontal lines with @code{\hline}. Furthermore, it |
| 8553 | interprets the following parameters: | 8923 | interprets 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 | ||
| 8584 | Orgtbl mode has several translator functions built-in: | 8954 | Orgtbl 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}. |
| 8587 | HTML translator uses the same code that produces tables during HTML | 8957 | Except for @code{orgtbl-to-html}@footnote{The HTML translator uses the same |
| 8588 | export.}, these all use a generic translator, @code{orgtbl-to-generic}. | 8958 | code that produces tables during HTML export.}, these all use a generic |
| 8589 | For example, @code{orgtbl-to-latex} itself is a very short function that | 8959 | translator, @code{orgtbl-to-generic}. For example, @code{orgtbl-to-latex} |
| 8590 | computes the column definitions for the @code{tabular} environment, | 8960 | itself is a very short function that computes the column definitions for the |
| 8591 | defines 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 |
| 8592 | generic translator. Here is the entire code: | 8962 | hands 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: | |||
| 8692 | Pressing `C-c C-c' on @code{a new house} and will insert the converted | 9062 | Pressing `C-c C-c' on @code{a new house} and will insert the converted |
| 8693 | La@TeX{} list between the two marker lines. | 9063 | La@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 | |||
| 8705 | to the block and can also specify parameters for the function producing | 9075 | to the block and can also specify parameters for the function producing |
| 8706 | the content of the block. | 9076 | the 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 | |||
| 8756 | written in a way that is does nothing in buffers that are not in | 9127 | written 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 | |||
| 8896 | values and check if VALUE is in this list. | 9267 | values 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 | |||
| 9275 | Org has sophisticated mapping capabilities to find all entries satisfying | ||
| 9276 | certain criteria. Internally, this functionality is used to produce agenda | ||
| 9277 | views, but there is also an API that can be used to execute arbitrary | ||
| 9278 | functions for each or selected entries. The main entry point for this API | ||
| 9279 | is: | ||
| 9280 | |||
| 9281 | @defun org-map-entries func &optional match scope &rest skip | ||
| 9282 | Call FUNC at each headline selected by MATCH in SCOPE. | ||
| 9283 | |||
| 9284 | FUNC is a function or a lisp form. The function will be called without | ||
| 9285 | arguments, with the cursor positioned at the beginning of the headline. | ||
| 9286 | The return values of all calls to the function will be collected and | ||
| 9287 | returned as a list. | ||
| 9288 | |||
| 9289 | MATCH is a tags/property/todo match as it is used in the agenda tags view. | ||
| 9290 | Only headlines that are matched by this query will be considered during | ||
| 9291 | the iteration. When MATCH is nil or t, all headlines will be | ||
| 9292 | visited by the iteration. | ||
| 9293 | |||
| 9294 | SCOPE determines the scope of this command. It can be any of: | ||
| 9295 | |||
| 9296 | @example | ||
| 9297 | nil @r{the current buffer, respecting the restriction if any} | ||
| 9298 | tree @r{the subtree started with the entry at point} | ||
| 9299 | file @r{the current buffer, without restriction} | ||
| 9300 | file-with-archives | ||
| 9301 | @r{the current buffer, and any archives associated with it} | ||
| 9302 | agenda @r{all agenda files} | ||
| 9303 | agenda-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 | |||
| 9309 | The remaining args are treated as settings for the skipping facilities of | ||
| 9310 | the scanner. The following items can be given here: | ||
| 9311 | |||
| 9312 | @example | ||
| 9313 | archive @r{skip trees with the archive tag} | ||
| 9314 | comment @r{skip trees with the COMMENT keyword} | ||
| 9315 | function 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 | |||
| 9323 | The function given to that mapping routine can really do anything you like. | ||
| 9324 | It can uce the property API (@pxref{Using the property API}) to gather more | ||
| 9325 | information about the entry, or in order to change metadate in the entry. | ||
| 9326 | Here are a couple of functions that might be handy: | ||
| 9327 | |||
| 9328 | @defun org-todo &optional arg | ||
| 9329 | Change the TODO state of the entry, see the docstring of the functions for | ||
| 9330 | the many possible values for the argument ARG. | ||
| 9331 | @end defun | ||
| 9332 | |||
| 9333 | @defun org-priority &optional action | ||
| 9334 | Change the priority of the entry, see the docstring of this function for the | ||
| 9335 | possible values for ACTION. | ||
| 9336 | @end defun | ||
| 9337 | |||
| 9338 | @defun org-toggle-tag tag &optional onoff | ||
| 9339 | Toggle the tag TAG in the current entry. Setting ONOFF to either @code{on} | ||
| 9340 | or @code{off} will not toggle tag, but ensure that it is either on or off. | ||
| 9341 | @end defun | ||
| 9342 | |||
| 9343 | @defun org-promote | ||
| 9344 | Promote the current entry. | ||
| 9345 | @end defun | ||
| 9346 | |||
| 9347 | @defun org-demote | ||
| 9348 | Demote the current entry. | ||
| 9349 | @end defun | ||
| 9350 | |||
| 9351 | Here is a simple example that will turn all entries in the current file with | ||
| 9352 | a tag @code{TOMORROW} into TODO entries with the keyword @code{UPCOMING}. | ||
| 9353 | Entries 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 | |||
| 9361 | The 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 | ||
| 9413 | Org-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 |
| 9040 | conflict with @file{allout.el}. | 9512 | conflict 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 |
| 9515 | extensive 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 |
| 9045 | of feedback. | 9518 | of 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 |
| 9048 | other things. | 9521 | other things. |
| 9049 | @item | 9522 | @item |
| 9050 | Linking to VM/BBDB/Gnus was inspired by @i{Tom Shannon}'s | 9523 | Linking 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 |
| 9061 | extension system. support mairix. | 9534 | extension 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 |
| 9064 | chapter about publishing. | 9537 | chapter 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 |
| 9073 | system. | 9546 | system. |
| 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 |
| 9076 | development of Org was fully independent, and both systems are really | 9549 | @file{muse.el}, which have similar goals as Org. Initially the |
| 9077 | different beasts in their basic ideas and implementation details. I later | 9550 | development of Org was fully independent because I was not aware of the |
| 9078 | looked at John's code, however, and learned from his implementation of (i) | 9551 | existence of these packages. But with time I have accasionally looked |
| 9079 | links where the link itself is hidden and only a description is shown, and | 9552 | at 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 | ||
| 9081 | number of great ideas and patches directly to Org, including the file | 9553 | number 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 |