1This is org.info, produced by makeinfo version 6.7 from org.texi.
2
3This manual is for Org version 9.4.
4
5   Copyright © 2004–2021 Free Software Foundation, Inc.
6
7     Permission is granted to copy, distribute and/or modify this
8     document under the terms of the GNU Free Documentation License,
9     Version 1.3 or any later version published by the Free Software
10     Foundation; with no Invariant Sections, with the Front-Cover Texts
11     being “A GNU Manual,” and with the Back-Cover Texts as in (a)
12     below.  A copy of the license is included in the section entitled
13     “GNU Free Documentation License.”
14
15     (a) The FSF’s Back-Cover Text is: “You have the freedom to copy and
16     modify this GNU manual.”
17
18INFO-DIR-SECTION Emacs editing modes
19START-INFO-DIR-ENTRY
20* Org Mode: (org).      Outline-based notes management and organizer.
21END-INFO-DIR-ENTRY
22
23
24File: org.info,  Node: Top,  Next: Introduction,  Up: (dir)
25
26The Org Manual
27**************
28
29This manual is for Org version 9.4.
30
31   Copyright © 2004–2021 Free Software Foundation, Inc.
32
33     Permission is granted to copy, distribute and/or modify this
34     document under the terms of the GNU Free Documentation License,
35     Version 1.3 or any later version published by the Free Software
36     Foundation; with no Invariant Sections, with the Front-Cover Texts
37     being “A GNU Manual,” and with the Back-Cover Texts as in (a)
38     below.  A copy of the license is included in the section entitled
39     “GNU Free Documentation License.”
40
41     (a) The FSF’s Back-Cover Text is: “You have the freedom to copy and
42     modify this GNU manual.”
43
44* Menu:
45
46* Introduction::                 Getting started.
47* Document Structure::           A tree works like your brain.
48* Tables::                       Pure magic for quick formatting.
49* Hyperlinks::                   Notes in context.
50* TODO Items::                   Every tree branch can be a TODO item.
51* Tags::                         Tagging headlines and matching sets of tags.
52* Properties and Columns::       Storing information about an entry.
53* Dates and Times::              Making items useful for planning.
54* Refiling and Archiving::       Moving and copying information with ease.
55* Capture and Attachments::      Dealing with external data.
56* Agenda Views::                 Collecting information into views.
57* Markup for Rich Contents::     Compose beautiful documents.
58* Exporting::                    Sharing and publishing notes.
59* Publishing::                   Create a web site of linked Org files.
60* Working with Source Code::     Export, evaluate, and tangle code blocks.
61* Miscellaneous::                All the rest which did not fit elsewhere.
62* Hacking::                      How to hack your way around.
63* History and Acknowledgments::  How Org came into being.
64* GNU Free Documentation License:: The license for this documentation.
65* Main Index::                   An index of Org’s concepts and features.
66* Key Index::                    Key bindings and where they are described.
67* Command and Function Index::   Command names and some internal functions.
68* Variable Index::               Variables mentioned in the manual.
69
70— The Detailed Node Listing —
71
72Introduction
73
74* Summary::                      Brief summary of what Org does.
75* Installation::                 Installing Org.
76* Activation::                   How to activate Org for certain buffers.
77* Feedback::                     Bug reports, ideas, patches, etc.
78* Conventions::                  Typesetting conventions used in this manual.
79
80Document Structure
81
82* Headlines::                    How to typeset Org tree headlines.
83* Visibility Cycling::           Show and hide, much simplified.
84* Motion::                       Jumping to other headlines.
85* Structure Editing::            Changing sequence and level of headlines.
86* Sparse Trees::                 Matches embedded in context.
87* Plain Lists::                  Additional structure within an entry.
88* Drawers::                      Tucking stuff away.
89* Blocks::                       Folding blocks.
90
91Visibility Cycling
92
93* Global and local cycling::     Cycling through various visibility states.
94* Initial visibility::           Setting the initial visibility state.
95* Catching invisible edits::     Preventing mistakes when editing invisible parts.
96
97Tables
98
99* Built-in Table Editor::        Simple tables.
100* Column Width and Alignment::   Overrule the automatic settings.
101* Column Groups::                Grouping to trigger vertical lines.
102* Orgtbl Mode::                  The table editor as minor mode.
103* The Spreadsheet::              The table editor has spreadsheet capabilities.
104* Org Plot::                     Plotting from Org tables.
105
106The Spreadsheet
107
108* References::                   How to refer to another field or range.
109* Formula syntax for Calc::      Using Calc to compute stuff.
110* Formula syntax for Lisp::      Writing formulas in Emacs Lisp.
111* Durations and time values::    How to compute durations and time values.
112* Field and range formulas::     Formula for specific (ranges of) fields.
113* Column formulas::              Formulas valid for an entire column.
114* Lookup functions::             Lookup functions for searching tables.
115* Editing and debugging formulas:: Fixing formulas.
116* Updating the table::           Recomputing all dependent fields.
117* Advanced features::            Field and column names, automatic recalculation...
118
119Hyperlinks
120
121* Link Format::                  How links in Org are formatted.
122* Internal Links::               Links to other places in the current file.
123* Radio Targets::                Make targets trigger links in plain text.
124* External Links::               URL-like links to the world.
125* Handling Links::               Creating, inserting and following.
126* Using Links Outside Org::      Linking from my C source code?
127* Link Abbreviations::           Shortcuts for writing complex links.
128* Search Options::               Linking to a specific location.
129* Custom Searches::              When the default search is not enough.
130
131TODO Items
132
133* TODO Basics::                  Marking and displaying TODO entries.
134* TODO Extensions::              Workflow and assignments.
135* Progress Logging::             Dates and notes for progress.
136* Priorities::                   Some things are more important than others.
137* Breaking Down Tasks::          Splitting a task into manageable pieces.
138* Checkboxes::                   Tick-off lists.
139
140TODO Extensions
141
142* Workflow states::              From TODO to DONE in steps.
143* TODO types::                   I do this, Fred does the rest.
144* Multiple sets in one file::    Mixing it all, still finding your way.
145* Fast access to TODO states::   Single letter selection of state.
146* Per-file keywords::            Different files, different requirements.
147* Faces for TODO keywords::      Highlighting states.
148* TODO dependencies::            When one task needs to wait for others.
149
150Progress Logging
151
152* Closing items::                When was this entry marked as done?
153* Tracking TODO state changes::  When did the status change?
154* Tracking your habits::         How consistent have you been?
155
156Tags
157
158* Tag Inheritance::              Tags use the tree structure of an outline.
159* Setting Tags::                 How to assign tags to a headline.
160* Tag Hierarchy::                Create a hierarchy of tags.
161* Tag Searches::                 Searching for combinations of tags.
162
163Properties and Columns
164
165* Property Syntax::              How properties are spelled out.
166* Special Properties::           Access to other Org mode features.
167* Property Searches::            Matching property values.
168* Property Inheritance::         Passing values down a tree.
169* Column View::                  Tabular viewing and editing.
170
171Column View
172
173* Defining columns::             The COLUMNS format property.
174* Using column view::            How to create and use column view.
175* Capturing column view::        A dynamic block for column view.
176
177Defining columns
178
179* Scope of column definitions::  Where defined, where valid?
180* Column attributes::            Appearance and content of a column.
181
182Dates and Times
183
184* Timestamps::                   Assigning a time to a tree entry.
185* Creating Timestamps::          Commands to insert timestamps.
186* Deadlines and Scheduling::     Planning your work.
187* Clocking Work Time::           Tracking how long you spend on a task.
188* Effort Estimates::             Planning work effort in advance.
189* Timers::                       Notes with a running timer.
190
191Creating Timestamps
192
193* The date/time prompt::         How Org mode helps you enter dates and times.
194* Custom time format::           Making dates look different.
195
196Deadlines and Scheduling
197
198* Inserting deadline/schedule::  Planning items.
199* Repeated tasks::               Items that show up again and again.
200
201Clocking Work Time
202
203* Clocking commands::            Starting and stopping a clock.
204* The clock table::              Detailed reports.
205* Resolving idle time::          Resolving time when you’ve been idle.
206
207Refiling and Archiving
208
209* Refile and Copy::              Moving/copying a tree from one place to another.
210* Archiving::                    What to do with finished products.
211
212Archiving
213
214* Moving subtrees::              Moving a tree to an archive file.
215* Internal archiving::           Switch off a tree but keep it in the file.
216
217Capture and Attachments
218
219* Capture::                      Capturing new stuff.
220* Attachments::                  Attach files to outlines.
221* RSS Feeds::                    Getting input from RSS feeds.
222
223Capture
224
225* Setting up capture::           Where notes will be stored.
226* Using capture::                Commands to invoke and terminate capture.
227* Capture templates::            Define the outline of different note types.
228
229Capture templates
230
231* Template elements::            What is needed for a complete template entry.
232* Template expansion::           Filling in information about time and context.
233* Templates in contexts::        Only show a template in a specific context.
234
235Attachments
236
237* Attachment defaults and dispatcher:: How to access attachment commands
238* Attachment options::           Configuring the attachment system
239* Attachment links::             Hyperlink access to attachments
240* Automatic version-control with Git:: Everything safely stored away
241* Attach from Dired::            Using dired to select an attachment
242
243Agenda Views
244
245* Agenda Files::                 Files being searched for agenda information.
246* Agenda Dispatcher::            Keyboard access to agenda views.
247* Built-in Agenda Views::        What is available out of the box?
248* Presentation and Sorting::     How agenda items are prepared for display.
249* Agenda Commands::              Remote editing of Org trees.
250* Custom Agenda Views::          Defining special searches and views.
251* Exporting Agenda Views::       Writing a view to a file.
252* Agenda Column View::           Using column view for collected entries.
253
254Built-in Agenda Views
255
256* Weekly/daily agenda::          The calendar page with current tasks.
257* Global TODO list::             All unfinished action items.
258* Matching tags and properties:: Structured information with fine-tuned search.
259* Search view::                  Find entries by searching for text.
260* Stuck projects::               Find projects you need to review.
261
262Presentation and Sorting
263
264* Categories::                   Not all tasks are equal.
265* Time-of-day specifications::   How the agenda knows the time.
266* Sorting of agenda items::      The order of things.
267* Filtering/limiting agenda items:: Dynamically narrow the agenda.
268
269Custom Agenda Views
270
271* Storing searches::             Type once, use often.
272* Block agenda::                 All the stuff you need in a single buffer.
273* Setting options::              Changing the rules.
274
275Markup for Rich Contents
276
277* Paragraphs::                   The basic unit of text.
278* Emphasis and Monospace::       Bold, italic, etc.
279* Subscripts and Superscripts::  Simple syntax for raising/lowering text.
280* Special Symbols::              Greek letters and other symbols.
281* Embedded LaTeX::            LaTeX can be freely used inside Org documents.
282* Literal Examples::             Source code examples with special formatting.
283* Images::                       Display an image.
284* Captions::                     Describe tables, images...
285* Horizontal Rules::             Make a line.
286* Creating Footnotes::           Edit and read footnotes.
287
288Embedded LaTeX
289
290* LaTeX fragments::           Complex formulas made easy.
291* Previewing LaTeX fragments:: What will this snippet look like?
292* CDLaTeX mode::              Speed up entering of formulas.
293
294Exporting
295
296* The Export Dispatcher::        The main interface.
297* Export Settings::              Common export settings.
298* Table of Contents::            The if and where of the table of contents.
299* Include Files::                Include additional files into a document.
300* Macro Replacement::            Use macros to create templates.
301* Comment Lines::                What will not be exported.
302* ASCII/Latin-1/UTF-8 export::   Exporting to flat files with encoding.
303* Beamer Export::                Producing presentations and slides.
304* HTML Export::                  Exporting to HTML.
305* LaTeX Export::              Exporting to LaTeX and processing to PDF.
306* Markdown Export::              Exporting to Markdown.
307* OpenDocument Text Export::     Exporting to OpenDocument Text.
308* Org Export::                   Exporting to Org.
309* Texinfo Export::               Exporting to Texinfo.
310* iCalendar Export::             Exporting to iCalendar.
311* Other Built-in Back-ends::     Exporting to a man page.
312* Advanced Export Configuration:: Fine-tuning the export output.
313* Export in Foreign Buffers::    Author tables and lists in Org syntax.
314
315Beamer Export
316
317* Beamer export commands::       For creating Beamer documents.
318* Beamer specific export settings:: For customizing Beamer export.
319* Frames and Blocks in Beamer::  For composing Beamer slides.
320* Beamer specific syntax::       For using in Org documents.
321* Editing support::              Editing support.
322* A Beamer example::             A complete presentation.
323
324HTML Export
325
326* HTML export commands::         Invoking HTML export.
327* HTML specific export settings:: Settings for HTML export.
328* HTML doctypes::                Exporting various (X)HTML flavors.
329* HTML preamble and postamble::  Inserting preamble and postamble.
330* Quoting HTML tags::            Using direct HTML in Org files.
331* Headlines in HTML export::     Formatting headlines.
332* Links in HTML export::         Inserting and formatting links.
333* Tables in HTML export::        How to modify the formatting of tables.
334* Images in HTML export::        How to insert figures into HTML output.
335* Math formatting in HTML export:: Beautiful math also on the web.
336* Text areas in HTML export::    An alternate way to show an example.
337* CSS support::                  Changing the appearance of the output.
338* JavaScript support::           Info and folding in a web browser.
339
340LaTeX Export
341
342* LaTeX/PDF export commands:: For producing LaTeX and PDF documents.
343* LaTeX specific export settings:: Unique to this LaTeX back-end.
344* LaTeX header and sectioning:: Setting up the export file structure.
345* Quoting LaTeX code::        Incorporating literal LaTeX code.
346* Tables in LaTeX export::    Options for exporting tables to LaTeX.
347* Images in LaTeX export::    How to insert figures into LaTeX output.
348* Plain lists in LaTeX export:: Attributes specific to lists.
349* Source blocks in LaTeX export:: Attributes specific to source code blocks.
350* Example blocks in LaTeX export:: Attributes specific to example blocks.
351* Special blocks in LaTeX export:: Attributes specific to special blocks.
352* Horizontal rules in LaTeX export:: Attributes specific to horizontal rules.
353
354OpenDocument Text Export
355
356* Pre-requisites for ODT export:: Required packages.
357* ODT export commands::          Invoking export.
358* ODT specific export settings:: Configuration options.
359* Extending ODT export::         Producing DOC, PDF files.
360* Applying custom styles::       Styling the output.
361* Links in ODT export::          Handling and formatting links.
362* Tables in ODT export::         Org tables conversions.
363* Images in ODT export::         Inserting images.
364* Math formatting in ODT export:: Formatting LaTeX fragments.
365* Labels and captions in ODT export:: Rendering objects.
366* Literal examples in ODT export:: For source code and example blocks.
367* Advanced topics in ODT export:: For power users.
368
369Math formatting in ODT export
370
371* LaTeX math snippets::       Embedding in LaTeX format.
372* MathML and OpenDocument formula files:: Embedding in native format.
373
374Texinfo Export
375
376* Texinfo export commands::      Invoking commands.
377* Texinfo specific export settings:: Setting the environment.
378* Texinfo file header::          Generating the header.
379* Texinfo title and copyright page:: Creating preamble pages.
380* Info directory file::          Installing a manual in Info file hierarchy.
381* Headings and sectioning structure:: Building document structure.
382* Indices::                      Creating indices.
383* Quoting Texinfo code::         Incorporating literal Texinfo code.
384* Plain lists in Texinfo export:: List attributes.
385* Tables in Texinfo export::     Table attributes.
386* Images in Texinfo export::     Image attributes.
387* Quotations in Texinfo export:: Quote block attributes.
388* Special blocks in Texinfo export:: Special block attributes.
389* A Texinfo example::            Processing Org to Texinfo.
390
391Export in Foreign Buffers
392
393* Bare HTML::                    Exporting HTML without CSS, Javascript, etc.
394
395Publishing
396
397* Configuration::                Defining projects.
398* Uploading Files::              How to get files up on the server.
399* Sample Configuration::         Example projects.
400* Triggering Publication::       Publication commands.
401
402Configuration
403
404* Project alist::                The central configuration variable.
405* Sources and destinations::     From here to there.
406* Selecting files::              What files are part of the project?
407* Publishing action::            Setting the function doing the publishing.
408* Publishing options::           Tweaking HTML/LaTeX export.
409* Publishing links::             Which links keep working after publishing?
410* Site map::                     Generating a list of all pages.
411* Generating an index::          An index that reaches across pages.
412
413Sample Configuration
414
415* Simple example::               One-component publishing.
416* Complex example::              A multi-component publishing example.
417
418Working with Source Code
419
420* Features Overview::            Enjoy the versatility of source blocks.
421* Structure of Code Blocks::     Code block syntax described.
422* Using Header Arguments::       Different ways to set header arguments.
423* Environment of a Code Block::  Arguments, sessions, working directory...
424* Evaluating Code Blocks::       Place results of evaluation in the Org buffer.
425* Results of Evaluation::        Choosing a results type, post-processing...
426* Exporting Code Blocks::        Export contents and/or results.
427* Extracting Source Code::       Create pure source code files.
428* Languages::                    List of supported code block languages.
429* Editing Source Code::          Language major-mode editing.
430* Noweb Reference Syntax::       Literate programming in Org mode.
431* Library of Babel::             Use and contribute to a library of useful code blocks.
432* Key bindings and Useful Functions:: Work quickly with code blocks.
433* Batch Execution::              Call functions from the command line.
434
435Miscellaneous
436
437* Completion::                   ‘M-<TAB>’ guesses completions.
438* Structure Templates::          Quick insertion of structural elements.
439* Speed Keys::                   Electric commands at the beginning of a headline.
440* Clean View::                   Getting rid of leading stars in the outline.
441* Execute commands in the active region:: Execute commands on multiple items in Org or agenda view.
442* Dynamic Headline Numbering::   Display and update outline numbering.
443* The Very Busy C-c C-c Key:: When in doubt, press ‘C-c C-c’.
444* In-buffer Settings::           Overview of keywords.
445* Org Syntax::                   Formal description of Org’s syntax.
446* Documentation Access::         Read documentation about current syntax.
447* Escape Character::             Prevent Org from interpreting your writing.
448* Code Evaluation Security::     Org files evaluate in-line code.
449* Interaction::                  With other Emacs packages.
450* TTY Keys::                     Using Org on a tty.
451* Protocols::                    External access to Emacs and Org.
452* Org Crypt::                    Encrypting Org files.
453* Org Mobile::                   Viewing and capture on a mobile device.
454
455Clean View
456
457* Org Indent Mode::
458* Hard indentation::
459
460Interaction
461
462* Cooperation::                  Packages Org cooperates with.
463* Conflicts::                    Packages that lead to conflicts.
464
465Protocols
466
467* The store-link protocol:: Store a link, push URL to kill-ring.
468* The capture protocol::  Fill a buffer with external information.
469* The open-source protocol:: Edit published contents.
470
471Org Mobile
472
473* Setting up the staging area::  For the mobile device.
474* Pushing to the mobile application:: Uploading Org files and agendas.
475* Pulling from the mobile application:: Integrating captured and flagged items.
476
477Hacking
478
479* Hooks: Hooks (2).              How to reach into Org’s internals.
480* Add-on Packages::              Available extensions.
481* Adding Hyperlink Types::       New custom link types.
482* Adding Export Back-ends::      How to write new export back-ends.
483* Tables in Arbitrary Syntax::   Orgtbl for LaTeX and other programs.
484* Dynamic Blocks::               Automatically filled blocks.
485* Special Agenda Views::         Customized views.
486* Speeding Up Your Agendas::     Tips on how to speed up your agendas.
487* Extracting Agenda Information:: Post-processing agenda information.
488* Using the Property API::       Writing programs that use entry properties.
489* Using the Mapping API::        Mapping over all or selected entries.
490
491Tables in Arbitrary Syntax
492
493* Radio tables::                 Sending and receiving radio tables.
494* A LaTeX example::           Step by step, almost a tutorial.
495* Translator functions::         Copy and modify.
496
497
498
499File: org.info,  Node: Introduction,  Next: Document Structure,  Prev: Top,  Up: Top
500
5011 Introduction
502**************
503
504* Menu:
505
506* Summary::                      Brief summary of what Org does.
507* Installation::                 Installing Org.
508* Activation::                   How to activate Org for certain buffers.
509* Feedback::                     Bug reports, ideas, patches, etc.
510* Conventions::                  Typesetting conventions used in this manual.
511
512
513File: org.info,  Node: Summary,  Next: Installation,  Up: Introduction
514
5151.1 Summary
516===========
517
518Org is a mode for keeping notes, maintaining TODO lists, and project
519planning with a fast and effective plain-text markup language.  It also
520is an authoring system with unique support for literate programming and
521reproducible research.
522
523   Org is implemented on top of Outline mode, which makes it possible to
524keep the content of large files well structured.  Visibility cycling and
525structure editing help to work with the tree.  Tables are easily created
526with a built-in table editor.  Plain text URL-like links connect to
527websites, emails, Usenet messages, BBDB entries, and any files related
528to the projects.
529
530   Org develops organizational tasks around notes files that contain
531lists or information about projects as plain text.  Project planning and
532task management make use of metadata which is part of an outline node.
533Based on this data, specific entries can be extracted in queries and
534create dynamic _agenda views_ that also integrate the Emacs calendar and
535diary.  Org can be used to implement many different project planning
536schemes, such as David Allen’s GTD system.
537
538   Org files can serve as a single source authoring system with export
539to many different formats such as HTML, LaTeX, Open Document, and
540Markdown.  New export backends can be derived from existing ones, or
541defined from scratch.
542
543   Org files can include source code blocks, which makes Org uniquely
544suited for authoring technical documents with code examples.  Org source
545code blocks are fully functional; they can be evaluated in place and
546their results can be captured in the file.  This makes it possible to
547create a single file reproducible research compendium.
548
549   Org keeps simple things simple.  When first fired up, it should feel
550like a straightforward, easy to use outliner.  Complexity is not
551imposed, but a large amount of functionality is available when needed.
552Org is a toolbox.  Many users actually run only a—very personal—fraction
553of Org’s capabilities, and know that there is more whenever they need
554it.
555
556   All of this is achieved with strictly plain text files, the most
557portable and future-proof file format.  Org runs in Emacs.  Emacs is one
558of the most widely ported programs, so that Org mode is available on
559every major platform.
560
561   There is a website for Org which provides links to the newest version
562of Org, as well as additional information, frequently asked questions
563(FAQ), links to tutorials, etc.  This page is located at
564<https://orgmode.org>.
565
566   An earlier version (7.3) of this manual is available as a paperback
567book from Network Theory Ltd.
568(http://www.network-theory.co.uk/org/manual/).
569
570
571File: org.info,  Node: Installation,  Next: Activation,  Prev: Summary,  Up: Introduction
572
5731.2 Installation
574================
575
576Org is included in all recent distributions of GNU Emacs, so you
577probably do not need to install it.  Most users will simply activate Org
578and begin exploring its many features.
579
580   If, for one reason or another, you want to install Org on top of this
581pre-packaged version, there are three ways to do it:
582
583   • by using the Emacs package system;
584   • by downloading Org as an archive; or
585   • by using Org’s git repository.
586
587   We *strongly recommend* sticking to a single installation method.
588
589Using Emacs packaging system
590----------------------------
591
592Recent Emacs distributions include a packaging system which lets you
593install Elisp libraries.  You can install Org from the “package menu”,
594with ‘M-x list-packages’.  See *note Package Menu: (emacs)Package Menu.
595
596     Important: You need to do this in a session where no ‘.org’ file
597     has been visited, i.e., where no Org built-in function have been
598     loaded.  Otherwise autoload Org functions will mess up the
599     installation.
600
601   If you want to use Org’s package repository, check out the Org ELPA
602page (https://orgmode.org/elpa.html).
603
604Downloading Org as an archive
605-----------------------------
606
607You can download Org latest release from Org’s website
608(https://orgmode.org/).  In this case, make sure you set the load path
609correctly in your Emacs init file:
610
611     (add-to-list 'load-path "~/path/to/orgdir/lisp")
612
613   The downloaded archive contains contributed libraries that are not
614included in Emacs.  If you want to use them, add the ‘contrib/’
615directory to your load path:
616
617     (add-to-list 'load-path "~/path/to/orgdir/contrib/lisp" t)
618
619   Optionally, you can compile the files and/or install them in your
620system.  Run ‘make help’ to list compilation and installation options.
621
622Using Org’s git repository
623--------------------------
624
625You can clone Org’s repository and install Org like this:
626
627     $ cd ~/src/
628     $ git clone https://code.orgmode.org/bzg/org-mode.git
629     $ cd org-mode/
630     $ make autoloads
631
632   Note that in this case, ‘make autoloads’ is mandatory: it defines
633Org’s version in ‘org-version.el’ and Org’s autoloads in
634org-loaddefs.el’.
635
636   Remember to add the correct load path as described in the method
637above.
638
639   You can also compile with ‘make’, generate the documentation with
640‘make doc’, create a local configuration with ‘make config’ and install
641Org with ‘make install’.  Please run ‘make help’ to get the list of
642compilation/installation options.
643
644   For more detailed explanations on Org’s build system, please check
645the Org Build System page on Worg
646(https://orgmode.org/worg/dev/org-build-system.html).
647
648
649File: org.info,  Node: Activation,  Next: Feedback,  Prev: Installation,  Up: Introduction
650
6511.3 Activation
652==============
653
654Org mode buffers need Font Lock to be turned on: this is the default in
655Emacs(1).
656
657   There are compatibility issues between Org mode and some other Elisp
658packages (see *note Conflicts::).  Please take the time to check the
659list.
660
661   For a better experience, the three Org commands ‘org-store-link’,
662‘org-capture’ and ‘org-agenda’ ought to be accessible anywhere in Emacs,
663not just in Org buffers.  To that effect, you need to bind them to
664globally available keys, like the ones reserved for users (see *note
665(elisp)Key Binding Conventions::).  Here are suggested bindings, please
666modify the keys to your own liking.
667
668     (global-set-key (kbd "C-c l") 'org-store-link)
669     (global-set-key (kbd "C-c a") 'org-agenda)
670     (global-set-key (kbd "C-c c") 'org-capture)
671
672   Files with the ‘.org’ extension use Org mode by default.  To turn on
673Org mode in a file that does not have the extension ‘.org’, make the
674first line of a file look like this:
675
676     MY PROJECTS    -*- mode: org; -*-
677
678which selects Org mode for this buffer no matter what the file’s name
679is.  See also the variable ‘org-insert-mode-line-in-empty-file’.
680
681   Many commands in Org work on the region if the region is _active_.
682To make use of this, you need to have Transient Mark mode turned on,
683which is the default.  If you do not like it, you can create an active
684region by using the mouse to select a region, or pressing ‘C-<SPC>’
685twice before moving point.
686
687   ---------- Footnotes ----------
688
689   (1) If you do not use Font Lock globally turn it on in Org buffer
690with ‘(add-hook 'org-mode-hook 'turn-on-font-lock)’.
691
692
693File: org.info,  Node: Feedback,  Next: Conventions,  Prev: Activation,  Up: Introduction
694
6951.4 Feedback
696============
697
698If you find problems with Org, or if you have questions, remarks, or
699ideas about it, please send an email to the Org mailing list
700<emacs-orgmode@gnu.org>.  You can subscribe to the list from this web
701page (https://lists.gnu.org/mailman/listinfo/emacs-orgmode).  If you are
702not a member of the mailing list, your mail will be passed to the list
703after a moderator has approved it(1).  We ask you to read and respect
704the GNU Kind Communications Guidelines
705(https://www.gnu.org/philosophy/kind-communication.html) when sending
706messages on this mailing list.
707
708   For bug reports, please first try to reproduce the bug with the
709latest version of Org available—if you are running an outdated version,
710it is quite possible that the bug has been fixed already.  If the bug
711persists, prepare a report and provide as much information as possible,
712including the version information of Emacs (‘M-x emacs-version’) and Org
713(‘M-x org-version’), as well as the Org related setup in the Emacs init
714file.  The easiest way to do this is to use the command
715
716     M-x org-submit-bug-report <RET>
717
718which puts all this information into an Emacs mail buffer so that you
719only need to add your description.  If you are not sending the Email
720from within Emacs, please copy and paste the content into your Email
721program.
722
723   Sometimes you might face a problem due to an error in your Emacs or
724Org mode setup.  Before reporting a bug, it is very helpful to start
725Emacs with minimal customizations and reproduce the problem.  Doing so
726often helps you determine if the problem is with your customization or
727with Org mode itself.  You can start a typical minimal session with a
728command like the example below.
729
730     $ emacs -Q -l /path/to/minimal-org.el
731
732   However if you are using Org mode as distributed with Emacs, a
733minimal setup is not necessary.  In that case it is sufficient to start
734Emacs as ‘emacs -Q’.  The ‘minimal-org.el’ setup file can have contents
735as shown below.
736
737     ;;; Minimal setup to load latest `org-mode'.
738
739     ;; Activate debugging.
740     (setq debug-on-error t
741           debug-on-signal nil
742           debug-on-quit nil)
743
744     ;; Add latest Org mode to load path.
745     (add-to-list 'load-path (expand-file-name "/path/to/org-mode/lisp"))
746     (add-to-list 'load-path (expand-file-name "/path/to/org-mode/contrib/lisp" t))
747
748   If an error occurs, a “backtrace” can be very useful—see below on how
749to create one.  Often a small example file helps, along with clear
750information about:
751
752  1. What exactly did you do?
753  2. What did you expect to happen?
754  3. What happened instead?
755
756   Thank you for helping to improve this program.
757
758How to create a useful backtrace
759--------------------------------
760
761If working with Org produces an error with a message you do not
762understand, you may have hit a bug.  The best way to report this is by
763providing, in addition to what was mentioned above, a backtrace.  This
764is information from the built-in debugger about where and how the error
765occurred.  Here is how to produce a useful backtrace:
766
767  1. Reload uncompiled versions of all Org mode Lisp files.  The
768     backtrace contains much more information if it is produced with
769     uncompiled code.  To do this, use
770
771          C-u M-x org-reload <RET>
772
773     or, from the menu: Org → Refresh/Reload → Reload Org uncompiled.
774
775  2. Then, activate the debugger:
776
777          M-x toggle-debug-on-error <RET>
778
779     or, from the menu: Options → Enter Debugger on Error.
780
781  3. Do whatever you have to do to hit the error.  Do not forget to
782     document the steps you take.
783
784  4. When you hit the error, a ‘*Backtrace*’ buffer appears on the
785     screen.  Save this buffer to a file—for example using ‘C-x C-w’—and
786     attach it to your bug report.
787
788   ---------- Footnotes ----------
789
790   (1) Please consider subscribing to the mailing list in order to
791minimize the work the mailing list moderators have to do.
792
793
794File: org.info,  Node: Conventions,  Prev: Feedback,  Up: Introduction
795
7961.5 Typesetting Conventions Used in this Manual
797===============================================
798
799TODO keywords, tags, properties, etc.
800-------------------------------------
801
802Org uses various syntactical elements: TODO keywords, tags, property
803names, keywords, blocks, etc.  In this manual we use the following
804conventions:
805
806‘TODO’
807‘WAITING’
808     TODO keywords are written with all capitals, even if they are
809     user-defined.
810
811‘boss’
812‘ARCHIVE’
813     Tags are case-sensitive.  User-defined tags are written in
814     lowercase; built-in tags with special meaning are written as they
815     should appear in the document, usually with all capitals.
816
817‘Release’
818‘PRIORITY’
819     User-defined properties are capitalized; built-in properties with
820     special meaning are written with all capitals.
821
822‘TITLE’
823‘BEGIN’ ... ‘END’
824     Keywords and blocks are written in uppercase to enhance their
825     readability, but you can use lowercase in your Org files.
826
827Key bindings and commands
828-------------------------
829
830The manual lists both the keys and the corresponding commands for
831accessing a functionality.  Org mode often uses the same key for
832different functions, depending on context.  The command that is bound to
833such keys has a generic name, like ‘org-metaright’.  In the manual we
834will, wherever possible, give the function that is internally called by
835the generic command.  For example, in the chapter on document structure,
836‘M-<RIGHT>’ will be listed to call ‘org-do-demote’, while in the chapter
837on tables, it will be listed to call ‘org-table-move-column-right’.
838
839
840File: org.info,  Node: Document Structure,  Next: Tables,  Prev: Introduction,  Up: Top
841
8422 Document Structure
843********************
844
845Org is an outliner.  Outlines allow a document to be organized in a
846hierarchical structure, which, least for me, is the best representation
847of notes and thoughts.  An overview of this structure is achieved by
848folding, i.e., hiding large parts of the document to show only the
849general document structure and the parts currently being worked on.  Org
850greatly simplifies the use of outlines by compressing the entire show
851and hide functionalities into a single command, ‘org-cycle’, which is
852bound to the ‘<TAB>’ key.
853
854* Menu:
855
856* Headlines::                    How to typeset Org tree headlines.
857* Visibility Cycling::           Show and hide, much simplified.
858* Motion::                       Jumping to other headlines.
859* Structure Editing::            Changing sequence and level of headlines.
860* Sparse Trees::                 Matches embedded in context.
861* Plain Lists::                  Additional structure within an entry.
862* Drawers::                      Tucking stuff away.
863* Blocks::                       Folding blocks.
864
865
866File: org.info,  Node: Headlines,  Next: Visibility Cycling,  Up: Document Structure
867
8682.1 Headlines
869=============
870
871Headlines define the structure of an outline tree.  Org headlines start
872on the left margin(1) with one or more stars followed by a space.  For
873example:
874
875     * Top level headline
876     ** Second level
877     *** Third level
878         some text
879     *** Third level
880         more text
881     * Another top level headline
882
883   The name defined in ‘org-footnote-section’ is reserved.  Do not use
884it as a title for your own headings.
885
886   Some people find the many stars too noisy and would prefer an outline
887that has whitespace followed by a single star as headline starters.
888This can be achieved using a Org Indent minor mode.  See *note Clean
889View:: for more information.
890
891   Headlines are not numbered.  However, you may want to dynamically
892number some, or all, of them.  See *note Dynamic Headline Numbering::.
893
894   An empty line after the end of a subtree is considered part of it and
895is hidden when the subtree is folded.  However, if you leave at least
896two empty lines, one empty line remains visible after folding the
897subtree, in order to structure the collapsed view.  See the variable
898‘org-cycle-separator-lines’ to modify this behavior.
899
900   ---------- Footnotes ----------
901
902   (1) See the variables ‘org-special-ctrl-a/e’, ‘org-special-ctrl-k’,
903and ‘org-ctrl-k-protect-subtree’ to configure special behavior of ‘C-a’,
904‘C-e’, and ‘C-k’ in headlines.  Note also that clocking only works with
905headings indented less than 30 stars.
906
907
908File: org.info,  Node: Visibility Cycling,  Next: Motion,  Prev: Headlines,  Up: Document Structure
909
9102.2 Visibility Cycling
911======================
912
913* Menu:
914
915* Global and local cycling::     Cycling through various visibility states.
916* Initial visibility::           Setting the initial visibility state.
917* Catching invisible edits::     Preventing mistakes when editing invisible parts.
918
919
920File: org.info,  Node: Global and local cycling,  Next: Initial visibility,  Up: Visibility Cycling
921
9222.2.1 Global and local cycling
923------------------------------
924
925Outlines make it possible to hide parts of the text in the buffer.  Org
926uses just two commands, bound to ‘<TAB>’ and ‘S-<TAB>’ to change the
927visibility in the buffer.
928
929‘<TAB>’ (‘org-cycle’)
930     _Subtree cycling_: Rotate current subtree among the states
931
932          ,-> FOLDED -> CHILDREN -> SUBTREE --.
933          '-----------------------------------'
934
935     Point must be on a headline for this to work(1).
936
937‘S-<TAB>’ (‘org-global-cycle’)
938‘C-u <TAB>’
939     _Global cycling_: Rotate the entire buffer among the states
940
941          ,-> OVERVIEW -> CONTENTS -> SHOW ALL --.
942          '--------------------------------------'
943
944     When ‘S-<TAB>’ is called with a numeric prefix argument N, view
945     contents only up to headlines of level N.
946
947     Note that inside tables (see *note Tables::), ‘S-<TAB>’ jumps to
948     the previous field instead.
949
950     You can run global cycling using ‘<TAB>’ only if point is at the
951     very beginning of the buffer, but not on a headline, and
952     ‘org-cycle-global-at-bob’ is set to a non-‘nil’ value.
953
954‘C-u C-u <TAB>’ (‘org-set-startup-visibility’)
955     Switch back to the startup visibility of the buffer (see *note
956     Initial visibility::).
957
958‘C-u C-u C-u <TAB>’ (‘outline-show-all’)
959     Show all, including drawers.
960
961‘C-c C-r’ (‘org-reveal’)
962     Reveal context around point, showing the current entry, the
963     following heading and the hierarchy above.  It is useful for
964     working near a location that has been exposed by a sparse tree
965     command (see *note Sparse Trees::) or an agenda command (see *note
966     Agenda Commands::).  With a prefix argument, show, on each level,
967     all sibling headings.  With a double prefix argument, also show the
968     entire subtree of the parent.
969
970‘C-c C-k’ (‘outline-show-branches’)
971     Expose all the headings of the subtree, but not their bodies.
972
973‘C-c <TAB>’ (‘outline-show-children’)
974     Expose all direct children of the subtree.  With a numeric prefix
975     argument N, expose all children down to level N.
976
977‘C-c C-x b’ (‘org-tree-to-indirect-buffer’)
978     Show the current subtree in an indirect buffer(2).  With a numeric
979     prefix argument N, go up to level N and then take that tree.  If N
980     is negative then go up that many levels.  With a ‘C-u’ prefix, do
981     not remove the previously used indirect buffer.
982
983‘C-c C-x v’ (‘org-copy-visible’)
984     Copy the _visible_ text in the region into the kill ring.
985
986   ---------- Footnotes ----------
987
988   (1) See, however, the option ‘org-cycle-emulate-tab’.
989
990   (2) The indirect buffer contains the entire buffer, but is narrowed
991to the current tree.  Editing the indirect buffer also changes the
992original buffer, but without affecting visibility in that buffer.  For
993more information about indirect buffers, see *note GNU Emacs Manual:
994(emacs)Indirect Buffers.
995
996
997File: org.info,  Node: Initial visibility,  Next: Catching invisible edits,  Prev: Global and local cycling,  Up: Visibility Cycling
998
9992.2.2 Initial visibility
1000------------------------
1001
1002When Emacs first visits an Org file, the global state is set to
1003‘showeverything’, i.e., all file content is visible(1).  This can be
1004configured through the variable ‘org-startup-folded’, or on a per-file
1005basis by adding one of the following lines anywhere in the buffer:
1006
1007     #+STARTUP: overview
1008     #+STARTUP: content
1009     #+STARTUP: showall
1010     #+STARTUP: showeverything
1011
1012   Furthermore, any entries with a ‘VISIBILITY’ property (see *note
1013Properties and Columns::) get their visibility adapted accordingly.
1014Allowed values for this property are ‘folded’, ‘children’, ‘content’,
1015and ‘all’.
1016
1017‘C-u C-u <TAB>’ (‘org-set-startup-visibility’)
1018     Switch back to the startup visibility of the buffer, i.e., whatever
1019     is requested by startup options and ‘VISIBILITY’ properties in
1020     individual entries.
1021
1022   ---------- Footnotes ----------
1023
1024   (1) When ‘org-agenda-inhibit-startup’ is non-‘nil’, Org does not
1025honor the default visibility state when first opening a file for the
1026agenda (see *note Speeding Up Your Agendas::).
1027
1028
1029File: org.info,  Node: Catching invisible edits,  Prev: Initial visibility,  Up: Visibility Cycling
1030
10312.2.3 Catching invisible edits
1032------------------------------
1033
1034Sometimes you may inadvertently edit an invisible part of the buffer and
1035be confused on what has been edited and how to undo the mistake.
1036Setting ‘org-catch-invisible-edits’ to non-‘nil’ helps preventing this.
1037See the docstring of this option on how Org should catch invisible edits
1038and process them.
1039
1040
1041File: org.info,  Node: Motion,  Next: Structure Editing,  Prev: Visibility Cycling,  Up: Document Structure
1042
10432.3 Motion
1044==========
1045
1046The following commands jump to other headlines in the buffer.
1047
1048‘C-c C-n’ (‘org-next-visible-heading’)
1049     Next heading.
1050
1051‘C-c C-p’ (‘org-previous-visible-heading’)
1052     Previous heading.
1053
1054‘C-c C-f’ (‘org-forward-heading-same-level’)
1055     Next heading same level.
1056
1057‘C-c C-b’ (‘org-backward-heading-same-level’)
1058     Previous heading same level.
1059
1060‘C-c C-u’ (‘outline-up-heading’)
1061     Backward to higher level heading.
1062
1063‘C-c C-j’ (‘org-goto’)
1064     Jump to a different place without changing the current outline
1065     visibility.  Shows the document structure in a temporary buffer,
1066     where you can use the following keys to find your destination:
1067
1068     ‘<TAB>’                Cycle visibility.
1069     ‘<DOWN>’ / ‘<UP>’      Next/previous visible headline.
1070     ‘<RET>’                Select this location.
1071     ‘/’                    Do a Sparse-tree search
1072
1073     The following keys work if you turn off ‘org-goto-auto-isearch’
1074
1075     ‘n’ / ‘p’              Next/previous visible headline.
1076     ‘f’ / ‘b’              Next/previous headline same level.
1077     ‘u’                    One level up.
1078     ‘0’ ... ‘9’            Digit argument.
1079     ‘q’                    Quit.
1080
1081     See also the variable ‘org-goto-interface’.
1082
1083
1084File: org.info,  Node: Structure Editing,  Next: Sparse Trees,  Prev: Motion,  Up: Document Structure
1085
10862.4 Structure Editing
1087=====================
1088
1089‘M-<RET>’ (‘org-meta-return’)
1090     Insert a new heading, item or row.
1091
1092     If the command is used at the _beginning_ of a line, and if there
1093     is a heading or a plain list item (see *note Plain Lists::) at
1094     point, the new heading/item is created _before_ the current line.
1095     When used at the beginning of a regular line of text, turn that
1096     line into a heading.
1097
1098     When this command is used in the middle of a line, the line is
1099     split and the rest of the line becomes the new item or headline.
1100     If you do not want the line to be split, customize
1101     ‘org-M-RET-may-split-line’.
1102
1103     Calling the command with a ‘C-u’ prefix unconditionally inserts a
1104     new heading at the end of the current subtree, thus preserving its
1105     contents.  With a double ‘C-u C-u’ prefix, the new heading is
1106     created at the end of the parent subtree instead.
1107
1108‘C-<RET>’ (‘org-insert-heading-respect-content’)
1109     Insert a new heading at the end of the current subtree.
1110
1111‘M-S-<RET>’ (‘org-insert-todo-heading’)
1112     Insert new TODO entry with same level as current heading.  See also
1113     the variable ‘org-treat-insert-todo-heading-as-state-change’.
1114
1115‘C-S-<RET>’ (‘org-insert-todo-heading-respect-content’)
1116     Insert new TODO entry with same level as current heading.  Like
1117     ‘C-<RET>’, the new headline is inserted after the current subtree.
1118
1119‘<TAB>’ (‘org-cycle’)
1120     In a new entry with no text yet, the first ‘<TAB>’ demotes the
1121     entry to become a child of the previous one.  The next ‘<TAB>’
1122     makes it a parent, and so on, all the way to top level.  Yet
1123     another ‘<TAB>’, and you are back to the initial level.
1124
1125‘M-<LEFT>’ (‘org-do-promote’)
1126‘M-<RIGHT>’ (‘org-do-demote’)
1127     Promote or demote current heading by one level.
1128
1129     When there is an active region—i.e., when Transient Mark mode is
1130     active—promotion and demotion work on all headlines in the region.
1131     To select a region of headlines, it is best to place both point and
1132     mark at the beginning of a line, mark at the beginning of the first
1133     headline, and point at the line just after the last headline to
1134     change.
1135
1136‘M-S-<LEFT>’ (‘org-promote-subtree’)
1137     Promote the current subtree by one level.
1138
1139‘M-S-<RIGHT>’ (‘org-demote-subtree’)
1140     Demote the current subtree by one level.
1141
1142‘M-<UP>’ (‘org-move-subtree-up’)
1143     Move subtree up, i.e., swap with previous subtree of same level.
1144
1145‘M-<DOWN>’ (‘org-move-subtree-down’)
1146     Move subtree down, i.e., swap with next subtree of same level.
1147
1148‘C-c @’ (‘org-mark-subtree’)
1149     Mark the subtree at point.  Hitting repeatedly marks subsequent
1150     subtrees of the same level as the marked subtree.
1151
1152‘C-c C-x C-w’ (‘org-cut-subtree’)
1153     Kill subtree, i.e., remove it from buffer but save in kill ring.
1154     With a numeric prefix argument N, kill N sequential subtrees.
1155
1156‘C-c C-x M-w’ (‘org-copy-subtree’)
1157     Copy subtree to kill ring.  With a numeric prefix argument N, copy
1158     the N sequential subtrees.
1159
1160‘C-c C-x C-y’ (‘org-paste-subtree’)
1161     Yank subtree from kill ring.  This does modify the level of the
1162     subtree to make sure the tree fits in nicely at the yank position.
1163     The yank level can also be specified with a numeric prefix
1164     argument, or by yanking after a headline marker like ‘****’.
1165
1166‘C-y’ (‘org-yank’)
1167     Depending on the variables ‘org-yank-adjusted-subtrees’ and
1168     ‘org-yank-folded-subtrees’, Org’s internal ‘yank’ command pastes
1169     subtrees folded and in a clever way, using the same command as ‘C-c
1170     C-x C-y’.  With the default settings, no level adjustment takes
1171     place, but the yanked tree is folded unless doing so would swallow
1172     text previously visible.  Any prefix argument to this command
1173     forces a normal ‘yank’ to be executed, with the prefix passed
1174     along.  A good way to force a normal yank is ‘C-u C-y’.  If you use
1175     ‘yank-pop’ after a yank, it yanks previous kill items plainly,
1176     without adjustment and folding.
1177
1178‘C-c C-x c’ (‘org-clone-subtree-with-time-shift’)
1179     Clone a subtree by making a number of sibling copies of it.  You
1180     are prompted for the number of copies to make, and you can also
1181     specify if any timestamps in the entry should be shifted.  This can
1182     be useful, for example, to create a number of tasks related to a
1183     series of lectures to prepare.  For more details, see the docstring
1184     of the command ‘org-clone-subtree-with-time-shift’.
1185
1186‘C-c C-w’ (‘org-refile’)
1187     Refile entry or region to a different location.  See *note Refile
1188     and Copy::.
1189
1190‘C-c ^’ (‘org-sort’)
1191     Sort same-level entries.  When there is an active region, all
1192     entries in the region are sorted.  Otherwise the children of the
1193     current headline are sorted.  The command prompts for the sorting
1194     method, which can be alphabetically, numerically, by time—first
1195     timestamp with active preferred, creation time, scheduled time,
1196     deadline time—by priority, by TODO keyword—in the sequence the
1197     keywords have been defined in the setup—or by the value of a
1198     property.  Reverse sorting is possible as well.  You can also
1199     supply your own function to extract the sorting key.  With a ‘C-u’
1200     prefix, sorting is case-sensitive.
1201
1202‘C-x n s’ (‘org-narrow-to-subtree’)
1203     Narrow buffer to current subtree.
1204
1205‘C-x n b’ (‘org-narrow-to-block’)
1206     Narrow buffer to current block.
1207
1208‘C-x n w’ (‘widen’)
1209     Widen buffer to remove narrowing.
1210
1211‘C-c *’ (‘org-toggle-heading’)
1212     Turn a normal line or plain list item into a headline—so that it
1213     becomes a subheading at its location.  Also turn a headline into a
1214     normal line by removing the stars.  If there is an active region,
1215     turn all lines in the region into headlines.  If the first line in
1216     the region was an item, turn only the item lines into headlines.
1217     Finally, if the first line is a headline, remove the stars from all
1218     headlines in the region.
1219
1220   Note that when point is inside a table (see *note Tables::), the
1221Meta-Cursor keys have different functionality.
1222
1223
1224File: org.info,  Node: Sparse Trees,  Next: Plain Lists,  Prev: Structure Editing,  Up: Document Structure
1225
12262.5 Sparse Trees
1227================
1228
1229An important feature of Org mode is the ability to construct _sparse
1230trees_ for selected information in an outline tree, so that the entire
1231document is folded as much as possible, but the selected information is
1232made visible along with the headline structure above it(1).  Just try it
1233out and you will see immediately how it works.
1234
1235   Org mode contains several commands creating such trees, all these
1236commands can be accessed through a dispatcher:
1237
1238‘C-c /’ (‘org-sparse-tree’)
1239     This prompts for an extra key to select a sparse-tree creating
1240     command.
1241
1242‘C-c / r’ or ‘C-c / /’ (‘org-occur’)
1243     Prompts for a regexp and shows a sparse tree with all matches.  If
1244     the match is in a headline, the headline is made visible.  If the
1245     match is in the body of an entry, headline and body are made
1246     visible.  In order to provide minimal context, also the full
1247     hierarchy of headlines above the match is shown, as well as the
1248     headline following the match.  Each match is also highlighted; the
1249     highlights disappear when the buffer is changed by an editing
1250     command, or by pressing ‘C-c C-c’(2).  When called with a ‘C-u’
1251     prefix argument, previous highlights are kept, so several calls to
1252     this command can be stacked.
1253
1254‘M-g n’ or ‘M-g M-n’ (‘next-error’)
1255     Jump to the next sparse tree match in this buffer.
1256
1257‘M-g p’ or ‘M-g M-p’ (‘previous-error’)
1258     Jump to the previous sparse tree match in this buffer.
1259
1260   For frequently used sparse trees of specific search strings, you can
1261use the variable ‘org-agenda-custom-commands’ to define fast keyboard
1262access to specific sparse trees.  These commands will then be accessible
1263through the agenda dispatcher (see *note Agenda Dispatcher::).  For
1264example:
1265
1266     (setq org-agenda-custom-commands
1267           '(("f" occur-tree "FIXME")))
1268
1269defines the key ‘f’ as a shortcut for creating a sparse tree matching
1270the string ‘FIXME’.
1271
1272   The other sparse tree commands select headings based on TODO
1273keywords, tags, or properties and are discussed later in this manual.
1274
1275   To print a sparse tree, you can use the Emacs command
1276‘ps-print-buffer-with-faces’ which does not print invisible parts of the
1277document.  Or you can use the command ‘C-c C-e C-v’ to export only the
1278visible part of the document and print the resulting file.
1279
1280   ---------- Footnotes ----------
1281
1282   (1) See also the variable ‘org-show-context-detail’ to decide how
1283much context is shown around each match.
1284
1285   (2) This depends on the option ‘org-remove-highlights-with-change’.
1286
1287
1288File: org.info,  Node: Plain Lists,  Next: Drawers,  Prev: Sparse Trees,  Up: Document Structure
1289
12902.6 Plain Lists
1291===============
1292
1293Within an entry of the outline tree, hand-formatted lists can provide
1294additional structure.  They also provide a way to create lists of
1295checkboxes (see *note Checkboxes::).  Org supports editing such lists,
1296and every exporter (see *note Exporting::) can parse and format them.
1297
1298   Org knows ordered lists, unordered lists, and description lists.
1299
1300   • _Unordered_ list items start with ‘-’, ‘+’, or ‘*’(1) as bullets.
1301
1302   • _Ordered_ list items start with a numeral followed by either a
1303     period or a right parenthesis(2), such as ‘1.’ or ‘1)’(3) If you
1304     want a list to start with a different value—e.g., 20—start the text
1305     of the item with ‘[@20]’(4).  Those constructs can be used in any
1306     item of the list in order to enforce a particular numbering.
1307
1308   • _Description_ list items are unordered list items, and contain the
1309     separator ‘::’ to distinguish the description _term_ from the
1310     description.
1311
1312   Items belonging to the same list must have the same indentation on
1313the first line.  In particular, if an ordered list reaches number ‘10.’,
1314then the 2-digit numbers must be written left-aligned with the other
1315numbers in the list.  An item ends before the next line that is less or
1316equally indented than its bullet/number.
1317
1318   A list ends whenever every item has ended, which means before any
1319line less or equally indented than items at top level.  It also ends
1320before two blank lines.  In that case, all items are closed.  Here is an
1321example:
1322
1323     * Lord of the Rings
1324     My favorite scenes are (in this order)
1325     1. The attack of the Rohirrim
1326     2. Eowyn's fight with the witch king
1327        + this was already my favorite scene in the book
1328        + I really like Miranda Otto.
1329     3. Peter Jackson being shot by Legolas
1330        - on DVD only
1331        He makes a really funny face when it happens.
1332     But in the end, no individual scenes matter but the film as a whole.
1333     Important actors in this film are:
1334     - Elijah Wood :: He plays Frodo
1335     - Sean Astin :: He plays Sam, Frodo's friend.  I still remember him
1336          very well from his role as Mikey Walsh in /The Goonies/.
1337
1338   Org supports these lists by tuning filling and wrapping commands to
1339deal with them correctly, and by exporting them properly (see *note
1340Exporting::).  Since indentation is what governs the structure of these
1341lists, many structural constructs like ‘#+BEGIN_’ blocks can be indented
1342to signal that they belong to a particular item.
1343
1344   If you find that using a different bullet for a sub-list—than that
1345used for the current list-level—improves readability, customize the
1346variable ‘org-list-demote-modify-bullet’.  To get a greater difference
1347of indentation between items and theirs sub-items, customize
1348‘org-list-indent-offset’.
1349
1350   The following commands act on items when point is in the first line
1351of an item—the line with the bullet or number.  Some of them imply the
1352application of automatic rules to keep list structure intact.  If some
1353of these actions get in your way, configure ‘org-list-automatic-rules’
1354to disable them individually.
1355
1356‘<TAB>’ (‘org-cycle’)
1357     Items can be folded just like headline levels.  Normally this works
1358     only if point is on a plain list item.  For more details, see the
1359     variable ‘org-cycle-include-plain-lists’.  If this variable is set
1360     to ‘integrate’, plain list items are treated like low-level
1361     headlines.  The level of an item is then given by the indentation
1362     of the bullet/number.  Items are always subordinate to real
1363     headlines, however; the hierarchies remain completely separated.
1364     In a new item with no text yet, the first ‘<TAB>’ demotes the item
1365     to become a child of the previous one.  Subsequent ‘<TAB>’s move
1366     the item to meaningful levels in the list and eventually get it
1367     back to its initial position.
1368
1369‘M-<RET>’ (‘org-insert-heading’)
1370     Insert new item at current level.  With a prefix argument, force a
1371     new heading (see *note Structure Editing::).  If this command is
1372     used in the middle of an item, that item is _split_ in two, and the
1373     second part becomes the new item(5).  If this command is executed
1374     _before item’s body_, the new item is created _before_ the current
1375     one.
1376
1377‘M-S-<RET>’
1378     Insert a new item with a checkbox (see *note Checkboxes::).
1379
1380‘S-<UP>’
1381‘S-<DOWN>’
1382     Jump to the previous/next item in the current list, but only if
1383     ‘org-support-shift-select’ is off(6).  If not, you can still use
1384     paragraph jumping commands like ‘C-<UP>’ and ‘C-<DOWN>’ to quite
1385     similar effect.
1386
1387‘M-<UP>’
1388‘M-<DOWN>’
1389     Move the item including subitems up/down(7), i.e., swap with
1390     previous/next item of same indentation.  If the list is ordered,
1391     renumbering is automatic.
1392
1393‘M-<LEFT>’
1394‘M-<RIGHT>’
1395     Decrease/increase the indentation of an item, leaving children
1396     alone.
1397
1398‘M-S-<LEFT>’
1399‘M-S-<RIGHT>’
1400     Decrease/increase the indentation of the item, including subitems.
1401     Initially, the item tree is selected based on current indentation.
1402     When these commands are executed several times in direct
1403     succession, the initially selected region is used, even if the new
1404     indentation would imply a different hierarchy.  To use the new
1405     hierarchy, break the command chain by moving point.
1406
1407     As a special case, using this command on the very first item of a
1408     list moves the whole list.  This behavior can be disabled by
1409     configuring ‘org-list-automatic-rules’.  The global indentation of
1410     a list has no influence on the text _after_ the list.
1411
1412‘C-c C-c’
1413     If there is a checkbox (see *note Checkboxes::) in the item line,
1414     toggle the state of the checkbox.  In any case, verify bullets and
1415     indentation consistency in the whole list.
1416
1417‘C-c -’
1418     Cycle the entire list level through the different itemize/enumerate
1419     bullets (‘-’, ‘+’, ‘*’, ‘1.’, ‘1)’) or a subset of them, depending
1420     on ‘org-plain-list-ordered-item-terminator’, the type of list, and
1421     its indentation.  With a numeric prefix argument N, select the Nth
1422     bullet from this list.  If there is an active region when calling
1423     this, all lines are converted to list items.  With a prefix
1424     argument, the selected text is changed into a single item.  If the
1425     first line already was a list item, any item marker is removed from
1426     the list.  Finally, even without an active region, a normal line is
1427     converted into a list item.
1428
1429‘C-c *’
1430     Turn a plain list item into a headline—so that it becomes a
1431     subheading at its location.  See *note Structure Editing::, for a
1432     detailed explanation.
1433
1434‘C-c C-*’
1435     Turn the whole plain list into a subtree of the current heading.
1436     Checkboxes (see *note Checkboxes::) become ‘TODO’, respectively
1437     ‘DONE’, keywords when unchecked, respectively checked.
1438
1439‘S-<LEFT>’
1440‘S-<RIGHT>’
1441     This command also cycles bullet styles when point is in on the
1442     bullet or anywhere in an item line, details depending on
1443     ‘org-support-shift-select’.
1444
1445‘C-c ^’
1446     Sort the plain list.  Prompt for the sorting method: numerically,
1447     alphabetically, by time, or by custom function.
1448
1449   ---------- Footnotes ----------
1450
1451   (1) When using ‘*’ as a bullet, lines must be indented so that they
1452are not interpreted as headlines.  Also, when you are hiding leading
1453stars to get a clean outline view, plain list items starting with a star
1454may be hard to distinguish from true headlines.  In short: even though
1455‘*’ is supported, it may be better to not use it for plain list items.
1456
1457   (2) You can filter out any of them by configuring
1458‘org-plain-list-ordered-item-terminator’.
1459
1460   (3) You can also get ‘a.’, ‘A.’, ‘a)’ and ‘A)’ by configuring
1461‘org-list-allow-alphabetical’.  To minimize confusion with normal text,
1462those are limited to one character only.  Beyond that limit, bullets
1463automatically become numbers.
1464
1465   (4) If there’s a checkbox in the item, the cookie must be put
1466_before_ the checkbox.  If you have activated alphabetical lists, you
1467can also use counters like ‘[@b]’.
1468
1469   (5) If you do not want the item to be split, customize the variable
1470‘org-M-RET-may-split-line’.
1471
1472   (6) If you want to cycle around items that way, you may customize
1473‘org-list-use-circular-motion’.
1474
1475   (7) See ‘org-list-use-circular-motion’ for a cyclic behavior.
1476
1477
1478File: org.info,  Node: Drawers,  Next: Blocks,  Prev: Plain Lists,  Up: Document Structure
1479
14802.7 Drawers
1481===========
1482
1483Sometimes you want to keep information associated with an entry, but you
1484normally do not want to see it.  For this, Org mode has _drawers_.  They
1485can contain anything but a headline and another drawer.  Drawers look
1486like this:
1487
1488     ** This is a headline
1489     Still outside the drawer
1490     :DRAWERNAME:
1491     This is inside the drawer.
1492     :END:
1493     After the drawer.
1494
1495   You can interactively insert a drawer at point by calling
1496‘org-insert-drawer’, which is bound to ‘C-c C-x d’.  With an active
1497region, this command puts the region inside the drawer.  With a prefix
1498argument, this command calls ‘org-insert-property-drawer’, which creates
1499a ‘PROPERTIES’ drawer right below the current headline.  Org mode uses
1500this special drawer for storing properties (see *note Properties and
1501Columns::).  You cannot use it for anything else.
1502
1503   Completion over drawer keywords is also possible using ‘M-<TAB>’(1).
1504
1505   Visibility cycling (see *note Visibility Cycling::) on the headline
1506hides and shows the entry, but keep the drawer collapsed to a single
1507line.  In order to look inside the drawer, you need to move point to the
1508drawer line and press ‘<TAB>’ there.
1509
1510   You can also arrange for state change notes (see *note Tracking TODO
1511state changes::) and clock times (see *note Clocking Work Time::) to be
1512stored in a ‘LOGBOOK’ drawer.  If you want to store a quick note there,
1513in a similar way to state changes, use
1514
1515‘C-c C-z’
1516     Add a time-stamped note to the ‘LOGBOOK’ drawer.
1517
1518   ---------- Footnotes ----------
1519
1520   (1) Many desktops intercept ‘M-<TAB>’ to switch windows.  Use ‘C-M-i’
1521or ‘<ESC> <TAB>’ instead.
1522
1523
1524File: org.info,  Node: Blocks,  Prev: Drawers,  Up: Document Structure
1525
15262.8 Blocks
1527==========
1528
1529Org mode uses ‘#+BEGIN’ ... ‘#+END’ blocks for various purposes from
1530including source code examples (see *note Literal Examples::) to
1531capturing time logging information (see *note Clocking Work Time::).
1532These blocks can be folded and unfolded by pressing ‘<TAB>’ in the
1533‘#+BEGIN’ line.  You can also get all blocks folded at startup by
1534configuring the variable ‘org-hide-block-startup’ or on a per-file basis
1535by using
1536
1537     #+STARTUP: hideblocks
1538     #+STARTUP: nohideblocks
1539
1540
1541File: org.info,  Node: Tables,  Next: Hyperlinks,  Prev: Document Structure,  Up: Top
1542
15433 Tables
1544********
1545
1546Org comes with a fast and intuitive table editor.  Spreadsheet-like
1547calculations are supported using the Emacs Calc package (see *note GNU
1548Emacs Calculator Manual: (calc)Top.).
1549
1550* Menu:
1551
1552* Built-in Table Editor::        Simple tables.
1553* Column Width and Alignment::   Overrule the automatic settings.
1554* Column Groups::                Grouping to trigger vertical lines.
1555* Orgtbl Mode::                  The table editor as minor mode.
1556* The Spreadsheet::              The table editor has spreadsheet capabilities.
1557* Org Plot::                     Plotting from Org tables.
1558
1559
1560File: org.info,  Node: Built-in Table Editor,  Next: Column Width and Alignment,  Up: Tables
1561
15623.1 Built-in Table Editor
1563=========================
1564
1565Org makes it easy to format tables in plain ASCII.  Any line with ‘|’ as
1566the first non-whitespace character is considered part of a table.  ‘|’
1567is also the column separator(1).  Moreover, a line starting with ‘|-’ is
1568a horizontal rule.  It separates rows explicitly.  Rows before the first
1569horizontal rule are header lines.  A table might look like this:
1570
1571     | Name  | Phone | Age |
1572     |-------+-------+-----|
1573     | Peter |  1234 |  17 |
1574     | Anna  |  4321 |  25 |
1575
1576   A table is re-aligned automatically each time you press ‘<TAB>’,
1577‘<RET>’ or ‘C-c C-c’ inside the table.  ‘<TAB>’ also moves to the next
1578field—‘<RET>’ to the next row—and creates new table rows at the end of
1579the table or before horizontal lines.  The indentation of the table is
1580set by the first line.  Horizontal rules are automatically expanded on
1581every re-align to span the whole table width.  So, to create the above
1582table, you would only type
1583
1584     |Name|Phone|Age|
1585     |-
1586
1587and then press ‘<TAB>’ to align the table and start filling in fields.
1588Even faster would be to type ‘|Name|Phone|Age’ followed by ‘C-c <RET>’.
1589
1590   When typing text into a field, Org treats ‘DEL’, ‘Backspace’, and all
1591character keys in a special way, so that inserting and deleting avoids
1592shifting other fields.  Also, when typing _immediately_ after point was
1593moved into a new field with ‘<TAB>’, ‘S-<TAB>’ or ‘<RET>’, the field is
1594automatically made blank.  If this behavior is too unpredictable for
1595you, configure the option ‘org-table-auto-blank-field’.
1596
1597Creation and conversion
1598-----------------------
1599
1600‘C-c |’ (‘org-table-create-or-convert-from-region’)
1601     Convert the active region to table.  If every line contains at
1602     least one ‘<TAB>’ character, the function assumes that the material
1603     is tab separated.  If every line contains a comma, comma-separated
1604     values (CSV) are assumed.  If not, lines are split at whitespace
1605     into fields.  You can use a prefix argument to force a specific
1606     separator: ‘C-u’ forces CSV, ‘C-u C-u’ forces ‘<TAB>’, ‘C-u C-u
1607     C-u’ prompts for a regular expression to match the separator, and a
1608     numeric argument N indicates that at least N consecutive spaces, or
1609     alternatively a ‘<TAB>’ will be the separator.
1610
1611     If there is no active region, this command creates an empty Org
1612     table.  But it is easier just to start typing, like ‘| N a m e | P
1613     h o n e | A g e <RET> | - <TAB>’.
1614
1615Re-aligning and field motion
1616----------------------------
1617
1618‘C-c C-c’ (‘org-table-align’)
1619     Re-align the table without moving point.
1620
1621‘<TAB>’ (‘org-table-next-field’)
1622     Re-align the table, move to the next field.  Creates a new row if
1623     necessary.
1624
1625‘C-c <SPC>’ (‘org-table-blank-field’)
1626     Blank the field at point.
1627
1628‘S-<TAB>’ (‘org-table-previous-field’)
1629     Re-align, move to previous field.
1630
1631‘<RET>’ (‘org-table-next-row’)
1632     Re-align the table and move down to next row.  Creates a new row if
1633     necessary.  At the beginning or end of a line, ‘<RET>’ still
1634     inserts a new line, so it can be used to split a table.
1635
1636‘M-a’ (‘org-table-beginning-of-field’)
1637     Move to beginning of the current table field, or on to the previous
1638     field.
1639
1640‘M-e’ (‘org-table-end-of-field’)
1641     Move to end of the current table field, or on to the next field.
1642
1643Column and row editing
1644----------------------
1645
1646‘M-<LEFT>’ (‘org-table-move-column-left’)
1647     Move the current column left.
1648
1649‘M-<RIGHT>’ (‘org-table-move-column-right’)
1650     Move the current column right.
1651
1652‘M-S-<LEFT>’ (‘org-table-delete-column’)
1653     Kill the current column.
1654
1655‘M-S-<RIGHT>’ (‘org-table-insert-column’)
1656     Insert a new column at point position.  Move the recent column and
1657     all cells to the right of this column to the right.
1658
1659‘M-<UP>’ (‘org-table-move-row-up’)
1660     Move the current row up.
1661
1662‘M-<DOWN>’ (‘org-table-move-row-down’)
1663     Move the current row down.
1664
1665‘M-S-<UP>’ (‘org-table-kill-row’)
1666     Kill the current row or horizontal line.
1667
1668‘S-<UP>’ (‘org-table-move-cell-up’)
1669     Move cell up by swapping with adjacent cell.
1670
1671‘S-<DOWN>’ (‘org-table-move-cell-down’)
1672     Move cell down by swapping with adjacent cell.
1673
1674‘S-<LEFT>’ (‘org-table-move-cell-left’)
1675     Move cell left by swapping with adjacent cell.
1676
1677‘S-<RIGHT>’ (‘org-table-move-cell-right’)
1678     Move cell right by swapping with adjacent cell.
1679
1680‘M-S-<DOWN>’ (‘org-table-insert-row’)
1681     Insert a new row above the current row.  With a prefix argument,
1682     the line is created below the current one.
1683
1684‘C-c -’ (‘org-table-insert-hline’)
1685     Insert a horizontal line below current row.  With a prefix
1686     argument, the line is created above the current line.
1687
1688‘C-c <RET>’ (‘org-table-hline-and-move’)
1689     Insert a horizontal line below current row, and move point into the
1690     row below that line.
1691
1692‘C-c ^’ (‘org-table-sort-lines’)
1693     Sort the table lines in the region.  The position of point
1694     indicates the column to be used for sorting, and the range of lines
1695     is the range between the nearest horizontal separator lines, or the
1696     entire table.  If point is before the first column, you are
1697     prompted for the sorting column.  If there is an active region, the
1698     mark specifies the first line and the sorting column, while point
1699     should be in the last line to be included into the sorting.  The
1700     command prompts for the sorting type, alphabetically, numerically,
1701     or by time.  You can sort in normal or reverse order.  You can also
1702     supply your own key extraction and comparison functions.  When
1703     called with a prefix argument, alphabetic sorting is
1704     case-sensitive.
1705
1706Regions
1707-------
1708
1709‘C-c C-x M-w’ (‘org-table-copy-region’)
1710     Copy a rectangular region from a table to a special clipboard.
1711     Point and mark determine edge fields of the rectangle.  If there is
1712     no active region, copy just the current field.  The process ignores
1713     horizontal separator lines.
1714
1715‘C-c C-x C-w’ (‘org-table-cut-region’)
1716     Copy a rectangular region from a table to a special clipboard, and
1717     blank all fields in the rectangle.  So this is the “cut” operation.
1718
1719‘C-c C-x C-y’ (‘org-table-paste-rectangle’)
1720     Paste a rectangular region into a table.  The upper left corner
1721     ends up in the current field.  All involved fields are overwritten.
1722     If the rectangle does not fit into the present table, the table is
1723     enlarged as needed.  The process ignores horizontal separator
1724     lines.
1725
1726‘M-<RET>’ (‘org-table-wrap-region’)
1727     Split the current field at point position and move the rest to the
1728     line below.  If there is an active region, and both point and mark
1729     are in the same column, the text in the column is wrapped to
1730     minimum width for the given number of lines.  A numeric prefix
1731     argument may be used to change the number of desired lines.  If
1732     there is no region, but you specify a prefix argument, the current
1733     field is made blank, and the content is appended to the field
1734     above.
1735
1736Calculations
1737------------
1738
1739‘C-c +’ (‘org-table-sum’)
1740     Sum the numbers in the current column, or in the rectangle defined
1741     by the active region.  The result is shown in the echo area and can
1742     be inserted with ‘C-y’.
1743
1744‘S-<RET>’ (‘org-table-copy-down’)
1745     When current field is empty, copy from first non-empty field above.
1746     When not empty, copy current field down to next row and move point
1747     along with it.
1748
1749     Depending on the variable ‘org-table-copy-increment’, integer and
1750     time stamp field values, and fields prefixed or suffixed with a
1751     whole number, can be incremented during copy.  Also, a ‘0’ prefix
1752     argument temporarily disables the increment.
1753
1754     This key is also used by shift-selection and related modes (see
1755     *note Conflicts::).
1756
1757Miscellaneous
1758-------------
1759
1760‘C-c `’ (‘org-table-edit-field’)
1761     Edit the current field in a separate window.  This is useful for
1762     fields that are not fully visible (see *note Column Width and
1763     Alignment::).  When called with a ‘C-u’ prefix, just make the full
1764     field visible, so that it can be edited in place.  When called with
1765     two ‘C-u’ prefixes, make the editor window follow point through the
1766     table and always show the current field.  The follow mode exits
1767     automatically when point leaves the table, or when you repeat this
1768     command with ‘C-u C-u C-c `’.
1769
1770‘M-x org-table-import’
1771     Import a file as a table.  The table should be TAB or whitespace
1772     separated.  Use, for example, to import a spreadsheet table or data
1773     from a database, because these programs generally can write
1774     TAB-separated text files.  This command works by inserting the file
1775     into the buffer and then converting the region to a table.  Any
1776     prefix argument is passed on to the converter, which uses it to
1777     determine the separator.
1778
1779‘C-c |’ (‘org-table-create-or-convert-from-region’)
1780     Tables can also be imported by pasting tabular text into the Org
1781     buffer, selecting the pasted text with ‘C-x C-x’ and then using the
1782     ‘C-c |’ command (see *note Creation and conversion::).
1783
1784‘M-x org-table-export’
1785     Export the table, by default as a TAB-separated file.  Use for data
1786     exchange with, for example, spreadsheet or database programs.  The
1787     format used to export the file can be configured in the variable
1788     ‘org-table-export-default-format’.  You may also use properties
1789     ‘TABLE_EXPORT_FILE’ and ‘TABLE_EXPORT_FORMAT’ to specify the file
1790     name and the format for table export in a subtree.  Org supports
1791     quite general formats for exported tables.  The exporter format is
1792     the same as the format used by Orgtbl radio tables, see *note
1793     Translator functions::, for a detailed description.
1794
1795‘M-x org-table-header-line-mode’
1796     Turn on the display of the first data row of the table at point in
1797     the window header line when this first row is not visible anymore
1798     in the buffer.  You can activate this minor mode by default by
1799     setting the option ‘org-table-header-line-p’ to ‘t’.
1800
1801‘M-x org-table-transpose-table-at-point’
1802     Transpose the table at point and eliminate hlines.
1803
1804   ---------- Footnotes ----------
1805
1806   (1) To insert a vertical bar into a table field, use ‘\vert’ or,
1807inside a word ‘abc\vert{}def’.
1808
1809
1810File: org.info,  Node: Column Width and Alignment,  Next: Column Groups,  Prev: Built-in Table Editor,  Up: Tables
1811
18123.2 Column Width and Alignment
1813==============================
1814
1815The width of columns is automatically determined by the table editor.
1816The alignment of a column is determined automatically from the fraction
1817of number-like versus non-number fields in the column.
1818
1819   Editing a field may modify alignment of the table.  Moving a
1820contiguous row or column—i.e., using ‘<TAB>’ or ‘<RET>’—automatically
1821re-aligns it.  If you want to disable this behavior, set
1822‘org-table-automatic-realign’ to ‘nil’.  In any case, you can always
1823align manually a table:
1824
1825‘C-c C-c’ (‘org-table-align’)
1826     Align the current table.
1827
1828   Setting the option ‘org-startup-align-all-tables’ re-aligns all
1829tables in a file upon visiting it.  You can also set this option on a
1830per-file basis with:
1831
1832     #+STARTUP: align
1833     #+STARTUP: noalign
1834
1835   Sometimes a single field or a few fields need to carry more text,
1836leading to inconveniently wide columns.  Maybe you want to hide away
1837several columns or display them with a fixed width, regardless of
1838content, as shown in the following example.
1839
1840     |---+---------------------+--------|           |---+-------…+…|
1841     |   | <6>                 |        |           |   | <6>   …|…|
1842     | 1 | one                 | some   |   ----\   | 1 | one   …|…|
1843     | 2 | two                 | boring |   ----/   | 2 | two   …|…|
1844     | 3 | This is a long text | column |           | 3 | This i…|…|
1845     |---+---------------------+--------|           |---+-------…+…|
1846
1847   To set the width of a column, one field anywhere in the column may
1848contain just the string ‘<N>’ where N specifies the width as a number of
1849characters.  You control displayed width of columns with the following
1850tools:
1851
1852‘C-c <TAB>’ (‘org-table-toggle-column-width’)
1853     Shrink or expand current column.
1854
1855     If a width cookie specifies a width W for the column, shrinking it
1856     displays the first W visible characters only.  Otherwise, the
1857     column is shrunk to a single character.
1858
1859     When called before the first column or after the last one, ask for
1860     a list of column ranges to operate on.
1861
1862‘C-u C-c <TAB>’ (‘org-table-shrink’)
1863     Shrink all columns with a column width.  Expand the others.
1864
1865‘C-u C-u C-c <TAB>’ (‘org-table-expand’)
1866     Expand all columns.
1867
1868   To see the full text of a shrunk field, hold the mouse over it: a
1869tool-tip window then shows the full contents of the field.
1870Alternatively, ‘C-h .’ (‘display-local-help’) reveals them, too.  For
1871convenience, any change near the shrunk part of a column expands it.
1872
1873   Setting the option ‘org-startup-shrink-all-tables’ shrinks all
1874columns containing a width cookie in a file the moment it is visited.
1875You can also set this option on a per-file basis with:
1876
1877     #+STARTUP: shrink
1878
1879   If you would like to overrule the automatic alignment of number-rich
1880columns to the right and of string-rich columns to the left, you can use
1881‘<r>’, ‘<c>’ or ‘<l>’ in a similar fashion.  You may also combine
1882alignment and field width like this: ‘<r10>’.
1883
1884   Lines which only contain these formatting cookies are removed
1885automatically upon exporting the document.
1886
1887
1888File: org.info,  Node: Column Groups,  Next: Orgtbl Mode,  Prev: Column Width and Alignment,  Up: Tables
1889
18903.3 Column Groups
1891=================
1892
1893When Org exports tables, it does so by default without vertical lines
1894because that is visually more satisfying in general.  Occasionally
1895however, vertical lines can be useful to structure a table into groups
1896of columns, much like horizontal lines can do for groups of rows.  In
1897order to specify column groups, you can use a special row where the
1898first field contains only ‘/’.  The further fields can either contain
1899‘<’ to indicate that this column should start a group, ‘>’ to indicate
1900the end of a column, or ‘<>’ (no space between ‘<’ and ‘>’) to make a
1901column a group of its own.  Upon export, boundaries between column
1902groups are marked with vertical lines.  Here is an example:
1903
1904     | N | N^2 | N^3 | N^4 | sqrt(n) | sqrt[4](N) |
1905     |---+-----+-----+-----+---------+------------|
1906     | / |  <  |     |  >  |       < |          > |
1907     | 1 |  1  |  1  |  1  |       1 |          1 |
1908     | 2 |  4  |  8  | 16  |  1.4142 |     1.1892 |
1909     | 3 |  9  | 27  | 81  |  1.7321 |     1.3161 |
1910     |---+-----+-----+-----+---------+------------|
1911     #+TBLFM: $2=$1^2::$3=$1^3::$4=$1^4::$5=sqrt($1)::$6=sqrt(sqrt(($1)))
1912
1913   It is also sufficient to just insert the column group starters after
1914every vertical line you would like to have:
1915
1916     | N | N^2 | N^3 | N^4 | sqrt(n) | sqrt[4](N) |
1917     |---+-----+-----+-----+---------+------------|
1918     | / | <   |     |     | <       |            |
1919
1920
1921File: org.info,  Node: Orgtbl Mode,  Next: The Spreadsheet,  Prev: Column Groups,  Up: Tables
1922
19233.4 The Orgtbl Minor Mode
1924=========================
1925
1926If you like the intuitive way the Org table editor works, you might also
1927want to use it in other modes like Text mode or Mail mode.  The minor
1928mode Orgtbl mode makes this possible.  You can always toggle the mode
1929with ‘M-x orgtbl-mode’.  To turn it on by default, for example in
1930Message mode, use
1931
1932     (add-hook 'message-mode-hook 'turn-on-orgtbl)
1933
1934   Furthermore, with some special setup, it is possible to maintain
1935tables in arbitrary syntax with Orgtbl mode.  For example, it is
1936possible to construct LaTeX tables with the underlying ease and power of
1937Orgtbl mode, including spreadsheet capabilities.  For details, see *note
1938Tables in Arbitrary Syntax::.
1939
1940
1941File: org.info,  Node: The Spreadsheet,  Next: Org Plot,  Prev: Orgtbl Mode,  Up: Tables
1942
19433.5 The Spreadsheet
1944===================
1945
1946The table editor makes use of the Emacs Calc package to implement
1947spreadsheet-like capabilities.  It can also evaluate Emacs Lisp forms to
1948derive fields from other fields.  While fully featured, Org’s
1949implementation is not identical to other spreadsheets.  For example, Org
1950knows the concept of a _column formula_ that will be applied to all
1951non-header fields in a column without having to copy the formula to each
1952relevant field.  There is also a formula debugger, and a formula editor
1953with features for highlighting fields in the table corresponding to the
1954references at point in the formula, moving these references by arrow
1955keys.
1956
1957* Menu:
1958
1959* References::                   How to refer to another field or range.
1960* Formula syntax for Calc::      Using Calc to compute stuff.
1961* Formula syntax for Lisp::      Writing formulas in Emacs Lisp.
1962* Durations and time values::    How to compute durations and time values.
1963* Field and range formulas::     Formula for specific (ranges of) fields.
1964* Column formulas::              Formulas valid for an entire column.
1965* Lookup functions::             Lookup functions for searching tables.
1966* Editing and debugging formulas:: Fixing formulas.
1967* Updating the table::           Recomputing all dependent fields.
1968* Advanced features::            Field and column names, automatic recalculation...
1969
1970
1971File: org.info,  Node: References,  Next: Formula syntax for Calc,  Up: The Spreadsheet
1972
19733.5.1 References
1974----------------
1975
1976To compute fields in the table from other fields, formulas must
1977reference other fields or ranges.  In Org, fields can be referenced by
1978name, by absolute coordinates, and by relative coordinates.  To find out
1979what the coordinates of a field are, press ‘C-c ?’ in that field, or
1980press ‘C-c }’ to toggle the display of a grid.
1981
1982Field references
1983................
1984
1985Formulas can reference the value of another field in two ways.  Like in
1986any other spreadsheet, you may reference fields with a letter/number
1987combination like ‘B3’, meaning the second field in the third row.
1988However, Org prefers to use another, more general representation that
1989looks like this:(1)
1990
1991     @ROW$COLUMN
1992
1993   Column specifications can be absolute like ‘$1’, ‘$2’, ..., ‘$N’, or
1994relative to the current column, i.e., the column of the field which is
1995being computed, like ‘$+1’ or ‘$-2’.  ‘$<’ and ‘$>’ are immutable
1996references to the first and last column, respectively, and you can use
1997‘$>>>’ to indicate the third column from the right.
1998
1999   The row specification only counts data lines and ignores horizontal
2000separator lines, or “hlines”.  Like with columns, you can use absolute
2001row numbers ‘@1’, ‘@2’, ..., ‘@N’, and row numbers relative to the
2002current row like ‘@+3’ or ‘@-1’.  ‘@<’ and ‘@>’ are immutable references
2003the first and last row in the table, respectively.  You may also specify
2004the row relative to one of the hlines: ‘@I’ refers to the first hline,
2005‘@II’ to the second, etc.  ‘@-I’ refers to the first such line above the
2006current line, ‘@+I’ to the first such line below the current line.  You
2007can also write ‘@III+2’ which is the second data line after the third
2008hline in the table.
2009
2010   ‘@0’ and ‘$0’ refer to the current row and column, respectively,
2011i.e., to the row/column for the field being computed.  Also, if you omit
2012either the column or the row part of the reference, the current
2013row/column is implied.
2014
2015   Org’s references with _unsigned_ numbers are fixed references in the
2016sense that if you use the same reference in the formula for two
2017different fields, the same field is referenced each time.  Org’s
2018references with _signed_ numbers are floating references because the
2019same reference operator can reference different fields depending on the
2020field being calculated by the formula.
2021
2022   Here are a few examples:
2023
2024‘@2$3’         2nd row, 3rd column (same as ‘C2’)
2025‘$5’           column 5 in the current row (same as ‘E&’)
2026‘@2’           current column, row 2
2027‘@-1$-3’       field one row up, three columns to the left
2028‘@-I$2’        field just under hline above current row, column 2
2029‘@>$5’         field in the last row, in column 5
2030
2031Range references
2032................
2033
2034You may reference a rectangular range of fields by specifying two field
2035references connected by two dots ‘..’.  The ends are included in the
2036range.  If both fields are in the current row, you may simply use
2037‘$2..$7’, but if at least one field is in a different row, you need to
2038use the general ‘@ROW$COLUMN’ format at least for the first field, i.e.,
2039the reference must start with ‘@’ in order to be interpreted correctly.
2040Examples:
2041
2042‘$1..$3’       first three fields in the current row
2043‘$P..$Q’       range, using column names (see
2044               *note Advanced features::)
2045‘$<<<..$>>’    start in third column, continue to the last but one
2046‘@2$1..@4$3’   nine fields between these two fields (same as ‘A2..C4’)
2047‘@-1$-2..@-1’  3 fields in the row above, starting from 2 columns on
2048               the left
2049‘@I..II’       between first and second hline, short for ‘@I..@II’
2050
2051Range references return a vector of values that can be fed into Calc
2052vector functions.  Empty fields in ranges are normally suppressed, so
2053that the vector contains only the non-empty fields.  For other options
2054with the mode switches ‘E’, ‘N’ and examples, see *note Formula syntax
2055for Calc::.
2056
2057Field coordinates in formulas
2058.............................
2059
2060One of the very first actions during evaluation of Calc formulas and
2061Lisp formulas is to substitute ‘@#’ and ‘$#’ in the formula with the row
2062or column number of the field where the current result will go to.  The
2063traditional Lisp formula equivalents are ‘org-table-current-dline’ and
2064‘org-table-current-column’.  Examples:
2065
2066‘if(@# % 2, $#, string(""))’
2067     Insert column number on odd rows, set field to empty on even rows.
2068
2069‘$2 = '(identity remote(FOO, @@#$1))’
2070     Copy text or values of each row of column 1 of the table named FOO
2071     into column 2 of the current table.
2072
2073‘@3 = 2 * remote(FOO, @1$$#)’
2074     Insert the doubled value of each column of row 1 of the table named
2075     FOO into row 3 of the current table.
2076
2077For the second and third examples, table FOO must have at least as many
2078rows or columns as the current table.  Note that this is inefficient(2)
2079for large number of rows.
2080
2081Named references
2082................
2083
2084‘$name’ is interpreted as the name of a column, parameter or constant.
2085Constants are defined globally through the variable
2086‘org-table-formula-constants’, and locally—for the file—through a line
2087like this example:
2088
2089     #+CONSTANTS: c=299792458. pi=3.14 eps=2.4e-6
2090
2091   Also, properties (see *note Properties and Columns::) can be used as
2092constants in table formulas: for a property ‘Xyz’ use the name
2093‘$PROP_Xyz’, and the property will be searched in the current outline
2094entry and in the hierarchy above it.  If you have the ‘constants.el2095package, it will also be used to resolve constants, including natural
2096constants like ‘$h’ for Planck’s constant, and units like ‘$km’ for
2097kilometers(3).  Column names and parameters can be specified in special
2098table lines.  These are described below, see *note Advanced features::.
2099All names must start with a letter, and further consist of letters and
2100numbers.
2101
2102Remote references
2103.................
2104
2105You may also reference constants, fields and ranges from a different
2106table, either in the current file or even in a different file.  The
2107syntax is
2108
2109     remote(NAME,REF)
2110
2111where NAME can be the name of a table in the current file as set by a
2112‘#+NAME:’ line before the table.  It can also be the ID of an entry,
2113even in a different file, and the reference then refers to the first
2114table in that entry.  REF is an absolute field or range reference as
2115described above for example ‘@3$3’ or ‘$somename’, valid in the
2116referenced table.
2117
2118   When NAME has the format ‘@ROW$COLUMN’, it is substituted with the
2119name or ID found in this field of the current table.  For example
2120‘remote($1, @@>$2)’ ⇒ ‘remote(year_2013, @@>$1)’.  The format ‘B3’ is
2121not supported because it can not be distinguished from a plain table
2122name or ID.
2123
2124   ---------- Footnotes ----------
2125
2126   (1) Org understands references typed by the user as ‘B4’, but it does
2127not use this syntax when offering a formula for editing.  You can
2128customize this behavior using the variable
2129‘org-table-use-standard-references’.
2130
2131   (2) The computation time scales as O(N^2) because table FOO is parsed
2132for each field to be copied.
2133
2134   (3) The file ‘constants.el’ can supply the values of constants in two
2135different unit systems, ‘SI’ and ‘cgs’.  Which one is used depends on
2136the value of the variable ‘constants-unit-system’.  You can use the
2137‘STARTUP’ options ‘constSI’ and ‘constcgs’ to set this value for the
2138current buffer.
2139
2140
2141File: org.info,  Node: Formula syntax for Calc,  Next: Formula syntax for Lisp,  Prev: References,  Up: The Spreadsheet
2142
21433.5.2 Formula syntax for Calc
2144-----------------------------
2145
2146A formula can be any algebraic expression understood by the Emacs Calc
2147package.  Note that Calc has the non-standard convention that ‘/’ has
2148lower precedence than ‘*’, so that ‘a/b*c’ is interpreted as
2149‘(a/(b*c))’.  Before evaluation by ‘calc-eval’ (see *note Calling Calc
2150from Your Lisp Programs: (calc)Calling Calc from Your Programs.),
2151variable substitution takes place according to the rules described
2152above.
2153
2154   The range vectors can be directly fed into the Calc vector functions
2155like ‘vmean’ and ‘vsum’.
2156
2157   A formula can contain an optional mode string after a semicolon.
2158This string consists of flags to influence Calc and other modes during
2159execution.  By default, Org uses the standard Calc modes (precision 12,
2160angular units degrees, fraction and symbolic modes off).  The display
2161format, however, has been changed to ‘(float 8)’ to keep tables compact.
2162The default settings can be configured using the variable
2163‘org-calc-default-modes’.
2164
2165‘p20’
2166     Set the internal Calc calculation precision to 20 digits.
2167
2168‘n3’, ‘s3’, ‘e2’, ‘f4’
2169     Normal, scientific, engineering or fixed format of the result of
2170     Calc passed back to Org.  Calc formatting is unlimited in precision
2171     as long as the Calc calculation precision is greater.
2172
2173‘D’, ‘R’
2174     Degree and radian angle modes of Calc.
2175
2176‘F’, ‘S’
2177     Fraction and symbolic modes of Calc.
2178
2179‘T’, ‘t’, ‘U’
2180     Duration computations in Calc or Lisp, *note Durations and time
2181     values::.
2182
2183‘E’
2184     If and how to consider empty fields.  Without ‘E’ empty fields in
2185     range references are suppressed so that the Calc vector or Lisp
2186     list contains only the non-empty fields.  With ‘E’ the empty fields
2187     are kept.  For empty fields in ranges or empty field references the
2188     value ‘nan’ (not a number) is used in Calc formulas and the empty
2189     string is used for Lisp formulas.  Add ‘N’ to use 0 instead for
2190     both formula types.  For the value of a field the mode ‘N’ has
2191     higher precedence than ‘E’.
2192
2193‘N’
2194     Interpret all fields as numbers, use 0 for non-numbers.  See the
2195     next section to see how this is essential for computations with
2196     Lisp formulas.  In Calc formulas it is used only occasionally
2197     because there number strings are already interpreted as numbers
2198     without ‘N’.
2199
2200‘L’
2201     Literal, for Lisp formulas only.  See the next section.
2202
2203   Unless you use large integer numbers or high-precision calculation
2204and display for floating point numbers you may alternatively provide a
2205‘printf’ format specifier to reformat the Calc result after it has been
2206passed back to Org instead of letting Calc already do the formatting(1).
2207A few examples:
2208
2209‘$1+$2’              Sum of first and second field
2210‘$1+$2;%.2f’         Same, format result to two decimals
2211‘exp($2)+exp($1)’    Math functions can be used
2212‘$0;%.1f’            Reformat current cell to 1 decimal
2213‘($3-32)*5/9’        Degrees F → C conversion
2214‘$c/$1/$cm’          Hz → cm conversion, using ‘constants.el2215‘tan($1);Dp3s1’      Compute in degrees, precision 3, display SCI 1
2216‘sin($1);Dp3%.1e’    Same, but use ‘printf’ specifier for display
2217‘vmean($2..$7)’      Compute column range mean, using vector function
2218‘vmean($2..$7);EN’   Same, but treat empty fields as 0
2219‘taylor($3,x=7,2)’   Taylor series of $3, at x=7, second degree
2220
2221   Calc also contains a complete set of logical operations (see *note
2222Logical Operations: (calc)Logical Operations.).  For example
2223
2224‘if($1 < 20, teen, string(""))’
2225     ‘"teen"’ if age ‘$1’ is less than 20, else the Org table result
2226     field is set to empty with the empty string.
2227
2228‘if("$1" =​= "nan" || "$2" =​= "nan", string(""), $1 + $2); E f-1’
2229     Sum of the first two columns.  When at least one of the input
2230     fields is empty the Org table result field is set to empty.  ‘E’ is
2231     required to not convert empty fields to 0.  ‘f-1’ is an optional
2232     Calc format string similar to ‘%.1f’ but leaves empty results
2233     empty.
2234
2235‘if(typeof(vmean($1..$7)) =​= 12, string(""), vmean($1..$7); E’
2236     Mean value of a range unless there is any empty field.  Every field
2237     in the range that is empty is replaced by ‘nan’ which lets ‘vmean’
2238     result in ‘nan’.  Then ‘typeof =’ 12= detects the ‘nan’ from
2239     ‘vmean’ and the Org table result field is set to empty.  Use this
2240     when the sample set is expected to never have missing values.
2241
2242‘if("$1..$7" =​= "[]", string(""), vmean($1..$7))’
2243     Mean value of a range with empty fields skipped.  Every field in
2244     the range that is empty is skipped.  When all fields in the range
2245     are empty the mean value is not defined and the Org table result
2246     field is set to empty.  Use this when the sample set can have a
2247     variable size.
2248
2249‘vmean($1..$7); EN’
2250     To complete the example before: Mean value of a range with empty
2251     fields counting as samples with value 0.  Use this only when
2252     incomplete sample sets should be padded with 0 to the full size.
2253
2254   You can add your own Calc functions defined in Emacs Lisp with
2255‘defmath’ and use them in formula syntax for Calc.
2256
2257   ---------- Footnotes ----------
2258
2259   (1) The printf reformatting is limited in precision because the value
2260passed to it is converted into an “integer” or “double”.  The “integer”
2261is limited in size by truncating the signed value to 32 bits.  The
2262“double” is limited in precision to 64 bits overall which leaves
2263approximately 16 significant decimal digits.
2264
2265
2266File: org.info,  Node: Formula syntax for Lisp,  Next: Durations and time values,  Prev: Formula syntax for Calc,  Up: The Spreadsheet
2267
22683.5.3 Emacs Lisp forms as formulas
2269----------------------------------
2270
2271It is also possible to write a formula in Emacs Lisp.  This can be
2272useful for string manipulation and control structures, if Calc’s
2273functionality is not enough.
2274
2275   If a formula starts with a single-quote followed by an opening
2276parenthesis, then it is evaluated as a Lisp form.  The evaluation should
2277return either a string or a number.  Just as with Calc formulas, you can
2278specify modes and a ‘printf’ format after a semicolon.
2279
2280   With Emacs Lisp forms, you need to be conscious about the way field
2281references are interpolated into the form.  By default, a reference is
2282interpolated as a Lisp string (in double-quotes) containing the field.
2283If you provide the ‘N’ mode switch, all referenced elements are
2284numbers—non-number fields will be zero—and interpolated as Lisp numbers,
2285without quotes.  If you provide the ‘L’ flag, all fields are
2286interpolated literally, without quotes.  For example, if you want a
2287reference to be interpreted as a string by the Lisp form, enclose the
2288reference operator itself in double-quotes, like ‘"$3"’.  Ranges are
2289inserted as space-separated fields, so you can embed them in list or
2290vector syntax.
2291
2292   Here are a few examples—note how the ‘N’ mode is used when we do
2293computations in Lisp:
2294
2295‘'(concat (substring $1 1 2) (substring $1 0 1) (substring $1 2))’
2296     Swap the first two characters of the content of column 1.
2297
2298‘'(+ $1 $2);N’
2299     Add columns 1 and 2, equivalent to Calc’s ‘$1+$2’.
2300
2301‘'(apply '+ '($1..$4));N’
2302     Compute the sum of columns 1 to 4, like Calc’s ‘vsum($1..$4)’.
2303
2304
2305File: org.info,  Node: Durations and time values,  Next: Field and range formulas,  Prev: Formula syntax for Lisp,  Up: The Spreadsheet
2306
23073.5.4 Durations and time values
2308-------------------------------
2309
2310If you want to compute time values use the ‘T’, ‘t’, or ‘U’ flag, either
2311in Calc formulas or Elisp formulas:
2312
2313     |  Task 1 |   Task 2 |    Total |
2314     |---------+----------+----------|
2315     |    2:12 |     1:47 | 03:59:00 |
2316     |    2:12 |     1:47 |    03:59 |
2317     | 3:02:20 | -2:07:00 |     0.92 |
2318     #+TBLFM: @2$3=$1+$2;T::@3$3=$1+$2;U::@4$3=$1+$2;t
2319
2320   Input duration values must be of the form ‘HH:MM[:SS]’, where seconds
2321are optional.  With the ‘T’ flag, computed durations are displayed as
2322‘HH:MM:SS’ (see the first formula above).  With the ‘U’ flag, seconds
2323are omitted so that the result is only ‘HH:MM’ (see second formula
2324above).  Zero-padding of the hours field depends upon the value of the
2325variable ‘org-table-duration-hour-zero-padding’.
2326
2327   With the ‘t’ flag, computed durations are displayed according to the
2328value of the option ‘org-table-duration-custom-format’, which defaults
2329to ‘hours’ and displays the result as a fraction of hours (see the third
2330formula in the example above).
2331
2332   Negative duration values can be manipulated as well, and integers are
2333considered as seconds in addition and subtraction.
2334
2335
2336File: org.info,  Node: Field and range formulas,  Next: Column formulas,  Prev: Durations and time values,  Up: The Spreadsheet
2337
23383.5.5 Field and range formulas
2339------------------------------
2340
2341To assign a formula to a particular field, type it directly into the
2342field, preceded by ‘:=’, for example ‘vsum(@II..III)’.  When you press
2343‘<TAB>’ or ‘<RET>’ or ‘C-c C-c’ with point still in the field, the
2344formula is stored as the formula for this field, evaluated, and the
2345current field is replaced with the result.
2346
2347   Formulas are stored in a special ‘TBLFM’ keyword located directly
2348below the table.  If you type the equation in the fourth field of the
2349third data line in the table, the formula looks like ‘@3$4=$1+$2’.  When
2350inserting/deleting/swapping column and rows with the appropriate
2351commands, _absolute references_ (but not relative ones) in stored
2352formulas are modified in order to still reference the same field.  To
2353avoid this from happening, in particular in range references, anchor
2354ranges at the table borders (using ‘@<’, ‘@>’, ‘$<’, ‘$>’), or at hlines
2355using the ‘@I’ notation.  Automatic adaptation of field references does
2356not happen if you edit the table structure with normal editing
2357commands—you must fix the formulas yourself.
2358
2359   Instead of typing an equation into the field, you may also use the
2360following command
2361
2362‘C-u C-c =’ (‘org-table-eval-formula’)
2363     Install a new formula for the current field.  The command prompts
2364     for a formula with default taken from the ‘TBLFM’ keyword, applies
2365     it to the current field, and stores it.
2366
2367   The left-hand side of a formula can also be a special expression in
2368order to assign the formula to a number of different fields.  There is
2369no keyboard shortcut to enter such range formulas.  To add them, use the
2370formula editor (see *note Editing and debugging formulas::) or edit the
2371‘TBLFM’ keyword directly.
2372
2373‘$2=’
2374     Column formula, valid for the entire column.  This is so common
2375     that Org treats these formulas in a special way, see *note Column
2376     formulas::.
2377
2378‘@3=’
2379     Row formula, applies to all fields in the specified row.  ‘@>=’
2380     means the last row.
2381
2382‘@1$2..@4$3=’
2383     Range formula, applies to all fields in the given rectangular
2384     range.  This can also be used to assign a formula to some but not
2385     all fields in a row.
2386
2387‘$NAME=’
2388     Named field, see *note Advanced features::.
2389
2390
2391File: org.info,  Node: Column formulas,  Next: Lookup functions,  Prev: Field and range formulas,  Up: The Spreadsheet
2392
23933.5.6 Column formulas
2394---------------------
2395
2396When you assign a formula to a simple column reference like ‘$3=’, the
2397same formula is used in all fields of that column, with the following
2398very convenient exceptions: (i) If the table contains horizontal
2399separator hlines with rows above and below, everything before the first
2400such hline is considered part of the table _header_ and is not modified
2401by column formulas.  Therefore a header is mandatory when you use column
2402formulas and want to add hlines to group rows, like for example to
2403separate a total row at the bottom from the summand rows above.  (ii)
2404Fields that already get a value from a field/range formula are left
2405alone by column formulas.  These conditions make column formulas very
2406easy to use.
2407
2408   To assign a formula to a column, type it directly into any field in
2409the column, preceded by an equal sign, like ‘=$1+$2’.  When you press
2410‘<TAB>’ or ‘<RET>’ or ‘C-c C-c’ with point still in the field, the
2411formula is stored as the formula for the current column, evaluated and
2412the current field replaced with the result.  If the field contains only
2413‘=’, the previously stored formula for this column is used.  For each
2414column, Org only remembers the most recently used formula.  In the
2415‘TBLFM’ keyword, column formulas look like ‘$4=$1+$2’.  The left-hand
2416side of a column formula can not be the name of column, it must be the
2417numeric column reference or ‘$>’.
2418
2419   Instead of typing an equation into the field, you may also use the
2420following command:
2421
2422‘C-c =’ (‘org-table-eval-formula’)
2423     Install a new formula for the current column and replace current
2424     field with the result of the formula.  The command prompts for a
2425     formula, with default taken from the ‘TBLFM’ keyword, applies it to
2426     the current field and stores it.  With a numeric prefix argument,
2427     e.g., ‘C-5 C-c =’, the command applies it to that many consecutive
2428     fields in the current column.
2429
2430
2431File: org.info,  Node: Lookup functions,  Next: Editing and debugging formulas,  Prev: Column formulas,  Up: The Spreadsheet
2432
24333.5.7 Lookup functions
2434----------------------
2435
2436Org has three predefined Emacs Lisp functions for lookups in tables.
2437
2438‘(org-lookup-first VAL S-LIST R-LIST &optional PREDICATE)’
2439     Searches for the first element S in list S-LIST for which
2440          (PREDICATE VAL S)
2441     is non-‘nil’; returns the value from the corresponding position in
2442     list R-LIST.  The default PREDICATE is ‘equal’.  Note that the
2443     parameters VAL and S are passed to PREDICATE in the same order as
2444     the corresponding parameters are in the call to ‘org-lookup-first’,
2445     where VAL precedes S-LIST.  If R-LIST is ‘nil’, the matching
2446     element S of S-LIST is returned.
2447
2448‘(org-lookup-last VAL S-LIST R-LIST &optional PREDICATE)’
2449     Similar to ‘org-lookup-first’ above, but searches for the _last_
2450     element for which PREDICATE is non-‘nil’.
2451
2452‘(org-lookup-all VAL S-LIST R-LIST &optional PREDICATE)’
2453     Similar to ‘org-lookup-first’, but searches for _all_ elements for
2454     which PREDICATE is non-‘nil’, and returns _all_ corresponding
2455     values.  This function can not be used by itself in a formula,
2456     because it returns a list of values.  However, powerful lookups can
2457     be built when this function is combined with other Emacs Lisp
2458     functions.
2459
2460   If the ranges used in these functions contain empty fields, the ‘E’
2461mode for the formula should usually be specified: otherwise empty fields
2462are not included in S-LIST and/or R-LIST which can, for example, result
2463in an incorrect mapping from an element of S-LIST to the corresponding
2464element of R-LIST.
2465
2466   These three functions can be used to implement associative arrays,
2467count matching cells, rank results, group data, etc.  For practical
2468examples see this tutorial on Worg
2469(https://orgmode.org/worg/org-tutorials/org-lookups.html).
2470
2471
2472File: org.info,  Node: Editing and debugging formulas,  Next: Updating the table,  Prev: Lookup functions,  Up: The Spreadsheet
2473
24743.5.8 Editing and debugging formulas
2475------------------------------------
2476
2477You can edit individual formulas in the minibuffer or directly in the
2478field.  Org can also prepare a special buffer with all active formulas
2479of a table.  When offering a formula for editing, Org converts
2480references to the standard format (like ‘B3’ or ‘D&’) if possible.  If
2481you prefer to only work with the internal format (like ‘@3$2’ or ‘$4’),
2482configure the variable ‘org-table-use-standard-references’.
2483
2484‘C-c =’ or ‘C-u C-c =’ (‘org-table-eval-formula’)
2485     Edit the formula associated with the current column/field in the
2486     minibuffer.  See *note Column formulas::, and *note Field and range
2487     formulas::.
2488
2489‘C-u C-u C-c =’ (‘org-table-eval-formula’)
2490     Re-insert the active formula (either a field formula, or a column
2491     formula) into the current field, so that you can edit it directly
2492     in the field.  The advantage over editing in the minibuffer is that
2493     you can use the command ‘C-c ?’.
2494
2495‘C-c ?’ (‘org-table-field-info’)
2496     While editing a formula in a table field, highlight the field(s)
2497     referenced by the reference at point position in the formula.
2498
2499‘C-c }’ (‘org-table-toggle-coordinate-overlays’)
2500     Toggle the display of row and column numbers for a table, using
2501     overlays.  These are updated each time the table is aligned; you
2502     can force it with ‘C-c C-c’.
2503
2504‘C-c {’ (‘org-table-toggle-formula-debugger’)
2505     Toggle the formula debugger on and off.  See below.
2506
2507‘C-c '’ (‘org-table-edit-formulas’)
2508     Edit all formulas for the current table in a special buffer, where
2509     the formulas are displayed one per line.  If the current field has
2510     an active formula, point in the formula editor marks it.  While
2511     inside the special buffer, Org automatically highlights any field
2512     or range reference at point position.  You may edit, remove and add
2513     formulas, and use the following commands:
2514
2515     ‘C-c C-c’ or ‘C-x C-s’ (‘org-table-fedit-finish’)
2516          Exit the formula editor and store the modified formulas.  With
2517          ‘C-u’ prefix, also apply the new formulas to the entire table.
2518
2519     ‘C-c C-q’ (‘org-table-fedit-abort’)
2520          Exit the formula editor without installing changes.
2521
2522     ‘C-c C-r’ (‘org-table-fedit-toggle-ref-type’)
2523          Toggle all references in the formula editor between standard
2524          (like ‘B3’) and internal (like ‘@3$2’).
2525
2526     ‘<TAB>’ (‘org-table-fedit-lisp-indent’)
2527          Pretty-print or indent Lisp formula at point.  When in a line
2528          containing a Lisp formula, format the formula according to
2529          Emacs Lisp rules.  Another ‘<TAB>’ collapses the formula back
2530          again.  In the open formula, ‘<TAB>’ re-indents just like in
2531          Emacs Lisp mode.
2532
2533     ‘M-<TAB>’ (‘lisp-complete-symbol’)
2534          Complete Lisp symbols, just like in Emacs Lisp mode.
2535
2536     ‘S-<UP>’, ‘S-<DOWN>’, ‘S-<LEFT>’, ‘S-<RIGHT>’
2537          Shift the reference at point.  For example, if the reference
2538          is ‘B3’ and you press ‘S-<RIGHT>’, it becomes ‘C3’.  This also
2539          works for relative references and for hline references.
2540
2541     ‘M-S-<UP>’ (‘org-table-fedit-line-up’)
2542          Move the test line for column formulas up in the Org buffer.
2543
2544     ‘M-S-<DOWN>’ (‘org-table-fedit-line-down’)
2545          Move the test line for column formulas down in the Org buffer.
2546
2547     ‘M-<UP>’ (‘org-table-fedit-scroll-up’)
2548          Scroll up the window displaying the table.
2549
2550     ‘M-<DOWN>’ (‘org-table-fedit-scroll-down’)
2551          Scroll down the window displaying the table.
2552
2553     ‘C-c }’
2554          Turn the coordinate grid in the table on and off.
2555
2556   Making a table field blank does not remove the formula associated
2557with the field, because that is stored in a different line—the ‘TBLFM’
2558keyword line.  During the next recalculation, the field will be filled
2559again.  To remove a formula from a field, you have to give an empty
2560reply when prompted for the formula, or to edit the ‘TBLFM’ keyword.
2561
2562   You may edit the ‘TBLFM’ keyword directly and re-apply the changed
2563equations with ‘C-c C-c’ in that line or with the normal recalculation
2564commands in the table.
2565
2566Using multiple ‘TBLFM’ lines
2567............................
2568
2569You may apply the formula temporarily.  This is useful when you want to
2570switch the formula applied to the table.  Place multiple ‘TBLFM’
2571keywords right after the table, and then press ‘C-c C-c’ on the formula
2572to apply.  Here is an example:
2573
2574     | x | y |
2575     |---+---|
2576     | 1 |   |
2577     | 2 |   |
2578     #+TBLFM: $2=$1*1
2579     #+TBLFM: $2=$1*2
2580
2581Pressing ‘C-c C-c’ in the line of ‘#+TBLFM: $2=$1*2’ yields:
2582
2583     | x | y |
2584     |---+---|
2585     | 1 | 2 |
2586     | 2 | 4 |
2587     #+TBLFM: $2=$1*1
2588     #+TBLFM: $2=$1*2
2589
2590If you recalculate this table, with ‘C-u C-c *’, for example, you get
2591the following result from applying only the first ‘TBLFM’ keyword.
2592
2593     | x | y |
2594     |---+---|
2595     | 1 | 1 |
2596     | 2 | 2 |
2597     #+TBLFM: $2=$1*1
2598     #+TBLFM: $2=$1*2
2599
2600Debugging formulas
2601..................
2602
2603When the evaluation of a formula leads to an error, the field content
2604becomes the string ‘#ERROR’.  If you would like to see what is going on
2605during variable substitution and calculation in order to find a bug,
2606turn on formula debugging in the Tbl menu and repeat the calculation,
2607for example by pressing ‘C-u C-u C-c = <RET>’ in a field.  Detailed
2608information are displayed.
2609
2610
2611File: org.info,  Node: Updating the table,  Next: Advanced features,  Prev: Editing and debugging formulas,  Up: The Spreadsheet
2612
26133.5.9 Updating the table
2614------------------------
2615
2616Recalculation of a table is normally not automatic, but needs to be
2617triggered by a command.  To make recalculation at least semi-automatic,
2618see *note Advanced features::.
2619
2620   In order to recalculate a line of a table or the entire table, use
2621the following commands:
2622
2623‘C-c *’ (‘org-table-recalculate’)
2624     Recalculate the current row by first applying the stored column
2625     formulas from left to right, and all field/range formulas in the
2626     current row.
2627
2628‘C-u C-c *’ or ‘C-u C-c C-c’
2629     Recompute the entire table, line by line.  Any lines before the
2630     first hline are left alone, assuming that these are part of the
2631     table header.
2632
2633‘C-u C-u C-c *’ or ‘C-u C-u C-c C-c’ (‘org-table-iterate’)
2634     Iterate the table by recomputing it until no further changes occur.
2635     This may be necessary if some computed fields use the value of
2636     other fields that are computed _later_ in the calculation sequence.
2637
2638‘M-x org-table-recalculate-buffer-tables’
2639     Recompute all tables in the current buffer.
2640
2641‘M-x org-table-iterate-buffer-tables’
2642     Iterate all tables in the current buffer, in order to converge
2643     table-to-table dependencies.
2644
2645
2646File: org.info,  Node: Advanced features,  Prev: Updating the table,  Up: The Spreadsheet
2647
26483.5.10 Advanced features
2649------------------------
2650
2651If you want the recalculation of fields to happen automatically, or if
2652you want to be able to assign _names_(1) to fields and columns, you need
2653to reserve the first column of the table for special marking characters.
2654
2655‘C-#’ (‘org-table-rotate-recalc-marks’)
2656     Rotate the calculation mark in first column through the states ‘#’,
2657     ‘*’, ‘!’, ‘$’.  When there is an active region, change all marks in
2658     the region.
2659
2660   Here is an example of a table that collects exam results of students
2661and makes use of these features:
2662
2663     |---+---------+--------+--------+--------+-------+------|
2664     |   | Student | Prob 1 | Prob 2 | Prob 3 | Total | Note |
2665     |---+---------+--------+--------+--------+-------+------|
2666     | ! |         |     P1 |     P2 |     P3 |   Tot |      |
2667     | # | Maximum |     10 |     15 |     25 |    50 | 10.0 |
2668     | ^ |         |     m1 |     m2 |     m3 |    mt |      |
2669     |---+---------+--------+--------+--------+-------+------|
2670     | # | Peter   |     10 |      8 |     23 |    41 |  8.2 |
2671     | # | Sam     |      2 |      4 |      3 |     9 |  1.8 |
2672     |---+---------+--------+--------+--------+-------+------|
2673     |   | Average |        |        |        |  25.0 |      |
2674     | ^ |         |        |        |        |    at |      |
2675     | $ | max=50  |        |        |        |       |      |
2676     |---+---------+--------+--------+--------+-------+------|
2677     #+TBLFM: $6=vsum($P1..$P3)::$7=10*$Tot/$max;%.1f::$at=vmean(@-II..@-I);%.1f
2678
2679     Important: Please note that for these special tables, recalculating
2680     the table with ‘C-u C-c *’ only affects rows that are marked ‘#’ or
2681     ‘*’, and fields that have a formula assigned to the field itself.
2682     The column formulas are not applied in rows with empty first field.
2683
2684   The marking characters have the following meaning:
2685
2686‘!’
2687     The fields in this line define names for the columns, so that you
2688     may refer to a column as ‘$Tot’ instead of ‘$6’.
2689
2690‘^’
2691     This row defines names for the fields _above_ the row.  With such a
2692     definition, any formula in the table may use ‘$m1’ to refer to the
2693     value ‘10’.  Also, if you assign a formula to a names field, it is
2694     stored as ‘$name = ...’.
2695
2696‘_’
2697     Similar to ‘^’, but defines names for the fields in the row
2698     _below_.
2699
2700‘$’
2701     Fields in this row can define _parameters_ for formulas.  For
2702     example, if a field in a ‘$’ row contains ‘max=50’, then formulas
2703     in this table can refer to the value 50 using ‘$max’.  Parameters
2704     work exactly like constants, only that they can be defined on a
2705     per-table basis.
2706
2707‘#’
2708     Fields in this row are automatically recalculated when pressing
2709     ‘<TAB>’ or ‘<RET>’ or ‘S-<TAB>’ in this row.  Also, this row is
2710     selected for a global recalculation with ‘C-u C-c *’.  Unmarked
2711     lines are left alone by this command.
2712
2713‘*’
2714     Selects this line for global recalculation with ‘C-u C-c *’, but
2715     not for automatic recalculation.  Use this when automatic
2716     recalculation slows down editing too much.
2717
2718‘/’
2719     Do not export this line.  Useful for lines that contain the
2720     narrowing ‘<N>’ markers or column group markers.
2721
2722   Finally, just to whet your appetite for what can be done with the
2723fantastic Calc package, here is a table that computes the Taylor series
2724of degree n at location x for a couple of functions.
2725
2726     |---+-------------+---+-----+--------------------------------------|
2727     |   | Func        | n | x   | Result                               |
2728     |---+-------------+---+-----+--------------------------------------|
2729     | # | exp(x)      | 1 | x   | 1 + x                                |
2730     | # | exp(x)      | 2 | x   | 1 + x + x^2 / 2                      |
2731     | # | exp(x)      | 3 | x   | 1 + x + x^2 / 2 + x^3 / 6            |
2732     | # | x^2+sqrt(x) | 2 | x=0 | x*(0.5 / 0) + x^2 (2 - 0.25 / 0) / 2 |
2733     | # | x^2+sqrt(x) | 2 | x=1 | 2 + 2.5 x - 2.5 + 0.875 (x - 1)^2    |
2734     | * | tan(x)      | 3 | x   | 0.0175 x + 1.77e-6 x^3               |
2735     |---+-------------+---+-----+--------------------------------------|
2736     #+TBLFM: $5=taylor($2,$4,$3);n3
2737
2738   ---------- Footnotes ----------
2739
2740   (1) Such names must start with an alphabetic character and use only
2741alphanumeric/underscore characters.
2742
2743
2744File: org.info,  Node: Org Plot,  Prev: The Spreadsheet,  Up: Tables
2745
27463.6 Org Plot
2747============
2748
2749Org Plot can produce graphs of information stored in Org tables, either
2750graphically or in ASCII art.
2751
2752Graphical plots using Gnuplot
2753-----------------------------
2754
2755Org Plot can produce 2D and 3D graphs of information stored in Org
2756tables using Gnuplot (http://www.gnuplot.info/) and Gnuplot mode
2757(http://cars9.uchicago.edu/~ravel/software/gnuplot-mode.html).  To see
2758this in action, ensure that you have both Gnuplot and Gnuplot mode
2759installed on your system, then call ‘C-c " g’ or ‘M-x org-plot/gnuplot2760on the following table.
2761
2762     #+PLOT: title:"Citas" ind:1 deps:(3) type:2d with:histograms set:"yrange [0:]"
2763     | Sede      | Max cites | H-index |
2764     |-----------+-----------+---------|
2765     | Chile     |    257.72 |   21.39 |
2766     | Leeds     |    165.77 |   19.68 |
2767     | Sao Paolo |     71.00 |   11.50 |
2768     | Stockholm |    134.19 |   14.33 |
2769     | Morelia   |    257.56 |   17.67 |
2770
2771   Notice that Org Plot is smart enough to apply the table’s headers as
2772labels.  Further control over the labels, type, content, and appearance
2773of plots can be exercised through the ‘PLOT’ keyword preceding a table.
2774See below for a complete list of Org Plot options.  For more information
2775and examples see the Org Plot tutorial
2776(https://orgmode.org/worg/org-tutorials/org-plot.html).
2777
2778Plot options
2779............
2780
2781‘set’
2782     Specify any Gnuplot option to be set when graphing.
2783
2784‘title’
2785     Specify the title of the plot.
2786
2787‘ind’
2788     Specify which column of the table to use as the ‘x’ axis.
2789
2790‘deps’
2791     Specify the columns to graph as a Lisp style list, surrounded by
2792     parentheses and separated by spaces for example ‘dep:(3 4)’ to
2793     graph the third and fourth columns.  Defaults to graphing all other
2794     columns aside from the ‘ind’ column.
2795
2796‘type’
2797     Specify whether the plot is ‘2d’, ‘3d’, or ‘grid’.
2798
2799‘with’
2800     Specify a ‘with’ option to be inserted for every column being
2801     plotted, e.g., ‘lines’, ‘points’, ‘boxes’, ‘impulses’.  Defaults to
2802     ‘lines’.
2803
2804‘file’
2805     If you want to plot to a file, specify
2806     ‘"path/to/desired/output-file"’.
2807
2808‘labels’
2809     List of labels to be used for the ‘deps’.  Defaults to the column
2810     headers if they exist.
2811
2812‘line’
2813     Specify an entire line to be inserted in the Gnuplot script.
2814
2815‘map’
2816     When plotting ‘3d’ or ‘grid’ types, set this to ‘t’ to graph a flat
2817     mapping rather than a ‘3d’ slope.
2818
2819‘timefmt’
2820     Specify format of Org mode timestamps as they will be parsed by
2821     Gnuplot.  Defaults to ‘%Y-%m-%d-%H:%M:%S’.
2822
2823‘script’
2824     If you want total control, you can specify a script file—place the
2825     file name between double-quotes—which will be used to plot.  Before
2826     plotting, every instance of ‘$datafile’ in the specified script
2827     will be replaced with the path to the generated data file.  Note:
2828     even if you set this option, you may still want to specify the plot
2829     type, as that can impact the content of the data file.
2830
2831ASCII bar plots
2832---------------
2833
2834While point is on a column, typing ‘C-c `` a’ or ‘M-x orgtbl-ascii-plot’
2835create a new column containing an ASCII-art bars plot.  The plot is
2836implemented through a regular column formula.  When the source column
2837changes, the bar plot may be updated by refreshing the table, for
2838example typing ‘C-u C-c *’.
2839
2840     | Sede          | Max cites |              |
2841     |---------------+-----------+--------------|
2842     | Chile         |    257.72 | WWWWWWWWWWWW |
2843     | Leeds         |    165.77 | WWWWWWWh     |
2844     | Sao Paolo     |     71.00 | WWW;         |
2845     | Stockholm     |    134.19 | WWWWWW:      |
2846     | Morelia       |    257.56 | WWWWWWWWWWWH |
2847     | Rochefourchat |      0.00 |              |
2848     #+TBLFM: $3='(orgtbl-ascii-draw $2 0.0 257.72 12)
2849
2850   The formula is an Elisp call.
2851
2852 -- Function: orgtbl-ascii-draw value min max &optional width
2853     Draw an ASCII bar in a table.
2854
2855     VALUE is the value to plot.
2856
2857     MIN is the value displayed as an empty bar.  MAX is the value
2858     filling all the WIDTH.  Sources values outside this range are
2859     displayed as ‘too small’ or ‘too large’.
2860
2861     WIDTH is the number of characters of the bar plot.  It defaults to
2862     ‘12’.
2863
2864
2865File: org.info,  Node: Hyperlinks,  Next: TODO Items,  Prev: Tables,  Up: Top
2866
28674 Hyperlinks
2868************
2869
2870Like HTML, Org provides support for links inside a file, external links
2871to other files, Usenet articles, emails, and much more.
2872
2873* Menu:
2874
2875* Link Format::                  How links in Org are formatted.
2876* Internal Links::               Links to other places in the current file.
2877* Radio Targets::                Make targets trigger links in plain text.
2878* External Links::               URL-like links to the world.
2879* Handling Links::               Creating, inserting and following.
2880* Using Links Outside Org::      Linking from my C source code?
2881* Link Abbreviations::           Shortcuts for writing complex links.
2882* Search Options::               Linking to a specific location.
2883* Custom Searches::              When the default search is not enough.
2884
2885
2886File: org.info,  Node: Link Format,  Next: Internal Links,  Up: Hyperlinks
2887
28884.1 Link Format
2889===============
2890
2891Org recognizes plain URIs, possibly wrapped within angle brackets(1),
2892and activate them as clickable links.
2893
2894   The general link format, however, looks like this:
2895
2896     [[LINK][DESCRIPTION]]
2897
2898or alternatively
2899
2900     [[LINK]]
2901
2902   Some ‘\’, ‘[’ and ‘]’ characters in the LINK part need to be
2903“escaped”, i.e., preceded by another ‘\’ character.  More specifically,
2904the following characters, and only them, must be escaped:
2905
2906  1. all ‘[’ and ‘]’ characters,
2907  2. every ‘\’ character preceding either ‘]’ or ‘[’,
2908  3. every ‘\’ character at the end of the link.
2909
2910   Functions inserting links (see *note Handling Links::) properly
2911escape ambiguous characters.  You only need to bother about the rules
2912above when inserting directly, or yanking, a URI within square brackets.
2913When in doubt, you may use the function ‘org-link-escape’, which turns a
2914link string into its escaped form.
2915
2916   Once a link in the buffer is complete, with all brackets present, Org
2917changes the display so that ‘DESCRIPTION’ is displayed instead of
2918‘[[LINK][DESCRIPTION]]’ and ‘LINK’ is displayed instead of ‘[[LINK]]’.
2919Links are highlighted in the ‘org-link’ face, which, by default, is an
2920underlined face.
2921
2922   You can directly edit the visible part of a link.  This can be either
2923the LINK part, if there is no description, or the DESCRIPTION part
2924otherwise.  To also edit the invisible LINK part, use ‘C-c C-l’ with
2925point on the link (see *note Handling Links::).
2926
2927   If you place point at the beginning or just behind the end of the
2928displayed text and press ‘<BS>’, you remove the—invisible—bracket at
2929that location(2).  This makes the link incomplete and the internals are
2930again displayed as plain text.  Inserting the missing bracket hides the
2931link internals again.  To show the internal structure of all links, use
2932the menu: Org → Hyperlinks → Literal links.
2933
2934   ---------- Footnotes ----------
2935
2936   (1) Plain URIs are recognized only for a well-defined set of schemes.
2937See *note External Links::.  Unlike URI syntax, they cannot contain
2938parenthesis or white spaces, either.  URIs within angle brackets have no
2939such limitation.
2940
2941   (2) More accurately, the precise behavior depends on how point
2942arrived there—see *note Invisible Text: (elisp)Invisible Text.
2943
2944
2945File: org.info,  Node: Internal Links,  Next: Radio Targets,  Prev: Link Format,  Up: Hyperlinks
2946
29474.2 Internal Links
2948==================
2949
2950A link that does not look like a URL—i.e., does not start with a known
2951scheme or a file name—refers to the current document.  You can follow it
2952with ‘C-c C-o’ when point is on the link, or with a mouse click (see
2953*note Handling Links::).
2954
2955   Org provides several refinements to internal navigation within a
2956document.  Most notably, a construct like ‘[[#my-custom-id]]’
2957specifically targets the entry with the ‘CUSTOM_ID’ property set to
2958‘my-custom-id’.  Also, an internal link looking like ‘[[*Some section]]’
2959points to a headline with the name ‘Some section’(1).
2960
2961   When the link does not belong to any of the cases above, Org looks
2962for a _dedicated target_: the same string in double angular brackets,
2963like ‘<<My Target>>’.
2964
2965   If no dedicated target exists, the link tries to match the exact name
2966of an element within the buffer.  Naming is done, unsurprisingly, with
2967the ‘NAME’ keyword, which has to be put in the line before the element
2968it refers to, as in the following example
2969
2970     #+NAME: My Target
2971     | a  | table      |
2972     |----+------------|
2973     | of | four cells |
2974
2975   Ultimately, if none of the above succeeds, Org searches for a
2976headline that is exactly the link text but may also include a TODO
2977keyword and tags, or initiates a plain text search, according to the
2978value of ‘org-link-search-must-match-exact-headline’.
2979
2980   Note that you must make sure custom IDs, dedicated targets, and names
2981are unique throughout the document.  Org provides a linter to assist you
2982in the process, if needed.  See *note Org Syntax::.
2983
2984   During export, internal links are used to mark objects and assign
2985them a number.  Marked objects are then referenced by links pointing to
2986them.  In particular, links without a description appear as the number
2987assigned to the marked object(2).  In the following excerpt from an Org
2988buffer
2989
2990     1. one item
2991     2. <<target>>another item
2992     Here we refer to item [[target]].
2993
2994The last sentence will appear as ‘Here we refer to item 2’ when
2995exported.
2996
2997   In non-Org files, the search looks for the words in the link text.
2998In the above example the search would be for ‘target’.
2999
3000   Following a link pushes a mark onto Org’s own mark ring.  You can
3001return to the previous position with ‘C-c &’.  Using this command
3002several times in direct succession goes back to positions recorded
3003earlier.
3004
3005   ---------- Footnotes ----------
3006
3007   (1) To insert a link targeting a headline, in-buffer completion can
3008be used.  Just type a star followed by a few optional letters into the
3009buffer and press ‘M-<TAB>’.  All headlines in the current buffer are
3010offered as completions.
3011
3012   (2) When targeting a ‘NAME’ keyword, the ‘CAPTION’ keyword is
3013mandatory in order to get proper numbering (see *note Captions::).
3014
3015
3016File: org.info,  Node: Radio Targets,  Next: External Links,  Prev: Internal Links,  Up: Hyperlinks
3017
30184.3 Radio Targets
3019=================
3020
3021Org can automatically turn any occurrences of certain target names in
3022normal text into a link.  So without explicitly creating a link, the
3023text connects to the target radioing its position.  Radio targets are
3024enclosed by triple angular brackets.  For example, a target ‘<<<My
3025Target>>>’ causes each occurrence of ‘my target’ in normal text to
3026become activated as a link.  The Org file is scanned automatically for
3027radio targets only when the file is first loaded into Emacs.  To update
3028the target list during editing, press ‘C-c C-c’ with point on or at a
3029target.
3030
3031
3032File: org.info,  Node: External Links,  Next: Handling Links,  Prev: Radio Targets,  Up: Hyperlinks
3033
30344.4 External Links
3035==================
3036
3037Org supports links to files, websites, Usenet and email messages, BBDB
3038database entries and links to both IRC conversations and their logs.
3039External links are URL-like locators.  They start with a short
3040identifying string followed by a colon.  There can be no space after the
3041colon.
3042
3043   Here is the full set of built-in link types:
3044
3045‘file’
3046     File links.  File name may be remote, absolute, or relative.
3047
3048     Additionally, you can specify a line number, or a text search.  In
3049     Org files, you may link to a headline name, a custom ID, or a code
3050     reference instead.
3051
3052     As a special case, “file” prefix may be omitted if the file name is
3053     complete, e.g., it starts with ‘./’, or ‘/’.
3054
3055‘attachment’
3056     Same as file links but for files and folders attached to the
3057     current node (see *note Attachments::).  Attachment links are
3058     intended to behave exactly as file links but for files relative to
3059     the attachment directory.
3060
3061‘bbdb’
3062     Link to a BBDB record, with possible regexp completion.
3063
3064‘docview’
3065     Link to a document opened with DocView mode.  You may specify a
3066     page number.
3067
3068‘doi’
3069     Link to an electronic resource, through its handle.
3070
3071‘elisp’
3072     Execute an Elisp command upon activation.
3073
3074‘gnus’, ‘rmail’, ‘mhe’
3075     Link to messages or folders from a given Emacs’ MUA.
3076
3077‘help’
3078     Display documentation of a symbol in ‘*Help*’ buffer.
3079
3080‘http’, ‘https’
3081     Web links.
3082
3083‘id’
3084     Link to a specific headline by its ID property, in an Org file.
3085
3086‘info’
3087     Link to an Info manual, or to a specific node.
3088
3089‘irc’
3090     Link to an IRC channel.
3091
3092‘mailto’
3093     Link to message composition.
3094
3095‘news’
3096     Usenet links.
3097
3098‘shell’
3099     Execute a shell command upon activation.
3100
3101   The following table illustrates the link types above, along with
3102their options:
3103
3104Link Type    Example
3105------------------------------------------------------------------------
3106http         ‘http://staff.science.uva.nl/c.dominik/3107https        ‘https://orgmode.org/3108doi          ‘doi:10.1000/182’
3109file         ‘file:/home/dominik/images/jupiter.jpg3110/home/dominik/images/jupiter.jpg’ (same as above)
3111             ‘file:papers/last.pdf3112             ‘./papers/last.pdf’ (same as above)
3113             ‘file:/ssh:me@some.where:papers/last.pdf’ (remote)
3114             ‘/ssh:me@some.where:papers/last.pdf’ (same as above)
3115             ‘file:sometextfile::NNN’ (jump to line number)
3116             ‘file:projects.org3117             ‘file:projects.org::some words’ (text search)(1)
3118             ‘file:projects.org::*task title’ (headline search)
3119             ‘file:projects.org::#custom-id’ (headline search)
3120attachment   ‘attachment:projects.org3121             ‘attachment:projects.org::some words’ (text search)
3122docview      ‘docview:papers/last.pdf::NNN’
3123id           ‘id:B7423F4D-2E8A-471B-8810-C40F074717E9’
3124news         ‘news:comp.emacs3125mailto       ‘mailto:adent@galaxy.net’
3126mhe          ‘mhe:folder’ (folder link)
3127             ‘mhe:folder#id’ (message link)
3128rmail        ‘rmail:folder’ (folder link)
3129             ‘rmail:folder#id’ (message link)
3130gnus         ‘gnus:group’ (group link)
3131             ‘gnus:group#id’ (article link)
3132bbdb         ‘bbdb:R.*Stallman’ (record with regexp)
3133irc          ‘irc:/irc.com/#emacs/bob3134help         ‘help:org-store-link’
3135info         ‘info:org#External links’
3136shell        ‘shell:ls *.org’
3137elisp        ‘elisp:(find-file "Elisp.org")’ (Elisp form to evaluate)
3138             ‘elisp:org-agenda’ (interactive Elisp command)
3139
3140   On top of these built-in link types, additional ones are available
3141through the ‘contrib/’ directory (see *note Installation::).  For
3142example, these links to VM or Wanderlust messages are available when you
3143load the corresponding libraries from the ‘contrib/’ directory:
3144
3145‘vm:folder’                              VM folder link
3146‘vm:folder#id’                           VM message link
3147‘vm://myself@some.where.org/folder#id’   VM on remote machine
3148‘vm-imap:account:folder’                 VM IMAP folder link
3149‘vm-imap:account:folder#id’              VM IMAP message link
3150‘wl:folder’                              Wanderlust folder link
3151‘wl:folder#id’                           Wanderlust message link
3152
3153   For information on customizing Org to add new link types, see *note
3154Adding Hyperlink Types::.
3155
3156   A link should be enclosed in double brackets and may contain
3157descriptive text to be displayed instead of the URL (see *note Link
3158Format::), for example:
3159
3160     [[http://www.gnu.org/software/emacs/][GNU Emacs]]
3161
3162   If the description is a file name or URL that points to an image,
3163HTML export (see *note HTML Export::) inlines the image as a clickable
3164button.  If there is no description at all and the link points to an
3165image, that image is inlined into the exported HTML file.
3166
3167   Org also recognizes external links amid normal text and activates
3168them as links.  If spaces must be part of the link (for example in
3169‘bbdb:R.*Stallman’), or if you need to remove ambiguities about the end
3170of the link, enclose the link in square or angular brackets.
3171
3172   ---------- Footnotes ----------
3173
3174   (1) The actual behavior of the search depends on the value of the
3175variable ‘org-link-search-must-match-exact-headline’.  If its value is
3176‘nil’, then a fuzzy text search is done.  If it is ‘t’, then only the
3177exact headline is matched, ignoring spaces and statistic cookies.  If
3178the value is ‘query-to-create’, then an exact headline is searched; if
3179it is not found, then the user is queried to create it.
3180
3181
3182File: org.info,  Node: Handling Links,  Next: Using Links Outside Org,  Prev: External Links,  Up: Hyperlinks
3183
31844.5 Handling Links
3185==================
3186
3187Org provides methods to create a link in the correct syntax, to insert
3188it into an Org file, and to follow the link.
3189
3190   The main function is ‘org-store-link’, called with ‘M-x
3191org-store-link’.  Because of its importance, we suggest to bind it to a
3192widely available key (see *note Activation::).  It stores a link to the
3193current location.  The link is stored for later insertion into an Org
3194buffer—see below.  The kind of link that is created depends on the
3195current buffer:
3196
3197_Org mode buffers_
3198     For Org files, if there is a ‘<<target>>’ at point, the link points
3199     to the target.  Otherwise it points to the current headline, which
3200     is also the description(1).
3201
3202     If the headline has a ‘CUSTOM_ID’ property, store a link to this
3203     custom ID.  In addition or alternatively, depending on the value of
3204     ‘org-id-link-to-org-use-id’, create and/or use a globally unique
3205     ‘ID’ property for the link(2).  So using this command in Org
3206     buffers potentially creates two links: a human-readable link from
3207     the custom ID, and one that is globally unique and works even if
3208     the entry is moved from file to file.  Later, when inserting the
3209     link, you need to decide which one to use.
3210
3211_Email/News clients: VM, Rmail, Wanderlust, MH-E, Gnus_
3212     Pretty much all Emacs mail clients are supported.  The link points
3213     to the current article, or, in some Gnus buffers, to the group.
3214     The description is constructed according to the variable
3215     ‘org-link-email-description-format’.  By default, it refers to the
3216     addressee and the subject.
3217
3218_Web browsers: W3, W3M and EWW_
3219     Here the link is the current URL, with the page title as the
3220     description.
3221
3222_Contacts: BBDB_
3223     Links created in a BBDB buffer point to the current entry.
3224
3225_Chat: IRC_
3226     For IRC links, if the variable ‘org-irc-link-to-logs’ is non-‘nil’,
3227     create a ‘file’ style link to the relevant point in the logs for
3228     the current conversation.  Otherwise store an ‘irc’ style link to
3229     the user/channel/server under the point.
3230
3231_Other files_
3232     For any other file, the link points to the file, with a search
3233     string (see *note Search Options::) pointing to the contents of the
3234     current line.  If there is an active region, the selected words
3235     form the basis of the search string.  You can write custom Lisp
3236     functions to select the search string and perform the search for
3237     particular file types (see *note Custom Searches::).
3238
3239     You can also define dedicated links to other files.  See *note
3240     Adding Hyperlink Types::.
3241
3242_Agenda view_
3243     When point is in an agenda view, the created link points to the
3244     entry referenced by the current line.
3245
3246   From an Org buffer, the following commands create, navigate or, more
3247generally, act on links.
3248
3249‘C-c C-l’ (‘org-insert-link’)
3250     Insert a link(3).  This prompts for a link to be inserted into the
3251     buffer.  You can just type a link, using text for an internal link,
3252     or one of the link type prefixes mentioned in the examples above.
3253     The link is inserted into the buffer, along with a descriptive
3254     text(4).  If some text was selected at this time, it becomes the
3255     default description.
3256
3257     _Inserting stored links_
3258          All links stored during the current session are part of the
3259          history for this prompt, so you can access them with ‘<UP>’
3260          and ‘<DOWN>’ (or ‘M-p’, ‘M-n’).
3261
3262     _Completion support_
3263          Completion with ‘<TAB>’ helps you to insert valid link
3264          prefixes like ‘http’ or ‘ftp’, including the prefixes defined
3265          through link abbreviations (see *note Link Abbreviations::).
3266          If you press ‘<RET>’ after inserting only the prefix, Org
3267          offers specific completion support for some link types(5).
3268          For example, if you type ‘f i l e <RET>’—alternative access:
3269          ‘C-u C-c C-l’, see below—Org offers file name completion, and
3270          after ‘b b d b <RET>’ you can complete contact names.
3271
3272‘C-u C-c C-l’
3273     When ‘C-c C-l’ is called with a ‘C-u’ prefix argument, insert a
3274     link to a file.  You may use file name completion to select the
3275     name of the file.  The path to the file is inserted relative to the
3276     directory of the current Org file, if the linked file is in the
3277     current directory or in a sub-directory of it, or if the path is
3278     written relative to the current directory using ‘../’.  Otherwise
3279     an absolute path is used, if possible with ‘~/’ for your home
3280     directory.  You can force an absolute path with two ‘C-u’ prefixes.
3281
3282‘C-c C-l’ (with point on existing link)
3283     When point is on an existing link, ‘C-c C-l’ allows you to edit the
3284     link and description parts of the link.
3285
3286‘C-c C-o’ (‘org-open-at-point’)
3287     Open link at point.  This launches a web browser for URL (using
3288     ‘browse-url-at-point’), run VM/MH-E/Wanderlust/Rmail/Gnus/BBDB for
3289     the corresponding links, and execute the command in a shell link.
3290     When point is on an internal link, this command runs the
3291     corresponding search.  When point is on the tags part of a
3292     headline, it creates the corresponding tags view (see *note
3293     Matching tags and properties::).  If point is on a timestamp, it
3294     compiles the agenda for that date.  Furthermore, it visits text and
3295     remote files in ‘file’ links with Emacs and select a suitable
3296     application for local non-text files.  Classification of files is
3297     based on file extension only.  See option ‘org-file-apps’.  If you
3298     want to override the default application and visit the file with
3299     Emacs, use a ‘C-u’ prefix.  If you want to avoid opening in Emacs,
3300     use a ‘C-u C-u’ prefix.
3301
3302     If point is on a headline, but not on a link, offer all links in
3303     the headline and entry text.  If you want to setup the frame
3304     configuration for following links, customize
3305     ‘org-link-frame-setup’.
3306
3307‘<RET>’
3308     When ‘org-return-follows-link’ is set, ‘<RET>’ also follows the
3309     link at point.
3310
3311‘mouse-2’ or ‘mouse-1’
3312     On links, ‘mouse-1’ and ‘mouse-2’ opens the link just as ‘C-c C-o’
3313     does.
3314
3315‘mouse-3’
3316     Like ‘mouse-2’, but force file links to be opened with Emacs, and
3317     internal links to be displayed in another window(6).
3318
3319‘C-c %’ (‘org-mark-ring-push’)
3320     Push the current position onto the Org mark ring, to be able to
3321     return easily.  Commands following an internal link do this
3322     automatically.
3323
3324‘C-c &’ (‘org-mark-ring-goto’)
3325     Jump back to a recorded position.  A position is recorded by the
3326     commands following internal links, and by ‘C-c %’.  Using this
3327     command several times in direct succession moves through a ring of
3328     previously recorded positions.
3329
3330‘C-c C-x C-n’ (‘org-next-link’)
3331‘C-c C-x C-p’ (‘org-previous-link’)
3332     Move forward/backward to the next link in the buffer.  At the limit
3333     of the buffer, the search fails once, and then wraps around.  The
3334     key bindings for this are really too long; you might want to bind
3335     this also to ‘M-n’ and ‘M-p’.
3336
3337          (with-eval-after-load 'org
3338            (define-key org-mode-map (kbd "M-n") 'org-next-link)
3339            (define-key org-mode-map (kbd "M-p") 'org-previous-link))
3340
3341   ---------- Footnotes ----------
3342
3343   (1) If the headline contains a timestamp, it is removed from the
3344link, which results in a wrong link—you should avoid putting a timestamp
3345in the headline.
3346
3347   (2) The Org Id library must first be loaded, either through
3348‘org-customize’, by enabling ‘id’ in ‘org-modules’, or by adding
3349‘(require 'org-id)’ in your Emacs init file.
3350
3351   (3) Note that you do not have to use this command to insert a link.
3352Links in Org are plain text, and you can type or paste them straight
3353into the buffer.  By using this command, the links are automatically
3354enclosed in double brackets, and you will be asked for the optional
3355descriptive text.
3356
3357   (4) After insertion of a stored link, the link will be removed from
3358the list of stored links.  To keep it in the list for later use, use a
3359triple ‘C-u’ prefix argument to ‘C-c C-l’, or configure the option
3360‘org-link-keep-stored-after-insertion’.
3361
3362   (5) This works if a function has been defined in the ‘:complete’
3363property of a link in ‘org-link-parameters’.
3364
3365   (6) See the variable ‘org-link-use-indirect-buffer-for-internals’.
3366
3367
3368File: org.info,  Node: Using Links Outside Org,  Next: Link Abbreviations,  Prev: Handling Links,  Up: Hyperlinks
3369
33704.6 Using Links Outside Org
3371===========================
3372
3373You can insert and follow links that have Org syntax not only in Org,
3374but in any Emacs buffer.  For this, Org provides two functions:
3375‘org-insert-link-global’ and ‘org-open-at-point-global’.
3376
3377   You might want to bind them to globally available keys.  See *note
3378Activation:: for some advice.
3379
3380
3381File: org.info,  Node: Link Abbreviations,  Next: Search Options,  Prev: Using Links Outside Org,  Up: Hyperlinks
3382
33834.7 Link Abbreviations
3384======================
3385
3386Long URL can be cumbersome to type, and often many similar links are
3387needed in a document.  For this you can use link abbreviations.  An
3388abbreviated link looks like this
3389
3390     [[linkword:tag][description]]
3391
3392where the tag is optional.  The _linkword_ must be a word, starting with
3393a letter, followed by letters, numbers, ‘-’, and ‘_’.  Abbreviations are
3394resolved according to the information in the variable
3395‘org-link-abbrev-alist’ that relates the linkwords to replacement text.
3396Here is an example:
3397
3398     (setq org-link-abbrev-alist
3399           '(("bugzilla"        . "http://10.1.2.9/bugzilla/show_bug.cgi?id=")
3400             ("Nu Html Checker" . "https://validator.w3.org/nu/?doc=%h")
3401             ("duckduckgo"      . "https://duckduckgo.com/?q=%s")
3402             ("omap"            . "http://nominatim.openstreetmap.org/search?q=%s&polygon=1")
3403             ("ads"             . "https://ui.adsabs.harvard.edu/search/q=%20author%3A\"%s\"")))
3404
3405   If the replacement text contains the string ‘%s’, it is replaced with
3406the tag.  Using ‘%h’ instead of ‘%s’ percent-encodes the tag (see the
3407example above, where we need to encode the URL parameter).  Using
3408‘%(my-function)’ passes the tag to a custom Lisp function, and replace
3409it by the resulting string.
3410
3411   If the replacement text do not contain any specifier, it is simply
3412appended to the string in order to create the link.
3413
3414   Instead of a string, you may also specify a Lisp function to create
3415the link.  Such a function will be called with the tag as the only
3416argument.
3417
3418   With the above setting, you could link to a specific bug with
3419‘[[bugzilla:129]]’, search the web for ‘OrgMode’ with
3420‘[[google:OrgMode]]’, show the map location of the Free Software
3421Foundation ‘[[gmap:51 Franklin Street, Boston]]’ or of Carsten office
3422‘[[omap:Science Park 904, Amsterdam, The Netherlands]]’ and find out
3423what the Org author is doing besides Emacs hacking with
3424‘[[ads:Dominik,C]]’.
3425
3426   If you need special abbreviations just for a single Org buffer, you
3427can define them in the file with
3428
3429     #+LINK: bugzilla  http://10.1.2.9/bugzilla/show_bug.cgi?id=
3430     #+LINK: google    http://www.google.com/search?q=%s
3431
3432   In-buffer completion (see *note Completion::) can be used after ‘[’
3433to complete link abbreviations.  You may also define a Lisp function
3434that implements special (e.g., completion) support for inserting such a
3435link with ‘C-c C-l’.  Such a function should not accept any arguments,
3436and should return the full link with a prefix.  You can set the link
3437completion function like this:
3438
3439     (org-link-set-parameter "type" :complete #'some-completion-function)
3440
3441
3442File: org.info,  Node: Search Options,  Next: Custom Searches,  Prev: Link Abbreviations,  Up: Hyperlinks
3443
34444.8 Search Options in File Links
3445================================
3446
3447File links can contain additional information to make Emacs jump to a
3448particular location in the file when following a link.  This can be a
3449line number or a search option after a double colon(1).  For example,
3450when the command ‘org-store-link’ creates a link (see *note Handling
3451Links::) to a file, it encodes the words in the current line as a search
3452string that can be used to find this line back later when following the
3453link with ‘C-c C-o’.
3454
3455   Note that all search options apply for Attachment links in the same
3456way that they apply for File links.
3457
3458   Here is the syntax of the different ways to attach a search to a file
3459link, together with explanations for each:
3460
3461     [[file:~/code/main.c::255]]
3462     [[file:~/xx.org::My Target]]
3463     [[file:~/xx.org::*My Target]]
3464     [[file:~/xx.org::#my-custom-id]]
3465     [[file:~/xx.org::/regexp/]]
3466     [[attachment:main.c::255]]
3467
3468‘255’
3469     Jump to line 255.
3470
3471‘My Target’
3472     Search for a link target ‘<<My Target>>’, or do a text search for
3473     ‘my target’, similar to the search in internal links, see *note
3474     Internal Links::.  In HTML export (see *note HTML Export::), such a
3475     file link becomes a HTML reference to the corresponding named
3476     anchor in the linked file.
3477
3478‘*My Target’
3479     In an Org file, restrict search to headlines.
3480
3481‘#my-custom-id’
3482     Link to a heading with a ‘CUSTOM_ID’ property
3483
3484‘/REGEXP/’
3485     Do a regular expression search for REGEXP.  This uses the Emacs
3486     command ‘occur’ to list all matches in a separate window.  If the
3487     target file is in Org mode, ‘org-occur’ is used to create a sparse
3488     tree with the matches.
3489
3490   As a degenerate case, a file link with an empty file name can be used
3491to search the current file.  For example, ‘[[file:::find me]]’ does a
3492search for ‘find me’ in the current file, just as ‘[[find me]]’ would.
3493
3494   ---------- Footnotes ----------
3495
3496   (1) For backward compatibility, line numbers can also follow a single
3497colon.
3498
3499
3500File: org.info,  Node: Custom Searches,  Prev: Search Options,  Up: Hyperlinks
3501
35024.9 Custom Searches
3503===================
3504
3505The default mechanism for creating search strings and for doing the
3506actual search related to a file link may not work correctly in all
3507cases.  For example, BibTeX database files have many entries like
3508‘year="1993"’ which would not result in good search strings, because the
3509only unique identification for a BibTeX entry is the citation key.
3510
3511   If you come across such a problem, you can write custom functions to
3512set the right search string for a particular file type, and to do the
3513search for the string in the file.  Using ‘add-hook’, these functions
3514need to be added to the hook variables
3515‘org-create-file-search-functions’ and
3516‘org-execute-file-search-functions’.  See the docstring for these
3517variables for more information.  Org actually uses this mechanism for
3518BibTeX database files, and you can use the corresponding code as an
3519implementation example.  See the file ‘ol-bibtex.el’.
3520
3521
3522File: org.info,  Node: TODO Items,  Next: Tags,  Prev: Hyperlinks,  Up: Top
3523
35245 TODO Items
3525************
3526
3527Org mode does not maintain TODO lists as separate documents(1).
3528Instead, TODO items are an integral part of the notes file, because TODO
3529items usually come up while taking notes!  With Org mode, simply mark
3530any entry in a tree as being a TODO item.  In this way, information is
3531not duplicated, and the entire context from which the TODO item emerged
3532is always present.
3533
3534   Of course, this technique for managing TODO items scatters them
3535throughout your notes file.  Org mode compensates for this by providing
3536methods to give you an overview of all the things that you have to do.
3537
3538* Menu:
3539
3540* TODO Basics::                  Marking and displaying TODO entries.
3541* TODO Extensions::              Workflow and assignments.
3542* Progress Logging::             Dates and notes for progress.
3543* Priorities::                   Some things are more important than others.
3544* Breaking Down Tasks::          Splitting a task into manageable pieces.
3545* Checkboxes::                   Tick-off lists.
3546
3547   ---------- Footnotes ----------
3548
3549   (1) Of course, you can make a document that contains only long lists
3550of TODO items, but this is not required.
3551
3552
3553File: org.info,  Node: TODO Basics,  Next: TODO Extensions,  Up: TODO Items
3554
35555.1 Basic TODO Functionality
3556============================
3557
3558Any headline becomes a TODO item when it starts with the word ‘TODO’,
3559for example:
3560
3561     *** TODO Write letter to Sam Fortune
3562
3563   The most important commands to work with TODO entries are:
3564
3565‘C-c C-t’ (‘org-todo’)
3566     Rotate the TODO state of the current item among
3567
3568          ,-> (unmarked) -> TODO -> DONE --.
3569          '--------------------------------'
3570
3571     If TODO keywords have fast access keys (see *note Fast access to
3572     TODO states::), prompt for a TODO keyword through the fast
3573     selection interface; this is the default behavior when
3574     ‘org-use-fast-todo-selection’ is non-‘nil’.
3575
3576     The same state changing can also be done “remotely” from the agenda
3577     buffer with the ‘t’ command key (see *note Agenda Commands::).
3578
3579‘S-<RIGHT>’ ‘S-<LEFT>’
3580     Select the following/preceding TODO state, similar to cycling.
3581     Useful mostly if more than two TODO states are possible (see *note
3582     TODO Extensions::).  See also *note Conflicts::, for a discussion
3583     of the interaction with shift-selection.  See also the variable
3584     ‘org-treat-S-cursor-todo-selection-as-state-change’.
3585
3586‘C-c / t’ (‘org-show-todo-tree’)
3587     View TODO items in a _sparse tree_ (see *note Sparse Trees::).
3588     Folds the entire buffer, but shows all TODO items—with not-DONE
3589     state—and the headings hierarchy above them.  With a prefix
3590     argument, or by using ‘C-c / T’, search for a specific TODO.  You
3591     are prompted for the keyword, and you can also give a list of
3592     keywords like ‘KWD1|KWD2|...’ to list entries that match any one of
3593     these keywords.  With a numeric prefix argument N, show the tree
3594     for the Nth keyword in the variable ‘org-todo-keywords’.  With two
3595     prefix arguments, find all TODO states, both un-done and done.
3596
3597‘M-x org-agenda t’ (‘org-todo-list’)
3598     Show the global TODO list.  Collects the TODO items (with not-DONE
3599     states) from all agenda files (see *note Agenda Views::) into a
3600     single buffer.  The new buffer is in Org Agenda mode, which
3601     provides commands to examine and manipulate the TODO entries from
3602     the new buffer (see *note Agenda Commands::).  See *note Global
3603     TODO list::, for more information.
3604
3605‘S-M-<RET>’ (‘org-insert-todo-heading’)
3606     Insert a new TODO entry below the current one.
3607
3608   Changing a TODO state can also trigger tag changes.  See the
3609docstring of the option ‘org-todo-state-tags-triggers’ for details.
3610
3611
3612File: org.info,  Node: TODO Extensions,  Next: Progress Logging,  Prev: TODO Basics,  Up: TODO Items
3613
36145.2 Extended Use of TODO Keywords
3615=================================
3616
3617By default, marked TODO entries have one of only two states: TODO and
3618DONE.  Org mode allows you to classify TODO items in more complex ways
3619with _TODO keywords_ (stored in ‘org-todo-keywords’).  With special
3620setup, the TODO keyword system can work differently in different files.
3621
3622   Note that _tags_ are another way to classify headlines in general and
3623TODO items in particular (see *note Tags::).
3624
3625* Menu:
3626
3627* Workflow states::              From TODO to DONE in steps.
3628* TODO types::                   I do this, Fred does the rest.
3629* Multiple sets in one file::    Mixing it all, still finding your way.
3630* Fast access to TODO states::   Single letter selection of state.
3631* Per-file keywords::            Different files, different requirements.
3632* Faces for TODO keywords::      Highlighting states.
3633* TODO dependencies::            When one task needs to wait for others.
3634
3635
3636File: org.info,  Node: Workflow states,  Next: TODO types,  Up: TODO Extensions
3637
36385.2.1 TODO keywords as workflow states
3639--------------------------------------
3640
3641You can use TODO keywords to indicate different, possibly _sequential_
3642states in the process of working on an item, for example(1):
3643
3644     (setq org-todo-keywords
3645           '((sequence "TODO" "FEEDBACK" "VERIFY" "|" "DONE" "DELEGATED")))
3646
3647   The vertical bar separates the TODO keywords (states that _need
3648action_) from the DONE states (which need _no further action_).  If you
3649do not provide the separator bar, the last state is used as the DONE
3650state.
3651
3652   With this setup, the command ‘C-c C-t’ cycles an entry from ‘TODO’ to
3653‘FEEDBACK’, then to ‘VERIFY’, and finally to ‘DONE’ and ‘DELEGATED’.
3654You may also use a numeric prefix argument to quickly select a specific
3655state.  For example ‘C-3 C-c C-t’ changes the state immediately to
3656‘VERIFY’.  Or you can use ‘S-<RIGHT>’ and ‘S-<LEFT>’ to go forward and
3657backward through the states.  If you define many keywords, you can use
3658in-buffer completion (see *note Completion::) or a special one-key
3659selection scheme (see *note Fast access to TODO states::) to insert
3660these words into the buffer.  Changing a TODO state can be logged with a
3661timestamp, see *note Tracking TODO state changes::, for more
3662information.
3663
3664   ---------- Footnotes ----------
3665
3666   (1) Changing the variable ‘org-todo-keywords’ only becomes effective
3667after restarting Org mode in a buffer.
3668
3669
3670File: org.info,  Node: TODO types,  Next: Multiple sets in one file,  Prev: Workflow states,  Up: TODO Extensions
3671
36725.2.2 TODO keywords as types
3673----------------------------
3674
3675The second possibility is to use TODO keywords to indicate different
3676_types_ of action items.  For example, you might want to indicate that
3677items are for “work” or “home”.  Or, when you work with several people
3678on a single project, you might want to assign action items directly to
3679persons, by using their names as TODO keywords.  This type of
3680functionality is actually much better served by using tags (see *note
3681Tags::), so the TODO implementation is kept just for backward
3682compatibility.
3683
3684   Using TODO types, it would be set up like this:
3685
3686     (setq org-todo-keywords '((type "Fred" "Sara" "Lucy" "|" "DONE")))
3687
3688   In this case, different keywords do not indicate states, but rather
3689different types.  So the normal work flow would be to assign a task to a
3690person, and later to mark it DONE.  Org mode supports this style by
3691adapting the workings of the command ‘C-c C-t’(1).  When used several
3692times in succession, it still cycles through all names, in order to
3693first select the right type for a task.  But when you return to the item
3694after some time and execute ‘C-c C-t’ again, it will switch from any
3695name directly to ‘DONE’.  Use prefix arguments or completion to quickly
3696select a specific name.  You can also review the items of a specific
3697TODO type in a sparse tree by using a numeric prefix to ‘C-c / t’.  For
3698example, to see all things Lucy has to do, you would use ‘C-3 C-c / t’.
3699To collect Lucy’s items from all agenda files into a single buffer, you
3700would use the numeric prefix argument as well when creating the global
3701TODO list: ‘C-3 M-x org-agenda t’.
3702
3703   ---------- Footnotes ----------
3704
3705   (1) This is also true for the ‘t’ command in the agenda buffer.
3706
3707
3708File: org.info,  Node: Multiple sets in one file,  Next: Fast access to TODO states,  Prev: TODO types,  Up: TODO Extensions
3709
37105.2.3 Multiple keyword sets in one file
3711---------------------------------------
3712
3713Sometimes you may want to use different sets of TODO keywords in
3714parallel.  For example, you may want to have the basic TODO/DONE, but
3715also a workflow for bug fixing, and a separate state indicating that an
3716item has been canceled—so it is not DONE, but also does not require
3717action.  Your setup would then look like this:
3718
3719     (setq org-todo-keywords
3720           '((sequence "TODO" "|" "DONE")
3721             (sequence "REPORT" "BUG" "KNOWNCAUSE" "|" "FIXED")
3722             (sequence "|" "CANCELED")))
3723
3724   The keywords should all be different, this helps Org mode keep track
3725of which subsequence should be used for a given entry.  In this setup,
3726‘C-c C-t’ only operates within a sub-sequence, so it switches from
3727‘DONE’ to (nothing) to ‘TODO’, and from ‘FIXED’ to (nothing) to
3728‘REPORT’.  Therefore you need a mechanism to initially select the
3729correct sequence.  In addition to typing a keyword or using completion
3730(see *note Completion::), you may also apply the following commands:
3731
3732‘C-u C-u C-c C-t’
3733‘C-S-<RIGHT>’
3734‘C-S-<LEFT>’
3735     These keys jump from one TODO sub-sequence to the next.  In the
3736     above example, ‘C-u C-u C-c C-t’ or ‘C-S-<RIGHT>’ would jump from
3737     ‘TODO’ or ‘DONE’ to ‘REPORT’, and any of the words in the second
3738     row to ‘CANCELED’.  Note that the ‘C-S-’ key binding conflict with
3739     shift-selection (see *note Conflicts::).
3740
3741‘S-<RIGHT>’
3742‘S-<LEFT>’
3743     ‘S-<LEFT>’ and ‘S-<RIGHT>’ walk through _all_ keywords from all
3744     sub-sequences, so for example ‘S-<RIGHT>’ would switch from ‘DONE’
3745     to ‘REPORT’ in the example above.  For a discussion of the
3746     interaction with shift-selection, see *note Conflicts::.
3747
3748
3749File: org.info,  Node: Fast access to TODO states,  Next: Per-file keywords,  Prev: Multiple sets in one file,  Up: TODO Extensions
3750
37515.2.4 Fast access to TODO states
3752--------------------------------
3753
3754If you would like to quickly change an entry to an arbitrary TODO state
3755instead of cycling through the states, you can set up keys for
3756single-letter access to the states.  This is done by adding the
3757selection character after each keyword, in parentheses(1).  For example:
3758
3759     (setq org-todo-keywords
3760           '((sequence "TODO(t)" "|" "DONE(d)")
3761             (sequence "REPORT(r)" "BUG(b)" "KNOWNCAUSE(k)" "|" "FIXED(f)")
3762             (sequence "|" "CANCELED(c)")))
3763
3764   If you then press ‘C-c C-t’ followed by the selection key, the entry
3765is switched to this state.  ‘<SPC>’ can be used to remove any TODO
3766keyword from an entry(2).
3767
3768   ---------- Footnotes ----------
3769
3770   (1) All characters are allowed except ‘@’, ‘^’ and ‘!’, which have a
3771special meaning here.
3772
3773   (2) Check also the variable ‘org-fast-tag-selection-include-todo’, it
3774allows you to change the TODO state through the tags interface (see
3775*note Setting Tags::), in case you like to mingle the two concepts.
3776Note that this means you need to come up with unique keys across both
3777sets of keywords.
3778
3779
3780File: org.info,  Node: Per-file keywords,  Next: Faces for TODO keywords,  Prev: Fast access to TODO states,  Up: TODO Extensions
3781
37825.2.5 Setting up keywords for individual files
3783----------------------------------------------
3784
3785It can be very useful to use different aspects of the TODO mechanism in
3786different files.  For file-local settings, you need to add special lines
3787to the file which set the keywords and interpretation for that file
3788only.  For example, to set one of the two examples discussed above, you
3789need one of the following lines, starting in column zero anywhere in the
3790file:
3791
3792     #+TODO: TODO FEEDBACK VERIFY | DONE CANCELED
3793
3794   You may also write ‘#+SEQ_TODO’ to be explicit about the
3795interpretation, but it means the same as ‘#+TODO’, or
3796
3797     #+TYP_TODO: Fred Sara Lucy Mike | DONE
3798
3799   A setup for using several sets in parallel would be:
3800
3801     #+TODO: TODO | DONE
3802     #+TODO: REPORT BUG KNOWNCAUSE | FIXED
3803     #+TODO: | CANCELED
3804
3805   To make sure you are using the correct keyword, type ‘#+’ into the
3806buffer and then use ‘M-<TAB>’ to complete it (see *note Completion::).
3807
3808   Remember that the keywords after the vertical bar—or the last keyword
3809if no bar is there—must always mean that the item is DONE, although you
3810may use a different word.  After changing one of these lines, use ‘C-c
3811C-c’ with point still in the line to make the changes known to Org
3812mode(1).
3813
3814   ---------- Footnotes ----------
3815
3816   (1) Org mode parses these lines only when Org mode is activated after
3817visiting a file.  ‘C-c C-c’ with point in a line starting with ‘#+’ is
3818simply restarting Org mode for the current buffer.
3819
3820
3821File: org.info,  Node: Faces for TODO keywords,  Next: TODO dependencies,  Prev: Per-file keywords,  Up: TODO Extensions
3822
38235.2.6 Faces for TODO keywords
3824-----------------------------
3825
3826Org mode highlights TODO keywords with special faces: ‘org-todo’ for
3827keywords indicating that an item still has to be acted upon, and
3828‘org-done’ for keywords indicating that an item is finished.  If you are
3829using more than two different states, you might want to use special
3830faces for some of them.  This can be done using the variable
3831‘org-todo-keyword-faces’.  For example:
3832
3833     (setq org-todo-keyword-faces
3834           '(("TODO" . org-warning) ("STARTED" . "yellow")
3835             ("CANCELED" . (:foreground "blue" :weight bold))))
3836
3837   While using a list with face properties as shown for ‘CANCELED’
3838_should_ work, this does not always seem to be the case.  If necessary,
3839define a special face and use that.  A string is interpreted as a color.
3840The variable ‘org-faces-easy-properties’ determines if that color is
3841interpreted as a foreground or a background color.
3842
3843
3844File: org.info,  Node: TODO dependencies,  Prev: Faces for TODO keywords,  Up: TODO Extensions
3845
38465.2.7 TODO dependencies
3847-----------------------
3848
3849The structure of Org files—hierarchy and lists—makes it easy to define
3850TODO dependencies.  Usually, a parent TODO task should not be marked as
3851done until all TODO subtasks, or children tasks, are marked as done.
3852Sometimes there is a logical sequence to (sub)tasks, so that one subtask
3853cannot be acted upon before all siblings above it have been marked as
3854done.  If you customize the variable ‘org-enforce-todo-dependencies’,
3855Org blocks entries from changing state to DONE while they have TODO
3856children that are not DONE.  Furthermore, if an entry has a property
3857‘ORDERED’, each of its TODO children is blocked until all earlier
3858siblings are marked as done.  Here is an example:
3859
3860     * TODO Blocked until (two) is done
3861     ** DONE one
3862     ** TODO two
3863
3864     * Parent
3865     :PROPERTIES:
3866     :ORDERED:  t
3867     :END:
3868     ** TODO a
3869     ** TODO b, needs to wait for (a)
3870     ** TODO c, needs to wait for (a) and (b)
3871
3872   You can ensure an entry is never blocked by using the ‘NOBLOCKING’
3873property (see *note Properties and Columns::):
3874
3875     * This entry is never blocked
3876     :PROPERTIES:
3877     :NOBLOCKING: t
3878     :END:
3879
3880‘C-c C-x o’ (‘org-toggle-ordered-property’)
3881     Toggle the ‘ORDERED’ property of the current entry.  A property is
3882     used for this behavior because this should be local to the current
3883     entry, not inherited from entries above like a tag (see *note
3884     Tags::).  However, if you would like to _track_ the value of this
3885     property with a tag for better visibility, customize the variable
3886     ‘org-track-ordered-property-with-tag’.
3887
3888‘C-u C-u C-u C-c C-t’
3889     Change TODO state, regardless of any state blocking.
3890
3891   If you set the variable ‘org-agenda-dim-blocked-tasks’, TODO entries
3892that cannot be marked as done because of unmarked children are shown in
3893a dimmed font or even made invisible in agenda views (see *note Agenda
3894Views::).
3895
3896   You can also block changes of TODO states by using checkboxes (see
3897*note Checkboxes::).  If you set the variable
3898‘org-enforce-todo-checkbox-dependencies’, an entry that has unchecked
3899checkboxes is blocked from switching to DONE.
3900
3901   If you need more complex dependency structures, for example
3902dependencies between entries in different trees or files, check out the
3903contributed module ‘org-depend.el’.
3904
3905
3906File: org.info,  Node: Progress Logging,  Next: Priorities,  Prev: TODO Extensions,  Up: TODO Items
3907
39085.3 Progress Logging
3909====================
3910
3911To record a timestamp and a note when changing a TODO state, call the
3912command ‘org-todo’ with a prefix argument.
3913
3914‘C-u C-c C-t’ (‘org-todo’)
3915     Prompt for a note and record a the time of the TODO state change.
3916     The note is inserted as a list item below the headline, but can
3917     also be placed into a drawer, see *note Tracking TODO state
3918     changes::.
3919
3920   If you want to be more systematic, Org mode can automatically record
3921a timestamp and optionally a note when you mark a TODO item as DONE, or
3922even each time you change the state of a TODO item.  This system is
3923highly configurable, settings can be on a per-keyword basis and can be
3924localized to a file or even a subtree.  For information on how to clock
3925working time for a task, see *note Clocking Work Time::.
3926
3927* Menu:
3928
3929* Closing items::                When was this entry marked as done?
3930* Tracking TODO state changes::  When did the status change?
3931* Tracking your habits::         How consistent have you been?
3932
3933
3934File: org.info,  Node: Closing items,  Next: Tracking TODO state changes,  Up: Progress Logging
3935
39365.3.1 Closing items
3937-------------------
3938
3939The most basic automatic logging is to keep track of _when_ a certain
3940TODO item was marked as done.  This can be achieved with(1)
3941
3942     (setq org-log-done 'time)
3943
3944Then each time you turn an entry from a TODO (not-done) state into any
3945of the DONE states, a line ‘CLOSED: [timestamp]’ is inserted just after
3946the headline.  If you turn the entry back into a TODO item through
3947further state cycling, that line is removed again.  If you turn the
3948entry back to a non-TODO state (by pressing ‘C-c C-t <SPC>’ for
3949example), that line is also removed, unless you set
3950‘org-closed-keep-when-no-todo’ to non-‘nil’.  If you want to record a
3951note along with the timestamp, use(2)
3952
3953     (setq org-log-done 'note)
3954
3955You are then prompted for a note, and that note is stored below the
3956entry with a ‘Closing Note’ heading.
3957
3958   ---------- Footnotes ----------
3959
3960   (1) The corresponding in-buffer setting is: ‘#+STARTUP: logdone’.
3961
3962   (2) The corresponding in-buffer setting is: ‘#+STARTUP: lognotedone’.
3963
3964
3965File: org.info,  Node: Tracking TODO state changes,  Next: Tracking your habits,  Prev: Closing items,  Up: Progress Logging
3966
39675.3.2 Tracking TODO state changes
3968---------------------------------
3969
3970You might want to automatically keep track of when a state change
3971occurred and maybe take a note about this change.  You can either record
3972just a timestamp, or a time-stamped note.  These records are inserted
3973after the headline as an itemized list, newest first(1).  When taking a
3974lot of notes, you might want to get the notes out of the way into a
3975drawer (see *note Drawers::).  Customize the variable
3976‘org-log-into-drawer’ to get this behavior—the recommended drawer for
3977this is called ‘LOGBOOK’(2).  You can also overrule the setting of this
3978variable for a subtree by setting a ‘LOG_INTO_DRAWER’ property.
3979
3980   Since it is normally too much to record a note for every state, Org
3981mode expects configuration on a per-keyword basis for this.  This is
3982achieved by adding special markers ‘!’ (for a timestamp) or ‘@’ (for a
3983note with timestamp) in parentheses after each keyword.  For example,
3984with the setting
3985
3986     (setq org-todo-keywords
3987           '((sequence "TODO(t)" "WAIT(w@/!)" "|" "DONE(d!)" "CANCELED(c@)")))
3988
3989To record a timestamp without a note for TODO keywords configured with
3990‘@’, just type ‘C-c C-c’ to enter a blank note when prompted.
3991
3992   You not only define global TODO keywords and fast access keys, but
3993also request that a time is recorded when the entry is set to ‘DONE’,
3994and that a note is recorded when switching to ‘WAIT’ or ‘CANCELED’(3).
3995The setting for ‘WAIT’ is even more special: the ‘!’ after the slash
3996means that in addition to the note taken when entering the state, a
3997timestamp should be recorded when _leaving_ the ‘WAIT’ state, if and
3998only if the _target_ state does not configure logging for entering it.
3999So it has no effect when switching from ‘WAIT’ to ‘DONE’, because ‘DONE’
4000is configured to record a timestamp only.  But when switching from
4001‘WAIT’ back to ‘TODO’, the ‘/!’ in the ‘WAIT’ setting now triggers a
4002timestamp even though ‘TODO’ has no logging configured.
4003
4004   You can use the exact same syntax for setting logging preferences
4005local to a buffer:
4006
4007     #+TODO: TODO(t) WAIT(w@/!) | DONE(d!) CANCELED(c@)
4008
4009   In order to define logging settings that are local to a subtree or a
4010single item, define a ‘LOGGING’ property in this entry.  Any non-empty
4011‘LOGGING’ property resets all logging settings to ‘nil’.  You may then
4012turn on logging for this specific tree using ‘STARTUP’ keywords like
4013‘lognotedone’ or ‘logrepeat’, as well as adding state specific settings
4014like ‘TODO(!)’.  For example:
4015
4016     * TODO Log each state with only a time
4017       :PROPERTIES:
4018       :LOGGING: TODO(!) WAIT(!) DONE(!) CANCELED(!)
4019       :END:
4020     * TODO Only log when switching to WAIT, and when repeating
4021       :PROPERTIES:
4022       :LOGGING: WAIT(@) logrepeat
4023       :END:
4024     * TODO No logging at all
4025       :PROPERTIES:
4026       :LOGGING: nil
4027       :END:
4028
4029   ---------- Footnotes ----------
4030
4031   (1) See the variable ‘org-log-states-order-reversed’.
4032
4033   (2) Note that the ‘LOGBOOK’ drawer is unfolded when pressing ‘<SPC>’
4034in the agenda to show an entry—use ‘C-u <SPC>’ to keep it folded here.
4035
4036   (3) It is possible that Org mode records two timestamps when you are
4037using both ‘org-log-done’ and state change logging.  However, it never
4038prompts for two notes: if you have configured both, the state change
4039recording note takes precedence and cancel the closing note.
4040
4041
4042File: org.info,  Node: Tracking your habits,  Prev: Tracking TODO state changes,  Up: Progress Logging
4043
40445.3.3 Tracking your habits
4045--------------------------
4046
4047Org has the ability to track the consistency of a special category of
4048TODO, called “habits.” To use habits, you have to enable the ‘habits’
4049module by customizing the variable ‘org-modules’.
4050
4051   A habit has the following properties:
4052
4053  1. The habit is a TODO item, with a TODO keyword representing an open
4054     state.
4055
4056  2. The property ‘STYLE’ is set to the value ‘habit’ (see *note
4057     Properties and Columns::).
4058
4059  3. The TODO has a scheduled date, usually with a ‘.+’ style repeat
4060     interval.  A ‘++’ style may be appropriate for habits with time
4061     constraints, e.g., must be done on weekends, or a ‘+’ style for an
4062     unusual habit that can have a backlog, e.g., weekly reports.
4063
4064  4. The TODO may also have minimum and maximum ranges specified by
4065     using the syntax ‘.+2d/3d’, which says that you want to do the task
4066     at least every three days, but at most every two days.
4067
4068  5. State logging for the DONE state is enabled (see *note Tracking
4069     TODO state changes::), in order for historical data to be
4070     represented in the consistency graph.  If it is not enabled it is
4071     not an error, but the consistency graphs are largely meaningless.
4072
4073   To give you an idea of what the above rules look like in action,
4074here’s an actual habit with some history:
4075
4076     ** TODO Shave
4077        SCHEDULED: <2009-10-17 Sat .+2d/4d>
4078        :PROPERTIES:
4079        :STYLE:    habit
4080        :LAST_REPEAT: [2009-10-19 Mon 00:36]
4081        :END:
4082        - State "DONE"       from "TODO"       [2009-10-15 Thu]
4083        - State "DONE"       from "TODO"       [2009-10-12 Mon]
4084        - State "DONE"       from "TODO"       [2009-10-10 Sat]
4085        - State "DONE"       from "TODO"       [2009-10-04 Sun]
4086        - State "DONE"       from "TODO"       [2009-10-02 Fri]
4087        - State "DONE"       from "TODO"       [2009-09-29 Tue]
4088        - State "DONE"       from "TODO"       [2009-09-25 Fri]
4089        - State "DONE"       from "TODO"       [2009-09-19 Sat]
4090        - State "DONE"       from "TODO"       [2009-09-16 Wed]
4091        - State "DONE"       from "TODO"       [2009-09-12 Sat]
4092
4093   What this habit says is: I want to shave at most every 2 days—given
4094by the ‘SCHEDULED’ date and repeat interval—and at least every 4 days.
4095If today is the 15th, then the habit first appears in the agenda (see
4096*note Agenda Views::) on Oct 17, after the minimum of 2 days has
4097elapsed, and will appear overdue on Oct 19, after four days have
4098elapsed.
4099
4100   What’s really useful about habits is that they are displayed along
4101with a consistency graph, to show how consistent you’ve been at getting
4102that task done in the past.  This graph shows every day that the task
4103was done over the past three weeks, with colors for each day.  The
4104colors used are:
4105
4106Blue
4107     If the task was not to be done yet on that day.
4108Green
4109     If the task could have been done on that day.
4110Yellow
4111     If the task was going to be overdue the next day.
4112Red
4113     If the task was overdue on that day.
4114
4115   In addition to coloring each day, the day is also marked with an
4116asterisk if the task was actually done that day, and an exclamation mark
4117to show where the current day falls in the graph.
4118
4119   There are several configuration variables that can be used to change
4120the way habits are displayed in the agenda.
4121
4122‘org-habit-graph-column’
4123     The buffer column at which the consistency graph should be drawn.
4124     This overwrites any text in that column, so it is a good idea to
4125     keep your habits’ titles brief and to the point.
4126
4127‘org-habit-preceding-days’
4128     The amount of history, in days before today, to appear in
4129     consistency graphs.
4130
4131‘org-habit-following-days’
4132     The number of days after today that appear in consistency graphs.
4133
4134‘org-habit-show-habits-only-for-today’
4135     If non-‘nil’, only show habits in today’s agenda view.  The default
4136     value is ‘t’.  Pressing ‘C-u K’ in the agenda toggles this
4137     variable.
4138
4139   Lastly, pressing ‘K’ in the agenda buffer causes habits to
4140temporarily be disabled and do not appear at all.  Press ‘K’ again to
4141bring them back.  They are also subject to tag filtering, if you have
4142habits which should only be done in certain contexts, for example.
4143
4144
4145File: org.info,  Node: Priorities,  Next: Breaking Down Tasks,  Prev: Progress Logging,  Up: TODO Items
4146
41475.4 Priorities
4148==============
4149
4150If you use Org mode extensively, you may end up with enough TODO items
4151that it starts to make sense to prioritize them.  Prioritizing can be
4152done by placing a _priority cookie_ into the headline of a TODO item
4153right after the TODO keyword, like this:
4154
4155     *** TODO [#A] Write letter to Sam Fortune
4156
4157   By default, Org mode supports three priorities: ‘A’, ‘B’, and ‘C’.
4158‘A’ is the highest priority.  An entry without a cookie is treated as
4159equivalent if it had priority ‘B’.  Priorities make a difference only
4160for sorting in the agenda (see *note Weekly/daily agenda::).  Outside
4161the agenda, they have no inherent meaning to Org mode.  The cookies are
4162displayed with the face defined by the variable ‘org-priority-faces’,
4163which can be customized.
4164
4165   You can also use numeric values for priorities, such as
4166
4167     *** TODO [#1] Write letter to Sam Fortune
4168
4169   When using numeric priorities, you need to set
4170‘org-priority-highest’, ‘org-priority-lowest’ and ‘org-priority-default’
4171to integers, which must all be strictly inferior to 65.
4172
4173   Priorities can be attached to any outline node; they do not need to
4174be TODO items.
4175
4176‘C-c ,’ (‘org-priority’)
4177     Set the priority of the current headline.  The command prompts for
4178     a priority character ‘A’, ‘B’ or ‘C’.  When you press ‘<SPC>’
4179     instead, the priority cookie, if one is set, is removed from the
4180     headline.  The priorities can also be changed “remotely” from the
4181     agenda buffer with the ‘,’ command (see *note Agenda Commands::).
4182
4183‘S-<UP>’ (‘org-priority-up’)
4184‘S-<DOWN>’ (‘org-priority-down’)
4185     Increase/decrease the priority of the current headline(1).  Note
4186     that these keys are also used to modify timestamps (see *note
4187     Creating Timestamps::).  See also *note Conflicts::, for a
4188     discussion of the interaction with shift-selection.
4189
4190   You can change the range of allowed priorities by setting the
4191variables ‘org-priority-highest’, ‘org-priority-lowest’, and
4192‘org-priority-default’.  For an individual buffer, you may set these
4193values (highest, lowest, default) like this (please make sure that the
4194highest priority is earlier in the alphabet than the lowest priority):
4195
4196     #+PRIORITIES: A C B
4197
4198   Or, using numeric values:
4199
4200     #+PRIORITIES: 1 10 5
4201
4202   ---------- Footnotes ----------
4203
4204   (1) See also the option ‘org-priority-start-cycle-with-default’.
4205
4206
4207File: org.info,  Node: Breaking Down Tasks,  Next: Checkboxes,  Prev: Priorities,  Up: TODO Items
4208
42095.5 Breaking Down Tasks into Subtasks
4210=====================================
4211
4212It is often advisable to break down large tasks into smaller, manageable
4213subtasks.  You can do this by creating an outline tree below a TODO
4214item, with detailed subtasks on the tree(1).  To keep an overview of the
4215fraction of subtasks that have already been marked as done, insert
4216either ‘[/]’ or ‘[%]’ anywhere in the headline.  These cookies are
4217updated each time the TODO status of a child changes, or when pressing
4218‘C-c C-c’ on the cookie.  For example:
4219
4220     * Organize Party [33%]
4221     ** TODO Call people [1/2]
4222     *** TODO Peter
4223     *** DONE Sarah
4224     ** TODO Buy food
4225     ** DONE Talk to neighbor
4226
4227   If a heading has both checkboxes and TODO children below it, the
4228meaning of the statistics cookie become ambiguous.  Set the property
4229‘COOKIE_DATA’ to either ‘checkbox’ or ‘todo’ to resolve this issue.
4230
4231   If you would like to have the statistics cookie count any TODO
4232entries in the subtree (not just direct children), configure the
4233variable ‘org-hierarchical-todo-statistics’.  To do this for a single
4234subtree, include the word ‘recursive’ into the value of the
4235‘COOKIE_DATA’ property.
4236
4237     * Parent capturing statistics [2/20]
4238       :PROPERTIES:
4239       :COOKIE_DATA: todo recursive
4240       :END:
4241
4242   If you would like a TODO entry to automatically change to DONE when
4243all children are done, you can use the following setup:
4244
4245     (defun org-summary-todo (n-done n-not-done)
4246       "Switch entry to DONE when all subentries are done, to TODO otherwise."
4247       (let (org-log-done org-log-states)   ; turn off logging
4248         (org-todo (if (= n-not-done 0) "DONE" "TODO"))))
4249
4250     (add-hook 'org-after-todo-statistics-hook 'org-summary-todo)
4251
4252   Another possibility is the use of checkboxes to identify (a hierarchy
4253of) a large number of subtasks (see *note Checkboxes::).
4254
4255   ---------- Footnotes ----------
4256
4257   (1) To keep subtasks out of the global TODO list, see the option
4258‘org-agenda-todo-list-sublevels’.
4259
4260
4261File: org.info,  Node: Checkboxes,  Prev: Breaking Down Tasks,  Up: TODO Items
4262
42635.6 Checkboxes
4264==============
4265
4266Every item in a plain list(1) (see *note Plain Lists::) can be made into
4267a checkbox by starting it with the string ‘[ ]’.  This feature is
4268similar to TODO items (see *note TODO Items::), but is more lightweight.
4269Checkboxes are not included into the global TODO list, so they are often
4270great to split a task into a number of simple steps.  Or you can use
4271them in a shopping list.
4272
4273   Here is an example of a checkbox list.
4274
4275     * TODO Organize party [2/4]
4276       - [-] call people [1/3]
4277         - [ ] Peter
4278         - [X] Sarah
4279         - [ ] Sam
4280       - [X] order food
4281       - [ ] think about what music to play
4282       - [X] talk to the neighbors
4283
4284   Checkboxes work hierarchically, so if a checkbox item has children
4285that are checkboxes, toggling one of the children checkboxes makes the
4286parent checkbox reflect if none, some, or all of the children are
4287checked.
4288
4289   The ‘[2/4]’ and ‘[1/3]’ in the first and second line are cookies
4290indicating how many checkboxes present in this entry have been checked
4291off, and the total number of checkboxes present.  This can give you an
4292idea on how many checkboxes remain, even without opening a folded entry.
4293The cookies can be placed into a headline or into (the first line of) a
4294plain list item.  Each cookie covers checkboxes of direct children
4295structurally below the headline/item on which the cookie appears(2).
4296You have to insert the cookie yourself by typing either ‘[/]’ or ‘[%]’.
4297With ‘[/]’ you get an ‘n out of m’ result, as in the examples above.
4298With ‘[%]’ you get information about the percentage of checkboxes
4299checked (in the above example, this would be ‘[50%]’ and ‘[33%]’,
4300respectively).  In a headline, a cookie can count either checkboxes
4301below the heading or TODO states of children, and it displays whatever
4302was changed last.  Set the property ‘COOKIE_DATA’ to either ‘checkbox’
4303or ‘todo’ to resolve this issue.
4304
4305   If the current outline node has an ‘ORDERED’ property, checkboxes
4306must be checked off in sequence, and an error is thrown if you try to
4307check off a box while there are unchecked boxes above it.
4308
4309   The following commands work with checkboxes:
4310
4311‘C-c C-c’ (‘org-toggle-checkbox’)
4312     Toggle checkbox status or—with prefix argument—checkbox presence at
4313     point.  With a single prefix argument, add an empty checkbox or
4314     remove the current one(3).  With a double prefix argument, set it
4315     to ‘[-]’, which is considered to be an intermediate state.
4316
4317‘C-c C-x C-b’ (‘org-toggle-checkbox’)
4318     Toggle checkbox status or—with prefix argument—checkbox presence at
4319     point.  With double prefix argument, set it to ‘[-]’, which is
4320     considered to be an intermediate state.
4321
4322        • If there is an active region, toggle the first checkbox in the
4323          region and set all remaining boxes to the same status as the
4324          first.  With a prefix argument, add or remove the checkbox for
4325          all items in the region.
4326
4327        • If point is in a headline, toggle checkboxes in the region
4328          between this headline and the next—so _not_ the entire
4329          subtree.
4330
4331        • If there is no active region, just toggle the checkbox at
4332          point.
4333
4334‘C-c C-x C-r’ (‘org-toggle-radio-button’)
4335     Toggle checkbox status by using the checkbox of the item at point
4336     as a radio button: when the checkbox is turned on, all other
4337     checkboxes on the same level will be turned off.  With a universal
4338     prefix argument, toggle the presence of the checkbox.  With a
4339     double prefix argument, set it to ‘[-]’.
4340
4341     ‘C-c C-c’ can be told to consider checkboxes as radio buttons by
4342     setting ‘#+ATTR_ORG: :radio t’ right before the list or by calling
4343     ‘M-x org-list-checkbox-radio-mode’ to activate this minor mode.
4344
4345‘M-S-<RET>’ (‘org-insert-todo-heading’)
4346     Insert a new item with a checkbox.  This works only if point is
4347     already in a plain list item (see *note Plain Lists::).
4348
4349‘C-c C-x o’ (‘org-toggle-ordered-property’)
4350     Toggle the ‘ORDERED’ property of the entry, to toggle if checkboxes
4351     must be checked off in sequence.  A property is used for this
4352     behavior because this should be local to the current entry, not
4353     inherited like a tag.  However, if you would like to _track_ the
4354     value of this property with a tag for better visibility, customize
4355     ‘org-track-ordered-property-with-tag’.
4356
4357‘C-c #’ (‘org-update-statistics-cookies’)
4358     Update the statistics cookie in the current outline entry.  When
4359     called with a ‘C-u’ prefix, update the entire file.  Checkbox
4360     statistic cookies are updated automatically if you toggle
4361     checkboxes with ‘C-c C-c’ and make new ones with ‘M-S-<RET>’.  TODO
4362     statistics cookies update when changing TODO states.  If you delete
4363     boxes/entries or add/change them by hand, use this command to get
4364     things back into sync.
4365
4366   ---------- Footnotes ----------
4367
4368   (1) With the exception of description lists.  But you can allow it by
4369modifying ‘org-list-automatic-rules’ accordingly.
4370
4371   (2) Set the variable ‘org-hierarchical-checkbox-statistics’ if you
4372want such cookies to count all checkboxes below the cookie, not just
4373those belonging to direct children.
4374
4375   (3) ‘C-u C-c C-c’ on the _first_ item of a list with no checkbox adds
4376checkboxes to the rest of the list.
4377
4378
4379File: org.info,  Node: Tags,  Next: Properties and Columns,  Prev: TODO Items,  Up: Top
4380
43816 Tags
4382******
4383
4384An excellent way to implement labels and contexts for cross-correlating
4385information is to assign _tags_ to headlines.  Org mode has extensive
4386support for tags.
4387
4388   Every headline can contain a list of tags; they occur at the end of
4389the headline.  Tags are normal words containing letters, numbers, ‘_’,
4390and ‘@’.  Tags must be preceded and followed by a single colon, e.g.,
4391‘:work:’.  Several tags can be specified, as in ‘:work:urgent:’.  Tags
4392by default are in bold face with the same color as the headline.  You
4393may specify special faces for specific tags using the variable
4394‘org-tag-faces’, in much the same way as you can for TODO keywords (see
4395*note Faces for TODO keywords::).
4396
4397* Menu:
4398
4399* Tag Inheritance::              Tags use the tree structure of an outline.
4400* Setting Tags::                 How to assign tags to a headline.
4401* Tag Hierarchy::                Create a hierarchy of tags.
4402* Tag Searches::                 Searching for combinations of tags.
4403
4404
4405File: org.info,  Node: Tag Inheritance,  Next: Setting Tags,  Up: Tags
4406
44076.1 Tag Inheritance
4408===================
4409
4410_Tags_ make use of the hierarchical structure of outline trees.  If a
4411heading has a certain tag, all subheadings inherit the tag as well.  For
4412example, in the list
4413
4414     * Meeting with the French group      :work:
4415     ** Summary by Frank                  :boss:notes:
4416     *** TODO Prepare slides for him      :action:
4417
4418the final heading has the tags ‘work’, ‘boss’, ‘notes’, and ‘action’
4419even though the final heading is not explicitly marked with those tags.
4420You can also set tags that all entries in a file should inherit just as
4421if these tags were defined in a hypothetical level zero that surrounds
4422the entire file.  Use a line like this(1)
4423
4424     #+FILETAGS: :Peter:Boss:Secret:
4425
4426   To limit tag inheritance to specific tags, or to turn it off
4427entirely, use the variables ‘org-use-tag-inheritance’ and
4428‘org-tags-exclude-from-inheritance’.
4429
4430   When a headline matches during a tags search while tag inheritance is
4431turned on, all the sublevels in the same tree—for a simple match
4432form—match as well(2).  The list of matches may then become very long.
4433If you only want to see the first tags match in a subtree, configure the
4434variable ‘org-tags-match-list-sublevels’ (not recommended).
4435
4436   Tag inheritance is relevant when the agenda search tries to match a
4437tag, either in the ‘tags’ or ‘tags-todo’ agenda types.  In other agenda
4438types, ‘org-use-tag-inheritance’ has no effect.  Still, you may want to
4439have your tags correctly set in the agenda, so that tag filtering works
4440fine, with inherited tags.  Set ‘org-agenda-use-tag-inheritance’ to
4441control this: the default value includes all agenda types, but setting
4442this to ‘nil’ can really speed up agenda generation.
4443
4444   ---------- Footnotes ----------
4445
4446   (1) As with all these in-buffer settings, pressing ‘C-c C-c’
4447activates any changes in the line.
4448
4449   (2) This is only true if the search does not involve more complex
4450tests including properties (see *note Property Searches::).
4451
4452
4453File: org.info,  Node: Setting Tags,  Next: Tag Hierarchy,  Prev: Tag Inheritance,  Up: Tags
4454
44556.2 Setting Tags
4456================
4457
4458Tags can simply be typed into the buffer at the end of a headline.
4459After a colon, ‘M-<TAB>’ offers completion on tags.  There is also a
4460special command for inserting tags:
4461
4462‘C-c C-q’ (‘org-set-tags-command’)
4463     Enter new tags for the current headline.  Org mode either offers
4464     completion or a special single-key interface for setting tags, see
4465     below.  After pressing ‘<RET>’, the tags are inserted and aligned
4466     to ‘org-tags-column’.  When called with a ‘C-u’ prefix, all tags in
4467     the current buffer are aligned to that column, just to make things
4468     look nice.  Tags are automatically realigned after promotion,
4469     demotion, and TODO state changes (see *note TODO Basics::).
4470
4471‘C-c C-c’ (‘org-set-tags-command’)
4472     When point is in a headline, this does the same as ‘C-c C-q’.
4473
4474   Org supports tag insertion based on a _list of tags_.  By default
4475this list is constructed dynamically, containing all tags currently used
4476in the buffer(1).  You may also globally specify a hard list of tags
4477with the variable ‘org-tag-alist’.  Finally you can set the default tags
4478for a given file using the ‘TAGS’ keyword, like
4479
4480     #+TAGS: @work @home @tennisclub
4481     #+TAGS: laptop car pc sailboat
4482
4483   If you have globally defined your preferred set of tags using the
4484variable ‘org-tag-alist’, but would like to use a dynamic tag list in a
4485specific file, add an empty ‘TAGS’ keyword to that file:
4486
4487     #+TAGS:
4488
4489   If you have a preferred set of tags that you would like to use in
4490every file, in addition to those defined on a per-file basis by ‘TAGS’
4491keyword, then you may specify a list of tags with the variable
4492‘org-tag-persistent-alist’.  You may turn this off on a per-file basis
4493by adding a ‘STARTUP’ keyword to that file:
4494
4495     #+STARTUP: noptag
4496
4497   By default Org mode uses the standard minibuffer completion
4498facilities for entering tags.  However, it also implements another,
4499quicker, tag selection method called _fast tag selection_.  This allows
4500you to select and deselect tags with just a single key press.  For this
4501to work well you should assign unique letters to most of your commonly
4502used tags.  You can do this globally by configuring the variable
4503‘org-tag-alist’ in your Emacs init file.  For example, you may find the
4504need to tag many items in different files with ‘@home’.  In this case
4505you can set something like:
4506
4507     (setq org-tag-alist '(("@work" . ?w) ("@home" . ?h) ("laptop" . ?l)))
4508
4509   If the tag is only relevant to the file you are working on, then you
4510can instead set the ‘TAGS’ keyword as:
4511
4512     #+TAGS: @work(w)  @home(h)  @tennisclub(t)  laptop(l)  pc(p)
4513
4514   The tags interface shows the available tags in a splash window.  If
4515you want to start a new line after a specific tag, insert ‘\n’ into the
4516tag list
4517
4518     #+TAGS: @work(w) @home(h) @tennisclub(t) \n laptop(l) pc(p)
4519
4520or write them in two lines:
4521
4522     #+TAGS: @work(w)  @home(h)  @tennisclub(t)
4523     #+TAGS: laptop(l)  pc(p)
4524
4525   You can also group together tags that are mutually exclusive by using
4526braces, as in:
4527
4528     #+TAGS: { @work(w)  @home(h)  @tennisclub(t) }  laptop(l)  pc(p)
4529
4530you indicate that at most one of ‘@work’, ‘@home’, and ‘@tennisclub’
4531should be selected.  Multiple such groups are allowed.
4532
4533   Do not forget to press ‘C-c C-c’ with point in one of these lines to
4534activate any changes.
4535
4536   To set these mutually exclusive groups in the variable
4537‘org-tags-alist’, you must use the dummy tags ‘:startgroup’ and
4538‘:endgroup’ instead of the braces.  Similarly, you can use ‘:newline’ to
4539indicate a line break.  The previous example would be set globally by
4540the following configuration:
4541
4542     (setq org-tag-alist '((:startgroup . nil)
4543                           ("@work" . ?w) ("@home" . ?h)
4544                           ("@tennisclub" . ?t)
4545                           (:endgroup . nil)
4546                           ("laptop" . ?l) ("pc" . ?p)))
4547
4548   If at least one tag has a selection key then pressing ‘C-c C-c’
4549automatically presents you with a special interface, listing inherited
4550tags, the tags of the current headline, and a list of all valid tags
4551with corresponding keys(2).
4552
4553   Pressing keys assigned to tags adds or removes them from the list of
4554tags in the current line.  Selecting a tag in a group of mutually
4555exclusive tags turns off any other tag from that group.
4556
4557   In this interface, you can also use the following special keys:
4558
4559‘<TAB>’
4560     Enter a tag in the minibuffer, even if the tag is not in the
4561     predefined list.  You can complete on all tags present in the
4562     buffer.  You can also add several tags: just separate them with a
4563     comma.
4564
4565‘<SPC>’
4566     Clear all tags for this line.
4567
4568‘<RET>’
4569     Accept the modified set.
4570
4571‘C-g’
4572     Abort without installing changes.
4573
4574‘q’
4575     If ‘q’ is not assigned to a tag, it aborts like ‘C-g’.
4576
4577‘!’
4578     Turn off groups of mutually exclusive tags.  Use this to (as an
4579     exception) assign several tags from such a group.
4580
4581‘C-c’
4582     Toggle auto-exit after the next change (see below).  If you are
4583     using expert mode, the first ‘C-c’ displays the selection window.
4584
4585   This method lets you assign tags to a headline with very few keys.
4586With the above setup, you could clear the current tags and set ‘@home’,
4587‘laptop’ and ‘pc’ tags with just the following keys: ‘C-c C-c <SPC> h l
4588p <RET>’.  Switching from ‘@home’ to ‘@work’ would be done with ‘C-c C-c
4589w <RET>’ or alternatively with ‘C-c C-c C-c w’.  Adding the
4590non-predefined tag ‘sarah’ could be done with ‘C-c C-c <TAB> s a r a h
4591<RET>’.
4592
4593   If you find that most of the time you need only a single key press to
4594modify your list of tags, set the variable
4595‘org-fast-tag-selection-single-key’.  Then you no longer have to press
4596‘<RET>’ to exit fast tag selection—it exits after the first change.  If
4597you then occasionally need more keys, press ‘C-c’ to turn off auto-exit
4598for the current tag selection process (in effect: start selection with
4599‘C-c C-c C-c’ instead of ‘C-c C-c’).  If you set the variable to the
4600value ‘expert’, the special window is not even shown for single-key tag
4601selection, it comes up only when you press an extra ‘C-c’.
4602
4603   ---------- Footnotes ----------
4604
4605   (1) To extend this default list to all tags used in all agenda files
4606(see *note Agenda Views::), customize the variable
4607‘org-complete-tags-always-offer-all-agenda-tags’.
4608
4609   (2) Keys are automatically assigned to tags that have no configured
4610keys.
4611
4612
4613File: org.info,  Node: Tag Hierarchy,  Next: Tag Searches,  Prev: Setting Tags,  Up: Tags
4614
46156.3 Tag Hierarchy
4616=================
4617
4618Tags can be defined in hierarchies.  A tag can be defined as a _group
4619tag_ for a set of other tags.  The group tag can be seen as the “broader
4620term” for its set of tags.  Defining multiple group tags and nesting
4621them creates a tag hierarchy.
4622
4623   One use-case is to create a taxonomy of terms (tags) that can be used
4624to classify nodes in a document or set of documents.
4625
4626   When you search for a group tag, it return matches for all members in
4627the group and its subgroups.  In an agenda view, filtering by a group
4628tag displays or hide headlines tagged with at least one of the members
4629of the group or any of its subgroups.  This makes tag searches and
4630filters even more flexible.
4631
4632   You can set group tags by using brackets and inserting a colon
4633between the group tag and its related tags—beware that all whitespaces
4634are mandatory so that Org can parse this line correctly:
4635
4636     #+TAGS: [ GTD : Control Persp ]
4637
4638   In this example, ‘GTD’ is the group tag and it is related to two
4639other tags: ‘Control’, ‘Persp’.  Defining ‘Control’ and ‘Persp’ as group
4640tags creates a hierarchy of tags:
4641
4642     #+TAGS: [ Control : Context Task ]
4643     #+TAGS: [ Persp : Vision Goal AOF Project ]
4644
4645   That can conceptually be seen as a hierarchy of tags:
4646
4647   • ‘GTD’
4648        • ‘Persp’
4649             • ‘Vision’
4650             • ‘Goal’
4651             • ‘AOF’
4652             • ‘Project’
4653        • ‘Control’
4654             • ‘Context’
4655             • ‘Task’
4656
4657   You can use the ‘:startgrouptag’, ‘:grouptags’ and ‘:endgrouptag’
4658keyword directly when setting ‘org-tag-alist’ directly:
4659
4660     (setq org-tag-alist '((:startgrouptag)
4661                           ("GTD")
4662                           (:grouptags)
4663                           ("Control")
4664                           ("Persp")
4665                           (:endgrouptag)
4666                           (:startgrouptag)
4667                           ("Control")
4668                           (:grouptags)
4669                           ("Context")
4670                           ("Task")
4671                           (:endgrouptag)))
4672
4673   The tags in a group can be mutually exclusive if using the same group
4674syntax as is used for grouping mutually exclusive tags together; using
4675curly brackets.
4676
4677     #+TAGS: { Context : @Home @Work @Call }
4678
4679   When setting ‘org-tag-alist’ you can use ‘:startgroup’ and
4680‘:endgroup’ instead of ‘:startgrouptag’ and ‘:endgrouptag’ to make the
4681tags mutually exclusive.
4682
4683   Furthermore, the members of a group tag can also be regular
4684expressions, creating the possibility of a more dynamic and rule-based
4685tag structure.  The regular expressions in the group must be specified
4686within curly brackets.  Here is an expanded example:
4687
4688     #+TAGS: [ Vision : {V@.+} ]
4689     #+TAGS: [ Goal : {G@.+} ]
4690     #+TAGS: [ AOF : {AOF@.+} ]
4691     #+TAGS: [ Project : {P@.+} ]
4692
4693   Searching for the tag ‘Project’ now lists all tags also including
4694regular expression matches for ‘P@.+’, and similarly for tag searches on
4695‘Vision’, ‘Goal’ and ‘AOF’.  For example, this would work well for a
4696project tagged with a common project-identifier, e.g., ‘P@2014_OrgTags’.
4697
4698   If you want to ignore group tags temporarily, toggle group tags
4699support with ‘org-toggle-tags-groups’, bound to ‘C-c C-x q’.  If you
4700want to disable tag groups completely, set ‘org-group-tags’ to ‘nil’.
4701
4702
4703File: org.info,  Node: Tag Searches,  Prev: Tag Hierarchy,  Up: Tags
4704
47056.4 Tag Searches
4706================
4707
4708Once a system of tags has been set up, it can be used to collect related
4709information into special lists.
4710
4711‘C-c / m’ or ‘C-c \’ (‘org-match-sparse-tree’)
4712     Create a sparse tree with all headlines matching a tags search.
4713     With a ‘C-u’ prefix argument, ignore headlines that are not a TODO
4714     line.
4715
4716‘M-x org-agenda m’ (‘org-tags-view’)
4717     Create a global list of tag matches from all agenda files.  See
4718     *note Matching tags and properties::.
4719
4720‘M-x org-agenda M’ (‘org-tags-view’)
4721     Create a global list of tag matches from all agenda files, but
4722     check only TODO items and force checking subitems (see the option
4723     ‘org-tags-match-list-sublevels’).
4724
4725   These commands all prompt for a match string which allows basic
4726Boolean logic like ‘+boss+urgent-project1’, to find entries with tags
4727‘boss’ and ‘urgent’, but not ‘project1’, or ‘Kathy|Sally’ to find
4728entries which are tagged, like ‘Kathy’ or ‘Sally’.  The full syntax of
4729the search string is rich and allows also matching against TODO
4730keywords, entry levels and properties.  For a complete description with
4731many examples, see *note Matching tags and properties::.
4732
4733
4734File: org.info,  Node: Properties and Columns,  Next: Dates and Times,  Prev: Tags,  Up: Top
4735
47367 Properties and Columns
4737************************
4738
4739A property is a key-value pair associated with an entry.  Properties can
4740be set so they are associated with a single entry, with every entry in a
4741tree, or with the whole buffer.
4742
4743   There are two main applications for properties in Org mode.  First,
4744properties are like tags, but with a value.  Imagine maintaining a file
4745where you document bugs and plan releases for a piece of software.
4746Instead of using tags like ‘release_1’, ‘release_2’, you can use a
4747property, say ‘Release’, that in different subtrees has different
4748values, such as ‘1.0’ or ‘2.0’.  Second, you can use properties to
4749implement (very basic) database capabilities in an Org buffer.  Imagine
4750keeping track of your music CDs, where properties could be things such
4751as the album, artist, date of release, number of tracks, and so on.
4752
4753   Properties can be conveniently edited and viewed in column view (see
4754*note Column View::).
4755
4756* Menu:
4757
4758* Property Syntax::              How properties are spelled out.
4759* Special Properties::           Access to other Org mode features.
4760* Property Searches::            Matching property values.
4761* Property Inheritance::         Passing values down a tree.
4762* Column View::                  Tabular viewing and editing.
4763
4764
4765File: org.info,  Node: Property Syntax,  Next: Special Properties,  Up: Properties and Columns
4766
47677.1 Property Syntax
4768===================
4769
4770Properties are key–value pairs.  When they are associated with a single
4771entry or with a tree they need to be inserted into a special drawer (see
4772*note Drawers::) with the name ‘PROPERTIES’, which has to be located
4773right below a headline, and its planning line (see *note Deadlines and
4774Scheduling::) when applicable.  Each property is specified on a single
4775line, with the key—surrounded by colons—first, and the value after it.
4776Keys are case-insensitive.  Here is an example:
4777
4778     * CD collection
4779     ** Classic
4780     *** Goldberg Variations
4781         :PROPERTIES:
4782         :Title:     Goldberg Variations
4783         :Composer:  J.S. Bach
4784         :Artist:    Glenn Gould
4785         :Publisher: Deutsche Grammophon
4786         :NDisks:    1
4787         :END:
4788
4789   Depending on the value of ‘org-use-property-inheritance’, a property
4790set this way is associated either with a single entry, or with the
4791sub-tree defined by the entry, see *note Property Inheritance::.
4792
4793   You may define the allowed values for a particular property ‘Xyz’ by
4794setting a property ‘Xyz_ALL’.  This special property is _inherited_, so
4795if you set it in a level 1 entry, it applies to the entire tree.  When
4796allowed values are defined, setting the corresponding property becomes
4797easier and is less prone to typing errors.  For the example with the CD
4798collection, we can pre-define publishers and the number of disks in a
4799box like this:
4800
4801     * CD collection
4802       :PROPERTIES:
4803       :NDisks_ALL:  1 2 3 4
4804       :Publisher_ALL: "Deutsche Grammophon" Philips EMI
4805       :END:
4806
4807   Properties can be inserted on buffer level.  That means they apply
4808before the first headline and can be inherited by all entries in a file.
4809Property blocks defined before first headline needs to be located at the
4810top of the buffer, allowing only comments above.
4811
4812   Properties can also be defined using lines like:
4813
4814     #+PROPERTY: NDisks_ALL 1 2 3 4
4815
4816   If you want to add to the value of an existing property, append a ‘+’
4817to the property name.  The following results in the property ‘var’
4818having the value ‘foo=1 bar=2’.
4819
4820     #+PROPERTY: var  foo=1
4821     #+PROPERTY: var+ bar=2
4822
4823   It is also possible to add to the values of inherited properties.
4824The following results in the ‘Genres’ property having the value ‘Classic
4825Baroque’ under the ‘Goldberg Variations’ subtree.
4826
4827     * CD collection
4828     ** Classic
4829         :PROPERTIES:
4830         :Genres: Classic
4831         :END:
4832     *** Goldberg Variations
4833         :PROPERTIES:
4834         :Title:     Goldberg Variations
4835         :Composer:  J.S. Bach
4836         :Artist:    Glenn Gould
4837         :Publisher: Deutsche Grammophon
4838         :NDisks:    1
4839         :Genres+:   Baroque
4840         :END:
4841
4842   Note that a property can only have one entry per drawer.
4843
4844   Property values set with the global variable ‘org-global-properties’
4845can be inherited by all entries in all Org files.
4846
4847   The following commands help to work with properties:
4848
4849‘M-<TAB>’ (‘pcomplete’)
4850     After an initial colon in a line, complete property keys.  All keys
4851     used in the current file are offered as possible completions.
4852
4853‘C-c C-x p’ (‘org-set-property’)
4854     Set a property.  This prompts for a property name and a value.  If
4855     necessary, the property drawer is created as well.
4856
4857‘C-u M-x org-insert-drawer’
4858     Insert a property drawer into the current entry.  The drawer is
4859     inserted early in the entry, but after the lines with planning
4860     information like deadlines.  If before first headline the drawer is
4861     inserted at the top of the drawer after any potential comments.
4862
4863‘C-c C-c’ (‘org-property-action’)
4864     With point in a property drawer, this executes property commands.
4865
4866‘C-c C-c s’ (‘org-set-property’)
4867     Set a property in the current entry.  Both the property and the
4868     value can be inserted using completion.
4869
4870‘S-<RIGHT>’ (‘org-property-next-allowed-values’)
4871‘S-<LEFT>’ (‘org-property-previous-allowed-value’)
4872     Switch property at point to the next/previous allowed value.
4873
4874‘C-c C-c d’ (‘org-delete-property’)
4875     Remove a property from the current entry.
4876
4877‘C-c C-c D’ (‘org-delete-property-globally’)
4878     Globally remove a property, from all entries in the current file.
4879
4880‘C-c C-c c’ (‘org-compute-property-at-point’)
4881     Compute the property at point, using the operator and scope from
4882     the nearest column format definition.
4883
4884
4885File: org.info,  Node: Special Properties,  Next: Property Searches,  Prev: Property Syntax,  Up: Properties and Columns
4886
48877.2 Special Properties
4888======================
4889
4890Special properties provide an alternative access method to Org mode
4891features, like the TODO state or the priority of an entry, discussed in
4892the previous chapters.  This interface exists so that you can include
4893these states in a column view (see *note Column View::), or to use them
4894in queries.  The following property names are special and should not be
4895used as keys in the properties drawer:
4896
4897‘ALLTAGS’        All tags, including inherited ones.
4898‘BLOCKED’        ‘t’ if task is currently blocked by children or siblings.
4899‘CATEGORY’       The category of an entry.
4900‘CLOCKSUM’       The sum of CLOCK intervals in the subtree.  ‘org-clock-sum’
4901                 must be run first to compute the values in the current buffer.
4902‘CLOCKSUM_T’     The sum of CLOCK intervals in the subtree for today.
4903                 ‘org-clock-sum-today’ must be run first to compute the
4904                 values in the current buffer.
4905‘CLOSED’         When was this entry closed?
4906‘DEADLINE’       The deadline timestamp.
4907‘FILE’           The filename the entry is located in.
4908‘ITEM’           The headline of the entry.
4909‘PRIORITY’       The priority of the entry, a string with a single letter.
4910‘SCHEDULED’      The scheduling timestamp.
4911‘TAGS’           The tags defined directly in the headline.
4912‘TIMESTAMP’      The first keyword-less timestamp in the entry.
4913‘TIMESTAMP_IA’   The first inactive timestamp in the entry.
4914‘TODO’           The TODO keyword of the entry.
4915
4916
4917File: org.info,  Node: Property Searches,  Next: Property Inheritance,  Prev: Special Properties,  Up: Properties and Columns
4918
49197.3 Property Searches
4920=====================
4921
4922To create sparse trees and special lists with selection based on
4923properties, the same commands are used as for tag searches (see *note
4924Tag Searches::).
4925
4926‘C-c / m’ or ‘C-c \’ (‘org-match-sparse-tree’)
4927     Create a sparse tree with all matching entries.  With a ‘C-u’
4928     prefix argument, ignore headlines that are not a TODO line.
4929
4930‘M-x org-agenda m’ (‘org-tags-view’)
4931     Create a global list of tag/property matches from all agenda files.
4932
4933‘M-x org-agenda M’ (‘org-tags-view’)
4934     Create a global list of tag matches from all agenda files, but
4935     check only TODO items and force checking of subitems (see the
4936     option ‘org-tags-match-list-sublevels’).
4937
4938   The syntax for the search string is described in *note Matching tags
4939and properties::.
4940
4941   There is also a special command for creating sparse trees based on a
4942single property:
4943
4944‘C-c / p’
4945     Create a sparse tree based on the value of a property.  This first
4946     prompts for the name of a property, and then for a value.  A sparse
4947     tree is created with all entries that define this property with the
4948     given value.  If you enclose the value in curly braces, it is
4949     interpreted as a regular expression and matched against the
4950     property values.
4951
4952
4953File: org.info,  Node: Property Inheritance,  Next: Column View,  Prev: Property Searches,  Up: Properties and Columns
4954
49557.4 Property Inheritance
4956========================
4957
4958The outline structure of Org documents lends itself to an inheritance
4959model of properties: if the parent in a tree has a certain property, the
4960children can inherit this property.  Org mode does not turn this on by
4961default, because it can slow down property searches significantly and is
4962often not needed.  However, if you find inheritance useful, you can turn
4963it on by setting the variable ‘org-use-property-inheritance’.  It may be
4964set to ‘t’ to make all properties inherited from the parent, to a list
4965of properties that should be inherited, or to a regular expression that
4966matches inherited properties.  If a property has the value ‘nil’, this
4967is interpreted as an explicit un-define of the property, so that
4968inheritance search stops at this value and returns ‘nil’.
4969
4970   Org mode has a few properties for which inheritance is hard-coded, at
4971least for the special applications for which they are used:
4972
4973‘COLUMNS’
4974     The ‘COLUMNS’ property defines the format of column view (see *note
4975     Column View::).  It is inherited in the sense that the level where
4976     a ‘COLUMNS’ property is defined is used as the starting point for a
4977     column view table, independently of the location in the subtree
4978     from where columns view is turned on.
4979
4980‘CATEGORY’
4981     For agenda view, a category set through a ‘CATEGORY’ property
4982     applies to the entire subtree.
4983
4984‘ARCHIVE’
4985     For archiving, the ‘ARCHIVE’ property may define the archive
4986     location for the entire subtree (see *note Moving subtrees::).
4987
4988‘LOGGING’
4989     The ‘LOGGING’ property may define logging settings for an entry or
4990     a subtree (see *note Tracking TODO state changes::).
4991
4992
4993File: org.info,  Node: Column View,  Prev: Property Inheritance,  Up: Properties and Columns
4994
49957.5 Column View
4996===============
4997
4998A great way to view and edit properties in an outline tree is _column
4999view_.  In column view, each outline node is turned into a table row.
5000Columns in this table provide access to properties of the entries.  Org
5001mode implements columns by overlaying a tabular structure over the
5002headline of each item.  While the headlines have been turned into a
5003table row, you can still change the visibility of the outline tree.  For
5004example, you get a compact table by switching to “contents”
5005view—‘S-<TAB>’ ‘S-<TAB>’, or simply ‘c’ while column view is active—but
5006you can still open, read, and edit the entry below each headline.  Or,
5007you can switch to column view after executing a sparse tree command and
5008in this way get a table only for the selected items.  Column view also
5009works in agenda buffers (see *note Agenda Views::) where queries have
5010collected selected items, possibly from a number of files.
5011
5012* Menu:
5013
5014* Defining columns::             The COLUMNS format property.
5015* Using column view::            How to create and use column view.
5016* Capturing column view::        A dynamic block for column view.
5017
5018
5019File: org.info,  Node: Defining columns,  Next: Using column view,  Up: Column View
5020
50217.5.1 Defining columns
5022----------------------
5023
5024Setting up a column view first requires defining the columns.  This is
5025done by defining a column format line.
5026
5027* Menu:
5028
5029* Scope of column definitions::  Where defined, where valid?
5030* Column attributes::            Appearance and content of a column.
5031
5032
5033File: org.info,  Node: Scope of column definitions,  Next: Column attributes,  Up: Defining columns
5034
50357.5.1.1 Scope of column definitions
5036...................................
5037
5038To specify a format that only applies to a specific tree, add a
5039‘COLUMNS’ property to the top node of that tree, for example:
5040
5041     ** Top node for columns view
5042        :PROPERTIES:
5043        :COLUMNS: %25ITEM %TAGS %PRIORITY %TODO
5044        :END:
5045
5046   A ‘COLUMNS’ property within a property drawer before first headline
5047will apply to the entire file.  As an addition to property drawers,
5048keywords can also be defined for an entire file using a line like:
5049
5050     #+COLUMNS: %25ITEM %TAGS %PRIORITY %TODO
5051
5052   If a ‘COLUMNS’ property is present in an entry, it defines columns
5053for the entry itself, and for the entire subtree below it.  Since the
5054column definition is part of the hierarchical structure of the document,
5055you can define columns on level 1 that are general enough for all
5056sublevels, and more specific columns further down, when you edit a
5057deeper part of the tree.
5058
5059
5060File: org.info,  Node: Column attributes,  Prev: Scope of column definitions,  Up: Defining columns
5061
50627.5.1.2 Column attributes
5063.........................
5064
5065A column definition sets the attributes of a column.  The general
5066definition looks like this:
5067
5068     %[WIDTH]PROPERTY[(TITLE)][{SUMMARY-TYPE}]
5069
5070Except for the percent sign and the property name, all items are
5071optional.  The individual parts have the following meaning:
5072
5073WIDTH
5074     An integer specifying the width of the column in characters.  If
5075     omitted, the width is determined automatically.
5076
5077PROPERTY
5078     The property that should be edited in this column.  Special
5079     properties representing meta data are allowed here as well (see
5080     *note Special Properties::).
5081
5082TITLE
5083     The header text for the column.  If omitted, the property name is
5084     used.
5085
5086SUMMARY-TYPE
5087     The summary type.  If specified, the column values for parent nodes
5088     are computed from the children(1).
5089
5090     Supported summary types are:
5091
5092     ‘+’        Sum numbers in this column.
5093     ‘+;%.1f’   Like ‘+’, but format result with ‘%.1f’.
5094     ‘$’        Currency, short for ‘+;%.2f’.
5095     ‘min’      Smallest number in column.
5096     ‘max’      Largest number.
5097     ‘mean’     Arithmetic mean of numbers.
5098     ‘X’        Checkbox status, ‘[X]’ if all children are ‘[X]’.
5099     ‘X/’       Checkbox status, ‘[n/m]’.
5100     ‘X%’       Checkbox status, ‘[n%]’.
5101     ‘:’        Sum times, HH:MM, plain numbers are minutes.
5102     ‘:min’     Smallest time value in column.
5103     ‘:max’     Largest time value.
5104     ‘:mean’    Arithmetic mean of time values.
5105     ‘@min’     Minimum age(2) (in days/hours/mins/seconds).
5106     ‘@max’     Maximum age (in days/hours/mins/seconds).
5107     ‘@mean’    Arithmetic mean of ages (in days/hours/mins/seconds).
5108     ‘est+’     Add low-high estimates.
5109
5110     You can also define custom summary types by setting
5111     ‘org-columns-summary-types’.
5112
5113   The ‘est+’ summary type requires further explanation.  It is used for
5114combining estimates, expressed as low-high ranges.  For example, instead
5115of estimating a particular task will take 5 days, you might estimate it
5116as 5–6 days if you’re fairly confident you know how much work is
5117required, or 1–10 days if you do not really know what needs to be done.
5118Both ranges average at 5.5 days, but the first represents a more
5119predictable delivery.
5120
5121   When combining a set of such estimates, simply adding the lows and
5122highs produces an unrealistically wide result.  Instead, ‘est+’ adds the
5123statistical mean and variance of the subtasks, generating a final
5124estimate from the sum.  For example, suppose you had ten tasks, each of
5125which was estimated at 0.5 to 2 days of work.  Straight addition
5126produces an estimate of 5 to 20 days, representing what to expect if
5127everything goes either extremely well or extremely poorly.  In contrast,
5128‘est+’ estimates the full job more realistically, at 10–15 days.
5129
5130   Here is an example for a complete columns definition, along with
5131allowed values(3).
5132
5133     :COLUMNS:  %25ITEM %9Approved(Approved?){X} %Owner %11Status \
5134                        %10Time_Estimate{:} %CLOCKSUM %CLOCKSUM_T
5135     :Owner_ALL:    Tammy Mark Karl Lisa Don
5136     :Status_ALL:   "In progress" "Not started yet" "Finished" ""
5137     :Approved_ALL: "[ ]" "[X]"
5138
5139The first column, ‘%25ITEM’, means the first 25 characters of the item
5140itself, i.e., of the headline.  You probably always should start the
5141column definition with the ‘ITEM’ specifier.  The other specifiers
5142create columns ‘Owner’ with a list of names as allowed values, for
5143‘Status’ with four different possible values, and for a checkbox field
5144‘Approved’.  When no width is given after the ‘%’ character, the column
5145is exactly as wide as it needs to be in order to fully display all
5146values.  The ‘Approved’ column does have a modified title (‘Approved?’,
5147with a question mark).  Summaries are created for the ‘Time_Estimate’
5148column by adding time duration expressions like HH:MM, and for the
5149‘Approved’ column, by providing an ‘[X]’ status if all children have
5150been checked.  The ‘CLOCKSUM’ and ‘CLOCKSUM_T’ columns are special, they
5151lists the sums of CLOCK intervals in the subtree, either for all clocks
5152or just for today.
5153
5154   ---------- Footnotes ----------
5155
5156   (1) If more than one summary type applies to the same property, the
5157parent values are computed according to the first of them.
5158
5159   (2) An age can be defined as a duration, using units defined in
5160‘org-duration-units’, e.g., ‘3d 1h’.  If any value in the column is as
5161such, the summary is also expressed as a duration.
5162
5163   (3) Please note that the ‘COLUMNS’ definition must be on a single
5164line; it is wrapped here only because of formatting constraints.
5165
5166
5167File: org.info,  Node: Using column view,  Next: Capturing column view,  Prev: Defining columns,  Up: Column View
5168
51697.5.2 Using column view
5170-----------------------
5171
5172Turning column view on or off
5173.............................
5174
5175‘C-c C-x C-c’ (‘org-columns’)
5176     Turn on column view.  If point is before the first headline in the
5177     file, column view is turned on for the entire file, using the
5178     ‘#+COLUMNS’ definition.  If point is somewhere inside the outline,
5179     this command searches the hierarchy, up from point, for a ‘COLUMNS’
5180     property that defines a format.  When one is found, the column view
5181     table is established for the tree starting at the entry that
5182     contains the ‘COLUMNS’ property.  If no such property is found, the
5183     format is taken from the ‘#+COLUMNS’ line or from the variable
5184     ‘org-columns-default-format’, and column view is established for
5185     the current entry and its subtree.
5186
5187‘r’ or ‘g’ on a columns view line (‘org-columns-redo’)
5188     Recreate the column view, to include recent changes made in the
5189     buffer.
5190
5191‘C-c C-c’ or ‘q’ on a columns view line (‘org-columns-quit’)
5192     Exit column view.
5193
5194Editing values
5195..............
5196
5197‘<LEFT>’, ‘<RIGHT>’, ‘<UP>’, ‘<DOWN>’
5198     Move through the column view from field to field.
5199
5200‘1..9,0’
5201     Directly select the Nth allowed value, ‘0’ selects the 10th value.
5202
5203‘n’ or ‘S-<RIGHT>’ (‘org-columns-next-allowed-value’)
5204‘p’ or ‘S-<LEFT>’ (‘org-columns-previous-allowed-value’)
5205     Switch to the next/previous allowed value of the field.  For this,
5206     you have to have specified allowed values for a property.
5207
5208‘e’ (‘org-columns-edit-value’)
5209     Edit the property at point.  For the special properties, this
5210     invokes the same interface that you normally use to change that
5211     property.  For example, the tag completion or fast selection
5212     interface pops up when editing a ‘TAGS’ property.
5213
5214‘C-c C-c’ (‘org-columns-toggle-or-columns-quit’)
5215     When there is a checkbox at point, toggle it.  Else exit column
5216     view.
5217
5218‘v’ (‘org-columns-show-value’)
5219     View the full value of this property.  This is useful if the width
5220     of the column is smaller than that of the value.
5221
5222‘a’ (‘org-columns-edit-allowed’)
5223     Edit the list of allowed values for this property.  If the list is
5224     found in the hierarchy, the modified values is stored there.  If no
5225     list is found, the new value is stored in the first entry that is
5226     part of the current column view.
5227
5228Modifying column view on-the-fly
5229................................
5230
5231‘<’ (‘org-columns-narrow’)
5232‘>’ (‘org-columns-widen’)
5233     Make the column narrower/wider by one character.
5234
5235‘S-M-<RIGHT>’ (‘org-columns-new’)
5236     Insert a new column, to the left of the current column.
5237
5238‘S-M-<LEFT>’ (‘org-columns-delete’)
5239     Delete the current column.
5240
5241
5242File: org.info,  Node: Capturing column view,  Prev: Using column view,  Up: Column View
5243
52447.5.3 Capturing column view
5245---------------------------
5246
5247Since column view is just an overlay over a buffer, it cannot be
5248exported or printed directly.  If you want to capture a column view, use
5249a ‘columnview’ dynamic block (see *note Dynamic Blocks::).  The frame of
5250this block looks like this:
5251
5252     * The column view
5253     #+BEGIN: columnview :hlines 1 :id "label"
5254
5255     #+END:
5256
5257   This dynamic block has the following parameters:
5258
5259‘:id’
5260     This is the most important parameter.  Column view is a feature
5261     that is often localized to a certain (sub)tree, and the capture
5262     block might be at a different location in the file.  To identify
5263     the tree whose view to capture, you can use four values:
5264
5265     ‘local’
5266          Use the tree in which the capture block is located.
5267
5268     ‘global’
5269          Make a global view, including all headings in the file.
5270
5271     ‘file:FILENAME’
5272          Run column view at the top of the FILENAME file.
5273
5274     ‘LABEL’
5275          Call column view in the tree that has an ‘ID’ property with
5276          the value LABEL.  You can use ‘M-x org-id-copy’ to create a
5277          globally unique ID for the current entry and copy it to the
5278          kill-ring.
5279
5280‘:match’
5281     When set to a string, use this as a tags/property match filter to
5282     select only a subset of the headlines in the scope set by the ‘:id’
5283     parameter.
5284
5285‘:hlines’
5286     When ‘t’, insert an hline after every line.  When a number N,
5287     insert an hline before each headline with level ‘<= N’.
5288
5289‘:vlines’
5290     When non-‘nil’, force column groups to get vertical lines.
5291
5292‘:maxlevel’
5293     When set to a number, do not capture entries below this level.
5294
5295‘:skip-empty-rows’
5296     When non-‘nil’, skip rows where the only non-empty specifier of the
5297     column view is ‘ITEM’.
5298
5299‘:exclude-tags’
5300     List of tags to exclude from column view table: entries with these
5301     tags will be excluded from the column view.
5302
5303‘:indent’
5304     When non-‘nil’, indent each ‘ITEM’ field according to its level.
5305
5306‘:format’
5307     Specify a column attribute (see *note Column attributes::) for the
5308     dynamic block.
5309
5310   The following commands insert or update the dynamic block:
5311
5312‘org-columns-insert-dblock’
5313     Insert a dynamic block capturing a column view.  Prompt for the
5314     scope or ID of the view.
5315
5316     This command can be invoked by calling
5317     ‘org-dynamic-block-insert-dblock’ (‘C-c C-x x’) and selecting
5318     “columnview” (see *note Dynamic Blocks::).
5319
5320‘C-c C-c’ ‘C-c C-x C-u’ (‘org-dblock-update’)
5321     Update dynamic block at point.  point needs to be in the ‘#+BEGIN’
5322     line of the dynamic block.
5323
5324‘C-u C-c C-x C-u’ (‘org-update-all-dblocks’)
5325     Update all dynamic blocks (see *note Dynamic Blocks::).  This is
5326     useful if you have several clock table blocks, column-capturing
5327     blocks or other dynamic blocks in a buffer.
5328
5329   You can add formulas to the column view table and you may add
5330plotting instructions in front of the table—these survive an update of
5331the block.  If there is a ‘TBLFM’ keyword after the table, the table is
5332recalculated automatically after an update.
5333
5334   An alternative way to capture and process property values into a
5335table is provided by Eric Schulte’s ‘org-collector.el’, which is a
5336contributed package(1).  It provides a general API to collect properties
5337from entries in a certain scope, and arbitrary Lisp expressions to
5338process these values before inserting them into a table or a dynamic
5339block.
5340
5341   ---------- Footnotes ----------
5342
5343   (1) Contributed packages are not part of Emacs, but are distributed
5344with the main distribution of Org—visit <https://orgmode.org>.
5345
5346
5347File: org.info,  Node: Dates and Times,  Next: Refiling and Archiving,  Prev: Properties and Columns,  Up: Top
5348
53498 Dates and Times
5350*****************
5351
5352To assist project planning, TODO items can be labeled with a date and/or
5353a time.  The specially formatted string carrying the date and time
5354information is called a _timestamp_ in Org mode.  This may be a little
5355confusing because timestamp is often used as indicating when something
5356was created or last changed.  However, in Org mode this term is used in
5357a much wider sense.
5358
5359* Menu:
5360
5361* Timestamps::                   Assigning a time to a tree entry.
5362* Creating Timestamps::          Commands to insert timestamps.
5363* Deadlines and Scheduling::     Planning your work.
5364* Clocking Work Time::           Tracking how long you spend on a task.
5365* Effort Estimates::             Planning work effort in advance.
5366* Timers::                       Notes with a running timer.
5367
5368
5369File: org.info,  Node: Timestamps,  Next: Creating Timestamps,  Up: Dates and Times
5370
53718.1 Timestamps
5372==============
5373
5374A timestamp is a specification of a date (possibly with a time or a
5375range of times) in a special format, either ‘<2003-09-16 Tue>’ or
5376‘<2003-09-16 Tue 09:39>’ or ‘<2003-09-16 Tue 12:00-12:30>’(1).  A
5377timestamp can appear anywhere in the headline or body of an Org tree
5378entry.  Its presence causes entries to be shown on specific dates in the
5379agenda (see *note Weekly/daily agenda::).  We distinguish:
5380
5381Plain timestamp; Event; Appointment
5382     A simple timestamp just assigns a date/time to an item.  This is
5383     just like writing down an appointment or event in a paper agenda.
5384     In the agenda display, the headline of an entry associated with a
5385     plain timestamp is shown exactly on that date.
5386
5387          * Meet Peter at the movies
5388            <2006-11-01 Wed 19:15>
5389          * Discussion on climate change
5390            <2006-11-02 Thu 20:00-22:00>
5391
5392Timestamp with repeater interval
5393     A timestamp may contain a _repeater interval_, indicating that it
5394     applies not only on the given date, but again and again after a
5395     certain interval of N days (d), weeks (w), months (m), or years
5396     (y).  The following shows up in the agenda every Wednesday:
5397
5398          * Pick up Sam at school
5399            <2007-05-16 Wed 12:30 +1w>
5400
5401Diary-style expression entries
5402     For more complex date specifications, Org mode supports using the
5403     special expression diary entries implemented in the Emacs Calendar
5404     package(2).  For example, with optional time:
5405
5406          * 22:00-23:00 The nerd meeting on every 2nd Thursday of the month
5407            <%%(diary-float t 4 2)>
5408
5409Time/Date range
5410     Two timestamps connected by ‘--’ denote a range.  The headline is
5411     shown on the first and last day of the range, and on any dates that
5412     are displayed and fall in the range.  Here is an example:
5413
5414          ** Meeting in Amsterdam
5415             <2004-08-23 Mon>--<2004-08-26 Thu>
5416
5417Inactive timestamp
5418     Just like a plain timestamp, but with square brackets instead of
5419     angular ones.  These timestamps are inactive in the sense that they
5420     do _not_ trigger an entry to show up in the agenda.
5421
5422          * Gillian comes late for the fifth time
5423            [2006-11-01 Wed]
5424
5425   ---------- Footnotes ----------
5426
5427   (1) The Org date format is inspired by the standard ISO 8601
5428date/time format.  To use an alternative format, see *note Custom time
5429format::.  The day name is optional when you type the date yourself.
5430However, any date inserted or modified by Org adds that day name, for
5431reading convenience.
5432
5433   (2) When working with the standard diary expression functions, you
5434need to be very careful with the order of the arguments.  That order
5435depends evilly on the variable ‘calendar-date-style’.  For example, to
5436specify a date December 12, 2005, the call might look like ‘(diary-date
543712 1 2005)’ or ‘(diary-date 1 12 2005)’ or ‘(diary-date 2005 12 1)’,
5438depending on the settings.  This has been the source of much confusion.
5439Org mode users can resort to special versions of these functions like
5440‘org-date’ or ‘org-anniversary’.  These work just like the corresponding
5441‘diary-’ functions, but with stable ISO order of arguments (year, month,
5442day) wherever applicable, independent of the value of
5443‘calendar-date-style’.
5444
5445
5446File: org.info,  Node: Creating Timestamps,  Next: Deadlines and Scheduling,  Prev: Timestamps,  Up: Dates and Times
5447
54488.2 Creating Timestamps
5449=======================
5450
5451For Org mode to recognize timestamps, they need to be in the specific
5452format.  All commands listed below produce timestamps in the correct
5453format.
5454
5455‘C-c .’ (‘org-time-stamp’)
5456     Prompt for a date and insert a corresponding timestamp.  When point
5457     is at an existing timestamp in the buffer, the command is used to
5458     modify this timestamp instead of inserting a new one.  When this
5459     command is used twice in succession, a time range is inserted.
5460
5461     When called with a prefix argument, use the alternative format
5462     which contains date and time.  The default time can be rounded to
5463     multiples of 5 minutes.  See the option
5464     ‘org-time-stamp-rounding-minutes’.
5465
5466     With two prefix arguments, insert an active timestamp with the
5467     current time without prompting.
5468
5469‘C-c !’ (‘org-time-stamp-inactive’)
5470     Like ‘C-c .’, but insert an inactive timestamp that does not cause
5471     an agenda entry.
5472
5473‘C-c C-c’
5474     Normalize timestamp, insert or fix day name if missing or wrong.
5475
5476‘C-c <’ (‘org-date-from-calendar’)
5477     Insert a timestamp corresponding to point date in the calendar.
5478
5479‘C-c >’ (‘org-goto-calendar’)
5480     Access the Emacs calendar for the current date.  If there is a
5481     timestamp in the current line, go to the corresponding date
5482     instead.
5483
5484‘C-c C-o’ (‘org-open-at-point’)
5485     Access the agenda for the date given by the timestamp or -range at
5486     point (see *note Weekly/daily agenda::).
5487
5488‘S-<LEFT>’ (‘org-timestamp-down-day’)
5489‘S-<RIGHT>’ (‘org-timestamp-up-day’)
5490     Change date at point by one day.  These key bindings conflict with
5491     shift-selection and related modes (see *note Conflicts::).
5492
5493‘S-<UP>’ (‘org-timestamp-up’)
5494‘S-<DOWN>’ (‘org-timestamp-down’)
5495     On the beginning or enclosing bracket of a timestamp, change its
5496     type.  Within a timestamp, change the item under point.  Point can
5497     be on a year, month, day, hour or minute.  When the timestamp
5498     contains a time range like ‘15:30-16:30’, modifying the first time
5499     also shifts the second, shifting the time block with constant
5500     length.  To change the length, modify the second time.  Note that
5501     if point is in a headline and not at a timestamp, these same keys
5502     modify the priority of an item (see *note Priorities::).  The key
5503     bindings also conflict with shift-selection and related modes (see
5504     *note Conflicts::).
5505
5506‘C-c C-y’ (‘org-evaluate-time-range’)
5507     Evaluate a time range by computing the difference between start and
5508     end.  With a prefix argument, insert result after the time range
5509     (in a table: into the following column).
5510
5511* Menu:
5512
5513* The date/time prompt::         How Org mode helps you enter dates and times.
5514* Custom time format::           Making dates look different.
5515
5516
5517File: org.info,  Node: The date/time prompt,  Next: Custom time format,  Up: Creating Timestamps
5518
55198.2.1 The date/time prompt
5520--------------------------
5521
5522When Org mode prompts for a date/time, the default is shown in default
5523date/time format, and the prompt therefore seems to ask for a specific
5524format.  But it in fact accepts date/time information in a variety of
5525formats.  Generally, the information should start at the beginning of
5526the string.  Org mode finds whatever information is in there and derives
5527anything you have not specified from the _default date and time_.  The
5528default is usually the current date and time, but when modifying an
5529existing timestamp, or when entering the second stamp of a range, it is
5530taken from the stamp in the buffer.  When filling in information, Org
5531mode assumes that most of the time you want to enter a date in the
5532future: if you omit the month/year and the given day/month is _before_
5533today, it assumes that you mean a future date(1).  If the date has been
5534automatically shifted into the future, the time prompt shows this with
5535‘(=>F)’.
5536
5537   For example, let’s assume that today is *June 13, 2006*.  Here is how
5538various inputs are interpreted, the items filled in by Org mode are in
5539*bold*.
5540
5541‘3-2-5’          ⇒ 2003-02-05
5542‘2/5/3’          ⇒ 2003-02-05
5543‘14’             ⇒ *2006*-*06*-14
5544‘12’             ⇒ *2006*-*07*-12
5545‘2/5’            ⇒ *2007*-02-05
5546‘Fri’            ⇒ nearest Friday (default date or later)
5547‘sep 15’         ⇒ *2006*-09-15
5548‘feb 15’         ⇒ *2007*-02-15
5549‘sep 12 9’       ⇒ 2009-09-12
5550‘12:45’          ⇒ *2006*-*06*-*13* 12:45
5551‘22 sept 0:34’   ⇒ *2006*-09-22 0:34
5552‘w4’             ⇒ ISO week for of the current year *2006*
5553‘2012 w4 fri’    ⇒ Friday of ISO week 4 in 2012
5554‘2012-w04-5’     ⇒ Same as above
5555
5556   Furthermore you can specify a relative date by giving, as the _first_
5557thing in the input: a plus/minus sign, a number and a letter—‘d’, ‘w’,
5558‘m’ or ‘y’—to indicate change in days, weeks, months, or years.  With a
5559single plus or minus, the date is always relative to today.  With a
5560double plus or minus, it is relative to the default date.  If instead of
5561a single letter, you use the abbreviation of day name, the date is the
5562Nth such day, e.g.:
5563
5564‘+0’      ⇒ today
5565‘.’       ⇒ today
5566‘+4d’     ⇒ four days from today
5567‘+4’      ⇒ same as +4d
5568‘+2w’     ⇒ two weeks from today
5569‘++5’     ⇒ five days from default date
5570‘+2tue’   ⇒ second Tuesday from now
5571
5572   The function understands English month and weekday abbreviations.  If
5573you want to use un-abbreviated names and/or other languages, configure
5574the variables ‘parse-time-months’ and ‘parse-time-weekdays’.
5575
5576   Not all dates can be represented in a given Emacs implementation.  By
5577default Org mode forces dates into the compatibility range 1970–2037
5578which works on all Emacs implementations.  If you want to use dates
5579outside of this range, read the docstring of the variable
5580‘org-read-date-force-compatible-dates’.
5581
5582   You can specify a time range by giving start and end times or by
5583giving a start time and a duration (in HH:MM format).  Use one or two
5584dash(es) as the separator in the former case and use ‘+’ as the
5585separator in the latter case, e.g.:
5586
5587‘11am-1:15pm’    ⇒ 11:00-13:15
5588‘11am--1:15pm’   ⇒ same as above
5589‘11am+2:15’      ⇒ same as above
5590
5591   Parallel to the minibuffer prompt, a calendar is popped up(2).  When
5592you exit the date prompt, either by clicking on a date in the calendar,
5593or by pressing ‘<RET>’, the date selected in the calendar is combined
5594with the information entered at the prompt.  You can control the
5595calendar fully from the minibuffer:
5596
5597‘<RET>’            Choose date at point in calendar.
5598‘mouse-1’          Select date by clicking on it.
5599‘S-<RIGHT>’        One day forward.
5600‘S-<LEFT>’         One day backward.
5601‘S-<DOWN>’         One week forward.
5602‘S-<UP>’           One week backward.
5603‘M-S-<RIGHT>’      One month forward.
5604‘M-S-<LEFT>’       One month backward.
5605‘>’                Scroll calendar forward by one month.
5606‘<’                Scroll calendar backward by one month.
5607‘M-v’              Scroll calendar forward by 3 months.
5608‘C-v’              Scroll calendar backward by 3 months.
5609‘C-.’              Select today’s date(3)
5610
5611   The actions of the date/time prompt may seem complex, but I assure
5612you they will grow on you, and you will start getting annoyed by pretty
5613much any other way of entering a date/time out there.  To help you
5614understand what is going on, the current interpretation of your input is
5615displayed live in the minibuffer(4).
5616
5617   ---------- Footnotes ----------
5618
5619   (1) See the variable ‘org-read-date-prefer-future’.  You may set that
5620variable to the symbol ‘time’ to even make a time before now shift the
5621date to tomorrow.
5622
5623   (2) If you do not need/want the calendar, configure the variable
5624‘org-popup-calendar-for-date-prompt’.
5625
5626   (3) You can also use the calendar command ‘.’ to jump to today’s
5627date, but if you are inserting an hour specification for your timestamp,
5628‘.’ will then insert a dot after the hour.  By contrast, ‘C-.’ will
5629always jump to today’s date.
5630
5631   (4) If you find this distracting, turn off the display with
5632‘org-read-date-display-live’.
5633
5634
5635File: org.info,  Node: Custom time format,  Prev: The date/time prompt,  Up: Creating Timestamps
5636
56378.2.2 Custom time format
5638------------------------
5639
5640Org mode uses the standard ISO notation for dates and times as it is
5641defined in ISO 8601.  If you cannot get used to this and require another
5642representation of date and time to keep you happy, you can get it by
5643customizing the variables ‘org-display-custom-times’ and
5644‘org-time-stamp-custom-formats’.
5645
5646‘C-c C-x C-t’ (‘org-toggle-time-stamp-overlays’)
5647     Toggle the display of custom formats for dates and times.
5648
5649   Org mode needs the default format for scanning, so the custom
5650date/time format does not _replace_ the default format.  Instead, it is
5651put _over_ the default format using text properties.  This has the
5652following consequences:
5653
5654   • You cannot place point onto a timestamp anymore, only before or
5655     after.
5656
5657   • The ‘S-<UP>’ and ‘S-<DOWN>’ keys can no longer be used to adjust
5658     each component of a timestamp.  If point is at the beginning of the
5659     stamp, ‘S-<UP>’ and ‘S-<DOWN>’ change the stamp by one day, just
5660     like ‘S-<LEFT>’ ‘S-<RIGHT>’.  At the end of the stamp, change the
5661     time by one minute.
5662
5663   • If the timestamp contains a range of clock times or a repeater,
5664     these are not overlaid, but remain in the buffer as they were.
5665
5666   • When you delete a timestamp character-by-character, it only
5667     disappears from the buffer after _all_ (invisible) characters
5668     belonging to the ISO timestamp have been removed.
5669
5670   • If the custom timestamp format is longer than the default and you
5671     are using dates in tables, table alignment will be messed up.  If
5672     the custom format is shorter, things do work as expected.
5673
5674
5675File: org.info,  Node: Deadlines and Scheduling,  Next: Clocking Work Time,  Prev: Creating Timestamps,  Up: Dates and Times
5676
56778.3 Deadlines and Scheduling
5678============================
5679
5680A timestamp may be preceded by special keywords to facilitate planning.
5681Both the timestamp and the keyword have to be positioned immediately
5682after the task they refer to.
5683
5684‘DEADLINE’
5685     Meaning: the task—most likely a TODO item, though not
5686     necessarily—is supposed to be finished on that date.
5687
5688     On the deadline date, the task is listed in the agenda.  In
5689     addition, the agenda for _today_ carries a warning about the
5690     approaching or missed deadline, starting
5691     ‘org-deadline-warning-days’ before the due date, and continuing
5692     until the entry is marked as done.  An example:
5693
5694          *** TODO write article about the Earth for the Guide
5695              DEADLINE: <2004-02-29 Sun>
5696              The editor in charge is [[bbdb:Ford Prefect]]
5697
5698     You can specify a different lead time for warnings for a specific
5699     deadlines using the following syntax.  Here is an example with a
5700     warning period of 5 days ‘DEADLINE: <2004-02-29 Sun -5d>’.  This
5701     warning is deactivated if the task gets scheduled and you set
5702     ‘org-agenda-skip-deadline-prewarning-if-scheduled’ to ‘t’.
5703
5704‘SCHEDULED’
5705     Meaning: you are planning to start working on that task on the
5706     given date.
5707
5708     The headline is listed under the given date(1).  In addition, a
5709     reminder that the scheduled date has passed is present in the
5710     compilation for _today_, until the entry is marked as done, i.e.,
5711     the task is automatically forwarded until completed.
5712
5713          *** TODO Call Trillian for a date on New Years Eve.
5714              SCHEDULED: <2004-12-25 Sat>
5715
5716     If you want to _delay_ the display of this task in the agenda, use
5717     ‘SCHEDULED: <2004-12-25 Sat -2d>’: the task is still scheduled on
5718     the 25th but will appear two days later.  In case the task contains
5719     a repeater, the delay is considered to affect all occurrences; if
5720     you want the delay to only affect the first scheduled occurrence of
5721     the task, use ‘--2d’ instead.  See ‘org-scheduled-delay-days’ and
5722     ‘org-agenda-skip-scheduled-delay-if-deadline’ for details on how to
5723     control this globally or per agenda.
5724
5725          Important: Scheduling an item in Org mode should _not_ be
5726          understood in the same way that we understand _scheduling a
5727          meeting_.  Setting a date for a meeting is just a simple
5728          appointment, you should mark this entry with a simple plain
5729          timestamp, to get this item shown on the date where it
5730          applies.  This is a frequent misunderstanding by Org users.
5731          In Org mode, _scheduling_ means setting a date when you want
5732          to start working on an action item.
5733
5734   You may use timestamps with repeaters in scheduling and deadline
5735entries.  Org mode issues early and late warnings based on the
5736assumption that the timestamp represents the _nearest instance_ of the
5737repeater.  However, the use of diary expression entries like
5738
5739     <%%(diary-float t 42)>
5740
5741in scheduling and deadline timestamps is limited.  Org mode does not
5742know enough about the internals of each function to issue early and late
5743warnings.  However, it shows the item on each day where the expression
5744entry matches.
5745
5746* Menu:
5747
5748* Inserting deadline/schedule::  Planning items.
5749* Repeated tasks::               Items that show up again and again.
5750
5751   ---------- Footnotes ----------
5752
5753   (1) It will still be listed on that date after it has been marked as
5754done.  If you do not like this, set the variable
5755‘org-agenda-skip-scheduled-if-done’.
5756
5757
5758File: org.info,  Node: Inserting deadline/schedule,  Next: Repeated tasks,  Up: Deadlines and Scheduling
5759
57608.3.1 Inserting deadlines or schedules
5761--------------------------------------
5762
5763The following commands allow you to quickly insert a deadline or to
5764schedule an item:(1)
5765
5766‘C-c C-d’ (‘org-deadline’)
5767     Insert ‘DEADLINE’ keyword along with a stamp.  The insertion
5768     happens in the line directly following the headline.  Remove any
5769     ‘CLOSED’ timestamp .  When called with a prefix argument, also
5770     remove any existing deadline from the entry.  Depending on the
5771     variable ‘org-log-redeadline’, take a note when changing an
5772     existing deadline(2).
5773
5774‘C-c C-s’ (‘org-schedule’)
5775     Insert ‘SCHEDULED’ keyword along with a stamp.  The insertion
5776     happens in the line directly following the headline.  Remove any
5777     ‘CLOSED’ timestamp.  When called with a prefix argument, also
5778     remove the scheduling date from the entry.  Depending on the
5779     variable ‘org-log-reschedule’, take a note when changing an
5780     existing scheduling time(3).
5781
5782‘C-c / d’ (‘org-check-deadlines’)
5783     Create a sparse tree with all deadlines that are either past-due,
5784     or which will become due within ‘org-deadline-warning-days’.  With
5785     ‘C-u’ prefix, show all deadlines in the file.  With a numeric
5786     prefix, check that many days.  For example, ‘C-1 C-c / d’ shows all
5787     deadlines due tomorrow.
5788
5789‘C-c / b’ (‘org-check-before-date’)
5790     Sparse tree for deadlines and scheduled items before a given date.
5791
5792‘C-c / a’ (‘org-check-after-date’)
5793     Sparse tree for deadlines and scheduled items after a given date.
5794
5795   Note that ‘org-schedule’ and ‘org-deadline’ supports setting the date
5796by indicating a relative time e.g., ‘+1d’ sets the date to the next day
5797after today, and ‘--1w’ sets the date to the previous week before any
5798current timestamp.
5799
5800   ---------- Footnotes ----------
5801
5802   (1) The ‘SCHEDULED’ and ‘DEADLINE’ dates are inserted on the line
5803right below the headline.  Do not put any text between this line and the
5804headline.
5805
5806   (2) Note the corresponding ‘STARTUP’ options ‘logredeadline’,
5807‘lognoteredeadline’, and ‘nologredeadline’.
5808
5809   (3) Note the corresponding ‘STARTUP’ options ‘logreschedule’,
5810‘lognotereschedule’, and ‘nologreschedule’.
5811
5812
5813File: org.info,  Node: Repeated tasks,  Prev: Inserting deadline/schedule,  Up: Deadlines and Scheduling
5814
58158.3.2 Repeated tasks
5816--------------------
5817
5818Some tasks need to be repeated again and again.  Org mode helps to
5819organize such tasks using a so-called repeater in a ‘DEADLINE’,
5820‘SCHEDULED’, or plain timestamps(1).  In the following example:
5821
5822     ** TODO Pay the rent
5823        DEADLINE: <2005-10-01 Sat +1m>
5824
5825the ‘+1m’ is a repeater; the intended interpretation is that the task
5826has a deadline on ‘<2005-10-01>’ and repeats itself every (one) month
5827starting from that time.  You can use yearly, monthly, weekly, daily and
5828hourly repeat cookies by using the ‘y’, ‘m’, ‘w’, ‘d’ and ‘h’ letters.
5829If you need both a repeater and a special warning period in a deadline
5830entry, the repeater should come first and the warning period last
5831
5832     DEADLINE: <2005-10-01 Sat +1m -3d>
5833
5834   Deadlines and scheduled items produce entries in the agenda when they
5835are over-due, so it is important to be able to mark such an entry as
5836done once you have done so.  When you mark a ‘DEADLINE’ or a ‘SCHEDULED’
5837with the TODO keyword ‘DONE’, it no longer produces entries in the
5838agenda.  The problem with this is, however, is that then also the _next_
5839instance of the repeated entry will not be active.  Org mode deals with
5840this in the following way: when you try to mark such an entry as done,
5841using ‘C-c C-t’, it shifts the base date of the repeating timestamp by
5842the repeater interval, and immediately sets the entry state back to
5843TODO(2). In the example above, setting the state to ‘DONE’ would
5844actually switch the date like this:
5845
5846     ** TODO Pay the rent
5847        DEADLINE: <2005-11-01 Tue +1m>
5848
5849   To mark a task with a repeater as DONE, use ‘C-- 1 C-c C-t’, i.e.,
5850‘org-todo’ with a numeric prefix argument of ‘-1’.
5851
5852   A timestamp(3) is added under the deadline, to keep a record that you
5853actually acted on the previous instance of this deadline.
5854
5855   As a consequence of shifting the base date, this entry is no longer
5856visible in the agenda when checking past dates, but all future instances
5857will be visible.
5858
5859   With the ‘+1m’ cookie, the date shift is always exactly one month.
5860So if you have not paid the rent for three months, marking this entry
5861DONE still keeps it as an overdue deadline.  Depending on the task, this
5862may not be the best way to handle it.  For example, if you forgot to
5863call your father for 3 weeks, it does not make sense to call him 3 times
5864in a single day to make up for it.  Finally, there are tasks, like
5865changing batteries, which should always repeat a certain time _after_
5866the last time you did it.  For these tasks, Org mode has special
5867repeaters ‘++’ and ‘.+’.  For example:
5868
5869     ** TODO Call Father
5870        DEADLINE: <2008-02-10 Sun ++1w>
5871        Marking this DONE shifts the date by at least one week, but also
5872        by as many weeks as it takes to get this date into the future.
5873        However, it stays on a Sunday, even if you called and marked it
5874        done on Saturday.
5875
5876     ** TODO Empty kitchen trash
5877        DEADLINE: <2008-02-08 Fri 20:00 ++1d>
5878        Marking this DONE shifts the date by at least one day, and also
5879        by as many days as it takes to get the timestamp into the future.
5880        Since there is a time in the timestamp, the next deadline in the
5881        future will be on today's date if you complete the task before
5882        20:00.
5883
5884     ** TODO Check the batteries in the smoke detectors
5885        DEADLINE: <2005-11-01 Tue .+1m>
5886        Marking this DONE shifts the date to one month after today.
5887
5888     ** TODO Wash my hands
5889        DEADLINE: <2019-04-05 08:00 Sun .+1h>
5890        Marking this DONE shifts the date to exactly one hour from now.
5891
5892   You may have both scheduling and deadline information for a specific
5893task.  If the repeater is set for the scheduling information only, you
5894probably want the repeater to be ignored after the deadline.  If so, set
5895the variable ‘org-agenda-skip-scheduled-if-deadline-is-shown’ to
5896‘repeated-after-deadline’.  However, any scheduling information without
5897a repeater is no longer relevant once the task is done, and thus,
5898removed upon repeating the task.  If you want both scheduling and
5899deadline information to repeat after the same interval, set the same
5900repeater for both timestamps.
5901
5902   An alternative to using a repeater is to create a number of copies of
5903a task subtree, with dates shifted in each copy.  The command ‘C-c C-x
5904c’ was created for this purpose; it is described in *note Structure
5905Editing::.
5906
5907   ---------- Footnotes ----------
5908
5909   (1) Org does not repeat inactive timestamps, however.  See *note
5910Timestamps::.
5911
5912   (2) In fact, the target state is taken from, in this sequence, the
5913‘REPEAT_TO_STATE’ property, the variable ‘org-todo-repeat-to-state’ if
5914it is a string, the previous TODO state if ‘org-todo-repeat-to-state’ is
5915‘t’, or the first state of the TODO state sequence.
5916
5917   (3) You can change this using the option ‘org-log-repeat’, or the
5918‘STARTUP’ options ‘logrepeat’, ‘lognoterepeat’, and ‘nologrepeat’.  With
5919‘lognoterepeat’, you will also be prompted for a note.
5920
5921
5922File: org.info,  Node: Clocking Work Time,  Next: Effort Estimates,  Prev: Deadlines and Scheduling,  Up: Dates and Times
5923
59248.4 Clocking Work Time
5925======================
5926
5927Org mode allows you to clock the time you spend on specific tasks in a
5928project.  When you start working on an item, you can start the clock.
5929When you stop working on that task, or when you mark the task done, the
5930clock is stopped and the corresponding time interval is recorded.  It
5931also computes the total time spent on each subtree(1) of a project.  And
5932it remembers a history or tasks recently clocked, so that you can jump
5933quickly between a number of tasks absorbing your time.
5934
5935   To save the clock history across Emacs sessions, use:
5936
5937     (setq org-clock-persist 'history)
5938     (org-clock-persistence-insinuate)
5939
5940   When you clock into a new task after resuming Emacs, the incomplete
5941clock(2) is retrieved (see *note Resolving idle time (1)::) and you are
5942prompted about what to do with it.
5943
5944* Menu:
5945
5946* Clocking commands::            Starting and stopping a clock.
5947* The clock table::              Detailed reports.
5948* Resolving idle time::          Resolving time when you’ve been idle.
5949
5950   ---------- Footnotes ----------
5951
5952   (1) Clocking only works if all headings are indented with less than
595330 stars.  This is a hard-coded limitation of ‘lmax’ in ‘org-clock-sum’.
5954
5955   (2) To resume the clock under the assumption that you have worked on
5956this task while outside Emacs, use ‘(setq org-clock-persist t)’.
5957
5958
5959File: org.info,  Node: Clocking commands,  Next: The clock table,  Up: Clocking Work Time
5960
59618.4.1 Clocking commands
5962-----------------------
5963
5964‘C-c C-x C-i’ (‘org-clock-in’)
5965     Start the clock on the current item (clock-in).  This inserts the
5966     ‘CLOCK’ keyword together with a timestamp.  If this is not the
5967     first clocking of this item, the multiple ‘CLOCK’ lines are wrapped
5968     into a ‘LOGBOOK’ drawer (see also the variable
5969     ‘org-clock-into-drawer’).  You can also overrule the setting of
5970     this variable for a subtree by setting a ‘CLOCK_INTO_DRAWER’ or
5971     ‘LOG_INTO_DRAWER’ property.  When called with a ‘C-u’ prefix
5972     argument, select the task from a list of recently clocked tasks.
5973     With two ‘C-u C-u’ prefixes, clock into the task at point and mark
5974     it as the default task; the default task is always be available
5975     with letter ‘d’ when selecting a clocking task.  With three ‘C-u
5976     C-u C-u’ prefixes, force continuous clocking by starting the clock
5977     when the last clock stopped.
5978
5979     While the clock is running, Org shows the current clocking time in
5980     the mode line, along with the title of the task.  The clock time
5981     shown is all time ever clocked for this task and its children.  If
5982     the task has an effort estimate (see *note Effort Estimates::), the
5983     mode line displays the current clocking time against it(1).  If the
5984     task is a repeating one (see *note Repeated tasks::), show only the
5985     time since the last reset of the task(2).  You can exercise more
5986     control over show time with the ‘CLOCK_MODELINE_TOTAL’ property.
5987     It may have the values ‘current’ to show only the current clocking
5988     instance, ‘today’ to show all time clocked on this tasks today—see
5989     also the variable ‘org-extend-today-until’, ‘all’ to include all
5990     time, or ‘auto’ which is the default(3).  Clicking with ‘mouse-1’
5991     onto the mode line entry pops up a menu with clocking options.
5992
5993‘C-c C-x C-o’ (‘org-clock-out’)
5994     Stop the clock (clock-out).  This inserts another timestamp at the
5995     same location where the clock was last started.  It also directly
5996     computes the resulting time in inserts it after the time range as
5997     ‘=>HH:MM’.  See the variable ‘org-log-note-clock-out’ for the
5998     possibility to record an additional note together with the
5999     clock-out timestamp(4).
6000
6001‘C-c C-x C-x’ (‘org-clock-in-last’)
6002     Re-clock the last clocked task.  With one ‘C-u’ prefix argument,
6003     select the task from the clock history.  With two ‘C-u’ prefixes,
6004     force continuous clocking by starting the clock when the last clock
6005     stopped.
6006
6007‘C-c C-x C-e’ (‘org-clock-modify-effort-estimate’)
6008     Update the effort estimate for the current clock task.
6009
6010‘C-c C-c’ or ‘C-c C-y’ (‘org-evaluate-time-range’)
6011     Recompute the time interval after changing one of the timestamps.
6012     This is only necessary if you edit the timestamps directly.  If you
6013     change them with ‘S-<cursor>’ keys, the update is automatic.
6014
6015‘C-S-<UP>’ (‘org-clock-timestamps-up’)
6016‘C-S-<DOWN>’ (‘org-clock-timestamps-down’)
6017     On CLOCK log lines, increase/decrease both timestamps so that the
6018     clock duration keeps the same value.
6019
6020‘S-M-<UP>’ (‘org-timestamp-up’)
6021‘S-M-<DOWN>’ (‘org-timestamp-down’)
6022     On ‘CLOCK’ log lines, increase/decrease the timestamp at point and
6023     the one of the previous, or the next, clock timestamp by the same
6024     duration.  For example, if you hit ‘S-M-<UP>’ to increase a
6025     clocked-out timestamp by five minutes, then the clocked-in
6026     timestamp of the next clock is increased by five minutes.
6027
6028‘C-c C-t’ (‘org-todo’)
6029     Changing the TODO state of an item to DONE automatically stops the
6030     clock if it is running in this same item.
6031
6032‘C-c C-x C-q’ (‘org-clock-cancel’)
6033     Cancel the current clock.  This is useful if a clock was started by
6034     mistake, or if you ended up working on something else.
6035
6036‘C-c C-x C-j’ (‘org-clock-goto’)
6037     Jump to the headline of the currently clocked in task.  With a
6038     ‘C-u’ prefix argument, select the target task from a list of
6039     recently clocked tasks.
6040
6041‘C-c C-x C-d’ (‘org-clock-display’)
6042     Display time summaries for each subtree in the current buffer.
6043     This puts overlays at the end of each headline, showing the total
6044     time recorded under that heading, including the time of any
6045     subheadings.  You can use visibility cycling to study the tree, but
6046     the overlays disappear when you change the buffer (see variable
6047     ‘org-remove-highlights-with-change’) or press ‘C-c C-c’.
6048
6049   The ‘l’ key may be used in the agenda (see *note Weekly/daily
6050agenda::) to show which tasks have been worked on or closed during a
6051day.
6052
6053   *Important:* note that both ‘org-clock-out’ and ‘org-clock-in-last’
6054can have a global keybinding and do not modify the window disposition.
6055
6056   ---------- Footnotes ----------
6057
6058   (1) To add an effort estimate “on the fly”, hook a function doing
6059this to ‘org-clock-in-prepare-hook’.
6060
6061   (2) The last reset of the task is recorded by the ‘LAST_REPEAT’
6062property.
6063
6064   (3) See also the variable ‘org-clock-mode-line-total’.
6065
6066   (4) The corresponding in-buffer setting is: ‘#+STARTUP:
6067lognoteclock-out’.
6068
6069
6070File: org.info,  Node: The clock table,  Next: Resolving idle time,  Prev: Clocking commands,  Up: Clocking Work Time
6071
60728.4.2 The clock table
6073---------------------
6074
6075Org mode can produce quite complex reports based on the time clocking
6076information.  Such a report is called a _clock table_, because it is
6077formatted as one or several Org tables.
6078
6079‘org-clock-report’
6080     Insert or update a clock table.  When called with a prefix
6081     argument, jump to the first clock table in the current document and
6082     update it.  The clock table includes archived trees.
6083
6084     This command can be invoked by calling
6085     ‘org-dynamic-block-insert-dblock’ (‘C-c C-x x’) and selecting
6086     “clocktable” (see *note Dynamic Blocks::).
6087
6088‘C-c C-c’ or ‘C-c C-x C-u’ (‘org-dblock-update’)
6089     Update dynamic block at point.  Point needs to be in the ‘BEGIN’
6090     line of the dynamic block.
6091
6092‘C-u C-c C-x C-u’
6093     Update all dynamic blocks (see *note Dynamic Blocks::).  This is
6094     useful if you have several clock table blocks in a buffer.
6095
6096‘S-<LEFT>’
6097‘S-<RIGHT>’ (‘org-clocktable-try-shift’)
6098     Shift the current ‘:block’ interval and update the table.  Point
6099     needs to be in the ‘#+BEGIN: clocktable’ line for this command.  If
6100     ‘:block’ is ‘today’, it is shifted to ‘today-1’, etc.
6101
6102   Here is an example of the frame for a clock table as it is inserted
6103into the buffer by ‘org-clock-report’:
6104
6105     #+BEGIN: clocktable :maxlevel 2 :emphasize nil :scope file
6106     #+END: clocktable
6107
6108   The ‘#+BEGIN’ line contains options to define the scope, structure,
6109and formatting of the report.  Defaults for all these options can be
6110configured in the variable ‘org-clocktable-defaults’.
6111
6112   First there are options that determine which clock entries are to be
6113selected:
6114
6115‘:maxlevel’
6116     Maximum level depth to which times are listed in the table.  Clocks
6117     at deeper levels are summed into the upper level.
6118
6119‘:scope’
6120     The scope to consider.  This can be any of the following:
6121
6122     ‘nil’                    the current buffer or narrowed region
6123     ‘file’                   the full current buffer
6124     ‘subtree’                the subtree where the clocktable is located
6125     ‘treeN’                  the surrounding level N tree, for example ‘tree3’
6126     ‘tree’                   the surrounding level 1 tree
6127     ‘agenda’                 all agenda files
6128     ‘("file" ...)’           scan these files
6129     ‘FUNCTION’               scan files returned by calling FUNCTION with no argument
6130     ‘file-with-archives’     current file and its archives
6131     ‘agenda-with-archives’   all agenda files, including archives
6132
6133‘:block’
6134     The time block to consider.  This block is specified either
6135     absolutely, or relative to the current time and may be any of these
6136     formats:
6137
6138     ‘2007-12-31’                              New year eve 2007
6139     ‘2007-12’                                 December 2007
6140     ‘2007-W50’                                ISO-week 50 in 2007
6141     ‘2007-Q2’                                 2nd quarter in 2007
6142     ‘2007’                                    the year 2007
6143     ‘today’, ‘yesterday’, ‘today-N’           a relative day
6144     ‘thisweek’, ‘lastweek’, ‘thisweek-N’      a relative week
6145     ‘thismonth’, ‘lastmonth’, ‘thismonth-N’   a relative month
6146     ‘thisyear’, ‘lastyear’, ‘thisyear-N’      a relative year
6147     ‘untilnow’(1)                             all clocked time ever
6148
6149     When this option is not set, Org falls back to the value in
6150     ‘org-clock-display-default-range’, which defaults to the current
6151     year.
6152
6153     Use ‘S-<LEFT>’ or ‘S-<RIGHT>’ to shift the time interval.
6154
6155‘:tstart’
6156     A time string specifying when to start considering times.  Relative
6157     times like ‘"<-2w>"’ can also be used.  See *note Matching tags and
6158     properties:: for relative time syntax.
6159
6160‘:tend’
6161     A time string specifying when to stop considering times.  Relative
6162     times like ‘"<now>"’ can also be used.  See *note Matching tags and
6163     properties:: for relative time syntax.
6164
6165‘:wstart’
6166     The starting day of the week.  The default is 1 for Monday.
6167
6168‘:mstart’
6169     The starting day of the month.  The default is 1 for the first.
6170
6171‘:step’
6172     Set to ‘day’, ‘week’, ‘semimonth’, ‘month’, or ‘year’ to split the
6173     table into chunks.  To use this, either ‘:block’, or ‘:tstart’ and
6174     ‘:tend’ are required.
6175
6176‘:stepskip0’
6177     When non-‘nil’, do not show steps that have zero time.
6178
6179‘:fileskip0’
6180     When non-‘nil’, do not show table sections from files which did not
6181     contribute.
6182
6183‘:match’
6184     A tags match to select entries that should contribute.  See *note
6185     Matching tags and properties:: for the match syntax.
6186
6187   Then there are options that determine the formatting of the table.
6188There options are interpreted by the function
6189‘org-clocktable-write-default’, but you can specify your own function
6190using the ‘:formatter’ parameter.
6191
6192‘:emphasize’
6193     When non-‘nil’, emphasize level one and level two items.
6194
6195‘:lang’
6196     Language(2) to use for descriptive cells like “Task”.
6197
6198‘:link’
6199     Link the item headlines in the table to their origins.
6200
6201‘:narrow’
6202     An integer to limit the width of the headline column in the Org
6203     table.  If you write it like ‘50!’, then the headline is also
6204     shortened in export.
6205
6206‘:indent’
6207     Indent each headline field according to its level.
6208
6209‘:hidefiles’
6210     Hide the file column when multiple files are used to produce the
6211     table.
6212
6213‘:tcolumns’
6214     Number of columns to be used for times.  If this is smaller than
6215     ‘:maxlevel’, lower levels are lumped into one column.
6216
6217‘:level’
6218     Should a level number column be included?
6219
6220‘:sort’
6221     A cons cell containing the column to sort and a sorting type.
6222     E.g., ‘:sort (1 . ?a)’ sorts the first column alphabetically.
6223
6224‘:compact’
6225     Abbreviation for ‘:level nil :indent t :narrow 40! :tcolumns 1’.
6226     All are overwritten except if there is an explicit ‘:narrow’.
6227
6228‘:timestamp’
6229     A timestamp for the entry, when available.  Look for ‘SCHEDULED’,
6230     ‘DEADLINE’, ‘TIMESTAMP’ and ‘TIMESTAMP_IA’ special properties (see
6231     *note Special Properties::), in this order.
6232
6233‘:tags’
6234     When this flag is non-‘nil’, show the headline’s tags.
6235
6236‘:properties’
6237     List of properties shown in the table.  Each property gets its own
6238     column.
6239
6240‘:inherit-props’
6241     When this flag is non-‘nil’, the values for ‘:properties’ are
6242     inherited.
6243
6244‘:formula’
6245     Content of a ‘TBLFM’ keyword to be added and evaluated.  As a
6246     special case, ‘:formula %’ adds a column with % time.  If you do
6247     not specify a formula here, any existing formula below the clock
6248     table survives updates and is evaluated.
6249
6250‘:formatter’
6251     A function to format clock data and insert it into the buffer.
6252
6253   To get a clock summary of the current level 1 tree, for the current
6254day, you could write:
6255
6256     #+BEGIN: clocktable :maxlevel 2 :block today :scope tree1 :link t
6257     #+END: clocktable
6258
6259To use a specific time range you could write(3)
6260
6261     #+BEGIN: clocktable :tstart "<2006-08-10 Thu 10:00>"
6262                         :tend "<2006-08-10 Thu 12:00>"
6263     #+END: clocktable
6264
6265A range starting a week ago and ending right now could be written as
6266
6267     #+BEGIN: clocktable :tstart "<-1w>" :tend "<now>"
6268     #+END: clocktable
6269
6270A summary of the current subtree with % times would be
6271
6272     #+BEGIN: clocktable :scope subtree :link t :formula %
6273     #+END: clocktable
6274
6275A horizontally compact representation of everything clocked during last
6276week would be
6277
6278     #+BEGIN: clocktable :scope agenda :block lastweek :compact t
6279     #+END: clocktable
6280
6281   ---------- Footnotes ----------
6282
6283   (1) When using ‘:step’, ‘untilnow’ starts from the beginning of 2003,
6284not the beginning of time.
6285
6286   (2) Language terms can be set through the variable
6287‘org-clock-clocktable-language-setup’.
6288
6289   (3) Note that all parameters must be specified in a single line—the
6290line is broken here only to fit it into the manual.
6291
6292
6293File: org.info,  Node: Resolving idle time,  Prev: The clock table,  Up: Clocking Work Time
6294
62958.4.3 Resolving idle time and continuous clocking
6296-------------------------------------------------
6297
6298Resolving idle time
6299...................
6300
6301If you clock in on a work item, and then walk away from your
6302computer—perhaps to take a phone call—you often need to “resolve” the
6303time you were away by either subtracting it from the current clock, or
6304applying it to another one.
6305
6306   By customizing the variable ‘org-clock-idle-time’ to some integer,
6307such as 10 or 15, Emacs can alert you when you get back to your computer
6308after being idle for that many minutes(1), and ask what you want to do
6309with the idle time.  There will be a question waiting for you when you
6310get back, indicating how much idle time has passed constantly updated
6311with the current amount, as well as a set of choices to correct the
6312discrepancy:
6313
6314‘k’
6315     To keep some or all of the minutes and stay clocked in, press ‘k’.
6316     Org asks how many of the minutes to keep.  Press ‘<RET>’ to keep
6317     them all, effectively changing nothing, or enter a number to keep
6318     that many minutes.
6319
6320‘K’
6321     If you use the shift key and press ‘K’, it keeps however many
6322     minutes you request and then immediately clock out of that task.
6323     If you keep all of the minutes, this is the same as just clocking
6324     out of the current task.
6325
6326‘s’
6327     To keep none of the minutes, use ‘s’ to subtract all the away time
6328     from the clock, and then check back in from the moment you
6329     returned.
6330
6331‘S’
6332     To keep none of the minutes and just clock out at the start of the
6333     away time, use the shift key and press ‘S’.  Remember that using
6334     shift always leave you clocked out, no matter which option you
6335     choose.
6336
6337‘C’
6338     To cancel the clock altogether, use ‘C’.  Note that if instead of
6339     canceling you subtract the away time, and the resulting clock
6340     amount is less than a minute, the clock is still canceled rather
6341     than cluttering up the log with an empty entry.
6342
6343   What if you subtracted those away minutes from the current clock, and
6344now want to apply them to a new clock?  Simply clock in to any task
6345immediately after the subtraction.  Org will notice that you have
6346subtracted time “on the books”, so to speak, and will ask if you want to
6347apply those minutes to the next task you clock in on.
6348
6349   There is one other instance when this clock resolution magic occurs.
6350Say you were clocked in and hacking away, and suddenly your cat chased a
6351mouse who scared a hamster that crashed into your UPS’s power button!
6352You suddenly lose all your buffers, but thanks to auto-save you still
6353have your recent Org mode changes, including your last clock in.
6354
6355   If you restart Emacs and clock into any task, Org will notice that
6356you have a dangling clock which was never clocked out from your last
6357session.  Using that clock’s starting time as the beginning of the
6358unaccounted-for period, Org will ask how you want to resolve that time.
6359The logic and behavior is identical to dealing with away time due to
6360idleness; it is just happening due to a recovery event rather than a set
6361amount of idle time.
6362
6363   You can also check all the files visited by your Org agenda for
6364dangling clocks at any time using ‘M-x org-resolve-clocks <RET>’ (or
6365‘C-c C-x C-z’).
6366
6367Continuous clocking
6368...................
6369
6370You may want to start clocking from the time when you clocked out the
6371previous task.  To enable this systematically, set
6372‘org-clock-continuously’ to non-‘nil’.  Each time you clock in, Org
6373retrieves the clock-out time of the last clocked entry for this session,
6374and start the new clock from there.
6375
6376   If you only want this from time to time, use three universal prefix
6377arguments with ‘org-clock-in’ and two ‘C-u C-u’ with
6378‘org-clock-in-last’.
6379
6380Clocking out automatically after some idle time
6381...............................................
6382
6383When you often forget to clock out before being idle and you don’t want
6384to manually set the clocking time to take into account, you can set
6385‘org-clock-auto-clockout-timer’ to a number of seconds and add
6386‘(org-clock-auto-clockout-insinuate)’ to your ‘.emacs’ file.
6387
6388   When the clock is running and Emacs is idle for more than this number
6389of seconds, the clock will be clocked out automatically.
6390
6391   Use ‘M-x org-clock-toggle-auto-clockout RET’ to temporarily turn this
6392on or off.
6393
6394   ---------- Footnotes ----------
6395
6396   (1) On computers using macOS, idleness is based on actual user
6397idleness, not just Emacs’ idle time.  For X11, you can install a utility
6398program ‘x11idle.c’, available in the ‘contrib/scripts/’ directory of
6399the Org Git distribution, or install the xprintidle package and set it
6400to the variable ‘org-clock-x11idle-program-name’ if you are running
6401Debian, to get the same general treatment of idleness.  On other
6402systems, idle time refers to Emacs idle time only.
6403
6404
6405File: org.info,  Node: Effort Estimates,  Next: Timers,  Prev: Clocking Work Time,  Up: Dates and Times
6406
64078.5 Effort Estimates
6408====================
6409
6410If you want to plan your work in a very detailed way, or if you need to
6411produce offers with quotations of the estimated work effort, you may
6412want to assign effort estimates to entries.  If you are also clocking
6413your work, you may later want to compare the planned effort with the
6414actual working time, a great way to improve planning estimates.
6415
6416   Effort estimates are stored in a special property ‘EFFORT’.  Multiple
6417formats are supported, such as ‘3:12’, ‘1:23:45’, or ‘1d3h5min’; see the
6418file ‘org-duration.el’ for more detailed information about the format.
6419
6420   You can set the effort for an entry with the following commands:
6421
6422‘C-c C-x e’ (‘org-set-effort’)
6423     Set the effort estimate for the current entry.  With a prefix
6424     argument, set it to the next allowed value—see below.  This command
6425     is also accessible from the agenda with the ‘e’ key.
6426
6427‘C-c C-x C-e’ (‘org-clock-modify-effort-estimate’)
6428     Modify the effort estimate of the item currently being clocked.
6429
6430   Clearly the best way to work with effort estimates is through column
6431view (see *note Column View::).  You should start by setting up discrete
6432values for effort estimates, and a ‘COLUMNS’ format that displays these
6433values together with clock sums—if you want to clock your time.  For a
6434specific buffer you can use:
6435
6436     #+PROPERTY: Effort_ALL 0 0:10 0:30 1:00 2:00 3:00 4:00 5:00 6:00 7:00
6437     #+COLUMNS: %40ITEM(Task) %17Effort(Estimated Effort){:} %CLOCKSUM
6438
6439or, even better, you can set up these values globally by customizing the
6440variables ‘org-global-properties’ and ‘org-columns-default-format’.  In
6441particular if you want to use this setup also in the agenda, a global
6442setup may be advised.
6443
6444   The way to assign estimates to individual items is then to switch to
6445column mode, and to use ‘S-<RIGHT>’ and ‘S-<LEFT>’ to change the value.
6446The values you enter are immediately summed up in the hierarchy.  In the
6447column next to it, any clocked time is displayed.
6448
6449   If you switch to column view in the daily/weekly agenda, the effort
6450column summarizes the estimated work effort for each day(1), and you can
6451use this to find space in your schedule.  To get an overview of the
6452entire part of the day that is committed, you can set the option
6453‘org-agenda-columns-add-appointments-to-effort-sum’.  The appointments
6454on a day that take place over a specified time interval are then also
6455added to the load estimate of the day.
6456
6457   Effort estimates can be used in secondary agenda filtering that is
6458triggered with the ‘/’ key in the agenda (see *note Agenda Commands::).
6459If you have these estimates defined consistently, two or three key
6460presses narrow down the list to stuff that fits into an available time
6461slot.
6462
6463   ---------- Footnotes ----------
6464
6465   (1) Please note the pitfalls of summing hierarchical data in a flat
6466list (see *note Agenda Column View::).
6467
6468
6469File: org.info,  Node: Timers,  Prev: Effort Estimates,  Up: Dates and Times
6470
64718.6 Taking Notes with a Relative Timer
6472======================================
6473
6474Org provides two types of timers.  There is a relative timer that counts
6475up, which can be useful when taking notes during, for example, a meeting
6476or a video viewing.  There is also a countdown timer.
6477
6478   The relative and countdown are started with separate commands.
6479
6480‘C-c C-x 0’ (‘org-timer-start’)
6481     Start or reset the relative timer.  By default, the timer is set to
6482     0.  When called with a ‘C-u’ prefix, prompt the user for a starting
6483     offset.  If there is a timer string at point, this is taken as the
6484     default, providing a convenient way to restart taking notes after a
6485     break in the process.  When called with a double prefix argument
6486     ‘C-u C-u’, change all timer strings in the active region by a
6487     certain amount.  This can be used to fix timer strings if the timer
6488     was not started at exactly the right moment.
6489
6490‘C-c C-x ;’ (‘org-timer-set-timer’)
6491     Start a countdown timer.  The user is prompted for a duration.
6492     ‘org-timer-default-timer’ sets the default countdown value.  Giving
6493     a numeric prefix argument overrides this default value.  This
6494     command is available as ‘;’ in agenda buffers.
6495
6496   Once started, relative and countdown timers are controlled with the
6497same commands.
6498
6499‘C-c C-x .’ (‘org-timer’)
6500     Insert a relative time into the buffer.  The first time you use
6501     this, the timer starts.  Using a prefix argument restarts it.
6502
6503‘C-c C-x -’ (‘org-timer-item’)
6504     Insert a description list item with the current relative time.
6505     With a prefix argument, first reset the timer to 0.
6506
6507‘M-<RET>’ (‘org-insert-heading’)
6508     Once the timer list is started, you can also use ‘M-<RET>’ to
6509     insert new timer items.
6510
6511‘C-c C-x ,’ (‘org-timer-pause-or-continue’)
6512     Pause the timer, or continue it if it is already paused.
6513
6514‘C-c C-x _’ (‘org-timer-stop’)
6515     Stop the timer.  After this, you can only start a new timer, not
6516     continue the old one.  This command also removes the timer from the
6517     mode line.
6518
6519
6520File: org.info,  Node: Refiling and Archiving,  Next: Capture and Attachments,  Prev: Dates and Times,  Up: Top
6521
65229 Refiling and Archiving
6523************************
6524
6525Once information is in the system, it may need to be moved around.  Org
6526provides Refile, Copy and Archive commands for this.  Refile and Copy
6527helps with moving and copying outlines.  Archiving helps to keep the
6528system compact and fast.
6529
6530* Menu:
6531
6532* Refile and Copy::              Moving/copying a tree from one place to another.
6533* Archiving::                    What to do with finished products.
6534
6535
6536File: org.info,  Node: Refile and Copy,  Next: Archiving,  Up: Refiling and Archiving
6537
65389.1 Refile and Copy
6539===================
6540
6541When reviewing the captured data, you may want to refile or to copy some
6542of the entries into a different list, for example into a project.
6543Cutting, finding the right location, and then pasting the note is
6544cumbersome.  To simplify this process, you can use the following special
6545command:
6546
6547‘C-c C-w’ (‘org-refile’)
6548     Refile the entry or region at point.  This command offers possible
6549     locations for refiling the entry and lets you select one with
6550     completion.  The item (or all items in the region) is filed below
6551     the target heading as a subitem.  Depending on
6552     ‘org-reverse-note-order’, it is either the first or last subitem.
6553
6554     By default, all level 1 headlines in the current buffer are
6555     considered to be targets, but you can have more complex definitions
6556     across a number of files.  See the variable ‘org-refile-targets’
6557     for details.  If you would like to select a location via a
6558     file-path-like completion along the outline path, see the variables
6559     ‘org-refile-use-outline-path’ and
6560     ‘org-outline-path-complete-in-steps’.  If you would like to be able
6561     to create new nodes as new parents for refiling on the fly, check
6562     the variable ‘org-refile-allow-creating-parent-nodes’.  When the
6563     variable ‘org-log-refile’(1) is set, a timestamp or a note is
6564     recorded whenever an entry is refiled.
6565
6566‘C-u C-c C-w’
6567     Use the refile interface to jump to a heading.
6568
6569‘C-u C-u C-c C-w’ (‘org-refile-goto-last-stored’)
6570     Jump to the location where ‘org-refile’ last moved a tree to.
6571
6572‘C-2 C-c C-w’
6573     Refile as the child of the item currently being clocked.
6574
6575‘C-3 C-c C-w’
6576     Refile and keep the entry in place.  Also see ‘org-refile-keep’ to
6577     make this the default behavior, and beware that this may result in
6578     duplicated ‘ID’ properties.
6579
6580‘C-0 C-c C-w’ or ‘C-u C-u C-u C-c C-w’ (‘org-refile-cache-clear’)
6581     Clear the target cache.  Caching of refile targets can be turned on
6582     by setting ‘org-refile-use-cache’.  To make the command see new
6583     possible targets, you have to clear the cache with this command.
6584
6585‘C-c M-w’ (‘org-refile-copy’)
6586     Copying works like refiling, except that the original note is not
6587     deleted.
6588
6589   ---------- Footnotes ----------
6590
6591   (1) Note the corresponding ‘STARTUP’ options ‘logrefile’,
6592‘lognoterefile’, and ‘nologrefile’.
6593
6594
6595File: org.info,  Node: Archiving,  Prev: Refile and Copy,  Up: Refiling and Archiving
6596
65979.2 Archiving
6598=============
6599
6600When a project represented by a (sub)tree is finished, you may want to
6601move the tree out of the way and to stop it from contributing to the
6602agenda.  Archiving is important to keep your working files compact and
6603global searches like the construction of agenda views fast.
6604
6605‘C-c C-x C-a’ (‘org-archive-subtree-default’)
6606     Archive the current entry using the command specified in the
6607     variable ‘org-archive-default-command’.
6608
6609* Menu:
6610
6611* Moving subtrees::              Moving a tree to an archive file.
6612* Internal archiving::           Switch off a tree but keep it in the file.
6613
6614
6615File: org.info,  Node: Moving subtrees,  Next: Internal archiving,  Up: Archiving
6616
66179.2.1 Moving a tree to an archive file
6618--------------------------------------
6619
6620The most common archiving action is to move a project tree to another
6621file, the archive file.
6622
6623‘C-c C-x C-s’ or short ‘C-c $’ (‘org-archive-subtree’)
6624     Archive the subtree starting at point position to the location
6625     given by ‘org-archive-location’.
6626
6627‘C-u C-c C-x C-s’
6628     Check if any direct children of the current headline could be moved
6629     to the archive.  To do this, check each subtree for open TODO
6630     entries.  If none is found, the command offers to move it to the
6631     archive location.  If point is _not_ on a headline when this
6632     command is invoked, check level 1 trees.
6633
6634‘C-u C-u C-c C-x C-s’
6635     As above, but check subtree for timestamps instead of TODO entries.
6636     The command offers to archive the subtree if it _does_ contain a
6637     timestamp, and that timestamp is in the past.
6638
6639   The default archive location is a file in the same directory as the
6640current file, with the name derived by appending ‘_archive’ to the
6641current file name.  You can also choose what heading to file archived
6642items under, with the possibility to add them to a datetree in a file.
6643For information and examples on how to specify the file and the heading,
6644see the documentation string of the variable ‘org-archive-location’.
6645
6646   There is also an in-buffer option for setting this variable, for
6647example:
6648
6649     #+ARCHIVE: %s_done::
6650
6651   If you would like to have a special archive location for a single
6652entry or a (sub)tree, give the entry an ‘ARCHIVE’ property with the
6653location as the value (see *note Properties and Columns::).
6654
6655   When a subtree is moved, it receives a number of special properties
6656that record context information like the file from where the entry came,
6657its outline path the archiving time etc.  Configure the variable
6658‘org-archive-save-context-info’ to adjust the amount of information
6659added.
6660
6661   When ‘org-archive-subtree-save-file-p’ is non-‘nil’, save the target
6662archive buffer.
6663
6664
6665File: org.info,  Node: Internal archiving,  Prev: Moving subtrees,  Up: Archiving
6666
66679.2.2 Internal archiving
6668------------------------
6669
6670If you want to just switch off—for agenda views—certain subtrees without
6671moving them to a different file, you can use the ‘ARCHIVE’ tag.
6672
6673   A headline that is marked with the ‘ARCHIVE’ tag (see *note Tags::)
6674stays at its location in the outline tree, but behaves in the following
6675way:
6676
6677   • It does not open when you attempt to do so with a visibility
6678     cycling command (see *note Visibility Cycling::).  You can force
6679     cycling archived subtrees with ‘C-<TAB>’, or by setting the option
6680     ‘org-cycle-open-archived-trees’.  Also normal outline commands,
6681     like ‘outline-show-all’, open archived subtrees.
6682
6683   • During sparse tree construction (see *note Sparse Trees::), matches
6684     in archived subtrees are not exposed, unless you configure the
6685     option ‘org-sparse-tree-open-archived-trees’.
6686
6687   • During agenda view construction (see *note Agenda Views::), the
6688     content of archived trees is ignored unless you configure the
6689     option ‘org-agenda-skip-archived-trees’, in which case these trees
6690     are always included.  In the agenda you can press ‘v a’ to get
6691     archives temporarily included.
6692
6693   • Archived trees are not exported (see *note Exporting::), only the
6694     headline is.  Configure the details using the variable
6695     ‘org-export-with-archived-trees’.
6696
6697   • Archived trees are excluded from column view unless the variable
6698     ‘org-columns-skip-archived-trees’ is configured to ‘nil’.
6699
6700   The following commands help manage the ‘ARCHIVE’ tag:
6701
6702‘C-c C-x a’ (‘org-toggle-archive-tag’)
6703     Toggle the archive tag for the current headline.  When the tag is
6704     set, the headline changes to a shadowed face, and the subtree below
6705     it is hidden.
6706
6707‘C-u C-c C-x a’
6708     Check if any direct children of the current headline should be
6709     archived.  To do this, check each subtree for open TODO entries.
6710     If none is found, the command offers to set the ‘ARCHIVE’ tag for
6711     the child.  If point is _not_ on a headline when this command is
6712     invoked, check the level 1 trees.
6713
6714‘C-c C-<TAB>’ (‘org-force-cycle-archived’)
6715     Cycle a tree even if it is tagged with ‘ARCHIVE’.
6716
6717‘C-c C-x A’ (‘org-archive-to-archive-sibling’)
6718     Move the current entry to the _Archive Sibling_.  This is a sibling
6719     of the entry with the heading ‘Archive’ and the archive tag.  The
6720     entry becomes a child of that sibling and in this way retains a lot
6721     of its original context, including inherited tags and approximate
6722     position in the outline.
6723
6724
6725File: org.info,  Node: Capture and Attachments,  Next: Agenda Views,  Prev: Refiling and Archiving,  Up: Top
6726
672710 Capture and Attachments
6728**************************
6729
6730An important part of any organization system is the ability to quickly
6731capture new ideas and tasks, and to associate reference material with
6732them.  Org does this using a process called _capture_.  It also can
6733store files related to a task (_attachments_) in a special directory.
6734Finally, it can parse RSS feeds for information.  To learn how to let
6735external programs (for example a web browser) trigger Org to capture
6736material, see *note Protocols::.
6737
6738* Menu:
6739
6740* Capture::                      Capturing new stuff.
6741* Attachments::                  Attach files to outlines.
6742* RSS Feeds::                    Getting input from RSS feeds.
6743
6744
6745File: org.info,  Node: Capture,  Next: Attachments,  Up: Capture and Attachments
6746
674710.1 Capture
6748============
6749
6750Capture lets you quickly store notes with little interruption of your
6751work flow.  Org’s method for capturing new items is heavily inspired by
6752John Wiegley’s excellent Remember package.
6753
6754* Menu:
6755
6756* Setting up capture::           Where notes will be stored.
6757* Using capture::                Commands to invoke and terminate capture.
6758* Capture templates::            Define the outline of different note types.
6759
6760
6761File: org.info,  Node: Setting up capture,  Next: Using capture,  Up: Capture
6762
676310.1.1 Setting up capture
6764-------------------------
6765
6766The following customization sets a default target file for notes.
6767
6768     (setq org-default-notes-file (concat org-directory "/notes.org"))
6769
6770   You may also define a global key for capturing new material (see
6771*note Activation::).
6772
6773
6774File: org.info,  Node: Using capture,  Next: Capture templates,  Prev: Setting up capture,  Up: Capture
6775
677610.1.2 Using capture
6777--------------------
6778
6779‘M-x org-capture’ (‘org-capture’)
6780     Display the capture templates menu.  If you have templates defined
6781     (see *note Capture templates::), it offers these templates for
6782     selection or use a new Org outline node as the default template.
6783     It inserts the template into the target file and switch to an
6784     indirect buffer narrowed to this new node.  You may then insert the
6785     information you want.
6786
6787‘C-c C-c’ (‘org-capture-finalize’)
6788     Once you have finished entering information into the capture
6789     buffer, ‘C-c C-c’ returns you to the window configuration before
6790     the capture process, so that you can resume your work without
6791     further distraction.  When called with a prefix argument, finalize
6792     and then jump to the captured item.
6793
6794‘C-c C-w’ (‘org-capture-refile’)
6795     Finalize the capture process by refiling the note to a different
6796     place (see *note Refile and Copy::).  Please realize that this is a
6797     normal refiling command that will be executed—so point position at
6798     the moment you run this command is important.  If you have inserted
6799     a tree with a parent and children, first move point back to the
6800     parent.  Any prefix argument given to this command is passed on to
6801     the ‘org-refile’ command.
6802
6803‘C-c C-k’ (‘org-capture-kill’)
6804     Abort the capture process and return to the previous state.
6805
6806   You can also call ‘org-capture’ in a special way from the agenda,
6807using the ‘k c’ key combination.  With this access, any timestamps
6808inserted by the selected capture template defaults to the date at point
6809in the agenda, rather than to the current date.
6810
6811   To find the locations of the last stored capture, use ‘org-capture’
6812with prefix commands:
6813
6814‘C-u M-x org-capture’
6815     Visit the target location of a capture template.  You get to select
6816     the template in the usual way.
6817
6818‘C-u C-u M-x org-capture’
6819     Visit the last stored capture item in its buffer.
6820
6821   You can also jump to the bookmark ‘org-capture-last-stored’, which is
6822automatically created unless you set ‘org-capture-bookmark’ to ‘nil’.
6823
6824   To insert the capture at point in an Org buffer, call ‘org-capture’
6825with a ‘C-0’ prefix argument.
6826
6827
6828File: org.info,  Node: Capture templates,  Prev: Using capture,  Up: Capture
6829
683010.1.3 Capture templates
6831------------------------
6832
6833You can use templates for different types of capture items, and for
6834different target locations.  The easiest way to create such templates is
6835through the customize interface.
6836
6837‘C’
6838     Customize the variable ‘org-capture-templates’.
6839
6840   Before we give the formal description of template definitions, let’s
6841look at an example.  Say you would like to use one template to create
6842general TODO entries, and you want to put these entries under the
6843heading ‘Tasks’ in your file ‘~/org/gtd.org’.  Also, a date tree in the
6844file ‘journal.org’ should capture journal entries.  A possible
6845configuration would look like:
6846
6847     (setq org-capture-templates
6848           '(("t" "Todo" entry (file+headline "~/org/gtd.org" "Tasks")
6849              "* TODO %?\n  %i\n  %a")
6850             ("j" "Journal" entry (file+datetree "~/org/journal.org")
6851              "* %?\nEntered on %U\n  %i\n  %a")))
6852
6853   If you then press ‘t’ from the capture menu, Org will prepare the
6854template for you like this:
6855
6856     * TODO
6857       [[file:LINK TO WHERE YOU INITIATED CAPTURE]]
6858
6859During expansion of the template, ‘%a’ has been replaced by a link to
6860the location from where you called the capture command.  This can be
6861extremely useful for deriving tasks from emails, for example.  You fill
6862in the task definition, press ‘C-c C-c’ and Org returns you to the same
6863place where you started the capture process.
6864
6865   To define special keys to capture to a particular template without
6866going through the interactive template selection, you can create your
6867key binding like this:
6868
6869     (define-key global-map (kbd "C-c x")
6870       (lambda () (interactive) (org-capture nil "x")))
6871
6872* Menu:
6873
6874* Template elements::            What is needed for a complete template entry.
6875* Template expansion::           Filling in information about time and context.
6876* Templates in contexts::        Only show a template in a specific context.
6877
6878
6879File: org.info,  Node: Template elements,  Next: Template expansion,  Up: Capture templates
6880
688110.1.3.1 Template elements
6882..........................
6883
6884Now lets look at the elements of a template definition.  Each entry in
6885‘org-capture-templates’ is a list with the following items:
6886
6887keys
6888     The keys that selects the template, as a string, characters only,
6889     for example ‘"a"’, for a template to be selected with a single key,
6890     or ‘"bt"’ for selection with two keys.  When using several keys,
6891     keys using the same prefix key must be sequential in the list and
6892     preceded by a 2-element entry explaining the prefix key, for
6893     example:
6894
6895          ("b" "Templates for marking stuff to buy")
6896
6897     If you do not define a template for the ‘C’ key, this key opens the
6898     Customize buffer for this complex variable.
6899
6900description
6901     A short string describing the template, shown during selection.
6902
6903type
6904     The type of entry, a symbol.  Valid values are:
6905
6906     ‘entry’
6907          An Org mode node, with a headline.  Will be filed as the child
6908          of the target entry or as a top-level entry.  The target file
6909          should be an Org file.
6910
6911     ‘item’
6912          A plain list item, placed in the first plain list at the
6913          target location.  Again the target file should be an Org file.
6914
6915     ‘checkitem’
6916          A checkbox item.  This only differs from the plain list item
6917          by the default template.
6918
6919     ‘table-line’
6920          A new line in the first table at the target location.  Where
6921          exactly the line will be inserted depends on the properties
6922          ‘:prepend’ and ‘:table-line-pos’ (see below).
6923
6924     ‘plain’
6925          Text to be inserted as it is.
6926
6927target
6928     Specification of where the captured item should be placed.  In Org
6929     files, targets usually define a node.  Entries will become children
6930     of this node.  Other types will be added to the table or list in
6931     the body of this node.  Most target specifications contain a file
6932     name.  If that file name is the empty string, it defaults to
6933     ‘org-default-notes-file’.  A file can also be given as a variable
6934     or as a function called with no argument.  When an absolute path is
6935     not specified for a target, it is taken as relative to
6936     ‘org-directory’.
6937
6938     Valid values are:
6939
6940     ‘(file "path/to/file")’
6941          Text will be placed at the beginning or end of that file.
6942
6943     ‘(id "id of existing org entry")’
6944          Filing as child of this entry, or in the body of the entry.
6945
6946     ‘(file+headline "filename" "node headline")’
6947          Fast configuration if the target heading is unique in the
6948          file.
6949
6950     ‘(file+olp "filename" "Level 1 heading" "Level 2" ...)’
6951          For non-unique headings, the full path is safer.
6952
6953     ‘(file+regexp "filename" "regexp to find location")’
6954          Use a regular expression to position point.
6955
6956     ‘(file+olp+datetree "filename" [ "Level 1 heading" ...])’
6957          This target(1) creates a heading in a date tree(2) for today’s
6958          date.  If the optional outline path is given, the tree will be
6959          built under the node it is pointing to, instead of at top
6960          level.  Check out the ‘:time-prompt’ and ‘:tree-type’
6961          properties below for additional options.
6962
6963     ‘(file+function "filename" function-finding-location)’
6964          A function to find the right location in the file.
6965
6966     ‘(clock)’
6967          File to the entry that is currently being clocked.
6968
6969     ‘(function function-finding-location)’
6970          Most general way: write your own function which both visits
6971          the file and moves point to the right location.
6972
6973template
6974     The template for creating the capture item.  If you leave this
6975     empty, an appropriate default template will be used.  Otherwise
6976     this is a string with escape codes, which will be replaced
6977     depending on time and context of the capture call.  You may also
6978     get this template string from a file(3), or dynamically, from a
6979     function using either syntax:
6980
6981          (file "/path/to/template-file")
6982          (function FUNCTION-RETURNING-THE-TEMPLATE)
6983
6984properties
6985     The rest of the entry is a property list of additional options.
6986     Recognized properties are:
6987
6988     ‘:prepend’
6989          Normally new captured information will be appended at the
6990          target location (last child, last table line, last list item,
6991          ...).  Setting this property changes that.
6992
6993     ‘:immediate-finish’
6994          When set, do not offer to edit the information, just file it
6995          away immediately.  This makes sense if the template only needs
6996          information that can be added automatically.
6997
6998     ‘:jump-to-captured’
6999          When set, jump to the captured entry when finished.
7000
7001     ‘:empty-lines’
7002          Set this to the number of lines to insert before and after the
7003          new item.  Default 0, and the only other common value is 1.
7004
7005     ‘:empty-lines-after’
7006          Set this to the number of lines that should be inserted after
7007          the new item.  Overrides ‘:empty-lines’ for the number of
7008          lines inserted after.
7009
7010     ‘:empty-lines-before’
7011          Set this to the number of lines that should be inserted before
7012          the new item.  Overrides ‘:empty-lines’ for the number lines
7013          inserted before.
7014
7015     ‘:clock-in’
7016          Start the clock in this item.
7017
7018     ‘:clock-keep’
7019          Keep the clock running when filing the captured entry.
7020
7021     ‘:clock-resume’
7022          If starting the capture interrupted a clock, restart that
7023          clock when finished with the capture.  Note that ‘:clock-keep’
7024          has precedence over ‘:clock-resume’.  When setting both to
7025          non-‘nil’, the current clock will run and the previous one
7026          will not be resumed.
7027
7028     ‘:time-prompt’
7029          Prompt for a date/time to be used for date/week trees and when
7030          filling the template.  Without this property, capture uses the
7031          current date and time.  Even if this property has not been
7032          set, you can force the same behavior by calling ‘org-capture’
7033          with a ‘C-1’ prefix argument.
7034
7035     ‘:tree-type’
7036          Use ‘week’ to make a week tree instead of the month-day tree,
7037          i.e., place the headings for each day under a heading with the
7038          current ISO week.  Use ‘month’ to group entries by month only.
7039          Default is to group entries by day.
7040
7041     ‘:unnarrowed’
7042          Do not narrow the target buffer, simply show the full buffer.
7043          Default is to narrow it so that you only see the new material.
7044
7045     ‘:table-line-pos’
7046          Specification of the location in the table where the new line
7047          should be inserted.  It should be a string like ‘II-3’ meaning
7048          that the new line should become the third line before the
7049          second horizontal separator line.
7050
7051     ‘:kill-buffer’
7052          If the target file was not yet visited when capture was
7053          invoked, kill the buffer again after capture is completed.
7054
7055     ‘:no-save’
7056          Do not save the target file after finishing the capture.
7057
7058   ---------- Footnotes ----------
7059
7060   (1) Org used to offer four different targets for date/week tree
7061capture.  Now, Org automatically translates these to use
7062‘file+olp+datetree’, applying the ‘:time-prompt’ and ‘:tree-type’
7063properties.  Please rewrite your date/week-tree targets using
7064‘file+olp+datetree’ since the older targets are now deprecated.
7065
7066   (2) A date tree is an outline structure with years on the highest
7067level, months or ISO weeks as sublevels and then dates on the lowest
7068level.  Tags are allowed in the tree structure.
7069
7070   (3) When the file name is not absolute, Org assumes it is relative to
7071‘org-directory’.
7072
7073
7074File: org.info,  Node: Template expansion,  Next: Templates in contexts,  Prev: Template elements,  Up: Capture templates
7075
707610.1.3.2 Template expansion
7077...........................
7078
7079In the template itself, special “%-escapes”(1) allow dynamic insertion
7080of content.  The templates are expanded in the order given here:
7081
7082‘%[FILE]’
7083     Insert the contents of the file given by FILE.
7084
7085‘%(EXP)’
7086     Evaluate Elisp expression EXP and replace it with the result.  The
7087     EXP form must return a string.  Only placeholders pre-existing
7088     within the template, or introduced with ‘%[file]’, are expanded
7089     this way.  Since this happens after expanding non-interactive
7090     “%-escapes”, those can be used to fill the expression.
7091
7092‘%<FORMAT>’
7093     The result of format-time-string on the FORMAT specification.
7094
7095‘%t’
7096     Timestamp, date only.
7097
7098‘%T’
7099     Timestamp, with date and time.
7100
7101‘%u’, ‘%U’
7102     Like ‘%t’, ‘%T’ above, but inactive timestamps.
7103
7104‘%i’
7105     Initial content, the region when capture is called while the region
7106     is active.  If there is text before ‘%i’ on the same line, such as
7107     indentation, and ‘%i’ is not inside a ‘%(exp)’ form, that prefix is
7108     added before every line in the inserted text.
7109
7110‘%a’
7111     Annotation, normally the link created with ‘org-store-link’.
7112
7113‘%A’
7114     Like ‘%a’, but prompt for the description part.
7115
7116‘%l’
7117     Like ‘%a’, but only insert the literal link.
7118
7119‘%c’
7120     Current kill ring head.
7121
7122‘%x’
7123     Content of the X clipboard.
7124
7125‘%k’
7126     Title of the currently clocked task.
7127
7128‘%K’
7129     Link to the currently clocked task.
7130
7131‘%n’
7132     User name (taken from ‘user-full-name’).
7133
7134‘%f’
7135     File visited by current buffer when org-capture was called.
7136
7137‘%F’
7138     Full path of the file or directory visited by current buffer.
7139
7140‘%:keyword’
7141     Specific information for certain link types, see below.
7142
7143‘%^g’
7144     Prompt for tags, with completion on tags in target file.
7145
7146‘%^G’
7147     Prompt for tags, with completion all tags in all agenda files.
7148
7149‘%^t’
7150     Like ‘%t’, but prompt for date.  Similarly ‘%^T’, ‘%^u’, ‘%^U’.
7151     You may define a prompt like ‘%^{Birthday}t’.
7152
7153‘%^C’
7154     Interactive selection of which kill or clip to use.
7155
7156‘%^L’
7157     Like ‘%^C’, but insert as link.
7158
7159‘%^{PROP}p’
7160     Prompt the user for a value for property PROP.
7161
7162‘%^{PROMPT}’
7163     Prompt the user for a string and replace this sequence with it.
7164     You may specify a default value and a completion table with
7165     ‘%^{prompt|default|completion2|completion3...}’.  The arrow keys
7166     access a prompt-specific history.
7167
7168‘%\N’
7169     Insert the text entered at the Nth ‘%^{PROMPT}’, where N is a
7170     number, starting from 1.
7171
7172‘%?’
7173     After completing the template, position point here.
7174
7175   For specific link types, the following keywords are defined(2):
7176
7177Link type      Available keywords
7178--------------------------------------------------------------------------
7179bbdb           ‘%:name’, ‘%:company’
7180irc            ‘%:server’, ‘%:port’, ‘%:nick’
7181mh, rmail      ‘%:type’, ‘%:subject’, ‘%:message-id’
7182               ‘%:from’, ‘%:fromname’, ‘%:fromaddress’
7183               ‘%:to’, ‘%:toname’, ‘%:toaddress’
7184               ‘%:date’ (message date header field)
7185               ‘%:date-timestamp’ (date as active timestamp)
7186               ‘%:date-timestamp-inactive’ (date as inactive timestamp)
7187               ‘%:fromto’ (either “to NAME” or “from NAME”)(3)
7188gnus           ‘%:group’, for messages also all email fields
7189w3, w3m        ‘%:url’
7190info           ‘%:file’, ‘%:node’
7191calendar       ‘%:date’
7192org-protocol   ‘%:link’, ‘%:description’, ‘%:annotation’
7193
7194   ---------- Footnotes ----------
7195
7196   (1) If you need one of these sequences literally, escape the ‘%’ with
7197a backslash.
7198
7199   (2) If you define your own link types (see *note Adding Hyperlink
7200Types::), any property you store with ‘org-store-link-props’ can be
7201accessed in capture templates in a similar way.
7202
7203   (3) This is always the other, not the user.  See the variable
7204‘org-link-from-user-regexp’.
7205
7206
7207File: org.info,  Node: Templates in contexts,  Prev: Template expansion,  Up: Capture templates
7208
720910.1.3.3 Templates in contexts
7210..............................
7211
7212To control whether a capture template should be accessible from a
7213specific context, you can customize ‘org-capture-templates-contexts’.
7214Let’s say, for example, that you have a capture template “p” for storing
7215Gnus emails containing patches.  Then you would configure this option
7216like this:
7217
7218     (setq org-capture-templates-contexts
7219           '(("p" (in-mode . "message-mode"))))
7220
7221   You can also tell that the command key ‘p’ should refer to another
7222template.  In that case, add this command key like this:
7223
7224     (setq org-capture-templates-contexts
7225           '(("p" "q" (in-mode . "message-mode"))))
7226
7227   See the docstring of the variable for more information.
7228
7229
7230File: org.info,  Node: Attachments,  Next: RSS Feeds,  Prev: Capture,  Up: Capture and Attachments
7231
723210.2 Attachments
7233================
7234
7235It is often useful to associate reference material with an outline node.
7236Small chunks of plain text can simply be stored in the subtree of a
7237project.  Hyperlinks (see *note Hyperlinks::) can establish associations
7238with files that live elsewhere on a local, or even remote, computer,
7239like emails or source code files belonging to a project.
7240
7241   Another method is _attachments_, which are files located in a
7242directory belonging to an outline node.  Org uses directories either
7243named by a unique ID of each entry, or by a ‘DIR’ property.
7244
7245* Menu:
7246
7247* Attachment defaults and dispatcher:: How to access attachment commands
7248* Attachment options::           Configuring the attachment system
7249* Attachment links::             Hyperlink access to attachments
7250* Automatic version-control with Git:: Everything safely stored away
7251* Attach from Dired::            Using dired to select an attachment
7252
7253
7254File: org.info,  Node: Attachment defaults and dispatcher,  Next: Attachment options,  Up: Attachments
7255
725610.2.1 Attachment defaults and dispatcher
7257-----------------------------------------
7258
7259By default, Org attach uses ID properties when adding attachments to
7260outline nodes.  This makes working with attachments fully automated.
7261There is no decision needed for folder-name or location.  ID-based
7262directories are by default located in the ‘data/’ directory, which lives
7263in the same directory where your Org file lives(1).
7264
7265   When attachments are made using ‘org-attach’ a default tag ‘ATTACH’
7266is added to the node that gets the attachments.
7267
7268   For more control over the setup, see *note Attachment options::.
7269
7270   The following commands deal with attachments:
7271
7272‘C-c C-a’ (‘org-attach’)
7273     The dispatcher for commands related to the attachment system.
7274     After these keys, a list of commands is displayed and you must
7275     press an additional key to select a command:
7276
7277     ‘a’ (‘org-attach-attach’)
7278          Select a file and move it into the task’s attachment
7279          directory.  The file is copied, moved, or linked, depending on
7280          ‘org-attach-method’.  Note that hard links are not supported
7281          on all systems.
7282
7283     ‘c’/‘m’/‘l’
7284          Attach a file using the copy/move/link method.  Note that hard
7285          links are not supported on all systems.
7286
7287     ‘b’ (‘org-attach-buffer’)
7288          Select a buffer and save it as a file in the task’s attachment
7289          directory.
7290
7291     ‘n’ (‘org-attach-new’)
7292          Create a new attachment as an Emacs buffer.
7293
7294     ‘z’ (‘org-attach-sync’)
7295          Synchronize the current task with its attachment directory, in
7296          case you added attachments yourself.
7297
7298     ‘o’ (‘org-attach-open’)
7299          Open current task’s attachment.  If there is more than one,
7300          prompt for a file name first.  Opening follows the rules set
7301          by ‘org-file-apps’.  For more details, see the information on
7302          following hyperlinks (see *note Handling Links::).
7303
7304     ‘O’ (‘org-attach-open-in-emacs’)
7305          Also open the attachment, but force opening the file in Emacs.
7306
7307     ‘f’ (‘org-attach-reveal’)
7308          Open the current task’s attachment directory.
7309
7310     ‘F’ (‘org-attach-reveal-in-emacs’)
7311          Also open the directory, but force using Dired in Emacs.
7312
7313     ‘d’ (‘org-attach-delete-one’)
7314          Select and delete a single attachment.
7315
7316     ‘D’ (‘org-attach-delete-all’)
7317          Delete all of a task’s attachments.  A safer way is to open
7318          the directory in Dired and delete from there.
7319
7320     ‘s’ (‘org-attach-set-directory’)
7321          Set a specific directory as the entry’s attachment directory.
7322          This works by putting the directory path into the ‘DIR’
7323          property.
7324
7325     ‘S’ (‘org-attach-unset-directory’)
7326          Remove the attachment directory.  This command removes the
7327          ‘DIR’ property and asks the user to either move content inside
7328          that folder, if an ‘ID’ property is set, delete the content,
7329          or to leave the attachment directory as is but no longer
7330          attached to the outline node.
7331
7332   ---------- Footnotes ----------
7333
7334   (1) If you move entries or Org files from one directory to another,
7335you may want to configure ‘org-attach-id-dir’ to contain an absolute
7336path.
7337
7338
7339File: org.info,  Node: Attachment options,  Next: Attachment links,  Prev: Attachment defaults and dispatcher,  Up: Attachments
7340
734110.2.2 Attachment options
7342-------------------------
7343
7344There are a couple of options for attachments that are worth mentioning.
7345
7346‘org-attach-id-dir’
7347     The directory where attachments are stored when ‘ID’ is used as
7348     method.
7349
7350‘org-attach-dir-relative’
7351     When setting the ‘DIR’ property on a node using ‘C-c C-a s’
7352     (‘org-attach-set-directory’), absolute links are entered by
7353     default.  This option changes that to relative links.
7354
7355‘org-attach-use-inheritance’
7356     By default folders attached to an outline node are inherited from
7357     parents according to ‘org-use-property-inheritance’.  If one
7358     instead want to set inheritance specifically for Org attach that
7359     can be done using ‘org-attach-use-inheritance’.  Inheriting
7360     documents through the node hierarchy makes a lot of sense in most
7361     cases.  Especially when using attachment links (see *note
7362     Attachment links::).  The following example shows one use case for
7363     attachment inheritance:
7364
7365          * Chapter A ...
7366            :PROPERTIES:
7367            :DIR: Chapter A/
7368            :END:
7369          ** Introduction
7370          Some text
7371
7372          #+NAME: Image 1
7373          [[attachment:image 1.jpg]]
7374
7375     Without inheritance one would not be able to resolve the link to
7376     ‘image 1.jpg’, since the link is inside a sub-heading to ‘Chapter
7377     A’.
7378
7379     Inheritance works the same way for both ‘ID’ and ‘DIR’ property.
7380     If both properties are defined on the same headline then ‘DIR’
7381     takes precedence.  This is also true if inheritance is enabled.  If
7382     ‘DIR’ is inherited from a parent node in the outline, that property
7383     still takes precedence over an ‘ID’ property defined on the node
7384     itself.
7385
7386‘org-attach-method’
7387     When attaching files using the dispatcher ‘C-c C-a’ it defaults to
7388     copying files.  The behavior can be changed by customizing
7389     ‘org-attach-method’.  Options are Copy, Move/Rename, Hard link or
7390     Symbolic link.
7391
7392‘org-attach-preferred-new-method’
7393     This customization lets you choose the default way to attach to
7394     nodes without existing ‘ID’ and ‘DIR’ property.  It defaults to
7395     ‘id’ but can also be set to ‘dir’, ‘ask’ or ‘nil’.
7396
7397‘org-attach-archive-delete’
7398     Configure this to determine if attachments should be deleted or not
7399     when a subtree that has attachments is archived.
7400
7401‘org-attach-auto-tag’
7402     When attaching files to a heading it will be assigned a tag
7403     according to what is set here.
7404
7405‘org-attach-id-to-path-function-list’
7406     When ‘ID’ is used for attachments, the ID is parsed into a part of
7407     a directory-path.  See ‘org-attach-id-uuid-folder-format’ for the
7408     default function.  Define a new one and add it as first element in
7409     ‘org-attach-id-to-path-function-list’ if you want the folder
7410     structure in any other way.  All functions in this list will be
7411     tried when resolving existing ID’s into paths, to maintain backward
7412     compatibility with existing folders in your system.
7413
7414‘org-attach-store-link-p’
7415     Stores a link to the file that is being attached.  The link is
7416     stored in ‘org-stored-links’ for later insertion with ‘C-c C-l’
7417     (see *note Handling Links::).  Depending on what option is set in
7418     ‘org-attach-store-link-p’, the link is stored to either the
7419     original location as a file link, the attachment location as an
7420     attachment link or to the attachment location as a file link.
7421
7422‘org-attach-commands’
7423     List of all commands used in the attach dispatcher.
7424
7425‘org-attach-expert’
7426     Do not show the splash buffer with the attach dispatcher when
7427     ‘org-attach-expert’ is set to non-‘nil’.
7428
7429   See customization group ‘Org Attach’ if you want to change the
7430default settings.
7431
7432
7433File: org.info,  Node: Attachment links,  Next: Automatic version-control with Git,  Prev: Attachment options,  Up: Attachments
7434
743510.2.3 Attachment links
7436-----------------------
7437
7438Attached files and folders can be referenced using attachment links.
7439This makes it easy to refer to the material added to an outline node.
7440Especially if it was attached using the unique ID of the entry!
7441
7442     * TODO Some task
7443       :PROPERTIES:
7444       :ID:       95d50008-c12e-479f-a4f2-cc0238205319
7445       :END:
7446     See attached document for more information: [[attachment:info.org]]
7447
7448   See *note External Links:: for more information about these links.
7449
7450
7451File: org.info,  Node: Automatic version-control with Git,  Next: Attach from Dired,  Prev: Attachment links,  Up: Attachments
7452
745310.2.4 Automatic version-control with Git
7454-----------------------------------------
7455
7456If the directory attached to an outline node is a Git repository, Org
7457can be configured to automatically commit changes to that repository
7458when it sees them.
7459
7460   To make Org mode take care of versioning of attachments for you, add
7461the following to your Emacs config:
7462
7463     (require 'org-attach-git)
7464
7465
7466File: org.info,  Node: Attach from Dired,  Prev: Automatic version-control with Git,  Up: Attachments
7467
746810.2.5 Attach from Dired
7469------------------------
7470
7471It is possible to attach files to a subtree from a Dired buffer.  To use
7472this feature, have one window in Dired mode containing the file(s) to be
7473attached and another window with point in the subtree that shall get the
7474attachments.  In the Dired window, with point on a file, ‘M-x
7475org-attach-dired-to-subtree’ attaches the file to the subtree using the
7476attachment method set by variable ‘org-attach-method’.  When files are
7477marked in the Dired window then all marked files get attached.
7478
7479   Add the following lines to the Emacs init file to have ‘C-c C-x a’
7480attach files in Dired buffers.
7481
7482     (add-hook 'dired-mode-hook
7483               (lambda ()
7484                 (define-key dired-mode-map
7485                   (kbd "C-c C-x a")
7486                   #'org-attach-dired-to-subtree)))
7487
7488   The following code shows how to bind the previous command with a
7489specific attachment method.
7490
7491     (add-hook 'dired-mode-hook
7492               (lambda ()
7493                 (define-key dired-mode-map (kbd "C-c C-x c")
7494                   (lambda ()
7495                     (interactive)
7496                     (let ((org-attach-method 'cp))
7497                       (call-interactively #'org-attach-dired-to-subtree))))))
7498
7499
7500File: org.info,  Node: RSS Feeds,  Prev: Attachments,  Up: Capture and Attachments
7501
750210.3 RSS Feeds
7503==============
7504
7505Org can add and change entries based on information found in RSS feeds
7506and Atom feeds.  You could use this to make a task out of each new
7507podcast in a podcast feed.  Or you could use a phone-based note-creating
7508service on the web to import tasks into Org.  To access feeds, configure
7509the variable ‘org-feed-alist’.  The docstring of this variable has
7510detailed information.  With the following
7511
7512     (setq org-feed-alist
7513           '(("Slashdot"
7514              "http://rss.slashdot.org/Slashdot/slashdot"
7515              "~/txt/org/feeds.org" "Slashdot Entries")))
7516
7517new items from the feed provided by ‘rss.slashdot.org’ result in new
7518entries in the file ‘~/org/feeds.org’ under the heading ‘Slashdot
7519Entries’, whenever the following command is used:
7520
7521‘C-c C-x g’ (‘org-feed-update-all’)
7522     Collect items from the feeds configured in ‘org-feed-alist’ and act
7523     upon them.
7524
7525‘C-c C-x G’ (‘org-feed-goto-inbox’)
7526     Prompt for a feed name and go to the inbox configured for this
7527     feed.
7528
7529   Under the same headline, Org creates a drawer ‘FEEDSTATUS’ in which
7530it stores information about the status of items in the feed, to avoid
7531adding the same item several times.
7532
7533   For more information, including how to read atom feeds, see
7534org-feed.el’ and the docstring of ‘org-feed-alist’.
7535
7536
7537File: org.info,  Node: Agenda Views,  Next: Markup for Rich Contents,  Prev: Capture and Attachments,  Up: Top
7538
753911 Agenda Views
7540***************
7541
7542Due to the way Org works, TODO items, time-stamped items, and tagged
7543headlines can be scattered throughout a file or even a number of files.
7544To get an overview of open action items, or of events that are important
7545for a particular date, this information must be collected, sorted and
7546displayed in an organized way.
7547
7548   Org can select items based on various criteria and display them in a
7549separate buffer.  Six different view types are provided:
7550
7551   • an _agenda_ that is like a calendar and shows information for
7552     specific dates,
7553
7554   • a _TODO list_ that covers all unfinished action items,
7555
7556   • a _match view_, showings headlines based on the tags, properties,
7557     and TODO state associated with them,
7558
7559   • a _text search view_ that shows all entries from multiple files
7560     that contain specified keywords,
7561
7562   • a _stuck projects view_ showing projects that currently do not move
7563     along, and
7564
7565   • _custom views_ that are special searches and combinations of
7566     different views.
7567
7568   The extracted information is displayed in a special _agenda buffer_.
7569This buffer is read-only, but provides commands to visit the
7570corresponding locations in the original Org files, and even to edit
7571these files remotely.
7572
7573   By default, the report ignores commented (see *note Comment Lines::)
7574and archived (see *note Internal archiving::) entries.  You can override
7575this by setting ‘org-agenda-skip-comment-trees’ and
7576‘org-agenda-skip-archived-trees’ to ‘nil’.
7577
7578   Two variables control how the agenda buffer is displayed and whether
7579the window configuration is restored when the agenda exits:
7580‘org-agenda-window-setup’ and ‘org-agenda-restore-windows-after-quit’.
7581
7582* Menu:
7583
7584* Agenda Files::                 Files being searched for agenda information.
7585* Agenda Dispatcher::            Keyboard access to agenda views.
7586* Built-in Agenda Views::        What is available out of the box?
7587* Presentation and Sorting::     How agenda items are prepared for display.
7588* Agenda Commands::              Remote editing of Org trees.
7589* Custom Agenda Views::          Defining special searches and views.
7590* Exporting Agenda Views::       Writing a view to a file.
7591* Agenda Column View::           Using column view for collected entries.
7592
7593
7594File: org.info,  Node: Agenda Files,  Next: Agenda Dispatcher,  Up: Agenda Views
7595
759611.1 Agenda Files
7597=================
7598
7599The information to be shown is normally collected from all _agenda
7600files_, the files listed in the variable ‘org-agenda-files’(1).  If a
7601directory is part of this list, all files with the extension ‘.org’ in
7602this directory are part of the list.
7603
7604   Thus, even if you only work with a single Org file, that file should
7605be put into the list(2).  You can customize ‘org-agenda-files’, but the
7606easiest way to maintain it is through the following commands
7607
7608‘C-c [’ (‘org-agenda-file-to-front’)
7609     Add current file to the list of agenda files.  The file is added to
7610     the front of the list.  If it was already in the list, it is moved
7611     to the front.  With a prefix argument, file is added/moved to the
7612     end.
7613
7614‘C-c ]’ (‘org-remove-file’)
7615     Remove current file from the list of agenda files.
7616
7617‘C-'’
7618‘C-,’ (‘org-cycle-agenda-files’)
7619     Cycle through agenda file list, visiting one file after the other.
7620
7621‘M-x org-switchb’
7622     Command to use an Iswitchb-like interface to switch to and between
7623     Org buffers.
7624
7625The Org menu contains the current list of files and can be used to visit
7626any of them.
7627
7628   If you would like to focus the agenda temporarily on a file not in
7629this list, or on just one file in the list, or even on only a subtree in
7630a file, then this can be done in different ways.  For a single agenda
7631command, you may press ‘<’ once or several times in the dispatcher (see
7632*note Agenda Dispatcher::).  To restrict the agenda scope for an
7633extended period, use the following commands:
7634
7635‘C-c C-x <’ (‘org-agenda-set-restriction-lock’)
7636     Restrict the agenda to the current subtree.  If there already is a
7637     restriction at point, remove it.  When called with a universal
7638     prefix argument or with point before the first headline in a file,
7639     set the agenda scope to the entire file.  This restriction remains
7640     in effect until removed with ‘C-c C-x >’, or by typing either ‘<’
7641     or ‘>’ in the agenda dispatcher.  If there is a window displaying
7642     an agenda view, the new restriction takes effect immediately.
7643
7644‘C-c C-x >’ (‘org-agenda-remove-restriction-lock’)
7645     Remove the restriction created by ‘C-c C-x <’.
7646
7647   When working with Speedbar, you can use the following commands in the
7648Speedbar frame:
7649
7650‘<’ (‘org-speedbar-set-agenda-restriction’)
7651     Restrict the agenda to the item—either an Org file or a subtree in
7652     such a file—at point in the Speedbar frame.  If agenda is already
7653     restricted there, remove the restriction.  If there is a window
7654     displaying an agenda view, the new restriction takes effect
7655     immediately.
7656
7657‘>’ (‘org-agenda-remove-restriction-lock’)
7658     Remove the restriction.
7659
7660   ---------- Footnotes ----------
7661
7662   (1) If the value of that variable is not a list, but a single file
7663name, then the list of agenda files in maintained in that external file.
7664
7665   (2) When using the dispatcher, pressing ‘<’ before selecting a
7666command actually limits the command to the current file, and ignores
7667‘org-agenda-files’ until the next dispatcher command.
7668
7669
7670File: org.info,  Node: Agenda Dispatcher,  Next: Built-in Agenda Views,  Prev: Agenda Files,  Up: Agenda Views
7671
767211.2 The Agenda Dispatcher
7673==========================
7674
7675The views are created through a dispatcher, accessible with ‘M-x
7676org-agenda’, or, better, bound to a global key (see *note Activation::).
7677It displays a menu from which an additional letter is required to
7678execute a command.  The dispatcher offers the following default
7679commands:
7680
7681‘a’
7682     Create the calendar-like agenda (see *note Weekly/daily agenda::).
7683
7684‘t’
7685‘T’
7686     Create a list of all TODO items (see *note Global TODO list::).
7687
7688‘m’
7689‘M’
7690     Create a list of headlines matching a given expression (see *note
7691     Matching tags and properties::).
7692
7693‘s’
7694     Create a list of entries selected by a boolean expression of
7695     keywords and/or regular expressions that must or must not occur in
7696     the entry.
7697
7698‘/’
7699     Search for a regular expression in all agenda files and
7700     additionally in the files listed in
7701     ‘org-agenda-text-search-extra-files’.  This uses the Emacs command
7702     ‘multi-occur’.  A prefix argument can be used to specify the number
7703     of context lines for each match, default is
7704       1.
7705‘#’
7706     Create a list of stuck projects (see *note Stuck projects::).
7707
7708‘!’
7709     Configure the list of stuck projects (see *note Stuck projects::).
7710
7711‘<’
7712     Restrict an agenda command to the current buffer(1).  If narrowing
7713     is in effect restrict to the narrowed part of the buffer.  After
7714     pressing ‘<’, you still need to press the character selecting the
7715     command.
7716
7717‘< <’
7718     If there is an active region, restrict the following agenda command
7719     to the region.  Otherwise, restrict it to the current subtree(2).
7720     After pressing ‘< <’, you still need to press the character
7721     selecting the command.
7722
7723‘*’
7724     Toggle sticky agenda views.  By default, Org maintains only a
7725     single agenda buffer and rebuilds it each time you change the view,
7726     to make sure everything is always up to date.  If you switch
7727     between views often and the build time bothers you, you can turn on
7728     sticky agenda buffers (make this the default by customizing the
7729     variable ‘org-agenda-sticky’).  With sticky agendas, the dispatcher
7730     only switches to the selected view, you need to update it by hand
7731     with ‘r’ or ‘g’.  You can toggle sticky agenda view any time with
7732     ‘org-toggle-sticky-agenda’.
7733
7734   You can also define custom commands that are accessible through the
7735dispatcher, just like the default commands.  This includes the
7736possibility to create extended agenda buffers that contain several
7737blocks together, for example the weekly agenda, the global TODO list and
7738a number of special tags matches.  See *note Custom Agenda Views::.
7739
7740   ---------- Footnotes ----------
7741
7742   (1) For backward compatibility, you can also press ‘1’ to restrict to
7743the current buffer.
7744
7745   (2) For backward compatibility, you can also press ‘0’ to restrict to
7746the current region/subtree.
7747
7748
7749File: org.info,  Node: Built-in Agenda Views,  Next: Presentation and Sorting,  Prev: Agenda Dispatcher,  Up: Agenda Views
7750
775111.3 The Built-in Agenda Views
7752==============================
7753
7754In this section we describe the built-in views.
7755
7756* Menu:
7757
7758* Weekly/daily agenda::          The calendar page with current tasks.
7759* Global TODO list::             All unfinished action items.
7760* Matching tags and properties:: Structured information with fine-tuned search.
7761* Search view::                  Find entries by searching for text.
7762* Stuck projects::               Find projects you need to review.
7763
7764
7765File: org.info,  Node: Weekly/daily agenda,  Next: Global TODO list,  Up: Built-in Agenda Views
7766
776711.3.1 Weekly/daily agenda
7768--------------------------
7769
7770The purpose of the weekly/daily _agenda_ is to act like a page of a
7771paper agenda, showing all the tasks for the current week or day.
7772
7773‘M-x org-agenda a’ (‘org-agenda-list’)
7774     Compile an agenda for the current week from a list of Org files.
7775     The agenda shows the entries for each day.  With a numeric prefix
7776     argument(1)—like ‘C-u 2 1 M-x org-agenda a’—you may set the number
7777     of days to be displayed.
7778
7779   The default number of days displayed in the agenda is set by the
7780variable ‘org-agenda-span’.  This variable can be set to any number of
7781days you want to see by default in the agenda, or to a span name, such a
7782‘day’, ‘week’, ‘month’ or ‘year’.  For weekly agendas, the default is to
7783start on the previous Monday (see ‘org-agenda-start-on-weekday’).  You
7784can also set the start date using a date shift: ‘(setq
7785org-agenda-start-day "+10d")’ starts the agenda ten days from today in
7786the future.
7787
7788   Remote editing from the agenda buffer means, for example, that you
7789can change the dates of deadlines and appointments from the agenda
7790buffer.  The commands available in the Agenda buffer are listed in *note
7791Agenda Commands::.
7792
7793Calendar/Diary integration
7794..........................
7795
7796Emacs contains the calendar and diary by Edward M. Reingold.  The
7797calendar displays a three-month calendar with holidays from different
7798countries and cultures.  The diary allows you to keep track of
7799anniversaries, lunar phases, sunrise/set, recurrent appointments
7800(weekly, monthly) and more.  In this way, it is quite complementary to
7801Org.  It can be very useful to combine output from Org with the diary.
7802
7803   In order to include entries from the Emacs diary into Org mode’s
7804agenda, you only need to customize the variable
7805
7806     (setq org-agenda-include-diary t)
7807
7808After that, everything happens automatically.  All diary entries
7809including holidays, anniversaries, etc., are included in the agenda
7810buffer created by Org mode.  ‘<SPC>’, ‘<TAB>’, and ‘<RET>’ can be used
7811from the agenda buffer to jump to the diary file in order to edit
7812existing diary entries.  The ‘i’ command to insert new entries for the
7813current date works in the agenda buffer, as well as the commands ‘S’,
7814‘M’, and ‘C’ to display Sunrise/Sunset times, show lunar phases and to
7815convert to other calendars, respectively.  ‘c’ can be used to switch
7816back and forth between calendar and agenda.
7817
7818   If you are using the diary only for expression entries and holidays,
7819it is faster to not use the above setting, but instead to copy or even
7820move the entries into an Org file.  Org mode evaluates diary-style
7821expression entries, and does it faster because there is no overhead for
7822first creating the diary display.  Note that the expression entries must
7823start at the left margin, no whitespace is allowed before them, as seen
7824in the following segment of an Org file:(2)
7825
7826     * Holidays
7827       :PROPERTIES:
7828       :CATEGORY: Holiday
7829       :END:
7830     %%(org-calendar-holiday)   ; special function for holiday names
7831
7832     * Birthdays
7833       :PROPERTIES:
7834       :CATEGORY: Ann
7835       :END:
7836     %%(org-anniversary 1956  5 14) Arthur Dent is %d years old
7837     %%(org-anniversary 1869 10  2) Mahatma Gandhi would be %d years old
7838
7839Anniversaries from BBDB
7840.......................
7841
7842If you are using the Insidious Big Brother Database to store your
7843contacts, you very likely prefer to store anniversaries in BBDB rather
7844than in a separate Org or diary file.  Org supports this and can show
7845BBDB anniversaries as part of the agenda.  All you need to do is to add
7846the following to one of your agenda files:
7847
7848     * Anniversaries
7849       :PROPERTIES:
7850       :CATEGORY: Anniv
7851       :END:
7852     %%(org-bbdb-anniversaries)
7853
7854   You can then go ahead and define anniversaries for a BBDB record.
7855Basically, you need a field named ‘anniversary’ for the BBDB record
7856which contains the date in the format ‘YYYY-MM-DD’ or ‘MM-DD’, followed
7857by a space and the class of the anniversary (‘birthday’, ‘wedding’, or a
7858format string).  If you omit the class, it defaults to ‘birthday’.  Here
7859are a few examples, the header for the file ‘ol-bbdb.el’ contains more
7860detailed information.
7861
7862     1973-06-22
7863     06-22
7864     1955-08-02 wedding
7865     2008-04-14 %s released version 6.01 of Org mode, %d years ago
7866
7867   After a change to BBDB, or for the first agenda display during an
7868Emacs session, the agenda display suffers a short delay as Org updates
7869its hash with anniversaries.  However, from then on things will be very
7870fast, much faster in fact than a long list of ‘%%(diary-anniversary)’
7871entries in an Org or Diary file.
7872
7873   If you would like to see upcoming anniversaries with a bit of
7874forewarning, you can use the following instead:
7875
7876     * Anniversaries
7877       :PROPERTIES:
7878       :CATEGORY: Anniv
7879       :END:
7880     %%(org-bbdb-anniversaries-future 3)
7881
7882   That will give you three days’ warning: on the anniversary date
7883itself and the two days prior.  The argument is optional: if omitted, it
7884defaults to 7.
7885
7886Appointment reminders
7887.....................
7888
7889Org can interact with Emacs appointments notification facility.  To add
7890the appointments of your agenda files, use the command
7891‘org-agenda-to-appt’.  This command lets you filter through the list of
7892your appointments and add only those belonging to a specific category or
7893matching a regular expression.  It also reads a ‘APPT_WARNTIME’ property
7894which overrides the value of ‘appt-message-warning-time’ for this
7895appointment.  See the docstring for details.
7896
7897   ---------- Footnotes ----------
7898
7899   (1) For backward compatibility, the universal prefix argument ‘C-u’
7900causes all TODO entries to be listed before the agenda.  This feature is
7901deprecated, use the dedicated TODO list, or a block agenda instead (see
7902*note Block agenda::).
7903
7904   (2) The variable ‘org-anniversary’ used in the example is just like
7905‘diary-anniversary’, but the argument order is always according to ISO
7906and therefore independent of the value of ‘calendar-date-style’.
7907
7908
7909File: org.info,  Node: Global TODO list,  Next: Matching tags and properties,  Prev: Weekly/daily agenda,  Up: Built-in Agenda Views
7910
791111.3.2 The global TODO list
7912---------------------------
7913
7914The global TODO list contains all unfinished TODO items formatted and
7915collected into a single place.
7916
7917‘M-x org-agenda t’ (‘org-todo-list’)
7918     Show the global TODO list.  This collects the TODO items from all
7919     agenda files (see *note Agenda Views::) into a single buffer.  By
7920     default, this lists items with a state the is not a DONE state.
7921     The buffer is in Agenda mode, so there are commands to examine and
7922     manipulate the TODO entries directly from that buffer (see *note
7923     Agenda Commands::).
7924
7925‘M-x org-agenda T’ (‘org-todo-list’)
7926     Like the above, but allows selection of a specific TODO keyword.
7927     You can also do this by specifying a prefix argument to ‘t’.  You
7928     are prompted for a keyword, and you may also specify several
7929     keywords by separating them with ‘|’ as the boolean OR operator.
7930     With a numeric prefix, the Nth keyword in ‘org-todo-keywords’ is
7931     selected.
7932
7933     The ‘r’ key in the agenda buffer regenerates it, and you can give a
7934     prefix argument to this command to change the selected TODO
7935     keyword, for example ‘3 r’.  If you often need a search for a
7936     specific keyword, define a custom command for it (see *note Agenda
7937     Dispatcher::).
7938
7939     Matching specific TODO keywords can also be done as part of a tags
7940     search (see *note Tag Searches::).
7941
7942   Remote editing of TODO items means that you can change the state of a
7943TODO entry with a single key press.  The commands available in the TODO
7944list are described in *note Agenda Commands::.
7945
7946   Normally the global TODO list simply shows all headlines with TODO
7947keywords.  This list can become very long.  There are two ways to keep
7948it more compact:
7949
7950   • Some people view a TODO item that has been _scheduled_ for
7951     execution or have a _deadline_ (see *note Timestamps::) as no
7952     longer _open_.  Configure the variables
7953     ‘org-agenda-todo-ignore-scheduled’ to exclude some or all scheduled
7954     items from the global TODO list, ‘org-agenda-todo-ignore-deadlines’
7955     to exclude some or all items with a deadline set,
7956     ‘org-agenda-todo-ignore-timestamp’ to exclude some or all items
7957     with an active timestamp other than a DEADLINE or a SCHEDULED
7958     timestamp and/or ‘org-agenda-todo-ignore-with-date’ to exclude
7959     items with at least one active timestamp.
7960
7961   • TODO items may have sublevels to break up the task into subtasks.
7962     In such cases it may be enough to list only the highest level TODO
7963     headline and omit the sublevels from the global list.  Configure
7964     the variable ‘org-agenda-todo-list-sublevels’ to get this behavior.
7965
7966
7967File: org.info,  Node: Matching tags and properties,  Next: Search view,  Prev: Global TODO list,  Up: Built-in Agenda Views
7968
796911.3.3 Matching tags and properties
7970-----------------------------------
7971
7972If headlines in the agenda files are marked with _tags_ (see *note
7973Tags::), or have properties (see *note Properties and Columns::), you
7974can select headlines based on this metadata and collect them into an
7975agenda buffer.  The match syntax described here also applies when
7976creating sparse trees with ‘C-c / m’.
7977
7978‘M-x org-agenda m’ (‘org-tags-view’)
7979     Produce a list of all headlines that match a given set of tags.
7980     The command prompts for a selection criterion, which is a boolean
7981     logic expression with tags, like ‘+work+urgent-withboss’ or
7982     ‘work|home’ (see *note Tags::).  If you often need a specific
7983     search, define a custom command for it (see *note Agenda
7984     Dispatcher::).
7985
7986‘M-x org-agenda M’ (‘org-tags-view’)
7987     Like ‘m’, but only select headlines that are also TODO items and
7988     force checking subitems (see the variable
7989     ‘org-tags-match-list-sublevels’).  To exclude scheduled/deadline
7990     items, see the variable
7991     ‘org-agenda-tags-todo-honor-ignore-options’.  Matching specific
7992     TODO keywords together with a tags match is also possible, see
7993     *note Tag Searches::.
7994
7995   The commands available in the tags list are described in *note Agenda
7996Commands::.
7997
7998   A search string can use Boolean operators ‘&’ for AND and ‘|’ for OR.
7999‘&’ binds more strongly than ‘|’.  Parentheses are currently not
8000implemented.  Each element in the search is either a tag, a regular
8001expression matching tags, or an expression like ‘PROPERTY OPERATOR
8002VALUE’ with a comparison operator, accessing a property value.  Each
8003element may be preceded by ‘-’ to select against it, and ‘+’ is
8004syntactic sugar for positive selection.  The AND operator ‘&’ is
8005optional when ‘+’ or ‘-’ is present.  Here are some examples, using only
8006tags.
8007
8008‘+work-boss’
8009     Select headlines tagged ‘work’, but discard those also tagged
8010     ‘boss’.
8011
8012‘work|laptop’
8013     Selects lines tagged ‘work’ or ‘laptop’.
8014
8015‘work|laptop+night’
8016     Like before, but require the ‘laptop’ lines to be tagged also
8017     ‘night’.
8018
8019   Instead of a tag, you may also specify a regular expression enclosed
8020in curly braces.  For example, ‘work+{^boss.*}’ matches headlines that
8021contain the tag ‘:work:’ and any tag _starting_ with ‘boss’.
8022
8023   Group tags (see *note Tag Hierarchy::) are expanded as regular
8024expressions.  E.g., if ‘work’ is a group tag for the group
8025‘:work:lab:conf:’, then searching for ‘work’ also searches for
8026‘{\(?:work\|lab\|conf\)}’ and searching for ‘-work’ searches for all
8027headlines but those with one of the tags in the group (i.e.,
8028‘-{\(?:work\|lab\|conf\)}’).
8029
8030   You may also test for properties (see *note Properties and Columns::)
8031at the same time as matching tags.  The properties may be real
8032properties, or special properties that represent other metadata (see
8033*note Special Properties::).  For example, the property ‘TODO’
8034represents the TODO keyword of the entry.  Or, the property ‘LEVEL’
8035represents the level of an entry.  So searching
8036‘+LEVEL=3+boss-TODO​="DONE"’ lists all level three headlines that have
8037the tag ‘boss’ and are _not_ marked with the TODO keyword ‘DONE’.  In
8038buffers with ‘org-odd-levels-only’ set, ‘LEVEL’ does not count the
8039number of stars, but ‘LEVEL=2’ corresponds to 3 stars etc.
8040
8041   Here are more examples:
8042
8043‘work+TODO​="WAITING"’
8044     Select ‘work’-tagged TODO lines with the specific TODO keyword
8045     ‘WAITING’.
8046
8047‘work+TODO​="WAITING"|home+TODO​="WAITING"’
8048     Waiting tasks both at work and at home.
8049
8050   When matching properties, a number of different operators can be used
8051to test the value of a property.  Here is a complex example:
8052
8053     +work-boss+PRIORITY="A"+Coffee="unlimited"+Effort<2
8054              +With={Sarah|Denny}+SCHEDULED>="<2008-10-11>"
8055
8056The type of comparison depends on how the comparison value is written:
8057
8058   • If the comparison value is a plain number, a numerical comparison
8059     is done, and the allowed operators are ‘<’, ‘=’, ‘>’, ‘<=’, ‘>=’,
8060     and ‘<>’.
8061
8062   • If the comparison value is enclosed in double-quotes, a string
8063     comparison is done, and the same operators are allowed.
8064
8065   • If the comparison value is enclosed in double-quotes _and_ angular
8066     brackets (like ‘DEADLINE<​="<2008-12-24 18:30>"’), both values are
8067     assumed to be date/time specifications in the standard Org way, and
8068     the comparison is done accordingly.  Valid values also include
8069     ‘"<now>"’ for now (including time), ‘"<today>"’, and ‘"<tomorrow>"’
8070     for these days at 0:00 hours, i.e., without a time specification.
8071     You can also use strings like ‘"<+5d>"’ or ‘"<-2m>"’ with units
8072     ‘d’, ‘w’, ‘m’, and ‘y’ for day, week, month, and year,
8073     respectively.
8074
8075   • If the comparison value is enclosed in curly braces, a regexp match
8076     is performed, with ‘=’ meaning that the regexp matches the property
8077     value, and ‘<>’ meaning that it does not match.
8078
8079   So the search string in the example finds entries tagged ‘work’ but
8080not ‘boss’, which also have a priority value ‘A’, a ‘Coffee’ property
8081with the value ‘unlimited’, an ‘EFFORT’ property that is numerically
8082smaller than 2, a ‘With’ property that is matched by the regular
8083expression ‘Sarah|Denny’, and that are scheduled on or after October 11,
80842008.
8085
8086   You can configure Org mode to use property inheritance during a
8087search, but beware that this can slow down searches considerably.  See
8088*note Property Inheritance::, for details.
8089
8090   For backward compatibility, and also for typing speed, there is also
8091a different way to test TODO states in a search.  For this, terminate
8092the tags/property part of the search string (which may include several
8093terms connected with ‘|’) with a ‘/’ and then specify a Boolean
8094expression just for TODO keywords.  The syntax is then similar to that
8095for tags, but should be applied with care: for example, a positive
8096selection on several TODO keywords cannot meaningfully be combined with
8097boolean AND.  However, _negative selection_ combined with AND can be
8098meaningful.  To make sure that only lines are checked that actually have
8099any TODO keyword (resulting in a speed-up), use ‘M-x org-agenda M’, or
8100equivalently start the TODO part after the slash with ‘!’.  Using ‘M-x
8101org-agenda M’ or ‘/!’ does not match TODO keywords in a DONE state.
8102Examples:
8103
8104work/WAITING8105     Same as ‘work+TODO​="WAITING"’.
8106
8107‘work/!-WAITING-NEXT’
8108     Select ‘work’-tagged TODO lines that are neither ‘WAITING’ nor
8109     ‘NEXT’.
8110
8111‘work/!+WAITING|+NEXT’
8112     Select ‘work’-tagged TODO lines that are either ‘WAITING’ or
8113     ‘NEXT’.
8114
8115
8116File: org.info,  Node: Search view,  Next: Stuck projects,  Prev: Matching tags and properties,  Up: Built-in Agenda Views
8117
811811.3.4 Search view
8119------------------
8120
8121This agenda view is a general text search facility for Org mode entries.
8122It is particularly useful to find notes.
8123
8124‘M-x org-agenda s’ (‘org-search-view’)
8125     This is a special search that lets you select entries by matching a
8126     substring or specific words using a boolean logic.
8127
8128   For example, the search string ‘computer equipment’ matches entries
8129that contain ‘computer equipment’ as a substring, even if the two words
8130are separated by more space or a line break.
8131
8132   Search view can also search for specific keywords in the entry, using
8133Boolean logic.  The search string ‘+computer +wifi -ethernet
8134-{8\.11[bg]}’ matches note entries that contain the keywords ‘computer’
8135and ‘wifi’, but not the keyword ‘ethernet’, and which are also not
8136matched by the regular expression ‘8\.11[bg]’, meaning to exclude both
8137‘8.11b’ and ‘8.11g’.  The first ‘+’ is necessary to turn on boolean
8138search, other ‘+’ characters are optional.  For more details, see the
8139docstring of the command ‘org-search-view’.
8140
8141   You can incrementally and conveniently adjust a boolean search from
8142the agenda search view with the following keys
8143
8144‘[’     Add a positive search word
8145‘]’     Add a negative search word
8146‘{’     Add a positive regular expression
8147‘}’     Add a negative regular expression
8148
8149   Note that in addition to the agenda files, this command also searches
8150the files listed in ‘org-agenda-text-search-extra-files’.
8151
8152
8153File: org.info,  Node: Stuck projects,  Prev: Search view,  Up: Built-in Agenda Views
8154
815511.3.5 Stuck projects
8156---------------------
8157
8158If you are following a system like David Allen’s GTD to organize your
8159work, one of the “duties” you have is a regular review to make sure that
8160all projects move along.  A _stuck_ project is a project that has no
8161defined next actions, so it never shows up in the TODO lists Org mode
8162produces.  During the review, you need to identify such projects and
8163define next actions for them.
8164
8165‘M-x org-agenda #’ (‘org-agenda-list-stuck-projects’)
8166     List projects that are stuck.
8167
8168‘M-x org-agenda !’
8169     Customize the variable ‘org-stuck-projects’ to define what a stuck
8170     project is and how to find it.
8171
8172   You almost certainly need to configure this view before it works for
8173you.  The built-in default assumes that all your projects are level-2
8174headlines, and that a project is not stuck if it has at least one entry
8175marked with a TODO keyword ‘TODO’ or ‘NEXT’ or ‘NEXTACTION’.
8176
8177   Let’s assume that you, in your own way of using Org mode, identify
8178projects with a tag ‘:PROJECT:’, and that you use a TODO keyword ‘MAYBE’
8179to indicate a project that should not be considered yet.  Let’s further
8180assume that the TODO keyword ‘DONE’ marks finished projects, and that
8181‘NEXT’ and ‘TODO’ indicate next actions.  The tag ‘:@shop:’ indicates
8182shopping and is a next action even without the NEXT tag.  Finally, if
8183the project contains the special word ‘IGNORE’ anywhere, it should not
8184be listed either.  In this case you would start by identifying eligible
8185projects with a tags/TODO match (see *note Tag Searches::)
8186‘+PROJECT/-MAYBE-DONE’, and then check for ‘TODO’, ‘NEXT’, ‘@shop’, and
8187‘IGNORE’ in the subtree to identify projects that are not stuck.  The
8188correct customization for this is:
8189
8190     (setq org-stuck-projects
8191           '("+PROJECT/-MAYBE-DONE" ("NEXT" "TODO") ("@shop")
8192             "\\<IGNORE\\>"))
8193
8194   Note that if a project is identified as non-stuck, the subtree of
8195this entry is searched for stuck projects.
8196
8197
8198File: org.info,  Node: Presentation and Sorting,  Next: Agenda Commands,  Prev: Built-in Agenda Views,  Up: Agenda Views
8199
820011.4 Presentation and Sorting
8201=============================
8202
8203Before displaying items in an agenda view, Org mode visually prepares
8204the items and sorts them.  Each item occupies a single line.  The line
8205starts with a _prefix_ that contains the _category_ (see *note
8206Categories::) of the item and other important information.  You can
8207customize in which column tags are displayed through
8208‘org-agenda-tags-column’.  You can also customize the prefix using the
8209option ‘org-agenda-prefix-format’.  This prefix is followed by a
8210cleaned-up version of the outline headline associated with the item.
8211
8212* Menu:
8213
8214* Categories::                   Not all tasks are equal.
8215* Time-of-day specifications::   How the agenda knows the time.
8216* Sorting of agenda items::      The order of things.
8217* Filtering/limiting agenda items:: Dynamically narrow the agenda.
8218
8219
8220File: org.info,  Node: Categories,  Next: Time-of-day specifications,  Up: Presentation and Sorting
8221
822211.4.1 Categories
8223-----------------
8224
8225The category is a broad label assigned to each agenda item.  By default,
8226the category is simply derived from the file name, but you can also
8227specify it with a special line in the buffer, like this:
8228
8229     #+CATEGORY: Thesis
8230
8231   If you would like to have a special category for a single entry or a
8232(sub)tree, give the entry a ‘CATEGORY’ property with the special
8233category you want to apply as the value.
8234
8235   The display in the agenda buffer looks best if the category is not
8236longer than 10 characters.  You can set up icons for category by
8237customizing the ‘org-agenda-category-icon-alist’ variable.
8238
8239
8240File: org.info,  Node: Time-of-day specifications,  Next: Sorting of agenda items,  Prev: Categories,  Up: Presentation and Sorting
8241
824211.4.2 Time-of-day specifications
8243---------------------------------
8244
8245Org mode checks each agenda item for a time-of-day specification.  The
8246time can be part of the timestamp that triggered inclusion into the
8247agenda, for example
8248
8249     <2005-05-10 Tue 19:00>
8250
8251Time ranges can be specified with two timestamps:
8252
8253     <2005-05-10 Tue 20:30>--<2005-05-10 Tue 22:15>
8254
8255   In the headline of the entry itself, a time(range)—like ‘12:45’ or a
8256‘8:30-1pm’—may also appear as plain text(1).
8257
8258   If the agenda integrates the Emacs diary (see *note Weekly/daily
8259agenda::), time specifications in diary entries are recognized as well.
8260
8261   For agenda display, Org mode extracts the time and displays it in a
8262standard 24 hour format as part of the prefix.  The example times in the
8263previous paragraphs would end up in the agenda like this:
8264
8265      8:30-13:00 Arthur Dent lies in front of the bulldozer
8266     12:45...... Ford Prefect arrives and takes Arthur to the pub
8267     19:00...... The Vogon reads his poem
8268     20:30-22:15 Marvin escorts the Hitchhikers to the bridge
8269
8270   If the agenda is in single-day mode, or for the display of today, the
8271timed entries are embedded in a time grid, like
8272
8273      8:00...... ------------------
8274      8:30-13:00 Arthur Dent lies in front of the bulldozer
8275     10:00...... ------------------
8276     12:00...... ------------------
8277     12:45...... Ford Prefect arrives and takes Arthur to the pub
8278     14:00...... ------------------
8279     16:00...... ------------------
8280     18:00...... ------------------
8281     19:00...... The Vogon reads his poem
8282     20:00...... ------------------
8283     20:30-22:15 Marvin escorts the Hitchhikers to the bridge
8284
8285   The time grid can be turned on and off with the variable
8286‘org-agenda-use-time-grid’, and can be configured with
8287‘org-agenda-time-grid’.
8288
8289   ---------- Footnotes ----------
8290
8291   (1) You can, however, disable this by setting
8292‘org-agenda-search-headline-for-time’ variable to a ‘nil’ value.
8293
8294
8295File: org.info,  Node: Sorting of agenda items,  Next: Filtering/limiting agenda items,  Prev: Time-of-day specifications,  Up: Presentation and Sorting
8296
829711.4.3 Sorting of agenda items
8298------------------------------
8299
8300Before being inserted into a view, the items are sorted.  How this is
8301done depends on the type of view.
8302
8303   • For the daily/weekly agenda, the items for each day are sorted.
8304     The default order is to first collect all items containing an
8305     explicit time-of-day specification.  These entries are shown at the
8306     beginning of the list, as a _schedule_ for the day.  After that,
8307     items remain grouped in categories, in the sequence given by
8308     ‘org-agenda-files’.  Within each category, items are sorted by
8309     priority (see *note Priorities::), which is composed of the base
8310     priority (2000 for priority ‘A’, 1000 for ‘B’, and 0 for ‘C’), plus
8311     additional increments for overdue scheduled or deadline items.
8312
8313   • For the TODO list, items remain in the order of categories, but
8314     within each category, sorting takes place according to priority
8315     (see *note Priorities::).  The priority used for sorting derives
8316     from the priority cookie, with additions depending on how close an
8317     item is to its due or scheduled date.
8318
8319   • For tags matches, items are not sorted at all, but just appear in
8320     the sequence in which they are found in the agenda files.
8321
8322   Sorting can be customized using the variable
8323‘org-agenda-sorting-strategy’, and may also include criteria based on
8324the estimated effort of an entry (see *note Effort Estimates::).
8325
8326
8327File: org.info,  Node: Filtering/limiting agenda items,  Prev: Sorting of agenda items,  Up: Presentation and Sorting
8328
832911.4.4 Filtering/limiting agenda items
8330--------------------------------------
8331
8332Agenda built-in or custom commands are statically defined.  Agenda
8333filters and limits allow to flexibly narrow down the list of agenda
8334entries.
8335
8336   _Filters_ only change the visibility of items, are very fast and are
8337mostly used interactively(1).  You can switch quickly between different
8338filters without having to recreate the agenda.  _Limits_ on the other
8339hand take effect before the agenda buffer is populated, so they are
8340mostly useful when defined as local variables within custom agenda
8341commands.
8342
8343Filtering in the agenda
8344.......................
8345
8346The general filtering command is ‘org-agenda-filter’, bound to ‘/’.
8347Before we introduce it, we describe commands for individual filter
8348types.  All filtering commands handle prefix arguments in the same way:
8349A single ‘C-u’ prefix negates the filter, so it removes lines selected
8350by the filter.  A double prefix adds the new filter condition to the
8351one(s) already in place, so filter elements are accumulated.
8352
8353‘\’ (‘org-agenda-filter-by-tag’)
8354     Filter the agenda view with respect to a tag.  You are prompted for
8355     a tag selection letter; ‘<SPC>’ means any tag at all.  Pressing
8356     ‘<TAB>’ at that prompt offers completion to select a tag, including
8357     any tags that do not have a selection character.  The command then
8358     hides all entries that do not contain or inherit this tag.
8359     Pressing ‘+’ or ‘-’ at the prompt switches between filtering for
8360     and against the next tag.  To clear the filter, press ‘\’ twice
8361     (once to call the command again, and once at the prompt).
8362
8363‘<’ (‘org-agenda-filter-by-category’)
8364     Filter by category of the line at point, and show only entries with
8365     this category.  When called with a prefix argument, hide all
8366     entries with the category at point.  To clear the filter, call this
8367     command again by pressing ‘<’.
8368
8369‘=’ (‘org-agenda-filter-by-regexp’)
8370     Filter the agenda view by a regular expression: only show agenda
8371     entries matching the regular expression the user entered.  To clear
8372     the filter, call the command again by pressing ‘=’.
8373
8374‘_’ (‘org-agenda-filter-by-effort’)
8375     Filter the agenda view with respect to effort estimates, so select
8376     tasks that take the right amount of time.  You first need to set up
8377     a list of efforts globally, for example
8378
8379          (setq org-global-properties
8380                '(("Effort_ALL". "0 0:10 0:30 1:00 2:00 3:00 4:00")))
8381
8382     You can then filter for an effort by first typing an operator, one
8383     of ‘<’, ‘>’ and ‘=’, and then the one-digit index of an effort
8384     estimate in your array of allowed values, where ‘0’ means the 10th
8385     value.  The filter then restricts to entries with effort
8386     smaller-or-equal, equal, or larger-or-equal than the selected
8387     value.  For application of the operator, entries without a defined
8388     effort are treated according to the value of
8389     ‘org-sort-agenda-noeffort-is-high’.  To clear the filter, press ‘_’
8390     twice (once to call the command again, and once at the first
8391     prompt).
8392
8393‘^’ (‘org-agenda-filter-by-top-headline’)
8394     Filter the current agenda view and only display items that fall
8395     under the same top-level headline as the current entry.  To clear
8396     the filter, call this command again by pressing ‘^’.
8397
8398‘/’ (‘org-agenda-filter’)
8399     This is the unified interface to four of the five filter methods
8400     described above.  At the prompt, specify different filter elements
8401     in a single string, with full completion support.  For example,
8402
8403          +work-John+<0:10-/plot/
8404
8405     selects entries with category ‘work’ and effort estimates below 10
8406     minutes, and deselects entries with tag ‘John’ or matching the
8407     regexp ‘plot’.  You can leave ‘+’ out if that does not lead to
8408     ambiguities.  The sequence of elements is arbitrary.  The filter
8409     syntax assumes that there is no overlap between categories and
8410     tags.  Otherwise, tags take priority.  If you reply to the prompt
8411     with the empty string, all filtering is removed.  If a filter is
8412     specified, it replaces all current filters.  But if you call the
8413     command with a double prefix argument, or if you add an additional
8414     ‘+’ (e.g., ‘++work’) to the front of the string, the new filter
8415     elements are added to the active ones.  A single prefix argument
8416     applies the entire filter in a negative sense.
8417
8418‘|’ (‘org-agenda-filter-remove-all’)
8419     Remove all filters in the current agenda view.
8420
8421Computed tag filtering
8422......................
8423
8424If the variable ‘org-agenda-auto-exclude-function’ is set to a
8425user-defined function, that function can select tags that should be used
8426as a tag filter when requested.  The function will be called with
8427lower-case versions of all tags represented in the current view.  The
8428function should return ‘"-tag"’ if the filter should remove entries with
8429that tag, ‘"+tag"’ if only entries with this tag should be kept, or
8430‘nil’ if that tag is irrelevant.  For example, let’s say you use a ‘Net’
8431tag to identify tasks which need network access, an ‘Errand’ tag for
8432errands in town, and a ‘Call’ tag for making phone calls.  You could
8433auto-exclude these tags based on the availability of the Internet, and
8434outside of business hours, with something like this:
8435
8436     (defun my-auto-exclude-fn (tag)
8437       (when (cond ((string= tag "net")
8438                    (/= 0 (call-process "/sbin/ping" nil nil nil
8439                                        "-c1" "-q" "-t1" "mail.gnu.org")))
8440                   ((member tag '("errand" "call"))
8441                    (let ((hr (nth 2 (decode-time))))
8442                      (or (< hr 8) (> hr 21)))))
8443         (concat "-" tag)))
8444
8445     (setq org-agenda-auto-exclude-function #'my-auto-exclude-fn)
8446
8447   You can apply this self-adapting filter by using a triple prefix
8448argument to ‘org-agenda-filter’, i.e. press ‘C-u C-u C-u /’, or by
8449pressing ‘<RET>’ in ‘org-agenda-filter-by-tag’.
8450
8451Setting limits for the agenda
8452.............................
8453
8454Here is a list of options that you can set, either globally, or locally
8455in your custom agenda views (see *note Custom Agenda Views::).
8456
8457‘org-agenda-max-entries’
8458     Limit the number of entries.
8459
8460‘org-agenda-max-effort’
8461     Limit the duration of accumulated efforts (as minutes).
8462
8463‘org-agenda-max-todos’
8464     Limit the number of entries with TODO keywords.
8465
8466‘org-agenda-max-tags’
8467     Limit the number of tagged entries.
8468
8469   When set to a positive integer, each option excludes entries from
8470other categories: for example, ‘(setq org-agenda-max-effort 100)’ limits
8471the agenda to 100 minutes of effort and exclude any entry that has no
8472effort property.  If you want to include entries with no effort
8473property, use a negative value for ‘org-agenda-max-effort’.  One useful
8474setup is to use ‘org-agenda-max-entries’ locally in a custom command.
8475For example, this custom command displays the next five entries with a
8476‘NEXT’ TODO keyword.
8477
8478     (setq org-agenda-custom-commands
8479           '(("n" todo "NEXT"
8480              ((org-agenda-max-entries 5)))))
8481
8482   Once you mark one of these five entry as DONE, rebuilding the agenda
8483will again the next five entries again, including the first entry that
8484was excluded so far.
8485
8486   You can also dynamically set temporary limits, which are lost when
8487rebuilding the agenda:
8488
8489‘~’ (‘org-agenda-limit-interactively’)
8490     This prompts for the type of limit to apply and its value.
8491
8492   ---------- Footnotes ----------
8493
8494   (1) Custom agenda commands can preset a filter by binding one of the
8495variables ‘org-agenda-tag-filter-preset’,
8496‘org-agenda-category-filter-preset’, ‘org-agenda-effort-filter-preset’
8497or ‘org-agenda-regexp-filter-preset’ as an option.  This filter is then
8498applied to the view and persists as a basic filter through refreshes and
8499more secondary filtering.  The filter is a global property of the entire
8500agenda view—in a block agenda, you should only set this in the global
8501options section, not in the section of an individual block.
8502
8503
8504File: org.info,  Node: Agenda Commands,  Next: Custom Agenda Views,  Prev: Presentation and Sorting,  Up: Agenda Views
8505
850611.5 Commands in the Agenda Buffer
8507==================================
8508
8509Entries in the agenda buffer are linked back to the Org file or diary
8510file where they originate.  You are not allowed to edit the agenda
8511buffer itself, but commands are provided to show and jump to the
8512original entry location, and to edit the Org files “remotely” from the
8513agenda buffer.  In this way, all information is stored only once,
8514removing the risk that your agenda and note files may diverge.
8515
8516   Some commands can be executed with mouse clicks on agenda lines.  For
8517the other commands, point needs to be in the desired line.
8518
8519Motion
8520------
8521
8522‘n’ (‘org-agenda-next-line’)
8523     Next line (same as ‘<DOWN>’ and ‘C-n’).
8524
8525‘p’ (‘org-agenda-previous-line’)
8526     Previous line (same as ‘<UP>’ and ‘C-p’).
8527
8528View/Go to Org file
8529-------------------
8530
8531‘<SPC>’ or ‘mouse-3’ (‘org-agenda-show-and-scroll-up’)
8532     Display the original location of the item in another window.  With
8533     a prefix argument, make sure that drawers stay folded.
8534
8535‘L’ (‘org-agenda-recenter’)
8536     Display original location and recenter that window.
8537
8538‘<TAB>’ or ‘mouse-2’ (‘org-agenda-goto’)
8539     Go to the original location of the item in another window.
8540
8541‘<RET>’ (‘org-agenda-switch-to’)
8542     Go to the original location of the item and delete other windows.
8543
8544‘F’ (‘org-agenda-follow-mode’)
8545     Toggle Follow mode.  In Follow mode, as you move point through the
8546     agenda buffer, the other window always shows the corresponding
8547     location in the Org file.  The initial setting for this mode in new
8548     agenda buffers can be set with the variable
8549     ‘org-agenda-start-with-follow-mode’.
8550
8551‘C-c C-x b’ (‘org-agenda-tree-to-indirect-buffer’)
8552     Display the entire subtree of the current item in an indirect
8553     buffer.  With a numeric prefix argument N, go up to level N and
8554     then take that tree.  If N is negative, go up that many levels.
8555     With a ‘C-u’ prefix, do not remove the previously used indirect
8556     buffer.
8557
8558‘C-c C-o’ (‘org-agenda-open-link’)
8559     Follow a link in the entry.  This offers a selection of any links
8560     in the text belonging to the referenced Org node.  If there is only
8561     one link, follow it without a selection prompt.
8562
8563Change display
8564--------------
8565
8566‘A’
8567     Interactively select another agenda view and append it to the
8568     current view.
8569
8570‘o’
8571     Delete other windows.
8572
8573‘v d’ or short ‘d’ (‘org-agenda-day-view’)
8574     Switch to day view.  When switching to day view, this setting
8575     becomes the default for subsequent agenda refreshes.  A numeric
8576     prefix argument may be used to jump directly to a specific day of
8577     the year.  For example, ‘32 d’ jumps to February 1st.  When setting
8578     day view, a year may be encoded in the prefix argument as well.
8579     For example, ‘200712 d’ jumps to January 12, 2007.  If such a year
8580     specification has only one or two digits, it is expanded into one
8581     of the 30 next years or the last 69 years.
8582
8583‘v w’ or short ‘w’ (‘org-agenda-week-view’)
8584     Switch to week view.  When switching week view, this setting
8585     becomes the default for subsequent agenda refreshes.  A numeric
8586     prefix argument may be used to jump directly to a specific day of
8587     the ISO week.  For example ‘9 w’ to ISO week number 9.  When
8588     setting week view, a year may be encoded in the prefix argument as
8589     well.  For example, ‘200712 w’ jumps to week 12 in 2007.  If such a
8590     year specification has only one or two digits, it is expanded into
8591     one of the 30 next years or the last 69 years.
8592
8593‘v m’ (‘org-agenda-month-view’)
8594     Switch to month view.  Because month views are slow to create, they
8595     do not become the default for subsequent agenda refreshes.  A
8596     numeric prefix argument may be used to jump directly to a specific
8597     day of the month.  When setting month view, a year may be encoded
8598     in the prefix argument as well.  For example, ‘200712 m’ jumps to
8599     December, 2007.  If such a year specification has only one or two
8600     digits, it is expanded into one of the 30 next years or the last 69
8601     years.
8602
8603‘v y’ (‘org-agenda-year-view’)
8604     Switch to year view.  Because year views are slow to create, they
8605     do not become the default for subsequent agenda refreshes.  A
8606     numeric prefix argument may be used to jump directly to a specific
8607     day of the year.
8608
8609‘v <SPC>’ (‘org-agenda-reset-view’)
8610     Reset the current view to ‘org-agenda-span’.
8611
8612‘f’ (‘org-agenda-later’)
8613     Go forward in time to display the span following the current one.
8614     For example, if the display covers a week, switch to the following
8615     week.  With a prefix argument, repeat that many times.
8616
8617‘b’ (‘org-agenda-earlier’)
8618     Go backward in time to display earlier dates.
8619
8620‘.’ (‘org-agenda-goto-today’)
8621     Go to today.
8622
8623‘j’ (‘org-agenda-goto-date’)
8624     Prompt for a date and go there.
8625
8626‘J’ (‘org-agenda-clock-goto’)
8627     Go to the currently clocked-in task _in the agenda buffer_.
8628
8629‘D’ (‘org-agenda-toggle-diary’)
8630     Toggle the inclusion of diary entries.  See *note Weekly/daily
8631     agenda::.
8632
8633‘v l’ or ‘v L’ or short ‘l’ (‘org-agenda-log-mode’)
8634     Toggle Logbook mode.  In Logbook mode, entries that were marked as
8635     done while logging was on (see the variable ‘org-log-done’) are
8636     shown in the agenda, as are entries that have been clocked on that
8637     day.  You can configure the entry types that should be included in
8638     log mode using the variable ‘org-agenda-log-mode-items’.  When
8639     called with a ‘C-u’ prefix argument, show all possible logbook
8640     entries, including state changes.  When called with two prefix
8641     arguments ‘C-u C-u’, show only logging information, nothing else.
8642     ‘v L’ is equivalent to ‘C-u v l’.
8643
8644‘v [’ or short ‘[’ (‘org-agenda-manipulate-query-add’)
8645     Include inactive timestamps into the current view.  Only for
8646     weekly/daily agenda.
8647
8648‘v a’ (‘org-agenda-archives-mode’)
8649     Toggle Archives mode.  In Archives mode, trees that are archived
8650     (see *note Internal archiving::) are also scanned when producing
8651     the agenda.  To exit archives mode, press ‘v a’ again.
8652
8653‘v A’
8654     Toggle Archives mode.  Include all archive files as well.
8655
8656‘v R’ or short ‘R’ (‘org-agenda-clockreport-mode’)
8657     Toggle Clockreport mode.  In Clockreport mode, the daily/weekly
8658     agenda always shows a table with the clocked times for the time
8659     span and file scope covered by the current agenda view.  The
8660     initial setting for this mode in new agenda buffers can be set with
8661     the variable ‘org-agenda-start-with-clockreport-mode’.  By using a
8662     prefix argument when toggling this mode (i.e., ‘C-u R’), the clock
8663     table does not show contributions from entries that are hidden by
8664     agenda filtering(1).  See also the variable
8665     ‘org-clock-report-include-clocking-task’.
8666
8667‘v c’
8668     Show overlapping clock entries, clocking gaps, and other clocking
8669     problems in the current agenda range.  You can then visit clocking
8670     lines and fix them manually.  See the variable
8671     ‘org-agenda-clock-consistency-checks’ for information on how to
8672     customize the definition of what constituted a clocking problem.
8673     To return to normal agenda display, press ‘l’ to exit Logbook mode.
8674
8675‘v E’ or short ‘E’ (‘org-agenda-entry-text-mode’)
8676     Toggle entry text mode.  In entry text mode, a number of lines from
8677     the Org outline node referenced by an agenda line are displayed
8678     below the line.  The maximum number of lines is given by the
8679     variable ‘org-agenda-entry-text-maxlines’.  Calling this command
8680     with a numeric prefix argument temporarily modifies that number to
8681     the prefix value.
8682
8683‘G’ (‘org-agenda-toggle-time-grid’)
8684     Toggle the time grid on and off.  See also the variables
8685     ‘org-agenda-use-time-grid’ and ‘org-agenda-time-grid’.
8686
8687‘r’ (‘org-agenda-redo’)
8688‘g’
8689     Recreate the agenda buffer, for example to reflect the changes
8690     after modification of the timestamps of items with ‘S-<LEFT>’ and
8691     ‘S-<RIGHT>’.  When the buffer is the global TODO list, a prefix
8692     argument is interpreted to create a selective list for a specific
8693     TODO keyword.
8694
8695‘C-x C-s’ or short ‘s’ (‘org-save-all-org-buffers’)
8696     Save all Org buffers in the current Emacs session, and also the
8697     locations of IDs.
8698
8699‘C-c C-x C-c’ (‘org-agenda-columns’)
8700     Invoke column view (see *note Column View::) in the agenda buffer.
8701     The column view format is taken from the entry at point, or, if
8702     there is no entry at point, from the first entry in the agenda
8703     view.  So whatever the format for that entry would be in the
8704     original buffer (taken from a property, from a ‘COLUMNS’ keyword,
8705     or from the default variable ‘org-columns-default-format’) is used
8706     in the agenda.
8707
8708‘C-c C-x >’ (‘org-agenda-remove-restriction-lock’)
8709     Remove the restriction lock on the agenda, if it is currently
8710     restricted to a file or subtree (see *note Agenda Files::).
8711
8712‘M-<UP>’ (‘org-agenda-drag-line-backward’)
8713     Drag the line at point backward one line.  With a numeric prefix
8714     argument, drag backward by that many lines.
8715
8716     Moving agenda lines does not persist after an agenda refresh and
8717     does not modify the contributing Org files.
8718
8719‘M-<DOWN>’ (‘org-agenda-drag-line-forward’)
8720     Drag the line at point forward one line.  With a numeric prefix
8721     argument, drag forward by that many lines.
8722
8723Remote editing
8724--------------
8725
8726‘0--9’
8727     Digit argument.
8728
8729‘C-_’ (‘org-agenda-undo’)
8730     Undo a change due to a remote editing command.  The change is
8731     undone both in the agenda buffer and in the remote buffer.
8732
8733‘t’ (‘org-agenda-todo’)
8734     Change the TODO state of the item, both in the agenda and in the
8735     original Org file.  A prefix arg is passed through to the
8736     ‘org-todo’ command, so for example a ‘C-u’ prefix are will trigger
8737     taking a note to document the state change.
8738
8739‘C-S-<RIGHT>’ (‘org-agenda-todo-nextset’)
8740     Switch to the next set of TODO keywords.
8741
8742‘C-S-<LEFT>’, ‘org-agenda-todo-previousset’
8743     Switch to the previous set of TODO keywords.
8744
8745‘C-k’ (‘org-agenda-kill’)
8746     Delete the current agenda item along with the entire subtree
8747     belonging to it in the original Org file.  If the text to be
8748     deleted remotely is longer than one line, the kill needs to be
8749     confirmed by the user.  See variable ‘org-agenda-confirm-kill’.
8750
8751‘C-c C-w’ (‘org-agenda-refile’)
8752     Refile the entry at point.
8753
8754‘C-c C-x C-a’ or short ‘a’ (‘org-agenda-archive-default-with-confirmation’)
8755     Archive the subtree corresponding to the entry at point using the
8756     default archiving command set in ‘org-archive-default-command’.
8757     When using the ‘a’ key, confirmation is required.
8758
8759‘C-c C-x a’ (‘org-agenda-toggle-archive-tag’)
8760     Toggle the archive tag (see *note Internal archiving::) for the
8761     current headline.
8762
8763‘C-c C-x A’ (‘org-agenda-archive-to-archive-sibling’)
8764     Move the subtree corresponding to the current entry to its _archive
8765     sibling_.
8766
8767‘C-c C-x C-s’ or short ‘$’ (‘org-agenda-archive’)
8768     Archive the subtree corresponding to the current headline.  This
8769     means the entry is moved to the configured archive location, most
8770     likely a different file.
8771
8772‘T’ (‘org-agenda-show-tags’)
8773     Show all tags associated with the current item.  This is useful if
8774     you have turned off ‘org-agenda-show-inherited-tags’, but still
8775     want to see all tags of a headline occasionally.
8776
8777‘:’ (‘org-agenda-set-tags’)
8778     Set tags for the current headline.  If there is an active region in
8779     the agenda, change a tag for all headings in the region.
8780
8781‘,’ (‘org-agenda-priority’)
8782     Set the priority for the current item.  Org mode prompts for the
8783     priority character.  If you reply with ‘<SPC>’, the priority cookie
8784     is removed from the entry.
8785
8786‘+’ or ‘S-<UP>’ (‘org-agenda-priority-up’)
8787     Increase the priority of the current item.  The priority is changed
8788     in the original buffer, but the agenda is not resorted.  Use the
8789     ‘r’ key for this.
8790
8791‘-’ or ‘S-<DOWN>’ (‘org-agenda-priority-down’)
8792     Decrease the priority of the current item.
8793
8794‘C-c C-x e’ or short ‘e’ (‘org-agenda-set-effort’)
8795     Set the effort property for the current item.
8796
8797‘C-c C-z’ or short ‘z’ (‘org-agenda-add-note’)
8798     Add a note to the entry.  This note is recorded, and then filed to
8799     the same location where state change notes are put.  Depending on
8800     ‘org-log-into-drawer’, this may be inside a drawer.
8801
8802‘C-c C-a’ (‘org-attach’)
8803     Dispatcher for all command related to attachments.
8804
8805‘C-c C-s’ (‘org-agenda-schedule’)
8806     Schedule this item.  With a prefix argument, remove the scheduling
8807     timestamp
8808
8809‘C-c C-d’ (‘org-agenda-deadline’)
8810     Set a deadline for this item.  With a prefix argument, remove the
8811     deadline.
8812
8813‘S-<RIGHT>’ (‘org-agenda-do-date-later’)
8814     Change the timestamp associated with the current line by one day
8815     into the future.  If the date is in the past, the first call to
8816     this command moves it to today.  With a numeric prefix argument,
8817     change it by that many days.  For example, ‘3 6 5 S-<RIGHT>’
8818     changes it by a year.  With a ‘C-u’ prefix, change the time by one
8819     hour.  If you immediately repeat the command, it will continue to
8820     change hours even without the prefix argument.  With a double ‘C-u
8821     C-u’ prefix, do the same for changing minutes.  The stamp is
8822     changed in the original Org file, but the change is not directly
8823     reflected in the agenda buffer.  Use ‘r’ or ‘g’ to update the
8824     buffer.
8825
8826‘S-<LEFT>’ (‘org-agenda-do-date-earlier’)
8827     Change the timestamp associated with the current line by one day
8828     into the past.
8829
8830‘>’ (‘org-agenda-date-prompt’)
8831     Change the timestamp associated with the current line.  The key ‘>’
8832     has been chosen, because it is the same as ‘S-.’ on my keyboard.
8833
8834‘I’ (‘org-agenda-clock-in’)
8835     Start the clock on the current item.  If a clock is running
8836     already, it is stopped first.
8837
8838‘O’ (‘org-agenda-clock-out’)
8839     Stop the previously started clock.
8840
8841‘X’ (‘org-agenda-clock-cancel’)
8842     Cancel the currently running clock.
8843
8844‘J’ (‘org-agenda-clock-goto’)
8845     Jump to the running clock in another window.
8846
8847‘k’ (‘org-agenda-capture’)
8848     Like ‘org-capture’, but use the date at point as the default date
8849     for the capture template.  See ‘org-capture-use-agenda-date’ to
8850     make this the default behavior of ‘org-capture’.
8851
8852Bulk remote editing selected entries
8853------------------------------------
8854
8855‘m’ (‘org-agenda-bulk-mark’)
8856
8857     Mark the entry at point for bulk action.  If there is an active
8858     region in the agenda, mark the entries in the region.  With numeric
8859     prefix argument, mark that many successive entries.
8860
8861‘*’ (‘org-agenda-bulk-mark-all’)
8862
8863     Mark all visible agenda entries for bulk action.
8864
8865‘u’ (‘org-agenda-bulk-unmark’)
8866
8867     Unmark entry for bulk action.
8868
8869‘U’ (‘org-agenda-bulk-remove-all-marks’)
8870
8871     Unmark all marked entries for bulk action.
8872
8873‘M-m’ (‘org-agenda-bulk-toggle’)
8874
8875     Toggle mark of the entry at point for bulk action.
8876
8877‘M-*’ (‘org-agenda-bulk-toggle-all’)
8878
8879     Toggle mark of every entry for bulk action.
8880
8881‘%’ (‘org-agenda-bulk-mark-regexp’)
8882
8883     Mark entries matching a regular expression for bulk action.
8884
8885‘B’ (‘org-agenda-bulk-action’)
8886
8887     Bulk action: act on all marked entries in the agenda.  This prompts
8888     for another key to select the action to be applied.  The prefix
8889     argument to ‘B’ is passed through to the ‘s’ and ‘d’ commands, to
8890     bulk-remove these special timestamps.  By default, marks are
8891     removed after the bulk.  If you want them to persist, set
8892     ‘org-agenda-bulk-persistent-marks’ to ‘t’ or hit ‘p’ at the prompt.
8893
8894     ‘p’
8895          Toggle persistent marks.
8896
8897     ‘$’
8898          Archive all selected entries.
8899
8900     ‘A’
8901          Archive entries by moving them to their respective archive
8902          siblings.
8903
8904     ‘t’
8905          Change TODO state.  This prompts for a single TODO keyword and
8906          changes the state of all selected entries, bypassing blocking
8907          and suppressing logging notes—but not timestamps.
8908
8909     ‘+’
8910          Add a tag to all selected entries.
8911
8912     ‘-’
8913          Remove a tag from all selected entries.
8914
8915     ‘s’
8916          Schedule all items to a new date.  To shift existing schedule
8917          dates by a fixed number of days, use something starting with
8918          double plus at the prompt, for example ‘++8d’ or ‘++2w’.
8919
8920     ‘d’
8921          Set deadline to a specific date.
8922
8923     ‘r’
8924          Prompt for a single refile target and move all entries.  The
8925          entries are no longer in the agenda; refresh (‘g’) to bring
8926          them back.
8927
8928     ‘S’
8929          Reschedule randomly into the coming N days.  N is prompted
8930          for.  With a prefix argument (‘C-u B S’), scatter only across
8931          weekdays.
8932
8933     ‘f’
8934          Apply a function(2) to marked entries.  For example, the
8935          function below sets the ‘CATEGORY’ property of the entries to
8936          ‘web’.
8937
8938               (defun set-category ()
8939                 (interactive "P")
8940                 (let ((marker (or (org-get-at-bol 'org-hd-marker)
8941                                   (org-agenda-error))))
8942                   (org-with-point-at marker
8943                     (org-back-to-heading t)
8944                     (org-set-property "CATEGORY" "web"))))
8945
8946Calendar commands
8947-----------------
8948
8949‘c’ (‘org-agenda-goto-calendar’)
8950     Open the Emacs calendar and go to the date at point in the agenda.
8951
8952‘c’ (‘org-calendar-goto-agenda’)
8953     When in the calendar, compute and show the Org agenda for the date
8954     at point.
8955
8956‘i’ (‘org-agenda-diary-entry’)
8957
8958     Insert a new entry into the diary, using the date at point and (for
8959     block entries) the date at the mark.  This adds to the Emacs diary
8960     file(3), in a way similar to the ‘i’ command in the calendar.  The
8961     diary file pops up in another window, where you can add the entry.
8962
8963     If you configure ‘org-agenda-diary-file’ to point to an Org file,
8964     Org creates entries in that file instead.  Most entries are stored
8965     in a date-based outline tree that will later make it easy to
8966     archive appointments from previous months/years.  The tree is built
8967     under an entry with a ‘DATE_TREE’ property, or else with years as
8968     top-level entries.  Emacs prompts you for the entry text—if you
8969     specify it, the entry is created in ‘org-agenda-diary-file’ without
8970     further interaction.  If you directly press ‘<RET>’ at the prompt
8971     without typing text, the target file is shown in another window for
8972     you to finish the entry there.  See also the ‘k r’ command.
8973
8974‘M’ (‘org-agenda-phases-of-moon’)
8975     Show the phases of the moon for the three months around current
8976     date.
8977
8978‘S’ (‘org-agenda-sunrise-sunset’)
8979     Show sunrise and sunset times.  The geographical location must be
8980     set with calendar variables, see the documentation for the Emacs
8981     calendar.
8982
8983‘C’ (‘org-agenda-convert-date’)
8984     Convert the date at point into many other cultural and historic
8985     calendars.
8986
8987‘H’ (‘org-agenda-holidays’)
8988     Show holidays for three months around point date.
8989
8990Quit and exit
8991-------------
8992
8993‘q’ (‘org-agenda-quit’)
8994
8995     Quit agenda, remove the agenda buffer.
8996
8997‘x’ (‘org-agenda-exit’)
8998
8999     Exit agenda, remove the agenda buffer and all buffers loaded by
9000     Emacs for the compilation of the agenda.  Buffers created by the
9001     user to visit Org files are not removed.
9002
9003   ---------- Footnotes ----------
9004
9005   (1) Only tags filtering is respected here, effort filtering is
9006ignored.
9007
9008   (2) You can also create persistent custom functions through
9009‘org-agenda-bulk-custom-functions’.
9010
9011   (3) This file is parsed for the agenda when
9012‘org-agenda-include-diary’ is set.
9013
9014
9015File: org.info,  Node: Custom Agenda Views,  Next: Exporting Agenda Views,  Prev: Agenda Commands,  Up: Agenda Views
9016
901711.6 Custom Agenda Views
9018========================
9019
9020Custom agenda commands serve two purposes: to store and quickly access
9021frequently used TODO and tags searches, and to create special composite
9022agenda buffers.  Custom agenda commands are accessible through the
9023dispatcher (see *note Agenda Dispatcher::), just like the default
9024commands.
9025
9026* Menu:
9027
9028* Storing searches::             Type once, use often.
9029* Block agenda::                 All the stuff you need in a single buffer.
9030* Setting options::              Changing the rules.
9031
9032
9033File: org.info,  Node: Storing searches,  Next: Block agenda,  Up: Custom Agenda Views
9034
903511.6.1 Storing searches
9036-----------------------
9037
9038The first application of custom searches is the definition of keyboard
9039shortcuts for frequently used searches, either creating an agenda
9040buffer, or a sparse tree (the latter covering of course only the current
9041buffer).
9042
9043   Custom commands are configured in the variable
9044‘org-agenda-custom-commands’.  You can customize this variable, for
9045example by pressing ‘C’ from the agenda dispatcher (see *note Agenda
9046Dispatcher::).  You can also directly set it with Emacs Lisp in the
9047Emacs init file.  The following example contains all valid agenda views:
9048
9049     (setq org-agenda-custom-commands
9050           '(("x" agenda)
9051             ("y" agenda*)
9052             ("w" todo "WAITING")
9053             ("W" todo-tree "WAITING")
9054             ("u" tags "+boss-urgent")
9055             ("v" tags-todo "+boss-urgent")
9056             ("U" tags-tree "+boss-urgent")
9057             ("f" occur-tree "\\<FIXME\\>")
9058             ("h" . "HOME+Name tags searches") ;description for "h" prefix
9059             ("hl" tags "+home+Lisa")
9060             ("hp" tags "+home+Peter")
9061             ("hk" tags "+home+Kim")))
9062
9063   The initial string in each entry defines the keys you have to press
9064after the dispatcher command in order to access the command.  Usually
9065this is just a single character, but if you have many similar commands,
9066you can also define two-letter combinations where the first character is
9067the same in several combinations and serves as a prefix key(1).  The
9068second parameter is the search type, followed by the string or regular
9069expression to be used for the matching.  The example above will
9070therefore define:
9071
9072‘x’
9073     as a global search for agenda entries planned(2) this week/day.
9074
9075‘y’
9076     as the same search, but only for entries with an hour specification
9077     like ‘[h]h:mm’—think of them as appointments.
9078
9079‘w’
9080     as a global search for TODO entries with ‘WAITING’ as the TODO
9081     keyword.
9082
9083‘W’
9084     as the same search, but only in the current buffer and displaying
9085     the results as a sparse tree.
9086
9087‘u’
9088     as a global tags search for headlines tagged ‘boss’ but not
9089     ‘urgent’.
9090
9091‘v’
9092     The same search, but limiting it to headlines that are also TODO
9093     items.
9094
9095‘U’
9096     as the same search, but only in the current buffer and displaying
9097     the result as a sparse tree.
9098
9099‘f’
9100     to create a sparse tree (again, current buffer only) with all
9101     entries containing the word ‘FIXME’.
9102
9103‘h’
9104     as a prefix command for a ‘HOME’ tags search where you have to
9105     press an additional key (‘l’, ‘p’ or ‘k’) to select a name (Lisa,
9106     Peter, or Kim) as additional tag to match.
9107
9108   Note that ‘*-tree’ agenda views need to be called from an Org buffer
9109as they operate on the current buffer only.
9110
9111   ---------- Footnotes ----------
9112
9113   (1) You can provide a description for a prefix key by inserting a
9114cons cell with the prefix and the description.
9115
9116   (2) _Planned_ means here that these entries have some planning
9117information attached to them, like a time-stamp, a scheduled or a
9118deadline string.  See ‘org-agenda-entry-types’ on how to set what
9119planning information is taken into account.
9120
9121
9122File: org.info,  Node: Block agenda,  Next: Setting options,  Prev: Storing searches,  Up: Custom Agenda Views
9123
912411.6.2 Block agenda
9125-------------------
9126
9127Another possibility is the construction of agenda views that comprise
9128the results of _several_ commands, each of which creates a block in the
9129agenda buffer.  The available commands include ‘agenda’ for the daily or
9130weekly agenda (as created with ‘a’) , ‘alltodo’ for the global TODO list
9131(as constructed with ‘t’), ‘stuck’ for the list of stuck projects (as
9132obtained with ‘#’) and the matching commands discussed above: ‘todo’,
9133‘tags’, and ‘tags-todo’.
9134
9135   Here are two examples:
9136
9137     (setq org-agenda-custom-commands
9138           '(("h" "Agenda and Home-related tasks"
9139              ((agenda "")
9140               (tags-todo "home")
9141               (tags "garden")))
9142             ("o" "Agenda and Office-related tasks"
9143              ((agenda "")
9144               (tags-todo "work")
9145               (tags "office")))))
9146
9147This defines ‘h’ to create a multi-block view for stuff you need to
9148attend to at home.  The resulting agenda buffer contains your agenda for
9149the current week, all TODO items that carry the tag ‘home’, and also all
9150lines tagged with ‘garden’.  Finally the command ‘o’ provides a similar
9151view for office tasks.
9152
9153
9154File: org.info,  Node: Setting options,  Prev: Block agenda,  Up: Custom Agenda Views
9155
915611.6.3 Setting options for custom commands
9157------------------------------------------
9158
9159Org mode contains a number of variables regulating agenda construction
9160and display.  The global variables define the behavior for all agenda
9161commands, including the custom commands.  However, if you want to change
9162some settings just for a single custom view, you can do so.  Setting
9163options requires inserting a list of variable names and values at the
9164right spot in ‘org-agenda-custom-commands’.  For example:
9165
9166     (setq org-agenda-custom-commands
9167           '(("w" todo "WAITING"
9168              ((org-agenda-sorting-strategy '(priority-down))
9169               (org-agenda-prefix-format "  Mixed: ")))
9170             ("U" tags-tree "+boss-urgent"
9171              ((org-show-context-detail 'minimal)))
9172             ("N" search ""
9173              ((org-agenda-files '("~org/notes.org"))
9174               (org-agenda-text-search-extra-files nil)))))
9175
9176Now the ‘w’ command sorts the collected entries only by priority, and
9177the prefix format is modified to just say ‘Mixed:’ instead of giving the
9178category of the entry.  The sparse tags tree of ‘U’ now turns out
9179ultra-compact, because neither the headline hierarchy above the match,
9180nor the headline following the match are shown.  The command ‘N’ does a
9181text search limited to only a single file.
9182
9183   For command sets creating a block agenda,
9184‘org-agenda-custom-commands’ has two separate spots for setting options.
9185You can add options that should be valid for just a single command in
9186the set, and options that should be valid for all commands in the set.
9187The former are just added to the command entry; the latter must come
9188after the list of command entries.  Going back to the block agenda
9189example (see *note Block agenda::), let’s change the sorting strategy
9190for the ‘h’ commands to ‘priority-down’, but let’s sort the results for
9191‘garden’ tags query in the opposite order, ‘priority-up’.  This would
9192look like this:
9193
9194     (setq org-agenda-custom-commands
9195           '(("h" "Agenda and Home-related tasks"
9196              ((agenda)
9197               (tags-todo "home")
9198               (tags "garden"
9199                     ((org-agenda-sorting-strategy '(priority-up)))))
9200              ((org-agenda-sorting-strategy '(priority-down))))
9201             ("o" "Agenda and Office-related tasks"
9202              ((agenda)
9203               (tags-todo "work")
9204               (tags "office")))))
9205
9206   As you see, the values and parentheses setting is a little complex.
9207When in doubt, use the customize interface to set this variable—it fully
9208supports its structure.  Just one caveat: when setting options in this
9209interface, the _values_ are just Lisp expressions.  So if the value is a
9210string, you need to add the double-quotes around the value yourself.
9211
9212   To control whether an agenda command should be accessible from a
9213specific context, you can customize
9214‘org-agenda-custom-commands-contexts’.  Let’s say for example that you
9215have an agenda command ‘o’ displaying a view that you only need when
9216reading emails.  Then you would configure this option like this:
9217
9218     (setq org-agenda-custom-commands-contexts
9219           '(("o" (in-mode . "message-mode"))))
9220
9221   You can also tell that the command key ‘o’ should refer to another
9222command key ‘r’.  In that case, add this command key like this:
9223
9224     (setq org-agenda-custom-commands-contexts
9225           '(("o" "r" (in-mode . "message-mode"))))
9226
9227   See the docstring of the variable for more information.
9228
9229
9230File: org.info,  Node: Exporting Agenda Views,  Next: Agenda Column View,  Prev: Custom Agenda Views,  Up: Agenda Views
9231
923211.7 Exporting Agenda Views
9233===========================
9234
9235If you are away from your computer, it can be very useful to have a
9236printed version of some agenda views to carry around.  Org mode can
9237export custom agenda views as plain text, HTML(1), Postscript, PDF(2),
9238and iCalendar files.  If you want to do this only occasionally, use the
9239following command:
9240
9241‘C-x C-w’ (‘org-agenda-write’)
9242
9243     Write the agenda view to a file.
9244
9245   If you need to export certain agenda views frequently, you can
9246associate any custom agenda command with a list of output file names(3).
9247Here is an example that first defines custom commands for the agenda and
9248the global TODO list, together with a number of files to which to export
9249them.  Then we define two block agenda commands and specify file names
9250for them as well.  File names can be relative to the current working
9251directory, or absolute.
9252
9253     (setq org-agenda-custom-commands
9254           '(("X" agenda "" nil ("agenda.html" "agenda.ps"))
9255             ("Y" alltodo "" nil ("todo.html" "todo.txt" "todo.ps"))
9256             ("h" "Agenda and Home-related tasks"
9257              ((agenda "")
9258               (tags-todo "home")
9259               (tags "garden"))
9260              nil
9261              ("~/views/home.html"))
9262             ("o" "Agenda and Office-related tasks"
9263              ((agenda)
9264               (tags-todo "work")
9265               (tags "office"))
9266              nil
9267              ("~/views/office.ps" "~/calendars/office.ics"))))
9268
9269   The extension of the file name determines the type of export.  If it
9270is ‘.html’, Org mode uses the htmlize package to convert the buffer to
9271HTML and save it to this file name.  If the extension is ‘.ps’,
9272‘ps-print-buffer-with-faces’ is used to produce Postscript output.  If
9273the extension is ‘.ics’, iCalendar export is run export over all files
9274that were used to construct the agenda, and limit the export to entries
9275listed in the agenda.  Any other extension produces a plain ASCII file.
9276
9277   The export files are _not_ created when you use one of those commands
9278interactively because this might use too much overhead.  Instead, there
9279is a special command to produce _all_ specified files in one step:
9280
9281‘e’ (‘org-store-agenda-views’)
9282     Export all agenda views that have export file names associated with
9283     them.
9284
9285   You can use the options section of the custom agenda commands to also
9286set options for the export commands.  For example:
9287
9288     (setq org-agenda-custom-commands
9289           '(("X" agenda ""
9290              ((ps-number-of-columns 2)
9291               (ps-landscape-mode t)
9292               (org-agenda-prefix-format " [ ] ")
9293               (org-agenda-with-colors nil)
9294               (org-agenda-remove-tags t))
9295              ("theagenda.ps"))))
9296
9297This command sets two options for the Postscript exporter, to make it
9298print in two columns in landscape format—the resulting page can be cut
9299in two and then used in a paper agenda.  The remaining settings modify
9300the agenda prefix to omit category and scheduling information, and
9301instead include a checkbox to check off items.  We also remove the tags
9302to make the lines compact, and we do not want to use colors for the
9303black-and-white printer.  Settings specified in
9304‘org-agenda-exporter-settings’ also apply, e.g.,
9305
9306     (setq org-agenda-exporter-settings
9307           '((ps-number-of-columns 2)
9308             (ps-landscape-mode t)
9309             (org-agenda-add-entry-text-maxlines 5)
9310             (htmlize-output-type 'css)))
9311
9312but the settings in ‘org-agenda-custom-commands’ take precedence.
9313
9314   From the command line you may also use:
9315
9316     emacs -eval (org-batch-store-agenda-views) -kill
9317
9318or, if you need to modify some parameters(4)
9319
9320     emacs -eval '(org-batch-store-agenda-views                      \
9321                   org-agenda-span (quote month)                     \
9322                   org-agenda-start-day "2007-11-01"                 \
9323                   org-agenda-include-diary nil                      \
9324                   org-agenda-files (quote ("~/org/project.org")))'  \
9325           -kill
9326
9327which creates the agenda views restricted to the file
9328‘~/org/project.org’, without diary entries and with a 30-day extent.
9329
9330   You can also extract agenda information in a way that allows further
9331processing by other programs.  See *note Extracting Agenda
9332Information::, for more information.
9333
9334   ---------- Footnotes ----------
9335
9336   (1) For HTML you need to install Hrvoje Nikšić’s ‘htmlize.el’ as an
9337Emacs package from MELPA or from Hrvoje Nikšić’s repository
9338(https://github.com/hniksic/emacs-htmlize).
9339
9340   (2) To create PDF output, the Ghostscript ps2pdf utility must be
9341installed on the system.  Selecting a PDF file also creates the
9342postscript file.
9343
9344   (3) If you want to store standard views like the weekly agenda or the
9345global TODO list as well, you need to define custom commands for them in
9346order to be able to specify file names.
9347
9348   (4) Quoting depends on the system you use, please check the FAQ for
9349examples.
9350
9351
9352File: org.info,  Node: Agenda Column View,  Prev: Exporting Agenda Views,  Up: Agenda Views
9353
935411.8 Using Column View in the Agenda
9355====================================
9356
9357Column view (see *note Column View::) is normally used to view and edit
9358properties embedded in the hierarchical structure of an Org file.  It
9359can be quite useful to use column view also from the agenda, where
9360entries are collected by certain criteria.
9361
9362‘C-c C-x C-c’ (‘org-agenda-columns’)
9363
9364     Turn on column view in the agenda.
9365
9366   To understand how to use this properly, it is important to realize
9367that the entries in the agenda are no longer in their proper outline
9368environment.  This causes the following issues:
9369
9370  1. Org needs to make a decision which columns format to use.  Since
9371     the entries in the agenda are collected from different files, and
9372     different files may have different columns formats, this is a
9373     non-trivial problem.  Org first checks if
9374     ‘org-overriding-columns-format’ is currently set, and if so, takes
9375     the format from there.  You should set this variable only in the
9376     _local settings section_ of a custom agenda command (see *note
9377     Custom Agenda Views::) to make it valid for that specific agenda
9378     view.  If no such binding exists, it checks, in sequence,
9379     ‘org-columns-default-format-for-agenda’, the format associated with
9380     the first item in the agenda (through a property or a ‘#+COLUMNS’
9381     setting in that buffer) and finally ‘org-columns-default-format’.
9382
9383  2. If any of the columns has a summary type defined (see *note Column
9384     attributes::), turning on column view in the agenda visits all
9385     relevant agenda files and make sure that the computations of this
9386     property are up to date.  This is also true for the special
9387     ‘CLOCKSUM’ property.  Org then sums the values displayed in the
9388     agenda.  In the daily/weekly agenda, the sums cover a single day;
9389     in all other views they cover the entire block.
9390
9391     It is important to realize that the agenda may show the same entry
9392     _twice_—for example as scheduled and as a deadline—and it may show
9393     two entries from the same hierarchy (for example a _parent_ and its
9394     _child_).  In these cases, the summation in the agenda leads to
9395     incorrect results because some values count double.
9396
9397  3. When the column view in the agenda shows the ‘CLOCKSUM’ property,
9398     that is always the entire clocked time for this item.  So even in
9399     the daily/weekly agenda, the clocksum listed in column view may
9400     originate from times outside the current view.  This has the
9401     advantage that you can compare these values with a column listing
9402     the planned total effort for a task—one of the major applications
9403     for column view in the agenda.  If you want information about
9404     clocked time in the displayed period use clock table mode (press
9405     ‘R’ in the agenda).
9406
9407  4. When the column view in the agenda shows the ‘CLOCKSUM_T’ property,
9408     that is always today’s clocked time for this item.  So even in the
9409     weekly agenda, the clocksum listed in column view only originates
9410     from today.  This lets you compare the time you spent on a task for
9411     today, with the time already spent—via ‘CLOCKSUM’—and with the
9412     planned total effort for it.
9413
9414
9415File: org.info,  Node: Markup for Rich Contents,  Next: Exporting,  Prev: Agenda Views,  Up: Top
9416
941712 Markup for Rich Contents
9418***************************
9419
9420Org is primarily about organizing and searching through your plain-text
9421notes.  However, it also provides a lightweight yet robust markup
9422language for rich text formatting and more.  For instance, you may want
9423to center or emphasize text.  Or you may need to insert a formula or
9424image in your writing.  Org offers syntax for all of this and more.
9425Used in conjunction with the export framework (see *note Exporting::),
9426you can author beautiful documents in Org—like the fine manual you are
9427currently reading.
9428
9429* Menu:
9430
9431* Paragraphs::                   The basic unit of text.
9432* Emphasis and Monospace::       Bold, italic, etc.
9433* Subscripts and Superscripts::  Simple syntax for raising/lowering text.
9434* Special Symbols::              Greek letters and other symbols.
9435* Embedded LaTeX::            LaTeX can be freely used inside Org documents.
9436* Literal Examples::             Source code examples with special formatting.
9437* Images::                       Display an image.
9438* Captions::                     Describe tables, images...
9439* Horizontal Rules::             Make a line.
9440* Creating Footnotes::           Edit and read footnotes.
9441
9442
9443File: org.info,  Node: Paragraphs,  Next: Emphasis and Monospace,  Up: Markup for Rich Contents
9444
944512.1 Paragraphs
9446===============
9447
9448Paragraphs are separated by at least one empty line.  If you need to
9449enforce a line break within a paragraph, use ‘\\’ at the end of a line.
9450
9451   To preserve the line breaks, indentation and blank lines in a region,
9452but otherwise use normal formatting, you can use this construct, which
9453can also be used to format poetry.
9454
9455     #+BEGIN_VERSE
9456      Great clouds overhead
9457      Tiny black birds rise and fall
9458      Snow covers Emacs
9459
9460         ---AlexSchroeder
9461     #+END_VERSE
9462
9463   When quoting a passage from another document, it is customary to
9464format this as a paragraph that is indented on both the left and the
9465right margin.  You can include quotations in Org documents like this:
9466
9467     #+BEGIN_QUOTE
9468     Everything should be made as simple as possible,
9469     but not any simpler ---Albert Einstein
9470     #+END_QUOTE
9471
9472   If you would like to center some text, do it like this:
9473
9474     #+BEGIN_CENTER
9475     Everything should be made as simple as possible, \\
9476     but not any simpler
9477     #+END_CENTER
9478
9479
9480File: org.info,  Node: Emphasis and Monospace,  Next: Subscripts and Superscripts,  Prev: Paragraphs,  Up: Markup for Rich Contents
9481
948212.2 Emphasis and Monospace
9483===========================
9484
9485You can make words ‘*bold*’, ‘/italic/’, ‘_underlined_’, ‘=verbatim=’
9486and ‘~code~’, and, if you must, ‘+strike-through+’.  Text in the code
9487and verbatim string is not processed for Org specific syntax; it is
9488exported verbatim.
9489
9490   To turn off fontification for marked up text, you can set
9491‘org-fontify-emphasized-text’ to ‘nil’.  To narrow down the list of
9492available markup syntax, you can customize ‘org-emphasis-alist’.
9493
9494
9495File: org.info,  Node: Subscripts and Superscripts,  Next: Special Symbols,  Prev: Emphasis and Monospace,  Up: Markup for Rich Contents
9496
949712.3 Subscripts and Superscripts
9498================================
9499
9500‘^’ and ‘_’ are used to indicate super- and subscripts.  To increase the
9501readability of ASCII text, it is not necessary, but OK, to surround
9502multi-character sub- and superscripts with curly braces.  For example
9503
9504     The radius of the sun is R_sun = 6.96 x 10^8 m.  On the other hand,
9505     the radius of Alpha Centauri is R_{Alpha Centauri} = 1.28 x R_{sun}.
9506
9507   If you write a text where the underscore is often used in a different
9508context, Org’s convention to always interpret these as subscripts can
9509get in your way.  Configure the variable ‘org-use-sub-superscripts’ to
9510change this convention.  For example, when setting this variable to
9511‘{}’, ‘a_b’ is not interpreted as a subscript, but ‘a_{b}’ is.
9512
9513   You can set ‘org-use-sub-superscripts’ in a file using the export
9514option ‘^:’ (see *note Export Settings::).  For example, ‘#+OPTIONS:
9515^:{}’ sets ‘org-use-sub-superscripts’ to ‘{}’ and limits super- and
9516subscripts to the curly bracket notation.
9517
9518   You can also toggle the visual display of super- and subscripts:
9519
9520‘C-c C-x \’ (‘org-toggle-pretty-entities’)
9521     This command formats sub- and superscripts in a WYSIWYM way.
9522
9523   Set both ‘org-pretty-entities’ and
9524‘org-pretty-entities-include-sub-superscripts’ to ‘t’ to start with
9525super- and subscripts _visually_ interpreted as specified by the option
9526‘org-use-sub-superscripts’.
9527
9528
9529File: org.info,  Node: Special Symbols,  Next: Embedded LaTeX,  Prev: Subscripts and Superscripts,  Up: Markup for Rich Contents
9530
953112.4 Special Symbols
9532====================
9533
9534You can use LaTeX-like syntax to insert special symbols—named
9535entities—like ‘\alpha’ to indicate the Greek letter, or ‘\to’ to
9536indicate an arrow.  Completion for these symbols is available, just type
9537‘\’ and maybe a few letters, and press ‘M-<TAB>’ to see possible
9538completions.  If you need such a symbol inside a word, terminate it with
9539a pair of curly brackets.  For example
9540
9541     Pro tip: Given a circle \Gamma of diameter d, the length of its
9542     circumference is \pi{}d.
9543
9544   A large number of entities is provided, with names taken from both
9545HTML and LaTeX; you can comfortably browse the complete list from a
9546dedicated buffer using the command ‘org-entities-help’.  It is also
9547possible to provide your own special symbols in the variable
9548‘org-entities-user’.
9549
9550   During export, these symbols are transformed into the native format
9551of the exporter back-end.  Strings like ‘\alpha’ are exported as
9552‘&alpha;’ in the HTML output, and as ‘\(\alpha\)’ in the LaTeX output.
9553Similarly, ‘\nbsp’ becomes ‘&nbsp;’ in HTML and ‘~’ in LaTeX.
9554
9555   If you would like to see entities displayed as UTF-8 characters, use
9556the following command(1):
9557
9558‘C-c C-x \’ (‘org-toggle-pretty-entities’)
9559
9560     Toggle display of entities as UTF-8 characters.  This does not
9561     change the buffer content which remains plain ASCII, but it
9562     overlays the UTF-8 character for display purposes only.
9563
9564   In addition to regular entities defined above, Org exports in a
9565special way(2) the following commonly used character combinations: ‘\-’
9566is treated as a shy hyphen, ‘--’ and ‘---’ are converted into dashes,
9567and ‘...’ becomes a compact set of dots.
9568
9569   ---------- Footnotes ----------
9570
9571   (1) You can turn this on by default by setting the variable
9572‘org-pretty-entities’, or on a per-file base with the ‘STARTUP’ option
9573‘entitiespretty’.
9574
9575   (2) This behavior can be disabled with ‘-’ export setting (see *note
9576Export Settings::).
9577
9578
9579File: org.info,  Node: Embedded LaTeX,  Next: Literal Examples,  Prev: Special Symbols,  Up: Markup for Rich Contents
9580
958112.5 Embedded LaTeX
9582===================
9583
9584Plain ASCII is normally sufficient for almost all note taking.
9585Exceptions include scientific notes, which often require mathematical
9586symbols and the occasional formula.  LaTeX(1) is widely used to typeset
9587scientific documents.  Org mode supports embedding LaTeX code into its
9588files, because many academics are used to writing and reading LaTeX
9589source code, and because it can be readily processed to produce pretty
9590output for a number of export back-ends.
9591
9592* Menu:
9593
9594* LaTeX fragments::           Complex formulas made easy.
9595* Previewing LaTeX fragments:: What will this snippet look like?
9596* CDLaTeX mode::              Speed up entering of formulas.
9597
9598   ---------- Footnotes ----------
9599
9600   (1) LaTeX is a macro system based on Donald E. Knuth’s TeX system.
9601Many of the features described here as “LaTeX” are really from TeX, but
9602for simplicity I am blurring this distinction.
9603
9604
9605File: org.info,  Node: LaTeX fragments,  Next: Previewing LaTeX fragments,  Up: Embedded LaTeX
9606
960712.5.1 LaTeX fragments
9608----------------------
9609
9610Org mode can contain LaTeX math fragments, and it supports ways to
9611process these for several export back-ends.  When exporting to LaTeX,
9612the code is left as it is.  When exporting to HTML, Org can use either
9613MathJax (http://www.mathjax.org) (see *note Math formatting in HTML
9614export::) or transcode the math into images (see *note Previewing LaTeX
9615fragments::).
9616
9617   LaTeX fragments do not need any special marking at all.  The
9618following snippets are identified as LaTeX source code:
9619
9620   • Environments of any kind(1).  The only requirement is that the
9621     ‘\begin’ statement appears on a new line, preceded by only
9622     whitespace.
9623
9624   • Text within the usual LaTeX math delimiters.  To avoid conflicts
9625     with currency specifications, single ‘$’ characters are only
9626     recognized as math delimiters if the enclosed text contains at most
9627     two line breaks, is directly attached to the ‘$’ characters with no
9628     whitespace in between, and if the closing ‘$’ is followed by
9629     whitespace, punctuation or a dash.  For the other delimiters, there
9630     is no such restriction, so when in doubt, use ‘\(...\)’ as inline
9631     math delimiters.
9632
9633For example:
9634
9635     \begin{equation}                        % arbitrary environments,
9636     x=\sqrt{b}                              % even tables, figures
9637     \end{equation}                          % etc
9638
9639     If $a^2=b$ and \( b=2 \), then the solution must be
9640     either $$ a=+\sqrt{2} $$ or \[ a=-\sqrt{2} \].
9641
9642   LaTeX processing can be configured with the variable
9643‘org-export-with-latex’.  The default setting is ‘t’ which means MathJax
9644for HTML, and no processing for ASCII and LaTeX back-ends.  You can also
9645set this variable on a per-file basis using one of these lines:
9646
9647‘#+OPTIONS: tex:t’          Do the right thing automatically (MathJax)
9648‘#+OPTIONS: tex:nil’        Do not process LaTeX fragments at all
9649‘#+OPTIONS: tex:verbatim’   Verbatim export, for jsMath or so
9650
9651   ---------- Footnotes ----------
9652
9653   (1) When MathJax is used, only the environments recognized by MathJax
9654are processed.  When dvipng, dvisvgm, or ImageMagick suite is used to
9655create images, any LaTeX environment is handled.
9656
9657
9658File: org.info,  Node: Previewing LaTeX fragments,  Next: CDLaTeX mode,  Prev: LaTeX fragments,  Up: Embedded LaTeX
9659
966012.5.2 Previewing LaTeX fragments
9661---------------------------------
9662
9663If you have a working LaTeX installation and ‘dvipng’, ‘dvisvgm’ or
9664‘convert’ installed(1), LaTeX fragments can be processed to produce
9665images of the typeset expressions to be used for inclusion while
9666exporting to HTML (see *note LaTeX fragments::), or for inline
9667previewing within Org mode.
9668
9669   You can customize the variables ‘org-format-latex-options’ and
9670‘org-format-latex-header’ to influence some aspects of the preview.  In
9671particular, the ‘:scale’ (and for HTML export, ‘:html-scale’) property
9672of the former can be used to adjust the size of the preview images.
9673
9674‘C-c C-x C-l’ (‘org-latex-preview’)
9675
9676     Produce a preview image of the LaTeX fragment at point and overlay
9677     it over the source code.  If there is no fragment at point, process
9678     all fragments in the current entry—between two headlines.
9679
9680     When called with a single prefix argument, clear all images in the
9681     current entry.  Two prefix arguments produce a preview image for
9682     all fragments in the buffer, while three of them clear all the
9683     images in that buffer.
9684
9685   You can turn on the previewing of all LaTeX fragments in a file with
9686
9687     #+STARTUP: latexpreview
9688
9689   To disable it, simply use
9690
9691     #+STARTUP: nolatexpreview
9692
9693   ---------- Footnotes ----------
9694
9695   (1) These are respectively available at
9696<http://sourceforge.net/projects/dvipng/>, <http://dvisvgm.bplaced.net/>
9697and from the ImageMagick suite.  Choose the converter by setting the
9698variable ‘org-preview-latex-default-process’ accordingly.
9699
9700
9701File: org.info,  Node: CDLaTeX mode,  Prev: Previewing LaTeX fragments,  Up: Embedded LaTeX
9702
970312.5.3 Using CDLaTeX to enter math
9704----------------------------------
9705
9706CDLaTeX mode is a minor mode that is normally used in combination with a
9707major LaTeX mode like AUCTeX in order to speed-up insertion of
9708environments and math templates.  Inside Org mode, you can make use of
9709some of the features of CDLaTeX mode.  You need to install ‘cdlatex.el9710and ‘texmathp.el’ (the latter comes also with AUCTeX) using MELPA
9711(https://melpa.org/) with the Emacs packaging system
9712(https://www.gnu.org/software/emacs/manual/html_node/emacs/Package-Installation.html)
9713or alternatively from
9714<https://staff.fnwi.uva.nl/c.dominik/Tools/cdlatex/>.  Do not use
9715CDLaTeX mode itself under Org mode, but use the special version Org
9716CDLaTeX minor mode that comes as part of Org.  Turn it on for the
9717current buffer with ‘M-x org-cdlatex-mode’, or for all Org files with
9718
9719     (add-hook 'org-mode-hook 'turn-on-org-cdlatex)
9720
9721   When this mode is enabled, the following features are present (for
9722more details see the documentation of CDLaTeX mode):
9723
9724‘C-c {’
9725
9726     Insert an environment template.
9727
9728‘<TAB>’
9729
9730     The ‘<TAB>’ key expands the template if point is inside a LaTeX
9731     fragment(1).  For example, ‘<TAB>’ expands ‘fr’ to ‘\frac{}{}’ and
9732     position point correctly inside the first brace.  Another ‘<TAB>’
9733     gets you into the second brace.
9734
9735     Even outside fragments, ‘<TAB>’ expands environment abbreviations
9736     at the beginning of a line.  For example, if you write ‘equ’ at the
9737     beginning of a line and press ‘<TAB>’, this abbreviation is
9738     expanded to an ‘equation’ environment.  To get a list of all
9739     abbreviations, type ‘M-x cdlatex-command-help’.
9740
9741‘^’
9742‘_’
9743
9744     Pressing ‘_’ and ‘^’ inside a LaTeX fragment inserts these
9745     characters together with a pair of braces.  If you use ‘<TAB>’ to
9746     move out of the braces, and if the braces surround only a single
9747     character or macro, they are removed again (depending on the
9748     variable ‘cdlatex-simplify-sub-super-scripts’).
9749
9750‘`’
9751
9752     Pressing the backquote followed by a character inserts math macros,
9753     also outside LaTeX fragments.  If you wait more than 1.5 seconds
9754     after the backquote, a help window pops up.
9755
9756‘'’
9757
9758     Pressing the single-quote followed by another character modifies
9759     the symbol before point with an accent or a font.  If you wait more
9760     than 1.5 seconds after the single-quote, a help window pops up.
9761     Character modification works only inside LaTeX fragments; outside
9762     the quote is normal.
9763
9764   ---------- Footnotes ----------
9765
9766   (1) Org mode has a method to test if point is inside such a fragment,
9767see the documentation of the function ‘org-inside-LaTeX-fragment-p’.
9768
9769
9770File: org.info,  Node: Literal Examples,  Next: Images,  Prev: Embedded LaTeX,  Up: Markup for Rich Contents
9771
977212.6 Literal Examples
9773=====================
9774
9775You can include literal examples that should not be subjected to markup.
9776Such examples are typeset in monospace, so this is well suited for
9777source code and similar examples.
9778
9779     #+BEGIN_EXAMPLE
9780       Some example from a text file.
9781     #+END_EXAMPLE
9782
9783   There is one limitation, however.  You must insert a comma right
9784before lines starting with either ‘*’, ‘,*’, ‘#+’ or ‘,#+’, as those may
9785be interpreted as outlines nodes or some other special syntax.  Org
9786transparently strips these additional commas whenever it accesses the
9787contents of the block.
9788
9789     #+BEGIN_EXAMPLE
9790     ,* I am no real headline
9791     #+END_EXAMPLE
9792
9793   For simplicity when using small examples, you can also start the
9794example lines with a colon followed by a space.  There may also be
9795additional whitespace before the colon:
9796
9797     Here is an example
9798        : Some example from a text file.
9799
9800   If the example is source code from a programming language, or any
9801other text that can be marked up by Font Lock in Emacs, you can ask for
9802the example to look like the fontified Emacs buffer(1).  This is done
9803with the code block, where you also need to specify the name of the
9804major mode that should be used to fontify the example(2), see *note
9805Structure Templates:: for shortcuts to easily insert code blocks.
9806
9807     #+BEGIN_SRC emacs-lisp
9808       (defun org-xor (a b)
9809         "Exclusive or."
9810         (if a (not b) b))
9811      #+END_SRC
9812
9813   Both in ‘example’ and in ‘src’ snippets, you can add a ‘-n’ switch to
9814the end of the ‘#+BEGIN’ line, to get the lines of the example numbered.
9815The ‘-n’ takes an optional numeric argument specifying the starting line
9816number of the block.  If you use a ‘+n’ switch, the numbering from the
9817previous numbered snippet is continued in the current one.  The ‘+n’
9818switch can also take a numeric argument.  This adds the value of the
9819argument to the last line of the previous block to determine the
9820starting line number.
9821
9822     #+BEGIN_SRC emacs-lisp -n 20
9823       ;; This exports with line number 20.
9824       (message "This is line 21")
9825     #+END_SRC
9826
9827     #+BEGIN_SRC emacs-lisp +n 10
9828       ;; This is listed as line 31.
9829       (message "This is line 32")
9830     #+END_SRC
9831
9832   In literal examples, Org interprets strings like ‘(ref:name)’ as
9833labels, and use them as targets for special hyperlinks like
9834‘[[(name)]]’—i.e., the reference name enclosed in single parenthesis.
9835In HTML, hovering the mouse over such a link remote-highlights the
9836corresponding code line, which is kind of cool.
9837
9838   You can also add a ‘-r’ switch which _removes_ the labels from the
9839source code(3).  With the ‘-n’ switch, links to these references are
9840labeled by the line numbers from the code listing.  Otherwise links use
9841the labels with no parentheses.  Here is an example:
9842
9843     #+BEGIN_SRC emacs-lisp -n -r
9844       (save-excursion                 (ref:sc)
9845          (goto-char (point-min))      (ref:jump)
9846     #+END_SRC
9847     In line [[(sc)]] we remember the current position. [[(jump)][Line (jump)]]
9848     jumps to point-min.
9849
9850   Source code and examples may be _indented_ in order to align nicely
9851with the surrounding text, and in particular with plain list structure
9852(see *note Plain Lists::).  By default, Org only retains the relative
9853indentation between lines, e.g., when exporting the contents of the
9854block.  However, you can use the ‘-i’ switch to also preserve the global
9855indentation, if it does matter.  See *note Editing Source Code::.
9856
9857   If the syntax for the label format conflicts with the language
9858syntax, use a ‘-l’ switch to change the format, for example
9859
9860     #+BEGIN_SRC pascal -n -r -l "((%s))"
9861
9862See also the variable ‘org-coderef-label-format’.
9863
9864   HTML export also allows examples to be published as text areas (see
9865*note Text areas in HTML export::).
9866
9867   Because the ‘#+BEGIN’ ... ‘#+END’ patterns need to be added so often,
9868a shortcut is provided (see *note Structure Templates::).
9869
9870‘C-c '’ (‘org-edit-special’)
9871     Edit the source code example at point in its native mode.  This
9872     works by switching to a temporary buffer with the source code.  You
9873     need to exit by pressing ‘C-c '’ again.  The edited version then
9874     replaces the old version in the Org buffer.  Fixed-width
9875     regions—where each line starts with a colon followed by a space—are
9876     edited using Artist mode(4) to allow creating ASCII drawings
9877     easily.  Using this command in an empty line creates a new
9878     fixed-width region.
9879
9880   Calling ‘org-store-link’ (see *note Handling Links::) while editing a
9881source code example in a temporary buffer created with ‘C-c '’ prompts
9882for a label.  Make sure that it is unique in the current buffer, and
9883insert it with the proper formatting like ‘(ref:label)’ at the end of
9884the current line.  Then the label is stored as a link ‘(label)’, for
9885retrieval with ‘C-c C-l’.
9886
9887   ---------- Footnotes ----------
9888
9889   (1) This works automatically for the HTML backend (it requires
9890version 1.34 of the ‘htmlize.el’ package, which you need to install).
9891Fontified code chunks in LaTeX can be achieved using either the listings
9892(https://www.ctan.org/pkg/listings) package or the minted
9893(https://www.ctan.org/pkg/minted) package.  Refer to
9894‘org-export-latex-listings’ for details.
9895
9896   (2) Source code in code blocks may also be evaluated either
9897interactively or on export.  See *note Working with Source Code:: for
9898more information on evaluating code blocks.
9899
9900   (3) Adding ‘-k’ to ‘-n -r’ _keeps_ the labels in the source code
9901while using line numbers for the links, which might be useful to explain
9902those in an Org mode example code.
9903
9904   (4) You may select a different mode with the variable
9905‘org-edit-fixed-width-region-mode’.
9906
9907
9908File: org.info,  Node: Images,  Next: Captions,  Prev: Literal Examples,  Up: Markup for Rich Contents
9909
991012.7 Images
9911===========
9912
9913An image is a link to an image file(1) that does not have a description
9914part, for example
9915
9916     ./img/cat.jpg
9917
9918   If you wish to define a caption for the image (see *note Captions::)
9919and maybe a label for internal cross references (see *note Internal
9920Links::), make sure that the link is on a line by itself and precede it
9921with ‘CAPTION’ and ‘NAME’ keywords as follows:
9922
9923     #+CAPTION: This is the caption for the next figure link (or table)
9924     #+NAME:   fig:SED-HR4049
9925     [[./img/a.jpg]]
9926
9927   Such images can be displayed within the buffer with the following
9928command:
9929
9930‘C-c C-x C-v’ (‘org-toggle-inline-images’)
9931     Toggle the inline display of linked images.  When called with a
9932     prefix argument, also display images that do have a link
9933     description.  You can ask for inline images to be displayed at
9934     startup by configuring the variable
9935     ‘org-startup-with-inline-images’(2).
9936
9937   ---------- Footnotes ----------
9938
9939   (1) What Emacs considers to be an image depends on
9940‘image-file-name-extensions’ and ‘image-file-name-regexps’.
9941
9942   (2) The variable ‘org-startup-with-inline-images’ can be set within a
9943buffer with the ‘STARTUP’ options ‘inlineimages’ and ‘noinlineimages’.
9944
9945
9946File: org.info,  Node: Captions,  Next: Horizontal Rules,  Prev: Images,  Up: Markup for Rich Contents
9947
994812.8 Captions
9949=============
9950
9951You can assign a caption to a specific part of a document by inserting a
9952‘CAPTION’ keyword immediately before it:
9953
9954     #+CAPTION: This is the caption for the next table (or link)
9955     | ... | ... |
9956     |-----+-----|
9957
9958   Optionally, the caption can take the form:
9959
9960     #+CAPTION[Short caption]: Longer caption.
9961
9962   Even though images and tables are prominent examples of captioned
9963structures, the same caption mechanism can apply to many others—e.g.,
9964LaTeX equations, source code blocks.  Depending on the export back-end,
9965those may or may not be handled.
9966
9967
9968File: org.info,  Node: Horizontal Rules,  Next: Creating Footnotes,  Prev: Captions,  Up: Markup for Rich Contents
9969
997012.9 Horizontal Rules
9971=====================
9972
9973A line consisting of only dashes, and at least 5 of them, is exported as
9974a horizontal line.
9975
9976
9977File: org.info,  Node: Creating Footnotes,  Prev: Horizontal Rules,  Up: Markup for Rich Contents
9978
997912.10 Creating Footnotes
9980========================
9981
9982A footnote is started by a footnote marker in square brackets in column
99830, no indentation allowed.  It ends at the next footnote definition,
9984headline, or after two consecutive empty lines.  The footnote reference
9985is simply the marker in square brackets, inside text.  Markers always
9986start with ‘fn:’.  For example:
9987
9988     The Org homepage[fn:1] now looks a lot better than it used to.
9989     ...
9990     [fn:1] The link is: https://orgmode.org
9991
9992   Org mode extends the number-based syntax to _named_ footnotes and
9993optional inline definition.  Here are the valid references:
9994
9995‘[fn:NAME]’
9996     A named footnote reference, where NAME is a unique label word, or,
9997     for simplicity of automatic creation, a number.
9998
9999‘[fn:: This is the inline definition of this footnote]’
10000     An anonymous footnote where the definition is given directly at the
10001     reference point.
10002
10003‘[fn:NAME: a definition]’
10004     An inline definition of a footnote, which also specifies a name for
10005     the note.  Since Org allows multiple references to the same note,
10006     you can then use ‘[fn:NAME]’ to create additional references.
10007
10008   Footnote labels can be created automatically, or you can create names
10009yourself.  This is handled by the variable ‘org-footnote-auto-label’ and
10010its corresponding ‘STARTUP’ keywords.  See the docstring of that
10011variable for details.
10012
10013   The following command handles footnotes:
10014
10015‘C-c C-x f’
10016     The footnote action command.
10017
10018     When point is on a footnote reference, jump to the definition.
10019     When it is at a definition, jump to the—first—reference.
10020
10021     Otherwise, create a new footnote.  Depending on the variable
10022     ‘org-footnote-define-inline’(1), the definition is placed right
10023     into the text as part of the reference, or separately into the
10024     location determined by the variable ‘org-footnote-section’.
10025
10026     When this command is called with a prefix argument, a menu of
10027     additional options is offered:
10028
10029     ‘s’     Sort the footnote definitions by reference sequence.
10030     ‘r’     Renumber the simple ‘fn:N’ footnotes.
10031     ‘S’     Short for first ‘r’, then ‘s’ action.
10032     ‘n’     Rename all footnotes into a ‘fn:1’ ... ‘fn:n’ sequence.
10033     ‘d’     Delete the footnote at point, including definition and
10034             references.
10035
10036     Depending on the variable ‘org-footnote-auto-adjust’(2),
10037     renumbering and sorting footnotes can be automatic after each
10038     insertion or deletion.
10039
10040‘C-c C-c’
10041     If point is on a footnote reference, jump to the definition.  If it
10042     is at the definition, jump back to the reference.  When called at a
10043     footnote location with a prefix argument, offer the same menu as
10044     ‘C-c C-x f’.
10045
10046‘C-c C-o’ or ‘mouse-1/2’
10047     Footnote labels are also links to the corresponding definition or
10048     reference, and you can use the usual commands to follow these
10049     links.
10050
10051   ---------- Footnotes ----------
10052
10053   (1) The corresponding in-buffer setting is: ‘#+STARTUP: fninline’ or
10054‘#+STARTUP: nofninline’.
10055
10056   (2) The corresponding in-buffer options are ‘#+STARTUP: fnadjust’ and
10057‘#+STARTUP: nofnadjust’.
10058
10059
10060File: org.info,  Node: Exporting,  Next: Publishing,  Prev: Markup for Rich Contents,  Up: Top
10061
1006213 Exporting
10063************
10064
10065At some point you might want to print your notes, publish them on the
10066web, or share them with people not using Org.  Org can convert and
10067export documents to a variety of other formats while retaining as much
10068structure (see *note Document Structure::) and markup (see *note Markup
10069for Rich Contents::) as possible.
10070
10071   The libraries responsible for translating Org files to other formats
10072are called _back-ends_.  Org ships with support for the following
10073back-ends:
10074
10075   • _ascii_ (ASCII format)
10076   • _beamer_ (LaTeX Beamer format)
10077   • _html_ (HTML format)
10078   • _icalendar_ (iCalendar format)
10079   • _latex_ (LaTeX format)
10080   • _md_ (Markdown format)
10081   • _odt_ (OpenDocument Text format)
10082   • _org_ (Org format)
10083   • _texinfo_ (Texinfo format)
10084   • _man_ (Man page format)
10085
10086   Users can install libraries for additional formats from the Emacs
10087packaging system.  For easy discovery, these packages have a common
10088naming scheme: ‘ox-NAME’, where NAME is a format.  For example,
10089‘ox-koma-letter’ for _koma-letter_ back-end.  More libraries can be
10090found in the ‘contrib/’ directory (see *note Installation::).
10091
10092   Org only loads back-ends for the following formats by default: ASCII,
10093HTML, iCalendar, LaTeX, and ODT.  Additional back-ends can be loaded in
10094either of two ways: by configuring the ‘org-export-backends’ variable,
10095or by requiring libraries in the Emacs init file.  For example, to load
10096the Markdown back-end, add this to your Emacs config:
10097
10098     (require 'ox-md)
10099
10100* Menu:
10101
10102* The Export Dispatcher::        The main interface.
10103* Export Settings::              Common export settings.
10104* Table of Contents::            The if and where of the table of contents.
10105* Include Files::                Include additional files into a document.
10106* Macro Replacement::            Use macros to create templates.
10107* Comment Lines::                What will not be exported.
10108* ASCII/Latin-1/UTF-8 export::   Exporting to flat files with encoding.
10109* Beamer Export::                Producing presentations and slides.
10110* HTML Export::                  Exporting to HTML.
10111* LaTeX Export::              Exporting to LaTeX and processing to PDF.
10112* Markdown Export::              Exporting to Markdown.
10113* OpenDocument Text Export::     Exporting to OpenDocument Text.
10114* Org Export::                   Exporting to Org.
10115* Texinfo Export::               Exporting to Texinfo.
10116* iCalendar Export::             Exporting to iCalendar.
10117* Other Built-in Back-ends::     Exporting to a man page.
10118* Advanced Export Configuration:: Fine-tuning the export output.
10119* Export in Foreign Buffers::    Author tables and lists in Org syntax.
10120
10121
10122File: org.info,  Node: The Export Dispatcher,  Next: Export Settings,  Up: Exporting
10123
1012413.1 The Export Dispatcher
10125==========================
10126
10127The export dispatcher is the main interface for Org’s exports.  A
10128hierarchical menu presents the currently configured export formats.
10129Options are shown as easy toggle switches on the same screen.
10130
10131   Org also has a minimal prompt interface for the export dispatcher.
10132When the variable ‘org-export-dispatch-use-expert-ui’ is set to a
10133non-‘nil’ value, Org prompts in the minibuffer.  To switch back to the
10134hierarchical menu, press ‘?’.
10135
10136‘C-c C-e’ (‘org-export’)
10137
10138     Invokes the export dispatcher interface.  The options show default
10139     settings.  The ‘C-u’ prefix argument preserves options from the
10140     previous export, including any sub-tree selections.
10141
10142   Org exports the entire buffer by default.  If the Org buffer has an
10143active region, then Org exports just that region.
10144
10145   Within the dispatcher interface, the following key combinations can
10146further alter what is exported, and how.
10147
10148‘C-a’
10149
10150     Toggle asynchronous export.  Asynchronous export uses an external
10151     Emacs process with a specially configured initialization file to
10152     complete the exporting process in the background, without tying-up
10153     Emacs.  This is particularly useful when exporting long documents.
10154
10155     Output from an asynchronous export is saved on the _export stack_.
10156     To view this stack, call the export dispatcher with a double ‘C-u’
10157     prefix argument.  If already in the export dispatcher menu, ‘&’
10158     displays the stack.
10159
10160     You can make asynchronous export the default by setting
10161     ‘org-export-in-background’.
10162
10163     You can set the initialization file used by the background process
10164     by setting ‘org-export-async-init-file’.
10165
10166‘C-b’
10167
10168     Toggle body-only export.  Useful for excluding headers and footers
10169     in the export.  Affects only those back-end formats that have
10170     sections like ‘<head>...</head>’ in HTML.
10171
10172‘C-s’
10173
10174     Toggle sub-tree export.  When turned on, Org exports only the
10175     sub-tree starting from point position at the time the export
10176     dispatcher was invoked.  Org uses the top heading of this sub-tree
10177     as the document’s title.  If point is not on a heading, Org uses
10178     the nearest enclosing header.  If point is in the document
10179     preamble, Org signals an error and aborts export.
10180
10181     To make sub-tree export the default, customize the variable
10182     ‘org-export-initial-scope’.
10183
10184‘C-v’
10185
10186     Toggle visible-only export.  This is useful for exporting only
10187     certain parts of an Org document by adjusting the visibility of
10188     particular headings.
10189
10190
10191File: org.info,  Node: Export Settings,  Next: Table of Contents,  Prev: The Export Dispatcher,  Up: Exporting
10192
1019313.2 Export Settings
10194====================
10195
10196Export options can be set: globally with variables; for an individual
10197file by making variables buffer-local with in-buffer settings (see *note
10198In-buffer Settings::); by setting individual keywords or specifying them
10199in compact form with the ‘OPTIONS’ keyword; or for a tree by setting
10200properties (see *note Properties and Columns::).  Options set at a
10201specific level override options set at a more general level.
10202
10203   In-buffer settings may appear anywhere in the file, either directly
10204or indirectly through a file included using ‘#+SETUPFILE: filename or
10205URL’ syntax.  Option keyword sets tailored to a particular back-end can
10206be inserted from the export dispatcher (see *note The Export
10207Dispatcher::) using the ‘Insert template’ command by pressing ‘#’.  To
10208insert keywords individually, a good way to make sure the keyword is
10209correct is to type ‘#+’ and then to use ‘M-<TAB>’(1) for completion.
10210
10211   The export keywords available for every back-end, and their
10212equivalent global variables, include:
10213
10214‘AUTHOR’
10215     The document author (‘user-full-name’).
10216
10217‘CREATOR’
10218     Entity responsible for output generation
10219     (‘org-export-creator-string’).
10220
10221‘DATE’
10222     A date or a time-stamp(2).
10223
10224‘EMAIL’
10225     The email address (‘user-mail-address’).
10226
10227‘LANGUAGE’
10228     Language to use for translating certain strings
10229     (‘org-export-default-language’).  With ‘#+LANGUAGE: fr’, for
10230     example, Org translates ‘Table of contents’ to the French ‘Table
10231     des matières’(3).
10232
10233‘SELECT_TAGS’
10234     The default value is ‘("export")’.  When a tree is tagged with
10235     ‘export’ (‘org-export-select-tags’), Org selects that tree and its
10236     sub-trees for export.  Org excludes trees with ‘noexport’ tags, see
10237     below.  When selectively exporting files with ‘export’ tags set,
10238     Org does not export any text that appears before the first
10239     headline.
10240
10241‘EXCLUDE_TAGS’
10242     The default value is ‘("noexport")’.  When a tree is tagged with
10243     ‘noexport’ (‘org-export-exclude-tags’), Org excludes that tree and
10244     its sub-trees from export.  Entries tagged with ‘noexport’ are
10245     unconditionally excluded from the export, even if they have an
10246     ‘export’ tag.  Even if a sub-tree is not exported, Org executes any
10247     code blocks contained there.
10248
10249‘TITLE’
10250     Org displays this title.  For long titles, use multiple ‘#+TITLE’
10251     lines.
10252
10253‘EXPORT_FILE_NAME’
10254     The name of the output file to be generated.  Otherwise, Org
10255     generates the file name based on the buffer name and the extension
10256     based on the back-end format.
10257
10258   The ‘OPTIONS’ keyword is a compact form.  To configure multiple
10259options, use several ‘OPTIONS’ lines.  ‘OPTIONS’ recognizes the
10260following arguments.
10261
10262‘'’
10263     Toggle smart quotes (‘org-export-with-smart-quotes’).  Depending on
10264     the language used, when activated, Org treats pairs of double
10265     quotes as primary quotes, pairs of single quotes as secondary
10266     quotes, and single quote marks as apostrophes.
10267
10268‘*’
10269     Toggle emphasized text (‘org-export-with-emphasize’).
10270
10271‘-’
10272     Toggle conversion of special strings
10273     (‘org-export-with-special-strings’).
10274
10275‘:’
10276     Toggle fixed-width sections (‘org-export-with-fixed-width’).
10277
10278‘<’
10279     Toggle inclusion of time/date active/inactive stamps
10280     (‘org-export-with-timestamps’).
10281
10282‘\n’
10283     Toggles whether to preserve line breaks
10284     (‘org-export-preserve-breaks’).
10285
10286‘^’
10287     Toggle TeX-like syntax for sub- and superscripts.  If you write
10288     ‘^:{}’, ‘a_{b}’ is interpreted, but the simple ‘a_b’ is left as it
10289     is (‘org-export-with-sub-superscripts’).
10290
10291‘arch’
10292     Configure how archived trees are exported.  When set to ‘headline’,
10293     the export process skips the contents and processes only the
10294     headlines (‘org-export-with-archived-trees’).
10295
10296‘author’
10297     Toggle inclusion of author name into exported file
10298     (‘org-export-with-author’).
10299
10300‘broken-links’
10301     Toggles if Org should continue exporting upon finding a broken
10302     internal link.  When set to ‘mark’, Org clearly marks the problem
10303     link in the output (‘org-export-with-broken-links’).
10304
10305‘c’
10306     Toggle inclusion of ‘CLOCK’ keywords (‘org-export-with-clocks’).
10307
10308‘creator’
10309     Toggle inclusion of creator information in the exported file
10310     (‘org-export-with-creator’).
10311
10312‘d’
10313     Toggles inclusion of drawers, or list of drawers to include, or
10314     list of drawers to exclude (‘org-export-with-drawers’).
10315
10316‘date’
10317     Toggle inclusion of a date into exported file
10318     (‘org-export-with-date’).
10319
10320‘e’
10321     Toggle inclusion of entities (‘org-export-with-entities’).
10322
10323‘email’
10324     Toggle inclusion of the author’s e-mail into exported file
10325     (‘org-export-with-email’).
10326
10327‘f’
10328     Toggle the inclusion of footnotes (‘org-export-with-footnotes’).
10329
10330‘H’
10331     Set the number of headline levels for export
10332     (‘org-export-headline-levels’).  Below that level, headlines are
10333     treated differently.  In most back-ends, they become list items.
10334
10335‘inline’
10336     Toggle inclusion of inlinetasks (‘org-export-with-inlinetasks’).
10337
10338‘num’
10339     Toggle section-numbers (‘org-export-with-section-numbers’).  When
10340     set to number N, Org numbers only those headlines at level N or
10341     above.  Set ‘UNNUMBERED’ property to non-‘nil’ to disable numbering
10342     of heading and subheadings entirely.  Moreover, when the value is
10343     ‘notoc’ the headline, and all its children, do not appear in the
10344     table of contents either (see *note Table of Contents::).
10345
10346‘p’
10347     Toggle export of planning information (‘org-export-with-planning’).
10348     “Planning information” comes from lines located right after the
10349     headline and contain any combination of these cookies: ‘SCHEDULED’,
10350     ‘DEADLINE’, or ‘CLOSED’.
10351
10352‘pri’
10353     Toggle inclusion of priority cookies (‘org-export-with-priority’).
10354
10355‘prop’
10356     Toggle inclusion of property drawers, or list the properties to
10357     include (‘org-export-with-properties’).
10358
10359‘stat’
10360     Toggle inclusion of statistics cookies
10361     (‘org-export-with-statistics-cookies’).
10362
10363‘tags’
10364     Toggle inclusion of tags, may also be ‘not-in-toc’
10365     (‘org-export-with-tags’).
10366
10367‘tasks’
10368     Toggle inclusion of tasks (TODO items); or ‘nil’ to remove all
10369     tasks; or ‘todo’ to remove done tasks; or list the keywords to keep
10370     (‘org-export-with-tasks’).
10371
10372‘tex’
10373     ‘nil’ does not export; ‘t’ exports; ‘verbatim’ keeps everything in
10374     verbatim (‘org-export-with-latex’).
10375
10376‘timestamp’
10377     Toggle inclusion of the creation time in the exported file
10378     (‘org-export-time-stamp-file’).
10379
10380‘title’
10381     Toggle inclusion of title (‘org-export-with-title’).
10382
10383‘toc’
10384     Toggle inclusion of the table of contents, or set the level limit
10385     (‘org-export-with-toc’).
10386
10387‘todo’
10388     Toggle inclusion of TODO keywords into exported text
10389     (‘org-export-with-todo-keywords’).
10390
10391‘|’
10392     Toggle inclusion of tables (‘org-export-with-tables’).
10393
10394   When exporting sub-trees, special node properties can override the
10395above keywords.  These properties have an ‘EXPORT_’ prefix.  For
10396example, ‘DATE’ becomes, ‘EXPORT_DATE’ when used for a specific
10397sub-tree.  Except for ‘SETUPFILE’, all other keywords listed above have
10398an ‘EXPORT_’ equivalent.
10399
10400   If ‘org-export-allow-bind-keywords’ is non-‘nil’, Emacs variables can
10401become buffer-local during export by using the ‘BIND’ keyword.  Its
10402syntax is ‘#+BIND: variable value’.  This is particularly useful for
10403in-buffer settings that cannot be changed using keywords.
10404
10405   ---------- Footnotes ----------
10406
10407   (1) Many desktops intercept ‘M-<TAB>’ to switch windows.  Use ‘C-M-i’
10408or ‘<ESC> <TAB>’ instead.
10409
10410   (2) The variable ‘org-export-date-timestamp-format’ defines how this
10411timestamp are exported.
10412
10413   (3) DEFINITION NOT FOUND.
10414
10415
10416File: org.info,  Node: Table of Contents,  Next: Include Files,  Prev: Export Settings,  Up: Exporting
10417
1041813.3 Table of Contents
10419======================
10420
10421The table of contents includes all headlines in the document.  Its depth
10422is therefore the same as the headline levels in the file.  If you need
10423to use a different depth, or turn it off entirely, set the
10424‘org-export-with-toc’ variable accordingly.  You can achieve the same on
10425a per file basis, using the following ‘toc’ item in ‘OPTIONS’ keyword:
10426
10427     #+OPTIONS: toc:2          (only include two levels in TOC)
10428     #+OPTIONS: toc:nil        (no default TOC at all)
10429
10430   Org includes both numbered and unnumbered headlines in the table of
10431contents(1).  If you need to exclude an unnumbered headline, along with
10432all its children, set the ‘UNNUMBERED’ property to ‘notoc’ value.
10433
10434     * Subtree not numbered, not in table of contents either
10435       :PROPERTIES:
10436       :UNNUMBERED: notoc
10437       :END:
10438
10439   Org normally inserts the table of contents directly before the first
10440headline of the file.  To move the table of contents to a different
10441location, first turn off the default with ‘org-export-with-toc’ variable
10442or with ‘#+OPTIONS: toc:nil’.  Then insert ‘#+TOC: headlines N’ at the
10443desired location(s).
10444
10445     #+OPTIONS: toc:nil
10446     ...
10447     #+TOC: headlines 2
10448
10449   To adjust the table of contents depth for a specific section of the
10450Org document, append an additional ‘local’ parameter.  This parameter
10451becomes a relative depth for the current level.  The following example
10452inserts a local table of contents, with direct children only.
10453
10454     * Section
10455     #+TOC: headlines 1 local
10456
10457   Note that for this feature to work properly in LaTeX export, the Org
10458file requires the inclusion of the titletoc package.  Because of
10459compatibility issues, titletoc has to be loaded _before_ hyperref.
10460Customize the ‘org-latex-default-packages-alist’ variable.
10461
10462   The following example inserts a table of contents that links to the
10463children of the specified target.
10464
10465     * Target
10466       :PROPERTIES:
10467       :CUSTOM_ID: TargetSection
10468       :END:
10469     ** Heading A
10470     ** Heading B
10471     * Another section
10472     #+TOC: headlines 1 :target #TargetSection
10473
10474   The ‘:target’ attribute is supported in HTML, Markdown, ODT, and
10475ASCII export.
10476
10477   Use the ‘TOC’ keyword to generate list of tables—respectively, all
10478listings—with captions.
10479
10480     #+TOC: listings
10481     #+TOC: tables
10482
10483   Normally Org uses the headline for its entry in the table of
10484contents.  But with ‘ALT_TITLE’ property, a different entry can be
10485specified for the table of contents.
10486
10487   ---------- Footnotes ----------
10488
10489   (1) At the moment, some export back-ends do not obey this
10490specification.  For example, LaTeX export excludes every unnumbered
10491headline from the table of contents.
10492
10493
10494File: org.info,  Node: Include Files,  Next: Macro Replacement,  Prev: Table of Contents,  Up: Exporting
10495
1049613.4 Include Files
10497==================
10498
10499During export, you can include the content of another file.  For
10500example, to include your ‘.emacs’ file, you could use:
10501
10502     #+INCLUDE: "~/.emacs" src emacs-lisp
10503
10504The first parameter is the file name to include.  The optional second
10505parameter specifies the block type: ‘example’, ‘export’ or ‘src’.  The
10506optional third parameter specifies the source code language to use for
10507formatting the contents.  This is relevant to both ‘export’ and ‘src’
10508block types.
10509
10510   If an included file is specified as having a markup language, Org
10511neither checks for valid syntax nor changes the contents in any way.
10512For example and source blocks, Org code-escapes the contents before
10513inclusion.
10514
10515   If an included file is not specified as having any markup language,
10516Org assumes it be in Org format and proceeds as usual with a few
10517exceptions.  Org makes the footnote labels (see *note Creating
10518Footnotes::) in the included file local to that file.  The contents of
10519the included file belong to the same structure—headline, item—containing
10520the ‘INCLUDE’ keyword.  In particular, headlines within the file become
10521children of the current section.  That behavior can be changed by
10522providing an additional keyword parameter, ‘:minlevel’.  It shifts the
10523headlines in the included file to become the lowest level.  For example,
10524this syntax makes the included file a sibling of the current top-level
10525headline:
10526
10527     #+INCLUDE: "~/my-book/chapter2.org" :minlevel 1
10528
10529   Inclusion of only portions of files are specified using ranges
10530parameter with ‘:lines’ keyword.  The line at the upper end of the range
10531will not be included.  The start and/or the end of the range may be
10532omitted to use the obvious defaults.
10533
10534‘#+INCLUDE: "~/.emacs" :lines "5-10"’   Include lines 5 to 10, 10 excluded
10535‘#+INCLUDE: "~/.emacs" :lines "-10"’    Include lines 1 to 10, 10 excluded
10536‘#+INCLUDE: "~/.emacs" :lines "10-"’    Include lines from 10 to EOF
10537
10538   Inclusions may specify a file-link to extract an object matched by
10539‘org-link-search’(1) (see *note Search Options::).  The ranges for
10540‘:lines’ keyword are relative to the requested element.  Therefore,
10541
10542     #+INCLUDE: "./paper.org::*conclusion" :lines 1-20
10543
10544includes the first 20 lines of the headline named ‘conclusion’.
10545
10546   To extract only the contents of the matched object, set
10547‘:only-contents’ property to non-‘nil’.  This omits any planning lines
10548or property drawers.  For example, to include the body of the heading
10549with the custom ID ‘theory’, you can use
10550
10551     #+INCLUDE: "./paper.org::#theory" :only-contents t
10552
10553   The following command allows navigating to the included document:
10554
10555‘C-c '’ (‘org-edit~special’)
10556
10557     Visit the included file at point.
10558
10559   ---------- Footnotes ----------
10560
10561   (1) Note that ‘org-link-search-must-match-exact-headline’ is locally
10562bound to non-‘nil’.  Therefore, ‘org-link-search’ only matches headlines
10563and named elements.
10564
10565
10566File: org.info,  Node: Macro Replacement,  Next: Comment Lines,  Prev: Include Files,  Up: Exporting
10567
1056813.5 Macro Replacement
10569======================
10570
10571Macros replace text snippets during export.  Macros are defined globally
10572in ‘org-export-global-macros’, or document-wise with the following
10573syntax:
10574
10575     #+MACRO: name   replacement text; $1, $2 are arguments
10576
10577which can be referenced using ‘{{{name(arg1, arg2)}}}’(1).  For example
10578
10579     #+MACRO: poem Rose is $1, violet's $2. Life's ordered: Org assists you.
10580     {{{poem(red,blue)}}}
10581
10582becomes
10583
10584     Rose is red, violet's blue. Life's ordered: Org assists you.
10585
10586   As a special case, Org parses any replacement text starting with
10587‘(eval’ as an Emacs Lisp expression and evaluates it accordingly.
10588Within such templates, arguments become strings.  Thus, the following
10589macro
10590
10591     #+MACRO: gnustamp (eval (concat "GNU/" (capitalize $1)))
10592
10593turns ‘{{{gnustamp(linux)}}}’ into ‘GNU/Linux’ during export.
10594
10595   Org recognizes macro references in following Org markup areas:
10596paragraphs, headlines, verse blocks, tables cells and lists.  Org also
10597recognizes macro references in keywords, such as ‘CAPTION’, ‘TITLE’,
10598‘AUTHOR’, ‘DATE’, and for some back-end specific export options.
10599
10600   Org comes with following pre-defined macros:
10601
10602‘{{{keyword(NAME)}}}’
10603‘{{{title}}}’
10604‘{{{author}}}’
10605‘{{{email}}}’
10606     The ‘keyword’ macro collects all values from NAME keywords
10607     throughout the buffer, separated with white space.  ‘title’,
10608     ‘author’ and ‘email’ macros are shortcuts for, respectively,
10609     ‘{{{keyword(TITLE)}}}’, ‘{{{keyword(AUTHOR)}}}’ and
10610     ‘{{{keyword(EMAIL)}}}’.
10611
10612‘{{{date}}}’
10613‘{{{date(FORMAT)}}}’
10614     This macro refers to the ‘DATE’ keyword.  FORMAT is an optional
10615     argument to the ‘date’ macro that is used only if ‘DATE’ is a
10616     single timestamp.  FORMAT should be a format string understood by
10617     ‘format-time-string’.
10618
10619‘{{{time(FORMAT)}}}’
10620‘{{{modification-time(FORMAT, VC)}}}’
10621     These macros refer to the document’s date and time of export and
10622     date and time of modification.  FORMAT is a string understood by
10623     ‘format-time-string’.  If the second argument to the
10624     ‘modification-time’ macro is non-‘nil’, Org uses ‘vc.el’ to
10625     retrieve the document’s modification time from the version control
10626     system.  Otherwise Org reads the file attributes.
10627
10628‘{{{input-file}}}’
10629     This macro refers to the filename of the exported file.
10630
10631‘{{{property(PROPERTY-NAME)}}}’
10632‘{{{property(PROPERTY-NAME, SEARCH OPTION)}}}’
10633     This macro returns the value of property PROPERTY-NAME in the
10634     current entry.  If SEARCH-OPTION (see *note Search Options::)
10635     refers to a remote entry, use it instead.
10636
10637‘{{{n}}}’
10638‘{{{n(NAME)}}}’
10639‘{{{n(NAME, ACTION)}}}’
10640     This macro implements custom counters by returning the number of
10641     times the macro has been expanded so far while exporting the
10642     buffer.  You can create more than one counter using different NAME
10643     values.  If ACTION is ‘-’, previous value of the counter is held,
10644     i.e., the specified counter is not incremented.  If the value is a
10645     number, the specified counter is set to that value.  If it is any
10646     other non-empty string, the specified counter is reset to 1.  You
10647     may leave NAME empty to reset the default counter.
10648
10649   Moreover, inline source blocks (see *note Structure of Code Blocks::)
10650use the special ‘results’ macro to mark their output.  As such, you are
10651advised against re-defining it, unless you know what you are doing.
10652
10653   The surrounding brackets can be made invisible by setting
10654‘org-hide-macro-markers’ to a non-‘nil’ value.
10655
10656   Org expands macros at the very beginning of the export process.
10657
10658   ---------- Footnotes ----------
10659
10660   (1) Since commas separate the arguments, commas within arguments have
10661to be escaped with the backslash character.  So only those backslash
10662characters before a comma need escaping with another backslash
10663character.
10664
10665
10666File: org.info,  Node: Comment Lines,  Next: ASCII/Latin-1/UTF-8 export,  Prev: Macro Replacement,  Up: Exporting
10667
1066813.6 Comment Lines
10669==================
10670
10671Lines starting with zero or more whitespace characters followed by one
10672‘#’ and a whitespace are treated as comments and, as such, are not
10673exported.
10674
10675   Likewise, regions surrounded by ‘#+BEGIN_COMMENT’ ... ‘#+END_COMMENT’
10676are not exported.
10677
10678   Finally, a ‘COMMENT’ keyword at the beginning of an entry, but after
10679any other keyword or priority cookie, comments out the entire subtree.
10680In this case, the subtree is not exported and no code block within it is
10681executed either(1).  The command below helps changing the comment status
10682of a headline.
10683
10684‘C-c ;’ (‘org-toggle-comment’)
10685
10686     Toggle the ‘COMMENT’ keyword at the beginning of an entry.
10687
10688   ---------- Footnotes ----------
10689
10690   (1) For a less drastic behavior, consider using a select tag (see
10691*note Export Settings::) instead.
10692
10693
10694File: org.info,  Node: ASCII/Latin-1/UTF-8 export,  Next: Beamer Export,  Prev: Comment Lines,  Up: Exporting
10695
1069613.7 ASCII/Latin-1/UTF-8 export
10697===============================
10698
10699ASCII export produces an output file containing only plain ASCII
10700characters.  This is the simplest and most direct text output.  It does
10701not contain any Org markup.  Latin-1 and UTF-8 export use additional
10702characters and symbols available in these encoding standards.  All three
10703of these export formats offer the most basic of text output for maximum
10704portability.
10705
10706   On export, Org fills and justifies text according to the text width
10707set in ‘org-ascii-text-width’.
10708
10709   Org exports links using a footnote-like style where the descriptive
10710part is in the text and the link is in a note before the next heading.
10711See the variable ‘org-ascii-links-to-notes’ for details.
10712
10713ASCII export commands
10714---------------------
10715
10716‘C-c C-e t a’ (‘org-ascii-export-to-ascii’)
10717‘C-c C-e t l’
10718‘C-c C-e t u’
10719
10720     Export as an ASCII file with a ‘.txt’ extension.  For ‘myfile.org’,
10721     Org exports to ‘myfile.txt’, overwriting without warning.  For
10722myfile.txt’, Org exports to ‘myfile.txt.txt’ in order to prevent
10723     data loss.
10724
10725‘C-c C-e t A’ (‘org-ascii-export-to-ascii’)
10726‘C-c C-e t L’
10727‘C-c C-e t U’
10728
10729     Export to a temporary buffer.  Does not create a file.
10730
10731ASCII specific export settings
10732------------------------------
10733
10734The ASCII export back-end has one extra keyword for customizing ASCII
10735output.  Setting this keyword works similar to the general options (see
10736*note Export Settings::).
10737
10738‘SUBTITLE’
10739     The document subtitle.  For long subtitles, use multiple
10740     ‘#+SUBTITLE’ lines in the Org file.  Org prints them on one
10741     continuous line, wrapping into multiple lines if necessary.
10742
10743Header and sectioning structure
10744-------------------------------
10745
10746Org converts the first three outline levels into headlines for ASCII
10747export.  The remaining levels are turned into lists.  To change this
10748cut-off point where levels become lists, see *note Export Settings::.
10749
10750Quoting ASCII text
10751------------------
10752
10753To insert text within the Org file by the ASCII back-end, use one the
10754following constructs, inline, keyword, or export block:
10755
10756     Inline text @@ascii:and additional text@@ within a paragraph.
10757
10758     #+ASCII: Some text
10759
10760     #+BEGIN_EXPORT ascii
10761     Org exports text in this block only when using ASCII back-end.
10762     #+END_EXPORT
10763
10764ASCII specific attributes
10765-------------------------
10766
10767ASCII back-end recognizes only one attribute, ‘:width’, which specifies
10768the width of a horizontal rule in number of characters.  The keyword and
10769syntax for specifying widths is:
10770
10771     #+ATTR_ASCII: :width 10
10772     -----
10773
10774ASCII special blocks
10775--------------------
10776
10777Besides ‘#+BEGIN_CENTER’ blocks (see *note Paragraphs::), ASCII back-end
10778has these two left and right justification blocks:
10779
10780     #+BEGIN_JUSTIFYLEFT
10781     It's just a jump to the left...
10782     #+END_JUSTIFYLEFT
10783
10784     #+BEGIN_JUSTIFYRIGHT
10785     ...and then a step to the right.
10786     #+END_JUSTIFYRIGHT
10787
10788
10789File: org.info,  Node: Beamer Export,  Next: HTML Export,  Prev: ASCII/Latin-1/UTF-8 export,  Up: Exporting
10790
1079113.8 Beamer Export
10792==================
10793
10794Org uses Beamer export to convert an Org file tree structure into
10795high-quality interactive slides for presentations.  Beamer is a LaTeX
10796document class for creating presentations in PDF, HTML, and other
10797popular display formats.
10798
10799* Menu:
10800
10801* Beamer export commands::       For creating Beamer documents.
10802* Beamer specific export settings:: For customizing Beamer export.
10803* Frames and Blocks in Beamer::  For composing Beamer slides.
10804* Beamer specific syntax::       For using in Org documents.
10805* Editing support::              Editing support.
10806* A Beamer example::             A complete presentation.
10807
10808
10809File: org.info,  Node: Beamer export commands,  Next: Beamer specific export settings,  Up: Beamer Export
10810
1081113.8.1 Beamer export commands
10812-----------------------------
10813
10814‘C-c C-e l b’ (‘org-beamer-export-to-latex’)
10815
10816     Export as LaTeX file with a ‘.tex’ extension.  For ‘myfile.org’,
10817     Org exports to ‘myfile.tex’, overwriting without warning.
10818
10819‘C-c C-e l B’ (‘org-beamer-export-as-latex’)
10820
10821     Export to a temporary buffer.  Does not create a file.
10822
10823‘C-c C-e l P’ (‘org-beamer-export-to-pdf’)
10824
10825     Export as LaTeX file and then convert it to PDF format.
10826
10827‘C-c C-e l O’
10828
10829     Export as LaTeX file, convert it to PDF format, and then open the
10830     PDF file.
10831
10832
10833File: org.info,  Node: Beamer specific export settings,  Next: Frames and Blocks in Beamer,  Prev: Beamer export commands,  Up: Beamer Export
10834
1083513.8.2 Beamer specific export settings
10836--------------------------------------
10837
10838Beamer export back-end has several additional keywords for customizing
10839Beamer output.  These keywords work similar to the general options
10840settings (see *note Export Settings::).
10841
10842‘BEAMER_THEME’
10843     The Beamer layout theme (‘org-beamer-theme’).  Use square brackets
10844     for options.  For example:
10845
10846          #+BEAMER_THEME: Rochester [height=20pt]
10847
10848‘BEAMER_FONT_THEME’
10849     The Beamer font theme.
10850
10851‘BEAMER_INNER_THEME’
10852     The Beamer inner theme.
10853
10854‘BEAMER_OUTER_THEME’
10855     The Beamer outer theme.
10856
10857‘BEAMER_HEADER’
10858     Arbitrary lines inserted in the preamble, just before the
10859     ‘hyperref’ settings.
10860
10861‘DESCRIPTION’
10862     The document description.  For long descriptions, use multiple
10863     ‘DESCRIPTION’ keywords.  By default, ‘hyperref’ inserts
10864     ‘DESCRIPTION’ as metadata.  Use ‘org-latex-hyperref-template’ to
10865     configure document metadata.  Use ‘org-latex-title-command’ to
10866     configure typesetting of description as part of front matter.
10867
10868‘KEYWORDS’
10869     The keywords for defining the contents of the document.  Use
10870     multiple ‘KEYWORDS’ lines if necessary.  By default, ‘hyperref’
10871     inserts ‘KEYWORDS’ as metadata.  Use ‘org-latex-hyperref-template’
10872     to configure document metadata.  Use ‘org-latex-title-command’ to
10873     configure typesetting of keywords as part of front matter.
10874
10875‘SUBTITLE’
10876     Document’s subtitle.  For typesetting, use
10877     ‘org-beamer-subtitle-format’ string.  Use
10878     ‘org-latex-hyperref-template’ to configure document metadata.  Use
10879     ‘org-latex-title-command’ to configure typesetting of subtitle as
10880     part of front matter.
10881
10882
10883File: org.info,  Node: Frames and Blocks in Beamer,  Next: Beamer specific syntax,  Prev: Beamer specific export settings,  Up: Beamer Export
10884
1088513.8.3 Frames and Blocks in Beamer
10886----------------------------------
10887
10888Org transforms heading levels into Beamer’s sectioning elements, frames
10889and blocks.  Any Org tree with a not-too-deep-level nesting should in
10890principle be exportable as a Beamer presentation.
10891
10892   • Org headlines become Beamer frames when the heading level in Org is
10893     equal to ‘org-beamer-frame-level’ or ‘H’ value in a ‘OPTIONS’ line
10894     (see *note Export Settings::).
10895
10896     Org overrides headlines to frames conversion for the current tree
10897     of an Org file if it encounters the ‘BEAMER_ENV’ property set to
10898     ‘frame’ or ‘fullframe’.  Org ignores whatever
10899     ‘org-beamer-frame-level’ happens to be for that headline level in
10900     the Org tree.  In Beamer terminology, a full frame is a frame
10901     without its title.
10902
10903   • Org exports a Beamer frame’s objects as block environments.  Org
10904     can enforce wrapping in special block types when ‘BEAMER_ENV’
10905     property is set(1).  For valid values see
10906     ‘org-beamer-environments-default’.  To add more values, see
10907     ‘org-beamer-environments-extra’.
10908
10909   • If ‘BEAMER_ENV’ is set to ‘appendix’, Org exports the entry as an
10910     appendix.  When set to ‘note’, Org exports the entry as a note
10911     within the frame or between frames, depending on the entry’s
10912     heading level.  When set to ‘noteNH’, Org exports the entry as a
10913     note without its title.  When set to ‘againframe’, Org exports the
10914     entry with ‘\againframe’ command, which makes setting the
10915     ‘BEAMER_REF’ property mandatory because ‘\againframe’ needs frame
10916     to resume.
10917
10918     When ‘ignoreheading’ is set, Org export ignores the entry’s
10919     headline but not its content.  This is useful for inserting content
10920     between frames.  It is also useful for properly closing a ‘column’
10921     environment.  @end itemize
10922
10923     When ‘BEAMER_ACT’ is set for a headline, Org export translates that
10924     headline as an overlay or action specification.  When enclosed in
10925     square brackets, Org export makes the overlay specification a
10926     default.  Use ‘BEAMER_OPT’ to set any options applicable to the
10927     current Beamer frame or block.  The Beamer export back-end wraps
10928     with appropriate angular or square brackets.  It also adds the
10929     ‘fragile’ option for any code that may require a verbatim block.
10930
10931     To create a column on the Beamer slide, use the ‘BEAMER_COL’
10932     property for its headline in the Org file.  Set the value of
10933     ‘BEAMER_COL’ to a decimal number representing the fraction of the
10934     total text width.  Beamer export uses this value to set the
10935     column’s width and fills the column with the contents of the Org
10936     entry.  If the Org entry has no specific environment defined,
10937     Beamer export ignores the heading.  If the Org entry has a defined
10938     environment, Beamer export uses the heading as title.  Behind the
10939     scenes, Beamer export automatically handles LaTeX column
10940     separations for contiguous headlines.  To manually adjust them for
10941     any unique configurations needs, use the ‘BEAMER_ENV’ property.
10942
10943   ---------- Footnotes ----------
10944
10945   (1) If ‘BEAMER_ENV’ is set, Org export adds ‘B_environment’ tag to
10946make it visible.  The tag serves as a visual aid and has no semantic
10947relevance.
10948
10949
10950File: org.info,  Node: Beamer specific syntax,  Next: Editing support,  Prev: Frames and Blocks in Beamer,  Up: Beamer Export
10951
1095213.8.4 Beamer specific syntax
10953-----------------------------
10954
10955Since Org’s Beamer export back-end is an extension of the LaTeX
10956back-end, it recognizes other LaTeX specific syntax—for example,
10957‘#+LATEX:’ or ‘#+ATTR_LATEX:’.  See *note LaTeX Export::, for details.
10958
10959   Beamer export wraps the table of contents generated with ‘toc:t’
10960‘OPTION’ keyword in a ‘frame’ environment.  Beamer export does not wrap
10961the table of contents generated with ‘TOC’ keyword (see *note Table of
10962Contents::).  Use square brackets for specifying options.
10963
10964     #+TOC: headlines [currentsection]
10965
10966   Insert Beamer-specific code using the following constructs:
10967
10968     #+BEAMER: \pause
10969
10970     #+BEGIN_EXPORT beamer
10971       Only Beamer export back-end exports this.
10972     #+END_BEAMER
10973
10974     Text @@beamer:some code@@ within a paragraph.
10975
10976   Inline constructs, such as the last one above, are useful for adding
10977overlay specifications to objects with ‘bold’, ‘item’, ‘link’,
10978‘radio-target’ and ‘target’ types.  Enclose the value in angular
10979brackets and place the specification at the beginning of the object as
10980shown in this example:
10981
10982     A *@@beamer:<2->@@useful* feature
10983
10984   Beamer export recognizes the ‘ATTR_BEAMER’ keyword with the following
10985attributes from Beamer configurations: ‘:environment’ for changing local
10986Beamer environment, ‘:overlay’ for specifying Beamer overlays in angular
10987or square brackets, and ‘:options’ for inserting optional arguments.
10988
10989     #+ATTR_BEAMER: :environment nonindentlist
10990     - item 1, not indented
10991     - item 2, not indented
10992     - item 3, not indented
10993
10994     #+ATTR_BEAMER: :overlay <+->
10995     - item 1
10996     - item 2
10997
10998     #+ATTR_BEAMER: :options [Lagrange]
10999     Let $G$ be a finite group, and let $H$ be
11000     a subgroup of $G$.  Then the order of $H$ divides the order of $G$.
11001
11002
11003File: org.info,  Node: Editing support,  Next: A Beamer example,  Prev: Beamer specific syntax,  Up: Beamer Export
11004
1100513.8.5 Editing support
11006----------------------
11007
11008Org Beamer mode is a special minor mode for faster editing of Beamer
11009documents.
11010
11011     #+STARTUP: beamer
11012
11013‘C-c C-b’ (‘org-beamer-select-environment’)
11014
11015     Org Beamer mode provides this key for quicker selections in Beamer
11016     normal environments, and for selecting the ‘BEAMER_COL’ property.
11017
11018
11019File: org.info,  Node: A Beamer example,  Prev: Editing support,  Up: Beamer Export
11020
1102113.8.6 A Beamer example
11022-----------------------
11023
11024Here is an example of an Org document ready for Beamer export.
11025
11026     #+TITLE: Example Presentation
11027     #+AUTHOR: Carsten Dominik
11028     #+OPTIONS: H:2 toc:t num:t
11029     #+LATEX_CLASS: beamer
11030     #+LATEX_CLASS_OPTIONS: [presentation]
11031     #+BEAMER_THEME: Madrid
11032     #+COLUMNS: %45ITEM %10BEAMER_ENV(Env) %10BEAMER_ACT(Act) %4BEAMER_COL(Col)
11033
11034     * This is the first structural section
11035
11036     ** Frame 1
11037     *** Thanks to Eric Fraga                                           :B_block:
11038         :PROPERTIES:
11039         :BEAMER_COL: 0.48
11040         :BEAMER_ENV: block
11041         :END:
11042         for the first viable Beamer setup in Org
11043     *** Thanks to everyone else                                        :B_block:
11044         :PROPERTIES:
11045         :BEAMER_COL: 0.48
11046         :BEAMER_ACT: <2->
11047         :BEAMER_ENV: block
11048         :END:
11049         for contributing to the discussion
11050     **** This will be formatted as a beamer note                       :B_note:
11051          :PROPERTIES:
11052          :BEAMER_env: note
11053          :END:
11054     ** Frame 2 (where we will not use columns)
11055     *** Request
11056         Please test this stuff!
11057
11058
11059File: org.info,  Node: HTML Export,  Next: LaTeX Export,  Prev: Beamer Export,  Up: Exporting
11060
1106113.9 HTML Export
11062================
11063
11064Org mode contains an HTML exporter with extensive HTML formatting
11065compatible with XHTML 1.0 strict standard.
11066
11067* Menu:
11068
11069* HTML export commands::         Invoking HTML export.
11070* HTML specific export settings:: Settings for HTML export.
11071* HTML doctypes::                Exporting various (X)HTML flavors.
11072* HTML preamble and postamble::  Inserting preamble and postamble.
11073* Quoting HTML tags::            Using direct HTML in Org files.
11074* Headlines in HTML export::     Formatting headlines.
11075* Links in HTML export::         Inserting and formatting links.
11076* Tables in HTML export::        How to modify the formatting of tables.
11077* Images in HTML export::        How to insert figures into HTML output.
11078* Math formatting in HTML export:: Beautiful math also on the web.
11079* Text areas in HTML export::    An alternate way to show an example.
11080* CSS support::                  Changing the appearance of the output.
11081* JavaScript support::           Info and folding in a web browser.
11082
11083
11084File: org.info,  Node: HTML export commands,  Next: HTML specific export settings,  Up: HTML Export
11085
1108613.9.1 HTML export commands
11087---------------------------
11088
11089‘C-c C-e h h’ (‘org-html-export-to-html’)
11090
11091     Export as HTML file with a ‘.html’ extension.  For ‘myfile.org’,
11092     Org exports to ‘myfile.html’, overwriting without warning.
11093     {{{kbd{C-c C-e h o)}}} exports to HTML and opens it in a web
11094     browser.
11095
11096‘C-c C-e h H’ (‘org-html-export-as-html’)
11097
11098     Exports to a temporary buffer.  Does not create a file.
11099
11100
11101File: org.info,  Node: HTML specific export settings,  Next: HTML doctypes,  Prev: HTML export commands,  Up: HTML Export
11102
1110313.9.2 HTML specific export settings
11104------------------------------------
11105
11106HTML export has a number of keywords, similar to the general options
11107settings described in *note Export Settings::.
11108
11109‘DESCRIPTION’
11110     This is the document’s description, which the HTML exporter inserts
11111     it as a HTML meta tag in the HTML file.  For long descriptions, use
11112     multiple ‘DESCRIPTION’ lines.  The exporter takes care of wrapping
11113     the lines properly.
11114
11115‘HTML_DOCTYPE’
11116     Specify the document type, for example: HTML5 (‘org-html-doctype’).
11117
11118‘HTML_CONTAINER’
11119     Specify the HTML container, such as ‘div’, for wrapping sections
11120     and elements (‘org-html-container-element’).
11121
11122‘HTML_LINK_HOME’
11123     The URL for home link (‘org-html-link-home’).
11124
11125‘HTML_LINK_UP’
11126     The URL for the up link of exported HTML pages
11127     (‘org-html-link-up’).
11128
11129‘HTML_MATHJAX’
11130     Options for MathJax (‘org-html-mathjax-options’).  MathJax is used
11131     to typeset LaTeX math in HTML documents.  See *note Math formatting
11132     in HTML export::, for an example.
11133
11134‘HTML_HEAD’
11135     Arbitrary lines for appending to the HTML document’s head
11136     (‘org-html-head’).
11137
11138‘HTML_HEAD_EXTRA’
11139     More arbitrary lines for appending to the HTML document’s head
11140     (‘org-html-head-extra’).
11141
11142‘KEYWORDS’
11143     Keywords to describe the document’s content.  HTML exporter inserts
11144     these keywords as HTML meta tags.  For long keywords, use multiple
11145     ‘KEYWORDS’ lines.
11146
11147‘LATEX_HEADER’
11148     Arbitrary lines for appending to the preamble; HTML exporter
11149     appends when transcoding LaTeX fragments to images (see *note Math
11150     formatting in HTML export::).
11151
11152‘SUBTITLE’
11153     The document’s subtitle.  HTML exporter formats subtitle if
11154     document type is ‘HTML5’ and the CSS has a ‘subtitle’ class.
11155
11156   Some of these keywords are explained in more detail in the following
11157sections of the manual.
11158
11159
11160File: org.info,  Node: HTML doctypes,  Next: HTML preamble and postamble,  Prev: HTML specific export settings,  Up: HTML Export
11161
1116213.9.3 HTML doctypes
11163--------------------
11164
11165Org can export to various (X)HTML flavors.
11166
11167   Set the ‘org-html-doctype’ variable for different (X)HTML variants.
11168Depending on the variant, the HTML exporter adjusts the syntax of HTML
11169conversion accordingly.  Org includes the following ready-made variants:
11170
11171   • ‘"html4-strict"’
11172   • ‘"html4-transitional"’
11173   • ‘"html4-frameset"’
11174   • ‘"xhtml-strict"’
11175   • ‘"xhtml-transitional"’
11176   • ‘"xhtml-frameset"’
11177   • ‘"xhtml-11"’
11178   • ‘"html5"’
11179   • ‘"xhtml5"’
11180
11181See the variable ‘org-html-doctype-alist’ for details.  The default is
11182‘"xhtml-strict"’.
11183
11184   Org’s HTML exporter does not by default enable new block elements
11185introduced with the HTML5 standard.  To enable them, set
11186‘org-html-html5-fancy’ to non-‘nil’.  Or use an ‘OPTIONS’ line in the
11187file to set ‘html5-fancy’.
11188
11189   HTML5 documents can now have arbitrary ‘#+BEGIN’ ... ‘#+END’ blocks.
11190For example:
11191
11192     #+BEGIN_aside
11193       Lorem ipsum
11194     #+END_aside
11195
11196exports to:
11197
11198     <aside>
11199       <p>Lorem ipsum</p>
11200     </aside>
11201
11202while this:
11203
11204     #+ATTR_HTML: :controls controls :width 350
11205     #+BEGIN_video
11206     #+HTML: <source src="movie.mp4" type="video/mp4">
11207     #+HTML: <source src="movie.ogg" type="video/ogg">
11208     Your browser does not support the video tag.
11209     #+END_video
11210
11211exports to:
11212
11213     <video controls="controls" width="350">
11214       <source src="movie.mp4" type="video/mp4">
11215         <source src="movie.ogg" type="video/ogg">
11216           <p>Your browser does not support the video tag.</p>
11217     </video>
11218
11219   When special blocks do not have a corresponding HTML5 element, the
11220HTML exporter reverts to standard translation (see
11221‘org-html-html5-elements’).  For example, ‘#+BEGIN_lederhosen’ exports
11222to ‘<div class="lederhosen">’.
11223
11224   Special blocks cannot have headlines.  For the HTML exporter to wrap
11225the headline and its contents in ‘<section>’ or ‘<article>’ tags, set
11226the ‘HTML_CONTAINER’ property for the headline.
11227
11228
11229File: org.info,  Node: HTML preamble and postamble,  Next: Quoting HTML tags,  Prev: HTML doctypes,  Up: HTML Export
11230
1123113.9.4 HTML preamble and postamble
11232----------------------------------
11233
11234The HTML exporter has delineations for preamble and postamble.  The
11235default value for ‘org-html-preamble’ is ‘t’, which makes the HTML
11236exporter insert the preamble.  See the variable
11237‘org-html-preamble-format’ for the format string.
11238
11239   Set ‘org-html-preamble’ to a string to override the default format
11240string.  If the string is a function, the HTML exporter expects the
11241function to return a string upon execution.  The HTML exporter inserts
11242this string in the preamble.  The HTML exporter does not insert a
11243preamble if ‘org-html-preamble’ is set ‘nil’.
11244
11245   The default value for ‘org-html-postamble’ is ‘auto’, which makes the
11246HTML exporter build a postamble from looking up author’s name, email
11247address, creator’s name, and date.  Set ‘org-html-postamble’ to ‘t’ to
11248insert the postamble in the format specified in the
11249‘org-html-postamble-format’ variable.  The HTML exporter does not insert
11250a postamble if ‘org-html-postamble’ is set to ‘nil’.
11251
11252
11253File: org.info,  Node: Quoting HTML tags,  Next: Headlines in HTML export,  Prev: HTML preamble and postamble,  Up: HTML Export
11254
1125513.9.5 Quoting HTML tags
11256------------------------
11257
11258The HTML export back-end transforms ‘<’ and ‘>’ to ‘&lt;’ and ‘&gt;’.
11259To include raw HTML code in the Org file so the HTML export back-end can
11260insert that HTML code in the output, use this inline syntax:
11261‘@@html:...@@’.  For example:
11262
11263     @@html:<b>@@bold text@@html:</b>@@
11264
11265   For larger raw HTML code blocks, use these HTML export code blocks:
11266
11267     #+HTML: Literal HTML code for export
11268
11269     #+BEGIN_EXPORT html
11270       All lines between these markers are exported literally
11271     #+END_EXPORT
11272
11273
11274File: org.info,  Node: Headlines in HTML export,  Next: Links in HTML export,  Prev: Quoting HTML tags,  Up: HTML Export
11275
1127613.9.6 Headlines in HTML export
11277-------------------------------
11278
11279Headlines are exported to ‘<h1>’, ‘<h2>’, etc.  Each headline gets the
11280‘id’ attribute from ‘CUSTOM_ID’ property, or a unique generated value,
11281see *note Internal Links::.
11282
11283   When ‘org-html-self-link-headlines’ is set to a non-‘nil’ value, the
11284text of the headlines is also wrapped in ‘<a>’ tags.  These tags have a
11285‘href’ attribute making the headlines link to themselves.
11286
11287
11288File: org.info,  Node: Links in HTML export,  Next: Tables in HTML export,  Prev: Headlines in HTML export,  Up: HTML Export
11289
1129013.9.7 Links in HTML export
11291---------------------------
11292
11293The HTML export back-end transforms Org’s internal links (see *note
11294Internal Links::) to equivalent HTML links in the output.  The back-end
11295similarly handles Org’s automatic links created by radio targets (see
11296*note Radio Targets::) similarly.  For Org links to external files, the
11297back-end transforms the links to _relative_ paths.
11298
11299   For Org links to other ‘.org’ files, the back-end automatically
11300changes the file extension to ‘.html’ and makes file paths relative.  If
11301the ‘.org’ files have an equivalent ‘.html’ version at the same
11302location, then the converted links should work without any further
11303manual intervention.  However, to disable this automatic path
11304translation, set ‘org-html-link-org-files-as-html’ to ‘nil’.  When
11305disabled, the HTML export back-end substitutes the ID-based links in the
11306HTML output.  For more about linking files when publishing to a
11307directory, see *note Publishing links::.
11308
11309   Org files can also have special directives to the HTML export
11310back-end.  For example, by using ‘#+ATTR_HTML’ lines to specify new
11311format attributes to ‘<a>’ or ‘<img>’ tags.  This example shows changing
11312the link’s title and style:
11313
11314     #+ATTR_HTML: :title The Org mode homepage :style color:red;
11315     [[https://orgmode.org]]
11316
11317
11318File: org.info,  Node: Tables in HTML export,  Next: Images in HTML export,  Prev: Links in HTML export,  Up: HTML Export
11319
1132013.9.8 Tables in HTML export
11321----------------------------
11322
11323The HTML export back-end uses ‘org-html-table-default-attributes’ when
11324exporting Org tables to HTML.  By default, the exporter does not draw
11325frames and cell borders.  To change for this for a table, use the
11326following lines before the table in the Org file:
11327
11328     #+CAPTION: This is a table with lines around and between cells
11329     #+ATTR_HTML: :border 2 :rules all :frame border
11330
11331   The HTML export back-end preserves column groupings in Org tables
11332(see *note Column Groups::) when exporting to HTML.
11333
11334   Additional options for customizing tables for HTML export.
11335
11336‘org-html-table-align-individual-fields’
11337     Non-‘nil’ attaches style attributes for alignment to each table
11338     field.
11339
11340‘org-html-table-caption-above’
11341     Non-‘nil’ places caption string at the beginning of the table.
11342
11343‘org-html-table-data-tags’
11344     Opening and ending tags for table data fields.
11345
11346‘org-html-table-default-attributes’
11347     Default attributes and values for table tags.
11348
11349‘org-html-table-header-tags’
11350     Opening and ending tags for table’s header fields.
11351
11352‘org-html-table-row-tags’
11353     Opening and ending tags for table rows.
11354
11355‘org-html-table-use-header-tags-for-first-column’
11356     Non-‘nil’ formats column one in tables with header tags.
11357
11358
11359File: org.info,  Node: Images in HTML export,  Next: Math formatting in HTML export,  Prev: Tables in HTML export,  Up: HTML Export
11360
1136113.9.9 Images in HTML export
11362----------------------------
11363
11364The HTML export back-end has features to convert Org image links to HTML
11365inline images and HTML clickable image links.
11366
11367   When the link in the Org file has no description, the HTML export
11368back-end by default in-lines that image.  For example:
11369‘[[file:myimg.jpg]]’ is in-lined, while ‘[[file:myimg.jpg][the image]]’
11370links to the text, ‘the image’.  For more details, see the variable
11371‘org-html-inline-images’.
11372
11373   On the other hand, if the description part of the Org link is itself
11374another link, such as ‘file:’ or ‘http:’ URL pointing to an image, the
11375HTML export back-end in-lines this image and links to the main image.
11376This Org syntax enables the back-end to link low-resolution thumbnail to
11377the high-resolution version of the image, as shown in this example:
11378
11379     [[file:highres.jpg][file:thumb.jpg]]
11380
11381   To change attributes of in-lined images, use ‘#+ATTR_HTML’ lines in
11382the Org file.  This example shows realignment to right, and adds ‘alt’
11383and ‘title’ attributes in support of text viewers and modern web
11384accessibility standards.
11385
11386     #+CAPTION: A black cat stalking a spider
11387     #+ATTR_HTML: :alt cat/spider image :title Action! :align right
11388     [[./img/a.jpg]]
11389
11390   The HTML export back-end copies the ‘http’ links from the Org file
11391as-is.
11392
11393
11394File: org.info,  Node: Math formatting in HTML export,  Next: Text areas in HTML export,  Prev: Images in HTML export,  Up: HTML Export
11395
1139613.9.10 Math formatting in HTML export
11397--------------------------------------
11398
11399LaTeX math snippets (see *note LaTeX fragments::) can be displayed in
11400two different ways on HTML pages.  The default is to use the MathJax
11401(http://www.mathjax.org), which should work out of the box with
11402Org(1)(2).  Some MathJax display options can be configured via
11403‘org-html-mathjax-options’, or in the buffer.  For example, with the
11404following settings,
11405
11406     #+HTML_MATHJAX: align: left indent: 5em tagside: left font: Neo-Euler
11407     #+HTML_MATHJAX: cancel.js noErrors.js
11408
11409equation labels are displayed on the left margin and equations are five
11410em from the left margin.  In addition, it loads the two MathJax
11411extensions ‘cancel.js’ and ‘noErrors.js’(3).
11412
11413   See the docstring of ‘org-html-mathjax-options’ for all supported
11414variables.  The MathJax template can be configure via
11415‘org-html-mathjax-template’.
11416
11417   If you prefer, you can also request that LaTeX fragments are
11418processed into small images that will be inserted into the browser page.
11419Before the availability of MathJax, this was the default method for Org
11420files.  This method requires that the dvipng program, dvisvgm or
11421ImageMagick suite is available on your system.  You can still get this
11422processing with
11423
11424     #+OPTIONS: tex:dvipng
11425
11426     #+OPTIONS: tex:dvisvgm
11427
11428or
11429
11430     #+OPTIONS: tex:imagemagick
11431
11432   ---------- Footnotes ----------
11433
11434   (1) By default Org loads MathJax from cdnjs.com (https://cdnjs.com)
11435as recommended by MathJax (http://www.mathjax.org).
11436
11437   (2) Please note that exported formulas are part of an HTML document,
11438and that signs such as ‘<’, ‘>’, or ‘&’ have special meanings.  See
11439MathJax TeX and LaTeX support
11440(http://docs.mathjax.org/en/latest/tex.html#tex-and-latex-in-html-documents).
11441
11442   (3) See TeX and LaTeX extensions
11443(http://docs.mathjax.org/en/latest/tex.html#tex-extensions) in the
11444MathJax manual (http://docs.mathjax.org) to learn about extensions.
11445
11446
11447File: org.info,  Node: Text areas in HTML export,  Next: CSS support,  Prev: Math formatting in HTML export,  Up: HTML Export
11448
1144913.9.11 Text areas in HTML export
11450---------------------------------
11451
11452Before Org mode’s Babel, one popular approach to publishing code in HTML
11453was by using ‘:textarea’.  The advantage of this approach was that
11454copying and pasting was built into browsers with simple JavaScript
11455commands.  Even editing before pasting was made simple.
11456
11457   The HTML export back-end can create such text areas.  It requires an
11458‘#+ATTR_HTML’ line as shown in the example below with the ‘:textarea’
11459option.  This must be followed by either an example or a source code
11460block.  Other Org block types do not honor the ‘:textarea’ option.
11461
11462   By default, the HTML export back-end creates a text area 80
11463characters wide and height just enough to fit the content.  Override
11464these defaults with ‘:width’ and ‘:height’ options on the ‘#+ATTR_HTML’
11465line.
11466
11467     #+ATTR_HTML: :textarea t :width 40
11468     #+BEGIN_EXAMPLE
11469       (defun org-xor (a b)
11470          "Exclusive or."
11471          (if a (not b) b))
11472     #+END_EXAMPLE
11473
11474
11475File: org.info,  Node: CSS support,  Next: JavaScript support,  Prev: Text areas in HTML export,  Up: HTML Export
11476
1147713.9.12 CSS support
11478-------------------
11479
11480You can modify the CSS style definitions for the exported file.  The
11481HTML exporter assigns the following special CSS classes(1) to
11482appropriate parts of the document—your style specifications may change
11483these, in addition to any of the standard classes like for headlines,
11484tables, etc.
11485
11486p.author’             author information, including email
11487p.date’               publishing date
11488p.creator’            creator info, about org mode version
11489‘.title’               document title
11490‘.subtitle’            document subtitle
11491‘.todo’                TODO keywords, all not-done states
11492‘.done’                the DONE keywords, all states that count as done
11493‘.WAITING’             each TODO keyword also uses a class named after itself
11494‘.timestamp’           timestamp
11495‘.timestamp-kwd’       keyword associated with a timestamp, like ‘SCHEDULED’
11496‘.timestamp-wrapper’   span around keyword plus timestamp
11497‘.tag’                 tag in a headline
11498‘._HOME’               each tag uses itself as a class, “@” replaced by “_”
11499‘.target’              target for links
11500‘.linenr’              the line number in a code example
11501‘.code-highlighted’    for highlighting referenced code lines
11502div.outline-N’        div for outline level N (headline plus text)
11503div.outline-text-N’   extra div for text at outline level N
11504‘.section-number-N’    section number in headlines, different for each level
11505‘.figure-number’       label like “Figure 1:”
11506‘.table-number’        label like “Table 1:”
11507‘.listing-number’      label like “Listing 1:”
11508div.figure’           how to format an in-lined image
11509pre.src’              formatted source code
11510pre.example’          normal example
11511p.verse’              verse paragraph
11512div.footnotes’        footnote section headline
11513p.footnote’           footnote definition paragraph, containing a footnote
11514‘.footref’             a footnote reference number (always a <sup>)
11515‘.footnum’             footnote number in footnote definition (always <sup>)
11516‘.org-svg’             default class for a linked ‘.svg’ image
11517
11518   The HTML export back-end includes a compact default style in each
11519exported HTML file.  To override the default style with another style,
11520use these keywords in the Org file.  They will replace the global
11521defaults the HTML exporter uses.
11522
11523     #+HTML_HEAD: <link rel="stylesheet" type="text/css" href="style1.css" />
11524     #+HTML_HEAD_EXTRA: <link rel="alternate stylesheet" type="text/css" href="style2.css" />
11525
11526   To just turn off the default style, customize
11527‘org-html-head-include-default-style’ variable, or use this option line
11528in the Org file.
11529
11530     #+OPTIONS: html-style:nil
11531
11532   For longer style definitions, either use several ‘HTML_HEAD’ and
11533‘HTML_HEAD_EXTRA’ keywords, or use ‘<style> ... </style>’ blocks around
11534them.  Both of these approaches can avoid referring to an external file.
11535
11536   In order to add styles to a sub-tree, use the ‘HTML_CONTAINER_CLASS’
11537property to assign a class to the tree.  In order to specify CSS styles
11538for a particular headline, you can use the ID specified in a ‘CUSTOM_ID’
11539property.  You can also assign a specific class to a headline with the
11540‘HTML_HEADLINE_CLASS’ property.
11541
11542   Never change the ‘org-html-style-default’ constant.  Instead use
11543other simpler ways of customizing as described above.
11544
11545   ---------- Footnotes ----------
11546
11547   (1) If the classes on TODO keywords and tags lead to conflicts, use
11548the variables ‘org-html-todo-kwd-class-prefix’ and
11549‘org-html-tag-class-prefix’ to make them unique.
11550
11551
11552File: org.info,  Node: JavaScript support,  Prev: CSS support,  Up: HTML Export
11553
1155413.9.13 JavaScript supported display of web pages
11555-------------------------------------------------
11556
11557Sebastian Rose has written a JavaScript program especially designed to
11558allow two different ways of viewing HTML files created with Org.  One is
11559an _Info_-like mode where each section is displayed separately and
11560navigation can be done with the ‘n’ and ‘p’ keys, and some other keys as
11561well, press ‘?’ for an overview of the available keys.  The second one
11562has a _folding_ view, much like Org provides inside Emacs.  The script
11563is available at <https://orgmode.org/org-info.js> and the documentation
11564at <https://orgmode.org/worg/code/org-info-js/>.  The script is hosted
11565on <https://orgmode.org>, but for reliability, prefer installing it on
11566your own web server.
11567
11568   To use this program, just add this line to the Org file:
11569
11570     #+INFOJS_OPT: view:info toc:nil
11571
11572The HTML header now has the code needed to automatically invoke the
11573script.  For setting options, use the syntax from the above line for
11574options described below:
11575
11576‘path:’
11577     The path to the script.  The default is to grab the script from
11578     <https://orgmode.org/org-info.js>, but you might want to have a
11579     local copy and use a path like ‘../scripts/org-info.js’.
11580
11581‘view:’
11582     Initial view when the website is first shown.  Possible values are:
11583
11584     ‘info’       Info-like interface with one section per page
11585     ‘overview’   Folding interface, initially showing only top-level
11586     ‘content’    Folding interface, starting with all headlines visible
11587     ‘showall’    Folding interface, all headlines and text visible
11588
11589‘sdepth:’
11590     Maximum headline level still considered as an independent section
11591     for info and folding modes.  The default is taken from
11592     ‘org-export-headline-levels’, i.e., the ‘H’ switch in ‘OPTIONS’.
11593     If this is smaller than in ‘org-export-headline-levels’, each
11594     info/folding section can still contain child headlines.
11595
11596‘toc:’
11597     Should the table of contents _initially_ be visible?  Even when
11598     ‘nil’, you can always get to the “toc” with ‘i’.
11599
11600‘tdepth:’
11601     The depth of the table of contents.  The defaults are taken from
11602     the variables ‘org-export-headline-levels’ and
11603     ‘org-export-with-toc’.
11604
11605‘ftoc:’
11606     Does the CSS of the page specify a fixed position for the “toc”?
11607     If yes, the toc is displayed as a section.
11608
11609‘ltoc:’
11610     Should there be short contents (children) in each section?  Make
11611     this ‘above’ if the section should be above initial text.
11612
11613‘mouse:’
11614     Headings are highlighted when the mouse is over them.  Should be
11615     ‘underline’ (default) or a background color like ‘#cccccc’.
11616
11617‘buttons:’
11618     Should view-toggle buttons be everywhere?  When ‘nil’ (the
11619     default), only one such button is present.
11620
11621   You can choose default values for these options by customizing the
11622variable ‘org-infojs-options’.  If you always want to apply the script
11623to your pages, configure the variable ‘org-export-html-use-infojs’.
11624
11625
11626File: org.info,  Node: LaTeX Export,  Next: Markdown Export,  Prev: HTML Export,  Up: Exporting
11627
1162813.10 LaTeX Export
11629==================
11630
11631The LaTeX export back-end can handle complex documents, incorporate
11632standard or custom LaTeX document classes, generate documents using
11633alternate LaTeX engines, and produce fully linked PDF files with
11634indexes, bibliographies, and tables of contents, destined for
11635interactive online viewing or high-quality print publication.
11636
11637   While the details are covered in-depth in this section, here are some
11638quick references to variables for the impatient: for engines, see
11639‘org-latex-compiler’; for build sequences, see ‘org-latex-pdf-process’;
11640for packages, see ‘org-latex-default-packages-alist’ and
11641‘org-latex-packages-alist’.
11642
11643   An important note about the LaTeX export back-end: it is sensitive to
11644blank lines in the Org document.  That’s because LaTeX itself depends on
11645blank lines to tell apart syntactical elements, such as paragraphs.
11646
11647* Menu:
11648
11649* LaTeX/PDF export commands:: For producing LaTeX and PDF documents.
11650* LaTeX specific export settings:: Unique to this LaTeX back-end.
11651* LaTeX header and sectioning:: Setting up the export file structure.
11652* Quoting LaTeX code::        Incorporating literal LaTeX code.
11653* Tables in LaTeX export::    Options for exporting tables to LaTeX.
11654* Images in LaTeX export::    How to insert figures into LaTeX output.
11655* Plain lists in LaTeX export:: Attributes specific to lists.
11656* Source blocks in LaTeX export:: Attributes specific to source code blocks.
11657* Example blocks in LaTeX export:: Attributes specific to example blocks.
11658* Special blocks in LaTeX export:: Attributes specific to special blocks.
11659* Horizontal rules in LaTeX export:: Attributes specific to horizontal rules.
11660
11661
11662File: org.info,  Node: LaTeX/PDF export commands,  Next: LaTeX specific export settings,  Up: LaTeX Export
11663
1166413.10.1 LaTeX/PDF export commands
11665---------------------------------
11666
11667‘C-c C-e l l’ (‘org-latex-export-to-latex’)
11668     Export to a LaTeX file with a ‘.tex’ extension.  For ‘myfile.org’,
11669     Org exports to ‘myfile.tex’, overwriting without warning.
11670
11671‘C-c C-e l L’ (‘org-latex-export-as-latex’)
11672     Export to a temporary buffer.  Do not create a file.
11673
11674‘C-c C-e l p’ (‘org-latex-export-to-pdf’)
11675     Export as LaTeX file and convert it to PDF file.
11676
11677‘C-c C-e l o’
11678     Export as LaTeX file and convert it to PDF, then open the PDF using
11679     the default viewer.
11680
11681‘M-x org-export-region-as-latex’
11682     Convert the region to LaTeX under the assumption that it was in Org
11683     mode syntax before.  This is a global command that can be invoked
11684     in any buffer.
11685
11686   The LaTeX export back-end can use any of these LaTeX engines:
11687‘pdflatex’, ‘xelatex’, and ‘lualatex’.  These engines compile LaTeX
11688files with different compilers, packages, and output options.  The LaTeX
11689export back-end finds the compiler version to use from
11690‘org-latex-compiler’ variable or the ‘#+LATEX_COMPILER’ keyword in the
11691Org file.  See the docstring for the ‘org-latex-default-packages-alist’
11692for loading packages with certain compilers.  Also see
11693‘org-latex-bibtex-compiler’ to set the bibliography compiler(1).
11694
11695   ---------- Footnotes ----------
11696
11697   (1) This does not allow setting different bibliography compilers for
11698different files.  However, “smart” LaTeX compilation systems, such as
11699latexmk, can select the correct bibliography compiler.
11700
11701
11702File: org.info,  Node: LaTeX specific export settings,  Next: LaTeX header and sectioning,  Prev: LaTeX/PDF export commands,  Up: LaTeX Export
11703
1170413.10.2 LaTeX specific export settings
11705--------------------------------------
11706
11707The LaTeX export back-end has several additional keywords for
11708customizing LaTeX output.  Setting these keywords works similar to the
11709general options (see *note Export Settings::).
11710
11711‘DESCRIPTION’
11712     The document’s description.  The description along with author
11713     name, keywords, and related file metadata are inserted in the
11714     output file by the hyperref package.  See
11715     ‘org-latex-hyperref-template’ for customizing metadata items.  See
11716     ‘org-latex-title-command’ for typesetting description into the
11717     document’s front matter.  Use multiple ‘DESCRIPTION’ keywords for
11718     long descriptions.
11719
11720‘LANGUAGE’
11721     In order to be effective, the ‘babel’ or ‘polyglossia’
11722     packages—according to the LaTeX compiler used—must be loaded with
11723     the appropriate language as argument.  This can be accomplished by
11724     modifying the ‘org-latex-packages-alist’ variable, e.g., with the
11725     following snippet:
11726
11727          (add-to-list 'org-latex-packages-alist
11728                       '("AUTO" "babel" t ("pdflatex")))
11729          (add-to-list 'org-latex-packages-alist
11730                       '("AUTO" "polyglossia" t ("xelatex" "lualatex")))
11731
11732‘LATEX_CLASS’
11733     This is LaTeX document class, such as _article_, _report_, _book_,
11734     and so on, which contain predefined preamble and headline level
11735     mapping that the LaTeX export back-end needs.  The back-end reads
11736     the default class name from the ‘org-latex-default-class’ variable.
11737     Org has _article_ as the default class.  A valid default class must
11738     be an element of ‘org-latex-classes’.
11739
11740‘LATEX_CLASS_OPTIONS’
11741     Options the LaTeX export back-end uses when calling the LaTeX
11742     document class.
11743
11744‘LATEX_COMPILER’
11745     The compiler, such as ‘pdflatex’, ‘xelatex’, ‘lualatex’, for
11746     producing the PDF.  See ‘org-latex-compiler’.
11747
11748‘LATEX_HEADER’
11749‘LATEX_HEADER_EXTRA’
11750     Arbitrary lines to add to the document’s preamble, before the
11751     hyperref settings.  See ‘org-latex-classes’ for adjusting the
11752     structure and order of the LaTeX headers.
11753
11754‘KEYWORDS’
11755     The keywords for the document.  The description along with author
11756     name, keywords, and related file metadata are inserted in the
11757     output file by the hyperref package.  See
11758     ‘org-latex-hyperref-template’ for customizing metadata items.  See
11759     ‘org-latex-title-command’ for typesetting description into the
11760     document’s front matter.  Use multiple ‘KEYWORDS’ lines if
11761     necessary.
11762
11763‘SUBTITLE’
11764     The document’s subtitle.  It is typeset as per
11765     ‘org-latex-subtitle-format’.  If ‘org-latex-subtitle-separate’ is
11766     non-‘nil’, it is typed outside of the ‘\title’ macro.  See
11767     ‘org-latex-hyperref-template’ for customizing metadata items.  See
11768     ‘org-latex-title-command’ for typesetting description into the
11769     document’s front matter.
11770
11771   The following sections have further details.
11772
11773
11774File: org.info,  Node: LaTeX header and sectioning,  Next: Quoting LaTeX code,  Prev: LaTeX specific export settings,  Up: LaTeX Export
11775
1177613.10.3 LaTeX header and sectioning structure
11777---------------------------------------------
11778
11779The LaTeX export back-end converts the first three of Org’s outline
11780levels into LaTeX headlines.  The remaining Org levels are exported as
11781lists.  To change this globally for the cut-off point between levels and
11782lists, (see *note Export Settings::).
11783
11784   By default, the LaTeX export back-end uses the _article_ class.
11785
11786   To change the default class globally, edit ‘org-latex-default-class’.
11787To change the default class locally in an Org file, add option lines
11788‘#+LATEX_CLASS: myclass’.  To change the default class for just a part
11789of the Org file, set a sub-tree property, ‘EXPORT_LATEX_CLASS’.  The
11790class name entered here must be valid member of ‘org-latex-classes’.
11791This variable defines a header template for each class into which the
11792exporter splices the values of ‘org-latex-default-packages-alist’ and
11793‘org-latex-packages-alist’.  Use the same three variables to define
11794custom sectioning or custom classes.
11795
11796   The LaTeX export back-end sends the ‘LATEX_CLASS_OPTIONS’ keyword and
11797‘EXPORT_LATEX_CLASS_OPTIONS’ property as options to the LaTeX
11798‘\documentclass’ macro.  The options and the syntax for specifying them,
11799including enclosing them in square brackets, follow LaTeX conventions.
11800
11801     #+LATEX_CLASS_OPTIONS: [a4paper,11pt,twoside,twocolumn]
11802
11803   The LaTeX export back-end appends values from ‘LATEX_HEADER’ and
11804‘LATEX_HEADER_EXTRA’ keywords to the LaTeX header.  The docstring for
11805‘org-latex-classes’ explains in more detail.  Also note that LaTeX
11806export back-end does not append ‘LATEX_HEADER_EXTRA’ to the header when
11807previewing LaTeX snippets (see *note Previewing LaTeX fragments::).
11808
11809   A sample Org file with the above headers:
11810
11811     #+LATEX_CLASS: article
11812     #+LATEX_CLASS_OPTIONS: [a4paper]
11813     #+LATEX_HEADER: \usepackage{xyz}
11814
11815     * Headline 1
11816       some text
11817     * Headline 2
11818       some more text
11819
11820
11821File: org.info,  Node: Quoting LaTeX code,  Next: Tables in LaTeX export,  Prev: LaTeX header and sectioning,  Up: LaTeX Export
11822
1182313.10.4 Quoting LaTeX code
11824--------------------------
11825
11826The LaTeX export back-end can insert any arbitrary LaTeX code, see *note
11827Embedded LaTeX::.  There are three ways to embed such code in the Org
11828file and they all use different quoting syntax.
11829
11830   Inserting in-line quoted with @ symbols:
11831
11832     Code embedded in-line @@latex:any arbitrary LaTeX code@@ in a paragraph.
11833
11834   Inserting as one or more keyword lines in the Org file:
11835
11836     #+LATEX: any arbitrary LaTeX code
11837
11838   Inserting as an export block in the Org file, where the back-end
11839exports any code between begin and end markers:
11840
11841     #+BEGIN_EXPORT latex
11842       any arbitrary LaTeX code
11843     #+END_EXPORT
11844
11845
11846File: org.info,  Node: Tables in LaTeX export,  Next: Images in LaTeX export,  Prev: Quoting LaTeX code,  Up: LaTeX Export
11847
1184813.10.5 Tables in LaTeX export
11849------------------------------
11850
11851The LaTeX export back-end can pass several LaTeX attributes for table
11852contents and layout.  Besides specifying a label (see *note Internal
11853Links::) and a caption (see *note Captions::), the other valid LaTeX
11854attributes include:
11855
11856‘:mode’
11857     The LaTeX export back-end wraps the table differently depending on
11858     the mode for accurate rendering of math symbols.  Mode is either
11859     ‘table’, ‘math’, ‘inline-math’ or ‘verbatim’.
11860
11861     For ‘math’ or ‘inline-math’ mode, LaTeX export back-end wraps the
11862     table in a math environment, but every cell in it is exported
11863     as-is.  The LaTeX export back-end determines the default mode from
11864     ‘org-latex-default-table-mode’.  The LaTeX export back-end merges
11865     contiguous tables in the same mode into a single environment.
11866
11867‘:environment’
11868     Set the default LaTeX table environment for the LaTeX export
11869     back-end to use when exporting Org tables.  Common LaTeX table
11870     environments are provided by these packages: tabularx, longtable,
11871     array, tabu, and bmatrix.  For packages, such as tabularx and tabu,
11872     or any newer replacements, include them in the
11873     ‘org-latex-packages-alist’ variable so the LaTeX export back-end
11874     can insert the appropriate load package headers in the converted
11875     LaTeX file.  Look in the docstring for the
11876     ‘org-latex-packages-alist’ variable for configuring these packages
11877     for LaTeX snippet previews, if any.
11878
11879‘:caption’
11880     Use ‘CAPTION’ keyword to set a simple caption for a table (see
11881     *note Captions::).  For custom captions, use ‘:caption’ attribute,
11882     which accepts raw LaTeX code.  ‘:caption’ value overrides ‘CAPTION’
11883     value.
11884
11885‘:float’
11886‘:placement’
11887     The table environments by default are not floats in LaTeX.  To make
11888     them floating objects use ‘:float’ with one of the following
11889     options: ‘sideways’, ‘multicolumn’, ‘t’, and ‘nil’.
11890
11891     LaTeX floats can also have additional layout ‘:placement’
11892     attributes.  These are the usual ‘[h t b p ! H]’ permissions
11893     specified in square brackets.  Note that for ‘:float sideways’
11894     tables, the LaTeX export back-end ignores ‘:placement’ attributes.
11895
11896‘:align’
11897‘:font’
11898‘:width’
11899     The LaTeX export back-end uses these attributes for regular tables
11900     to set their alignments, fonts, and widths.
11901
11902‘:spread’
11903     When ‘:spread’ is non-‘nil’, the LaTeX export back-end spreads or
11904     shrinks the table by the ‘:width’ for tabu and longtabu
11905     environments.  ‘:spread’ has no effect if ‘:width’ is not set.
11906
11907‘:booktabs’
11908‘:center’
11909‘:rmlines’
11910     All three commands are toggles.  ‘:booktabs’ brings in modern
11911     typesetting enhancements to regular tables.  The booktabs package
11912     has to be loaded through ‘org-latex-packages-alist’.  ‘:center’ is
11913     for centering the table.  ‘:rmlines’ removes all but the very first
11914     horizontal line made of ASCII characters from “table.el” tables
11915     only.
11916
11917‘:math-prefix’
11918‘:math-suffix’
11919‘:math-arguments’
11920     The LaTeX export back-end inserts ‘:math-prefix’ string value in a
11921     math environment before the table.  The LaTeX export back-end
11922     inserts ‘:math-suffix’ string value in a math environment after the
11923     table.  The LaTeX export back-end inserts ‘:math-arguments’ string
11924     value between the macro name and the table’s contents.
11925     ‘:math-arguments’ comes in use for matrix macros that require more
11926     than one argument, such as ‘qbordermatrix’.
11927
11928   LaTeX table attributes help formatting tables for a wide range of
11929situations, such as matrix product or spanning multiple pages:
11930
11931     #+ATTR_LATEX: :environment longtable :align l|lp{3cm}r|l
11932     | ... | ... |
11933     | ... | ... |
11934
11935     #+ATTR_LATEX: :mode math :environment bmatrix :math-suffix \times
11936     | a | b |
11937     | c | d |
11938     #+ATTR_LATEX: :mode math :environment bmatrix
11939     | 1 | 2 |
11940     | 3 | 4 |
11941
11942   Set the caption with the LaTeX command
11943‘\bicaption{HeadingA}{HeadingB}’:
11944
11945     #+ATTR_LATEX: :caption \bicaption{HeadingA}{HeadingB}
11946     | ... | ... |
11947     | ... | ... |
11948
11949
11950File: org.info,  Node: Images in LaTeX export,  Next: Plain lists in LaTeX export,  Prev: Tables in LaTeX export,  Up: LaTeX Export
11951
1195213.10.6 Images in LaTeX export
11953------------------------------
11954
11955The LaTeX export back-end processes image links in Org files that do not
11956have descriptions, such as these links ‘[[file:img.jpg]]’ or
11957‘[[./img.jpg]]’, as direct image insertions in the final PDF output.  In
11958the PDF, they are no longer links but actual images embedded on the
11959page.  The LaTeX export back-end uses ‘\includegraphics’ macro to insert
11960the image.  But for TikZ (<http://sourceforge.net/projects/pgf/>)
11961images, the back-end uses an ‘\input’ macro wrapped within a
11962‘tikzpicture’ environment.
11963
11964   For specifying image ‘:width’, ‘:height’, ‘:scale’ and other
11965‘:options’, use this syntax:
11966
11967     #+ATTR_LATEX: :width 5cm :options angle=90
11968     [[./img/sed-hr4049.pdf]]
11969
11970   A ‘:scale’ attribute overrides both ‘:width’ and ‘:height’
11971attributes.
11972
11973   For custom commands for captions, use the ‘:caption’ attribute.  It
11974overrides the default ‘#+CAPTION’ value:
11975
11976     #+ATTR_LATEX: :caption \bicaption{HeadingA}{HeadingB}
11977     [[./img/sed-hr4049.pdf]]
11978
11979   When captions follow the method as described in *note Captions::, the
11980LaTeX export back-end wraps the picture in a floating ‘figure’
11981environment.  To float an image without specifying a caption, set the
11982‘:float’ attribute to one of the following:
11983
11984‘t’
11985     For a standard ‘figure’ environment; used by default whenever an
11986     image has a caption.
11987
11988‘multicolumn’
11989     To span the image across multiple columns of a page; the back-end
11990     wraps the image in a ‘figure*’ environment.
11991
11992‘wrap’
11993     For text to flow around the image on the right; the figure occupies
11994     the left half of the page.
11995
11996‘sideways’
11997     For a new page with the image sideways, rotated ninety degrees, in
11998     a ‘sidewaysfigure’ environment; overrides ‘:placement’ setting.
11999
12000‘nil’
12001     To avoid a ‘:float’ even if using a caption.
12002
12003   Use the ‘placement’ attribute to modify a floating environment’s
12004placement.
12005
12006     #+ATTR_LATEX: :float wrap :width 0.38\textwidth :placement {r}{0.4\textwidth}
12007     [[./img/hst.png]]
12008
12009   The LaTeX export back-end centers all images by default.  Setting
12010‘:center’ to ‘nil’ disables centering.  To disable centering globally,
12011set ‘org-latex-images-centered’ to ‘t’.
12012
12013   Set the ‘:comment-include’ attribute to non-‘nil’ value for the LaTeX
12014export back-end to comment out the ‘\includegraphics’ macro.
12015
12016
12017File: org.info,  Node: Plain lists in LaTeX export,  Next: Source blocks in LaTeX export,  Prev: Images in LaTeX export,  Up: LaTeX Export
12018
1201913.10.7 Plain lists in LaTeX export
12020-----------------------------------
12021
12022The LaTeX export back-end accepts the ‘environment’ and ‘options’
12023attributes for plain lists.  Both attributes work together for
12024customizing lists, as shown in the examples:
12025
12026     #+LATEX_HEADER: \usepackage[inline]{enumitem}
12027     Some ways to say "Hello":
12028     #+ATTR_LATEX: :environment itemize*
12029     #+ATTR_LATEX: :options [label={}, itemjoin={,}, itemjoin*={, and}]
12030     - Hola
12031     - Bonjour
12032     - Guten Tag.
12033
12034   Since LaTeX supports only four levels of nesting for lists, use an
12035external package, such as ‘enumitem’ in LaTeX, for levels deeper than
12036four:
12037
12038     #+LATEX_HEADER: \usepackage{enumitem}
12039     #+LATEX_HEADER: \renewlist{itemize}{itemize}{9}
12040     #+LATEX_HEADER: \setlist[itemize]{label=$\circ$}
12041     - One
12042       - Two
12043         - Three
12044           - Four
12045             - Five
12046
12047
12048File: org.info,  Node: Source blocks in LaTeX export,  Next: Example blocks in LaTeX export,  Prev: Plain lists in LaTeX export,  Up: LaTeX Export
12049
1205013.10.8 Source blocks in LaTeX export
12051-------------------------------------
12052
12053The LaTeX export back-end can make source code blocks into floating
12054objects through the attributes ‘:float’ and ‘:options’.  For ‘:float’:
12055
12056‘t’
12057     Makes a source block float; by default floats any source block with
12058     a caption.
12059
12060‘multicolumn’
12061     Spans the source block across multiple columns of a page.
12062
12063‘nil’
12064     Avoids a ‘:float’ even if using a caption; useful for source code
12065     blocks that may not fit on a page.
12066
12067     #+ATTR_LATEX: :float nil
12068     #+BEGIN_SRC emacs-lisp
12069       Lisp code that may not fit in a single page.
12070     #+END_SRC
12071
12072   The LaTeX export back-end passes string values in ‘:options’ to LaTeX
12073packages for customization of that specific source block.  In the
12074example below, the ‘:options’ are set for Minted.  Minted is a source
12075code highlighting LaTeX package with many configurable options.
12076
12077     #+ATTR_LATEX: :options commentstyle=\bfseries
12078     #+BEGIN_SRC emacs-lisp
12079       (defun Fib (n)
12080         (if (< n 2) n (+ (Fib (- n 1)) (Fib (- n 2)))))
12081     #+END_SRC
12082
12083   To apply similar configuration options for all source blocks in a
12084file, use the ‘org-latex-listings-options’ and
12085‘org-latex-minted-options’ variables.
12086
12087
12088File: org.info,  Node: Example blocks in LaTeX export,  Next: Special blocks in LaTeX export,  Prev: Source blocks in LaTeX export,  Up: LaTeX Export
12089
1209013.10.9 Example blocks in LaTeX export
12091--------------------------------------
12092
12093The LaTeX export back-end wraps the contents of example blocks in a
12094‘verbatim’ environment.  To change this behavior to use another
12095environment globally, specify an appropriate export filter (see *note
12096Advanced Export Configuration::).  To change this behavior to use
12097another environment for each block, use the ‘:environment’ parameter to
12098specify a custom environment.
12099
12100     #+ATTR_LATEX: :environment myverbatim
12101     #+BEGIN_EXAMPLE
12102       This sentence is false.
12103     #+END_EXAMPLE
12104
12105
12106File: org.info,  Node: Special blocks in LaTeX export,  Next: Horizontal rules in LaTeX export,  Prev: Example blocks in LaTeX export,  Up: LaTeX Export
12107
1210813.10.10 Special blocks in LaTeX export
12109---------------------------------------
12110
12111For other special blocks in the Org file, the LaTeX export back-end
12112makes a special environment of the same name.  The back-end also takes
12113‘:options’, if any, and appends as-is to that environment’s opening
12114string.  For example:
12115
12116     #+BEGIN_abstract
12117       We demonstrate how to solve the Syracuse problem.
12118     #+END_abstract
12119
12120     #+ATTR_LATEX: :options [Proof of important theorem]
12121     #+BEGIN_proof
12122       ...
12123       Therefore, any even number greater than 2 is the sum of two primes.
12124     #+END_proof
12125
12126exports to
12127
12128     \begin{abstract}
12129       We demonstrate how to solve the Syracuse problem.
12130     \end{abstract}
12131
12132     \begin{proof}[Proof of important theorem]
12133       ...
12134       Therefore, any even number greater than 2 is the sum of two primes.
12135     \end{proof}
12136
12137   If you need to insert a specific caption command, use ‘:caption’
12138attribute.  It overrides standard ‘CAPTION’ value, if any.  For example:
12139
12140     #+ATTR_LATEX: :caption \MyCaption{HeadingA}
12141     #+BEGIN_proof
12142       ...
12143     #+END_proof
12144
12145
12146File: org.info,  Node: Horizontal rules in LaTeX export,  Prev: Special blocks in LaTeX export,  Up: LaTeX Export
12147
1214813.10.11 Horizontal rules in LaTeX export
12149-----------------------------------------
12150
12151The LaTeX export back-end converts horizontal rules by the specified
12152‘:width’ and ‘:thickness’ attributes.  For example:
12153
12154     #+ATTR_LATEX: :width .6\textwidth :thickness 0.8pt
12155     -----
12156
12157
12158File: org.info,  Node: Markdown Export,  Next: OpenDocument Text Export,  Prev: LaTeX Export,  Up: Exporting
12159
1216013.11 Markdown Export
12161=====================
12162
12163The Markdown export back-end, “md”, converts an Org file to Markdown
12164format, as defined at <http://daringfireball.net/projects/markdown/>.
12165
12166   Since it is built on top of the HTML back-end (see *note HTML
12167Export::), it converts every Org construct not defined in Markdown
12168syntax, such as tables, to HTML.
12169
12170Markdown export commands
12171------------------------
12172
12173‘C-c C-e m m’ (‘org-md-export-to-markdown’)
12174     Export to a text file with Markdown syntax.  For ‘myfile.org’, Org
12175     exports to ‘myfile.md’, overwritten without warning.
12176
12177‘C-c C-e m M’ (‘org-md-export-as-markdown’)
12178     Export to a temporary buffer.  Does not create a file.
12179
12180‘C-c C-e m o’
12181     Export as a text file with Markdown syntax, then open it.
12182
12183Header and sectioning structure
12184-------------------------------
12185
12186Based on ‘org-md-headline-style’, Markdown export can generate headlines
12187of both _atx_ and _setext_ types.  _atx_ limits headline levels to two
12188whereas _setext_ limits headline levels to six.  Beyond these limits,
12189the export back-end converts headlines to lists.  To set a limit to a
12190level before the absolute limit (see *note Export Settings::).
12191
12192
12193File: org.info,  Node: OpenDocument Text Export,  Next: Org Export,  Prev: Markdown Export,  Up: Exporting
12194
1219513.12 OpenDocument Text Export
12196==============================
12197
12198The ODT export back-end handles creating of OpenDocument Text (ODT)
12199format.  Documents created by this exporter use the ‘OpenDocument-v1.2
12200specification’(1) and are compatible with LibreOffice 3.4.
12201
12202* Menu:
12203
12204* Pre-requisites for ODT export:: Required packages.
12205* ODT export commands::          Invoking export.
12206* ODT specific export settings:: Configuration options.
12207* Extending ODT export::         Producing DOC, PDF files.
12208* Applying custom styles::       Styling the output.
12209* Links in ODT export::          Handling and formatting links.
12210* Tables in ODT export::         Org tables conversions.
12211* Images in ODT export::         Inserting images.
12212* Math formatting in ODT export:: Formatting LaTeX fragments.
12213* Labels and captions in ODT export:: Rendering objects.
12214* Literal examples in ODT export:: For source code and example blocks.
12215* Advanced topics in ODT export:: For power users.
12216
12217   ---------- Footnotes ----------
12218
12219   (1) See Open Document Format for Office Applications (OpenDocument)
12220Version 1.2
12221(http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2.html).
12222
12223
12224File: org.info,  Node: Pre-requisites for ODT export,  Next: ODT export commands,  Up: OpenDocument Text Export
12225
1222613.12.1 Pre-requisites for ODT export
12227-------------------------------------
12228
12229The ODT export back-end relies on the zip program to create the final
12230compressed ODT output.  Check if ‘zip’ is locally available and
12231executable.  Without it, export cannot finish.
12232
12233
12234File: org.info,  Node: ODT export commands,  Next: ODT specific export settings,  Prev: Pre-requisites for ODT export,  Up: OpenDocument Text Export
12235
1223613.12.2 ODT export commands
12237---------------------------
12238
12239‘C-c C-e o o’ (‘org-export-to-odt’)
12240     Export as OpenDocument Text file.
12241
12242     If ‘org-odt-preferred-output-format’ is specified, the ODT export
12243     back-end automatically converts the exported file to that format.
12244
12245     For ‘myfile.org’, Org exports to ‘myfile.odt’, overwriting without
12246     warning.  The ODT export back-end exports a region only if a region
12247     was active.
12248
12249     If the selected region is a single tree, the ODT export back-end
12250     makes the tree head the document title.  Incidentally, ‘C-c @’
12251     selects the current sub-tree.  If the tree head entry has, or
12252     inherits, an ‘EXPORT_FILE_NAME’ property, the ODT export back-end
12253     uses that for file name.
12254
12255‘C-c C-e o O’
12256     Export as an OpenDocument Text file and open the resulting file.
12257
12258     If ‘org-export-odt-preferred-output-format’ is specified, open the
12259     converted file instead.  See *note Automatically exporting to other
12260     formats::.
12261
12262
12263File: org.info,  Node: ODT specific export settings,  Next: Extending ODT export,  Prev: ODT export commands,  Up: OpenDocument Text Export
12264
1226513.12.3 ODT specific export settings
12266------------------------------------
12267
12268The ODT export back-end has several additional keywords for customizing
12269ODT output.  Setting these keywords works similar to the general options
12270(see *note Export Settings::).
12271
12272‘DESCRIPTION’
12273     This is the document’s description, which the ODT export back-end
12274     inserts as document metadata.  For long descriptions, use multiple
12275     lines, prefixed with ‘DESCRIPTION’.
12276
12277‘KEYWORDS’
12278     The keywords for the document.  The ODT export back-end inserts the
12279     description along with author name, keywords, and related file
12280     metadata as metadata in the output file.  Use multiple ‘KEYWORDS’
12281     if necessary.
12282
12283‘ODT_STYLES_FILE’
12284     The ODT export back-end uses the ‘org-odt-styles-file’ by default.
12285     See *note Applying custom styles:: for details.
12286
12287‘SUBTITLE’
12288     The document subtitle.
12289
12290
12291File: org.info,  Node: Extending ODT export,  Next: Applying custom styles,  Prev: ODT specific export settings,  Up: OpenDocument Text Export
12292
1229313.12.4 Extending ODT export
12294----------------------------
12295
12296The ODT export back-end can produce documents in other formats besides
12297ODT using a specialized ODT converter process.  Its common interface
12298works with popular converters to produce formats such as ‘doc’, or
12299convert a document from one format, say ‘csv’, to another format, say
12300‘xls’.
12301
12302   Customize ‘org-odt-convert-process’ variable to point to ‘unoconv’,
12303which is the ODT’s preferred converter.  Working installations of
12304LibreOffice would already have ‘unoconv’ installed.  Alternatively,
12305other converters may be substituted here.  See *note Configuring a
12306document converter::.
12307
12308Automatically exporting to other formats
12309........................................
12310
12311If ODT format is just an intermediate step to get to other formats, such
12312as ‘doc’, ‘docx’, ‘rtf’, or ‘pdf’, etc., then extend the ODT export
12313back-end to directly produce that format.  Specify the final format in
12314the ‘org-odt-preferred-output-format’ variable.  This is one way to
12315extend (see *note ODT export commands::).
12316
12317Converting between document formats
12318...................................
12319
12320The Org export back-end is made to be inter-operable with a wide range
12321of text document format converters.  Newer generation converters, such
12322as LibreOffice and Pandoc, can handle hundreds of formats at once.  Org
12323provides a consistent interaction with whatever converter is installed.
12324Here are some generic commands:
12325
12326‘M-x org-odt-convert’
12327     Convert an existing document from one format to another.  With a
12328     prefix argument, opens the newly produced file.
12329
12330
12331File: org.info,  Node: Applying custom styles,  Next: Links in ODT export,  Prev: Extending ODT export,  Up: OpenDocument Text Export
12332
1233313.12.5 Applying custom styles
12334------------------------------
12335
12336The ODT export back-end comes with many OpenDocument styles (see *note
12337Working with OpenDocument style files::).  To expand or further
12338customize these built-in style sheets, either edit the style sheets
12339directly or generate them using an application such as LibreOffice.  The
12340example here shows creating a style using LibreOffice.
12341
12342Applying custom styles: the easy way
12343....................................
12344
12345  1. Create a sample ‘example.org’ file with settings as shown below,
12346     and export it to ODT format.
12347
12348          #+OPTIONS: H:10 num:t
12349
12350  2. Open the above ‘example.odt’ using LibreOffice.  Use the _Stylist_
12351     to locate the target styles, which typically have the “Org” prefix.
12352     Open one, modify, and save as either OpenDocument Text (ODT) or
12353     OpenDocument Template (OTT) file.
12354
12355  3. Customize the variable ‘org-odt-styles-file’ and point it to the
12356     newly created file.  For additional configuration options, see
12357     *note Overriding factory styles: x-overriding-factory-styles.
12358
12359     To apply an ODT style to a particular file, use the
12360     ‘ODT_STYLES_FILE’ keyword as shown in the example below:
12361
12362          #+ODT_STYLES_FILE: "/path/to/example.ott"
12363
12364     or
12365
12366          #+ODT_STYLES_FILE: ("/path/to/file.ott" ("styles.xml" "image/hdr.png"))
12367
12368Using third-party styles and templates
12369......................................
12370
12371The ODT export back-end relies on many templates and style names.  Using
12372third-party styles and templates can lead to mismatches.  Templates
12373derived from built in ODT templates and styles seem to have fewer
12374problems.
12375
12376
12377File: org.info,  Node: Links in ODT export,  Next: Tables in ODT export,  Prev: Applying custom styles,  Up: OpenDocument Text Export
12378
1237913.12.6 Links in ODT export
12380---------------------------
12381
12382ODT exporter creates native cross-references for internal links.  It
12383creates Internet-style links for all other links.
12384
12385   A link with no description and pointing to a regular, un-itemized,
12386outline heading is replaced with a cross-reference and section number of
12387the heading.
12388
12389   A ‘\ref{label}’-style reference to an image, table etc., is replaced
12390with a cross-reference and sequence number of the labeled entity.  See
12391*note Labels and captions in ODT export::.
12392
12393
12394File: org.info,  Node: Tables in ODT export,  Next: Images in ODT export,  Prev: Links in ODT export,  Up: OpenDocument Text Export
12395
1239613.12.7 Tables in ODT export
12397----------------------------
12398
12399The ODT export back-end handles native Org mode tables (see *note
12400Tables::) and simple ‘table.el’ tables.  Complex ‘table.el’ tables
12401having column or row spans are not supported.  Such tables are stripped
12402from the exported document.
12403
12404   By default, the ODT export back-end exports a table with top and
12405bottom frames and with ruled lines separating row and column groups (see
12406*note Column Groups::).  All tables are typeset to occupy the same
12407width.  The ODT export back-end honors any table alignments and relative
12408widths for columns (see *note Column Width and Alignment::).
12409
12410   Note that the ODT export back-end interprets column widths as
12411weighted ratios, the default weight being 1.
12412
12413   Specifying ‘:rel-width’ property on an ‘ATTR_ODT’ line controls the
12414width of the table.  For example:
12415
12416     #+ATTR_ODT: :rel-width 50
12417     | Area/Month    |   Jan |   Feb |   Mar |   Sum |
12418     |---------------+-------+-------+-------+-------|
12419     | /             |     < |       |       |     < |
12420     | <l13>         |  <r5> |  <r5> |  <r5> |  <r6> |
12421     | North America |     1 |    21 |   926 |   948 |
12422     | Middle East   |     6 |    75 |   844 |   925 |
12423     | Asia Pacific  |     9 |    27 |   790 |   826 |
12424     |---------------+-------+-------+-------+-------|
12425     | Sum           |    16 |   123 |  2560 |  2699 |
12426
12427   On export, the above table takes 50% of text width area.  The
12428exporter sizes the columns in the ratio: 13:5:5:5:6.  The first column
12429is left-aligned and rest of the columns, right-aligned.  Vertical rules
12430separate the header and the last column.  Horizontal rules separate the
12431header and the last row.
12432
12433   For even more customization, create custom table styles and associate
12434them with a table using the ‘ATTR_ODT’ keyword.  See *note Customizing
12435tables in ODT export::.
12436
12437
12438File: org.info,  Node: Images in ODT export,  Next: Math formatting in ODT export,  Prev: Tables in ODT export,  Up: OpenDocument Text Export
12439
1244013.12.8 Images in ODT export
12441----------------------------
12442
12443Embedding images
12444................
12445
12446The ODT export back-end processes image links in Org files that do not
12447have descriptions, such as these links ‘[[file:img.jpg]]’ or
12448‘[[./img.jpg]]’, as direct image insertions in the final output.  Either
12449of these examples works:
12450
12451     [[file:img.png]]
12452
12453     [[./img.png]]
12454
12455Embedding clickable images
12456..........................
12457
12458For clickable images, provide a link whose description is another link
12459to an image file.  For example, to embed an image ‘org-mode-unicorn.png12460which when clicked jumps to <https://orgmode.org> website, do the
12461following
12462
12463     [[https://orgmode.org][./org-mode-unicorn.png]]
12464
12465Sizing and scaling of embedded images
12466.....................................
12467
12468Control the size and scale of the embedded images with the ‘ATTR_ODT’
12469attribute.
12470
12471   The ODT export back-end starts with establishing the size of the
12472image in the final document.  The dimensions of this size are measured
12473in centimeters.  The back-end then queries the image file for its
12474dimensions measured in pixels.  For this measurement, the back-end
12475relies on ImageMagick’s identify program or Emacs ‘create-image’ and
12476‘image-size’ API.  ImageMagick is the preferred choice for large file
12477sizes or frequent batch operations.  The back-end then converts the
12478pixel dimensions using ‘org-odt-pixels-per-inch’ into the familiar 72
12479dpi or 96 dpi.  The default value for this is in
12480‘display-pixels-per-inch’, which can be tweaked for better results based
12481on the capabilities of the output device.  Here are some common image
12482scaling operations:
12483
12484Explicitly size the image
12485     To embed ‘img.png’ as a 10 cm x 10 cm image, do the following:
12486
12487          #+ATTR_ODT: :width 10 :height 10
12488          [[./img.png]]
12489
12490Scale the image
12491     To embed ‘img.png’ at half its size, do the following:
12492
12493          #+ATTR_ODT: :scale 0.5
12494          [[./img.png]]
12495
12496Scale the image to a specific width
12497     To embed ‘img.png’ with a width of 10 cm while retaining the
12498     original height:width ratio, do the following:
12499
12500          #+ATTR_ODT: :width 10
12501          [[./img.png]]
12502
12503Scale the image to a specific height
12504     To embed ‘img.png’ with a height of 10 cm while retaining the
12505     original height:width ratio, do the following:
12506
12507          #+ATTR_ODT: :height 10
12508          [[./img.png]]
12509
12510Anchoring of images
12511...................
12512
12513The ODT export back-end can anchor images to ‘as-char’, ‘paragraph’, or
12514‘page’.  Set the preferred anchor using the ‘:anchor’ property of the
12515‘ATTR_ODT’ line.
12516
12517   To create an image that is anchored to a page:
12518
12519     #+ATTR_ODT: :anchor page
12520     [[./img.png]]
12521
12522
12523File: org.info,  Node: Math formatting in ODT export,  Next: Labels and captions in ODT export,  Prev: Images in ODT export,  Up: OpenDocument Text Export
12524
1252513.12.9 Math formatting in ODT export
12526-------------------------------------
12527
12528The ODT exporter has special support for handling math.
12529
12530* Menu:
12531
12532* LaTeX math snippets::       Embedding in LaTeX format.
12533* MathML and OpenDocument formula files:: Embedding in native format.
12534
12535
12536File: org.info,  Node: LaTeX math snippets,  Next: MathML and OpenDocument formula files,  Up: Math formatting in ODT export
12537
1253813.12.9.1 LaTeX math snippets
12539.............................
12540
12541LaTeX math snippets (see *note LaTeX fragments::) can be embedded in the
12542ODT document in one of the following ways:
12543
12544MathML
12545     Add this line to the Org file.  This option is activated on a
12546     per-file basis.
12547
12548          #+OPTIONS: tex:t
12549
12550     With this option, LaTeX fragments are first converted into MathML
12551     fragments using an external LaTeX-to-MathML converter program.  The
12552     resulting MathML fragments are then embedded as an OpenDocument
12553     Formula in the exported document.
12554
12555     You can specify the LaTeX-to-MathML converter by customizing the
12556     variables ‘org-latex-to-mathml-convert-command’ and
12557     ‘org-latex-to-mathml-jar-file’.
12558
12559     If you prefer to use MathToWeb(1) as your converter, you can
12560     configure the above variables as shown below.
12561
12562          (setq org-latex-to-mathml-convert-command
12563                "java -jar %j -unicode -force -df %o %I"
12564                org-latex-to-mathml-jar-file
12565                "/path/to/mathtoweb.jar")
12566
12567     or, to use LaTeX​ML(2) instead,
12568
12569          (setq org-latex-to-mathml-convert-command
12570                "latexmlmath \"%i\" --presentationmathml=%o")
12571
12572     To quickly verify the reliability of the LaTeX-to-MathML converter,
12573     use the following commands:
12574
12575     ‘M-x org-export-as-odf’
12576          Convert a LaTeX math snippet to an OpenDocument formula
12577          (‘.odf’) file.
12578
12579     ‘M-x org-export-as-odf-and-open’
12580          Convert a LaTeX math snippet to an OpenDocument formula
12581          (‘.odf’) file and open the formula file with the
12582          system-registered application.
12583
12584PNG images
12585     Add this line to the Org file.  This option is activated on a
12586     per-file basis.
12587
12588          #+OPTIONS: tex:dvipng
12589
12590          #+OPTIONS: tex:dvisvgm
12591
12592     or
12593
12594          #+OPTIONS: tex:imagemagick
12595
12596     Under this option, LaTeX fragments are processed into PNG or SVG
12597     images and the resulting images are embedded in the exported
12598     document.  This method requires dvipng program, dvisvgm or
12599     ImageMagick programs.
12600
12601   ---------- Footnotes ----------
12602
12603   (1) See MathToWeb
12604(http://www.mathtoweb.com/cgi-bin/mathtoweb_home.pl).
12605
12606   (2) See <http://dlmf.nist.gov/LaTeXML/>.
12607
12608
12609File: org.info,  Node: MathML and OpenDocument formula files,  Prev: LaTeX math snippets,  Up: Math formatting in ODT export
12610
1261113.12.9.2 MathML and OpenDocument formula files
12612...............................................
12613
12614When embedding LaTeX math snippets in ODT documents is not reliable,
12615there is one more option to try.  Embed an equation by linking to its
12616MathML (‘.mml’) source or its OpenDocument formula (‘.odf’) file as
12617shown below:
12618
12619     [[./equation.mml]]
12620
12621or
12622
12623     [[./equation.odf]]
12624
12625
12626File: org.info,  Node: Labels and captions in ODT export,  Next: Literal examples in ODT export,  Prev: Math formatting in ODT export,  Up: OpenDocument Text Export
12627
1262813.12.10 Labels and captions in ODT export
12629------------------------------------------
12630
12631ODT format handles labeling and captioning of objects based on their
12632types.  Inline images, tables, LaTeX fragments, and Math formulas are
12633numbered and captioned separately.  Each object also gets a unique
12634sequence number based on its order of first appearance in the Org file.
12635Each category has its own sequence.  A caption is just a label applied
12636to these objects.
12637
12638     #+CAPTION: Bell curve
12639     #+NAME:   fig:SED-HR4049
12640     [[./img/a.png]]
12641
12642   When rendered, it may show as follows in the exported document:
12643
12644     Figure 2: Bell curve
12645
12646   To modify the category component of the caption, customize the option
12647‘org-odt-category-map-alist’.  For example, to tag embedded images with
12648the string “Illustration” instead of the default string “Figure”, use
12649the following setting:
12650
12651     (setq org-odt-category-map-alist
12652           '(("__Figure__" "Illustration" "value" "Figure" org-odt--enumerable-image-p)))
12653
12654   With the above modification, the previous example changes to:
12655
12656     Illustration 2: Bell curve
12657
12658
12659File: org.info,  Node: Literal examples in ODT export,  Next: Advanced topics in ODT export,  Prev: Labels and captions in ODT export,  Up: OpenDocument Text Export
12660
1266113.12.11 Literal examples in ODT export
12662---------------------------------------
12663
12664The ODT export back-end supports literal examples (see *note Literal
12665Examples::) with full fontification.  Internally, the ODT export
12666back-end relies on ‘htmlfontify.el’ to generate the style definitions
12667needed for fancy listings.  The auto-generated styles get ‘OrgSrc’
12668prefix and inherit colors from the faces used by Emacs Font Lock library
12669for that source language.
12670
12671   For custom fontification styles, customize the
12672‘org-odt-create-custom-styles-for-srcblocks’ option.
12673
12674   To turn off fontification of literal examples, customize the
12675‘org-odt-fontify-srcblocks’ option.
12676
12677
12678File: org.info,  Node: Advanced topics in ODT export,  Prev: Literal examples in ODT export,  Up: OpenDocument Text Export
12679
1268013.12.12 Advanced topics in ODT export
12681--------------------------------------
12682
12683The ODT export back-end has extensive features useful for power users
12684and frequent uses of ODT formats.
12685
12686Configuring a document converter
12687................................
12688
12689The ODT export back-end works with popular converters with little or no
12690extra configuration.  See *note Extending ODT export::.  The following
12691is for unsupported converters or tweaking existing defaults.
12692
12693Register the converter
12694     Add the name of the converter to the ‘org-odt-convert-processes’
12695     variable.  Note that it also requires how the converter is invoked
12696     on the command line.  See the variable’s docstring for details.
12697
12698Configure its capabilities
12699     Specify which formats the converter can handle by customizing the
12700     variable ‘org-odt-convert-capabilities’.  Use the entry for the
12701     default values in this variable for configuring the new converter.
12702     Also see its docstring for details.
12703
12704Choose the converter
12705     Select the newly added converter as the preferred one by
12706     customizing the option ‘org-odt-convert-process’.
12707
12708Working with OpenDocument style files
12709.....................................
12710
12711This section explores the internals of the ODT exporter; the means by
12712which it produces styled documents; the use of automatic and custom
12713OpenDocument styles.
12714
12715   The ODT exporter relies on two files for generating its output.
12716These files are bundled with the distribution under the directory
12717pointed to by the variable ‘org-odt-styles-dir’.  The two files are:
12718
12719OrgOdtStyles.xml12720     This file contributes to the ‘styles.xml’ file of the final ODT
12721     document.  This file gets modified for the following purposes:
12722
12723       1. To control outline numbering based on user settings;
12724
12725       2. To add styles generated by ‘htmlfontify.el’ for fontification
12726          of code blocks.
12727
12728OrgOdtContentTemplate.xml12729     This file contributes to the ‘content.xml’ file of the final ODT
12730     document.  The contents of the Org outline are inserted between the
12731     ‘<office:text>’ ... ‘</office:text>’ elements of this file.
12732
12733     Apart from serving as a template file for the final ‘content.xml’,
12734     the file serves the following purposes:
12735
12736       1. It contains automatic styles for formatting of tables which
12737          are referenced by the exporter;
12738
12739       2. It contains ‘<text:sequence-decl>’ ... ‘</text:sequence-decl>’
12740          elements that control numbering of tables, images, equations,
12741          and similar entities.
12742
12743   The following two variables control the location from where the ODT
12744exporter picks up the custom styles and content template files.
12745Customize these variables to override the factory styles used by the
12746exporter.
12747
12748‘org-odt-styles-file’
12749     The ODT export back-end uses the file pointed to by this variable,
12750     such as ‘styles.xml’, for the final output.  It can take one of the
12751     following values:
12752
12753FILE.xml12754          Use this file instead of the default ‘styles.xml12755
12756FILE.odt’ or ‘FILE.ott12757          Use the ‘styles.xml’ contained in the specified OpenDocument
12758          Text or Template file
12759
12760FILE.odt’ or ‘FILE.ott’ and a subset of included files
12761          Use the ‘styles.xml’ contained in the specified OpenDocument
12762          Text or Template file.  Additionally extract the specified
12763          member files and embed those within the final ODT document.
12764
12765          Use this option if the ‘styles.xml’ file references additional
12766          files like header and footer images.
12767
12768     ‘nil’
12769          Use the default ‘styles.xml’.
12770
12771‘org-odt-content-template-file’
12772     Use this variable to specify the blank ‘content.xml’ used in the
12773     final output.
12774
12775Creating one-off styles
12776.......................
12777
12778The ODT export back-end can read embedded raw OpenDocument XML from the
12779Org file.  Such direct formatting is useful for one-off instances.
12780
12781Embedding ODT tags as part of regular text
12782     Enclose OpenDocument syntax in ‘@@odt:...@@’ for inline markup.
12783     For example, to highlight a region of text do the following:
12784
12785          @@odt:<text:span text:style-name="Highlight">This is highlighted
12786          text</text:span>@@.  But this is regular text.
12787
12788     *Hint:* To see the above example in action, edit the ‘styles.xml12789     (see *note Factory styles: x-orgodtstyles-xml.) and add a custom
12790     _Highlight_ style as shown below:
12791
12792          <style:style style:name="Highlight" style:family="text">
12793            <style:text-properties fo:background-color="#ff0000"/>
12794          </style:style>
12795
12796Embedding a one-line OpenDocument XML
12797     The ODT export back-end can read one-liner options with ‘#+ODT:’ in
12798     the Org file.  For example, to force a page break:
12799
12800          #+ODT: <text:p text:style-name="PageBreak"/>
12801
12802     *Hint:* To see the above example in action, edit your ‘styles.xml12803     (see *note Factory styles: x-orgodtstyles-xml.) and add a custom
12804     ‘PageBreak’ style as shown below.
12805
12806          <style:style style:name="PageBreak" style:family="paragraph"
12807                       style:parent-style-name="Text_20_body">
12808            <style:paragraph-properties fo:break-before="page"/>
12809          </style:style>
12810
12811Embedding a block of OpenDocument XML
12812     The ODT export back-end can also read ODT export blocks for
12813     OpenDocument XML.  Such blocks use the ‘#+BEGIN_EXPORT odt’ ...
12814     ‘#+END_EXPORT’ constructs.
12815
12816     For example, to create a one-off paragraph that uses bold text, do
12817     the following:
12818
12819          #+BEGIN_EXPORT odt
12820            <text:p text:style-name="Text_20_body_20_bold">
12821            This paragraph is specially formatted and uses bold text.
12822            </text:p>
12823          #+END_EXPORT
12824
12825Customizing tables in ODT export
12826................................
12827
12828Override the default table format by specifying a custom table style
12829with the ‘#+ATTR_ODT’ line.  For a discussion on default formatting of
12830tables, see *note Tables in ODT export::.
12831
12832   This feature closely mimics the way table templates are defined in
12833the OpenDocument-v1.2 specification(1).
12834
12835   For quick preview of this feature, install the settings below and
12836export the table that follows:
12837
12838     (setq org-export-odt-table-styles
12839           (append org-export-odt-table-styles
12840                   '(("TableWithHeaderRowAndColumn" "Custom"
12841                      ((use-first-row-styles . t)
12842                       (use-first-column-styles . t)))
12843                     ("TableWithFirstRowandLastRow" "Custom"
12844                      ((use-first-row-styles . t)
12845                       (use-last-row-styles . t))))))
12846
12847     #+ATTR_ODT: :style TableWithHeaderRowAndColumn
12848     | Name  | Phone | Age |
12849     | Peter |  1234 |  17 |
12850     | Anna  |  4321 |  25 |
12851
12852   The example above used ‘Custom’ template and installed two table
12853styles ‘TableWithHeaderRowAndColumn’ and ‘TableWithFirstRowandLastRow’.
12854*Important:* The OpenDocument styles needed for producing the above
12855template were pre-defined.  They are available in the section marked
12856‘Custom Table Template’ in ‘OrgOdtContentTemplate.xml’ (see *note
12857Factory styles: x-orgodtcontenttemplate-xml.).  For adding new
12858templates, define new styles there.
12859
12860   To use this feature proceed as follows:
12861
12862  1. Create a table template(2).
12863
12864     A table template is set of ‘table-cell’ and ‘paragraph’ styles for
12865     each of the following table cell categories:
12866
12867        • Body
12868        • First column
12869        • Last column
12870        • First row
12871        • Last row
12872        • Even row
12873        • Odd row
12874        • Even column
12875        • Odd Column
12876
12877     The names for the above styles must be chosen based on the name of
12878     the table template using a well-defined convention.
12879
12880     The naming convention is better illustrated with an example.  For a
12881     table template with the name ‘Custom’, the needed style names are
12882     listed in the following table.
12883
12884     Cell type      Cell style                     Paragraph style
12885     ----------------------------------------------------------------------------------
12886     Body           ‘CustomTableCell’              ‘CustomTableParagraph’
12887     First column   ‘CustomFirstColumnTableCell’   ‘CustomFirstColumnTableParagraph’
12888     Last column    ‘CustomLastColumnTableCell’    ‘CustomLastColumnTableParagraph’
12889     First row      ‘CustomFirstRowTableCell’      ‘CustomFirstRowTableParagraph’
12890     Last row       ‘CustomLastRowTableCell’       ‘CustomLastRowTableParagraph’
12891     Even row       ‘CustomEvenRowTableCell’       ‘CustomEvenRowTableParagraph’
12892     Odd row        ‘CustomOddRowTableCell’        ‘CustomOddRowTableParagraph’
12893     Even column    ‘CustomEvenColumnTableCell’    ‘CustomEvenColumnTableParagraph’
12894     Odd column     ‘CustomOddColumnTableCell’     ‘CustomOddColumnTableParagraph’
12895
12896     To create a table template with the name ‘Custom’, define the above
12897     styles in the ‘<office:automatic-styles>’ ...
12898     ‘</office:automatic-styles>’ element of the content template file
12899     (see *note Factory styles: x-orgodtcontenttemplate-xml.).
12900
12901  2. Define a table style(3).
12902
12903     To define a table style, create an entry for the style in the
12904     variable ‘org-odt-table-styles’ and specify the following:
12905
12906        • the name of the table template created in step (1),
12907        • the set of cell styles in that template that are to be
12908          activated.
12909
12910     For example, the entry below defines two different table styles
12911     ‘TableWithHeaderRowAndColumn’ and ‘TableWithFirstRowandLastRow’
12912     based on the same template ‘Custom’.  The styles achieve their
12913     intended effect by selectively activating the individual cell
12914     styles in that template.
12915
12916          (setq org-export-odt-table-styles
12917                (append org-export-odt-table-styles
12918                        '(("TableWithHeaderRowAndColumn" "Custom"
12919                           ((use-first-row-styles . t)
12920                            (use-first-column-styles . t)))
12921                          ("TableWithFirstRowandLastRow" "Custom"
12922                           ((use-first-row-styles . t)
12923                            (use-last-row-styles . t))))))
12924
12925  3. Associate a table with the table style.
12926
12927     To do this, specify the table style created in step (2) as part of
12928     the ‘ATTR_ODT’ line as shown below.
12929
12930          #+ATTR_ODT: :style TableWithHeaderRowAndColumn
12931          | Name  | Phone | Age |
12932          | Peter |  1234 |  17 |
12933          | Anna  |  4321 |  25 |
12934
12935Validating OpenDocument XML
12936...........................
12937
12938Sometimes ODT format files may not open due to ‘.odt’ file corruption.
12939To verify if such a file is corrupt, validate it against the
12940OpenDocument Relax NG Compact (RNC) syntax schema.  But first the ‘.odt’
12941files have to be decompressed using ‘zip’.  Note that ‘.odt’ files are
12942ZIP archives: *note (emacs)File Archives::.  The contents of ODT files
12943are in XML.  For general help with validation—and schema-sensitive
12944editing—of XML files: *note (nxml-mode)Introduction::.
12945
12946   Customize ‘org-odt-schema-dir’ to point to a directory with
12947OpenDocument RNC files and the needed schema-locating rules.  The ODT
12948export back-end takes care of updating the ‘rng-schema-locating-files’.
12949
12950   ---------- Footnotes ----------
12951
12952   (1) OpenDocument-v1.2 Specification
12953(http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2.html)
12954
12955   (2) See the ‘<table:table-template>’ element of the OpenDocument-v1.2
12956specification.
12957
12958   (3) See the attributes ‘table:template-name’,
12959‘table:use-first-row-styles’, ‘table:use-last-row-styles’,
12960‘table:use-first-column-styles’, ‘table:use-last-column-styles’,
12961‘table:use-banding-rows-styles’, and ‘table:use-banding-column-styles’
12962of the ‘<table:table>’ element in the OpenDocument-v1.2 specification.
12963
12964
12965File: org.info,  Node: Org Export,  Next: Texinfo Export,  Prev: OpenDocument Text Export,  Up: Exporting
12966
1296713.13 Org Export
12968================
12969
12970_org_ export back-end creates a normalized version of the Org document
12971in current buffer.  The exporter evaluates Babel code (see *note
12972Evaluating Code Blocks::) and removes content specific to other
12973back-ends.
12974
12975Org export commands
12976-------------------
12977
12978‘C-c C-e O o’ (‘org-org-export-to-org’)
12979     Export as an Org file with a ‘.org’ extension.  For ‘myfile.org’,
12980     Org exports to ‘myfile.org.org’, overwriting without warning.
12981
12982‘C-c C-e O v’ (~~)
12983     Export to an Org file, then open it.
12984
12985
12986File: org.info,  Node: Texinfo Export,  Next: iCalendar Export,  Prev: Org Export,  Up: Exporting
12987
1298813.14 Texinfo Export
12989====================
12990
12991* Menu:
12992
12993* Texinfo export commands::      Invoking commands.
12994* Texinfo specific export settings:: Setting the environment.
12995* Texinfo file header::          Generating the header.
12996* Texinfo title and copyright page:: Creating preamble pages.
12997* Info directory file::          Installing a manual in Info file hierarchy.
12998* Headings and sectioning structure:: Building document structure.
12999* Indices::                      Creating indices.
13000* Quoting Texinfo code::         Incorporating literal Texinfo code.
13001* Plain lists in Texinfo export:: List attributes.
13002* Tables in Texinfo export::     Table attributes.
13003* Images in Texinfo export::     Image attributes.
13004* Quotations in Texinfo export:: Quote block attributes.
13005* Special blocks in Texinfo export:: Special block attributes.
13006* A Texinfo example::            Processing Org to Texinfo.
13007
13008
13009File: org.info,  Node: Texinfo export commands,  Next: Texinfo specific export settings,  Up: Texinfo Export
13010
1301113.14.1 Texinfo export commands
13012-------------------------------
13013
13014‘C-c C-e i t’ (‘org-texinfo-export-to-texinfo’)
13015     Export as a Texinfo file with ‘.texi’ extension.  For ‘myfile.org’,
13016     Org exports to ‘myfile.texi’, overwriting without warning.
13017
13018‘C-c C-e i i’ (‘org-texinfo-export-to-info’)
13019     Export to Texinfo format first and then process it to make an Info
13020     file.  To generate other formats, such as DocBook, customize the
13021     ‘org-texinfo-info-process’ variable.
13022
13023
13024File: org.info,  Node: Texinfo specific export settings,  Next: Texinfo file header,  Prev: Texinfo export commands,  Up: Texinfo Export
13025
1302613.14.2 Texinfo specific export settings
13027----------------------------------------
13028
13029The Texinfo export back-end has several additional keywords for
13030customizing Texinfo output.  Setting these keywords works similar to the
13031general options (see *note Export Settings::).
13032
13033‘SUBTITLE’
13034     The document subtitle.
13035
13036‘SUBAUTHOR’
13037     Additional authors for the document.
13038
13039‘TEXINFO_FILENAME’
13040     The Texinfo filename.
13041
13042‘TEXINFO_CLASS’
13043     The default document class (‘org-texinfo-default-class’), which
13044     must be a member of ‘org-texinfo-classes’.
13045
13046‘TEXINFO_HEADER’
13047     Arbitrary lines inserted at the end of the header.
13048
13049‘TEXINFO_POST_HEADER’
13050     Arbitrary lines inserted after the end of the header.
13051
13052‘TEXINFO_DIR_CATEGORY’
13053     The directory category of the document.
13054
13055‘TEXINFO_DIR_TITLE’
13056     The directory title of the document.
13057
13058‘TEXINFO_DIR_DESC’
13059     The directory description of the document.
13060
13061‘TEXINFO_PRINTED_TITLE’
13062     The printed title of the document.
13063
13064
13065File: org.info,  Node: Texinfo file header,  Next: Texinfo title and copyright page,  Prev: Texinfo specific export settings,  Up: Texinfo Export
13066
1306713.14.3 Texinfo file header
13068---------------------------
13069
13070After creating the header for a Texinfo file, the Texinfo back-end
13071automatically generates a name and destination path for the Info file.
13072To override this default with a more sensible path and name, specify the
13073‘TEXINFO_FILENAME’ keyword.
13074
13075   Along with the output’s file name, the Texinfo header also contains
13076language details (see *note Export Settings::) and encoding system as
13077set in the ‘org-texinfo-coding-system’ variable.  Insert
13078‘TEXINFO_HEADER’ keywords for each additional command in the header, for
13079example:
13080
13081     #+TEXINFO_HEADER: @synindex
13082
13083   Instead of repeatedly installing the same set of commands, define a
13084class in ‘org-texinfo-classes’ once, and then activate it in the
13085document by setting the ‘TEXINFO_CLASS’ keyword to that class.
13086
13087
13088File: org.info,  Node: Texinfo title and copyright page,  Next: Info directory file,  Prev: Texinfo file header,  Up: Texinfo Export
13089
1309013.14.4 Texinfo title and copyright page
13091----------------------------------------
13092
13093The default template for hard copy output has a title page with ‘TITLE’
13094and ‘AUTHOR’ keywords (see *note Export Settings::).  To replace the
13095regular title with something different for the printed version, use the
13096‘TEXINFO_PRINTED_TITLE’ and ‘SUBTITLE’ keywords.  Both expect raw
13097Texinfo code for setting their values.
13098
13099   If one ‘AUTHOR’ line is not sufficient, add multiple ‘SUBAUTHOR’
13100keywords.  They have to be set in raw Texinfo code.
13101
13102     #+AUTHOR: Jane Smith
13103     #+SUBAUTHOR: John Doe
13104     #+TEXINFO_PRINTED_TITLE: This Long Title@@inlinefmt{tex,@*} Is Broken in @TeX{}
13105
13106   Copying material is defined in a dedicated headline with a non-‘nil’
13107‘COPYING’ property.  The back-end inserts the contents within a
13108‘@copying’ command at the beginning of the document.  The heading itself
13109does not appear in the structure of the document.
13110
13111   Copyright information is printed on the back of the title page.
13112
13113     * Legalese
13114       :PROPERTIES:
13115       :COPYING: t
13116       :END:
13117
13118       This is a short example of a complete Texinfo file, version 1.0.
13119
13120       Copyright \copy 2016 Free Software Foundation, Inc.
13121
13122
13123File: org.info,  Node: Info directory file,  Next: Headings and sectioning structure,  Prev: Texinfo title and copyright page,  Up: Texinfo Export
13124
1312513.14.5 Info directory file
13126---------------------------
13127
13128The end result of the Texinfo export process is the creation of an Info
13129file.  This Info file’s metadata has variables for category, title, and
13130description: ‘TEXINFO_DIR_CATEGORY’, ‘TEXINFO_DIR_TITLE’, and
13131‘TEXINFO_DIR_DESC’ keywords that establish where in the Info hierarchy
13132the file fits.
13133
13134   Here is an example that writes to the Info directory file:
13135
13136     #+TEXINFO_DIR_CATEGORY: Emacs
13137     #+TEXINFO_DIR_TITLE: Org Mode: (org)
13138     #+TEXINFO_DIR_DESC: Outline-based notes management and organizer
13139
13140
13141File: org.info,  Node: Headings and sectioning structure,  Next: Indices,  Prev: Info directory file,  Up: Texinfo Export
13142
1314313.14.6 Headings and sectioning structure
13144-----------------------------------------
13145
13146The Texinfo export back-end uses a pre-defined scheme to convert Org
13147headlines to equivalent Texinfo structuring commands.  A scheme like
13148this maps top-level headlines to numbered chapters tagged as ‘@chapter’
13149and lower-level headlines to unnumbered chapters tagged as
13150‘@unnumbered’.  To override such mappings to introduce ‘@part’ or other
13151Texinfo structuring commands, define a new class in
13152‘org-texinfo-classes’.  Activate the new class with the ‘TEXINFO_CLASS’
13153keyword.  When no new class is defined and activated, the Texinfo export
13154back-end defaults to the ‘org-texinfo-default-class’.
13155
13156   If an Org headline’s level has no associated Texinfo structuring
13157command, or is below a certain threshold (see *note Export Settings::),
13158then the Texinfo export back-end makes it into a list item.
13159
13160   The Texinfo export back-end makes any headline with a non-‘nil’
13161‘APPENDIX’ property into an appendix.  This happens independent of the
13162Org headline level or the ‘TEXINFO_CLASS’ keyword.
13163
13164   The Texinfo export back-end creates a menu entry after the Org
13165headline for each regular sectioning structure.  To override this with a
13166shorter menu entry, use the ‘ALT_TITLE’ property (see *note Table of
13167Contents::).  Texinfo menu entries also have an option for a longer
13168‘DESCRIPTION’ property.  Here’s an example that uses both to override
13169the default menu entry:
13170
13171     * Controlling Screen Display
13172       :PROPERTIES:
13173       :ALT_TITLE: Display
13174       :DESCRIPTION: Controlling Screen Display
13175       :END:
13176
13177   The text before the first headline belongs to the _Top_ node, i.e.,
13178the node in which a reader enters an Info manual.  As such, it is
13179expected not to appear in printed output generated from the ‘.texi’
13180file.  See *note (texinfo)The Top Node::, for more information.
13181
13182
13183File: org.info,  Node: Indices,  Next: Quoting Texinfo code,  Prev: Headings and sectioning structure,  Up: Texinfo Export
13184
1318513.14.7 Indices
13186---------------
13187
13188The Texinfo export back-end recognizes these indexing keywords if used
13189in the Org file: ‘CINDEX’, ‘FINDEX’, ‘KINDEX’, ‘PINDEX’, ‘TINDEX’ and
13190‘VINDEX’.  Write their value as verbatim Texinfo code; in particular,
13191‘{’, ‘}’ and ‘@’ characters need to be escaped with ‘@’ if they do not
13192belong to a Texinfo command.
13193
13194     #+CINDEX: Defining indexing entries
13195
13196   For the back-end to generate an index entry for a headline, set the
13197‘INDEX’ property to ‘cp’ or ‘vr’.  These abbreviations come from Texinfo
13198that stand for concept index and variable index.  The Texinfo manual has
13199abbreviations for all other kinds of indexes.  The back-end exports the
13200headline as an unnumbered chapter or section command, and then inserts
13201the index after its contents.
13202
13203     * Concept Index
13204       :PROPERTIES:
13205       :INDEX: cp
13206       :END:
13207
13208
13209File: org.info,  Node: Quoting Texinfo code,  Next: Plain lists in Texinfo export,  Prev: Indices,  Up: Texinfo Export
13210
1321113.14.8 Quoting Texinfo code
13212----------------------------
13213
13214Use any of the following three methods to insert or escape raw Texinfo
13215code:
13216
13217     Richard @@texinfo:@sc{@@Stallman@@texinfo:}@@ commence' GNU.
13218
13219     #+TEXINFO: @need800
13220     This paragraph is preceded by...
13221
13222     #+BEGIN_EXPORT texinfo
13223       @auindex Johnson, Mark
13224       @auindex Lakoff, George
13225     #+END_EXPORT
13226
13227
13228File: org.info,  Node: Plain lists in Texinfo export,  Next: Tables in Texinfo export,  Prev: Quoting Texinfo code,  Up: Texinfo Export
13229
1323013.14.9 Plain lists in Texinfo export
13231-------------------------------------
13232
13233The Texinfo export back-end by default converts description lists in the
13234Org file using the default command ‘@table’, which results in a table
13235with two columns.  To change this behavior, set ‘:table-type’ attribute
13236to either ‘ftable’ or ‘vtable’ value.  For more information, see *note
13237(texinfo)Two-column Tables::.
13238
13239   The Texinfo export back-end by default also applies a text highlight
13240based on the defaults stored in ‘org-texinfo-table-default-markup’.  To
13241override the default highlight command, specify another one with the
13242‘:indic’ attribute.
13243
13244   Org syntax is limited to one entry per list item.  Nevertheless, the
13245Texinfo export back-end can split that entry according to any text
13246provided through the ‘:sep’ attribute.  Each part then becomes a new
13247entry in the first column of the table.
13248
13249   The following example illustrates all the attributes above:
13250
13251     #+ATTR_TEXINFO: :table-type vtable :sep , :indic asis
13252     - foo, bar :: This is the common text for variables foo and bar.
13253
13254becomes
13255
13256     @vtable @asis
13257     @item foo
13258     @itemx bar
13259     This is the common text for variables foo and bar.
13260     @end table
13261
13262   Ordered lists are numbered when exported to Texinfo format.  Such
13263numbering obeys any counter (see *note Plain Lists::) in the first item
13264of the list.  The ‘:enum’ attribute also let you start the list at a
13265specific number, or switch to a lettered list, as illustrated here
13266
13267     #+ATTR_TEXINFO: :enum A
13268     1. Alpha
13269     2. Bravo
13270     3. Charlie
13271
13272
13273File: org.info,  Node: Tables in Texinfo export,  Next: Images in Texinfo export,  Prev: Plain lists in Texinfo export,  Up: Texinfo Export
13274
1327513.14.10 Tables in Texinfo export
13276---------------------------------
13277
13278When exporting tables, the Texinfo export back-end uses the widest cell
13279width in each column.  To override this and instead specify as fractions
13280of line length, use the ‘:columns’ attribute.  See example below.
13281
13282     #+ATTR_TEXINFO: :columns .5 .5
13283     | a cell | another cell |
13284
13285
13286File: org.info,  Node: Images in Texinfo export,  Next: Quotations in Texinfo export,  Prev: Tables in Texinfo export,  Up: Texinfo Export
13287
1328813.14.11 Images in Texinfo export
13289---------------------------------
13290
13291Insert a file link to the image in the Org file, and the Texinfo export
13292back-end inserts the image.  These links must have the usual supported
13293image extensions and no descriptions.  To scale the image, use ‘:width’
13294and ‘:height’ attributes.  For alternate text, use ‘:alt’ and specify
13295the text using Texinfo code, as shown in the example:
13296
13297     #+ATTR_TEXINFO: :width 1in :alt Alternate @i{text}
13298     [[ridt.pdf]]
13299
13300
13301File: org.info,  Node: Quotations in Texinfo export,  Next: Special blocks in Texinfo export,  Prev: Images in Texinfo export,  Up: Texinfo Export
13302
1330313.14.12 Quotations in Texinfo export
13304-------------------------------------
13305
13306You can write the text of a quotation within a quote block (see *note
13307Paragraphs::).  You may also emphasize some text at the beginning of the
13308quotation with the ‘:tag’ attribute.
13309
13310     #+ATTR_TEXINFO: :tag Warning
13311     #+BEGIN_QUOTE
13312     Striking your thumb with a hammer may cause severe pain and discomfort.
13313     #+END_QUOTE
13314
13315   To specify the author of the quotation, use the ‘:author’ attribute.
13316
13317     #+ATTR_TEXINFO: :author King Arthur
13318     #+BEGIN_QUOTE
13319     The Lady of the Lake, her arm clad in the purest shimmering samite,
13320     held aloft Excalibur from the bosom of the water, signifying by divine
13321     providence that I, Arthur, was to carry Excalibur. That is why I am
13322     your king.
13323     #+END_QUOTE
13324
13325
13326File: org.info,  Node: Special blocks in Texinfo export,  Next: A Texinfo example,  Prev: Quotations in Texinfo export,  Up: Texinfo Export
13327
1332813.14.13 Special blocks in Texinfo export
13329-----------------------------------------
13330
13331The Texinfo export back-end converts special blocks to commands with the
13332same name.  It also adds any ‘:options’ attributes to the end of the
13333command, as shown in this example:
13334
13335     #+ATTR_TEXINFO: :options org-org-export-to-org ...
13336     #+BEGIN_defun
13337       A somewhat obsessive function name.
13338     #+END_defun
13339
13340becomes
13341
13342     @defun org-org-export-to-org ...
13343       A somewhat obsessive function name.
13344     @end defun
13345
13346
13347File: org.info,  Node: A Texinfo example,  Prev: Special blocks in Texinfo export,  Up: Texinfo Export
13348
1334913.14.14 A Texinfo example
13350--------------------------
13351
13352Here is a more detailed example Org file.  See *note (texinfo)GNU Sample
13353Texts:: for an equivalent example using Texinfo code.
13354
13355     #+TITLE: GNU Sample {{{version}}}
13356     #+SUBTITLE: for version {{{version}}}, {{{updated}}}
13357     #+AUTHOR: A.U. Thor
13358     #+EMAIL: bug-sample@gnu.org
13359
13360     #+OPTIONS: ':t toc:t author:t email:t
13361     #+LANGUAGE: en
13362
13363     #+MACRO: version 2.0
13364     #+MACRO: updated last updated 4 March 2014
13365
13366     #+TEXINFO_FILENAME: sample.info
13367     #+TEXINFO_HEADER: @syncodeindex pg cp
13368
13369     #+TEXINFO_DIR_CATEGORY: Texinfo documentation system
13370     #+TEXINFO_DIR_TITLE: sample: (sample)
13371     #+TEXINFO_DIR_DESC: Invoking sample
13372
13373     #+TEXINFO_PRINTED_TITLE: GNU Sample
13374
13375     This manual is for GNU Sample (version {{{version}}},
13376     {{{updated}}}).
13377
13378     * Copying
13379       :PROPERTIES:
13380       :COPYING:  t
13381       :END:
13382
13383       This manual is for GNU Sample (version {{{version}}},
13384       {{{updated}}}), which is an example in the Texinfo documentation.
13385
13386       Copyright \copy 2016 Free Software Foundation, Inc.
13387
13388       #+BEGIN_QUOTE
13389       Permission is granted to copy, distribute and/or modify this
13390       document under the terms of the GNU Free Documentation License,
13391       Version 1.3 or any later version published by the Free Software
13392       Foundation; with no Invariant Sections, with no Front-Cover Texts,
13393       and with no Back-Cover Texts.  A copy of the license is included in
13394       the section entitled "GNU Free Documentation License".
13395       #+END_QUOTE
13396
13397     * Invoking sample
13398
13399       #+PINDEX: sample
13400       #+CINDEX: invoking @command{sample}
13401
13402       This is a sample manual.  There is no sample program to invoke, but
13403       if there were, you could see its basic usage and command line
13404       options here.
13405
13406     * GNU Free Documentation License
13407       :PROPERTIES:
13408       :APPENDIX: t
13409       :END:
13410
13411       #+INCLUDE: fdl.org
13412
13413     * Index
13414       :PROPERTIES:
13415       :INDEX:    cp
13416       :END:
13417
13418
13419File: org.info,  Node: iCalendar Export,  Next: Other Built-in Back-ends,  Prev: Texinfo Export,  Up: Exporting
13420
1342113.15 iCalendar Export
13422======================
13423
13424A large part of Org mode’s interoperability success is its ability to
13425easily export to or import from external applications.  The iCalendar
13426export back-end takes calendar data from Org files and exports to the
13427standard iCalendar format.
13428
13429   The iCalendar export back-end can also incorporate TODO entries based
13430on the configuration of the ‘org-icalendar-include-todo’ variable.  The
13431back-end exports plain timestamps as ‘VEVENT’, TODO items as ‘VTODO’,
13432and also create events from deadlines that are in non-TODO items.  The
13433back-end uses the deadlines and scheduling dates in Org TODO items for
13434setting the start and due dates for the iCalendar TODO entry.  Consult
13435the ‘org-icalendar-use-deadline’ and ‘org-icalendar-use-scheduled’
13436variables for more details.
13437
13438   For tags on the headline, the iCalendar export back-end makes them
13439into iCalendar categories.  To tweak the inheritance of tags and TODO
13440states, configure the variable ‘org-icalendar-categories’.  To assign
13441clock alarms based on time, configure the ‘org-icalendar-alarm-time’
13442variable.
13443
13444   The iCalendar format standard requires globally unique identifier—or
13445UID—for each entry.  The iCalendar export back-end creates UIDs during
13446export.  To save a copy of the UID in the Org file set the variable
13447‘org-icalendar-store-UID’.  The back-end looks for the ‘ID’ property of
13448the entry for re-using the same UID for subsequent exports.
13449
13450   Since a single Org entry can result in multiple iCalendar
13451entries—timestamp, deadline, scheduled item, or TODO item—Org adds
13452prefixes to the UID, depending on which part of the Org entry triggered
13453the creation of the iCalendar entry.  Prefixing ensures UIDs remains
13454unique, yet enable synchronization programs trace the connections.
13455
13456‘C-c C-e c f’ (‘org-icalendar-export-to-ics’)
13457     Create iCalendar entries from the current Org buffer and store them
13458     in the same directory, using a file extension ‘.ics’.
13459
13460‘C-c C-e c a’ (‘org-icalendar-export-agenda-files’)
13461     Create iCalendar entries from Org files in ‘org-agenda-files’ and
13462     store in a separate iCalendar file for each Org file.
13463
13464‘C-c C-e c c’ (‘org-icalendar-combine-agenda-files’)
13465     Create a combined iCalendar file from Org files in
13466     ‘org-agenda-files’ and write it to
13467     ‘org-icalendar-combined-agenda-file’ file name.
13468
13469   The iCalendar export back-end includes ‘SUMMARY’, ‘DESCRIPTION’,
13470‘LOCATION’, ‘TIMEZONE’ and ‘CLASS’ properties from the Org entries when
13471exporting.  To force the back-end to inherit the ‘LOCATION’, ‘TIMEZONE’
13472and ‘CLASS’ properties, configure the ‘org-use-property-inheritance’
13473variable.
13474
13475   When Org entries do not have ‘SUMMARY’, ‘DESCRIPTION’, ‘LOCATION’ and
13476‘CLASS’ properties, the iCalendar export back-end derives the summary
13477from the headline, and derives the description from the body of the Org
13478item.  The ‘org-icalendar-include-body’ variable limits the maximum
13479number of characters of the content are turned into its description.
13480
13481   The ‘TIMEZONE’ property can be used to specify a per-entry time zone,
13482and is applied to any entry with timestamp information.  Time zones
13483should be specified as per the IANA time zone database format, e.g.,
13484Asia/Almaty’.  Alternately, the property value can be ‘UTC’, to force
13485UTC time for this entry only.
13486
13487   The ‘CLASS’ property can be used to specify a per-entry visibility
13488class or access restrictions, and is applied to any entry with class
13489information.  The iCalendar standard defines three visibility classes:
13490‘PUBLIC’
13491     The entry is publicly visible (this is the default).
13492‘CONFIDENTIAL’
13493     Only a limited group of clients get access to the event.
13494‘PRIVATE’
13495     The entry can be retrieved only by its owner.
13496   The server should treat unknown class properties the same as
13497‘PRIVATE’.
13498
13499   Exporting to iCalendar format depends in large part on the
13500capabilities of the destination application.  Some are more lenient than
13501others.  Consult the Org mode FAQ for advice on specific applications.
13502
13503
13504File: org.info,  Node: Other Built-in Back-ends,  Next: Advanced Export Configuration,  Prev: iCalendar Export,  Up: Exporting
13505
1350613.16 Other Built-in Back-ends
13507==============================
13508
13509Other export back-ends included with Org are:
13510
13511   • ‘ox-man.el’: Export to a man page.
13512
13513   To activate such back-ends, either customize ‘org-export-backends’ or
13514load directly with ‘(require 'ox-man)’.  On successful load, the
13515back-end adds new keys in the export dispatcher (see *note The Export
13516Dispatcher::).
13517
13518   Follow the comment section of such files, for example, ‘ox-man.el’,
13519for usage and configuration details.
13520
13521
13522File: org.info,  Node: Advanced Export Configuration,  Next: Export in Foreign Buffers,  Prev: Other Built-in Back-ends,  Up: Exporting
13523
1352413.17 Advanced Export Configuration
13525===================================
13526
13527Hooks
13528-----
13529
13530The export process executes two hooks before the actual exporting
13531begins.  The first hook, ‘org-export-before-processing-hook’, runs
13532before any expansions of macros, Babel code, and include keywords in the
13533buffer.  The second hook, ‘org-export-before-parsing-hook’, runs before
13534the buffer is parsed.
13535
13536   Functions added to these hooks are called with a single argument: the
13537export back-end actually used, as a symbol.  You may use them for heavy
13538duty structural modifications of the document.  For example, you can
13539remove every headline in the buffer during export like this:
13540
13541     (defun my-headline-removal (backend)
13542       "Remove all headlines in the current buffer.
13543     BACKEND is the export back-end being used, as a symbol."
13544       (org-map-entries
13545        (lambda () (delete-region (point) (line-beginning-position 2)))))
13546
13547     (add-hook 'org-export-before-parsing-hook 'my-headline-removal)
13548
13549Filters
13550-------
13551
13552Filters are lists of functions to be applied to certain parts for a
13553given back-end.  The output from the first function in the filter is
13554passed on to the next function in the filter.  The final output is the
13555output from the final function in the filter.
13556
13557   The Org export process has many filter sets applicable to different
13558types of objects, plain text, parse trees, export options, and final
13559output formats.  The filters are named after the element type or object
13560type: ‘org-export-filter-TYPE-functions’, where TYPE is the type
13561targeted by the filter.  Valid types are:
13562
13563body                     bold                     babel-call
13564center-block             clock                    code
13565diary-sexp               drawer                   dynamic-block
13566entity                   example-block            export-block
13567export-snippet           final-output             fixed-width
13568footnote-definition      footnote-reference       headline
13569horizontal-rule          inline-babel-call        inline-src-block
13570inlinetask               italic                   item
13571keyword                  latex-environment        latex-fragment
13572line-break               link                     node-property
13573options                  paragraph                parse-tree
13574plain-list               plain-text               planning
13575property-drawer          quote-block              radio-target
13576section                  special-block            src-block
13577statistics-cookie        strike-through           subscript
13578superscript              table                    table-cell
13579table-row                target                   timestamp
13580underline                verbatim                 verse-block
13581
13582   Here is an example filter that replaces non-breaking spaces ‘ ’ in
13583the Org buffer with ‘~’ for the LaTeX back-end.
13584
13585     (defun my-latex-filter-nobreaks (text backend info)
13586       "Ensure \" \" are properly handled in LaTeX export."
13587       (when (org-export-derived-backend-p backend 'latex)
13588         (replace-regexp-in-string " " "~" text)))
13589
13590     (add-to-list 'org-export-filter-plain-text-functions
13591                  'my-latex-filter-nobreaks)
13592
13593   A filter requires three arguments: the code to be transformed, the
13594name of the back-end, and some optional information about the export
13595process.  The third argument can be safely ignored.  Note the use of
13596‘org-export-derived-backend-p’ predicate that tests for _latex_ back-end
13597or any other back-end, such as _beamer_, derived from _latex_.
13598
13599Defining filters for individual files
13600-------------------------------------
13601
13602The Org export can filter not just for back-ends, but also for specific
13603files through the ‘BIND’ keyword.  Here is an example with two filters;
13604one removes brackets from time stamps, and the other removes
13605strike-through text.  The filter functions are defined in a code block
13606in the same Org file, which is a handy location for debugging.
13607
13608     #+BIND: org-export-filter-timestamp-functions (tmp-f-timestamp)
13609     #+BIND: org-export-filter-strike-through-functions (tmp-f-strike-through)
13610     #+BEGIN_SRC emacs-lisp :exports results :results none
13611       (defun tmp-f-timestamp (s backend info)
13612         (replace-regexp-in-string "&[lg]t;\\|[][]" "" s))
13613       (defun tmp-f-strike-through (s backend info) "")
13614     #+END_SRC
13615
13616Extending an existing back-end
13617------------------------------
13618
13619Some parts of the conversion process can be extended for certain
13620elements so as to introduce a new or revised translation.  That is how
13621the HTML export back-end was extended to handle Markdown format.  The
13622extensions work seamlessly so any aspect of filtering not done by the
13623extended back-end is handled by the original back-end.  Of all the
13624export customization in Org, extending is very powerful as it operates
13625at the parser level.
13626
13627   For this example, make the _ascii_ back-end display the language used
13628in a source code block.  Also make it display only when some attribute
13629is non-‘nil’, like the following:
13630
13631     #+ATTR_ASCII: :language t
13632
13633   Then extend ASCII back-end with a custom “my-ascii” back-end.
13634
13635     (defun my-ascii-src-block (src-block contents info)
13636       "Transcode a SRC-BLOCK element from Org to ASCII.
13637     CONTENTS is nil.  INFO is a plist used as a communication
13638     channel."
13639       (if (not (org-export-read-attribute :attr_ascii src-block :language))
13640           (org-export-with-backend 'ascii src-block contents info)
13641         (concat
13642          (format ",--[ %s ]--\n%s`----"
13643                  (org-element-property :language src-block)
13644                  (replace-regexp-in-string
13645                   "^" "| "
13646                   (org-element-normalize-string
13647                    (org-export-format-code-default src-block info)))))))
13648
13649     (org-export-define-derived-backend 'my-ascii 'ascii
13650       :translate-alist '((src-block . my-ascii-src-block)))
13651
13652   The ‘my-ascii-src-block’ function looks at the attribute above the
13653current element.  If not true, hands over to _ascii_ back-end.  If true,
13654which it is in this example, it creates a box around the code and leaves
13655room for the inserting a string for language.  The last form creates the
13656new back-end that springs to action only when translating ‘src-block’
13657type elements.
13658
13659   To use the newly defined back-end, evaluate the following from an Org
13660buffer:
13661
13662     (org-export-to-buffer 'my-ascii "*Org MY-ASCII Export*")
13663
13664   Further steps to consider would be an interactive function,
13665self-installing an item in the export dispatcher menu, and other
13666user-friendly improvements.
13667
13668
13669File: org.info,  Node: Export in Foreign Buffers,  Prev: Advanced Export Configuration,  Up: Exporting
13670
1367113.18 Export in Foreign Buffers
13672===============================
13673
13674The export back-ends in Org often include commands to convert selected
13675regions.  A convenient feature of this in-place conversion is that the
13676exported output replaces the original source.  Here are such functions:
13677
13678‘org-ascii-convert-region-to-ascii’
13679     Convert the selected region into ASCII.
13680
13681‘org-ascii-convert-region-to-utf8’
13682     Convert the selected region into UTF-8.
13683
13684‘org-html-convert-region-to-html’
13685     Convert the selected region into HTML.
13686
13687‘org-latex-convert-region-to-latex’
13688     Convert the selected region into LaTeX.
13689
13690‘org-texinfo-convert-region-to-texinfo’
13691     Convert the selected region into Texinfo.
13692
13693‘org-md-convert-region-to-md’
13694     Convert the selected region into Markdown.
13695
13696   In-place conversions are particularly handy for quick conversion of
13697tables and lists in foreign buffers.  For example, in an HTML buffer,
13698write a list in Org syntax, select it, and convert it to HTML with ‘M-x
13699org-html-convert-region-to-html’.
13700
13701* Menu:
13702
13703* Bare HTML::                    Exporting HTML without CSS, Javascript, etc.
13704
13705
13706File: org.info,  Node: Bare HTML,  Up: Export in Foreign Buffers
13707
1370813.18.1 Exporting to minimal HTML
13709---------------------------------
13710
13711If you want to output a minimal HTML file, with no CSS, no Javascript,
13712no preamble or postamble, here are the variable you would need to set:
13713
13714     (setq org-html-head ""
13715           org-html-head-extra ""
13716           org-html-head-include-default-style nil
13717           org-html-head-include-scripts nil
13718           org-html-preamble nil
13719           org-html-postamble nil
13720           org-html-use-infojs nil)
13721
13722
13723File: org.info,  Node: Publishing,  Next: Working with Source Code,  Prev: Exporting,  Up: Top
13724
1372514 Publishing
13726*************
13727
13728Org includes a publishing management system that allows you to configure
13729automatic HTML conversion of _projects_ composed of interlinked Org
13730files.  You can also configure Org to automatically upload your exported
13731HTML pages and related attachments, such as images and source code
13732files, to a web server.
13733
13734   You can also use Org to convert files into PDF, or even combine HTML
13735and PDF conversion so that files are available in both formats on the
13736server.
13737
13738   Publishing has been contributed to Org by David O’Toole.
13739
13740* Menu:
13741
13742* Configuration::                Defining projects.
13743* Uploading Files::              How to get files up on the server.
13744* Sample Configuration::         Example projects.
13745* Triggering Publication::       Publication commands.
13746
13747
13748File: org.info,  Node: Configuration,  Next: Uploading Files,  Up: Publishing
13749
1375014.1 Configuration
13751==================
13752
13753Publishing needs significant configuration to specify files, destination
13754and many other properties of a project.
13755
13756* Menu:
13757
13758* Project alist::                The central configuration variable.
13759* Sources and destinations::     From here to there.
13760* Selecting files::              What files are part of the project?
13761* Publishing action::            Setting the function doing the publishing.
13762* Publishing options::           Tweaking HTML/LaTeX export.
13763* Publishing links::             Which links keep working after publishing?
13764* Site map::                     Generating a list of all pages.
13765* Generating an index::          An index that reaches across pages.
13766
13767
13768File: org.info,  Node: Project alist,  Next: Sources and destinations,  Up: Configuration
13769
1377014.1.1 The variable ‘org-publish-project-alist’
13771-----------------------------------------------
13772
13773Publishing is configured almost entirely through setting the value of
13774one variable, called ‘org-publish-project-alist’.  Each element of the
13775list configures one project, and may be in one of the two following
13776forms:
13777
13778     ("project-name" :property value :property value ...)
13779
13780i.e., a well-formed property list with alternating keys and values, or:
13781
13782     ("project-name" :components ("project-name" "project-name" ...))
13783
13784   In both cases, projects are configured by specifying property values.
13785A project defines the set of files that are to be published, as well as
13786the publishing configuration to use when publishing those files.  When a
13787project takes the second form listed above, the individual members of
13788the ‘:components’ property are taken to be sub-projects, which group
13789together files requiring different publishing options.  When you publish
13790such a “meta-project”, all the components are also published, in the
13791sequence given.
13792
13793
13794File: org.info,  Node: Sources and destinations,  Next: Selecting files,  Prev: Project alist,  Up: Configuration
13795
1379614.1.2 Sources and destinations for files
13797-----------------------------------------
13798
13799Most properties are optional, but some should always be set.  In
13800particular, Org needs to know where to look for source files, and where
13801to put published files.
13802
13803‘:base-directory’
13804     Directory containing publishing source files.
13805
13806‘:publishing-directory’
13807     Directory where output files are published.  You can directly
13808     publish to a webserver using a file name syntax appropriate for the
13809     Emacs tramp package.  Or you can publish to a local directory and
13810     use external tools to upload your website (see *note Uploading
13811     Files::).
13812
13813‘:preparation-function’
13814     Function or list of functions to be called before starting the
13815     publishing process, for example, to run ‘make’ for updating files
13816     to be published.  Each preparation function is called with a single
13817     argument, the project property list.
13818
13819‘:completion-function’
13820     Function or list of functions called after finishing the publishing
13821     process, for example, to change permissions of the resulting files.
13822     Each completion function is called with a single argument, the
13823     project property list.
13824
13825
13826File: org.info,  Node: Selecting files,  Next: Publishing action,  Prev: Sources and destinations,  Up: Configuration
13827
1382814.1.3 Selecting files
13829----------------------
13830
13831By default, all files with extension ‘.org’ in the base directory are
13832considered part of the project.  This can be modified by setting the
13833following properties
13834
13835‘:base-extension’
13836     Extension—without the dot—of source files.  This actually is a
13837     regular expression.  Set this to the symbol ‘any’ if you want to
13838     get all files in ‘:base-directory’, even without extension.
13839
13840‘:exclude’
13841     Regular expression to match file names that should not be
13842     published, even though they have been selected on the basis of
13843     their extension.
13844
13845‘:include’
13846     List of files to be included regardless of ‘:base-extension’ and
13847     ‘:exclude’.
13848
13849‘:recursive’
13850     Non-‘nil’ means, check base-directory recursively for files to
13851     publish.
13852
13853
13854File: org.info,  Node: Publishing action,  Next: Publishing options,  Prev: Selecting files,  Up: Configuration
13855
1385614.1.4 Publishing action
13857------------------------
13858
13859Publishing means that a file is copied to the destination directory and
13860possibly transformed in the process.  The default transformation is to
13861export Org files as HTML files, and this is done by the function
13862‘org-publish-org-to-html’ which calls the HTML exporter (see *note HTML
13863Export::).  But you can also publish your content as PDF files using
13864‘org-publish-org-to-pdf’, or as ASCII, Texinfo, etc., using the
13865corresponding functions.
13866
13867   If you want to publish the Org file as an ‘.org’ file but with
13868_archived_, _commented_, and _tag-excluded_ trees removed, use
13869‘org-publish-org-to-org’.  This produces ‘file.org’ and put it in the
13870publishing directory.  If you want a htmlized version of this file, set
13871the parameter ‘:htmlized-source’ to ‘t’.  It produces ‘file.org.html’ in
13872the publishing directory(1).
13873
13874   Other files like images only need to be copied to the publishing
13875destination; for this you can use ‘org-publish-attachment’.  For non-Org
13876files, you always need to specify the publishing function:
13877
13878‘:publishing-function’
13879     Function executing the publication of a file.  This may also be a
13880     list of functions, which are all called in turn.
13881
13882‘:htmlized-source’
13883     Non-‘nil’ means, publish htmlized source.
13884
13885   The function must accept three arguments: a property list containing
13886at least a ‘:publishing-directory’ property, the name of the file to be
13887published, and the path to the publishing directory of the output file.
13888It should take the specified file, make the necessary transformation, if
13889any, and place the result into the destination folder.
13890
13891   ---------- Footnotes ----------
13892
13893   (1) If the publishing directory is the same as the source directory,
13894file.org’ is exported as ‘file.org.org’, so you probably do not want to
13895do this.
13896
13897
13898File: org.info,  Node: Publishing options,  Next: Publishing links,  Prev: Publishing action,  Up: Configuration
13899
1390014.1.5 Options for the exporters
13901--------------------------------
13902
13903The property list can be used to set many export options for the HTML
13904and LaTeX exporters.  In most cases, these properties correspond to user
13905variables in Org.  The table below lists these properties along with the
13906variable they belong to.  See the documentation string for the
13907respective variable for details.
13908
13909   When a property is given a value in ‘org-publish-project-alist’, its
13910setting overrides the value of the corresponding user variable, if any,
13911during publishing.  Options set within a file (see *note Export
13912Settings::), however, override everything.
13913
13914Generic properties
13915..................
13916
13917‘:archived-trees’         ‘org-export-with-archived-trees’
13918‘:exclude-tags’           ‘org-export-exclude-tags’
13919‘:headline-levels’        ‘org-export-headline-levels’
13920‘:language’               ‘org-export-default-language’
13921‘:preserve-breaks’        ‘org-export-preserve-breaks’
13922‘:section-numbers’        ‘org-export-with-section-numbers’
13923‘:select-tags’            ‘org-export-select-tags’
13924‘:with-author’            ‘org-export-with-author’
13925‘:with-broken-links’      ‘org-export-with-broken-links’
13926‘:with-clocks’            ‘org-export-with-clocks’
13927‘:with-creator’           ‘org-export-with-creator’
13928‘:with-date’              ‘org-export-with-date’
13929‘:with-drawers’           ‘org-export-with-drawers’
13930‘:with-email’             ‘org-export-with-email’
13931‘:with-emphasize’         ‘org-export-with-emphasize’
13932‘:with-fixed-width’       ‘org-export-with-fixed-width’
13933‘:with-footnotes’         ‘org-export-with-footnotes’
13934‘:with-latex’             ‘org-export-with-latex’
13935‘:with-planning’          ‘org-export-with-planning’
13936‘:with-priority’          ‘org-export-with-priority’
13937‘:with-properties’        ‘org-export-with-properties’
13938‘:with-special-strings’   ‘org-export-with-special-strings’
13939‘:with-sub-superscript’   ‘org-export-with-sub-superscripts’
13940‘:with-tables’            ‘org-export-with-tables’
13941‘:with-tags’              ‘org-export-with-tags’
13942‘:with-tasks’             ‘org-export-with-tasks’
13943‘:with-timestamps’        ‘org-export-with-timestamps’
13944‘:with-title’             ‘org-export-with-title’
13945‘:with-toc’               ‘org-export-with-toc’
13946‘:with-todo-keywords’     ‘org-export-with-todo-keywords’
13947
13948ASCII specific properties
13949.........................
13950
13951‘:ascii-bullets’                         ‘org-ascii-bullets’
13952‘:ascii-caption-above’                   ‘org-ascii-caption-above’
13953‘:ascii-charset’                         ‘org-ascii-charset’
13954‘:ascii-global-margin’                   ‘org-ascii-global-margin’
13955‘:ascii-format-drawer-function’          ‘org-ascii-format-drawer-function’
13956‘:ascii-format-inlinetask-function’      ‘org-ascii-format-inlinetask-function’
13957‘:ascii-headline-spacing’                ‘org-ascii-headline-spacing’
13958‘:ascii-indented-line-width’             ‘org-ascii-indented-line-width’
13959‘:ascii-inlinetask-width’                ‘org-ascii-inlinetask-width’
13960‘:ascii-inner-margin’                    ‘org-ascii-inner-margin’
13961‘:ascii-links-to-notes’                  ‘org-ascii-links-to-notes’
13962‘:ascii-list-margin’                     ‘org-ascii-list-margin’
13963‘:ascii-paragraph-spacing’               ‘org-ascii-paragraph-spacing’
13964‘:ascii-quote-margin’                    ‘org-ascii-quote-margin’
13965‘:ascii-table-keep-all-vertical-lines’   ‘org-ascii-table-keep-all-vertical-lines’
13966‘:ascii-table-use-ascii-art’             ‘org-ascii-table-use-ascii-art’
13967‘:ascii-table-widen-columns’             ‘org-ascii-table-widen-columns’
13968‘:ascii-text-width’                      ‘org-ascii-text-width’
13969‘:ascii-underline’                       ‘org-ascii-underline’
13970‘:ascii-verbatim-format’                 ‘org-ascii-verbatim-format’
13971
13972Beamer specific properties
13973..........................
13974
13975‘:beamer-theme’                   ‘org-beamer-theme’
13976‘:beamer-column-view-format’      ‘org-beamer-column-view-format’
13977‘:beamer-environments-extra’      ‘org-beamer-environments-extra’
13978‘:beamer-frame-default-options’   ‘org-beamer-frame-default-options’
13979‘:beamer-outline-frame-options’   ‘org-beamer-outline-frame-options’
13980‘:beamer-outline-frame-title’     ‘org-beamer-outline-frame-title’
13981‘:beamer-subtitle-format’         ‘org-beamer-subtitle-format’
13982
13983HTML specific properties
13984........................
13985
13986‘:html-allow-name-attribute-in-anchors’          ‘org-html-allow-name-attribute-in-anchors’
13987‘:html-checkbox-type’                            ‘org-html-checkbox-type’
13988‘:html-container’                                ‘org-html-container-element’
13989‘:html-divs’                                     ‘org-html-divs’
13990‘:html-doctype’                                  ‘org-html-doctype’
13991‘:html-extension’                                ‘org-html-extension’
13992‘:html-footnote-format’                          ‘org-html-footnote-format’
13993‘:html-footnote-separator’                       ‘org-html-footnote-separator’
13994‘:html-footnotes-section’                        ‘org-html-footnotes-section’
13995‘:html-format-drawer-function’                   ‘org-html-format-drawer-function’
13996‘:html-format-headline-function’                 ‘org-html-format-headline-function’
13997‘:html-format-inlinetask-function’               ‘org-html-format-inlinetask-function’
13998‘:html-head-extra’                               ‘org-html-head-extra’
13999‘:html-head-include-default-style’               ‘org-html-head-include-default-style’
14000‘:html-head-include-scripts’                     ‘org-html-head-include-scripts’
14001‘:html-head’                                     ‘org-html-head’
14002‘:html-home/up-format’                           ‘org-html-home/up-format14003‘:html-html5-fancy’                              ‘org-html-html5-fancy’
14004‘:html-indent’                                   ‘org-html-indent’
14005‘:html-infojs-options’                           ‘org-html-infojs-options’
14006‘:html-infojs-template’                          ‘org-html-infojs-template’
14007‘:html-inline-image-rules’                       ‘org-html-inline-image-rules’
14008‘:html-inline-images’                            ‘org-html-inline-images’
14009‘:html-link-home’                                ‘org-html-link-home’
14010‘:html-link-org-files-as-html’                   ‘org-html-link-org-files-as-html’
14011‘:html-link-up’                                  ‘org-html-link-up’
14012‘:html-link-use-abs-url’                         ‘org-html-link-use-abs-url’
14013‘:html-mathjax-options’                          ‘org-html-mathjax-options’
14014‘:html-mathjax-template’                         ‘org-html-mathjax-template’
14015‘:html-equation-reference-format’                ‘org-html-equation-reference-format’
14016‘:html-metadata-timestamp-format’                ‘org-html-metadata-timestamp-format’
14017‘:html-postamble-format’                         ‘org-html-postamble-format’
14018‘:html-postamble’                                ‘org-html-postamble’
14019‘:html-preamble-format’                          ‘org-html-preamble-format’
14020‘:html-preamble’                                 ‘org-html-preamble’
14021‘:html-self-link-headlines’                      ‘org-html-self-link-headlines’
14022‘:html-table-align-individual-field’             ‘de{org-html-table-align-individual-fields’
14023‘:html-table-attributes’                         ‘org-html-table-default-attributes’
14024‘:html-table-caption-above’                      ‘org-html-table-caption-above’
14025‘:html-table-data-tags’                          ‘org-html-table-data-tags’
14026‘:html-table-header-tags’                        ‘org-html-table-header-tags’
14027‘:html-table-row-tags’                           ‘org-html-table-row-tags’
14028‘:html-table-use-header-tags-for-first-column’   ‘org-html-table-use-header-tags-for-first-column’
14029‘:html-tag-class-prefix’                         ‘org-html-tag-class-prefix’
14030‘:html-text-markup-alist’                        ‘org-html-text-markup-alist’
14031‘:html-todo-kwd-class-prefix’                    ‘org-html-todo-kwd-class-prefix’
14032‘:html-toplevel-hlevel’                          ‘org-html-toplevel-hlevel’
14033‘:html-use-infojs’                               ‘org-html-use-infojs’
14034‘:html-validation-link’                          ‘org-html-validation-link’
14035‘:html-viewport’                                 ‘org-html-viewport’
14036‘:html-wrap-src-lines’                           ‘org-html-wrap-src-lines’
14037‘:html-xml-declaration’                          ‘org-html-xml-declaration’
14038
14039LaTeX specific properties
14040.........................
14041
14042‘:latex-active-timestamp-format’         ‘org-latex-active-timestamp-format’
14043‘:latex-caption-above’                   ‘org-latex-caption-above’
14044‘:latex-classes’                         ‘org-latex-classes’
14045‘:latex-class’                           ‘org-latex-default-class’
14046‘:latex-compiler’                        ‘org-latex-compiler’
14047‘:latex-default-figure-position’         ‘org-latex-default-figure-position’
14048‘:latex-default-table-environment’       ‘org-latex-default-table-environment’
14049‘:latex-default-table-mode’              ‘org-latex-default-table-mode’
14050‘:latex-diary-timestamp-format’          ‘org-latex-diary-timestamp-format’
14051‘:latex-footnote-defined-format’         ‘org-latex-footnote-defined-format’
14052‘:latex-footnote-separator’              ‘org-latex-footnote-separator’
14053‘:latex-format-drawer-function’          ‘org-latex-format-drawer-function’
14054‘:latex-format-headline-function’        ‘org-latex-format-headline-function’
14055‘:latex-format-inlinetask-function’      ‘org-latex-format-inlinetask-function’
14056‘:latex-hyperref-template’               ‘org-latex-hyperref-template’
14057‘:latex-image-default-height’            ‘org-latex-image-default-height’
14058‘:latex-image-default-option’            ‘org-latex-image-default-option’
14059‘:latex-image-default-width’             ‘org-latex-image-default-width’
14060‘:latex-images-centered’                 ‘org-latex-images-centered’
14061‘:latex-inactive-timestamp-format’       ‘org-latex-inactive-timestamp-format’
14062‘:latex-inline-image-rules’              ‘org-latex-inline-image-rules’
14063‘:latex-link-with-unknown-path-format’   ‘org-latex-link-with-unknown-path-format’
14064‘:latex-listings-langs’                  ‘org-latex-listings-langs’
14065‘:latex-listings-options’                ‘org-latex-listings-options’
14066‘:latex-listings’                        ‘org-latex-listings’
14067‘:latex-minted-langs’                    ‘org-latex-minted-langs’
14068‘:latex-minted-options’                  ‘org-latex-minted-options’
14069‘:latex-prefer-user-labels’              ‘org-latex-prefer-user-labels’
14070‘:latex-subtitle-format’                 ‘org-latex-subtitle-format’
14071‘:latex-subtitle-separate’               ‘org-latex-subtitle-separate’
14072‘:latex-table-scientific-notation’       ‘org-latex-table-scientific-notation’
14073‘:latex-tables-booktabs’                 ‘org-latex-tables-booktabs’
14074‘:latex-tables-centered’                 ‘org-latex-tables-centered’
14075‘:latex-text-markup-alist’               ‘org-latex-text-markup-alist’
14076‘:latex-title-command’                   ‘org-latex-title-command’
14077‘:latex-toc-command’                     ‘org-latex-toc-command’
14078
14079Markdown specific properties
14080............................
14081
14082‘:md-footnote-format’     ‘org-md-footnote-format’
14083‘:md-footnotes-section’   ‘org-md-footnotes-section’
14084‘:md-headline-style’      ‘org-md-headline-style’
14085
14086ODT specific properties
14087.......................
14088
14089‘:odt-content-template-file’        ‘org-odt-content-template-file’
14090‘:odt-display-outline-level’        ‘org-odt-display-outline-level’
14091‘:odt-fontify-srcblocks’            ‘org-odt-fontify-srcblocks’
14092‘:odt-format-drawer-function’       ‘org-odt-format-drawer-function’
14093‘:odt-format-headline-function’     ‘org-odt-format-headline-function’
14094‘:odt-format-inlinetask-function’   ‘org-odt-format-inlinetask-function’
14095‘:odt-inline-formula-rules’         ‘org-odt-inline-formula-rules’
14096‘:odt-inline-image-rules’           ‘org-odt-inline-image-rules’
14097‘:odt-pixels-per-inch’              ‘org-odt-pixels-per-inch’
14098‘:odt-styles-file’                  ‘org-odt-styles-file’
14099‘:odt-table-styles’                 ‘org-odt-table-styles’
14100‘:odt-use-date-fields’              ‘org-odt-use-date-fields’
14101
14102Texinfo specific properties
14103...........................
14104
14105‘:texinfo-active-timestamp-format’         ‘org-texinfo-active-timestamp-format’
14106‘:texinfo-classes’                         ‘org-texinfo-classes’
14107‘:texinfo-class’                           ‘org-texinfo-default-class’
14108‘:texinfo-table-default-markup’            ‘org-texinfo-table-default-markup’
14109‘:texinfo-diary-timestamp-format’          ‘org-texinfo-diary-timestamp-format’
14110‘:texinfo-filename’                        ‘org-texinfo-filename’
14111‘:texinfo-format-drawer-function’          ‘org-texinfo-format-drawer-function’
14112‘:texinfo-format-headline-function’        ‘org-texinfo-format-headline-function’
14113‘:texinfo-format-inlinetask-function’      ‘org-texinfo-format-inlinetask-function’
14114‘:texinfo-inactive-timestamp-format’       ‘org-texinfo-inactive-timestamp-format’
14115‘:texinfo-link-with-unknown-path-format’   ‘org-texinfo-link-with-unknown-path-format’
14116‘:texinfo-node-description-column’         ‘org-texinfo-node-description-column’
14117‘:texinfo-table-scientific-notation’       ‘org-texinfo-table-scientific-notation’
14118‘:texinfo-tables-verbatim’                 ‘org-texinfo-tables-verbatim’
14119‘:texinfo-text-markup-alist’               ‘org-texinfo-text-markup-alist’
14120
14121
14122File: org.info,  Node: Publishing links,  Next: Site map,  Prev: Publishing options,  Up: Configuration
14123
1412414.1.6 Publishing links
14125-----------------------
14126
14127To create a link from one Org file to another, you would use something
14128like ‘[[file:foo.org][The foo]]’ or simply ‘[[file:foo.org]]’ (see *note
14129External Links::).  When published, this link becomes a link to
14130foo.html’.  You can thus interlink the pages of your “Org web” project
14131and the links will work as expected when you publish them to HTML.  If
14132you also publish the Org source file and want to link to it, use an
14133‘http’ link instead of a ‘file:’ link, because ‘file’ links are
14134converted to link to the corresponding ‘.html’ file.
14135
14136   You may also link to related files, such as images.  Provided you are
14137careful with relative file names, and provided you have also configured
14138Org to upload the related files, these links will work too.  See *note
14139Complex example::, for an example of this usage.
14140
14141   Eventually, links between published documents can contain some search
14142options (see *note Search Options::), which will be resolved to the
14143appropriate location in the linked file.  For example, once published to
14144HTML, the following links all point to a dedicated anchor in ‘foo.html’.
14145
14146     [[file:foo.org::*heading]]
14147     [[file:foo.org::#custom-id]]
14148     [[file:foo.org::target]]
14149
14150
14151File: org.info,  Node: Site map,  Next: Generating an index,  Prev: Publishing links,  Up: Configuration
14152
1415314.1.7 Generating a sitemap
14154---------------------------
14155
14156The following properties may be used to control publishing of a map of
14157files for a given project.
14158
14159‘:auto-sitemap’
14160     When non-‘nil’, publish a sitemap during
14161     ‘org-publish-current-project’ or ‘org-publish-all’.
14162
14163‘:sitemap-filename’
14164     Filename for output of sitemap.  Defaults to ‘sitemap.org’, which
14165     becomes ‘sitemap.html’.
14166
14167‘:sitemap-title’
14168     Title of sitemap page.  Defaults to name of file.
14169
14170‘:sitemap-format-entry’
14171     With this option one can tell how a site-map entry is formatted in
14172     the site-map.  It is a function called with three arguments: the
14173     file or directory name relative to base directory of the project,
14174     the site-map style and the current project.  It is expected to
14175     return a string.  Default value turns file names into links and use
14176     document titles as descriptions.  For specific formatting needs,
14177     one can use ‘org-publish-find-date’, ‘org-publish-find-title’ and
14178     ‘org-publish-find-property’, to retrieve additional information
14179     about published documents.
14180
14181‘:sitemap-function’
14182     Plug-in function to use for generation of the sitemap.  It is
14183     called with two arguments: the title of the site-map and a
14184     representation of the files and directories involved in the project
14185     as a nested list, which can further be transformed using
14186     ‘org-list-to-generic’, ‘org-list-to-subtree’ and alike.  Default
14187     value generates a plain list of links to all files in the project.
14188
14189‘:sitemap-sort-folders’
14190     Where folders should appear in the sitemap.  Set this to ‘first’
14191     (default) or ‘last’ to display folders first or last, respectively.
14192     When set to ‘ignore’, folders are ignored altogether.  Any other
14193     value mixes files and folders.  This variable has no effect when
14194     site-map style is ‘tree’.
14195
14196‘:sitemap-sort-files’
14197     How the files are sorted in the site map.  Set this to
14198     ‘alphabetically’ (default), ‘chronologically’ or
14199     ‘anti-chronologically’.  ‘chronologically’ sorts the files with
14200     older date first while ‘anti-chronologically’ sorts the files with
14201     newer date first.  ‘alphabetically’ sorts the files alphabetically.
14202     The date of a file is retrieved with ‘org-publish-find-date’.
14203
14204‘:sitemap-ignore-case’
14205     Should sorting be case-sensitive?  Default ‘nil’.
14206
14207‘:sitemap-file-entry-format’
14208     With this option one can tell how a sitemap’s entry is formatted in
14209     the sitemap.  This is a format string with some escape sequences:
14210     ‘%t’ stands for the title of the file, ‘%a’ stands for the author
14211     of the file and ‘%d’ stands for the date of the file.  The date is
14212     retrieved with the ‘org-publish-find-date’ function and formatted
14213     with ‘org-publish-sitemap-date-format’.  Default ‘%t’.
14214
14215‘:sitemap-date-format’
14216     Format string for the ‘format-time-string’ function that tells how
14217     a sitemap entry’s date is to be formatted.  This property bypasses
14218     ‘org-publish-sitemap-date-format’ which defaults to ‘%Y-%m-%d’.
14219
14220
14221File: org.info,  Node: Generating an index,  Prev: Site map,  Up: Configuration
14222
1422314.1.8 Generating an index
14224--------------------------
14225
14226Org mode can generate an index across the files of a publishing project.
14227
14228‘:makeindex’
14229     When non-‘nil’, generate in index in the file ‘theindex.org’ and
14230     publish it as ‘theindex.html’.
14231
14232   The file is created when first publishing a project with the
14233‘:makeindex’ set.  The file only contains a statement ‘#+INCLUDE:
14234"theindex.inc"’.  You can then build around this include statement by
14235adding a title, style information, etc.
14236
14237   Index entries are specified with ‘INDEX’ keyword.  An entry that
14238contains an exclamation mark creates a sub item.
14239
14240     *** Curriculum Vitae
14241     #+INDEX: CV
14242     #+INDEX: Application!CV
14243
14244
14245File: org.info,  Node: Uploading Files,  Next: Sample Configuration,  Prev: Configuration,  Up: Publishing
14246
1424714.2 Uploading Files
14248====================
14249
14250For those people already utilizing third party sync tools such as Rsync
14251or Unison, it might be preferable not to use the built-in remote
14252publishing facilities of Org mode which rely heavily on Tramp.  Tramp,
14253while very useful and powerful, tends not to be so efficient for
14254multiple file transfer and has been known to cause problems under heavy
14255usage.
14256
14257   Specialized synchronization utilities offer several advantages.  In
14258addition to timestamp comparison, they also do content and
14259permissions/attribute checks.  For this reason you might prefer to
14260publish your web to a local directory—possibly even _in place_ with your
14261Org files—and then use Unison or Rsync to do the synchronization with
14262the remote host.
14263
14264   Since Unison, for example, can be configured as to which files to
14265transfer to a certain remote destination, it can greatly simplify the
14266project publishing definition.  Simply keep all files in the correct
14267location, process your Org files with ‘org-publish’ and let the
14268synchronization tool do the rest.  You do not need, in this scenario, to
14269include attachments such as JPG, CSS or PNG files in the project
14270definition since the third-party tool syncs them.
14271
14272   Publishing to a local directory is also much faster than to a remote
14273one, so that you can afford more easily to republish entire projects.
14274If you set ‘org-publish-use-timestamps-flag’ to ‘nil’, you gain the main
14275benefit of re-including any changed external files such as source
14276example files you might include with ‘INCLUDE’ keyword.  The timestamp
14277mechanism in Org is not smart enough to detect if included files have
14278been modified.
14279
14280
14281File: org.info,  Node: Sample Configuration,  Next: Triggering Publication,  Prev: Uploading Files,  Up: Publishing
14282
1428314.3 Sample Configuration
14284=========================
14285
14286Below we provide two example configurations.  The first one is a simple
14287project publishing only a set of Org files.  The second example is more
14288complex, with a multi-component project.
14289
14290* Menu:
14291
14292* Simple example::               One-component publishing.
14293* Complex example::              A multi-component publishing example.
14294
14295
14296File: org.info,  Node: Simple example,  Next: Complex example,  Up: Sample Configuration
14297
1429814.3.1 Example: simple publishing configuration
14299-----------------------------------------------
14300
14301This example publishes a set of Org files to the ‘public_html’ directory
14302on the local machine.
14303
14304     (setq org-publish-project-alist
14305           '(("org"
14306              :base-directory "~/org/"
14307              :publishing-directory "~/public_html"
14308              :section-numbers nil
14309              :table-of-contents nil
14310              :style "<link rel=\"stylesheet\"
14311                     href=\"../other/mystyle.css\"
14312                     type=\"text/css\"/>")))
14313
14314
14315File: org.info,  Node: Complex example,  Prev: Simple example,  Up: Sample Configuration
14316
1431714.3.2 Example: complex publishing configuration
14318------------------------------------------------
14319
14320This more complicated example publishes an entire website, including Org
14321files converted to HTML, image files, Emacs Lisp source code, and style
14322sheets.  The publishing directory is remote and private files are
14323excluded.
14324
14325   To ensure that links are preserved, care should be taken to replicate
14326your directory structure on the web server, and to use relative file
14327paths.  For example, if your Org files are kept in ‘~/org/’ and your
14328publishable images in ‘~/images/’, you would link to an image with
14329
14330     file:../images/myimage.png
14331
14332   On the web server, the relative path to the image should be the same.
14333You can accomplish this by setting up an ‘images/’ folder in the right
14334place on the web server, and publishing images to it.
14335
14336     (setq org-publish-project-alist
14337           '(("orgfiles"
14338              :base-directory "~/org/"
14339              :base-extension "org"
14340              :publishing-directory "/ssh:user@host:~/html/notebook/"
14341              :publishing-function org-html-publish-to-html
14342              :exclude "PrivatePage.org" ;; regexp
14343              :headline-levels 3
14344              :section-numbers nil
14345              :with-toc nil
14346              :html-head "<link rel=\"stylesheet\"
14347                       href=\"../other/mystyle.css\" type=\"text/css\"/>"
14348              :html-preamble t)
14349
14350             ("images"
14351              :base-directory "~/images/"
14352              :base-extension "jpg\\|gif\\|png"
14353              :publishing-directory "/ssh:user@host:~/html/images/"
14354              :publishing-function org-publish-attachment)
14355
14356             ("other"
14357              :base-directory "~/other/"
14358              :base-extension "css\\|el"
14359              :publishing-directory "/ssh:user@host:~/html/other/"
14360              :publishing-function org-publish-attachment)
14361             ("website" :components ("orgfiles" "images" "other"))))
14362
14363
14364File: org.info,  Node: Triggering Publication,  Prev: Sample Configuration,  Up: Publishing
14365
1436614.4 Triggering Publication
14367===========================
14368
14369Once properly configured, Org can publish with the following commands:
14370
14371‘C-c C-e P x’ (‘org-publish’)
14372     Prompt for a specific project and publish all files that belong to
14373     it.
14374
14375‘C-c C-e P p’ (‘org-publish-current-project’)
14376     Publish the project containing the current file.
14377
14378‘C-c C-e P f’ (‘org-publish-current-file’)
14379     Publish only the current file.
14380
14381‘C-c C-e P a’ (‘org-publish-all’)
14382     Publish every project.
14383
14384   Org uses timestamps to track when a file has changed.  The above
14385functions normally only publish changed files.  You can override this
14386and force publishing of all files by giving a prefix argument to any of
14387the commands above, or by customizing the variable
14388‘org-publish-use-timestamps-flag’.  This may be necessary in particular
14389if files include other files via ‘SETUPFILE’ or ‘INCLUDE’ keywords.
14390
14391
14392File: org.info,  Node: Working with Source Code,  Next: Miscellaneous,  Prev: Publishing,  Up: Top
14393
1439415 Working with Source Code
14395***************************
14396
14397Source code here refers to any plain text collection of computer
14398instructions, possibly with comments, written using a human-readable
14399programming language.  Org can manage source code in an Org document
14400when the source code is identified with begin and end markers.  Working
14401with source code begins with identifying source code blocks.  A source
14402code block can be placed almost anywhere in an Org document; it is not
14403restricted to the preamble or the end of the document.  However, Org
14404cannot manage a source code block if it is placed inside an Org comment
14405or within a fixed width section.
14406
14407   Here is an example source code block in the Emacs Lisp language:
14408
14409     #+BEGIN_SRC emacs-lisp
14410       (defun org-xor (a b)
14411          "Exclusive or."
14412          (if a (not b) b))
14413     #+END_SRC
14414
14415   Source code blocks are one of many Org block types, which also
14416include “center”, “comment”, “dynamic”, “example”, “export”, “quote”,
14417“special”, and “verse”.  This section pertains to blocks between
14418‘#+BEGIN_SRC’ and ‘#+END_SRC’.
14419
14420   Details of Org’s facilities for working with source code are
14421described in the following sections.
14422
14423* Menu:
14424
14425* Features Overview::            Enjoy the versatility of source blocks.
14426* Structure of Code Blocks::     Code block syntax described.
14427* Using Header Arguments::       Different ways to set header arguments.
14428* Environment of a Code Block::  Arguments, sessions, working directory...
14429* Evaluating Code Blocks::       Place results of evaluation in the Org buffer.
14430* Results of Evaluation::        Choosing a results type, post-processing...
14431* Exporting Code Blocks::        Export contents and/or results.
14432* Extracting Source Code::       Create pure source code files.
14433* Languages::                    List of supported code block languages.
14434* Editing Source Code::          Language major-mode editing.
14435* Noweb Reference Syntax::       Literate programming in Org mode.
14436* Library of Babel::             Use and contribute to a library of useful code blocks.
14437* Key bindings and Useful Functions:: Work quickly with code blocks.
14438* Batch Execution::              Call functions from the command line.
14439
14440
14441File: org.info,  Node: Features Overview,  Next: Structure of Code Blocks,  Up: Working with Source Code
14442
1444315.1 Features Overview
14444======================
14445
14446Org can manage the source code in the block delimited by ‘#+BEGIN_SRC’
14447... ‘#+END_SRC’ in several ways that can simplify housekeeping tasks
14448essential to modern source code maintenance.  Org can edit, format,
14449extract, export, and publish source code blocks.  Org can also compile
14450and execute a source code block, then capture the results.  The Org mode
14451literature sometimes refers to source code blocks as _live code_ blocks
14452because they can alter the content of the Org document or the material
14453that it exports.  Users can control how live they want each source code
14454block by tweaking the header arguments (see *note Using Header
14455Arguments::) for compiling, execution, extraction, and exporting.
14456
14457   For editing and formatting a source code block, Org uses an
14458appropriate Emacs major mode that includes features specifically
14459designed for source code in that language.
14460
14461   Org can extract one or more source code blocks and write them to one
14462or more source files—a process known as _tangling_ in literate
14463programming terminology.
14464
14465   For exporting and publishing, Org’s back-ends can format a source
14466code block appropriately, often with native syntax highlighting.
14467
14468   For executing and compiling a source code block, the user can
14469configure Org to select the appropriate compiler.  Org provides
14470facilities to collect the result of the execution or compiler output,
14471insert it into the Org document, and/or export it.  In addition to text
14472results, Org can insert links to other data types, including audio,
14473video, and graphics.  Org can also link a compiler error message to the
14474appropriate line in the source code block.
14475
14476   An important feature of Org’s management of source code blocks is the
14477ability to pass variables, functions, and results to one another using a
14478common syntax for source code blocks in any language.  Although most
14479literate programming facilities are restricted to one language or
14480another, Org’s language-agnostic approach lets the literate programmer
14481match each programming task with the appropriate computer language and
14482to mix them all together in a single Org document.  This
14483interoperability among languages explains why Org’s source code
14484management facility was named _Org Babel_ by its originators, Eric
14485Schulte and Dan Davison.
14486
14487   Org mode fulfills the promise of easy verification and maintenance of
14488publishing reproducible research by keeping text, data, code,
14489configuration settings of the execution environment, the results of the
14490execution, and associated narratives, claims, references, and internal
14491and external links in a single Org document.
14492
14493
14494File: org.info,  Node: Structure of Code Blocks,  Next: Using Header Arguments,  Prev: Features Overview,  Up: Working with Source Code
14495
1449615.2 Structure of Code Blocks
14497=============================
14498
14499Org offers two ways to structure source code in Org documents: in a
14500source code block, and directly inline.  Both specifications are shown
14501below.
14502
14503   A source code block conforms to this structure:
14504
14505     #+NAME: <name>
14506     #+BEGIN_SRC <language> <switches> <header arguments>
14507       <body>
14508     #+END_SRC
14509
14510   Do not be put-off by having to remember the source block syntax.  Org
14511mode offers a command for wrapping existing text in a block (see *note
14512Structure Templates::).  Org also works with other completion systems in
14513Emacs, some of which predate Org and have custom domain-specific
14514languages for defining templates.  Regular use of templates reduces
14515errors, increases accuracy, and maintains consistency.
14516
14517   An inline code block conforms to this structure:
14518
14519     src_<language>{<body>}
14520
14521or
14522
14523     src_<language>[<header arguments>]{<body>}
14524
14525‘#+NAME: <name>’
14526     Optional.  Names the source block so it can be called, like a
14527     function, from other source blocks or inline code to evaluate or to
14528     capture the results.  Code from other blocks, other files, and from
14529     table formulas (see *note The Spreadsheet::) can use the name to
14530     reference a source block.  This naming serves the same purpose as
14531     naming Org tables.  Org mode requires unique names.  For duplicate
14532     names, Org mode’s behavior is undefined.
14533
14534‘#+BEGIN_SRC’ ... ‘#+END_SRC’
14535     Mandatory.  They mark the start and end of a block that Org
14536     requires.  The ‘#+BEGIN_SRC’ line takes additional arguments, as
14537     described next.
14538
14539‘<language>’
14540     Mandatory.  It is the identifier of the source code language in the
14541     block.  See *note Languages::, for identifiers of supported
14542     languages.
14543
14544‘<switches>’
14545     Optional.  Switches provide finer control of the code execution,
14546     export, and format (see the discussion of switches in *note Literal
14547     Examples::).
14548
14549‘<header arguments>’
14550     Optional.  Heading arguments control many aspects of evaluation,
14551     export and tangling of code blocks (see *note Using Header
14552     Arguments::).  Using Org’s properties feature, header arguments can
14553     be selectively applied to the entire buffer or specific sub-trees
14554     of the Org document.
14555
14556‘<body>’
14557     Source code in the dialect of the specified language identifier.
14558
14559
14560File: org.info,  Node: Using Header Arguments,  Next: Environment of a Code Block,  Prev: Structure of Code Blocks,  Up: Working with Source Code
14561
1456215.3 Using Header Arguments
14563===========================
14564
14565Org comes with many header arguments common to all languages.  New
14566header arguments are added for specific languages as they become
14567available for use in source code blocks.  A header argument is specified
14568with an initial colon followed by the argument’s name in lowercase.
14569
14570   Since header arguments can be set in several ways, Org prioritizes
14571them in case of overlaps or conflicts by giving local settings a higher
14572priority.  Header values in function calls, for example, override header
14573values from global defaults.
14574
14575System-wide header arguments
14576----------------------------
14577
14578System-wide values of header arguments can be specified by customizing
14579the ‘org-babel-default-header-args’ variable, which defaults to the
14580following values:
14581
14582     :session    => "none"
14583     :results    => "replace"
14584     :exports    => "code"
14585     :cache      => "no"
14586     :noweb      => "no"
14587
14588   The example below sets ‘:noweb’ header arguments to ‘yes’, which
14589makes Org expand ‘:noweb’ references by default.
14590
14591     (setq org-babel-default-header-args
14592           (cons '(:noweb . "yes")
14593                 (assq-delete-all :noweb org-babel-default-header-args)))
14594
14595   Each language can have separate default header arguments by
14596customizing the variable ‘org-babel-default-header-args:<LANG>’, where
14597<LANG> is the name of the language.  For details, see the
14598language-specific online documentation at
14599<https://orgmode.org/worg/org-contrib/babel/>.
14600
14601Header arguments in Org mode properties
14602---------------------------------------
14603
14604For header arguments applicable to the buffer, use ‘PROPERTY’ keyword
14605anywhere in the Org file (see *note Property Syntax::).
14606
14607   The following example makes all the R code blocks execute in the same
14608session.  Setting ‘:results’ to ‘silent’ ignores the results of
14609executions for all blocks, not just R code blocks; no results inserted
14610for any block.
14611
14612     #+PROPERTY: header-args:R  :session *R*
14613     #+PROPERTY: header-args    :results silent
14614
14615   Header arguments set through Org’s property drawers (see *note
14616Property Syntax::) apply at the sub-tree level on down.  Since these
14617property drawers can appear anywhere in the file hierarchy, Org uses
14618outermost call or source block to resolve the values.  Org ignores
14619‘org-use-property-inheritance’ setting.
14620
14621   In this example, ‘:cache’ defaults to ‘yes’ for all code blocks in
14622the sub-tree.
14623
14624     * sample header
14625       :PROPERTIES:
14626       :header-args:    :cache yes
14627       :END:
14628
14629   Properties defined through ‘org-set-property’ function, bound to ‘C-c
14630C-x p’, apply to all active languages.  They override properties set in
14631‘org-babel-default-header-args’.
14632
14633   Language-specific header arguments are also read from properties
14634‘header-args:<LANG>’ where <LANG> is the language identifier.  For
14635example,
14636
14637     * Heading
14638       :PROPERTIES:
14639       :header-args:clojure:    :session *clojure-1*
14640       :header-args:R:          :session *R*
14641       :END:
14642     ** Subheading
14643       :PROPERTIES:
14644       :header-args:clojure:    :session *clojure-2*
14645       :END:
14646
14647would force separate sessions for Clojure blocks in ‘Heading’ and
14648‘Subheading’, but use the same session for all R blocks.  Blocks in
14649‘Subheading’ inherit settings from ‘Heading’.
14650
14651Code block specific header arguments
14652------------------------------------
14653
14654Header arguments are most commonly set at the source code block level,
14655on the ‘#+BEGIN_SRC’ line.  Arguments set at this level take precedence
14656over those set in the ‘org-babel-default-header-args’ variable, and also
14657those set as header properties.
14658
14659   In the following example, setting ‘:results’ to ‘silent’ makes it
14660ignore results of the code execution.  Setting ‘:exports’ to ‘code’
14661exports only the body of the code block to HTML or LaTeX.
14662
14663     #+NAME: factorial
14664     #+BEGIN_SRC haskell :results silent :exports code :var n=0
14665       fac 0 = 1
14666       fac n = n * fac (n-1)
14667     #+END_SRC
14668
14669   The same header arguments in an inline code block:
14670
14671     src_haskell[:exports both]{fac 5}
14672
14673   Code block header arguments can span multiple lines using ‘#+HEADER:’
14674on each line.  Note that Org currently accepts the plural spelling of
14675‘#+HEADER:’ only as a convenience for backward-compatibility.  It may be
14676removed at some point.
14677
14678   Multi-line header arguments on an unnamed code block:
14679
14680     #+HEADER: :var data1=1
14681     #+BEGIN_SRC emacs-lisp :var data2=2
14682        (message "data1:%S, data2:%S" data1 data2)
14683     #+END_SRC
14684
14685     #+RESULTS:
14686     : data1:1, data2:2
14687
14688   Multi-line header arguments on a named code block:
14689
14690     #+NAME: named-block
14691     #+HEADER: :var data=2
14692     #+BEGIN_SRC emacs-lisp
14693       (message "data:%S" data)
14694     #+END_SRC
14695
14696     #+RESULTS: named-block
14697       : data:2
14698
14699Header arguments in function calls
14700----------------------------------
14701
14702Header arguments in function calls are the most specific and override
14703all other settings in case of an overlap.  They get the highest
14704priority.  Two ‘#+CALL:’ examples are shown below.  For the complete
14705syntax of ‘CALL’ keyword, see *note Evaluating Code Blocks::.
14706
14707   In this example, ‘:exports results’ header argument is applied to the
14708evaluation of the ‘#+CALL:’ line.
14709
14710     #+CALL: factorial(n=5) :exports results
14711
14712   In this example, ‘:session special’ header argument is applied to the
14713evaluation of ‘factorial’ code block.
14714
14715     #+CALL: factorial[:session special](n=5)
14716
14717
14718File: org.info,  Node: Environment of a Code Block,  Next: Evaluating Code Blocks,  Prev: Using Header Arguments,  Up: Working with Source Code
14719
1472015.4 Environment of a Code Block
14721================================
14722
14723Passing arguments
14724-----------------
14725
14726Use ‘var’ for passing arguments to source code blocks.  The specifics of
14727variables in code blocks vary by the source language and are covered in
14728the language-specific documentation.  The syntax for ‘var’, however, is
14729the same for all languages.  This includes declaring a variable, and
14730assigning a default value.
14731
14732   The following syntax is used to pass arguments to code blocks using
14733the ‘var’ header argument.
14734
14735     :var NAME=ASSIGN
14736
14737NAME is the name of the variable bound in the code block body.  ASSIGN
14738is a literal value, such as a string, a number, a reference to a table,
14739a list, a literal example, another code block—with or without
14740arguments—or the results of evaluating a code block.
14741
14742   Here are examples of passing values by reference:
14743
14744table
14745     A table named with a ‘NAME’ keyword.
14746
14747          #+NAME: example-table
14748          | 1 |
14749          | 2 |
14750          | 3 |
14751          | 4 |
14752
14753          #+NAME: table-length
14754          #+BEGIN_SRC emacs-lisp :var table=example-table
14755            (length table)
14756          #+END_SRC
14757
14758          #+RESULTS: table-length
14759          : 4
14760
14761     When passing a table, you can treat specially the row, or the
14762     column, containing labels for the columns, or the rows, in the
14763     table.
14764
14765     The ‘colnames’ header argument accepts ‘yes’, ‘no’, or ‘nil’
14766     values.  The default value is ‘nil’: if an input table has column
14767     names—because the second row is a horizontal rule—then Org removes
14768     the column names, processes the table, puts back the column names,
14769     and then writes the table to the results block.  Using ‘yes’, Org
14770     does the same to the first row, even if the initial table does not
14771     contain any horizontal rule.  When set to ‘no’, Org does not
14772     pre-process column names at all.
14773
14774          #+NAME: less-cols
14775          | a |
14776          |---|
14777          | b |
14778          | c |
14779
14780          #+BEGIN_SRC python :var tab=less-cols :colnames nil
14781            return [[val + '*' for val in row] for row in tab]
14782          #+END_SRC
14783
14784          #+RESULTS:
14785          | a  |
14786          |----|
14787          | b* |
14788          | c* |
14789
14790     Similarly, the ‘rownames’ header argument can take two values:
14791     ‘yes’ or ‘no’.  When set to ‘yes’, Org removes the first column,
14792     processes the table, puts back the first column, and then writes
14793     the table to the results block.  The default is ‘no’, which means
14794     Org does not pre-process the first column.  Note that Emacs Lisp
14795     code blocks ignore ‘rownames’ header argument because of the ease
14796     of table-handling in Emacs.
14797
14798          #+NAME: with-rownames
14799          | one | 1 | 2 | 3 | 4 |  5 |
14800          | two | 6 | 7 | 8 | 9 | 10 |
14801
14802          #+BEGIN_SRC python :var tab=with-rownames :rownames yes
14803            return [[val + 10 for val in row] for row in tab]
14804          #+END_SRC
14805
14806          #+RESULTS:
14807          | one | 11 | 12 | 13 | 14 | 15 |
14808          | two | 16 | 17 | 18 | 19 | 20 |
14809
14810list
14811     A simple named list.
14812
14813          #+NAME: example-list
14814          - simple
14815            - not
14816            - nested
14817          - list
14818
14819          #+BEGIN_SRC emacs-lisp :var x=example-list
14820            (print x)
14821          #+END_SRC
14822
14823          #+RESULTS:
14824          | simple | list |
14825
14826     Note that only the top level list items are passed along.  Nested
14827     list items are ignored.
14828
14829code block without arguments
14830     A code block name, as assigned by ‘NAME’ keyword from the example
14831     above, optionally followed by parentheses.
14832
14833          #+BEGIN_SRC emacs-lisp :var length=table-length()
14834            (* 2 length)
14835          #+END_SRC
14836
14837          #+RESULTS:
14838          : 8
14839
14840code block with arguments
14841     A code block name, as assigned by ‘NAME’ keyword, followed by
14842     parentheses and optional arguments passed within the parentheses.
14843
14844          #+NAME: double
14845          #+BEGIN_SRC emacs-lisp :var input=8
14846            (* 2 input)
14847          #+END_SRC
14848
14849          #+RESULTS: double
14850          : 16
14851
14852          #+NAME: squared
14853          #+BEGIN_SRC emacs-lisp :var input=double(input=1)
14854            (* input input)
14855          #+END_SRC
14856
14857          #+RESULTS: squared
14858          : 4
14859
14860literal example
14861     A literal example block named with a ‘NAME’ keyword.
14862
14863          #+NAME: literal-example
14864          #+BEGIN_EXAMPLE
14865            A literal example
14866            on two lines
14867          #+END_EXAMPLE
14868
14869          #+NAME: read-literal-example
14870          #+BEGIN_SRC emacs-lisp :var x=literal-example
14871            (concatenate #'string x " for you.")
14872          #+END_SRC
14873
14874          #+RESULTS: read-literal-example
14875          : A literal example
14876          : on two lines for you.
14877
14878   Indexing variable values enables referencing portions of a variable.
14879Indexes are 0 based with negative values counting backwards from the
14880end.  If an index is separated by commas then each subsequent section
14881indexes as the next dimension.  Note that this indexing occurs _before_
14882other table-related header arguments are applied, such as ‘hlines’,
14883‘colnames’ and ‘rownames’.  The following example assigns the last cell
14884of the first row the table ‘example-table’ to the variable ‘data’:
14885
14886     #+NAME: example-table
14887     | 1 | a |
14888     | 2 | b |
14889     | 3 | c |
14890     | 4 | d |
14891
14892     #+BEGIN_SRC emacs-lisp :var data=example-table[0,-1]
14893       data
14894     #+END_SRC
14895
14896     #+RESULTS:
14897     : a
14898
14899   Two integers separated by a colon reference a range of variable
14900values.  In that case the entire inclusive range is referenced.  For
14901example the following assigns the middle three rows of ‘example-table’
14902to ‘data’.
14903
14904     #+NAME: example-table
14905     | 1 | a |
14906     | 2 | b |
14907     | 3 | c |
14908     | 4 | d |
14909     | 5 | 3 |
14910
14911     #+BEGIN_SRC emacs-lisp :var data=example-table[1:3]
14912       data
14913     #+END_SRC
14914
14915     #+RESULTS:
14916     | 2 | b |
14917     | 3 | c |
14918     | 4 | d |
14919
14920   To pick the entire range, use an empty index, or the single character
14921‘*’.  ‘0:-1’ does the same thing.  Example below shows how to reference
14922the first column only.
14923
14924     #+NAME: example-table
14925     | 1 | a |
14926     | 2 | b |
14927     | 3 | c |
14928     | 4 | d |
14929
14930     #+BEGIN_SRC emacs-lisp :var data=example-table[,0]
14931       data
14932     #+END_SRC
14933
14934     #+RESULTS:
14935     | 1 | 2 | 3 | 4 |
14936
14937   Index referencing can be used for tables and code blocks.  Index
14938referencing can handle any number of dimensions.  Commas delimit
14939multiple dimensions, as shown below.
14940
14941     #+NAME: 3D
14942     #+BEGIN_SRC emacs-lisp
14943       '(((1  2  3)  (4  5  6)  (7  8  9))
14944         ((10 11 12) (13 14 15) (16 17 18))
14945         ((19 20 21) (22 23 24) (25 26 27)))
14946     #+END_SRC
14947
14948     #+BEGIN_SRC emacs-lisp :var data=3D[1,,1]
14949       data
14950     #+END_SRC
14951
14952     #+RESULTS:
14953     | 11 | 14 | 17 |
14954
14955   Note that row names and column names are not removed prior to
14956variable indexing.  You need to take them into account, even when
14957‘colnames’ or ‘rownames’ header arguments remove them.
14958
14959   Emacs lisp code can also set the values for variables.  To
14960differentiate a value from Lisp code, Org interprets any value starting
14961with ‘(’, ‘[’, ‘'’ or ‘`’ as Emacs Lisp code.  The result of evaluating
14962that code is then assigned to the value of that variable.  The following
14963example shows how to reliably query and pass the file name of the Org
14964mode buffer to a code block using headers.  We need reliability here
14965because the file’s name could change once the code in the block starts
14966executing.
14967
14968     #+BEGIN_SRC sh :var filename=(buffer-file-name) :exports both
14969       wc -w $filename
14970     #+END_SRC
14971
14972   Note that values read from tables and lists are not mistakenly
14973evaluated as Emacs Lisp code, as illustrated in the following example.
14974
14975     #+NAME: table
14976     | (a b c) |
14977
14978     #+HEADER: :var data=table[0,0]
14979     #+BEGIN_SRC perl
14980       $data
14981     #+END_SRC
14982
14983     #+RESULTS:
14984     : (a b c)
14985
14986Using sessions
14987--------------
14988
14989Two code blocks can share the same environment.  The ‘session’ header
14990argument is for running multiple source code blocks under one session.
14991Org runs code blocks with the same session name in the same interpreter
14992process.
14993
14994‘none’
14995     Default.  Each code block gets a new interpreter process to
14996     execute.  The process terminates once the block is evaluated.
14997
14998STRING
14999     Any string besides ‘none’ turns that string into the name of that
15000     session.  For example, ‘:session STRING’ names it ‘STRING’.  If
15001     ‘session’ has no value, then the session name is derived from the
15002     source language identifier.  Subsequent blocks with the same source
15003     code language use the same session.  Depending on the language,
15004     state variables, code from other blocks, and the overall
15005     interpreted environment may be shared.  Some interpreted languages
15006     support concurrent sessions when subsequent source code language
15007     blocks change session names.
15008
15009   Only languages that provide interactive evaluation can have session
15010support.  Not all languages provide this support, such as C and ditaa.
15011Even languages, such as Python and Haskell, that do support interactive
15012evaluation impose limitations on allowable language constructs that can
15013run interactively.  Org inherits those limitations for those code blocks
15014running in a session.
15015
15016Choosing a working directory
15017----------------------------
15018
15019The ‘dir’ header argument specifies the default directory during code
15020block execution.  If it is absent, then the directory associated with
15021the current buffer is used.  In other words, supplying ‘:dir DIRECTORY’
15022temporarily has the same effect as changing the current directory with
15023‘M-x cd <RET> DIRECTORY’, and then not setting ‘dir’.  Under the
15024surface, ‘dir’ simply sets the value of the Emacs variable
15025‘default-directory’.  Setting ‘mkdirp’ header argument to a non-‘nil’
15026value creates the directory, if necessary.
15027
15028   For example, to save the plot file in the ‘Work/’ folder of the home
15029directory—notice tilde is expanded:
15030
15031     #+BEGIN_SRC R :file myplot.png :dir ~/Work
15032       matplot(matrix(rnorm(100), 10), type="l")
15033     #+END_SRC
15034
15035   To evaluate the code block on a remote machine, supply a remote
15036directory name using Tramp syntax.  For example:
15037
15038     #+BEGIN_SRC R :file plot.png :dir /scp:dand@yakuba.princeton.edu:
15039       plot(1:10, main=system("hostname", intern=TRUE))
15040     #+END_SRC
15041
15042   Org first captures the text results as usual for insertion in the Org
15043file.  Then Org also inserts a link to the remote file, thanks to Emacs
15044Tramp.  Org constructs the remote path to the file name from ‘dir’ and
15045‘default-directory’, as illustrated here:
15046
15047     [[file:/scp:dand@yakuba.princeton.edu:/home/dand/plot.png][plot.png]]
15048
15049   When ‘dir’ is used with ‘session’, Org sets the starting directory
15050for a new session.  But Org does not alter the directory of an already
15051existing session.
15052
15053   Do not use ‘dir’ with ‘:exports results’ or with ‘:exports both’ to
15054avoid Org inserting incorrect links to remote files.  That is because
15055Org does not expand ‘default directory’ to avoid some underlying
15056portability issues.
15057
15058Inserting headers and footers
15059-----------------------------
15060
15061The ‘prologue’ header argument is for appending to the top of the code
15062block for execution, like a reset instruction.  For example, you may use
15063‘:prologue "reset"’ in a Gnuplot code block or, for every such block:
15064
15065     (add-to-list 'org-babel-default-header-args:gnuplot
15066                  '((:prologue . "reset")))
15067
15068
15069   Likewise, the value of the ‘epilogue’ header argument is for
15070appending to the end of the code block for execution.
15071
15072
15073File: org.info,  Node: Evaluating Code Blocks,  Next: Results of Evaluation,  Prev: Environment of a Code Block,  Up: Working with Source Code
15074
1507515.5 Evaluating Code Blocks
15076===========================
15077
15078A note about security: With code evaluation comes the risk of harm.  Org
15079safeguards by prompting for user’s permission before executing any code
15080in the source block.  To customize this safeguard, or disable it, see
15081*note Code Evaluation Security::.
15082
15083How to evaluate source code
15084---------------------------
15085
15086Org captures the results of the code block evaluation and inserts them
15087in the Org file, right after the code block.  The insertion point is
15088after a newline and the ‘RESULTS’ keyword.  Org creates the ‘RESULTS’
15089keyword if one is not already there.
15090
15091   By default, Org enables only Emacs Lisp code blocks for execution.
15092See *note Languages:: to enable other languages.
15093
15094   Org provides many ways to execute code blocks.  ‘C-c C-c’ or ‘C-c C-v
15095e’ with the point on a code block(1) calls the
15096‘org-babel-execute-src-block’ function, which executes the code in the
15097block, collects the results, and inserts them in the buffer.
15098
15099   By calling a named code block(2) from an Org mode buffer or a table.
15100Org can call the named code blocks from the current Org mode buffer or
15101from the “Library of Babel” (see *note Library of Babel::).
15102
15103   The syntax for ‘CALL’ keyword is:
15104
15105     #+CALL: <name>(<arguments>)
15106     #+CALL: <name>[<inside header arguments>](<arguments>) <end header arguments>
15107
15108   The syntax for inline named code blocks is:
15109
15110     ... call_<name>(<arguments>) ...
15111     ... call_<name>[<inside header arguments>](<arguments>)[<end header arguments>] ...
15112
15113   When inline syntax is used, the result is wrapped based on the
15114variable ‘org-babel-inline-result-wrap’, which by default is set to
15115‘"=%s="’ to produce verbatim text suitable for markup.
15116
15117‘<name>’
15118     This is the name of the code block (see *note Structure of Code
15119     Blocks::) to be evaluated in the current document.  If the block is
15120     located in another file, start ‘<name>’ with the file name followed
15121     by a colon.  For example, in order to execute a block named
15122     ‘clear-data’ in ‘file.org’, you can write the following:
15123
15124          #+CALL: file.org:clear-data()
15125
15126‘<arguments>’
15127     Org passes arguments to the code block using standard function call
15128     syntax.  For example, a ‘#+CALL:’ line that passes ‘4’ to a code
15129     block named ‘double’, which declares the header argument ‘:var
15130     n=2’, would be written as:
15131
15132          #+CALL: double(n=4)
15133
15134     Note how this function call syntax is different from the header
15135     argument syntax.
15136
15137‘<inside header arguments>’
15138     Org passes inside header arguments to the named code block using
15139     the header argument syntax.  Inside header arguments apply to code
15140     block evaluation.  For example, ‘[:results output]’ collects
15141     results printed to stdout during code execution of that block.
15142     Note how this header argument syntax is different from the function
15143     call syntax.
15144
15145‘<end header arguments>’
15146     End header arguments affect the results returned by the code block.
15147     For example, ‘:results html’ wraps the results in a ‘#+BEGIN_EXPORT
15148     html’ block before inserting the results in the Org buffer.
15149
15150Limit code block evaluation
15151---------------------------
15152
15153The ‘eval’ header argument can limit evaluation of specific code blocks
15154and ‘CALL’ keyword.  It is useful for protection against evaluating
15155untrusted code blocks by prompting for a confirmation.
15156
15157‘never’ or ‘no’
15158     Org never evaluates the source code.
15159
15160‘query’
15161     Org prompts the user for permission to evaluate the source code.
15162
15163‘never-export’ or ‘no-export’
15164     Org does not evaluate the source code when exporting, yet the user
15165     can evaluate it interactively.
15166
15167‘query-export’
15168     Org prompts the user for permission to evaluate the source code
15169     during export.
15170
15171   If ‘eval’ header argument is not set, then Org determines whether to
15172evaluate the source code from the ‘org-confirm-babel-evaluate’ variable
15173(see *note Code Evaluation Security::).
15174
15175Cache results of evaluation
15176---------------------------
15177
15178The ‘cache’ header argument is for caching results of evaluating code
15179blocks.  Caching results can avoid re-evaluating a code block that have
15180not changed since the previous run.  To benefit from the cache and avoid
15181redundant evaluations, the source block must have a result already
15182present in the buffer, and neither the header arguments—including the
15183value of ‘var’ references—nor the text of the block itself has changed
15184since the result was last computed.  This feature greatly helps avoid
15185long-running calculations.  For some edge cases, however, the cached
15186results may not be reliable.
15187
15188   The caching feature is best for when code blocks are pure functions,
15189that is functions that return the same value for the same input
15190arguments (see *note Environment of a Code Block::), and that do not
15191have side effects, and do not rely on external variables other than the
15192input arguments.  Functions that depend on a timer, file system objects,
15193and random number generators are clearly unsuitable for caching.
15194
15195   A note of warning: when ‘cache’ is used in a session, caching may
15196cause unexpected results.
15197
15198   When the caching mechanism tests for any source code changes, it does
15199not expand noweb style references (see *note Noweb Reference Syntax::).
15200
15201   The ‘cache’ header argument can have one of two values: ‘yes’ or
15202‘no’.
15203
15204‘no’
15205     Default.  No caching of results; code block evaluated every time.
15206
15207‘yes’
15208     Whether to run the code or return the cached results is determined
15209     by comparing the SHA1 hash value of the combined code block and
15210     arguments passed to it.  This hash value is packed on the
15211     ‘#+RESULTS:’ line from previous evaluation.  When hash values
15212     match, Org does not evaluate the code block.  When hash values
15213     mismatch, Org evaluates the code block, inserts the results,
15214     recalculates the hash value, and updates ‘#+RESULTS:’ line.
15215
15216   In this example, both functions are cached.  But ‘caller’ runs only
15217if the result from ‘random’ has changed since the last run.
15218
15219     #+NAME: random
15220     #+BEGIN_SRC R :cache yes
15221       runif(1)
15222     #+END_SRC
15223
15224     #+RESULTS[a2a72cd647ad44515fab62e144796432793d68e1]: random
15225     0.4659510825295
15226
15227     #+NAME: caller
15228     #+BEGIN_SRC emacs-lisp :var x=random :cache yes
15229       x
15230     #+END_SRC
15231
15232     #+RESULTS[bec9c8724e397d5df3b696502df3ed7892fc4f5f]: caller
15233     0.254227238707244
15234
15235   ---------- Footnotes ----------
15236
15237   (1) The option ‘org-babel-no-eval-on-ctrl-c-ctrl-c’ can be used to
15238remove code evaluation from the ‘C-c C-c’ key binding.
15239
15240   (2) Actually, the constructs ‘call_<name>()’ and ‘src_<lang>{}’ are
15241not evaluated when they appear in a keyword (see *note In-buffer
15242Settings::).
15243
15244
15245File: org.info,  Node: Results of Evaluation,  Next: Exporting Code Blocks,  Prev: Evaluating Code Blocks,  Up: Working with Source Code
15246
1524715.6 Results of Evaluation
15248==========================
15249
15250How Org handles results of a code block execution depends on many header
15251arguments working together.  The primary determinant, however, is the
15252‘results’ header argument.  It accepts four classes of options.  Each
15253code block can take only one option per class:
15254
15255Collection
15256     For how the results should be collected from the code block;
15257
15258Type
15259     For which type of result the code block will return; affects how
15260     Org processes and inserts results in the Org buffer;
15261
15262Format
15263     For the result; affects how Org processes results;
15264
15265Handling
15266     For inserting results once they are properly formatted.
15267
15268Collection
15269----------
15270
15271Collection options specify the results.  Choose one of the options; they
15272are mutually exclusive.
15273
15274‘value’
15275     Default for most Babel libraries(1).  Functional mode.  Org gets
15276     the value by wrapping the code in a function definition in the
15277     language of the source block.  That is why when using ‘:results
15278     value’, code should execute like a function and return a value.
15279     For languages like Python, an explicit ‘return’ statement is
15280     mandatory when using ‘:results value’.  Result is the value
15281     returned by the last statement in the code block.
15282
15283     When evaluating the code block in a session (see *note Environment
15284     of a Code Block::), Org passes the code to an interpreter running
15285     as an interactive Emacs inferior process.  Org gets the value from
15286     the source code interpreter’s last statement output.  Org has to
15287     use language-specific methods to obtain the value.  For example,
15288     from the variable ‘_’ in Ruby, and the value of ‘.Last.value’ in R.
15289
15290‘output’
15291     Scripting mode.  Org passes the code to an external process running
15292     the interpreter.  Org returns the contents of the standard output
15293     stream as text results.
15294
15295     When using a session, Org passes the code to the interpreter
15296     running as an interactive Emacs inferior process.  Org concatenates
15297     any text output from the interpreter and returns the collection as
15298     a result.
15299
15300Type
15301----
15302
15303Type tells what result types to expect from the execution of the code
15304block.  Choose one of the options; they are mutually exclusive.  The
15305default behavior is to automatically determine the result type.
15306
15307‘table’
15308‘vector’
15309     Interpret the results as an Org table.  If the result is a single
15310     value, create a table with one row and one column.  Usage example:
15311     ‘:results value table’.
15312
15313     In-between each table row or below the table headings, sometimes
15314     results have horizontal lines, which are also known as “hlines”.
15315     The ‘hlines’ argument with the default ‘no’ value strips such lines
15316     from the input table.  For most code, this is desirable, or else
15317     those ‘hline’ symbols raise unbound variable errors.  A ‘yes’
15318     accepts such lines, as demonstrated in the following example.
15319
15320          #+NAME: many-cols
15321          | a | b | c |
15322          |---+---+---|
15323          | d | e | f |
15324          |---+---+---|
15325          | g | h | i |
15326
15327          #+NAME: no-hline
15328          #+BEGIN_SRC python :var tab=many-cols :hlines no
15329            return tab
15330          #+END_SRC
15331
15332          #+RESULTS: no-hline
15333          | a | b | c |
15334          | d | e | f |
15335          | g | h | i |
15336
15337          #+NAME: hlines
15338          #+BEGIN_SRC python :var tab=many-cols :hlines yes
15339            return tab
15340          #+END_SRC
15341
15342          #+RESULTS: hlines
15343          | a | b | c |
15344          |---+---+---|
15345          | d | e | f |
15346          |---+---+---|
15347          | g | h | i |
15348
15349‘list’
15350     Interpret the results as an Org list.  If the result is a single
15351     value, create a list of one element.
15352
15353‘scalar’
15354‘verbatim’
15355     Interpret literally and insert as quoted text.  Do not create a
15356     table.  Usage example: ‘:results value verbatim’.
15357
15358‘file’
15359     Interpret as a filename.  Save the results of execution of the code
15360     block to that file, then insert a link to it.  You can control both
15361     the filename and the description associated to the link.
15362
15363     Org first tries to generate the filename from the value of the
15364     ‘file’ header argument and the directory specified using the
15365     ‘output-dir’ header arguments.  If ‘output-dir’ is not specified,
15366     Org assumes it is the current directory.
15367
15368          #+BEGIN_SRC asymptote :results value file :file circle.pdf :output-dir img/
15369            size(2cm);
15370            draw(unitcircle);
15371          #+END_SRC
15372
15373     If ‘file’ header argument is missing, Org generates the base name
15374     of the output file from the name of the code block, and its
15375     extension from the ‘file-ext’ header argument.  In that case, both
15376     the name and the extension are mandatory.
15377
15378          #+name: circle
15379          #+BEGIN_SRC asymptote :results value file :file-ext pdf
15380            size(2cm);
15381            draw(unitcircle);
15382          #+END_SRC
15383
15384     The ‘file-desc’ header argument defines the description (see *note
15385     Link Format::) for the link.  If ‘file-desc’ is present but has no
15386     value, the ‘file’ value is used as the link description.  When this
15387     argument is not present, the description is omitted.
15388
15389     By default, Org assumes that a table written to a file has
15390     TAB-delimited output.  You can choose a different separator with
15391     the ‘sep’ header argument.
15392
15393     The ‘file-mode’ header argument defines the file permissions.  To
15394     make it executable, use ‘:file-mode (identity #o755)’.
15395
15396          #+BEGIN_SRC shell :results file :file script.sh :file-mode (identity #o755)
15397            echo "#!/bin/bash"
15398            echo "echo Hello World"
15399          #+END_SRC
15400
15401Format
15402------
15403
15404Format pertains to the type of the result returned by the code block.
15405Choose one of the options; they are mutually exclusive.  The default
15406follows from the type specified above.
15407
15408‘code’
15409     Result enclosed in a code block.  Useful for parsing.  Usage
15410     example: ‘:results value code’.
15411
15412‘drawer’
15413     Result wrapped in a ‘RESULTS’ drawer.  Useful for containing ‘raw’
15414     or ‘org’ results for later scripting and automated processing.
15415     Usage example: ‘:results value drawer’.
15416
15417‘html’
15418     Results enclosed in a ‘BEGIN_EXPORT html’ block.  Usage example:
15419     ‘:results value html’.
15420
15421‘latex’
15422     Results enclosed in a ‘BEGIN_EXPORT latex’ block.  Usage example:
15423     ‘:results value latex’.
15424
15425‘link’
15426‘graphics’
15427     When used along with ‘file’ type, the result is a link to the file
15428     specified in ‘:file’ header argument.  However, unlike plain ‘file’
15429     type, nothing is written to the disk.  The block is used for its
15430     side-effects only, as in the following example:
15431
15432          #+begin_src shell :results file link :file "download.tar.gz"
15433          wget -c "http://example.com/download.tar.gz"
15434          #+end_src
15435
15436‘org’
15437     Results enclosed in a ‘BEGIN_SRC org’ block.  For comma-escape,
15438     either ‘<TAB>’ in the block, or export the file.  Usage example:
15439     ‘:results value org’.
15440
15441‘pp’
15442     Result converted to pretty-print source code.  Enclosed in a code
15443     block.  Languages supported: Emacs Lisp, Python, and Ruby.  Usage
15444     example: ‘:results value pp’.
15445
15446‘raw’
15447     Interpreted as raw Org mode.  Inserted directly into the buffer.
15448     Aligned if it is a table.  Usage example: ‘:results value raw’.
15449
15450   The ‘wrap’ header argument unconditionally marks the results block by
15451appending strings to ‘#+BEGIN_’ and ‘#+END_’.  If no string is
15452specified, Org wraps the results in a ‘#+BEGIN_results’ ...
15453‘#+END_results’ block.  It takes precedent over the ‘results’ value
15454listed above.  E.g.,
15455
15456     #+BEGIN_SRC emacs-lisp :results html :wrap EXPORT markdown
15457     "<blink>Welcome back to the 90's</blink>"
15458     #+END_SRC
15459
15460     #+RESULTS:
15461     #+BEGIN_EXPORT markdown
15462     <blink>Welcome back to the 90's</blink>
15463     #+END_EXPORT
15464
15465Handling
15466--------
15467
15468Handling options after collecting the results.
15469
15470‘silent’
15471     Do not insert results in the Org mode buffer, but echo them in the
15472     minibuffer.  Usage example: ‘:results output silent’.
15473
15474‘replace’
15475     Default.  Insert results in the Org buffer.  Remove previous
15476     results.  Usage example: ‘:results output replace’.
15477
15478‘append’
15479     Append results to the Org buffer.  Latest results are at the
15480     bottom.  Does not remove previous results.  Usage example:
15481     ‘:results output append’.
15482
15483‘prepend’
15484     Prepend results to the Org buffer.  Latest results are at the top.
15485     Does not remove previous results.  Usage example: ‘:results output
15486     prepend’.
15487
15488Post-processing
15489---------------
15490
15491The ‘post’ header argument is for post-processing results from block
15492evaluation.  When ‘post’ has any value, Org binds the results to
15493‘*this*’ variable for easy passing to ‘var’ header argument
15494specifications (see *note Environment of a Code Block::).  That makes
15495results available to other code blocks, or even for direct Emacs Lisp
15496code execution.
15497
15498   The following two examples illustrate ‘post’ header argument in
15499action.  The first one shows how to attach an ‘ATTR_LATEX’ keyword using
15500‘post’.
15501
15502     #+NAME: attr_wrap
15503     #+BEGIN_SRC sh :var data="" :var width="\\textwidth" :results output
15504       echo "#+ATTR_LATEX: :width $width"
15505       echo "$data"
15506     #+END_SRC
15507
15508     #+HEADER: :file /tmp/it.png
15509     #+BEGIN_SRC dot :post attr_wrap(width="5cm", data=*this*) :results drawer
15510       digraph{
15511               a -> b;
15512               b -> c;
15513               c -> a;
15514       }
15515     #+end_src
15516
15517     #+RESULTS:
15518     :RESULTS:
15519     #+ATTR_LATEX :width 5cm
15520     [[file:/tmp/it.png]]
15521     :END:
15522
15523   The second example shows use of ‘colnames’ header argument in ‘post’
15524to pass data between code blocks.
15525
15526     #+NAME: round-tbl
15527     #+BEGIN_SRC emacs-lisp :var tbl="" fmt="%.3f"
15528       (mapcar (lambda (row)
15529                 (mapcar (lambda (cell)
15530                           (if (numberp cell)
15531                               (format fmt cell)
15532                             cell))
15533                         row))
15534               tbl)
15535     #+end_src
15536
15537     #+BEGIN_SRC R :colnames yes :post round-tbl[:colnames yes](*this*)
15538       set.seed(42)
15539       data.frame(foo=rnorm(1))
15540     #+END_SRC
15541
15542     #+RESULTS:
15543     |   foo |
15544     |-------|
15545     | 1.371 |
15546
15547   ---------- Footnotes ----------
15548
15549   (1) Actually, the constructs ‘call_<name>()’ and ‘src_<lang>{}’ are
15550not evaluated when they appear in a keyword (see *note In-buffer
15551Settings::).
15552
15553
15554File: org.info,  Node: Exporting Code Blocks,  Next: Extracting Source Code,  Prev: Results of Evaluation,  Up: Working with Source Code
15555
1555615.7 Exporting Code Blocks
15557==========================
15558
15559It is possible to export the _code_ of code blocks, the _results_ of
15560code block evaluation, _both_ the code and the results of code block
15561evaluation, or _none_.  Org defaults to exporting _code_ for most
15562languages.  For some languages, such as ditaa, Org defaults to
15563_results_.  To export just the body of code blocks, see *note Literal
15564Examples::.  To selectively export sub-trees of an Org document, see
15565*note Exporting::.
15566
15567   The ‘exports’ header argument is to specify if that part of the Org
15568file is exported to, say, HTML or LaTeX formats.
15569
15570‘code’
15571     The default.  The body of code is included into the exported file.
15572     Example: ‘:exports code’.
15573
15574‘results’
15575     The results of evaluation of the code is included in the exported
15576     file.  Example: ‘:exports results’.
15577
15578‘both’
15579     Both the code and results of evaluation are included in the
15580     exported file.  Example: ‘:exports both’.
15581
15582‘none’
15583     Neither the code nor the results of evaluation is included in the
15584     exported file.  Whether the code is evaluated at all depends on
15585     other options.  Example: ‘:exports none’.
15586
15587   To stop Org from evaluating code blocks to speed exports, use the
15588header argument ‘:eval never-export’ (see *note Evaluating Code
15589Blocks::).  To stop Org from evaluating code blocks for greater
15590security, set the ‘org-export-use-babel’ variable to ‘nil’, but
15591understand that header arguments will have no effect.
15592
15593   Turning off evaluation comes in handy when batch processing.  For
15594example, markup languages for wikis, which have a high risk of untrusted
15595code.  Stopping code block evaluation also stops evaluation of all
15596header arguments of the code block.  This may not be desirable in some
15597circumstances.  So during export, to allow evaluation of just the header
15598arguments but not any code evaluation in the source block, set ‘:eval
15599never-export’ (see *note Evaluating Code Blocks::).
15600
15601   Org never evaluates code blocks in commented sub-trees when exporting
15602(see *note Comment Lines::).  On the other hand, Org does evaluate code
15603blocks in sub-trees excluded from export (see *note Export Settings::).
15604
15605
15606File: org.info,  Node: Extracting Source Code,  Next: Languages,  Prev: Exporting Code Blocks,  Up: Working with Source Code
15607
1560815.8 Extracting Source Code
15609===========================
15610
15611Extracting source code from code blocks is a basic task in literate
15612programming.  Org has features to make this easy.  In literate
15613programming parlance, documents on creation are _woven_ with code and
15614documentation, and on export, the code is tangled for execution by a
15615computer.  Org facilitates weaving and tangling for producing,
15616maintaining, sharing, and exporting literate programming documents.  Org
15617provides extensive customization options for extracting source code.
15618
15619   When Org tangles code blocks, it expands, merges, and transforms
15620them.  Then Org recomposes them into one or more separate files, as
15621configured through the options.  During this tangling process, Org
15622expands variables in the source code, and resolves any noweb style
15623references (see *note Noweb Reference Syntax::).
15624
15625Header arguments
15626----------------
15627
15628The ‘tangle’ header argument specifies if the code block is exported to
15629source file(s).
15630
15631‘yes’
15632     Export the code block to source file.  The file name for the source
15633     file is derived from the name of the Org file, and the file
15634     extension is derived from the source code language identifier.
15635     Example: ‘:tangle yes’.
15636
15637‘no’
15638     The default.  Do not extract the code in a source code file.
15639     Example: ‘:tangle no’.
15640
15641FILENAME
15642     Export the code block to source file whose file name is derived
15643     from any string passed to the ‘tangle’ header argument.  Org
15644     derives the file name as being relative to the directory of the Org
15645     file’s location.  Example: ‘:tangle FILENAME’.
15646
15647   The ‘mkdirp’ header argument creates parent directories for tangled
15648files if the directory does not exist.  A ‘yes’ value enables directory
15649creation whereas ‘no’ inhibits it.
15650
15651   The ‘comments’ header argument controls inserting comments into
15652tangled files.  These are above and beyond whatever comments may already
15653exist in the code block.
15654
15655‘no’
15656     The default.  Do not insert any extra comments during tangling.
15657
15658‘link’
15659     Wrap the code block in comments.  Include links pointing back to
15660     the place in the Org file from where the code was tangled.
15661
15662‘yes’
15663     Kept for backward compatibility; same as ‘link’.
15664
15665‘org’
15666     Nearest headline text from Org file is inserted as comment.  The
15667     exact text that is inserted is picked from the leading context of
15668     the source block.
15669
15670‘both’
15671     Includes both ‘link’ and ‘org’ options.
15672
15673‘noweb’
15674     Includes ‘link’ option, expands noweb references (see *note Noweb
15675     Reference Syntax::), and wraps them in link comments inside the
15676     body of the code block.
15677
15678   The ‘padline’ header argument controls insertion of newlines to pad
15679source code in the tangled file.
15680
15681‘yes’
15682     Default.  Insert a newline before and after each code block in the
15683     tangled file.
15684
15685‘no’
15686     Do not insert newlines to pad the tangled code blocks.
15687
15688   The ‘shebang’ header argument can turn results into executable script
15689files.  By setting it to a string value—for example, ‘:shebang
15690"#!/bin/bash"’—Org inserts that string as the first line of the tangled
15691file that the code block is extracted to.  Org then turns on the tangled
15692file’s executable permission.
15693
15694   The ‘tangle-mode’ header argument specifies what permissions to set
15695for tangled files by ‘set-file-modes’.  For example, to make a read-only
15696tangled file, use ‘:tangle-mode (identity #o444)’.  To make it
15697executable, use ‘:tangle-mode (identity #o755)’.  It also overrides
15698executable permission granted by ‘shebang’.  When multiple source code
15699blocks tangle to a single file with different and conflicting
15700‘tangle-mode’ header arguments, Org’s behavior is undefined.
15701
15702   By default Org expands code blocks during tangling.  The ‘no-expand’
15703header argument turns off such expansions.  Note that one side-effect of
15704expansion by ‘org-babel-expand-src-block’ also assigns values (see *note
15705Environment of a Code Block::) to variables.  Expansions also replace
15706noweb references with their targets (see *note Noweb Reference
15707Syntax::).  Some of these expansions may cause premature assignment,
15708hence this option.  This option makes a difference only for tangling.
15709It has no effect when exporting since code blocks for execution have to
15710be expanded anyway.
15711
15712Functions
15713---------
15714
15715‘org-babel-tangle’
15716     Tangle the current file.  Bound to ‘C-c C-v t’.
15717
15718     With prefix argument only tangle the current code block.
15719
15720‘org-babel-tangle-file’
15721     Choose a file to tangle.  Bound to ‘C-c C-v f’.
15722
15723Hooks
15724-----
15725
15726‘org-babel-post-tangle-hook’
15727     This hook is run from within code files tangled by
15728     ‘org-babel-tangle’, making it suitable for post-processing,
15729     compilation, and evaluation of code in the tangled files.
15730
15731Jumping between code and Org
15732----------------------------
15733
15734Debuggers normally link errors and messages back to the source code.
15735But for tangled files, we want to link back to the Org file, not to the
15736tangled source file.  To make this extra jump, Org uses
15737‘org-babel-tangle-jump-to-org’ function with two additional source code
15738block header arguments:
15739
15740  1. Set ‘padline’ to true—this is the default setting.
15741  2. Set ‘comments’ to ‘link’, which makes Org insert links to the Org
15742     file.
15743
15744
15745File: org.info,  Node: Languages,  Next: Editing Source Code,  Prev: Extracting Source Code,  Up: Working with Source Code
15746
1574715.9 Languages
15748==============
15749
15750Code blocks in the following languages are supported.
15751
15752Language           Identifier         Language           Identifier
15753------------------------------------------------------------------------
15754Asymptote          ‘asymptote’        Lisp               ‘lisp’
15755Awk                ‘awk’              Lua                ‘lua’
15756C                  ‘C’                MATLAB             ‘matlab’
15757C++                ‘C++’(1)           Mscgen             ‘mscgen’
15758Clojure            ‘clojure’          Objective Caml     ‘ocaml’
15759CSS                ‘css’              Octave             ‘octave’
15760D                  ‘D’(2)             Org mode           ‘org’
15761ditaa              ‘ditaa’            Oz                 ‘oz’
15762Emacs Calc         ‘calc’             Perl               ‘perl’
15763Emacs Lisp         ‘emacs-lisp’       Plantuml           ‘plantuml’
15764Eshell             ‘eshell’           Processing.js      ‘processing’
15765Fortran            ‘fortran’          Python             ‘python’
15766Gnuplot            ‘gnuplot’          R                  ‘R’
15767GNU Screen         ‘screen’           Ruby               ‘ruby’
15768Graphviz           ‘dot’              Sass               ‘sass’
15769Haskell            ‘haskell’          Scheme             ‘scheme’
15770Java               ‘java’             Sed                ‘sed’
15771Javascript         ‘js’               shell              ‘sh’
15772LaTeX              ‘latex’            SQL                ‘sql’
15773Ledger             ‘ledger’           SQLite             ‘sqlite’
15774Lilypond           ‘lilypond’         Vala               ‘vala’
15775
15776   Additional documentation for some languages is at
15777<https://orgmode.org/worg/org-contrib/babel/languages.html>.
15778
15779   By default, only Emacs Lisp is enabled for evaluation.  To enable or
15780disable other languages, customize the ‘org-babel-load-languages’
15781variable either through the Emacs customization interface, or by adding
15782code to the init file as shown next.
15783
15784   In this example, evaluation is disabled for Emacs Lisp, and enabled
15785for R.
15786
15787     (org-babel-do-load-languages
15788      'org-babel-load-languages
15789      '((emacs-lisp . nil)
15790        (R . t)))
15791
15792   Note that this is not the only way to enable a language.  Org also
15793enables languages when loaded with ‘require’ statement.  For example,
15794the following enables execution of Clojure code blocks:
15795
15796     (require 'ob-clojure)
15797
15798   ---------- Footnotes ----------
15799
15800   (1) C++ language is handled in ‘ob-C.el’.  Even though the identifier
15801for such source blocks is ‘C++’, you activate it by loading the C
15802language.
15803
15804   (2) D language is handled in ‘ob-C.el’.  Even though the identifier
15805for such source blocks is ‘D’, you activate it by loading the C
15806language.
15807
15808
15809File: org.info,  Node: Editing Source Code,  Next: Noweb Reference Syntax,  Prev: Languages,  Up: Working with Source Code
15810
1581115.10 Editing Source Code
15812=========================
15813
15814Use ‘C-c '’ to edit the current code block.  It opens a new major mode
15815edit buffer containing the body of the source code block, ready for any
15816edits.  Use ‘C-c '’ again to close the buffer and return to the Org
15817buffer.
15818
15819   ‘C-x C-s’ saves the buffer and updates the contents of the Org
15820buffer.  Set ‘org-edit-src-auto-save-idle-delay’ to save the base buffer
15821after a certain idle delay time.  Set ‘org-edit-src-turn-on-auto-save’
15822to auto-save this buffer into a separate file using Auto-save mode.
15823
15824   While editing the source code in the major mode, the Org Src minor
15825mode remains active.  It provides these customization variables as
15826described below.  For even more variables, look in the customization
15827group ‘org-edit-structure’.
15828
15829‘org-src-lang-modes’
15830     If an Emacs major-mode named ‘<LANG>-mode’ exists, where <LANG> is
15831     the language identifier from code block’s header line, then the
15832     edit buffer uses that major mode.  Use this variable to arbitrarily
15833     map language identifiers to major modes.
15834
15835‘org-src-window-setup’
15836     For specifying Emacs window arrangement when the new edit buffer is
15837     created.
15838
15839‘org-src-preserve-indentation’
15840     Default is ‘nil’.  Source code is indented.  This indentation
15841     applies during export or tangling, and depending on the context,
15842     may alter leading spaces and tabs.  When non-‘nil’, source code is
15843     aligned with the leftmost column.  No lines are modified during
15844     export or tangling, which is very useful for white-space sensitive
15845     languages, such as Python.
15846
15847‘org-src-ask-before-returning-to-edit-buffer’
15848     When ‘nil’, Org returns to the edit buffer without further prompts.
15849     The default prompts for a confirmation.
15850
15851   Set ‘org-src-fontify-natively’ to non-‘nil’ to turn on native code
15852fontification in the _Org_ buffer.  Fontification of code blocks can
15853give visual separation of text and code on the display page.  To further
15854customize the appearance of ‘org-block’ for specific languages,
15855customize ‘org-src-block-faces’.  The following example shades the
15856background of regular blocks, and colors source blocks only for Python
15857and Emacs Lisp languages.
15858
15859     (require 'color)
15860     (set-face-attribute 'org-block nil :background
15861                         (color-darken-name
15862                          (face-attribute 'default :background) 3))
15863
15864     (setq org-src-block-faces '(("emacs-lisp" (:background "#EEE2FF"))
15865                                 ("python" (:background "#E5FFB8"))))
15866
15867
15868File: org.info,  Node: Noweb Reference Syntax,  Next: Library of Babel,  Prev: Editing Source Code,  Up: Working with Source Code
15869
1587015.11 Noweb Reference Syntax
15871============================
15872
15873Source code blocks can include references to other source code blocks,
15874using a noweb(1) style syntax:
15875
15876     <<CODE-BLOCK-ID>>
15877
15878where CODE-BLOCK-ID refers to either the ‘NAME’ of a single source code
15879block, or a collection of one or more source code blocks sharing the
15880same ‘noweb-ref’ header argument (see *note Using Header Arguments::).
15881Org can replace such references with the source code of the block or
15882blocks being referenced, or, in the case of a single source code block
15883named with ‘NAME’, with the results of an evaluation of that block.
15884
15885   The ‘noweb’ header argument controls expansion of noweb syntax
15886references.  Expansions occur when source code blocks are evaluated,
15887tangled, or exported.
15888
15889‘no’
15890     Default.  No expansion of noweb syntax references in the body of
15891     the code when evaluating, tangling, or exporting.
15892
15893‘yes’
15894     Expansion of noweb syntax references in the body of the code block
15895     when evaluating, tangling, or exporting.
15896
15897‘tangle’
15898     Expansion of noweb syntax references in the body of the code block
15899     when tangling.  No expansion when evaluating or exporting.
15900
15901‘no-export’
15902     Expansion of noweb syntax references in the body of the code block
15903     when evaluating or tangling.  No expansion when exporting.
15904
15905‘strip-export’
15906     Expansion of noweb syntax references in the body of the code block
15907     when expanding prior to evaluating or tangling.  Removes noweb
15908     syntax references when exporting.
15909
15910‘eval’
15911     Expansion of noweb syntax references in the body of the code block
15912     only before evaluating.
15913
15914   In the most simple case, the contents of a single source block is
15915inserted within other blocks.  Thus, in following example,
15916
15917     #+NAME: initialization
15918     #+BEGIN_SRC emacs-lisp
15919       (setq sentence "Never a foot too far, even.")
15920     #+END_SRC
15921
15922     #+BEGIN_SRC emacs-lisp :noweb yes
15923       <<initialization>>
15924       (reverse sentence)
15925     #+END_SRC
15926
15927the second code block is expanded as
15928
15929     #+BEGIN_SRC emacs-lisp :noweb yes
15930       (setq sentence "Never a foot too far, even.")
15931       (reverse sentence)
15932     #+END_SRC
15933
15934   You may also include the contents of multiple blocks sharing a common
15935‘noweb-ref’ header argument, which can be set at the file, sub-tree, or
15936code block level.  In the example Org file shown next, the body of the
15937source code in each block is extracted for concatenation to a pure code
15938file when tangled.
15939
15940     #+BEGIN_SRC sh :tangle yes :noweb yes :shebang #!/bin/sh
15941       <<fullest-disk>>
15942     #+END_SRC
15943     * the mount point of the fullest disk
15944       :PROPERTIES:
15945       :header-args: :noweb-ref fullest-disk
15946       :END:
15947
15948     ** query all mounted disks
15949     #+BEGIN_SRC sh
15950       df \
15951     #+END_SRC
15952
15953     ** strip the header row
15954     #+BEGIN_SRC sh
15955       |sed '1d' \
15956     #+END_SRC
15957
15958     ** output mount point of fullest disk
15959     #+BEGIN_SRC sh
15960       |awk '{if (u < +$5) {u = +$5; m = $6}} END {print m}'
15961     #+END_SRC
15962
15963   By default a newline separates each noweb reference concatenation.
15964To use a different separator, edit the ‘noweb-sep’ header argument.
15965
15966   Alternatively, Org can include the results of evaluation of a single
15967code block rather than its body.  Evaluation occurs when parentheses,
15968possibly including arguments, are appended to the code block name, as
15969shown below.
15970
15971     <<NAME(optional arguments)>>
15972
15973   Note that in this case, a code block name set by ‘NAME’ keyword is
15974required; the reference set by ‘noweb-ref’ will not work when evaluation
15975is desired.
15976
15977   Here is an example that demonstrates how the exported content changes
15978when noweb style references are used with parentheses versus without.
15979Given:
15980
15981     #+NAME: some-code
15982     #+BEGIN_SRC python :var num=0 :results output :exports none
15983       print(num*10)
15984     #+END_SRC
15985
15986this code block:
15987
15988     #+BEGIN_SRC text :noweb yes
15989       <<some-code>>
15990     #+END_SRC
15991
15992expands to:
15993
15994     print(num*10)
15995
15996   Below, a similar noweb style reference is used, but with parentheses,
15997while setting a variable ‘num’ to 10:
15998
15999     #+BEGIN_SRC text :noweb yes
16000       <<some-code(num=10)>>
16001     #+END_SRC
16002
16003Note that the expansion now contains the results of the code block
16004‘some-code’, not the code block itself:
16005
16006     100
16007
16008   Noweb insertions honor prefix characters that appear before the noweb
16009syntax reference.  This behavior is illustrated in the following
16010example.  Because the ‘<<example>>’ noweb reference appears behind the
16011SQL comment syntax, each line of the expanded noweb reference is
16012commented.  With:
16013
16014     #+NAME: example
16015     #+BEGIN_SRC text
16016       this is the
16017       multi-line body of example
16018     #+END_SRC
16019
16020this code block:
16021
16022     #+BEGIN_SRC sql :noweb yes
16023      ---<<example>>
16024     #+END_SRC
16025
16026expands to:
16027
16028     #+BEGIN_SRC sql :noweb yes
16029      ---this is the
16030      ---multi-line body of example
16031     #+END_SRC
16032
16033   Since this change does not affect noweb replacement text without
16034newlines in them, inline noweb references are acceptable.
16035
16036   This feature can also be used for management of indentation in
16037exported code snippets.  With:
16038
16039     #+NAME: if-true
16040     #+BEGIN_SRC python :exports none
16041       print('do things when true')
16042     #+end_src
16043
16044     #+name: if-false
16045     #+begin_src python :exports none
16046       print('do things when false')
16047     #+end_src
16048
16049this code block:
16050
16051     #+begin_src python :noweb yes :results output
16052       if true:
16053           <<if-true>>
16054       else:
16055           <<if-false>>
16056     #+end_src
16057
16058expands to:
16059
16060     if true:
16061         print('do things when true')
16062     else:
16063         print('do things when false')
16064
16065   When in doubt about the outcome of a source code block expansion, you
16066can preview the results with the following command:
16067
16068‘C-c C-v v’ or ‘C-c C-v C-v’ (‘org-babel-expand-src-block’)
16069     Expand the current source code block according to its header
16070     arguments and pop open the results in a preview buffer.
16071
16072   ---------- Footnotes ----------
16073
16074   (1) For noweb literate programming details, see
16075<http://www.cs.tufts.edu/~nr/noweb/>.
16076
16077
16078File: org.info,  Node: Library of Babel,  Next: Key bindings and Useful Functions,  Prev: Noweb Reference Syntax,  Up: Working with Source Code
16079
1608015.12 Library of Babel
16081======================
16082
16083The “Library of Babel” is a collection of code blocks.  Like a function
16084library, these code blocks can be called from other Org files.  A
16085collection of useful code blocks is available on Worg
16086(https://orgmode.org/worg/library-of-babel.html).  For remote code block
16087evaluation syntax, see *note Evaluating Code Blocks::.
16088
16089   For any user to add code to the library, first save the code in
16090regular code blocks of an Org file, and then load the Org file with
16091‘org-babel-lob-ingest’, which is bound to ‘C-c C-v i’.
16092
16093
16094File: org.info,  Node: Key bindings and Useful Functions,  Next: Batch Execution,  Prev: Library of Babel,  Up: Working with Source Code
16095
1609615.13 Key bindings and Useful Functions
16097=======================================
16098
16099Many common Org mode key sequences are re-bound depending on the
16100context.
16101
16102   Active key bindings in code blocks:
16103
16104Key binding    Function
16105--------------------------------------------------------
16106‘C-c C-c’      ‘org-babel-execute-src-block’
16107‘C-c C-o’      ‘org-babel-open-src-block-result’
16108‘M-<UP>’       ‘org-babel-load-in-session’
16109‘M-<DOWN>’     ‘org-babel-pop-to-session’
16110
16111   Active key bindings in Org mode buffer:
16112
16113Key binding                      Function
16114--------------------------------------------------------------------------
16115‘C-c C-v p’ or ‘C-c C-v C-p’     ‘org-babel-previous-src-block’
16116‘C-c C-v n’ or ‘C-c C-v C-n’     ‘org-babel-next-src-block’
16117‘C-c C-v e’ or ‘C-c C-v C-e’     ‘org-babel-execute-maybe’
16118‘C-c C-v o’ or ‘C-c C-v C-o’     ‘org-babel-open-src-block-result’
16119‘C-c C-v v’ or ‘C-c C-v C-v’     ‘org-babel-expand-src-block’
16120‘C-c C-v u’ or ‘C-c C-v C-u’     ‘org-babel-goto-src-block-head’
16121‘C-c C-v g’ or ‘C-c C-v C-g’     ‘org-babel-goto-named-src-block’
16122‘C-c C-v r’ or ‘C-c C-v C-r’     ‘org-babel-goto-named-result’
16123‘C-c C-v b’ or ‘C-c C-v C-b’     ‘org-babel-execute-buffer’
16124‘C-c C-v s’ or ‘C-c C-v C-s’     ‘org-babel-execute-subtree’
16125‘C-c C-v d’ or ‘C-c C-v C-d’     ‘org-babel-demarcate-block’
16126‘C-c C-v t’ or ‘C-c C-v C-t’     ‘org-babel-tangle’
16127‘C-c C-v f’ or ‘C-c C-v C-f’     ‘org-babel-tangle-file’
16128‘C-c C-v c’ or ‘C-c C-v C-c’     ‘org-babel-check-src-block’
16129‘C-c C-v j’ or ‘C-c C-v C-j’     ‘org-babel-insert-header-arg’
16130‘C-c C-v l’ or ‘C-c C-v C-l’     ‘org-babel-load-in-session’
16131‘C-c C-v i’ or ‘C-c C-v C-i’     ‘org-babel-lob-ingest’
16132‘C-c C-v I’ or ‘C-c C-v C-I’     ‘org-babel-view-src-block-info’
16133‘C-c C-v z’ or ‘C-c C-v C-z’     ‘org-babel-switch-to-session-with-code’
16134‘C-c C-v a’ or ‘C-c C-v C-a’     ‘org-babel-sha1-hash’
16135‘C-c C-v h’ or ‘C-c C-v C-h’     ‘org-babel-describe-bindings’
16136‘C-c C-v x’ or ‘C-c C-v C-x’     ‘org-babel-do-key-sequence-in-edit-buffer’
16137
16138
16139File: org.info,  Node: Batch Execution,  Prev: Key bindings and Useful Functions,  Up: Working with Source Code
16140
1614115.14 Batch Execution
16142=====================
16143
16144Org mode features, including working with source code facilities can be
16145invoked from the command line.  This enables building shell scripts for
16146batch processing, running automated system tasks, and expanding Org
16147mode’s usefulness.
16148
16149   The sample script shows batch processing of multiple files using
16150‘org-babel-tangle’.
16151
16152     #!/bin/sh
16153     # Tangle files with Org mode
16154     #
16155     emacs -Q --batch --eval "
16156         (progn
16157           (require 'ob-tangle)
16158           (dolist (file command-line-args-left)
16159             (with-current-buffer (find-file-noselect file)
16160               (org-babel-tangle))))
16161       " "$@"
16162
16163
16164File: org.info,  Node: Miscellaneous,  Next: Hacking,  Prev: Working with Source Code,  Up: Top
16165
1616616 Miscellaneous
16167****************
16168
16169* Menu:
16170
16171* Completion::                   ‘M-<TAB>’ guesses completions.
16172* Structure Templates::          Quick insertion of structural elements.
16173* Speed Keys::                   Electric commands at the beginning of a headline.
16174* Clean View::                   Getting rid of leading stars in the outline.
16175* Execute commands in the active region:: Execute commands on multiple items in Org or agenda view.
16176* Dynamic Headline Numbering::   Display and update outline numbering.
16177* The Very Busy C-c C-c Key:: When in doubt, press ‘C-c C-c’.
16178* In-buffer Settings::           Overview of keywords.
16179* Org Syntax::                   Formal description of Org’s syntax.
16180* Documentation Access::         Read documentation about current syntax.
16181* Escape Character::             Prevent Org from interpreting your writing.
16182* Code Evaluation Security::     Org files evaluate in-line code.
16183* Interaction::                  With other Emacs packages.
16184* TTY Keys::                     Using Org on a tty.
16185* Protocols::                    External access to Emacs and Org.
16186* Org Crypt::                    Encrypting Org files.
16187* Org Mobile::                   Viewing and capture on a mobile device.
16188
16189
16190File: org.info,  Node: Completion,  Next: Structure Templates,  Up: Miscellaneous
16191
1619216.1 Completion
16193===============
16194
16195Org has in-buffer completions.  Unlike minibuffer completions, which are
16196useful for quick command interactions, Org’s in-buffer completions are
16197more suitable for content creation in Org documents.  Type one or more
16198letters and invoke the hot key to complete the text in-place.  Depending
16199on the context and the keys, Org offers different types of completions.
16200No minibuffer is involved.  Such mode-specific hot keys have become an
16201integral part of Emacs and Org provides several shortcuts.
16202
16203‘M-<TAB>’
16204
16205     Complete word at point.
16206
16207        • At the beginning of an empty headline, complete TODO keywords.
16208
16209        • After ‘\’, complete TeX symbols supported by the exporter.
16210
16211        • After ‘:’ in a headline, complete tags.  Org deduces the list
16212          of tags from the ‘TAGS’ in-buffer option (see *note Setting
16213          Tags::), the variable ‘org-tag-alist’, or from all tags used
16214          in the current buffer.
16215
16216        • After ‘:’ and not in a headline, complete property keys.  The
16217          list of keys is constructed dynamically from all keys used in
16218          the current buffer.
16219
16220        • After ‘[[’, complete link abbreviations (see *note Link
16221          Abbreviations::).
16222
16223        • After ‘[[*’, complete headlines in the current buffer so that
16224          they can be used in search links like: ‘[[*find this
16225          headline]]’
16226
16227        • After ‘#+’, complete the special keywords like ‘TYP_TODO’ or
16228          file-specific ‘OPTIONS’.  After option keyword is complete,
16229          pressing ‘M-<TAB>’ again inserts example settings for this
16230          keyword.
16231
16232        • After ‘STARTUP’ keyword, complete startup items.
16233
16234        • When point is anywhere else, complete dictionary words using
16235          Ispell.
16236
16237
16238File: org.info,  Node: Structure Templates,  Next: Speed Keys,  Prev: Completion,  Up: Miscellaneous
16239
1624016.2 Structure Templates
16241========================
16242
16243With just a few keystrokes, it is possible to insert empty structural
16244blocks, such as ‘#+BEGIN_SRC’ ... ‘#+END_SRC’, or to wrap existing text
16245in such a block.
16246
16247‘C-c C-,’ (‘org-insert-structure-template’)
16248     Prompt for a type of block structure, and insert the block at
16249     point.  If the region is active, it is wrapped in the block.  First
16250     prompts the user for keys, which are used to look up a structure
16251     type from the variable below.  If the key is ‘<TAB>’, ‘<RET>’, or
16252     ‘<SPC>’, the user is prompted to enter a block type.
16253
16254   Available structure types are defined in
16255‘org-structure-template-alist’, see the docstring for adding or changing
16256values.
16257
16258   Org Tempo expands snippets to structures defined in
16259‘org-structure-template-alist’ and ‘org-tempo-keywords-alist’.  For
16260example, ‘< s <TAB>’ creates a code block.  Enable it by customizing
16261‘org-modules’ or add ‘(require 'org-tempo)’ to your Emacs init file(1).
16262
16263‘a’     ‘#+BEGIN_EXPORT ascii’ ... ‘#+END_EXPORT’
16264‘c’     ‘#+BEGIN_CENTER’ ... ‘#+END_CENTER’
16265‘C’     ‘#+BEGIN_COMMENT’ ... ‘#+END_COMMENT’
16266‘e’     ‘#+BEGIN_EXAMPLE’ ... ‘#+END_EXAMPLE’
16267‘E’     ‘#+BEGIN_EXPORT’ ... ‘#+END_EXPORT’
16268‘h’     ‘#+BEGIN_EXPORT html’ ... ‘#+END_EXPORT’
16269‘l’     ‘#+BEGIN_EXPORT latex’ ... ‘#+END_EXPORT’
16270‘q’     ‘#+BEGIN_QUOTE’ ... ‘#+END_QUOTE’
16271‘s’     ‘#+BEGIN_SRC’ ... ‘#+END_SRC’
16272‘v’     ‘#+BEGIN_VERSE’ ... ‘#+END_VERSE’
16273
16274   ---------- Footnotes ----------
16275
16276   (1) For more information, please refer to the commentary section in
16277org-tempo.el’.
16278
16279
16280File: org.info,  Node: Speed Keys,  Next: Clean View,  Prev: Structure Templates,  Up: Miscellaneous
16281
1628216.3 Speed Keys
16283===============
16284
16285Single keystrokes can execute custom commands in an Org file when point
16286is on a headline.  Without the extra burden of a meta or modifier key,
16287Speed Keys can speed navigation or execute custom commands.  Besides
16288faster navigation, Speed Keys may come in handy on small mobile devices
16289that do not have full keyboards.  Speed Keys may also work on TTY
16290devices known for their problems when entering Emacs key chords.
16291
16292   By default, Org has Speed Keys disabled.  To activate Speed Keys, set
16293the variable ‘org-use-speed-commands’ to a non-‘nil’ value.  To trigger
16294a Speed Key, point must be at the beginning of an Org headline, before
16295any of the stars.
16296
16297   Org comes with a pre-defined list of Speed Keys.  To add or modify
16298Speed Keys, customize the variable, ‘org-speed-commands-user’.  For more
16299details, see the variable’s docstring.  With Speed Keys activated, ‘M-x
16300org-speed-command-help’, or ‘?’ when point is at the beginning of an Org
16301headline, shows currently active Speed Keys, including the user-defined
16302ones.
16303
16304
16305File: org.info,  Node: Clean View,  Next: Execute commands in the active region,  Prev: Speed Keys,  Up: Miscellaneous
16306
1630716.4 A Cleaner Outline View
16308===========================
16309
16310Org’s outline with stars and no indents can look cluttered for short
16311documents.  For _book-like_ long documents, the effect is not as
16312noticeable.  Org provides an alternate stars and indentation scheme, as
16313shown on the right in the following table.  It displays only one star
16314and indents text to line up with the heading:
16315
16316     * Top level headline             |    * Top level headline
16317     ** Second level                  |      * Second level
16318     *** Third level                  |        * Third level
16319     some text                        |          some text
16320     *** Third level                  |        * Third level
16321     more text                        |          more text
16322     * Another top level headline     |    * Another top level headline
16323
16324   Org can achieve this in two ways, (1) by just displaying the buffer
16325in this way without changing it, or (2) by actually indenting every line
16326in the desired amount with hard spaces and hiding leading stars.
16327
16328* Menu:
16329
16330* Org Indent Mode::
16331* Hard indentation::
16332
16333
16334File: org.info,  Node: Org Indent Mode,  Next: Hard indentation,  Up: Clean View
16335
1633616.4.1 Org Indent Mode
16337----------------------
16338
16339To display the buffer in the indented view, activate Org Indent minor
16340mode, using ‘M-x org-indent-mode’.  Text lines that are not headlines
16341are prefixed with virtual spaces to vertically align with the headline
16342text(1).
16343
16344   To make more horizontal space, the headlines are shifted by two
16345characters.  Configure ‘org-indent-indentation-per-level’ variable for a
16346different number.
16347
16348   By default, Org Indent mode turns off ‘org-adapt-indentation’ and
16349does hide leading stars by locally setting ‘org-hide-leading-stars’ to
16350‘t’: only one star on each headline is visible, the rest are masked with
16351the same font color as the background.  If you want to customize this
16352default behavior, see ‘org-indent-mode-turns-on-hiding-stars’ and
16353‘org-indent-mode-turns-off-org-adapt-indentation’.
16354
16355   To globally turn on Org Indent mode for all files, customize the
16356variable ‘org-startup-indented’.  To control it for individual files,
16357use ‘STARTUP’ keyword as follows:
16358
16359     #+STARTUP: indent
16360     #+STARTUP: noindent
16361
16362   ---------- Footnotes ----------
16363
16364   (1) Org Indent mode also sets ‘wrap-prefix’ correctly for indenting
16365and wrapping long lines of headlines or text.  This minor mode also
16366handles Visual Line mode and directly applied settings through
16367‘word-wrap’.
16368
16369
16370File: org.info,  Node: Hard indentation,  Prev: Org Indent Mode,  Up: Clean View
16371
1637216.4.2 Hard indentation
16373-----------------------
16374
16375It is possible to use hard spaces to achieve the indentation instead, if
16376the bare ASCII file should have the indented look also outside Emacs(1).
16377With Org’s support, you have to indent all lines to line up with the
16378outline headers.  You would use these settings(2):
16379
16380     (setq org-adapt-indentation t
16381           org-hide-leading-stars t
16382           org-odd-levels-only t)
16383
16384_Indentation of text below headlines_ (‘org-adapt-indentation’)
16385     The first setting modifies paragraph filling, line wrapping, and
16386     structure editing commands to preserving or adapting the
16387     indentation as appropriate.
16388
16389_Hiding leading stars_ (‘org-hide-leading-stars’)
16390     The second setting makes leading stars invisible by applying the
16391     face ‘org-hide’ to them.  For per-file preference, use these file
16392     ‘STARTUP’ options:
16393
16394          #+STARTUP: hidestars
16395          #+STARTUP: showstars
16396
16397_Odd levels_ (‘org-odd-levels-only’)
16398     The third setting makes Org use only odd levels, 1, 3, 5, ..., in
16399     the outline to create more indentation.  On a per-file level,
16400     control this with:
16401
16402          #+STARTUP: odd
16403          #+STARTUP: oddeven
16404
16405     To convert a file between single and double stars layouts, use ‘M-x
16406     org-convert-to-odd-levels’ and ‘M-x org-convert-to-oddeven-levels’.
16407
16408   ---------- Footnotes ----------
16409
16410   (1) This works, but requires extra effort.  Org Indent mode is more
16411convenient for most applications.
16412
16413   (2) ‘org-adapt-indentation’ can also be set to ‘'headline-data’, in
16414which case only data lines below the headline will be indented.
16415
16416
16417File: org.info,  Node: Execute commands in the active region,  Next: Dynamic Headline Numbering,  Prev: Clean View,  Up: Miscellaneous
16418
1641916.5 Execute commands in the active region
16420==========================================
16421
16422When in an Org buffer and the region is active, some commands will apply
16423to all the subtrees in the active region.  For example, hitting ‘C-c
16424C-s’ when multiple headlines are within the active region will
16425successively prompt you for a new schedule date and time.  To disable
16426this, set the option ‘org-loop-over-headlines-in-active-region’ to
16427non-‘t’, activate the region and run the command normally.
16428
16429   ‘org-agenda-loop-over-headlines-in-active-region’ is the equivalent
16430option of the agenda buffer, where you can also use *note bulk editing
16431of selected entries: Bulk remote editing selected entries.
16432
16433   Not all commands can loop in the active region and what subtrees or
16434headlines are considered can be refined: see the docstrings of these
16435options for more details.
16436
16437
16438File: org.info,  Node: Dynamic Headline Numbering,  Next: The Very Busy C-c C-c Key,  Prev: Execute commands in the active region,  Up: Miscellaneous
16439
1644016.6 Dynamic Headline Numbering
16441===============================
16442
16443The Org Num minor mode, toggled with ‘M-x org-num-mode’, displays
16444outline numbering on top of headlines.  It also updates it automatically
16445upon changes to the structure of the document.
16446
16447   By default, all headlines are numbered.  You can limit numbering to
16448specific headlines according to their level, tags, ‘COMMENT’ keyword, or
16449‘UNNUMBERED’ property.  Set ‘org-num-max-level’, ‘org-num-skip-tags’,
16450‘org-num-skip-commented’, ‘org-num-skip-unnumbered’, or
16451‘org-num-skip-footnotes’ accordingly.
16452
16453   If ‘org-num-skip-footnotes’ is non-‘nil’, footnotes sections (see
16454*note Creating Footnotes::) are not numbered either.
16455
16456   You can control how the numbering is displayed by setting
16457‘org-num-face’ and ‘org-num-format-function’.
16458
16459   You can also turn this mode globally for all Org files by setting the
16460option ‘org-startup-numerated’ to ‘t’, or locally on a file by using
16461‘#+startup: num’.
16462
16463
16464File: org.info,  Node: The Very Busy C-c C-c Key,  Next: In-buffer Settings,  Prev: Dynamic Headline Numbering,  Up: Miscellaneous
16465
1646616.7 The Very Busy ‘C-c C-c’ Key
16467================================
16468
16469The ‘C-c C-c’ key in Org serves many purposes depending on the context.
16470It is probably the most over-worked, multi-purpose key combination in
16471Org.  Its uses are well documented throughout this manual, but here is a
16472consolidated list for easy reference.
16473
16474   • If column view (see *note Column View::) is on, exit column view.
16475
16476   • If any highlights shown in the buffer from the creation of a sparse
16477     tree, or from clock display, remove such highlights.
16478
16479   • If point is in one of the special ‘KEYWORD’ lines, scan the buffer
16480     for these lines and update the information.  Also reset the Org
16481     file cache used to temporary store the contents of URLs used as
16482     values for keywords like ‘SETUPFILE’.
16483
16484   • If point is inside a table, realign the table.
16485
16486   • If point is on a ‘TBLFM’ keyword, re-apply the formulas to the
16487     entire table.
16488
16489   • If the current buffer is a capture buffer, close the note and file
16490     it.  With a prefix argument, also jump to the target location after
16491     saving the note.
16492
16493   • If point is on a ‘<<<target>>>’, update radio targets and
16494     corresponding links in this buffer.
16495
16496   • If point is on a property line or at the start or end of a property
16497     drawer, offer property commands.
16498
16499   • If point is at a footnote reference, go to the corresponding
16500     definition, and _vice versa_.
16501
16502   • If point is on a statistics cookie, update it.
16503
16504   • If point is in a plain list item with a checkbox, toggle the status
16505     of the checkbox.
16506
16507   • If point is on a numbered item in a plain list, renumber the
16508     ordered list.
16509
16510   • If point is on the ‘#+BEGIN’ line of a dynamic block, the block is
16511     updated.
16512
16513   • If point is at a timestamp, fix the day name in the timestamp.
16514
16515
16516File: org.info,  Node: In-buffer Settings,  Next: Org Syntax,  Prev: The Very Busy C-c C-c Key,  Up: Miscellaneous
16517
1651816.8 Summary of In-Buffer Settings
16519==================================
16520
16521In-buffer settings start with ‘#+’, followed by a keyword, a colon, and
16522then a word for each setting.  Org accepts multiple settings on the same
16523line.  Org also accepts multiple lines for a keyword.  This manual
16524describes these settings throughout.  A summary follows here.
16525
16526   ‘C-c C-c’ activates any changes to the in-buffer settings.  Closing
16527and reopening the Org file in Emacs also activates the changes.
16528
16529‘#+ARCHIVE: %s_done::’
16530     Sets the archive location of the agenda file.  The corresponding
16531     variable is ‘org-archive-location’.
16532
16533‘#+CATEGORY’
16534     Sets the category of the agenda file, which applies to the entire
16535     document.
16536
16537‘#+COLUMNS: %25ITEM ...’
16538     Set the default format for columns view.  This format applies when
16539     columns view is invoked in locations where no ‘COLUMNS’ property
16540     applies.
16541
16542‘#+CONSTANTS: name1=value1 ...’
16543     Set file-local values for constants that table formulas can use.
16544     This line sets the local variable
16545     ‘org-table-formula-constants-local’.  The global version of this
16546     variable is ‘org-table-formula-constants’.
16547
16548‘#+FILETAGS: :tag1:tag2:tag3:’
16549     Set tags that all entries in the file inherit from, including the
16550     top-level entries.
16551
16552‘#+LINK: linkword replace’
16553     Each line specifies one abbreviation for one link.  Use multiple
16554     ‘LINK’ keywords for more, see *note Link Abbreviations::.  The
16555     corresponding variable is ‘org-link-abbrev-alist’.
16556
16557‘#+PRIORITIES: highest lowest default’
16558     This line sets the limits and the default for the priorities.  All
16559     three must be either letters A–Z or numbers 0–9.  The highest
16560     priority must have a lower ASCII number than the lowest priority.
16561
16562‘#+PROPERTY: Property_Name Value’
16563     This line sets a default inheritance value for entries in the
16564     current buffer, most useful for specifying the allowed values of a
16565     property.
16566
16567‘#+SETUPFILE: file’
16568     The setup file or a URL pointing to such file is for additional
16569     in-buffer settings.  Org loads this file and parses it for any
16570     settings in it only when Org opens the main file.  If URL is
16571     specified, the contents are downloaded and stored in a temporary
16572     file cache.  ‘C-c C-c’ on the settings line parses and loads the
16573     file, and also resets the temporary file cache.  Org also parses
16574     and loads the document during normal exporting process.  Org parses
16575     the contents of this document as if it was included in the buffer.
16576     It can be another Org file.  To visit the file—not a URL—use ‘C-c
16577     '’ while point is on the line with the file name.
16578
16579‘#+STARTUP:’
16580     Startup options Org uses when first visiting a file.
16581
16582     The first set of options deals with the initial visibility of the
16583     outline tree.  The corresponding variable for global default
16584     settings is ‘org-startup-folded’ with a default value of
16585     ‘showeverything’.
16586
16587     ‘overview’         Top-level headlines only.
16588     ‘content’          All headlines.
16589     ‘showall’          No folding on any entry.
16590     ‘showeverything’   Show even drawer contents.
16591
16592     Dynamic virtual indentation is controlled by the variable
16593     ‘org-startup-indented’(1).
16594
16595     ‘indent’     Start with Org Indent mode turned on.
16596     ‘noindent’   Start with Org Indent mode turned off.
16597
16598     Dynamic virtual numeration of headlines is controlled by the
16599     variable ‘org-startup-numerated’.
16600
16601     ‘num’     Start with Org num mode turned on.
16602     ‘nonum’   Start with Org num mode turned off.
16603
16604     Aligns tables consistently upon visiting a file.  The corresponding
16605     variable is ‘org-startup-align-all-tables’ with ‘nil’ as default
16606     value.
16607
16608     ‘align’     Align all tables.
16609     ‘noalign’   Do not align tables on startup.
16610
16611     Shrink table columns with a width cookie.  The corresponding
16612     variable is ‘org-startup-shrink-all-tables’ with ‘nil’ as default
16613     value.
16614
16615     When visiting a file, inline images can be automatically displayed.
16616     The corresponding variable is ‘org-startup-with-inline-images’,
16617     with a default value ‘nil’ to avoid delays when visiting a file.
16618
16619     ‘inlineimages’     Show inline images.
16620     ‘noinlineimages’   Do not show inline images on startup.
16621
16622     Logging the closing and reopening of TODO items and clock intervals
16623     can be configured using these options (see variables
16624     ‘org-log-done’, ‘org-log-note-clock-out’, and ‘org-log-repeat’).
16625
16626     ‘logdone’              Record a timestamp when an item is marked as done.
16627     ‘lognotedone’          Record timestamp and a note when DONE.
16628     ‘nologdone’            Do not record when items are marked as done.
16629     ‘logrepeat’            Record a time when reinstating a repeating item.
16630     ‘lognoterepeat’        Record a note when reinstating a repeating item.
16631     ‘nologrepeat’          Do not record when reinstating repeating item.
16632     ‘lognoteclock-out’     Record a note when clocking out.
16633     ‘nolognoteclock-out’   Do not record a note when clocking out.
16634     ‘logreschedule’        Record a timestamp when scheduling time changes.
16635     ‘lognotereschedule’    Record a note when scheduling time changes.
16636     ‘nologreschedule’      Do not record when a scheduling date changes.
16637     ‘logredeadline’        Record a timestamp when deadline changes.
16638     ‘lognoteredeadline’    Record a note when deadline changes.
16639     ‘nologredeadline’      Do not record when a deadline date changes.
16640     ‘logrefile’            Record a timestamp when refiling.
16641     ‘lognoterefile’        Record a note when refiling.
16642     ‘nologrefile’          Do not record when refiling.
16643
16644     Here are the options for hiding leading stars in outline headings,
16645     and for indenting outlines.  The corresponding variables are
16646     ‘org-hide-leading-stars’ and ‘org-odd-levels-only’, both with a
16647     default setting ‘nil’ (meaning ‘showstars’ and ‘oddeven’).
16648
16649     ‘hidestars’   Make all but one of the stars starting a headline invisible.
16650     ‘showstars’   Show all stars starting a headline.
16651     ‘indent’      Virtual indentation according to outline level.
16652     ‘noindent’    No virtual indentation according to outline level.
16653     ‘odd’         Allow only odd outline levels (1, 3, ...).
16654     ‘oddeven’     Allow all outline levels.
16655
16656     To turn on custom format overlays over timestamps (variables
16657     ‘org-put-time-stamp-overlays’ and
16658     ‘org-time-stamp-overlay-formats’), use:
16659
16660     ‘customtime’   Overlay custom time format.
16661
16662     The following options influence the table spreadsheet (variable
16663     ‘constants-unit-system’).
16664
16665     ‘constcgs’   ‘constants.el’ should use the c-g-s unit system.
16666     ‘constSI’    ‘constants.el’ should use the SI unit system.
16667
16668     To influence footnote settings, use the following keywords.  The
16669     corresponding variables are ‘org-footnote-define-inline’,
16670     ‘org-footnote-auto-label’, and ‘org-footnote-auto-adjust’.
16671
16672     ‘fninline’     Define footnotes inline.
16673     ‘fnnoinline’   Define footnotes in separate section.
16674     ‘fnlocal’      Define footnotes near first reference, but not inline.
16675     ‘fnprompt’     Prompt for footnote labels.
16676     ‘fnauto’       Create ‘[fn:1]’-like labels automatically (default).
16677     ‘fnconfirm’    Offer automatic label for editing or confirmation.
16678     ‘fnadjust’     Automatically renumber and sort footnotes.
16679     ‘nofnadjust’   Do not renumber and sort automatically.
16680
16681     To hide blocks on startup, use these keywords.  The corresponding
16682     variable is ‘org-hide-block-startup’.
16683
16684     ‘hideblocks’     Hide all begin/end blocks on startup.
16685     ‘nohideblocks’   Do not hide blocks on startup.
16686
16687     The display of entities as UTF-8 characters is governed by the
16688     variable ‘org-pretty-entities’ and the keywords
16689
16690     ‘entitiespretty’   Show entities as UTF-8 characters where possible.
16691     ‘entitiesplain’    Leave entities plain.
16692
16693‘#+TAGS: TAG1(c1) TAG2(c2)’
16694     These lines (several such lines are allowed) specify the valid tags
16695     in this file, and (potentially) the corresponding _fast tag
16696     selection_ keys.  The corresponding variable is ‘org-tag-alist’.
16697
16698‘#+TODO:’
16699‘#+SEQ_TODO:’
16700‘#+TYP_TODO:’
16701     These lines set the TODO keywords and their interpretation in the
16702     current file.  The corresponding variable is ‘org-todo-keywords’.
16703
16704   ---------- Footnotes ----------
16705
16706   (1) Note that Org Indent mode also sets the ‘wrap-prefix’ property,
16707such that Visual Line mode (or purely setting ‘word-wrap’) wraps long
16708lines, including headlines, correctly indented.
16709
16710
16711File: org.info,  Node: Org Syntax,  Next: Documentation Access,  Prev: In-buffer Settings,  Up: Miscellaneous
16712
1671316.9 Org Syntax
16714===============
16715
16716A reference document providing a formal description of Org’s syntax is
16717available as a draft on Worg
16718(https://orgmode.org/worg/dev/org-syntax.html), written and maintained
16719by Nicolas Goaziou.  It defines Org’s core internal concepts such as
16720“headlines”, “sections”, “affiliated keywords”, “(greater) elements” and
16721“objects”.  Each part of an Org document belongs to one of the previous
16722categories.
16723
16724   To explore the abstract structure of an Org buffer, run this in a
16725buffer:
16726
16727     M-: (org-element-parse-buffer) <RET>
16728
16729It outputs a list containing the buffer’s content represented as an
16730abstract structure.  The export engine relies on the information stored
16731in this list.  Most interactive commands—e.g., for structure
16732editing—also rely on the syntactic meaning of the surrounding context.
16733
16734   You can probe the syntax of your documents with the command
16735
16736     M-x org-lint <RET>
16737
16738It runs a number of checks to find common mistakes.  It then displays
16739their location in a dedicated buffer, along with a description and a
16740“trust level”, since false-positive are possible.  From there, you can
16741operate on the reports with the following keys:
16742
16743‘C-j’, ‘<TAB>’   Display the offending line
16744‘<RET>’          Move point to the offending line
16745‘g’              Check the document again
16746‘h’              Hide all reports from the same checker
16747‘i’              Also remove them from all subsequent checks
16748‘S’              Sort reports by the column at point
16749
16750
16751File: org.info,  Node: Documentation Access,  Next: Escape Character,  Prev: Org Syntax,  Up: Miscellaneous
16752
1675316.10 Context Dependent Documentation
16754=====================================
16755
16756‘C-c C-x I’ in an Org file tries to open a suitable section of the Org
16757manual depending on the syntax at point.  For example, using it on a
16758headline displays “Document Structure” section.
16759
16760   ‘q’ closes the Info window.
16761
16762
16763File: org.info,  Node: Escape Character,  Next: Code Evaluation Security,  Prev: Documentation Access,  Up: Miscellaneous
16764
1676516.11 Escape Character
16766======================
16767
16768You may sometimes want to write text that looks like Org syntax, but
16769should really read as plain text.  Org may use a specific escape
16770character in some situations, i.e., a backslash in macros (see *note
16771Macro Replacement::) and links (see *note Link Format::), or a comma in
16772source and example blocks (see *note Literal Examples::).  In the
16773general case, however, we suggest to use the zero width space.  You can
16774insert one with any of the following:
16775
16776     C-x 8 <RET> zero width space <RET>
16777     C-x 8 <RET> 200B <RET>
16778
16779   For example, in order to write ‘[[1,2]]’ as-is in your document, you
16780may write instead
16781
16782     [X[1,2]]
16783
16784   where ‘X’ denotes the zero width space character.
16785
16786
16787File: org.info,  Node: Code Evaluation Security,  Next: Interaction,  Prev: Escape Character,  Up: Miscellaneous
16788
1678916.12 Code Evaluation and Security Issues
16790=========================================
16791
16792Unlike plain text, running code comes with risk.  Each source code
16793block, in terms of risk, is equivalent to an executable file.  Org
16794therefore puts a few confirmation prompts by default.  This is to alert
16795the casual user from accidentally running untrusted code.
16796
16797   For users who do not run code blocks or write code regularly, Org’s
16798default settings should suffice.  However, some users may want to tweak
16799the prompts for fewer interruptions.  To weigh the risks of automatic
16800execution of code blocks, here are some details about code evaluation.
16801
16802   Org evaluates code in the following circumstances:
16803
16804_Source code blocks_
16805     Org evaluates source code blocks in an Org file during export.  Org
16806     also evaluates a source code block with the ‘C-c C-c’ key chord.
16807     Users exporting or running code blocks must load files only from
16808     trusted sources.  Be wary of customizing variables that remove or
16809     alter default security measures.
16810
16811      -- User Option: org-confirm-babel-evaluate
16812          When ‘t’, Org prompts the user for confirmation before
16813          executing each code block.  When ‘nil’, Org executes code
16814          blocks without prompting the user for confirmation.  When this
16815          option is set to a custom function, Org invokes the function
16816          with these two arguments: the source code language and the
16817          body of the code block.  The custom function must return
16818          either a ‘t’ or ‘nil’, which determines if the user is
16819          prompted.  Each source code language can be handled separately
16820          through this function argument.
16821
16822     For example, here is how to execute ditaa code blocks without
16823     prompting:
16824
16825          (defun my-org-confirm-babel-evaluate (lang body)
16826            (not (string= lang "ditaa")))  ;don't ask for ditaa
16827          (setq org-confirm-babel-evaluate #'my-org-confirm-babel-evaluate)
16828
16829_Following ‘shell’ and ‘elisp’ links_
16830     Org has two link types that can directly evaluate code (see *note
16831     External Links::).  Because such code is not visible, these links
16832     have a potential risk.  Org therefore prompts the user when it
16833     encounters such links.  The customization variables are:
16834
16835      -- User Option: org-link-shell-confirm-function
16836          Function that prompts the user before executing a shell link.
16837
16838      -- User Option: org-link-elisp-confirm-function
16839          Function that prompts the user before executing an Emacs Lisp
16840          link.
16841
16842_Formulas in tables_
16843     Formulas in tables (see *note The Spreadsheet::) are code that is
16844     evaluated either by the Calc interpreter, or by the Emacs Lisp
16845     interpreter.
16846
16847
16848File: org.info,  Node: Interaction,  Next: TTY Keys,  Prev: Code Evaluation Security,  Up: Miscellaneous
16849
1685016.13 Interaction with Other Packages
16851=====================================
16852
16853Org’s compatibility and the level of interaction with other Emacs
16854packages are documented here.
16855
16856* Menu:
16857
16858* Cooperation::                  Packages Org cooperates with.
16859* Conflicts::                    Packages that lead to conflicts.
16860
16861
16862File: org.info,  Node: Cooperation,  Next: Conflicts,  Up: Interaction
16863
1686416.13.1 Packages that Org cooperates with
16865-----------------------------------------
16866
16867calc.el’ by Dave Gillespie
16868
16869     Org uses the Calc package for implementing spreadsheet
16870     functionality in its tables (see *note The Spreadsheet::).  Org
16871     also uses Calc for embedded calculations.  See *note GNU Emacs Calc
16872     Manual: (calc)Embedded Mode.
16873
16874constants.el’ by Carsten Dominik
16875
16876     Org can use names for constants in formulas in tables.  Org can
16877     also use calculation suffixes for units, such as ‘M’ for ‘Mega’.
16878     For a standard collection of such constants, install the
16879     ‘constants’ package.  Install version 2.0 of this package,
16880     available at <http://www.astro.uva.nl/~dominik/Tools>.  Org checks
16881     if the function ‘constants-get’ has been autoloaded.  Installation
16882     instructions are in the file ‘constants.el’.
16883
16884cdlatex.el’ by Carsten Dominik
16885
16886     Org mode can make use of the CDLaTeX package to efficiently enter
16887     LaTeX fragments into Org files.  See *note CDLaTeX mode::.
16888
16889imenu.el’ by Ake Stenhoff and Lars Lindberg
16890
16891     Imenu creates dynamic menus based on an index of items in a file.
16892     Org mode supports Imenu menus.  Enable it with a mode hook as
16893     follows:
16894
16895          (add-hook 'org-mode-hook
16896                    (lambda () (imenu-add-to-menubar "Imenu")))
16897
16898     By default the index is two levels deep—you can modify the depth
16899     using the option ‘org-imenu-depth’.
16900
16901speedbar.el’ by Eric M. Ludlam
16902
16903     Speedbar package creates a special Emacs frame for displaying files
16904     and index items in files.  Org mode supports Speedbar; users can
16905     drill into Org files directly from the Speedbar.  The ‘<’ in the
16906     Speedbar frame tweaks the agenda commands to that file or to a
16907     subtree.
16908
16909table.el’ by Takaaki Ota
16910
16911     Complex ASCII tables with automatic line wrapping, column- and
16912     row-spanning, and alignment can be created using the Emacs table
16913     package by Takaaki Ota.  Org mode recognizes such tables and
16914     exports them properly.  ‘C-c '’ to edit these tables in a special
16915     buffer, much like Org’s code blocks.  Because of interference with
16916     other Org mode functionality, Takaaki Ota tables cannot be edited
16917     directly in the Org buffer.
16918
16919     ‘C-c '’ (‘org-edit-special’)
16920          Edit a ‘table.el’ table.  Works when point is in a ‘table.el16921          table.
16922
16923     ‘C-c ~​’ (‘org-table-create-with-table.el’)
16924          Insert a ‘table.el’ table.  If there is already a table at
16925          point, this command converts it between the ‘table.el’ format
16926          and the Org mode format.  See the documentation string of the
16927          command ‘org-convert-table’ for the restrictions under which
16928          this is possible.
16929
16930
16931File: org.info,  Node: Conflicts,  Prev: Cooperation,  Up: Interaction
16932
1693316.13.2 Packages that conflict with Org mode
16934--------------------------------------------
16935
16936In Emacs, shift-selection combines motions of point with shift key to
16937enlarge regions.  Emacs sets this mode by default.  This conflicts with
16938Org’s use of ‘S-<cursor>’ commands to change timestamps, TODO keywords,
16939priorities, and item bullet types, etc.  Since ‘S-<cursor>’ commands
16940outside of specific contexts do not do anything, Org offers the variable
16941‘org-support-shift-select’ for customization.  Org mode accommodates
16942shift selection by (i) making it available outside of the special
16943contexts where special commands apply, and (ii) extending an existing
16944active region even if point moves across a special context.
16945
16946cua.el’ by Kim F. Storm
16947     Org key bindings conflict with ‘S-<cursor>’ keys used by CUA mode.
16948     For Org to relinquish these bindings to CUA mode, configure the
16949     variable ‘org-replace-disputed-keys’.  When set, Org moves the
16950     following key bindings in Org files, and in the agenda buffer—but
16951     not during date selection.
16952
16953     ‘S-<UP>’ ⇒ ‘M-p’              ‘S-<DOWN>’ ⇒ ‘M-n’
16954     ‘S-<LEFT>’ ⇒ ‘M--’            ‘S-<RIGHT>’ ⇒ ‘M-+’
16955     ‘C-S-<LEFT>’ ⇒ ‘M-S--’        ‘C-S-<RIGHT>’ ⇒ ‘M-S-+’
16956
16957     Yes, these are unfortunately more difficult to remember.  If you
16958     want to have other replacement keys, look at the variable
16959     ‘org-disputed-keys’.
16960
16961ecomplete.el’ by Lars Magne Ingebrigtsen
16962     Ecomplete provides “electric” address completion in address header
16963     lines in message buffers.  Sadly Orgtbl mode cuts Ecomplete’s power
16964     supply: no completion happens when Orgtbl mode is enabled in
16965     message buffers while entering text in address header lines.  If
16966     one wants to use ecomplete one should _not_ follow the advice to
16967     automagically turn on Orgtbl mode in message buffers (see *note
16968     Orgtbl Mode::), but instead—after filling in the message
16969     headers—turn on Orgtbl mode manually when needed in the messages
16970     body.
16971
16972filladapt.el’ by Kyle Jones
16973     Org mode tries to do the right thing when filling paragraphs, list
16974     items and other elements.  Many users reported problems using both
16975filladapt.el’ and Org mode, so a safe thing to do is to disable
16976     filladapt like this:
16977
16978          (add-hook 'org-mode-hook 'turn-off-filladapt-mode)
16979
16980viper.el’ by Michael Kifer
16981
16982     Viper uses ‘C-c /’ and therefore makes this key not access the
16983     corresponding Org mode command ‘org-sparse-tree’.  You need to find
16984     another key for this command, or override the key in
16985     ‘viper-vi-global-user-map’ with
16986
16987          (define-key viper-vi-global-user-map "C-c /" 'org-sparse-tree)
16988
16989windmove.el’ by Hovav Shacham
16990
16991     This package also uses the ‘S-<cursor>’ keys, so everything written
16992     in the paragraph above about CUA mode also applies here.  If you
16993     want to make the windmove function active in locations where Org
16994     mode does not have special functionality on ‘S-<cursor>’, add this
16995     to your configuration:
16996
16997          ;; Make windmove work in Org mode:
16998          (add-hook 'org-shiftup-final-hook 'windmove-up)
16999          (add-hook 'org-shiftleft-final-hook 'windmove-left)
17000          (add-hook 'org-shiftdown-final-hook 'windmove-down)
17001          (add-hook 'org-shiftright-final-hook 'windmove-right)
17002
17003yasnippet.el17004     The way Org mode binds the ‘<TAB>’ key (binding to ‘[tab]’ instead
17005     of ‘"\t"’) overrules YASnippet’s access to this key.  The following
17006     code fixed this problem:
17007
17008          (add-hook 'org-mode-hook
17009                    (lambda ()
17010                      (setq-local yas/trigger-key [tab])
17011                      (define-key yas/keymap [tab] 'yas/next-field-or-maybe-expand)))
17012
17013     The latest version of YASnippet does not play well with Org mode.
17014     If the above code does not fix the conflict, start by defining the
17015     following function:
17016
17017          (defun yas/org-very-safe-expand ()
17018            (let ((yas/fallback-behavior 'return-nil)) (yas/expand)))
17019
17020     Then, tell Org mode to use that function:
17021
17022          (add-hook 'org-mode-hook
17023                    (lambda ()
17024                      (make-variable-buffer-local 'yas/trigger-key)
17025                      (setq yas/trigger-key [tab])
17026                      (add-to-list 'org-tab-first-hook 'yas/org-very-safe-expand)
17027                      (define-key yas/keymap [tab] 'yas/next-field)))
17028
17029
17030File: org.info,  Node: TTY Keys,  Next: Protocols,  Prev: Interaction,  Up: Miscellaneous
17031
1703216.14 Using Org on a TTY
17033========================
17034
17035Org provides alternative key bindings for TTY and modern mobile devices
17036that cannot perform movement commands on point and key bindings with
17037modifier keys.  Some of these workarounds may be more cumbersome than
17038necessary.  Users should look into customizing these further based on
17039their usage needs.  For example, the normal ‘S-<cursor>’ for editing
17040timestamp might be better with ‘C-c .’ chord.
17041
17042Default        Alternative 1        Speed key   Alternative 2
17043----------------------------------------------------------------
17044‘S-<TAB>’      ‘C-u <TAB>’          ‘C’
17045‘M-<LEFT>’     ‘C-c C-x l’          ‘l’         ‘Esc <LEFT>’
17046‘M-S-<LEFT>’   ‘C-c C-x L’          ‘L’
17047‘M-<RIGHT>’    ‘C-c C-x r’          ‘r’         ‘Esc <RIGHT>’
17048‘M-S-<RIGHT>’  ‘C-c C-x R’          ‘R’
17049‘M-<UP>’       ‘C-c C-x u’                      ‘Esc <UP>’
17050‘M-S-<UP>’     ‘C-c C-x U’          ‘U’
17051‘M-<DOWN>’     ‘C-c C-x d’                      ‘Esc <DOWN>’
17052‘M-S-<DOWN>’   ‘C-c C-x D’          ‘D’
17053‘S-<RET>’      ‘C-c C-x c’
17054‘M-<RET>’      ‘C-c C-x m’                      ‘Esc <RET>’
17055‘M-S-<RET>’    ‘C-c C-x M’
17056‘S-<LEFT>’     ‘C-c <LEFT>’
17057‘S-<RIGHT>’    ‘C-c <RIGHT>’
17058‘S-<UP>’       ‘C-c <UP>’
17059‘S-<DOWN>’     ‘C-c <DOWN>’
17060‘C-S-<LEFT>’   ‘C-c C-x <LEFT>’
17061‘C-S-<RIGHT>’  ‘C-c C-x <RIGHT>’
17062
17063
17064File: org.info,  Node: Protocols,  Next: Org Crypt,  Prev: TTY Keys,  Up: Miscellaneous
17065
1706616.15 Protocols for External Access
17067===================================
17068
17069Org protocol is a tool to trigger custom actions in Emacs from external
17070applications.  Any application that supports calling external programs
17071with an URL as argument may be used with this functionality.  For
17072example, you can configure bookmarks in your web browser to send a link
17073to the current page to Org and create a note from it using capture (see
17074*note Capture::).  You can also create a bookmark that tells Emacs to
17075open the local source file of a remote website you are browsing.
17076
17077   In order to use Org protocol from an application, you need to
17078register ‘org-protocol://’ as a valid scheme-handler.  External calls
17079are passed to Emacs through the ‘emacsclient’ command, so you also need
17080to ensure an Emacs server is running.  More precisely, when the
17081application calls
17082
17083     emacsclient org-protocol://PROTOCOL?key1=val1&key2=val2
17084
17085Emacs calls the handler associated to PROTOCOL with argument ‘(:key1
17086val1 :key2 val2)’.
17087
17088   Org protocol comes with three predefined protocols, detailed in the
17089following sections.  Configure ‘org-protocol-protocol-alist’ to define
17090your own.
17091
17092* Menu:
17093
17094* The store-link protocol:: Store a link, push URL to kill-ring.
17095* The capture protocol::  Fill a buffer with external information.
17096* The open-source protocol:: Edit published contents.
17097
17098
17099File: org.info,  Node: The store-link protocol,  Next: The capture protocol,  Up: Protocols
17100
1710116.15.1 The ‘store-link’ protocol
17102---------------------------------
17103
17104Using the ‘store-link’ handler, you can copy links, to that they can be
17105inserted using ‘M-x org-insert-link’ or yanking.  More precisely, the
17106command
17107
17108     emacsclient org-protocol://store-link?url=URL&title=TITLE
17109
17110stores the following link:
17111
17112     [[URL][TITLE]]
17113
17114   In addition, URL is pushed on the kill-ring for yanking.  You need to
17115encode URL and TITLE if they contain slashes, and probably quote those
17116for the shell.
17117
17118   To use this feature from a browser, add a bookmark with an arbitrary
17119name, e.g., ‘Org: store-link’ and enter this as _Location_:
17120
17121     javascript:location.href='org-protocol://store-link?url='+
17122           encodeURIComponent(location.href);
17123
17124
17125File: org.info,  Node: The capture protocol,  Next: The open-source protocol,  Prev: The store-link protocol,  Up: Protocols
17126
1712716.15.2 The ‘capture’ protocol
17128------------------------------
17129
17130Activating the “capture” handler pops up a ‘Capture’ buffer in Emacs,
17131using acapture template.
17132
17133     emacsclient org-protocol://capture?template=X?url=URL?title=TITLE?body=BODY
17134
17135   To use this feature, add a bookmark with an arbitrary name, e.g.,
17136‘Org: capture’, and enter this as ‘Location’:
17137
17138     javascript:location.href='org-protocol://capture?template=x'+
17139           '&url='+encodeURIComponent(window.location.href)+
17140           '&title='+encodeURIComponent(document.title)+
17141           '&body='+encodeURIComponent(window.getSelection());
17142
17143   The capture template to be used can be specified in the bookmark
17144(like ‘X’ above).  If unspecified, the template key is set in the
17145variable ‘org-protocol-default-template-key’.  The following template
17146placeholders are available:
17147
17148     %:link          The URL
17149     %:description   The webpage title
17150     %:annotation    Equivalent to [[%:link][%:description]]
17151     %i              The selected text
17152
17153
17154File: org.info,  Node: The open-source protocol,  Prev: The capture protocol,  Up: Protocols
17155
1715616.15.3 The ‘open-source’ protocol
17157----------------------------------
17158
17159The ‘open-source’ handler is designed to help with editing local sources
17160when reading a document.  To that effect, you can use a bookmark with
17161the following location:
17162
17163     javascript:location.href='org-protocol://open-source?&url='+
17164           encodeURIComponent(location.href)
17165
17166   The variable ‘org-protocol-project-alist’ maps URLs to local file
17167names, by stripping URL parameters from the end and replacing the
17168‘:base-url’ with ‘:working-directory’ and ‘:online-suffix’ with
17169‘:working-suffix’.  For example, assuming you own a local copy of
17170https://orgmode.org/worg/’ contents at ‘/home/user/worg’, you can set
17171‘org-protocol-project-alist’ to the following
17172
17173     (setq org-protocol-project-alist
17174           '(("Worg"
17175              :base-url "https://orgmode.org/worg/"
17176              :working-directory "/home/user/worg/"
17177              :online-suffix ".html"
17178              :working-suffix ".org")))
17179
17180If you are now browsing
17181https://orgmode.org/worg/org-contrib/org-protocol.html’ and find a typo
17182or have an idea about how to enhance the documentation, simply click the
17183bookmark and start editing.
17184
17185   However, such mapping may not always yield the desired results.
17186Suppose you maintain an online store located at ‘http://example.com/’.
17187The local sources reside in ‘/home/user/example/’.  It is common
17188practice to serve all products in such a store through one file and
17189rewrite URLs that do not match an existing file on the server.  That
17190way, a request to ‘http://example.com/print/posters.html’ might be
17191rewritten on the server to something like
17192http://example.com/shop/products.php/posters.html.php’.  The
17193‘open-source’ handler probably cannot find a file named
17194/home/user/example/print/posters.html.php’ and fails.
17195
17196   Such an entry in ‘org-protocol-project-alist’ may hold an additional
17197property ‘:rewrites’.  This property is a list of cons cells, each of
17198which maps a regular expression to a path relative to the
17199‘:working-directory’.
17200
17201   Now map the URL to the path ‘/home/user/example/products.php’ by
17202adding ‘:rewrites’ rules like this:
17203
17204     (setq org-protocol-project-alist
17205           '(("example.com"
17206              :base-url "http://example.com/"
17207              :working-directory "/home/user/example/"
17208              :online-suffix ".php"
17209              :working-suffix ".php"
17210              :rewrites (("example.com/print/" . "products.php")
17211                         ("example.com/$" . "index.php")))))
17212
17213Since ‘example.com/$’ is used as a regular expression, it maps
17214http://example.com/’, ‘https://example.com’, ‘http://www.example.com/17215and similar to ‘/home/user/example/index.php’.
17216
17217   The ‘:rewrites’ rules are searched as a last resort if and only if no
17218existing file name is matched.
17219
17220   Two functions can help you filling ‘org-protocol-project-alist’ with
17221valid contents: ‘org-protocol-create’ and ‘org-protocol-create-for-org’.
17222The latter is of use if you’re editing an Org file that is part of a
17223publishing project.
17224
17225
17226File: org.info,  Node: Org Crypt,  Next: Org Mobile,  Prev: Protocols,  Up: Miscellaneous
17227
1722816.16 Org Crypt
17229===============
17230
17231Org Crypt encrypts the text of an entry, but not the headline, or
17232properties.  Behind the scene, it uses the Emacs EasyPG library to
17233encrypt and decrypt files.
17234
17235   Any text below a headline that has a ‘crypt’ tag is automatically
17236encrypted when the file is saved.  To use a different tag, customize the
17237‘org-crypt-tag-matcher’ setting.
17238
17239   Here is a suggestion for Org Crypt settings in Emacs init file:
17240
17241     (require 'org-crypt)
17242     (org-crypt-use-before-save-magic)
17243     (setq org-tags-exclude-from-inheritance '("crypt"))
17244
17245     (setq org-crypt-key nil)
17246     ;; GPG key to use for encryption
17247     ;; Either the Key ID or set to nil to use symmetric encryption.
17248
17249     (setq auto-save-default nil)
17250     ;; Auto-saving does not cooperate with org-crypt.el: so you need to
17251     ;; turn it off if you plan to use org-crypt.el quite often.  Otherwise,
17252     ;; you'll get an (annoying) message each time you start Org.
17253
17254     ;; To turn it off only locally, you can insert this:
17255     ;;
17256     ;; # -*- buffer-auto-save-file-name: nil; -*-
17257
17258   It’s possible to use different keys for different headings by
17259specifying the respective key as property ‘CRYPTKEY’, e.g.:
17260
17261     * Totally secret :crypt:
17262       :PROPERTIES:
17263       :CRYPTKEY: 0x0123456789012345678901234567890123456789
17264       :END:
17265
17266   Excluding the ‘crypt’ tag from inheritance prevents already encrypted
17267text from being encrypted again.
17268
17269
17270File: org.info,  Node: Org Mobile,  Prev: Org Crypt,  Up: Miscellaneous
17271
1727216.17 Org Mobile
17273================
17274
17275Org Mobile is a protocol for synchronizing Org files between Emacs and
17276other applications, e.g., on mobile devices.  It enables offline-views
17277and capture support for an Org mode system that is rooted on a “real”
17278computer.  The external application can also record changes to existing
17279entries.
17280
17281   This appendix describes Org’s support for agenda view formats
17282compatible with Org Mobile.  It also describes synchronizing changes,
17283such as to notes, between the mobile application and the computer.
17284
17285   To change tags and TODO states in the mobile application, first
17286customize the variables ‘org-todo-keywords’, ‘org-tag-alist’ and
17287‘org-tag-persistent-alist’.  These should cover all the important tags
17288and TODO keywords, even if Org files use only some of them.  Though the
17289mobile application is expected to support in-buffer settings, it is
17290required to understand TODO states _sets_ (see *note Per-file
17291keywords::) and _mutually exclusive_ tags (see *note Setting Tags::)
17292only for those set in these variables.
17293
17294* Menu:
17295
17296* Setting up the staging area::  For the mobile device.
17297* Pushing to the mobile application:: Uploading Org files and agendas.
17298* Pulling from the mobile application:: Integrating captured and flagged items.
17299
17300
17301File: org.info,  Node: Setting up the staging area,  Next: Pushing to the mobile application,  Up: Org Mobile
17302
1730316.17.1 Setting up the staging area
17304-----------------------------------
17305
17306The mobile application needs access to a file directory on a server(1)
17307to interact with Emacs.  Pass its location through the
17308‘org-mobile-directory’ variable.  If you can mount that directory
17309locally just set the variable to point to that directory:
17310
17311     (setq org-mobile-directory "~/orgmobile/")
17312
17313   Alternatively, by using TRAMP (see *note TRAMP User Manual:
17314(tramp)Top.), ‘org-mobile-directory’ may point to a remote directory
17315accessible through, for example, SSH, SCP, or DAVS:
17316
17317     (setq org-mobile-directory "/davs:user@remote.host:/org/webdav/")
17318
17319   With a public server, consider encrypting the files.  Org also
17320requires OpenSSL installed on the local computer.  To turn on
17321encryption, set the same password in the mobile application and in
17322Emacs.  Set the password in the variable ‘org-mobile-use-encryption’(2).
17323Note that even after the mobile application encrypts the file contents,
17324the file name remains visible on the file systems of the local computer,
17325the server, and the mobile device.
17326
17327   ---------- Footnotes ----------
17328
17329   (1) For a server to host files, consider using a WebDAV server, such
17330as Nextcloud (https://nextcloud.com).  Additional help is at this FAQ
17331entry (https://orgmode.org/worg/org-faq.html#mobileorg_webdav).
17332
17333   (2) If Emacs is configured for safe storing of passwords, then
17334configure the variable ‘org-mobile-encryption-password’; please read the
17335docstring of that variable.
17336
17337
17338File: org.info,  Node: Pushing to the mobile application,  Next: Pulling from the mobile application,  Prev: Setting up the staging area,  Up: Org Mobile
17339
1734016.17.2 Pushing to the mobile application
17341-----------------------------------------
17342
17343The command ‘org-mobile-push’ copies files listed in ‘org-mobile-files’
17344into the staging area.  Files include agenda files (as listed in
17345‘org-agenda-files’).  Customize ‘org-mobile-files’ to add other files.
17346File names are staged with paths relative to ‘org-directory’, so all
17347files should be inside this directory(1).
17348
17349   Push creates a special Org file ‘agendas.org’ with custom agenda
17350views defined by the user(2).
17351
17352   Finally, Org writes the file ‘index.org’, containing links to other
17353files.  The mobile application reads this file first from the server to
17354determine what other files to download for agendas.  For faster
17355downloads, it is expected to only read files whose checksums(3) have
17356changed.
17357
17358   ---------- Footnotes ----------
17359
17360   (1) Symbolic links in ‘org-directory’ need to have the same name as
17361their targets.
17362
17363   (2) While creating the agendas, Org mode forces ‘ID’ properties on
17364all referenced entries, so that these entries can be uniquely identified
17365if Org Mobile flags them for further action.  To avoid setting
17366properties configure the variable ‘org-mobile-force-id-on-agenda-items’
17367to ‘nil’.  Org mode then relies on outline paths, assuming they are
17368unique.
17369
17370   (3) Checksums are stored automatically in the file ‘checksums.dat’.
17371
17372
17373File: org.info,  Node: Pulling from the mobile application,  Prev: Pushing to the mobile application,  Up: Org Mobile
17374
1737516.17.3 Pulling from the mobile application
17376-------------------------------------------
17377
17378The command ‘org-mobile-pull’ synchronizes changes with the server.
17379More specifically, it first pulls the Org files for viewing.  It then
17380appends captured entries and pointers to flagged or changed entries to
17381the file ‘mobileorg.org’ on the server.  Org ultimately integrates its
17382data in an inbox file format, through the following steps:
17383
17384  1. Org moves all entries found in ‘mobileorg.org’(1) and appends them
17385     to the file pointed to by the variable ‘org-mobile-inbox-for-pull’.
17386     It should reside neither in the staging area nor on the server.
17387     Each captured entry and each editing event is a top-level entry in
17388     the inbox file.
17389
17390  2. After moving the entries, Org processes changes to the shared
17391     files.  Some of them are applied directly and without user
17392     interaction.  Examples include changes to tags, TODO state,
17393     headline and body text.  Entries requiring further action are
17394     tagged as ‘FLAGGED’.  Org marks entries with problems with an error
17395     message in the inbox.  They have to be resolved manually.
17396
17397  3. Org generates an agenda view for flagged entries for user
17398     intervention to clean up.  For notes stored in flagged entries, Org
17399     displays them in the echo area when point is on the corresponding
17400     agenda item.
17401
17402     ‘?’
17403          Pressing ‘?’ displays the entire flagged note in another
17404          window.  Org also pushes it to the kill ring.  To store
17405          flagged note as a normal note, use ‘? z C-y C-c C-c’.
17406          Pressing ‘?’ twice does these things: first it removes the
17407          ‘FLAGGED’ tag; second, it removes the flagged note from the
17408          property drawer; third, it signals that manual editing of the
17409          flagged entry is now finished.
17410
17411   From the agenda dispatcher, ‘?’ returns to the view to finish
17412processing flagged entries.  Note that these entries may not be the most
17413recent since the mobile application searches files that were last
17414pulled.  To get an updated agenda view with changes since the last pull,
17415pull again.
17416
17417   ---------- Footnotes ----------
17418
17419   (1) The file will be empty after this operation.
17420
17421
17422File: org.info,  Node: Hacking,  Next: History and Acknowledgments,  Prev: Miscellaneous,  Up: Top
17423
17424Appendix A Hacking
17425******************
17426
17427This appendix describes some ways a user can extend the functionality of
17428Org.
17429
17430* Menu:
17431
17432* Hooks: Hooks (2).              How to reach into Org’s internals.
17433* Add-on Packages::              Available extensions.
17434* Adding Hyperlink Types::       New custom link types.
17435* Adding Export Back-ends::      How to write new export back-ends.
17436* Tables in Arbitrary Syntax::   Orgtbl for LaTeX and other programs.
17437* Dynamic Blocks::               Automatically filled blocks.
17438* Special Agenda Views::         Customized views.
17439* Speeding Up Your Agendas::     Tips on how to speed up your agendas.
17440* Extracting Agenda Information:: Post-processing agenda information.
17441* Using the Property API::       Writing programs that use entry properties.
17442* Using the Mapping API::        Mapping over all or selected entries.
17443
17444
17445File: org.info,  Node: Hooks (2),  Next: Add-on Packages,  Up: Hacking
17446
17447A.1 Hooks
17448=========
17449
17450Org has a large number of hook variables for adding functionality.  This
17451appendix illustrates using a few.  A complete list of hooks with
17452documentation is maintained by the Worg project at
17453<https://orgmode.org/worg/doc.html#hooks>.
17454
17455
17456File: org.info,  Node: Add-on Packages,  Next: Adding Hyperlink Types,  Prev: Hooks (2),  Up: Hacking
17457
17458A.2 Add-on Packages
17459===================
17460
17461Various authors wrote a large number of add-on packages for Org.
17462
17463   These packages are not part of Emacs, but they are distributed as
17464contributed packages with the separate release available at
17465<https://orgmode.org>.  See the ‘contrib/README’ file in the source code
17466directory for a list of contributed files.  Worg page with more
17467information is at: <https://orgmode.org/worg/org-contrib/>.
17468
17469
17470File: org.info,  Node: Adding Hyperlink Types,  Next: Adding Export Back-ends,  Prev: Add-on Packages,  Up: Hacking
17471
17472A.3 Adding Hyperlink Types
17473==========================
17474
17475Org has many built-in hyperlink types (see *note Hyperlinks::), and an
17476interface for adding new link types.  The following example shows the
17477process of adding Org links to Unix man pages, which look like this
17478
17479     [[man:printf][The printf manual]]
17480
17481The following ‘ol-man.el’ file implements it
17482
17483     ;;; ol-man.el - Support for links to man pages in Org mode
17484     (require 'ol)
17485
17486     (org-link-set-parameters "man"
17487                              :follow #'org-man-open
17488                              :export #'org-man-export
17489                              :store #'org-man-store-link)
17490
17491     (defcustom org-man-command 'man
17492       "The Emacs command to be used to display a man page."
17493       :group 'org-link
17494       :type '(choice (const man) (const woman)))
17495
17496     (defun org-man-open (path _)
17497       "Visit the manpage on PATH.
17498     PATH should be a topic that can be thrown at the man command."
17499       (funcall org-man-command path))
17500
17501     (defun org-man-store-link ()
17502       "Store a link to a man page."
17503       (when (memq major-mode '(Man-mode woman-mode))
17504         ;; This is a man page, we do make this link.
17505         (let* ((page (org-man-get-page-name))
17506                (link (concat "man:" page))
17507                (description (format "Man page for %s" page)))
17508           (org-link-store-props
17509            :type "man"
17510            :link link
17511            :description description))))
17512
17513     (defun org-man-get-page-name ()
17514       "Extract the page name from the buffer name."
17515       ;; This works for both `Man-mode' and `woman-mode'.
17516       (if (string-match " \\(\\S-+\\)\\*" (buffer-name))
17517           (match-string 1 (buffer-name))
17518         (error "Cannot create link to this man page")))
17519
17520     (defun org-man-export (link description format _)
17521       "Export a man page link from Org files."
17522       (let ((path (format "http://man.he.net/?topic=%s&section=all" link))
17523             (desc (or description link)))
17524         (pcase format
17525           (`html (format "<a target=\"_blank\" href=\"%s\">%s</a>" path desc))
17526           (`latex (format "\\href{%s}{%s}" path desc))
17527           (`texinfo (format "@uref{%s,%s}" path desc))
17528           (`ascii (format "%s (%s)" desc path))
17529           (t path))))
17530
17531     (provide ol-man)
17532     ;;; ol-man.el ends here
17533
17534To activate links to man pages in Org, enter this in the Emacs init
17535file:
17536
17537     (require 'ol-man)
17538
17539A review of ‘ol-man.el’:
17540
17541  1. First, ‘(require 'ol)’ ensures that ‘ol.el’ is loaded.
17542
17543  2. Then ‘org-link-set-parameters’ defines a new link type with ‘man’
17544     prefix and associates functions for following, exporting and
17545     storing such links.  See the variable ‘org-link-parameters’ for a
17546     complete list of possible associations.
17547
17548  3. The rest of the file implements necessary variables and functions.
17549
17550     For example, ‘org-man-store-link’ is responsible for storing a link
17551     when ‘org-store-link’ (see *note Handling Links::) is called from a
17552     buffer displaying a man page.  It first checks if the major mode is
17553     appropriate.  If check fails, the function returns ‘nil’, which
17554     means it isn’t responsible for creating a link to the current
17555     buffer.  Otherwise the function makes a link string by combining
17556     the ‘man:’ prefix with the man topic.  It also provides a default
17557     description.  The function ‘org-insert-link’ can insert it back
17558     into an Org buffer later on.
17559
17560
17561File: org.info,  Node: Adding Export Back-ends,  Next: Tables in Arbitrary Syntax,  Prev: Adding Hyperlink Types,  Up: Hacking
17562
17563A.4 Adding Export Back-ends
17564===========================
17565
17566Org’s export engine makes it easy for writing new back-ends.  The
17567framework on which the engine was built makes it easy to derive new
17568back-ends from existing ones.
17569
17570   The two main entry points to the export engine are:
17571‘org-export-define-backend’ and ‘org-export-define-derived-backend’.  To
17572grok these functions, see ‘ox-latex.el’ for an example of defining a new
17573back-end from scratch, and ‘ox-beamer.el’ for an example of deriving
17574from an existing engine.
17575
17576   For creating a new back-end from scratch, first set its name as a
17577symbol in an alist consisting of elements and export functions.  To make
17578the back-end visible to the export dispatcher, set ‘:menu-entry’
17579keyword.  For export options specific to this back-end, set the
17580‘:options-alist’.
17581
17582   For creating a new back-end from an existing one, set
17583‘:translate-alist’ to an alist of export functions.  This alist replaces
17584the parent back-end functions.
17585
17586   For complete documentation, see the Org Export Reference on Worg
17587(https://orgmode.org/worg/dev/org-export-reference.html).
17588
17589
17590File: org.info,  Node: Tables in Arbitrary Syntax,  Next: Dynamic Blocks,  Prev: Adding Export Back-ends,  Up: Hacking
17591
17592A.5 Tables in Arbitrary Syntax
17593==============================
17594
17595Due to Org’s success in handling tables with Orgtbl, a frequently
17596requested feature is the use of Org’s table functions in other modes,
17597e.g., LaTeX.  This would be hard to do in a general way without
17598complicated customization nightmares.  Moreover, that would take Org
17599away from its simplicity roots that Orgtbl has proven.  There is,
17600however, an alternate approach to accomplishing the same.
17601
17602   This approach involves implementing a custom _translate_ function
17603that operates on a native Org _source table_ to produce a table in
17604another format.  This strategy would keep the excellently working Orgtbl
17605simple and isolate complications, if any, confined to the translate
17606function.  To add more alien table formats, we just add more translate
17607functions.  Also the burden of developing custom translate functions for
17608new table formats is in the hands of those who know those formats best.
17609
17610* Menu:
17611
17612* Radio tables::                 Sending and receiving radio tables.
17613* A LaTeX example::           Step by step, almost a tutorial.
17614* Translator functions::         Copy and modify.
17615
17616
17617File: org.info,  Node: Radio tables,  Next: A LaTeX example,  Up: Tables in Arbitrary Syntax
17618
17619A.5.1 Radio tables
17620------------------
17621
17622Radio tables are target locations for translated tables that are not
17623near their source.  Org finds the target location and inserts the
17624translated table.
17625
17626   The key to finding the target location is the magic words ‘BEGIN/END
17627RECEIVE ORGTBL’.  They have to appear as comments in the current mode.
17628If the mode is C, then:
17629
17630     /* BEGIN RECEIVE ORGTBL table_name */
17631     /* END RECEIVE ORGTBL table_name */
17632
17633   At the location of source, Org needs a special line to direct Orgtbl
17634to translate and to find the target for inserting the translated table.
17635For example:
17636
17637     #+ORGTBL: SEND table_name translation_function arguments ...
17638
17639‘table_name’ is the table’s reference name, which is also used in the
17640receiver lines, and the ‘translation_function’ is the Lisp function that
17641translates.  This line, in addition, may also contain alternating key
17642and value arguments at the end.  The translation function gets these
17643values as a property list.  A few standard parameters are already
17644recognized and acted upon before the translation function is called:
17645
17646‘:skip N’
17647     Skip the first N lines of the table.  Hlines do count; include them
17648     if they are to be skipped.
17649
17650‘:skipcols (n1 n2 ...)’
17651     List of columns to be skipped.  First Org automatically discards
17652     columns with calculation marks and then sends the table to the
17653     translator function, which then skips columns as specified in
17654     ‘skipcols’.
17655
17656   To keep the source table intact in the buffer without being disturbed
17657when the source file is compiled or otherwise being worked on, use one
17658of these strategies:
17659
17660   • Place the table in a block comment.  For example, in C mode you
17661     could wrap the table between ‘/*’ and ‘*/’ lines.
17662
17663   • Put the table after an “end” statement.  For example ‘\bye’ in TeX
17664     and ‘\end{document}’ in LaTeX.
17665
17666   • Comment and un-comment each line of the table during edits.  The
17667     ‘M-x orgtbl-toggle-comment’ command makes toggling easy.
17668
17669
17670File: org.info,  Node: A LaTeX example,  Next: Translator functions,  Prev: Radio tables,  Up: Tables in Arbitrary Syntax
17671
17672A.5.2 A LaTeX example of radio tables
17673-------------------------------------
17674
17675To wrap a source table in LaTeX, use the ‘comment’ environment provided
17676by ‘comment.sty’(1).  To activate it, put ‘\usepackage{comment}’ in the
17677document header.  Orgtbl mode inserts a radio table skeleton(2) with the
17678command ‘M-x orgtbl-insert-radio-table’, which prompts for a table name.
17679For example, if ‘salesfigures’ is the name, the template inserts:
17680
17681     % BEGIN RECEIVE ORGTBL salesfigures
17682     % END RECEIVE ORGTBL salesfigures
17683     \begin{comment}
17684     #+ORGTBL: SEND salesfigures orgtbl-to-latex
17685     | | |
17686     \end{comment}
17687
17688The line ‘#+ORGTBL: SEND’ tells Orgtbl mode to use the function
17689‘orgtbl-to-latex’ to convert the table to LaTeX format, then insert the
17690table at the target (receive) location named ‘salesfigures’.  Now the
17691table is ready for data entry.  It can even use spreadsheet features(3):
17692
17693     % BEGIN RECEIVE ORGTBL salesfigures
17694     % END RECEIVE ORGTBL salesfigures
17695     \begin{comment}
17696     #+ORGTBL: SEND salesfigures orgtbl-to-latex
17697     | Month | Days | Nr sold | per day |
17698     |-------+------+---------+---------|
17699     | Jan   |   23 |      55 |     2.4 |
17700     | Feb   |   21 |      16 |     0.8 |
17701     | March |   22 |     278 |    12.6 |
17702     #+TBLFM: $4=$3/$2;%.1f
17703     % $ (optional extra dollar to keep Font Lock happy, see footnote)
17704     \end{comment}
17705
17706   After editing, ‘C-c C-c’ inserts the translated table at the target
17707location, between the two marker lines.
17708
17709   For hand-made custom tables, note that the translator needs to skip
17710the first two lines of the source table.  Also the command has to
17711_splice_ out the target table without the header and footer.
17712
17713     \begin{tabular}{lrrr}
17714     Month & \multicolumn{1}{c}{Days} & Nr.\ sold & per day\\
17715     % BEGIN RECEIVE ORGTBL salesfigures
17716     % END RECEIVE ORGTBL salesfigures
17717     \end{tabular}
17718     %
17719     \begin{comment}
17720     #+ORGTBL: SEND salesfigures orgtbl-to-latex :splice t :skip 2
17721     | Month | Days | Nr sold | per day |
17722     |-------+------+---------+---------|
17723     | Jan   |   23 |      55 |     2.4 |
17724     | Feb   |   21 |      16 |     0.8 |
17725     | March |   22 |     278 |    12.6 |
17726     #+TBLFM: $4=$3/$2;%.1f
17727     \end{comment}
17728
17729   The LaTeX translator function ‘orgtbl-to-latex’ is already part of
17730Orgtbl mode and uses a ‘tabular’ environment to typeset the table and
17731marks horizontal lines with ‘\hline’.  For additional parameters to
17732control output, see *note Translator functions:::
17733
17734‘:splice BOOLEAN’
17735     When {{{var(BOOLEAN}}} is non-‘nil’, return only table body lines;
17736     i.e., not wrapped in ‘tabular’ environment.  Default is ‘nil’.
17737
17738‘:fmt FMT’
17739     Format string to warp each field.  It should contain ‘%s’ for the
17740     original field value.  For example, to wrap each field value in
17741     dollar symbol, you could use ‘:fmt "$%s$"’.  Format can also wrap a
17742     property list with column numbers and formats, for example ‘:fmt (2
17743     "$%s$" 4 "%s\\%%")’.  In place of a string, a function of one
17744     argument can be used; the function must return a formatted string.
17745
17746‘:efmt EFMT’
17747     Format numbers as exponentials.  The spec should have ‘%s’ twice
17748     for inserting mantissa and exponent, for example
17749     ‘"%s\\times10^{%s}"’.  This may also be a property list with column
17750     numbers and formats, for example ‘:efmt (2 "$%s\\times10^{%s}$" 4
17751     "$%s\\cdot10^{%s}$")’.  After EFMT has been applied to a value,
17752     FMT—see above—is also applied.  Functions with two arguments can be
17753     supplied instead of strings.  By default, no special formatting is
17754     applied.
17755
17756   ---------- Footnotes ----------
17757
17758   (1) <https://www.ctan.org/pkg/comment>
17759
17760   (2) By default this works only for LaTeX, HTML, and Texinfo.
17761Configure the variable ‘orgtbl-radio-table-templates’ to install
17762templates for other modes.
17763
17764   (3) If the ‘TBLFM’ keyword contains an odd number of dollar
17765characters, this may cause problems with Font Lock in LaTeX mode.  As
17766shown in the example you can fix this by adding an extra line inside the
17767‘comment’ environment that is used to balance the dollar expressions.
17768If you are using AUCTeX with the font-latex library, a much better
17769solution is to add the ‘comment’ environment to the variable
17770‘LaTeX-verbatim-environments’.
17771
17772
17773File: org.info,  Node: Translator functions,  Prev: A LaTeX example,  Up: Tables in Arbitrary Syntax
17774
17775A.5.3 Translator functions
17776--------------------------
17777
17778Orgtbl mode has built-in translator functions: ‘orgtbl-to-csv’
17779(comma-separated values), ‘orgtbl-to-tsv’ (TAB-separated values),
17780‘orgtbl-to-latex’, ‘orgtbl-to-html’, ‘orgtbl-to-texinfo’,
17781‘orgtbl-to-unicode’ and ‘orgtbl-to-orgtbl’.  They use the generic
17782translator, ‘orgtbl-to-generic’, which delegates translations to various
17783export back-ends.
17784
17785   Properties passed to the function through the ‘ORGTBL SEND’ line take
17786precedence over properties defined inside the function.  For example,
17787this overrides the default LaTeX line endings, ‘\\’, with ‘\\[2mm]’:
17788
17789     #+ORGTBL: SEND test orgtbl-to-latex :lend " \\\\[2mm]"
17790
17791   For a new language translator, define a converter function.  It can
17792be a generic function, such as shown in this example.  It marks a
17793beginning and ending of a table with ‘!BTBL!’ and ‘!ETBL!’; a beginning
17794and ending of lines with ‘!BL!’ and ‘!EL!’; and uses a TAB for a field
17795separator:
17796
17797     (defun orgtbl-to-language (table params)
17798       "Convert the orgtbl-mode TABLE to language."
17799       (orgtbl-to-generic
17800        table
17801        (org-combine-plists
17802         '(:tstart "!BTBL!" :tend "!ETBL!" :lstart "!BL!" :lend "!EL!" :sep "\t")
17803         params)))
17804
17805The documentation for the ‘orgtbl-to-generic’ function shows a complete
17806list of parameters, each of which can be passed through to
17807‘orgtbl-to-latex’, ‘orgtbl-to-texinfo’, and any other function using
17808that generic function.
17809
17810   For complicated translations the generic translator function could be
17811replaced by a custom translator function.  Such a custom function must
17812take two arguments and return a single string containing the formatted
17813table.  The first argument is the table whose lines are a list of fields
17814or the symbol ‘hline’.  The second argument is the property list
17815consisting of parameters specified in the ‘#+ORGTBL: SEND’ line.  Please
17816share your translator functions by posting them to the Org users mailing
17817list, at <emacs-orgmode@gnu.org>.
17818
17819
17820File: org.info,  Node: Dynamic Blocks,  Next: Special Agenda Views,  Prev: Tables in Arbitrary Syntax,  Up: Hacking
17821
17822A.6 Dynamic Blocks
17823==================
17824
17825Org supports _dynamic blocks_ in Org documents.  They are inserted with
17826begin and end markers like any other code block, but the contents are
17827updated automatically by a user function.
17828
17829   You can insert a dynamic block with
17830‘org-dynamic-block-insert-dblock’, which is bound to ‘C-c C-x x’ by
17831default.  For example, ‘C-c C-x x c l o c k t a b l e <RET>’ inserts a
17832table that updates the work time (see *note Clocking Work Time::).
17833
17834   Dynamic blocks can have names and function parameters.  The syntax is
17835similar to source code block specifications:
17836
17837     #+BEGIN: myblock :parameter1 value1 :parameter2 value2 ...
17838       ...
17839     #+END:
17840
17841   These commands update dynamic blocks:
17842
17843‘C-c C-x C-u’ (‘org-dblock-update’)
17844     Update dynamic block at point.
17845
17846‘C-u C-c C-x C-u’
17847     Update all dynamic blocks in the current file.
17848
17849   Before updating a dynamic block, Org removes content between the
17850‘BEGIN’ and ‘END’ markers.  Org then reads the parameters on the ‘BEGIN’
17851line for passing to the writer function as a plist.  The previous
17852content of the dynamic block becomes erased from the buffer and appended
17853to the plist under ‘:content’.
17854
17855   The syntax for naming a writer function with a dynamic block labeled
17856‘myblock’ is: ‘org-dblock-write:myblock’.
17857
17858   The following is an example of a dynamic block and a block writer
17859function that updates the time when the function was last run:
17860
17861     #+BEGIN: block-update-time :format "on %m/%d/%Y at %H:%M"
17862       ...
17863     #+END:
17864
17865The dynamic block’s writer function:
17866
17867     (defun org-dblock-write:block-update-time (params)
17868       (let ((fmt (or (plist-get params :format) "%d. %m. %Y")))
17869         (insert "Last block update at: "
17870                 (format-time-string fmt))))
17871
17872   To keep dynamic blocks up-to-date in an Org file, use the function,
17873‘org-update-all-dblocks’ in hook, such as ‘before-save-hook’.  The
17874‘org-update-all-dblocks’ function does not run if the file is not in Org
17875mode.
17876
17877   Dynamic blocks, like any other block, can be narrowed with
17878‘org-narrow-to-block’.
17879
17880
17881File: org.info,  Node: Special Agenda Views,  Next: Speeding Up Your Agendas,  Prev: Dynamic Blocks,  Up: Hacking
17882
17883A.7 Special Agenda Views
17884========================
17885
17886Org provides a special hook to further limit items in agenda views:
17887‘agenda’, ‘agenda*’(1), ‘todo’, ‘alltodo’, ‘tags’, ‘tags-todo’,
17888‘tags-tree’.  Specify a custom function that tests inclusion of every
17889matched item in the view.  This function can also skip as much as is
17890needed.
17891
17892   For a global condition applicable to agenda views, use the
17893‘org-agenda-skip-function-global’ variable.  Org uses a global condition
17894with ‘org-agenda-skip-function’ for custom searching.
17895
17896   This example defines a function for a custom view showing TODO items
17897with ‘waiting’ status.  Manually this is a multi-step search process,
17898but with a custom view, this can be automated as follows:
17899
17900   The custom function searches the subtree for the ‘waiting’ tag and
17901returns ‘nil’ on match.  Otherwise it gives the location from where the
17902search continues.
17903
17904     (defun my-skip-unless-waiting ()
17905       "Skip trees that are not waiting"
17906       (let ((subtree-end (save-excursion (org-end-of-subtree t))))
17907         (if (re-search-forward ":waiting:" subtree-end t)
17908             nil          ; tag found, do not skip
17909           subtree-end))) ; tag not found, continue after end of subtree
17910
17911   To use this custom function in a custom agenda command:
17912
17913     (org-add-agenda-custom-command
17914      '("b" todo "PROJECT"
17915        ((org-agenda-skip-function 'my-skip-unless-waiting)
17916         (org-agenda-overriding-header "Projects waiting for something: "))))
17917
17918   Note that this also binds ‘org-agenda-overriding-header’ to a more
17919meaningful string suitable for the agenda view.
17920
17921   Search for entries with a limit set on levels for the custom search.
17922This is a general approach to creating custom searches in Org.  To
17923include all levels, use ‘LEVEL>0’(2).  Then to selectively pick the
17924matched entries, use ‘org-agenda-skip-function’, which also accepts Lisp
17925forms, such as ‘org-agenda-skip-entry-if’ and
17926‘org-agenda-skip-subtree-if’.  For example:
17927
17928‘(org-agenda-skip-entry-if 'scheduled)’
17929     Skip current entry if it has been scheduled.
17930
17931‘(org-agenda-skip-entry-if 'notscheduled)’
17932     Skip current entry if it has not been scheduled.
17933
17934‘(org-agenda-skip-entry-if 'deadline)’
17935     Skip current entry if it has a deadline.
17936
17937‘(org-agenda-skip-entry-if 'scheduled 'deadline)’
17938     Skip current entry if it has a deadline, or if it is scheduled.
17939
17940‘(org-agenda-skip-entry-if 'todo '("TODO" "WAITING"))’
17941     Skip current entry if the TODO keyword is TODO or WAITING.
17942
17943‘(org-agenda-skip-entry-if 'todo 'done)’
17944     Skip current entry if the TODO keyword marks a DONE state.
17945
17946‘(org-agenda-skip-entry-if 'timestamp)’
17947     Skip current entry if it has any timestamp, may also be deadline or
17948     scheduled.
17949
17950‘(org-agenda-skip-entry-if 'regexp "regular expression")’
17951     Skip current entry if the regular expression matches in the entry.
17952
17953‘(org-agenda-skip-entry-if 'notregexp "regular expression")’
17954     Skip current entry unless the regular expression matches.
17955
17956‘(org-agenda-skip-subtree-if 'regexp "regular expression")’
17957     Same as above, but check and skip the entire subtree.
17958
17959   The following is an example of a search for ‘waiting’ without the
17960special function:
17961
17962     (org-add-agenda-custom-command
17963      '("b" todo "PROJECT"
17964        ((org-agenda-skip-function '(org-agenda-skip-subtree-if
17965                                     'regexp ":waiting:"))
17966         (org-agenda-overriding-header "Projects waiting for something: "))))
17967
17968   ---------- Footnotes ----------
17969
17970   (1) The ‘agenda*’ view is the same as ‘agenda’ except that it only
17971considers _appointments_, i.e., scheduled and deadline items that have a
17972time specification ‘[h]h:mm’ in their time-stamps.
17973
17974   (2) Note that, for ‘org-odd-levels-only’, a level number corresponds
17975to order in the hierarchy, not to the number of stars.
17976
17977
17978File: org.info,  Node: Speeding Up Your Agendas,  Next: Extracting Agenda Information,  Prev: Special Agenda Views,  Up: Hacking
17979
17980A.8 Speeding Up Your Agendas
17981============================
17982
17983Some agenda commands slow down when the Org files grow in size or
17984number.  Here are tips to speed up:
17985
17986   • Reduce the number of Org agenda files to avoid slowdowns due to
17987     hard drive accesses.
17988
17989   • Reduce the number of DONE and archived headlines so agenda
17990     operations that skip over these can finish faster.
17991
17992   • Do not dim blocked tasks:
17993
17994          (setq org-agenda-dim-blocked-tasks nil)
17995
17996   • Stop preparing agenda buffers on startup:
17997
17998          (setq org-agenda-inhibit-startup t)
17999
18000   • Disable tag inheritance for agendas:
18001
18002          (setq org-agenda-use-tag-inheritance nil)
18003
18004   These options can be applied to selected agenda views.  For more
18005details about generation of agenda views, see the docstrings for the
18006relevant variables, and this dedicated Worg page
18007(https://orgmode.org/worg/agenda-optimization.html) for agenda
18008optimization.
18009
18010
18011File: org.info,  Node: Extracting Agenda Information,  Next: Using the Property API,  Prev: Speeding Up Your Agendas,  Up: Hacking
18012
18013A.9 Extracting Agenda Information
18014=================================
18015
18016Org provides commands to access agendas through Emacs batch mode.
18017Through this command-line interface, agendas are automated for further
18018processing or printing.
18019
18020   ‘org-batch-agenda’ creates an agenda view in ASCII and outputs to
18021standard output.  This command takes one string parameter.  When string
18022consists of a single character, Org uses it as a key to
18023‘org-agenda-custom-commands’.  These are the same ones available through
18024the agenda dispatcher (see *note Agenda Dispatcher::).
18025
18026   This example command line directly prints the TODO list to the
18027printer:
18028
18029     emacs -batch -l ~/.emacs -eval '(org-batch-agenda "t")' | lpr
18030
18031   When the string parameter length is two or more characters, Org
18032matches it with tags/TODO strings.  For example, this example command
18033line prints items tagged with ‘shop’, but excludes items tagged with
18034‘NewYork’:
18035
18036     emacs -batch -l ~/.emacs                                      \
18037           -eval '(org-batch-agenda "+shop-NewYork")' | lpr
18038
18039An example showing on-the-fly parameter modifications:
18040
18041     emacs -batch -l ~/.emacs                                      \
18042        -eval '(org-batch-agenda "a"                               \
18043                org-agenda-span (quote month)                      \
18044                org-agenda-include-diary nil                       \
18045                org-agenda-files (quote ("~/org/project.org")))'   \
18046        | lpr
18047
18048which produces an agenda for the next 30 days from just the
18049‘~/org/projects.org’ file.
18050
18051   For structured processing of agenda output, use
18052‘org-batch-agenda-csv’ with the following fields:
18053
18054category
18055     The category of the item
18056head
18057     The headline, without TODO keyword, TAGS and PRIORITY
18058type
18059     The type of the agenda entry, can be
18060
18061     ‘todo’                selected in TODO match
18062     ‘tagsmatch’           selected in tags match
18063     ‘diary’               imported from diary
18064     ‘deadline’            a deadline
18065     ‘scheduled’           scheduled
18066     ‘timestamp’           appointment, selected by timestamp
18067     ‘closed’              entry was closed on date
18068     ‘upcoming-deadline’   warning about nearing deadline
18069     ‘past-scheduled’      forwarded scheduled item
18070     ‘block’               entry has date block including date
18071
18072todo
18073     The TODO keyword, if any
18074tags
18075     All tags including inherited ones, separated by colons
18076date
18077     The relevant date, like ‘2007-2-14’
18078time
18079     The time, like ‘15:00-16:50’
18080extra
18081     String with extra planning info
18082priority-l
18083     The priority letter if any was given
18084priority-n
18085     The computed numerical priority
18086
18087   If the selection of the agenda item was based on a timestamp,
18088including those items with ‘DEADLINE’ and ‘SCHEDULED’ keywords, then Org
18089includes date and time in the output.
18090
18091   If the selection of the agenda item was based on a timestamp (or
18092deadline/scheduled), then Org includes date and time in the output.
18093
18094   Here is an example of a post-processing script in Perl.  It takes the
18095CSV output from Emacs and prints with a checkbox:
18096
18097     #!/usr/bin/perl
18098
18099     # define the Emacs command to run
18100     $cmd = "emacs -batch -l ~/.emacs -eval '(org-batch-agenda-csv \"t\")'";
18101
18102     # run it and capture the output
18103     $agenda = qx{$cmd 2>/dev/null};
18104
18105     # loop over all lines
18106     foreach $line (split(/\n/,$agenda)) {
18107         # get the individual values
18108         ($category,$head,$type,$todo,$tags,$date,$time,$extra,
18109          $priority_l,$priority_n) = split(/,/,$line);
18110         # process and print
18111         print "[ ] $head\n";
18112     }
18113
18114
18115File: org.info,  Node: Using the Property API,  Next: Using the Mapping API,  Prev: Extracting Agenda Information,  Up: Hacking
18116
18117A.10 Using the Property API
18118===========================
18119
18120Here is a description of the functions that can be used to work with
18121properties.
18122
18123 -- Function: org-entry-properties &optional pom which
18124     Get all properties of the entry at point-or-marker POM.  This
18125     includes the TODO keyword, the tags, time strings for deadline,
18126     scheduled, and clocking, and any additional properties defined in
18127     the entry.  The return value is an alist.  Keys may occur multiple
18128     times if the property key was used several times.  POM may also be
18129     ‘nil’, in which case the current entry is used.  If WHICH is ‘nil’
18130     or ‘all’, get all properties.  If WHICH is ‘special’ or ‘standard’,
18131     only get that subclass.
18132
18133 -- Function: org-entry-get pom property &optional inherit
18134     Get value of PROPERTY for entry at point-or-marker POM.  By
18135     default, this only looks at properties defined locally in the
18136     entry.  If INHERIT is non-‘nil’ and the entry does not have the
18137     property, then also check higher levels of the hierarchy.  If
18138     INHERIT is the symbol ‘selective’, use inheritance if and only if
18139     the setting of ‘org-use-property-inheritance’ selects PROPERTY for
18140     inheritance.
18141
18142 -- Function: org-entry-delete pom property
18143     Delete the property PROPERTY from entry at point-or-marker POM.
18144
18145 -- Function: org-entry-put pom property value
18146     Set PROPERTY to VALUES for entry at point-or-marker POM.
18147
18148 -- Function: org-buffer-property-keys &optional include-specials
18149     Get all property keys in the current buffer.
18150
18151 -- Function: org-insert-property-drawer
18152     Insert a property drawer for the current entry.  Also
18153
18154 -- Function: org-entry-put-multivalued-property pom property &rest
18155          values
18156     Set PROPERTY at point-or-marker POM to VALUES.  VALUES should be a
18157     list of strings.  They are concatenated, with spaces as separators.
18158
18159 -- Function: org-entry-get-multivalued-property pom property
18160     Treat the value of the property PROPERTY as a whitespace-separated
18161     list of values and return the values as a list of strings.
18162
18163 -- Function: org-entry-add-to-multivalued-property pom property value
18164     Treat the value of the property PROPERTY as a whitespace-separated
18165     list of values and make sure that VALUE is in this list.
18166
18167 -- Function: org-entry-remove-from-multivalued-property pom property
18168          value
18169     Treat the value of the property PROPERTY as a whitespace-separated
18170     list of values and make sure that VALUE is _not_ in this list.
18171
18172 -- Function: org-entry-member-in-multivalued-property pom property
18173          value
18174     Treat the value of the property PROPERTY as a whitespace-separated
18175     list of values and check if VALUE is in this list.
18176
18177 -- User Option: org-property-allowed-value-functions
18178     Hook for functions supplying allowed values for a specific
18179     property.  The functions must take a single argument, the name of
18180     the property, and return a flat list of allowed values.  If ‘:ETC’
18181     is one of the values, use the values as completion help, but allow
18182     also other values to be entered.  The functions must return ‘nil’
18183     if they are not responsible for this property.
18184
18185
18186File: org.info,  Node: Using the Mapping API,  Prev: Using the Property API,  Up: Hacking
18187
18188A.11 Using the Mapping API
18189==========================
18190
18191Org has sophisticated mapping capabilities to find all entries
18192satisfying certain criteria.  Internally, this functionality is used to
18193produce agenda views, but there is also an API that can be used to
18194execute arbitrary functions for each or selected entries.  The main
18195entry point for this API is:
18196
18197 -- Function: org-map-entries func &optional match scope &rest skip
18198     Call FUNC at each headline selected by MATCH in SCOPE.
18199
18200     FUNC is a function or a Lisp form.  With point positioned at the
18201     beginning of the headline, call the function without arguments.
18202     Org returns an alist of return values of calls to the function.
18203
18204     To avoid preserving point, Org wraps the call to FUNC in
18205     ‘save-excursion’ form.  After evaluation, Org moves point to the
18206     end of the line that was just processed.  Search continues from
18207     that point forward.  This may not always work as expected under
18208     some conditions, such as if the current sub-tree was removed by a
18209     previous archiving operation.  In such rare circumstances, Org
18210     skips the next entry entirely when it should not.  To stop Org from
18211     such skips, make FUNC set the variable ‘org-map-continue-from’ to a
18212     specific buffer position.
18213
18214     MATCH is a tags/property/TODO match.  Org iterates only matched
18215     headlines.  Org iterates over all headlines when MATCH is ‘nil’ or
18216     ‘t’.
18217
18218     SCOPE determines the scope of this command.  It can be any of:
18219
18220     ‘nil’
18221          The current buffer, respecting the restriction, if any.
18222
18223     ‘tree’
18224          The subtree started with the entry at point.
18225
18226     ‘region’
18227          The entries within the active region, if any.
18228
18229     ‘file’
18230          The current buffer, without restriction.
18231
18232     ‘file-with-archives’
18233          The current buffer, and any archives associated with it.
18234
18235     ‘agenda’
18236          All agenda files.
18237
18238     ‘agenda-with-archives’
18239          All agenda files with any archive files associated with them.
18240
18241     list of filenames
18242          If this is a list, all files in the list are scanned.
18243
18244     The remaining arguments are treated as settings for the scanner’s
18245     skipping facilities.  Valid arguments are:
18246
18247     ‘archive’
18248          Skip trees with the ‘ARCHIVE’ tag.
18249
18250     ‘comment’
18251          Skip trees with the COMMENT keyword.
18252
18253     function or Lisp form
18254          Used as value for ‘org-agenda-skip-function’, so whenever the
18255          function returns ‘t’, FUNC is called for that entry and search
18256          continues from the point where the function leaves it.
18257
18258   The mapping routine can call any arbitrary function, even functions
18259that change meta data or query the property API (see *note Using the
18260Property API::).  Here are some handy functions:
18261
18262 -- Function: org-todo &optional arg
18263     Change the TODO state of the entry.  See the docstring of the
18264     functions for the many possible values for the argument ARG.
18265
18266 -- Function: org-priority &optional action
18267     Change the priority of the entry.  See the docstring of this
18268     function for the possible values for ACTION.
18269
18270 -- Function: org-toggle-tag tag &optional onoff
18271     Toggle the tag TAG in the current entry.  Setting ONOFF to either
18272     ‘on’ or ‘off’ does not toggle tag, but ensure that it is either on
18273     or off.
18274
18275 -- Function: org-promote
18276     Promote the current entry.
18277
18278 -- Function: org-demote
18279     Demote the current entry.
18280
18281   This example turns all entries tagged with ‘TOMORROW’ into TODO
18282entries with keyword ‘UPCOMING’.  Org ignores entries in comment trees
18283and archive trees.
18284
18285     (org-map-entries '(org-todo "UPCOMING")
18286                      "+TOMORROW" 'file 'archive 'comment)
18287
18288   The following example counts the number of entries with TODO keyword
18289‘WAITING’, in all agenda files.
18290
18291     (length (org-map-entries t "/+WAITING" 'agenda))
18292
18293
18294File: org.info,  Node: History and Acknowledgments,  Next: GNU Free Documentation License,  Prev: Hacking,  Up: Top
18295
18296Appendix B History and Acknowledgments
18297**************************************
18298
18299B.1 From Carsten
18300================
18301
18302Org was born in 2003, out of frustration over the user interface of the
18303Emacs Outline mode.  I was trying to organize my notes and projects, and
18304using Emacs seemed to be the natural way to go.  However, having to
18305remember eleven different commands with two or three keys per command,
18306only to hide and show parts of the outline tree, that seemed entirely
18307unacceptable to me.  Also, when using outlines to take notes, I
18308constantly wanted to restructure the tree, organizing it parallel to my
18309thoughts and plans.  _Visibility cycling_ and _structure editing_ were
18310originally implemented in the package ‘outline-magic.el’, but quickly
18311moved to the more general ‘org.el’.  As this environment became
18312comfortable for project planning, the next step was adding _TODO
18313entries_, basic _timestamps_, and _table support_.  These areas
18314highlighted the two main goals that Org still has today: to be a new,
18315outline-based, plain text mode with innovative and intuitive editing
18316features, and to incorporate project planning functionality directly
18317into a notes file.
18318
18319   Since the first release, literally thousands of emails to me or to
18320the mailing list <emacs-orgmode@gnu.org> have provided a constant stream
18321of bug reports, feedback, new ideas, and sometimes patches and add-on
18322code.  Many thanks to everyone who has helped to improve this package.
18323I am trying to keep here a list of the people who had significant
18324influence in shaping one or more aspects of Org.  The list may not be
18325complete, if I have forgotten someone, please accept my apologies and
18326let me know.
18327
18328   Before I get to this list, a few special mentions are in order:
18329
18330Bastien Guerry
18331     Bastien has written a large number of extensions to Org (most of
18332     them integrated into the core by now), including the LaTeX exporter
18333     and the plain list parser.  His support during the early days was
18334     central to the success of this project.  Bastien also invented
18335     Worg, helped establishing the Web presence of Org, and sponsored
18336     hosting costs for the orgmode.org website.  Bastien stepped in as
18337     maintainer of Org between 2011 and 2013, at a time when I
18338     desperately needed a break.
18339
18340Eric Schulte and Dan Davison
18341     Eric and Dan are jointly responsible for the Org Babel system,
18342     which turns Org into a multi-language environment for evaluating
18343     code and doing literate programming and reproducible research.
18344     This has become one of Org’s killer features that define what Org
18345     is today.
18346
18347John Wiegley
18348     John has contributed a number of great ideas and patches directly
18349     to Org, including the attachment system (‘org-attach.el’),
18350     integration with Apple Mail (‘org-mac-message.el’), hierarchical
18351     dependencies of TODO items, habit tracking (‘org-habits.el’), and
18352     encryption (‘org-crypt.el’).  Also, the capture system is really an
18353     extended copy of his great ‘remember.el’.
18354
18355Sebastian Rose
18356     Without Sebastian, the HTML/XHTML publishing of Org would be the
18357     pitiful work of an ignorant amateur.  Sebastian has pushed this
18358     part of Org onto a much higher level.  He also wrote ‘org-info.js’,
18359     a JavaScript program for displaying webpages derived from Org using
18360     an Info-like or a folding interface with single-key navigation.
18361
18362   See below for the full list of contributions!  Again, please let me
18363know what I am missing here!
18364
18365B.2 From Bastien
18366================
18367
18368I (Bastien) have been maintaining Org between 2011 and 2013.  This
18369appendix would not be complete without adding a few more acknowledgments
18370and thanks.
18371
18372   I am first grateful to Carsten for his trust while handing me over
18373the maintainership of Org.  His unremitting support is what really
18374helped me getting more confident over time, with both the community and
18375the code.
18376
18377   When I took over maintainership, I knew I would have to make Org more
18378collaborative than ever, as I would have to rely on people that are more
18379knowledgeable than I am on many parts of the code.  Here is a list of
18380the persons I could rely on, they should really be considered
18381co-maintainers, either of the code or the community:
18382
18383Eric Schulte
18384     Eric is maintaining the Babel parts of Org.  His reactivity here
18385     kept me away from worrying about possible bugs here and let me
18386     focus on other parts.
18387
18388Nicolas Goaziou
18389     Nicolas is maintaining the consistency of the deepest parts of Org.
18390     His work on ‘org-element.el’ and ‘ox.el’ has been outstanding, and
18391     it opened the doors for many new ideas and features.  He rewrote
18392     many of the old exporters to use the new export engine, and helped
18393     with documenting this major change.  More importantly (if that’s
18394     possible), he has been more than reliable during all the work done
18395     for Org 8.0, and always very reactive on the mailing list.
18396
18397Achim Gratz
18398     Achim rewrote the building process of Org, turning some _ad hoc_
18399     tools into a flexible and conceptually clean process.  He patiently
18400     coped with the many hiccups that such a change can create for
18401     users.
18402
18403Nick Dokos
18404     The Org mode mailing list would not be such a nice place without
18405     Nick, who patiently helped users so many times.  It is impossible
18406     to overestimate such a great help, and the list would not be so
18407     active without him.
18408
18409   I received support from so many users that it is clearly impossible
18410to be fair when shortlisting a few of them, but Org’s history would not
18411be complete if the ones above were not mentioned in this manual.
18412
18413B.3 List of Contributions
18414=========================
18415
18416   • Russell Adams came up with the idea for drawers.
18417
18418   • Thomas Baumann wrote ‘ol-bbdb.el’ and ‘ol-mhe.el’.
18419
18420   • Christophe Bataillon created the great unicorn logo that we use on
18421     the Org mode website.
18422
18423   • Alex Bochannek provided a patch for rounding timestamps.
18424
18425   • Jan Böcker wrote ‘ol-docview.el’.
18426
18427   • Brad Bozarth showed how to pull RSS feed data into Org files.
18428
18429   • Tom Breton wrote ‘org-choose.el’.
18430
18431   • Charles Cave’s suggestion sparked the implementation of templates
18432     for Remember, which are now templates for capture.
18433
18434   • Pavel Chalmoviansky influenced the agenda treatment of items with
18435     specified time.
18436
18437   • Gregory Chernov patched support for Lisp forms into table
18438     calculations and improved XEmacs compatibility, in particular by
18439     porting ‘nouline.el’ to XEmacs.
18440
18441   • Sacha Chua suggested copying some linking code from Planner.
18442
18443   • Baoqiu Cui contributed the DocBook exporter.
18444
18445   • Eddward DeVilla proposed and tested checkbox statistics.  He also
18446     came up with the idea of properties, and that there should be an
18447     API for them.
18448
18449   • Nick Dokos tracked down several nasty bugs.
18450
18451   • Kees Dullemond used to edit projects lists directly in HTML and so
18452     inspired some of the early development, including HTML export.  He
18453     also asked for a way to narrow wide table columns.
18454
18455   • Thomas S. Dye contributed documentation on Worg and helped
18456     integrating the Org Babel documentation into the manual.
18457
18458   • Christian Egli converted the documentation into Texinfo format,
18459     inspired the agenda, patched CSS formatting into the HTML exporter,
18460     and wrote ‘org-taskjuggler.el’.
18461
18462   • David Emery provided a patch for custom CSS support in exported
18463     HTML agendas.
18464
18465   • Nic Ferrier contributed mailcap and XOXO support.
18466
18467   • Miguel A. Figueroa-Villanueva implemented hierarchical checkboxes.
18468
18469   • John Foerch figured out how to make incremental search show context
18470     around a match in a hidden outline tree.
18471
18472   • Raimar Finken wrote ‘org-git-line.el’.
18473
18474   • Mikael Fornius works as a mailing list moderator.
18475
18476   • Austin Frank works as a mailing list moderator.
18477
18478   • Eric Fraga drove the development of Beamer export with ideas and
18479     testing.
18480
18481   • Barry Gidden did proofreading the manual in preparation for the
18482     book publication through Network Theory Ltd.
18483
18484   • Niels Giesen had the idea to automatically archive DONE trees.
18485
18486   • Nicolas Goaziou rewrote much of the plain list code.
18487
18488   • Kai Grossjohann pointed out key-binding conflicts with other
18489     packages.
18490
18491   • Brian Gough of Network Theory Ltd publishes the Org mode manual as
18492     a book.
18493
18494   • Bernt Hansen has driven much of the support for auto-repeating
18495     tasks, task state change logging, and the clocktable.  His clear
18496     explanations have been critical when we started to adopt the Git
18497     version control system.
18498
18499   • Manuel Hermenegildo has contributed various ideas, small fixes and
18500     patches.
18501
18502   • Phil Jackson wrote ‘ol-irc.el’.
18503
18504   • Scott Jaderholm proposed footnotes, control over whitespace between
18505     folded entries, and column view for properties.
18506
18507   • Matt Jones wrote MobileOrg Android.
18508
18509   • Tokuya Kameshima wrote ‘org-wl.el’ and ‘org-mew.el’.
18510
18511   • Shidai Liu (“Leo”) asked for embedded LaTeX and tested it.  He also
18512     provided frequent feedback and some patches.
18513
18514   • Matt Lundin has proposed last-row references for table formulas and
18515     named invisible anchors.  He has also worked a lot on the FAQ.
18516
18517   • David Maus wrote ‘org-atom.el’, maintains the issues file for Org,
18518     and is a prolific contributor on the mailing list with competent
18519     replies, small fixes and patches.
18520
18521   • Jason F. McBrayer suggested agenda export to CSV format.
18522
18523   • Max Mikhanosha came up with the idea of refiling.
18524
18525   • Dmitri Minaev sent a patch to set priority limits on a per-file
18526     basis.
18527
18528   • Stefan Monnier provided a patch to keep the Emacs Lisp compiler
18529     happy.
18530
18531   • Richard Moreland wrote MobileOrg for the iPhone.
18532
18533   • Rick Moynihan proposed allowing multiple TODO sequences in a file
18534     and being able to quickly restrict the agenda to a subtree.
18535
18536   • Todd Neal provided patches for links to Info files and Elisp forms.
18537
18538   • Greg Newman refreshed the unicorn logo into its current form.
18539
18540   • Tim O’Callaghan suggested in-file links, search options for general
18541     file links, and tags.
18542
18543   • Osamu Okano wrote ‘orgcard2ref.pl’, a Perl program to create a text
18544     version of the reference card.
18545
18546   • Takeshi Okano translated the manual and David O’Toole’s tutorial
18547     into Japanese.
18548
18549   • Oliver Oppitz suggested multi-state TODO items.
18550
18551   • Scott Otterson sparked the introduction of descriptive text for
18552     links, among other things.
18553
18554   • Pete Phillips helped during the development of the TAGS feature,
18555     and provided frequent feedback.
18556
18557   • Martin Pohlack provided the code snippet to bundle character
18558     insertion into bundles of 20 for undo.
18559
18560   • T. V. Raman reported bugs and suggested improvements.
18561
18562   • Matthias Rempe (Oelde) provided ideas, Windows support, and quality
18563     control.
18564
18565   • Paul Rivier provided the basic implementation of named footnotes.
18566     He also acted as mailing list moderator for some time.
18567
18568   • Kevin Rogers contributed code to access VM files on remote hosts.
18569
18570   • Frank Ruell solved the mystery of the ‘keymapp nil’ bug, a conflict
18571     with ‘allout.el’.
18572
18573   • Jason Riedy generalized the send-receive mechanism for Orgtbl
18574     tables with extensive patches.
18575
18576   • Philip Rooke created the Org reference card, provided lots of
18577     feedback, developed and applied standards to the Org documentation.
18578
18579   • Christian Schlauer proposed angular brackets around links, among
18580     other things.
18581
18582   • Paul Sexton wrote ‘org-ctags.el’.
18583
18584   • Tom Shannon’s ‘organizer-mode.el’ inspired linking to VM/BBDB/Gnus.
18585
18586   • Ilya Shlyakhter proposed the Archive Sibling, line numbering in
18587     literal examples, and remote highlighting for referenced code
18588     lines.
18589
18590   • Stathis Sideris wrote the ‘ditaa.jar’ ASCII to PNG converter that
18591     is now packaged into Org’s ‘contrib/’ directory.
18592
18593   • Daniel Sinder came up with the idea of internal archiving by
18594     locking subtrees.
18595
18596   • Dale Smith proposed link abbreviations.
18597
18598   • James TD Smith has contributed a large number of patches for useful
18599     tweaks and features.
18600
18601   • Adam Spiers asked for global linking commands, inspired the link
18602     extension system, added support for Mairix, and proposed the
18603     mapping API.
18604
18605   • Ulf Stegemann created the table to translate special symbols to
18606     HTML, LaTeX, UTF-8, Latin-1 and ASCII.
18607
18608   • Andy Stewart contributed code to ‘ol-w3m.el’, to copy HTML content
18609     with links transformation to Org syntax.
18610
18611   • David O’Toole wrote ‘org-publish.el’ and drafted the manual chapter
18612     about publishing.
18613
18614   • Jambunathan K. contributed the ODT exporter.
18615
18616   • Sebastien Vauban reported many issues with LaTeX and Beamer export
18617     and enabled source code highlighting in Gnus.
18618
18619   • Stefan Vollmar organized a video-recorded talk at the
18620     Max-Planck-Institute for Neurology.  He also inspired the creation
18621     of a concept index for HTML export.
18622
18623   • Jürgen Vollmer contributed code generating the table of contents in
18624     HTML output.
18625
18626   • Samuel Wales has provided important feedback and bug reports.
18627
18628   • Chris Wallace provided a patch implementing the ‘QUOTE’ block.
18629
18630   • David Wainberg suggested archiving, and improvements to the linking
18631     system.
18632
18633   • Carsten Wimmer suggested some changes and helped fix a bug in
18634     linking to Gnus.
18635
18636   • Roland Winkler requested additional key bindings to make Org work
18637     on a TTY.
18638
18639   • Piotr Zielinski wrote ‘org-mouse.el’, proposed agenda blocks and
18640     contributed various ideas and code snippets.
18641
18642   • Marco Wahl wrote ‘ol-eww.el’.
18643
18644
18645File: org.info,  Node: GNU Free Documentation License,  Next: Main Index,  Prev: History and Acknowledgments,  Up: Top
18646
18647Appendix C GNU Free Documentation License
18648*****************************************
18649
18650                     Version 1.3, 3 November 2008
18651
18652     Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
18653     <http://fsf.org/>
18654
18655     Everyone is permitted to copy and distribute verbatim copies
18656     of this license document, but changing it is not allowed.
18657
18658  0. PREAMBLE
18659
18660     The purpose of this License is to make a manual, textbook, or other
18661     functional and useful document “free” in the sense of freedom: to
18662     assure everyone the effective freedom to copy and redistribute it,
18663     with or without modifying it, either commercially or
18664     noncommercially.  Secondarily, this License preserves for the
18665     author and publisher a way to get credit for their work, while not
18666     being considered responsible for modifications made by others.
18667
18668     This License is a kind of “copyleft”, which means that derivative
18669     works of the document must themselves be free in the same sense.
18670     It complements the GNU General Public License, which is a copyleft
18671     license designed for free software.
18672
18673     We have designed this License in order to use it for manuals for
18674     free software, because free software needs free documentation: a
18675     free program should come with manuals providing the same freedoms
18676     that the software does.  But this License is not limited to
18677     software manuals; it can be used for any textual work, regardless
18678     of subject matter or whether it is published as a printed book.  We
18679     recommend this License principally for works whose purpose is
18680     instruction or reference.
18681
18682  1. APPLICABILITY AND DEFINITIONS
18683
18684     This License applies to any manual or other work, in any medium,
18685     that contains a notice placed by the copyright holder saying it can
18686     be distributed under the terms of this License.  Such a notice
18687     grants a world-wide, royalty-free license, unlimited in duration,
18688     to use that work under the conditions stated herein.  The
18689     “Document”, below, refers to any such manual or work.  Any member
18690     of the public is a licensee, and is addressed as “you”.  You accept
18691     the license if you copy, modify or distribute the work in a way
18692     requiring permission under copyright law.
18693
18694     A “Modified Version” of the Document means any work containing the
18695     Document or a portion of it, either copied verbatim, or with
18696     modifications and/or translated into another language.
18697
18698     A “Secondary Section” is a named appendix or a front-matter section
18699     of the Document that deals exclusively with the relationship of the
18700     publishers or authors of the Document to the Document’s overall
18701     subject (or to related matters) and contains nothing that could
18702     fall directly within that overall subject.  (Thus, if the Document
18703     is in part a textbook of mathematics, a Secondary Section may not
18704     explain any mathematics.)  The relationship could be a matter of
18705     historical connection with the subject or with related matters, or
18706     of legal, commercial, philosophical, ethical or political position
18707     regarding them.
18708
18709     The “Invariant Sections” are certain Secondary Sections whose
18710     titles are designated, as being those of Invariant Sections, in the
18711     notice that says that the Document is released under this License.
18712     If a section does not fit the above definition of Secondary then it
18713     is not allowed to be designated as Invariant.  The Document may
18714     contain zero Invariant Sections.  If the Document does not identify
18715     any Invariant Sections then there are none.
18716
18717     The “Cover Texts” are certain short passages of text that are
18718     listed, as Front-Cover Texts or Back-Cover Texts, in the notice
18719     that says that the Document is released under this License.  A
18720     Front-Cover Text may be at most 5 words, and a Back-Cover Text may
18721     be at most 25 words.
18722
18723     A “Transparent” copy of the Document means a machine-readable copy,
18724     represented in a format whose specification is available to the
18725     general public, that is suitable for revising the document
18726     straightforwardly with generic text editors or (for images composed
18727     of pixels) generic paint programs or (for drawings) some widely
18728     available drawing editor, and that is suitable for input to text
18729     formatters or for automatic translation to a variety of formats
18730     suitable for input to text formatters.  A copy made in an otherwise
18731     Transparent file format whose markup, or absence of markup, has
18732     been arranged to thwart or discourage subsequent modification by
18733     readers is not Transparent.  An image format is not Transparent if
18734     used for any substantial amount of text.  A copy that is not
18735     “Transparent” is called “Opaque”.
18736
18737     Examples of suitable formats for Transparent copies include plain
18738     ASCII without markup, Texinfo input format, LaTeX input format,
18739     SGML or XML using a publicly available DTD, and standard-conforming
18740     simple HTML, PostScript or PDF designed for human modification.
18741     Examples of transparent image formats include PNG, XCF and JPG.
18742     Opaque formats include proprietary formats that can be read and
18743     edited only by proprietary word processors, SGML or XML for which
18744     the DTD and/or processing tools are not generally available, and
18745     the machine-generated HTML, PostScript or PDF produced by some word
18746     processors for output purposes only.
18747
18748     The “Title Page” means, for a printed book, the title page itself,
18749     plus such following pages as are needed to hold, legibly, the
18750     material this License requires to appear in the title page.  For
18751     works in formats which do not have any title page as such, “Title
18752     Page” means the text near the most prominent appearance of the
18753     work’s title, preceding the beginning of the body of the text.
18754
18755     The “publisher” means any person or entity that distributes copies
18756     of the Document to the public.
18757
18758     A section “Entitled XYZ” means a named subunit of the Document
18759     whose title either is precisely XYZ or contains XYZ in parentheses
18760     following text that translates XYZ in another language.  (Here XYZ
18761     stands for a specific section name mentioned below, such as
18762     “Acknowledgements”, “Dedications”, “Endorsements”, or “History”.)
18763     To “Preserve the Title” of such a section when you modify the
18764     Document means that it remains a section “Entitled XYZ” according
18765     to this definition.
18766
18767     The Document may include Warranty Disclaimers next to the notice
18768     which states that this License applies to the Document.  These
18769     Warranty Disclaimers are considered to be included by reference in
18770     this License, but only as regards disclaiming warranties: any other
18771     implication that these Warranty Disclaimers may have is void and
18772     has no effect on the meaning of this License.
18773
18774  2. VERBATIM COPYING
18775
18776     You may copy and distribute the Document in any medium, either
18777     commercially or noncommercially, provided that this License, the
18778     copyright notices, and the license notice saying this License
18779     applies to the Document are reproduced in all copies, and that you
18780     add no other conditions whatsoever to those of this License.  You
18781     may not use technical measures to obstruct or control the reading
18782     or further copying of the copies you make or distribute.  However,
18783     you may accept compensation in exchange for copies.  If you
18784     distribute a large enough number of copies you must also follow the
18785     conditions in section 3.
18786
18787     You may also lend copies, under the same conditions stated above,
18788     and you may publicly display copies.
18789
18790  3. COPYING IN QUANTITY
18791
18792     If you publish printed copies (or copies in media that commonly
18793     have printed covers) of the Document, numbering more than 100, and
18794     the Document’s license notice requires Cover Texts, you must
18795     enclose the copies in covers that carry, clearly and legibly, all
18796     these Cover Texts: Front-Cover Texts on the front cover, and
18797     Back-Cover Texts on the back cover.  Both covers must also clearly
18798     and legibly identify you as the publisher of these copies.  The
18799     front cover must present the full title with all words of the title
18800     equally prominent and visible.  You may add other material on the
18801     covers in addition.  Copying with changes limited to the covers, as
18802     long as they preserve the title of the Document and satisfy these
18803     conditions, can be treated as verbatim copying in other respects.
18804
18805     If the required texts for either cover are too voluminous to fit
18806     legibly, you should put the first ones listed (as many as fit
18807     reasonably) on the actual cover, and continue the rest onto
18808     adjacent pages.
18809
18810     If you publish or distribute Opaque copies of the Document
18811     numbering more than 100, you must either include a machine-readable
18812     Transparent copy along with each Opaque copy, or state in or with
18813     each Opaque copy a computer-network location from which the general
18814     network-using public has access to download using public-standard
18815     network protocols a complete Transparent copy of the Document, free
18816     of added material.  If you use the latter option, you must take
18817     reasonably prudent steps, when you begin distribution of Opaque
18818     copies in quantity, to ensure that this Transparent copy will
18819     remain thus accessible at the stated location until at least one
18820     year after the last time you distribute an Opaque copy (directly or
18821     through your agents or retailers) of that edition to the public.
18822
18823     It is requested, but not required, that you contact the authors of
18824     the Document well before redistributing any large number of copies,
18825     to give them a chance to provide you with an updated version of the
18826     Document.
18827
18828  4. MODIFICATIONS
18829
18830     You may copy and distribute a Modified Version of the Document
18831     under the conditions of sections 2 and 3 above, provided that you
18832     release the Modified Version under precisely this License, with the
18833     Modified Version filling the role of the Document, thus licensing
18834     distribution and modification of the Modified Version to whoever
18835     possesses a copy of it.  In addition, you must do these things in
18836     the Modified Version:
18837
18838       A. Use in the Title Page (and on the covers, if any) a title
18839          distinct from that of the Document, and from those of previous
18840          versions (which should, if there were any, be listed in the
18841          History section of the Document).  You may use the same title
18842          as a previous version if the original publisher of that
18843          version gives permission.
18844
18845       B. List on the Title Page, as authors, one or more persons or
18846          entities responsible for authorship of the modifications in
18847          the Modified Version, together with at least five of the
18848          principal authors of the Document (all of its principal
18849          authors, if it has fewer than five), unless they release you
18850          from this requirement.
18851
18852       C. State on the Title page the name of the publisher of the
18853          Modified Version, as the publisher.
18854
18855       D. Preserve all the copyright notices of the Document.
18856
18857       E. Add an appropriate copyright notice for your modifications
18858          adjacent to the other copyright notices.
18859
18860       F. Include, immediately after the copyright notices, a license
18861          notice giving the public permission to use the Modified
18862          Version under the terms of this License, in the form shown in
18863          the Addendum below.
18864
18865       G. Preserve in that license notice the full lists of Invariant
18866          Sections and required Cover Texts given in the Document’s
18867          license notice.
18868
18869       H. Include an unaltered copy of this License.
18870
18871       I. Preserve the section Entitled “History”, Preserve its Title,
18872          and add to it an item stating at least the title, year, new
18873          authors, and publisher of the Modified Version as given on the
18874          Title Page.  If there is no section Entitled “History” in the
18875          Document, create one stating the title, year, authors, and
18876          publisher of the Document as given on its Title Page, then add
18877          an item describing the Modified Version as stated in the
18878          previous sentence.
18879
18880       J. Preserve the network location, if any, given in the Document
18881          for public access to a Transparent copy of the Document, and
18882          likewise the network locations given in the Document for
18883          previous versions it was based on.  These may be placed in the
18884          “History” section.  You may omit a network location for a work
18885          that was published at least four years before the Document
18886          itself, or if the original publisher of the version it refers
18887          to gives permission.
18888
18889       K. For any section Entitled “Acknowledgements” or “Dedications”,
18890          Preserve the Title of the section, and preserve in the section
18891          all the substance and tone of each of the contributor
18892          acknowledgements and/or dedications given therein.
18893
18894       L. Preserve all the Invariant Sections of the Document, unaltered
18895          in their text and in their titles.  Section numbers or the
18896          equivalent are not considered part of the section titles.
18897
18898       M. Delete any section Entitled “Endorsements”.  Such a section
18899          may not be included in the Modified Version.
18900
18901       N. Do not retitle any existing section to be Entitled
18902          “Endorsements” or to conflict in title with any Invariant
18903          Section.
18904
18905       O. Preserve any Warranty Disclaimers.
18906
18907     If the Modified Version includes new front-matter sections or
18908     appendices that qualify as Secondary Sections and contain no
18909     material copied from the Document, you may at your option designate
18910     some or all of these sections as invariant.  To do this, add their
18911     titles to the list of Invariant Sections in the Modified Version’s
18912     license notice.  These titles must be distinct from any other
18913     section titles.
18914
18915     You may add a section Entitled “Endorsements”, provided it contains
18916     nothing but endorsements of your Modified Version by various
18917     parties—for example, statements of peer review or that the text has
18918     been approved by an organization as the authoritative definition of
18919     a standard.
18920
18921     You may add a passage of up to five words as a Front-Cover Text,
18922     and a passage of up to 25 words as a Back-Cover Text, to the end of
18923     the list of Cover Texts in the Modified Version.  Only one passage
18924     of Front-Cover Text and one of Back-Cover Text may be added by (or
18925     through arrangements made by) any one entity.  If the Document
18926     already includes a cover text for the same cover, previously added
18927     by you or by arrangement made by the same entity you are acting on
18928     behalf of, you may not add another; but you may replace the old
18929     one, on explicit permission from the previous publisher that added
18930     the old one.
18931
18932     The author(s) and publisher(s) of the Document do not by this
18933     License give permission to use their names for publicity for or to
18934     assert or imply endorsement of any Modified Version.
18935
18936  5. COMBINING DOCUMENTS
18937
18938     You may combine the Document with other documents released under
18939     this License, under the terms defined in section 4 above for
18940     modified versions, provided that you include in the combination all
18941     of the Invariant Sections of all of the original documents,
18942     unmodified, and list them all as Invariant Sections of your
18943     combined work in its license notice, and that you preserve all
18944     their Warranty Disclaimers.
18945
18946     The combined work need only contain one copy of this License, and
18947     multiple identical Invariant Sections may be replaced with a single
18948     copy.  If there are multiple Invariant Sections with the same name
18949     but different contents, make the title of each such section unique
18950     by adding at the end of it, in parentheses, the name of the
18951     original author or publisher of that section if known, or else a
18952     unique number.  Make the same adjustment to the section titles in
18953     the list of Invariant Sections in the license notice of the
18954     combined work.
18955
18956     In the combination, you must combine any sections Entitled
18957     “History” in the various original documents, forming one section
18958     Entitled “History”; likewise combine any sections Entitled
18959     “Acknowledgements”, and any sections Entitled “Dedications”.  You
18960     must delete all sections Entitled “Endorsements.”
18961
18962  6. COLLECTIONS OF DOCUMENTS
18963
18964     You may make a collection consisting of the Document and other
18965     documents released under this License, and replace the individual
18966     copies of this License in the various documents with a single copy
18967     that is included in the collection, provided that you follow the
18968     rules of this License for verbatim copying of each of the documents
18969     in all other respects.
18970
18971     You may extract a single document from such a collection, and
18972     distribute it individually under this License, provided you insert
18973     a copy of this License into the extracted document, and follow this
18974     License in all other respects regarding verbatim copying of that
18975     document.
18976
18977  7. AGGREGATION WITH INDEPENDENT WORKS
18978
18979     A compilation of the Document or its derivatives with other
18980     separate and independent documents or works, in or on a volume of a
18981     storage or distribution medium, is called an “aggregate” if the
18982     copyright resulting from the compilation is not used to limit the
18983     legal rights of the compilation’s users beyond what the individual
18984     works permit.  When the Document is included in an aggregate, this
18985     License does not apply to the other works in the aggregate which
18986     are not themselves derivative works of the Document.
18987
18988     If the Cover Text requirement of section 3 is applicable to these
18989     copies of the Document, then if the Document is less than one half
18990     of the entire aggregate, the Document’s Cover Texts may be placed
18991     on covers that bracket the Document within the aggregate, or the
18992     electronic equivalent of covers if the Document is in electronic
18993     form.  Otherwise they must appear on printed covers that bracket
18994     the whole aggregate.
18995
18996  8. TRANSLATION
18997
18998     Translation is considered a kind of modification, so you may
18999     distribute translations of the Document under the terms of section
19000     4.  Replacing Invariant Sections with translations requires special
19001     permission from their copyright holders, but you may include
19002     translations of some or all Invariant Sections in addition to the
19003     original versions of these Invariant Sections.  You may include a
19004     translation of this License, and all the license notices in the
19005     Document, and any Warranty Disclaimers, provided that you also
19006     include the original English version of this License and the
19007     original versions of those notices and disclaimers.  In case of a
19008     disagreement between the translation and the original version of
19009     this License or a notice or disclaimer, the original version will
19010     prevail.
19011
19012     If a section in the Document is Entitled “Acknowledgements”,
19013     “Dedications”, or “History”, the requirement (section 4) to
19014     Preserve its Title (section 1) will typically require changing the
19015     actual title.
19016
19017  9. TERMINATION
19018
19019     You may not copy, modify, sublicense, or distribute the Document
19020     except as expressly provided under this License.  Any attempt
19021     otherwise to copy, modify, sublicense, or distribute it is void,
19022     and will automatically terminate your rights under this License.
19023
19024     However, if you cease all violation of this License, then your
19025     license from a particular copyright holder is reinstated (a)
19026     provisionally, unless and until the copyright holder explicitly and
19027     finally terminates your license, and (b) permanently, if the
19028     copyright holder fails to notify you of the violation by some
19029     reasonable means prior to 60 days after the cessation.
19030
19031     Moreover, your license from a particular copyright holder is
19032     reinstated permanently if the copyright holder notifies you of the
19033     violation by some reasonable means, this is the first time you have
19034     received notice of violation of this License (for any work) from
19035     that copyright holder, and you cure the violation prior to 30 days
19036     after your receipt of the notice.
19037
19038     Termination of your rights under this section does not terminate
19039     the licenses of parties who have received copies or rights from you
19040     under this License.  If your rights have been terminated and not
19041     permanently reinstated, receipt of a copy of some or all of the
19042     same material does not give you any rights to use it.
19043
19044  10. FUTURE REVISIONS OF THIS LICENSE
19045
19046     The Free Software Foundation may publish new, revised versions of
19047     the GNU Free Documentation License from time to time.  Such new
19048     versions will be similar in spirit to the present version, but may
19049     differ in detail to address new problems or concerns.  See
19050     <http://www.gnu.org/copyleft/>.
19051
19052     Each version of the License is given a distinguishing version
19053     number.  If the Document specifies that a particular numbered
19054     version of this License “or any later version” applies to it, you
19055     have the option of following the terms and conditions either of
19056     that specified version or of any later version that has been
19057     published (not as a draft) by the Free Software Foundation.  If the
19058     Document does not specify a version number of this License, you may
19059     choose any version ever published (not as a draft) by the Free
19060     Software Foundation.  If the Document specifies that a proxy can
19061     decide which future versions of this License can be used, that
19062     proxy’s public statement of acceptance of a version permanently
19063     authorizes you to choose that version for the Document.
19064
19065  11. RELICENSING
19066
19067     “Massive Multiauthor Collaboration Site” (or “MMC Site”) means any
19068     World Wide Web server that publishes copyrightable works and also
19069     provides prominent facilities for anybody to edit those works.  A
19070     public wiki that anybody can edit is an example of such a server.
19071     A “Massive Multiauthor Collaboration” (or “MMC”) contained in the
19072     site means any set of copyrightable works thus published on the MMC
19073     site.
19074
19075     “CC-BY-SA” means the Creative Commons Attribution-Share Alike 3.0
19076     license published by Creative Commons Corporation, a not-for-profit
19077     corporation with a principal place of business in San Francisco,
19078     California, as well as future copyleft versions of that license
19079     published by that same organization.
19080
19081     “Incorporate” means to publish or republish a Document, in whole or
19082     in part, as part of another Document.
19083
19084     An MMC is “eligible for relicensing” if it is licensed under this
19085     License, and if all works that were first published under this
19086     License somewhere other than this MMC, and subsequently
19087     incorporated in whole or in part into the MMC, (1) had no cover
19088     texts or invariant sections, and (2) were thus incorporated prior
19089     to November 1, 2008.
19090
19091     The operator of an MMC Site may republish an MMC contained in the
19092     site under CC-BY-SA on the same site at any time before August 1,
19093     2009, provided the MMC is eligible for relicensing.
19094
19095C.1 ADDENDUM: How to use this License for your documents
19096========================================================
19097
19098To use this License in a document you have written, include a copy of
19099the License in the document and put the following copyright and license
19100notices just after the title page:
19101
19102     Copyright (C)  YEAR  YOUR NAME.
19103     Permission is granted to copy, distribute and/or modify this document
19104     under the terms of the GNU Free Documentation License, Version 1.3
19105     or any later version published by the Free Software Foundation;
19106     with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
19107     Texts.  A copy of the license is included in the section entitled ``GNU
19108     Free Documentation License''.
19109
19110   If you have Invariant Sections, Front-Cover Texts and Back-Cover
19111Texts, replace the “with...Texts.” line with this:
19112
19113     with the Invariant Sections being LIST THEIR TITLES, with
19114     the Front-Cover Texts being LIST, and with the Back-Cover Texts
19115     being LIST.
19116
19117   If you have Invariant Sections without Cover Texts, or some other
19118combination of the three, merge those two alternatives to suit the
19119situation.
19120
19121   If your document contains nontrivial examples of program code, we
19122recommend releasing these examples in parallel under your choice of free
19123software license, such as the GNU General Public License, to permit
19124their use in free software.
19125
19126
19127File: org.info,  Node: Main Index,  Next: Key Index,  Prev: GNU Free Documentation License,  Up: Top
19128
19129D Main Index
19130************
19131
19132�[index�]
19133* Menu:
19134
19135* *this*, in post header argument:       Results of Evaluation.
19136                                                              (line 247)
19137* + suffix, in properties:               Property Syntax.     (line  52)
19138* _ALL suffix, in properties:            Property Syntax.     (line  50)
19139* abbreviation, links:                   Link Abbreviations.  (line   6)
19140* abstract, in LaTeX export:             Special blocks in LaTeX export.
19141                                                              (line   6)
19142* action, for publishing:                Publishing action.   (line   6)
19143* activation:                            Activation.          (line   6)
19144* active region:                         Structure Editing.   (line  46)
19145* add-on packages:                       Add-on Packages.     (line   6)
19146* agenda:                                Weekly/daily agenda. (line   6)
19147* agenda dispatcher:                     Agenda Dispatcher.   (line   6)
19148* agenda files:                          Agenda Files.        (line   6)
19149* agenda files, removing buffers:        Agenda Commands.     (line 496)
19150* agenda filtering:                      Filtering/limiting agenda items.
19151                                                              (line  20)
19152* agenda views:                          Agenda Views.        (line   6)
19153* agenda views, custom:                  Custom Agenda Views. (line   6)
19154* agenda views, exporting:               Exporting Agenda Views.
19155                                                              (line   6)
19156* agenda views, exporting <1>:           Exporting Agenda Views.
19157                                                              (line  13)
19158* agenda views, main example:            Storing searches.    (line  11)
19159* agenda views, optimization:            Speeding Up Your Agendas.
19160                                                              (line   6)
19161* agenda views, user-defined:            Special Agenda Views.
19162                                                              (line   6)
19163* agenda*, as an agenda views:           Storing searches.    (line  11)
19164* agenda, as an agenda views:            Storing searches.    (line  11)
19165* agenda, column view:                   Agenda Column View.  (line   6)
19166* agenda, pipe:                          Extracting Agenda Information.
19167                                                              (line   6)
19168* agenda, with block views:              Block agenda.        (line   6)
19169* alignment in tables:                   Column Width and Alignment.
19170                                                              (line   6)
19171* ALLTAGS, special property:             Special Properties.  (line  13)
19172* ALT_TITLE, property:                   Table of Contents.   (line  68)
19173* ALT_TITLE, property <1>:               Headings and sectioning structure.
19174                                                              (line  24)
19175* angle bracket links:                   Link Format.         (line   6)
19176* angular brackets, around links:        External Links.      (line 136)
19177* anniversaries, from BBDB:              Weekly/daily agenda. (line  78)
19178* API, for mapping:                      Using the Mapping API.
19179                                                              (line   6)
19180* API, for properties:                   Using the Property API.
19181                                                              (line   6)
19182* APPENDIX, property:                    Headings and sectioning structure.
19183                                                              (line  20)
19184* appointment:                           Timestamps.          (line  14)
19185* appointment <1>:                       Weekly/daily agenda. (line 125)
19186* appointment reminders:                 Weekly/daily agenda. (line 125)
19187* appt.el:                               Weekly/daily agenda. (line 125)
19188* APPT_WARNTIME, keyword:                Weekly/daily agenda. (line 125)
19189* archive locations:                     Moving subtrees.     (line  25)
19190* ARCHIVE, keyword:                      Moving subtrees.     (line  35)
19191* ARCHIVE, keyword <1>:                  In-buffer Settings.  (line  15)
19192* ARCHIVE, property:                     Property Inheritance.
19193                                                              (line  33)
19194* ARCHIVE, property <1>:                 Moving subtrees.     (line  37)
19195* ARCHIVE, tag:                          Internal archiving.  (line   6)
19196* archived entries, in agenda views:     Agenda Views.        (line  37)
19197* archiving:                             Refiling and Archiving.
19198                                                              (line   6)
19199* archiving <1>:                         Archiving.           (line   6)
19200* arguments, in code blocks:             Environment of a Code Block.
19201                                                              (line   9)
19202* ASCII export:                          ASCII/Latin-1/UTF-8 export.
19203                                                              (line   6)
19204* ASCII, keyword:                        ASCII/Latin-1/UTF-8 export.
19205                                                              (line  63)
19206* Atom feeds:                            Capture and Attachments.
19207                                                              (line   6)
19208* Atom feeds <1>:                        RSS Feeds.           (line   6)
19209* attach from Dired:                     Attach from Dired.   (line   6)
19210* attachment links:                      External Links.      (line   6)
19211* attachment links, searching:           Search Options.      (line   6)
19212* attachments:                           Capture and Attachments.
19213                                                              (line   6)
19214* attachments <1>:                       Attachments.         (line   6)
19215* ATTR_ASCII, keyword:                   ASCII/Latin-1/UTF-8 export.
19216                                                              (line  74)
19217* ATTR_BEAMER, keyword:                  Beamer specific syntax.
19218                                                              (line  35)
19219* ATTR_HTML, keyword:                    Links in HTML export.
19220                                                              (line  27)
19221* ATTR_HTML, keyword <1>:                Tables in HTML export.
19222                                                              (line  11)
19223* ATTR_HTML, keyword <2>:                Images in HTML export.
19224                                                              (line  28)
19225* ATTR_LATEX, keyword:                   Images in LaTeX export.
19226                                                              (line   6)
19227* ATTR_LATEX, keyword <1>:               Plain lists in LaTeX export.
19228                                                              (line   6)
19229* ATTR_LATEX, keyword <2>:               Source blocks in LaTeX export.
19230                                                              (line   6)
19231* ATTR_LATEX, keyword <3>:               Example blocks in LaTeX export.
19232                                                              (line   6)
19233* ATTR_LATEX, keyword <4>:               Special blocks in LaTeX export.
19234                                                              (line   6)
19235* ATTR_LATEX, keyword <5>:               Horizontal rules in LaTeX export.
19236                                                              (line   6)
19237* ATTR_ODT, keyword:                     Tables in ODT export.
19238                                                              (line  20)
19239* ATTR_ODT, keyword <1>:                 Images in ODT export.
19240                                                              (line  31)
19241* ATTR_ODT, keyword <2>:                 Images in ODT export.
19242                                                              (line  76)
19243* ATTR_ODT, keyword <3>:                 Advanced topics in ODT export.
19244                                                              (line 151)
19245* ATTR_TEXINFO, keyword:                 Plain lists in Texinfo export.
19246                                                              (line   6)
19247* ATTR_TEXINFO, keyword <1>:             Tables in Texinfo export.
19248                                                              (line   6)
19249* ATTR_TEXINFO, keyword <2>:             Images in Texinfo export.
19250                                                              (line   6)
19251* ATTR_TEXINFO, keyword <3>:             Quotations in Texinfo export.
19252                                                              (line   6)
19253* ATTR_TEXINFO, keyword <4>:             Special blocks in Texinfo export.
19254                                                              (line   6)
19255* author:                                Feedback.            (line   6)
19256* AUTHOR, keyword:                       Export Settings.     (line  25)
19257* author, macro:                         Macro Replacement.   (line  41)
19258* auto clocking out after idle time:     Resolving idle time. (line  91)
19259* auto-save, in code block editing:      Editing Source Code. (line  11)
19260* autoload:                              Activation.          (line   6)
19261* babel, languages:                      Languages.           (line   6)
19262* babel, library of:                     Library of Babel.    (line   6)
19263* backslashes, in links:                 Link Format.         (line  17)
19264* backtrace of an error:                 Feedback.            (line  69)
19265* BBDB links:                            External Links.      (line   6)
19266* BBDB, anniversaries:                   Weekly/daily agenda. (line  78)
19267* Beamer export:                         Beamer Export.       (line   6)
19268* BEAMER, keyword:                       Beamer specific syntax.
19269                                                              (line  19)
19270* BEAMER_ACT, property:                  Frames and Blocks in Beamer.
19271                                                              (line  41)
19272* BEAMER_COL, property:                  Frames and Blocks in Beamer.
19273                                                              (line  49)
19274* BEAMER_ENV, property:                  Frames and Blocks in Beamer.
19275                                                              (line  14)
19276* BEAMER_FONT_THEME, keyword:            Beamer specific export settings.
19277                                                              (line  17)
19278* BEAMER_HEADER, keyword:                Beamer specific export settings.
19279                                                              (line  26)
19280* BEAMER_INNER_THEME, keyword:           Beamer specific export settings.
19281                                                              (line  20)
19282* BEAMER_OPT, property:                  Frames and Blocks in Beamer.
19283                                                              (line  41)
19284* BEAMER_OUTER_THEME, keyword:           Beamer specific export settings.
19285                                                              (line  23)
19286* BEAMER_REF, property:                  Frames and Blocks in Beamer.
19287                                                              (line  27)
19288* BEAMER_THEME, keyword:                 Beamer specific export settings.
19289                                                              (line  11)
19290* BEGIN clocktable:                      The clock table.     (line  36)
19291* BEGIN columnview:                      Capturing column view.
19292                                                              (line  11)
19293* BEGIN_CENTER:                          Paragraphs.          (line  32)
19294* BEGIN_COMMENT:                         Comment Lines.       (line  10)
19295* BEGIN_EXAMPLE:                         Literal Examples.    (line  10)
19296* BEGIN_EXPORT ascii:                    ASCII/Latin-1/UTF-8 export.
19297                                                              (line  63)
19298* BEGIN_EXPORT beamer:                   Beamer specific syntax.
19299                                                              (line  19)
19300* BEGIN_EXPORT html:                     Quoting HTML tags.   (line  13)
19301* BEGIN_EXPORT latex:                    Quoting LaTeX code.  (line  18)
19302* BEGIN_EXPORT texinfo:                  Quoting Texinfo code.
19303                                                              (line   9)
19304* BEGIN_JUSTIFYLEFT:                     ASCII/Latin-1/UTF-8 export.
19305                                                              (line  84)
19306* BEGIN_JUSTIFYRIGHT:                    ASCII/Latin-1/UTF-8 export.
19307                                                              (line  84)
19308* BEGIN_QUOTE:                           Paragraphs.          (line  25)
19309* BEGIN_SRC:                             Literal Examples.    (line  38)
19310* BEGIN_SRC <1>:                         Structure of Code Blocks.
19311                                                              (line   6)
19312* BEGIN_VERSE:                           Paragraphs.          (line  13)
19313* BIND, keyword:                         Export Settings.     (line 210)
19314* block agenda:                          Block agenda.        (line   6)
19315* BLOCKED, special property:             Special Properties.  (line  13)
19316* blocking, of checkboxes:               Checkboxes.          (line  45)
19317* blocks, folding:                       Blocks.              (line   6)
19318* bold text, markup rules:               Emphasis and Monospace.
19319                                                              (line   6)
19320* boolean logic, for agenda searches:    Matching tags and properties.
19321                                                              (line  32)
19322* bracket links:                         Link Format.         (line   9)
19323* bug reports:                           Feedback.            (line   6)
19324* C-c C-c, overview:                     The Very Busy C-c C-c Key.
19325                                                              (line   6)
19326* cache results of code evaluation:      Evaluating Code Blocks.
19327                                                              (line 106)
19328* cache, header argument:                Evaluating Code Blocks.
19329                                                              (line 106)
19330* Calc package:                          The Spreadsheet.     (line   6)
19331* calc.el:                               Cooperation.         (line   7)
19332* calculations, in tables:               Built-in Table Editor.
19333                                                              (line 180)
19334* calculations, in tables <1>:           The Spreadsheet.     (line   6)
19335* calendar commands, from agenda:        Agenda Commands.     (line 446)
19336* calendar integration:                  Weekly/daily agenda. (line  32)
19337* calendar, for selecting date:          The date/time prompt.
19338                                                              (line  75)
19339* CALL, keyword:                         Evaluating Code Blocks.
19340                                                              (line  27)
19341* CAPTION, keyword:                      Captions.            (line   6)
19342* CAPTION, keyword <1>:                  Tables in HTML export.
19343                                                              (line  11)
19344* CAPTION, keyword <2>:                  Images in HTML export.
19345                                                              (line  28)
19346* captions, markup rules:                Captions.            (line   6)
19347* capture:                               Capture and Attachments.
19348                                                              (line   6)
19349* capture <1>:                           Capture.             (line   6)
19350* capture protocol:                      The capture protocol.
19351                                                              (line   6)
19352* capturing, from agenda:                Agenda Commands.     (line 345)
19353* category:                              Categories.          (line   6)
19354* category filtering, in agenda:         Filtering/limiting agenda items.
19355                                                              (line  20)
19356* category, for tags/property match:     Matching tags and properties.
19357                                                              (line  64)
19358* CATEGORY, keyword:                     Categories.          (line   6)
19359* CATEGORY, keyword <1>:                 In-buffer Settings.  (line  19)
19360* CATEGORY, property:                    Property Inheritance.
19361                                                              (line  29)
19362* CATEGORY, property <1>:                Categories.          (line  12)
19363* CDLaTeX:                               CDLaTeX mode.        (line   6)
19364* cdlatex.el:                            Cooperation.         (line  24)
19365* center blocks:                         Paragraphs.          (line  32)
19366* center image in LaTeX export:          Images in LaTeX export.
19367                                                              (line  60)
19368* change agenda display:                 Agenda Commands.     (line  63)
19369* checkbox blocking:                     Checkboxes.          (line  45)
19370* checkbox statistics:                   Checkboxes.          (line  29)
19371* checkboxes:                            Checkboxes.          (line   6)
19372* checkboxes and TODO dependencies:      TODO dependencies.   (line  53)
19373* children, subtree visibility state:    Global and local cycling.
19374                                                              (line   6)
19375* CINDEX, keyword:                       Indices.             (line   6)
19376* CLASS, property:                       iCalendar Export.    (line  51)
19377* clean outline view:                    Clean View.          (line   6)
19378* clocking time:                         Clocking Work Time.  (line   6)
19379* CLOCKSUM, special property:            Special Properties.  (line  13)
19380* CLOCKSUM, special property <1>:        Agenda Column View.  (line  32)
19381* CLOCKSUM_T, special property:          Special Properties.  (line  13)
19382* CLOCKSUM_T, special property <1>:      Agenda Column View.  (line  56)
19383* clocktable, dynamic block:             The clock table.     (line   6)
19384* CLOCK_MODELINE_TOTAL, property:        Clocking commands.   (line  21)
19385* CLOSED, special property:              Special Properties.  (line  13)
19386* code block, batch execution:           Batch Execution.     (line   6)
19387* code block, editing:                   Editing Source Code. (line   6)
19388* code block, evaluating:                Evaluating Code Blocks.
19389                                                              (line   6)
19390* code block, exporting:                 Exporting Code Blocks.
19391                                                              (line   6)
19392* code block, extracting source code:    Extracting Source Code.
19393                                                              (line   6)
19394* code block, key bindings:              Key bindings and Useful Functions.
19395                                                              (line   6)
19396* code block, languages:                 Languages.           (line   6)
19397* code block, library:                   Library of Babel.    (line   6)
19398* code block, noweb reference:           Noweb Reference Syntax.
19399                                                              (line   6)
19400* code block, results of evaluation:     Results of Evaluation.
19401                                                              (line   6)
19402* code block, structure:                 Structure of Code Blocks.
19403                                                              (line   6)
19404* code line references, markup rules:    Literal Examples.    (line   6)
19405* code text, markup rules:               Emphasis and Monospace.
19406                                                              (line   6)
19407* colnames, header argument:             Environment of a Code Block.
19408                                                              (line  48)
19409* column formula:                        Column formulas.     (line   6)
19410* column view, for properties:           Defining columns.    (line   6)
19411* column view, in agenda:                Agenda Column View.  (line   6)
19412* column, of field coordinates:          References.          (line  90)
19413* COLUMNS, keyword:                      Scope of column definitions.
19414                                                              (line  18)
19415* COLUMNS, property:                     Property Inheritance.
19416                                                              (line  22)
19417* COLUMNS, property <1>:                 In-buffer Settings.  (line  23)
19418* comma escape, in literal examples:     Literal Examples.    (line  14)
19419* commands, in agenda buffer:            Agenda Commands.     (line   6)
19420* comment block:                         Comment Lines.       (line  10)
19421* comment lines:                         Comment Lines.       (line   6)
19422* comment trees:                         Comment Lines.       (line  13)
19423* commented entries, in agenda views:    Agenda Views.        (line  37)
19424* comments, header argument:             Extracting Source Code.
19425                                                              (line  46)
19426* completion, of dictionary words:       Completion.          (line   6)
19427* completion, of file names:             Handling Links.      (line  92)
19428* completion, of link abbreviations:     Completion.          (line   6)
19429* completion, of links:                  Handling Links.      (line  69)
19430* completion, of option keywords:        Per-file keywords.   (line  26)
19431* completion, of option keywords <1>:    Completion.          (line   6)
19432* completion, of property keys:          Completion.          (line   6)
19433* completion, of tags:                   Setting Tags.        (line  11)
19434* completion, of tags <1>:               Completion.          (line   6)
19435* completion, of TeX symbols:            Completion.          (line   6)
19436* completion, of TODO keywords:          Workflow states.     (line  17)
19437* completion, of TODO keywords <1>:      Completion.          (line   6)
19438* concept index, in Texinfo export:      Indices.             (line   6)
19439* constants, in calculations:            References.          (line 114)
19440* CONSTANTS, keyword:                    References.          (line 114)
19441* CONSTANTS, keyword <1>:                In-buffer Settings.  (line  28)
19442* constants.el:                          Cooperation.         (line  14)
19443* contents, global visibility state:     Global and local cycling.
19444                                                              (line  20)
19445* continuous clocking:                   Resolving idle time. (line  78)
19446* control code block evaluation:         Evaluating Code Blocks.
19447                                                              (line  81)
19448* convert:                               Advanced topics in ODT export.
19449                                                              (line  12)
19450* converter:                             Advanced topics in ODT export.
19451                                                              (line  12)
19452* COOKIE_DATA, property:                 Breaking Down Tasks. (line  21)
19453* COOKIE_DATA, property <1>:             Checkboxes.          (line  29)
19454* coordinates, of field:                 References.          (line  90)
19455* copying notes:                         Refiling and Archiving.
19456                                                              (line   6)
19457* copying notes <1>:                     Refile and Copy.     (line   6)
19458* copying, of subtrees:                  Structure Editing.   (line   6)
19459* COPYING, property:                     Texinfo title and copyright page.
19460                                                              (line  19)
19461* countdown timer:                       Timers.              (line   6)
19462* counter, macro:                        Macro Replacement.   (line  75)
19463* CREATOR, keyword:                      Export Settings.     (line  28)
19464* CSS, for HTML export:                  CSS support.         (line   6)
19465* cua.el:                                Conflicts.           (line  17)
19466* custom agenda views:                   Custom Agenda Views. (line   6)
19467* custom date/time format:               Custom time format.  (line   6)
19468* custom search strings:                 Custom Searches.     (line   6)
19469* CUSTOM_ID, property:                   Internal Links.      (line  11)
19470* CUSTOM_ID, property <1>:               Handling Links.      (line  21)
19471* cutting, of subtrees:                  Structure Editing.   (line   6)
19472* cycling, in plain lists:               Plain Lists.         (line  70)
19473* cycling, of agenda files:              Agenda Files.        (line  26)
19474* cycling, of TODO states:               TODO Basics.         (line  14)
19475* cycling, visibility:                   Visibility Cycling.  (line   6)
19476* daily agenda:                          Weekly/daily agenda. (line   6)
19477* dash, special symbol:                  Special Symbols.     (line  36)
19478* data type index, in Texinfo export:    Indices.             (line   6)
19479* date format, custom:                   Custom time format.  (line   6)
19480* date range:                            Timestamps.          (line  42)
19481* date stamp:                            Dates and Times.     (line   6)
19482* date stamps:                           Timestamps.          (line   6)
19483* date tree:                             Using capture.       (line   7)
19484* DATE, keyword:                         Export Settings.     (line  32)
19485* date, macro:                           Macro Replacement.   (line  49)
19486* date, reading in minibuffer:           The date/time prompt.
19487                                                              (line   6)
19488* dates:                                 Dates and Times.     (line   6)
19489* DEADLINE marker:                       Deadlines and Scheduling.
19490                                                              (line  11)
19491* DEADLINE, special property:            Special Properties.  (line  13)
19492* deadlines:                             Timestamps.          (line   6)
19493* debugging, of table formulas:          Editing and debugging formulas.
19494                                                              (line 132)
19495* default header arguments per language: Using Header Arguments.
19496                                                              (line  36)
19497* defining new protocols:                Protocols.           (line  25)
19498* demotion, of subtrees:                 Structure Editing.   (line   6)
19499* dependencies, of TODO states:          TODO dependencies.   (line   6)
19500* DESCRIPTION, keyword:                  Beamer specific export settings.
19501                                                              (line  30)
19502* DESCRIPTION, keyword <1>:              HTML specific export settings.
19503                                                              (line  10)
19504* DESCRIPTION, keyword <2>:              LaTeX specific export settings.
19505                                                              (line  11)
19506* DESCRIPTION, keyword <3>:              ODT specific export settings.
19507                                                              (line  11)
19508* DESCRIPTION, property:                 Headings and sectioning structure.
19509                                                              (line  24)
19510* DESCRIPTION, property <1>:             iCalendar Export.    (line  51)
19511* diary entries, creating from agenda:   Agenda Commands.     (line 455)
19512* diary integration:                     Weekly/daily agenda. (line  32)
19513* diary style timestamps:                Timestamps.          (line  34)
19514* dictionary word completion:            Completion.          (line   6)
19515* dir file, in Texinfo export:           Info directory file. (line   6)
19516* dir, header argument:                  Environment of a Code Block.
19517                                                              (line 302)
19518* DIR, property:                         Attachment defaults and dispatcher.
19519                                                              (line  68)
19520* DIR, property <1>:                     Attachment defaults and dispatcher.
19521                                                              (line  73)
19522* directories, for publishing:           Sources and destinations.
19523                                                              (line   6)
19524* dispatcher, for export commands:       The Export Dispatcher.
19525                                                              (line   6)
19526* dispatching agenda commands:           Agenda Dispatcher.   (line   6)
19527* display changing, in agenda:           Agenda Commands.     (line  63)
19528* doc, docx, rtf:                        Advanced topics in ODT export.
19529                                                              (line  12)
19530* document structure:                    Document Structure.  (line   6)
19531* document title:                        Export Settings.     (line  60)
19532* documentation:                         Documentation Access.
19533                                                              (line   6)
19534* DONE, final TODO keyword:              Per-file keywords.   (line  29)
19535* drawer, for properties:                Property Syntax.     (line   6)
19536* drawer, for state change recording:    Tracking TODO state changes.
19537                                                              (line   6)
19538* drawers:                               Drawers.             (line   6)
19539* duration, computing:                   Durations and time values.
19540                                                              (line   6)
19541* dvipng:                                Math formatting in HTML export.
19542                                                              (line   6)
19543* dvipng <1>:                            LaTeX math snippets. (line  50)
19544* dvisvgm:                               Math formatting in HTML export.
19545                                                              (line   6)
19546* dvisvgm <1>:                           LaTeX math snippets. (line  50)
19547* dynamic blocks:                        Dynamic Blocks.      (line   6)
19548* dynamic indentation:                   Clean View.          (line   6)
19549* ecomplete.el:                          Conflicts.           (line  32)
19550* editing tables:                        Tables.              (line   6)
19551* editing, of table formulas:            Editing and debugging formulas.
19552                                                              (line   6)
19553* edits, catching invisible:             Catching invisible edits.
19554                                                              (line   6)
19555* effort estimates:                      Effort Estimates.    (line   6)
19556* effort filtering, in agenda:           Filtering/limiting agenda items.
19557                                                              (line  20)
19558* EFFORT, property:                      Effort Estimates.    (line   6)
19559* Elisp links:                           External Links.      (line   6)
19560* ellipsis, special symbol:              Special Symbols.     (line  36)
19561* ELPA:                                  Activation.          (line   6)
19562* EMAIL, keyword:                        Export Settings.     (line  35)
19563* email, macro:                          Macro Replacement.   (line  41)
19564* embedding images in ODT:               Images in ODT export.
19565                                                              (line   6)
19566* entities:                              Special Symbols.     (line   6)
19567* enum, Texinfo attribute:               Plain lists in Texinfo export.
19568                                                              (line  35)
19569* epilogue, header argument:             Environment of a Code Block.
19570                                                              (line 352)
19571* escape character:                      Escape Character.    (line   6)
19572* escape syntax, for links:              Link Format.         (line  17)
19573* eval, header argument:                 Evaluating Code Blocks.
19574                                                              (line  81)
19575* evaluate time range:                   Creating Timestamps. (line  62)
19576* example block:                         Literal Examples.    (line  10)
19577* example blocks, in LaTeX export:       Example blocks in LaTeX export.
19578                                                              (line   6)
19579* EXCLUDE_TAGS, keyword:                 Export Settings.     (line  52)
19580* excluding entries from table of contents: Table of Contents.
19581                                                              (line  15)
19582* export back-end:                       Exporting.           (line  12)
19583* export, dispatcher:                    The Export Dispatcher.
19584                                                              (line   6)
19585* export, include files:                 Include Files.       (line   6)
19586* export, OpenDocument:                  OpenDocument Text Export.
19587                                                              (line   6)
19588* Export, settings:                      Export Settings.     (line   6)
19589* Export, writing back-ends:             Adding Export Back-ends.
19590                                                              (line   6)
19591* exporting:                             Exporting.           (line   6)
19592* exporting agenda views:                Exporting Agenda Views.
19593                                                              (line  13)
19594* exporting, not:                        Comment Lines.       (line   6)
19595* exports, header argument:              Exporting Code Blocks.
19596                                                              (line  14)
19597* EXPORT_FILE_NAME, keyword:             Export Settings.     (line  64)
19598* EXPORT_FILE_NAME, property:            ODT export commands. (line   9)
19599* EXPORT_LATEX_CLASS, property:          LaTeX header and sectioning.
19600                                                              (line  23)
19601* EXPORT_LATEX_CLASS_OPTIONS, property:  LaTeX header and sectioning.
19602                                                              (line  23)
19603* extended TODO keywords:                TODO Extensions.     (line   6)
19604* external archiving:                    Moving subtrees.     (line   6)
19605* external links:                        External Links.      (line   6)
19606* external links, in HTML export:        Links in HTML export.
19607                                                              (line   6)
19608* faces, for TODO keywords:              Faces for TODO keywords.
19609                                                              (line   6)
19610* FAQ:                                   Summary.             (line  49)
19611* feedback:                              Feedback.            (line   6)
19612* field coordinates:                     References.          (line  90)
19613* field formula:                         Field and range formulas.
19614                                                              (line   6)
19615* field references:                      References.          (line  15)
19616* file links:                            External Links.      (line   6)
19617* file links, searching:                 Search Options.      (line   6)
19618* file name completion:                  Handling Links.      (line  92)
19619* file, header argument:                 Results of Evaluation.
19620                                                              (line 119)
19621* FILE, special property:                Special Properties.  (line  13)
19622* file-desc, header argument:            Results of Evaluation.
19623                                                              (line 140)
19624* file-ext, header argument:             Results of Evaluation.
19625                                                              (line 129)
19626* file-mode, header argument:            Results of Evaluation.
19627                                                              (line 149)
19628* files for agenda:                      Agenda Files.        (line   6)
19629* files, adding to agenda list:          Agenda Files.        (line  16)
19630* files, selecting for publishing:       Selecting files.     (line   6)
19631* FILETAGS, keyword:                     Tag Inheritance.     (line  20)
19632* FILETAGS, keyword <1>:                 In-buffer Settings.  (line  34)
19633* filladapt.el:                          Conflicts.           (line  43)
19634* filtering entries, in agenda:          Filtering/limiting agenda items.
19635                                                              (line  20)
19636* Filters, exporting:                    Advanced Export Configuration.
19637                                                              (line  31)
19638* FINDEX, keyword:                       Indices.             (line   6)
19639* FLAGGED, tag:                          Pulling from the mobile application.
19640                                                              (line  18)
19641* folded, subtree visibility state:      Global and local cycling.
19642                                                              (line   6)
19643* folding, sparse trees:                 Sparse Trees.        (line   6)
19644* following links:                       Handling Links.      (line 102)
19645* footers, in code blocks:               Environment of a Code Block.
19646                                                              (line 344)
19647* footnotes:                             Creating Footnotes.  (line   6)
19648* format specifier, in spreadsheet:      Formula syntax for Calc.
19649                                                              (line  17)
19650* format, of links:                      Link Format.         (line   6)
19651* formatting source code, markup rules:  Literal Examples.    (line  31)
19652* formula debugging:                     Editing and debugging formulas.
19653                                                              (line 132)
19654* formula editing:                       Editing and debugging formulas.
19655                                                              (line   6)
19656* formula syntax, Calc:                  Formula syntax for Calc.
19657                                                              (line   6)
19658* formula, for individual table field:   Field and range formulas.
19659                                                              (line   6)
19660* formula, for range of fields:          Field and range formulas.
19661                                                              (line   6)
19662* formula, for table column:             Column formulas.     (line   6)
19663* formula, in tables:                    Built-in Table Editor.
19664                                                              (line 180)
19665* function index, in Texinfo export:     Indices.             (line   6)
19666* global cycling:                        Global and local cycling.
19667                                                              (line  20)
19668* global key bindings:                   Activation.          (line   6)
19669* global TODO list:                      Global TODO list.    (line   6)
19670* global visibility states:              Global and local cycling.
19671                                                              (line  20)
19672* Gnus links:                            External Links.      (line   6)
19673* graph, in tables:                      Org Plot.            (line   6)
19674* group tags:                            Tag Hierarchy.       (line   6)
19675* group tags, as regular expressions:    Matching tags and properties.
19676                                                              (line  57)
19677* grouping columns in tables:            Column Groups.       (line   6)
19678* habits:                                Tracking your habits.
19679                                                              (line   6)
19680* hacking:                               Hacking.             (line   6)
19681* header arguments per language:         Using Header Arguments.
19682                                                              (line  74)
19683* header arguments, in code blocks:      Structure of Code Blocks.
19684                                                              (line  57)
19685* header lines, in tables:               Built-in Table Editor.
19686                                                              (line   6)
19687* header, for LaTeX files:               LaTeX header and sectioning.
19688                                                              (line   6)
19689* HEADER, keyword:                       Using Header Arguments.
19690                                                              (line 114)
19691* headers, in code blocks:               Environment of a Code Block.
19692                                                              (line 344)
19693* headline navigation:                   Motion.              (line   6)
19694* headline tagging:                      Tags.                (line   6)
19695* headline, promotion and demotion:      Structure Editing.   (line   6)
19696* headlines:                             Headlines.           (line   6)
19697* headlines, in HTML export:             Headlines in HTML export.
19698                                                              (line   6)
19699* Help links:                            External Links.      (line   6)
19700* hide text:                             Visibility Cycling.  (line   6)
19701* hiding leading stars:                  Clean View.          (line   6)
19702* hlines, header argument:               Results of Evaluation.
19703                                                              (line  69)
19704* hooks:                                 Hooks (2).           (line   6)
19705* horizontal rule, in tables:            Built-in Table Editor.
19706                                                              (line   6)
19707* horizontal rules, in ASCII export:     ASCII/Latin-1/UTF-8 export.
19708                                                              (line  74)
19709* horizontal rules, in LaTeX export:     Horizontal rules in LaTeX export.
19710                                                              (line   6)
19711* horizontal rules, markup rules:        Horizontal Rules.    (line   6)
19712* HTML export:                           HTML Export.         (line   6)
19713* HTML export, CSS:                      CSS support.         (line   6)
19714* HTML, and Orgtbl mode:                 Translator functions.
19715                                                              (line   6)
19716* HTML, keyword:                         Quoting HTML tags.   (line  13)
19717* html-style, OPTIONS item:              CSS support.         (line  56)
19718* HTML5, export new elements:            HTML doctypes.       (line  25)
19719* HTML_CONTAINER, keyword:               HTML specific export settings.
19720                                                              (line  19)
19721* HTML_CONTAINER_CLASS, property:        CSS support.         (line  62)
19722* HTML_DOCTYPE, keyword:                 HTML specific export settings.
19723                                                              (line  16)
19724* HTML_HEAD, keyword:                    HTML specific export settings.
19725                                                              (line  35)
19726* HTML_HEAD, keyword <1>:                CSS support.         (line  49)
19727* HTML_HEADLINE_CLASS, property:         CSS support.         (line  62)
19728* HTML_HEAD_EXTRA, keyword:              HTML specific export settings.
19729                                                              (line  39)
19730* HTML_HEAD_EXTRA, keyword <1>:          CSS support.         (line  49)
19731* HTML_INCLUDE_STYLE, keyword:           CSS support.         (line  44)
19732* HTML_LINK_HOME, keyword:               HTML specific export settings.
19733                                                              (line  23)
19734* HTML_LINK_UP, keyword:                 HTML specific export settings.
19735                                                              (line  26)
19736* HTML_MATHJAX, keyword:                 HTML specific export settings.
19737                                                              (line  30)
19738* hyperlinks:                            Hyperlinks.          (line   6)
19739* hyperlinks, adding new types:          Adding Hyperlink Types.
19740                                                              (line   6)
19741* iCalendar export:                      iCalendar Export.    (line   6)
19742* ID, property:                          Handling Links.      (line  21)
19743* ID, property <1>:                      Capturing column view.
19744                                                              (line  34)
19745* ID, property <2>:                      iCalendar Export.    (line  26)
19746* identify, ImageMagick:                 Images in ODT export.
19747                                                              (line  34)
19748* idle, resolve, dangling:               Resolving idle time. (line   9)
19749* image, centering in LaTeX export:      Images in LaTeX export.
19750                                                              (line  60)
19751* ImageMagick:                           Math formatting in HTML export.
19752                                                              (line   6)
19753* ImageMagick <1>:                       LaTeX math snippets. (line  50)
19754* images, embedding in ODT:              Images in ODT export.
19755                                                              (line   6)
19756* images, inline in HTML:                Images in HTML export.
19757                                                              (line   6)
19758* images, inline in LaTeX:               Images in LaTeX export.
19759                                                              (line   6)
19760* images, markup rules:                  Images.              (line   6)
19761* imenu.el:                              Cooperation.         (line  29)
19762* in-buffer settings:                    In-buffer Settings.  (line   6)
19763* inactive timestamp:                    Timestamps.          (line  50)
19764* include files, during export:          Include Files.       (line   6)
19765* INCLUDE, keyword:                      Include Files.       (line   6)
19766* Indent mode:                           Org Indent Mode.     (line   6)
19767* indentation, in code blocks:           Editing Source Code. (line  32)
19768* indentation, in source blocks:         Literal Examples.    (line  81)
19769* index, in a publishing project:        Generating an index. (line   6)
19770* INDEX, keyword:                        Generating an index. (line  17)
19771* INDEX, property:                       Indices.             (line  14)
19772* indic, Texinfo attribute:              Plain lists in Texinfo export.
19773                                                              (line  12)
19774* Info:                                  Documentation Access.
19775                                                              (line   6)
19776* Info directory file, in Texinfo export: Info directory file.
19777                                                              (line   6)
19778* Info links:                            External Links.      (line   6)
19779* INFOJS_OPT, keyword:                   JavaScript support.  (line  19)
19780* inheritance, of properties:            Property Inheritance.
19781                                                              (line   6)
19782* inheritance, of tags:                  Tag Inheritance.     (line   6)
19783* inline, in LaTeX export:               Quoting LaTeX code.  (line  10)
19784* inlining images:                       Images.              (line   6)
19785* inlining images in HTML:               Images in HTML export.
19786                                                              (line   6)
19787* inlining images in LaTeX:              Images in LaTeX export.
19788                                                              (line   6)
19789* input-file, macro:                     Macro Replacement.   (line  64)
19790* inserting links:                       Handling Links.      (line  69)
19791* insertion, of templates:               Structure Templates. (line   6)
19792* insertion, of templates <1>:           Structure Templates. (line  21)
19793* install-info, in Texinfo export:       Info directory file. (line   6)
19794* installation:                          Installation.        (line   6)
19795* Installing Org protocol:               Protocols.           (line  14)
19796* internal links:                        Internal Links.      (line   6)
19797* internal links, in HTML export:        Links in HTML export.
19798                                                              (line   6)
19799* introduction:                          Introduction.        (line   6)
19800* IRC links:                             External Links.      (line   6)
19801* italic text, markup rules:             Emphasis and Monospace.
19802                                                              (line   6)
19803* ITEM, special property:                Special Properties.  (line  13)
19804* jumping, to headlines:                 Motion.              (line   6)
19805* key bindings, global:                  Activation.          (line   6)
19806* keystroke index, in Texinfo export:    Indices.             (line   6)
19807* keyword options:                       Per-file keywords.   (line   6)
19808* keyword, macro:                        Macro Replacement.   (line  41)
19809* KEYWORDS, keyword:                     Beamer specific export settings.
19810                                                              (line  37)
19811* KEYWORDS, keyword <1>:                 HTML specific export settings.
19812                                                              (line  43)
19813* KEYWORDS, keyword <2>:                 LaTeX specific export settings.
19814                                                              (line  54)
19815* KEYWORDS, keyword <3>:                 ODT specific export settings.
19816                                                              (line  16)
19817* KINDEX, keyword:                       Indices.             (line   6)
19818* language specific default header arguments: Using Header Arguments.
19819                                                              (line  36)
19820* language specific header arguments properties: Using Header Arguments.
19821                                                              (line  74)
19822* language, in code blocks:              Structure of Code Blocks.
19823                                                              (line  47)
19824* LANGUAGE, keyword:                     Export Settings.     (line  38)
19825* LANGUAGE, keyword <1>:                 LaTeX specific export settings.
19826                                                              (line  20)
19827* LAST_REPEAT, property:                 Clocking commands.   (line  21)
19828* LaTeX class:                           LaTeX header and sectioning.
19829                                                              (line   6)
19830* LaTeX export:                          LaTeX Export.        (line   6)
19831* LaTeX fragments:                       LaTeX fragments.     (line   6)
19832* LaTeX fragments, preview:              Previewing LaTeX fragments.
19833                                                              (line   6)
19834* LaTeX header:                          LaTeX header and sectioning.
19835                                                              (line   6)
19836* LaTeX interpretation:                  Embedded LaTeX.      (line   6)
19837* LaTeX sectioning structure:            LaTeX header and sectioning.
19838                                                              (line   6)
19839* LaTeX, and Orgtbl mode:                A LaTeX example.     (line   6)
19840* LATEX, keyword:                        Quoting LaTeX code.  (line  14)
19841* LATEX_CLASS, keyword:                  LaTeX specific export settings.
19842                                                              (line  32)
19843* LATEX_CLASS, keyword <1>:              LaTeX header and sectioning.
19844                                                              (line  23)
19845* LATEX_CLASS_OPTIONS, keyword:          LaTeX specific export settings.
19846                                                              (line  40)
19847* LATEX_CLASS_OPTIONS, keyword <1>:      LaTeX header and sectioning.
19848                                                              (line  23)
19849* LATEX_COMPILER, keyword:               LaTeX/PDF export commands.
19850                                                              (line  25)
19851* LATEX_COMPILER, keyword <1>:           LaTeX specific export settings.
19852                                                              (line  44)
19853* LATEX_HEADER, keyword:                 HTML specific export settings.
19854                                                              (line  48)
19855* LATEX_HEADER, keyword <1>:             LaTeX specific export settings.
19856                                                              (line  49)
19857* LATEX_HEADER, keyword <2>:             LaTeX header and sectioning.
19858                                                              (line  30)
19859* LATEX_HEADER_EXTRA, keyword:           LaTeX specific export settings.
19860                                                              (line  49)
19861* LATEX_HEADER_EXTRA, keyword <1>:       LaTeX header and sectioning.
19862                                                              (line  30)
19863* Latin-1 export:                        ASCII/Latin-1/UTF-8 export.
19864                                                              (line   6)
19865* lettered lists, in Texinfo export:     Plain lists in Texinfo export.
19866                                                              (line  35)
19867* level, for tags/property match:        Matching tags and properties.
19868                                                              (line  64)
19869* LibreOffice:                           OpenDocument Text Export.
19870                                                              (line   6)
19871* limits, in agenda:                     Filtering/limiting agenda items.
19872                                                              (line 128)
19873* line breaks, markup rules:             Paragraphs.          (line   9)
19874* lines, include:                        Include Files.       (line  36)
19875* link abbreviations:                    Link Abbreviations.  (line   6)
19876* link abbreviations, completion of:     Completion.          (line   6)
19877* link completion:                       Handling Links.      (line  69)
19878* link format:                           Link Format.         (line   6)
19879* LINK, keyword:                         Link Abbreviations.  (line  49)
19880* LINK, keyword <1>:                     In-buffer Settings.  (line  38)
19881* links, external:                       External Links.      (line   6)
19882* links, finding next/previous:          Handling Links.      (line 151)
19883* links, handling:                       Handling Links.      (line   6)
19884* links, in HTML export:                 Links in HTML export.
19885                                                              (line   6)
19886* links, in ODT export:                  Links in ODT export. (line   6)
19887* links, internal:                       Internal Links.      (line   6)
19888* links, publishing:                     Publishing links.    (line   6)
19889* links, radio targets:                  Radio Targets.       (line   6)
19890* links, returning to:                   Handling Links.      (line 144)
19891* linter:                                Org Syntax.          (line  24)
19892* Lisp forms, as table formulas:         Formula syntax for Lisp.
19893                                                              (line   6)
19894* list of listings:                      Table of Contents.   (line   6)
19895* list of tables:                        Table of Contents.   (line   6)
19896* lists, in other modes:                 Tables in Arbitrary Syntax.
19897                                                              (line   6)
19898* lists, ordered:                        Plain Lists.         (line   6)
19899* lists, plain:                          Plain Lists.         (line   6)
19900* literal examples, markup rules:        Literal Examples.    (line   6)
19901* LOCATION, property:                    iCalendar Export.    (line  51)
19902* logging, of progress:                  Progress Logging.    (line   6)
19903* LOGGING, property:                     Tracking TODO state changes.
19904                                                              (line  45)
19905* LOGGING, property <1>:                 Property Inheritance.
19906                                                              (line  37)
19907* LOG_INTO_DRAWER, property:             Tracking TODO state changes.
19908                                                              (line   6)
19909* LOG_INTO_DRAWER, property <1>:         Clocking commands.   (line   7)
19910* lookup functions in tables:            Lookup functions.    (line   6)
19911* lualatex:                              LaTeX/PDF export commands.
19912                                                              (line  25)
19913* macro replacement, during export:      Macro Replacement.   (line   6)
19914* MACRO, keyword:                        Macro Replacement.   (line   6)
19915* maintainer:                            Feedback.            (line   6)
19916* mapping entries, API:                  Using the Mapping API.
19917                                                              (line   6)
19918* mappings in open-source protocol:      The open-source protocol.
19919                                                              (line  67)
19920* mark ring:                             Handling Links.      (line 139)
19921* Markdown export:                       Markdown Export.     (line   6)
19922* marking characters, tables:            Advanced features.   (line  39)
19923* match view:                            Matching tags and properties.
19924                                                              (line   6)
19925* matching, of properties:               Matching tags and properties.
19926                                                              (line   6)
19927* matching, of tags:                     Matching tags and properties.
19928                                                              (line   6)
19929* matching, tags:                        Tags.                (line   6)
19930* math symbols:                          Special Symbols.     (line   6)
19931* MathJax:                               Math formatting in HTML export.
19932                                                              (line   6)
19933* MathML:                                LaTeX math snippets. (line  10)
19934* MH-E links:                            External Links.      (line   6)
19935* minlevel, include:                     Include Files.       (line  22)
19936* minor mode for tables:                 Orgtbl Mode.         (line   6)
19937* mkdirp, header argument:               Environment of a Code Block.
19938                                                              (line 302)
19939* mkdirp, header argument <1>:           Extracting Source Code.
19940                                                              (line  42)
19941* mode, for Calc:                        Formula syntax for Calc.
19942                                                              (line  17)
19943* modification-time, macro:              Macro Replacement.   (line  56)
19944* motion commands in agenda:             Agenda Commands.     (line  19)
19945* motion, between headlines:             Motion.              (line   6)
19946* multiple formula lines:                Editing and debugging formulas.
19947                                                              (line  98)
19948* multiple items in Texinfo lists:       Plain lists in Texinfo export.
19949                                                              (line  17)
19950* n, macro:                              Macro Replacement.   (line  75)
19951* NAME keyword, in source blocks:        Structure of Code Blocks.
19952                                                              (line   6)
19953* NAME, keyword:                         References.          (line 135)
19954* NAME, keyword <1>:                     Internal Links.      (line  21)
19955* name, of column or field:              References.          (line 114)
19956* name, of column or field <1>:          References.          (line 135)
19957* named references:                      References.          (line 114)
19958* names as TODO keywords:                TODO types.          (line   6)
19959* narrow columns in tables:              Column Width and Alignment.
19960                                                              (line   6)
19961* no-expand, header argument:            Extracting Source Code.
19962                                                              (line  97)
19963* NOBLOCKING, property:                  TODO dependencies.   (line  29)
19964* noweb, header argument:                Noweb Reference Syntax.
19965                                                              (line  18)
19966* noweb-ref, header argument:            Noweb Reference Syntax.
19967                                                              (line   6)
19968* noweb-sep, header argument:            Noweb Reference Syntax.
19969                                                              (line  96)
19970* number headlines:                      Dynamic Headline Numbering.
19971                                                              (line   6)
19972* occur, command:                        Sparse Trees.        (line   6)
19973* occur-tree:                            Storing searches.    (line  11)
19974* odd-levels-only outlines:              Clean View.          (line   6)
19975* ODT:                                   OpenDocument Text Export.
19976                                                              (line   6)
19977* ODT, keyword:                          Advanced topics in ODT export.
19978                                                              (line 120)
19979* ODT_STYLES_FILE, keyword:              ODT specific export settings.
19980                                                              (line  22)
19981* ODT_STYLES_FILE, keyword <1>:          Applying custom styles.
19982                                                              (line  29)
19983* only-contents, include:                Include Files.       (line  53)
19984* open-source protocol:                  The open-source protocol.
19985                                                              (line   6)
19986* OpenDocument:                          OpenDocument Text Export.
19987                                                              (line   6)
19988* option keyword completion:             Completion.          (line   6)
19989* options, for custom agenda views:      Setting options.     (line   6)
19990* options, for export:                   Export Settings.     (line   6)
19991* options, for publishing:               Publishing options.  (line   6)
19992* OPTIONS, keyword:                      Export Settings.     (line   6)
19993* ordered lists:                         Plain Lists.         (line   6)
19994* ORDERED, property:                     TODO dependencies.   (line   6)
19995* ORDERED, property <1>:                 Checkboxes.          (line  45)
19996* Org export:                            Org Export.          (line   6)
19997* Org mode, turning on:                  Activation.          (line  24)
19998* Org Num mode:                          Dynamic Headline Numbering.
19999                                                              (line   6)
20000* Org protocol, set-up:                  Protocols.           (line  14)
20001* org-agenda, command:                   Weekly/daily agenda. (line  10)
20002* Orgtbl mode:                           Orgtbl Mode.         (line   6)
20003* Orgtbl mode <1>:                       Tables in Arbitrary Syntax.
20004                                                              (line   6)
20005* ORGTBL, keyword:                       Radio tables.        (line  21)
20006* outline tree:                          Headlines.           (line   6)
20007* output-dir, header argument:           Results of Evaluation.
20008                                                              (line 119)
20009* overview, global visibility state:     Global and local cycling.
20010                                                              (line  20)
20011* packages, interaction with other:      Interaction.         (line   6)
20012* padline, header argument:              Extracting Source Code.
20013                                                              (line  73)
20014* paragraphs, markup rules:              Paragraphs.          (line   6)
20015* passing arguments to code blocks:      Environment of a Code Block.
20016                                                              (line   9)
20017* pasting, of subtrees:                  Structure Editing.   (line   6)
20018* PDF export:                            LaTeX Export.        (line   6)
20019* pdflatex:                              LaTeX/PDF export commands.
20020                                                              (line  25)
20021* per-file keywords:                     Per-file keywords.   (line   6)
20022* PINDEX, keyword:                       Indices.             (line   6)
20023* plain links:                           Link Format.         (line   6)
20024* plain lists:                           Plain Lists.         (line   6)
20025* plain lists, in LaTeX export:          Plain lists in LaTeX export.
20026                                                              (line   6)
20027* plain text external links:             External Links.      (line 136)
20028* plot tables using Gnuplot:             Org Plot.            (line   6)
20029* PLOT, keyword:                         Org Plot.            (line  12)
20030* post, header argument:                 Results of Evaluation.
20031                                                              (line 247)
20032* presentation, of agenda items:         Presentation and Sorting.
20033                                                              (line   6)
20034* print edition:                         Summary.             (line  54)
20035* printing sparse trees:                 Sparse Trees.        (line  52)
20036* priorities:                            Priorities.          (line   6)
20037* PRIORITIES, keyword:                   Priorities.          (line  52)
20038* PRIORITIES, keyword <1>:               In-buffer Settings.  (line  43)
20039* priorities, of agenda items:           Sorting of agenda items.
20040                                                              (line   6)
20041* priority cookie:                       Priorities.          (line   6)
20042* PRIORITY, special property:            Special Properties.  (line  13)
20043* program index, in Texinfo export:      Indices.             (line   6)
20044* progress logging:                      Progress Logging.    (line   6)
20045* projects, for publishing:              Project alist.       (line   6)
20046* prologue, header argument:             Environment of a Code Block.
20047                                                              (line 344)
20048* promotion, of subtrees:                Structure Editing.   (line   6)
20049* proof, in LaTeX export:                Special blocks in LaTeX export.
20050                                                              (line   6)
20051* properties:                            Properties and Columns.
20052                                                              (line   6)
20053* properties, API:                       Using the Property API.
20054                                                              (line   6)
20055* properties, column view:               Defining columns.    (line   6)
20056* properties, inheritance:               Property Inheritance.
20057                                                              (line   6)
20058* properties, searching:                 Property Searches.   (line   6)
20059* properties, special:                   Special Properties.  (line   6)
20060* property syntax:                       Property Syntax.     (line   6)
20061* PROPERTY, keyword:                     Property Syntax.     (line  50)
20062* PROPERTY, keyword <1>:                 In-buffer Settings.  (line  48)
20063* property, macro:                       Macro Replacement.   (line  68)
20064* protocol, capture:                     The capture protocol.
20065                                                              (line   6)
20066* protocol, new protocol:                Protocols.           (line  25)
20067* protocol, open-source:                 The open-source protocol.
20068                                                              (line   6)
20069* protocol, open-source rewritten URL:   The open-source protocol.
20070                                                              (line  32)
20071* protocol, open-source, set-up mapping: The open-source protocol.
20072                                                              (line  67)
20073* protocol, store-link:                  The store-link protocol.
20074                                                              (line   6)
20075* protocols, for external access:        Capture and Attachments.
20076                                                              (line   6)
20077* protocols, for external access <1>:    Protocols.           (line   6)
20078* publishing:                            Publishing.          (line   6)
20079* publishing options:                    Publishing options.  (line   6)
20080* query editing, in agenda:              Filtering/limiting agenda items.
20081                                                              (line  20)
20082* quote blocks:                          Paragraphs.          (line  25)
20083* radio button, checkbox as:             Checkboxes.          (line  75)
20084* radio tables:                          Radio tables.        (line   6)
20085* radio targets:                         Radio Targets.       (line   6)
20086* range formula:                         Field and range formulas.
20087                                                              (line   6)
20088* range references:                      References.          (line  64)
20089* ranges, time:                          Timestamps.          (line   6)
20090* recomputing table fields:              Updating the table.  (line   6)
20091* references:                            References.          (line   6)
20092* references, named:                     References.          (line 114)
20093* references, remote:                    References.          (line 135)
20094* references, to a different table:      References.          (line 135)
20095* references, to fields:                 References.          (line  15)
20096* references, to ranges:                 References.          (line  64)
20097* refiling notes:                        Refiling and Archiving.
20098                                                              (line   6)
20099* refiling notes <1>:                    Refile and Copy.     (line   6)
20100* refresh set-up:                        In-buffer Settings.  (line  11)
20101* region, active:                        Structure Editing.   (line  46)
20102* regular expressions, with tags search: Matching tags and properties.
20103                                                              (line  53)
20104* relative timer:                        Timers.              (line   6)
20105* reminders:                             Weekly/daily agenda. (line 125)
20106* remote editing, bulk, from agenda:     Agenda Commands.     (line 352)
20107* remote editing, from agenda:           Agenda Commands.     (line 223)
20108* remote editing, undo:                  Agenda Commands.     (line 227)
20109* remote references:                     References.          (line 135)
20110* repeated tasks:                        Repeated tasks.      (line   6)
20111* report, of clocked time:               The clock table.     (line   6)
20112* reporting a bug:                       Feedback.            (line   6)
20113* resolve idle time:                     Resolving idle time. (line   9)
20114* results, header argument:              Results of Evaluation.
20115                                                              (line   6)
20116* RESULTS, keyword:                      Evaluating Code Blocks.
20117                                                              (line   6)
20118* results, macro:                        Macro Replacement.   (line  84)
20119* revealing context:                     Global and local cycling.
20120                                                              (line  43)
20121* rewritten URL in open-source protocol: The open-source protocol.
20122                                                              (line  32)
20123* Rmail links:                           External Links.      (line   6)
20124* row separator, in tables:              Built-in Table Editor.
20125                                                              (line   6)
20126* row, of field coordinates:             References.          (line  90)
20127* rownames, header argument:             Environment of a Code Block.
20128                                                              (line  73)
20129* RSS feeds:                             Capture and Attachments.
20130                                                              (line   6)
20131* RSS feeds <1>:                         RSS Feeds.           (line   6)
20132* rsync:                                 Uploading Files.     (line   6)
20133* SCHEDULED marker:                      Deadlines and Scheduling.
20134                                                              (line  31)
20135* SCHEDULED, special property:           Special Properties.  (line  13)
20136* scheduling:                            Timestamps.          (line   6)
20137* scripts, for agenda processing:        Extracting Agenda Information.
20138                                                              (line   6)
20139* search option in file links:           Search Options.      (line   6)
20140* search strings, custom:                Custom Searches.     (line   6)
20141* search view:                           Search view.         (line   6)
20142* searching for tags:                    Tag Searches.        (line   6)
20143* searching, for text:                   Search view.         (line   6)
20144* searching, of properties:              Property Searches.   (line   6)
20145* sectioning structure, for LaTeX export: LaTeX header and sectioning.
20146                                                              (line   6)
20147* SELECT_TAGS, keyword:                  Export Settings.     (line  44)
20148* sep, header argument:                  Results of Evaluation.
20149                                                              (line 145)
20150* sep, Texinfo attribute:                Plain lists in Texinfo export.
20151                                                              (line  17)
20152* SEQ_TODO, keyword:                     Per-file keywords.   (line   6)
20153* SEQ_TODO, keyword <1>:                 In-buffer Settings.  (line 186)
20154* session, header argument:              Environment of a Code Block.
20155                                                              (line 272)
20156* setting tags:                          Setting Tags.        (line   6)
20157* SETUPFILE, keyword:                    Export Settings.     (line  13)
20158* SETUPFILE, keyword <1>:                In-buffer Settings.  (line  53)
20159* sexp timestamps:                       Timestamps.          (line  34)
20160* shebang, header argument:              Extracting Source Code.
20161                                                              (line  83)
20162* shell links:                           External Links.      (line   6)
20163* shift-selection:                       Conflicts.           (line   6)
20164* shift-selection-mode:                  Plain Lists.         (line  95)
20165* show all, command:                     Global and local cycling.
20166                                                              (line  40)
20167* show all, global visibility state:     Global and local cycling.
20168                                                              (line  20)
20169* show branches, command:                Global and local cycling.
20170                                                              (line  52)
20171* show children, command:                Global and local cycling.
20172                                                              (line  55)
20173* show hidden text:                      Visibility Cycling.  (line   6)
20174* shy hyphen, special symbol:            Special Symbols.     (line  36)
20175* sitemap, of published pages:           Site map.            (line   6)
20176* smartphone:                            Org Mobile.          (line   6)
20177* sorting, of agenda items:              Sorting of agenda items.
20178                                                              (line   6)
20179* sorting, of plain list:                Plain Lists.         (line 159)
20180* sorting, of subtrees:                  Structure Editing.   (line   6)
20181* source block:                          Literal Examples.    (line  38)
20182* source blocks, in LaTeX export:        Source blocks in LaTeX export.
20183                                                              (line   6)
20184* source code, batch execution:          Batch Execution.     (line   6)
20185* source code, block structure:          Structure of Code Blocks.
20186                                                              (line   6)
20187* source code, editing:                  Editing Source Code. (line   6)
20188* source code, evaluating:               Evaluating Code Blocks.
20189                                                              (line   6)
20190* source code, exporting:                Exporting Code Blocks.
20191                                                              (line   6)
20192* source code, extracting:               Extracting Source Code.
20193                                                              (line   6)
20194* source code, inline:                   Structure of Code Blocks.
20195                                                              (line  24)
20196* source code, languages:                Languages.           (line   6)
20197* source code, library:                  Library of Babel.    (line   6)
20198* source code, noweb reference:          Noweb Reference Syntax.
20199                                                              (line   6)
20200* source code, results of evaluation:    Results of Evaluation.
20201                                                              (line   6)
20202* source code, working with:             Working with Source Code.
20203                                                              (line   6)
20204* sparse tree, for deadlines:            Inserting deadline/schedule.
20205                                                              (line  26)
20206* sparse tree, for TODO:                 TODO Basics.         (line  35)
20207* sparse tree, tag based:                Tags.                (line   6)
20208* sparse trees:                          Sparse Trees.        (line   6)
20209* special blocks, in ASCII export:       ASCII/Latin-1/UTF-8 export.
20210                                                              (line  84)
20211* special blocks, in LaTeX export:       Special blocks in LaTeX export.
20212                                                              (line   6)
20213* special keywords:                      In-buffer Settings.  (line   6)
20214* special symbols:                       Special Symbols.     (line   6)
20215* special symbols, in-buffer display:    Special Symbols.     (line  27)
20216* speed keys:                            Speed Keys.          (line   6)
20217* speedbar.el:                           Cooperation.         (line  41)
20218* spreadsheet capabilities:              The Spreadsheet.     (line   6)
20219* square brackets, around links:         External Links.      (line 136)
20220* startup visibility:                    Global and local cycling.
20221                                                              (line  36)
20222* STARTUP, keyword:                      Initial visibility.  (line  11)
20223* STARTUP, keyword <1>:                  Blocks.              (line  14)
20224* STARTUP, keyword <2>:                  In-buffer Settings.  (line  65)
20225* statistics, for checkboxes:            Checkboxes.          (line  29)
20226* statistics, for TODO items:            Breaking Down Tasks. (line   6)
20227* store-link protocol:                   The store-link protocol.
20228                                                              (line   6)
20229* storing link, in a source code buffer: Literal Examples.    (line 111)
20230* storing links:                         Handling Links.      (line   9)
20231* strike-through text, markup rules:     Emphasis and Monospace.
20232                                                              (line   6)
20233* structure editing:                     Structure Editing.   (line   6)
20234* structure of document:                 Document Structure.  (line   6)
20235* STYLE, property:                       Tracking your habits.
20236                                                              (line   6)
20237* styles, custom:                        Applying custom styles.
20238                                                              (line   6)
20239* styles, custom <1>:                    Advanced topics in ODT export.
20240                                                              (line  34)
20241* SUBAUTHOR, keyword:                    Texinfo specific export settings.
20242                                                              (line  14)
20243* SUBAUTHOR, keyword <1>:                Texinfo title and copyright page.
20244                                                              (line  12)
20245* sublevels, inclusion into tags match:  Tag Inheritance.     (line   6)
20246* sublevels, inclusion into TODO list:   Global TODO list.    (line  38)
20247* subscript:                             Subscripts and Superscripts.
20248                                                              (line   6)
20249* SUBTITLE, keyword:                     ASCII/Latin-1/UTF-8 export.
20250                                                              (line  46)
20251* SUBTITLE, keyword <1>:                 Beamer specific export settings.
20252                                                              (line  44)
20253* SUBTITLE, keyword <2>:                 HTML specific export settings.
20254                                                              (line  53)
20255* SUBTITLE, keyword <3>:                 LaTeX specific export settings.
20256                                                              (line  63)
20257* SUBTITLE, keyword <4>:                 ODT specific export settings.
20258                                                              (line  26)
20259* SUBTITLE, keyword <5>:                 Texinfo specific export settings.
20260                                                              (line  11)
20261* subtree cycling:                       Global and local cycling.
20262                                                              (line   6)
20263* subtree visibility states:             Global and local cycling.
20264                                                              (line   6)
20265* subtree, cut and paste:                Structure Editing.   (line   6)
20266* subtree, subtree visibility state:     Global and local cycling.
20267                                                              (line   6)
20268* subtrees, cut and paste:               Structure Editing.   (line   6)
20269* summary:                               Summary.             (line   6)
20270* SUMMARY, property:                     iCalendar Export.    (line  51)
20271* superscript:                           Subscripts and Superscripts.
20272                                                              (line   6)
20273* switches, in code blocks:              Structure of Code Blocks.
20274                                                              (line  52)
20275* syntax checker:                        Org Syntax.          (line  24)
20276* syntax, noweb:                         Noweb Reference Syntax.
20277                                                              (line   6)
20278* syntax, of formulas:                   Formula syntax for Calc.
20279                                                              (line   6)
20280* table editor, built-in:                Built-in Table Editor.
20281                                                              (line   6)
20282* table editor, table.el:                Cooperation.         (line  49)
20283* table indirection:                     References.          (line 148)
20284* table lookup functions:                Lookup functions.    (line   6)
20285* table of contents:                     Table of Contents.   (line   6)
20286* table of contents, exclude entries:    Table of Contents.   (line  15)
20287* table syntax:                          Built-in Table Editor.
20288                                                              (line   6)
20289* table-type, Texinfo attribute:         Plain lists in Texinfo export.
20290                                                              (line   6)
20291* table.el:                              Cooperation.         (line  49)
20292* tables:                                Tables.              (line   6)
20293* tables, in HTML:                       Tables in HTML export.
20294                                                              (line   6)
20295* tables, in LaTeX export:               Tables in LaTeX export.
20296                                                              (line   6)
20297* tables, in ODT export:                 Tables in ODT export.
20298                                                              (line   6)
20299* tables, in ODT export <1>:             Advanced topics in ODT export.
20300                                                              (line 151)
20301* tables, in other modes:                Tables in Arbitrary Syntax.
20302                                                              (line   6)
20303* tag completion:                        Completion.          (line   6)
20304* tag filtering, in agenda:              Filtering/limiting agenda items.
20305                                                              (line  20)
20306* tag inheritance:                       Tag Inheritance.     (line   6)
20307* tag searches:                          Tag Searches.        (line   6)
20308* tags:                                  Tags.                (line   6)
20309* tags hierarchy:                        Tag Hierarchy.       (line   6)
20310* tags view:                             Matching tags and properties.
20311                                                              (line   6)
20312* tags, as an agenda view:               Storing searches.    (line  11)
20313* tags, groups:                          Tag Hierarchy.       (line   6)
20314* TAGS, keyword:                         Setting Tags.        (line  22)
20315* TAGS, keyword <1>:                     In-buffer Settings.  (line 179)
20316* tags, setting:                         Setting Tags.        (line   6)
20317* TAGS, special property:                Special Properties.  (line  13)
20318* tags-todo:                             Storing searches.    (line  11)
20319* tags-tree:                             Storing searches.    (line  11)
20320* tangle, header argument:               Extracting Source Code.
20321                                                              (line  23)
20322* tangle-mode, header argument:          Extracting Source Code.
20323                                                              (line  89)
20324* tangling:                              Extracting Source Code.
20325                                                              (line   6)
20326* targets, for links:                    Internal Links.      (line  17)
20327* targets, radio:                        Radio Targets.       (line   6)
20328* tasks, breaking down:                  Breaking Down Tasks. (line   6)
20329* tasks, repeated:                       Repeated tasks.      (line   6)
20330* TBLFM keywords, multiple:              Editing and debugging formulas.
20331                                                              (line  98)
20332* TBLFM, keyword:                        Field and range formulas.
20333                                                              (line  12)
20334* TBLFM, switching:                      Editing and debugging formulas.
20335                                                              (line  98)
20336* template expansion:                    Structure Templates. (line  21)
20337* template insertion:                    Structure Templates. (line   6)
20338* template, custom:                      Applying custom styles.
20339                                                              (line   6)
20340* template, custom <1>:                  Advanced topics in ODT export.
20341                                                              (line  34)
20342* templates, for Capture:                Capture templates.   (line   6)
20343* Tempo:                                 Structure Templates. (line  21)
20344* TeX interpretation:                    Embedded LaTeX.      (line   6)
20345* TeX symbol completion:                 Completion.          (line   6)
20346* TEXINFO, keyword:                      Quoting Texinfo code.
20347                                                              (line   9)
20348* TEXINFO_CLASS, keyword:                Texinfo specific export settings.
20349                                                              (line  20)
20350* TEXINFO_CLASS, keyword <1>:            Texinfo file header. (line  19)
20351* TEXINFO_CLASS, keyword <2>:            Headings and sectioning structure.
20352                                                              (line   6)
20353* TEXINFO_DIR_CATEGORY, keyword:         Texinfo specific export settings.
20354                                                              (line  30)
20355* TEXINFO_DIR_CATEGORY, keyword <1>:     Info directory file. (line   6)
20356* TEXINFO_DIR_DESC, keyword:             Texinfo specific export settings.
20357                                                              (line  36)
20358* TEXINFO_DIR_DESC, keyword <1>:         Info directory file. (line   6)
20359* TEXINFO_DIR_TITLE, keyword:            Texinfo specific export settings.
20360                                                              (line  33)
20361* TEXINFO_DIR_TITLE, keyword <1>:        Info directory file. (line   6)
20362* TEXINFO_FILENAME, keyword:             Texinfo specific export settings.
20363                                                              (line  17)
20364* TEXINFO_FILENAME, keyword <1>:         Texinfo file header. (line   6)
20365* TEXINFO_HEADER, keyword:               Texinfo specific export settings.
20366                                                              (line  24)
20367* TEXINFO_HEADER, keyword <1>:           Texinfo file header. (line  11)
20368* TEXINFO_POST_HEADER, keyword:          Texinfo specific export settings.
20369                                                              (line  27)
20370* TEXINFO_PRINTED_TITLE, keyword:        Texinfo specific export settings.
20371                                                              (line  39)
20372* TEXINFO_PRINTED_TITLE, keyword <1>:    Texinfo title and copyright page.
20373                                                              (line   6)
20374* text areas, in HTML:                   Text areas in HTML export.
20375                                                              (line   6)
20376* text search:                           Search view.         (line   6)
20377* time clocking:                         Clocking Work Time.  (line   6)
20378* time format, custom:                   Custom time format.  (line   6)
20379* time grid:                             Time-of-day specifications.
20380                                                              (line  31)
20381* time, computing:                       Durations and time values.
20382                                                              (line   6)
20383* time, macro:                           Macro Replacement.   (line  56)
20384* time, reading in minibuffer:           The date/time prompt.
20385                                                              (line   6)
20386* time-of-day specification:             Time-of-day specifications.
20387                                                              (line   6)
20388* timerange:                             Timestamps.          (line  42)
20389* times:                                 Dates and Times.     (line   6)
20390* timestamp:                             Dates and Times.     (line   6)
20391* timestamp <1>:                         Timestamps.          (line  14)
20392* timestamp, inactive:                   Timestamps.          (line  50)
20393* TIMESTAMP, special property:           Special Properties.  (line  13)
20394* timestamp, with repeater interval:     Timestamps.          (line  25)
20395* timestamps:                            Timestamps.          (line   6)
20396* TIMESTAMP_IA, special property:        Special Properties.  (line  13)
20397* TIMEZONE, property:                    iCalendar Export.    (line  51)
20398* TINDEX, keyword:                       Indices.             (line   6)
20399* TITLE, keyword:                        Export Settings.     (line  60)
20400* title, macro:                          Macro Replacement.   (line  41)
20401* toc, in OPTIONS keyword:               Table of Contents.   (line   6)
20402* TOC, keyword:                          Table of Contents.   (line  24)
20403* TODO dependencies:                     TODO dependencies.   (line   6)
20404* TODO dependencies, NOBLOCKING:         TODO dependencies.   (line  29)
20405* TODO items:                            TODO Items.          (line   6)
20406* TODO keyword matching:                 Global TODO list.    (line  18)
20407* TODO keyword matching, with tags search: Matching tags and properties.
20408                                                              (line  64)
20409* TODO keyword sets:                     Multiple sets in one file.
20410                                                              (line   6)
20411* TODO keywords completion:              Completion.          (line   6)
20412* TODO list, global:                     Global TODO list.    (line   6)
20413* TODO types:                            TODO types.          (line   6)
20414* TODO workflow:                         Workflow states.     (line   6)
20415* todo, as an agenda view:               Storing searches.    (line  11)
20416* TODO, keyword:                         Per-file keywords.   (line   6)
20417* TODO, keyword <1>:                     In-buffer Settings.  (line 186)
20418* TODO, special property:                Special Properties.  (line  13)
20419* todo-tree:                             Storing searches.    (line  11)
20420* top headline filtering, in agenda:     Filtering/limiting agenda items.
20421                                                              (line  20)
20422* Top node, in Texinfo export:           Headings and sectioning structure.
20423                                                              (line  37)
20424* transient mark mode:                   Structure Editing.   (line  46)
20425* translator function:                   Translator functions.
20426                                                              (line   6)
20427* trees, sparse:                         Sparse Trees.        (line   6)
20428* trees, visibility:                     Visibility Cycling.  (line   6)
20429* tty key bindings:                      TTY Keys.            (line   6)
20430* two-column tables, in Texinfo export:  Plain lists in Texinfo export.
20431                                                              (line   6)
20432* types as TODO keywords:                TODO types.          (line   6)
20433* TYP_TODO, keyword:                     Per-file keywords.   (line   6)
20434* TYP_TODO, keyword <1>:                 In-buffer Settings.  (line 186)
20435* underlined text, markup rules:         Emphasis and Monospace.
20436                                                              (line   6)
20437* undoing remote-editing events:         Agenda Commands.     (line 227)
20438* unison:                                Uploading Files.     (line   6)
20439* UNNUMBERED, property:                  Export Settings.     (line 149)
20440* unoconv:                               Extending ODT export.
20441                                                              (line  12)
20442* updating, table:                       Updating the table.  (line   6)
20443* URL links:                             External Links.      (line   6)
20444* Usenet links:                          External Links.      (line   6)
20445* using sessions in code blocks:         Environment of a Code Block.
20446                                                              (line 272)
20447* UTF-8 export:                          ASCII/Latin-1/UTF-8 export.
20448                                                              (line   6)
20449* var, header argument:                  Environment of a Code Block.
20450                                                              (line   9)
20451* variable index, in Texinfo export:     Indices.             (line   6)
20452* vectors, in table calculations:        Formula syntax for Calc.
20453                                                              (line  14)
20454* verbatim blocks, in LaTeX export:      Example blocks in LaTeX export.
20455                                                              (line   6)
20456* verbatim text, markup rules:           Emphasis and Monospace.
20457                                                              (line   6)
20458* verse blocks:                          Paragraphs.          (line  13)
20459* view file commands in agenda:          Agenda Commands.     (line  28)
20460* VINDEX, keyword:                       Indices.             (line   6)
20461* viper.el:                              Conflicts.           (line  51)
20462* visibility cycling:                    Visibility Cycling.  (line   6)
20463* visibility cycling, drawers:           Drawers.             (line   6)
20464* VISIBILITY, property:                  Initial visibility.  (line  16)
20465* visible text, printing:                Sparse Trees.        (line  52)
20466* VM links:                              External Links.      (line 109)
20467* Wanderlust links:                      External Links.      (line 109)
20468* weekly agenda:                         Weekly/daily agenda. (line   6)
20469* windmove.el:                           Conflicts.           (line  60)
20470* workflow states as TODO keywords:      Workflow states.     (line   6)
20471* working directory, in a code block:    Environment of a Code Block.
20472                                                              (line 302)
20473* wrap, header argument:                 Results of Evaluation.
20474                                                              (line 206)
20475* xelatex:                               LaTeX/PDF export commands.
20476                                                              (line  25)
20477* yasnippet.el:                          Conflicts.           (line  74)
20478* zero width space:                      Escape Character.    (line   6)
20479* zip:                                   Pre-requisites for ODT export.
20480                                                              (line   6)
20481
20482
20483File: org.info,  Node: Key Index,  Next: Command and Function Index,  Prev: Main Index,  Up: Top
20484
20485E Key Index
20486***********
20487
20488�[index�]
20489* Menu:
20490
20491* !:                                     Setting Tags.        (line 126)
20492* ! (Agenda dispatcher):                 Stuck projects.      (line  17)
20493* # (Agenda dispatcher):                 Stuck projects.      (line  14)
20494* $:                                     Agenda Commands.     (line 265)
20495* %:                                     Agenda Commands.     (line 379)
20496* ':                                     CDLaTeX mode.        (line  57)
20497* *:                                     Agenda Commands.     (line 359)
20498* * (Agenda dispatcher):                 Agenda Dispatcher.   (line  55)
20499* +:                                     Agenda Commands.     (line 284)
20500* ,:                                     Agenda Commands.     (line 279)
20501* -:                                     Agenda Commands.     (line 289)
20502* .:                                     The date/time prompt.
20503                                                              (line  81)
20504* . <1>:                                 Agenda Commands.     (line 118)
20505* / (Agenda dispatcher):                 Agenda Dispatcher.   (line  30)
20506* 1..9,0:                                Using column view.   (line  35)
20507* ::                                     Agenda Commands.     (line 275)
20508* <:                                     Using column view.   (line  67)
20509* < <1>:                                 The date/time prompt.
20510                                                              (line  81)
20511* < (Agenda dispatcher):                 Agenda Dispatcher.   (line  43)
20512* < < (Agenda dispatcher):               Agenda Dispatcher.   (line  49)
20513* >:                                     Using column view.   (line  67)
20514* > <1>:                                 The date/time prompt.
20515                                                              (line  81)
20516* > <2>:                                 Agenda Commands.     (line 328)
20517* ? (Agenda dispatcher):                 Pulling from the mobile application.
20518                                                              (line  39)
20519* [:                                     Agenda Commands.     (line 142)
20520* ^:                                     CDLaTeX mode.        (line  43)
20521* _:                                     CDLaTeX mode.        (line  43)
20522* `:                                     CDLaTeX mode.        (line  51)
20523* a:                                     Using column view.   (line  57)
20524* A:                                     Agenda Commands.     (line  64)
20525* a <1>:                                 Agenda Commands.     (line 252)
20526* a (Agenda dispatcher):                 Weekly/daily agenda. (line  10)
20527* b:                                     Agenda Commands.     (line 115)
20528* B:                                     Agenda Commands.     (line 383)
20529* C:                                     Resolving idle time. (line  46)
20530* c:                                     Agenda Commands.     (line 447)
20531* c <1>:                                 Agenda Commands.     (line 450)
20532* C <1>:                                 Agenda Commands.     (line 481)
20533* C (Agenda dispatcher):                 Storing searches.    (line  11)
20534* C (Capture menu:                       Capture templates.   (line  11)
20535* C-#:                                   Advanced features.   (line  11)
20536* C-':                                   Agenda Files.        (line  26)
20537* C-,:                                   Agenda Files.        (line  26)
20538* C-.:                                   The date/time prompt.
20539                                                              (line  81)
20540* C-0 C-c C-w:                           Refile and Copy.     (line  46)
20541* C-2 C-c C-w:                           Refile and Copy.     (line  38)
20542* C-3 C-c C-w:                           Refile and Copy.     (line  41)
20543* C-c !:                                 Creating Timestamps. (line  25)
20544* C-c #:                                 Checkboxes.          (line  98)
20545* C-c $:                                 Moving subtrees.     (line  10)
20546* C-c %:                                 Handling Links.      (line 139)
20547* C-c &:                                 Handling Links.      (line 144)
20548* C-c ':                                 Editing and debugging formulas.
20549                                                              (line  37)
20550* C-c ' <1>:                             Literal Examples.    (line 102)
20551* C-c ' <2>:                             Include Files.       (line  63)
20552* C-c ' <3>:                             Editing Source Code. (line   6)
20553* C-c ' <4>:                             Cooperation.         (line  59)
20554* C-c *:                                 Structure Editing.   (line 129)
20555* C-c * <1>:                             Plain Lists.         (line 143)
20556* C-c * <2>:                             Updating the table.  (line  14)
20557* C-c +:                                 Built-in Table Editor.
20558                                                              (line 181)
20559* C-c ,:                                 Priorities.          (line  33)
20560* C-c -:                                 Plain Lists.         (line 131)
20561* C-c - <1>:                             Built-in Table Editor.
20562                                                              (line 126)
20563* C-c .:                                 Creating Timestamps. (line  11)
20564* C-c /:                                 Sparse Trees.        (line  16)
20565* C-c / <1>:                             Conflicts.           (line  51)
20566* C-c / /:                               Sparse Trees.        (line  20)
20567* C-c / a:                               Inserting deadline/schedule.
20568                                                              (line  36)
20569* C-c / b:                               Inserting deadline/schedule.
20570                                                              (line  33)
20571* C-c / d:                               Inserting deadline/schedule.
20572                                                              (line  26)
20573* C-c / m:                               Tag Searches.        (line  10)
20574* C-c / m <1>:                           Property Searches.   (line  11)
20575* C-c / p:                               Property Searches.   (line  29)
20576* C-c / r:                               Sparse Trees.        (line  20)
20577* C-c / t:                               TODO Basics.         (line  35)
20578* C-c ;:                                 Comment Lines.       (line  20)
20579* C-c <:                                 Creating Timestamps. (line  32)
20580* C-c =:                                 Column formulas.     (line  33)
20581* C-c = <1>:                             Editing and debugging formulas.
20582                                                              (line  14)
20583* C-c >:                                 Creating Timestamps. (line  35)
20584* C-c ?:                                 Editing and debugging formulas.
20585                                                              (line  25)
20586* C-c @:                                 Structure Editing.   (line  66)
20587* C-c C-*:                               Plain Lists.         (line 148)
20588* C-c C-,:                               Structure Templates. (line  11)
20589* C-c C-a:                               Attachment defaults and dispatcher.
20590                                                              (line  20)
20591* C-c C-a <1>:                           Agenda Commands.     (line 300)
20592* C-c C-a a:                             Attachment defaults and dispatcher.
20593                                                              (line  25)
20594* C-c C-a b:                             Attachment defaults and dispatcher.
20595                                                              (line  35)
20596* C-c C-a c:                             Attachment defaults and dispatcher.
20597                                                              (line  31)
20598* C-c C-a d:                             Attachment defaults and dispatcher.
20599                                                              (line  61)
20600* C-c C-a D:                             Attachment defaults and dispatcher.
20601                                                              (line  64)
20602* C-c C-a f:                             Attachment defaults and dispatcher.
20603                                                              (line  55)
20604* C-c C-a F:                             Attachment defaults and dispatcher.
20605                                                              (line  58)
20606* C-c C-a l:                             Attachment defaults and dispatcher.
20607                                                              (line  31)
20608* C-c C-a m:                             Attachment defaults and dispatcher.
20609                                                              (line  31)
20610* C-c C-a n:                             Attachment defaults and dispatcher.
20611                                                              (line  39)
20612* C-c C-a o:                             Attachment defaults and dispatcher.
20613                                                              (line  46)
20614* C-c C-a O:                             Attachment defaults and dispatcher.
20615                                                              (line  52)
20616* C-c C-a s:                             Attachment defaults and dispatcher.
20617                                                              (line  68)
20618* C-c C-a S:                             Attachment defaults and dispatcher.
20619                                                              (line  73)
20620* C-c C-a z:                             Attachment defaults and dispatcher.
20621                                                              (line  42)
20622* C-c C-b:                               Motion.              (line  18)
20623* C-c C-b <1>:                           Editing support.     (line  12)
20624* C-c C-c:                               Plain Lists.         (line 126)
20625* C-c C-c <1>:                           Built-in Table Editor.
20626                                                              (line  60)
20627* C-c C-c <2>:                           Column Width and Alignment.
20628                                                              (line  17)
20629* C-c C-c <3>:                           Editing and debugging formulas.
20630                                                              (line  45)
20631* C-c C-c <4>:                           Editing and debugging formulas.
20632                                                              (line  91)
20633* C-c C-c <5>:                           Editing and debugging formulas.
20634                                                              (line  98)
20635* C-c C-c <6>:                           Checkboxes.          (line  52)
20636* C-c C-c <7>:                           Setting Tags.        (line  20)
20637* C-c C-c <8>:                           Setting Tags.        (line 130)
20638* C-c C-c <9>:                           Property Syntax.     (line 100)
20639* C-c C-c <10>:                          Using column view.   (line  26)
20640* C-c C-c <11>:                          Using column view.   (line  49)
20641* C-c C-c <12>:                          Capturing column view.
20642                                                              (line  80)
20643* C-c C-c <13>:                          Creating Timestamps. (line  29)
20644* C-c C-c <14>:                          Clocking commands.   (line  53)
20645* C-c C-c <15>:                          The clock table.     (line  20)
20646* C-c C-c <16>:                          Creating Footnotes.  (line  65)
20647* C-c C-c <17>:                          Evaluating Code Blocks.
20648                                                              (line  22)
20649* C-c C-c <18>:                          Key bindings and Useful Functions.
20650                                                              (line  11)
20651* C-c C-c <19>:                          The Very Busy C-c C-c Key.
20652                                                              (line   6)
20653* C-c C-c (Capture buffer):              Using capture.       (line  15)
20654* C-c C-c c:                             Property Syntax.     (line 117)
20655* C-c C-c d:                             Property Syntax.     (line 111)
20656* C-c C-c D:                             Property Syntax.     (line 114)
20657* C-c C-c m m:                           Markdown Export.     (line  17)
20658* C-c C-c m M:                           Markdown Export.     (line  21)
20659* C-c C-c s:                             Property Syntax.     (line 103)
20660* C-c C-d:                               Inserting deadline/schedule.
20661                                                              (line  10)
20662* C-c C-d <1>:                           Agenda Commands.     (line 307)
20663* C-c C-e:                               The Export Dispatcher.
20664                                                              (line  16)
20665* C-c C-e c a:                           iCalendar Export.    (line  43)
20666* C-c C-e c c:                           iCalendar Export.    (line  47)
20667* C-c C-e c f:                           iCalendar Export.    (line  39)
20668* C-c C-e C-a:                           The Export Dispatcher.
20669                                                              (line  28)
20670* C-c C-e C-b:                           The Export Dispatcher.
20671                                                              (line  46)
20672* C-c C-e C-s:                           The Export Dispatcher.
20673                                                              (line  52)
20674* C-c C-e C-v:                           Sparse Trees.        (line  52)
20675* C-c C-e C-v <1>:                       The Export Dispatcher.
20676                                                              (line  64)
20677* C-c C-e h h:                           HTML export commands.
20678                                                              (line   7)
20679* C-c C-e h H:                           HTML export commands.
20680                                                              (line  14)
20681* C-c C-e h o:                           HTML export commands.
20682                                                              (line   7)
20683* C-c C-e i i:                           Texinfo export commands.
20684                                                              (line  11)
20685* C-c C-e i t:                           Texinfo export commands.
20686                                                              (line   7)
20687* C-c C-e l b:                           Beamer export commands.
20688                                                              (line   7)
20689* C-c C-e l B:                           Beamer export commands.
20690                                                              (line  12)
20691* C-c C-e l l:                           LaTeX/PDF export commands.
20692                                                              (line   7)
20693* C-c C-e l L:                           LaTeX/PDF export commands.
20694                                                              (line  11)
20695* C-c C-e l O:                           Beamer export commands.
20696                                                              (line  20)
20697* C-c C-e l o:                           LaTeX/PDF export commands.
20698                                                              (line  17)
20699* C-c C-e l P:                           Beamer export commands.
20700                                                              (line  16)
20701* C-c C-e l p:                           LaTeX/PDF export commands.
20702                                                              (line  14)
20703* C-c C-e m o:                           Markdown Export.     (line  24)
20704* C-c C-e o o:                           ODT export commands. (line   7)
20705* C-c C-e o O:                           ODT export commands. (line  23)
20706* C-c C-e O o:                           Org Export.          (line  15)
20707* C-c C-e O v:                           Org Export.          (line  19)
20708* C-c C-e P a:                           Triggering Publication.
20709                                                              (line  19)
20710* C-c C-e P f:                           Triggering Publication.
20711                                                              (line  16)
20712* C-c C-e P p:                           Triggering Publication.
20713                                                              (line  13)
20714* C-c C-e P x:                           Triggering Publication.
20715                                                              (line   9)
20716* C-c C-e t a:                           ASCII/Latin-1/UTF-8 export.
20717                                                              (line  26)
20718* C-c C-e t A:                           ASCII/Latin-1/UTF-8 export.
20719                                                              (line  35)
20720* C-c C-e t l:                           ASCII/Latin-1/UTF-8 export.
20721                                                              (line  26)
20722* C-c C-e t L:                           ASCII/Latin-1/UTF-8 export.
20723                                                              (line  35)
20724* C-c C-e t u:                           ASCII/Latin-1/UTF-8 export.
20725                                                              (line  26)
20726* C-c C-e t U:                           ASCII/Latin-1/UTF-8 export.
20727                                                              (line  35)
20728* C-c C-f:                               Motion.              (line  15)
20729* C-c C-j:                               Motion.              (line  24)
20730* C-c C-k:                               Global and local cycling.
20731                                                              (line  52)
20732* C-c C-k (Capture buffer):              Using capture.       (line  31)
20733* C-c C-l:                               Handling Links.      (line  69)
20734* C-c C-n:                               Motion.              (line   9)
20735* C-c C-o:                               Handling Links.      (line 106)
20736* C-c C-o <1>:                           Creating Timestamps. (line  40)
20737* C-c C-o <2>:                           Agenda Commands.     (line  56)
20738* C-c C-o <3>:                           Creating Footnotes.  (line  71)
20739* C-c C-o <4>:                           Key bindings and Useful Functions.
20740                                                              (line  11)
20741* C-c C-p:                               Motion.              (line  12)
20742* C-c C-q:                               Editing and debugging formulas.
20743                                                              (line  49)
20744* C-c C-q <1>:                           Setting Tags.        (line  11)
20745* C-c C-r:                               Global and local cycling.
20746                                                              (line  43)
20747* C-c C-r <1>:                           Editing and debugging formulas.
20748                                                              (line  52)
20749* C-c C-s:                               Inserting deadline/schedule.
20750                                                              (line  18)
20751* C-c C-s <1>:                           Agenda Commands.     (line 303)
20752* C-c C-t:                               TODO Basics.         (line  14)
20753* C-c C-t <1>:                           Clocking commands.   (line  71)
20754* C-c C-u:                               Motion.              (line  21)
20755* C-c C-v a:                             Key bindings and Useful Functions.
20756                                                              (line  20)
20757* C-c C-v b:                             Key bindings and Useful Functions.
20758                                                              (line  20)
20759* C-c C-v c:                             Key bindings and Useful Functions.
20760                                                              (line  20)
20761* C-c C-v C-a:                           Key bindings and Useful Functions.
20762                                                              (line  20)
20763* C-c C-v C-b:                           Key bindings and Useful Functions.
20764                                                              (line  20)
20765* C-c C-v C-c:                           Key bindings and Useful Functions.
20766                                                              (line  20)
20767* C-c C-v C-d:                           Key bindings and Useful Functions.
20768                                                              (line  20)
20769* C-c C-v C-e:                           Key bindings and Useful Functions.
20770                                                              (line  20)
20771* C-c C-v C-f:                           Key bindings and Useful Functions.
20772                                                              (line  20)
20773* C-c C-v C-g:                           Key bindings and Useful Functions.
20774                                                              (line  20)
20775* C-c C-v C-h:                           Key bindings and Useful Functions.
20776                                                              (line  20)
20777* C-c C-v C-i:                           Key bindings and Useful Functions.
20778                                                              (line  20)
20779* C-c C-v C-I:                           Key bindings and Useful Functions.
20780                                                              (line  20)
20781* C-c C-v C-j:                           Key bindings and Useful Functions.
20782                                                              (line  20)
20783* C-c C-v C-l:                           Key bindings and Useful Functions.
20784                                                              (line  20)
20785* C-c C-v C-n:                           Key bindings and Useful Functions.
20786                                                              (line  20)
20787* C-c C-v C-o:                           Key bindings and Useful Functions.
20788                                                              (line  20)
20789* C-c C-v C-p:                           Key bindings and Useful Functions.
20790                                                              (line  20)
20791* C-c C-v C-r:                           Key bindings and Useful Functions.
20792                                                              (line  20)
20793* C-c C-v C-s:                           Key bindings and Useful Functions.
20794                                                              (line  20)
20795* C-c C-v C-t:                           Key bindings and Useful Functions.
20796                                                              (line  20)
20797* C-c C-v C-u:                           Key bindings and Useful Functions.
20798                                                              (line  20)
20799* C-c C-v C-v:                           Noweb Reference Syntax.
20800                                                              (line 202)
20801* C-c C-v C-v <1>:                       Key bindings and Useful Functions.
20802                                                              (line  20)
20803* C-c C-v C-x:                           Key bindings and Useful Functions.
20804                                                              (line  20)
20805* C-c C-v C-z:                           Key bindings and Useful Functions.
20806                                                              (line  20)
20807* C-c C-v d:                             Key bindings and Useful Functions.
20808                                                              (line  20)
20809* C-c C-v e:                             Evaluating Code Blocks.
20810                                                              (line  22)
20811* C-c C-v e <1>:                         Key bindings and Useful Functions.
20812                                                              (line  20)
20813* C-c C-v f:                             Extracting Source Code.
20814                                                              (line 116)
20815* C-c C-v f <1>:                         Key bindings and Useful Functions.
20816                                                              (line  20)
20817* C-c C-v g:                             Key bindings and Useful Functions.
20818                                                              (line  20)
20819* C-c C-v h:                             Key bindings and Useful Functions.
20820                                                              (line  20)
20821* C-c C-v i:                             Library of Babel.    (line  12)
20822* C-c C-v i <1>:                         Key bindings and Useful Functions.
20823                                                              (line  20)
20824* C-c C-v I:                             Key bindings and Useful Functions.
20825                                                              (line  20)
20826* C-c C-v j:                             Key bindings and Useful Functions.
20827                                                              (line  20)
20828* C-c C-v l:                             Key bindings and Useful Functions.
20829                                                              (line  20)
20830* C-c C-v n:                             Key bindings and Useful Functions.
20831                                                              (line  20)
20832* C-c C-v o:                             Key bindings and Useful Functions.
20833                                                              (line  20)
20834* C-c C-v p:                             Key bindings and Useful Functions.
20835                                                              (line  20)
20836* C-c C-v r:                             Key bindings and Useful Functions.
20837                                                              (line  20)
20838* C-c C-v s:                             Key bindings and Useful Functions.
20839                                                              (line  20)
20840* C-c C-v t:                             Extracting Source Code.
20841                                                              (line 111)
20842* C-c C-v t <1>:                         Key bindings and Useful Functions.
20843                                                              (line  20)
20844* C-c C-v u:                             Key bindings and Useful Functions.
20845                                                              (line  20)
20846* C-c C-v v:                             Noweb Reference Syntax.
20847                                                              (line 202)
20848* C-c C-v v <1>:                         Key bindings and Useful Functions.
20849                                                              (line  20)
20850* C-c C-v x:                             Key bindings and Useful Functions.
20851                                                              (line  20)
20852* C-c C-v z:                             Key bindings and Useful Functions.
20853                                                              (line  20)
20854* C-c C-w:                               Structure Editing.   (line 104)
20855* C-c C-w <1>:                           Refile and Copy.     (line  13)
20856* C-c C-w <2>:                           Agenda Commands.     (line 249)
20857* C-c C-w (Capture buffer):              Using capture.       (line  22)
20858* C-c C-x ,:                             Timers.              (line  44)
20859* C-c C-x -:                             Timers.              (line  36)
20860* C-c C-x .:                             Timers.              (line  32)
20861* C-c C-x 0:                             Timers.              (line  13)
20862* C-c C-x ;:                             Timers.              (line  23)
20863* C-c C-x <:                             Agenda Files.        (line  43)
20864* C-c C-x >:                             Agenda Files.        (line  52)
20865* C-c C-x > <1>:                         Agenda Commands.     (line 206)
20866* C-c C-x a:                             Internal archiving.  (line  39)
20867* C-c C-x A:                             Internal archiving.  (line  54)
20868* C-c C-x a <1>:                         Agenda Commands.     (line 257)
20869* C-c C-x A <1>:                         Agenda Commands.     (line 261)
20870* C-c C-x b:                             Global and local cycling.
20871                                                              (line  59)
20872* C-c C-x b <1>:                         Agenda Commands.     (line  49)
20873* C-c C-x c:                             Structure Editing.   (line  96)
20874* C-c C-x C-a:                           Archiving.           (line  12)
20875* C-c C-x C-a <1>:                       Agenda Commands.     (line 252)
20876* C-c C-x C-b:                           Checkboxes.          (line  58)
20877* C-c C-x C-c:                           Using column view.   (line  10)
20878* C-c C-x C-c <1>:                       Agenda Commands.     (line 197)
20879* C-c C-x C-c <2>:                       Agenda Column View.  (line  12)
20880* C-c C-x C-d:                           Clocking commands.   (line  84)
20881* C-c C-x C-e:                           Clocking commands.   (line  50)
20882* C-c C-x C-e <1>:                       Effort Estimates.    (line  24)
20883* C-c C-x C-i:                           Clocking commands.   (line   7)
20884* C-c C-x C-j:                           Clocking commands.   (line  79)
20885* C-c C-x C-l:                           Previewing LaTeX fragments.
20886                                                              (line  18)
20887* C-c C-x C-n:                           Handling Links.      (line 151)
20888* C-c C-x C-o:                           Clocking commands.   (line  36)
20889* C-c C-x C-p:                           Handling Links.      (line 151)
20890* C-c C-x C-q:                           Clocking commands.   (line  75)
20891* C-c C-x C-r:                           Checkboxes.          (line  75)
20892* C-c C-x C-s:                           Moving subtrees.     (line  10)
20893* C-c C-x C-s <1>:                       Agenda Commands.     (line 265)
20894* C-c C-x C-t:                           Custom time format.  (line  13)
20895* C-c C-x C-u:                           Capturing column view.
20896                                                              (line  80)
20897* C-c C-x C-u <1>:                       The clock table.     (line  20)
20898* C-c C-x C-u <2>:                       Dynamic Blocks.      (line  25)
20899* C-c C-x C-v:                           Images.              (line  24)
20900* C-c C-x C-w:                           Structure Editing.   (line  70)
20901* C-c C-x C-w <1>:                       Built-in Table Editor.
20902                                                              (line 157)
20903* C-c C-x C-x:                           Clocking commands.   (line  44)
20904* C-c C-x C-y:                           Structure Editing.   (line  78)
20905* C-c C-x C-y <1>:                       Built-in Table Editor.
20906                                                              (line 161)
20907* C-c C-x d:                             Drawers.             (line  18)
20908* C-c C-x e:                             Effort Estimates.    (line  19)
20909* C-c C-x e <1>:                         Agenda Commands.     (line 292)
20910* C-c C-x f:                             Creating Footnotes.  (line  42)
20911* C-c C-x g:                             RSS Feeds.           (line  23)
20912* C-c C-x G:                             RSS Feeds.           (line  27)
20913* C-c C-x I:                             Documentation Access.
20914                                                              (line   6)
20915* C-c C-x M-w:                           Structure Editing.   (line  74)
20916* C-c C-x M-w <1>:                       Built-in Table Editor.
20917                                                              (line 151)
20918* C-c C-x o:                             TODO dependencies.   (line  38)
20919* C-c C-x o <1>:                         Checkboxes.          (line  90)
20920* C-c C-x p:                             Property Syntax.     (line  90)
20921* C-c C-x p <1>:                         Using Header Arguments.
20922                                                              (line  70)
20923* C-c C-x q:                             Tag Hierarchy.       (line  86)
20924* C-c C-x v:                             Global and local cycling.
20925                                                              (line  65)
20926* C-c C-x x:                             Capturing column view.
20927                                                              (line  72)
20928* C-c C-x x <1>:                         The clock table.     (line  11)
20929* C-c C-x x <2>:                         Dynamic Blocks.      (line  10)
20930* C-c C-x \:                             Subscripts and Superscripts.
20931                                                              (line  27)
20932* C-c C-x \ <1>:                         Special Symbols.     (line  31)
20933* C-c C-x _:                             Timers.              (line  47)
20934* C-c C-y:                               Creating Timestamps. (line  62)
20935* C-c C-y <1>:                           Clocking commands.   (line  53)
20936* C-c C-z:                               Drawers.             (line  39)
20937* C-c C-z <1>:                           Agenda Commands.     (line 295)
20938* C-c M-w:                               Refile and Copy.     (line  51)
20939* C-c RET:                               Built-in Table Editor.
20940                                                              (line 130)
20941* C-c SPC:                               Built-in Table Editor.
20942                                                              (line  67)
20943* C-c TAB:                               Global and local cycling.
20944                                                              (line  55)
20945* C-c TAB <1>:                           Column Width and Alignment.
20946                                                              (line  44)
20947* C-c [:                                 Agenda Files.        (line  16)
20948* C-c \:                                 Tag Searches.        (line  10)
20949* C-c \ <1>:                             Property Searches.   (line  11)
20950* C-c ]:                                 Agenda Files.        (line  22)
20951* C-c ^:                                 Structure Editing.   (line 108)
20952* C-c ^ <1>:                             Plain Lists.         (line 159)
20953* C-c ^ <2>:                             Built-in Table Editor.
20954                                                              (line 134)
20955* C-c `:                                 Built-in Table Editor.
20956                                                              (line 202)
20957* C-c {:                                 Editing and debugging formulas.
20958                                                              (line  34)
20959* C-c { <1>:                             CDLaTeX mode.        (line  25)
20960* C-c |:                                 Built-in Table Editor.
20961                                                              (line  42)
20962* C-c | <1>:                             Built-in Table Editor.
20963                                                              (line 221)
20964* C-c }:                                 Editing and debugging formulas.
20965                                                              (line  29)
20966* C-c } <1>:                             Editing and debugging formulas.
20967                                                              (line  83)
20968* C-c ~:                                 Cooperation.         (line  63)
20969* C-g:                                   Setting Tags.        (line 120)
20970* C-k:                                   Agenda Commands.     (line 243)
20971* C-RET:                                 Structure Editing.   (line  26)
20972* C-S-DOWN:                              Clocking commands.   (line  59)
20973* C-S-LEFT:                              Multiple sets in one file.
20974                                                              (line  28)
20975* C-S-LEFT <1>:                          Agenda Commands.     (line 240)
20976* C-S-RET:                               Structure Editing.   (line  33)
20977* C-S-RIGHT:                             Multiple sets in one file.
20978                                                              (line  28)
20979* C-S-RIGHT <1>:                         Agenda Commands.     (line 237)
20980* C-S-UP:                                Clocking commands.   (line  59)
20981* C-TAB:                                 Internal archiving.  (line  51)
20982* C-u C-c !:                             Creating Timestamps. (line  25)
20983* C-u C-c *:                             Updating the table.  (line  19)
20984* C-u C-c .:                             Creating Timestamps. (line  16)
20985* C-u C-c =:                             Field and range formulas.
20986                                                              (line  28)
20987* C-u C-c = <1>:                         Editing and debugging formulas.
20988                                                              (line  14)
20989* C-u C-c C-c:                           Updating the table.  (line  19)
20990* C-u C-c C-l:                           Handling Links.      (line  92)
20991* C-u C-c C-t:                           Progress Logging.    (line  10)
20992* C-u C-c C-w:                           Refile and Copy.     (line  32)
20993* C-u C-c C-x a:                         Internal archiving.  (line  44)
20994* C-u C-c C-x C-s:                       Moving subtrees.     (line  14)
20995* C-u C-c C-x C-u:                       Capturing column view.
20996                                                              (line  84)
20997* C-u C-c C-x C-u <1>:                   The clock table.     (line  24)
20998* C-u C-c C-x C-u <2>:                   Dynamic Blocks.      (line  28)
20999* C-u C-c TAB:                           Column Width and Alignment.
21000                                                              (line  54)
21001* C-u C-u C-c !:                         Creating Timestamps. (line  25)
21002* C-u C-u C-c *:                         Updating the table.  (line  24)
21003* C-u C-u C-c .:                         Creating Timestamps. (line  21)
21004* C-u C-u C-c =:                         Editing and debugging formulas.
21005                                                              (line  19)
21006* C-u C-u C-c C-c:                       Updating the table.  (line  24)
21007* C-u C-u C-c C-t:                       Multiple sets in one file.
21008                                                              (line  28)
21009* C-u C-u C-c C-w:                       Refile and Copy.     (line  35)
21010* C-u C-u C-c C-x C-s:                   Moving subtrees.     (line  21)
21011* C-u C-u C-c TAB:                       Column Width and Alignment.
21012                                                              (line  57)
21013* C-u C-u C-u C-c C-w:                   Refile and Copy.     (line  46)
21014* C-u C-u C-u C-u C-c C-t:               TODO dependencies.   (line  46)
21015* C-u C-u C-u TAB:                       Global and local cycling.
21016                                                              (line  40)
21017* C-u C-u TAB:                           Global and local cycling.
21018                                                              (line  36)
21019* C-u C-u TAB <1>:                       Initial visibility.  (line  22)
21020* C-u TAB:                               Global and local cycling.
21021                                                              (line  20)
21022* C-v:                                   The date/time prompt.
21023                                                              (line  81)
21024* C-x C-s:                               Editing and debugging formulas.
21025                                                              (line  45)
21026* C-x C-s <1>:                           Agenda Commands.     (line 193)
21027* C-x C-s <2>:                           Editing Source Code. (line  11)
21028* C-x C-w:                               Exporting Agenda Views.
21029                                                              (line  13)
21030* C-x n b:                               Structure Editing.   (line 123)
21031* C-x n s:                               Structure Editing.   (line 120)
21032* C-x n w:                               Structure Editing.   (line 126)
21033* C-y:                                   Structure Editing.   (line  84)
21034* C-_:                                   Agenda Commands.     (line 227)
21035* d:                                     Agenda Commands.     (line  71)
21036* D:                                     Agenda Commands.     (line 127)
21037* e:                                     Using column view.   (line  43)
21038* E:                                     Agenda Commands.     (line 173)
21039* e <1>:                                 Agenda Commands.     (line 292)
21040* e (Agenda dispatcher):                 Exporting Agenda Views.
21041                                                              (line  53)
21042* F:                                     Agenda Commands.     (line  42)
21043* f:                                     Agenda Commands.     (line 110)
21044* g:                                     Using column view.   (line  22)
21045* G:                                     Agenda Commands.     (line 181)
21046* g <1>:                                 Agenda Commands.     (line 186)
21047* H:                                     Agenda Commands.     (line 485)
21048* I:                                     Agenda Commands.     (line 332)
21049* i:                                     Agenda Commands.     (line 454)
21050* j:                                     Agenda Commands.     (line 121)
21051* J:                                     Agenda Commands.     (line 124)
21052* J <1>:                                 Agenda Commands.     (line 342)
21053* k:                                     Resolving idle time. (line  23)
21054* K:                                     Resolving idle time. (line  29)
21055* k <1>:                                 Agenda Commands.     (line 345)
21056* k c (Agenda):                          Using capture.       (line  33)
21057* l:                                     Agenda Commands.     (line 131)
21058* m:                                     Agenda Commands.     (line 353)
21059* M:                                     Agenda Commands.     (line 472)
21060* m (Agenda dispatcher):                 Tag Searches.        (line  15)
21061* M (Agenda dispatcher):                 Tag Searches.        (line  19)
21062* m (Agenda dispatcher) <1>:             Property Searches.   (line  15)
21063* M (Agenda dispatcher) <1>:             Property Searches.   (line  18)
21064* m (Agenda dispatcher) <2>:             Matching tags and properties.
21065                                                              (line  13)
21066* M (Agenda dispatcher) <2>:             Matching tags and properties.
21067                                                              (line  21)
21068* M-*:                                   Agenda Commands.     (line 375)
21069* M-a:                                   Built-in Table Editor.
21070                                                              (line  78)
21071* M-DOWN:                                Structure Editing.   (line  63)
21072* M-DOWN <1>:                            Plain Lists.         (line 102)
21073* M-DOWN <2>:                            Built-in Table Editor.
21074                                                              (line 104)
21075* M-DOWN <3>:                            Editing and debugging formulas.
21076                                                              (line  80)
21077* M-DOWN <4>:                            Agenda Commands.     (line 217)
21078* M-DOWN <5>:                            Key bindings and Useful Functions.
21079                                                              (line  11)
21080* M-e:                                   Built-in Table Editor.
21081                                                              (line  82)
21082* M-g M-n:                               Sparse Trees.        (line  32)
21083* M-g M-p:                               Sparse Trees.        (line  35)
21084* M-g n:                                 Sparse Trees.        (line  32)
21085* M-g p:                                 Sparse Trees.        (line  35)
21086* M-LEFT:                                Structure Editing.   (line  44)
21087* M-LEFT <1>:                            Plain Lists.         (line 108)
21088* M-LEFT <2>:                            Built-in Table Editor.
21089                                                              (line  88)
21090* M-m:                                   Agenda Commands.     (line 371)
21091* M-RET:                                 Structure Editing.   (line   7)
21092* M-RET <1>:                             Plain Lists.         (line  83)
21093* M-RET <2>:                             Built-in Table Editor.
21094                                                              (line 168)
21095* M-RET <3>:                             Timers.              (line  40)
21096* M-RIGHT:                               Structure Editing.   (line  44)
21097* M-RIGHT <1>:                           Plain Lists.         (line 108)
21098* M-RIGHT <2>:                           Built-in Table Editor.
21099                                                              (line  91)
21100* M-S-DOWN:                              Built-in Table Editor.
21101                                                              (line 122)
21102* M-S-DOWN <1>:                          Editing and debugging formulas.
21103                                                              (line  74)
21104* M-S-LEFT:                              Structure Editing.   (line  54)
21105* M-S-LEFT <1>:                          Plain Lists.         (line 113)
21106* M-S-LEFT <2>:                          Built-in Table Editor.
21107                                                              (line  94)
21108* M-S-LEFT <3>:                          The date/time prompt.
21109                                                              (line  81)
21110* M-S-RET:                               Structure Editing.   (line  29)
21111* M-S-RET <1>:                           Plain Lists.         (line  91)
21112* M-S-RET <2>:                           Checkboxes.          (line  86)
21113* M-S-RIGHT:                             Structure Editing.   (line  57)
21114* M-S-RIGHT <1>:                         Plain Lists.         (line 113)
21115* M-S-RIGHT <2>:                         Built-in Table Editor.
21116                                                              (line  97)
21117* M-S-RIGHT <3>:                         The date/time prompt.
21118                                                              (line  81)
21119* M-S-UP:                                Built-in Table Editor.
21120                                                              (line 107)
21121* M-S-UP <1>:                            Editing and debugging formulas.
21122                                                              (line  71)
21123* M-TAB:                                 Editing and debugging formulas.
21124                                                              (line  63)
21125* M-TAB <1>:                             Per-file keywords.   (line  26)
21126* M-TAB <2>:                             Setting Tags.        (line   6)
21127* M-TAB <3>:                             Property Syntax.     (line  86)
21128* M-TAB <4>:                             Completion.          (line  15)
21129* M-UP:                                  Structure Editing.   (line  60)
21130* M-UP <1>:                              Plain Lists.         (line 102)
21131* M-UP <2>:                              Built-in Table Editor.
21132                                                              (line 101)
21133* M-UP <3>:                              Editing and debugging formulas.
21134                                                              (line  77)
21135* M-UP <4>:                              Agenda Commands.     (line 210)
21136* M-UP <5>:                              Key bindings and Useful Functions.
21137                                                              (line  11)
21138* M-v:                                   The date/time prompt.
21139                                                              (line  81)
21140* mouse-1:                               Handling Links.      (line 131)
21141* mouse-1 <1>:                           The date/time prompt.
21142                                                              (line  81)
21143* mouse-1 <2>:                           Creating Footnotes.  (line  71)
21144* mouse-2:                               Handling Links.      (line 131)
21145* mouse-2 <1>:                           Agenda Commands.     (line  36)
21146* mouse-2 <2>:                           Creating Footnotes.  (line  71)
21147* mouse-3:                               Handling Links.      (line 135)
21148* mouse-3 <1>:                           Agenda Commands.     (line  29)
21149* n:                                     Using column view.   (line  39)
21150* n <1>:                                 Agenda Commands.     (line  20)
21151* o:                                     Agenda Commands.     (line  68)
21152* O:                                     Agenda Commands.     (line 336)
21153* p:                                     Using column view.   (line  39)
21154* p <1>:                                 Agenda Commands.     (line  23)
21155* q:                                     Setting Tags.        (line 123)
21156* q <1>:                                 Using column view.   (line  26)
21157* q <2>:                                 Agenda Commands.     (line 491)
21158* r:                                     Using column view.   (line  22)
21159* r <1>:                                 Global TODO list.    (line  25)
21160* R:                                     Agenda Commands.     (line 154)
21161* r <2>:                                 Agenda Commands.     (line 186)
21162* RET:                                   Built-in Table Editor.
21163                                                              (line  73)
21164* RET <1>:                               Handling Links.      (line 127)
21165* RET <2>:                               Setting Tags.        (line 117)
21166* RET <3>:                               The date/time prompt.
21167                                                              (line  81)
21168* RET <4>:                               Agenda Commands.     (line  39)
21169* s:                                     Resolving idle time. (line  35)
21170* S:                                     Resolving idle time. (line  40)
21171* s <1>:                                 Agenda Commands.     (line 193)
21172* S <1>:                                 Agenda Commands.     (line 476)
21173* s (Agenda dispatcher):                 Agenda Dispatcher.   (line  25)
21174* s (Agenda dispatcher) <1>:             Search view.         (line  10)
21175* S-DOWN:                                Plain Lists.         (line  95)
21176* S-DOWN <1>:                            Built-in Table Editor.
21177                                                              (line 113)
21178* S-DOWN <2>:                            Editing and debugging formulas.
21179                                                              (line  66)
21180* S-DOWN <3>:                            Priorities.          (line  41)
21181* S-DOWN <4>:                            Creating Timestamps. (line  50)
21182* S-DOWN <5>:                            The date/time prompt.
21183                                                              (line  81)
21184* S-DOWN <6>:                            Agenda Commands.     (line 289)
21185* S-LEFT:                                Plain Lists.         (line 154)
21186* S-LEFT <1>:                            Built-in Table Editor.
21187                                                              (line 116)
21188* S-LEFT <2>:                            Editing and debugging formulas.
21189                                                              (line  66)
21190* S-LEFT <3>:                            TODO Basics.         (line  28)
21191* S-LEFT <4>:                            Multiple sets in one file.
21192                                                              (line  36)
21193* S-LEFT <5>:                            Property Syntax.     (line 108)
21194* S-LEFT <6>:                            Using column view.   (line  39)
21195* S-LEFT <7>:                            Creating Timestamps. (line  45)
21196* S-LEFT <8>:                            The date/time prompt.
21197                                                              (line  81)
21198* S-LEFT <9>:                            The clock table.     (line  29)
21199* S-LEFT <10>:                           Agenda Commands.     (line 324)
21200* S-M-DOWN:                              Clocking commands.   (line  64)
21201* S-M-LEFT:                              Using column view.   (line  73)
21202* S-M-RET:                               TODO Basics.         (line  54)
21203* S-M-RIGHT:                             Using column view.   (line  70)
21204* S-M-UP:                                Clocking commands.   (line  64)
21205* S-RET:                                 Built-in Table Editor.
21206                                                              (line 186)
21207* S-RIGHT:                               Plain Lists.         (line 154)
21208* S-RIGHT <1>:                           Built-in Table Editor.
21209                                                              (line 119)
21210* S-RIGHT <2>:                           Editing and debugging formulas.
21211                                                              (line  66)
21212* S-RIGHT <3>:                           TODO Basics.         (line  28)
21213* S-RIGHT <4>:                           Multiple sets in one file.
21214                                                              (line  36)
21215* S-RIGHT <5>:                           Property Syntax.     (line 108)
21216* S-RIGHT <6>:                           Using column view.   (line  39)
21217* S-RIGHT <7>:                           Creating Timestamps. (line  45)
21218* S-RIGHT <8>:                           The date/time prompt.
21219                                                              (line  81)
21220* S-RIGHT <9>:                           The clock table.     (line  29)
21221* S-RIGHT <10>:                          Agenda Commands.     (line 311)
21222* S-TAB:                                 Global and local cycling.
21223                                                              (line  20)
21224* S-TAB <1>:                             Built-in Table Editor.
21225                                                              (line  70)
21226* S-UP:                                  Plain Lists.         (line  95)
21227* S-UP <1>:                              Built-in Table Editor.
21228                                                              (line 110)
21229* S-UP <2>:                              Editing and debugging formulas.
21230                                                              (line  66)
21231* S-UP <3>:                              Priorities.          (line  41)
21232* S-UP <4>:                              Creating Timestamps. (line  50)
21233* S-UP <5>:                              The date/time prompt.
21234                                                              (line  81)
21235* S-UP <6>:                              Agenda Commands.     (line 284)
21236* SPC:                                   Setting Tags.        (line 114)
21237* SPC <1>:                               Agenda Commands.     (line  29)
21238* t:                                     Agenda Commands.     (line 231)
21239* T:                                     Agenda Commands.     (line 270)
21240* t (Agenda dispatcher):                 TODO Basics.         (line  46)
21241* t (Agenda dispatcher) <1>:             Global TODO list.    (line  10)
21242* T (Agenda dispatcher):                 Global TODO list.    (line  18)
21243* TAB:                                   Global and local cycling.
21244                                                              (line  11)
21245* TAB <1>:                               Structure Editing.   (line  37)
21246* TAB <2>:                               Plain Lists.         (line  70)
21247* TAB <3>:                               Built-in Table Editor.
21248                                                              (line  63)
21249* TAB <4>:                               Editing and debugging formulas.
21250                                                              (line  56)
21251* TAB <5>:                               Setting Tags.        (line 108)
21252* TAB <6>:                               Agenda Commands.     (line  36)
21253* TAB <7>:                               CDLaTeX mode.        (line  29)
21254* u:                                     Agenda Commands.     (line 363)
21255* U:                                     Agenda Commands.     (line 367)
21256* v:                                     Using column view.   (line  53)
21257* v a:                                   Agenda Commands.     (line 146)
21258* v A:                                   Agenda Commands.     (line 151)
21259* v c:                                   Agenda Commands.     (line 165)
21260* v d:                                   Agenda Commands.     (line  71)
21261* v E:                                   Agenda Commands.     (line 173)
21262* v l:                                   Agenda Commands.     (line 131)
21263* v L:                                   Agenda Commands.     (line 131)
21264* v m:                                   Agenda Commands.     (line  91)
21265* v R:                                   Agenda Commands.     (line 154)
21266* v SPC:                                 Agenda Commands.     (line 107)
21267* v w:                                   Agenda Commands.     (line  81)
21268* v y:                                   Agenda Commands.     (line 101)
21269* v [:                                   Agenda Commands.     (line 142)
21270* w:                                     Agenda Commands.     (line  81)
21271* X:                                     Agenda Commands.     (line 339)
21272* x:                                     Agenda Commands.     (line 495)
21273* z:                                     Agenda Commands.     (line 295)
21274
21275
21276File: org.info,  Node: Command and Function Index,  Next: Variable Index,  Prev: Key Index,  Up: Top
21277
21278F Command and Function Index
21279****************************
21280
21281�[index�]
21282* Menu:
21283
21284* lisp-complete-symbol:                  Editing and debugging formulas.
21285                                                              (line  63)
21286* next-error:                            Sparse Trees.        (line  32)
21287* or-clock-goto:                         Clocking commands.   (line  79)
21288* org-agenda:                            Activation.          (line  13)
21289* org-agenda-add-note:                   Agenda Commands.     (line 295)
21290* org-agenda-archive:                    Agenda Commands.     (line 265)
21291* org-agenda-archive-default-with-confirmation: Agenda Commands.
21292                                                              (line 252)
21293* org-agenda-archive-to-archive-sibling: Agenda Commands.     (line 261)
21294* org-agenda-archives-mode:              Agenda Commands.     (line 146)
21295* org-agenda-bulk-action:                Agenda Commands.     (line 383)
21296* org-agenda-bulk-mark:                  Agenda Commands.     (line 353)
21297* org-agenda-bulk-mark-all:              Agenda Commands.     (line 359)
21298* org-agenda-bulk-mark-regexp:           Agenda Commands.     (line 379)
21299* org-agenda-bulk-remove-all-marks:      Agenda Commands.     (line 367)
21300* org-agenda-bulk-toggle:                Agenda Commands.     (line 371)
21301* org-agenda-bulk-toggle-all:            Agenda Commands.     (line 375)
21302* org-agenda-bulk-unmark:                Agenda Commands.     (line 363)
21303* org-agenda-capture:                    Agenda Commands.     (line 345)
21304* org-agenda-clock-cancel:               Agenda Commands.     (line 339)
21305* org-agenda-clock-goto:                 Agenda Commands.     (line 124)
21306* org-agenda-clock-goto <1>:             Agenda Commands.     (line 342)
21307* org-agenda-clock-in:                   Agenda Commands.     (line 332)
21308* org-agenda-clock-out:                  Agenda Commands.     (line 336)
21309* org-agenda-clockreport-mode:           Agenda Commands.     (line 154)
21310* org-agenda-columns:                    Agenda Commands.     (line 197)
21311* org-agenda-columns <1>:                Agenda Column View.  (line  12)
21312* org-agenda-convert-date:               Agenda Commands.     (line 481)
21313* org-agenda-date-prompt:                Agenda Commands.     (line 328)
21314* org-agenda-day-view:                   Agenda Commands.     (line  71)
21315* org-agenda-deadline:                   Agenda Commands.     (line 307)
21316* org-agenda-diary-entry:                Agenda Commands.     (line 454)
21317* org-agenda-do-date-earlier:            Agenda Commands.     (line 324)
21318* org-agenda-do-date-later:              Agenda Commands.     (line 311)
21319* org-agenda-drag-line-backward:         Agenda Commands.     (line 210)
21320* org-agenda-drag-line-forward:          Agenda Commands.     (line 217)
21321* org-agenda-earlier:                    Agenda Commands.     (line 115)
21322* org-agenda-entry-text-mode:            Agenda Commands.     (line 173)
21323* org-agenda-exit:                       Agenda Commands.     (line 495)
21324* org-agenda-file-to-front:              Agenda Files.        (line  16)
21325* org-agenda-filter:                     Filtering/limiting agenda items.
21326                                                              (line  73)
21327* org-agenda-filter-by-category:         Filtering/limiting agenda items.
21328                                                              (line  38)
21329* org-agenda-filter-by-effort:           Filtering/limiting agenda items.
21330                                                              (line  49)
21331* org-agenda-filter-by-regexp:           Filtering/limiting agenda items.
21332                                                              (line  44)
21333* org-agenda-filter-by-tag:              Filtering/limiting agenda items.
21334                                                              (line  28)
21335* org-agenda-filter-by-top-headline:     Filtering/limiting agenda items.
21336                                                              (line  68)
21337* org-agenda-follow-mode:                Agenda Commands.     (line  42)
21338* org-agenda-goto:                       Agenda Commands.     (line  36)
21339* org-agenda-goto-calendar:              Agenda Commands.     (line 447)
21340* org-agenda-goto-date:                  Agenda Commands.     (line 121)
21341* org-agenda-goto-today:                 Agenda Commands.     (line 118)
21342* org-agenda-holidays:                   Agenda Commands.     (line 485)
21343* org-agenda-kill:                       Agenda Commands.     (line 243)
21344* org-agenda-later:                      Agenda Commands.     (line 110)
21345* org-agenda-limit-interactively:        Filtering/limiting agenda items.
21346                                                              (line 164)
21347* org-agenda-list:                       Weekly/daily agenda. (line  10)
21348* org-agenda-list-stuck-projects:        Stuck projects.      (line  14)
21349* org-agenda-log-mode:                   Agenda Commands.     (line 131)
21350* org-agenda-manipulate-query-add:       Agenda Commands.     (line 142)
21351* org-agenda-month-view:                 Agenda Commands.     (line  91)
21352* org-agenda-next-line:                  Agenda Commands.     (line  20)
21353* org-agenda-open-link:                  Agenda Commands.     (line  56)
21354* org-agenda-phases-of-moon:             Agenda Commands.     (line 472)
21355* org-agenda-previous-line:              Agenda Commands.     (line  23)
21356* org-agenda-priority:                   Agenda Commands.     (line 279)
21357* org-agenda-priority-down:              Agenda Commands.     (line 289)
21358* org-agenda-priority-up:                Agenda Commands.     (line 284)
21359* org-agenda-quit:                       Agenda Commands.     (line 491)
21360* org-agenda-recenter:                   Agenda Commands.     (line  33)
21361* org-agenda-redo:                       Agenda Commands.     (line 186)
21362* org-agenda-refile:                     Agenda Commands.     (line 249)
21363* org-agenda-remove-restriction-lock:    Agenda Files.        (line  52)
21364* org-agenda-remove-restriction-lock <1>: Agenda Files.       (line  65)
21365* org-agenda-remove-restriction-lock <2>: Agenda Commands.    (line 206)
21366* org-agenda-reset-view:                 Agenda Commands.     (line 107)
21367* org-agenda-schedule:                   Agenda Commands.     (line 303)
21368* org-agenda-set-effort:                 Agenda Commands.     (line 292)
21369* org-agenda-set-restriction-lock:       Agenda Files.        (line  43)
21370* org-agenda-set-tags:                   Agenda Commands.     (line 275)
21371* org-agenda-show-and-scroll-up:         Agenda Commands.     (line  29)
21372* org-agenda-show-tags:                  Agenda Commands.     (line 270)
21373* org-agenda-sunrise-sunset:             Agenda Commands.     (line 476)
21374* org-agenda-switch-to:                  Agenda Commands.     (line  39)
21375* org-agenda-todo:                       Agenda Commands.     (line 231)
21376* org-agenda-todo-nextset:               Agenda Commands.     (line 237)
21377* org-agenda-toggle-archive-tag:         Agenda Commands.     (line 257)
21378* org-agenda-toggle-diary:               Agenda Commands.     (line 127)
21379* org-agenda-tree-to-indirect-buffer:    Agenda Commands.     (line  49)
21380* org-agenda-undo:                       Agenda Commands.     (line 227)
21381* org-agenda-week-view:                  Agenda Commands.     (line  81)
21382* org-agenda-write:                      Exporting Agenda Views.
21383                                                              (line  13)
21384* org-agenda-year-view:                  Agenda Commands.     (line 101)
21385* org-archive-subtree:                   Moving subtrees.     (line  10)
21386* org-archive-subtree-default:           Archiving.           (line  12)
21387* org-archive-to-archive-sibling:        Internal archiving.  (line  54)
21388* org-ascii-convert-region-to-ascii:     Export in Foreign Buffers.
21389                                                              (line  11)
21390* org-ascii-convert-region-to-utf8:      Export in Foreign Buffers.
21391                                                              (line  14)
21392* org-ascii-export-as-ascii:             ASCII/Latin-1/UTF-8 export.
21393                                                              (line  35)
21394* org-ascii-export-to-ascii:             ASCII/Latin-1/UTF-8 export.
21395                                                              (line  26)
21396* org-attach:                            Attachment defaults and dispatcher.
21397                                                              (line  20)
21398* org-attach <1>:                        Agenda Commands.     (line 300)
21399* org-attach-attach:                     Attachment defaults and dispatcher.
21400                                                              (line  25)
21401* org-attach-buffer:                     Attachment defaults and dispatcher.
21402                                                              (line  35)
21403* org-attach-dired-to-subtree:           Attach from Dired.   (line   6)
21404* org-attach-new:                        Attachment defaults and dispatcher.
21405                                                              (line  39)
21406* org-attach-open:                       Attachment defaults and dispatcher.
21407                                                              (line  46)
21408* org-attach-open-in-emacs:              Attachment defaults and dispatcher.
21409                                                              (line  52)
21410* org-attach-reveal:                     Attachment defaults and dispatcher.
21411                                                              (line  55)
21412* org-attach-reveal-in-emacs:            Attachment defaults and dispatcher.
21413                                                              (line  58)
21414* org-attach-sync:                       Attachment defaults and dispatcher.
21415                                                              (line  42)
21416* org-babel-check-src-block:             Key bindings and Useful Functions.
21417                                                              (line  20)
21418* org-babel-demarcate-block:             Key bindings and Useful Functions.
21419                                                              (line  20)
21420* org-babel-describe-bindings:           Key bindings and Useful Functions.
21421                                                              (line  20)
21422* org-babel-do-key-sequence-in-edit-buffer: Key bindings and Useful Functions.
21423                                                              (line  20)
21424* org-babel-execute-buffer:              Key bindings and Useful Functions.
21425                                                              (line  20)
21426* org-babel-execute-maybe:               Key bindings and Useful Functions.
21427                                                              (line  20)
21428* org-babel-execute-src-block:           Evaluating Code Blocks.
21429                                                              (line  22)
21430* org-babel-execute-src-block <1>:       Key bindings and Useful Functions.
21431                                                              (line  11)
21432* org-babel-execute-subtree:             Key bindings and Useful Functions.
21433                                                              (line  20)
21434* org-babel-expand-src-block:            Noweb Reference Syntax.
21435                                                              (line 202)
21436* org-babel-expand-src-block <1>:        Key bindings and Useful Functions.
21437                                                              (line  20)
21438* org-babel-goto-named-result:           Key bindings and Useful Functions.
21439                                                              (line  20)
21440* org-babel-goto-named-src-block:        Key bindings and Useful Functions.
21441                                                              (line  20)
21442* org-babel-goto-src-block-head:         Key bindings and Useful Functions.
21443                                                              (line  20)
21444* org-babel-insert-header-arg:           Key bindings and Useful Functions.
21445                                                              (line  20)
21446* org-babel-load-in-session:             Key bindings and Useful Functions.
21447                                                              (line  11)
21448* org-babel-load-in-session <1>:         Key bindings and Useful Functions.
21449                                                              (line  20)
21450* org-babel-lob-ingest:                  Library of Babel.    (line  12)
21451* org-babel-lob-ingest <1>:              Key bindings and Useful Functions.
21452                                                              (line  20)
21453* org-babel-next-src-block:              Key bindings and Useful Functions.
21454                                                              (line  20)
21455* org-babel-open-src-block-result:       Key bindings and Useful Functions.
21456                                                              (line  11)
21457* org-babel-open-src-block-result <1>:   Key bindings and Useful Functions.
21458                                                              (line  20)
21459* org-babel-pop-to-session:              Key bindings and Useful Functions.
21460                                                              (line  11)
21461* org-babel-previous-src-block:          Key bindings and Useful Functions.
21462                                                              (line  20)
21463* org-babel-sha1-hash:                   Key bindings and Useful Functions.
21464                                                              (line  20)
21465* org-babel-switch-to-session-with-code: Key bindings and Useful Functions.
21466                                                              (line  20)
21467* org-babel-tangle:                      Extracting Source Code.
21468                                                              (line 111)
21469* org-babel-tangle <1>:                  Key bindings and Useful Functions.
21470                                                              (line  20)
21471* org-babel-tangle-file:                 Extracting Source Code.
21472                                                              (line 116)
21473* org-babel-tangle-file <1>:             Key bindings and Useful Functions.
21474                                                              (line  20)
21475* org-babel-tangle-jump-to-org:          Extracting Source Code.
21476                                                              (line 129)
21477* org-babel-view-src-block-info:         Key bindings and Useful Functions.
21478                                                              (line  20)
21479* org-backward-heading-same-level:       Motion.              (line  18)
21480* org-batch-agenda:                      Extracting Agenda Information.
21481                                                              (line  10)
21482* org-batch-agenda-csv:                  Extracting Agenda Information.
21483                                                              (line  41)
21484* org-bbdb-anniversaries:                Weekly/daily agenda. (line  78)
21485* org-bbdb-anniversaries-future:         Weekly/daily agenda. (line 109)
21486* org-beamer-export-as-latex:            Beamer export commands.
21487                                                              (line  12)
21488* org-beamer-export-to-latex:            Beamer export commands.
21489                                                              (line   7)
21490* org-beamer-export-to-pdf:              Beamer export commands.
21491                                                              (line  16)
21492* org-beamer-select-environment:         Editing support.     (line  12)
21493* org-buffer-property-keys:              Using the Property API.
21494                                                              (line  34)
21495* org-calendar-goto-agenda:              Agenda Commands.     (line 450)
21496* org-capture:                           Activation.          (line  13)
21497* org-capture <1>:                       Using capture.       (line   7)
21498* org-capture-finalize:                  Using capture.       (line  15)
21499* org-capture-kill:                      Using capture.       (line  31)
21500* org-capture-refile:                    Using capture.       (line  22)
21501* org-check-after-date:                  Inserting deadline/schedule.
21502                                                              (line  36)
21503* org-check-before-date:                 Inserting deadline/schedule.
21504                                                              (line  33)
21505* org-check-deadlines:                   Inserting deadline/schedule.
21506                                                              (line  26)
21507* org-clock-cancel:                      Clocking commands.   (line  75)
21508* org-clock-display:                     Clocking commands.   (line  84)
21509* org-clock-in:                          Clocking commands.   (line   7)
21510* org-clock-in-last:                     Clocking commands.   (line  44)
21511* org-clock-modify-effort-estimate:      Clocking commands.   (line  50)
21512* org-clock-modify-effort-estimate <1>:  Effort Estimates.    (line  24)
21513* org-clock-out:                         Clocking commands.   (line  36)
21514* org-clock-report:                      The clock table.     (line  11)
21515* org-clock-timestamp-down:              Clocking commands.   (line  64)
21516* org-clock-timestamp-up:                Clocking commands.   (line  64)
21517* org-clock-timestamps-down:             Clocking commands.   (line  59)
21518* org-clock-timestamps-up:               Clocking commands.   (line  59)
21519* org-clocktable-try-shift:              The clock table.     (line  29)
21520* org-clocktable-write-default:          The clock table.     (line 118)
21521* org-clone-subtree-with-time-shift:     Structure Editing.   (line  96)
21522* org-columns-delete:                    Using column view.   (line  73)
21523* org-columns-edit-allowed:              Using column view.   (line  57)
21524* org-columns-edit-value:                Using column view.   (line  43)
21525* org-columns-insert-dblock:             Capturing column view.
21526                                                              (line  72)
21527* org-columns-narrow:                    Using column view.   (line  67)
21528* org-columns-new:                       Using column view.   (line  70)
21529* org-columns-next-allowed-value:        Using column view.   (line  39)
21530* org-columns-previous-allowed-value:    Using column view.   (line  39)
21531* org-columns-quit:                      Using column view.   (line  26)
21532* org-columns-redo:                      Using column view.   (line  22)
21533* org-columns-show-value:                Using column view.   (line  53)
21534* org-columns-toggle-or-columns-quit:    Using column view.   (line  49)
21535* org-columns-widen:                     Using column view.   (line  67)
21536* org-compute-property-at-point:         Property Syntax.     (line 117)
21537* org-copy-subtree:                      Structure Editing.   (line  74)
21538* org-copy-visible:                      Global and local cycling.
21539                                                              (line  65)
21540* org-cut-subtree:                       Structure Editing.   (line  70)
21541* org-cycle:                             Global and local cycling.
21542                                                              (line  11)
21543* org-cycle <1>:                         Structure Editing.   (line  37)
21544* org-cycle <2>:                         Plain Lists.         (line  70)
21545* org-cycle-agenda-files:                Agenda Files.        (line  26)
21546* org-date-from-calendar:                Creating Timestamps. (line  32)
21547* org-dblock-update:                     Capturing column view.
21548                                                              (line  80)
21549* org-dblock-update <1>:                 The clock table.     (line  20)
21550* org-dblock-update <2>:                 Dynamic Blocks.      (line  25)
21551* org-deadline:                          Inserting deadline/schedule.
21552                                                              (line  10)
21553* org-delete-property:                   Property Syntax.     (line 111)
21554* org-delete-property-globally:          Property Syntax.     (line 114)
21555* org-demote:                            Using the Mapping API.
21556                                                              (line  93)
21557* org-demote-subtree:                    Structure Editing.   (line  57)
21558* org-do-demote:                         Structure Editing.   (line  44)
21559* org-do-promote:                        Structure Editing.   (line  44)
21560* org-dynamic-block-insert-dblock:       Dynamic Blocks.      (line  10)
21561* org-edit-special:                      Literal Examples.    (line 102)
21562* org-edit-special <1>:                  Include Files.       (line  63)
21563* org-edit-special <2>:                  Cooperation.         (line  59)
21564* org-entities-help:                     Special Symbols.     (line  16)
21565* org-entry-add-to-multivalued-property: Using the Property API.
21566                                                              (line  49)
21567* org-entry-delete:                      Using the Property API.
21568                                                              (line  28)
21569* org-entry-get:                         Using the Property API.
21570                                                              (line  19)
21571* org-entry-get-multivalued-property:    Using the Property API.
21572                                                              (line  45)
21573* org-entry-member-in-multivalued-property: Using the Property API.
21574                                                              (line  58)
21575* org-entry-properties:                  Using the Property API.
21576                                                              (line   9)
21577* org-entry-put:                         Using the Property API.
21578                                                              (line  31)
21579* org-entry-put-multivalued-property:    Using the Property API.
21580                                                              (line  40)
21581* org-entry-remove-from-multivalued-property: Using the Property API.
21582                                                              (line  53)
21583* org-evaluate-time-range:               Creating Timestamps. (line  62)
21584* org-evaluate-time-range <1>:           Clocking commands.   (line  53)
21585* org-export:                            The Export Dispatcher.
21586                                                              (line  16)
21587* org-export-define-backend:             Adding Export Back-ends.
21588                                                              (line  10)
21589* org-export-define-derived-backend:     Adding Export Back-ends.
21590                                                              (line  10)
21591* org-export-to-odt:                     ODT export commands. (line   7)
21592* org-forward-heading-same-level:        Motion.              (line  15)
21593* org-global-cycle:                      Global and local cycling.
21594                                                              (line  20)
21595* org-goto:                              Motion.              (line  24)
21596* org-goto-calendar:                     Creating Timestamps. (line  35)
21597* org-html-convert-region-to-html:       Export in Foreign Buffers.
21598                                                              (line  17)
21599* org-html-export-as-html:               HTML export commands.
21600                                                              (line  14)
21601* org-html-export-to-html:               HTML export commands.
21602                                                              (line   7)
21603* org-icalendar-combine-agenda-files:    iCalendar Export.    (line  47)
21604* org-icalendar-export-agenda-files:     iCalendar Export.    (line  43)
21605* org-icalendar-export-to-ics:           iCalendar Export.    (line  39)
21606* org-indent-mode:                       Org Indent Mode.     (line   6)
21607* org-info-find-node:                    Documentation Access.
21608                                                              (line   6)
21609* org-insert-drawer:                     Drawers.             (line  18)
21610* org-insert-drawer <1>:                 Property Syntax.     (line  94)
21611* org-insert-heading:                    Plain Lists.         (line  83)
21612* org-insert-heading <1>:                Timers.              (line  40)
21613* org-insert-heading-respect-content:    Structure Editing.   (line  26)
21614* org-insert-link:                       Handling Links.      (line  69)
21615* org-insert-link-global:                Using Links Outside Org.
21616                                                              (line   6)
21617* org-insert-property-drawer:            Using the Property API.
21618                                                              (line  19)
21619* org-insert-property-drawer <1>:        Using the Property API.
21620                                                              (line  37)
21621* org-insert-structure-template:         Structure Templates. (line  11)
21622* org-insert-todo-heading:               Structure Editing.   (line  29)
21623* org-insert-todo-heading <1>:           TODO Basics.         (line  54)
21624* org-insert-todo-heading <2>:           Checkboxes.          (line  86)
21625* org-insert-todo-heading-respect-content: Structure Editing. (line  33)
21626* org-latex-convert-region-to-latex:     Export in Foreign Buffers.
21627                                                              (line  20)
21628* org-latex-export-as-latex:             LaTeX/PDF export commands.
21629                                                              (line  11)
21630* org-latex-export-to-latex~:            LaTeX/PDF export commands.
21631                                                              (line   7)
21632* org-latex-export-to-pdf:               LaTeX/PDF export commands.
21633                                                              (line  14)
21634* org-latex-preview:                     Previewing LaTeX fragments.
21635                                                              (line  18)
21636* org-link-escape:                       Link Format.         (line  25)
21637* org-link-set-parameters:               Adding Hyperlink Types.
21638                                                              (line  74)
21639* org-lint:                              Org Syntax.          (line  24)
21640* org-list-checkbox-radio-mode:          Checkboxes.          (line  81)
21641* org-lookup-all:                        Lookup functions.    (line  23)
21642* org-lookup-first:                      Lookup functions.    (line   9)
21643* org-lookup-last:                       Lookup functions.    (line  19)
21644* org-map-entries:                       Using the Mapping API.
21645                                                              (line  12)
21646* org-mark-ring-goto:                    Handling Links.      (line 144)
21647* org-mark-ring-push:                    Handling Links.      (line 139)
21648* org-mark-subtree:                      Structure Editing.   (line  66)
21649* org-match-sparse-tree:                 Tag Searches.        (line  10)
21650* org-match-sparse-tree <1>:             Property Searches.   (line  11)
21651* org-md-convert-region-to-md:           Export in Foreign Buffers.
21652                                                              (line  26)
21653* org-md-export-as-markdown:             Markdown Export.     (line  21)
21654* org-md-export-to-markdown:             Markdown Export.     (line  17)
21655* org-meta-return:                       Structure Editing.   (line   7)
21656* org-mobile-pull:                       Pulling from the mobile application.
21657                                                              (line   6)
21658* org-mobile-push:                       Pushing to the mobile application.
21659                                                              (line   6)
21660* org-move-subtree-down:                 Structure Editing.   (line  63)
21661* org-move-subtree-up:                   Structure Editing.   (line  60)
21662* org-narrow-to-block:                   Structure Editing.   (line 123)
21663* org-narrow-to-block <1>:               Dynamic Blocks.      (line  58)
21664* org-narrow-to-subtree:                 Structure Editing.   (line 120)
21665* org-next-link:                         Handling Links.      (line 151)
21666* org-next-visible-heading:              Motion.              (line   9)
21667* org-occur:                             Sparse Trees.        (line  20)
21668* org-odt-convert:                       Extending ODT export.
21669                                                              (line  37)
21670* org-open-at-point:                     Handling Links.      (line 106)
21671* org-open-at-point <1>:                 Creating Timestamps. (line  40)
21672* org-open-at-point-global:              Using Links Outside Org.
21673                                                              (line   6)
21674* org-org-export-to-org:                 Org Export.          (line  15)
21675* org-paste-subtree:                     Structure Editing.   (line  78)
21676* org-previous-link:                     Handling Links.      (line 151)
21677* org-previous-visible-heading:          Motion.              (line  12)
21678* org-priority:                          Priorities.          (line  33)
21679* org-priority <1>:                      Using the Mapping API.
21680                                                              (line  81)
21681* org-priority-down:                     Priorities.          (line  41)
21682* org-priority-up:                       Priorities.          (line  41)
21683* org-promote:                           Using the Mapping API.
21684                                                              (line  90)
21685* org-promote-subtree:                   Structure Editing.   (line  54)
21686* org-property-action:                   Property Syntax.     (line 100)
21687* org-protocol-create:                   The open-source protocol.
21688                                                              (line  67)
21689* org-protocol-create-for-org:           The open-source protocol.
21690                                                              (line  67)
21691* org-publish:                           Triggering Publication.
21692                                                              (line   9)
21693* org-publish-all:                       Triggering Publication.
21694                                                              (line  19)
21695* org-publish-current-file:              Triggering Publication.
21696                                                              (line  16)
21697* org-publish-current-project:           Triggering Publication.
21698                                                              (line  13)
21699* org-publish-find-date:                 Site map.            (line  21)
21700* org-publish-find-property:             Site map.            (line  21)
21701* org-publish-find-title:                Site map.            (line  21)
21702* org-refile:                            Structure Editing.   (line 104)
21703* org-refile <1>:                        Refile and Copy.     (line  13)
21704* org-refile-cache-clear:                Refile and Copy.     (line  46)
21705* org-refile-copy:                       Refile and Copy.     (line  51)
21706* org-refile-goto-last-stored:           Refile and Copy.     (line  35)
21707* org-remove-file:                       Agenda Files.        (line  22)
21708* org-reveal:                            Global and local cycling.
21709                                                              (line  43)
21710* org-save-all-org-buffers:              Agenda Commands.     (line 193)
21711* org-schedule:                          Inserting deadline/schedule.
21712                                                              (line  18)
21713* org-search-view:                       Search view.         (line  10)
21714* org-set-effort:                        Effort Estimates.    (line  19)
21715* org-set-property:                      Property Syntax.     (line  90)
21716* org-set-property <1>:                  Property Syntax.     (line 103)
21717* org-set-property <2>:                  Using Header Arguments.
21718                                                              (line  70)
21719* org-set-startup-visibility:            Global and local cycling.
21720                                                              (line  36)
21721* org-set-startup-visibility <1>:        Initial visibility.  (line  22)
21722* org-set-tags-command:                  Setting Tags.        (line  11)
21723* org-show-todo-tree:                    TODO Basics.         (line  35)
21724* org-sort:                              Structure Editing.   (line 108)
21725* org-sparse-tree:                       Sparse Trees.        (line  16)
21726* org-speed-command-help:                Speed Keys.          (line  18)
21727* org-speedbar-set-agenda-restriction:   Agenda Files.        (line  58)
21728* org-store-agenda-views:                Exporting Agenda Views.
21729                                                              (line  53)
21730* org-store-link:                        Activation.          (line  13)
21731* org-store-link <1>:                    Handling Links.      (line   9)
21732* org-submit-bug-report:                 Feedback.            (line  16)
21733* org-switchb:                           Agenda Files.        (line  29)
21734* org-table-align:                       Built-in Table Editor.
21735                                                              (line  60)
21736* org-table-align <1>:                   Column Width and Alignment.
21737                                                              (line  17)
21738* org-table-beginning-of-field:          Built-in Table Editor.
21739                                                              (line  78)
21740* org-table-blank-field:                 Built-in Table Editor.
21741                                                              (line  67)
21742* org-table-copy-down:                   Built-in Table Editor.
21743                                                              (line 186)
21744* org-table-copy-region:                 Built-in Table Editor.
21745                                                              (line 151)
21746* org-table-create-or-convert-from-region: Built-in Table Editor.
21747                                                              (line  42)
21748* org-table-create-or-convert-from-region <1>: Built-in Table Editor.
21749                                                              (line 221)
21750* org-table-create-with-table.el:        Cooperation.         (line  63)
21751* org-table-cut-region:                  Built-in Table Editor.
21752                                                              (line 157)
21753* org-table-delete-column:               Built-in Table Editor.
21754                                                              (line  94)
21755* org-table-edit-field:                  Built-in Table Editor.
21756                                                              (line 202)
21757* org-table-edit-formulas:               Editing and debugging formulas.
21758                                                              (line  37)
21759* org-table-end-of-field:                Built-in Table Editor.
21760                                                              (line  82)
21761* org-table-eval-formula:                Field and range formulas.
21762                                                              (line  28)
21763* org-table-eval-formula <1>:            Column formulas.     (line  33)
21764* org-table-eval-formula <2>:            Editing and debugging formulas.
21765                                                              (line  14)
21766* org-table-eval-formula <3>:            Editing and debugging formulas.
21767                                                              (line  19)
21768* org-table-expand:                      Column Width and Alignment.
21769                                                              (line  57)
21770* org-table-export:                      Built-in Table Editor.
21771                                                              (line 226)
21772* org-table-fedit-abort:                 Editing and debugging formulas.
21773                                                              (line  49)
21774* org-table-fedit-finish:                Editing and debugging formulas.
21775                                                              (line  45)
21776* org-table-fedit-line-down:             Editing and debugging formulas.
21777                                                              (line  74)
21778* org-table-fedit-line-up:               Editing and debugging formulas.
21779                                                              (line  71)
21780* org-table-fedit-lisp-indent:           Editing and debugging formulas.
21781                                                              (line  56)
21782* org-table-fedit-ref-down:              Editing and debugging formulas.
21783                                                              (line  66)
21784* org-table-fedit-ref-left:              Editing and debugging formulas.
21785                                                              (line  66)
21786* org-table-fedit-ref-right:             Editing and debugging formulas.
21787                                                              (line  66)
21788* org-table-fedit-ref-up:                Editing and debugging formulas.
21789                                                              (line  66)
21790* org-table-fedit-scroll-down:           Editing and debugging formulas.
21791                                                              (line  80)
21792* org-table-fedit-scroll-up:             Editing and debugging formulas.
21793                                                              (line  77)
21794* org-table-fedit-toggle-ref-type:       Editing and debugging formulas.
21795                                                              (line  52)
21796* org-table-field-info:                  Editing and debugging formulas.
21797                                                              (line  25)
21798* org-table-header-line-mode:            Built-in Table Editor.
21799                                                              (line 237)
21800* org-table-hline-and-move:              Built-in Table Editor.
21801                                                              (line 130)
21802* org-table-import:                      Built-in Table Editor.
21803                                                              (line 212)
21804* org-table-insert-column:               Built-in Table Editor.
21805                                                              (line  97)
21806* org-table-insert-hline:                Built-in Table Editor.
21807                                                              (line 126)
21808* org-table-insert-row:                  Built-in Table Editor.
21809                                                              (line 122)
21810* org-table-iterate:                     Updating the table.  (line  24)
21811* org-table-iterate-buffer-tables:       Updating the table.  (line  32)
21812* org-table-kill-row:                    Built-in Table Editor.
21813                                                              (line 107)
21814* org-table-move-cell-down:              Built-in Table Editor.
21815                                                              (line 113)
21816* org-table-move-cell-left:              Built-in Table Editor.
21817                                                              (line 116)
21818* org-table-move-cell-right:             Built-in Table Editor.
21819                                                              (line 119)
21820* org-table-move-cell-up:                Built-in Table Editor.
21821                                                              (line 110)
21822* org-table-move-column-left:            Built-in Table Editor.
21823                                                              (line  88)
21824* org-table-move-column-right:           Built-in Table Editor.
21825                                                              (line  91)
21826* org-table-move-row-down:               Built-in Table Editor.
21827                                                              (line 104)
21828* org-table-move-row-up:                 Built-in Table Editor.
21829                                                              (line 101)
21830* org-table-next-field:                  Built-in Table Editor.
21831                                                              (line  63)
21832* org-table-next-row:                    Built-in Table Editor.
21833                                                              (line  73)
21834* org-table-paste-rectangle:             Built-in Table Editor.
21835                                                              (line 161)
21836* org-table-previous-field:              Built-in Table Editor.
21837                                                              (line  70)
21838* org-table-recalculate:                 Updating the table.  (line  14)
21839* org-table-recalculate-buffer-tables:   Updating the table.  (line  29)
21840* org-table-rotate-recalc-marks:         Advanced features.   (line  11)
21841* org-table-shrink:                      Column Width and Alignment.
21842                                                              (line  54)
21843* org-table-sort-lines:                  Built-in Table Editor.
21844                                                              (line 134)
21845* org-table-sum:                         Built-in Table Editor.
21846                                                              (line 181)
21847* org-table-toggle-column-width:         Column Width and Alignment.
21848                                                              (line  44)
21849* org-table-toggle-coordinate-overlays:  Editing and debugging formulas.
21850                                                              (line  29)
21851* org-table-toggle-coordinate-overlays <1>: Editing and debugging formulas.
21852                                                              (line  83)
21853* org-table-toggle-formula-debugger:     Editing and debugging formulas.
21854                                                              (line  34)
21855* org-table-transpose-table-at-point:    Built-in Table Editor.
21856                                                              (line 243)
21857* org-table-wrap-region:                 Built-in Table Editor.
21858                                                              (line 168)
21859* org-tags-view:                         Tag Searches.        (line  15)
21860* org-tags-view <1>:                     Property Searches.   (line  15)
21861* org-tags-view <2>:                     Matching tags and properties.
21862                                                              (line  13)
21863* org-tags-view <3>:                     Matching tags and properties.
21864                                                              (line  21)
21865* org-texinfo-convert-region-to-texinfo: Export in Foreign Buffers.
21866                                                              (line  23)
21867* org-texinfo-export-to-info:            Texinfo export commands.
21868                                                              (line  11)
21869* org-texinfo-export-to-texinfo:         Texinfo export commands.
21870                                                              (line   7)
21871* org-time-stamp:                        Creating Timestamps. (line  11)
21872* org-time-stamp-inactive:               Creating Timestamps. (line  25)
21873* org-timer:                             Timers.              (line  32)
21874* org-timer-item:                        Timers.              (line  36)
21875* org-timer-pause-or-continue:           Timers.              (line  44)
21876* org-timer-set-timer:                   Timers.              (line  23)
21877* org-timer-start:                       Timers.              (line  13)
21878* org-timer-stop:                        Timers.              (line  47)
21879* org-timestamp-down-day:                Creating Timestamps. (line  45)
21880* org-timestamp-up-day:                  Creating Timestamps. (line  45)
21881* org-todo:                              Clocking commands.   (line  71)
21882* org-todo <1>:                          Using the Mapping API.
21883                                                              (line  77)
21884* org-todo-list:                         Global TODO list.    (line  10)
21885* org-todo-list <1>:                     Global TODO list.    (line  18)
21886* org-toggle-archive-tag:                Internal archiving.  (line  39)
21887* org-toggle-checkbox:                   Checkboxes.          (line  52)
21888* org-toggle-comment:                    Comment Lines.       (line  20)
21889* org-toggle-heading:                    Structure Editing.   (line 129)
21890* org-toggle-inline-images:              Images.              (line  24)
21891* org-toggle-ordered-property:           TODO dependencies.   (line  38)
21892* org-toggle-ordered-property <1>:       Checkboxes.          (line  90)
21893* org-toggle-pretty-entities:            Subscripts and Superscripts.
21894                                                              (line  27)
21895* org-toggle-pretty-entities <1>:        Special Symbols.     (line  31)
21896* org-toggle-radio-button:               Checkboxes.          (line  75)
21897* org-toggle-sticky-agenda:              Agenda Dispatcher.   (line  55)
21898* org-toggle-tag:                        Using the Mapping API.
21899                                                              (line  85)
21900* org-toggle-tags-groups:                Tag Hierarchy.       (line  86)
21901* org-toggle-time-stamp-overlays:        Custom time format.  (line  13)
21902* org-tree-to-indirect-buffer:           Global and local cycling.
21903                                                              (line  59)
21904* org-update-statistics-cookies:         Checkboxes.          (line  98)
21905* org-version:                           Feedback.            (line  16)
21906* org-yank:                              Structure Editing.   (line  84)
21907* orgtbl-ascii-draw:                     Org Plot.            (line 109)
21908* orgtbl-mode:                           Orgtbl Mode.         (line   6)
21909* orgtbl-to-csv:                         Translator functions.
21910                                                              (line   6)
21911* orgtbl-to-generic:                     Translator functions.
21912                                                              (line   6)
21913* orgtbl-to-html:                        Translator functions.
21914                                                              (line   6)
21915* orgtbl-to-latex:                       Translator functions.
21916                                                              (line   6)
21917* orgtbl-to-orgtbl:                      Translator functions.
21918                                                              (line   6)
21919* orgtbl-to-texinfo:                     Translator functions.
21920                                                              (line   6)
21921* orgtbl-to-tsv:                         Translator functions.
21922                                                              (line   6)
21923* orgtbl-to-unicode:                     Translator functions.
21924                                                              (line   6)
21925* outline-show-all:                      Global and local cycling.
21926                                                              (line  40)
21927* outline-show-branches:                 Global and local cycling.
21928                                                              (line  52)
21929* outline-show-children:                 Global and local cycling.
21930                                                              (line  55)
21931* outline-up-heading:                    Motion.              (line  21)
21932* pcomplete:                             Property Syntax.     (line  86)
21933* previous-error:                        Sparse Trees.        (line  35)
21934* widen:                                 Structure Editing.   (line 126)
21935
21936
21937File: org.info,  Node: Variable Index,  Prev: Command and Function Index,  Up: Top
21938
21939G Variable Index
21940****************
21941
21942This is not a complete index of variables and faces, only the ones that
21943are mentioned in the manual.  For a more complete list, use ‘M-x
21944org-customize’ and then click yourself through the tree.
21945
21946�[index�]
21947* Menu:
21948
21949* cdlatex-simplify-sub-super-scripts:    CDLaTeX mode.        (line  43)
21950* constants-unit-system:                 References.          (line 121)
21951* constants-unit-system <1>:             In-buffer Settings.  (line 147)
21952* LaTeX-verbatim-environments:           A LaTeX example.     (line  19)
21953* org-adapt-indentation:                 Hard indentation.    (line  16)
21954* org-agenda-auto-exclude-function:      Filtering/limiting agenda items.
21955                                                              (line  98)
21956* org-agenda-bulk-custom-functions:      Agenda Commands.     (line 352)
21957* org-agenda-bulk-custom-functions <1>:  Agenda Commands.     (line 431)
21958* org-agenda-bulk-persistent-marks:      Agenda Commands.     (line 383)
21959* org-agenda-category-filter-preset:     Filtering/limiting agenda items.
21960                                                              (line   6)
21961* org-agenda-category-icon-alist:        Categories.          (line  16)
21962* org-agenda-clock-consistency-checks:   Agenda Commands.     (line 165)
21963* org-agenda-columns-add-appointments-to-effort-sum: Effort Estimates.
21964                                                              (line  45)
21965* org-agenda-confirm-kill:               Agenda Commands.     (line 243)
21966* org-agenda-custom-commands:            Sparse Trees.        (line  37)
21967* org-agenda-custom-commands <1>:        Storing searches.    (line  11)
21968* org-agenda-custom-commands <2>:        Setting options.     (line   6)
21969* org-agenda-custom-commands <3>:        Extracting Agenda Information.
21970                                                              (line  10)
21971* org-agenda-custom-commands-contexts:   Setting options.     (line  59)
21972* org-agenda-diary-file:                 Agenda Commands.     (line 460)
21973* org-agenda-dim-blocked-tasks:          TODO dependencies.   (line  48)
21974* org-agenda-dim-blocked-tasks <1>:      Speeding Up Your Agendas.
21975                                                              (line  15)
21976* org-agenda-effort-filter-preset:       Filtering/limiting agenda items.
21977                                                              (line   6)
21978* org-agenda-entry-text-maxlines:        Agenda Commands.     (line 173)
21979* org-agenda-exporter-settings:          Exporting Agenda Views.
21980                                                              (line  14)
21981* org-agenda-exporter-settings <1>:      Exporting Agenda Views.
21982                                                              (line  68)
21983* org-agenda-files:                      Agenda Files.        (line   6)
21984* org-agenda-files <1>:                  Sorting of agenda items.
21985                                                              (line   9)
21986* org-agenda-inhibit-startup:            Speeding Up Your Agendas.
21987                                                              (line  19)
21988* org-agenda-log-mode-items:             Agenda Commands.     (line 131)
21989* org-agenda-loop-over-headlines-in-active-region: Execute commands in the active region.
21990                                                              (line  13)
21991* org-agenda-max-effort:                 Filtering/limiting agenda items.
21992                                                              (line 135)
21993* org-agenda-max-entries:                Filtering/limiting agenda items.
21994                                                              (line 132)
21995* org-agenda-max-tags:                   Filtering/limiting agenda items.
21996                                                              (line 141)
21997* org-agenda-max-todos:                  Filtering/limiting agenda items.
21998                                                              (line 138)
21999* org-agenda-overriding-header:          Special Agenda Views.
22000                                                              (line  38)
22001* org-agenda-prefix-format:              Presentation and Sorting.
22002                                                              (line   6)
22003* org-agenda-regexp-filter-preset:       Filtering/limiting agenda items.
22004                                                              (line   6)
22005* org-agenda-restore-windows-after-quit: Agenda Views.        (line  42)
22006* org-agenda-search-headline-for-time:   Time-of-day specifications.
22007                                                              (line  16)
22008* org-agenda-show-inherited-tags:        Agenda Commands.     (line 270)
22009* org-agenda-show-inherited-tags <1>:    Speeding Up Your Agendas.
22010                                                              (line  23)
22011* org-agenda-skip-archived-trees:        Internal archiving.  (line  23)
22012* org-agenda-skip-archived-trees <1>:    Agenda Views.        (line  37)
22013* org-agenda-skip-comment-trees:         Agenda Views.        (line  37)
22014* org-agenda-skip-deadline-prewarning-if-scheduled: Deadlines and Scheduling.
22015                                                              (line  24)
22016* org-agenda-skip-function:              Special Agenda Views.
22017                                                              (line   6)
22018* org-agenda-skip-function <1>:          Special Agenda Views.
22019                                                              (line  41)
22020* org-agenda-skip-function <2>:          Using the Mapping API.
22021                                                              (line  69)
22022* org-agenda-skip-function-global:       Special Agenda Views.
22023                                                              (line   6)
22024* org-agenda-skip-scheduled-delay-if-deadline: Deadlines and Scheduling.
22025                                                              (line  42)
22026* org-agenda-skip-scheduled-if-deadline-is-shown: Repeated tasks.
22027                                                              (line  80)
22028* org-agenda-skip-scheduled-if-done:     Deadlines and Scheduling.
22029                                                              (line  34)
22030* org-agenda-sorting-strategy:           Sorting of agenda items.
22031                                                              (line  28)
22032* org-agenda-span:                       Weekly/daily agenda. (line  15)
22033* org-agenda-span <1>:                   Agenda Commands.     (line 107)
22034* org-agenda-start-day:                  Weekly/daily agenda. (line  15)
22035* org-agenda-start-on-weekday:           Weekly/daily agenda. (line  15)
22036* org-agenda-start-with-clockreport-mode: Agenda Commands.    (line 154)
22037* org-agenda-start-with-entry-text-mode: Agenda Commands.     (line 173)
22038* org-agenda-start-with-follow-mode:     Agenda Commands.     (line  42)
22039* org-agenda-sticky:                     Agenda Dispatcher.   (line  55)
22040* org-agenda-tag-filter-preset:          Filtering/limiting agenda items.
22041                                                              (line   6)
22042* org-agenda-tags-column:                Presentation and Sorting.
22043                                                              (line   6)
22044* org-agenda-tags-todo-honor-ignore-options: Matching tags and properties.
22045                                                              (line  21)
22046* org-agenda-text-search-extra-files:    Agenda Dispatcher.   (line  30)
22047* org-agenda-text-search-extra-files <1>: Search view.        (line  34)
22048* org-agenda-time-grid:                  Time-of-day specifications.
22049                                                              (line  46)
22050* org-agenda-time-grid <1>:              Agenda Commands.     (line 181)
22051* org-agenda-todo-ignore-deadlines:      Global TODO list.    (line  42)
22052* org-agenda-todo-ignore-scheduled:      Global TODO list.    (line  42)
22053* org-agenda-todo-ignore-timestamp:      Global TODO list.    (line  42)
22054* org-agenda-todo-ignore-with-date:      Global TODO list.    (line  42)
22055* org-agenda-todo-list-sublevels:        Breaking Down Tasks. (line   6)
22056* org-agenda-todo-list-sublevels <1>:    Global TODO list.    (line  53)
22057* org-agenda-use-tag-inheritance:        Tag Inheritance.     (line  32)
22058* org-agenda-use-tag-inheritance <1>:    Speeding Up Your Agendas.
22059                                                              (line  23)
22060* org-agenda-use-time-grid:              Time-of-day specifications.
22061                                                              (line  46)
22062* org-agenda-use-time-grid <1>:          Agenda Commands.     (line 181)
22063* org-agenda-window-setup:               Agenda Views.        (line  42)
22064* org-alphabetical-lists:                Plain Lists.         (line  15)
22065* org-archive-default-command:           Archiving.           (line  12)
22066* org-archive-default-command <1>:       Agenda Commands.     (line 252)
22067* org-archive-location:                  Moving subtrees.     (line  10)
22068* org-archive-location <1>:              In-buffer Settings.  (line  15)
22069* org-archive-save-context-info:         Moving subtrees.     (line  41)
22070* org-archive-subtree-save-file-p:       Moving subtrees.     (line  47)
22071* org-ascii-links-to-notes:              ASCII/Latin-1/UTF-8 export.
22072                                                              (line  16)
22073* org-ascii-text-width:                  ASCII/Latin-1/UTF-8 export.
22074                                                              (line  13)
22075* org-attach-archive-delete:             Attachment options.  (line  60)
22076* org-attach-auto-tag:                   Attachment options.  (line  64)
22077* org-attach-commands:                   Attachment options.  (line  85)
22078* org-attach-dir-relative:               Attachment options.  (line  13)
22079* org-attach-expert:                     Attachment options.  (line  88)
22080* org-attach-id-dir:                     Attachment options.  (line   9)
22081* org-attach-id-to-path-function-list:   Attachment options.  (line  68)
22082* org-attach-method:                     Attachment defaults and dispatcher.
22083                                                              (line  25)
22084* org-attach-method <1>:                 Attachment options.  (line  49)
22085* org-attach-preferred-new-method:       Attachment options.  (line  55)
22086* org-attach-store-link-p:               Attachment options.  (line  77)
22087* org-attach-use-inheritance:            Attachment options.  (line  18)
22088* org-babel-default-header-args:         Using Header Arguments.
22089                                                              (line  19)
22090* org-babel-default-header-args <1>:     Using Header Arguments.
22091                                                              (line  19)
22092* org-babel-inline-result-wrap:          Evaluating Code Blocks.
22093                                                              (line  27)
22094* org-babel-load-languages:              Languages.           (line  35)
22095* org-babel-post-tangle-hook:            Extracting Source Code.
22096                                                              (line 122)
22097* org-beamer-environments-default:       Frames and Blocks in Beamer.
22098                                                              (line  25)
22099* org-beamer-environments-extra:         Frames and Blocks in Beamer.
22100                                                              (line  25)
22101* org-beamer-frame-level:                Frames and Blocks in Beamer.
22102                                                              (line  10)
22103* org-beamer-theme:                      Beamer specific export settings.
22104                                                              (line  11)
22105* org-calc-default-modes:                Formula syntax for Calc.
22106                                                              (line  17)
22107* org-capture-bookmark:                  Using capture.       (line  48)
22108* org-capture-last-stored:               Using capture.       (line  48)
22109* org-capture-templates:                 Capture templates.   (line  11)
22110* org-capture-templates-contexts:        Templates in contexts.
22111                                                              (line   6)
22112* org-capture-use-agenda-date:           Agenda Commands.     (line 345)
22113* org-catch-invisible-edits:             Catching invisible edits.
22114                                                              (line   6)
22115* org-clock-auto-clockout-timer:         Resolving idle time. (line  91)
22116* org-clock-continuously:                Clocking commands.   (line   7)
22117* org-clock-continuously <1>:            Clocking commands.   (line  44)
22118* org-clock-continuously <2>:            Resolving idle time. (line  78)
22119* org-clock-display-default-range:       The clock table.     (line  80)
22120* org-clock-idle-time:                   Resolving idle time. (line  14)
22121* org-clock-in-prepare-hook:             Clocking commands.   (line  21)
22122* org-clock-into-drawer:                 Clocking commands.   (line   7)
22123* org-clock-mode-line-total:             Clocking commands.   (line  21)
22124* org-clock-persist:                     Clocking Work Time.  (line  19)
22125* org-clock-report-include-clocking-task: Agenda Commands.    (line 154)
22126* org-clock-x11idle-program-name:        Resolving idle time. (line  14)
22127* org-clocktable-defaults:               The clock table.     (line  39)
22128* org-closed-keep-when-no-todo:          Closing items.       (line  11)
22129* org-coderef-label-format:              Literal Examples.    (line  88)
22130* org-columns:                           Using column view.   (line  10)
22131* org-columns-default-format:            Using column view.   (line  10)
22132* org-columns-default-format <1>:        Effort Estimates.    (line  35)
22133* org-columns-default-format <2>:        Agenda Commands.     (line 197)
22134* org-columns-default-format <3>:        Agenda Column View.  (line  19)
22135* org-columns-default-format-for-agenda: Agenda Column View.  (line  19)
22136* org-columns-skip-archived-trees:       Internal archiving.  (line  33)
22137* org-columns-summary-types:             Column attributes.   (line  51)
22138* org-complete-tags-always-offer-all-agenda-tags: Setting Tags.
22139                                                              (line  22)
22140* org-confirm-babel-evaluate:            Code Evaluation Security.
22141                                                              (line  25)
22142* org-create-file-search-functions:      Custom Searches.     (line  12)
22143* org-crypt-tag-matcher:                 Org Crypt.           (line  10)
22144* org-ctrl-k-protect-subtree:            Headlines.           (line   6)
22145* org-cycle-emulate-tab:                 Global and local cycling.
22146                                                              (line  16)
22147* org-cycle-global-at-bob:               Global and local cycling.
22148                                                              (line  31)
22149* org-cycle-include-plain-lists:         Plain Lists.         (line  70)
22150* org-cycle-open-archived-trees:         Internal archiving.  (line  13)
22151* org-cycle-separator-lines:             Headlines.           (line  29)
22152* org-deadline-warning-days:             Deadlines and Scheduling.
22153                                                              (line  14)
22154* org-deadline-warning-days <1>:         Inserting deadline/schedule.
22155                                                              (line  26)
22156* org-default-notes-file:                Setting up capture.  (line   8)
22157* org-default-notes-file <1>:            Template elements.   (line  50)
22158* org-directory:                         Template elements.   (line  50)
22159* org-display-custom-times:              Custom time format.  (line   6)
22160* org-disputed-keys:                     Conflicts.           (line  27)
22161* org-done, face:                        Faces for TODO keywords.
22162                                                              (line   6)
22163* org-edit-src-auto-save-idle-delay:     Editing Source Code. (line  11)
22164* org-effort-property:                   Effort Estimates.    (line   6)
22165* org-enforce-todo-dependencies:         TODO dependencies.   (line   6)
22166* org-enforce-todo-dependencies <1>:     TODO dependencies.   (line  53)
22167* org-entities-user:                     Special Symbols.     (line  16)
22168* org-execute-file-search-functions:     Custom Searches.     (line  12)
22169* org-export-allow-bind-keywords:        Export Settings.     (line 210)
22170* org-export-async-init-file:            The Export Dispatcher.
22171                                                              (line  42)
22172* org-export-backends:                   Exporting.           (line  33)
22173* org-export-before-parsing-hook:        Advanced Export Configuration.
22174                                                              (line   9)
22175* org-export-before-processing-hook:     Advanced Export Configuration.
22176                                                              (line   9)
22177* org-export-creator-string:             HTML preamble and postamble.
22178                                                              (line   6)
22179* org-export-date-timestamp-format:      Export Settings.     (line  32)
22180* org-export-default-language:           Export Settings.     (line  38)
22181* org-export-dispatch-use-expert-ui:     The Export Dispatcher.
22182                                                              (line  10)
22183* org-export-exclude-tags:               Export Settings.     (line  52)
22184* org-export-global-macros:              Macro Replacement.   (line   6)
22185* org-export-headline-levels:            Export Settings.     (line 141)
22186* org-export-html-table-tag:             Tables in HTML export.
22187                                                              (line   6)
22188* org-export-html-tag-class-prefix:      CSS support.         (line   6)
22189* org-export-html-todo-kwd-class-prefix: CSS support.         (line   6)
22190* org-export-html-use-infojs:            JavaScript support.  (line  70)
22191* org-export-in-background:              The Export Dispatcher.
22192                                                              (line  39)
22193* org-export-initial-scope:              The Export Dispatcher.
22194                                                              (line  60)
22195* org-export-odt-convert-capabilities:   Advanced topics in ODT export.
22196                                                              (line  22)
22197* org-export-odt-convert-process:        Advanced topics in ODT export.
22198                                                              (line  28)
22199* org-export-odt-convert-processes:      Advanced topics in ODT export.
22200                                                              (line  17)
22201* org-export-odt-preferred-output-format: ODT export commands.
22202                                                              (line  25)
22203* org-export-odt-schema-dir:             Advanced topics in ODT export.
22204                                                              (line 269)
22205* org-export-preserve-breaks:            Export Settings.     (line  93)
22206* org-export-select-tags:                Export Settings.     (line  44)
22207* org-export-time-stamp-file:            Export Settings.     (line 187)
22208* org-export-time-stamp-file <1>:        HTML preamble and postamble.
22209                                                              (line   6)
22210* org-export-use-babel:                  Exporting Code Blocks.
22211                                                              (line  34)
22212* org-export-with-archived-trees:        Internal archiving.  (line  29)
22213* org-export-with-archived-trees <1>:    Export Settings.     (line 102)
22214* org-export-with-author:                Export Settings.     (line 107)
22215* org-export-with-broken-links:          Export Settings.     (line 111)
22216* org-export-with-clocks:                Export Settings.     (line 116)
22217* org-export-with-creator:               Export Settings.     (line 119)
22218* org-export-with-date:                  Export Settings.     (line 127)
22219* org-export-with-drawers:               Export Settings.     (line 123)
22220* org-export-with-email:                 Export Settings.     (line 134)
22221* org-export-with-emphasize:             Export Settings.     (line  79)
22222* org-export-with-entities:              Export Settings.     (line 131)
22223* org-export-with-fixed-width:           Export Settings.     (line  86)
22224* org-export-with-footnotes:             Export Settings.     (line 138)
22225* org-export-with-inlinetasks:           Export Settings.     (line 146)
22226* org-export-with-latex:                 LaTeX fragments.     (line  38)
22227* org-export-with-latex <1>:             Export Settings.     (line 183)
22228* org-export-with-planning:              Export Settings.     (line 157)
22229* org-export-with-priority:              Export Settings.     (line 163)
22230* org-export-with-properties:            Export Settings.     (line 166)
22231* org-export-with-section-numbers:       Export Settings.     (line 149)
22232* org-export-with-smart-quotes:          Export Settings.     (line  73)
22233* org-export-with-special-strings:       Export Settings.     (line  82)
22234* org-export-with-statistics-cookies:    Export Settings.     (line 170)
22235* org-export-with-sub-superscripts:      Export Settings.     (line  97)
22236* org-export-with-tables:                Export Settings.     (line 202)
22237* org-export-with-tags:                  Export Settings.     (line 174)
22238* org-export-with-tasks:                 Export Settings.     (line 178)
22239* org-export-with-timestamps:            Export Settings.     (line  89)
22240* org-export-with-title:                 Export Settings.     (line 191)
22241* org-export-with-toc:                   Export Settings.     (line 194)
22242* org-export-with-toc <1>:               Table of Contents.   (line   6)
22243* org-export-with-todo-keywords:         Export Settings.     (line 198)
22244* org-expot-creator-string:              Export Settings.     (line  28)
22245* org-faces-easy-properties:             Faces for TODO keywords.
22246                                                              (line  17)
22247* org-fast-tag-selection-include-todo:   Fast access to TODO states.
22248                                                              (line  16)
22249* org-fast-tag-selection-single-key:     Setting Tags.        (line 141)
22250* org-file-apps:                         Handling Links.      (line 106)
22251* org-file-apps <1>:                     Attachment defaults and dispatcher.
22252                                                              (line  46)
22253* org-fontify-emphasized-text:           Emphasis and Monospace.
22254                                                              (line  11)
22255* org-footnote-auto-adjust:              Creating Footnotes.  (line  60)
22256* org-footnote-auto-adjust <1>:          In-buffer Settings.  (line 153)
22257* org-footnote-auto-label:               Creating Footnotes.  (line  32)
22258* org-footnote-auto-label <1>:           In-buffer Settings.  (line 153)
22259* org-footnote-define-inline:            Creating Footnotes.  (line  45)
22260* org-footnote-define-inline <1>:        In-buffer Settings.  (line 153)
22261* org-footnote-section:                  Headlines.           (line  18)
22262* org-footnote-section <1>:              Creating Footnotes.  (line  45)
22263* org-format-latex-header:               LaTeX fragments.     (line   6)
22264* org-format-latex-header <1>:           Previewing LaTeX fragments.
22265                                                              (line  12)
22266* org-format-latex-options:              Previewing LaTeX fragments.
22267                                                              (line  12)
22268* org-global-properties:                 Property Syntax.     (line  80)
22269* org-global-properties <1>:             Effort Estimates.    (line  35)
22270* org-goto-auto-isearch:                 Motion.              (line  24)
22271* org-goto-interface:                    Motion.              (line  41)
22272* org-group-tags:                        Tag Hierarchy.       (line  86)
22273* org-habit-following-days:              Tracking your habits.
22274                                                              (line  91)
22275* org-habit-graph-column:                Tracking your habits.
22276                                                              (line  82)
22277* org-habit-preceding-days:              Tracking your habits.
22278                                                              (line  87)
22279* org-habit-show-habits-only-for-today:  Tracking your habits.
22280                                                              (line  94)
22281* org-hide, face:                        Hard indentation.    (line  21)
22282* org-hide-block-startup:                Blocks.              (line   6)
22283* org-hide-block-startup <1>:            In-buffer Settings.  (line 166)
22284* org-hide-leading-stars:                Hard indentation.    (line  21)
22285* org-hide-leading-stars <1>:            In-buffer Settings.  (line 129)
22286* org-hide-macro-markers:                Macro Replacement.   (line  88)
22287* org-hierarchical-checkbox-statistics:  Checkboxes.          (line  29)
22288* org-hierarchical-todo-statistics:      Breaking Down Tasks. (line  25)
22289* org-html-container-element:            HTML specific export settings.
22290                                                              (line  19)
22291* org-html-doctype:                      HTML specific export settings.
22292                                                              (line  16)
22293* org-html-doctype <1>:                  HTML doctypes.       (line   8)
22294* org-html-doctype-alist:                HTML doctypes.       (line   8)
22295* org-html-head:                         HTML specific export settings.
22296                                                              (line  35)
22297* org-html-head <1>:                     CSS support.         (line  44)
22298* org-html-head <2>:                     Bare HTML.           (line   9)
22299* org-html-head-extra:                   HTML specific export settings.
22300                                                              (line  39)
22301* org-html-head-extra <1>:               CSS support.         (line  44)
22302* org-html-head-extra <2>:               Bare HTML.           (line   9)
22303* org-html-head-include-default-style:   CSS support.         (line  52)
22304* org-html-head-include-default-style <1>: Bare HTML.         (line   9)
22305* org-html-head-include-scripts:         Bare HTML.           (line   9)
22306* org-html-html5-elements:               HTML doctypes.       (line  60)
22307* org-html-html5-fancy:                  HTML doctypes.       (line  25)
22308* org-html-inline-images:                Images in HTML export.
22309                                                              (line   9)
22310* org-html-link-home:                    HTML specific export settings.
22311                                                              (line  23)
22312* org-html-link-org-files-as-html:       Links in HTML export.
22313                                                              (line  12)
22314* org-html-link-up:                      HTML specific export settings.
22315                                                              (line  26)
22316* org-html-mathjax-options:              HTML specific export settings.
22317                                                              (line  30)
22318* org-html-mathjax-options~:             Math formatting in HTML export.
22319                                                              (line   6)
22320* org-html-mathjax-template:             Math formatting in HTML export.
22321                                                              (line  20)
22322* org-html-postamble:                    HTML preamble and postamble.
22323                                                              (line   6)
22324* org-html-postamble <1>:                Bare HTML.           (line   9)
22325* org-html-postamble-format:             HTML preamble and postamble.
22326                                                              (line   6)
22327* org-html-preamble:                     HTML preamble and postamble.
22328                                                              (line   6)
22329* org-html-preamble <1>:                 Bare HTML.           (line   9)
22330* org-html-preamble-format:              HTML preamble and postamble.
22331                                                              (line   6)
22332* org-html-self-link-headlines:          Headlines in HTML export.
22333                                                              (line  10)
22334* org-html-style-default:                CSS support.         (line  44)
22335* org-html-table-align-individual-fields: Tables in HTML export.
22336                                                              (line  20)
22337* org-html-table-caption-above:          Tables in HTML export.
22338                                                              (line  24)
22339* org-html-table-data-tags:              Tables in HTML export.
22340                                                              (line  27)
22341* org-html-table-default-attributes:     Tables in HTML export.
22342                                                              (line  30)
22343* org-html-table-header-tags:            Tables in HTML export.
22344                                                              (line  33)
22345* org-html-table-row-tags:               Tables in HTML export.
22346                                                              (line  36)
22347* org-html-table-use-header-tags-for-first-column: Tables in HTML export.
22348                                                              (line  39)
22349* org-html-use-infojs:                   Bare HTML.           (line   9)
22350* org-html-validation-link:              HTML preamble and postamble.
22351                                                              (line   6)
22352* org-icalendar-alarm-time:              iCalendar Export.    (line  20)
22353* org-icalendar-categories:              iCalendar Export.    (line  20)
22354* org-icalendar-combined-agenda-file:    iCalendar Export.    (line  47)
22355* org-icalendar-include-body:            iCalendar Export.    (line  57)
22356* org-icalendar-include-todo:            iCalendar Export.    (line  11)
22357* org-icalendar-store-UID:               iCalendar Export.    (line  26)
22358* org-icalendar-use-deadline:            iCalendar Export.    (line  11)
22359* org-icalendar-use-scheduled:           iCalendar Export.    (line  11)
22360* org-id-link-to-org-use-id:             Handling Links.      (line  21)
22361* org-imenu-depth:                       Cooperation.         (line  37)
22362* org-indent-indentation-per-level:      Org Indent Mode.     (line  11)
22363* org-indent-mode-turns-off-org-adapt-indentation: Org Indent Mode.
22364                                                              (line  15)
22365* org-indent-mode-turns-on-hiding-stars: Org Indent Mode.     (line  15)
22366* org-infojs-options:                    JavaScript support.  (line  70)
22367* org-insert-mode-line-in-empty-file:    Activation.          (line  30)
22368* org-irc-links-to-logs:                 Handling Links.      (line  45)
22369* org-latex-bibtex-compiler:             LaTeX/PDF export commands.
22370                                                              (line  25)
22371* org-latex-classes:                     LaTeX specific export settings.
22372                                                              (line  32)
22373* org-latex-classes <1>:                 LaTeX specific export settings.
22374                                                              (line  49)
22375* org-latex-classes <2>:                 LaTeX header and sectioning.
22376                                                              (line  13)
22377* org-latex-compiler:                    LaTeX/PDF export commands.
22378                                                              (line  25)
22379* org-latex-compiler <1>:                LaTeX specific export settings.
22380                                                              (line  44)
22381* org-latex-default-class:               LaTeX specific export settings.
22382                                                              (line  32)
22383* org-latex-default-class <1>:           LaTeX header and sectioning.
22384                                                              (line  13)
22385* org-latex-default-packages-alist:      LaTeX/PDF export commands.
22386                                                              (line  25)
22387* org-latex-default-packages-alist <1>:  LaTeX header and sectioning.
22388                                                              (line  13)
22389* org-latex-default-table-environment:   Tables in LaTeX export.
22390                                                              (line  23)
22391* org-latex-default-table-mode:          Tables in LaTeX export.
22392                                                              (line  12)
22393* org-latex-hyperref-template:           LaTeX specific export settings.
22394                                                              (line  11)
22395* org-latex-hyperref-template <1>:       LaTeX specific export settings.
22396                                                              (line  54)
22397* org-latex-images-centered:             Images in LaTeX export.
22398                                                              (line  60)
22399* org-latex-listings:                    Literal Examples.    (line  31)
22400* org-latex-listings-options:            Source blocks in LaTeX export.
22401                                                              (line  25)
22402* org-latex-minted-options:              Source blocks in LaTeX export.
22403                                                              (line  25)
22404* org-latex-packages-alist:              LaTeX specific export settings.
22405                                                              (line  20)
22406* org-latex-packages-alist <1>:          LaTeX header and sectioning.
22407                                                              (line  13)
22408* org-latex-subtitle-format:             LaTeX specific export settings.
22409                                                              (line  63)
22410* org-latex-subtitle-separate:           LaTeX specific export settings.
22411                                                              (line  63)
22412* org-latex-tables-booktabs:             Tables in LaTeX export.
22413                                                              (line  65)
22414* org-latex-tables-centered:             Tables in LaTeX export.
22415                                                              (line  65)
22416* org-latex-title-command:               LaTeX specific export settings.
22417                                                              (line  11)
22418* org-latex-title-command <1>:           LaTeX specific export settings.
22419                                                              (line  54)
22420* org-latex-to-mathml-convert-command:   LaTeX math snippets. (line  20)
22421* org-latex-to-mathml-jar-file:          LaTeX math snippets. (line  20)
22422* org-link-abbrev-alist:                 Link Abbreviations.  (line  12)
22423* org-link-abbrev-alist <1>:             In-buffer Settings.  (line  38)
22424* org-link-elisp-confirm-function:       Code Evaluation Security.
22425                                                              (line  52)
22426* org-link-email-description-format:     Handling Links.      (line  31)
22427* org-link-frame-setup:                  Handling Links.      (line 121)
22428* org-link-from-user-regexp:             Template expansion.  (line 104)
22429* org-link-keep-stored-after-insertion:  Handling Links.      (line  69)
22430* org-link-parameters:                   Adding Hyperlink Types.
22431                                                              (line  74)
22432* org-link-search-must-match-exact-headline: Internal Links.  (line  31)
22433* org-link-shell-confirm-function:       Code Evaluation Security.
22434                                                              (line  49)
22435* org-link-use-indirect-buffer-for-internals: Handling Links. (line 135)
22436* org-list-automatic-rules:              Plain Lists.         (line  63)
22437* org-list-automatic-rules <1>:          Checkboxes.          (line   6)
22438* org-list-demote-modify-bullet:         Plain Lists.         (line  57)
22439* org-list-indent-offset:                Plain Lists.         (line  57)
22440* org-list-use-circular-motion:          Plain Lists.         (line  95)
22441* org-log-done:                          Tracking TODO state changes.
22442                                                              (line  28)
22443* org-log-done <1>:                      Agenda Commands.     (line 131)
22444* org-log-done <2>:                      In-buffer Settings.  (line 107)
22445* org-log-into-drawer:                   Tracking TODO state changes.
22446                                                              (line   6)
22447* org-log-into-drawer <1>:               Agenda Commands.     (line 295)
22448* org-log-note-clock-out:                Clocking commands.   (line  36)
22449* org-log-note-clock-out <1>:            In-buffer Settings.  (line 107)
22450* org-log-redeadline:                    Inserting deadline/schedule.
22451                                                              (line  10)
22452* org-log-refile:                        Refile and Copy.     (line  13)
22453* org-log-repeat:                        Repeated tasks.      (line  40)
22454* org-log-repeat <1>:                    In-buffer Settings.  (line 107)
22455* org-log-reschedule:                    Inserting deadline/schedule.
22456                                                              (line  18)
22457* org-log-states-order-reversed:         Tracking TODO state changes.
22458                                                              (line   6)
22459* org-loop-over-headlines-in-active-region: Execute commands in the active region.
22460                                                              (line   6)
22461* org-M-RET-may-split-line:              Structure Editing.   (line   7)
22462* org-M-RET-may-split-line <1>:          Plain Lists.         (line  83)
22463* org-md-headline-style:                 Markdown Export.     (line  29)
22464* org-mobile-directory:                  Setting up the staging area.
22465                                                              (line   6)
22466* org-mobile-encryption:                 Setting up the staging area.
22467                                                              (line  19)
22468* org-mobile-files:                      Pushing to the mobile application.
22469                                                              (line   6)
22470* org-mobile-inbox-for-pull:             Pulling from the mobile application.
22471                                                              (line  12)
22472* org-num-face:                          Dynamic Headline Numbering.
22473                                                              (line  19)
22474* org-num-format-function:               Dynamic Headline Numbering.
22475                                                              (line  19)
22476* org-num-max-level:                     Dynamic Headline Numbering.
22477                                                              (line  10)
22478* org-num-skip-commented:                Dynamic Headline Numbering.
22479                                                              (line  10)
22480* org-num-skip-footnotes:                Dynamic Headline Numbering.
22481                                                              (line  16)
22482* org-num-skip-tags:                     Dynamic Headline Numbering.
22483                                                              (line  10)
22484* org-num-skip-unnumbered:               Dynamic Headline Numbering.
22485                                                              (line  10)
22486* org-odd-levels-only:                   Matching tags and properties.
22487                                                              (line  64)
22488* org-odd-levels-only <1>:               Hard indentation.    (line  29)
22489* org-odd-levels-only <2>:               In-buffer Settings.  (line 129)
22490* org-odd-levels-only <3>:               Special Agenda Views.
22491                                                              (line  41)
22492* org-odt-category-map-alist:            Labels and captions in ODT export.
22493                                                              (line  21)
22494* org-odt-convert-process:               Extending ODT export.
22495                                                              (line  12)
22496* org-odt-create-custom-styles-for-srcblocks: Literal examples in ODT export.
22497                                                              (line  16)
22498* org-odt-fontify-srcblocks:             Literal examples in ODT export.
22499                                                              (line  13)
22500* org-odt-pixels-per-inch:               Images in ODT export.
22501                                                              (line  34)
22502* org-odt-preferred-output-format:       ODT export commands. (line   9)
22503* org-odt-preferred-output-format <1>:   Extending ODT export.
22504                                                              (line  21)
22505* org-odt-styles-file:                   ODT specific export settings.
22506                                                              (line  22)
22507* org-odt-styles-file <1>:               Applying custom styles.
22508                                                              (line  25)
22509* org-odt-table-styles:                  Advanced topics in ODT export.
22510                                                              (line 158)
22511* org-odt-table-styles <1>:              Advanced topics in ODT export.
22512                                                              (line 226)
22513* org-outline-path-complete-in-steps:    Refile and Copy.     (line  13)
22514* org-plain-list-ordered-item-terminator: Plain Lists.        (line  15)
22515* org-plain-list-ordered-item-terminator <1>: Plain Lists.    (line 131)
22516* org-popup-calendar-for-date-prompt:    The date/time prompt.
22517                                                              (line  75)
22518* org-pretty-entities:                   Subscripts and Superscripts.
22519                                                              (line  29)
22520* org-pretty-entities <1>:               In-buffer Settings.  (line 172)
22521* org-pretty-entities-include-sub-superscripts: Subscripts and Superscripts.
22522                                                              (line  29)
22523* org-preview-latex-default-process:     Previewing LaTeX fragments.
22524                                                              (line   6)
22525* org-priority-default:                  Priorities.          (line  46)
22526* org-priority-default <1>:              In-buffer Settings.  (line  43)
22527* org-priority-faces:                    Priorities.          (line  13)
22528* org-priority-highest:                  Priorities.          (line  46)
22529* org-priority-highest <1>:              In-buffer Settings.  (line  43)
22530* org-priority-lowest:                   Priorities.          (line  46)
22531* org-priority-lowest <1>:               In-buffer Settings.  (line  43)
22532* org-priority-start-cycle-with-default: Priorities.          (line  41)
22533* org-property-allowed-value-functions:  Using the Property API.
22534                                                              (line  63)
22535* org-protocol-default-template-key:     The capture protocol.
22536                                                              (line  19)
22537* org-protocol-project-alist:            The open-source protocol.
22538                                                              (line  13)
22539* org-publish-project-alist:             Project alist.       (line   6)
22540* org-publish-project-alist <1>:         Publishing options.  (line  12)
22541* org-publish-use-timestamps-flag:       Triggering Publication.
22542                                                              (line  21)
22543* org-put-time-stamp-overlays:           In-buffer Settings.  (line 141)
22544* org-read-date-display-live:            The date/time prompt.
22545                                                              (line  95)
22546* org-read-date-force-compatible-dates:  The date/time prompt.
22547                                                              (line  60)
22548* org-read-date-prefer-future:           The date/time prompt.
22549                                                              (line   6)
22550* org-refile-allow-creating-parent-nodes: Refile and Copy.    (line  13)
22551* org-refile-keep:                       Refile and Copy.     (line  41)
22552* org-refile-targets:                    Refile and Copy.     (line  13)
22553* org-refile-use-cache:                  Refile and Copy.     (line  46)
22554* org-refile-use-outline-path:           Refile and Copy.     (line  13)
22555* org-remove-highlights-with-change:     Sparse Trees.        (line  20)
22556* org-remove-highlights-with-change <1>: Clocking commands.   (line  84)
22557* org-replace-disputed-keys:             Conflicts.           (line  17)
22558* org-return-follows-link:               Handling Links.      (line 127)
22559* org-reverse-note-order:                Refile and Copy.     (line  13)
22560* org-scheduled-delay-days:              Deadlines and Scheduling.
22561                                                              (line  42)
22562* org-show-context-detail:               Sparse Trees.        (line   6)
22563* org-sort-agenda-noeffort-is-high:      Filtering/limiting agenda items.
22564                                                              (line  56)
22565* org-sparse-tree-open-archived-trees:   Internal archiving.  (line  19)
22566* org-special-ctrl-a/e:                  Headlines.           (line   6)
22567* org-special-ctrl-k:                    Headlines.           (line   6)
22568* org-speed-commands-user:               Speed Keys.          (line  18)
22569* org-src-ask-before-returning-to-edit-buffer: Editing Source Code.
22570                                                              (line  40)
22571* org-src-block-faces:                   Editing Source Code. (line  43)
22572* org-src-fontify-natively:              Editing Source Code. (line  43)
22573* org-src-lang-modes:                    Editing Source Code. (line  22)
22574* org-src-preserve-indentation:          Editing Source Code. (line  32)
22575* org-src-window-setup:                  Editing Source Code. (line  28)
22576* org-startup-align-all-tables:          Column Width and Alignment.
22577                                                              (line  19)
22578* org-startup-align-all-tables <1>:      In-buffer Settings.  (line  89)
22579* org-startup-folded:                    Initial visibility.  (line   6)
22580* org-startup-folded <1>:                In-buffer Settings.  (line  67)
22581* org-startup-folded <2>:                Speeding Up Your Agendas.
22582                                                              (line  19)
22583* org-startup-indented:                  Org Indent Mode.     (line  22)
22584* org-startup-indented <1>:              In-buffer Settings.  (line  77)
22585* org-startup-numerated:                 Dynamic Headline Numbering.
22586                                                              (line  22)
22587* org-startup-numerated <1>:             In-buffer Settings.  (line  83)
22588* org-startup-shrink-all-tables:         Column Width and Alignment.
22589                                                              (line  64)
22590* org-startup-shrink-all-tables <1>:     In-buffer Settings.  (line  96)
22591* org-startup-with-inline-images:        Images.              (line  24)
22592* org-startup-with-inline-images <1>:    In-buffer Settings.  (line 100)
22593* org-startup-with-latex-preview:        Previewing LaTeX fragments.
22594                                                              (line  28)
22595* org-store-link-props:                  Template expansion.  (line 102)
22596* org-structure-template-alist:          Structure Templates. (line  17)
22597* org-stuck-projects:                    Stuck projects.      (line  17)
22598* org-support-shift-select:              Plain Lists.         (line  95)
22599* org-support-shift-select <1>:          Plain Lists.         (line 154)
22600* org-support-shift-select <2>:          Conflicts.           (line   6)
22601* org-table-automatic-realign:           Column Width and Alignment.
22602                                                              (line  10)
22603* org-table-copy-increment:              Built-in Table Editor.
22604                                                              (line 186)
22605* org-table-current-column:              References.          (line  90)
22606* org-table-current-dline:               References.          (line  90)
22607* org-table-duration-custom-format:      Durations and time values.
22608                                                              (line   6)
22609* org-table-export-default-format:       Built-in Table Editor.
22610                                                              (line 226)
22611* org-table-formula:                     In-buffer Settings.  (line  28)
22612* org-table-formula-constants:           References.          (line 114)
22613* org-table-formula-constants <1>:       In-buffer Settings.  (line  28)
22614* org-table-formula-constants <2>:       Cooperation.         (line  14)
22615* org-table-header-line-p:               Built-in Table Editor.
22616                                                              (line 237)
22617* org-table-use-standard-references:     Editing and debugging formulas.
22618                                                              (line   6)
22619* org-tag-alist:                         Setting Tags.        (line  22)
22620* org-tag-alist <1>:                     In-buffer Settings.  (line 179)
22621* org-tag-faces:                         Tags.                (line  10)
22622* org-tag-persistent-alist:              Setting Tags.        (line  37)
22623* org-tags-column:                       Setting Tags.        (line  11)
22624* org-tags-exclude-from-inheritance:     Tag Inheritance.     (line  22)
22625* org-tags-match-list-sublevels:         Tag Inheritance.     (line  26)
22626* org-tags-match-list-sublevels <1>:     Tag Searches.        (line  19)
22627* org-tags-match-list-sublevels <2>:     Property Searches.   (line  18)
22628* org-tags-match-list-sublevels <3>:     Matching tags and properties.
22629                                                              (line  21)
22630* org-tempo-keywords-alist:              Structure Templates. (line  21)
22631* org-texinfo-classes:                   Texinfo file header. (line  19)
22632* org-texinfo-classes <1>:               Headings and sectioning structure.
22633                                                              (line   6)
22634* org-texinfo-coding-system:             Texinfo file header. (line  11)
22635* org-texinfo-default-class:             Texinfo specific export settings.
22636                                                              (line  20)
22637* org-texinfo-default-class <1>:         Headings and sectioning structure.
22638                                                              (line   6)
22639* org-texinfo-info-process:              Texinfo export commands.
22640                                                              (line  11)
22641* org-texinfo-table-default-markup:      Plain lists in Texinfo export.
22642                                                              (line  12)
22643* org-time-stamp-custom-formats:         Custom time format.  (line   6)
22644* org-time-stamp-overlay-formats:        In-buffer Settings.  (line 141)
22645* org-time-stamp-rounding-minutes:       Creating Timestamps. (line  16)
22646* org-timer-default-timer:               Timers.              (line  23)
22647* org-todo, face:                        Faces for TODO keywords.
22648                                                              (line   6)
22649* org-todo-keyword-faces:                Faces for TODO keywords.
22650                                                              (line   6)
22651* org-todo-keywords:                     TODO Basics.         (line  35)
22652* org-todo-keywords <1>:                 TODO Extensions.     (line   6)
22653* org-todo-keywords <2>:                 Global TODO list.    (line  18)
22654* org-todo-keywords <3>:                 In-buffer Settings.  (line 186)
22655* org-todo-repeat-to-state:              Repeated tasks.      (line  22)
22656* org-todo-state-tags-triggers:          TODO Basics.         (line  56)
22657* org-track-ordered-property-with-tag:   TODO dependencies.   (line  38)
22658* org-track-ordered-property-with-tag <1>: Checkboxes.        (line  90)
22659* org-treat-insert-todo-heading-as-state-change: Structure Editing.
22660                                                              (line  29)
22661* org-treat-S-cursor-todo-selection-as-state-change: TODO Basics.
22662                                                              (line  28)
22663* org-use-property-inheritance:          Property Inheritance.
22664                                                              (line   6)
22665* org-use-property-inheritance <1>:      Using Header Arguments.
22666                                                              (line  56)
22667* org-use-property-inheritance <2>:      Using the Property API.
22668                                                              (line  19)
22669* org-use-speed-commands:                Speed Keys.          (line  13)
22670* org-use-sub-superscripts:              Subscripts and Superscripts.
22671                                                              (line  13)
22672* org-use-tag-inheritance:               Tag Inheritance.     (line  22)
22673* org-yank-adjusted-subtrees:            Structure Editing.   (line  84)
22674* org-yank-folded-subtrees:              Structure Editing.   (line  84)
22675* parse-time-months:                     The date/time prompt.
22676                                                              (line  56)
22677* parse-time-weekdays:                   The date/time prompt.
22678                                                              (line  56)
22679* user-full-name:                        Export Settings.     (line  25)
22680* user-mail-address:                     Export Settings.     (line  35)
22681
22682
22683
22684Tag Table:
22685Node: Top884
22686Node: Introduction22475
22687Node: Summary22937
22688Node: Installation25654
22689Ref: Using Emacs packaging system26284
22690Ref: Downloading Org as an archive26904
22691Ref: Using Org's git repository27562
22692Node: Activation28462
22693Ref: Activation-Footnote-130082
22694Node: Feedback30209
22695Ref: How to create a useful backtrace32979
22696Ref: Feedback-Footnote-134131
22697Node: Conventions34257
22698Ref: TODO keywords tags properties etc34428
22699Ref: Key bindings and commands35313
22700Node: Document Structure35943
22701Node: Headlines37115
22702Ref: Headlines-Footnote-138413
22703Node: Visibility Cycling38692
22704Node: Global and local cycling39082
22705Ref: Global and local cycling-Footnote-141799
22706Ref: Global and local cycling-Footnote-241861
22707Node: Initial visibility42165
22708Ref: Initial visibility-Footnote-143237
22709Node: Catching invisible edits43430
22710Node: Motion43906
22711Node: Structure Editing45370
22712Node: Sparse Trees51830
22713Ref: Sparse Trees-Footnote-154393
22714Ref: Sparse Trees-Footnote-254508
22715Node: Plain Lists54584
22716Ref: Plain Lists-Footnote-162109
22717Ref: Plain Lists-Footnote-262473
22718Ref: Plain Lists-Footnote-362573
22719Ref: Plain Lists-Footnote-462830
22720Ref: Plain Lists-Footnote-563007
22721Ref: Plain Lists-Footnote-663111
22722Ref: Plain Lists-Footnote-763217
22723Node: Drawers63287
22724Ref: Drawers-Footnote-164957
22725Node: Blocks65069
22726Node: Tables65662
22727Node: Built-in Table Editor66345
22728Ref: Creation and conversion68079
22729Ref: Re-aligning and field motion69017
22730Ref: Column and row editing69944
22731Ref: Regions72374
22732Ref: Calculations73773
22733Ref: Miscellaneous (1)74586
22734Ref: Built-in Table Editor-Footnote-177063
22735Node: Column Width and Alignment77171
22736Node: Column Groups80508
22737Node: Orgtbl Mode82075
22738Node: The Spreadsheet82889
22739Node: References84363
22740Ref: Field references84822
22741Ref: Range references87261
22742Ref: Field coordinates in formulas88520
22743Ref: Named references89505
22744Ref: Remote references90476
22745Ref: References-Footnote-191398
22746Ref: References-Footnote-291626
22747Ref: References-Footnote-391729
22748Node: Formula syntax for Calc92054
22749Ref: Formula syntax for Calc-Footnote-197581
22750Node: Formula syntax for Lisp97920
22751Node: Durations and time values99703
22752Node: Field and range formulas101090
22753Node: Column formulas103559
22754Node: Lookup functions105671
22755Node: Editing and debugging formulas107640
22756Ref: Using multiple TBLFM lines112157
22757Ref: Debugging formulas113000
22758Node: Updating the table113424
22759Node: Advanced features114796
22760Ref: Advanced features-Footnote-1119247
22761Node: Org Plot119355
22762Ref: Graphical plots using Gnuplot119556
22763Ref: Plot options120755
22764Ref: ASCII bar plots122528
22765Node: Hyperlinks123778
22766Node: Link Format124642
22767Ref: Link Format-Footnote-1126705
22768Ref: Link Format-Footnote-2126937
22769Node: Internal Links127069
22770Ref: Internal Links-Footnote-1129631
22771Ref: Internal Links-Footnote-2129871
22772Node: Radio Targets130012
22773Node: External Links130729
22774Ref: External Links-Footnote-1136204
22775Node: Handling Links136628
22776Ref: Handling Links-Footnote-1144275
22777Ref: Handling Links-Footnote-2144436
22778Ref: Handling Links-Footnote-3144626
22779Ref: Handling Links-Footnote-4144922
22780Ref: Handling Links-Footnote-5145184
22781Ref: Handling Links-Footnote-6145306
22782Node: Using Links Outside Org145381
22783Node: Link Abbreviations145856
22784Node: Search Options148692
22785Ref: Search Options-Footnote-1150796
22786Node: Custom Searches150877
22787Node: TODO Items151911
22788Ref: TODO Items-Footnote-1153036
22789Node: TODO Basics153150
22790Node: TODO Extensions155785
22791Node: Workflow states156838
22792Ref: Workflow states-Footnote-1158237
22793Node: TODO types158353
22794Ref: TODO types-Footnote-1160172
22795Node: Multiple sets in one file160244
22796Node: Fast access to TODO states162189
22797Ref: Fast access to TODO states-Footnote-1163072
22798Ref: Fast access to TODO states-Footnote-2163179
22799Node: Per-file keywords163481
22800Ref: Per-file keywords-Footnote-1164930
22801Node: Faces for TODO keywords165134
22802Node: TODO dependencies166207
22803Node: Progress Logging168674
22804Node: Closing items169811
22805Ref: Closing items-Footnote-1170811
22806Ref: Closing items-Footnote-2170885
22807Node: Tracking TODO state changes170963
22808Ref: Tracking TODO state changes-Footnote-1174095
22809Ref: Tracking TODO state changes-Footnote-2174157
22810Ref: Tracking TODO state changes-Footnote-3174315
22811Node: Tracking your habits174593
22812Node: Priorities179014
22813Ref: Priorities-Footnote-1181526
22814Node: Breaking Down Tasks181599
22815Ref: Breaking Down Tasks-Footnote-1183640
22816Node: Checkboxes183747
22817Ref: Checkboxes-Footnote-1188890
22818Ref: Checkboxes-Footnote-2189018
22819Ref: Checkboxes-Footnote-3189198
22820Node: Tags189312
22821Node: Tag Inheritance190405
22822Ref: Tag Inheritance-Footnote-1192277
22823Ref: Tag Inheritance-Footnote-2192381
22824Node: Setting Tags192511
22825Ref: Setting Tags-Footnote-1198987
22826Ref: Setting Tags-Footnote-2199165
22827Node: Tag Hierarchy199243
22828Node: Tag Searches202809
22829Node: Properties and Columns204120
22830Node: Property Syntax205508
22831Node: Special Properties210114
22832Node: Property Searches211804
22833Node: Property Inheritance213245
22834Node: Column View215117
22835Node: Defining columns216368
22836Node: Scope of column definitions216753
22837Node: Column attributes217812
22838Ref: Column attributes-Footnote-1222223
22839Ref: Column attributes-Footnote-2222354
22840Ref: Column attributes-Footnote-3222552
22841Node: Using column view222691
22842Ref: Turning column view on or off222857
22843Ref: Editing values223898
22844Ref: Modifying column view on-the-fly225301
22845Node: Capturing column view225673
22846Ref: Capturing column view-Footnote-1229392
22847Node: Dates and Times229529
22848Node: Timestamps230448
22849Ref: Timestamps-Footnote-1232804
22850Ref: Timestamps-Footnote-2233100
22851Node: Creating Timestamps233849
22852Node: The date/time prompt236863
22853Ref: The date/time prompt-Footnote-1241651
22854Ref: The date/time prompt-Footnote-2241822
22855Ref: The date/time prompt-Footnote-3241933
22856Ref: The date/time prompt-Footnote-4242188
22857Node: Custom time format242286
22858Node: Deadlines and Scheduling244055
22859Ref: Deadlines and Scheduling-Footnote-1247625
22860Node: Inserting deadline/schedule247788
22861Ref: Inserting deadline/schedule-Footnote-1249780
22862Ref: Inserting deadline/schedule-Footnote-2249941
22863Ref: Inserting deadline/schedule-Footnote-3250067
22864Node: Repeated tasks250193
22865Ref: Repeated tasks-Footnote-1254828
22866Ref: Repeated tasks-Footnote-2254911
22867Ref: Repeated tasks-Footnote-3255194
22868Node: Clocking Work Time255416
22869Ref: Clocking Work Time-Footnote-1256621
22870Ref: Clocking Work Time-Footnote-2256774
22871Node: Clocking commands256916
22872Ref: Clocking commands-Footnote-1262021
22873Ref: Clocking commands-Footnote-2262136
22874Ref: Clocking commands-Footnote-3262218
22875Ref: Clocking commands-Footnote-4262281
22876Node: The clock table262364
22877Ref: The clock table-Footnote-1270447
22878Ref: The clock table-Footnote-2270556
22879Ref: The clock table-Footnote-3270654
22880Node: Resolving idle time270780
22881Ref: Resolving idle time (1)270976
22882Ref: Continuous clocking274173
22883Ref: Clocking out automatically after some idle time274679
22884Ref: Resolving idle time-Footnote-1275311
22885Node: Effort Estimates275790
22886Ref: Effort Estimates-Footnote-1278747
22887Node: Timers278858
22888Node: Refiling and Archiving281077
22889Node: Refile and Copy281640
22890Ref: Refile and Copy-Footnote-1284100
22891Node: Archiving284214
22892Node: Moving subtrees284927
22893Node: Internal archiving287053
22894Node: Capture and Attachments289782
22895Node: Capture290587
22896Node: Setting up capture291111
22897Node: Using capture291474
22898Node: Capture templates293872
22899Node: Template elements295911
22900Ref: Template elements-Footnote-1303278
22901Ref: Template elements-Footnote-2303611
22902Ref: Template elements-Footnote-3303798
22903Node: Template expansion303893
22904Ref: Template expansion-Footnote-1307815
22905Ref: Template expansion-Footnote-2307906
22906Ref: Template expansion-Footnote-3308096
22907Node: Templates in contexts308195
22908Node: Attachments309036
22909Node: Attachment defaults and dispatcher310066
22910Ref: Attachment defaults and dispatcher-Footnote-1313416
22911Node: Attachment options313567
22912Node: Attachment links317586
22913Node: Automatic version-control with Git318225
22914Node: Attach from Dired318740
22915Node: RSS Feeds320104
22916Node: Agenda Views321554
22917Node: Agenda Files323961
22918Ref: Agenda Files-Footnote-1326872
22919Ref: Agenda Files-Footnote-2327016
22920Node: Agenda Dispatcher327214
22921Ref: Agenda Dispatcher-Footnote-1330094
22922Ref: Agenda Dispatcher-Footnote-2330192
22923Node: Built-in Agenda Views330298
22924Node: Weekly/daily agenda330895
22925Ref: Calendar/Diary integration332235
22926Ref: Anniversaries from BBDB334311
22927Ref: Appointment reminders336102
22928Ref: Weekly/daily agenda-Footnote-1336652
22929Ref: Weekly/daily agenda-Footnote-2336896
22930Node: Global TODO list337116
22931Node: Matching tags and properties339966
22932Node: Search view347039
22933Node: Stuck projects348686
22934Node: Presentation and Sorting350823
22935Node: Categories351800
22936Node: Time-of-day specifications352546
22937Ref: Time-of-day specifications-Footnote-1354537
22938Node: Sorting of agenda items354660
22939Node: Filtering/limiting agenda items356278
22940Ref: Filtering in the agenda356983
22941Ref: Computed tag filtering361078
22942Ref: Setting limits for the agenda362572
22943Ref: Filtering/limiting agenda items-Footnote-1364121
22944Node: Agenda Commands364673
22945Ref: Motion (1)365406
22946Ref: View/Go to Org file365609
22947Ref: Change display367115
22948Ref: Remote editing374625
22949Ref: Bulk remote editing selected entries379978
22950Ref: Calendar commands383073
22951Ref: Quit and exit384954
22952Ref: Agenda Commands-Footnote-1385316
22953Ref: Agenda Commands-Footnote-2385392
22954Ref: Agenda Commands-Footnote-3385496
22955Node: Custom Agenda Views385583
22956Node: Storing searches386235
22957Ref: Storing searches-Footnote-1389187
22958Ref: Storing searches-Footnote-2389304
22959Node: Block agenda389551
22960Node: Setting options390880
22961Node: Exporting Agenda Views394494
22962Ref: Exporting Agenda Views-Footnote-1399033
22963Ref: Exporting Agenda Views-Footnote-2399221
22964Ref: Exporting Agenda Views-Footnote-3399371
22965Ref: Exporting Agenda Views-Footnote-4399558
22966Node: Agenda Column View399640
22967Node: Markup for Rich Contents402988
22968Node: Paragraphs404286
22969Node: Emphasis and Monospace405421
22970Node: Subscripts and Superscripts406072
22971Node: Special Symbols407690
22972Ref: Special Symbols-Footnote-1409603
22973Ref: Special Symbols-Footnote-2409768
22974Node: Embedded LaTeX409865
22975Ref: Embedded LaTeX-Footnote-1410714
22976Node: LaTeX fragments410910
22977Ref: LaTeX fragments-Footnote-1413066
22978Node: Previewing LaTeX fragments413259
22979Ref: Previewing LaTeX fragments-Footnote-1414742
22980Node: CDLaTeX mode414990
22981Ref: CDLaTeX mode-Footnote-1417720
22982Node: Literal Examples417867
22983Ref: Literal Examples-Footnote-1422978
22984Ref: Literal Examples-Footnote-2423348
22985Ref: Literal Examples-Footnote-3423526
22986Ref: Literal Examples-Footnote-4423711
22987Node: Images423809
22988Ref: Images-Footnote-1424896
22989Ref: Images-Footnote-2425019
22990Node: Captions425180
22991Node: Horizontal Rules425880
22992Node: Creating Footnotes426136
22993Ref: Creating Footnotes-Footnote-1429265
22994Ref: Creating Footnotes-Footnote-2429371
22995Node: Exporting429478
22996Node: The Export Dispatcher432248
22997Node: Export Settings434966
22998Ref: Export Settings-Footnote-1443065
22999Ref: Export Settings-Footnote-2443177
23000Ref: Export Settings-Footnote-3443278
23001Node: Table of Contents443308
23002Ref: Table of Contents-Footnote-1445982
23003Node: Include Files446149
23004Ref: Include Files-Footnote-1449086
23005Node: Macro Replacement449264
23006Ref: Macro Replacement-Footnote-1453144
23007Node: Comment Lines453361
23008Ref: Comment Lines-Footnote-1454224
23009Node: ASCII/Latin-1/UTF-8 export454328
23010Ref: ASCII export commands455182
23011Ref: ASCII specific export settings455715
23012Ref: Header and sectioning structure456159
23013Ref: Quoting ASCII text456433
23014Ref: ASCII specific attributes456805
23015Ref: ASCII special blocks457082
23016Node: Beamer Export457429
23017Node: Beamer export commands458179
23018Node: Beamer specific export settings458884
23019Node: Frames and Blocks in Beamer460789
23020Ref: Frames and Blocks in Beamer-Footnote-1464161
23021Node: Beamer specific syntax464320
23022Node: Editing support466299
23023Node: A Beamer example466770
23024Node: HTML Export468024
23025Node: HTML export commands469134
23026Node: HTML specific export settings469685
23027Node: HTML doctypes471779
23028Node: HTML preamble and postamble473960
23029Node: Quoting HTML tags475155
23030Node: Headlines in HTML export475854
23031Node: Links in HTML export476449
23032Node: Tables in HTML export477919
23033Node: Images in HTML export479376
23034Node: Math formatting in HTML export480866
23035Ref: Math formatting in HTML export-Footnote-1482406
23036Ref: Math formatting in HTML export-Footnote-2482530
23037Ref: Math formatting in HTML export-Footnote-3482791
23038Node: Text areas in HTML export482963
23039Node: CSS support484108
23040Ref: CSS support-Footnote-1487760
23041Node: JavaScript support487940
23042Node: LaTeX Export491127
23043Node: LaTeX/PDF export commands492905
23044Ref: LaTeX/PDF export commands-Footnote-1494408
23045Node: LaTeX specific export settings494610
23046Node: LaTeX header and sectioning497842
23047Node: Quoting LaTeX code499959
23048Node: Tables in LaTeX export500755
23049Node: Images in LaTeX export505173
23050Node: Plain lists in LaTeX export507776
23051Node: Source blocks in LaTeX export508796
23052Node: Example blocks in LaTeX export510226
23053Node: Special blocks in LaTeX export510952
23054Node: Horizontal rules in LaTeX export512215
23055Node: Markdown Export512615
23056Ref: Markdown export commands513082
23057Ref: Header and sectioning structure (1)513519
23058Node: OpenDocument Text Export513936
23059Ref: OpenDocument Text Export-Footnote-1515042
23060Node: Pre-requisites for ODT export515191
23061Node: ODT export commands515569
23062Node: ODT specific export settings516750
23063Node: Extending ODT export517801
23064Ref: Automatically exporting to other formats518612
23065Ref: Converting between document formats519038
23066Node: Applying custom styles519580
23067Ref: Applying custom styles the easy way520112
23068Ref: Using third-party styles and templates521070
23069Node: Links in ODT export521367
23070Node: Tables in ODT export522029
23071Node: Images in ODT export524039
23072Ref: Embedding images524243
23073Ref: Embedding clickable images524560
23074Ref: Sizing and scaling of embedded images524894
23075Ref: Anchoring of images526578
23076Node: Math formatting in ODT export526900
23077Node: LaTeX math snippets527329
23078Ref: LaTeX math snippets-Footnote-1529582
23079Ref: LaTeX math snippets-Footnote-2529658
23080Node: MathML and OpenDocument formula files529703
23081Node: Labels and captions in ODT export530211
23082Node: Literal examples in ODT export531487
23083Node: Advanced topics in ODT export532328
23084Ref: Configuring a document converter532638
23085Ref: Working with OpenDocument style files533579
23086Ref: x-orgodtstyles-xml534045
23087Ref: x-orgodtcontenttemplate-xml534387
23088Ref: x-overriding-factory-styles535031
23089Ref: Creating one-off styles536275
23090Ref: Customizing tables in ODT export538279
23091Ref: Validating OpenDocument XML543139
23092Ref: Advanced topics in ODT export-Footnote-1543936
23093Ref: Advanced topics in ODT export-Footnote-2544040
23094Ref: Advanced topics in ODT export-Footnote-3544133
23095Node: Org Export544481
23096Ref: Org export commands544837
23097Node: Texinfo Export545143
23098Node: Texinfo export commands546126
23099Node: Texinfo specific export settings546751
23100Node: Texinfo file header547904
23101Node: Texinfo title and copyright page548887
23102Node: Info directory file550251
23103Node: Headings and sectioning structure550976
23104Node: Indices553006
23105Node: Quoting Texinfo code554035
23106Node: Plain lists in Texinfo export554533
23107Node: Tables in Texinfo export556259
23108Node: Images in Texinfo export556755
23109Node: Quotations in Texinfo export557393
23110Node: Special blocks in Texinfo export558346
23111Node: A Texinfo example558999
23112Node: iCalendar Export561101
23113Node: Other Built-in Back-ends565390
23114Node: Advanced Export Configuration566022
23115Ref: Hooks566234
23116Ref: Filters567157
23117Ref: Defining filters for individual files569666
23118Ref: Extending an existing back-end570472
23119Node: Export in Foreign Buffers572712
23120Node: Bare HTML573953
23121Node: Publishing574495
23122Node: Configuration575378
23123Node: Project alist576160
23124Node: Sources and destinations577302
23125Node: Selecting files578620
23126Node: Publishing action579575
23127Ref: Publishing action-Footnote-1581404
23128Node: Publishing options581567
23129Ref: Generic properties582319
23130Ref: ASCII specific properties584206
23131Ref: Beamer specific properties585806
23132Ref: HTML specific properties586371
23133Ref: LaTeX specific properties590857
23134Ref: Markdown specific properties593781
23135Ref: ODT specific properties594019
23136Ref: Texinfo specific properties594951
23137Node: Publishing links596298
23138Node: Site map597678
23139Node: Generating an index600995
23140Node: Uploading Files601787
23141Node: Sample Configuration603570
23142Node: Simple example604068
23143Node: Complex example604721
23144Node: Triggering Publication606770
23145Node: Working with Source Code607796
23146Node: Features Overview610128
23147Node: Structure of Code Blocks612882
23148Node: Using Header Arguments615392
23149Ref: System-wide header arguments616119
23150Ref: Header arguments in Org mode properties617042
23151Ref: Code block specific header arguments618870
23152Ref: Header arguments in function calls620369
23153Node: Environment of a Code Block621043
23154Ref: Passing arguments621257
23155Ref: Using sessions629127
23156Ref: Choosing a working directory630526
23157Ref: Inserting headers and footers632380
23158Node: Evaluating Code Blocks632890
23159Ref: How to evaluate source code633345
23160Ref: Limit code block evaluation636247
23161Ref: Cache results of evaluation637107
23162Ref: Evaluating Code Blocks-Footnote-1639619
23163Ref: Evaluating Code Blocks-Footnote-2639753
23164Node: Results of Evaluation639911
23165Ref: Collection640718
23166Ref: Type642179
23167Ref: Format645821
23168Ref: Handling648122
23169Ref: Post-processing648837
23170Ref: Results of Evaluation-Footnote-1650587
23171Node: Exporting Code Blocks650745
23172Node: Extracting Source Code653098
23173Ref: Header arguments654079
23174Ref: Functions657620
23175Ref: Hooks (1)657871
23176Ref: Jumping between code and Org658106
23177Node: Languages658616
23178Ref: Languages-Footnote-1661317
23179Ref: Languages-Footnote-2661475
23180Node: Editing Source Code661629
23181Node: Noweb Reference Syntax664359
23182Ref: Noweb Reference Syntax-Footnote-1670507
23183Node: Library of Babel670597
23184Node: Key bindings and Useful Functions671315
23185Node: Batch Execution673740
23186Node: Miscellaneous674523
23187Node: Completion675857
23188Node: Structure Templates677782
23189Ref: Structure Templates-Footnote-1679532
23190Node: Speed Keys679624
23191Node: Clean View680801
23192Node: Org Indent Mode682003
23193Ref: Org Indent Mode-Footnote-1683209
23194Node: Hard indentation683433
23195Ref: Hard indentation-Footnote-1684916
23196Ref: Hard indentation-Footnote-2685022
23197Node: Execute commands in the active region685166
23198Node: Dynamic Headline Numbering686178
23199Node: The Very Busy C-c C-c Key687344
23200Node: In-buffer Settings689332
23201Ref: In-buffer Settings-Footnote-1698233
23202Node: Org Syntax698431
23203Node: Documentation Access700086
23204Node: Escape Character700507
23205Node: Code Evaluation Security701368
23206Node: Interaction704235
23207Node: Cooperation704658
23208Node: Conflicts707550
23209Node: TTY Keys712152
23210Node: Protocols713754
23211Node: The store-link protocol715213
23212Node: The capture protocol716061
23213Node: The open-source protocol717225
23214Node: Org Crypt720462
23215Node: Org Mobile721999
23216Node: Setting up the staging area723355
23217Ref: Setting up the staging area-Footnote-1724595
23218Ref: Setting up the staging area-Footnote-2724802
23219Node: Pushing to the mobile application724974
23220Ref: Pushing to the mobile application-Footnote-1725985
23221Ref: Pushing to the mobile application-Footnote-2726076
23222Ref: Pushing to the mobile application-Footnote-3726443
23223Node: Pulling from the mobile application726519
23224Ref: Pulling from the mobile application-Footnote-1728832
23225Node: Hacking728885
23226Node: Hooks (2)729836
23227Node: Add-on Packages730164
23228Node: Adding Hyperlink Types730707
23229Node: Adding Export Back-ends734302
23230Node: Tables in Arbitrary Syntax735559
23231Node: Radio tables736828
23232Node: A LaTeX example738965
23233Ref: A LaTeX example-Footnote-1742817
23234Ref: A LaTeX example-Footnote-2742860
23235Ref: A LaTeX example-Footnote-3743021
23236Node: Translator functions743473
23237Node: Dynamic Blocks745649
23238Node: Special Agenda Views747895
23239Ref: Special Agenda Views-Footnote-1751606
23240Ref: Special Agenda Views-Footnote-2751813
23241Node: Speeding Up Your Agendas751945
23242Node: Extracting Agenda Information753004
23243Node: Using the Property API756809
23244Node: Using the Mapping API760164
23245Node: History and Acknowledgments764200
23246Ref: From Carsten764398
23247Ref: From Bastien767829
23248Ref: List of Contributions769961
23249Node: GNU Free Documentation License778165
23250Ref: ADDENDUM How to use this License for your documents802121
23251Node: Main Index803514
23252Node: Key Index900184
23253Node: Command and Function Index956831
23254Node: Variable Index1003731
23255
23256End Tag Table
23257
23258
23259Local Variables:
23260coding: utf-8
23261End:
23262