config

Personal configuration.
git clone git://code.dwrz.net/config
Log | Files | Refs

org.info (1157415B)


      1 This is org.info, produced by makeinfo version 6.8 from org.texi.
      2 
      3 This manual is for Org version 9.7.
      4 
      5    Copyright © 2004–2024 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 
     18 INFO-DIR-SECTION Emacs editing modes
     19 START-INFO-DIR-ENTRY
     20 * Org Mode: (org).      Outline-based notes management and organizer.
     21 END-INFO-DIR-ENTRY
     22 
     23 
     24 File: org.info,  Node: Top,  Next: Introduction,  Up: (dir)
     25 
     26 The Org Manual
     27 **************
     28 
     29 This manual is for Org version 9.7.
     30 
     31    Copyright © 2004–2024 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 * Citation handling::            create, follow and export citations.
     61 * Working with Source Code::     Export, evaluate, and tangle code blocks.
     62 * Miscellaneous::                All the rest which did not fit elsewhere.
     63 * Hacking::                      How to hack your way around.
     64 * History and Acknowledgments::  How Org came into being.
     65 * GNU Free Documentation License:: The license for this documentation.
     66 * Main Index::                   An index of Org’s concepts and features.
     67 * Key Index::                    Key bindings and where they are described.
     68 * Command and Function Index::   Command names and some internal functions.
     69 * Variable Index::               Variables mentioned in the manual.
     70 
     71 — The Detailed Node Listing —
     72 
     73 Introduction
     74 
     75 * Summary::                      Brief summary of what Org does.
     76 * Installation::                 Installing Org.
     77 * Activation::                   How to activate Org for certain buffers.
     78 * Feedback::                     Bug reports, ideas, patches, etc.
     79 * Conventions::                  Typesetting conventions used in this manual.
     80 
     81 Document Structure
     82 
     83 * Headlines::                    How to typeset Org tree headlines.
     84 * Visibility Cycling::           Show and hide, much simplified.
     85 * Motion::                       Jumping to other headlines.
     86 * Structure Editing::            Changing sequence and level of headlines.
     87 * Sparse Trees::                 Matches embedded in context.
     88 * Plain Lists::                  Additional structure within an entry.
     89 * Drawers::                      Tucking stuff away.
     90 * Blocks::                       Folding blocks.
     91 
     92 Visibility Cycling
     93 
     94 * Global and local cycling::     Cycling through various visibility states.
     95 * Initial visibility::           Setting the initial visibility state.
     96 * Catching invisible edits::     Preventing mistakes when editing invisible parts.
     97 
     98 Tables
     99 
    100 * Built-in Table Editor::        Simple tables.
    101 * Column Width and Alignment::   Overrule the automatic settings.
    102 * Column Groups::                Grouping to trigger vertical lines.
    103 * Orgtbl Mode::                  The table editor as minor mode.
    104 * The Spreadsheet::              The table editor has spreadsheet capabilities.
    105 * Org Plot::                     Plotting from Org tables.
    106 
    107 The Spreadsheet
    108 
    109 * References::                   How to refer to another field or range.
    110 * Formula syntax for Calc::      Using Calc to compute stuff.
    111 * Formula syntax for Lisp::      Writing formulas in Emacs Lisp.
    112 * Durations and time values::    How to compute durations and time values.
    113 * Field and range formulas::     Formula for specific (ranges of) fields.
    114 * Column formulas::              Formulas valid for an entire column.
    115 * Lookup functions::             Lookup functions for searching tables.
    116 * Editing and debugging formulas:: Fixing formulas.
    117 * Updating the table::           Recomputing all dependent fields.
    118 * Advanced features::            Field and column names, automatic recalculation...
    119 
    120 Hyperlinks
    121 
    122 * Link Format::                  How links in Org are formatted.
    123 * Internal Links::               Links to other places in the current file.
    124 * Radio Targets::                Make targets trigger links in plain text.
    125 * External Links::               URL-like links to the world.
    126 * Handling Links::               Creating, inserting and following.
    127 * Using Links Outside Org::      Linking from my C source code?
    128 * Link Abbreviations::           Shortcuts for writing complex links.
    129 * Search Options::               Linking to a specific location.
    130 * Custom Searches::              When the default search is not enough.
    131 
    132 TODO Items
    133 
    134 * TODO Basics::                  Marking and displaying TODO entries.
    135 * TODO Extensions::              Workflow and assignments.
    136 * Progress Logging::             Dates and notes for progress.
    137 * Priorities::                   Some things are more important than others.
    138 * Breaking Down Tasks::          Splitting a task into manageable pieces.
    139 * Checkboxes::                   Tick-off lists.
    140 
    141 TODO Extensions
    142 
    143 * Workflow states::              From TODO to DONE in steps.
    144 * TODO types::                   I do this, Fred does the rest.
    145 * Multiple sets in one file::    Mixing it all, still finding your way.
    146 * Fast access to TODO states::   Single letter selection of state.
    147 * Per-file keywords::            Different files, different requirements.
    148 * Faces for TODO keywords::      Highlighting states.
    149 * TODO dependencies::            When one task needs to wait for others.
    150 
    151 Progress Logging
    152 
    153 * Closing items::                When was this entry marked as done?
    154 * Tracking TODO state changes::  When did the status change?
    155 * Tracking your habits::         How consistent have you been?
    156 
    157 Tags
    158 
    159 * Tag Inheritance::              Tags use the tree structure of an outline.
    160 * Setting Tags::                 How to assign tags to a headline.
    161 * Tag Hierarchy::                Create a hierarchy of tags.
    162 * Tag Searches::                 Searching for combinations of tags.
    163 
    164 Properties and Columns
    165 
    166 * Property Syntax::              How properties are spelled out.
    167 * Special Properties::           Access to other Org mode features.
    168 * Property Searches::            Matching property values.
    169 * Property Inheritance::         Passing values down a tree.
    170 * Column View::                  Tabular viewing and editing.
    171 
    172 Column View
    173 
    174 * Defining columns::             The COLUMNS format property.
    175 * Using column view::            How to create and use column view.
    176 * Capturing column view::        A dynamic block for column view.
    177 
    178 Defining columns
    179 
    180 * Scope of column definitions::  Where defined, where valid?
    181 * Column attributes::            Appearance and content of a column.
    182 
    183 Dates and Times
    184 
    185 * Timestamps::                   Assigning a time to a tree entry.
    186 * Creating Timestamps::          Commands to insert timestamps.
    187 * Deadlines and Scheduling::     Planning your work.
    188 * Clocking Work Time::           Tracking how long you spend on a task.
    189 * Effort Estimates::             Planning work effort in advance.
    190 * Timers::                       Notes with a running timer.
    191 
    192 Creating Timestamps
    193 
    194 * The date/time prompt::         How Org mode helps you enter dates and times.
    195 * Custom time format::           Making dates look different.
    196 
    197 Deadlines and Scheduling
    198 
    199 * Inserting deadline/schedule::  Planning items.
    200 * Repeated tasks::               Items that show up again and again.
    201 
    202 Clocking Work Time
    203 
    204 * Clocking commands::            Starting and stopping a clock.
    205 * The clock table::              Detailed reports.
    206 * Resolving idle time::          Resolving time when you’ve been idle.
    207 
    208 Refiling and Archiving
    209 
    210 * Refile and Copy::              Moving/copying a tree from one place to another.
    211 * Archiving::                    What to do with finished products.
    212 
    213 Archiving
    214 
    215 * Moving subtrees::              Moving a tree to an archive file.
    216 * Internal archiving::           Switch off a tree but keep it in the file.
    217 
    218 Capture and Attachments
    219 
    220 * Capture::                      Capturing new stuff.
    221 * Attachments::                  Attach files to outlines.
    222 * RSS Feeds::                    Getting input from RSS feeds.
    223 
    224 Capture
    225 
    226 * Setting up capture::           Where notes will be stored.
    227 * Using capture::                Commands to invoke and terminate capture.
    228 * Capture templates::            Define the outline of different note types.
    229 
    230 Capture templates
    231 
    232 * Template elements::            What is needed for a complete template entry.
    233 * Template expansion::           Filling in information about time and context.
    234 * Templates in contexts::        Only show a template in a specific context.
    235 
    236 Attachments
    237 
    238 * Attachment defaults and dispatcher:: How to access attachment commands
    239 * Attachment options::           Configuring the attachment system
    240 * Attachment links::             Hyperlink access to attachments
    241 * Automatic version-control with Git:: Everything safely stored away
    242 * Attach from Dired::            Using dired to select an attachment
    243 
    244 Agenda Views
    245 
    246 * Agenda Files::                 Files being searched for agenda information.
    247 * Agenda Dispatcher::            Keyboard access to agenda views.
    248 * Built-in Agenda Views::        What is available out of the box?
    249 * Presentation and Sorting::     How agenda items are prepared for display.
    250 * Agenda Commands::              Remote editing of Org trees.
    251 * Custom Agenda Views::          Defining special searches and views.
    252 * Exporting Agenda Views::       Writing a view to a file.
    253 * Agenda Column View::           Using column view for collected entries.
    254 
    255 Built-in Agenda Views
    256 
    257 * Weekly/daily agenda::          The calendar page with current tasks.
    258 * Global TODO list::             All unfinished action items.
    259 * Matching tags and properties:: Structured information with fine-tuned search.
    260 * Search view::                  Find entries by searching for text.
    261 * Stuck projects::               Find projects you need to review.
    262 
    263 Presentation and Sorting
    264 
    265 * Categories::                   Not all tasks are equal.
    266 * Time-of-day specifications::   How the agenda knows the time.
    267 * Sorting of agenda items::      The order of things.
    268 * Filtering/limiting agenda items:: Dynamically narrow the agenda.
    269 
    270 Custom Agenda Views
    271 
    272 * Storing searches::             Type once, use often.
    273 * Block agenda::                 All the stuff you need in a single buffer.
    274 * Setting options::              Changing the rules.
    275 
    276 Markup for Rich Contents
    277 
    278 * Paragraphs::                   The basic unit of text.
    279 * Emphasis and Monospace::       Bold, italic, etc.
    280 * Subscripts and Superscripts::  Simple syntax for raising/lowering text.
    281 * Special Symbols::              Greek letters and other symbols.
    282 * Embedded LaTeX::            LaTeX can be freely used inside Org documents.
    283 * Literal Examples::             Source code examples with special formatting.
    284 * Images::                       Display an image.
    285 * Captions::                     Describe tables, images...
    286 * Horizontal Rules::             Make a line.
    287 * Creating Footnotes::           Edit and read footnotes.
    288 
    289 Embedded LaTeX
    290 
    291 * LaTeX fragments::           Complex formulas made easy.
    292 * Previewing LaTeX fragments:: What will this snippet look like?
    293 * CDLaTeX mode::              Speed up entering of formulas.
    294 
    295 Exporting
    296 
    297 * The Export Dispatcher::        The main interface.
    298 * Export Settings::              Common export settings.
    299 * Table of Contents::            The if and where of the table of contents.
    300 * Include Files::                Include additional files into a document.
    301 * Macro Replacement::            Use macros to create templates.
    302 * Comment Lines::                What will not be exported.
    303 * ASCII/Latin-1/UTF-8 export::   Exporting to flat files with encoding.
    304 * Beamer Export::                Producing presentations and slides.
    305 * HTML Export::                  Exporting to HTML.
    306 * LaTeX Export::              Exporting to LaTeX and processing to PDF.
    307 * Markdown Export::              Exporting to Markdown.
    308 * OpenDocument Text Export::     Exporting to OpenDocument Text.
    309 * Org Export::                   Exporting to Org.
    310 * Texinfo Export::               Exporting to Texinfo.
    311 * iCalendar Export::             Exporting to iCalendar.
    312 * Other Built-in Backends::      Exporting to a man page.
    313 * Advanced Export Configuration:: Fine-tuning the export output.
    314 * Export Region::                Author tables and lists in Org syntax.
    315 
    316 Beamer Export
    317 
    318 * Beamer export commands::       For creating Beamer documents.
    319 * Beamer specific export settings:: For customizing Beamer export.
    320 * Frames and Blocks in Beamer::  For composing Beamer slides.
    321 * Beamer specific syntax::       For using in Org documents.
    322 * Editing support::              Editing support.
    323 * A Beamer example::             A complete presentation.
    324 
    325 HTML Export
    326 
    327 * HTML export commands::         Invoking HTML export.
    328 * HTML specific export settings:: Settings for HTML export.
    329 * HTML doctypes::                Exporting various (X)HTML flavors.
    330 * HTML preamble and postamble::  Inserting preamble and postamble.
    331 * Bare HTML::                    Exporting HTML without CSS, Javascript, etc.
    332 * Quoting HTML tags::            Using direct HTML in Org files.
    333 * Headlines in HTML export::     Formatting headlines.
    334 * Links in HTML export::         Inserting and formatting links.
    335 * Tables in HTML export::        How to modify the formatting of tables.
    336 * Images in HTML export::        How to insert figures into HTML output.
    337 * Math formatting in HTML export:: Beautiful math also on the web.
    338 * Text areas in HTML export::    An alternate way to show an example.
    339 * CSS support::                  Changing the appearance of the output.
    340 * JavaScript support::           Info and folding in a web browser.
    341 
    342 LaTeX Export
    343 
    344 * LaTeX/PDF export commands:: For producing LaTeX and PDF documents.
    345 * LaTeX specific export settings:: Unique to this LaTeX backend.
    346 * LaTeX header and sectioning:: Setting up the export file structure.
    347 * Quoting LaTeX code::        Incorporating literal LaTeX code.
    348 * Tables in LaTeX export::    Options for exporting tables to LaTeX.
    349 * Images in LaTeX export::    How to insert figures into LaTeX output.
    350 * Plain lists in LaTeX export:: Attributes specific to lists.
    351 * Source blocks in LaTeX export:: Attributes specific to source code blocks.
    352 * Example blocks in LaTeX export:: Attributes specific to example blocks.
    353 * Special blocks in LaTeX export:: Attributes specific to special blocks.
    354 * Horizontal rules in LaTeX export:: Attributes specific to horizontal rules.
    355 * Verse blocks in LaTeX export:: Attributes specific to special blocks.
    356 * Quote blocks in LaTeX export:: Attributes specific to quote blocks.
    357 
    358 OpenDocument Text Export
    359 
    360 * Pre-requisites for ODT export:: Required packages.
    361 * ODT export commands::          Invoking export.
    362 * ODT specific export settings:: Configuration options.
    363 * Extending ODT export::         Producing DOC, PDF files.
    364 * Applying custom styles::       Styling the output.
    365 * Links in ODT export::          Handling and formatting links.
    366 * Tables in ODT export::         Org tables conversions.
    367 * Images in ODT export::         Inserting images.
    368 * Math formatting in ODT export:: Formatting LaTeX fragments.
    369 * Labels and captions in ODT export:: Rendering objects.
    370 * Literal examples in ODT export:: For source code and example blocks.
    371 * Advanced topics in ODT export:: For power users.
    372 
    373 Math formatting in ODT export
    374 
    375 * LaTeX math snippets::       Embedding in LaTeX format.
    376 * MathML and OpenDocument formula files:: Embedding in native format.
    377 
    378 Texinfo Export
    379 
    380 * Texinfo export commands::      Invoking commands.
    381 * Texinfo specific export settings:: Setting the environment.
    382 * Texinfo file header::          Generating the header.
    383 * Texinfo title and copyright page:: Creating preamble pages.
    384 * Info directory file::          Installing a manual in Info file hierarchy.
    385 * Headings and sectioning structure:: Building document structure.
    386 * Indices::                      Creating indices.
    387 * Quoting Texinfo code::         Incorporating literal Texinfo code.
    388 * Plain lists in Texinfo export:: List attributes.
    389 * Tables in Texinfo export::     Table attributes.
    390 * Images in Texinfo export::     Image attributes.
    391 * Quotations in Texinfo export:: Quote block attributes.
    392 * Key bindings in Texinfo export:: @kbd Texinfo command.
    393 * Special blocks in Texinfo export:: Special block attributes.
    394 * A Texinfo example::            Processing Org to Texinfo.
    395 
    396 Publishing
    397 
    398 * Configuration::                Defining projects.
    399 * Uploading Files::              How to get files up on the server.
    400 * Sample Configuration::         Example projects.
    401 * Triggering Publication::       Publication commands.
    402 
    403 Configuration
    404 
    405 * Project alist::                The central configuration variable.
    406 * Sources and destinations::     From here to there.
    407 * Selecting files::              What files are part of the project?
    408 * Publishing action::            Setting the function doing the publishing.
    409 * Publishing options::           Tweaking HTML/LaTeX export.
    410 * Publishing links::             Which links keep working after publishing?
    411 * Site map::                     Generating a list of all pages.
    412 * Generating an index::          An index that reaches across pages.
    413 
    414 Sample Configuration
    415 
    416 * Simple example::               One-component publishing.
    417 * Complex example::              A multi-component publishing example.
    418 
    419 Citation handling
    420 
    421 * Citations::
    422 * Citation export processors::
    423 * Bibliography printing::
    424 
    425 Bibliography printing
    426 
    427 * Bibliography options in the biblatex and csl export processors::
    428 
    429 Working with Source Code
    430 
    431 * Features Overview::            Enjoy the versatility of source blocks.
    432 * Structure of Code Blocks::     Code block syntax described.
    433 * Using Header Arguments::       Different ways to set header arguments.
    434 * Environment of a Code Block::  Arguments, sessions, working directory...
    435 * Evaluating Code Blocks::       Place results of evaluation in the Org buffer.
    436 * Results of Evaluation::        Choosing a results type, post-processing...
    437 * Exporting Code Blocks::        Export contents and/or results.
    438 * Extracting Source Code::       Create pure source code files.
    439 * Languages::                    List of supported code block languages.
    440 * Editing Source Code::          Language major-mode editing.
    441 * Noweb Reference Syntax::       Literate programming in Org mode.
    442 * Library of Babel::             Use and contribute to a library of useful code blocks.
    443 * Key bindings and Useful Functions:: Work quickly with code blocks.
    444 * Batch Execution::              Call functions from the command line.
    445 
    446 Miscellaneous
    447 
    448 * Completion::                   ‘M-<TAB>’ guesses completions.
    449 * Structure Templates::          Quick insertion of structural elements.
    450 * Speed Keys::                   Electric commands at the beginning of a headline.
    451 * Clean View::                   Getting rid of leading stars in the outline.
    452 * Execute commands in the active region:: Execute commands on multiple items in Org or agenda view.
    453 * Dynamic Headline Numbering::   Display and update outline numbering.
    454 * The Very Busy C-c C-c Key:: When in doubt, press ‘C-c C-c’.
    455 * In-buffer Settings::           Overview of keywords.
    456 * Regular Expressions::          Elisp regular expressions.
    457 * Org Syntax::                   Formal description of Org’s syntax.
    458 * Documentation Access::         Read documentation about current syntax.
    459 * Escape Character::             Prevent Org from interpreting your writing.
    460 * Code Evaluation Security::     Org files evaluate in-line code.
    461 * Interaction::                  With other Emacs packages.
    462 * TTY Keys::                     Using Org on a tty.
    463 * Protocols::                    External access to Emacs and Org.
    464 * Org Crypt::                    Encrypting Org files.
    465 * Org Mobile::                   Viewing and capture on a mobile device.
    466 * Drag and Drop & yank-media:: Dropping and pasting files and images
    467 
    468 Clean View
    469 
    470 * Org Indent Mode::
    471 * Hard indentation::
    472 
    473 Interaction
    474 
    475 * Cooperation::                  Packages Org cooperates with.
    476 * Conflicts::                    Packages that lead to conflicts.
    477 
    478 Protocols
    479 
    480 * The store-link protocol:: Store a link, push URL to kill-ring.
    481 * The capture protocol::  Fill a buffer with external information.
    482 * The open-source protocol:: Edit published contents.
    483 
    484 Org Mobile
    485 
    486 * Setting up the staging area::  For the mobile device.
    487 * Pushing to the mobile application:: Uploading Org files and agendas.
    488 * Pulling from the mobile application:: Integrating captured and flagged items.
    489 
    490 Hacking
    491 
    492 * Hooks::                        How to reach into Org’s internals.
    493 * Add-on Packages::              Available extensions.
    494 * Adding Hyperlink Types::       New custom link types.
    495 * Adding Export Backends::       How to write new export backends.
    496 * Tables in Arbitrary Syntax::   Orgtbl for LaTeX and other programs.
    497 * Dynamic Blocks::               Automatically filled blocks.
    498 * Special Agenda Views::         Customized views.
    499 * Speeding Up Your Agendas::     Tips on how to speed up your agendas.
    500 * Extracting Agenda Information:: Post-processing agenda information.
    501 * Using the Property API::       Writing programs that use entry properties.
    502 * Using the Mapping API::        Mapping over all or selected entries.
    503 
    504 Tables in Arbitrary Syntax
    505 
    506 * Radio tables::                 Sending and receiving radio tables.
    507 * A LaTeX example::           Step by step, almost a tutorial.
    508 * Translator functions::         Copy and modify.
    509 
    510 
    511 
    512 File: org.info,  Node: Introduction,  Next: Document Structure,  Prev: Top,  Up: Top
    513 
    514 1 Introduction
    515 **************
    516 
    517 * Menu:
    518 
    519 * Summary::                      Brief summary of what Org does.
    520 * Installation::                 Installing Org.
    521 * Activation::                   How to activate Org for certain buffers.
    522 * Feedback::                     Bug reports, ideas, patches, etc.
    523 * Conventions::                  Typesetting conventions used in this manual.
    524 
    525 
    526 File: org.info,  Node: Summary,  Next: Installation,  Up: Introduction
    527 
    528 1.1 Summary
    529 ===========
    530 
    531 Org Mode is an authoring tool and a TODO lists manager for GNU Emacs.
    532 It relies on a lightweight plain-text markup language used in files with
    533 the ‘.org’ extension.
    534 
    535    Authoring Org files is best supported by Emacs, but you can view,
    536 understand, and change them with any text editor.
    537 
    538    As an authoring tool, Org helps you write structured documents and
    539 provides exporting facilities.  Org files can also be used for literate
    540 programming and reproducible research.  As a TODO lists manager, Org
    541 helps you organize your tasks in a flexible way, from daily needs to
    542 detailed project-planning, allowing logging, multiple views on your
    543 tasks, exporting your agendas, etc.
    544 
    545    Org mode is implemented on top of Outline mode, which makes it
    546 possible to keep the content of large files well structured.  Visibility
    547 cycling and structure editing help to work with the tree.  Tables are
    548 easily created with a built-in table editor.  Plain text URL-like links
    549 connect to websites, emails, Usenet messages, BBDB entries, and any
    550 files related to the projects.
    551 
    552    Org develops organizational tasks around notes files that contain
    553 lists or information about projects as plain text.  Project planning and
    554 task management make use of metadata which is part of an outline node.
    555 Based on this data, specific entries can be extracted in queries and
    556 create dynamic _agenda views_ that also integrate the Emacs calendar and
    557 diary.  Org can be used to implement many different project planning
    558 schemes, such as David Allen’s GTD system.
    559 
    560    Org files can serve as a single source authoring system with export
    561 to many different formats such as HTML, LaTeX, Open Document, and
    562 Markdown.  New export backends can be derived from existing ones, or
    563 defined from scratch.
    564 
    565    Org files can include source code blocks, which makes Org uniquely
    566 suited for authoring technical documents with code examples.  Org source
    567 code blocks are fully functional; they can be evaluated in place and
    568 their results can be captured in the file.  This makes it possible to
    569 create a single file reproducible research compendium.
    570 
    571    Org keeps simple things simple.  When first fired up, it should feel
    572 like a straightforward, easy to use outliner.  Complexity is not
    573 imposed, but a large amount of functionality is available when needed.
    574 Org is a toolbox.  Many users actually run only a—very personal—fraction
    575 of Org’s capabilities, and know that there is more whenever they need
    576 it.
    577 
    578    All of this is achieved with strictly plain text files, the most
    579 portable and future-proof file format.  Org runs in Emacs.  Emacs is one
    580 of the most widely ported programs, so that Org mode is available on
    581 every major platform.
    582 
    583    There is a website for Org which provides links to the newest version
    584 of Org, as well as additional information, frequently asked questions
    585 (FAQ), links to tutorials, etc.  This page is located at
    586 <https://orgmode.org>.
    587 
    588    An earlier version (7.3) of this manual was available as a paperback
    589 book from the Network Theory Ltd.  publishing company, closed in 2009.
    590 
    591 
    592 File: org.info,  Node: Installation,  Next: Activation,  Prev: Summary,  Up: Introduction
    593 
    594 1.2 Installation
    595 ================
    596 
    597 Org is included in distributions of GNU Emacs, you probably do not need
    598 to install it.  Most users will simply activate Org and begin exploring
    599 its features.
    600 
    601    If, for one reason or another, you want to install Org on top of this
    602 pre-packaged version, you can use the Emacs package system or clone
    603 Org’s git repository.  We *strongly recommend* sticking to a single
    604 installation method.
    605 
    606    When installing Org on top of the pre-packaged version, please note
    607 that Org stable versions are meant to be fully compatible with the last
    608 three stable versions of Emacs but not with older Emacsen.
    609 
    610    Some Org components also depend on third-party packages available
    611 through package archives.  Org is only guaranteed to be compatible with
    612 the latest stable versions of these third-party packages.
    613 
    614 Using Emacs packaging system
    615 ----------------------------
    616 
    617 Recent Emacs distributions include a packaging system which lets you
    618 install Elisp libraries.  You can install Org from the “package menu”,
    619 with ‘M-x list-packages’.  See *note Package Menu: (emacs)Package Menu.
    620 
    621      Important: You need to do this in a session where no ‘.org’ file
    622      has been visited, i.e., where no Org built-in function have been
    623      loaded.  Otherwise autoload Org functions will mess up the
    624      installation.
    625 
    626    To avoid interference with built-in Org mode, you can use command
    627 line:
    628 
    629      emacs -Q -batch -eval "(progn (require 'package) (package-initialize) (package-refresh-contents) (package-upgrade 'org))"
    630 
    631    This approach has the advantage of isolating the upgrade process from
    632 a running Emacs session, ensuring that version conflicts can not arise.
    633 
    634 Using Org’s git repository
    635 --------------------------
    636 
    637 You can clone Org’s repository and install Org like this:
    638 
    639      $ cd ~/src/
    640      $ git clone https://git.savannah.gnu.org/git/emacs/org-mode.git
    641      $ cd org-mode/
    642      $ make autoloads
    643 
    644    Note that in this case, ‘make autoloads’ is mandatory: it defines
    645 Org’s version in ‘org-version.el’ and Org’s autoloads in
    646 ‘org-loaddefs.el’.
    647 
    648    Make sure you set the load path correctly in your Emacs init file:
    649 
    650      (add-to-list 'load-path "~/src/org-mode/lisp")
    651 
    652    You can also compile with ‘make’, generate the documentation with
    653 ‘make doc’, create a local configuration with ‘make config’ and install
    654 Org with ‘make install’.  Please run ‘make help’ to get the list of
    655 compilation/installation options.
    656 
    657    For more detailed explanations on Org’s build system, please check
    658 the Org Build System page on Worg
    659 (https://orgmode.org/worg/dev/org-build-system.html).
    660 
    661 Installing Org’s contributed packages
    662 -------------------------------------
    663 
    664 Org’s repository used to contain ‘contrib/’ directory for add-ons
    665 contributed by others.  As of Org 9.5, the directory has been moved to
    666 the dedicated org-contrib repository
    667 (https://git.sr.ht/~bzg/org-contrib), which you can install separately
    668 as a package (https://elpa.nongnu.org/nongnu/org-contrib.html) from
    669 NonGNU ELPA.
    670 
    671    There are enough valuable packages maintained outside of the Org
    672 repository.  Worg has a list of org-contrib and external packages
    673 (https://orgmode.org/worg/org-contrib/index.html), certainly it is not
    674 exhaustive.
    675 
    676 
    677 File: org.info,  Node: Activation,  Next: Feedback,  Prev: Installation,  Up: Introduction
    678 
    679 1.3 Activation
    680 ==============
    681 
    682 Org mode buffers need Font Lock to be turned on: this is the default in
    683 Emacs(1).
    684 
    685    There are compatibility issues between Org mode and some other Elisp
    686 packages (see *note Conflicts::).  Please take the time to check the
    687 list.
    688 
    689    For a better experience, the three Org commands ‘org-store-link’,
    690 ‘org-capture’ and ‘org-agenda’ ought to be accessible anywhere in Emacs,
    691 not just in Org buffers.  To that effect, you need to bind them to
    692 globally available keys, like the ones reserved for users (see *note
    693 (elisp)Key Binding Conventions::).  Here are suggested bindings, please
    694 modify the keys to your own liking in your *note personal init file:
    695 (emacs)Init File.
    696 
    697      (global-set-key (kbd "C-c l") #'org-store-link)
    698      (global-set-key (kbd "C-c a") #'org-agenda)
    699      (global-set-key (kbd "C-c c") #'org-capture)
    700 
    701    Files with the ‘.org’ extension use Org mode by default.  To turn on
    702 Org mode in a file that does not have the extension ‘.org’, make the
    703 first line of a file look like this:
    704 
    705      MY PROJECTS    -*- mode: org; -*-
    706 
    707 which selects Org mode for this buffer no matter what the file’s name
    708 is.  See also the variable ‘org-insert-mode-line-in-empty-file’.
    709 
    710    Many commands in Org work on the region if the region is _active_.
    711 To make use of this, you need to have Transient Mark mode turned on,
    712 which is the default.  If you do not like it, you can create an active
    713 region by using the mouse to select a region, or pressing ‘C-<SPC>’
    714 twice before moving point.
    715 
    716    ---------- Footnotes ----------
    717 
    718    (1) If you do not use Font Lock globally turn it on in Org buffer
    719 with ‘(add-hook 'org-mode-hook #'turn-on-font-lock)’.
    720 
    721 
    722 File: org.info,  Node: Feedback,  Next: Conventions,  Prev: Activation,  Up: Introduction
    723 
    724 1.4 Feedback
    725 ============
    726 
    727 If you find problems with Org, or if you have questions, remarks, or
    728 ideas about it, please send an email to the Org mailing list
    729 <mailto:emacs-orgmode@gnu.org>.  You can subscribe to the list from this
    730 web page (https://lists.gnu.org/mailman/listinfo/emacs-orgmode).  If you
    731 are not a member of the mailing list, your mail will be passed to the
    732 list after a moderator has approved it(1).  We ask you to read and
    733 respect the GNU Kind Communications Guidelines
    734 (https://www.gnu.org/philosophy/kind-communication.html) when sending
    735 messages on this mailing list.  Please allow up to one month for the
    736 response and followup if no response is received on the bug report.
    737 
    738    For bug reports, please first try to reproduce the bug with the
    739 latest version of Org available—if you are running an outdated version,
    740 it is quite possible that the bug has been fixed already.  If the bug
    741 persists, prepare a report and provide as much information as possible,
    742 including the version information of Emacs (‘M-x emacs-version’) and Org
    743 (‘M-x org-version’), as well as the Org related setup in the Emacs init
    744 file.  The easiest way to do this is to use the command
    745 
    746      M-x org-submit-bug-report <RET>
    747 
    748 which puts all this information into an Emacs mail buffer so that you
    749 only need to add your description.  If you are not sending the Email
    750 from within Emacs, please copy and paste the content into your Email
    751 program.
    752 
    753    Sometimes you might face a problem due to an error in your Emacs or
    754 Org mode setup.  Before reporting a bug, it is very helpful to start
    755 Emacs with minimal customizations and reproduce the problem.  Doing so
    756 often helps you determine if the problem is with your customization or
    757 with Org mode itself.  You can start a typical minimal session with a
    758 command like the example below.
    759 
    760      $ emacs -Q -l /path/to/minimal-org.el
    761 
    762    However if you are using Org mode as distributed with Emacs, a
    763 minimal setup is not necessary.  In that case it is sufficient to start
    764 Emacs as ‘emacs -Q’.  The ‘minimal-org.el’ setup file can have contents
    765 as shown below.
    766 
    767      ;;; Minimal setup to load latest `org-mode'.
    768 
    769      ;; Activate debugging.
    770      (setq debug-on-error t
    771            debug-on-signal nil
    772            debug-on-quit nil)
    773 
    774      ;; Add latest Org mode to load path.
    775      (add-to-list 'load-path (expand-file-name "/path/to/org-mode/lisp"))
    776 
    777    If you are using Org mode version from Git repository, you can start
    778 minimal session using make.
    779 
    780      # Bare Emacs
    781      make repro
    782      # or pass extra arguments
    783      make repro REPRO_ARGS="-l /path/to/minimal/config.el /tmp/bug.org"
    784 
    785    If an error occurs, a “backtrace” can be very useful—see below on how
    786 to create one.  Often a small example file helps, along with clear
    787 information about:
    788 
    789   1. What exactly did you do?
    790   2. What did you expect to happen?
    791   3. What happened instead?
    792 
    793    If you experience degraded performance, you can record a “profile”
    794 and share it on the Org mailing list.  See below for the instructions
    795 how to record a useful profile.
    796 
    797    Thank you for helping to improve this program.
    798 
    799 How to create a useful backtrace
    800 --------------------------------
    801 
    802 If working with Org produces an error with a message you do not
    803 understand, you may have hit a bug.  The best way to report this is by
    804 providing, in addition to what was mentioned above, a backtrace.  This
    805 is information from the built-in debugger about where and how the error
    806 occurred.  Here is how to produce a useful backtrace:
    807 
    808   1. Reload uncompiled versions of all Org mode Lisp files.  The
    809      backtrace contains much more information if it is produced with
    810      uncompiled code.  To do this, use
    811 
    812           C-u M-x org-reload <RET>
    813 
    814      or, from the menu: Org → Refresh/Reload → Reload Org uncompiled.
    815 
    816   2. Then, activate the debugger:
    817 
    818           M-x toggle-debug-on-error <RET>
    819 
    820      or, from the menu: Options → Enter Debugger on Error.
    821 
    822   3. Do whatever you have to do to hit the error.  Do not forget to
    823      document the steps you take.
    824 
    825   4. When you hit the error, a ‘*Backtrace*’ buffer appears on the
    826      screen.  Save this buffer to a file—for example using ‘C-x C-w’—and
    827      attach it to your bug report.
    828 
    829 How to profile Org performance
    830 ------------------------------
    831 
    832 Sometimes, Org is becoming slow for no apparent reason.  Such slowdown
    833 is often caused by interaction between third-party packages and Org
    834 mode.  However, identifying the root cause is not always
    835 straightforward.
    836 
    837    Emacs is able to record performance statistics, which can then be
    838 used to find out which functions are taking most of the time to execute.
    839 To record the statistics, one can use so-called profiler.  To use the
    840 Emacs profiler, we recommend the following steps:
    841 
    842   1. Make sure that no profiler is currently active:
    843 
    844           M-x profiler-stop <RET>
    845 
    846   2. Start a new CPU profiler session:
    847 
    848           M-x profiler-start <RET> cpu <RET>
    849 
    850   3. Use Emacs as usual, performing the actions that are deemed slow.
    851 
    852   4. Display and examine the recorded performance statistics:
    853 
    854           M-x profiler-report <RET>
    855 
    856      This command will display a summary of the commands and functions
    857      that have been executed between ‘profiler-start’ and
    858      ‘profiler-report’ invocations, with command taking most of the time
    859      displayed on top.
    860 
    861      ‘<TAB>’ key can be used to fold and unfold lines in the profiler
    862      buffer.  The child items revealed upon unfolding are the functions
    863      and commands called by the unfolded parent.
    864 
    865      The root causes are often buried deep inside sub-children items in
    866      the profiler.  You can press ‘B’
    867      (‘profiler-report-render-reversed-calltree’) to quickly reveal the
    868      actual function/command that takes most of the time to run.
    869 
    870      Pressing ‘C’ ‘profiler-report-render-calltree’ will recover the
    871      original view.
    872 
    873   5. If you need further help, you can share the statistics data.
    874 
    875      Just save the data by issuing
    876 
    877           M-x profiler-report-write-profile <RET>
    878           /path/to/profile-file-to-be-saved <RET>
    879 
    880      Then, you can attached the saved file to your email to the Org
    881      mailing list, alongside with details about what you did to trigger
    882      the slowdown.
    883 
    884      Note that the saved statistics will only contain the function names
    885      and how long their execution takes.  No private data will be
    886      recorded.
    887 
    888    ---------- Footnotes ----------
    889 
    890    (1) Please consider subscribing to the mailing list in order to
    891 minimize the work the mailing list moderators have to do.
    892 
    893 
    894 File: org.info,  Node: Conventions,  Prev: Feedback,  Up: Introduction
    895 
    896 1.5 Typesetting Conventions Used in this Manual
    897 ===============================================
    898 
    899 TODO keywords, tags, properties, etc.
    900 -------------------------------------
    901 
    902 Org uses various syntactical elements: TODO keywords, tags, property
    903 names, keywords, blocks, etc.  In this manual we use the following
    904 conventions:
    905 
    906 ‘TODO’
    907 ‘WAITING’
    908      TODO keywords are written with all capitals, even if they are
    909      user-defined.
    910 
    911 ‘boss’
    912 ‘ARCHIVE’
    913      Tags are case-sensitive.  User-defined tags are usually written in
    914      lowercase; built-in tags with special meaning are written as they
    915      should appear in the document, usually with all capitals.
    916 
    917 ‘Release’
    918 ‘PRIORITY’
    919      User-defined properties are capitalized; built-in properties with
    920      special meaning are written with all capitals.
    921 
    922 ‘TITLE’
    923 ‘BEGIN’ ... ‘END’
    924      Keywords and blocks are written in uppercase to enhance their
    925      readability, but you can use lowercase in your Org files.
    926 
    927 Key bindings and commands
    928 -------------------------
    929 
    930 The manual lists both the keys and the corresponding commands for
    931 accessing a functionality.  Org mode often uses the same key for
    932 different functions, depending on context.  The command that is bound to
    933 such keys has a generic name, like ‘org-metaright’.  In the manual we
    934 will, wherever possible, give the function that is internally called by
    935 the generic command.  For example, in the chapter on document structure,
    936 ‘M-<RIGHT>’ will be listed to call ‘org-do-demote’, while in the chapter
    937 on tables, it will be listed to call ‘org-table-move-column-right’.
    938 
    939 
    940 File: org.info,  Node: Document Structure,  Next: Tables,  Prev: Introduction,  Up: Top
    941 
    942 2 Document Structure
    943 ********************
    944 
    945 Org is an outliner.  Outlines allow a document to be organized in a
    946 hierarchical structure, which, least for me, is the best representation
    947 of notes and thoughts.  An overview of this structure is achieved by
    948 folding, i.e., hiding large parts of the document to show only the
    949 general document structure and the parts currently being worked on.  Org
    950 greatly simplifies the use of outlines by compressing the entire show
    951 and hide functionalities into a single command, ‘org-cycle’, which is
    952 bound to the ‘<TAB>’ key.
    953 
    954 * Menu:
    955 
    956 * Headlines::                    How to typeset Org tree headlines.
    957 * Visibility Cycling::           Show and hide, much simplified.
    958 * Motion::                       Jumping to other headlines.
    959 * Structure Editing::            Changing sequence and level of headlines.
    960 * Sparse Trees::                 Matches embedded in context.
    961 * Plain Lists::                  Additional structure within an entry.
    962 * Drawers::                      Tucking stuff away.
    963 * Blocks::                       Folding blocks.
    964 
    965 
    966 File: org.info,  Node: Headlines,  Next: Visibility Cycling,  Up: Document Structure
    967 
    968 2.1 Headlines
    969 =============
    970 
    971 Headlines define the structure of an outline tree.  Org headlines start
    972 on the left margin(1) with one or more stars followed by a space.  For
    973 example:
    974 
    975      * Top level headline
    976      ** Second level
    977      *** Third level
    978          some text
    979      *** Third level
    980          more text
    981      * Another top level headline
    982 
    983    The name defined in ‘org-footnote-section’ is reserved.  Do not use
    984 it as a title for your own headings.
    985 
    986    Some people find the many stars too noisy and would prefer an outline
    987 that has whitespace followed by a single star as headline starters.
    988 This can be achieved using an Org Indent minor mode.  See *note Clean
    989 View:: for more information.
    990 
    991    Headlines are not numbered.  However, you may want to dynamically
    992 number some, or all, of them.  See *note Dynamic Headline Numbering::.
    993 
    994    An empty line after the end of a subtree is considered part of it and
    995 is hidden when the subtree is folded.  However, if you leave at least
    996 two empty lines, one empty line remains visible after folding the
    997 subtree, in order to structure the collapsed view.  See the variable
    998 ‘org-cycle-separator-lines’ to modify this behavior.
    999 
   1000    ---------- Footnotes ----------
   1001 
   1002    (1) See the variables ‘org-special-ctrl-a/e’, ‘org-special-ctrl-k’,
   1003 and ‘org-ctrl-k-protect-subtree’ to configure special behavior of ‘C-a’,
   1004 ‘C-e’, and ‘C-k’ in headlines.  Note also that clocking only works with
   1005 headings indented less than 30 stars.
   1006 
   1007 
   1008 File: org.info,  Node: Visibility Cycling,  Next: Motion,  Prev: Headlines,  Up: Document Structure
   1009 
   1010 2.2 Visibility Cycling
   1011 ======================
   1012 
   1013 * Menu:
   1014 
   1015 * Global and local cycling::     Cycling through various visibility states.
   1016 * Initial visibility::           Setting the initial visibility state.
   1017 * Catching invisible edits::     Preventing mistakes when editing invisible parts.
   1018 
   1019 
   1020 File: org.info,  Node: Global and local cycling,  Next: Initial visibility,  Up: Visibility Cycling
   1021 
   1022 2.2.1 Global and local cycling
   1023 ------------------------------
   1024 
   1025 Outlines make it possible to hide parts of the text in the buffer.  Org
   1026 uses just two commands, bound to ‘<TAB>’ and ‘S-<TAB>’ to change the
   1027 visibility in the buffer.
   1028 
   1029 ‘<TAB>’ (‘org-cycle’)
   1030      _Subtree cycling_: Rotate current subtree among the states
   1031 
   1032           ,-> FOLDED -> CHILDREN -> SUBTREE --.
   1033           '-----------------------------------'
   1034 
   1035      Point must be on a headline for this to work(1).
   1036 
   1037 ‘S-<TAB>’ (‘org-global-cycle’)
   1038 ‘C-u <TAB>’
   1039      _Global cycling_: Rotate the entire buffer among the states
   1040 
   1041           ,-> OVERVIEW -> CONTENTS -> SHOW ALL --.
   1042           '--------------------------------------'
   1043 
   1044      When ‘S-<TAB>’ is called with a numeric prefix argument N, view
   1045      contents only up to headlines of level N.
   1046 
   1047      Note that inside tables (see *note Tables::), ‘S-<TAB>’ jumps to
   1048      the previous field instead.
   1049 
   1050      You can run global cycling using ‘<TAB>’ only if point is at the
   1051      very beginning of the buffer, but not on a headline, and
   1052      ‘org-cycle-global-at-bob’ is set to a non-‘nil’ value.
   1053 
   1054 ‘C-u C-u <TAB>’ (‘org-cycle-set-startup-visibility’)
   1055      Switch back to the startup visibility of the buffer (see *note
   1056      Initial visibility::).
   1057 
   1058 ‘C-u C-u C-u <TAB>’ (‘org-show-all’)
   1059      Show all, including drawers.
   1060 
   1061 ‘C-c C-r’ (‘org-reveal’)
   1062      Reveal context around point, showing the current entry, the
   1063      following heading and the hierarchy above.  It is useful for
   1064      working near a location that has been exposed by a sparse tree
   1065      command (see *note Sparse Trees::) or an agenda command (see *note
   1066      Agenda Commands::).  With a prefix argument, show, on each level,
   1067      all sibling headings.  With a double prefix argument, also show the
   1068      entire subtree of the parent.
   1069 
   1070 ‘C-c C-k’ (‘org-show-branches’)
   1071      Expose all the headings of the subtree, but not their bodies.
   1072 
   1073 ‘C-c <TAB>’ (‘org-show-children’)
   1074      Expose all direct children of the subtree.  With a numeric prefix
   1075      argument N, expose all children down to level N.
   1076 
   1077 ‘C-c C-x b’ (‘org-tree-to-indirect-buffer’)
   1078      Show the current subtree in an indirect buffer(2).  With a numeric
   1079      prefix argument N, go up to level N and then take that tree.  If N
   1080      is negative then go up that many levels.  With a ‘C-u’ prefix, do
   1081      not remove the previously used indirect buffer.
   1082 
   1083 ‘C-c C-x v’ (‘org-copy-visible’)
   1084      Copy the _visible_ text in the region into the kill ring.
   1085 
   1086    ---------- Footnotes ----------
   1087 
   1088    (1) See, however, the option ‘org-cycle-emulate-tab’.
   1089 
   1090    (2) The indirect buffer contains the entire buffer, but is narrowed
   1091 to the current tree.  Editing the indirect buffer also changes the
   1092 original buffer, but without affecting visibility in that buffer.  For
   1093 more information about indirect buffers, see *note GNU Emacs Manual:
   1094 (emacs)Indirect Buffers.
   1095 
   1096 
   1097 File: org.info,  Node: Initial visibility,  Next: Catching invisible edits,  Prev: Global and local cycling,  Up: Visibility Cycling
   1098 
   1099 2.2.2 Initial visibility
   1100 ------------------------
   1101 
   1102 When Emacs first visits an Org file, the global state is set to
   1103 ‘showeverything’, i.e., all file content is visible(1).  This can be
   1104 configured through the variable ‘org-startup-folded’, or on a per-file
   1105 basis by adding one of the following lines anywhere in the buffer:
   1106 
   1107      #+STARTUP: overview
   1108      #+STARTUP: content
   1109      #+STARTUP: showall
   1110      #+STARTUP: show2levels
   1111      #+STARTUP: show3levels
   1112      #+STARTUP: show4levels
   1113      #+STARTUP: show5levels
   1114      #+STARTUP: showeverything
   1115 
   1116    Furthermore, any entries with a ‘VISIBILITY’ property (see *note
   1117 Properties and Columns::) get their visibility adapted accordingly.
   1118 Allowed values for this property are ‘folded’, ‘children’, ‘content’,
   1119 and ‘all’.
   1120 
   1121 ‘C-u C-u <TAB>’ (‘org-cycle-set-startup-visibility’)
   1122      Switch back to the startup visibility of the buffer, i.e., whatever
   1123      is requested by startup options and ‘VISIBILITY’ properties in
   1124      individual entries.
   1125 
   1126    ---------- Footnotes ----------
   1127 
   1128    (1) When ‘org-agenda-inhibit-startup’ is non-‘nil’, Org does not
   1129 honor the default visibility state when first opening a file for the
   1130 agenda (see *note Speeding Up Your Agendas::).
   1131 
   1132 
   1133 File: org.info,  Node: Catching invisible edits,  Prev: Initial visibility,  Up: Visibility Cycling
   1134 
   1135 2.2.3 Catching invisible edits
   1136 ------------------------------
   1137 
   1138 Sometimes you may inadvertently edit an invisible part of the buffer and
   1139 be confused on what has been edited and how to undo the mistake.  By
   1140 default, Org prevents such edits for a limited set of user commands.
   1141 Users can control which commands are affected by customizing
   1142 ‘org-fold-catch-invisible-edits-commands’.
   1143 
   1144    The strategy used to decide if a given edit is dangerous is
   1145 controlled by ‘org-fold-catch-invisible-edits’.  See the docstring of
   1146 this option on the available strategies.  Set the option to ‘nil’ to
   1147 disable catching invisible edits completely.
   1148 
   1149 
   1150 File: org.info,  Node: Motion,  Next: Structure Editing,  Prev: Visibility Cycling,  Up: Document Structure
   1151 
   1152 2.3 Motion
   1153 ==========
   1154 
   1155 The following commands jump to other headlines in the buffer.
   1156 
   1157 ‘C-c C-n’ (‘org-next-visible-heading’)
   1158      Next heading.
   1159 
   1160 ‘C-c C-p’ (‘org-previous-visible-heading’)
   1161      Previous heading.
   1162 
   1163 ‘C-c C-f’ (‘org-forward-heading-same-level’)
   1164      Next heading same level.
   1165 
   1166 ‘C-c C-b’ (‘org-backward-heading-same-level’)
   1167      Previous heading same level.
   1168 
   1169 ‘C-c C-u’ (‘outline-up-heading’)
   1170      Backward to higher level heading.
   1171 
   1172 ‘C-c C-j’ (‘org-goto’)
   1173      Jump to a different place without changing the current outline
   1174      visibility.  Shows the document structure in a temporary buffer,
   1175      where you can use the following keys to find your destination:
   1176 
   1177      ‘<TAB>’                Cycle visibility.
   1178      ‘<DOWN>’ / ‘<UP>’      Next/previous visible headline.
   1179      ‘<RET>’                Select this location.
   1180      ‘/’                    Do a Sparse-tree search
   1181 
   1182      The following keys work if you turn off ‘org-goto-auto-isearch’
   1183 
   1184      ‘n’ / ‘p’              Next/previous visible headline.
   1185      ‘f’ / ‘b’              Next/previous headline same level.
   1186      ‘u’                    One level up.
   1187      ‘0’ ... ‘9’            Digit argument.
   1188      ‘q’                    Quit.
   1189 
   1190      See also the variable ‘org-goto-interface’.
   1191 
   1192 
   1193 File: org.info,  Node: Structure Editing,  Next: Sparse Trees,  Prev: Motion,  Up: Document Structure
   1194 
   1195 2.4 Structure Editing
   1196 =====================
   1197 
   1198 ‘M-<RET>’ (‘org-meta-return’)
   1199      Insert a new heading, item or row.
   1200 
   1201      If the command is used at the _beginning_ of a line, and if there
   1202      is a heading or a plain list item (see *note Plain Lists::) at
   1203      point, the new heading/item is created _before_ the current line.
   1204      When used at the beginning of a regular line of text, turn that
   1205      line into a heading.
   1206 
   1207      When this command is used in the middle of a line, the line is
   1208      split and the rest of the line becomes the new item or headline.
   1209      If you do not want the line to be split, customize
   1210      ‘org-M-RET-may-split-line’.
   1211 
   1212      Calling the command with a ‘C-u’ prefix unconditionally inserts a
   1213      new heading at the end of the current subtree, thus preserving its
   1214      contents.  With a double ‘C-u C-u’ prefix, the new heading is
   1215      created at the end of the parent subtree instead.
   1216 
   1217 ‘C-<RET>’ (‘org-insert-heading-respect-content’)
   1218      Insert a new heading at the end of the current subtree.
   1219 
   1220 ‘M-S-<RET>’ (‘org-insert-todo-heading’)
   1221      Insert new TODO entry with same level as current heading.  See also
   1222      the variable ‘org-treat-insert-todo-heading-as-state-change’.
   1223 
   1224 ‘C-S-<RET>’ (‘org-insert-todo-heading-respect-content’)
   1225      Insert new TODO entry with same level as current heading.  Like
   1226      ‘C-<RET>’, the new headline is inserted after the current subtree.
   1227 
   1228 ‘<TAB>’ (‘org-cycle’)
   1229      In a new entry with no text yet, the first ‘<TAB>’ demotes the
   1230      entry to become a child of the previous one.  The next ‘<TAB>’
   1231      makes it a parent, and so on, all the way to top level.  Yet
   1232      another ‘<TAB>’, and you are back to the initial level.
   1233 
   1234 ‘M-<LEFT>’ (‘org-do-promote’)
   1235 ‘M-<RIGHT>’ (‘org-do-demote’)
   1236      Promote or demote current heading by one level.
   1237 
   1238      When there is an active region—i.e., when Transient Mark mode is
   1239      active—promotion and demotion work on all headlines in the region.
   1240      To select a region of headlines, it is best to place both point and
   1241      mark at the beginning of a line, mark at the beginning of the first
   1242      headline, and point at the line just after the last headline to
   1243      change.
   1244 
   1245 ‘M-S-<LEFT>’ (‘org-promote-subtree’)
   1246      Promote the current subtree by one level.
   1247 
   1248 ‘M-S-<RIGHT>’ (‘org-demote-subtree’)
   1249      Demote the current subtree by one level.
   1250 
   1251 ‘M-<UP>’ (‘org-move-subtree-up’)
   1252      Move subtree up, i.e., swap with previous subtree of same level.
   1253 
   1254 ‘M-<DOWN>’ (‘org-move-subtree-down’)
   1255      Move subtree down, i.e., swap with next subtree of same level.
   1256 
   1257 ‘C-c @’ (‘org-mark-subtree’)
   1258      Mark the subtree at point.  Hitting repeatedly marks subsequent
   1259      subtrees of the same level as the marked subtree.
   1260 
   1261 ‘C-c C-x C-w’ (‘org-cut-subtree’)
   1262      Kill subtree, i.e., remove it from buffer but save in kill ring.
   1263      With a numeric prefix argument N, kill N sequential subtrees.
   1264 
   1265 ‘C-c C-x M-w’ (‘org-copy-subtree’)
   1266      Copy subtree to kill ring.  With a numeric prefix argument N, copy
   1267      the N sequential subtrees.
   1268 
   1269 ‘C-c C-x C-y’ (‘org-paste-subtree’)
   1270      Yank subtree from kill ring.  This does modify the level of the
   1271      subtree to make sure the tree fits in nicely at the yank position.
   1272      The yank level can also be specified with a numeric prefix
   1273      argument, or by yanking after a headline marker like ‘****’.  With
   1274      ‘C-u’ prefix, force inserting as a sibling.  With ‘C-u C-u’ prefix
   1275      argument, force inserting as a child.
   1276 
   1277 ‘C-y’ (‘org-yank’)
   1278      Depending on the variables ‘org-yank-adjusted-subtrees’ and
   1279      ‘org-yank-folded-subtrees’, Org’s internal ‘yank’ command pastes
   1280      subtrees folded and in a clever way, using the same command as ‘C-c
   1281      C-x C-y’.  With the default settings, no level adjustment takes
   1282      place, but the yanked tree is folded unless doing so would swallow
   1283      text previously visible.  Any prefix argument to this command
   1284      forces a normal ‘yank’ to be executed, with the prefix passed
   1285      along.  A good way to force a normal yank is ‘C-u C-y’.  If you use
   1286      ‘yank-pop’ after a yank, it yanks previous kill items plainly,
   1287      without adjustment and folding.
   1288 
   1289 ‘C-c C-x c’ (‘org-clone-subtree-with-time-shift’)
   1290      Clone a subtree by making a number of sibling copies of it.  You
   1291      are prompted for the number of copies to make, and you can also
   1292      specify if any timestamps in the entry should be shifted.  This can
   1293      be useful, for example, to create a number of tasks related to a
   1294      series of lectures to prepare.  For more details, see the docstring
   1295      of the command ‘org-clone-subtree-with-time-shift’.
   1296 
   1297 ‘C-c C-w’ (‘org-refile’)
   1298      Refile entry or region to a different location.  See *note Refile
   1299      and Copy::.
   1300 
   1301 ‘C-c ^’ (‘org-sort’)
   1302      Sort same-level entries.  When there is an active region, all
   1303      entries in the region are sorted.  Otherwise the children of the
   1304      current headline are sorted.  The command prompts for the sorting
   1305      method, which can be alphabetically, numerically, by time—first
   1306      timestamp with active preferred, creation time, scheduled time,
   1307      deadline time—by priority, by TODO keyword—in the sequence the
   1308      keywords have been defined in the setup—or by the value of a
   1309      property.  Reverse sorting is possible as well.  You can also
   1310      supply your own function to extract the sorting key.  With a ‘C-u’
   1311      prefix, sorting is case-sensitive.
   1312 
   1313 ‘C-x n s’ (‘org-narrow-to-subtree’)
   1314      Narrow buffer to current subtree.
   1315 
   1316 ‘C-x n b’ (‘org-narrow-to-block’)
   1317      Narrow buffer to current block.
   1318 
   1319 ‘C-x n w’ (‘widen’)
   1320      Widen buffer to remove narrowing.
   1321 
   1322 ‘C-c *’ (‘org-toggle-heading’)
   1323      Turn a normal line or plain list item into a headline—so that it
   1324      becomes a subheading at its location.  Also turn a headline into a
   1325      normal line by removing the stars.  If there is an active region,
   1326      turn all lines in the region into headlines.  If the first line in
   1327      the region was an item, turn only the item lines into headlines.
   1328      Finally, if the first line is a headline, remove the stars from all
   1329      headlines in the region.
   1330 
   1331    Note that when point is inside a table (see *note Tables::), the
   1332 Meta-Cursor keys have different functionality.
   1333 
   1334 
   1335 File: org.info,  Node: Sparse Trees,  Next: Plain Lists,  Prev: Structure Editing,  Up: Document Structure
   1336 
   1337 2.5 Sparse Trees
   1338 ================
   1339 
   1340 An important feature of Org mode is the ability to construct _sparse
   1341 trees_ for selected information in an outline tree, so that the entire
   1342 document is folded as much as possible, but the selected information is
   1343 made visible along with the headline structure above it(1).  Just try it
   1344 out and you will see immediately how it works.
   1345 
   1346    Org mode contains several commands creating such trees, all these
   1347 commands can be accessed through a dispatcher:
   1348 
   1349 ‘C-c /’ (‘org-sparse-tree’)
   1350      This prompts for an extra key to select a sparse-tree creating
   1351      command.
   1352 
   1353 ‘C-c / r’ or ‘C-c / /’ (‘org-occur’)
   1354      Prompts for a regexp (see *note Regular Expressions::) and shows a
   1355      sparse tree with all matches.  If the match is in a headline, the
   1356      headline is made visible.  If the match is in the body of an entry,
   1357      headline and body are made visible.  In order to provide minimal
   1358      context, also the full hierarchy of headlines above the match is
   1359      shown, as well as the headline following the match.  Each match is
   1360      also highlighted; the highlights disappear when the buffer is
   1361      changed by an editing command, or by pressing ‘C-c C-c’(2).  When
   1362      called with a ‘C-u’ prefix argument, previous highlights are kept,
   1363      so several calls to this command can be stacked.
   1364 
   1365 ‘M-g n’ or ‘M-g M-n’ (‘next-error’)
   1366      Jump to the next sparse tree match in this buffer.
   1367 
   1368 ‘M-g p’ or ‘M-g M-p’ (‘previous-error’)
   1369      Jump to the previous sparse tree match in this buffer.
   1370 
   1371    For frequently used sparse trees of specific search strings, you can
   1372 use the variable ‘org-agenda-custom-commands’ to define fast keyboard
   1373 access to specific sparse trees.  These commands will then be accessible
   1374 through the agenda dispatcher (see *note Agenda Dispatcher::).  For
   1375 example:
   1376 
   1377      (setq org-agenda-custom-commands
   1378            '(("f" occur-tree "FIXME")))
   1379 
   1380 defines the key ‘f’ as a shortcut for creating a sparse tree matching
   1381 the string ‘FIXME’.
   1382 
   1383    The other sparse tree commands select headings based on TODO
   1384 keywords, tags, or properties and are discussed later in this manual.
   1385 
   1386    To print a sparse tree, you can use the Emacs command
   1387 ‘ps-print-buffer-with-faces’ which does not print invisible parts of the
   1388 document.  Or you can use the command ‘C-c C-e C-v’ to export only the
   1389 visible part of the document and print the resulting file.
   1390 
   1391    ---------- Footnotes ----------
   1392 
   1393    (1) See also the variable ‘org-show-context-detail’ to decide how
   1394 much context is shown around each match.
   1395 
   1396    (2) This depends on the option ‘org-remove-highlights-with-change’.
   1397 
   1398 
   1399 File: org.info,  Node: Plain Lists,  Next: Drawers,  Prev: Sparse Trees,  Up: Document Structure
   1400 
   1401 2.6 Plain Lists
   1402 ===============
   1403 
   1404 Within an entry of the outline tree, hand-formatted lists can provide
   1405 additional structure.  They also provide a way to create lists of
   1406 checkboxes (see *note Checkboxes::).  Org supports editing such lists,
   1407 and every exporter (see *note Exporting::) can parse and format them.
   1408 
   1409    Org knows ordered lists, unordered lists, and description lists.
   1410 
   1411    • _Unordered_ list items start with ‘-’, ‘+’, or ‘*’(1) as bullets.
   1412 
   1413    • _Ordered_ list items start with a numeral followed by either a
   1414      period or a right parenthesis(2), such as ‘1.’ or ‘1)’(3) If you
   1415      want a list to start with a different value—e.g., 20—start the text
   1416      of the item with ‘[@20]’(4).  Those constructs can be used in any
   1417      item of the list in order to enforce a particular numbering.
   1418 
   1419    • _Description_ list items are unordered list items, and contain the
   1420      separator ‘::’ to distinguish the description _term_ from the
   1421      description.
   1422 
   1423    Items belonging to the same list must have the same indentation on
   1424 the first line.  In particular, if an ordered list reaches number ‘10.’,
   1425 then the 2-digit numbers must be written left-aligned with the other
   1426 numbers in the list.  An item ends before the next line that is less or
   1427 equally indented than its bullet/number.
   1428 
   1429    A list ends whenever every item has ended, which means before any
   1430 line less or equally indented than items at top level.  It also ends
   1431 before two blank lines.  In that case, all items are closed.  Here is an
   1432 example:
   1433 
   1434      * Lord of the Rings
   1435      My favorite scenes are (in this order)
   1436      1. The attack of the Rohirrim
   1437      2. Eowyn's fight with the witch king
   1438         + this was already my favorite scene in the book
   1439         + I really like Miranda Otto.
   1440      3. Peter Jackson being shot by Legolas
   1441         - on DVD only
   1442         He makes a really funny face when it happens.
   1443      8. [@8] <favorite scenes 4 to 8 are skipped for brevity>
   1444      But in the end, no individual scenes matter but the film as a whole.
   1445      Important actors in this film are:
   1446      - Elijah Wood :: He plays Frodo
   1447      - Sean Astin :: He plays Sam, Frodo's friend.  I still remember him
   1448           very well from his role as Mikey Walsh in /The Goonies/.
   1449 
   1450    Org supports these lists by tuning filling and wrapping commands to
   1451 deal with them correctly, and by exporting them properly (see *note
   1452 Exporting::).  Since indentation is what governs the structure of these
   1453 lists, many structural constructs like ‘#+BEGIN_’ blocks can be indented
   1454 to signal that they belong to a particular item.
   1455 
   1456    If you find that using a different bullet for a sub-list—than that
   1457 used for the current list-level—improves readability, customize the
   1458 variable ‘org-list-demote-modify-bullet’.  To get a greater difference
   1459 of indentation between items and theirs sub-items, customize
   1460 ‘org-list-indent-offset’.
   1461 
   1462    The following commands act on items when point is in the first line
   1463 of an item—the line with the bullet or number.  Some of them imply the
   1464 application of automatic rules to keep list structure intact.  If some
   1465 of these actions get in your way, configure ‘org-list-automatic-rules’
   1466 to disable them individually.
   1467 
   1468 ‘<TAB>’ (‘org-cycle’)
   1469      Items can be folded just like headline levels.  Normally this works
   1470      only if point is on a plain list item.  For more details, see the
   1471      variable ‘org-cycle-include-plain-lists’.  If this variable is set
   1472      to ‘integrate’, plain list items are treated like low-level
   1473      headlines.  The level of an item is then given by the indentation
   1474      of the bullet/number.  Items are always subordinate to real
   1475      headlines, however; the hierarchies remain completely separated.
   1476      In a new item with no text yet, the first ‘<TAB>’ demotes the item
   1477      to become a child of the previous one.  Subsequent ‘<TAB>’s move
   1478      the item to meaningful levels in the list and eventually get it
   1479      back to its initial position.
   1480 
   1481 ‘M-<RET>’ (‘org-insert-heading’)
   1482      Insert new item at current level.  With a prefix argument, force a
   1483      new heading (see *note Structure Editing::).  If this command is
   1484      used in the middle of an item, that item is _split_ in two, and the
   1485      second part becomes the new item(5).  If this command is executed
   1486      _before item’s body_, the new item is created _before_ the current
   1487      one.
   1488 
   1489 ‘M-S-<RET>’
   1490      Insert a new item with a checkbox (see *note Checkboxes::).
   1491 
   1492 ‘S-<UP>’
   1493 ‘S-<DOWN>’
   1494      Jump to the previous/next item in the current list, but only if
   1495      ‘org-support-shift-select’ is off(6).  If not, you can still use
   1496      paragraph jumping commands like ‘C-<UP>’ and ‘C-<DOWN>’ to quite
   1497      similar effect.
   1498 
   1499 ‘M-<UP>’
   1500 ‘M-<DOWN>’
   1501      Move the item including subitems up/down(7), i.e., swap with
   1502      previous/next item of same indentation.  If the list is ordered,
   1503      renumbering is automatic.
   1504 
   1505 ‘M-<LEFT>’
   1506 ‘M-<RIGHT>’
   1507      Decrease/increase the indentation of an item, leaving children
   1508      alone.
   1509 
   1510 ‘M-S-<LEFT>’
   1511 ‘M-S-<RIGHT>’
   1512      Decrease/increase the indentation of the item, including subitems.
   1513      Initially, the item tree is selected based on current indentation.
   1514      When these commands are executed several times in direct
   1515      succession, the initially selected region is used, even if the new
   1516      indentation would imply a different hierarchy.  To use the new
   1517      hierarchy, break the command chain by moving point.
   1518 
   1519      As a special case, using this command on the very first item of a
   1520      list moves the whole list.  This behavior can be disabled by
   1521      configuring ‘org-list-automatic-rules’.  The global indentation of
   1522      a list has no influence on the text _after_ the list.
   1523 
   1524 ‘C-c C-c’
   1525      If there is a checkbox (see *note Checkboxes::) in the item line,
   1526      toggle the state of the checkbox.  In any case, verify bullets and
   1527      indentation consistency in the whole list.
   1528 
   1529 ‘C-c -’
   1530      Cycle the entire list level through the different itemize/enumerate
   1531      bullets (‘-’, ‘+’, ‘*’, ‘1.’, ‘1)’) or a subset of them, depending
   1532      on ‘org-plain-list-ordered-item-terminator’, the type of list, and
   1533      its indentation.  With a numeric prefix argument N, select the Nth
   1534      bullet from this list.  If there is an active region when calling
   1535      this, all lines are converted to list items.  With a prefix
   1536      argument, the selected text is changed into a single item.  If the
   1537      first line already was a list item, any item marker is removed from
   1538      the list.  Finally, even without an active region, a normal line is
   1539      converted into a list item.
   1540 
   1541 ‘C-c *’
   1542      Turn a plain list item into a headline—so that it becomes a
   1543      subheading at its location.  See *note Structure Editing::, for a
   1544      detailed explanation.
   1545 
   1546 ‘C-c C-*’
   1547      Turn the whole plain list into a subtree of the current heading.
   1548      Checkboxes (see *note Checkboxes::) become ‘TODO’, respectively
   1549      ‘DONE’, keywords when unchecked, respectively checked.
   1550 
   1551 ‘S-<LEFT>’
   1552 ‘S-<RIGHT>’
   1553      This command also cycles bullet styles when point is in on the
   1554      bullet or anywhere in an item line, details depending on
   1555      ‘org-support-shift-select’.
   1556 
   1557 ‘C-c ^’
   1558      Sort the plain list.  Prompt for the sorting method: numerically,
   1559      alphabetically, by time, or by custom function.
   1560 
   1561    ---------- Footnotes ----------
   1562 
   1563    (1) When using ‘*’ as a bullet, lines must be indented so that they
   1564 are not interpreted as headlines.  Also, when you are hiding leading
   1565 stars to get a clean outline view, plain list items starting with a star
   1566 may be hard to distinguish from true headlines.  In short: even though
   1567 ‘*’ is supported, it may be better to not use it for plain list items.
   1568 
   1569    (2) You can filter out any of them by configuring
   1570 ‘org-plain-list-ordered-item-terminator’.
   1571 
   1572    (3) You can also get ‘a.’, ‘A.’, ‘a)’ and ‘A)’ by configuring
   1573 ‘org-list-allow-alphabetical’.  To minimize confusion with normal text,
   1574 those are limited to one character only.  Beyond that limit, bullets
   1575 automatically become numbers.
   1576 
   1577    (4) If there’s a checkbox in the item, the cookie must be put
   1578 _before_ the checkbox.  If you have activated alphabetical lists, you
   1579 can also use counters like ‘[@b]’.
   1580 
   1581    (5) If you do not want the item to be split, customize the variable
   1582 ‘org-M-RET-may-split-line’.
   1583 
   1584    (6) If you want to cycle around items that way, you may customize
   1585 ‘org-list-use-circular-motion’.
   1586 
   1587    (7) See ‘org-list-use-circular-motion’ for a cyclic behavior.
   1588 
   1589 
   1590 File: org.info,  Node: Drawers,  Next: Blocks,  Prev: Plain Lists,  Up: Document Structure
   1591 
   1592 2.7 Drawers
   1593 ===========
   1594 
   1595 Sometimes you want to keep information associated with an entry, but you
   1596 normally do not want to see it.  For this, Org mode has _drawers_.  They
   1597 can contain anything but a headline and another drawer.  Drawers look
   1598 like this:
   1599 
   1600      ** This is a headline
   1601      Still outside the drawer
   1602      :DRAWERNAME:
   1603      This is inside the drawer.
   1604      :END:
   1605      After the drawer.
   1606 
   1607    You can interactively insert a drawer at point by calling
   1608 ‘org-insert-drawer’, which is bound to ‘C-c C-x d’.  With an active
   1609 region, this command puts the region inside the drawer.  With a prefix
   1610 argument, this command calls non-interactive function
   1611 ‘org-insert-property-drawer’, which creates a ‘PROPERTIES’ drawer right
   1612 below the current headline.  Org mode uses this special drawer for
   1613 storing properties (see *note Properties and Columns::).  You cannot use
   1614 it for anything else.
   1615 
   1616    Completion over drawer keywords is also possible using ‘M-<TAB>’(1).
   1617 
   1618    Visibility cycling (see *note Visibility Cycling::) on the headline
   1619 hides and shows the entry, but keep the drawer collapsed to a single
   1620 line.  In order to look inside the drawer, you need to move point to the
   1621 drawer line and press ‘<TAB>’ there.
   1622 
   1623    You can also arrange for state change notes (see *note Tracking TODO
   1624 state changes::) and clock times (see *note Clocking Work Time::) to be
   1625 stored in a ‘LOGBOOK’ drawer.  If you want to store a quick note there,
   1626 in a similar way to state changes, use
   1627 
   1628 ‘C-c C-z’
   1629      Add a time-stamped note to the ‘LOGBOOK’ drawer.
   1630 
   1631    ---------- Footnotes ----------
   1632 
   1633    (1) Many desktops intercept ‘M-<TAB>’ to switch windows.  Use ‘C-M-i’
   1634 or ‘<ESC> <TAB>’ instead.
   1635 
   1636 
   1637 File: org.info,  Node: Blocks,  Prev: Drawers,  Up: Document Structure
   1638 
   1639 2.8 Blocks
   1640 ==========
   1641 
   1642 Org mode uses ‘#+BEGIN’ ... ‘#+END’ blocks for various purposes from
   1643 including source code examples (see *note Literal Examples::) to
   1644 capturing time logging information (see *note Clocking Work Time::).
   1645 These blocks can be folded and unfolded by pressing ‘<TAB>’ in the
   1646 ‘#+BEGIN’ line.  You can also get all blocks folded at startup by
   1647 configuring the variable ‘org-hide-block-startup’ or on a per-file basis
   1648 by using
   1649 
   1650      #+STARTUP: hideblocks
   1651      #+STARTUP: nohideblocks
   1652 
   1653 
   1654 File: org.info,  Node: Tables,  Next: Hyperlinks,  Prev: Document Structure,  Up: Top
   1655 
   1656 3 Tables
   1657 ********
   1658 
   1659 Org comes with a fast and intuitive table editor.  Spreadsheet-like
   1660 calculations are supported using the Emacs Calc package (see *note GNU
   1661 Emacs Calculator Manual: (calc)Top.).
   1662 
   1663 * Menu:
   1664 
   1665 * Built-in Table Editor::        Simple tables.
   1666 * Column Width and Alignment::   Overrule the automatic settings.
   1667 * Column Groups::                Grouping to trigger vertical lines.
   1668 * Orgtbl Mode::                  The table editor as minor mode.
   1669 * The Spreadsheet::              The table editor has spreadsheet capabilities.
   1670 * Org Plot::                     Plotting from Org tables.
   1671 
   1672 
   1673 File: org.info,  Node: Built-in Table Editor,  Next: Column Width and Alignment,  Up: Tables
   1674 
   1675 3.1 Built-in Table Editor
   1676 =========================
   1677 
   1678 Org makes it easy to format tables in plain ASCII.  Any line with ‘|’ as
   1679 the first non-whitespace character is considered part of a table.  ‘|’
   1680 is also the column separator(1).  Moreover, a line starting with ‘|-’ is
   1681 a horizontal rule.  It separates rows explicitly.  Rows before the first
   1682 horizontal rule are header lines.  A table might look like this:
   1683 
   1684      | Name  | Phone | Age |
   1685      |-------+-------+-----|
   1686      | Peter |  1234 |  17 |
   1687      | Anna  |  4321 |  25 |
   1688 
   1689    A table is re-aligned automatically each time you press ‘<TAB>’,
   1690 ‘<RET>’ or ‘C-c C-c’ inside the table.  ‘<TAB>’ also moves to the next
   1691 field—‘<RET>’ to the next row—and creates new table rows at the end of
   1692 the table or before horizontal lines.  The indentation of the table is
   1693 set by the first line.  Horizontal rules are automatically expanded on
   1694 every re-align to span the whole table width.  So, to create the above
   1695 table, you would only type
   1696 
   1697      |Name|Phone|Age|
   1698      |-
   1699 
   1700 and then press ‘<TAB>’ to align the table and start filling in fields.
   1701 Even faster would be to type ‘|Name|Phone|Age’ followed by ‘C-c <RET>’.
   1702 
   1703    When typing text into a field, Org treats ‘<DEL>’, ‘Backspace’, and
   1704 all character keys in a special way, so that inserting and deleting
   1705 avoids shifting other fields.  Also, when typing _immediately_ after
   1706 point was moved into a new field with ‘<TAB>’, ‘S-<TAB>’ or ‘<RET>’, the
   1707 field is automatically made blank.  If this behavior is too
   1708 unpredictable for you, configure the option
   1709 ‘org-table-auto-blank-field’.
   1710 
   1711 Creation and conversion
   1712 -----------------------
   1713 
   1714 ‘C-c |’ (‘org-table-create-or-convert-from-region’)
   1715      Convert the active region to table.  If every line contains at
   1716      least one ‘<TAB>’ character, the function assumes that the material
   1717      is tab separated.  If every line contains a comma, comma-separated
   1718      values (CSV) are assumed.  If not, lines are split at whitespace
   1719      into fields.  You can use a prefix argument to force a specific
   1720      separator: ‘C-u’ forces CSV, ‘C-u C-u’ forces ‘<TAB>’, ‘C-u C-u
   1721      C-u’ prompts for a regular expression to match the separator, and a
   1722      numeric argument N indicates that at least N consecutive spaces, or
   1723      alternatively a ‘<TAB>’ will be the separator.
   1724 
   1725      If there is no active region, this command creates an empty Org
   1726      table.  But it is easier just to start typing, like ‘| N a m e | P
   1727      h o n e | A g e <RET> | - <TAB>’.
   1728 
   1729 Re-aligning and field motion
   1730 ----------------------------
   1731 
   1732 ‘C-c C-c’ (‘org-table-align’)
   1733      Re-align the table without moving point.
   1734 
   1735 ‘<TAB>’ (‘org-table-next-field’)
   1736      Re-align the table, move to the next field.  Creates a new row if
   1737      necessary.
   1738 
   1739 ‘M-x org-table-blank-field’
   1740      Blank the current table field or active region.
   1741 
   1742 ‘S-<TAB>’ (‘org-table-previous-field’)
   1743      Re-align, move to previous field.
   1744 
   1745 ‘<RET>’ (‘org-table-next-row’)
   1746      Re-align the table and move down to next row.  Creates a new row if
   1747      necessary.  At the beginning or end of a line, ‘<RET>’ still
   1748      inserts a new line, so it can be used to split a table.
   1749 
   1750 ‘M-a’ (‘org-table-beginning-of-field’)
   1751      Move to beginning of the current table field, or on to the previous
   1752      field.
   1753 
   1754 ‘M-e’ (‘org-table-end-of-field’)
   1755      Move to end of the current table field, or on to the next field.
   1756 
   1757 Column and row editing
   1758 ----------------------
   1759 
   1760 ‘M-<LEFT>’ (‘org-table-move-column-left’)
   1761      Move the current column left.
   1762 
   1763 ‘M-<RIGHT>’ (‘org-table-move-column-right’)
   1764      Move the current column right.
   1765 
   1766 ‘M-S-<LEFT>’ (‘org-table-delete-column’)
   1767      Kill the current column.
   1768 
   1769 ‘M-S-<RIGHT>’ (‘org-table-insert-column’)
   1770      Insert a new column at point position.  Move the recent column and
   1771      all cells to the right of this column to the right.
   1772 
   1773 ‘M-<UP>’ (‘org-table-move-row-up’)
   1774      Move the current row up.
   1775 
   1776 ‘M-<DOWN>’ (‘org-table-move-row-down’)
   1777      Move the current row down.
   1778 
   1779 ‘M-S-<UP>’ (‘org-table-kill-row’)
   1780      Kill the current row or horizontal line.
   1781 
   1782 ‘S-<UP>’ (‘org-table-move-cell-up’)
   1783      Move cell up by swapping with adjacent cell.
   1784 
   1785 ‘S-<DOWN>’ (‘org-table-move-cell-down’)
   1786      Move cell down by swapping with adjacent cell.
   1787 
   1788 ‘S-<LEFT>’ (‘org-table-move-cell-left’)
   1789      Move cell left by swapping with adjacent cell.
   1790 
   1791 ‘S-<RIGHT>’ (‘org-table-move-cell-right’)
   1792      Move cell right by swapping with adjacent cell.
   1793 
   1794 ‘M-S-<DOWN>’ (‘org-table-insert-row’)
   1795      Insert a new row above the current row.  With a prefix argument,
   1796      the line is created below the current one.
   1797 
   1798 ‘C-c -’ (‘org-table-insert-hline’)
   1799      Insert a horizontal line below current row.  With a prefix
   1800      argument, the line is created above the current line.
   1801 
   1802 ‘C-c <RET>’ (‘org-table-hline-and-move’)
   1803      Insert a horizontal line below current row, and move point into the
   1804      row below that line.
   1805 
   1806 ‘C-c ^’ (‘org-table-sort-lines’)
   1807      Sort the table lines in the region.  The position of point
   1808      indicates the column to be used for sorting, and the range of lines
   1809      is the range between the nearest horizontal separator lines, or the
   1810      entire table.  If point is before the first column, you are
   1811      prompted for the sorting column.  If there is an active region, the
   1812      mark specifies the first line and the sorting column, while point
   1813      should be in the last line to be included into the sorting.  The
   1814      command prompts for the sorting type, alphabetically, numerically,
   1815      or by time.  You can sort in normal or reverse order.  You can also
   1816      supply your own key extraction and comparison functions.  When
   1817      called with a prefix argument, alphabetic sorting is
   1818      case-sensitive.
   1819 
   1820 Regions
   1821 -------
   1822 
   1823 ‘C-c C-x M-w’ (‘org-table-copy-region’)
   1824      Copy a rectangular region from a table to a special clipboard.
   1825      Point and mark determine edge fields of the rectangle.  If there is
   1826      no active region, copy just the current field.  The process ignores
   1827      horizontal separator lines.
   1828 
   1829 ‘C-c C-x C-w’ (‘org-table-cut-region’)
   1830      Copy a rectangular region from a table to a special clipboard, and
   1831      blank all fields in the rectangle.  So this is the “cut” operation.
   1832 
   1833 ‘C-c C-x C-y’ (‘org-table-paste-rectangle’)
   1834      Paste a rectangular region into a table.  The upper left corner
   1835      ends up in the current field.  All involved fields are overwritten.
   1836      If the rectangle does not fit into the present table, the table is
   1837      enlarged as needed.  The process ignores horizontal separator
   1838      lines.
   1839 
   1840 ‘M-<RET>’ (‘org-table-wrap-region’)
   1841      Split the current field at point position and move the rest to the
   1842      line below.  If there is an active region, and both point and mark
   1843      are in the same column, the text in the column is wrapped to
   1844      minimum width for the given number of lines.  A numeric prefix
   1845      argument may be used to change the number of desired lines.  If
   1846      there is no region, but you specify a prefix argument, the current
   1847      field is made blank, and the content is appended to the field
   1848      above.
   1849 
   1850 Calculations
   1851 ------------
   1852 
   1853 ‘C-c +’ (‘org-table-sum’)
   1854      Sum the numbers in the current column, or in the rectangle defined
   1855      by the active region.  The result is shown in the echo area and can
   1856      be inserted with ‘C-y’.
   1857 
   1858 ‘S-<RET>’ (‘org-table-copy-down’)
   1859      When current field is empty, copy from first non-empty field above.
   1860      When not empty, copy current field down to next row and move point
   1861      along with it.
   1862 
   1863      Depending on the variable ‘org-table-copy-increment’, integer and
   1864      time stamp field values, and fields prefixed or suffixed with a
   1865      whole number, can be incremented during copy.  Also, a ‘0’ prefix
   1866      argument temporarily disables the increment.
   1867 
   1868      This key is also used by shift-selection and related modes (see
   1869      *note Conflicts::).
   1870 
   1871 Miscellaneous
   1872 -------------
   1873 
   1874 ‘C-c `’ (‘org-table-edit-field’)
   1875      Edit the current field in a separate window.  This is useful for
   1876      fields that are not fully visible (see *note Column Width and
   1877      Alignment::).  When called with a ‘C-u’ prefix, just make the full
   1878      field visible, so that it can be edited in place.  When called with
   1879      two ‘C-u’ prefixes, make the editor window follow point through the
   1880      table and always show the current field.  The follow mode exits
   1881      automatically when point leaves the table, or when you repeat this
   1882      command with ‘C-u C-u C-c `’.
   1883 
   1884 ‘M-x org-table-import’
   1885      Import a file as a table.  The table should be TAB or whitespace
   1886      separated.  Use, for example, to import a spreadsheet table or data
   1887      from a database, because these programs generally can write
   1888      TAB-separated text files.  This command works by inserting the file
   1889      into the buffer and then converting the region to a table.  Any
   1890      prefix argument is passed on to the converter, which uses it to
   1891      determine the separator.
   1892 
   1893 ‘C-c |’ (‘org-table-create-or-convert-from-region’)
   1894      Tables can also be imported by pasting tabular text into the Org
   1895      buffer, selecting the pasted text with ‘C-x C-x’ and then using the
   1896      ‘C-c |’ command (see *note Creation and conversion::).
   1897 
   1898 ‘M-x org-table-export’
   1899      Export the table, by default as a TAB-separated file.  Use for data
   1900      exchange with, for example, spreadsheet or database programs.  The
   1901      format used to export the file can be configured in the variable
   1902      ‘org-table-export-default-format’.  You may also use properties
   1903      ‘TABLE_EXPORT_FILE’ and ‘TABLE_EXPORT_FORMAT’ to specify the file
   1904      name and the format for table export in a subtree.  Org supports
   1905      quite general formats for exported tables.  The exporter format is
   1906      the same as the format used by Orgtbl radio tables, see *note
   1907      Translator functions::, for a detailed description.
   1908 
   1909 ‘M-x org-table-header-line-mode’
   1910      Turn on the display of the first data row of the table at point in
   1911      the window header line when this first row is not visible anymore
   1912      in the buffer.  You can activate this minor mode by default by
   1913      setting the option ‘org-table-header-line-p’ to ‘t’.
   1914 
   1915 ‘M-x org-table-transpose-table-at-point’
   1916      Transpose the table at point and eliminate hlines.
   1917 
   1918    ---------- Footnotes ----------
   1919 
   1920    (1) To insert a vertical bar into a table field, use ‘\vert’ or,
   1921 inside a word ‘abc\vert{}def’.
   1922 
   1923 
   1924 File: org.info,  Node: Column Width and Alignment,  Next: Column Groups,  Prev: Built-in Table Editor,  Up: Tables
   1925 
   1926 3.2 Column Width and Alignment
   1927 ==============================
   1928 
   1929 The width of columns is automatically determined by the table editor.
   1930 The alignment of a column is determined automatically from the fraction
   1931 of number-like versus non-number fields in the column.
   1932 
   1933    Editing a field may modify alignment of the table.  Moving a
   1934 contiguous row or column—i.e., using ‘<TAB>’ or ‘<RET>’—automatically
   1935 re-aligns it.  If you want to disable this behavior, set
   1936 ‘org-table-automatic-realign’ to ‘nil’.  In any case, you can always
   1937 align manually a table:
   1938 
   1939 ‘C-c C-c’ (‘org-table-align’)
   1940      Align the current table.
   1941 
   1942    Setting the option ‘org-startup-align-all-tables’ re-aligns all
   1943 tables in a file upon visiting it.  You can also set this option on a
   1944 per-file basis with:
   1945 
   1946      #+STARTUP: align
   1947      #+STARTUP: noalign
   1948 
   1949    Sometimes a single field or a few fields need to carry more text,
   1950 leading to inconveniently wide columns.  Maybe you want to hide away
   1951 several columns or display them with a fixed width, regardless of
   1952 content, as shown in the following example.
   1953 
   1954      |---+---------------------+--------|           |---+-------…+…|
   1955      |   | <6>                 |        |           |   | <6>   …|…|
   1956      | 1 | one                 | some   |   ----\   | 1 | one   …|…|
   1957      | 2 | two                 | boring |   ----/   | 2 | two   …|…|
   1958      | 3 | This is a long text | column |           | 3 | This i…|…|
   1959      |---+---------------------+--------|           |---+-------…+…|
   1960 
   1961    To set the width of a column, one field anywhere in the column may
   1962 contain just the string ‘<N>’ where N specifies the width as a number of
   1963 characters.  You control displayed width of columns with the following
   1964 tools:
   1965 
   1966 ‘C-c <TAB>’ (‘org-table-toggle-column-width’)
   1967      Shrink or expand current column.
   1968 
   1969      If a width cookie specifies a width W for the column, shrinking it
   1970      displays the first W visible characters only.  Otherwise, the
   1971      column is shrunk to a single character.
   1972 
   1973      When called before the first column or after the last one, ask for
   1974      a list of column ranges to operate on.
   1975 
   1976 ‘C-u C-c <TAB>’ (‘org-table-shrink’)
   1977      Shrink all columns with a column width.  Expand the others.
   1978 
   1979 ‘C-u C-u C-c <TAB>’ (‘org-table-expand’)
   1980      Expand all columns.
   1981 
   1982    To see the full text of a shrunk field, hold the mouse over it: a
   1983 tool-tip window then shows the full contents of the field.
   1984 Alternatively, ‘C-h .’ (‘display-local-help’) reveals them, too.  For
   1985 convenience, any change near the shrunk part of a column expands it.
   1986 
   1987    Setting the option ‘org-startup-shrink-all-tables’ shrinks all
   1988 columns containing a width cookie in a file the moment it is visited.
   1989 You can also set this option on a per-file basis with:
   1990 
   1991      #+STARTUP: shrink
   1992 
   1993    If you would like to overrule the automatic alignment of number-rich
   1994 columns to the right and of string-rich columns to the left, you can use
   1995 ‘<r>’, ‘<c>’ or ‘<l>’ in a similar fashion.  You may also combine
   1996 alignment and field width like this: ‘<r10>’.
   1997 
   1998    Lines which only contain these formatting cookies are removed
   1999 automatically upon exporting the document.
   2000 
   2001 
   2002 File: org.info,  Node: Column Groups,  Next: Orgtbl Mode,  Prev: Column Width and Alignment,  Up: Tables
   2003 
   2004 3.3 Column Groups
   2005 =================
   2006 
   2007 When Org exports tables, it does so by default without vertical lines
   2008 because that is visually more satisfying in general.  Occasionally
   2009 however, vertical lines can be useful to structure a table into groups
   2010 of columns, much like horizontal lines can do for groups of rows.  In
   2011 order to specify column groups, you can use a special row where the
   2012 first field contains only ‘/’.  The further fields can either contain
   2013 ‘<’ to indicate that this column should start a group, ‘>’ to indicate
   2014 the end of a column, or ‘<>’ (no space between ‘<’ and ‘>’) to make a
   2015 column a group of its own.  Upon export, boundaries between column
   2016 groups are marked with vertical lines.  Here is an example:
   2017 
   2018      | N | N^2 | N^3 | N^4 | sqrt(n) | sqrt[4](N) |
   2019      |---+-----+-----+-----+---------+------------|
   2020      | / |  <  |     |  >  |       < |          > |
   2021      | 1 |  1  |  1  |  1  |       1 |          1 |
   2022      | 2 |  4  |  8  | 16  |  1.4142 |     1.1892 |
   2023      | 3 |  9  | 27  | 81  |  1.7321 |     1.3161 |
   2024      |---+-----+-----+-----+---------+------------|
   2025      #+TBLFM: $2=$1^2::$3=$1^3::$4=$1^4::$5=sqrt($1)::$6=sqrt(sqrt(($1)))
   2026 
   2027    It is also sufficient to just insert the column group starters after
   2028 every vertical line you would like to have:
   2029 
   2030      | N | N^2 | N^3 | N^4 | sqrt(n) | sqrt[4](N) |
   2031      |---+-----+-----+-----+---------+------------|
   2032      | / | <   |     |     | <       |            |
   2033 
   2034 
   2035 File: org.info,  Node: Orgtbl Mode,  Next: The Spreadsheet,  Prev: Column Groups,  Up: Tables
   2036 
   2037 3.4 The Orgtbl Minor Mode
   2038 =========================
   2039 
   2040 If you like the intuitive way the Org table editor works, you might also
   2041 want to use it in other modes like Text mode or Mail mode.  The minor
   2042 mode Orgtbl mode makes this possible.  You can always toggle the mode
   2043 with ‘M-x orgtbl-mode’.  To turn it on by default, for example in
   2044 Message mode, use
   2045 
   2046      (add-hook 'message-mode-hook #'turn-on-orgtbl)
   2047 
   2048    Furthermore, with some special setup, it is possible to maintain
   2049 tables in arbitrary syntax with Orgtbl mode.  For example, it is
   2050 possible to construct LaTeX tables with the underlying ease and power of
   2051 Orgtbl mode, including spreadsheet capabilities.  For details, see *note
   2052 Tables in Arbitrary Syntax::.
   2053 
   2054 
   2055 File: org.info,  Node: The Spreadsheet,  Next: Org Plot,  Prev: Orgtbl Mode,  Up: Tables
   2056 
   2057 3.5 The Spreadsheet
   2058 ===================
   2059 
   2060 The table editor makes use of the Emacs Calc package to implement
   2061 spreadsheet-like capabilities.  It can also evaluate Emacs Lisp forms to
   2062 derive fields from other fields.  While fully featured, Org’s
   2063 implementation is not identical to other spreadsheets.  For example, Org
   2064 knows the concept of a _column formula_ that will be applied to all
   2065 non-header fields in a column without having to copy the formula to each
   2066 relevant field.  There is also a formula debugger, and a formula editor
   2067 with features for highlighting fields in the table corresponding to the
   2068 references at point in the formula, moving these references by arrow
   2069 keys.
   2070 
   2071 * Menu:
   2072 
   2073 * References::                   How to refer to another field or range.
   2074 * Formula syntax for Calc::      Using Calc to compute stuff.
   2075 * Formula syntax for Lisp::      Writing formulas in Emacs Lisp.
   2076 * Durations and time values::    How to compute durations and time values.
   2077 * Field and range formulas::     Formula for specific (ranges of) fields.
   2078 * Column formulas::              Formulas valid for an entire column.
   2079 * Lookup functions::             Lookup functions for searching tables.
   2080 * Editing and debugging formulas:: Fixing formulas.
   2081 * Updating the table::           Recomputing all dependent fields.
   2082 * Advanced features::            Field and column names, automatic recalculation...
   2083 
   2084 
   2085 File: org.info,  Node: References,  Next: Formula syntax for Calc,  Up: The Spreadsheet
   2086 
   2087 3.5.1 References
   2088 ----------------
   2089 
   2090 To compute fields in the table from other fields, formulas must
   2091 reference other fields or ranges.  In Org, fields can be referenced by
   2092 name, by absolute coordinates, and by relative coordinates.  To find out
   2093 what the coordinates of a field are, press ‘C-c ?’ in that field, or
   2094 press ‘C-c }’ to toggle the display of a grid.
   2095 
   2096 Field references
   2097 ................
   2098 
   2099 Formulas can reference the value of another field in two ways.  Like in
   2100 any other spreadsheet, you may reference fields with a letter/number
   2101 combination like ‘B3’, meaning the second field in the third row.
   2102 However, Org prefers to use another, more general representation that
   2103 looks like this:(1)
   2104 
   2105      @ROW$COLUMN
   2106 
   2107    Column specifications can be absolute like ‘$1’, ‘$2’, ..., ‘$N’, or
   2108 relative to the current column, i.e., the column of the field which is
   2109 being computed, like ‘$+1’ or ‘$-2’.  ‘$<’ and ‘$>’ are immutable
   2110 references to the first and last column, respectively, and you can use
   2111 ‘$>>>’ to indicate the third column from the right.
   2112 
   2113    The row specification only counts data lines and ignores horizontal
   2114 separator lines, or “hlines”.  Like with columns, you can use absolute
   2115 row numbers ‘@1’, ‘@2’, ..., ‘@N’, and row numbers relative to the
   2116 current row like ‘@+3’ or ‘@-1’.  ‘@<’ and ‘@>’ are immutable references
   2117 the first and last row in the table, respectively.  You may also specify
   2118 the row relative to one of the hlines: ‘@I’ refers to the first hline,
   2119 ‘@II’ to the second, etc.  ‘@-I’ refers to the first such line above the
   2120 current line, ‘@+I’ to the first such line below the current line.  You
   2121 can also write ‘@III+2’ which is the second data line after the third
   2122 hline in the table.
   2123 
   2124    ‘@0’ and ‘$0’ refer to the current row and column, respectively,
   2125 i.e., to the row/column for the field being computed.  Also, if you omit
   2126 either the column or the row part of the reference, the current
   2127 row/column is implied.
   2128 
   2129    Org’s references with _unsigned_ numbers are fixed references in the
   2130 sense that if you use the same reference in the formula for two
   2131 different fields, the same field is referenced each time.  Org’s
   2132 references with _signed_ numbers are floating references because the
   2133 same reference operator can reference different fields depending on the
   2134 field being calculated by the formula.
   2135 
   2136    Here are a few examples:
   2137 
   2138 ‘@2$3’         2nd row, 3rd column (same as ‘C2’)
   2139 ‘$5’           column 5 in the current row (same as ‘E&’)
   2140 ‘@2’           current column, row 2
   2141 ‘@-1$-3’       field one row up, three columns to the left
   2142 ‘@-I$2’        field just under hline above current row, column 2
   2143 ‘@>$5’         field in the last row, in column 5
   2144 
   2145 Range references
   2146 ................
   2147 
   2148 You may reference a rectangular range of fields by specifying two field
   2149 references connected by two dots ‘..’.  The ends are included in the
   2150 range.  If both fields are in the current row, you may simply use
   2151 ‘$2..$7’, but if at least one field is in a different row, you need to
   2152 use the general ‘@ROW$COLUMN’ format at least for the first field, i.e.,
   2153 the reference must start with ‘@’ in order to be interpreted correctly.
   2154 Examples:
   2155 
   2156 ‘$1..$3’       first three fields in the current row
   2157 ‘$P..$Q’       range, using column names (see
   2158                *note Advanced features::)
   2159 ‘$<<<..$>>’    start in third column, continue to the last but one
   2160 ‘@2$1..@4$3’   nine fields between these two fields (same as ‘A2..C4’)
   2161 ‘@-1$-2..@-1’  3 fields in the row above, starting from 2 columns on
   2162                the left
   2163 ‘@I..II’       between first and second hline, short for ‘@I..@II’
   2164 
   2165 Range references return a vector of values that can be fed into Calc
   2166 vector functions.  Empty fields in ranges are normally suppressed, so
   2167 that the vector contains only the non-empty fields.  For other options
   2168 with the mode switches ‘E’, ‘N’ and examples, see *note Formula syntax
   2169 for Calc::.
   2170 
   2171 Field coordinates in formulas
   2172 .............................
   2173 
   2174 One of the very first actions during evaluation of Calc formulas and
   2175 Lisp formulas is to substitute ‘@#’ and ‘$#’ in the formula with the row
   2176 or column number of the field where the current result will go to.  The
   2177 traditional Lisp formula equivalents are ‘org-table-current-dline’ and
   2178 ‘org-table-current-column’.  Examples:
   2179 
   2180 ‘if(@# % 2, $#, string(""))’
   2181      Insert column number on odd rows, set field to empty on even rows.
   2182 
   2183 ‘$2 = '(identity remote(FOO, @@#$1))’
   2184      Copy text or values of each row of column 1 of the table named FOO
   2185      into column 2 of the current table.
   2186 
   2187 ‘@3 = 2 * remote(FOO, @1$$#)’
   2188      Insert the doubled value of each column of row 1 of the table named
   2189      FOO into row 3 of the current table.
   2190 
   2191 For the second and third examples, table FOO must have at least as many
   2192 rows or columns as the current table.  Note that this is inefficient(2)
   2193 for large number of rows.
   2194 
   2195 Named references
   2196 ................
   2197 
   2198 ‘$name’ is interpreted as the name of a column, parameter or constant.
   2199 Constants are defined globally through the variable
   2200 ‘org-table-formula-constants’, and locally—for the file—through a line
   2201 like this example:
   2202 
   2203      #+CONSTANTS: c=299792458. pi=3.14 eps=2.4e-6
   2204 
   2205    Also, properties (see *note Properties and Columns::) can be used as
   2206 constants in table formulas: for a property ‘Xyz’ use the name
   2207 ‘$PROP_Xyz’, and the property will be searched in the current outline
   2208 entry and in the hierarchy above it.  If you have the ‘constants.el’
   2209 package, it will also be used to resolve constants, including natural
   2210 constants like ‘$h’ for Planck’s constant, and units like ‘$km’ for
   2211 kilometers(3).  Column names and parameters can be specified in special
   2212 table lines.  These are described below, see *note Advanced features::.
   2213 All names must start with a letter, and further consist of letters and
   2214 numbers.
   2215 
   2216 Remote references
   2217 .................
   2218 
   2219 You may also reference constants, fields and ranges from a different
   2220 table, either in the current file or even in a different file.  The
   2221 syntax is
   2222 
   2223      remote(NAME,REF)
   2224 
   2225 where NAME can be the name of a table in the current file as set by a
   2226 ‘#+NAME:’ line before the table.  It can also be the ID of an entry,
   2227 even in a different file, and the reference then refers to the first
   2228 table in that entry.  REF is an absolute field or range reference as
   2229 described above for example ‘@3$3’ or ‘$somename’, valid in the
   2230 referenced table.
   2231 
   2232    When NAME has the format ‘@ROW$COLUMN’, it is substituted with the
   2233 name or ID found in this field of the current table.  For example
   2234 ‘remote($1, @@>$2)’ ⇒ ‘remote(year_2013, @@>$1)’.  The format ‘B3’ is
   2235 not supported because it can not be distinguished from a plain table
   2236 name or ID.
   2237 
   2238    ---------- Footnotes ----------
   2239 
   2240    (1) Org understands references typed by the user as ‘B4’, but it does
   2241 not use this syntax when offering a formula for editing.  You can
   2242 customize this behavior using the variable
   2243 ‘org-table-use-standard-references’.
   2244 
   2245    (2) The computation time scales as O(N^2) because table FOO is parsed
   2246 for each field to be copied.
   2247 
   2248    (3) The file ‘constants.el’ can supply the values of constants in two
   2249 different unit systems, ‘SI’ and ‘cgs’.  Which one is used depends on
   2250 the value of the variable ‘constants-unit-system’.  You can use the
   2251 ‘STARTUP’ options ‘constSI’ and ‘constcgs’ to set this value for the
   2252 current buffer.
   2253 
   2254 
   2255 File: org.info,  Node: Formula syntax for Calc,  Next: Formula syntax for Lisp,  Prev: References,  Up: The Spreadsheet
   2256 
   2257 3.5.2 Formula syntax for Calc
   2258 -----------------------------
   2259 
   2260 A formula can be any algebraic expression understood by the Emacs Calc
   2261 package.  Note that Calc has the non-standard convention that ‘/’ has
   2262 lower precedence than ‘*’, so that ‘a/b*c’ is interpreted as
   2263 ‘(a/(b*c))’.  Before evaluation by ‘calc-eval’ (see *note Calling Calc
   2264 from Your Lisp Programs: (calc)Calling Calc from Your Programs.),
   2265 variable substitution takes place according to the rules described
   2266 above.
   2267 
   2268    The range vectors can be directly fed into the Calc vector functions
   2269 like ‘vmean’ and ‘vsum’.
   2270 
   2271    A formula can contain an optional mode string after a semicolon.
   2272 This string consists of flags to influence Calc and other modes during
   2273 execution.  By default, Org uses the standard Calc modes (precision 12,
   2274 angular units degrees, fraction and symbolic modes off).  The display
   2275 format, however, has been changed to ‘(float 8)’ to keep tables compact.
   2276 The default settings can be configured using the variable
   2277 ‘org-calc-default-modes’.
   2278 
   2279 ‘p20’
   2280      Set the internal Calc calculation precision to 20 digits.
   2281 
   2282 ‘n3’, ‘s3’, ‘e2’, ‘f4’
   2283      Normal, scientific, engineering or fixed format of the result of
   2284      Calc passed back to Org.  Calc formatting is unlimited in precision
   2285      as long as the Calc calculation precision is greater.
   2286 
   2287 ‘D’, ‘R’
   2288      Degree and radian angle modes of Calc.
   2289 
   2290 ‘F’, ‘S’
   2291      Fraction and symbolic modes of Calc.
   2292 
   2293 ‘u’
   2294      Units simplification mode of Calc.  Calc is also a symbolic
   2295      calculator and is capable of working with values having a unit,
   2296      represented with numerals followed by a unit string in Org table
   2297      cells.  This mode instructs Calc to simplify the units in the
   2298      computed expression before returning the result.
   2299 
   2300 ‘T’, ‘t’, ‘U’
   2301      Duration computations in Calc or Lisp, *note Durations and time
   2302      values::.
   2303 
   2304 ‘E’
   2305      If and how to consider empty fields.  Without ‘E’ empty fields in
   2306      range references are suppressed so that the Calc vector or Lisp
   2307      list contains only the non-empty fields.  With ‘E’ the empty fields
   2308      are kept.  For empty fields in ranges or empty field references the
   2309      value ‘nan’ (not a number) is used in Calc formulas and the empty
   2310      string is used for Lisp formulas.  Add ‘N’ to use 0 instead for
   2311      both formula types.  For the value of a field the mode ‘N’ has
   2312      higher precedence than ‘E’.
   2313 
   2314 ‘N’
   2315      Interpret all fields as numbers, use 0 for non-numbers.  See the
   2316      next section to see how this is essential for computations with
   2317      Lisp formulas.  In Calc formulas it is used only occasionally
   2318      because there number strings are already interpreted as numbers
   2319      without ‘N’.
   2320 
   2321 ‘L’
   2322      Literal, for Lisp formulas only.  See the next section.
   2323 
   2324    Unless you use large integer numbers or high-precision calculation
   2325 and display for floating point numbers you may alternatively provide a
   2326 ‘printf’ format specifier to reformat the Calc result after it has been
   2327 passed back to Org instead of letting Calc already do the formatting(1).
   2328 A few examples:
   2329 
   2330 ‘$1+$2’              Sum of first and second field
   2331 ‘$1+$2;%.2f’         Same, format result to two decimals
   2332 ‘exp($2)+exp($1)’    Math functions can be used
   2333 ‘$0;%.1f’            Reformat current cell to 1 decimal
   2334 ‘($3-32)*5/9’        Degrees F → C conversion
   2335 ‘$c/$1/$cm’          Hz → cm conversion, using ‘constants.el’
   2336 ‘tan($1);Dp3s1’      Compute in degrees, precision 3, display SCI 1
   2337 ‘sin($1);Dp3%.1e’    Same, but use ‘printf’ specifier for display
   2338 ‘vmean($2..$7)’      Compute column range mean, using vector function
   2339 ‘vmean($2..$7);EN’   Same, but treat empty fields as 0
   2340 ‘taylor($3,x=7,2)’   Taylor series of $3, at x=7, second degree
   2341 
   2342    Calc also contains a complete set of logical operations (see *note
   2343 Logical Operations: (calc)Logical Operations.).  For example
   2344 
   2345 ‘if($1 < 20, teen, string(""))’
   2346      ‘"teen"’ if age ‘$1’ is less than 20, else the Org table result
   2347      field is set to empty with the empty string.
   2348 
   2349 ‘if("$1" =​= "nan" || "$2" =​= "nan", string(""), $1 + $2); E f-1’
   2350      Sum of the first two columns.  When at least one of the input
   2351      fields is empty the Org table result field is set to empty.  ‘E’ is
   2352      required to not convert empty fields to 0.  ‘f-1’ is an optional
   2353      Calc format string similar to ‘%.1f’ but leaves empty results
   2354      empty.
   2355 
   2356 ‘if(typeof(vmean($1..$7)) =​= 12, string(""), vmean($1..$7)); E’
   2357      Mean value of a range unless there is any empty field.  Every field
   2358      in the range that is empty is replaced by ‘nan’ which lets ‘vmean’
   2359      result in ‘nan’.  Then ‘typeof =’ 12= detects the ‘nan’ from
   2360      ‘vmean’ and the Org table result field is set to empty.  Use this
   2361      when the sample set is expected to never have missing values.
   2362 
   2363 ‘if("$1..$7" =​= "[]", string(""), vmean($1..$7))’
   2364      Mean value of a range with empty fields skipped.  Every field in
   2365      the range that is empty is skipped.  When all fields in the range
   2366      are empty the mean value is not defined and the Org table result
   2367      field is set to empty.  Use this when the sample set can have a
   2368      variable size.
   2369 
   2370 ‘vmean($1..$7); EN’
   2371      To complete the example before: Mean value of a range with empty
   2372      fields counting as samples with value 0.  Use this only when
   2373      incomplete sample sets should be padded with 0 to the full size.
   2374 
   2375    You can add your own Calc functions defined in Emacs Lisp with
   2376 ‘defmath’ and use them in formula syntax for Calc.
   2377 
   2378    ---------- Footnotes ----------
   2379 
   2380    (1) The printf reformatting is limited in precision because the value
   2381 passed to it is converted into an “integer” or “double”.  The “integer”
   2382 is limited in size by truncating the signed value to 32 bits.  The
   2383 “double” is limited in precision to 64 bits overall which leaves
   2384 approximately 16 significant decimal digits.
   2385 
   2386 
   2387 File: org.info,  Node: Formula syntax for Lisp,  Next: Durations and time values,  Prev: Formula syntax for Calc,  Up: The Spreadsheet
   2388 
   2389 3.5.3 Emacs Lisp forms as formulas
   2390 ----------------------------------
   2391 
   2392 It is also possible to write a formula in Emacs Lisp.  This can be
   2393 useful for string manipulation and control structures, if Calc’s
   2394 functionality is not enough.
   2395 
   2396    A formula is evaluated as a Lisp form when it starts with a
   2397 single-quote followed by an opening parenthesis.  Cell table references
   2398 are interpolated into the Lisp form before execution.  The evaluation
   2399 should return either a string or a number.  Evaluation modes and a
   2400 ‘printf’ format used to render the returned values can be specified
   2401 after a semicolon.
   2402 
   2403    By default, references are interpolated as literal Lisp strings: the
   2404 field content is replaced in the Lisp form stripped of leading and
   2405 trailing white space and surrounded in double-quotes.  For example:
   2406 
   2407      '(concat $1 $2)
   2408 
   2409 concatenates the content of columns 1 and column 2.
   2410 
   2411    When the ‘N’ flag is used, all referenced elements are parsed as
   2412 numbers and interpolated as Lisp numbers, without quotes.  Fields that
   2413 cannot be parsed as numbers are interpolated as zeros.  For example:
   2414 
   2415      '(+ $1 $2);N
   2416 
   2417 adds columns 1 and 2, equivalent to Calc’s ‘$1+$2’.  Ranges are inserted
   2418 as space-separated fields, so they can be embedded in list or vector
   2419 syntax.  For example:
   2420 
   2421      '(apply '+ '($1..$4));N
   2422 
   2423 computes the sum of columns 1 to 4, like Calc’s ‘vsum($1..$4)’.
   2424 
   2425    When the ‘L’ flag is used, all fields are interpolated literally: the
   2426 cell content is replaced in the Lisp form stripped of leading and
   2427 trailing white space and without quotes.  If a reference is intended to
   2428 be interpreted as a string by the Lisp form, the reference operator
   2429 itself should be enclosed in double-quotes, like ‘"$3"’.  The ‘L’ flag
   2430 is useful when strings and numbers are used in the same Lisp form.  For
   2431 example:
   2432 
   2433      '(substring "$1" $2 $3);L
   2434 
   2435 extracts the part of the string in column 1 between the character
   2436 positions specified in the integers in column 2 and 3 and it is easier
   2437 to read than the equivalent:
   2438 
   2439      '(substring $1 (string-to-number $2) (string-to-number $3))
   2440 
   2441    When the formula itself contains ‘;’ symbol, Org mode may incorrectly
   2442 interpret everything past ‘;’ as format specifier:
   2443 
   2444      '(concat $1 ";")
   2445 
   2446 You can put an extra tailing ‘;’ to indicate that all the earlier
   2447 instances of ‘;’ belong to the formula itself:
   2448 
   2449      '(concat $1 ";");
   2450 
   2451 
   2452 File: org.info,  Node: Durations and time values,  Next: Field and range formulas,  Prev: Formula syntax for Lisp,  Up: The Spreadsheet
   2453 
   2454 3.5.4 Durations and time values
   2455 -------------------------------
   2456 
   2457 If you want to compute time values use the ‘T’, ‘t’, or ‘U’ flag, either
   2458 in Calc formulas or Elisp formulas:
   2459 
   2460      |  Task 1 |   Task 2 |    Total |
   2461      |---------+----------+----------|
   2462      |    2:12 |     1:47 | 03:59:00 |
   2463      |    2:12 |     1:47 |    03:59 |
   2464      | 3:02:20 | -2:07:00 |     0.92 |
   2465      #+TBLFM: @2$3=$1+$2;T::@3$3=$1+$2;U::@4$3=$1+$2;t
   2466 
   2467    Input duration values must be of the form ‘HH:MM[:SS]’, where seconds
   2468 are optional.  With the ‘T’ flag, computed durations are displayed as
   2469 ‘HH:MM:SS’ (see the first formula above).  With the ‘U’ flag, seconds
   2470 are omitted so that the result is only ‘HH:MM’ (see second formula
   2471 above).  Zero-padding of the hours field depends upon the value of the
   2472 variable ‘org-table-duration-hour-zero-padding’.
   2473 
   2474    With the ‘t’ flag, computed durations are displayed according to the
   2475 value of the option ‘org-table-duration-custom-format’, which defaults
   2476 to ‘hours’ and displays the result as a fraction of hours (see the third
   2477 formula in the example above).
   2478 
   2479    Negative duration values can be manipulated as well, and integers are
   2480 considered as seconds in addition and subtraction.
   2481 
   2482 
   2483 File: org.info,  Node: Field and range formulas,  Next: Column formulas,  Prev: Durations and time values,  Up: The Spreadsheet
   2484 
   2485 3.5.5 Field and range formulas
   2486 ------------------------------
   2487 
   2488 To assign a formula to a particular field, type it directly into the
   2489 field, preceded by ‘:=’, for example ‘vsum(@II..III)’.  When you press
   2490 ‘<TAB>’ or ‘<RET>’ or ‘C-c C-c’ with point still in the field, the
   2491 formula is stored as the formula for this field, evaluated, and the
   2492 current field is replaced with the result.
   2493 
   2494    Formulas are stored in a special ‘TBLFM’ keyword located directly
   2495 below the table.  If you type the equation in the fourth field of the
   2496 third data line in the table, the formula looks like ‘@3$4=$1+$2’.  When
   2497 inserting/deleting/swapping column and rows with the appropriate
   2498 commands, _absolute references_ (but not relative ones) in stored
   2499 formulas are modified in order to still reference the same field.  To
   2500 avoid this from happening, in particular in range references, anchor
   2501 ranges at the table borders (using ‘@<’, ‘@>’, ‘$<’, ‘$>’), or at hlines
   2502 using the ‘@I’ notation.  Automatic adaptation of field references does
   2503 not happen if you edit the table structure with normal editing
   2504 commands—you must fix the formulas yourself.
   2505 
   2506    Instead of typing an equation into the field, you may also use the
   2507 following command
   2508 
   2509 ‘C-u C-c =’ (‘org-table-eval-formula’)
   2510      Install a new formula for the current field.  The command prompts
   2511      for a formula with default taken from the ‘TBLFM’ keyword, applies
   2512      it to the current field, and stores it.
   2513 
   2514    The left-hand side of a formula can also be a special expression in
   2515 order to assign the formula to a number of different fields.  There is
   2516 no keyboard shortcut to enter such range formulas.  To add them, use the
   2517 formula editor (see *note Editing and debugging formulas::) or edit the
   2518 ‘TBLFM’ keyword directly.
   2519 
   2520 ‘$2=’
   2521      Column formula, valid for the entire column.  This is so common
   2522      that Org treats these formulas in a special way, see *note Column
   2523      formulas::.
   2524 
   2525 ‘@3=’
   2526      Row formula, applies to all fields in the specified row.  ‘@>=’
   2527      means the last row.
   2528 
   2529 ‘@1$2..@4$3=’
   2530      Range formula, applies to all fields in the given rectangular
   2531      range.  This can also be used to assign a formula to some but not
   2532      all fields in a row.
   2533 
   2534 ‘$NAME=’
   2535      Named field, see *note Advanced features::.
   2536 
   2537 
   2538 File: org.info,  Node: Column formulas,  Next: Lookup functions,  Prev: Field and range formulas,  Up: The Spreadsheet
   2539 
   2540 3.5.6 Column formulas
   2541 ---------------------
   2542 
   2543 When you assign a formula to a simple column reference like ‘$3=’, the
   2544 same formula is used in all fields of that column, with the following
   2545 very convenient exceptions: (i) If the table contains horizontal
   2546 separator hlines with rows above and below, everything before the first
   2547 such hline is considered part of the table _header_ and is not modified
   2548 by column formulas.  Therefore a header is mandatory when you use column
   2549 formulas and want to add hlines to group rows, like for example to
   2550 separate a total row at the bottom from the summand rows above.  (ii)
   2551 Fields that already get a value from a field/range formula are left
   2552 alone by column formulas.  These conditions make column formulas very
   2553 easy to use.
   2554 
   2555    To assign a formula to a column, type it directly into any field in
   2556 the column, preceded by an equal sign, like ‘=$1+$2’.  When you press
   2557 ‘<TAB>’ or ‘<RET>’ or ‘C-c C-c’ with point still in the field, the
   2558 formula is stored as the formula for the current column, evaluated and
   2559 the current field replaced with the result.  If the field contains only
   2560 ‘=’, the previously stored formula for this column is used.  For each
   2561 column, Org only remembers the most recently used formula.  In the
   2562 ‘TBLFM’ keyword, column formulas look like ‘$4=$1+$2’.  The left-hand
   2563 side of a column formula can not be the name of column, it must be the
   2564 numeric column reference or ‘$>’.
   2565 
   2566    Instead of typing an equation into the field, you may also use the
   2567 following command:
   2568 
   2569 ‘C-c =’ (‘org-table-eval-formula’)
   2570      Install a new formula for the current column and replace current
   2571      field with the result of the formula.  The command prompts for a
   2572      formula, with default taken from the ‘TBLFM’ keyword, applies it to
   2573      the current field and stores it.  With a numeric prefix argument,
   2574      e.g., ‘C-5 C-c =’, the command applies it to that many consecutive
   2575      fields in the current column.
   2576 
   2577 
   2578 File: org.info,  Node: Lookup functions,  Next: Editing and debugging formulas,  Prev: Column formulas,  Up: The Spreadsheet
   2579 
   2580 3.5.7 Lookup functions
   2581 ----------------------
   2582 
   2583 Org has three predefined Emacs Lisp functions for lookups in tables.
   2584 
   2585 ‘(org-lookup-first VAL S-LIST R-LIST &optional PREDICATE)’
   2586      Searches for the first element S in list S-LIST for which
   2587           (PREDICATE VAL S)
   2588      is non-‘nil’; returns the value from the corresponding position in
   2589      list R-LIST.  The default PREDICATE is ‘equal’.  Note that the
   2590      parameters VAL and S are passed to PREDICATE in the same order as
   2591      the corresponding parameters are in the call to ‘org-lookup-first’,
   2592      where VAL precedes S-LIST.  If R-LIST is ‘nil’, the matching
   2593      element S of S-LIST is returned.
   2594 
   2595 ‘(org-lookup-last VAL S-LIST R-LIST &optional PREDICATE)’
   2596      Similar to ‘org-lookup-first’ above, but searches for the _last_
   2597      element for which PREDICATE is non-‘nil’.
   2598 
   2599 ‘(org-lookup-all VAL S-LIST R-LIST &optional PREDICATE)’
   2600      Similar to ‘org-lookup-first’, but searches for _all_ elements for
   2601      which PREDICATE is non-‘nil’, and returns _all_ corresponding
   2602      values.  This function can not be used by itself in a formula,
   2603      because it returns a list of values.  However, powerful lookups can
   2604      be built when this function is combined with other Emacs Lisp
   2605      functions.
   2606 
   2607    If the ranges used in these functions contain empty fields, the ‘E’
   2608 mode for the formula should usually be specified: otherwise empty fields
   2609 are not included in S-LIST and/or R-LIST which can, for example, result
   2610 in an incorrect mapping from an element of S-LIST to the corresponding
   2611 element of R-LIST.
   2612 
   2613    These three functions can be used to implement associative arrays,
   2614 count matching cells, rank results, group data, etc.  For practical
   2615 examples see this tutorial on Worg
   2616 (https://orgmode.org/worg/org-tutorials/org-lookups.html).
   2617 
   2618 
   2619 File: org.info,  Node: Editing and debugging formulas,  Next: Updating the table,  Prev: Lookup functions,  Up: The Spreadsheet
   2620 
   2621 3.5.8 Editing and debugging formulas
   2622 ------------------------------------
   2623 
   2624 You can edit individual formulas in the minibuffer or directly in the
   2625 field.  Org can also prepare a special buffer with all active formulas
   2626 of a table.  When offering a formula for editing, Org converts
   2627 references to the standard format (like ‘B3’ or ‘D&’) if possible.  If
   2628 you prefer to only work with the internal format (like ‘@3$2’ or ‘$4’),
   2629 configure the variable ‘org-table-use-standard-references’.
   2630 
   2631 ‘C-c =’ or ‘C-u C-c =’ (‘org-table-eval-formula’)
   2632      Edit the formula associated with the current column/field in the
   2633      minibuffer.  See *note Column formulas::, and *note Field and range
   2634      formulas::.
   2635 
   2636 ‘C-u C-u C-c =’ (‘org-table-eval-formula’)
   2637      Re-insert the active formula (either a field formula, or a column
   2638      formula) into the current field, so that you can edit it directly
   2639      in the field.  The advantage over editing in the minibuffer is that
   2640      you can use the command ‘C-c ?’.
   2641 
   2642 ‘C-c ?’ (‘org-table-field-info’)
   2643      While editing a formula in a table field, highlight the field(s)
   2644      referenced by the reference at point position in the formula.
   2645 
   2646 ‘C-c }’ (‘org-table-toggle-coordinate-overlays’)
   2647      Toggle the display of row and column numbers for a table, using
   2648      overlays.  These are updated each time the table is aligned; you
   2649      can force it with ‘C-c C-c’.
   2650 
   2651 ‘C-c {’ (‘org-table-toggle-formula-debugger’)
   2652      Toggle the formula debugger on and off.  See below.
   2653 
   2654 ‘C-c '’ (‘org-table-edit-formulas’)
   2655      Edit all formulas for the current table in a special buffer, where
   2656      the formulas are displayed one per line.  If the current field has
   2657      an active formula, point in the formula editor marks it.  While
   2658      inside the special buffer, Org automatically highlights any field
   2659      or range reference at point position.  You may edit, remove and add
   2660      formulas, and use the following commands:
   2661 
   2662      ‘C-c C-c’ or ‘C-x C-s’ (‘org-table-fedit-finish’)
   2663           Exit the formula editor and store the modified formulas.  With
   2664           ‘C-u’ prefix, also apply the new formulas to the entire table.
   2665 
   2666      ‘C-c C-q’ (‘org-table-fedit-abort’)
   2667           Exit the formula editor without installing changes.
   2668 
   2669      ‘C-c C-r’ (‘org-table-fedit-toggle-ref-type’)
   2670           Toggle all references in the formula editor between standard
   2671           (like ‘B3’) and internal (like ‘@3$2’).
   2672 
   2673      ‘<TAB>’ (‘org-table-fedit-lisp-indent’)
   2674           Pretty-print or indent Lisp formula at point.  When in a line
   2675           containing a Lisp formula, format the formula according to
   2676           Emacs Lisp rules.  Another ‘<TAB>’ collapses the formula back
   2677           again.  In the open formula, ‘<TAB>’ re-indents just like in
   2678           Emacs Lisp mode.
   2679 
   2680      ‘M-<TAB>’ (‘lisp-complete-symbol’)
   2681           Complete Lisp symbols, just like in Emacs Lisp mode.
   2682 
   2683      ‘S-<UP>’, ‘S-<DOWN>’, ‘S-<LEFT>’, ‘S-<RIGHT>’
   2684           Shift the reference at point.  For example, if the reference
   2685           is ‘B3’ and you press ‘S-<RIGHT>’, it becomes ‘C3’.  This also
   2686           works for relative references and for hline references.
   2687 
   2688      ‘M-S-<UP>’ (‘org-table-fedit-line-up’)
   2689           Move the test line for column formulas up in the Org buffer.
   2690 
   2691      ‘M-S-<DOWN>’ (‘org-table-fedit-line-down’)
   2692           Move the test line for column formulas down in the Org buffer.
   2693 
   2694      ‘M-<UP>’ (‘org-table-fedit-scroll-up’)
   2695           Scroll up the window displaying the table.
   2696 
   2697      ‘M-<DOWN>’ (‘org-table-fedit-scroll-down’)
   2698           Scroll down the window displaying the table.
   2699 
   2700      ‘C-c }’
   2701           Turn the coordinate grid in the table on and off.
   2702 
   2703    Making a table field blank does not remove the formula associated
   2704 with the field, because that is stored in a different line—the ‘TBLFM’
   2705 keyword line.  During the next recalculation, the field will be filled
   2706 again.  To remove a formula from a field, you have to give an empty
   2707 reply when prompted for the formula, or to edit the ‘TBLFM’ keyword.
   2708 
   2709    You may edit the ‘TBLFM’ keyword directly and re-apply the changed
   2710 equations with ‘C-c C-c’ in that line or with the normal recalculation
   2711 commands in the table.
   2712 
   2713 Using multiple ‘TBLFM’ lines
   2714 ............................
   2715 
   2716 You may apply the formula temporarily.  This is useful when you want to
   2717 switch the formula applied to the table.  Place multiple ‘TBLFM’
   2718 keywords right after the table, and then press ‘C-c C-c’ on the formula
   2719 to apply.  Here is an example:
   2720 
   2721      | x | y |
   2722      |---+---|
   2723      | 1 |   |
   2724      | 2 |   |
   2725      #+TBLFM: $2=$1*1
   2726      #+TBLFM: $2=$1*2
   2727 
   2728 Pressing ‘C-c C-c’ in the line of ‘#+TBLFM: $2=$1*2’ yields:
   2729 
   2730      | x | y |
   2731      |---+---|
   2732      | 1 | 2 |
   2733      | 2 | 4 |
   2734      #+TBLFM: $2=$1*1
   2735      #+TBLFM: $2=$1*2
   2736 
   2737 If you recalculate this table, with ‘C-u C-c *’, for example, you get
   2738 the following result from applying only the first ‘TBLFM’ keyword.
   2739 
   2740      | x | y |
   2741      |---+---|
   2742      | 1 | 1 |
   2743      | 2 | 2 |
   2744      #+TBLFM: $2=$1*1
   2745      #+TBLFM: $2=$1*2
   2746 
   2747 Debugging formulas
   2748 ..................
   2749 
   2750 When the evaluation of a formula leads to an error, the field content
   2751 becomes the string ‘#ERROR’.  If you want to see what is going on during
   2752 variable substitution and calculation in order to find a bug, turn on
   2753 formula debugging in the Tbl menu and repeat the calculation, for
   2754 example by pressing ‘C-u C-u C-c = <RET>’ in a field.  Detailed
   2755 information are displayed.
   2756 
   2757 
   2758 File: org.info,  Node: Updating the table,  Next: Advanced features,  Prev: Editing and debugging formulas,  Up: The Spreadsheet
   2759 
   2760 3.5.9 Updating the table
   2761 ------------------------
   2762 
   2763 Recalculation of a table is normally not automatic, but needs to be
   2764 triggered by a command.  To make recalculation at least semi-automatic,
   2765 see *note Advanced features::.
   2766 
   2767    In order to recalculate a line of a table or the entire table, use
   2768 the following commands:
   2769 
   2770 ‘C-c *’ (‘org-table-recalculate’)
   2771      Recalculate the current row by first applying the stored column
   2772      formulas from left to right, and all field/range formulas in the
   2773      current row.
   2774 
   2775 ‘C-u C-c *’ or ‘C-u C-c C-c’
   2776      Recompute the entire table, line by line.  Any lines before the
   2777      first hline are left alone, assuming that these are part of the
   2778      table header.
   2779 
   2780 ‘C-u C-u C-c *’ or ‘C-u C-u C-c C-c’ (‘org-table-iterate’)
   2781      Iterate the table by recomputing it until no further changes occur.
   2782      This may be necessary if some computed fields use the value of
   2783      other fields that are computed _later_ in the calculation sequence.
   2784 
   2785 ‘M-x org-table-recalculate-buffer-tables’
   2786      Recompute all tables in the current buffer.
   2787 
   2788 ‘M-x org-table-iterate-buffer-tables’
   2789      Iterate all tables in the current buffer, in order to converge
   2790      table-to-table dependencies.
   2791 
   2792 
   2793 File: org.info,  Node: Advanced features,  Prev: Updating the table,  Up: The Spreadsheet
   2794 
   2795 3.5.10 Advanced features
   2796 ------------------------
   2797 
   2798 If you want the recalculation of fields to happen automatically, or if
   2799 you want to be able to assign _names_(1) to fields and columns, you need
   2800 to reserve the first column of the table for special marking characters.
   2801 
   2802 ‘C-#’ (‘org-table-rotate-recalc-marks’)
   2803      Rotate the calculation mark in first column through the states ‘#’,
   2804      ‘*’, ‘!’, ‘$’.  When there is an active region, change all marks in
   2805      the region.
   2806 
   2807    Here is an example of a table that collects exam results of students
   2808 and makes use of these features:
   2809 
   2810      |---+---------+--------+--------+--------+-------+------|
   2811      |   | Student | Prob 1 | Prob 2 | Prob 3 | Total | Note |
   2812      |---+---------+--------+--------+--------+-------+------|
   2813      | ! |         |     P1 |     P2 |     P3 |   Tot |      |
   2814      | # | Maximum |     10 |     15 |     25 |    50 | 10.0 |
   2815      | ^ |         |     m1 |     m2 |     m3 |    mt |      |
   2816      |---+---------+--------+--------+--------+-------+------|
   2817      | # | Peter   |     10 |      8 |     23 |    41 |  8.2 |
   2818      | # | Sam     |      2 |      4 |      3 |     9 |  1.8 |
   2819      |---+---------+--------+--------+--------+-------+------|
   2820      |   | Average |        |        |        |  25.0 |      |
   2821      | ^ |         |        |        |        |    at |      |
   2822      | $ | max=50  |        |        |        |       |      |
   2823      |---+---------+--------+--------+--------+-------+------|
   2824      #+TBLFM: $6=vsum($P1..$P3)::$7=10*$Tot/$max;%.1f::$at=vmean(@-II..@-I);%.1f
   2825 
   2826      Important: Please note that for these special tables, recalculating
   2827      the table with ‘C-u C-c *’ only affects rows that are marked ‘#’ or
   2828      ‘*’, and fields that have a formula assigned to the field itself.
   2829      The column formulas are not applied in rows with empty first field.
   2830 
   2831    The marking characters have the following meaning:
   2832 
   2833 ‘!’
   2834      The fields in this line define names for the columns, so that you
   2835      may refer to a column as ‘$Tot’ instead of ‘$6’.
   2836 
   2837 ‘^’
   2838      This row defines names for the fields _above_ the row.  With such a
   2839      definition, any formula in the table may use ‘$m1’ to refer to the
   2840      value ‘10’.  Also, if you assign a formula to a names field, it is
   2841      stored as ‘$name = ...’.
   2842 
   2843 ‘_’
   2844      Similar to ‘^’, but defines names for the fields in the row
   2845      _below_.
   2846 
   2847 ‘$’
   2848      Fields in this row can define _parameters_ for formulas.  For
   2849      example, if a field in a ‘$’ row contains ‘max=50’, then formulas
   2850      in this table can refer to the value 50 using ‘$max’.  Parameters
   2851      work exactly like constants, only that they can be defined on a
   2852      per-table basis.
   2853 
   2854 ‘#’
   2855      Fields in this row are automatically recalculated when pressing
   2856      ‘<TAB>’ or ‘<RET>’ or ‘S-<TAB>’ in this row.  Also, this row is
   2857      selected for a global recalculation with ‘C-u C-c *’.  Unmarked
   2858      lines are left alone by this command.
   2859 
   2860 ‘*’
   2861      Selects this line for global recalculation with ‘C-u C-c *’, but
   2862      not for automatic recalculation.  Use this when automatic
   2863      recalculation slows down editing too much.
   2864 
   2865 ‘/’
   2866      Do not export this line.  Useful for lines that contain the
   2867      narrowing ‘<N>’ markers or column group markers.
   2868 
   2869    Finally, just to whet your appetite for what can be done with the
   2870 fantastic Calc package, here is a table that computes the Taylor series
   2871 of degree n at location x for a couple of functions.
   2872 
   2873      |---+-------------+---+-----+--------------------------------------|
   2874      |   | Func        | n | x   | Result                               |
   2875      |---+-------------+---+-----+--------------------------------------|
   2876      | # | exp(x)      | 1 | x   | 1 + x                                |
   2877      | # | exp(x)      | 2 | x   | 1 + x + x^2 / 2                      |
   2878      | # | exp(x)      | 3 | x   | 1 + x + x^2 / 2 + x^3 / 6            |
   2879      | # | x^2+sqrt(x) | 2 | x=0 | x*(0.5 / 0) + x^2 (2 - 0.25 / 0) / 2 |
   2880      | # | x^2+sqrt(x) | 2 | x=1 | 2 + 2.5 x - 2.5 + 0.875 (x - 1)^2    |
   2881      | * | tan(x)      | 3 | x   | 0.0175 x + 1.77e-6 x^3               |
   2882      |---+-------------+---+-----+--------------------------------------|
   2883      #+TBLFM: $5=taylor($2,$4,$3);n3
   2884 
   2885    ---------- Footnotes ----------
   2886 
   2887    (1) Such names must start with an alphabetic character and use only
   2888 alphanumeric/underscore characters.
   2889 
   2890 
   2891 File: org.info,  Node: Org Plot,  Prev: The Spreadsheet,  Up: Tables
   2892 
   2893 3.6 Org Plot
   2894 ============
   2895 
   2896 Org Plot can produce graphs of information stored in Org tables, either
   2897 graphically or in ASCII art.
   2898 
   2899 Graphical plots using Gnuplot
   2900 -----------------------------
   2901 
   2902 Org Plot can produce 2D and 3D graphs of information stored in Org
   2903 tables using Gnuplot (https://www.gnuplot.info/) and Gnuplot mode
   2904 (http://cars9.uchicago.edu/~ravel/software/gnuplot-mode.html).  To see
   2905 this in action, ensure that you have both Gnuplot and Gnuplot mode
   2906 installed on your system, then call ‘C-c " g’ or ‘M-x org-plot/gnuplot’
   2907 on the following table.
   2908 
   2909      #+PLOT: title:"Citas" ind:1 deps:(3) type:2d with:histograms set:"yrange [0:]"
   2910      | Sede      | Max cites | H-index |
   2911      |-----------+-----------+---------|
   2912      | Chile     |    257.72 |   21.39 |
   2913      | Leeds     |    165.77 |   19.68 |
   2914      | Sao Paolo |     71.00 |   11.50 |
   2915      | Stockholm |    134.19 |   14.33 |
   2916      | Morelia   |    257.56 |   17.67 |
   2917 
   2918    Org Plot supports a range of plot types, and provides the ability to
   2919 add more.  For example, a radar plot can be generated like so:
   2920      #+PLOT: title:"An evaluation of plaintext document formats" transpose:yes type:radar min:0 max:4
   2921      | Format            | Fine-grained-control | Initial Effort | Syntax simplicity | Editor Support | Integrations | Ease-of-referencing | Versatility |
   2922      |-------------------+----------------------+----------------+-------------------+----------------+--------------+---------------------+-------------|
   2923      | Word              |                    2 |              4 |                 4 |              2 |            3 |                   2 |           2 |
   2924      | LaTeX             |                    4 |              1 |                 1 |              3 |            2 |                   4 |           3 |
   2925      | Org Mode          |                    4 |              2 |               3.5 |              1 |            4 |                   4 |           4 |
   2926      | Markdown          |                    1 |              3 |                 3 |              4 |            3 |                   3 |           1 |
   2927      | Markdown + Pandoc |                  2.5 |            2.5 |               2.5 |              3 |            3 |                   3 |           2 |
   2928 
   2929    Notice that Org Plot is smart enough to apply the table’s headers as
   2930 labels.  Further control over the labels, type, content, and appearance
   2931 of plots can be exercised through the ‘PLOT’ keyword preceding a table.
   2932 See below for a complete list of Org Plot options.  For more information
   2933 and examples see the Org Plot tutorial
   2934 (https://orgmode.org/worg/org-tutorials/org-plot.html).
   2935 
   2936 Plot options
   2937 ............
   2938 
   2939 ‘set’
   2940      Specify any Gnuplot option to be set when graphing.
   2941 
   2942 ‘title’
   2943      Specify the title of the plot.
   2944 
   2945 ‘ind’
   2946      Specify which column of the table to use as the ‘x’ axis.
   2947 
   2948 ‘timeind’
   2949      Specify which column of the table to use as the ‘x’ axis as a time
   2950      value.
   2951 
   2952 ‘deps’
   2953      Specify the columns to graph as a Lisp style list, surrounded by
   2954      parentheses and separated by spaces for example ‘dep:(3 4)’ to
   2955      graph the third and fourth columns.  Defaults to graphing all other
   2956      columns aside from the ‘ind’ column.
   2957 
   2958 ‘transpose’
   2959      When ‘y’, ‘yes’, or ‘t’ attempt to transpose the table data before
   2960      plotting.  Also recognizes the shorthand option ‘trans’.
   2961 
   2962 ‘type’
   2963      Specify the type of the plot, by default one of ‘2d’, ‘3d’,
   2964      ‘radar’, or ‘grid’.  Available types can be customized with
   2965      ‘org-plot/preset-plot-types’.
   2966 
   2967 ‘with’
   2968      Specify a ‘with’ option to be inserted for every column being
   2969      plotted, e.g., ‘lines’, ‘points’, ‘boxes’, ‘impulses’.  Defaults to
   2970      ‘lines’.
   2971 
   2972 ‘file’
   2973      If you want to plot to a file, specify
   2974      ‘"path/to/desired/output-file"’.
   2975 
   2976 ‘labels’
   2977      List of labels to be used for the ‘deps’.  Defaults to the column
   2978      headers if they exist.
   2979 
   2980 ‘line’
   2981      Specify an entire line to be inserted in the Gnuplot script.
   2982 
   2983 ‘map’
   2984      When plotting ‘3d’ or ‘grid’ types, set this to ‘t’ to graph a flat
   2985      mapping rather than a ‘3d’ slope.
   2986 
   2987 ‘min’
   2988      Provides a minimum axis value that may be used by a plot type.
   2989      Implicitly assumes the ‘y’ axis is being referred to.  Can
   2990      explicitly provide a value for a either the ‘x’ or ‘y’ axis with
   2991      ‘xmin’ and ‘ymin’.
   2992 
   2993 ‘max’
   2994      Provides a maximum axis value that may be used by a plot type.
   2995      Implicitly assumes the ‘y’ axis is being referred to.  Can
   2996      explicitly provide a value for a either the ‘x’ or ‘y’ axis with
   2997      ‘xmax’ and ‘ymax’.
   2998 
   2999 ‘ticks’
   3000      Provides a desired number of axis ticks to display, that may be
   3001      used by a plot type.  If none is given a plot type that requires
   3002      ticks will use ‘org--plot/sensible-tick-num’ to try to determine a
   3003      good value.
   3004 
   3005 ‘timefmt’
   3006      Specify format of Org mode timestamps as they will be parsed by
   3007      Gnuplot.  Defaults to ‘%Y-%m-%d-%H:%M:%S’.
   3008 
   3009 ‘script’
   3010      If you want total control, you can specify a script file—place the
   3011      file name between double-quotes—which will be used to plot.  Before
   3012      plotting, every instance of ‘$datafile’ in the specified script
   3013      will be replaced with the path to the generated data file.  Note:
   3014      even if you set this option, you may still want to specify the plot
   3015      type, as that can impact the content of the data file.
   3016 
   3017 ASCII bar plots
   3018 ---------------
   3019 
   3020 While point is on a column, typing ‘C-c " a’ or ‘M-x orgtbl-ascii-plot’
   3021 create a new column containing an ASCII-art bars plot.  The plot is
   3022 implemented through a regular column formula.  When the source column
   3023 changes, the bar plot may be updated by refreshing the table, for
   3024 example typing ‘C-u C-c *’.
   3025 
   3026      | Sede          | Max cites |              |
   3027      |---------------+-----------+--------------|
   3028      | Chile         |    257.72 | WWWWWWWWWWWW |
   3029      | Leeds         |    165.77 | WWWWWWWh     |
   3030      | Sao Paolo     |     71.00 | WWW;         |
   3031      | Stockholm     |    134.19 | WWWWWW:      |
   3032      | Morelia       |    257.56 | WWWWWWWWWWWH |
   3033      | Rochefourchat |      0.00 |              |
   3034      #+TBLFM: $3='(orgtbl-ascii-draw $2 0.0 257.72 12)
   3035 
   3036    The formula is an Elisp call.
   3037 
   3038  -- Function: orgtbl-ascii-draw value min max &optional width
   3039      Draw an ASCII bar in a table.
   3040 
   3041      VALUE is the value to plot.
   3042 
   3043      MIN is the value displayed as an empty bar.  MAX is the value
   3044      filling all the WIDTH.  Sources values outside this range are
   3045      displayed as ‘too small’ or ‘too large’.
   3046 
   3047      WIDTH is the number of characters of the bar plot.  It defaults to
   3048      ‘12’.
   3049 
   3050 
   3051 File: org.info,  Node: Hyperlinks,  Next: TODO Items,  Prev: Tables,  Up: Top
   3052 
   3053 4 Hyperlinks
   3054 ************
   3055 
   3056 Like HTML, Org provides support for links inside a file, external links
   3057 to other files, Usenet articles, emails, and much more.
   3058 
   3059 * Menu:
   3060 
   3061 * Link Format::                  How links in Org are formatted.
   3062 * Internal Links::               Links to other places in the current file.
   3063 * Radio Targets::                Make targets trigger links in plain text.
   3064 * External Links::               URL-like links to the world.
   3065 * Handling Links::               Creating, inserting and following.
   3066 * Using Links Outside Org::      Linking from my C source code?
   3067 * Link Abbreviations::           Shortcuts for writing complex links.
   3068 * Search Options::               Linking to a specific location.
   3069 * Custom Searches::              When the default search is not enough.
   3070 
   3071 
   3072 File: org.info,  Node: Link Format,  Next: Internal Links,  Up: Hyperlinks
   3073 
   3074 4.1 Link Format
   3075 ===============
   3076 
   3077 Org recognizes plain URIs, possibly wrapped within angle brackets(1),
   3078 and activate them as clickable links.
   3079 
   3080    The general link format, however, looks like this:
   3081 
   3082      [[LINK][DESCRIPTION]]
   3083 
   3084 or alternatively
   3085 
   3086      [[LINK]]
   3087 
   3088    Some ‘\’, ‘[’ and ‘]’ characters in the LINK part need to be
   3089 “escaped”, i.e., preceded by another ‘\’ character.  More specifically,
   3090 the following characters, and only them, must be escaped:
   3091 
   3092   1. all ‘[’ and ‘]’ characters,
   3093   2. every ‘\’ character preceding either ‘]’ or ‘[’,
   3094   3. every ‘\’ character at the end of the link.
   3095 
   3096    Functions inserting links (see *note Handling Links::) properly
   3097 escape ambiguous characters.  You only need to bother about the rules
   3098 above when inserting directly, or yanking, a URI within square brackets.
   3099 When in doubt, you may use the function ‘org-link-escape’, which turns a
   3100 link string into its escaped form.
   3101 
   3102    Once a link in the buffer is complete, with all brackets present, Org
   3103 changes the display so that ‘DESCRIPTION’ is displayed instead of
   3104 ‘[[LINK][DESCRIPTION]]’ and ‘LINK’ is displayed instead of ‘[[LINK]]’.
   3105 Links are highlighted in the ‘org-link’ face, which, by default, is an
   3106 underlined face.
   3107 
   3108    You can directly edit the visible part of a link.  This can be either
   3109 the LINK part, if there is no description, or the DESCRIPTION part
   3110 otherwise.  To also edit the invisible LINK part, use ‘C-c C-l’ with
   3111 point on the link (see *note Handling Links::).
   3112 
   3113    If you place point at the beginning or just behind the end of the
   3114 displayed text and press ‘<BS>’, you remove the—invisible—bracket at
   3115 that location(2).  This makes the link incomplete and the internals are
   3116 again displayed as plain text.  Inserting the missing bracket hides the
   3117 link internals again.  To show the internal structure of all links, use
   3118 the menu: Org → Hyperlinks → Literal links, customize
   3119 ‘org-link-descriptive’, or use ‘literallinks’ *note startup option:
   3120 In-buffer Settings.
   3121 
   3122    ---------- Footnotes ----------
   3123 
   3124    (1) Plain URIs are recognized only for a well-defined set of schemes.
   3125 See *note External Links::.  Unlike URI syntax, they cannot contain
   3126 parenthesis or white spaces, either.  URIs within angle brackets have no
   3127 such limitation.
   3128 
   3129    (2) More accurately, the precise behavior depends on how point
   3130 arrived there—see *note Invisible Text: (elisp)Invisible Text.
   3131 
   3132 
   3133 File: org.info,  Node: Internal Links,  Next: Radio Targets,  Prev: Link Format,  Up: Hyperlinks
   3134 
   3135 4.2 Internal Links
   3136 ==================
   3137 
   3138 A link that does not look like a URL—i.e., does not start with a known
   3139 scheme or a file name—refers to the current document.  You can follow it
   3140 with ‘C-c C-o’ when point is on the link, or with a mouse click (see
   3141 *note Handling Links::).
   3142 
   3143    Org provides several refinements to internal navigation within a
   3144 document.  Most notably, a construct like ‘[[#my-custom-id]]’
   3145 specifically targets the entry with the ‘CUSTOM_ID’ property set to
   3146 ‘my-custom-id’.  Also, an internal link looking like ‘[[*Some section]]’
   3147 points to a headline with the name ‘Some section’(1).
   3148 
   3149    When the link does not belong to any of the cases above, Org looks
   3150 for a _dedicated target_: the same string in double angular brackets,
   3151 like ‘<<My Target>>’.
   3152 
   3153    If no dedicated target exists, the link tries to match the exact name
   3154 of an element within the buffer.  Naming is done, unsurprisingly, with
   3155 the ‘NAME’ keyword, which has to be put in the line before the element
   3156 it refers to, as in the following example
   3157 
   3158      #+NAME: My Target
   3159      | a  | table      |
   3160      |----+------------|
   3161      | of | four cells |
   3162 
   3163    Ultimately, if none of the above succeeds, Org searches for a
   3164 headline that is exactly the link text but may also include a TODO
   3165 keyword and tags, or initiates a plain text search, according to the
   3166 value of ‘org-link-search-must-match-exact-headline’.
   3167 
   3168    Note that you must make sure custom IDs, dedicated targets, and names
   3169 are unique throughout the document.  Org provides a linter to assist you
   3170 in the process, if needed.  See *note Org Syntax::.
   3171 
   3172    During export, internal links are used to mark objects and assign
   3173 them a number.  Marked objects are then referenced by links pointing to
   3174 them.  In particular, links without a description appear as the number
   3175 assigned to the marked object(2).  In the following excerpt from an Org
   3176 buffer
   3177 
   3178      1. one item
   3179      2. <<target>>another item
   3180      Here we refer to item [[target]].
   3181 
   3182 The last sentence will appear as ‘Here we refer to item 2’ when
   3183 exported.
   3184 
   3185    In non-Org files, the search looks for the words in the link text.
   3186 In the above example the search would be for ‘target’.
   3187 
   3188    Following a link pushes a mark onto Org’s own mark ring.  You can
   3189 return to the previous position with ‘C-c &’.  Using this command
   3190 several times in direct succession goes back to positions recorded
   3191 earlier.
   3192 
   3193    ---------- Footnotes ----------
   3194 
   3195    (1) To insert a link targeting a headline, in-buffer completion can
   3196 be used.  Just type a star followed by a few optional letters into the
   3197 buffer and press ‘M-<TAB>’.  All headlines in the current buffer are
   3198 offered as completions.
   3199 
   3200    (2) When targeting a ‘NAME’ keyword, the ‘CAPTION’ keyword is
   3201 mandatory in order to get proper numbering (see *note Captions::).
   3202 
   3203 
   3204 File: org.info,  Node: Radio Targets,  Next: External Links,  Prev: Internal Links,  Up: Hyperlinks
   3205 
   3206 4.3 Radio Targets
   3207 =================
   3208 
   3209 Org can automatically turn any occurrences of certain target names in
   3210 normal text into a link.  So without explicitly creating a link, the
   3211 text connects to the target radioing its position.  Radio targets are
   3212 enclosed by triple angular brackets.  For example, a target ‘<<<My
   3213 Target>>>’ causes each occurrence of ‘my target’ in normal text to
   3214 become activated as a link.  The Org file is scanned automatically for
   3215 radio targets only when the file is first loaded into Emacs.  To update
   3216 the target list during editing, press ‘C-c C-c’ with point on or at a
   3217 target.
   3218 
   3219 
   3220 File: org.info,  Node: External Links,  Next: Handling Links,  Prev: Radio Targets,  Up: Hyperlinks
   3221 
   3222 4.4 External Links
   3223 ==================
   3224 
   3225 Org supports links to files, websites, Usenet and email messages, BBDB
   3226 database entries and links to both IRC conversations and their logs.
   3227 External links are URL-like locators.  They start with a short
   3228 identifying string followed by a colon.  There can be no space after the
   3229 colon.
   3230 
   3231    Here is the full set of built-in link types:
   3232 
   3233 ‘file’
   3234      File links.  File name may be remote, absolute, or relative.
   3235 
   3236      As a special case, “file” prefix may be omitted if the file name is
   3237      complete, e.g., it starts with ‘./’, or ‘/’.
   3238 
   3239 ‘attachment’
   3240      Same as file links but for files and folders attached to the
   3241      current node (see *note Attachments::).  Attachment links are
   3242      intended to behave exactly as file links but for files relative to
   3243      the attachment directory.
   3244 
   3245 ‘bbdb’
   3246      Link to a BBDB record, with possible regexp completion.
   3247 
   3248 ‘docview’
   3249      Link to a document opened with DocView mode.  You may specify a
   3250      page number.
   3251 
   3252 ‘doi’
   3253      Link to an electronic resource, through its handle.
   3254 
   3255 ‘elisp’
   3256      Execute an Elisp command upon activation.
   3257 
   3258 ‘gnus’, ‘rmail’, ‘mhe’
   3259      Link to messages or folders from a given Emacs MUA.
   3260 
   3261 ‘help’
   3262      Display documentation of a symbol in ‘*Help*’ buffer.
   3263 
   3264 ‘http’, ‘https’
   3265      Web links.
   3266 
   3267 ‘id’
   3268      Link to a specific headline by its ID property, in an Org file.
   3269 
   3270 ‘info’
   3271      Link to an Info manual, or to a specific node.
   3272 
   3273 ‘irc’
   3274      Link to an IRC channel.
   3275 
   3276 ‘mailto’
   3277      Link to message composition.
   3278 
   3279 ‘news’
   3280      Usenet links.
   3281 
   3282 ‘shell’
   3283      Execute a shell command upon activation.
   3284 
   3285    For ‘file:’ and ‘id:’ links, you can additionally specify a line
   3286 number, or a text search string, separated by ‘::’.  In Org files, you
   3287 may link to a headline name, a custom ID, or a code reference instead.
   3288 
   3289    The following table illustrates the link types above, along with
   3290 their options:
   3291 
   3292 Link Type    Example
   3293 ----------------------------------------------------------------------------------
   3294 http         ‘http://staff.science.uva.nl/c.dominik/’
   3295 https        ‘https://orgmode.org/’
   3296 doi          ‘doi:10.1000/182’
   3297 file         ‘file:/home/dominik/images/jupiter.jpg’
   3298              ‘/home/dominik/images/jupiter.jpg’ (same as above)
   3299              ‘file:papers/last.pdf’
   3300              ‘./papers/last.pdf’ (same as above)
   3301              ‘file:/ssh:me@some.where:papers/last.pdf’ (remote)
   3302              ‘/ssh:me@some.where:papers/last.pdf’ (same as above)
   3303              ‘file:sometextfile::NNN’ (jump to line number)
   3304              ‘file:projects.org’
   3305              ‘file:projects.org::some words’ (text search)(1)
   3306              ‘file:projects.org::*task title’ (headline search)
   3307              ‘file:projects.org::#custom-id’ (headline search)
   3308 attachment   ‘attachment:projects.org’
   3309              ‘attachment:projects.org::some words’ (text search)
   3310 docview      ‘docview:papers/last.pdf::NNN’
   3311 id           ‘id:B7423F4D-2E8A-471B-8810-C40F074717E9’
   3312              ‘id:B7423F4D-2E8A-471B-8810-C40F074717E9::*task’ (headline search)
   3313 news         ‘news:comp.emacs’
   3314 mailto       ‘mailto:adent@galaxy.net’
   3315 mhe          ‘mhe:folder’ (folder link)
   3316              ‘mhe:folder#id’ (message link)
   3317 rmail        ‘rmail:folder’ (folder link)
   3318              ‘rmail:folder#id’ (message link)
   3319 gnus         ‘gnus:group’ (group link)
   3320              ‘gnus:group#id’ (article link)
   3321 bbdb         ‘bbdb:R.*Stallman’ (record with regexp)
   3322 irc          ‘irc:/irc.com/#emacs/bob’
   3323 help         ‘help:org-store-link’
   3324 info         ‘info:org#External links’
   3325 shell        ‘shell:ls *.org’
   3326 elisp        ‘elisp:(find-file "Elisp.org")’ (Elisp form to evaluate)
   3327              ‘elisp:org-agenda’ (interactive Elisp command)
   3328 
   3329    On top of these built-in link types, additional ones are available
   3330 through the ‘org-contrib’ repository (see *note Installation::).  For
   3331 example, these links to VM or Wanderlust messages are available when you
   3332 load the corresponding libraries from the ‘org-contrib’ repository:
   3333 
   3334 ‘vm:folder’                              VM folder link
   3335 ‘vm:folder#id’                           VM message link
   3336 ‘vm://myself@some.where.org/folder#id’   VM on remote machine
   3337 ‘vm-imap:account:folder’                 VM IMAP folder link
   3338 ‘vm-imap:account:folder#id’              VM IMAP message link
   3339 ‘wl:folder’                              Wanderlust folder link
   3340 ‘wl:folder#id’                           Wanderlust message link
   3341 
   3342    For information on customizing Org to add new link types, see *note
   3343 Adding Hyperlink Types::.
   3344 
   3345    A link should be enclosed in double brackets and may contain
   3346 descriptive text to be displayed instead of the URL (see *note Link
   3347 Format::), for example:
   3348 
   3349      [[https://www.gnu.org/software/emacs/][GNU Emacs]]
   3350 
   3351    If the description is a file name or URL that points to an image,
   3352 HTML export (see *note HTML Export::) inlines the image as a clickable
   3353 button.  If there is no description at all and the link points to an
   3354 image, that image is inlined into the exported HTML file.
   3355 
   3356    Org also recognizes external links amid normal text and activates
   3357 them as links.  If spaces must be part of the link (for example in
   3358 ‘bbdb:R.*Stallman’), or if you need to remove ambiguities about the end
   3359 of the link, enclose the link in square or angular brackets.
   3360 
   3361    ---------- Footnotes ----------
   3362 
   3363    (1) The actual behavior of the search depends on the value of the
   3364 variable ‘org-link-search-must-match-exact-headline’.  If its value is
   3365 ‘nil’, then a fuzzy text search is done.  If it is ‘t’, then only the
   3366 exact headline is matched, ignoring spaces and statistic cookies.  If
   3367 the value is ‘query-to-create’, then an exact headline is searched; if
   3368 it is not found, then the user is queried to create it.
   3369 
   3370 
   3371 File: org.info,  Node: Handling Links,  Next: Using Links Outside Org,  Prev: External Links,  Up: Hyperlinks
   3372 
   3373 4.5 Handling Links
   3374 ==================
   3375 
   3376 Org provides methods to create a link in the correct syntax, to insert
   3377 it into an Org file, and to follow the link.
   3378 
   3379    The main function is ‘org-store-link’, called with ‘M-x
   3380 org-store-link’.  Because of its importance, we suggest to bind it to a
   3381 widely available key (see *note Activation::).  It stores a link to the
   3382 current location.  The link is stored for later insertion into an Org
   3383 buffer—see below.  The kind of link that is created depends on the
   3384 current buffer:
   3385 
   3386 _Org mode buffers_
   3387      For Org files, if there is a ‘<<target>>’ at point, the link points
   3388      to the target.  If there is a named block (using ‘#+name:’) at
   3389      point, the link points to that name.  Otherwise it points to the
   3390      current headline, which is also the description.
   3391 
   3392      If the headline has a ‘CUSTOM_ID’ property, store a link to this
   3393      custom ID.  In addition or alternatively, depending on the value of
   3394      ‘org-id-link-to-org-use-id’, create and/or use a globally unique
   3395      ‘ID’ property for the link(1).  So using this command in Org
   3396      buffers potentially creates two links: a human-readable link from
   3397      the custom ID, and one that is globally unique and works even if
   3398      the entry is moved from file to file.  The ‘ID’ property can be
   3399      either a UUID (default) or a timestamp, depending on
   3400      ‘org-id-method’.  Later, when inserting the link, you need to
   3401      decide which one to use.
   3402 
   3403      When ‘org-id-link-consider-parent-id’ is ‘t’(2), parent ‘ID’
   3404      properties are considered.  This allows linking to specific
   3405      targets, named blocks, or headlines (which may not have a globally
   3406      unique ‘ID’ themselves) within the context of a parent headline or
   3407      file which does.
   3408 
   3409      For example, given this org file:
   3410 
   3411           * Parent
   3412           :PROPERTIES:
   3413           :ID: abc
   3414           :END:
   3415           ** Child 1
   3416           ** Child 2
   3417 
   3418      Storing a link with point at “Child 1” will produce a link
   3419      ‘<id:abc::*Child 1>’, which precisely links to the “Child 1”
   3420      headline even though it does not have its own ID.
   3421 
   3422 _Email/News clients: VM, Rmail, Wanderlust, MH-E, Gnus_
   3423      Pretty much all Emacs mail clients are supported.  The link points
   3424      to the current article, or, in some Gnus buffers, to the group.
   3425      The description is constructed according to the variable
   3426      ‘org-link-email-description-format’.  By default, it refers to the
   3427      addressee and the subject.
   3428 
   3429 _Web browsers: W3M and EWW_
   3430      Here the link is the current URL, with the page title as the
   3431      description.
   3432 
   3433 _Contacts: BBDB_
   3434      Links created in a BBDB buffer point to the current entry.
   3435 
   3436 _Chat: IRC_
   3437      For IRC links, if the variable ‘org-irc-link-to-logs’ is non-‘nil’,
   3438      create a ‘file’ style link to the relevant point in the logs for
   3439      the current conversation.  Otherwise store an ‘irc’ style link to
   3440      the user/channel/server under the point.
   3441 
   3442 _Other files_
   3443      For any other file, the link points to the file, with a search
   3444      string (see *note Search Options::) pointing to the contents of the
   3445      current line.  If there is an active region, the selected words
   3446      form the basis of the search string.  You can write custom Lisp
   3447      functions to select the search string and perform the search for
   3448      particular file types (see *note Custom Searches::).
   3449 
   3450      You can also define dedicated links to other files.  See *note
   3451      Adding Hyperlink Types::.
   3452 
   3453 _Agenda view_
   3454      When point is in an agenda view, the created link points to the
   3455      entry referenced by the current line.
   3456 
   3457    From an Org buffer, the following commands create, navigate or, more
   3458 generally, act on links.
   3459 
   3460 ‘C-c C-l’ (‘org-insert-link’)
   3461      Insert a link(3).  This prompts for a link to be inserted into the
   3462      buffer.  You can just type a link, using text for an internal link,
   3463      or one of the link type prefixes mentioned in the examples above.
   3464      The link is inserted into the buffer, along with a descriptive
   3465      text(4).  If some text was selected at this time, it becomes the
   3466      default description.
   3467 
   3468      _Inserting stored links_
   3469           All links stored during the current session are part of the
   3470           history for this prompt, so you can access them with ‘<UP>’
   3471           and ‘<DOWN>’ (or ‘M-p’, ‘M-n’).
   3472 
   3473      _Completion support_
   3474           Completion with ‘<TAB>’ helps you to insert valid link
   3475           prefixes like ‘http’ or ‘ftp’, including the prefixes defined
   3476           through link abbreviations (see *note Link Abbreviations::).
   3477           If you press ‘<RET>’ after inserting only the prefix, Org
   3478           offers specific completion support for some link types(5).
   3479           For example, if you type ‘f i l e <RET>’—alternative access:
   3480           ‘C-u C-c C-l’, see below—Org offers file name completion, and
   3481           after ‘b b d b <RET>’ you can complete contact names.
   3482 
   3483 ‘C-u C-c C-l’
   3484      When ‘C-c C-l’ is called with a ‘C-u’ prefix argument, insert a
   3485      link to a file.  You may use file name completion to select the
   3486      name of the file.  The path to the file is inserted relative to the
   3487      directory of the current Org file, if the linked file is in the
   3488      current directory or in a sub-directory of it, or if the path is
   3489      written relative to the current directory using ‘../’.  Otherwise
   3490      an absolute path is used, if possible with ‘~/’ for your home
   3491      directory.  You can force an absolute path with two ‘C-u’ prefixes.
   3492 
   3493 ‘C-c C-l’ (with point on existing link)
   3494      When point is on an existing link, ‘C-c C-l’ allows you to edit the
   3495      link and description parts of the link.
   3496 
   3497 ‘C-c C-o’ (‘org-open-at-point’)
   3498      Open link at point.  This launches a web browser for URL (using
   3499      ‘browse-url-at-point’), run VM/MH-E/Wanderlust/Rmail/Gnus/BBDB for
   3500      the corresponding links, and execute the command in a shell link.
   3501      When point is on an internal link, this command runs the
   3502      corresponding search.  When point is on the tags part of a
   3503      headline, it creates the corresponding tags view (see *note
   3504      Matching tags and properties::).  If point is on a timestamp, it
   3505      compiles the agenda for that date.  Furthermore, it visits text and
   3506      remote files in ‘file’ links with Emacs and select a suitable
   3507      application for local non-text files.  Classification of files is
   3508      based on file extension only.  See option ‘org-file-apps’.  If you
   3509      want to override the default application and visit the file with
   3510      Emacs, use a ‘C-u’ prefix.  If you want to avoid opening in Emacs,
   3511      use a ‘C-u C-u’ prefix.
   3512 
   3513      If point is on a headline, but not on a link, offer all links in
   3514      the headline and entry text.  If you want to setup the frame
   3515      configuration for following links, customize
   3516      ‘org-link-frame-setup’.
   3517 
   3518 ‘<RET>’
   3519      When ‘org-return-follows-link’ is set, ‘<RET>’ also follows the
   3520      link at point.
   3521 
   3522 ‘mouse-2’ or ‘mouse-1’
   3523      On links, ‘mouse-1’ and ‘mouse-2’ opens the link just as ‘C-c C-o’
   3524      does.
   3525 
   3526 ‘mouse-3’
   3527      Like ‘mouse-2’, but force file links to be opened with Emacs, and
   3528      internal links to be displayed in another window(6).
   3529 
   3530 ‘C-c %’ (‘org-mark-ring-push’)
   3531      Push the current position onto the Org mark ring, to be able to
   3532      return easily.  Commands following an internal link do this
   3533      automatically.
   3534 
   3535 ‘C-c &’ (‘org-mark-ring-goto’)
   3536      Jump back to a recorded position.  A position is recorded by the
   3537      commands following internal links, and by ‘C-c %’.  Using this
   3538      command several times in direct succession moves through a ring of
   3539      previously recorded positions.
   3540 
   3541 ‘C-c C-x C-n’ (‘org-next-link’)
   3542 ‘C-c C-x C-p’ (‘org-previous-link’)
   3543      Move forward/backward to the next link in the buffer.  At the limit
   3544      of the buffer, the search fails once, and then wraps around.  The
   3545      key bindings for this are really too long; you might want to bind
   3546      this also to ‘M-n’ and ‘M-p’.
   3547 
   3548           (with-eval-after-load 'org
   3549             (define-key org-mode-map (kbd "M-n") #'org-next-link)
   3550             (define-key org-mode-map (kbd "M-p") #'org-previous-link))
   3551 
   3552    ---------- Footnotes ----------
   3553 
   3554    (1) The Org Id library must first be loaded, either through
   3555 ‘org-customize’, by enabling ‘id’ in ‘org-modules’, or by adding
   3556 ‘(require 'org-id)’ in your Emacs init file.
   3557 
   3558    (2) Also, ‘org-link-context-for-files’ and ‘org-id-link-use-context’
   3559 should be both enabled (which they are, by default).
   3560 
   3561    (3) Note that you do not have to use this command to insert a link.
   3562 Links in Org are plain text, and you can type or paste them straight
   3563 into the buffer.  By using this command, the links are automatically
   3564 enclosed in double brackets, and you will be asked for the optional
   3565 descriptive text.
   3566 
   3567    (4) After insertion of a stored link, the link will be removed from
   3568 the list of stored links.  To keep it in the list for later use, use a
   3569 triple ‘C-u’ prefix argument to ‘C-c C-l’, or configure the option
   3570 ‘org-link-keep-stored-after-insertion’.
   3571 
   3572    (5) This works if a function has been defined in the ‘:complete’
   3573 property of a link in ‘org-link-parameters’.
   3574 
   3575    (6) See the variable ‘org-link-use-indirect-buffer-for-internals’.
   3576 
   3577 
   3578 File: org.info,  Node: Using Links Outside Org,  Next: Link Abbreviations,  Prev: Handling Links,  Up: Hyperlinks
   3579 
   3580 4.6 Using Links Outside Org
   3581 ===========================
   3582 
   3583 You can insert and follow links that have Org syntax not only in Org,
   3584 but in any Emacs buffer.  For this, Org provides two functions:
   3585 ‘org-insert-link-global’ and ‘org-open-at-point-global’.
   3586 
   3587    You might want to bind them to globally available keys.  See *note
   3588 Activation:: for some advice.
   3589 
   3590 
   3591 File: org.info,  Node: Link Abbreviations,  Next: Search Options,  Prev: Using Links Outside Org,  Up: Hyperlinks
   3592 
   3593 4.7 Link Abbreviations
   3594 ======================
   3595 
   3596 Long URL can be cumbersome to type, and often many similar links are
   3597 needed in a document.  For this you can use link abbreviations.  An
   3598 abbreviated link looks like this
   3599 
   3600      [[linkword:tag][description]]
   3601 
   3602 where the tag is optional.  The _linkword_ must be a word, starting with
   3603 a letter, followed by letters, numbers, ‘-’, and ‘_’.  Abbreviations are
   3604 resolved according to the information in the variable
   3605 ‘org-link-abbrev-alist’ that relates the linkwords to replacement text.
   3606 Here is an example:
   3607 
   3608      (setq org-link-abbrev-alist
   3609            '(("bugzilla"        . "https://10.1.2.9/bugzilla/show_bug.cgi?id=")
   3610              ("Nu Html Checker" . "https://validator.w3.org/nu/?doc=%h")
   3611              ("duckduckgo"      . "https://duckduckgo.com/?q=%s")
   3612              ("omap"            . "https://nominatim.openstreetmap.org/search?q=%s&polygon=1")
   3613              ("ads"             . "https://ui.adsabs.harvard.edu/search/q=%20author%3A\"%s\"")))
   3614 
   3615    If the replacement text contains the string ‘%s’, it is replaced with
   3616 the tag.  Using ‘%h’ instead of ‘%s’ percent-encodes the tag (see the
   3617 example above, where we need to encode the URL parameter).  Using
   3618 ‘%(my-function)’ passes the tag to a custom Lisp function, and replace
   3619 it by the resulting string.
   3620 
   3621    If the replacement text do not contain any specifier, it is simply
   3622 appended to the string in order to create the link.
   3623 
   3624    Instead of a string, you may also specify a Lisp function to create
   3625 the link.  Such a function will be called with the tag as the only
   3626 argument.
   3627 
   3628    With the above setting, you could link to a specific bug with
   3629 ‘[[bugzilla:129]]’, search the web for ‘OrgMode’ with
   3630 ‘[[duckduckgo:OrgMode]]’, show the map location of the Free Software
   3631 Foundation ‘[[omap:31 Milk Street, Boston]]’ or of Carsten’s office
   3632 ‘[[omap:Science Park 904, Amsterdam, The Netherlands]]’ and find out
   3633 what the Org author is doing besides Emacs hacking with
   3634 ‘[[ads:Dominik,C]]’.
   3635 
   3636    If you need special abbreviations just for a single Org buffer, you
   3637 can define them in the file with
   3638 
   3639      #+LINK: bugzilla  https://10.1.2.9/bugzilla/show_bug.cgi?id=
   3640      #+LINK: duckduckgo https://duckduckgo.com/?q=%s
   3641      #+LINK: "Nu Html Checker" https://validator.w3.org/nu/?doc=%h
   3642 
   3643    The abbreviations containing spaces must be quoted.
   3644 
   3645    In-buffer completion (see *note Completion::) can be used after ‘[’
   3646 to complete link abbreviations.  You may also define a Lisp function
   3647 that implements special (e.g., completion) support for inserting such a
   3648 link with ‘C-c C-l’.  Such a function should not accept any arguments,
   3649 and should return the full link with a prefix.  You can set the link
   3650 completion function like this:
   3651 
   3652      (org-link-set-parameter "type" :complete #'some-completion-function)
   3653 
   3654 
   3655 File: org.info,  Node: Search Options,  Next: Custom Searches,  Prev: Link Abbreviations,  Up: Hyperlinks
   3656 
   3657 4.8 Search Options in File Links
   3658 ================================
   3659 
   3660 File links can contain additional information to make Emacs jump to a
   3661 particular location in the file when following a link.  This can be a
   3662 line number or a search option after a double colon(1).  For example,
   3663 when the command ‘org-store-link’ creates a link (see *note Handling
   3664 Links::) to a file, it encodes the words in the current line as a search
   3665 string that can be used to find this line back later when following the
   3666 link with ‘C-c C-o’.
   3667 
   3668    Note that all search options apply for Attachment and ID links in the
   3669 same way that they apply for File links.
   3670 
   3671    Here is the syntax of the different ways to attach a search to a file
   3672 link, together with explanations for each:
   3673 
   3674      [[file:~/code/main.c::255]]
   3675      [[file:~/xx.org::My Target]]
   3676      [[file:~/xx.org::*My Target]]
   3677      [[file:~/xx.org::#my-custom-id]]
   3678      [[file:~/xx.org::/regexp/]]
   3679      [[attachment:main.c::255]]
   3680 
   3681 ‘255’
   3682      Jump to line 255.
   3683 
   3684 ‘My Target’
   3685      Search for a link target ‘<<My Target>>’, or do a text search for
   3686      ‘my target’, similar to the search in internal links, see *note
   3687      Internal Links::.  In HTML export (see *note HTML Export::), such a
   3688      file link becomes a HTML reference to the corresponding named
   3689      anchor in the linked file.
   3690 
   3691 ‘*My Target’
   3692      In an Org file, restrict search to headlines.
   3693 
   3694 ‘#my-custom-id’
   3695      Link to a heading with a ‘CUSTOM_ID’ property
   3696 
   3697 ‘/REGEXP/’
   3698      Do a regular expression search for REGEXP (see *note Regular
   3699      Expressions::).  This uses the Emacs command ‘occur’ to list all
   3700      matches in a separate window.  If the target file is in Org mode,
   3701      ‘org-occur’ is used to create a sparse tree with the matches.
   3702 
   3703    As a degenerate case, a file link with an empty file name can be used
   3704 to search the current file.  For example, ‘[[file:::find me]]’ does a
   3705 search for ‘find me’ in the current file, just as ‘[[find me]]’ would.
   3706 
   3707    ---------- Footnotes ----------
   3708 
   3709    (1) For backward compatibility, line numbers can also follow a single
   3710 colon.
   3711 
   3712 
   3713 File: org.info,  Node: Custom Searches,  Prev: Search Options,  Up: Hyperlinks
   3714 
   3715 4.9 Custom Searches
   3716 ===================
   3717 
   3718 The default mechanism for creating search strings and for doing the
   3719 actual search related to a file link may not work correctly in all
   3720 cases.  For example, BibTeX database files have many entries like
   3721 ‘year="1993"’ which would not result in good search strings, because the
   3722 only unique identification for a BibTeX entry is the citation key.
   3723 
   3724    If you come across such a problem, you can write custom functions to
   3725 set the right search string for a particular file type, and to do the
   3726 search for the string in the file.  Using ‘add-hook’, these functions
   3727 need to be added to the hook variables
   3728 ‘org-create-file-search-functions’ and
   3729 ‘org-execute-file-search-functions’.  See the docstring for these
   3730 variables for more information.  Org actually uses this mechanism for
   3731 BibTeX database files, and you can use the corresponding code as an
   3732 implementation example.  See the file ‘ol-bibtex.el’.
   3733 
   3734 
   3735 File: org.info,  Node: TODO Items,  Next: Tags,  Prev: Hyperlinks,  Up: Top
   3736 
   3737 5 TODO Items
   3738 ************
   3739 
   3740 Org mode does not maintain TODO lists as separate documents(1).
   3741 Instead, TODO items are an integral part of the notes file, because TODO
   3742 items usually come up while taking notes!  With Org mode, simply mark
   3743 any entry in a tree as being a TODO item.  In this way, information is
   3744 not duplicated, and the entire context from which the TODO item emerged
   3745 is always present.
   3746 
   3747    Of course, this technique for managing TODO items scatters them
   3748 throughout your notes file.  Org mode compensates for this by providing
   3749 methods to give you an overview of all the things that you have to do.
   3750 
   3751 * Menu:
   3752 
   3753 * TODO Basics::                  Marking and displaying TODO entries.
   3754 * TODO Extensions::              Workflow and assignments.
   3755 * Progress Logging::             Dates and notes for progress.
   3756 * Priorities::                   Some things are more important than others.
   3757 * Breaking Down Tasks::          Splitting a task into manageable pieces.
   3758 * Checkboxes::                   Tick-off lists.
   3759 
   3760    ---------- Footnotes ----------
   3761 
   3762    (1) Of course, you can make a document that contains only long lists
   3763 of TODO items, but this is not required.
   3764 
   3765 
   3766 File: org.info,  Node: TODO Basics,  Next: TODO Extensions,  Up: TODO Items
   3767 
   3768 5.1 Basic TODO Functionality
   3769 ============================
   3770 
   3771 Any headline becomes a TODO item when it starts with the word ‘TODO’,
   3772 for example:
   3773 
   3774      *** TODO Write letter to Sam Fortune
   3775 
   3776    The most important commands to work with TODO entries are:
   3777 
   3778 ‘C-c C-t’ (‘org-todo’)
   3779      Rotate the TODO state of the current item among
   3780 
   3781           ,-> (unmarked) -> TODO -> DONE --.
   3782           '--------------------------------'
   3783 
   3784      If TODO keywords have fast access keys (see *note Fast access to
   3785      TODO states::), prompt for a TODO keyword through the fast
   3786      selection interface; this is the default behavior when
   3787      ‘org-use-fast-todo-selection’ is non-‘nil’.
   3788 
   3789      The same state changing can also be done “remotely” from the agenda
   3790      buffer with the ‘t’ command key (see *note Agenda Commands::).
   3791 
   3792 ‘S-<RIGHT>’ ‘S-<LEFT>’
   3793      Select the following/preceding TODO state, similar to cycling.
   3794      Useful mostly if more than two TODO states are possible (see *note
   3795      TODO Extensions::).  See also *note Conflicts::, for a discussion
   3796      of the interaction with shift-selection.  See also the variable
   3797      ‘org-treat-S-cursor-todo-selection-as-state-change’.
   3798 
   3799 ‘C-c / t’ (‘org-show-todo-tree’)
   3800      View TODO items in a _sparse tree_ (see *note Sparse Trees::).
   3801      Folds the entire buffer, but shows all TODO items—with not-DONE
   3802      state—and the headings hierarchy above them.  With a prefix
   3803      argument, or by using ‘C-c / T’, search for a specific TODO.  You
   3804      are prompted for the keyword, and you can also give a list of
   3805      keywords like ‘KWD1|KWD2|...’ to list entries that match any one of
   3806      these keywords.  With a numeric prefix argument N, show the tree
   3807      for the Nth keyword in the variable ‘org-todo-keywords’.  With two
   3808      prefix arguments, find all TODO states, both un-done and done.
   3809 
   3810 ‘M-x org-agenda t’ (‘org-todo-list’)
   3811      Show the global TODO list.  Collects the TODO items (with not-DONE
   3812      states) from all agenda files (see *note Agenda Views::) into a
   3813      single buffer.  The new buffer is in Org Agenda mode, which
   3814      provides commands to examine and manipulate the TODO entries from
   3815      the new buffer (see *note Agenda Commands::).  See *note Global
   3816      TODO list::, for more information.
   3817 
   3818 ‘S-M-<RET>’ (‘org-insert-todo-heading’)
   3819      Insert a new TODO entry below the current one.
   3820 
   3821    Changing a TODO state can also trigger tag changes.  See the
   3822 docstring of the option ‘org-todo-state-tags-triggers’ for details.
   3823 
   3824 
   3825 File: org.info,  Node: TODO Extensions,  Next: Progress Logging,  Prev: TODO Basics,  Up: TODO Items
   3826 
   3827 5.2 Extended Use of TODO Keywords
   3828 =================================
   3829 
   3830 By default, marked TODO entries have one of only two states: TODO and
   3831 DONE.  Org mode allows you to classify TODO items in more complex ways
   3832 with _TODO keywords_ (stored in ‘org-todo-keywords’).  With special
   3833 setup, the TODO keyword system can work differently in different files.
   3834 
   3835    Note that _tags_ are another way to classify headlines in general and
   3836 TODO items in particular (see *note Tags::).
   3837 
   3838 * Menu:
   3839 
   3840 * Workflow states::              From TODO to DONE in steps.
   3841 * TODO types::                   I do this, Fred does the rest.
   3842 * Multiple sets in one file::    Mixing it all, still finding your way.
   3843 * Fast access to TODO states::   Single letter selection of state.
   3844 * Per-file keywords::            Different files, different requirements.
   3845 * Faces for TODO keywords::      Highlighting states.
   3846 * TODO dependencies::            When one task needs to wait for others.
   3847 
   3848 
   3849 File: org.info,  Node: Workflow states,  Next: TODO types,  Up: TODO Extensions
   3850 
   3851 5.2.1 TODO keywords as workflow states
   3852 --------------------------------------
   3853 
   3854 You can use TODO keywords to indicate different, possibly _sequential_
   3855 states in the process of working on an item, for example(1):
   3856 
   3857      (setq org-todo-keywords
   3858            '((sequence "TODO" "FEEDBACK" "VERIFY" "|" "DONE" "DELEGATED")))
   3859 
   3860    The vertical bar separates the TODO keywords (states that _need
   3861 action_) from the DONE states (which need _no further action_).  If you
   3862 do not provide the separator bar, the last state is used as the DONE
   3863 state.
   3864 
   3865    With this setup, the command ‘C-c C-t’ cycles an entry from ‘TODO’ to
   3866 ‘FEEDBACK’, then to ‘VERIFY’, and finally to ‘DONE’ and ‘DELEGATED’.
   3867 You may also use a numeric prefix argument to quickly select a specific
   3868 state.  For example ‘C-3 C-c C-t’ changes the state immediately to
   3869 ‘VERIFY’.  Or you can use ‘S-<RIGHT>’ and ‘S-<LEFT>’ to go forward and
   3870 backward through the states.  If you define many keywords, you can use
   3871 in-buffer completion (see *note Completion::) or a special one-key
   3872 selection scheme (see *note Fast access to TODO states::) to insert
   3873 these words into the buffer.  Changing a TODO state can be logged with a
   3874 timestamp, see *note Tracking TODO state changes::, for more
   3875 information.
   3876 
   3877    ---------- Footnotes ----------
   3878 
   3879    (1) Changing the variable ‘org-todo-keywords’ only becomes effective
   3880 after restarting Org mode in a buffer.
   3881 
   3882 
   3883 File: org.info,  Node: TODO types,  Next: Multiple sets in one file,  Prev: Workflow states,  Up: TODO Extensions
   3884 
   3885 5.2.2 TODO keywords as types
   3886 ----------------------------
   3887 
   3888 The second possibility is to use TODO keywords to indicate different
   3889 _types_ of action items.  For example, you might want to indicate that
   3890 items are for “work” or “home”.  Or, when you work with several people
   3891 on a single project, you might want to assign action items directly to
   3892 persons, by using their names as TODO keywords.  This type of
   3893 functionality is actually much better served by using tags (see *note
   3894 Tags::), so the TODO implementation is kept just for backward
   3895 compatibility.
   3896 
   3897    Using TODO types, it would be set up like this:
   3898 
   3899      (setq org-todo-keywords '((type "Fred" "Sara" "Lucy" "|" "DONE")))
   3900 
   3901    In this case, different keywords do not indicate states, but rather
   3902 different types.  So the normal work flow would be to assign a task to a
   3903 person, and later to mark it DONE.  Org mode supports this style by
   3904 adapting the workings of the command ‘C-c C-t’(1).  When used several
   3905 times in succession, it still cycles through all names, in order to
   3906 first select the right type for a task.  But when you return to the item
   3907 after some time and execute ‘C-c C-t’ again, it will switch from any
   3908 name directly to ‘DONE’.  Use prefix arguments or completion to quickly
   3909 select a specific name.  You can also review the items of a specific
   3910 TODO type in a sparse tree by using a numeric prefix to ‘C-c / t’.  For
   3911 example, to see all things Lucy has to do, you would use ‘C-3 C-c / t’.
   3912 To collect Lucy’s items from all agenda files into a single buffer, you
   3913 would use the numeric prefix argument as well when creating the global
   3914 TODO list: ‘C-3 M-x org-agenda t’.
   3915 
   3916    ---------- Footnotes ----------
   3917 
   3918    (1) This is also true for the ‘t’ command in the agenda buffer.
   3919 
   3920 
   3921 File: org.info,  Node: Multiple sets in one file,  Next: Fast access to TODO states,  Prev: TODO types,  Up: TODO Extensions
   3922 
   3923 5.2.3 Multiple keyword sets in one file
   3924 ---------------------------------------
   3925 
   3926 Sometimes you may want to use different sets of TODO keywords in
   3927 parallel.  For example, you may want to have the basic TODO/DONE, but
   3928 also a workflow for bug fixing, and a separate state indicating that an
   3929 item has been canceled—so it is not DONE, but also does not require
   3930 action.  Your setup would then look like this:
   3931 
   3932      (setq org-todo-keywords
   3933            '((sequence "TODO" "|" "DONE")
   3934              (sequence "REPORT" "BUG" "KNOWNCAUSE" "|" "FIXED")
   3935              (sequence "|" "CANCELED")))
   3936 
   3937    The keywords should all be different, this helps Org mode keep track
   3938 of which subsequence should be used for a given entry.  In this setup,
   3939 ‘C-c C-t’ only operates within a sub-sequence, so it switches from
   3940 ‘DONE’ to (nothing) to ‘TODO’, and from ‘FIXED’ to (nothing) to
   3941 ‘REPORT’.  Therefore you need a mechanism to initially select the
   3942 correct sequence.  In addition to typing a keyword or using completion
   3943 (see *note Completion::), you may also apply the following commands:
   3944 
   3945 ‘C-u C-u C-c C-t’
   3946 ‘C-S-<RIGHT>’
   3947 ‘C-S-<LEFT>’
   3948      These keys jump from one TODO sub-sequence to the next.  In the
   3949      above example, ‘C-u C-u C-c C-t’ or ‘C-S-<RIGHT>’ would jump from
   3950      ‘TODO’ or ‘DONE’ to ‘REPORT’, and any of the words in the second
   3951      row to ‘CANCELED’.  Note that the ‘C-S-’ key binding conflict with
   3952      shift-selection (see *note Conflicts::).
   3953 
   3954 ‘S-<RIGHT>’
   3955 ‘S-<LEFT>’
   3956      ‘S-<LEFT>’ and ‘S-<RIGHT>’ walk through _all_ keywords from all
   3957      sub-sequences, so for example ‘S-<RIGHT>’ would switch from ‘DONE’
   3958      to ‘REPORT’ in the example above.  For a discussion of the
   3959      interaction with shift-selection, see *note Conflicts::.
   3960 
   3961 
   3962 File: org.info,  Node: Fast access to TODO states,  Next: Per-file keywords,  Prev: Multiple sets in one file,  Up: TODO Extensions
   3963 
   3964 5.2.4 Fast access to TODO states
   3965 --------------------------------
   3966 
   3967 If you would like to quickly change an entry to an arbitrary TODO state
   3968 instead of cycling through the states, you can set up keys for
   3969 single-letter access to the states.  This is done by adding the
   3970 selection character after each keyword, in parentheses(1).  For example:
   3971 
   3972      (setq org-todo-keywords
   3973            '((sequence "TODO(t)" "|" "DONE(d)")
   3974              (sequence "REPORT(r)" "BUG(b)" "KNOWNCAUSE(k)" "|" "FIXED(f)")
   3975              (sequence "|" "CANCELED(c)")))
   3976 
   3977    If you then press ‘C-c C-t’ followed by the selection key, the entry
   3978 is switched to this state.  ‘<SPC>’ can be used to remove any TODO
   3979 keyword from an entry.
   3980 
   3981    ---------- Footnotes ----------
   3982 
   3983    (1) All characters are allowed except ‘@’, ‘^’ and ‘!’, which have a
   3984 special meaning here.
   3985 
   3986 
   3987 File: org.info,  Node: Per-file keywords,  Next: Faces for TODO keywords,  Prev: Fast access to TODO states,  Up: TODO Extensions
   3988 
   3989 5.2.5 Setting up keywords for individual files
   3990 ----------------------------------------------
   3991 
   3992 It can be very useful to use different aspects of the TODO mechanism in
   3993 different files.  For file-local settings, you need to add special lines
   3994 to the file which set the keywords and interpretation for that file
   3995 only.  For example, to set one of the two examples discussed above, you
   3996 need one of the following lines, starting in column zero anywhere in the
   3997 file:
   3998 
   3999      #+TODO: TODO FEEDBACK VERIFY | DONE CANCELED
   4000 
   4001    You may also write ‘#+SEQ_TODO’ to be explicit about the
   4002 interpretation, but it means the same as ‘#+TODO’, or
   4003 
   4004      #+TYP_TODO: Fred Sara Lucy Mike | DONE
   4005 
   4006    A setup for using several sets in parallel would be:
   4007 
   4008      #+TODO: TODO(t) | DONE(d)
   4009      #+TODO: REPORT(r) BUG(b) KNOWNCAUSE(k) | FIXED(f)
   4010      #+TODO: | CANCELED(c)
   4011 
   4012    To make sure you are using the correct keyword, type ‘#+’ into the
   4013 buffer and then use ‘M-<TAB>’ to complete it (see *note Completion::).
   4014 
   4015    Remember that the keywords after the vertical bar—or the last keyword
   4016 if no bar is there—must always mean that the item is DONE, although you
   4017 may use a different word.  After changing one of these lines, use ‘C-c
   4018 C-c’ with point still in the line to make the changes known to Org
   4019 mode(1).
   4020 
   4021    ---------- Footnotes ----------
   4022 
   4023    (1) Org mode parses these lines only when Org mode is activated after
   4024 visiting a file.  ‘C-c C-c’ with point in a line starting with ‘#+’ is
   4025 simply restarting Org mode for the current buffer.
   4026 
   4027 
   4028 File: org.info,  Node: Faces for TODO keywords,  Next: TODO dependencies,  Prev: Per-file keywords,  Up: TODO Extensions
   4029 
   4030 5.2.6 Faces for TODO keywords
   4031 -----------------------------
   4032 
   4033 Org mode highlights TODO keywords with special faces: ‘org-todo’ for
   4034 keywords indicating that an item still has to be acted upon, and
   4035 ‘org-done’ for keywords indicating that an item is finished.  If you are
   4036 using more than two different states, you might want to use special
   4037 faces for some of them.  This can be done using the variable
   4038 ‘org-todo-keyword-faces’.  For example:
   4039 
   4040      (setq org-todo-keyword-faces
   4041            '(("TODO" . org-warning) ("STARTED" . "yellow")
   4042              ("CANCELED" . (:foreground "blue" :weight bold))))
   4043 
   4044    While using a list with face properties as shown for ‘CANCELED’
   4045 _should_ work, this does not always seem to be the case.  If necessary,
   4046 define a special face and use that.  A string is interpreted as a color.
   4047 The variable ‘org-faces-easy-properties’ determines if that color is
   4048 interpreted as a foreground or a background color.
   4049 
   4050 
   4051 File: org.info,  Node: TODO dependencies,  Prev: Faces for TODO keywords,  Up: TODO Extensions
   4052 
   4053 5.2.7 TODO dependencies
   4054 -----------------------
   4055 
   4056 The structure of Org files—hierarchy and lists—makes it easy to define
   4057 TODO dependencies.  Usually, a parent TODO task should not be marked as
   4058 done until all TODO subtasks, or children tasks, are marked as done.
   4059 Sometimes there is a logical sequence to (sub)tasks, so that one subtask
   4060 cannot be acted upon before all siblings above it have been marked as
   4061 done.  If you customize the variable ‘org-enforce-todo-dependencies’,
   4062 Org blocks entries from changing state to DONE while they have TODO
   4063 children that are not DONE.  Furthermore, if an entry has a property
   4064 ‘ORDERED’, each of its TODO children is blocked until all earlier
   4065 siblings are marked as done.  Here is an example:
   4066 
   4067      * TODO Blocked until (two) is done
   4068      ** DONE one
   4069      ** TODO two
   4070 
   4071      * Parent
   4072      :PROPERTIES:
   4073      :ORDERED:  t
   4074      :END:
   4075      ** TODO a
   4076      ** TODO b, needs to wait for (a)
   4077      ** TODO c, needs to wait for (a) and (b)
   4078 
   4079    You can ensure an entry is never blocked by using the ‘NOBLOCKING’
   4080 property (see *note Properties and Columns::):
   4081 
   4082      * This entry is never blocked
   4083      :PROPERTIES:
   4084      :NOBLOCKING: t
   4085      :END:
   4086 
   4087 ‘C-c C-x o’ (‘org-toggle-ordered-property’)
   4088      Toggle the ‘ORDERED’ property of the current entry.  A property is
   4089      used for this behavior because this should be local to the current
   4090      entry, not inherited from entries above like a tag (see *note
   4091      Tags::).  However, if you would like to _track_ the value of this
   4092      property with a tag for better visibility, customize the variable
   4093      ‘org-track-ordered-property-with-tag’.
   4094 
   4095 ‘C-u C-u C-u C-c C-t’
   4096      Change TODO state, regardless of any state blocking.
   4097 
   4098    If you set the variable ‘org-agenda-dim-blocked-tasks’, TODO entries
   4099 that cannot be marked as done because of unmarked children are shown in
   4100 a dimmed font or even made invisible in agenda views (see *note Agenda
   4101 Views::).
   4102 
   4103    You can also block changes of TODO states by using checkboxes (see
   4104 *note Checkboxes::).  If you set the variable
   4105 ‘org-enforce-todo-checkbox-dependencies’, an entry that has unchecked
   4106 checkboxes is blocked from switching to DONE.
   4107 
   4108    If you need more complex dependency structures, for example
   4109 dependencies between entries in different trees or files, check out the
   4110 module ‘org-depend.el’ in the ‘org-contrib’ repository.
   4111 
   4112 
   4113 File: org.info,  Node: Progress Logging,  Next: Priorities,  Prev: TODO Extensions,  Up: TODO Items
   4114 
   4115 5.3 Progress Logging
   4116 ====================
   4117 
   4118 To record a timestamp and a note when changing a TODO state, call the
   4119 command ‘org-todo’ with a prefix argument.
   4120 
   4121 ‘C-u C-c C-t’ (‘org-todo’)
   4122      Prompt for a note and record a the time of the TODO state change.
   4123      The note is inserted as a list item below the headline, but can
   4124      also be placed into a drawer, see *note Tracking TODO state
   4125      changes::.
   4126 
   4127    If you want to be more systematic, Org mode can automatically record
   4128 a timestamp and optionally a note when you mark a TODO item as DONE, or
   4129 even each time you change the state of a TODO item.  This system is
   4130 highly configurable, settings can be on a per-keyword basis and can be
   4131 localized to a file or even a subtree.  For information on how to clock
   4132 working time for a task, see *note Clocking Work Time::.
   4133 
   4134 * Menu:
   4135 
   4136 * Closing items::                When was this entry marked as done?
   4137 * Tracking TODO state changes::  When did the status change?
   4138 * Tracking your habits::         How consistent have you been?
   4139 
   4140 
   4141 File: org.info,  Node: Closing items,  Next: Tracking TODO state changes,  Up: Progress Logging
   4142 
   4143 5.3.1 Closing items
   4144 -------------------
   4145 
   4146 The most basic automatic logging is to keep track of _when_ a certain
   4147 TODO item was marked as done.  This can be achieved with(1)
   4148 
   4149      (setq org-log-done 'time)
   4150 
   4151 Then each time you turn an entry from a TODO (not-done) state into any
   4152 of the DONE states, a line ‘CLOSED: [timestamp]’ is inserted just after
   4153 the headline.  If you turn the entry back into a TODO item through
   4154 further state cycling, that line is removed again.  If you turn the
   4155 entry back to a non-TODO state (by pressing ‘C-c C-t <SPC>’ for
   4156 example), that line is also removed, unless you set
   4157 ‘org-closed-keep-when-no-todo’ to non-‘nil’.  If you want to record a
   4158 note along with the timestamp, use(2)
   4159 
   4160      (setq org-log-done 'note)
   4161 
   4162 You are then prompted for a note, and that note is stored below the
   4163 entry with a ‘Closing Note’ heading.
   4164 
   4165    ---------- Footnotes ----------
   4166 
   4167    (1) The corresponding in-buffer setting is: ‘#+STARTUP: logdone’.
   4168 
   4169    (2) The corresponding in-buffer setting is: ‘#+STARTUP: lognotedone’.
   4170 
   4171 
   4172 File: org.info,  Node: Tracking TODO state changes,  Next: Tracking your habits,  Prev: Closing items,  Up: Progress Logging
   4173 
   4174 5.3.2 Tracking TODO state changes
   4175 ---------------------------------
   4176 
   4177 You might want to automatically keep track of when a state change
   4178 occurred and maybe take a note about this change.  You can either record
   4179 just a timestamp, or a time-stamped note.  These records are inserted
   4180 after the headline as an itemized list, newest first(1).  When taking a
   4181 lot of notes, you might want to get the notes out of the way into a
   4182 drawer (see *note Drawers::).  Customize the variable
   4183 ‘org-log-into-drawer’ to get this behavior—the recommended drawer for
   4184 this is called ‘LOGBOOK’(2).  You can also overrule the setting of this
   4185 variable for a subtree by setting a ‘LOG_INTO_DRAWER’ property.
   4186 
   4187    Since it is normally too much to record a note for every state, Org
   4188 mode expects configuration on a per-keyword basis for this.  This is
   4189 achieved by adding special markers ‘!’ (for a timestamp) or ‘@’ (for a
   4190 note with timestamp) in parentheses after each keyword.  For example,
   4191 with the setting
   4192 
   4193      (setq org-todo-keywords
   4194            '((sequence "TODO(t)" "WAIT(w@/!)" "|" "DONE(d!)" "CANCELED(c@)")))
   4195 
   4196    You not only define global TODO keywords and fast access keys, but
   4197 also request that a time is recorded when the entry is set to ‘DONE’,
   4198 and that a note is recorded when switching to ‘WAIT’ or ‘CANCELED’(3).
   4199 The setting for ‘WAIT’ is even more special: the ‘!’ after the slash
   4200 means that in addition to the note taken when entering the state, a
   4201 timestamp should be recorded when _leaving_ the ‘WAIT’ state, if and
   4202 only if the _target_ state does not configure logging for entering it.
   4203 So it has no effect when switching from ‘WAIT’ to ‘DONE’, because ‘DONE’
   4204 is configured to record a timestamp only.  But when switching from
   4205 ‘WAIT’ back to ‘TODO’, the ‘/!’ in the ‘WAIT’ setting now triggers a
   4206 timestamp even though ‘TODO’ has no logging configured.
   4207 
   4208    You can use the exact same syntax for setting logging preferences
   4209 local to a buffer:
   4210 
   4211      #+TODO: TODO(t) WAIT(w@/!) | DONE(d!) CANCELED(c@)
   4212 
   4213    To record a timestamp without a note for TODO keywords configured
   4214 with ‘@’, just type ‘C-c C-c’ to enter a blank note when prompted.
   4215 
   4216    In order to define logging settings that are local to a subtree or a
   4217 single item, define a ‘LOGGING’ property in this entry.  Any non-empty
   4218 ‘LOGGING’ property resets all logging settings to ‘nil’.  You may then
   4219 turn on logging for this specific tree using ‘STARTUP’ keywords like
   4220 ‘lognotedone’ or ‘logrepeat’, as well as adding state specific settings
   4221 like ‘TODO(!)’.  For example:
   4222 
   4223      * TODO Log each state with only a time
   4224        :PROPERTIES:
   4225        :LOGGING: TODO(!) WAIT(!) DONE(!) CANCELED(!)
   4226        :END:
   4227      * TODO Only log when switching to WAIT, and when repeating
   4228        :PROPERTIES:
   4229        :LOGGING: WAIT(@) logrepeat
   4230        :END:
   4231      * TODO No logging at all
   4232        :PROPERTIES:
   4233        :LOGGING: nil
   4234        :END:
   4235 
   4236    ---------- Footnotes ----------
   4237 
   4238    (1) See the variable ‘org-log-states-order-reversed’.
   4239 
   4240    (2) Note that the ‘LOGBOOK’ drawer is unfolded when pressing ‘<SPC>’
   4241 in the agenda to show an entry—use ‘C-u <SPC>’ to keep it folded here.
   4242 
   4243    (3) It is possible that Org mode records two timestamps when you are
   4244 using both ‘org-log-done’ and state change logging.  However, it never
   4245 prompts for two notes: if you have configured both, the state change
   4246 recording note takes precedence and cancel the closing note.
   4247 
   4248 
   4249 File: org.info,  Node: Tracking your habits,  Prev: Tracking TODO state changes,  Up: Progress Logging
   4250 
   4251 5.3.3 Tracking your habits
   4252 --------------------------
   4253 
   4254 Org has the ability to track the consistency of a special category of
   4255 TODO, called “habits.” To use habits, you have to enable the ‘habit’
   4256 module by customizing the variable ‘org-modules’.
   4257 
   4258    A habit has the following properties:
   4259 
   4260   1. The habit is a TODO item, with a TODO keyword representing an open
   4261      state.
   4262 
   4263   2. The property ‘STYLE’ is set to the value ‘habit’ (see *note
   4264      Properties and Columns::).
   4265 
   4266   3. The TODO has a scheduled date, usually with a ‘.+’ style repeat
   4267      interval.  A ‘++’ style may be appropriate for habits with time
   4268      constraints, e.g., must be done on specific days of week (‘++1w’),
   4269      or a ‘+’ style for an unusual habit that can have a backlog, e.g.,
   4270      weekly reports.  See *note Repeated tasks:: for more details about
   4271      repeat intervals.
   4272 
   4273   4. The TODO may also have minimum and maximum ranges specified by
   4274      using the syntax ‘.+2d/3d’, which says that you want to do the task
   4275      at least every three days, but at most every two days.
   4276 
   4277   5. State logging for the DONE state is enabled (see *note Tracking
   4278      TODO state changes::), in order for historical data to be
   4279      represented in the consistency graph.  If it is not enabled it is
   4280      not an error, but the consistency graphs are largely meaningless.
   4281 
   4282    To give you an idea of what the above rules look like in action,
   4283 here’s an actual habit with some history:
   4284 
   4285      ** TODO Shave
   4286         SCHEDULED: <2009-10-17 Sat .+2d/4d>
   4287         :PROPERTIES:
   4288         :STYLE:    habit
   4289         :LAST_REPEAT: [2009-10-19 Mon 00:36]
   4290         :END:
   4291         - State "DONE"       from "TODO"       [2009-10-15 Thu]
   4292         - State "DONE"       from "TODO"       [2009-10-12 Mon]
   4293         - State "DONE"       from "TODO"       [2009-10-10 Sat]
   4294         - State "DONE"       from "TODO"       [2009-10-04 Sun]
   4295         - State "DONE"       from "TODO"       [2009-10-02 Fri]
   4296         - State "DONE"       from "TODO"       [2009-09-29 Tue]
   4297         - State "DONE"       from "TODO"       [2009-09-25 Fri]
   4298         - State "DONE"       from "TODO"       [2009-09-19 Sat]
   4299         - State "DONE"       from "TODO"       [2009-09-16 Wed]
   4300         - State "DONE"       from "TODO"       [2009-09-12 Sat]
   4301 
   4302    What this habit says is: I want to shave at most every 2 days—given
   4303 by the ‘SCHEDULED’ date and repeat interval—and at least every 4 days.
   4304 If today is the 15th, then the habit first appears in the agenda (see
   4305 *note Agenda Views::) on Oct 17, after the minimum of 2 days has
   4306 elapsed, and will appear overdue on Oct 19, after four days have
   4307 elapsed.
   4308 
   4309    What’s really useful about habits is that they are displayed along
   4310 with a consistency graph, to show how consistent you’ve been at getting
   4311 that task done in the past.  This graph shows every day that the task
   4312 was done over the past three weeks, with colors for each day.  The
   4313 colors used are:
   4314 
   4315 Blue
   4316      If the task was not to be done yet on that day.
   4317 Green
   4318      If the task could have been done on that day.
   4319 Yellow
   4320      If the task was going to be overdue the next day.
   4321 Red
   4322      If the task was overdue on that day.
   4323 
   4324    In addition to coloring each day, the day is also marked with an
   4325 asterisk if the task was actually done that day, and an exclamation mark
   4326 to show where the current day falls in the graph.
   4327 
   4328    There are several configuration variables that can be used to change
   4329 the way habits are displayed in the agenda.
   4330 
   4331 ‘org-habit-graph-column’
   4332      The buffer column at which the consistency graph should be drawn.
   4333      This overwrites any text in that column, so it is a good idea to
   4334      keep your habits’ titles brief and to the point.
   4335 
   4336 ‘org-habit-preceding-days’
   4337      The amount of history, in days before today, to appear in
   4338      consistency graphs.
   4339 
   4340 ‘org-habit-following-days’
   4341      The number of days after today that appear in consistency graphs.
   4342 
   4343 ‘org-habit-show-habits-only-for-today’
   4344      If non-‘nil’, only show habits in today’s agenda view.  The default
   4345      value is ‘t’.  Pressing ‘C-u K’ in the agenda toggles this
   4346      variable.
   4347 
   4348    Lastly, pressing ‘K’ in the agenda buffer causes habits to
   4349 temporarily be disabled and do not appear at all.  Press ‘K’ again to
   4350 bring them back.  They are also subject to tag filtering, if you have
   4351 habits which should only be done in certain contexts, for example.
   4352 
   4353 
   4354 File: org.info,  Node: Priorities,  Next: Breaking Down Tasks,  Prev: Progress Logging,  Up: TODO Items
   4355 
   4356 5.4 Priorities
   4357 ==============
   4358 
   4359 If you use Org mode extensively, you may end up with enough TODO items
   4360 that it starts to make sense to prioritize them.  Prioritizing can be
   4361 done by placing a _priority cookie_ into the headline of a TODO item
   4362 right after the TODO keyword, like this:
   4363 
   4364      *** TODO [#A] Write letter to Sam Fortune
   4365 
   4366    By default, Org mode supports three priorities: ‘A’, ‘B’, and ‘C’.
   4367 ‘A’ is the highest priority.  An entry without a cookie is treated as
   4368 equivalent if it had priority ‘B’.  Priorities make a difference only
   4369 for sorting in the agenda (see *note Weekly/daily agenda::).  Outside
   4370 the agenda, they have no inherent meaning to Org mode.  The cookies are
   4371 displayed with the face defined by the variable ‘org-priority-faces’,
   4372 which can be customized.
   4373 
   4374    You can also use numeric values for priorities, such as
   4375 
   4376      *** TODO [#1] Write letter to Sam Fortune
   4377 
   4378    When using numeric priorities, you need to set
   4379 ‘org-priority-highest’, ‘org-priority-lowest’ and ‘org-priority-default’
   4380 to integers, which must all be strictly inferior to 65.
   4381 
   4382    Priorities can be attached to any outline node; they do not need to
   4383 be TODO items.
   4384 
   4385 ‘C-c ,’ (‘org-priority’)
   4386      Set the priority of the current headline.  The command prompts for
   4387      a priority character ‘A’, ‘B’ or ‘C’.  When you press ‘<SPC>’
   4388      instead, the priority cookie, if one is set, is removed from the
   4389      headline.  The priorities can also be changed “remotely” from the
   4390      agenda buffer with the ‘,’ command (see *note Agenda Commands::).
   4391 
   4392 ‘S-<UP>’ (‘org-priority-up’)
   4393 ‘S-<DOWN>’ (‘org-priority-down’)
   4394      Increase/decrease the priority of the current headline(1).  Note
   4395      that these keys are also used to modify timestamps (see *note
   4396      Creating Timestamps::).  See also *note Conflicts::, for a
   4397      discussion of the interaction with shift-selection.
   4398 
   4399    You can change the range of allowed priorities by setting the
   4400 variables ‘org-priority-highest’, ‘org-priority-lowest’, and
   4401 ‘org-priority-default’.  For an individual buffer, you may set these
   4402 values (highest, lowest, default) like this (please make sure that the
   4403 highest priority is earlier in the alphabet than the lowest priority):
   4404 
   4405      #+PRIORITIES: A C B
   4406 
   4407    Or, using numeric values:
   4408 
   4409      #+PRIORITIES: 1 10 5
   4410 
   4411    ---------- Footnotes ----------
   4412 
   4413    (1) See also the option ‘org-priority-start-cycle-with-default’.
   4414 
   4415 
   4416 File: org.info,  Node: Breaking Down Tasks,  Next: Checkboxes,  Prev: Priorities,  Up: TODO Items
   4417 
   4418 5.5 Breaking Down Tasks into Subtasks
   4419 =====================================
   4420 
   4421 It is often advisable to break down large tasks into smaller, manageable
   4422 subtasks.  You can do this by creating an outline tree below a TODO
   4423 item, with detailed subtasks on the tree(1).  To keep an overview of the
   4424 fraction of subtasks that have already been marked as done, insert
   4425 either ‘[/]’ or ‘[%]’ anywhere in the headline.  These cookies are
   4426 updated each time the TODO status of a child changes, or when pressing
   4427 ‘C-c C-c’ on the cookie.  For example:
   4428 
   4429      * Organize Party [33%]
   4430      ** TODO Call people [1/2]
   4431      *** TODO Peter
   4432      *** DONE Sarah
   4433      ** TODO Buy food
   4434      ** DONE Talk to neighbor
   4435 
   4436    If a heading has both checkboxes and TODO children below it, the
   4437 meaning of the statistics cookie become ambiguous.  Set the property
   4438 ‘COOKIE_DATA’ to either ‘checkbox’ or ‘todo’ to resolve this issue.
   4439 
   4440    If you would like to have the statistics cookie count any TODO
   4441 entries in the subtree (not just direct children), configure the
   4442 variable ‘org-hierarchical-todo-statistics’.  To do this for a single
   4443 subtree, include the word ‘recursive’ into the value of the
   4444 ‘COOKIE_DATA’ property.
   4445 
   4446      * Parent capturing statistics [2/20]
   4447        :PROPERTIES:
   4448        :COOKIE_DATA: todo recursive
   4449        :END:
   4450 
   4451    If you would like a TODO entry to automatically change to DONE when
   4452 all children are done, you can use the following setup:
   4453 
   4454      (defun org-summary-todo (n-done n-not-done)
   4455        "Switch entry to DONE when all subentries are done, to TODO otherwise."
   4456        (let (org-log-done org-todo-log-states)   ; turn off logging
   4457          (org-todo (if (= n-not-done 0) "DONE" "TODO"))))
   4458 
   4459      (add-hook 'org-after-todo-statistics-hook #'org-summary-todo)
   4460 
   4461    Another possibility is the use of checkboxes to identify (a hierarchy
   4462 of) a large number of subtasks (see *note Checkboxes::).
   4463 
   4464    ---------- Footnotes ----------
   4465 
   4466    (1) To keep subtasks out of the global TODO list, see the option
   4467 ‘org-agenda-todo-list-sublevels’.
   4468 
   4469 
   4470 File: org.info,  Node: Checkboxes,  Prev: Breaking Down Tasks,  Up: TODO Items
   4471 
   4472 5.6 Checkboxes
   4473 ==============
   4474 
   4475 Every item in a plain list(1) (see *note Plain Lists::) can be made into
   4476 a checkbox by starting it with the string ‘[ ]’.  This feature is
   4477 similar to TODO items (see *note TODO Items::), but is more lightweight.
   4478 Checkboxes are not included into the global TODO list, so they are often
   4479 great to split a task into a number of simple steps.  Or you can use
   4480 them in a shopping list.
   4481 
   4482    Here is an example of a checkbox list.
   4483 
   4484      * TODO Organize party [2/4]
   4485        - [-] call people [1/3]
   4486          - [ ] Peter
   4487          - [X] Sarah
   4488          - [ ] Sam
   4489        - [X] order food
   4490        - [ ] think about what music to play
   4491        - [X] talk to the neighbors
   4492 
   4493    The ‘[2/4]’ and ‘[1/3]’ in the first and second line are cookies
   4494 indicating how many checkboxes present in this entry have been checked
   4495 off, and the total number of checkboxes present.  This can give you an
   4496 idea on how many checkboxes remain, even without opening a folded entry.
   4497 The cookies can be placed into a headline or into (the first line of) a
   4498 plain list item.  Each cookie covers checkboxes of direct children
   4499 structurally below the headline/item on which the cookie appears(2).
   4500 You have to insert the cookie yourself by typing either ‘[/]’ or ‘[%]’.
   4501 With ‘[/]’ you get an ‘n out of m’ result, as in the examples above.
   4502 With ‘[%]’ you get information about the percentage of checkboxes
   4503 checked (in the above example, this would be ‘[50%]’ and ‘[33%]’,
   4504 respectively).  In a headline, a cookie can count either checkboxes
   4505 below the heading or TODO states of children, and it displays whatever
   4506 was changed last.  Set the property ‘COOKIE_DATA’ to either ‘checkbox’
   4507 or ‘todo’ to resolve this issue.
   4508 
   4509    If the current outline node has an ‘ORDERED’ property, checkboxes
   4510 must be checked off in sequence, and an error is thrown if you try to
   4511 check off a box while there are unchecked boxes above it.
   4512 
   4513    A checkbox can be in one of the three states:
   4514   1. not checked ‘[ ]’
   4515   2. partially checked ‘[-]’
   4516   3. checked ‘[X]’
   4517 
   4518    Checkboxes work hierarchically, so if a checkbox item has children
   4519 that are checkboxes, toggling one of the children checkboxes makes the
   4520 parent checkbox reflect if none, some, or all of the children are
   4521 checked.
   4522 
   4523    If all child checkboxes are not checked, the parent checkbox is also
   4524 not checked.
   4525      - [ ] call people
   4526        - [ ] Peter
   4527        - [ ] Sarah
   4528 
   4529    If some but not all child checkboxes are checked, the parent checkbox
   4530 is partially checked.
   4531      - [-] call people
   4532        - [X] Peter
   4533        - [ ] Sarah
   4534 
   4535    If all child checkboxes are checked, the parent checkbox is also
   4536 checked.
   4537      - [X] call people
   4538        - [X] Peter
   4539        - [X] Sarah
   4540 
   4541    The following commands work with checkboxes:
   4542 
   4543 ‘C-c C-c’ (‘org-toggle-checkbox’)
   4544      Toggle checkbox status or—with prefix argument—checkbox presence at
   4545      point.  With a single prefix argument, add an empty checkbox or
   4546      remove the current one(3).  With a double prefix argument, set it
   4547      to ‘[-]’, which is considered to be an intermediate state.
   4548 
   4549 ‘C-c C-x C-b’ (‘org-toggle-checkbox’)
   4550      Toggle checkbox status or—with prefix argument—checkbox presence at
   4551      point.  With double prefix argument, set it to ‘[-]’, which is
   4552      considered to be an intermediate state.
   4553 
   4554         • If there is an active region, toggle the first checkbox in the
   4555           region and set all remaining boxes to the same status as the
   4556           first.  With a prefix argument, add or remove the checkbox for
   4557           all items in the region.
   4558 
   4559         • If point is in a headline, toggle checkboxes in the region
   4560           between this headline and the next—so _not_ the entire
   4561           subtree.
   4562 
   4563         • If there is no active region, just toggle the checkbox at
   4564           point.
   4565 
   4566 ‘C-c C-x C-r’ (‘org-toggle-radio-button’)
   4567      Toggle checkbox status by using the checkbox of the item at point
   4568      as a radio button: when the checkbox is turned on, all other
   4569      checkboxes on the same level will be turned off.  With a universal
   4570      prefix argument, toggle the presence of the checkbox.  With a
   4571      double prefix argument, set it to ‘[-]’.
   4572 
   4573      ‘C-c C-c’ can be told to consider checkboxes as radio buttons by
   4574      setting ‘#+ATTR_ORG: :radio t’ right before the list or by calling
   4575      ‘M-x org-list-checkbox-radio-mode’ to activate this minor mode.
   4576 
   4577 ‘M-S-<RET>’ (‘org-insert-todo-heading’)
   4578      Insert a new item with a checkbox.  This works only if point is
   4579      already in a plain list item (see *note Plain Lists::).
   4580 
   4581 ‘C-c C-x o’ (‘org-toggle-ordered-property’)
   4582      Toggle the ‘ORDERED’ property of the entry, to toggle if checkboxes
   4583      must be checked off in sequence.  A property is used for this
   4584      behavior because this should be local to the current entry, not
   4585      inherited like a tag.  However, if you would like to _track_ the
   4586      value of this property with a tag for better visibility, customize
   4587      ‘org-track-ordered-property-with-tag’.
   4588 
   4589 ‘C-c #’ (‘org-update-statistics-cookies’)
   4590      Update the statistics cookie in the current outline entry.  When
   4591      called with a ‘C-u’ prefix, update the entire file.  Checkbox
   4592      statistic cookies are updated automatically if you toggle
   4593      checkboxes with ‘C-c C-c’ and make new ones with ‘M-S-<RET>’.  TODO
   4594      statistics cookies update when changing TODO states.  If you delete
   4595      boxes/entries or add/change them by hand, use this command to get
   4596      things back into sync.
   4597 
   4598    ---------- Footnotes ----------
   4599 
   4600    (1) With the exception of description lists.  But you can allow it by
   4601 modifying ‘org-list-automatic-rules’ accordingly.
   4602 
   4603    (2) Set the variable ‘org-checkbox-hierarchical-statistics’ if you
   4604 want such cookies to count all checkboxes below the cookie, not just
   4605 those belonging to direct children.
   4606 
   4607    (3) ‘C-u C-c C-c’ on the _first_ item of a list with no checkbox adds
   4608 checkboxes to the rest of the list.
   4609 
   4610 
   4611 File: org.info,  Node: Tags,  Next: Properties and Columns,  Prev: TODO Items,  Up: Top
   4612 
   4613 6 Tags
   4614 ******
   4615 
   4616 An excellent way to implement labels and contexts for cross-correlating
   4617 information is to assign _tags_ to headlines.  Org mode has extensive
   4618 support for tags.
   4619 
   4620    Every headline can contain a list of tags; they occur at the end of
   4621 the headline.  Tags are normal words containing letters, numbers, ‘_’,
   4622 and ‘@’.  Tags must be preceded and followed by a single colon, e.g.,
   4623 ‘:work:’.  Several tags can be specified, as in ‘:work:urgent:’.  Tags
   4624 by default are in bold face with the same color as the headline.  You
   4625 may specify special faces for specific tags using the variable
   4626 ‘org-tag-faces’, in much the same way as you can for TODO keywords (see
   4627 *note Faces for TODO keywords::).
   4628 
   4629 * Menu:
   4630 
   4631 * Tag Inheritance::              Tags use the tree structure of an outline.
   4632 * Setting Tags::                 How to assign tags to a headline.
   4633 * Tag Hierarchy::                Create a hierarchy of tags.
   4634 * Tag Searches::                 Searching for combinations of tags.
   4635 
   4636 
   4637 File: org.info,  Node: Tag Inheritance,  Next: Setting Tags,  Up: Tags
   4638 
   4639 6.1 Tag Inheritance
   4640 ===================
   4641 
   4642 _Tags_ make use of the hierarchical structure of outline trees.  If a
   4643 heading has a certain tag, all subheadings inherit the tag as well.  For
   4644 example, in the list
   4645 
   4646      * Meeting with the French group      :work:
   4647      ** Summary by Frank                  :boss:notes:
   4648      *** TODO Prepare slides for him      :action:
   4649 
   4650 the final heading has the tags ‘work’, ‘boss’, ‘notes’, and ‘action’
   4651 even though the final heading is not explicitly marked with those tags.
   4652 You can also set tags that all entries in a file should inherit just as
   4653 if these tags were defined in a hypothetical level zero that surrounds
   4654 the entire file.  Use a line like this(1)
   4655 
   4656      #+FILETAGS: :Peter:Boss:Secret:
   4657 
   4658    To limit tag inheritance to specific tags, or to turn it off
   4659 entirely, use the variables ‘org-use-tag-inheritance’ and
   4660 ‘org-tags-exclude-from-inheritance’.
   4661 
   4662    Tag inheritance is relevant when the agenda search tries to match a
   4663 tag, either in the ‘tags’ or ‘tags-todo’ agenda types.  In other agenda
   4664 types, ‘org-use-tag-inheritance’ has no effect.  Still, you may want to
   4665 have your tags correctly set in the agenda, so that tag filtering works
   4666 fine, with inherited tags.  Set ‘org-agenda-use-tag-inheritance’ to
   4667 control this: the default value includes all agenda types, but setting
   4668 this to ‘nil’ can really speed up agenda generation.
   4669 
   4670    ---------- Footnotes ----------
   4671 
   4672    (1) As with all these in-buffer settings, pressing ‘C-c C-c’
   4673 activates any changes in the line.
   4674 
   4675 
   4676 File: org.info,  Node: Setting Tags,  Next: Tag Hierarchy,  Prev: Tag Inheritance,  Up: Tags
   4677 
   4678 6.2 Setting Tags
   4679 ================
   4680 
   4681 Tags can simply be typed into the buffer at the end of a headline.
   4682 After a colon, ‘M-<TAB>’ offers completion on tags.  There is also a
   4683 special command for inserting tags:
   4684 
   4685 ‘C-c C-q’ (‘org-set-tags-command’)
   4686      Enter new tags for the current headline.  Org mode either offers
   4687      completion or a special single-key interface for setting tags, see
   4688      below.  After pressing ‘<RET>’, the tags are inserted and aligned
   4689      to ‘org-tags-column’.  When called with a ‘C-u’ prefix, all tags in
   4690      the current buffer are aligned to that column, just to make things
   4691      look nice.  Tags are automatically realigned after promotion,
   4692      demotion, and TODO state changes (see *note TODO Basics::).
   4693 
   4694 ‘C-c C-c’ (‘org-set-tags-command’)
   4695      When point is in a headline, this does the same as ‘C-c C-q’.
   4696 
   4697    Org supports tag insertion based on a _list of tags_.  By default
   4698 this list is constructed dynamically, containing all tags currently used
   4699 in the buffer(1).  You may also globally specify a hard list of tags
   4700 with the variable ‘org-tag-alist’.  Finally you can set the default tags
   4701 for a given file using the ‘TAGS’ keyword, like
   4702 
   4703      #+TAGS: @work @home @tennisclub
   4704      #+TAGS: laptop car pc sailboat
   4705 
   4706    If you have globally defined your preferred set of tags using the
   4707 variable ‘org-tag-alist’, but would like to use a dynamic tag list in a
   4708 specific file, add an empty ‘TAGS’ keyword to that file:
   4709 
   4710      #+TAGS:
   4711 
   4712    If you have a preferred set of tags that you would like to use in
   4713 every file, in addition to those defined on a per-file basis by ‘TAGS’
   4714 keyword, then you may specify a list of tags with the variable
   4715 ‘org-tag-persistent-alist’.  You may turn this off on a per-file basis
   4716 by adding a ‘STARTUP’ keyword to that file:
   4717 
   4718      #+STARTUP: noptag
   4719 
   4720    By default Org mode uses the standard minibuffer completion
   4721 facilities for entering tags.  However, it also implements another,
   4722 quicker, tag selection method called _fast tag selection_.  This allows
   4723 you to select and deselect tags with just a single key press.  For this
   4724 to work well you should assign unique letters to most of your commonly
   4725 used tags.  You can do this globally by configuring the variable
   4726 ‘org-tag-alist’ in your Emacs init file.  For example, you may find the
   4727 need to tag many items in different files with ‘@home’.  In this case
   4728 you can set something like:
   4729 
   4730      (setq org-tag-alist '(("@work" . ?w) ("@home" . ?h) ("laptop" . ?l)))
   4731 
   4732    If the tag is only relevant to the file you are working on, then you
   4733 can instead set the ‘TAGS’ keyword as:
   4734 
   4735      #+TAGS: @work(w)  @home(h)  @tennisclub(t)  laptop(l)  pc(p)
   4736 
   4737    The tags interface shows the available tags in a splash window.  If
   4738 you want to start a new line after a specific tag, insert ‘\n’ into the
   4739 tag list
   4740 
   4741      #+TAGS: @work(w) @home(h) @tennisclub(t) \n laptop(l) pc(p)
   4742 
   4743 or write them in two lines:
   4744 
   4745      #+TAGS: @work(w)  @home(h)  @tennisclub(t)
   4746      #+TAGS: laptop(l)  pc(p)
   4747 
   4748    You can also group together tags that are mutually exclusive by using
   4749 braces, as in:
   4750 
   4751      #+TAGS: { @work(w)  @home(h)  @tennisclub(t) }  laptop(l)  pc(p)
   4752 
   4753 you indicate that at most one of ‘@work’, ‘@home’, and ‘@tennisclub’
   4754 should be selected.  Multiple such groups are allowed.
   4755 
   4756    Do not forget to press ‘C-c C-c’ with point in one of these lines to
   4757 activate any changes.
   4758 
   4759    To set these mutually exclusive groups in the variable
   4760 ‘org-tags-alist’, you must use the dummy tags ‘:startgroup’ and
   4761 ‘:endgroup’ instead of the braces.  Similarly, you can use ‘:newline’ to
   4762 indicate a line break.  The previous example would be set globally by
   4763 the following configuration:
   4764 
   4765      (setq org-tag-alist '((:startgroup . nil)
   4766                            ("@work" . ?w) ("@home" . ?h)
   4767                            ("@tennisclub" . ?t)
   4768                            (:endgroup . nil)
   4769                            ("laptop" . ?l) ("pc" . ?p)))
   4770 
   4771    If at least one tag has a selection key then pressing ‘C-c C-c’
   4772 automatically presents you with a special interface, listing inherited
   4773 tags, the tags of the current headline, and a list of all valid tags
   4774 with corresponding keys(2).
   4775 
   4776    Pressing keys assigned to tags adds or removes them from the list of
   4777 tags in the current line.  Selecting a tag in a group of mutually
   4778 exclusive tags turns off any other tag from that group.
   4779 
   4780    In this interface, you can also use the following special keys:
   4781 
   4782 ‘<TAB>’
   4783      Enter a tag in the minibuffer, even if the tag is not in the
   4784      predefined list.  You can complete on all tags present in the
   4785      buffer and globally pre-defined tags from ‘org-tag-alist’ and
   4786      ‘org-tag-persistent-alist’.  You can also add several tags: just
   4787      separate them with a comma.
   4788 
   4789 ‘<SPC>’
   4790      Clear all tags for this line.
   4791 
   4792 ‘<RET>’
   4793      Accept the modified set.
   4794 
   4795 ‘C-g’
   4796      Abort without installing changes.
   4797 
   4798 ‘q’
   4799      If ‘q’ is not assigned to a tag, it aborts like ‘C-g’.
   4800 
   4801 ‘!’
   4802      Turn off groups of mutually exclusive tags.  Use this to (as an
   4803      exception) assign several tags from such a group.
   4804 
   4805 ‘C-c’
   4806      Toggle auto-exit after the next change (see below).  If you are
   4807      using expert mode, the first ‘C-c’ displays the selection window.
   4808 
   4809    This method lets you assign tags to a headline with very few keys.
   4810 With the above setup, you could clear the current tags and set ‘@home’,
   4811 ‘laptop’ and ‘pc’ tags with just the following keys: ‘C-c C-c <SPC> h l
   4812 p <RET>’.  Switching from ‘@home’ to ‘@work’ would be done with ‘C-c C-c
   4813 w <RET>’ or alternatively with ‘C-c C-c C-c w’.  Adding the
   4814 non-predefined tag ‘sarah’ could be done with ‘C-c C-c <TAB> s a r a h
   4815 <RET>’.
   4816 
   4817    If you find that most of the time you need only a single key press to
   4818 modify your list of tags, set the variable
   4819 ‘org-fast-tag-selection-single-key’.  Then you no longer have to press
   4820 ‘<RET>’ to exit fast tag selection—it exits after the first change.  If
   4821 you then occasionally need more keys, press ‘C-c’ to turn off auto-exit
   4822 for the current tag selection process (in effect: start selection with
   4823 ‘C-c C-c C-c’ instead of ‘C-c C-c’).  If you set the variable to the
   4824 value ‘expert’, the special window is not even shown for single-key tag
   4825 selection, it comes up only when you press an extra ‘C-c’.
   4826 
   4827    The number of tags displayed in the fast tag selection interface is
   4828 limited by ‘org-fast-tag-selection-maximum-tags’ to avoid running out of
   4829 keyboard keys.  You can customize this variable.
   4830 
   4831    ---------- Footnotes ----------
   4832 
   4833    (1) To extend this default list to all tags used in all agenda files
   4834 (see *note Agenda Views::), customize the variable
   4835 ‘org-complete-tags-always-offer-all-agenda-tags’.
   4836 
   4837    (2) Keys are automatically assigned to tags that have no configured
   4838 keys.
   4839 
   4840 
   4841 File: org.info,  Node: Tag Hierarchy,  Next: Tag Searches,  Prev: Setting Tags,  Up: Tags
   4842 
   4843 6.3 Tag Hierarchy
   4844 =================
   4845 
   4846 Tags can be defined in hierarchies.  A tag can be defined as a _group
   4847 tag_ for a set of other tags.  The group tag can be seen as the “broader
   4848 term” for its set of tags.  Defining multiple group tags and nesting
   4849 them creates a tag hierarchy.
   4850 
   4851    One use-case is to create a taxonomy of terms (tags) that can be used
   4852 to classify nodes in a document or set of documents.
   4853 
   4854    When you search for a group tag, it return matches for all members in
   4855 the group and its subgroups.  In an agenda view, filtering by a group
   4856 tag displays or hide headlines tagged with at least one of the members
   4857 of the group or any of its subgroups.  This makes tag searches and
   4858 filters even more flexible.
   4859 
   4860    You can set group tags by using brackets and inserting a colon
   4861 between the group tag and its related tags—beware that all whitespaces
   4862 are mandatory so that Org can parse this line correctly:
   4863 
   4864      #+TAGS: [ GTD : Control Persp ]
   4865 
   4866    In this example, ‘GTD’ is the group tag and it is related to two
   4867 other tags: ‘Control’, ‘Persp’.  Defining ‘Control’ and ‘Persp’ as group
   4868 tags creates a hierarchy of tags:
   4869 
   4870      #+TAGS: [ Control : Context Task ]
   4871      #+TAGS: [ Persp : Vision Goal AOF Project ]
   4872 
   4873    That can conceptually be seen as a hierarchy of tags:
   4874 
   4875    • ‘GTD’
   4876         • ‘Persp’
   4877              • ‘Vision’
   4878              • ‘Goal’
   4879              • ‘AOF’
   4880              • ‘Project’
   4881         • ‘Control’
   4882              • ‘Context’
   4883              • ‘Task’
   4884 
   4885    You can use the ‘:startgrouptag’, ‘:grouptags’ and ‘:endgrouptag’
   4886 keyword directly when setting ‘org-tag-alist’ directly:
   4887 
   4888      (setq org-tag-alist '((:startgrouptag)
   4889                            ("GTD")
   4890                            (:grouptags)
   4891                            ("Control")
   4892                            ("Persp")
   4893                            (:endgrouptag)
   4894                            (:startgrouptag)
   4895                            ("Control")
   4896                            (:grouptags)
   4897                            ("Context")
   4898                            ("Task")
   4899                            (:endgrouptag)))
   4900 
   4901    The tags in a group can be mutually exclusive if using the same group
   4902 syntax as is used for grouping mutually exclusive tags together; using
   4903 curly brackets.
   4904 
   4905      #+TAGS: { Context : @Home @Work @Call }
   4906 
   4907    When setting ‘org-tag-alist’ you can use ‘:startgroup’ and
   4908 ‘:endgroup’ instead of ‘:startgrouptag’ and ‘:endgrouptag’ to make the
   4909 tags mutually exclusive.
   4910 
   4911    Furthermore, the members of a group tag can also be regular
   4912 expressions, creating the possibility of a more dynamic and rule-based
   4913 tag structure (see *note Regular Expressions::).  The regular
   4914 expressions in the group must be specified within curly brackets.  Here
   4915 is an expanded example:
   4916 
   4917      #+TAGS: [ Vision : {V@.+} ]
   4918      #+TAGS: [ Goal : {G@.+} ]
   4919      #+TAGS: [ AOF : {AOF@.+} ]
   4920      #+TAGS: [ Project : {P@.+} ]
   4921 
   4922    Searching for the tag ‘Project’ now lists all tags also including
   4923 regular expression matches for ‘P@.+’, and similarly for tag searches on
   4924 ‘Vision’, ‘Goal’ and ‘AOF’.  For example, this would work well for a
   4925 project tagged with a common project-identifier, e.g., ‘P@2014_OrgTags’.
   4926 
   4927    If you want to ignore group tags temporarily, toggle group tags
   4928 support with ‘org-toggle-tags-groups’, bound to ‘C-c C-x q’.  If you
   4929 want to disable tag groups completely, set ‘org-group-tags’ to ‘nil’.
   4930 
   4931 
   4932 File: org.info,  Node: Tag Searches,  Prev: Tag Hierarchy,  Up: Tags
   4933 
   4934 6.4 Tag Searches
   4935 ================
   4936 
   4937 Once a system of tags has been set up, it can be used to collect related
   4938 information into special lists.
   4939 
   4940 ‘C-c / m’ or ‘C-c \’ (‘org-match-sparse-tree’)
   4941      Create a sparse tree with all headlines matching a tags search.
   4942      With a ‘C-u’ prefix argument, ignore headlines that are not a TODO
   4943      line.
   4944 
   4945 ‘M-x org-agenda m’ (‘org-tags-view’)
   4946      Create a global list of tag matches from all agenda files.  See
   4947      *note Matching tags and properties::.
   4948 
   4949 ‘M-x org-agenda M’ (‘org-tags-view’)
   4950      Create a global list of tag matches from all agenda files, but
   4951      check only TODO items.
   4952 
   4953    These commands all prompt for a match string which allows basic
   4954 Boolean logic like ‘+boss+urgent-project1’, to find entries with tags
   4955 ‘boss’ and ‘urgent’, but not ‘project1’, or ‘Kathy|Sally’ to find
   4956 entries which are tagged, like ‘Kathy’ or ‘Sally’.  The full syntax of
   4957 the search string is rich and allows also matching against TODO
   4958 keywords, entry levels and properties.  For a complete description with
   4959 many examples, see *note Matching tags and properties::.
   4960 
   4961 
   4962 File: org.info,  Node: Properties and Columns,  Next: Dates and Times,  Prev: Tags,  Up: Top
   4963 
   4964 7 Properties and Columns
   4965 ************************
   4966 
   4967 A property is a key-value pair associated with an entry.  Properties can
   4968 be set so they are associated with a single entry, with every entry in a
   4969 tree, or with the whole buffer.
   4970 
   4971    There are two main applications for properties in Org mode.  First,
   4972 properties are like tags, but with a value.  Imagine maintaining a file
   4973 where you document bugs and plan releases for a piece of software.
   4974 Instead of using tags like ‘release_1’, ‘release_2’, you can use a
   4975 property, say ‘Release’, that in different subtrees has different
   4976 values, such as ‘1.0’ or ‘2.0’.  Second, you can use properties to
   4977 implement (very basic) database capabilities in an Org buffer.  Imagine
   4978 keeping track of your music CDs, where properties could be things such
   4979 as the album, artist, date of release, number of tracks, and so on.
   4980 
   4981    Properties can be conveniently edited and viewed in column view (see
   4982 *note Column View::).
   4983 
   4984 * Menu:
   4985 
   4986 * Property Syntax::              How properties are spelled out.
   4987 * Special Properties::           Access to other Org mode features.
   4988 * Property Searches::            Matching property values.
   4989 * Property Inheritance::         Passing values down a tree.
   4990 * Column View::                  Tabular viewing and editing.
   4991 
   4992 
   4993 File: org.info,  Node: Property Syntax,  Next: Special Properties,  Up: Properties and Columns
   4994 
   4995 7.1 Property Syntax
   4996 ===================
   4997 
   4998 Properties are key–value pairs.  When they are associated with a single
   4999 entry or with a tree they need to be inserted into a special drawer (see
   5000 *note Drawers::) with the name ‘PROPERTIES’, which has to be located
   5001 right below a headline, and its planning line (see *note Deadlines and
   5002 Scheduling::) when applicable.  Each property is specified on a single
   5003 line, with the key—surrounded by colons—first, and the value after it.
   5004 Keys are case-insensitive.  Here is an example:
   5005 
   5006      * CD collection
   5007      ** Classic
   5008      *** Goldberg Variations
   5009          :PROPERTIES:
   5010          :Title:     Goldberg Variations
   5011          :Composer:  J.S. Bach
   5012          :Artist:    Glenn Gould
   5013          :Publisher: Deutsche Grammophon
   5014          :NDisks:    1
   5015          :END:
   5016 
   5017    Depending on the value of ‘org-use-property-inheritance’, a property
   5018 set this way is associated either with a single entry, or with the
   5019 subtree defined by the entry, see *note Property Inheritance::.
   5020 
   5021    You may define the allowed values for a particular property ‘Xyz’ by
   5022 setting a property ‘Xyz_ALL’.  This special property is _inherited_, so
   5023 if you set it in a level 1 entry, it applies to the entire tree.  When
   5024 allowed values are defined, setting the corresponding property becomes
   5025 easier and is less prone to typing errors.  For the example with the CD
   5026 collection, we can pre-define publishers and the number of disks in a
   5027 box like this:
   5028 
   5029      * CD collection
   5030        :PROPERTIES:
   5031        :NDisks_ALL:  1 2 3 4
   5032        :Publisher_ALL: "Deutsche Grammophon" Philips EMI
   5033        :END:
   5034 
   5035    Properties can be inserted at the buffer level.  That means they
   5036 apply before the first headline and can be inherited by all entries in a
   5037 file.  Property blocks defined before the first headline must be at the
   5038 top of the buffer with only comments above them.
   5039 
   5040    Properties can also be defined using lines like:
   5041 
   5042      #+PROPERTY: NDisks_ALL 1 2 3 4
   5043 
   5044    If you want to add to the value of an existing property, append a ‘+’
   5045 to the property name.  The following results in the property ‘var’
   5046 having the value ‘foo=1 bar=2’.
   5047 
   5048      #+PROPERTY: var  foo=1
   5049      #+PROPERTY: var+ bar=2
   5050 
   5051    It is also possible to add to the values of inherited properties.
   5052 The following results in the ‘Genres’ property having the value ‘Classic
   5053 Baroque’ under the ‘Goldberg Variations’ subtree.
   5054 
   5055      * CD collection
   5056      ** Classic
   5057          :PROPERTIES:
   5058          :Genres: Classic
   5059          :END:
   5060      *** Goldberg Variations
   5061          :PROPERTIES:
   5062          :Title:     Goldberg Variations
   5063          :Composer:  J.S. Bach
   5064          :Artist:    Glenn Gould
   5065          :Publisher: Deutsche Grammophon
   5066          :NDisks:    1
   5067          :Genres+:   Baroque
   5068          :END:
   5069 
   5070    Note that a property can only have one entry per drawer.
   5071 
   5072    Property values set with the global variable ‘org-global-properties’
   5073 can be inherited by all entries in all Org files.
   5074 
   5075    The following commands help to work with properties:
   5076 
   5077 ‘M-<TAB>’ (‘pcomplete’)
   5078      After an initial colon in a line, complete property keys.  All keys
   5079      used in the current file are offered as possible completions.
   5080 
   5081 ‘C-c C-x p’ (‘org-set-property’)
   5082      Set a property.  This prompts for a property name and a value.  If
   5083      necessary, the property drawer is created as well.
   5084 
   5085 ‘C-u M-x org-insert-drawer’
   5086      Insert a property drawer into the current entry.  The drawer is
   5087      inserted early in the entry, but after the lines with planning
   5088      information like deadlines.  If before first headline the drawer is
   5089      inserted at the top of the drawer after any potential comments.
   5090 
   5091 ‘C-c C-c’ (‘org-property-action’)
   5092      With point in a property drawer, this executes property commands.
   5093 
   5094 ‘C-c C-c s’ (‘org-set-property’)
   5095      Set a property in the current entry.  Both the property and the
   5096      value can be inserted using completion.
   5097 
   5098 ‘S-<RIGHT>’ (‘org-property-next-allowed-value’)
   5099 ‘S-<LEFT>’ (‘org-property-previous-allowed-value’)
   5100      Switch property at point to the next/previous allowed value.
   5101 
   5102 ‘C-c C-c d’ (‘org-delete-property’)
   5103      Remove a property from the current entry.
   5104 
   5105 ‘C-c C-c D’ (‘org-delete-property-globally’)
   5106      Globally remove a property, from all entries in the current file.
   5107 
   5108 ‘C-c C-c c’ (‘org-compute-property-at-point’)
   5109      Compute the property at point, using the operator and scope from
   5110      the nearest column format definition.
   5111 
   5112 
   5113 File: org.info,  Node: Special Properties,  Next: Property Searches,  Prev: Property Syntax,  Up: Properties and Columns
   5114 
   5115 7.2 Special Properties
   5116 ======================
   5117 
   5118 Special properties provide an alternative access method to Org mode
   5119 features, like the TODO state or the priority of an entry, discussed in
   5120 the previous chapters.  This interface exists so that you can include
   5121 these states in a column view (see *note Column View::), or to use them
   5122 in queries.  The following property names are special and should not be
   5123 used as keys in the properties drawer:
   5124 
   5125 ‘ALLTAGS’        All tags, including inherited ones.
   5126 ‘BLOCKED’        ‘t’ if task is currently blocked by children or siblings.
   5127 ‘CATEGORY’       The category of an entry.
   5128 ‘CLOCKSUM’       The sum of CLOCK intervals in the subtree.  ‘org-clock-sum’
   5129                  must be run first to compute the values in the current buffer.
   5130 ‘CLOCKSUM_T’     The sum of CLOCK intervals in the subtree for today.
   5131                  ‘org-clock-sum-today’ must be run first to compute the
   5132                  values in the current buffer.
   5133 ‘CLOSED’         When was this entry closed?
   5134 ‘DEADLINE’       The deadline timestamp.
   5135 ‘FILE’           The filename the entry is located in.
   5136 ‘ITEM’           The headline of the entry.
   5137 ‘PRIORITY’       The priority of the entry, a string with a single letter.
   5138 ‘SCHEDULED’      The scheduling timestamp.
   5139 ‘TAGS’           The tags defined directly in the headline.
   5140 ‘TIMESTAMP’      The first active keyword-less timestamp in the entry.(1)
   5141 ‘TIMESTAMP_IA’   The first inactive keyword-less timestamp in the entry.
   5142 ‘TODO’           The TODO keyword of the entry.
   5143 
   5144    ---------- Footnotes ----------
   5145 
   5146    (1) For both ‘TIMESTAMP’ and ‘TIMESTAMP_IA’: the word “first” refers
   5147 to the first occurrence in the entry, not the earliest in time; the
   5148 prefix ‘CLOCK:’ at the beginning of a clock entry is considered a
   5149 keyword in this context; and timestamps inside property drawers are
   5150 ignored.
   5151 
   5152 
   5153 File: org.info,  Node: Property Searches,  Next: Property Inheritance,  Prev: Special Properties,  Up: Properties and Columns
   5154 
   5155 7.3 Property Searches
   5156 =====================
   5157 
   5158 To create sparse trees and special lists with selection based on
   5159 properties, the same commands are used as for tag searches (see *note
   5160 Tag Searches::).
   5161 
   5162 ‘C-c / m’ or ‘C-c \’ (‘org-match-sparse-tree’)
   5163      Create a sparse tree with all matching entries.  With a ‘C-u’
   5164      prefix argument, ignore headlines that are not a TODO line.
   5165 
   5166 ‘M-x org-agenda m’ (‘org-tags-view’)
   5167      Create a global list of tag/property matches from all agenda files.
   5168 
   5169 ‘M-x org-agenda M’ (‘org-tags-view’)
   5170      Create a global list of tag matches from all agenda files, but
   5171      check only TODO items.
   5172 
   5173    The syntax for the search string is described in *note Matching tags
   5174 and properties::.
   5175 
   5176    There is also a special command for creating sparse trees based on a
   5177 single property:
   5178 
   5179 ‘C-c / p’
   5180      Create a sparse tree based on the value of a property.  This first
   5181      prompts for the name of a property, and then for a value.  A sparse
   5182      tree is created with all entries that define this property with the
   5183      given value.  If you enclose the value in curly braces, it is
   5184      interpreted as a regular expression and matched against the
   5185      property values (see *note Regular Expressions::).
   5186 
   5187 
   5188 File: org.info,  Node: Property Inheritance,  Next: Column View,  Prev: Property Searches,  Up: Properties and Columns
   5189 
   5190 7.4 Property Inheritance
   5191 ========================
   5192 
   5193 The outline structure of Org documents lends itself to an inheritance
   5194 model of properties: if the parent in a tree has a certain property, the
   5195 children can inherit this property.  Org mode does not turn this on by
   5196 default, because it can slow down property searches significantly and is
   5197 often not needed.  However, if you find inheritance useful, you can turn
   5198 it on by setting the variable ‘org-use-property-inheritance’.  It may be
   5199 set to ‘t’ to make all properties inherited from the parent, to a list
   5200 of properties that should be inherited, or to a regular expression that
   5201 matches inherited properties.  If a property has the value ‘nil’, this
   5202 is interpreted as an explicit un-define of the property, so that
   5203 inheritance search stops at this value and returns ‘nil’.
   5204 
   5205    Org mode has a few properties for which inheritance is hard-coded, at
   5206 least for the special applications for which they are used:
   5207 
   5208 ‘COLUMNS’
   5209      The ‘COLUMNS’ property defines the format of column view (see *note
   5210      Column View::).  It is inherited in the sense that the level where
   5211      a ‘COLUMNS’ property is defined is used as the starting point for a
   5212      column view table, independently of the location in the subtree
   5213      from where columns view is turned on.
   5214 
   5215 ‘CATEGORY’
   5216      For agenda view, a category set through a ‘CATEGORY’ property
   5217      applies to the entire subtree.
   5218 
   5219 ‘ARCHIVE’
   5220      For archiving, the ‘ARCHIVE’ property may define the archive
   5221      location for the entire subtree (see *note Moving subtrees::).
   5222 
   5223 ‘LOGGING’
   5224      The ‘LOGGING’ property may define logging settings for an entry or
   5225      a subtree (see *note Tracking TODO state changes::).
   5226 
   5227 
   5228 File: org.info,  Node: Column View,  Prev: Property Inheritance,  Up: Properties and Columns
   5229 
   5230 7.5 Column View
   5231 ===============
   5232 
   5233 A great way to view and edit properties in an outline tree is _column
   5234 view_.  In column view, each outline node is turned into a table row.
   5235 Columns in this table provide access to properties of the entries.  Org
   5236 mode implements columns by overlaying a tabular structure over the
   5237 headline of each item.  While the headlines have been turned into a
   5238 table row, you can still change the visibility of the outline tree.  For
   5239 example, you get a compact table by switching to “contents”
   5240 view—‘S-<TAB>’ ‘S-<TAB>’, or simply ‘c’ while column view is active—but
   5241 you can still open, read, and edit the entry below each headline.  Or,
   5242 you can switch to column view after executing a sparse tree command and
   5243 in this way get a table only for the selected items.  Column view also
   5244 works in agenda buffers (see *note Agenda Views::) where queries have
   5245 collected selected items, possibly from a number of files.
   5246 
   5247 * Menu:
   5248 
   5249 * Defining columns::             The COLUMNS format property.
   5250 * Using column view::            How to create and use column view.
   5251 * Capturing column view::        A dynamic block for column view.
   5252 
   5253 
   5254 File: org.info,  Node: Defining columns,  Next: Using column view,  Up: Column View
   5255 
   5256 7.5.1 Defining columns
   5257 ----------------------
   5258 
   5259 Setting up a column view first requires defining the columns.  This is
   5260 done by defining a column format line.
   5261 
   5262 * Menu:
   5263 
   5264 * Scope of column definitions::  Where defined, where valid?
   5265 * Column attributes::            Appearance and content of a column.
   5266 
   5267 
   5268 File: org.info,  Node: Scope of column definitions,  Next: Column attributes,  Up: Defining columns
   5269 
   5270 7.5.1.1 Scope of column definitions
   5271 ...................................
   5272 
   5273 To specify a format that only applies to a specific tree, add a
   5274 ‘COLUMNS’ property to the top node of that tree, for example:
   5275 
   5276      ** Top node for columns view
   5277         :PROPERTIES:
   5278         :COLUMNS: %25ITEM %TAGS %PRIORITY %TODO
   5279         :END:
   5280 
   5281    A ‘COLUMNS’ property within a property drawer before first headline
   5282 will apply to the entire file.  As an addition to property drawers,
   5283 keywords can also be defined for an entire file using a line like:
   5284 
   5285      #+COLUMNS: %25ITEM %TAGS %PRIORITY %TODO
   5286 
   5287    If a ‘COLUMNS’ property is present in an entry, it defines columns
   5288 for the entry itself, and for the entire subtree below it.  Since the
   5289 column definition is part of the hierarchical structure of the document,
   5290 you can define columns on level 1 that are general enough for all
   5291 sublevels, and more specific columns further down, when you edit a
   5292 deeper part of the tree.
   5293 
   5294 
   5295 File: org.info,  Node: Column attributes,  Prev: Scope of column definitions,  Up: Defining columns
   5296 
   5297 7.5.1.2 Column attributes
   5298 .........................
   5299 
   5300 A column definition sets the attributes of a column.  The general
   5301 definition looks like this:
   5302 
   5303      %[WIDTH]PROPERTY[(TITLE)][{SUMMARY-TYPE}]
   5304 
   5305 Except for the percent sign and the property name, all items are
   5306 optional.  The individual parts have the following meaning:
   5307 
   5308 WIDTH
   5309      An integer specifying the width of the column in characters.  If
   5310      omitted, the width is determined automatically.
   5311 
   5312 PROPERTY
   5313      The property that should be edited in this column.  Special
   5314      properties representing meta data are allowed here as well (see
   5315      *note Special Properties::).
   5316 
   5317 TITLE
   5318      The header text for the column.  If omitted, the property name is
   5319      used.
   5320 
   5321 SUMMARY-TYPE
   5322      The summary type.  If specified, the column values for parent nodes
   5323      are computed from the children(1).
   5324 
   5325      Supported summary types are:
   5326 
   5327      ‘+’        Sum numbers in this column.
   5328      ‘+;%.1f’   Like ‘+’, but format result with ‘%.1f’.
   5329      ‘$’        Currency, short for ‘+;%.2f’.
   5330      ‘min’      Smallest number in column.
   5331      ‘max’      Largest number.
   5332      ‘mean’     Arithmetic mean of numbers.
   5333      ‘X’        Checkbox status, ‘[X]’ if all children are ‘[X]’.
   5334      ‘X/’       Checkbox status, ‘[n/m]’.
   5335      ‘X%’       Checkbox status, ‘[n%]’.
   5336      ‘:’        Sum times, HH:MM, plain numbers are minutes.
   5337      ‘:min’     Smallest time value in column.
   5338      ‘:max’     Largest time value.
   5339      ‘:mean’    Arithmetic mean of time values.
   5340      ‘@min’     Minimum age(2) (in days/hours/mins/seconds).
   5341      ‘@max’     Maximum age (in days/hours/mins/seconds).
   5342      ‘@mean’    Arithmetic mean of ages (in days/hours/mins/seconds).
   5343      ‘est+’     Add low-high estimates.
   5344 
   5345      You can also define custom summary types by setting
   5346      ‘org-columns-summary-types’.
   5347 
   5348    The ‘est+’ summary type requires further explanation.  It is used for
   5349 combining estimates, expressed as low-high ranges.  For example, instead
   5350 of estimating a particular task will take 5 days, you might estimate it
   5351 as 5–6 days if you’re fairly confident you know how much work is
   5352 required, or 1–10 days if you do not really know what needs to be done.
   5353 Both ranges average at 5.5 days, but the first represents a more
   5354 predictable delivery.
   5355 
   5356    When combining a set of such estimates, simply adding the lows and
   5357 highs produces an unrealistically wide result.  Instead, ‘est+’ adds the
   5358 statistical mean and variance of the subtasks, generating a final
   5359 estimate from the sum.  For example, suppose you had ten tasks, each of
   5360 which was estimated at 0.5 to 2 days of work.  Straight addition
   5361 produces an estimate of 5 to 20 days, representing what to expect if
   5362 everything goes either extremely well or extremely poorly.  In contrast,
   5363 ‘est+’ estimates the full job more realistically, at 10–15 days.
   5364 
   5365    Here is an example for a complete columns definition, along with
   5366 allowed values(3).
   5367 
   5368      :COLUMNS:  %25ITEM %9Approved(Approved?){X} %Owner %11Status \
   5369                         %10Time_Estimate{:} %CLOCKSUM %CLOCKSUM_T
   5370      :Owner_ALL:    Tammy Mark Karl Lisa Don
   5371      :Status_ALL:   "In progress" "Not started yet" "Finished" ""
   5372      :Approved_ALL: "[ ]" "[X]"
   5373 
   5374 The first column, ‘%25ITEM’, means the first 25 characters of the item
   5375 itself, i.e., of the headline.  You probably always should start the
   5376 column definition with the ‘ITEM’ specifier.  The other specifiers
   5377 create columns ‘Owner’ with a list of names as allowed values, for
   5378 ‘Status’ with four different possible values, and for a checkbox field
   5379 ‘Approved’.  When no width is given after the ‘%’ character, the column
   5380 is exactly as wide as it needs to be in order to fully display all
   5381 values.  The ‘Approved’ column does have a modified title (‘Approved?’,
   5382 with a question mark).  Summaries are created for the ‘Time_Estimate’
   5383 column by adding time duration expressions like HH:MM, and for the
   5384 ‘Approved’ column, by providing an ‘[X]’ status if all children have
   5385 been checked.  The ‘CLOCKSUM’ and ‘CLOCKSUM_T’ columns are special, they
   5386 lists the sums of CLOCK intervals in the subtree, either for all clocks
   5387 or just for today.
   5388 
   5389    ---------- Footnotes ----------
   5390 
   5391    (1) If more than one summary type applies to the same property, the
   5392 parent values are computed according to the first of them.
   5393 
   5394    (2) An age can be defined as a duration, using units defined in
   5395 ‘org-duration-units’, e.g., ‘3d 1h’.  If any value in the column is as
   5396 such, the summary is also expressed as a duration.
   5397 
   5398    (3) Please note that the ‘COLUMNS’ definition must be on a single
   5399 line; it is wrapped here only because of formatting constraints.
   5400 
   5401 
   5402 File: org.info,  Node: Using column view,  Next: Capturing column view,  Prev: Defining columns,  Up: Column View
   5403 
   5404 7.5.2 Using column view
   5405 -----------------------
   5406 
   5407 Turning column view on or off
   5408 .............................
   5409 
   5410 ‘C-c C-x C-c’ (‘org-columns’)
   5411      Turn on column view.  If point is before the first headline in the
   5412      file, column view is turned on for the entire file, using the
   5413      ‘#+COLUMNS’ definition.  If point is somewhere inside the outline,
   5414      this command searches the hierarchy, up from point, for a ‘COLUMNS’
   5415      property that defines a format.  When one is found, the column view
   5416      table is established for the tree starting at the entry that
   5417      contains the ‘COLUMNS’ property.  If no such property is found, the
   5418      format is taken from the ‘#+COLUMNS’ line or from the variable
   5419      ‘org-columns-default-format’, and column view is established for
   5420      the current entry and its subtree.
   5421 
   5422 ‘r’ or ‘g’ on a columns view line (‘org-columns-redo’)
   5423      Recreate the column view, to include recent changes made in the
   5424      buffer.
   5425 
   5426 ‘C-c C-c’ or ‘q’ on a columns view line (‘org-columns-quit’)
   5427      Exit column view.
   5428 
   5429 Editing values
   5430 ..............
   5431 
   5432 ‘<LEFT>’, ‘<RIGHT>’, ‘<UP>’, ‘<DOWN>’
   5433      Move through the column view from field to field.
   5434 
   5435 ‘1..9,0’
   5436      Directly select the Nth allowed value, ‘0’ selects the 10th value.
   5437 
   5438 ‘n’ or ‘S-<RIGHT>’ (‘org-columns-next-allowed-value’)
   5439 ‘p’ or ‘S-<LEFT>’ (‘org-columns-previous-allowed-value’)
   5440      Switch to the next/previous allowed value of the field.  For this,
   5441      you have to have specified allowed values for a property.
   5442 
   5443 ‘e’ (‘org-columns-edit-value’)
   5444      Edit the property at point.  For the special properties, this
   5445      invokes the same interface that you normally use to change that
   5446      property.  For example, the tag completion or fast selection
   5447      interface pops up when editing a ‘TAGS’ property.
   5448 
   5449 ‘C-c C-c’ (‘org-columns-toggle-or-columns-quit’)
   5450      When there is a checkbox at point, toggle it.  Else exit column
   5451      view.
   5452 
   5453 ‘v’ (‘org-columns-show-value’)
   5454      View the full value of this property.  This is useful if the width
   5455      of the column is smaller than that of the value.
   5456 
   5457 ‘a’ (‘org-columns-edit-allowed’)
   5458      Edit the list of allowed values for this property.  If the list is
   5459      found in the hierarchy, the modified values is stored there.  If no
   5460      list is found, the new value is stored in the first entry that is
   5461      part of the current column view.
   5462 
   5463 Modifying column view on-the-fly
   5464 ................................
   5465 
   5466 ‘<’ (‘org-columns-narrow’)
   5467 ‘>’ (‘org-columns-widen’)
   5468      Make the column narrower/wider by one character.
   5469 
   5470 ‘S-M-<RIGHT>’ (‘org-columns-new’)
   5471      Insert a new column, to the left of the current column.
   5472 
   5473 ‘S-M-<LEFT>’ (‘org-columns-delete’)
   5474      Delete the current column.
   5475 
   5476 ‘M-<LEFT>’ (‘org-columns-move-left’)
   5477      Move the current column left.
   5478 
   5479 ‘M-<RIGHT>’ (‘org-columns-move-right’)
   5480      Move the current column right.
   5481 
   5482 ‘M-<UP>’ (‘org-columns-move-row-up’)
   5483      Move the current row up.
   5484 
   5485 ‘M-<DOWN>’ (‘org-columns-move-row-down’)
   5486      Move the current row down.
   5487 
   5488 
   5489 File: org.info,  Node: Capturing column view,  Prev: Using column view,  Up: Column View
   5490 
   5491 7.5.3 Capturing column view
   5492 ---------------------------
   5493 
   5494 Since column view is just an overlay over a buffer, it cannot be
   5495 exported or printed directly.  If you want to capture a column view, use
   5496 a ‘columnview’ dynamic block (see *note Dynamic Blocks::).  The frame of
   5497 this block looks like this:
   5498 
   5499      * The column view
   5500      #+BEGIN: columnview :hlines 1 :id "label"
   5501 
   5502      #+END:
   5503 
   5504    This dynamic block has the following parameters:
   5505 
   5506 ‘:id’
   5507      This is the most important parameter.  Column view is a feature
   5508      that is often localized to a certain (sub)tree, and the capture
   5509      block might be at a different location in the file.  To identify
   5510      the tree whose view to capture, you can use four values:
   5511 
   5512      ‘local’
   5513           Use the tree in which the capture block is located.
   5514 
   5515      ‘global’
   5516           Make a global view, including all headings in the file.
   5517 
   5518      ‘file:FILENAME’
   5519           Run column view at the top of the FILENAME file.
   5520 
   5521      ‘LABEL’
   5522           Call column view in the tree that has an ‘ID’ property with
   5523           the value LABEL.  You can use ‘M-x org-id-copy’ to create a
   5524           globally unique ID for the current entry and copy it to the
   5525           kill-ring.
   5526 
   5527 ‘:match’
   5528      When set to a string, use this as a tags/property match filter to
   5529      select only a subset of the headlines in the scope set by the ‘:id’
   5530      parameter.
   5531 
   5532 ‘:hlines’
   5533      When ‘t’, insert an hline after every line.  When a number N,
   5534      insert an hline before each headline with level ‘<= N’.
   5535 
   5536 ‘:vlines’
   5537      When non-‘nil’, force column groups to get vertical lines.
   5538 
   5539 ‘:maxlevel’
   5540      When set to a number, do not capture entries below this level.
   5541 
   5542 ‘:skip-empty-rows’
   5543      When non-‘nil’, skip rows where the only non-empty specifier of the
   5544      column view is ‘ITEM’.
   5545 
   5546 ‘:exclude-tags’
   5547      List of tags to exclude from column view table: entries with these
   5548      tags will be excluded from the column view.
   5549 
   5550 ‘:indent’
   5551      When non-‘nil’, indent each ‘ITEM’ field according to its level.
   5552 
   5553 ‘:link’
   5554      When non-‘nil’, link the ‘ITEM’ headlines in the table to their
   5555      origins.
   5556 
   5557 ‘:format’
   5558      Specify a column attribute (see *note Column attributes::) for the
   5559      dynamic block.
   5560 
   5561 ‘:formatter’
   5562      A function to format column view data and insert it into the
   5563      buffer.  See the option ‘org-columns-dblock-formatter’.
   5564 
   5565    The following commands insert or update the dynamic block:
   5566 
   5567 ‘org-columns-insert-dblock’
   5568      Insert a dynamic block capturing a column view.  Prompt for the
   5569      scope or ID of the view.
   5570 
   5571      This command can be invoked by calling
   5572      ‘org-dynamic-block-insert-dblock’ (‘C-c C-x x’) and selecting
   5573      “columnview” (see *note Dynamic Blocks::).
   5574 
   5575 ‘C-c C-c’ ‘C-c C-x C-u’ (‘org-dblock-update’)
   5576      Update dynamic block at point.  Point needs to be on the ‘#+BEGIN’
   5577      line of the dynamic block.
   5578 
   5579 ‘C-u C-c C-x C-u’ (‘org-update-all-dblocks’)
   5580      Update all dynamic blocks (see *note Dynamic Blocks::).  This is
   5581      useful if you have several clock table blocks, column-capturing
   5582      blocks or other dynamic blocks in a buffer.
   5583 
   5584    You can add formulas to the column view table and you may add
   5585 plotting instructions in front of the table—these survive an update of
   5586 the block.  If there is a ‘TBLFM’ keyword after the table, the table is
   5587 recalculated automatically after an update.
   5588 
   5589    An alternative way to capture and process property values into a
   5590 table is provided by Eric Schulte’s ‘org-collector.el’, which is a
   5591 package in ‘org-contrib’(1).  It provides a general API to collect
   5592 properties from entries in a certain scope, and arbitrary Lisp
   5593 expressions to process these values before inserting them into a table
   5594 or a dynamic block.
   5595 
   5596    ---------- Footnotes ----------
   5597 
   5598    (1) Contributed packages are not part of Emacs, but are distributed
   5599 with the main distribution of Org—visit <https://orgmode.org>.
   5600 
   5601 
   5602 File: org.info,  Node: Dates and Times,  Next: Refiling and Archiving,  Prev: Properties and Columns,  Up: Top
   5603 
   5604 8 Dates and Times
   5605 *****************
   5606 
   5607 To assist project planning, TODO items can be labeled with a date and/or
   5608 a time.  The specially formatted string carrying the date and time
   5609 information is called a _timestamp_ in Org mode.  This may be a little
   5610 confusing because timestamp is often used as indicating when something
   5611 was created or last changed.  However, in Org mode this term is used in
   5612 a much wider sense.
   5613 
   5614    Timestamps can be used to plan appointments, schedule tasks, set
   5615 deadlines, track time, and more.  The following sections describe the
   5616 timestamp format and tooling that Org mode provides for common use cases
   5617 dealing with time and time intervals.
   5618 
   5619 * Menu:
   5620 
   5621 * Timestamps::                   Assigning a time to a tree entry.
   5622 * Creating Timestamps::          Commands to insert timestamps.
   5623 * Deadlines and Scheduling::     Planning your work.
   5624 * Clocking Work Time::           Tracking how long you spend on a task.
   5625 * Effort Estimates::             Planning work effort in advance.
   5626 * Timers::                       Notes with a running timer.
   5627 
   5628 
   5629 File: org.info,  Node: Timestamps,  Next: Creating Timestamps,  Up: Dates and Times
   5630 
   5631 8.1 Timestamps
   5632 ==============
   5633 
   5634 A timestamp is a specification of a date—possibly with a time or time
   5635 range—in a special format, either ‘<2003-09-16 Tue>’ or ‘<2003-09-16 Tue
   5636 09:39>’ or ‘<2003-09-16 Tue 12:00-12:30>’(1).  A timestamp can appear
   5637 anywhere in the headline or body of an Org tree entry.  Its presence
   5638 causes entries to be shown on specific dates in the agenda (see *note
   5639 Weekly/daily agenda::).  We distinguish:
   5640 
   5641 Plain timestamp; Event; Appointment
   5642      A simple timestamp just assigns a date/time to an item.  This is
   5643      just like writing down an appointment or event in a paper agenda.
   5644      In the agenda display, the headline of an entry associated with a
   5645      plain timestamp is shown exactly on that date.  There can be
   5646      multiple timestamps in an item.
   5647 
   5648           * Meet Peter at the movies
   5649             <2006-11-01 Wed 19:15>
   5650           * Discussion on climate change
   5651             <2006-11-02 Thu 10:00-12:00>
   5652           * My days off
   5653             <2006-11-03 Fri>
   5654             <2006-11-06 Mon>
   5655 
   5656 Timestamp with repeater interval
   5657      A timestamp may contain a _repeater interval_, indicating that it
   5658      applies not only on the given date, but again and again after a
   5659      certain interval of N hours (h), days (d), weeks (w), months (m),
   5660      or years (y).  The following shows up in the agenda every
   5661      Wednesday:
   5662 
   5663           * Pick up Sam at school
   5664             <2007-05-16 Wed 12:30 +1w>
   5665 
   5666 Diary-style expression entries
   5667 
   5668      For more complex date specifications, Org mode supports using the
   5669      special expression diary entries implemented in the *note Emacs
   5670      Calendar package: (emacs)Special Diary Entries.(2).  For example,
   5671      with optional time:
   5672 
   5673           * 22:00-23:00 The nerd meeting on every 2nd Thursday of the month
   5674             <%%(diary-float t 4 2) 22:00-23:00>
   5675 
   5676 Time range
   5677 
   5678      Time range is a timestamp having two time units connected by ‘-’
   5679 
   5680           * Discussion on climate change
   5681              <2006-11-02 Thu 10:00-12:00>
   5682 
   5683 Time/Date range
   5684      Two timestamps connected by ‘--’ denote a range.  In the agenda,
   5685      the headline is shown on the first and last day of the range, and
   5686      on any dates that are displayed and fall in the range.  The first
   5687      example specifies just the dates of the range while the second
   5688      example specifies a time range for each date.
   5689 
   5690           ** Meeting in Amsterdam
   5691              <2004-08-23 Mon>--<2004-08-26 Thu>
   5692           ** This weeks committee meetings
   5693              <2004-08-23 Mon 10:00-11:00>--<2004-08-26 Thu 10:00-11:00>
   5694 
   5695 Inactive timestamp
   5696      Just like a plain timestamp, but with square brackets instead of
   5697      angular ones.  These timestamps are inactive in the sense that they
   5698      do _not_ trigger an entry to show up in the agenda.
   5699 
   5700           * Gillian comes late for the fifth time
   5701             [2006-11-01 Wed]
   5702 
   5703    ---------- Footnotes ----------
   5704 
   5705    (1) The Org date format is inspired by the standard ISO 8601
   5706 date/time format.  To use an alternative format, see *note Custom time
   5707 format::.  The day name is optional when you type the date yourself.
   5708 However, any date inserted or modified by Org adds that day name, for
   5709 reading convenience.
   5710 
   5711    (2) When working with the standard diary expression functions, you
   5712 need to be very careful with the order of the arguments.  That order
   5713 depends evilly on the variable ‘calendar-date-style’.  For example, to
   5714 specify a date December 1, 2005, the call might look like ‘(diary-date
   5715 12 1 2005)’ or ‘(diary-date 1 12 2005)’ or ‘(diary-date 2005 12 1)’,
   5716 depending on the settings.  This has been the source of much confusion.
   5717 Org mode users can resort to special versions of these functions, namely
   5718 ‘org-date’, ‘org-anniversary’, ‘org-cyclic’, and ‘org-block’.  These
   5719 work just like the corresponding ‘diary-’ functions, but with stable ISO
   5720 order of arguments (year, month, day) wherever applicable, independent
   5721 of the value of ‘calendar-date-style’.
   5722 
   5723 
   5724 File: org.info,  Node: Creating Timestamps,  Next: Deadlines and Scheduling,  Prev: Timestamps,  Up: Dates and Times
   5725 
   5726 8.2 Creating Timestamps
   5727 =======================
   5728 
   5729 For Org mode to recognize timestamps, they need to be in the specific
   5730 format.  All commands listed below produce timestamps in the correct
   5731 format.
   5732 
   5733 ‘C-c .’ (‘org-timestamp’)
   5734      Prompt for a date and insert a corresponding timestamp.  When point
   5735      is at an existing timestamp in the buffer, the command is used to
   5736      modify this timestamp instead of inserting a new one.  When this
   5737      command is used twice in succession, a time range is inserted.
   5738 
   5739      When called with a prefix argument, use the alternative format
   5740      which contains date and time.  The default time can be rounded to
   5741      multiples of 5 minutes.  See the option
   5742      ‘org-timestamp-rounding-minutes’.
   5743 
   5744      With two prefix arguments, insert an active timestamp with the
   5745      current time without prompting.
   5746 
   5747 ‘C-c !’ (‘org-timestamp-inactive’)
   5748      Like ‘C-c .’, but insert an inactive timestamp that does not cause
   5749      an agenda entry.
   5750 
   5751 ‘C-c C-c’
   5752      Normalize timestamp, insert or fix day name if missing or wrong.
   5753 
   5754 ‘C-c <’ (‘org-date-from-calendar’)
   5755      Insert a timestamp corresponding to point date in the calendar.
   5756 
   5757 ‘C-c >’ (‘org-goto-calendar’)
   5758      Access the Emacs calendar for the current date.  If there is a
   5759      timestamp in the current line, go to the corresponding date
   5760      instead.
   5761 
   5762 ‘C-c C-o’ (‘org-open-at-point’)
   5763      Access the agenda for the date given by the timestamp or -range at
   5764      point (see *note Weekly/daily agenda::).
   5765 
   5766 ‘S-<LEFT>’ (‘org-timestamp-down-day’)
   5767 ‘S-<RIGHT>’ (‘org-timestamp-up-day’)
   5768      Change date at point by one day.  These key bindings conflict with
   5769      shift-selection and related modes (see *note Conflicts::).
   5770 
   5771 ‘S-<UP>’ (‘org-timestamp-up’)
   5772 ‘S-<DOWN>’ (‘org-timestamp-down’)
   5773      On the beginning or enclosing bracket of a timestamp, change its
   5774      type.  Within a timestamp, change the item under point.  Point can
   5775      be on a year, month, day, hour or minute.  When the timestamp
   5776      contains a time range like ‘15:30-16:30’, modifying the first time
   5777      also shifts the second, shifting the time block with constant
   5778      length.  To change the length, modify the second time.  Note that
   5779      if point is in a headline and not at a timestamp, these same keys
   5780      modify the priority of an item (see *note Priorities::).  The key
   5781      bindings also conflict with shift-selection and related modes (see
   5782      *note Conflicts::).
   5783 
   5784 ‘C-c C-y’ (‘org-evaluate-time-range’)
   5785      Evaluate a time range by computing the difference between start and
   5786      end.  With a prefix argument, insert result after the time range
   5787      (in a table: into the following column).
   5788 
   5789 * Menu:
   5790 
   5791 * The date/time prompt::         How Org mode helps you enter dates and times.
   5792 * Custom time format::           Making dates look different.
   5793 
   5794 
   5795 File: org.info,  Node: The date/time prompt,  Next: Custom time format,  Up: Creating Timestamps
   5796 
   5797 8.2.1 The date/time prompt
   5798 --------------------------
   5799 
   5800 When Org mode prompts for a date/time, the default is shown in default
   5801 date/time format, and the prompt therefore seems to ask for a specific
   5802 format.  But it in fact accepts date/time information in a variety of
   5803 formats.  Generally, the information should start at the beginning of
   5804 the string.  Org mode finds whatever information is in there and derives
   5805 anything you have not specified from the _default date and time_.  The
   5806 default is usually the current date and time, but when modifying an
   5807 existing timestamp, or when entering the second stamp of a range, it is
   5808 taken from the stamp in the buffer.  When filling in information, Org
   5809 mode assumes that most of the time you want to enter a date in the
   5810 future: if you omit the month/year and the given day/month is _before_
   5811 today, it assumes that you mean a future date(1).  If the date has been
   5812 automatically shifted into the future, the time prompt shows this with
   5813 ‘(=>F)’.
   5814 
   5815    For example, let’s assume that today is *June 13, 2006*.  Here is how
   5816 various inputs are interpreted, the items filled in by Org mode are in
   5817 *bold*.
   5818 
   5819 ‘3-2-5’          ⇒ 2003-02-05
   5820 ‘2/5/3’          ⇒ 2003-02-05
   5821 ‘14’             ⇒ *2006*-*06*-14
   5822 ‘12’             ⇒ *2006*-*07*-12
   5823 ‘2/5’            ⇒ *2007*-02-05
   5824 ‘Fri’            ⇒ nearest Friday (default date or later)
   5825 ‘sep 15’         ⇒ *2006*-09-15
   5826 ‘feb 15’         ⇒ *2007*-02-15
   5827 ‘sep 12 9’       ⇒ 2009-09-12
   5828 ‘12:45’          ⇒ *2006*-*06*-*13* 12:45
   5829 ‘22 sept 0:34’   ⇒ *2006*-09-22 0:34
   5830 ‘w4’             ⇒ ISO week for of the current year *2006*
   5831 ‘2012 w4 fri’    ⇒ Friday of ISO week 4 in 2012
   5832 ‘2012-w04-5’     ⇒ Same as above
   5833 
   5834    Furthermore you can specify a relative date by giving, as the _first_
   5835 thing in the input: a plus/minus sign, a number and a letter—‘h’, ‘d’,
   5836 ‘w’, ‘m’ or ‘y’—to indicate a change in hours, days, weeks, months, or
   5837 years.  With ‘h’ the date is relative to the current time, with the
   5838 other letters and a single plus or minus, the date is relative to today
   5839 at 00:00.  With a double plus or minus, it is relative to the default
   5840 date.  If instead of a single letter, you use the abbreviation of day
   5841 name, the date is the Nth such day, e.g.:
   5842 
   5843 ‘+0’      ⇒ today
   5844 ‘.’       ⇒ today
   5845 ‘+2h’     ⇒ two hours from now
   5846 ‘+4d’     ⇒ four days from today
   5847 ‘+4’      ⇒ same as +4d
   5848 ‘+2w’     ⇒ two weeks from today
   5849 ‘++5’     ⇒ five days from default date
   5850 ‘+2tue’   ⇒ second Tuesday from now
   5851 
   5852    The function understands English month and weekday abbreviations.  If
   5853 you want to use un-abbreviated names and/or other languages, configure
   5854 the variables ‘parse-time-months’ and ‘parse-time-weekdays’.
   5855 
   5856    Not all dates can be represented in a given Emacs implementation.  By
   5857 default Org mode forces dates into the compatibility range 1970–2037
   5858 which works on all Emacs implementations.  If you want to use dates
   5859 outside of this range, read the docstring of the variable
   5860 ‘org-read-date-force-compatible-dates’.
   5861 
   5862    You can specify a time range by giving start and end times or by
   5863 giving a start time and a duration (in HH:MM format).  Use one or two
   5864 dash(es) as the separator in the former case and use ‘+’ as the
   5865 separator in the latter case, e.g.:
   5866 
   5867 ‘11am-1:15pm’    ⇒ 11:00-13:15
   5868 ‘11h-13h15’      ⇒ same as above
   5869 ‘11am--1:15pm’   ⇒ same as above
   5870 ‘11am+2:15’      ⇒ same as above
   5871 
   5872    Parallel to the minibuffer prompt, a calendar is popped up(2).  When
   5873 you exit the date prompt, either by clicking on a date in the calendar,
   5874 or by pressing ‘<RET>’, the date selected in the calendar is combined
   5875 with the information entered at the prompt.  You can control the
   5876 calendar fully from the minibuffer:
   5877 
   5878 ‘<RET>’            Choose date at point in calendar.
   5879 ‘mouse-1’          Select date by clicking on it.
   5880 ‘S-<RIGHT>’        One day forward.
   5881 ‘S-<LEFT>’         One day backward.
   5882 ‘S-<DOWN>’         One week forward.
   5883 ‘S-<UP>’           One week backward.
   5884 ‘M-S-<RIGHT>’      One month forward.
   5885 ‘M-S-<LEFT>’       One month backward.
   5886 ‘>’                Scroll calendar forward by one month.
   5887 ‘<’                Scroll calendar backward by one month.
   5888 ‘M-v’              Scroll calendar forward by 3 months.
   5889 ‘C-v’              Scroll calendar backward by 3 months.
   5890 ‘C-.’              Select today’s date(3)
   5891 
   5892    The actions of the date/time prompt may seem complex, but I assure
   5893 you they will grow on you, and you will start getting annoyed by pretty
   5894 much any other way of entering a date/time out there.  To help you
   5895 understand what is going on, the current interpretation of your input is
   5896 displayed live in the minibuffer(4).
   5897 
   5898    ---------- Footnotes ----------
   5899 
   5900    (1) See the variable ‘org-read-date-prefer-future’.  You may set that
   5901 variable to the symbol ‘time’ to even make a time before now shift the
   5902 date to tomorrow.
   5903 
   5904    (2) If you do not need/want the calendar, configure the variable
   5905 ‘org-popup-calendar-for-date-prompt’.
   5906 
   5907    (3) You can also use the calendar command ‘.’ to jump to today’s
   5908 date, but if you are inserting an hour specification for your timestamp,
   5909 ‘.’ will then insert a dot after the hour.  By contrast, ‘C-.’ will
   5910 always jump to today’s date.
   5911 
   5912    (4) If you find this distracting, turn off the display with
   5913 ‘org-read-date-display-live’.
   5914 
   5915 
   5916 File: org.info,  Node: Custom time format,  Prev: The date/time prompt,  Up: Creating Timestamps
   5917 
   5918 8.2.2 Custom time format
   5919 ------------------------
   5920 
   5921 Org mode uses the standard ISO notation for dates and times as it is
   5922 defined in ISO 8601.  If you cannot get used to this and require another
   5923 representation of date and time to keep you happy, you can get it by
   5924 customizing the variables ‘org-display-custom-times’ and
   5925 ‘org-timestamp-custom-formats’.
   5926 
   5927 ‘C-c C-x C-t’ (‘org-toggle-timestamp-overlays’)
   5928      Toggle the display of custom formats for dates and times.
   5929 
   5930    Org mode needs the default format for scanning, so the custom
   5931 date/time format does not _replace_ the default format.  Instead, it is
   5932 put _over_ the default format using text properties.  This has the
   5933 following consequences:
   5934 
   5935    • You cannot place point onto a timestamp anymore, only before or
   5936      after.
   5937 
   5938    • The ‘S-<UP>’ and ‘S-<DOWN>’ keys can no longer be used to adjust
   5939      each component of a timestamp.  If point is at the beginning of the
   5940      stamp, ‘S-<UP>’ and ‘S-<DOWN>’ change the stamp by one day, just
   5941      like ‘S-<LEFT>’ ‘S-<RIGHT>’.  At the end of the stamp, change the
   5942      time by one minute.
   5943 
   5944    • If the timestamp contains a range of clock times or a repeater,
   5945      these are not overlaid, but remain in the buffer as they were.
   5946 
   5947    • When you delete a timestamp character-by-character, it only
   5948      disappears from the buffer after _all_ (invisible) characters
   5949      belonging to the ISO timestamp have been removed.
   5950 
   5951    • If the custom timestamp format is longer than the default and you
   5952      are using dates in tables, table alignment will be messed up.  If
   5953      the custom format is shorter, things do work as expected.
   5954 
   5955 
   5956 File: org.info,  Node: Deadlines and Scheduling,  Next: Clocking Work Time,  Prev: Creating Timestamps,  Up: Dates and Times
   5957 
   5958 8.3 Deadlines and Scheduling
   5959 ============================
   5960 
   5961 A timestamp may be preceded by special keywords to facilitate planning.
   5962 Both the timestamp and the keyword have to be positioned immediately
   5963 after the task they refer to.
   5964 
   5965 ‘DEADLINE’
   5966      Meaning: the task—most likely a TODO item, though not
   5967      necessarily—is supposed to be finished on that date.
   5968 
   5969      On the deadline date, the task is listed in the agenda.  In
   5970      addition, the agenda for _today_ carries a warning about the
   5971      approaching or missed deadline, starting
   5972      ‘org-deadline-warning-days’ before the due date, and continuing
   5973      until the entry is marked as done.  An example:
   5974 
   5975           *** TODO write article about the Earth for the Guide
   5976               DEADLINE: <2004-02-29 Sun>
   5977               The editor in charge is [[bbdb:Ford Prefect]]
   5978 
   5979      You can specify a different lead time for warnings for a specific
   5980      deadlines using the following syntax.  Here is an example with a
   5981      warning period of 5 days ‘DEADLINE: <2004-02-29 Sun -5d>’.  This
   5982      warning is deactivated if the task gets scheduled and you set
   5983      ‘org-agenda-skip-deadline-prewarning-if-scheduled’ to ‘t’.
   5984 
   5985 ‘SCHEDULED’
   5986      Meaning: you are planning to start working on that task on the
   5987      given date.
   5988 
   5989      The headline is listed under the given date(1).  In addition, a
   5990      reminder that the scheduled date has passed is present in the
   5991      compilation for _today_, until the entry is marked as done, i.e.,
   5992      the task is automatically forwarded until completed.
   5993 
   5994           *** TODO Call Trillian for a date on New Years Eve.
   5995               SCHEDULED: <2004-12-25 Sat>
   5996 
   5997      If you want to _delay_ the display of this task in the agenda, use
   5998      ‘SCHEDULED: <2004-12-25 Sat -2d>’: the task is still scheduled on
   5999      the 25th but will appear two days later.  In case the task contains
   6000      a repeater, the delay is considered to affect all occurrences; if
   6001      you want the delay to only affect the first scheduled occurrence of
   6002      the task, use ‘--2d’ instead.  See ‘org-scheduled-delay-days’ and
   6003      ‘org-agenda-skip-scheduled-delay-if-deadline’ for details on how to
   6004      control this globally or per agenda.
   6005 
   6006           Important: Scheduling an item in Org mode should _not_ be
   6007           understood in the same way that we understand _scheduling a
   6008           meeting_.  Setting a date for a meeting is just a simple
   6009           appointment, you should mark this entry with a simple plain
   6010           timestamp, to get this item shown on the date where it
   6011           applies.  This is a frequent misunderstanding by Org users.
   6012           In Org mode, _scheduling_ means setting a date when you want
   6013           to start working on an action item.
   6014 
   6015    You may use timestamps with repeaters in scheduling and deadline
   6016 entries.  Org mode issues early and late warnings based on the
   6017 assumption that the timestamp represents the _nearest instance_ of the
   6018 repeater.  However, the use of diary expression entries like
   6019 
   6020      <%%(diary-float t 42)>
   6021 
   6022 in scheduling and deadline timestamps is limited.  Org mode does not
   6023 know enough about the internals of each function to issue early and late
   6024 warnings.  However, it shows the item on each day where the expression
   6025 entry matches.
   6026 
   6027 * Menu:
   6028 
   6029 * Inserting deadline/schedule::  Planning items.
   6030 * Repeated tasks::               Items that show up again and again.
   6031 
   6032    ---------- Footnotes ----------
   6033 
   6034    (1) It will still be listed on that date after it has been marked as
   6035 done.  If you do not like this, set the variable
   6036 ‘org-agenda-skip-scheduled-if-done’.
   6037 
   6038 
   6039 File: org.info,  Node: Inserting deadline/schedule,  Next: Repeated tasks,  Up: Deadlines and Scheduling
   6040 
   6041 8.3.1 Inserting deadlines or schedules
   6042 --------------------------------------
   6043 
   6044 The following commands allow you to quickly insert a deadline or to
   6045 schedule an item:(1)
   6046 
   6047 ‘C-c C-d’ (‘org-deadline’)
   6048      Insert ‘DEADLINE’ keyword along with a stamp.  The insertion
   6049      happens in the line directly following the headline.  Remove any
   6050      ‘CLOSED’ timestamp .  When called with a prefix argument, also
   6051      remove any existing deadline from the entry.  Depending on the
   6052      variable ‘org-log-redeadline’, take a note when changing an
   6053      existing deadline(2).
   6054 
   6055 ‘C-c C-s’ (‘org-schedule’)
   6056      Insert ‘SCHEDULED’ keyword along with a stamp.  The insertion
   6057      happens in the line directly following the headline.  Remove any
   6058      ‘CLOSED’ timestamp.  When called with a prefix argument, also
   6059      remove the scheduling date from the entry.  Depending on the
   6060      variable ‘org-log-reschedule’, take a note when changing an
   6061      existing scheduling time(3).
   6062 
   6063 ‘C-c / d’ (‘org-check-deadlines’)
   6064      Create a sparse tree with all deadlines that are either past-due,
   6065      or which will become due within ‘org-deadline-warning-days’.  With
   6066      ‘C-u’ prefix, show all deadlines in the file.  With a numeric
   6067      prefix, check that many days.  For example, ‘C-1 C-c / d’ shows all
   6068      deadlines due tomorrow.
   6069 
   6070 ‘C-c / b’ (‘org-check-before-date’)
   6071      Sparse tree for deadlines and scheduled items before a given date.
   6072 
   6073 ‘C-c / a’ (‘org-check-after-date’)
   6074      Sparse tree for deadlines and scheduled items after a given date.
   6075 
   6076    Note that ‘org-schedule’ and ‘org-deadline’ supports setting the date
   6077 by indicating a relative time e.g., ‘+1d’ sets the date to the next day
   6078 after today, and ‘--1w’ sets the date to the previous week before any
   6079 current timestamp.
   6080 
   6081    ---------- Footnotes ----------
   6082 
   6083    (1) The ‘SCHEDULED’ and ‘DEADLINE’ dates are inserted on the line
   6084 right below the headline.  Do not put any text between this line and the
   6085 headline.
   6086 
   6087    (2) Note the corresponding ‘STARTUP’ options ‘logredeadline’,
   6088 ‘lognoteredeadline’, and ‘nologredeadline’.
   6089 
   6090    (3) Note the corresponding ‘STARTUP’ options ‘logreschedule’,
   6091 ‘lognotereschedule’, and ‘nologreschedule’.
   6092 
   6093 
   6094 File: org.info,  Node: Repeated tasks,  Prev: Inserting deadline/schedule,  Up: Deadlines and Scheduling
   6095 
   6096 8.3.2 Repeated tasks
   6097 --------------------
   6098 
   6099 Some tasks need to be repeated again and again.  Org mode helps to
   6100 organize such tasks using a so-called repeater in a ‘DEADLINE’,
   6101 ‘SCHEDULED’, or plain timestamps(1).  In the following example:
   6102 
   6103      ** TODO Pay the rent
   6104         DEADLINE: <2005-10-01 Sat +1m>
   6105 
   6106 the ‘+1m’ is a repeater; the intended interpretation is that the task
   6107 has a deadline on ‘<2005-10-01>’ and repeats itself every (one) month
   6108 starting from that time.  You can use yearly, monthly, weekly, daily and
   6109 hourly repeat cookies by using the ‘y’, ‘m’, ‘w’, ‘d’ and ‘h’ letters.
   6110 If you need both a repeater and a special warning period in a deadline
   6111 entry, the repeater should come first and the warning period last
   6112 
   6113      DEADLINE: <2005-10-01 Sat +1m -3d>
   6114 
   6115    Deadlines and scheduled items produce entries in the agenda when they
   6116 are over-due, so it is important to be able to mark such an entry as
   6117 done once you have done so.  When you mark a ‘DEADLINE’ or a ‘SCHEDULED’
   6118 with the TODO keyword ‘DONE’, it no longer produces entries in the
   6119 agenda.  The problem with this is, however, is that then also the _next_
   6120 instance of the repeated entry will not be active.  Org mode deals with
   6121 this in the following way: when you try to mark such an entry as done,
   6122 using ‘C-c C-t’, it shifts the base date of the repeating timestamp by
   6123 the repeater interval, and immediately sets the entry state back to
   6124 TODO(2). In the example above, setting the state to ‘DONE’ would
   6125 actually switch the date like this:
   6126 
   6127      ** TODO Pay the rent
   6128         DEADLINE: <2005-11-01 Tue +1m>
   6129 
   6130    When task contains multiple timestamps with repeater interval, all
   6131 these timestamps are shifted.
   6132 
   6133    To mark a task with a repeater as DONE, use ‘C-- 1 C-c C-t’, i.e.,
   6134 ‘org-todo’ with a numeric prefix argument of ‘-1’.
   6135 
   6136    A timestamp(3) is added under the deadline, to keep a record that you
   6137 actually acted on the previous instance of this deadline.
   6138 
   6139    As a consequence of shifting the base date, this entry is no longer
   6140 visible in the agenda when checking past dates, but all future instances
   6141 will be visible.
   6142 
   6143    With the ‘+1m’ cookie, the date shift is always exactly one month.
   6144 So if you have not paid the rent for three months, marking this entry
   6145 DONE still keeps it as an overdue deadline.  Depending on the task, this
   6146 may not be the best way to handle it.  For example, if you forgot to
   6147 call your father for 3 weeks, it does not make sense to call him 3 times
   6148 in a single day to make up for it.  Finally, there are tasks, like
   6149 changing batteries, which should always repeat a certain time _after_
   6150 the last time you did it.  For these tasks, Org mode has special
   6151 repeaters ‘++’ and ‘.+’.  For example:
   6152 
   6153      ** TODO Call Father
   6154         DEADLINE: <2008-02-10 Sun ++1w>
   6155         Marking this DONE shifts the date by at least one week, but also
   6156         by as many weeks as it takes to get this date into the future.
   6157         However, it stays on a Sunday, even if you called and marked it
   6158         done on Saturday.
   6159 
   6160      ** TODO Empty kitchen trash
   6161         DEADLINE: <2008-02-08 Fri 20:00 ++1d>
   6162         Marking this DONE shifts the date by at least one day, and also
   6163         by as many days as it takes to get the timestamp into the future.
   6164         Since there is a time in the timestamp, the next deadline in the
   6165         future will be on today's date if you complete the task before
   6166         20:00.
   6167 
   6168      ** TODO Check the batteries in the smoke detectors
   6169         DEADLINE: <2005-11-01 Tue .+1m>
   6170         Marking this DONE shifts the date to one month after today.
   6171 
   6172      ** TODO Wash my hands
   6173         DEADLINE: <2019-04-05 08:00 Fri .+1h>
   6174         Marking this DONE shifts the date to exactly one hour from now.
   6175 
   6176    You may have both scheduling and deadline information for a specific
   6177 task.  If the repeater is set for the scheduling information only, you
   6178 probably want the repeater to be ignored after the deadline.  If so, set
   6179 the variable ‘org-agenda-skip-scheduled-repeats-after-deadline’ to ‘t’.
   6180 However, any scheduling information without a repeater is no longer
   6181 relevant once the task is done, and thus, removed upon repeating the
   6182 task.  If you want both scheduling and deadline information to repeat
   6183 after the same interval, set the same repeater for both timestamps.
   6184 
   6185    An alternative to using a repeater is to create a number of copies of
   6186 a task subtree, with dates shifted in each copy.  The command ‘C-c C-x
   6187 c’ was created for this purpose; it is described in *note Structure
   6188 Editing::.
   6189 
   6190    ---------- Footnotes ----------
   6191 
   6192    (1) Org does not repeat inactive timestamps, however.  See *note
   6193 Timestamps::.
   6194 
   6195    (2) In fact, the target state is taken from, in this sequence, the
   6196 ‘REPEAT_TO_STATE’ property, the variable ‘org-todo-repeat-to-state’ if
   6197 it is a string, the previous TODO state if ‘org-todo-repeat-to-state’ is
   6198 ‘t’, or the first state of the TODO state sequence.
   6199 
   6200    (3) You can change this using the option ‘org-log-repeat’, or the
   6201 ‘STARTUP’ options ‘logrepeat’, ‘lognoterepeat’, and ‘nologrepeat’.  With
   6202 ‘lognoterepeat’, you will also be prompted for a note.
   6203 
   6204 
   6205 File: org.info,  Node: Clocking Work Time,  Next: Effort Estimates,  Prev: Deadlines and Scheduling,  Up: Dates and Times
   6206 
   6207 8.4 Clocking Work Time
   6208 ======================
   6209 
   6210 Org mode allows you to clock the time you spend on specific tasks in a
   6211 project.  When you start working on an item, you can start the clock.
   6212 When you stop working on that task, or when you mark the task done, the
   6213 clock is stopped and the corresponding time interval is recorded.  It
   6214 also computes the total time spent on each subtree(1) of a project.  And
   6215 it remembers a history or tasks recently clocked, so that you can jump
   6216 quickly between a number of tasks absorbing your time.
   6217 
   6218    To save the clock history across Emacs sessions, use:
   6219 
   6220      (setq org-clock-persist 'history)
   6221      (org-clock-persistence-insinuate)
   6222 
   6223    When you clock into a new task after resuming Emacs, the incomplete
   6224 clock(2) is retrieved (see *note Resolving idle time (1)::) and you are
   6225 prompted about what to do with it.
   6226 
   6227 * Menu:
   6228 
   6229 * Clocking commands::            Starting and stopping a clock.
   6230 * The clock table::              Detailed reports.
   6231 * Resolving idle time::          Resolving time when you’ve been idle.
   6232 
   6233    ---------- Footnotes ----------
   6234 
   6235    (1) Clocking only works if all headings are indented with less than
   6236 30 stars.  This is a hard-coded limitation of ‘lmax’ in ‘org-clock-sum’.
   6237 
   6238    (2) To resume the clock under the assumption that you have worked on
   6239 this task while outside Emacs, use ‘(setq org-clock-persist t)’.
   6240 
   6241 
   6242 File: org.info,  Node: Clocking commands,  Next: The clock table,  Up: Clocking Work Time
   6243 
   6244 8.4.1 Clocking commands
   6245 -----------------------
   6246 
   6247 ‘C-c C-x C-i’ (‘org-clock-in’)
   6248      Start the clock on the current item (clock-in).  This inserts the
   6249      ‘CLOCK’ keyword together with a timestamp.  If this is not the
   6250      first clocking of this item, the multiple ‘CLOCK’ lines are wrapped
   6251      into a ‘LOGBOOK’ drawer (see also the variable
   6252      ‘org-clock-into-drawer’).  You can also overrule the setting of
   6253      this variable for a subtree by setting a ‘CLOCK_INTO_DRAWER’ or
   6254      ‘LOG_INTO_DRAWER’ property.  When called with a ‘C-u’ prefix
   6255      argument, select the task from a list of recently clocked tasks.
   6256      With two ‘C-u C-u’ prefixes, clock into the task at point and mark
   6257      it as the default task; the default task is always be available
   6258      with letter ‘d’ when selecting a clocking task.  With three ‘C-u
   6259      C-u C-u’ prefixes, force continuous clocking by starting the clock
   6260      when the last clock stopped.
   6261 
   6262      While the clock is running, Org shows the current clocking time in
   6263      the mode line, along with the title of the task.  The clock time
   6264      shown is all time ever clocked for this task and its children.  If
   6265      the task has an effort estimate (see *note Effort Estimates::), the
   6266      mode line displays the current clocking time against it(1).  If the
   6267      task is a repeating one (see *note Repeated tasks::), show only the
   6268      time since the last reset of the task(2).  You can exercise more
   6269      control over show time with the ‘CLOCK_MODELINE_TOTAL’ property.
   6270      It may have the values ‘current’ to show only the current clocking
   6271      instance, ‘today’ to show all time clocked on this tasks today—see
   6272      also the variable ‘org-extend-today-until’, ‘all’ to include all
   6273      time, or ‘auto’ which is the default(3).  Clicking with ‘mouse-1’
   6274      onto the mode line entry pops up a menu with clocking options.
   6275 
   6276 ‘C-c C-x C-o’ (‘org-clock-out’)
   6277      Stop the clock (clock-out).  This inserts another timestamp at the
   6278      same location where the clock was last started.  It also directly
   6279      computes the resulting time in inserts it after the time range as
   6280      ‘=>HH:MM’.  See the variable ‘org-log-note-clock-out’ for the
   6281      possibility to record an additional note together with the
   6282      clock-out timestamp(4).
   6283 
   6284 ‘C-c C-x C-x’ (‘org-clock-in-last’)
   6285      Re-clock the last clocked task.  With one ‘C-u’ prefix argument,
   6286      select the task from the clock history.  With two ‘C-u’ prefixes,
   6287      force continuous clocking by starting the clock when the last clock
   6288      stopped.
   6289 
   6290 ‘C-c C-x C-e’ (‘org-clock-modify-effort-estimate’)
   6291      Update the effort estimate for the current clock task.
   6292 
   6293 ‘C-c C-c’ or ‘C-c C-y’ (‘org-evaluate-time-range’)
   6294      Recompute the time interval after changing one of the timestamps.
   6295      This is only necessary if you edit the timestamps directly.  If you
   6296      change them with ‘S-<cursor>’ keys, the update is automatic.
   6297 
   6298 ‘C-S-<UP>’ (‘org-clock-timestamps-up’)
   6299 ‘C-S-<DOWN>’ (‘org-clock-timestamps-down’)
   6300      On CLOCK log lines, increase/decrease both timestamps so that the
   6301      clock duration keeps the same value.
   6302 
   6303 ‘S-M-<UP>’ (‘org-timestamp-up’)
   6304 ‘S-M-<DOWN>’ (‘org-timestamp-down’)
   6305      On ‘CLOCK’ log lines, increase/decrease the timestamp at point and
   6306      the one of the previous, or the next, clock timestamp by the same
   6307      duration.  For example, if you hit ‘S-M-<UP>’ to increase a
   6308      clocked-out timestamp by five minutes, then the clocked-in
   6309      timestamp of the next clock is increased by five minutes.
   6310 
   6311      Only ‘CLOCK’ logs created during current Emacs session are
   6312      considered when adjusting next/previous timestamp.
   6313 
   6314 ‘C-c C-t’ (‘org-todo’)
   6315      Changing the TODO state of an item to DONE automatically stops the
   6316      clock if it is running in this same item.
   6317 
   6318 ‘C-c C-x C-q’ (‘org-clock-cancel’)
   6319      Cancel the current clock.  This is useful if a clock was started by
   6320      mistake, or if you ended up working on something else.
   6321 
   6322 ‘C-c C-x C-j’ (‘org-clock-goto’)
   6323      Jump to the headline of the currently clocked in task.  With a
   6324      ‘C-u’ prefix argument, select the target task from a list of
   6325      recently clocked tasks.
   6326 
   6327 ‘C-c C-x C-d’ (‘org-clock-display’)
   6328      Display time summaries for each subtree in the current buffer.
   6329      This puts overlays at the end of each headline, showing the total
   6330      time recorded under that heading, including the time of any
   6331      subheadings.  You can use visibility cycling to study the tree, but
   6332      the overlays disappear when you change the buffer (see variable
   6333      ‘org-remove-highlights-with-change’) or press ‘C-c C-c’.
   6334 
   6335    The ‘l’ key may be used in the agenda (see *note Weekly/daily
   6336 agenda::) to show which tasks have been worked on or closed during a
   6337 day.
   6338 
   6339    *Important:* note that both ‘org-clock-out’ and ‘org-clock-in-last’
   6340 can have a global keybinding and do not modify the window disposition.
   6341 
   6342    ---------- Footnotes ----------
   6343 
   6344    (1) To add an effort estimate “on the fly”, hook a function doing
   6345 this to ‘org-clock-in-prepare-hook’.
   6346 
   6347    (2) The last reset of the task is recorded by the ‘LAST_REPEAT’
   6348 property.
   6349 
   6350    (3) See also the variable ‘org-clock-mode-line-total’.
   6351 
   6352    (4) The corresponding in-buffer setting is: ‘#+STARTUP:
   6353 lognoteclock-out’.
   6354 
   6355 
   6356 File: org.info,  Node: The clock table,  Next: Resolving idle time,  Prev: Clocking commands,  Up: Clocking Work Time
   6357 
   6358 8.4.2 The clock table
   6359 ---------------------
   6360 
   6361 Org mode can produce quite complex reports based on the time clocking
   6362 information.  Such a report is called a _clock table_, because it is
   6363 formatted as one or several Org tables.
   6364 
   6365 ‘org-clock-report’
   6366      Insert or update a clock table.  When called with a prefix
   6367      argument, jump to the first clock table in the current document and
   6368      update it.  The clock table includes archived trees.
   6369 
   6370      This command can be invoked by calling
   6371      ‘org-dynamic-block-insert-dblock’ (‘C-c C-x x’) and selecting
   6372      “clocktable” (see *note Dynamic Blocks::).
   6373 
   6374 ‘C-c C-c’ or ‘C-c C-x C-u’ (‘org-dblock-update’)
   6375      Update dynamic block at point.  Point needs to be in the ‘BEGIN’
   6376      line of the dynamic block.
   6377 
   6378 ‘C-u C-c C-x C-u’
   6379      Update all dynamic blocks (see *note Dynamic Blocks::).  This is
   6380      useful if you have several clock table blocks in a buffer.
   6381 
   6382 ‘S-<LEFT>’
   6383 ‘S-<RIGHT>’ (‘org-clocktable-try-shift’)
   6384      Shift the current ‘:block’ interval and update the table.  Point
   6385      needs to be in the ‘#+BEGIN: clocktable’ line for this command.  If
   6386      ‘:block’ is ‘today’, it is shifted to ‘today-1’, etc.
   6387 
   6388    Here is an example of the frame for a clock table as it is inserted
   6389 into the buffer by ‘org-clock-report’:
   6390 
   6391      #+BEGIN: clocktable :maxlevel 2 :emphasize nil :scope file
   6392      #+END:
   6393 
   6394    The ‘#+BEGIN’ line contains options to define the scope, structure,
   6395 and formatting of the report.  Defaults for all these options can be
   6396 configured in the variable ‘org-clocktable-defaults’.
   6397 
   6398    First there are options that determine which clock entries are to be
   6399 selected:
   6400 
   6401 ‘:maxlevel’
   6402      Maximum level depth to which times are listed in the table.  Clocks
   6403      at deeper levels are summed into the upper level.
   6404 
   6405 ‘:scope’
   6406      The scope to consider.  This can be any of the following:
   6407 
   6408      ‘nil’                    the current buffer or narrowed region
   6409      ‘file’                   the full current buffer
   6410      ‘subtree’                the subtree where the clocktable is located
   6411      ‘treeN’                  the surrounding level N tree, for example ‘tree3’
   6412      ‘tree’                   the surrounding level 1 tree
   6413      ‘agenda’                 all agenda files
   6414      ‘("file" ...)’           scan these files
   6415      ‘FUNCTION’               scan files returned by calling FUNCTION with no argument
   6416      ‘file-with-archives’     current file and its archives
   6417      ‘agenda-with-archives’   all agenda files, including archives
   6418 
   6419 ‘:block’
   6420      The time block to consider.  This block is specified either
   6421      absolutely, or relative to the current time and may be any of these
   6422      formats:
   6423 
   6424      ‘2007-12-31’                              New year eve 2007
   6425      ‘2007-12’                                 December 2007
   6426      ‘2007-W50’                                ISO-week 50 in 2007
   6427      ‘2007-Q2’                                 2nd quarter in 2007
   6428      ‘2007’                                    the year 2007
   6429      ‘today’, ‘yesterday’, ‘today-N’           a relative day
   6430      ‘thisweek’, ‘lastweek’, ‘thisweek-N’      a relative week
   6431      ‘thismonth’, ‘lastmonth’, ‘thismonth-N’   a relative month
   6432      ‘thisyear’, ‘lastyear’, ‘thisyear-N’      a relative year
   6433      ‘untilnow’(1)                             all clocked time ever
   6434 
   6435      When this option is not set, Org falls back to the value in
   6436      ‘org-clock-display-default-range’, which defaults to the current
   6437      year.
   6438 
   6439      Use ‘S-<LEFT>’ or ‘S-<RIGHT>’ to shift the time interval.
   6440 
   6441 ‘:tstart’
   6442      A time string specifying when to start considering times.  Relative
   6443      times like ‘"<-2w>"’ can also be used.  See *note Matching tags and
   6444      properties:: for relative time syntax.
   6445 
   6446 ‘:tend’
   6447      A time string specifying when to stop considering times.  Relative
   6448      times like ‘"<now>"’ can also be used.  See *note Matching tags and
   6449      properties:: for relative time syntax.
   6450 
   6451 ‘:wstart’
   6452      The starting day of the week.  The default is 1 for Monday.
   6453 
   6454 ‘:mstart’
   6455      The starting day of the month.  The default is 1 for the first.
   6456 
   6457 ‘:step’
   6458      Set to ‘day’, ‘week’, ‘semimonth’, ‘month’, ‘quarter’, or ‘year’ to
   6459      split the table into chunks.  To use this, either ‘:block’, or
   6460      ‘:tstart’ and ‘:tend’ are required.
   6461 
   6462 ‘:stepskip0’
   6463      When non-‘nil’, do not show steps that have zero time.
   6464 
   6465 ‘:fileskip0’
   6466      When non-‘nil’, do not show table sections from files which did not
   6467      contribute.
   6468 
   6469 ‘:match’
   6470      A tags match to select entries that should contribute.  See *note
   6471      Matching tags and properties:: for the match syntax.
   6472 
   6473    Then there are options that determine the formatting of the table.
   6474 There options are interpreted by the function
   6475 ‘org-clocktable-write-default’, but you can specify your own function
   6476 using the ‘:formatter’ parameter.
   6477 
   6478 ‘:emphasize’
   6479      When non-‘nil’, emphasize level one and level two items.
   6480 
   6481 ‘:lang’
   6482      Language(2) to use for descriptive cells like “Task”.
   6483 
   6484 ‘:link’
   6485      Link the item headlines in the table to their origins.
   6486 
   6487 ‘:narrow’
   6488      An integer to limit the width of the headline column in the Org
   6489      table.  If you write it like ‘50!’, then the headline is also
   6490      shortened in export.
   6491 
   6492 ‘:indent’
   6493      Indent each headline field according to its level.
   6494 
   6495 ‘:filetitle’
   6496      Show title in the file column if the file has a ‘#+title’.
   6497 
   6498 ‘:hidefiles’
   6499      Hide the file column when multiple files are used to produce the
   6500      table.
   6501 
   6502 ‘:tcolumns’
   6503      Number of columns to be used for times.  If this is smaller than
   6504      ‘:maxlevel’, lower levels are lumped into one column.
   6505 
   6506 ‘:level’
   6507      Should a level number column be included?
   6508 
   6509 ‘:sort’
   6510      A cons cell containing the column to sort and a sorting type.
   6511      E.g., ‘:sort (1 . ?a)’ sorts the first column alphabetically.
   6512 
   6513 ‘:compact’
   6514      Abbreviation for ‘:level nil :indent t :narrow 40! :tcolumns 1’.
   6515      All are overwritten except if there is an explicit ‘:narrow’.
   6516 
   6517 ‘:timestamp’
   6518      A timestamp for the entry, when available.  Look for ‘SCHEDULED’,
   6519      ‘DEADLINE’, ‘TIMESTAMP’ and ‘TIMESTAMP_IA’ special properties (see
   6520      *note Special Properties::), in this order.
   6521 
   6522 ‘:tags’
   6523      When this flag is non-‘nil’, show the headline’s tags.
   6524 
   6525 ‘:properties’
   6526      List of properties shown in the table.  Each property gets its own
   6527      column.
   6528 
   6529 ‘:inherit-props’
   6530      When this flag is non-‘nil’, the values for ‘:properties’ are
   6531      inherited.
   6532 
   6533 ‘:formula’
   6534      Content of a ‘TBLFM’ keyword to be added and evaluated.  As a
   6535      special case, ‘:formula %’ adds a column with % time.  If you do
   6536      not specify a formula here, any existing formula below the clock
   6537      table survives updates and is evaluated.
   6538 
   6539 ‘:formatter’
   6540      A function to format clock data and insert it into the buffer.
   6541 
   6542    To get a clock summary of the current level 1 tree, for the current
   6543 day, you could write:
   6544 
   6545      #+BEGIN: clocktable :maxlevel 2 :block today :scope tree1 :link t
   6546      #+END:
   6547 
   6548 To use a specific time range you could write(3)
   6549 
   6550      #+BEGIN: clocktable :tstart "<2006-08-10 Thu 10:00>"
   6551                          :tend "<2006-08-10 Thu 12:00>"
   6552      #+END:
   6553 
   6554 A range starting a week ago and ending right now could be written as
   6555 
   6556      #+BEGIN: clocktable :tstart "<-1w>" :tend "<now>"
   6557      #+END:
   6558 
   6559 A summary of the current subtree with % times would be
   6560 
   6561      #+BEGIN: clocktable :scope subtree :link t :formula %
   6562      #+END:
   6563 
   6564 A horizontally compact representation of everything clocked during last
   6565 week would be
   6566 
   6567      #+BEGIN: clocktable :scope agenda :block lastweek :compact t
   6568      #+END:
   6569 
   6570    ---------- Footnotes ----------
   6571 
   6572    (1) When using ‘:step’, ‘untilnow’ starts from the beginning of 2003,
   6573 not the beginning of time.
   6574 
   6575    (2) Language terms can be set through the variable
   6576 ‘org-clock-clocktable-language-setup’.
   6577 
   6578    (3) Note that all parameters must be specified in a single line—the
   6579 line is broken here only to fit it into the manual.
   6580 
   6581 
   6582 File: org.info,  Node: Resolving idle time,  Prev: The clock table,  Up: Clocking Work Time
   6583 
   6584 8.4.3 Resolving idle time and continuous clocking
   6585 -------------------------------------------------
   6586 
   6587 Resolving idle time
   6588 ...................
   6589 
   6590 If you clock in on a work item, and then walk away from your
   6591 computer—perhaps to take a phone call—you often need to “resolve” the
   6592 time you were away by either subtracting it from the current clock, or
   6593 applying it to another one.
   6594 
   6595    By customizing the variable ‘org-clock-idle-time’ to some integer,
   6596 such as 10 or 15, Emacs can alert you when you get back to your computer
   6597 after being idle for that many minutes(1), and ask what you want to do
   6598 with the idle time.  There will be a question waiting for you when you
   6599 get back, indicating how much idle time has passed constantly updated
   6600 with the current amount, as well as a set of choices to correct the
   6601 discrepancy:
   6602 
   6603 ‘k’
   6604      To keep some or all of the minutes and stay clocked in, press ‘k’.
   6605      Org asks how many of the minutes to keep.  Press ‘<RET>’ to keep
   6606      them all, effectively changing nothing, or enter a number to keep
   6607      that many minutes.
   6608 
   6609 ‘K’
   6610      If you use the shift key and press ‘K’, it keeps however many
   6611      minutes you request and then immediately clock out of that task.
   6612      If you keep all of the minutes, this is the same as just clocking
   6613      out of the current task.
   6614 
   6615 ‘s’
   6616      To keep none of the minutes, use ‘s’ to subtract all the away time
   6617      from the clock, and then check back in from the moment you
   6618      returned.
   6619 
   6620 ‘S’
   6621      To keep none of the minutes and just clock out at the start of the
   6622      away time, use the shift key and press ‘S’.  Remember that using
   6623      shift always leave you clocked out, no matter which option you
   6624      choose.
   6625 
   6626 ‘C’
   6627      To cancel the clock altogether, use ‘C’.  Note that if instead of
   6628      canceling you subtract the away time, and the resulting clock
   6629      amount is less than a minute, the clock is still canceled rather
   6630      than cluttering up the log with an empty entry.
   6631 
   6632    What if you subtracted those away minutes from the current clock, and
   6633 now want to apply them to a new clock?  Simply clock in to any task
   6634 immediately after the subtraction.  Org will notice that you have
   6635 subtracted time “on the books”, so to speak, and will ask if you want to
   6636 apply those minutes to the next task you clock in on.
   6637 
   6638    There is one other instance when this clock resolution magic occurs.
   6639 Say you were clocked in and hacking away, and suddenly your cat chased a
   6640 mouse who scared a hamster that crashed into your UPS’s power button!
   6641 You suddenly lose all your buffers, but thanks to auto-save you still
   6642 have your recent Org mode changes, including your last clock in.
   6643 
   6644    If you restart Emacs and clock into any task, Org will notice that
   6645 you have a dangling clock which was never clocked out from your last
   6646 session.  Using that clock’s starting time as the beginning of the
   6647 unaccounted-for period, Org will ask how you want to resolve that time.
   6648 The logic and behavior is identical to dealing with away time due to
   6649 idleness; it is just happening due to a recovery event rather than a set
   6650 amount of idle time.
   6651 
   6652    You can also check all the files visited by your Org agenda for
   6653 dangling clocks at any time using ‘M-x org-resolve-clocks <RET>’ (or
   6654 ‘C-c C-x C-z’).
   6655 
   6656 Continuous clocking
   6657 ...................
   6658 
   6659 You may want to start clocking from the time when you clocked out the
   6660 previous task.  To enable this systematically, set
   6661 ‘org-clock-continuously’ to non-‘nil’.  Each time you clock in, Org
   6662 retrieves the clock-out time of the last clocked entry for this session,
   6663 and start the new clock from there.
   6664 
   6665    If you only want this from time to time, use three universal prefix
   6666 arguments with ‘org-clock-in’ and two ‘C-u C-u’ with
   6667 ‘org-clock-in-last’.
   6668 
   6669 Clocking out automatically after some idle time
   6670 ...............................................
   6671 
   6672 When you often forget to clock out before being idle and you don’t want
   6673 to manually set the clocking time to take into account, you can set
   6674 ‘org-clock-auto-clockout-timer’ to a number of seconds and add
   6675 ‘(org-clock-auto-clockout-insinuate)’ to your ‘.emacs’ file.
   6676 
   6677    When the clock is running and Emacs is idle for more than this number
   6678 of seconds, the clock will be clocked out automatically.
   6679 
   6680    Use ‘M-x org-clock-toggle-auto-clockout RET’ to temporarily turn this
   6681 on or off.
   6682 
   6683    ---------- Footnotes ----------
   6684 
   6685    (1) On computers using macOS, idleness is based on actual user
   6686 idleness, not just Emacs’s idle time.  For X11, you can install a
   6687 utility program ‘x11idle.c’, available in the ‘org-contrib/’ repository,
   6688 or install the xprintidle package and set it to the variable
   6689 ‘org-clock-x11idle-program-name’ if you are running Debian, to get the
   6690 same general treatment of idleness.  On other systems, idle time refers
   6691 to Emacs idle time only.
   6692 
   6693 
   6694 File: org.info,  Node: Effort Estimates,  Next: Timers,  Prev: Clocking Work Time,  Up: Dates and Times
   6695 
   6696 8.5 Effort Estimates
   6697 ====================
   6698 
   6699 If you want to plan your work in a very detailed way, or if you need to
   6700 produce offers with quotations of the estimated work effort, you may
   6701 want to assign effort estimates to entries.  If you are also clocking
   6702 your work, you may later want to compare the planned effort with the
   6703 actual working time, a great way to improve planning estimates.
   6704 
   6705    Effort estimates are stored in a special property ‘EFFORT’.  Multiple
   6706 formats are supported, such as ‘3:12’, ‘1:23:45’, or ‘1d3h5min’; see the
   6707 file ‘org-duration.el’ for more detailed information about the format.
   6708 
   6709    You can set the effort for an entry with the following commands:
   6710 
   6711 ‘C-c C-x e’ (‘org-set-effort’)
   6712      Set the effort estimate for the current entry.  With a prefix
   6713      argument, set it to the next allowed value—see below.  This command
   6714      is also accessible from the agenda with the ‘e’ key.
   6715 
   6716 ‘C-c C-x C-e’ (‘org-clock-modify-effort-estimate’)
   6717      Modify the effort estimate of the item currently being clocked.
   6718 
   6719    Clearly the best way to work with effort estimates is through column
   6720 view (see *note Column View::).  You should start by setting up discrete
   6721 values for effort estimates, and a ‘COLUMNS’ format that displays these
   6722 values together with clock sums—if you want to clock your time.  For a
   6723 specific buffer you can use:
   6724 
   6725      #+PROPERTY: Effort_ALL 0 0:10 0:30 1:00 2:00 3:00 4:00 5:00 6:00 7:00
   6726      #+COLUMNS: %40ITEM(Task) %17Effort(Estimated Effort){:} %CLOCKSUM
   6727 
   6728 or, even better, you can set up these values globally by customizing the
   6729 variables ‘org-global-properties’ and ‘org-columns-default-format’.  In
   6730 particular if you want to use this setup also in the agenda, a global
   6731 setup may be advised.
   6732 
   6733    The way to assign estimates to individual items is then to switch to
   6734 column mode, and to use ‘S-<RIGHT>’ and ‘S-<LEFT>’ to change the value.
   6735 The values you enter are immediately summed up in the hierarchy.  In the
   6736 column next to it, any clocked time is displayed.
   6737 
   6738    If you switch to column view in the daily/weekly agenda, the effort
   6739 column summarizes the estimated work effort for each day(1), and you can
   6740 use this to find space in your schedule.  To get an overview of the
   6741 entire part of the day that is committed, you can set the option
   6742 ‘org-agenda-columns-add-appointments-to-effort-sum’.  The appointments
   6743 on a day that take place over a specified time interval are then also
   6744 added to the load estimate of the day.
   6745 
   6746    Effort estimates can be used in secondary agenda filtering that is
   6747 triggered with the ‘/’ key in the agenda (see *note Agenda Commands::).
   6748 If you have these estimates defined consistently, two or three key
   6749 presses narrow down the list to stuff that fits into an available time
   6750 slot.
   6751 
   6752    ---------- Footnotes ----------
   6753 
   6754    (1) Please note the pitfalls of summing hierarchical data in a flat
   6755 list (see *note Agenda Column View::).
   6756 
   6757 
   6758 File: org.info,  Node: Timers,  Prev: Effort Estimates,  Up: Dates and Times
   6759 
   6760 8.6 Taking Notes with a Relative Timer
   6761 ======================================
   6762 
   6763 Org provides two types of timers.  There is a relative timer that counts
   6764 up, which can be useful when taking notes during, for example, a meeting
   6765 or a video viewing.  There is also a countdown timer.
   6766 
   6767    The relative and countdown are started with separate commands.
   6768 
   6769 ‘C-c C-x 0’ (‘org-timer-start’)
   6770      Start or reset the relative timer.  By default, the timer is set to
   6771      0.  When called with a ‘C-u’ prefix, prompt the user for a starting
   6772      offset.  The prompt will default to a timer string at point (if
   6773      any), providing a convenient way to restart taking notes after a
   6774      break in the process.  When called with a double prefix argument
   6775      ‘C-u C-u’, change all timer strings in the active region by a
   6776      certain amount.  This can be used to fix timer strings if the timer
   6777      was not started at exactly the right moment.
   6778 
   6779 ‘C-c C-x ;’ (‘org-timer-set-timer’)
   6780      Start a countdown timer.  The user is prompted for a duration.
   6781      ‘org-timer-default-timer’ sets the default countdown value.  Giving
   6782      a numeric prefix argument overrides this default value.  This
   6783      command is available as ‘;’ in agenda buffers.
   6784 
   6785    Once started, relative and countdown timers are controlled with the
   6786 same commands.
   6787 
   6788 ‘C-c C-x .’ (‘org-timer’)
   6789      Insert a relative time into the buffer.  The first time you use
   6790      this, the timer starts.  Using a prefix argument restarts it.
   6791 
   6792 ‘C-c C-x -’ (‘org-timer-item’)
   6793      Insert a description list item with the current relative time.
   6794      With a prefix argument, first reset the timer to 0.
   6795 
   6796 ‘M-<RET>’ (‘org-insert-heading’)
   6797      Once the timer list is started, you can also use ‘M-<RET>’ to
   6798      insert new timer items.
   6799 
   6800 ‘C-c C-x ,’ (‘org-timer-pause-or-continue’)
   6801      Pause the timer, or continue it if it is already paused.
   6802 
   6803 ‘C-c C-x _’ (‘org-timer-stop’)
   6804      Stop the timer.  After this, you can only start a new timer, not
   6805      continue the old one.  This command also removes the timer from the
   6806      mode line.
   6807 
   6808 
   6809 File: org.info,  Node: Refiling and Archiving,  Next: Capture and Attachments,  Prev: Dates and Times,  Up: Top
   6810 
   6811 9 Refiling and Archiving
   6812 ************************
   6813 
   6814 Once information is in the system, it may need to be moved around.  Org
   6815 provides Refile, Copy and Archive commands for this.  Refile and Copy
   6816 helps with moving and copying outlines.  Archiving helps to keep the
   6817 system compact and fast.
   6818 
   6819 * Menu:
   6820 
   6821 * Refile and Copy::              Moving/copying a tree from one place to another.
   6822 * Archiving::                    What to do with finished products.
   6823 
   6824 
   6825 File: org.info,  Node: Refile and Copy,  Next: Archiving,  Up: Refiling and Archiving
   6826 
   6827 9.1 Refile and Copy
   6828 ===================
   6829 
   6830 When reviewing the captured data, you may want to refile or to copy some
   6831 of the entries into a different list, for example into a project.
   6832 Cutting, finding the right location, and then pasting the note is
   6833 cumbersome.  To simplify this process, you can use the following special
   6834 command:
   6835 
   6836 ‘C-c C-w’ (‘org-refile’)
   6837      Refile the entry or region at point.  This command offers possible
   6838      locations for refiling the entry and lets you select one with
   6839      completion.  The item (or all items in the region) is filed below
   6840      the target heading as a subitem.  Depending on
   6841      ‘org-reverse-note-order’, it is either the first or last subitem.
   6842 
   6843      By default, all level 1 headlines in the current buffer are
   6844      considered to be targets, but you can have more complex definitions
   6845      across a number of files.  See the variable ‘org-refile-targets’
   6846      for details.  If you would like to select a location via a
   6847      file-path-like completion along the outline path, see the variables
   6848      ‘org-refile-use-outline-path’ and
   6849      ‘org-outline-path-complete-in-steps’.  If you would like to be able
   6850      to create new nodes as new parents for refiling on the fly, check
   6851      the variable ‘org-refile-allow-creating-parent-nodes’.  When the
   6852      variable ‘org-log-refile’(1) is set, a timestamp or a note is
   6853      recorded whenever an entry is refiled.
   6854 
   6855 ‘C-u C-c C-w’
   6856      Use the refile interface to jump to a heading.
   6857 
   6858 ‘C-u C-u C-c C-w’ (‘org-refile-goto-last-stored’)
   6859      Jump to the location where ‘org-refile’ last moved a tree to.
   6860 
   6861 ‘C-2 C-c C-w’
   6862      Refile as the child of the item currently being clocked.
   6863 
   6864 ‘C-3 C-c C-w’
   6865      Refile and keep the entry in place.  Also see ‘org-refile-keep’ to
   6866      make this the default behavior, and beware that this may result in
   6867      duplicated ‘ID’ properties.
   6868 
   6869 ‘C-0 C-c C-w’ or ‘C-u C-u C-u C-c C-w’ (‘org-refile-cache-clear’)
   6870      Clear the target cache.  Caching of refile targets can be turned on
   6871      by setting ‘org-refile-use-cache’.  To make the command see new
   6872      possible targets, you have to clear the cache with this command.
   6873 
   6874 ‘C-c M-w’ (‘org-refile-copy’)
   6875      Copying works like refiling, except that the original note is not
   6876      deleted.
   6877 
   6878 ‘C-c C-M-w’ (‘org-refile-reverse’)
   6879      Works like refiling, except that it temporarily toggles how the
   6880      value of ‘org-reverse-note-order’ applies to the current buffer.
   6881      So if ‘org-refile’ would append the entry as the last entry under
   6882      the target header, ‘org-refile-reverse’ will prepend it as the
   6883      first entry, and vice-versa.
   6884 
   6885    ---------- Footnotes ----------
   6886 
   6887    (1) Note the corresponding ‘STARTUP’ options ‘logrefile’,
   6888 ‘lognoterefile’, and ‘nologrefile’.
   6889 
   6890 
   6891 File: org.info,  Node: Archiving,  Prev: Refile and Copy,  Up: Refiling and Archiving
   6892 
   6893 9.2 Archiving
   6894 =============
   6895 
   6896 When a project represented by a (sub)tree is finished, you may want to
   6897 move the tree out of the way and to stop it from contributing to the
   6898 agenda.  Archiving is important to keep your working files compact and
   6899 global searches like the construction of agenda views fast.
   6900 
   6901 ‘C-c C-x C-a’ (‘org-archive-subtree-default’)
   6902      Archive the current entry using the command specified in the
   6903      variable ‘org-archive-default-command’.
   6904 
   6905 * Menu:
   6906 
   6907 * Moving subtrees::              Moving a tree to an archive file.
   6908 * Internal archiving::           Switch off a tree but keep it in the file.
   6909 
   6910 
   6911 File: org.info,  Node: Moving subtrees,  Next: Internal archiving,  Up: Archiving
   6912 
   6913 9.2.1 Moving a tree to an archive file
   6914 --------------------------------------
   6915 
   6916 The most common archiving action is to move a project tree to another
   6917 file, the archive file.
   6918 
   6919 ‘C-c C-x C-s’ or short ‘C-c $’ (‘org-archive-subtree’)
   6920      Archive the subtree starting at point position to the location
   6921      given by ‘org-archive-location’.
   6922 
   6923 ‘C-u C-c C-x C-s’
   6924      Check if any direct children of the current headline could be moved
   6925      to the archive.  To do this, check each subtree for open TODO
   6926      entries.  If none is found, the command offers to move it to the
   6927      archive location.  If point is _not_ on a headline when this
   6928      command is invoked, check level 1 trees.
   6929 
   6930 ‘C-u C-u C-c C-x C-s’
   6931      As above, but check subtree for timestamps instead of TODO entries.
   6932      The command offers to archive the subtree if it _does_ contain a
   6933      timestamp, and that timestamp is in the past.
   6934 
   6935    The default archive location is a file in the same directory as the
   6936 current file, with the name derived by appending ‘_archive’ to the
   6937 current file name.  You can also choose what heading to file archived
   6938 items under, with the possibility to add them to a datetree in a file.
   6939 For information and examples on how to specify the file and the heading,
   6940 see the documentation string of the variable ‘org-archive-location’.
   6941 
   6942    There is also an in-buffer option for setting this variable, for
   6943 example:
   6944 
   6945      #+ARCHIVE: %s_done::
   6946 
   6947    If you would like to have a special archive location for a single
   6948 entry or a (sub)tree, give the entry an ‘ARCHIVE’ property with the
   6949 location as the value (see *note Properties and Columns::).
   6950 
   6951    When a subtree is moved, it receives a number of special properties
   6952 that record context information like the file from where the entry came,
   6953 its outline path the archiving time etc.  Configure the variable
   6954 ‘org-archive-save-context-info’ to adjust the amount of information
   6955 added.
   6956 
   6957    When ‘org-archive-subtree-save-file-p’ is non-‘nil’, save the target
   6958 archive buffer.
   6959 
   6960 
   6961 File: org.info,  Node: Internal archiving,  Prev: Moving subtrees,  Up: Archiving
   6962 
   6963 9.2.2 Internal archiving
   6964 ------------------------
   6965 
   6966 If you want to just switch off—for agenda views—certain subtrees without
   6967 moving them to a different file, you can use the ‘ARCHIVE’ tag.
   6968 
   6969    A headline that is marked with the ‘ARCHIVE’ tag (see *note Tags::)
   6970 stays at its location in the outline tree, but behaves in the following
   6971 way:
   6972 
   6973    • It does not open when you attempt to do so with a visibility
   6974      cycling command (see *note Visibility Cycling::).  You can force
   6975      cycling archived subtrees with ‘C-c C-<TAB>’, or by setting the
   6976      option ‘org-cycle-open-archived-trees’.  Also normal outline
   6977      commands, like ‘org-show-all’, open archived subtrees.
   6978 
   6979    • During sparse tree construction (see *note Sparse Trees::), matches
   6980      in archived subtrees are not exposed, unless you configure the
   6981      option ‘org-sparse-tree-open-archived-trees’.
   6982 
   6983    • During agenda view construction (see *note Agenda Views::), the
   6984      content of archived trees is ignored unless you configure the
   6985      option ‘org-agenda-skip-archived-trees’, in which case these trees
   6986      are always included.  In the agenda you can press ‘v a’ to get
   6987      archives temporarily included.
   6988 
   6989    • Archived trees are not exported (see *note Exporting::), only the
   6990      headline is.  Configure the details using the variable
   6991      ‘org-export-with-archived-trees’.
   6992 
   6993    • Archived trees are excluded from column view unless the variable
   6994      ‘org-columns-skip-archived-trees’ is configured to ‘nil’.
   6995 
   6996    The following commands help manage the ‘ARCHIVE’ tag:
   6997 
   6998 ‘C-c C-x a’ (‘org-toggle-archive-tag’)
   6999      Toggle the archive tag for the current headline.  When the tag is
   7000      set, the headline changes to a shadowed face, and the subtree below
   7001      it is hidden.
   7002 
   7003 ‘C-u C-c C-x a’
   7004      Check if any direct children of the current headline should be
   7005      archived.  To do this, check each subtree for open TODO entries.
   7006      If none is found, the command offers to set the ‘ARCHIVE’ tag for
   7007      the child.  If point is _not_ on a headline when this command is
   7008      invoked, check the level 1 trees.
   7009 
   7010 ‘C-c C-<TAB>’ (‘org-cycle-force-archived’)
   7011      Cycle a tree even if it is tagged with ‘ARCHIVE’.
   7012 
   7013 ‘C-c C-x A’ (‘org-archive-to-archive-sibling’)
   7014      Move the current entry to the _Archive Sibling_.  This is a sibling
   7015      of the entry with the heading ‘Archive’ and the archive tag.  The
   7016      entry becomes a child of that sibling and in this way retains a lot
   7017      of its original context, including inherited tags and approximate
   7018      position in the outline.
   7019 
   7020 
   7021 File: org.info,  Node: Capture and Attachments,  Next: Agenda Views,  Prev: Refiling and Archiving,  Up: Top
   7022 
   7023 10 Capture and Attachments
   7024 **************************
   7025 
   7026 An important part of any organization system is the ability to quickly
   7027 capture new ideas and tasks, and to associate reference material with
   7028 them.  Org does this using a process called _capture_.  It also can
   7029 store files related to a task (_attachments_) in a special directory.
   7030 Finally, it can parse RSS feeds for information.  To learn how to let
   7031 external programs (for example a web browser) trigger Org to capture
   7032 material, see *note Protocols::.
   7033 
   7034 * Menu:
   7035 
   7036 * Capture::                      Capturing new stuff.
   7037 * Attachments::                  Attach files to outlines.
   7038 * RSS Feeds::                    Getting input from RSS feeds.
   7039 
   7040 
   7041 File: org.info,  Node: Capture,  Next: Attachments,  Up: Capture and Attachments
   7042 
   7043 10.1 Capture
   7044 ============
   7045 
   7046 Capture lets you quickly store notes with little interruption of your
   7047 work flow.  Org’s method for capturing new items is heavily inspired by
   7048 John Wiegley’s excellent Remember package.
   7049 
   7050 * Menu:
   7051 
   7052 * Setting up capture::           Where notes will be stored.
   7053 * Using capture::                Commands to invoke and terminate capture.
   7054 * Capture templates::            Define the outline of different note types.
   7055 
   7056 
   7057 File: org.info,  Node: Setting up capture,  Next: Using capture,  Up: Capture
   7058 
   7059 10.1.1 Setting up capture
   7060 -------------------------
   7061 
   7062 The following customization sets a default target file for notes.
   7063 
   7064      (setq org-default-notes-file (concat org-directory "/notes.org"))
   7065 
   7066    You may also define a global key for capturing new material (see
   7067 *note Activation::).
   7068 
   7069 
   7070 File: org.info,  Node: Using capture,  Next: Capture templates,  Prev: Setting up capture,  Up: Capture
   7071 
   7072 10.1.2 Using capture
   7073 --------------------
   7074 
   7075 ‘M-x org-capture’ (‘org-capture’)
   7076      Display the capture templates menu.  If you have templates defined
   7077      (see *note Capture templates::), it offers these templates for
   7078      selection or use a new Org outline node as the default template.
   7079      It inserts the template into the target file and switch to an
   7080      indirect buffer narrowed to this new node.  You may then insert the
   7081      information you want.
   7082 
   7083 ‘C-c C-c’ (‘org-capture-finalize’)
   7084      Once you have finished entering information into the capture
   7085      buffer, ‘C-c C-c’ returns you to the window configuration before
   7086      the capture process, so that you can resume your work without
   7087      further distraction.  When called with a prefix argument, finalize
   7088      and then jump to the captured item.
   7089 
   7090 ‘C-c C-w’ (‘org-capture-refile’)
   7091      Finalize the capture process by refiling the note to a different
   7092      place (see *note Refile and Copy::).  Please realize that this is a
   7093      normal refiling command that will be executed—so point position at
   7094      the moment you run this command is important.  If you have inserted
   7095      a tree with a parent and children, first move point back to the
   7096      parent.  Any prefix argument given to this command is passed on to
   7097      the ‘org-refile’ command.
   7098 
   7099 ‘C-c C-k’ (‘org-capture-kill’)
   7100      Abort the capture process and return to the previous state.
   7101 
   7102    You can also call ‘org-capture’ in a special way from the agenda,
   7103 using the ‘k c’ key combination.  With this access, any timestamps
   7104 inserted by the selected capture template defaults to the date at point
   7105 in the agenda, rather than to the current date.
   7106 
   7107    To find the locations of the last stored capture, use ‘org-capture’
   7108 with prefix commands:
   7109 
   7110 ‘C-u M-x org-capture’
   7111      Visit the target location of a capture template.  You get to select
   7112      the template in the usual way.
   7113 
   7114 ‘C-u C-u M-x org-capture’
   7115      Visit the last stored capture item in its buffer.
   7116 
   7117    You can also jump to the bookmark ‘org-capture-last-stored’, which is
   7118 automatically created unless you customize ‘org-bookmark-names-plist’.
   7119 
   7120    To insert the capture at point in an Org buffer, call ‘org-capture’
   7121 with a ‘C-0’ prefix argument.
   7122 
   7123 
   7124 File: org.info,  Node: Capture templates,  Prev: Using capture,  Up: Capture
   7125 
   7126 10.1.3 Capture templates
   7127 ------------------------
   7128 
   7129 You can use templates for different types of capture items, and for
   7130 different target locations.  The easiest way to create such templates is
   7131 through the customize interface.
   7132 
   7133 ‘C’
   7134      Customize the variable ‘org-capture-templates’.
   7135 
   7136    Before we give the formal description of template definitions, let’s
   7137 look at an example.  Say you would like to use one template to create
   7138 general TODO entries, and you want to put these entries under the
   7139 heading ‘Tasks’ in your file ‘~/org/gtd.org’.  Also, a date tree in the
   7140 file ‘journal.org’ should capture journal entries.  A possible
   7141 configuration would look like:
   7142 
   7143      (setq org-capture-templates
   7144            '(("t" "Todo" entry (file+headline "~/org/gtd.org" "Tasks")
   7145               "* TODO %?\n  %i\n  %a")
   7146              ("j" "Journal" entry (file+datetree "~/org/journal.org")
   7147               "* %?\nEntered on %U\n  %i\n  %a")))
   7148 
   7149    If you then press ‘t’ from the capture menu, Org will prepare the
   7150 template for you like this:
   7151 
   7152      * TODO
   7153        [[file:LINK TO WHERE YOU INITIATED CAPTURE]]
   7154 
   7155 During expansion of the template, ‘%a’ has been replaced by a link to
   7156 the location from where you called the capture command.  This can be
   7157 extremely useful for deriving tasks from emails, for example.  You fill
   7158 in the task definition, press ‘C-c C-c’ and Org returns you to the same
   7159 place where you started the capture process.
   7160 
   7161    To define special keys to capture to a particular template without
   7162 going through the interactive template selection, you can create your
   7163 key binding like this:
   7164 
   7165      (define-key global-map (kbd "C-c x")
   7166        (lambda () (interactive) (org-capture nil "x")))
   7167 
   7168 * Menu:
   7169 
   7170 * Template elements::            What is needed for a complete template entry.
   7171 * Template expansion::           Filling in information about time and context.
   7172 * Templates in contexts::        Only show a template in a specific context.
   7173 
   7174 
   7175 File: org.info,  Node: Template elements,  Next: Template expansion,  Up: Capture templates
   7176 
   7177 10.1.3.1 Template elements
   7178 ..........................
   7179 
   7180 Now lets look at the elements of a template definition.  Each entry in
   7181 ‘org-capture-templates’ is a list with the following items:
   7182 
   7183 keys
   7184      The keys that selects the template, as a string, characters only,
   7185      for example ‘"a"’, for a template to be selected with a single key,
   7186      or ‘"bt"’ for selection with two keys.  When using several keys,
   7187      keys using the same prefix key must be sequential in the list and
   7188      preceded by a 2-element entry explaining the prefix key, for
   7189      example:
   7190 
   7191           ("b" "Templates for marking stuff to buy")
   7192 
   7193      If you do not define a template for the ‘C’ key, this key opens the
   7194      Customize buffer for this complex variable.
   7195 
   7196 description
   7197      A short string describing the template, shown during selection.
   7198 
   7199 type
   7200      The type of entry, a symbol.  Valid values are:
   7201 
   7202      ‘entry’
   7203           An Org mode node, with a headline.  Will be filed as the child
   7204           of the target entry or as a top-level entry.  The target file
   7205           should be an Org file.
   7206 
   7207      ‘item’
   7208           A plain list item, placed in the first plain list at the
   7209           target location.  Again the target file should be an Org file.
   7210 
   7211      ‘checkitem’
   7212           A checkbox item.  This only differs from the plain list item
   7213           by the default template.
   7214 
   7215      ‘table-line’
   7216           A new line in the first table at the target location.  Where
   7217           exactly the line will be inserted depends on the properties
   7218           ‘:prepend’ and ‘:table-line-pos’ (see below).
   7219 
   7220      ‘plain’
   7221           Text to be inserted as it is.
   7222 
   7223 target
   7224      Specification of where the captured item should be placed.  In Org
   7225      files, targets usually define a node.  Entries will become children
   7226      of this node.  Other types will be added to the table or list in
   7227      the body of this node.  Most target specifications contain a file
   7228      name.  If that file name is the empty string, it defaults to
   7229      ‘org-default-notes-file’.  A file can also be given as a variable
   7230      or as a function called with no argument.  When an absolute path is
   7231      not specified for a target, it is taken as relative to
   7232      ‘org-directory’.
   7233 
   7234      Valid values are:
   7235 
   7236      ‘(file "path/to/file")’
   7237           Text will be placed at the beginning or end of that file.
   7238 
   7239      ‘(id "id of existing org entry")’
   7240           Filing as child of this entry, or in the body of the entry.
   7241 
   7242      ‘(file+headline "filename" "node headline")’
   7243           Fast configuration if the target heading is unique in the
   7244           file.
   7245 
   7246      ‘(file+olp "filename" "Level 1 heading" "Level 2" ...)’
   7247           For non-unique headings, the full path is safer.
   7248 
   7249      ‘(file+regexp "filename" "regexp to find location")’
   7250           Use a regular expression to position point.
   7251 
   7252      ‘(file+olp+datetree "filename" [ "Level 1 heading" ...])’
   7253           This target(1) creates a heading in a date tree(2) for today’s
   7254           date.  If the optional outline path is given, the tree will be
   7255           built under the node it is pointing to, instead of at top
   7256           level.  Check out the ‘:time-prompt’ and ‘:tree-type’
   7257           properties below for additional options.
   7258 
   7259      ‘(file+function "filename" function-finding-location)’
   7260           A function to find the right location in the file.
   7261 
   7262      ‘(clock)’
   7263           File to the entry that is currently being clocked.
   7264 
   7265      ‘(here)’
   7266           The position of ‘point’.
   7267 
   7268      ‘(function function-finding-location)’
   7269           Most general way: write your own function which both visits
   7270           the file and moves point to the right location.
   7271 
   7272 template
   7273      The template for creating the capture item.  If you leave this
   7274      empty, an appropriate default template will be used.  Otherwise
   7275      this is a string with escape codes, which will be replaced
   7276      depending on time and context of the capture call.  You may also
   7277      get this template string from a file(3), or dynamically, from a
   7278      function using either syntax:
   7279 
   7280           (file "/path/to/template-file")
   7281           (function FUNCTION-RETURNING-THE-TEMPLATE)
   7282 
   7283 properties
   7284      The rest of the entry is a property list of additional options.
   7285      Recognized properties are:
   7286 
   7287      ‘:prepend’
   7288           Normally new captured information will be appended at the
   7289           target location (last child, last table line, last list item,
   7290           ...).  Setting this property changes that.
   7291 
   7292      ‘:immediate-finish’
   7293           When set, do not offer to edit the information, just file it
   7294           away immediately.  This makes sense if the template only needs
   7295           information that can be added automatically.
   7296 
   7297      ‘:jump-to-captured’
   7298           When set, jump to the captured entry when finished.
   7299 
   7300      ‘:empty-lines’
   7301           Set this to the number of lines to insert before and after the
   7302           new item.  Default 0, and the only other common value is 1.
   7303 
   7304      ‘:empty-lines-after’
   7305           Set this to the number of lines that should be inserted after
   7306           the new item.  Overrides ‘:empty-lines’ for the number of
   7307           lines inserted after.
   7308 
   7309      ‘:empty-lines-before’
   7310           Set this to the number of lines that should be inserted before
   7311           the new item.  Overrides ‘:empty-lines’ for the number lines
   7312           inserted before.
   7313 
   7314      ‘:clock-in’
   7315           Start the clock in this item.
   7316 
   7317      ‘:clock-keep’
   7318           Keep the clock running when filing the captured entry.
   7319 
   7320      ‘:clock-resume’
   7321           If starting the capture interrupted a clock, restart that
   7322           clock when finished with the capture.  Note that ‘:clock-keep’
   7323           has precedence over ‘:clock-resume’.  When setting both to
   7324           non-‘nil’, the current clock will run and the previous one
   7325           will not be resumed.
   7326 
   7327      ‘:time-prompt’
   7328           Prompt for a date/time to be used for date/week trees and when
   7329           filling the template.  Without this property, capture uses the
   7330           current date and time.  Even if this property has not been
   7331           set, you can force the same behavior by calling ‘org-capture’
   7332           with a ‘C-1’ prefix argument.
   7333 
   7334      ‘:tree-type’
   7335           Use ‘week’ to make a week tree instead of the month-day tree,
   7336           i.e., place the headings for each day under a heading with the
   7337           current ISO week.  Use ‘month’ to group entries by month only.
   7338           Default is to group entries by day.
   7339 
   7340      ‘:unnarrowed’
   7341           Do not narrow the target buffer, simply show the full buffer.
   7342           Default is to narrow it so that you only see the new material.
   7343 
   7344      ‘:table-line-pos’
   7345           Specification of the location in the table where the new line
   7346           should be inserted.  It should be a string like ‘II-3’ meaning
   7347           that the new line should become the third line before the
   7348           second horizontal separator line.
   7349 
   7350      ‘:kill-buffer’
   7351           If the target file was not yet visited when capture was
   7352           invoked, kill the buffer again after capture is completed.
   7353 
   7354      ‘:no-save’
   7355           Do not save the target file after finishing the capture.
   7356 
   7357      ‘:refile-targets’
   7358           Temporarily set ‘org-refile-targets’ to the value of this
   7359           property.
   7360 
   7361      ‘:hook’
   7362           A nullary function or list of nullary functions run before
   7363           ‘org-capture-mode-hook’ when the template is selected.
   7364 
   7365      ‘:prepare-finalize’
   7366           A nullary function or list of nullary functions run before
   7367           ‘org-capture-prepare-finalize-hook’ when the template is
   7368           selected.
   7369 
   7370      ‘:before-finalize’
   7371           A nullary function or list of nullary functions run before
   7372           ‘org-capture-before-finalize-hook’ when the template is
   7373           selected.
   7374 
   7375      ‘:after-finalize’
   7376           A nullary function or list of nullary functions run before
   7377           ‘org-capture-after-finalize-hook’ when the template is
   7378           selected.
   7379 
   7380    ---------- Footnotes ----------
   7381 
   7382    (1) Org used to offer four different targets for date/week tree
   7383 capture.  Now, Org automatically translates these to use
   7384 ‘file+olp+datetree’, applying the ‘:time-prompt’ and ‘:tree-type’
   7385 properties.  Please rewrite your date/week-tree targets using
   7386 ‘file+olp+datetree’ since the older targets are now deprecated.
   7387 
   7388    (2) A date tree is an outline structure with years on the highest
   7389 level, months or ISO weeks as sublevels and then dates on the lowest
   7390 level.
   7391      * 2022
   7392      ** 2022-10 October
   7393      *** 2022-10-07 Friday
   7394      *** 2022-10-08 Saturday
   7395    TODO state, priority, tags, statistics cookies, and COMMENT keywords
   7396 are allowed in the tree structure.
   7397 
   7398    (3) When the file name is not absolute, Org assumes it is relative to
   7399 ‘org-directory’.
   7400 
   7401 
   7402 File: org.info,  Node: Template expansion,  Next: Templates in contexts,  Prev: Template elements,  Up: Capture templates
   7403 
   7404 10.1.3.2 Template expansion
   7405 ...........................
   7406 
   7407 In the template itself, special “%-escapes”(1) allow dynamic insertion
   7408 of content.  The templates are expanded in the order given here:
   7409 
   7410 ‘%[FILE]’
   7411      Insert the contents of the file given by FILE.
   7412 
   7413 ‘%(EXP)’
   7414      Evaluate Elisp expression EXP and replace it with the result.  The
   7415      EXP form must return a string.  Only placeholders pre-existing
   7416      within the template, or introduced with ‘%[file]’, are expanded
   7417      this way.  Since this happens after expanding non-interactive
   7418      “%-escapes”, those can be used to fill the expression.
   7419 
   7420 ‘%<FORMAT>’
   7421      The result of format-time-string on the FORMAT specification.
   7422 
   7423 ‘%t’
   7424      Timestamp, date only.
   7425 
   7426 ‘%T’
   7427      Timestamp, with date and time.
   7428 
   7429 ‘%u’, ‘%U’
   7430      Like ‘%t’, ‘%T’ above, but inactive timestamps.
   7431 
   7432 ‘%i’
   7433      Initial content, the region when capture is called while the region
   7434      is active.  If there is text before ‘%i’ on the same line, such as
   7435      indentation, and ‘%i’ is not inside a ‘%(exp)’ form, that prefix is
   7436      added before every line in the inserted text.
   7437 
   7438 ‘%a’
   7439      Annotation, normally the link created with ‘org-store-link’.
   7440 
   7441 ‘%A’
   7442      Like ‘%a’, but prompt for the description part.
   7443 
   7444 ‘%l’
   7445      Like ‘%a’, but only insert the literal link.
   7446 
   7447 ‘%L’
   7448      Like ‘%l’, but without brackets (the link content itself).
   7449 
   7450 ‘%c’
   7451      Current kill ring head.
   7452 
   7453 ‘%x’
   7454      Content of the X clipboard.
   7455 
   7456 ‘%k’
   7457      Title of the currently clocked task.
   7458 
   7459 ‘%K’
   7460      Link to the currently clocked task.
   7461 
   7462 ‘%n’
   7463      User name (taken from ‘user-full-name’).
   7464 
   7465 ‘%f’
   7466      File visited by current buffer when org-capture was called.
   7467 
   7468 ‘%F’
   7469      Full path of the file or directory visited by current buffer.
   7470 
   7471 ‘%:keyword’
   7472      Specific information for certain link types, see below.
   7473 
   7474 ‘%^g’
   7475      Prompt for tags, with completion on tags in target file.
   7476 
   7477 ‘%^G’
   7478      Prompt for tags, with completion all tags in all agenda files.
   7479 
   7480 ‘%^t’
   7481      Like ‘%t’, but prompt for date.  Similarly ‘%^T’, ‘%^u’, ‘%^U’.
   7482      You may define a prompt like ‘%^{Birthday}t’.
   7483 
   7484 ‘%^C’
   7485      Interactive selection of which kill or clip to use.
   7486 
   7487 ‘%^L’
   7488      Like ‘%^C’, but insert as link.
   7489 
   7490 ‘%^{PROP}p’
   7491      Prompt the user for a value for property PROP.  You may specify a
   7492      default value with ‘%^{PROP|default}’.
   7493 
   7494 ‘%^{PROMPT}X’, X is one of g,G,t,T,u,U,C,L
   7495      Prompt the user as in ‘%^X’, but use the custom prompt string.  You
   7496      may specify a default value and completions with
   7497      ‘%^{PROMPT|default|completion1|completion2|completion3...}X’.
   7498 
   7499 ‘%^{PROMPT}’
   7500      Prompt the user for a string and replace this sequence with it.
   7501      You may specify a default value and a completion table with
   7502      ‘%^{prompt|default|completion2|completion3...}’.  The arrow keys
   7503      access a prompt-specific history.
   7504 
   7505 ‘%\N’
   7506      Insert the text entered at the Nth ‘%^{PROMPT}’, where N is a
   7507      number, starting from 1.
   7508 
   7509 ‘%?’
   7510      After completing the template, position point here.
   7511 
   7512    For specific link types, the following keywords are defined(2):
   7513 
   7514 Link type      Available keywords
   7515 --------------------------------------------------------------------------
   7516 bbdb           ‘%:name’, ‘%:company’
   7517 irc            ‘%:server’, ‘%:port’, ‘%:nick’
   7518 mh, rmail      ‘%:type’, ‘%:subject’, ‘%:message-id’
   7519                ‘%:from’, ‘%:fromname’, ‘%:fromaddress’
   7520                ‘%:to’, ‘%:toname’, ‘%:toaddress’
   7521                ‘%:date’ (message date header field)
   7522                ‘%:date-timestamp’ (date as active timestamp)
   7523                ‘%:date-timestamp-inactive’ (date as inactive timestamp)
   7524                ‘%:fromto’ (either “to NAME” or “from NAME”)(3)
   7525 gnus           ‘%:group’, for messages also all email fields
   7526 w3, w3m        ‘%:url’
   7527 info           ‘%:file’, ‘%:node’
   7528 calendar       ‘%:date’
   7529 org-protocol   ‘%:link’, ‘%:description’, ‘%:annotation’
   7530 
   7531    ---------- Footnotes ----------
   7532 
   7533    (1) If you need one of these sequences literally, escape the ‘%’ with
   7534 a backslash.
   7535 
   7536    (2) If you define your own link types (see *note Adding Hyperlink
   7537 Types::), any property you store with ‘org-store-link-props’ can be
   7538 accessed in capture templates in a similar way.
   7539 
   7540    (3) This is always the other, not the user.  See the variable
   7541 ‘org-link-from-user-regexp’.
   7542 
   7543 
   7544 File: org.info,  Node: Templates in contexts,  Prev: Template expansion,  Up: Capture templates
   7545 
   7546 10.1.3.3 Templates in contexts
   7547 ..............................
   7548 
   7549 To control whether a capture template should be accessible from a
   7550 specific context, you can customize ‘org-capture-templates-contexts’.
   7551 Let’s say, for example, that you have a capture template “p” for storing
   7552 Gnus emails containing patches.  Then you would configure this option
   7553 like this:
   7554 
   7555      (setq org-capture-templates-contexts
   7556            '(("p" ((in-mode . "message-mode")))))
   7557 
   7558    You can also tell that the command key ‘p’ should refer to another
   7559 template.  In that case, add this command key like this:
   7560 
   7561      (setq org-capture-templates-contexts
   7562            '(("p" "q" ((in-mode . "message-mode")))))
   7563 
   7564    See the docstring of the variable for more information.
   7565 
   7566 
   7567 File: org.info,  Node: Attachments,  Next: RSS Feeds,  Prev: Capture,  Up: Capture and Attachments
   7568 
   7569 10.2 Attachments
   7570 ================
   7571 
   7572 It is often useful to associate reference material with an outline node.
   7573 Small chunks of plain text can simply be stored in the subtree of a
   7574 project.  Hyperlinks (see *note Hyperlinks::) can establish associations
   7575 with files that live elsewhere on a local, or even remote, computer,
   7576 like emails or source code files belonging to a project.
   7577 
   7578    Another method is _attachments_, which are files located in a
   7579 directory belonging to an outline node.  Org uses directories either
   7580 named by a unique ID of each entry, or by a ‘DIR’ property.
   7581 
   7582 * Menu:
   7583 
   7584 * Attachment defaults and dispatcher:: How to access attachment commands
   7585 * Attachment options::           Configuring the attachment system
   7586 * Attachment links::             Hyperlink access to attachments
   7587 * Automatic version-control with Git:: Everything safely stored away
   7588 * Attach from Dired::            Using dired to select an attachment
   7589 
   7590 
   7591 File: org.info,  Node: Attachment defaults and dispatcher,  Next: Attachment options,  Up: Attachments
   7592 
   7593 10.2.1 Attachment defaults and dispatcher
   7594 -----------------------------------------
   7595 
   7596 By default, Org attach uses ID properties when adding attachments to
   7597 outline nodes.  This makes working with attachments fully automated.
   7598 There is no decision needed for folder-name or location.  ID-based
   7599 directories are by default located in the ‘data/’ directory, which lives
   7600 in the same directory where your Org file lives(1).
   7601 
   7602    When attachments are made using ‘org-attach’ a default tag ‘ATTACH’
   7603 is added to the node that gets the attachments.
   7604 
   7605    For more control over the setup, see *note Attachment options::.
   7606 
   7607    The following commands deal with attachments:
   7608 
   7609 ‘C-c C-a’ (‘org-attach’)
   7610      The dispatcher for commands related to the attachment system.
   7611      After these keys, a list of commands is displayed and you must
   7612      press an additional key to select a command:
   7613 
   7614      ‘a’ (‘org-attach-attach’)
   7615           Select a file and move it into the task’s attachment
   7616           directory.  The file is copied, moved, or linked, depending on
   7617           ‘org-attach-method’.  Note that hard links are not supported
   7618           on all systems.
   7619 
   7620      ‘c’/‘m’/‘l’
   7621           Attach a file using the copy/move/link method.  Note that hard
   7622           links are not supported on all systems.
   7623 
   7624      ‘b’ (‘org-attach-buffer’)
   7625           Select a buffer and save it as a file in the task’s attachment
   7626           directory.
   7627 
   7628      ‘n’ (‘org-attach-new’)
   7629           Create a new attachment as an Emacs buffer.
   7630 
   7631      ‘z’ (‘org-attach-sync’)
   7632           Synchronize the current task with its attachment directory, in
   7633           case you added attachments yourself.
   7634 
   7635      ‘o’ (‘org-attach-open’)
   7636           Open current task’s attachment.  If there is more than one,
   7637           prompt for a file name first.  Opening follows the rules set
   7638           by ‘org-file-apps’.  For more details, see the information on
   7639           following hyperlinks (see *note Handling Links::).
   7640 
   7641      ‘O’ (‘org-attach-open-in-emacs’)
   7642           Also open the attachment, but force opening the file in Emacs.
   7643 
   7644      ‘f’ (‘org-attach-reveal’)
   7645           Open the current task’s attachment directory.
   7646 
   7647      ‘F’ (‘org-attach-reveal-in-emacs’)
   7648           Also open the directory, but force using Dired in Emacs.
   7649 
   7650      ‘d’ (‘org-attach-delete-one’)
   7651           Select and delete a single attachment.
   7652 
   7653      ‘D’ (‘org-attach-delete-all’)
   7654           Delete all of a task’s attachments.  A safer way is to open
   7655           the directory in Dired and delete from there.
   7656 
   7657      ‘s’ (‘org-attach-set-directory’)
   7658           Set a specific directory as the entry’s attachment directory.
   7659           This works by putting the directory path into the ‘DIR’
   7660           property.
   7661 
   7662      ‘S’ (‘org-attach-unset-directory’)
   7663           Remove the attachment directory.  This command removes the
   7664           ‘DIR’ property and asks the user to either move content inside
   7665           that folder, if an ‘ID’ property is set, delete the content,
   7666           or to leave the attachment directory as is but no longer
   7667           attached to the outline node.
   7668 
   7669    ---------- Footnotes ----------
   7670 
   7671    (1) If you move entries or Org files from one directory to another,
   7672 you may want to configure ‘org-attach-id-dir’ to contain an absolute
   7673 path.
   7674 
   7675 
   7676 File: org.info,  Node: Attachment options,  Next: Attachment links,  Prev: Attachment defaults and dispatcher,  Up: Attachments
   7677 
   7678 10.2.2 Attachment options
   7679 -------------------------
   7680 
   7681 There are a couple of options for attachments that are worth mentioning.
   7682 
   7683 ‘org-attach-id-dir’
   7684      The directory where attachments are stored when ‘ID’ is used as
   7685      method.
   7686 
   7687 ‘org-attach-dir-relative’
   7688      When setting the ‘DIR’ property on a node using ‘C-c C-a s’
   7689      (‘org-attach-set-directory’), absolute links are entered by
   7690      default.  This option changes that to relative links.
   7691 
   7692 ‘org-attach-use-inheritance’
   7693      By default folders attached to an outline node are inherited from
   7694      parents according to ‘org-use-property-inheritance’.  If one
   7695      instead want to set inheritance specifically for Org attach that
   7696      can be done using ‘org-attach-use-inheritance’.  Inheriting
   7697      documents through the node hierarchy makes a lot of sense in most
   7698      cases.  Especially when using attachment links (see *note
   7699      Attachment links::).  The following example shows one use case for
   7700      attachment inheritance:
   7701 
   7702           * Chapter A ...
   7703             :PROPERTIES:
   7704             :DIR: Chapter A/
   7705             :END:
   7706           ** Introduction
   7707           Some text
   7708 
   7709           #+NAME: Image 1
   7710           [[attachment:image 1.jpg]]
   7711 
   7712      Without inheritance one would not be able to resolve the link to
   7713      ‘image 1.jpg’, since the link is inside a sub-heading to ‘Chapter
   7714      A’.
   7715 
   7716      Inheritance works the same way for both ‘ID’ and ‘DIR’ property.
   7717      If both properties are defined on the same headline then ‘DIR’
   7718      takes precedence.  This is also true if inheritance is enabled.  If
   7719      ‘DIR’ is inherited from a parent node in the outline, that property
   7720      still takes precedence over an ‘ID’ property defined on the node
   7721      itself.
   7722 
   7723 ‘org-attach-method’
   7724      When attaching files using the dispatcher ‘C-c C-a’ it defaults to
   7725      copying files.  The behavior can be changed by customizing
   7726      ‘org-attach-method’.  Options are Copy, Move/Rename, Hard link or
   7727      Symbolic link.
   7728 
   7729 ‘org-attach-preferred-new-method’
   7730      This customization lets you choose the default way to attach to
   7731      nodes without existing ‘ID’ and ‘DIR’ property.  It defaults to
   7732      ‘id’ but can also be set to ‘dir’, ‘ask’ or ‘nil’.
   7733 
   7734 ‘org-attach-archive-delete’
   7735      Configure this to determine if attachments should be deleted or not
   7736      when a subtree that has attachments is archived.
   7737 
   7738 ‘org-attach-auto-tag’
   7739      When attaching files to a heading it will be assigned a tag
   7740      according to what is set here.
   7741 
   7742 ‘org-attach-id-to-path-function-list’
   7743      When ‘ID’ is used for attachments, the ID is parsed into a part of
   7744      a directory-path.  See ‘org-attach-id-uuid-folder-format’ for the
   7745      default function.  Define a new one and add it as first element in
   7746      ‘org-attach-id-to-path-function-list’ if you want the folder
   7747      structure in any other way.  All functions in this list will be
   7748      tried when resolving existing ID’s into paths, to maintain backward
   7749      compatibility with existing folders in your system.
   7750 
   7751 ‘org-attach-store-link-p’
   7752      Stores a link to the file that is being attached.  The link is
   7753      stored in ‘org-stored-links’ for later insertion with ‘C-c C-l’
   7754      (see *note Handling Links::).  Depending on what option is set in
   7755      ‘org-attach-store-link-p’, the link is stored to either the
   7756      original location as a file link, the attachment location as an
   7757      attachment link or to the attachment location as a file link.
   7758 
   7759 ‘org-attach-commands’
   7760      List of all commands used in the attach dispatcher.
   7761 
   7762 ‘org-attach-expert’
   7763      Do not show the splash buffer with the attach dispatcher when
   7764      ‘org-attach-expert’ is set to non-‘nil’.
   7765 
   7766    See customization group ‘Org Attach’ if you want to change the
   7767 default settings.
   7768 
   7769 
   7770 File: org.info,  Node: Attachment links,  Next: Automatic version-control with Git,  Prev: Attachment options,  Up: Attachments
   7771 
   7772 10.2.3 Attachment links
   7773 -----------------------
   7774 
   7775 Attached files and folders can be referenced using attachment links.
   7776 This makes it easy to refer to the material added to an outline node.
   7777 Especially if it was attached using the unique ID of the entry!
   7778 
   7779      * TODO Some task
   7780        :PROPERTIES:
   7781        :ID:       95d50008-c12e-479f-a4f2-cc0238205319
   7782        :END:
   7783      See attached document for more information: [[attachment:info.org]]
   7784 
   7785    See *note External Links:: for more information about these links.
   7786 
   7787 
   7788 File: org.info,  Node: Automatic version-control with Git,  Next: Attach from Dired,  Prev: Attachment links,  Up: Attachments
   7789 
   7790 10.2.4 Automatic version-control with Git
   7791 -----------------------------------------
   7792 
   7793 If the directory attached to an outline node is a Git repository, Org
   7794 can be configured to automatically commit changes to that repository
   7795 when it sees them.
   7796 
   7797    To make Org mode take care of versioning of attachments for you, add
   7798 the following to your Emacs config:
   7799 
   7800      (require 'org-attach-git)
   7801 
   7802 
   7803 File: org.info,  Node: Attach from Dired,  Prev: Automatic version-control with Git,  Up: Attachments
   7804 
   7805 10.2.5 Attach from Dired
   7806 ------------------------
   7807 
   7808 It is possible to attach files to a subtree from a Dired buffer.  To use
   7809 this feature, have one window in Dired mode containing the file(s) to be
   7810 attached and another window with point in the subtree that shall get the
   7811 attachments.  In the Dired window, with point on a file, ‘M-x
   7812 org-attach-dired-to-subtree’ attaches the file to the subtree using the
   7813 attachment method set by variable ‘org-attach-method’.  When files are
   7814 marked in the Dired window then all marked files get attached.
   7815 
   7816    Add the following lines to the Emacs init file to have ‘C-c C-x a’
   7817 attach files in Dired buffers.
   7818 
   7819      (add-hook 'dired-mode-hook
   7820                (lambda ()
   7821                  (define-key dired-mode-map
   7822                    (kbd "C-c C-x a")
   7823                    #'org-attach-dired-to-subtree)))
   7824 
   7825    The following code shows how to bind the previous command with a
   7826 specific attachment method.
   7827 
   7828      (add-hook 'dired-mode-hook
   7829                (lambda ()
   7830                  (define-key dired-mode-map (kbd "C-c C-x c")
   7831                    (lambda ()
   7832                      (interactive)
   7833                      (let ((org-attach-method 'cp))
   7834                        (call-interactively #'org-attach-dired-to-subtree))))))
   7835 
   7836 
   7837 File: org.info,  Node: RSS Feeds,  Prev: Attachments,  Up: Capture and Attachments
   7838 
   7839 10.3 RSS Feeds
   7840 ==============
   7841 
   7842 Org can add and change entries based on information found in RSS feeds
   7843 and Atom feeds.  You could use this to make a task out of each new
   7844 podcast in a podcast feed.  Or you could use a phone-based note-creating
   7845 service on the web to import tasks into Org.  To access feeds, configure
   7846 the variable ‘org-feed-alist’.  The docstring of this variable has
   7847 detailed information.  With the following
   7848 
   7849      (setq org-feed-alist
   7850            '(("Slashdot"
   7851               "https://rss.slashdot.org/Slashdot/slashdot"
   7852               "~/txt/org/feeds.org" "Slashdot Entries")))
   7853 
   7854 new items from the feed provided by ‘rss.slashdot.org’ result in new
   7855 entries in the file ‘~/org/feeds.org’ under the heading ‘Slashdot
   7856 Entries’, whenever the following command is used:
   7857 
   7858 ‘C-c C-x g’ (‘org-feed-update-all’)
   7859      Collect items from the feeds configured in ‘org-feed-alist’ and act
   7860      upon them.
   7861 
   7862 ‘C-c C-x G’ (‘org-feed-goto-inbox’)
   7863      Prompt for a feed name and go to the inbox configured for this
   7864      feed.
   7865 
   7866    Under the same headline, Org creates a drawer ‘FEEDSTATUS’ in which
   7867 it stores information about the status of items in the feed, to avoid
   7868 adding the same item several times.
   7869 
   7870    For more information, including how to read atom feeds, see
   7871 ‘org-feed.el’ and the docstring of ‘org-feed-alist’.
   7872 
   7873 
   7874 File: org.info,  Node: Agenda Views,  Next: Markup for Rich Contents,  Prev: Capture and Attachments,  Up: Top
   7875 
   7876 11 Agenda Views
   7877 ***************
   7878 
   7879 Due to the way Org works, TODO items, time-stamped items, and tagged
   7880 headlines can be scattered throughout a file or even a number of files.
   7881 To get an overview of open action items, or of events that are important
   7882 for a particular date, this information must be collected, sorted and
   7883 displayed in an organized way.
   7884 
   7885    Org can select items based on various criteria and display them in a
   7886 separate buffer.  Six different view types are provided:
   7887 
   7888    • an _agenda_ that is like a calendar and shows information for
   7889      specific dates,
   7890 
   7891    • a _TODO list_ that covers all unfinished action items,
   7892 
   7893    • a _match view_, showings headlines based on the tags, properties,
   7894      and TODO state associated with them,
   7895 
   7896    • a _text search view_ that shows all entries from multiple files
   7897      that contain specified keywords,
   7898 
   7899    • a _stuck projects view_ showing projects that currently do not move
   7900      along, and
   7901 
   7902    • _custom views_ that are special searches and combinations of
   7903      different views.
   7904 
   7905    The extracted information is displayed in a special _agenda buffer_.
   7906 This buffer is read-only, but provides commands to visit the
   7907 corresponding locations in the original Org files, and even to edit
   7908 these files remotely.
   7909 
   7910    By default, the report ignores commented (see *note Comment Lines::)
   7911 and archived (see *note Internal archiving::) entries.  You can override
   7912 this by setting ‘org-agenda-skip-comment-trees’ and
   7913 ‘org-agenda-skip-archived-trees’ to ‘nil’.
   7914 
   7915    Two variables control how the agenda buffer is displayed and whether
   7916 the window configuration is restored when the agenda exits:
   7917 ‘org-agenda-window-setup’ and ‘org-agenda-restore-windows-after-quit’.
   7918 
   7919 * Menu:
   7920 
   7921 * Agenda Files::                 Files being searched for agenda information.
   7922 * Agenda Dispatcher::            Keyboard access to agenda views.
   7923 * Built-in Agenda Views::        What is available out of the box?
   7924 * Presentation and Sorting::     How agenda items are prepared for display.
   7925 * Agenda Commands::              Remote editing of Org trees.
   7926 * Custom Agenda Views::          Defining special searches and views.
   7927 * Exporting Agenda Views::       Writing a view to a file.
   7928 * Agenda Column View::           Using column view for collected entries.
   7929 
   7930 
   7931 File: org.info,  Node: Agenda Files,  Next: Agenda Dispatcher,  Up: Agenda Views
   7932 
   7933 11.1 Agenda Files
   7934 =================
   7935 
   7936 The information to be shown is normally collected from all _agenda
   7937 files_, the files listed in the variable ‘org-agenda-files’(1).  If a
   7938 directory is part of this list, all files with the extension ‘.org’ in
   7939 this directory are part of the list.
   7940 
   7941    Thus, even if you only work with a single Org file, that file should
   7942 be put into the list(2).  You can customize ‘org-agenda-files’, but the
   7943 easiest way to maintain it is through the following commands
   7944 
   7945 ‘C-c [’ (‘org-agenda-file-to-front’)
   7946      Add current file to the list of agenda files.  The file is added to
   7947      the front of the list.  If it was already in the list, it is moved
   7948      to the front.  With a prefix argument, file is added/moved to the
   7949      end.
   7950 
   7951 ‘C-c ]’ (‘org-remove-file’)
   7952      Remove current file from the list of agenda files.
   7953 
   7954 ‘C-'’
   7955 ‘C-,’ (‘org-cycle-agenda-files’)
   7956      Cycle through agenda file list, visiting one file after the other.
   7957 
   7958 ‘M-x org-switchb’
   7959      Command to use an Iswitchb-like interface to switch to and between
   7960      Org buffers.
   7961 
   7962 The Org menu contains the current list of files and can be used to visit
   7963 any of them.
   7964 
   7965    If you would like to focus the agenda temporarily on a file not in
   7966 this list, or on just one file in the list, or even on only a subtree in
   7967 a file, then this can be done in different ways.  For a single agenda
   7968 command, you may press ‘<’ once or several times in the dispatcher (see
   7969 *note Agenda Dispatcher::).  To restrict the agenda scope for an
   7970 extended period, use the following commands:
   7971 
   7972 ‘C-c C-x <’ (‘org-agenda-set-restriction-lock’)
   7973      Restrict the agenda to the current subtree.  If there already is a
   7974      restriction at point, remove it.  When called with a universal
   7975      prefix argument or with point before the first headline in a file,
   7976      set the agenda scope to the entire file.  This restriction remains
   7977      in effect until removed with ‘C-c C-x >’, or by typing either ‘<’
   7978      or ‘>’ in the agenda dispatcher.  If there is a window displaying
   7979      an agenda view, the new restriction takes effect immediately.
   7980 
   7981 ‘C-c C-x >’ (‘org-agenda-remove-restriction-lock’)
   7982      Remove the restriction created by ‘C-c C-x <’.
   7983 
   7984    When working with Speedbar, you can use the following commands in the
   7985 Speedbar frame:
   7986 
   7987 ‘<’ (‘org-speedbar-set-agenda-restriction’)
   7988      Restrict the agenda to the item—either an Org file or a subtree in
   7989      such a file—at point in the Speedbar frame.  If agenda is already
   7990      restricted there, remove the restriction.  If there is a window
   7991      displaying an agenda view, the new restriction takes effect
   7992      immediately.
   7993 
   7994 ‘>’ (‘org-agenda-remove-restriction-lock’)
   7995      Remove the restriction.
   7996 
   7997    ---------- Footnotes ----------
   7998 
   7999    (1) If the value of that variable is not a list, but a single file
   8000 name, then the list of agenda files in maintained in that external file.
   8001 
   8002    (2) When using the dispatcher, pressing ‘<’ before selecting a
   8003 command actually limits the command to the current file, and ignores
   8004 ‘org-agenda-files’ until the next dispatcher command.
   8005 
   8006 
   8007 File: org.info,  Node: Agenda Dispatcher,  Next: Built-in Agenda Views,  Prev: Agenda Files,  Up: Agenda Views
   8008 
   8009 11.2 The Agenda Dispatcher
   8010 ==========================
   8011 
   8012 The views are created through a dispatcher, accessible with ‘M-x
   8013 org-agenda’, or, better, bound to a global key (see *note Activation::).
   8014 It displays a menu from which an additional letter is required to
   8015 execute a command.  The dispatcher offers the following default
   8016 commands:
   8017 
   8018 ‘a’
   8019      Create the calendar-like agenda (see *note Weekly/daily agenda::).
   8020 
   8021 ‘t’
   8022 ‘T’
   8023      Create a list of all TODO items (see *note Global TODO list::).
   8024 
   8025 ‘m’
   8026 ‘M’
   8027      Create a list of headlines matching a given expression (see *note
   8028      Matching tags and properties::).
   8029 
   8030 ‘s’
   8031      Create a list of entries selected by a boolean expression of
   8032      keywords and/or regular expressions that must or must not occur in
   8033      the entry.
   8034 
   8035 ‘/’
   8036      Search for a regular expression in all agenda files and
   8037      additionally in the files listed in
   8038      ‘org-agenda-text-search-extra-files’.  This uses the Emacs command
   8039      ‘multi-occur’.  A prefix argument can be used to specify the number
   8040      of context lines for each match, the default is 1.
   8041 
   8042 ‘#’
   8043      Create a list of stuck projects (see *note Stuck projects::).
   8044 
   8045 ‘!’
   8046      Configure the list of stuck projects (see *note Stuck projects::).
   8047 
   8048 ‘<’
   8049      Restrict an agenda command to the current buffer(1).  If narrowing
   8050      is in effect restrict to the narrowed part of the buffer.  After
   8051      pressing ‘<’, you still need to press the character selecting the
   8052      command.
   8053 
   8054 ‘< <’
   8055      If there is an active region, restrict the following agenda command
   8056      to the region.  Otherwise, restrict it to the current subtree.
   8057      After pressing ‘< <’, you still need to press the character
   8058      selecting the command.
   8059 
   8060 ‘*’
   8061      Toggle sticky agenda views.  By default, Org maintains only a
   8062      single agenda buffer and rebuilds it each time you change the view,
   8063      to make sure everything is always up to date.  If you switch
   8064      between views often and the build time bothers you, you can turn on
   8065      sticky agenda buffers (make this the default by customizing the
   8066      variable ‘org-agenda-sticky’).  With sticky agendas, the dispatcher
   8067      only switches to the selected view, you need to update it by hand
   8068      with ‘r’ or ‘g’.  You can toggle sticky agenda view any time with
   8069      ‘org-toggle-sticky-agenda’.
   8070 
   8071    You can also define custom commands that are accessible through the
   8072 dispatcher, just like the default commands.  This includes the
   8073 possibility to create extended agenda buffers that contain several
   8074 blocks together, for example the weekly agenda, the global TODO list and
   8075 a number of special tags matches.  See *note Custom Agenda Views::.
   8076 
   8077    ---------- Footnotes ----------
   8078 
   8079    (1) For backward compatibility, you can also press ‘1’ to restrict to
   8080 the current buffer.
   8081 
   8082 
   8083 File: org.info,  Node: Built-in Agenda Views,  Next: Presentation and Sorting,  Prev: Agenda Dispatcher,  Up: Agenda Views
   8084 
   8085 11.3 The Built-in Agenda Views
   8086 ==============================
   8087 
   8088 In this section we describe the built-in views.
   8089 
   8090 * Menu:
   8091 
   8092 * Weekly/daily agenda::          The calendar page with current tasks.
   8093 * Global TODO list::             All unfinished action items.
   8094 * Matching tags and properties:: Structured information with fine-tuned search.
   8095 * Search view::                  Find entries by searching for text.
   8096 * Stuck projects::               Find projects you need to review.
   8097 
   8098 
   8099 File: org.info,  Node: Weekly/daily agenda,  Next: Global TODO list,  Up: Built-in Agenda Views
   8100 
   8101 11.3.1 Weekly/daily agenda
   8102 --------------------------
   8103 
   8104 The purpose of the weekly/daily _agenda_ is to act like a page of a
   8105 paper agenda, showing all the tasks for the current week or day.
   8106 
   8107 ‘M-x org-agenda a’ (‘org-agenda-list’)
   8108      Compile an agenda for the current week from a list of Org files.
   8109      The agenda shows the entries for each day.  With a numeric prefix
   8110      argument(1)—like ‘C-u 2 1 M-x org-agenda a’—you may set the number
   8111      of days to be displayed.
   8112 
   8113    The default number of days displayed in the agenda is set by the
   8114 variable ‘org-agenda-span’.  This variable can be set to any number of
   8115 days you want to see by default in the agenda, or to a span name, such a
   8116 ‘day’, ‘week’, ‘month’ or ‘year’.  For weekly agendas, the default is to
   8117 start on the previous Monday (see ‘org-agenda-start-on-weekday’).  You
   8118 can also set the start date using a date shift: ‘(setq
   8119 org-agenda-start-day "+10d")’ starts the agenda ten days from today in
   8120 the future.  ‘org-agenda-start-on-weekday’ takes precedence over
   8121 ‘org-agenda-start-day’ in weekly and bi-weekly agendas.
   8122 
   8123    Remote editing from the agenda buffer means, for example, that you
   8124 can change the dates of deadlines and appointments from the agenda
   8125 buffer.  The commands available in the Agenda buffer are listed in *note
   8126 Agenda Commands::.
   8127 
   8128 Calendar/Diary integration
   8129 ..........................
   8130 
   8131 Emacs contains the calendar and diary by Edward M. Reingold.  The
   8132 calendar displays a three-month calendar with holidays from different
   8133 countries and cultures.  The diary allows you to keep track of
   8134 anniversaries, lunar phases, sunrise/set, recurrent appointments
   8135 (weekly, monthly) and more.  In this way, it is quite complementary to
   8136 Org.  It can be very useful to combine output from Org with the diary.
   8137 
   8138    In order to include entries from the Emacs diary into Org mode’s
   8139 agenda, you only need to customize the variable
   8140 
   8141      (setq org-agenda-include-diary t)
   8142 
   8143 After that, everything happens automatically.  All diary entries
   8144 including holidays, anniversaries, etc., are included in the agenda
   8145 buffer created by Org mode.  ‘<SPC>’, ‘<TAB>’, and ‘<RET>’ can be used
   8146 from the agenda buffer to jump to the diary file in order to edit
   8147 existing diary entries.  The ‘i’ command to insert new entries for the
   8148 current date works in the agenda buffer, as well as the commands ‘S’,
   8149 ‘M’, and ‘C’ to display Sunrise/Sunset times, show lunar phases and to
   8150 convert to other calendars, respectively.  ‘c’ can be used to switch
   8151 back and forth between calendar and agenda.
   8152 
   8153    If you are using the diary only for expression entries and holidays,
   8154 it is faster to not use the above setting, but instead to copy or even
   8155 move the entries into an Org file.  Org mode evaluates diary-style
   8156 expression entries, and does it faster because there is no overhead for
   8157 first creating the diary display.  Note that the expression entries must
   8158 start at the left margin, no whitespace is allowed before them, as seen
   8159 in the following segment of an Org file:(2)
   8160 
   8161      * Holidays
   8162        :PROPERTIES:
   8163        :CATEGORY: Holiday
   8164        :END:
   8165      %%(org-calendar-holiday)   ; special function for holiday names
   8166 
   8167      * Birthdays
   8168        :PROPERTIES:
   8169        :CATEGORY: Ann
   8170        :END:
   8171      %%(org-anniversary 1956  5 14) Arthur Dent is %d years old
   8172      %%(org-anniversary 1869 10  2) Mahatma Gandhi would be %d years old
   8173 
   8174 Anniversaries from BBDB
   8175 .......................
   8176 
   8177 If you are using the Insidious Big Brother Database to store your
   8178 contacts, you very likely prefer to store anniversaries in BBDB rather
   8179 than in a separate Org or diary file.  Org supports this and can show
   8180 BBDB anniversaries as part of the agenda.  All you need to do is to add
   8181 the following to one of your agenda files:
   8182 
   8183      * Anniversaries
   8184        :PROPERTIES:
   8185        :CATEGORY: Anniv
   8186        :END:
   8187      %%(org-bbdb-anniversaries)
   8188 
   8189    You can then go ahead and define anniversaries for a BBDB record.
   8190 Basically, you need a field named ‘anniversary’ for the BBDB record
   8191 which contains the date in the format ‘YYYY-MM-DD’ or ‘MM-DD’, followed
   8192 by a space and the class of the anniversary (‘birthday’, ‘wedding’, or a
   8193 format string).  If you omit the class, it defaults to ‘birthday’.  Here
   8194 are a few examples, the header for the file ‘ol-bbdb.el’ contains more
   8195 detailed information.
   8196 
   8197      1973-06-22
   8198      06-22
   8199      1955-08-02 wedding
   8200      2008-04-14 %s released version 6.01 of Org mode, %d years ago
   8201 
   8202    After a change to BBDB, or for the first agenda display during an
   8203 Emacs session, the agenda display suffers a short delay as Org updates
   8204 its hash with anniversaries.  However, from then on things will be very
   8205 fast, much faster in fact than a long list of ‘%%(diary-anniversary)’
   8206 entries in an Org or Diary file.
   8207 
   8208    If you would like to see upcoming anniversaries with a bit of
   8209 forewarning, you can use the following instead:
   8210 
   8211      * Anniversaries
   8212        :PROPERTIES:
   8213        :CATEGORY: Anniv
   8214        :END:
   8215      %%(org-bbdb-anniversaries-future 3)
   8216 
   8217    That will give you three days’ warning: on the anniversary date
   8218 itself and the two days prior.  The argument is optional: if omitted, it
   8219 defaults to 7.
   8220 
   8221 Appointment reminders
   8222 .....................
   8223 
   8224 Org can interact with Emacs appointments notification facility.  To add
   8225 the appointments of your agenda files, use the command
   8226 ‘org-agenda-to-appt’.  This command lets you filter through the list of
   8227 your appointments and add only those belonging to a specific category or
   8228 matching a regular expression.  It also reads a ‘APPT_WARNTIME’ property
   8229 which overrides the value of ‘appt-message-warning-time’ for this
   8230 appointment.  See the docstring for details.
   8231 
   8232    ---------- Footnotes ----------
   8233 
   8234    (1) For backward compatibility, the universal prefix argument ‘C-u’
   8235 causes all TODO entries to be listed before the agenda.  This feature is
   8236 deprecated, use the dedicated TODO list, or a block agenda instead (see
   8237 *note Block agenda::).
   8238 
   8239    (2) The variable ‘org-anniversary’ used in the example is just like
   8240 ‘diary-anniversary’, but the argument order is always according to ISO
   8241 and therefore independent of the value of ‘calendar-date-style’.
   8242 
   8243 
   8244 File: org.info,  Node: Global TODO list,  Next: Matching tags and properties,  Prev: Weekly/daily agenda,  Up: Built-in Agenda Views
   8245 
   8246 11.3.2 The global TODO list
   8247 ---------------------------
   8248 
   8249 The global TODO list contains all unfinished TODO items formatted and
   8250 collected into a single place.
   8251 
   8252 ‘M-x org-agenda t’ (‘org-todo-list’)
   8253      Show the global TODO list.  This collects the TODO items from all
   8254      agenda files (see *note Agenda Views::) into a single buffer.  By
   8255      default, this lists items with a state that is not a DONE state.
   8256      The buffer is in Agenda mode, so there are commands to examine and
   8257      manipulate the TODO entries directly from that buffer (see *note
   8258      Agenda Commands::).
   8259 
   8260 ‘M-x org-agenda T’ (‘org-todo-list’)
   8261      Like the above, but allows selection of a specific TODO keyword.
   8262      You can also do this by specifying a prefix argument to ‘t’.  You
   8263      are prompted for a keyword, and you may also specify several
   8264      keywords by separating them with ‘|’ as the boolean OR operator.
   8265      With a numeric prefix, the Nth keyword in ‘org-todo-keywords’ is
   8266      selected.
   8267 
   8268      The ‘r’ key in the agenda buffer regenerates it, and you can give a
   8269      prefix argument to this command to change the selected TODO
   8270      keyword, for example ‘3 r’.  If you often need a search for a
   8271      specific keyword, define a custom command for it (see *note Agenda
   8272      Dispatcher::).
   8273 
   8274      Matching specific TODO keywords can also be done as part of a tags
   8275      search (see *note Tag Searches::).
   8276 
   8277    Remote editing of TODO items means that you can change the state of a
   8278 TODO entry with a single key press.  The commands available in the TODO
   8279 list are described in *note Agenda Commands::.
   8280 
   8281    Normally the global TODO list simply shows all headlines with TODO
   8282 keywords.  This list can become very long.  There are two ways to keep
   8283 it more compact:
   8284 
   8285    • Some people view a TODO item that has been _scheduled_ for
   8286      execution or have a _deadline_ (see *note Timestamps::) as no
   8287      longer _open_.  Configure the variables
   8288      ‘org-agenda-todo-ignore-scheduled’ to exclude some or all scheduled
   8289      items from the global TODO list, ‘org-agenda-todo-ignore-deadlines’
   8290      to exclude some or all items with a deadline set,
   8291      ‘org-agenda-todo-ignore-timestamp’ to exclude some or all items
   8292      with an active timestamp other than a DEADLINE or a SCHEDULED
   8293      timestamp and/or ‘org-agenda-todo-ignore-with-date’ to exclude
   8294      items with at least one active timestamp.
   8295 
   8296    • TODO items may have sublevels to break up the task into subtasks.
   8297      In such cases it may be enough to list only the highest level TODO
   8298      headline and omit the sublevels from the global list.  Configure
   8299      the variable ‘org-agenda-todo-list-sublevels’ to get this behavior.
   8300 
   8301 
   8302 File: org.info,  Node: Matching tags and properties,  Next: Search view,  Prev: Global TODO list,  Up: Built-in Agenda Views
   8303 
   8304 11.3.3 Matching tags and properties
   8305 -----------------------------------
   8306 
   8307 If headlines in the agenda files are marked with _tags_ (see *note
   8308 Tags::), or have properties (see *note Properties and Columns::), you
   8309 can select headlines based on this metadata and collect them into an
   8310 agenda buffer.  The match syntax described here also applies when
   8311 creating sparse trees with ‘C-c / m’.
   8312 
   8313 ‘M-x org-agenda m’ (‘org-tags-view’)
   8314      Produce a list of all headlines that match a given set of tags.
   8315      The command prompts for a selection criterion, which is a boolean
   8316      logic expression with tags, like ‘+work+urgent-withboss’ or
   8317      ‘work|home’ (see *note Tags::).  If you often need a specific
   8318      search, define a custom command for it (see *note Agenda
   8319      Dispatcher::).
   8320 
   8321 ‘M-x org-agenda M’ (‘org-tags-view’)
   8322      Like ‘m’, but only select headlines that are also TODO items.  To
   8323      exclude scheduled/deadline items, see the variable
   8324      ‘org-agenda-tags-todo-honor-ignore-options’.  Matching specific
   8325      TODO keywords together with a tags match is also possible, see
   8326      *note Tag Searches::.
   8327 
   8328    The commands available in the tags list are described in *note Agenda
   8329 Commands::.
   8330 
   8331    A search string can use Boolean operators ‘&’ for AND and ‘|’ for OR.
   8332 ‘&’ binds more strongly than ‘|’.  Parentheses are currently not
   8333 implemented.  Each element in the search is either a tag, a regular
   8334 expression matching tags, or an expression like ‘PROPERTY OPERATOR
   8335 VALUE’ with a comparison operator, accessing a property value.  Each
   8336 element may be preceded by ‘-’ to select against it, and ‘+’ is
   8337 syntactic sugar for positive selection.  The AND operator ‘&’ is
   8338 optional when ‘+’ or ‘-’ is present.  Here are some examples, using only
   8339 tags.
   8340 
   8341 ‘+work-boss’
   8342      Select headlines tagged ‘work’, but discard those also tagged
   8343      ‘boss’.
   8344 
   8345 ‘work|laptop’
   8346      Selects lines tagged ‘work’ or ‘laptop’.
   8347 
   8348 ‘work|laptop+night’
   8349      Like before, but require the ‘laptop’ lines to be tagged also
   8350      ‘night’.
   8351 
   8352    Instead of a tag, you may also specify a regular expression enclosed
   8353 in curly braces (see *note Regular Expressions::).  For example,
   8354 ‘work+{^boss.*}’ matches headlines that contain the tag ‘:work:’ and any
   8355 tag _starting_ with ‘boss’.
   8356 
   8357    Group tags (see *note Tag Hierarchy::) are expanded as regular
   8358 expressions.  E.g., if ‘work’ is a group tag for the group
   8359 ‘:work:lab:conf:’, then searching for ‘work’ also searches for
   8360 ‘{\(?:work\|lab\|conf\)}’ and searching for ‘-work’ searches for all
   8361 headlines but those with one of the tags in the group (i.e.,
   8362 ‘-{\(?:work\|lab\|conf\)}’).
   8363 
   8364    You may also test for properties (see *note Properties and Columns::)
   8365 at the same time as matching tags.  The properties may be real
   8366 properties, or special properties that represent other metadata (see
   8367 *note Special Properties::).  For example, the property ‘TODO’
   8368 represents the TODO keyword of the entry.  Or, the property ‘LEVEL’
   8369 represents the level of an entry.  So searching
   8370 ‘+LEVEL=3+boss-TODO​="DONE"’ lists all level three headlines that have
   8371 the tag ‘boss’ and are _not_ marked with the TODO keyword ‘DONE’.  In
   8372 buffers with ‘org-odd-levels-only’ set, ‘LEVEL’ does not count the
   8373 number of stars, but ‘LEVEL=2’ corresponds to 3 stars etc.
   8374 
   8375    Here are more examples:
   8376 
   8377 ‘work+TODO​="WAITING"’
   8378      Select ‘work’-tagged TODO lines with the specific TODO keyword
   8379      ‘WAITING’.
   8380 
   8381 ‘work+TODO​="WAITING"|home+TODO​="WAITING"’
   8382      Waiting tasks both at work and at home.
   8383 
   8384    When matching properties, a number of different operators can be used
   8385 to test the value of a property.  Here is a complex example:
   8386 
   8387      +work-boss+PRIORITY="A"+Coffee="unlimited"+Effort<*2
   8388               +With={Sarah\|Denny}+SCHEDULED>="<2008-10-11>"
   8389 
   8390 The type of comparison depends on how the comparison value is written:
   8391 
   8392    • If the comparison value is a plain number, a numerical comparison
   8393      is done, and the allowed operators are ‘<’, ‘=’, ‘>’, ‘<=’, ‘>=’,
   8394      and ‘<>’.  As a synonym for the equality operator ‘=’, there is
   8395      also ‘==’; ‘!=’ and ‘/=’ are synonyms of the inequality operator
   8396      ‘<>’.
   8397 
   8398    • If the comparison value is enclosed in double-quotes, a string
   8399      comparison is done, and the same operators are allowed.
   8400 
   8401    • If the comparison value is enclosed in double-quotes _and_ angular
   8402      brackets (like ‘DEADLINE<​="<2008-12-24 18:30>"’), both values are
   8403      assumed to be date/time specifications in the standard Org way, and
   8404      the comparison is done accordingly.  Valid values also include
   8405      ‘"<now>"’ for now (including time), ‘"<today>"’, and ‘"<tomorrow>"’
   8406      for these days at 0:00 hours, i.e., without a time specification.
   8407      You can also use strings like ‘"<+5d>"’ or ‘"<-2m>"’ with units
   8408      ‘d’, ‘w’, ‘m’, and ‘y’ for day, week, month, and year,
   8409      respectively.
   8410 
   8411    • If the comparison value is enclosed in curly braces, a regexp match
   8412      is performed, with ‘=’ meaning that the regexp matches the property
   8413      value, and ‘<>’ meaning that it does not match.
   8414 
   8415    • All operators may be optionally followed by an asterisk ‘*’, like
   8416      in ‘<*’, ‘!=*’, etc.  Such _starred operators_ work like their
   8417      regular, unstarred counterparts except that they match only
   8418      headlines where the tested property is actually present.  This is
   8419      most useful for search terms that logically exclude results, like
   8420      the inequality operator.
   8421 
   8422    So the search string in the example finds entries tagged ‘work’ but
   8423 not ‘boss’, which also have a priority value ‘A’, a ‘Coffee’ property
   8424 with the value ‘unlimited’, an ‘EFFORT’ property that is numerically
   8425 smaller than 2, a ‘With’ property that is matched by the regular
   8426 expression ‘Sarah\|Denny’, and that are scheduled on or after October
   8427 11, 2008.
   8428 
   8429    Note that the test on the ‘EFFORT’ property uses operator ‘<*’, so
   8430 that the search result will include only entries that actually have an
   8431 ‘EFFORT’ property defined and with numerical value smaller than 2.  With
   8432 the regular ‘<’ operator, the search would handle entries without an
   8433 ‘EFFORT’ property as having a zero effort and would include them in the
   8434 result as well.
   8435 
   8436    You can use all characters valid in property names when matching
   8437 properties.  However, you have to quote some characters in property
   8438 names with backslashes when using them in search strings, namely all
   8439 characters different from alphanumerics and underscores(1).  For
   8440 example, to search for all entries having a property ‘boss-prio’,
   8441 ‘boss:prio’, or ‘boss\prio’, respectively, with value ‘C’, use search
   8442 strings
   8443 
   8444      boss\-prio="C"
   8445      boss\:prio="C"
   8446      boss\\prio="C"
   8447 
   8448    You can configure Org mode to use property inheritance during a
   8449 search, but beware that this can slow down searches considerably.  See
   8450 *note Property Inheritance::, for details.
   8451 
   8452    For backward compatibility, and also for typing speed, there is also
   8453 a different way to test TODO states in a search.  For this, terminate
   8454 the tags/property part of the search string (which may include several
   8455 terms connected with ‘|’) with a ‘/’ and then specify a Boolean
   8456 expression just for TODO keywords.  The syntax is then similar to that
   8457 for tags, but should be applied with care: for example, a positive
   8458 selection on several TODO keywords cannot meaningfully be combined with
   8459 boolean AND.  However, _negative selection_ combined with AND can be
   8460 meaningful.  To make sure that only lines are checked that actually have
   8461 any TODO keyword (resulting in a speed-up), use ‘M-x org-agenda M’, or
   8462 equivalently start the TODO part after the slash with ‘!’.  Using ‘M-x
   8463 org-agenda M’ or ‘/!’ does not match TODO keywords in a DONE state.
   8464 Examples:
   8465 
   8466 ‘work/WAITING’
   8467      Same as ‘work+TODO​="WAITING"’.
   8468 
   8469 ‘work/!-WAITING-NEXT’
   8470      Select ‘work’-tagged TODO lines that are neither ‘WAITING’ nor
   8471      ‘NEXT’.
   8472 
   8473 ‘work/!+WAITING|+NEXT’
   8474      Select ‘work’-tagged TODO lines that are either ‘WAITING’ or
   8475      ‘NEXT’.
   8476 
   8477    ---------- Footnotes ----------
   8478 
   8479    (1) If you quote alphanumeric characters or underscores with a
   8480 backslash, that backslash is ignored.
   8481 
   8482 
   8483 File: org.info,  Node: Search view,  Next: Stuck projects,  Prev: Matching tags and properties,  Up: Built-in Agenda Views
   8484 
   8485 11.3.4 Search view
   8486 ------------------
   8487 
   8488 This agenda view is a general text search facility for Org mode entries.
   8489 It is particularly useful to find notes.
   8490 
   8491 ‘M-x org-agenda s’ (‘org-search-view’)
   8492      This is a special search that lets you select entries by matching a
   8493      substring or specific words using a boolean logic.
   8494 
   8495    For example, the search string ‘computer equipment’ matches entries
   8496 that contain ‘computer equipment’ as a substring, even if the two words
   8497 are separated by more space or a line break.
   8498 
   8499    Search view can also search for specific keywords in the entry, using
   8500 Boolean logic.  The search string ‘+computer +wifi -ethernet
   8501 -{8\.11[bg]}’ matches note entries that contain the keywords ‘computer’
   8502 and ‘wifi’, but not the keyword ‘ethernet’, and which are also not
   8503 matched by the regular expression ‘8\.11[bg]’, meaning to exclude both
   8504 ‘8.11b’ and ‘8.11g’.  The first ‘+’ is necessary to turn on boolean
   8505 search, other ‘+’ characters are optional.  For more details, see the
   8506 docstring of the command ‘org-search-view’.
   8507 
   8508    You can incrementally and conveniently adjust a boolean search from
   8509 the agenda search view with the following keys
   8510 
   8511 ‘[’     Add a positive search word
   8512 ‘]’     Add a negative search word
   8513 ‘{’     Add a positive regular expression
   8514 ‘}’     Add a negative regular expression
   8515 
   8516    Note that in addition to the agenda files, this command also searches
   8517 the files listed in ‘org-agenda-text-search-extra-files’.
   8518 
   8519 
   8520 File: org.info,  Node: Stuck projects,  Prev: Search view,  Up: Built-in Agenda Views
   8521 
   8522 11.3.5 Stuck projects
   8523 ---------------------
   8524 
   8525 If you are following a system like David Allen’s GTD to organize your
   8526 work, one of the “duties” you have is a regular review to make sure that
   8527 all projects move along.  A _stuck_ project is a project that has no
   8528 defined next actions, so it never shows up in the TODO lists Org mode
   8529 produces.  During the review, you need to identify such projects and
   8530 define next actions for them.
   8531 
   8532 ‘M-x org-agenda #’ (‘org-agenda-list-stuck-projects’)
   8533      List projects that are stuck.
   8534 
   8535 ‘M-x org-agenda !’
   8536      Customize the variable ‘org-stuck-projects’ to define what a stuck
   8537      project is and how to find it.
   8538 
   8539    You almost certainly need to configure this view before it works for
   8540 you.  The built-in default assumes that all your projects are level-2
   8541 headlines, and that a project is not stuck if it has at least one entry
   8542 marked with a TODO keyword ‘TODO’ or ‘NEXT’ or ‘NEXTACTION’.
   8543 
   8544    Let’s assume that you, in your own way of using Org mode, identify
   8545 projects with a tag ‘:PROJECT:’, and that you use a TODO keyword ‘MAYBE’
   8546 to indicate a project that should not be considered yet.  Let’s further
   8547 assume that the TODO keyword ‘DONE’ marks finished projects, and that
   8548 ‘NEXT’ and ‘TODO’ indicate next actions.  The tag ‘:@shop:’ indicates
   8549 shopping and is a next action even without the NEXT tag.  Finally, if
   8550 the project contains the special word ‘IGNORE’ anywhere, it should not
   8551 be listed either.  In this case you would start by identifying eligible
   8552 projects with a tags/TODO match (see *note Tag Searches::)
   8553 ‘+PROJECT/-MAYBE-DONE’, and then check for ‘TODO’, ‘NEXT’, ‘@shop’, and
   8554 ‘IGNORE’ in the subtree to identify projects that are not stuck.  The
   8555 correct customization for this is:
   8556 
   8557      (setq org-stuck-projects
   8558            '("+PROJECT/-MAYBE-DONE" ("NEXT" "TODO") ("@shop")
   8559              "\\<IGNORE\\>"))
   8560 
   8561    Note that if a project is identified as non-stuck, the subtree of
   8562 this entry is searched for stuck projects.
   8563 
   8564 
   8565 File: org.info,  Node: Presentation and Sorting,  Next: Agenda Commands,  Prev: Built-in Agenda Views,  Up: Agenda Views
   8566 
   8567 11.4 Presentation and Sorting
   8568 =============================
   8569 
   8570 Before displaying items in an agenda view, Org mode visually prepares
   8571 the items and sorts them.  Each item occupies a single line.  The line
   8572 starts with a _prefix_ that contains the _category_ (see *note
   8573 Categories::) of the item and other important information.  You can
   8574 customize in which column tags are displayed through
   8575 ‘org-agenda-tags-column’.  You can also customize the prefix using the
   8576 option ‘org-agenda-prefix-format’.  This prefix is followed by a
   8577 cleaned-up version of the outline headline associated with the item.
   8578 
   8579 * Menu:
   8580 
   8581 * Categories::                   Not all tasks are equal.
   8582 * Time-of-day specifications::   How the agenda knows the time.
   8583 * Sorting of agenda items::      The order of things.
   8584 * Filtering/limiting agenda items:: Dynamically narrow the agenda.
   8585 
   8586 
   8587 File: org.info,  Node: Categories,  Next: Time-of-day specifications,  Up: Presentation and Sorting
   8588 
   8589 11.4.1 Categories
   8590 -----------------
   8591 
   8592 The category is a broad label assigned to each agenda item.  By default,
   8593 the category is simply derived from the file name, but you can also
   8594 specify it with a special line in the buffer, like this:
   8595 
   8596      #+CATEGORY: Thesis
   8597 
   8598    If you would like to have a special category for a single entry or a
   8599 (sub)tree, give the entry a ‘CATEGORY’ property with the special
   8600 category you want to apply as the value.
   8601 
   8602    The display in the agenda buffer looks best if the category is not
   8603 longer than 10 characters.  You can set up icons for category by
   8604 customizing the ‘org-agenda-category-icon-alist’ variable.
   8605 
   8606 
   8607 File: org.info,  Node: Time-of-day specifications,  Next: Sorting of agenda items,  Prev: Categories,  Up: Presentation and Sorting
   8608 
   8609 11.4.2 Time-of-day specifications
   8610 ---------------------------------
   8611 
   8612 Org mode checks each agenda item for a time-of-day specification.  The
   8613 time can be part of the timestamp that triggered inclusion into the
   8614 agenda, for example
   8615 
   8616      <2005-05-10 Tue 19:00>
   8617 
   8618 Time ranges can be specified with two timestamps:
   8619 
   8620      <2005-05-10 Tue 20:30>--<2005-05-10 Tue 22:15>
   8621 
   8622    In the headline of the entry itself, a time(range)—like ‘12:45’ or a
   8623 ‘8:30-1pm’—may also appear as plain text(1).
   8624 
   8625    If the agenda integrates the Emacs diary (see *note Weekly/daily
   8626 agenda::), time specifications in diary entries are recognized as well.
   8627 
   8628    For agenda display, Org mode extracts the time and displays it in a
   8629 standard 24 hour format as part of the prefix.  The example times in the
   8630 previous paragraphs would end up in the agenda like this:
   8631 
   8632       8:30-13:00 Arthur Dent lies in front of the bulldozer
   8633      12:45...... Ford Prefect arrives and takes Arthur to the pub
   8634      19:00...... The Vogon reads his poem
   8635      20:30-22:15 Marvin escorts the Hitchhikers to the bridge
   8636 
   8637    If the agenda is in single-day mode, or for the display of today, the
   8638 timed entries are embedded in a time grid, like
   8639 
   8640       8:00...... ------------------
   8641       8:30-13:00 Arthur Dent lies in front of the bulldozer
   8642      10:00...... ------------------
   8643      12:00...... ------------------
   8644      12:45...... Ford Prefect arrives and takes Arthur to the pub
   8645      14:00...... ------------------
   8646      16:00...... ------------------
   8647      18:00...... ------------------
   8648      19:00...... The Vogon reads his poem
   8649      20:00...... ------------------
   8650      20:30-22:15 Marvin escorts the Hitchhikers to the bridge
   8651 
   8652    The time grid can be turned on and off with the variable
   8653 ‘org-agenda-use-time-grid’, and can be configured with
   8654 ‘org-agenda-time-grid’.
   8655 
   8656    ---------- Footnotes ----------
   8657 
   8658    (1) You can, however, disable this by setting
   8659 ‘org-agenda-search-headline-for-time’ variable to a ‘nil’ value.
   8660 
   8661 
   8662 File: org.info,  Node: Sorting of agenda items,  Next: Filtering/limiting agenda items,  Prev: Time-of-day specifications,  Up: Presentation and Sorting
   8663 
   8664 11.4.3 Sorting of agenda items
   8665 ------------------------------
   8666 
   8667 Before being inserted into a view, the items are sorted.  How this is
   8668 done depends on the type of view.
   8669 
   8670    • For the daily/weekly agenda, the items for each day are sorted.
   8671      The default order is to first collect all items containing an
   8672      explicit time-of-day specification.  These entries are shown at the
   8673      beginning of the list, as a _schedule_ for the day.  After that,
   8674      items remain grouped in categories, in the sequence given by
   8675      ‘org-agenda-files’.  Within each category, items are sorted by
   8676      urgency, which is composed of the base priority (see *note
   8677      Priorities::; 2000 for priority ‘A’, 1000 for ‘B’, and 0 for ‘C’),
   8678      plus additional increments for overdue scheduled or deadline items.
   8679 
   8680    • For the TODO list, items remain in the order of categories, but
   8681      within each category, sorting takes place according to urgency.
   8682      The urgency used for sorting derives from the priority cookie, with
   8683      additions depending on how close an item is to its due or scheduled
   8684      date.
   8685 
   8686    • For tags matches, items are not sorted at all, but just appear in
   8687      the sequence in which they are found in the agenda files.
   8688 
   8689    Sorting can be customized using the variable
   8690 ‘org-agenda-sorting-strategy’, and may also include criteria based on
   8691 the estimated effort of an entry (see *note Effort Estimates::).
   8692 
   8693 
   8694 File: org.info,  Node: Filtering/limiting agenda items,  Prev: Sorting of agenda items,  Up: Presentation and Sorting
   8695 
   8696 11.4.4 Filtering/limiting agenda items
   8697 --------------------------------------
   8698 
   8699 Agenda built-in or custom commands are statically defined.  Agenda
   8700 filters and limits allow flexibly narrowing down the list of agenda
   8701 entries.
   8702 
   8703    _Filters_ only change the visibility of items, are very fast and are
   8704 mostly used interactively(1).  You can switch quickly between different
   8705 filters without having to recreate the agenda.  _Limits_ on the other
   8706 hand take effect before the agenda buffer is populated, so they are
   8707 mostly useful when defined as local variables within custom agenda
   8708 commands.
   8709 
   8710 Filtering in the agenda
   8711 .......................
   8712 
   8713 The general filtering command is ‘org-agenda-filter’, bound to ‘/’.
   8714 Before we introduce it, we describe commands for individual filter
   8715 types.  All filtering commands handle prefix arguments in the same way:
   8716 A single ‘C-u’ prefix negates the filter, so it removes lines selected
   8717 by the filter.  A double prefix adds the new filter condition to the
   8718 one(s) already in place, so filter elements are accumulated.
   8719 
   8720 ‘\’ (‘org-agenda-filter-by-tag’)
   8721      Filter the agenda view with respect to a tag.  You are prompted for
   8722      a tag selection letter; ‘<SPC>’ means any tag at all.  Pressing
   8723      ‘<TAB>’ at that prompt offers completion to select a tag, including
   8724      any tags that do not have a selection character.  The command then
   8725      hides all entries that do not contain or inherit this tag.
   8726      Pressing ‘+’ or ‘-’ at the prompt switches between filtering for
   8727      and against the next tag.  To clear the filter, press ‘\’ twice
   8728      (once to call the command again, and once at the prompt).
   8729 
   8730 ‘<’ (‘org-agenda-filter-by-category’)
   8731      Filter by category of the line at point, and show only entries with
   8732      this category.  When called with a prefix argument, hide all
   8733      entries with the category at point.  To clear the filter, call this
   8734      command again by pressing ‘<’.
   8735 
   8736 ‘=’ (‘org-agenda-filter-by-regexp’)
   8737      Filter the agenda view by a regular expression: only show agenda
   8738      entries matching the regular expression the user entered.  To clear
   8739      the filter, call the command again by pressing ‘=’.
   8740 
   8741 ‘_’ (‘org-agenda-filter-by-effort’)
   8742      Filter the agenda view with respect to effort estimates, so select
   8743      tasks that take the right amount of time.  You first need to set up
   8744      a list of efforts globally, for example
   8745 
   8746           (setq org-global-properties
   8747                 '(("Effort_ALL". "0 0:10 0:30 1:00 2:00 3:00 4:00")))
   8748 
   8749      You can then filter for an effort by first typing an operator, one
   8750      of ‘<’, ‘>’ and ‘=’, and then the one-digit index of an effort
   8751      estimate in your array of allowed values, where ‘0’ means the 10th
   8752      value.  The filter then restricts to entries with effort
   8753      smaller-or-equal, equal, or larger-or-equal than the selected
   8754      value.  For application of the operator, entries without a defined
   8755      effort are treated according to the value of
   8756      ‘org-sort-agenda-noeffort-is-high’.  To clear the filter, press ‘_’
   8757      twice (once to call the command again, and once at the first
   8758      prompt).
   8759 
   8760 ‘^’ (‘org-agenda-filter-by-top-headline’)
   8761      Filter the current agenda view and only display items that fall
   8762      under the same top-level headline as the current entry.  To clear
   8763      the filter, call this command again by pressing ‘^’.
   8764 
   8765 ‘/’ (‘org-agenda-filter’)
   8766      This is the unified interface to four of the five filter methods
   8767      described above.  At the prompt, specify different filter elements
   8768      in a single string, with full completion support.  For example,
   8769 
   8770           +work-John+<0:10-/plot/
   8771 
   8772      selects entries with category ‘work’ and effort estimates below 10
   8773      minutes, and deselects entries with tag ‘John’ or matching the
   8774      regexp ‘plot’ (see *note Regular Expressions::).  You can leave ‘+’
   8775      out if that does not lead to ambiguities.  The sequence of elements
   8776      is arbitrary.  The filter syntax assumes that there is no overlap
   8777      between categories and tags.  Otherwise, tags take priority.  If
   8778      you reply to the prompt with the empty string, all filtering is
   8779      removed.  If a filter is specified, it replaces all current
   8780      filters.  But if you call the command with a double prefix
   8781      argument, or if you add an additional ‘+’ (e.g., ‘++work’) to the
   8782      front of the string, the new filter elements are added to the
   8783      active ones.  A single prefix argument applies the entire filter in
   8784      a negative sense.
   8785 
   8786 ‘|’ (‘org-agenda-filter-remove-all’)
   8787      Remove all filters in the current agenda view.
   8788 
   8789 Computed tag filtering
   8790 ......................
   8791 
   8792 If the variable ‘org-agenda-auto-exclude-function’ is set to a
   8793 user-defined function, that function can select tags that should be used
   8794 as a tag filter when requested.  The function will be called with
   8795 lower-case versions of all tags represented in the current view.  The
   8796 function should return ‘"-tag"’ if the filter should remove entries with
   8797 that tag, ‘"+tag"’ if only entries with this tag should be kept, or
   8798 ‘nil’ if that tag is irrelevant.  For example, let’s say you use a ‘Net’
   8799 tag to identify tasks which need network access, an ‘Errand’ tag for
   8800 errands in town, and a ‘Call’ tag for making phone calls.  You could
   8801 auto-exclude these tags based on the availability of the Internet, and
   8802 outside of business hours, with something like this:
   8803 
   8804      (defun my-auto-exclude-fn (tag)
   8805        (when (cond ((string= tag "net")
   8806                     (/= 0 (call-process "/sbin/ping" nil nil nil
   8807                                         "-c1" "-q" "-t1" "mail.gnu.org")))
   8808                    ((member tag '("errand" "call"))
   8809                     (let ((hr (nth 2 (decode-time))))
   8810                       (or (< hr 8) (> hr 21)))))
   8811          (concat "-" tag)))
   8812 
   8813      (setq org-agenda-auto-exclude-function #'my-auto-exclude-fn)
   8814 
   8815    You can apply this self-adapting filter by using a triple prefix
   8816 argument to ‘org-agenda-filter’, i.e. press ‘C-u C-u C-u /’, or by
   8817 pressing ‘<RET>’ in ‘org-agenda-filter-by-tag’.
   8818 
   8819 Setting limits for the agenda
   8820 .............................
   8821 
   8822 Here is a list of options that you can set, either globally, or locally
   8823 in your custom agenda views (see *note Custom Agenda Views::).
   8824 
   8825 ‘org-agenda-max-entries’
   8826      Limit the number of entries.
   8827 
   8828 ‘org-agenda-max-effort’
   8829      Limit the duration of accumulated efforts (as minutes).
   8830 
   8831 ‘org-agenda-max-todos’
   8832      Limit the number of entries with TODO keywords.
   8833 
   8834 ‘org-agenda-max-tags’
   8835      Limit the number of tagged entries.
   8836 
   8837    When set to a positive integer, each option excludes entries from
   8838 other categories: for example, ‘(setq org-agenda-max-effort 100)’ limits
   8839 the agenda to 100 minutes of effort and exclude any entry that has no
   8840 effort property.  If you want to include entries with no effort
   8841 property, use a negative value for ‘org-agenda-max-effort’.  One useful
   8842 setup is to use ‘org-agenda-max-entries’ locally in a custom command.
   8843 For example, this custom command displays the next five entries with a
   8844 ‘NEXT’ TODO keyword.
   8845 
   8846      (setq org-agenda-custom-commands
   8847            '(("n" todo "NEXT"
   8848               ((org-agenda-max-entries 5)))))
   8849 
   8850    Once you mark one of these five entry as DONE, rebuilding the agenda
   8851 will again the next five entries again, including the first entry that
   8852 was excluded so far.
   8853 
   8854    You can also dynamically set temporary limits, which are lost when
   8855 rebuilding the agenda:
   8856 
   8857 ‘~’ (‘org-agenda-limit-interactively’)
   8858      This prompts for the type of limit to apply and its value.
   8859 
   8860    ---------- Footnotes ----------
   8861 
   8862    (1) Custom agenda commands can preset a filter by binding one of the
   8863 variables ‘org-agenda-tag-filter-preset’,
   8864 ‘org-agenda-category-filter-preset’, ‘org-agenda-effort-filter-preset’
   8865 or ‘org-agenda-regexp-filter-preset’ as an option.  This filter is then
   8866 applied to the view and persists as a basic filter through refreshes and
   8867 more secondary filtering.  The filter is a global property of the entire
   8868 agenda view—in a block agenda, you should only set this in the global
   8869 options section, not in the section of an individual block.
   8870 
   8871 
   8872 File: org.info,  Node: Agenda Commands,  Next: Custom Agenda Views,  Prev: Presentation and Sorting,  Up: Agenda Views
   8873 
   8874 11.5 Commands in the Agenda Buffer
   8875 ==================================
   8876 
   8877 Entries in the agenda buffer are linked back to the Org file or diary
   8878 file where they originate.  You are not allowed to edit the agenda
   8879 buffer itself, but commands are provided to show and jump to the
   8880 original entry location, and to edit the Org files “remotely” from the
   8881 agenda buffer.  In this way, all information is stored only once,
   8882 removing the risk that your agenda and note files may diverge.
   8883 
   8884    Some commands can be executed with mouse clicks on agenda lines.  For
   8885 the other commands, point needs to be in the desired line.
   8886 
   8887 Motion
   8888 ------
   8889 
   8890 ‘n’ (‘org-agenda-next-line’)
   8891      Next line (same as ‘<DOWN>’ and ‘C-n’).
   8892 
   8893 ‘p’ (‘org-agenda-previous-line’)
   8894      Previous line (same as ‘<UP>’ and ‘C-p’).
   8895 
   8896 View/Go to Org file
   8897 -------------------
   8898 
   8899 ‘<SPC>’ or ‘mouse-3’ (‘org-agenda-show-and-scroll-up’)
   8900      Display the original location of the item in another window.  With
   8901      a prefix argument, make sure that drawers stay folded.
   8902 
   8903 ‘L’ (‘org-agenda-recenter’)
   8904      Display original location and recenter that window.
   8905 
   8906 ‘<TAB>’ or ‘mouse-2’ (‘org-agenda-goto’)
   8907      Go to the original location of the item in another window.
   8908 
   8909 ‘<RET>’ (‘org-agenda-switch-to’)
   8910      Go to the original location of the item and delete other windows.
   8911 
   8912 ‘F’ (‘org-agenda-follow-mode’)
   8913      Toggle Follow mode.  In Follow mode, as you move point through the
   8914      agenda buffer, the other window always shows the corresponding
   8915      location in the Org file.  The initial setting for this mode in new
   8916      agenda buffers can be set with the variable
   8917      ‘org-agenda-start-with-follow-mode’.
   8918 
   8919 ‘C-c C-x b’ (‘org-agenda-tree-to-indirect-buffer’)
   8920      Display the entire subtree of the current item in an indirect
   8921      buffer.  With a numeric prefix argument N, go up to level N and
   8922      then take that tree.  If N is negative, go up that many levels.
   8923      With a ‘C-u’ prefix, do not remove the previously used indirect
   8924      buffer.
   8925 
   8926 ‘C-c C-o’ (‘org-agenda-open-link’)
   8927      Follow a link in the entry.  This offers a selection of any links
   8928      in the text belonging to the referenced Org node.  If there is only
   8929      one link, follow it without a selection prompt.
   8930 
   8931 Change display
   8932 --------------
   8933 
   8934 ‘A’
   8935      Interactively select another agenda view and append it to the
   8936      current view.
   8937 
   8938 ‘o’
   8939      Delete other windows.
   8940 
   8941 ‘v d’ or short ‘d’ (‘org-agenda-day-view’)
   8942      Switch to day view.  When switching to day view, this setting
   8943      becomes the default for subsequent agenda refreshes.  A numeric
   8944      prefix argument may be used to jump directly to a specific day of
   8945      the year.  For example, ‘32 d’ jumps to February 1st.  When setting
   8946      day view, a year may be encoded in the prefix argument as well.
   8947      For example, ‘200712 d’ jumps to January 12, 2007.  If such a year
   8948      specification has only one or two digits, it is expanded into one
   8949      of the 30 next years or the last 69 years.
   8950 
   8951 ‘v w’ or short ‘w’ (‘org-agenda-week-view’)
   8952      Switch to week view.  When switching week view, this setting
   8953      becomes the default for subsequent agenda refreshes.  A numeric
   8954      prefix argument may be used to jump directly to a specific day of
   8955      the ISO week.  For example ‘9 w’ to ISO week number 9.  When
   8956      setting week view, a year may be encoded in the prefix argument as
   8957      well.  For example, ‘200712 w’ jumps to week 12 in 2007.  If such a
   8958      year specification has only one or two digits, it is expanded into
   8959      one of the 30 next years or the last 69 years.
   8960 
   8961 ‘v m’ (‘org-agenda-month-view’)
   8962      Switch to month view.  Because month views are slow to create, they
   8963      do not become the default for subsequent agenda refreshes.  A
   8964      numeric prefix argument may be used to jump directly to a specific
   8965      day of the month.  When setting month view, a year may be encoded
   8966      in the prefix argument as well.  For example, ‘200712 m’ jumps to
   8967      December, 2007.  If such a year specification has only one or two
   8968      digits, it is expanded into one of the 30 next years or the last 69
   8969      years.
   8970 
   8971 ‘v y’ (‘org-agenda-year-view’)
   8972      Switch to year view.  Because year views are slow to create, they
   8973      do not become the default for subsequent agenda refreshes.  A
   8974      numeric prefix argument may be used to jump directly to a specific
   8975      day of the year.
   8976 
   8977 ‘v <SPC>’ (‘org-agenda-reset-view’)
   8978      Reset the current view to ‘org-agenda-span’.
   8979 
   8980 ‘f’ (‘org-agenda-later’)
   8981      Go forward in time to display the span following the current one.
   8982      For example, if the display covers a week, switch to the following
   8983      week.  With a prefix argument, repeat that many times.
   8984 
   8985 ‘b’ (‘org-agenda-earlier’)
   8986      Go backward in time to display earlier dates.
   8987 
   8988 ‘.’ (‘org-agenda-goto-today’)
   8989      Go to today.
   8990 
   8991 ‘j’ (‘org-agenda-goto-date’)
   8992      Prompt for a date and go there.
   8993 
   8994 ‘J’ (‘org-agenda-clock-goto’)
   8995      Go to the currently clocked-in task _in the agenda buffer_.
   8996 
   8997 ‘D’ (‘org-agenda-toggle-diary’)
   8998      Toggle the inclusion of diary entries.  See *note Weekly/daily
   8999      agenda::.
   9000 
   9001 ‘v l’ or ‘v L’ or short ‘l’ (‘org-agenda-log-mode’)
   9002      Toggle Logbook mode.  In Logbook mode, entries that were marked as
   9003      done while logging was on (see the variable ‘org-log-done’) are
   9004      shown in the agenda, as are entries that have been clocked on that
   9005      day.  You can configure the entry types that should be included in
   9006      log mode using the variable ‘org-agenda-log-mode-items’.  When
   9007      called with a ‘C-u’ prefix argument, show all possible logbook
   9008      entries, including state changes.  When called with two prefix
   9009      arguments ‘C-u C-u’, show only logging information, nothing else.
   9010      ‘v L’ is equivalent to ‘C-u v l’.
   9011 
   9012 ‘v [’ or short ‘[’ (‘org-agenda-manipulate-query-add’)
   9013      Include inactive timestamps into the current view.  Only for
   9014      weekly/daily agenda.
   9015 
   9016 ‘v a’ (‘org-agenda-archives-mode’)
   9017      Toggle Archives mode.  In Archives mode, trees that are archived
   9018      (see *note Internal archiving::) are also scanned when producing
   9019      the agenda.  To exit archives mode, press ‘v a’ again.  The initial
   9020      setting for this mode in new agenda buffers can set with the
   9021      variable ‘org-agenda-start-with-archives-mode’, which can be set
   9022      with the same values as ‘org-agenda-archives-mode’.
   9023 
   9024 ‘v A’
   9025      Toggle Archives mode.  Include all archive files as well.
   9026 
   9027 ‘v R’ or short ‘R’ (‘org-agenda-clockreport-mode’)
   9028      Toggle Clockreport mode.  In Clockreport mode, the daily/weekly
   9029      agenda always shows a table with the clocked times for the time
   9030      span and file scope covered by the current agenda view.  The
   9031      initial setting for this mode in new agenda buffers can be set with
   9032      the variable ‘org-agenda-start-with-clockreport-mode’.  By using a
   9033      prefix argument when toggling this mode (i.e., ‘C-u R’), the clock
   9034      table does not show contributions from entries that are hidden by
   9035      agenda filtering(1).  See also the variables
   9036      ‘org-clock-report-include-clocking-task’ and
   9037      ‘org-agenda-clock-report-header’.
   9038 
   9039 ‘v c’
   9040      Show overlapping clock entries, clocking gaps, and other clocking
   9041      problems in the current agenda range.  You can then visit clocking
   9042      lines and fix them manually.  See the variable
   9043      ‘org-agenda-clock-consistency-checks’ for information on how to
   9044      customize the definition of what constituted a clocking problem.
   9045      To return to normal agenda display, press ‘l’ to exit Logbook mode.
   9046 
   9047 ‘v E’ or short ‘E’ (‘org-agenda-entry-text-mode’)
   9048      Toggle entry text mode.  In entry text mode, a number of lines from
   9049      the Org outline node referenced by an agenda line are displayed
   9050      below the line.  The maximum number of lines is given by the
   9051      variable ‘org-agenda-entry-text-maxlines’.  Calling this command
   9052      with a numeric prefix argument temporarily modifies that number to
   9053      the prefix value.
   9054 
   9055 ‘G’ (‘org-agenda-toggle-time-grid’)
   9056      Toggle the time grid on and off.  See also the variables
   9057      ‘org-agenda-use-time-grid’ and ‘org-agenda-time-grid’.
   9058 
   9059 ‘r’ (‘org-agenda-redo’)
   9060 ‘g’
   9061      Recreate the agenda buffer, for example to reflect the changes
   9062      after modification of the timestamps of items with ‘S-<LEFT>’ and
   9063      ‘S-<RIGHT>’.  When the buffer is the global TODO list, a prefix
   9064      argument is interpreted to create a selective list for a specific
   9065      TODO keyword.
   9066 
   9067 ‘C-x C-s’ or short ‘s’ (‘org-save-all-org-buffers’)
   9068      Save all Org buffers in the current Emacs session, and also the
   9069      locations of IDs.
   9070 
   9071 ‘C-c C-x C-c’ (‘org-agenda-columns’)
   9072      Invoke column view (see *note Column View::) in the agenda buffer.
   9073      The column view format is taken from the entry at point, or, if
   9074      there is no entry at point, from the first entry in the agenda
   9075      view.  So whatever the format for that entry would be in the
   9076      original buffer (taken from a property, from a ‘COLUMNS’ keyword,
   9077      or from the default variable ‘org-columns-default-format’) is used
   9078      in the agenda.
   9079 
   9080 ‘C-c C-x >’ (‘org-agenda-remove-restriction-lock’)
   9081      Remove the restriction lock on the agenda, if it is currently
   9082      restricted to a file or subtree (see *note Agenda Files::).
   9083 
   9084 ‘M-<UP>’ (‘org-agenda-drag-line-backward’)
   9085      Drag the line at point backward one line.  With a numeric prefix
   9086      argument, drag backward by that many lines.
   9087 
   9088      Moving agenda lines does not persist after an agenda refresh and
   9089      does not modify the contributing Org files.
   9090 
   9091 ‘M-<DOWN>’ (‘org-agenda-drag-line-forward’)
   9092      Drag the line at point forward one line.  With a numeric prefix
   9093      argument, drag forward by that many lines.
   9094 
   9095 Remote editing
   9096 --------------
   9097 
   9098 ‘0--9’
   9099      Digit argument.
   9100 
   9101 ‘C-_’ (‘org-agenda-undo’)
   9102      Undo a change due to a remote editing command.  The change is
   9103      undone both in the agenda buffer and in the remote buffer.
   9104 
   9105 ‘t’ (‘org-agenda-todo’)
   9106      Change the TODO state of the item, both in the agenda and in the
   9107      original Org file.  A prefix arg is passed through to the
   9108      ‘org-todo’ command, so for example a ‘C-u’ prefix are will trigger
   9109      taking a note to document the state change.
   9110 
   9111 ‘C-S-<RIGHT>’ (‘org-agenda-todo-nextset’)
   9112      Switch to the next set of TODO keywords.
   9113 
   9114 ‘C-S-<LEFT>’, ‘org-agenda-todo-previousset’
   9115      Switch to the previous set of TODO keywords.
   9116 
   9117 ‘C-k’ (‘org-agenda-kill’)
   9118      Delete the current agenda item along with the entire subtree
   9119      belonging to it in the original Org file.  If the text to be
   9120      deleted remotely is longer than one line, the kill needs to be
   9121      confirmed by the user.  See variable ‘org-agenda-confirm-kill’.
   9122 
   9123 ‘C-c C-w’ (‘org-agenda-refile’)
   9124      Refile the entry at point.
   9125 
   9126 ‘C-c C-x C-a’ or short ‘a’ (‘org-agenda-archive-default-with-confirmation’)
   9127      Archive the subtree corresponding to the entry at point using the
   9128      default archiving command set in ‘org-archive-default-command’.
   9129      When using the ‘a’ key, confirmation is required.
   9130 
   9131 ‘C-c C-x a’ (‘org-agenda-toggle-archive-tag’)
   9132      Toggle the archive tag (see *note Internal archiving::) for the
   9133      current headline.
   9134 
   9135 ‘C-c C-x A’ (‘org-agenda-archive-to-archive-sibling’)
   9136      Move the subtree corresponding to the current entry to its _archive
   9137      sibling_.
   9138 
   9139 ‘C-c C-x C-s’ or short ‘$’ (‘org-agenda-archive’)
   9140      Archive the subtree corresponding to the current headline.  This
   9141      means the entry is moved to the configured archive location, most
   9142      likely a different file.
   9143 
   9144 ‘T’ (‘org-agenda-show-tags’)
   9145      Show all tags associated with the current item.  This is useful if
   9146      you have turned off ‘org-agenda-show-inherited-tags’, but still
   9147      want to see all tags of a headline occasionally.
   9148 
   9149 ‘:’ (‘org-agenda-set-tags’)
   9150      Set tags for the current headline.  If there is an active region in
   9151      the agenda, change a tag for all headings in the region.
   9152 
   9153 ‘,’ (‘org-agenda-priority’)
   9154      Set the priority for the current item.  Org mode prompts for the
   9155      priority character.  If you reply with ‘<SPC>’, the priority cookie
   9156      is removed from the entry.
   9157 
   9158 ‘+’ or ‘S-<UP>’ (‘org-agenda-priority-up’)
   9159      Increase the priority of the current item.  The priority is changed
   9160      in the original buffer, but the agenda is not resorted.  Use the
   9161      ‘r’ key for this.
   9162 
   9163 ‘-’ or ‘S-<DOWN>’ (‘org-agenda-priority-down’)
   9164      Decrease the priority of the current item.
   9165 
   9166 ‘C-c C-x e’ or short ‘e’ (‘org-agenda-set-effort’)
   9167      Set the effort property for the current item.
   9168 
   9169 ‘C-c C-z’ or short ‘z’ (‘org-agenda-add-note’)
   9170      Add a note to the entry.  This note is recorded, and then filed to
   9171      the same location where state change notes are put.  Depending on
   9172      ‘org-log-into-drawer’, this may be inside a drawer.
   9173 
   9174 ‘C-c C-a’ (‘org-attach’)
   9175      Dispatcher for all command related to attachments.
   9176 
   9177 ‘C-c C-s’ (‘org-agenda-schedule’)
   9178      Schedule this item.  With a prefix argument, remove the scheduling
   9179      timestamp
   9180 
   9181 ‘C-c C-d’ (‘org-agenda-deadline’)
   9182      Set a deadline for this item.  With a prefix argument, remove the
   9183      deadline.
   9184 
   9185 ‘S-<RIGHT>’ (‘org-agenda-do-date-later’)
   9186      Change the timestamp associated with the current line by one day
   9187      into the future.  If the date is in the past, the first call to
   9188      this command moves it to today.  With a numeric prefix argument,
   9189      change it by that many days.  For example, ‘3 6 5 S-<RIGHT>’
   9190      changes it by a year.  With a ‘C-u’ prefix, change the time by one
   9191      hour.  If you immediately repeat the command, it will continue to
   9192      change hours even without the prefix argument.  With a double ‘C-u
   9193      C-u’ prefix, do the same for changing minutes.  The stamp is
   9194      changed in the original Org file, but the change is not directly
   9195      reflected in the agenda buffer.  Use ‘r’ or ‘g’ to update the
   9196      buffer.
   9197 
   9198 ‘S-<LEFT>’ (‘org-agenda-do-date-earlier’)
   9199      Change the timestamp associated with the current line by one day
   9200      into the past.
   9201 
   9202 ‘>’ (‘org-agenda-date-prompt’)
   9203      Change the timestamp associated with the current line.  The key ‘>’
   9204      has been chosen, because it is the same as ‘S-.’ on my keyboard.
   9205 
   9206 ‘I’ (‘org-agenda-clock-in’)
   9207      Start the clock on the current item.  If a clock is running
   9208      already, it is stopped first.
   9209 
   9210 ‘O’ (‘org-agenda-clock-out’)
   9211      Stop the previously started clock.
   9212 
   9213 ‘X’ (‘org-agenda-clock-cancel’)
   9214      Cancel the currently running clock.
   9215 
   9216 ‘J’ (‘org-agenda-clock-goto’)
   9217      Jump to the running clock in another window.
   9218 
   9219 ‘k’ (‘org-agenda-capture’)
   9220      Like ‘org-capture’, but use the date at point as the default date
   9221      for the capture template.  See ‘org-capture-use-agenda-date’ to
   9222      make this the default behavior of ‘org-capture’.
   9223 
   9224 Bulk remote editing selected entries
   9225 ------------------------------------
   9226 
   9227 ‘m’ (‘org-agenda-bulk-mark’)
   9228 
   9229      Mark the entry at point for bulk action.  If there is an active
   9230      region in the agenda, mark the entries in the region.  With numeric
   9231      prefix argument, mark that many successive entries.
   9232 
   9233 ‘*’ (‘org-agenda-bulk-mark-all’)
   9234 
   9235      Mark all visible agenda entries for bulk action.
   9236 
   9237 ‘u’ (‘org-agenda-bulk-unmark’)
   9238 
   9239      Unmark entry for bulk action.
   9240 
   9241 ‘U’ (‘org-agenda-bulk-unmark-all’)
   9242 
   9243      Unmark all marked entries for bulk action.
   9244 
   9245 ‘M-m’ (‘org-agenda-bulk-toggle’)
   9246 
   9247      Toggle mark of the entry at point for bulk action.
   9248 
   9249 ‘M-*’ (‘org-agenda-bulk-toggle-all’)
   9250 
   9251      Toggle mark of every entry for bulk action.
   9252 
   9253 ‘%’ (‘org-agenda-bulk-mark-regexp’)
   9254 
   9255      Mark entries matching a regular expression for bulk action.
   9256 
   9257 ‘B’ (‘org-agenda-bulk-action’)
   9258 
   9259      Bulk action: act on all marked entries in the agenda.  This prompts
   9260      for another key to select the action to be applied.  The prefix
   9261      argument to ‘B’ is passed through to the ‘s’ and ‘d’ commands, to
   9262      bulk-remove these special timestamps.  By default, marks are
   9263      removed after the bulk.  If you want them to persist, set
   9264      ‘org-agenda-bulk-persistent-marks’ to ‘t’ or hit ‘p’ at the prompt.
   9265 
   9266      ‘p’
   9267           Toggle persistent marks.
   9268 
   9269      ‘$’
   9270           Archive all selected entries.
   9271 
   9272      ‘A’
   9273           Archive entries by moving them to their respective archive
   9274           siblings.
   9275 
   9276      ‘t’
   9277           Change TODO state.  This prompts for a single TODO keyword and
   9278           changes the state of all selected entries, bypassing blocking
   9279           and suppressing logging notes—but not timestamps.
   9280 
   9281      ‘+’
   9282           Add a tag to all selected entries.
   9283 
   9284      ‘-’
   9285           Remove a tag from all selected entries.
   9286 
   9287      ‘s’
   9288           Schedule all items to a new date.  To shift existing schedule
   9289           dates by a fixed number of days, use something starting with
   9290           double plus at the prompt, for example ‘++8d’ or ‘++2w’.
   9291 
   9292      ‘d’
   9293           Set deadline to a specific date.
   9294 
   9295      ‘r’
   9296           Prompt for a single refile target and move all entries.  The
   9297           entries are no longer in the agenda; refresh (‘g’) to bring
   9298           them back.
   9299 
   9300      ‘S’
   9301           Reschedule randomly into the coming N days.  N is prompted
   9302           for.  With a prefix argument (‘C-u B S’), scatter only across
   9303           weekdays.
   9304 
   9305      ‘f’
   9306           Apply a function(2) to marked entries.  For example, the
   9307           function below sets the ‘CATEGORY’ property of the entries to
   9308           ‘web’.
   9309 
   9310                (defun set-category ()
   9311                  (interactive "P")
   9312                  (let ((marker (or (org-get-at-bol 'org-hd-marker)
   9313                                    (org-agenda-error))))
   9314                    (org-with-point-at marker
   9315                      (org-back-to-heading t)
   9316                      (org-set-property "CATEGORY" "web"))))
   9317 
   9318 Calendar commands
   9319 -----------------
   9320 
   9321 ‘c’ (‘org-agenda-goto-calendar’)
   9322      Open the Emacs calendar and go to the date at point in the agenda.
   9323 
   9324 ‘c’ (‘org-calendar-goto-agenda’)
   9325      When in the calendar, compute and show the Org agenda for the date
   9326      at point.
   9327 
   9328 ‘i’ (‘org-agenda-diary-entry’)
   9329 
   9330      Insert a new entry into the diary, using the date at point and (for
   9331      block entries) the date at the mark.  This adds to the Emacs diary
   9332      file(3), in a way similar to the ‘i’ command in the calendar.  The
   9333      diary file pops up in another window, where you can add the entry.
   9334 
   9335      If you configure ‘org-agenda-diary-file’ to point to an Org file,
   9336      Org creates entries in that file instead.  Most entries are stored
   9337      in a date-based outline tree that will later make it easy to
   9338      archive appointments from previous months/years.  The tree is built
   9339      under an entry with a ‘DATE_TREE’ property, or else with years as
   9340      top-level entries.  Emacs prompts you for the entry text—if you
   9341      specify it, the entry is created in ‘org-agenda-diary-file’ without
   9342      further interaction.  If you directly press ‘<RET>’ at the prompt
   9343      without typing text, the target file is shown in another window for
   9344      you to finish the entry there.  See also the ‘k r’ command.
   9345 
   9346 ‘M’ (‘org-agenda-phases-of-moon’)
   9347      Show the phases of the moon for the three months around current
   9348      date.
   9349 
   9350 ‘S’ (‘org-agenda-sunrise-sunset’)
   9351      Show sunrise and sunset times.  The geographical location must be
   9352      set with calendar variables, see the documentation for the Emacs
   9353      calendar.
   9354 
   9355 ‘C’ (‘org-agenda-convert-date’)
   9356      Convert the date at point into many other cultural and historic
   9357      calendars.
   9358 
   9359 ‘H’ (‘org-agenda-holidays’)
   9360      Show holidays for three months around point date.
   9361 
   9362 Quit and exit
   9363 -------------
   9364 
   9365 ‘q’ (‘org-agenda-quit’)
   9366 
   9367      Quit agenda, remove the agenda buffer.
   9368 
   9369 ‘x’ (‘org-agenda-exit’)
   9370 
   9371      Exit agenda, remove the agenda buffer and all buffers loaded by
   9372      Emacs for the compilation of the agenda.  Buffers created by the
   9373      user to visit Org files are not removed.
   9374 
   9375    ---------- Footnotes ----------
   9376 
   9377    (1) Only tags filtering is respected here, effort filtering is
   9378 ignored.
   9379 
   9380    (2) You can also create persistent custom functions through
   9381 ‘org-agenda-bulk-custom-functions’.
   9382 
   9383    (3) This file is parsed for the agenda when
   9384 ‘org-agenda-include-diary’ is set.
   9385 
   9386 
   9387 File: org.info,  Node: Custom Agenda Views,  Next: Exporting Agenda Views,  Prev: Agenda Commands,  Up: Agenda Views
   9388 
   9389 11.6 Custom Agenda Views
   9390 ========================
   9391 
   9392 Custom agenda commands serve two purposes: to store and quickly access
   9393 frequently used TODO and tags searches, and to create special composite
   9394 agenda buffers.  Custom agenda commands are accessible through the
   9395 dispatcher (see *note Agenda Dispatcher::), just like the default
   9396 commands.
   9397 
   9398 * Menu:
   9399 
   9400 * Storing searches::             Type once, use often.
   9401 * Block agenda::                 All the stuff you need in a single buffer.
   9402 * Setting options::              Changing the rules.
   9403 
   9404 
   9405 File: org.info,  Node: Storing searches,  Next: Block agenda,  Up: Custom Agenda Views
   9406 
   9407 11.6.1 Storing searches
   9408 -----------------------
   9409 
   9410 The first application of custom searches is the definition of keyboard
   9411 shortcuts for frequently used searches, either creating an agenda
   9412 buffer, or a sparse tree (the latter covering of course only the current
   9413 buffer).
   9414 
   9415    Custom commands are configured in the variable
   9416 ‘org-agenda-custom-commands’.  You can customize this variable, for
   9417 example by pressing ‘C’ from the agenda dispatcher (see *note Agenda
   9418 Dispatcher::).  You can also directly set it with Emacs Lisp in the
   9419 Emacs init file.  The following example contains all valid agenda views:
   9420 
   9421      (setq org-agenda-custom-commands
   9422            '(("x" agenda)
   9423              ("y" agenda*)
   9424              ("w" todo "WAITING")
   9425              ("W" todo-tree "WAITING")
   9426              ("u" tags "+boss-urgent")
   9427              ("v" tags-todo "+boss-urgent")
   9428              ("U" tags-tree "+boss-urgent")
   9429              ("f" occur-tree "\\<FIXME\\>")
   9430              ("h" . "HOME+Name tags searches") ;description for "h" prefix
   9431              ("hl" tags "+home+Lisa")
   9432              ("hp" tags "+home+Peter")
   9433              ("hk" tags "+home+Kim")))
   9434 
   9435    The initial string in each entry defines the keys you have to press
   9436 after the dispatcher command in order to access the command.  Usually
   9437 this is just a single character, but if you have many similar commands,
   9438 you can also define two-letter combinations where the first character is
   9439 the same in several combinations and serves as a prefix key(1).  The
   9440 second parameter is the search type, followed by the string or regular
   9441 expression to be used for the matching.  The example above will
   9442 therefore define:
   9443 
   9444 ‘x’
   9445      as a global search for agenda entries planned(2) this week/day.
   9446 
   9447 ‘y’
   9448      as the same search, but only for entries with an hour specification
   9449      like ‘[h]h:mm’—think of them as appointments.
   9450 
   9451 ‘w’
   9452      as a global search for TODO entries with ‘WAITING’ as the TODO
   9453      keyword.
   9454 
   9455 ‘W’
   9456      as the same search, but only in the current buffer and displaying
   9457      the results as a sparse tree.
   9458 
   9459 ‘u’
   9460      as a global tags search for headlines tagged ‘boss’ but not
   9461      ‘urgent’.
   9462 
   9463 ‘v’
   9464      The same search, but limiting it to headlines that are also TODO
   9465      items.
   9466 
   9467 ‘U’
   9468      as the same search, but only in the current buffer and displaying
   9469      the result as a sparse tree.
   9470 
   9471 ‘f’
   9472      to create a sparse tree (again, current buffer only) with all
   9473      entries containing the word ‘FIXME’.
   9474 
   9475 ‘h’
   9476      as a prefix command for a ‘HOME’ tags search where you have to
   9477      press an additional key (‘l’, ‘p’ or ‘k’) to select a name (Lisa,
   9478      Peter, or Kim) as additional tag to match.
   9479 
   9480    Note that ‘*-tree’ agenda views need to be called from an Org buffer
   9481 as they operate on the current buffer only.
   9482 
   9483    ---------- Footnotes ----------
   9484 
   9485    (1) You can provide a description for a prefix key by inserting a
   9486 cons cell with the prefix and the description.
   9487 
   9488    (2) _Planned_ means here that these entries have some planning
   9489 information attached to them, like a timestamp, a scheduled or a
   9490 deadline string.  See ‘org-agenda-entry-types’ on how to set what
   9491 planning information is taken into account.
   9492 
   9493 
   9494 File: org.info,  Node: Block agenda,  Next: Setting options,  Prev: Storing searches,  Up: Custom Agenda Views
   9495 
   9496 11.6.2 Block agenda
   9497 -------------------
   9498 
   9499 Another possibility is the construction of agenda views that comprise
   9500 the results of _several_ commands, each of which creates a block in the
   9501 agenda buffer.  The available commands include ‘agenda’ for the daily or
   9502 weekly agenda (as created with ‘a’) , ‘alltodo’ for the global TODO list
   9503 (as constructed with ‘t’), ‘stuck’ for the list of stuck projects (as
   9504 obtained with ‘#’) and the matching commands discussed above: ‘todo’,
   9505 ‘tags’, and ‘tags-todo’.
   9506 
   9507    Here are two examples:
   9508 
   9509      (setq org-agenda-custom-commands
   9510            '(("h" "Agenda and Home-related tasks"
   9511               ((agenda "")
   9512                (tags-todo "home")
   9513                (tags "garden")))
   9514              ("o" "Agenda and Office-related tasks"
   9515               ((agenda "")
   9516                (tags-todo "work")
   9517                (tags "office")))))
   9518 
   9519 This defines ‘h’ to create a multi-block view for stuff you need to
   9520 attend to at home.  The resulting agenda buffer contains your agenda for
   9521 the current week, all TODO items that carry the tag ‘home’, and also all
   9522 lines tagged with ‘garden’.  Finally the command ‘o’ provides a similar
   9523 view for office tasks.
   9524 
   9525 
   9526 File: org.info,  Node: Setting options,  Prev: Block agenda,  Up: Custom Agenda Views
   9527 
   9528 11.6.3 Setting options for custom commands
   9529 ------------------------------------------
   9530 
   9531 Org mode contains a number of variables regulating agenda construction
   9532 and display.  The global variables define the behavior for all agenda
   9533 commands, including the custom commands.  However, if you want to change
   9534 some settings just for a single custom view, you can do so.  Setting
   9535 options requires inserting a list of variable names and values at the
   9536 right spot in ‘org-agenda-custom-commands’.  For example:
   9537 
   9538      (setq org-agenda-custom-commands
   9539            '(("w" todo "WAITING"
   9540               ((org-agenda-sorting-strategy '(priority-down))
   9541                (org-agenda-prefix-format "  Mixed: ")))
   9542              ("U" tags-tree "+boss-urgent"
   9543               ((org-show-context-detail 'minimal)))
   9544              ("N" search ""
   9545               ((org-agenda-files '("~org/notes.org"))
   9546                (org-agenda-text-search-extra-files nil)))))
   9547 
   9548 Now the ‘w’ command sorts the collected entries only by priority, and
   9549 the prefix format is modified to just say ‘Mixed:’ instead of giving the
   9550 category of the entry.  The sparse tags tree of ‘U’ now turns out
   9551 ultra-compact, because neither the headline hierarchy above the match,
   9552 nor the headline following the match are shown.  The command ‘N’ does a
   9553 text search limited to only a single file.
   9554 
   9555    For command sets creating a block agenda,
   9556 ‘org-agenda-custom-commands’ has two separate spots for setting options.
   9557 You can add options that should be valid for just a single command in
   9558 the set, and options that should be valid for all commands in the set.
   9559 The former are just added to the command entry; the latter must come
   9560 after the list of command entries.  Going back to the block agenda
   9561 example (see *note Block agenda::), let’s change the sorting strategy
   9562 for the ‘h’ commands to ‘priority-down’, but let’s sort the results for
   9563 ‘garden’ tags query in the opposite order, ‘priority-up’.  This would
   9564 look like this:
   9565 
   9566      (setq org-agenda-custom-commands
   9567            '(("h" "Agenda and Home-related tasks"
   9568               ((agenda)
   9569                (tags-todo "home")
   9570                (tags "garden"
   9571                      ((org-agenda-sorting-strategy '(priority-up)))))
   9572               ((org-agenda-sorting-strategy '(priority-down))))
   9573              ("o" "Agenda and Office-related tasks"
   9574               ((agenda)
   9575                (tags-todo "work")
   9576                (tags "office")))))
   9577 
   9578    As you see, the values and parentheses setting is a little complex.
   9579 When in doubt, use the customize interface to set this variable—it fully
   9580 supports its structure.  Just one caveat: when setting options in this
   9581 interface, the _values_ are just Lisp expressions.  So if the value is a
   9582 string, you need to add the double-quotes around the value yourself.
   9583 
   9584    To control whether an agenda command should be accessible from a
   9585 specific context, you can customize
   9586 ‘org-agenda-custom-commands-contexts’.  Let’s say for example that you
   9587 have an agenda command ‘o’ displaying a view that you only need when
   9588 reading emails.  Then you would configure this option like this:
   9589 
   9590      (setq org-agenda-custom-commands-contexts
   9591            '(("o" (in-mode . "message-mode"))))
   9592 
   9593    You can also tell that the command key ‘o’ should refer to another
   9594 command key ‘r’.  In that case, add this command key like this:
   9595 
   9596      (setq org-agenda-custom-commands-contexts
   9597            '(("o" "r" (in-mode . "message-mode"))))
   9598 
   9599    See the docstring of the variable for more information.
   9600 
   9601 
   9602 File: org.info,  Node: Exporting Agenda Views,  Next: Agenda Column View,  Prev: Custom Agenda Views,  Up: Agenda Views
   9603 
   9604 11.7 Exporting Agenda Views
   9605 ===========================
   9606 
   9607 If you are away from your computer, it can be very useful to have a
   9608 printed version of some agenda views to carry around.  Org mode can
   9609 export custom agenda views as plain text, HTML(1), Postscript, PDF(2),
   9610 and iCalendar files.  If you want to do this only occasionally, use the
   9611 following command:
   9612 
   9613 ‘C-x C-w’ (‘org-agenda-write’)
   9614 
   9615      Write the agenda view to a file.
   9616 
   9617    If you need to export certain agenda views frequently, you can
   9618 associate any custom agenda command with a list of output file names(3).
   9619 Here is an example that first defines custom commands for the agenda and
   9620 the global TODO list, together with a number of files to which to export
   9621 them.  Then we define two block agenda commands and specify file names
   9622 for them as well.  File names can be relative to the current working
   9623 directory, or absolute.
   9624 
   9625      (setq org-agenda-custom-commands
   9626            '(("X" agenda "" nil ("agenda.html" "agenda.ps"))
   9627              ("Y" alltodo "" nil ("todo.html" "todo.txt" "todo.ps"))
   9628              ("h" "Agenda and Home-related tasks"
   9629               ((agenda "")
   9630                (tags-todo "home")
   9631                (tags "garden"))
   9632               nil
   9633               ("~/views/home.html"))
   9634              ("o" "Agenda and Office-related tasks"
   9635               ((agenda)
   9636                (tags-todo "work")
   9637                (tags "office"))
   9638               nil
   9639               ("~/views/office.ps" "~/calendars/office.ics"))))
   9640 
   9641    The extension of the file name determines the type of export.  If it
   9642 is ‘.html’, Org mode uses the htmlize package to convert the buffer to
   9643 HTML and save it to this file name.  If the extension is ‘.ps’,
   9644 ‘ps-print-buffer-with-faces’ is used to produce Postscript output.  If
   9645 the extension is ‘.ics’, iCalendar export is run export over all files
   9646 that were used to construct the agenda, and limit the export to entries
   9647 listed in the agenda.  Any other extension produces a plain ASCII file.
   9648 
   9649    The export files are _not_ created when you use one of those commands
   9650 interactively because this might use too much overhead.  Instead, there
   9651 is a special command to produce _all_ specified files in one step:
   9652 
   9653 ‘e’ (‘org-store-agenda-views’)
   9654      Export all agenda views that have export file names associated with
   9655      them.
   9656 
   9657    You can use the options section of the custom agenda commands to also
   9658 set options for the export commands.  For example:
   9659 
   9660      (setq org-agenda-custom-commands
   9661            '(("X" agenda ""
   9662               ((ps-number-of-columns 2)
   9663                (ps-landscape-mode t)
   9664                (org-agenda-prefix-format " [ ] ")
   9665                (org-agenda-with-colors nil)
   9666                (org-agenda-remove-tags t))
   9667               ("theagenda.ps"))))
   9668 
   9669 This command sets two options for the Postscript exporter, to make it
   9670 print in two columns in landscape format—the resulting page can be cut
   9671 in two and then used in a paper agenda.  The remaining settings modify
   9672 the agenda prefix to omit category and scheduling information, and
   9673 instead include a checkbox to check off items.  We also remove the tags
   9674 to make the lines compact, and we do not want to use colors for the
   9675 black-and-white printer.  Settings specified in
   9676 ‘org-agenda-exporter-settings’ also apply, e.g.,
   9677 
   9678      (setq org-agenda-exporter-settings
   9679            '((ps-number-of-columns 2)
   9680              (ps-landscape-mode t)
   9681              (org-agenda-add-entry-text-maxlines 5)
   9682              (htmlize-output-type 'css)))
   9683 
   9684 but the settings in ‘org-agenda-custom-commands’ take precedence.
   9685 
   9686    From the command line you may also use:
   9687 
   9688      emacs -eval (org-batch-store-agenda-views) -kill
   9689 
   9690 or, if you need to modify some parameters(4)
   9691 
   9692      emacs -eval '(org-batch-store-agenda-views                      \
   9693                    org-agenda-span (quote month)                     \
   9694                    org-agenda-start-day "2007-11-01"                 \
   9695                    org-agenda-include-diary nil                      \
   9696                    org-agenda-files (quote ("~/org/project.org")))'  \
   9697            -kill
   9698 
   9699 which creates the agenda views restricted to the file
   9700 ‘~/org/project.org’, without diary entries and with a 30-day extent.
   9701 
   9702    You can also extract agenda information in a way that allows further
   9703 processing by other programs.  See *note Extracting Agenda
   9704 Information::, for more information.
   9705 
   9706    ---------- Footnotes ----------
   9707 
   9708    (1) For HTML you need to install Hrvoje Nikšić’s ‘htmlize.el’ as an
   9709 Emacs package from NonGNU ELPA (https://elpa.nongnu.org/) or from Hrvoje
   9710 Nikšić’s repository (https://github.com/hniksic/emacs-htmlize).
   9711 
   9712    (2) To create PDF output, the Ghostscript ps2pdf utility must be
   9713 installed on the system.  Selecting a PDF file also creates the
   9714 postscript file.
   9715 
   9716    (3) If you want to store standard views like the weekly agenda or the
   9717 global TODO list as well, you need to define custom commands for them in
   9718 order to be able to specify file names.
   9719 
   9720    (4) Quoting depends on the system you use, please check the FAQ for
   9721 examples.
   9722 
   9723 
   9724 File: org.info,  Node: Agenda Column View,  Prev: Exporting Agenda Views,  Up: Agenda Views
   9725 
   9726 11.8 Using Column View in the Agenda
   9727 ====================================
   9728 
   9729 Column view (see *note Column View::) is normally used to view and edit
   9730 properties embedded in the hierarchical structure of an Org file.  It
   9731 can be quite useful to use column view also from the agenda, where
   9732 entries are collected by certain criteria.
   9733 
   9734 ‘C-c C-x C-c’ (‘org-agenda-columns’)
   9735 
   9736      Turn on column view in the agenda.
   9737 
   9738    To understand how to use this properly, it is important to realize
   9739 that the entries in the agenda are no longer in their proper outline
   9740 environment.  This causes the following issues:
   9741 
   9742   1. Org needs to make a decision which columns format to use.  Since
   9743      the entries in the agenda are collected from different files, and
   9744      different files may have different columns formats, this is a
   9745      non-trivial problem.  Org first checks if
   9746      ‘org-overriding-columns-format’ is currently set, and if so, takes
   9747      the format from there.  You should set this variable only in the
   9748      _local settings section_ of a custom agenda command (see *note
   9749      Custom Agenda Views::) to make it valid for that specific agenda
   9750      view.  If no such binding exists, it checks, in sequence,
   9751      ‘org-columns-default-format-for-agenda’, the format associated with
   9752      the first item in the agenda (through a property or a ‘#+COLUMNS’
   9753      setting in that buffer) and finally ‘org-columns-default-format’.
   9754 
   9755   2. If any of the columns has a summary type defined (see *note Column
   9756      attributes::), turning on column view in the agenda visits all
   9757      relevant agenda files and make sure that the computations of this
   9758      property are up to date.  This is also true for the special
   9759      ‘CLOCKSUM’ property.  Org then sums the values displayed in the
   9760      agenda.  In the daily/weekly agenda, the sums cover a single day;
   9761      in all other views they cover the entire block.
   9762 
   9763      It is important to realize that the agenda may show the same entry
   9764      _twice_—for example as scheduled and as a deadline—and it may show
   9765      two entries from the same hierarchy (for example a _parent_ and its
   9766      _child_).  In these cases, the summation in the agenda leads to
   9767      incorrect results because some values count double.
   9768 
   9769   3. When the column view in the agenda shows the ‘CLOCKSUM’ property,
   9770      that is always the entire clocked time for this item.  So even in
   9771      the daily/weekly agenda, the clocksum listed in column view may
   9772      originate from times outside the current view.  This has the
   9773      advantage that you can compare these values with a column listing
   9774      the planned total effort for a task—one of the major applications
   9775      for column view in the agenda.  If you want information about
   9776      clocked time in the displayed period use clock table mode (press
   9777      ‘R’ in the agenda).
   9778 
   9779   4. When the column view in the agenda shows the ‘CLOCKSUM_T’ property,
   9780      that is always today’s clocked time for this item.  So even in the
   9781      weekly agenda, the clocksum listed in column view only originates
   9782      from today.  This lets you compare the time you spent on a task for
   9783      today, with the time already spent—via ‘CLOCKSUM’—and with the
   9784      planned total effort for it.
   9785 
   9786 
   9787 File: org.info,  Node: Markup for Rich Contents,  Next: Exporting,  Prev: Agenda Views,  Up: Top
   9788 
   9789 12 Markup for Rich Contents
   9790 ***************************
   9791 
   9792 Org is primarily about organizing and searching through your plain-text
   9793 notes.  However, it also provides a lightweight yet robust markup
   9794 language for rich text formatting and more.  For instance, you may want
   9795 to center or emphasize text.  Or you may need to insert a formula or
   9796 image in your writing.  Org offers syntax for all of this and more.
   9797 Used in conjunction with the export framework (see *note Exporting::),
   9798 you can author beautiful documents in Org—like the fine manual you are
   9799 currently reading.
   9800 
   9801 * Menu:
   9802 
   9803 * Paragraphs::                   The basic unit of text.
   9804 * Emphasis and Monospace::       Bold, italic, etc.
   9805 * Subscripts and Superscripts::  Simple syntax for raising/lowering text.
   9806 * Special Symbols::              Greek letters and other symbols.
   9807 * Embedded LaTeX::            LaTeX can be freely used inside Org documents.
   9808 * Literal Examples::             Source code examples with special formatting.
   9809 * Images::                       Display an image.
   9810 * Captions::                     Describe tables, images...
   9811 * Horizontal Rules::             Make a line.
   9812 * Creating Footnotes::           Edit and read footnotes.
   9813 
   9814 
   9815 File: org.info,  Node: Paragraphs,  Next: Emphasis and Monospace,  Up: Markup for Rich Contents
   9816 
   9817 12.1 Paragraphs
   9818 ===============
   9819 
   9820 Paragraphs are separated by at least one empty line.  If you need to
   9821 enforce a line break within a paragraph, use ‘\\’ at the end of a line.
   9822 
   9823    To preserve the line breaks, indentation and blank lines in a region,
   9824 but otherwise use normal formatting, you can use this construct, which
   9825 can also be used to format poetry.
   9826 
   9827      #+BEGIN_VERSE
   9828       Great clouds overhead
   9829       Tiny black birds rise and fall
   9830       Snow covers Emacs
   9831 
   9832          ---AlexSchroeder
   9833      #+END_VERSE
   9834 
   9835    When quoting a passage from another document, it is customary to
   9836 format this as a paragraph that is indented on both the left and the
   9837 right margin.  You can include quotations in Org documents like this:
   9838 
   9839      #+BEGIN_QUOTE
   9840      Everything should be made as simple as possible,
   9841      but not any simpler ---Albert Einstein
   9842      #+END_QUOTE
   9843 
   9844    If you would like to center some text, do it like this:
   9845 
   9846      #+BEGIN_CENTER
   9847      Everything should be made as simple as possible, \\
   9848      but not any simpler
   9849      #+END_CENTER
   9850 
   9851 
   9852 File: org.info,  Node: Emphasis and Monospace,  Next: Subscripts and Superscripts,  Prev: Paragraphs,  Up: Markup for Rich Contents
   9853 
   9854 12.2 Emphasis and Monospace
   9855 ===========================
   9856 
   9857 You can make words ‘*bold*’, ‘/italic/’, ‘_underlined_’, ‘=verbatim=’
   9858 and ‘~code~’, and, if you must, ‘+strike-through+’.  Text in the code
   9859 and verbatim string is not processed for Org specific syntax; it is
   9860 exported verbatim.  Org provides a single command as entry point for
   9861 inserting the marker character.
   9862 
   9863 ‘C-c C-x C-f’ (‘org-emphasize’)
   9864      Prompt for a marker character and insert or change an emphasis.  If
   9865      there is an active region, change that region to a new emphasis.
   9866      If there is no region, just insert the marker characters and
   9867      position the cursor between them.
   9868 
   9869    To turn off fontification for marked up text, you can set
   9870 ‘org-fontify-emphasized-text’ to ‘nil’.  To narrow down the list of the
   9871 fontified markup syntax, you can customize ‘org-emphasis-alist’(1).
   9872 
   9873    To hide the emphasis markup characters in your buffers, set
   9874 ‘org-hide-emphasis-markers’ to ‘t’.
   9875 
   9876    Sometimes, when marked text also contains the marker character
   9877 itself, the result may be unsettling.  For example,
   9878 
   9879      /One may expect this whole sentence to be italicized, but the
   9880      following ~user/?variable~ contains =/= character, which effectively
   9881      stops emphasis there./
   9882 
   9883    You can use zero width space to help Org sorting out the ambiguity.
   9884 See *note Escape Character:: for more details.
   9885 
   9886    ---------- Footnotes ----------
   9887 
   9888    (1) The markup will still be recognized.  Just not highlighted
   9889 visually in Emacs.
   9890 
   9891 
   9892 File: org.info,  Node: Subscripts and Superscripts,  Next: Special Symbols,  Prev: Emphasis and Monospace,  Up: Markup for Rich Contents
   9893 
   9894 12.3 Subscripts and Superscripts
   9895 ================================
   9896 
   9897 ‘^’ and ‘_’ are used to indicate super- and subscripts.  To increase the
   9898 readability of ASCII text, it is not necessary, but OK, to surround
   9899 multi-character sub- and superscripts with curly braces.  For example
   9900 
   9901      The radius of the sun is R_sun = 6.96 x 10^8 m.  On the other hand,
   9902      the radius of Alpha Centauri is R_{Alpha Centauri} = 1.28 x R_{sun}.
   9903 
   9904    If you write a text where the underscore is often used in a different
   9905 context, Org’s convention to always interpret these as subscripts can
   9906 get in your way.  Configure the variable ‘org-use-sub-superscripts’
   9907 and/or ‘org-export-with-sub-superscripts’ to change this convention.
   9908 For example, when setting these variables to ‘{}’, ‘a_b’ is not
   9909 displayed/exported(1) as a subscript, but ‘a_{b}’ is.
   9910 
   9911    You can set both ‘org-use-sub-superscripts’
   9912 ‘org-export-with-sub-superscripts’ in a file using the export option
   9913 ‘^:’ (see *note Export Settings::).  For example, ‘#+OPTIONS: ^:{}’ sets
   9914 the two options to ‘{}’ and limits super- and subscripts to the curly
   9915 bracket notation.
   9916 
   9917    You can also toggle the visual display of super- and subscripts:
   9918 
   9919 ‘C-c C-x \’ (‘org-toggle-pretty-entities’)
   9920      This command formats sub- and superscripts in a WYSIWYM way.
   9921 
   9922    Set both ‘org-pretty-entities’ and
   9923 ‘org-pretty-entities-include-sub-superscripts’ to ‘t’ to start with
   9924 super- and subscripts _visually_ interpreted as specified by the option
   9925 ‘org-use-sub-superscripts’.
   9926 
   9927    ---------- Footnotes ----------
   9928 
   9929    (1) The underlying markup still remains a sub/superscript.  Only the
   9930 visual display and export behavior changes.
   9931 
   9932 
   9933 File: org.info,  Node: Special Symbols,  Next: Embedded LaTeX,  Prev: Subscripts and Superscripts,  Up: Markup for Rich Contents
   9934 
   9935 12.4 Special Symbols
   9936 ====================
   9937 
   9938 You can use LaTeX-like syntax to insert special symbols—named
   9939 entities—like ‘\alpha’ to indicate the Greek letter, or ‘\to’ to
   9940 indicate an arrow.  Completion for these symbols is available, just type
   9941 ‘\’ and maybe a few letters, and press ‘M-<TAB>’ to see possible
   9942 completions.  If you need such a symbol inside a word, terminate it with
   9943 a pair of curly brackets.  For example
   9944 
   9945      Pro tip: Given a circle \Gamma of diameter d, the length of its
   9946      circumference is \pi{}d.
   9947 
   9948    A large number of entities is provided, with names taken from both
   9949 HTML and LaTeX; you can comfortably browse the complete list from a
   9950 dedicated buffer using the command ‘org-entities-help’.  It is also
   9951 possible to provide your own special symbols in the variable
   9952 ‘org-entities-user’.
   9953 
   9954    During export, these symbols are transformed into the native format
   9955 of the exporter backend.  Strings like ‘\alpha’ are exported as
   9956 ‘&alpha;’ in the HTML output, and as ‘\(\alpha\)’ in the LaTeX output.
   9957 Similarly, ‘\nbsp’ becomes ‘&nbsp;’ in HTML and ‘~’ in LaTeX.
   9958 
   9959    If you would like to see entities displayed as UTF-8 characters, use
   9960 the following command(1):
   9961 
   9962 ‘C-c C-x \’ (‘org-toggle-pretty-entities’)
   9963 
   9964      Toggle display of entities as UTF-8 characters.  This does not
   9965      change the buffer content which remains plain ASCII, but it
   9966      overlays the UTF-8 character for display purposes only.
   9967 
   9968    In addition to regular entities defined above, Org exports in a
   9969 special way(2) the following commonly used character combinations: ‘\-’
   9970 is treated as a shy hyphen, ‘--’ and ‘---’ are converted into dashes,
   9971 and ‘...’ becomes a compact set of dots.
   9972 
   9973    ---------- Footnotes ----------
   9974 
   9975    (1) You can turn this on by default by setting the variable
   9976 ‘org-pretty-entities’, or on a per-file base with the ‘STARTUP’ option
   9977 ‘entitiespretty’.
   9978 
   9979    (2) This behavior can be disabled with ‘-’ export setting (see *note
   9980 Export Settings::).
   9981 
   9982 
   9983 File: org.info,  Node: Embedded LaTeX,  Next: Literal Examples,  Prev: Special Symbols,  Up: Markup for Rich Contents
   9984 
   9985 12.5 Embedded LaTeX
   9986 ===================
   9987 
   9988 Plain ASCII is normally sufficient for almost all note taking.
   9989 Exceptions include scientific notes, which often require mathematical
   9990 symbols and the occasional formula.  LaTeX(1) is widely used to typeset
   9991 scientific documents.  Org mode supports embedding LaTeX code into its
   9992 files, because many academics are used to writing and reading LaTeX
   9993 source code, and because it can be readily processed to produce pretty
   9994 output for a number of export backends.
   9995 
   9996 * Menu:
   9997 
   9998 * LaTeX fragments::           Complex formulas made easy.
   9999 * Previewing LaTeX fragments:: What will this snippet look like?
  10000 * CDLaTeX mode::              Speed up entering of formulas.
  10001 
  10002    ---------- Footnotes ----------
  10003 
  10004    (1) LaTeX is a macro system based on Donald E. Knuth’s TeX system.
  10005 Many of the features described here as “LaTeX” are really from TeX, but
  10006 for simplicity I am blurring this distinction.
  10007 
  10008 
  10009 File: org.info,  Node: LaTeX fragments,  Next: Previewing LaTeX fragments,  Up: Embedded LaTeX
  10010 
  10011 12.5.1 LaTeX fragments
  10012 ----------------------
  10013 
  10014 Org mode can contain LaTeX math fragments, and it supports ways to
  10015 process these for several export backends.  When exporting to LaTeX, the
  10016 code is left as it is.  When exporting to HTML, Org can use either
  10017 MathJax (https://www.mathjax.org) (see *note Math formatting in HTML
  10018 export::) or transcode the math into images (see *note Previewing LaTeX
  10019 fragments::).
  10020 
  10021    LaTeX fragments do not need any special marking at all.  The
  10022 following snippets are identified as LaTeX source code:
  10023 
  10024    • Environments of any kind(1).  The only requirement is that the
  10025      ‘\begin’ statement appears on a new line, preceded by only
  10026      whitespace.
  10027 
  10028    • Text within the usual LaTeX math delimiters.  Prefer ‘\(...\)’ for
  10029      inline fragments.  The ‘$...$’ alternative has some restrictions
  10030      and may be a source of confusion.  To avoid conflicts with currency
  10031      specifications, single ‘$’ characters are only recognized as math
  10032      delimiters if the enclosed text contains at most two line breaks,
  10033      is directly attached to the ‘$’ characters with no whitespace in
  10034      between, and if the closing ‘$’ is followed by whitespace or
  10035      punctuation (but not a dash).
  10036 
  10037      Sometimes, it may necessary to have a literal dollar symbol even
  10038      when it is recognized as LaTeX math delimiter.  Org provides
  10039      ‘\dollar’ and ‘\USD’ entities (see *note Special Symbols::) that
  10040      are rendered as ‘$’ for such scenarios.  Also, see *note Escape
  10041      Character::.
  10042 
  10043 For example:
  10044 
  10045      \begin{equation}                        % arbitrary environments,
  10046      x=\sqrt{b}                              % even tables, figures, etc
  10047      \end{equation}
  10048 
  10049      If $a^2=b$ and \( b=2 \), then the solution must be
  10050      either $$ a=+\sqrt{2} $$ or \[ a=-\sqrt{2} \].
  10051 
  10052    LaTeX processing can be configured with the variable
  10053 ‘org-export-with-latex’.  The default setting is ‘t’ which means MathJax
  10054 for HTML, and no processing for ASCII and LaTeX backends.  You can also
  10055 set this variable on a per-file basis using one of these lines:
  10056 
  10057 ‘#+OPTIONS: tex:t’          Do the right thing automatically (MathJax)
  10058 ‘#+OPTIONS: tex:nil’        Do not process LaTeX fragments at all
  10059 ‘#+OPTIONS: tex:verbatim’   Verbatim export, for jsMath or so
  10060 
  10061    ---------- Footnotes ----------
  10062 
  10063    (1) When MathJax is used, only the environments recognized by MathJax
  10064 are processed.  When dvipng, dvisvgm, or ImageMagick suite is used to
  10065 create images, any LaTeX environment is handled.
  10066 
  10067 
  10068 File: org.info,  Node: Previewing LaTeX fragments,  Next: CDLaTeX mode,  Prev: LaTeX fragments,  Up: Embedded LaTeX
  10069 
  10070 12.5.2 Previewing LaTeX fragments
  10071 ---------------------------------
  10072 
  10073 If you have a working LaTeX installation and ‘dvipng’, ‘dvisvgm’ or
  10074 ‘convert’ installed(1), LaTeX fragments can be processed to produce
  10075 images of the typeset expressions to be used for inclusion while
  10076 exporting to HTML (see *note LaTeX fragments::), or for inline
  10077 previewing within Org mode.
  10078 
  10079    You can customize the variables ‘org-format-latex-options’ and
  10080 ‘org-format-latex-header’ to influence some aspects of the preview.  In
  10081 particular, the ‘:scale’ (and for HTML export, ‘:html-scale’) property
  10082 of the former can be used to adjust the size of the preview images.
  10083 
  10084 ‘C-c C-x C-l’ (‘org-latex-preview’)
  10085 
  10086      Produce a preview image of the LaTeX fragment at point and overlay
  10087      it over the source code.  If there is no fragment at point, process
  10088      all fragments in the current entry—between two headlines.
  10089 
  10090      When called with a single prefix argument, clear all images in the
  10091      current entry.  Two prefix arguments produce a preview image for
  10092      all fragments in the buffer, while three of them clear all the
  10093      images in that buffer.
  10094 
  10095    You can turn on the previewing of all LaTeX fragments in a file with
  10096 
  10097      #+STARTUP: latexpreview
  10098 
  10099    To disable it, simply use
  10100 
  10101      #+STARTUP: nolatexpreview
  10102 
  10103    ---------- Footnotes ----------
  10104 
  10105    (1) These are respectively available at
  10106 <https://sourceforge.net/projects/dvipng/>,
  10107 <http://dvisvgm.bplaced.net/> and from the ImageMagick suite.  Choose
  10108 the converter by setting the variable
  10109 ‘org-preview-latex-default-process’ accordingly.
  10110 
  10111 
  10112 File: org.info,  Node: CDLaTeX mode,  Prev: Previewing LaTeX fragments,  Up: Embedded LaTeX
  10113 
  10114 12.5.3 Using CDLaTeX to enter math
  10115 ----------------------------------
  10116 
  10117 CDLaTeX mode is a minor mode that is normally used in combination with a
  10118 major LaTeX mode like AUCTeX in order to speed-up insertion of
  10119 environments and math templates.  Inside Org mode, you can make use of
  10120 some of the features of CDLaTeX mode.  You need to install ‘cdlatex.el’
  10121 and ‘texmathp.el’ (the latter comes also with AUCTeX) from NonGNU ELPA
  10122 (https://elpa.nongnu.org/) with the Emacs packaging system
  10123 (https://www.gnu.org/software/emacs/manual/html_node/emacs/Package-Installation.html)
  10124 or alternatively from
  10125 <https://staff.fnwi.uva.nl/c.dominik/Tools/cdlatex/>.  Do not use
  10126 CDLaTeX mode itself under Org mode, but use the special version Org
  10127 CDLaTeX minor mode that comes as part of Org.  Turn it on for the
  10128 current buffer with ‘M-x org-cdlatex-mode’, or for all Org files with
  10129 
  10130      (add-hook 'org-mode-hook #'turn-on-org-cdlatex)
  10131 
  10132    When this mode is enabled, the following features are present (for
  10133 more details see the documentation of CDLaTeX mode):
  10134 
  10135 ‘C-c {’
  10136 
  10137      Insert an environment template.
  10138 
  10139 ‘<TAB>’
  10140 
  10141      The ‘<TAB>’ key expands the template if point is inside a LaTeX
  10142      fragment(1).  For example, ‘<TAB>’ expands ‘fr’ to ‘\frac{}{}’ and
  10143      position point correctly inside the first brace.  Another ‘<TAB>’
  10144      gets you into the second brace.
  10145 
  10146      Even outside fragments, ‘<TAB>’ expands environment abbreviations
  10147      at the beginning of a line.  For example, if you write ‘equ’ at the
  10148      beginning of a line and press ‘<TAB>’, this abbreviation is
  10149      expanded to an ‘equation’ environment.  To get a list of all
  10150      abbreviations, type ‘M-x cdlatex-command-help’.
  10151 
  10152 ‘^’
  10153 ‘_’
  10154 
  10155      Pressing ‘_’ and ‘^’ inside a LaTeX fragment inserts these
  10156      characters together with a pair of braces.  If you use ‘<TAB>’ to
  10157      move out of the braces, and if the braces surround only a single
  10158      character or macro, they are removed again (depending on the
  10159      variable ‘cdlatex-simplify-sub-super-scripts’).
  10160 
  10161 ‘`’
  10162 
  10163      Pressing the backquote followed by a character inserts math macros,
  10164      also outside LaTeX fragments.  If you wait more than 1.5 seconds
  10165      after the backquote, a help window pops up.
  10166 
  10167 ‘'’
  10168 
  10169      Pressing the single-quote followed by another character modifies
  10170      the LaTeX symbol before point with an accent or a font.  If you
  10171      wait more than 1.5 seconds after the single-quote, a help window
  10172      pops up.  Character modification works only inside LaTeX fragments;
  10173      outside the quote is normal.
  10174 
  10175    ---------- Footnotes ----------
  10176 
  10177    (1) Org mode has a method to test if point is inside such a fragment,
  10178 see the documentation of the function ‘org-inside-LaTeX-fragment-p’.
  10179 
  10180 
  10181 File: org.info,  Node: Literal Examples,  Next: Images,  Prev: Embedded LaTeX,  Up: Markup for Rich Contents
  10182 
  10183 12.6 Literal Examples
  10184 =====================
  10185 
  10186 You can include literal examples that should not be subjected to markup.
  10187 Such examples are typeset in monospace, so this is well suited for
  10188 source code and similar examples.
  10189 
  10190      #+BEGIN_EXAMPLE
  10191        Some example from a text file.
  10192      #+END_EXAMPLE
  10193 
  10194    There is one limitation, however.  You must insert a comma right
  10195 before lines starting with either ‘*’, ‘,*’, ‘#+’ or ‘,#+’, as those may
  10196 be interpreted as outlines nodes or some other special syntax.  Org
  10197 transparently strips these additional commas whenever it accesses the
  10198 contents of the block.
  10199 
  10200      #+BEGIN_EXAMPLE
  10201      ,* I am no real headline
  10202      #+END_EXAMPLE
  10203 
  10204    For simplicity when using small examples, you can also start the
  10205 example lines with a colon followed by a space.  There may also be
  10206 additional whitespace before the colon:
  10207 
  10208      Here is an example
  10209         : Some example from a text file.
  10210 
  10211    If the example is source code from a programming language, or any
  10212 other text that can be marked up by Font Lock in Emacs, you can ask for
  10213 the example to look like the fontified Emacs buffer(1).  This is done
  10214 with the code block, where you also need to specify the name of the
  10215 major mode that should be used to fontify the example(2), see *note
  10216 Structure Templates:: for shortcuts to easily insert code blocks.
  10217 
  10218      #+BEGIN_SRC emacs-lisp
  10219        (defun org-xor (a b)
  10220          "Exclusive or."
  10221          (if a (not b) b))
  10222      #+END_SRC
  10223 
  10224    Both in ‘example’ and in ‘src’ snippets, you can add a ‘-n’ switch to
  10225 the ‘#+BEGIN’ line(3), to get the lines of the example numbered.  The
  10226 ‘-n’ takes an optional numeric argument specifying the starting line
  10227 number of the block.  If you use a ‘+n’ switch, the numbering from the
  10228 previous numbered snippet is continued in the current one.  The ‘+n’
  10229 switch can also take a numeric argument.  This adds the value of the
  10230 argument to the last line of the previous block to determine the
  10231 starting line number.
  10232 
  10233      #+BEGIN_SRC emacs-lisp -n 20
  10234        ;; This exports with line number 20.
  10235        (message "This is line 21")
  10236      #+END_SRC
  10237 
  10238      #+BEGIN_SRC emacs-lisp +n 10
  10239        ;; This is listed as line 31.
  10240        (message "This is line 32")
  10241      #+END_SRC
  10242 
  10243    In literal examples, Org interprets strings like ‘(ref:name)’ as
  10244 labels, and use them as targets for special hyperlinks like
  10245 ‘[[(name)]]’—i.e., the reference name enclosed in single parentheses.
  10246 In HTML, hovering the mouse over such a link remote-highlights the
  10247 corresponding code line(4), which is kind of cool.
  10248 
  10249    You can also add a ‘-r’ switch which _removes_ the labels from the
  10250 source code(5).  With the ‘-n’ switch, links to these references are
  10251 labeled by the line numbers from the code listing.  Otherwise links use
  10252 the labels with no parentheses.  Here is an example:
  10253 
  10254      #+BEGIN_SRC emacs-lisp -n -r
  10255        (save-excursion                 (ref:sc)
  10256           (goto-char (point-min))      (ref:jump)
  10257      #+END_SRC
  10258      In line [[(sc)]] we remember the current position. [[(jump)][Line (jump)]]
  10259      jumps to point-min.
  10260 
  10261    Source code and examples may be _indented_ in order to align nicely
  10262 with the surrounding text, and in particular with plain list structure
  10263 (see *note Plain Lists::).  By default, Org only retains the relative
  10264 indentation between lines, e.g., when exporting the contents of the
  10265 block.  However, you can use the ‘-i’ switch to also preserve the global
  10266 indentation, if it does matter.  See *note Editing Source Code::.
  10267 
  10268    If the syntax for the label format conflicts with the language
  10269 syntax, use a ‘-l’ switch to change the format, for example
  10270 
  10271      #+BEGIN_SRC pascal -n -r -l "((%s))"
  10272 
  10273 See also the variable ‘org-coderef-label-format’.
  10274 
  10275    HTML export also allows examples to be published as text areas (see
  10276 *note Text areas in HTML export::).
  10277 
  10278    Because the ‘#+BEGIN’ ... ‘#+END’ patterns need to be added so often,
  10279 a shortcut is provided (see *note Structure Templates::).
  10280 
  10281 ‘C-c '’ (‘org-edit-special’)
  10282      Edit the source code example at point in its native mode.  This
  10283      works by switching to a temporary buffer with the source code.  You
  10284      need to exit by pressing ‘C-c '’ again.  The edited version then
  10285      replaces the old version in the Org buffer.  Fixed-width
  10286      regions—where each line starts with a colon followed by a space—are
  10287      edited using Artist mode(6) to allow creating ASCII drawings
  10288      easily.  Using this command in an empty line creates a new
  10289      fixed-width region.
  10290 
  10291    Calling ‘org-store-link’ (see *note Handling Links::) while editing a
  10292 source code example in a temporary buffer created with ‘C-c '’ prompts
  10293 for a label.  Make sure that it is unique in the current buffer, and
  10294 insert it with the proper formatting like ‘(ref:label)’ at the end of
  10295 the current line.  Then the label is stored as a link ‘(label)’, for
  10296 retrieval with ‘C-c C-l’.
  10297 
  10298    ---------- Footnotes ----------
  10299 
  10300    (1) This works automatically for the HTML backend (it requires
  10301 version 1.34 of the ‘htmlize.el’ package, which you need to install).
  10302 Fontified code chunks in LaTeX can be achieved using either the listings
  10303 (https://www.ctan.org/pkg/listings) LaTeX package, minted
  10304 (https://www.ctan.org/pkg/minted) LaTeX package, or by using
  10305 engrave-faces (https://elpa.gnu.org/packages/engrave-faces.html) .
  10306 Refer to ‘org-latex-src-block-backend’ for details.
  10307 
  10308    (2) Source code in code blocks may also be evaluated either
  10309 interactively or on export.  See *note Working with Source Code:: for
  10310 more information on evaluating code blocks.
  10311 
  10312    (3) In the ‘src’ snippets, switches must be placed right after the
  10313 language name and before the *note header arguments: Structure of Code
  10314 Blocks.
  10315 
  10316    (4) This requires some Javascript which is _not_ automatically
  10317 included in the HTML output: you have to customize the variable
  10318 ‘org-html-head-include-scripts’ to ‘t’ to have it included (it is ‘nil’
  10319 by default).
  10320 
  10321    (5) Adding ‘-k’ to ‘-n -r’ _keeps_ the labels in the source code
  10322 while using line numbers for the links, which might be useful to explain
  10323 those in an Org mode example code.
  10324 
  10325    (6) You may select a different mode with the variable
  10326 ‘org-edit-fixed-width-region-mode’.
  10327 
  10328 
  10329 File: org.info,  Node: Images,  Next: Captions,  Prev: Literal Examples,  Up: Markup for Rich Contents
  10330 
  10331 12.7 Images
  10332 ===========
  10333 
  10334 An image is a link to an image file(1) that does not have a description
  10335 part, for example
  10336 
  10337      ./img/cat.jpg
  10338 
  10339    If you wish to define a caption for the image (see *note Captions::)
  10340 and maybe a label for internal cross-references (see *note Internal
  10341 Links::), make sure that the link is on a line by itself and precede it
  10342 with ‘CAPTION’ and ‘NAME’ keywords as follows:
  10343 
  10344      #+CAPTION: This is the caption for the next figure link (or table)
  10345      #+NAME:   fig:SED-HR4049
  10346      [[./img/a.jpg]]
  10347 
  10348    Such images can be displayed within the buffer with the following
  10349 command:
  10350 
  10351 ‘C-c C-x C-v’ (‘org-toggle-inline-images’)
  10352      Toggle the inline display of linked images.  When called with a
  10353      prefix argument, also display images that do have a link
  10354      description.  You can ask for inline images to be displayed at
  10355      startup by configuring the variable
  10356      ‘org-startup-with-inline-images’(2).
  10357 
  10358    By default, Org mode displays inline images according to their actual
  10359 width, but no wider than ‘fill-column’ characters.
  10360 
  10361    You can customize the displayed image width using
  10362 ‘org-image-actual-width’ variable (globally) or ‘ORG-IMAGE-ACTUAL-WIDTH’
  10363 property (subtree-level)(3).  Their value can be the following:
  10364    • (default) Non-‘nil’, use the actual width of images when inlining
  10365      them.  If the actual width is too wide, limit it according to
  10366      ‘org-image-max-width’.
  10367    • When set to a number, use imagemagick (when available) to set the
  10368      image’s width to this value.
  10369    • When set to a number in a list, try to get the width from any
  10370      ‘#+ATTR.*’ keyword if it matches a width specification like:
  10371           #+ATTR_HTML: :width 300px
  10372      and fall back on that number if none is found.
  10373    • When set to ‘nil’, try to get the width from an ‘#+ATTR.*’ keyword
  10374      and fall back on the original width or ‘org-image-max-width’ if
  10375      none is found.
  10376 
  10377    ‘org-image-max-width’ limits the maximum displayed image width, but
  10378 only when the image width is not set explicitly.  Possible maximum width
  10379 can be set to:
  10380    • (default) ‘fill-column’, limit width to ‘fill-column’ number of
  10381      characters.
  10382    • ‘window’, limit width to current window width.
  10383    • integer number, limit width to that specified number of pixels.
  10384    • ‘nil’, do not limit the width.
  10385 
  10386    Org mode can left-align, center or right-align the display of inline
  10387 images.  This setting is controlled (globally) by ‘org-image-align’.
  10388 Only standalone images are affected, corresponding to links with no
  10389 surrounding text in their paragraph except for whitespace.  Its value
  10390 can be the following:
  10391    • (default) The symbol ‘left’, which inserts the image where the link
  10392      appears in the buffer.
  10393    • The symbol ‘center’, which will preview links centered in the Emacs
  10394      window.
  10395    • The symbol ‘right’, which will preview links right-aligned in the
  10396      Emacs window.
  10397 
  10398    Inline image alignment can be specified for each link using the
  10399 ‘#+ATTR.*’ keyword if it matches an alignment specification like:
  10400      #+ATTR_HTML: :align center
  10401    Org will use the alignment specification from any ‘#+ATTR.*’ keyword,
  10402 such as ‘#+ATTR_HTML’ or ‘#+ATTR_LATEX’, but ‘#+ATTR_ORG’ (if present)
  10403 will override the others.  For instance, this link
  10404      #+ATTR_HTML: :align right
  10405      #+ATTR_ORG: :align center
  10406      [[/path/to/image/file.png]]
  10407    will be displayed centered in Emacs but exported right-aligned to
  10408 HTML.
  10409 
  10410    When ‘#+ATTR_ORG’ is not set, inline image alignment is also read
  10411 from the ‘:center’ attribute supported by some export backends (like
  10412 HTML, LaTeX and Beamer.)
  10413 
  10414    Inline images can also be displayed when cycling the folding state.
  10415 When custom option ‘org-cycle-inline-images-display’ is set, the visible
  10416 inline images under subtree will be displayed automatically.
  10417 
  10418    ---------- Footnotes ----------
  10419 
  10420    (1) What Emacs considers to be an image depends on
  10421 ‘image-file-name-extensions’ and ‘image-file-name-regexps’.
  10422 
  10423    (2) The variable ‘org-startup-with-inline-images’ can be set within a
  10424 buffer with the ‘STARTUP’ options ‘inlineimages’ and ‘noinlineimages’.
  10425 
  10426    (3) The width can be customized in Emacs >= 24.1, built with
  10427 imagemagick support.
  10428 
  10429 
  10430 File: org.info,  Node: Captions,  Next: Horizontal Rules,  Prev: Images,  Up: Markup for Rich Contents
  10431 
  10432 12.8 Captions
  10433 =============
  10434 
  10435 You can assign a caption to a specific part of a document by inserting a
  10436 ‘CAPTION’ keyword immediately before it:
  10437 
  10438      #+CAPTION: This is the caption for the next table (or link)
  10439      | ... | ... |
  10440      |-----+-----|
  10441 
  10442    Optionally, the caption can take the form:
  10443 
  10444      #+CAPTION[Short caption]: Longer caption.
  10445 
  10446    Even though images and tables are prominent examples of captioned
  10447 structures, the same caption mechanism can apply to many others—e.g.,
  10448 LaTeX equations, source code blocks.  Depending on the export backend,
  10449 those may or may not be handled.
  10450 
  10451 
  10452 File: org.info,  Node: Horizontal Rules,  Next: Creating Footnotes,  Prev: Captions,  Up: Markup for Rich Contents
  10453 
  10454 12.9 Horizontal Rules
  10455 =====================
  10456 
  10457 A line consisting of only dashes, and at least 5 of them, is exported as
  10458 a horizontal line.
  10459 
  10460 
  10461 File: org.info,  Node: Creating Footnotes,  Prev: Horizontal Rules,  Up: Markup for Rich Contents
  10462 
  10463 12.10 Creating Footnotes
  10464 ========================
  10465 
  10466 A footnote is started by a footnote marker in square brackets in column
  10467 0, no indentation allowed.  It ends at the next footnote definition,
  10468 headline, or after two consecutive empty lines.  The footnote reference
  10469 is simply the marker in square brackets, inside text.  Markers always
  10470 start with ‘fn:’.  For example:
  10471 
  10472      The Org website[fn:1] now looks a lot better than it used to.
  10473      ...
  10474      [fn:50] The link is: https://orgmode.org
  10475 
  10476    Org mode extends the number-based syntax to _named_ footnotes and
  10477 optional inline definition.  Here are the valid references:
  10478 
  10479 ‘[fn:NAME]’
  10480      A named footnote reference, where NAME is a unique label word, or,
  10481      for simplicity of automatic creation, a number.
  10482 
  10483 ‘[fn:: This is the inline definition of this footnote]’
  10484      An anonymous footnote where the definition is given directly at the
  10485      reference point.
  10486 
  10487 ‘[fn:NAME: a definition]’
  10488      An inline definition of a footnote, which also specifies a name for
  10489      the note.  Since Org allows multiple references to the same note,
  10490      you can then use ‘[fn:NAME]’ to create additional references.
  10491 
  10492    Footnote labels can be created automatically, or you can create names
  10493 yourself.  This is handled by the variable ‘org-footnote-auto-label’ and
  10494 its corresponding ‘STARTUP’ keywords.  See the docstring of that
  10495 variable for details.
  10496 
  10497    The following command handles footnotes:
  10498 
  10499 ‘C-c C-x f’
  10500      The footnote action command.
  10501 
  10502      When point is on a footnote reference, jump to the definition.
  10503      When it is at a definition, jump to the—first—reference.
  10504 
  10505      Otherwise, create a new footnote.  Depending on the variable
  10506      ‘org-footnote-define-inline’(1), the definition is placed right
  10507      into the text as part of the reference, or separately into the
  10508      location determined by the variable ‘org-footnote-section’.
  10509 
  10510      When this command is called with a prefix argument, a menu of
  10511      additional options is offered:
  10512 
  10513      ‘s’     Sort the footnote definitions by reference sequence.
  10514      ‘r’     Renumber the simple ‘fn:N’ footnotes.
  10515      ‘S’     Short for first ‘r’, then ‘s’ action.
  10516      ‘n’     Rename all footnotes into a ‘fn:1’ ... ‘fn:n’ sequence.
  10517      ‘d’     Delete the footnote at point, including definition and
  10518              references.
  10519 
  10520      Depending on the variable ‘org-footnote-auto-adjust’(2),
  10521      renumbering and sorting footnotes can be automatic after each
  10522      insertion or deletion.
  10523 
  10524 ‘C-c C-c’
  10525      If point is on a footnote reference, jump to the definition.  If it
  10526      is at the definition, jump back to the reference.  When called at a
  10527      footnote location with a prefix argument, offer the same menu as
  10528      ‘C-c C-x f’.
  10529 
  10530 ‘C-c C-o’ or ‘mouse-1/2’
  10531      Footnote labels are also links to the corresponding definition or
  10532      reference, and you can use the usual commands to follow these
  10533      links.
  10534 
  10535    ---------- Footnotes ----------
  10536 
  10537    (1) The corresponding in-buffer setting is: ‘#+STARTUP: fninline’ or
  10538 ‘#+STARTUP: nofninline’.
  10539 
  10540    (2) The corresponding in-buffer options are ‘#+STARTUP: fnadjust’ and
  10541 ‘#+STARTUP: nofnadjust’.
  10542 
  10543 
  10544 File: org.info,  Node: Exporting,  Next: Publishing,  Prev: Markup for Rich Contents,  Up: Top
  10545 
  10546 13 Exporting
  10547 ************
  10548 
  10549 At some point you might want to print your notes, publish them on the
  10550 web, or share them with people not using Org.  Org can convert and
  10551 export documents to a variety of other formats while retaining as much
  10552 structure (see *note Document Structure::) and markup (see *note Markup
  10553 for Rich Contents::) as possible.
  10554 
  10555    The libraries responsible for translating Org files to other formats
  10556 are called _backends_.  Org ships with support for the following
  10557 backends:
  10558 
  10559    • _ascii_ (ASCII format)
  10560    • _beamer_ (LaTeX Beamer format)
  10561    • _html_ (HTML format)
  10562    • _icalendar_ (iCalendar format)
  10563    • _latex_ (LaTeX format)
  10564    • _md_ (Markdown format)
  10565    • _odt_ (OpenDocument Text format)
  10566    • _org_ (Org format)
  10567    • _texinfo_ (Texinfo format)
  10568    • _man_ (Man page format)
  10569 
  10570    Users can install libraries for additional formats from the Emacs
  10571 packaging system.  For easy discovery, these packages have a common
  10572 naming scheme: ‘ox-NAME’, where NAME is a format.  For example,
  10573 ‘ox-koma-letter’ for _koma-letter_ backend.  More libraries can be found
  10574 in the ‘org-contrib’ repository (see *note Installation::).
  10575 
  10576    Org only loads backends for the following formats by default: ASCII,
  10577 HTML, iCalendar, LaTeX, and ODT.  Additional backends can be loaded in
  10578 either of two ways: by configuring the ‘org-export-backends’ variable,
  10579 or by requiring libraries in the Emacs init file.  For example, to load
  10580 the Markdown backend, add this to your Emacs config:
  10581 
  10582      (require 'ox-md)
  10583 
  10584 * Menu:
  10585 
  10586 * The Export Dispatcher::        The main interface.
  10587 * Export Settings::              Common export settings.
  10588 * Table of Contents::            The if and where of the table of contents.
  10589 * Include Files::                Include additional files into a document.
  10590 * Macro Replacement::            Use macros to create templates.
  10591 * Comment Lines::                What will not be exported.
  10592 * ASCII/Latin-1/UTF-8 export::   Exporting to flat files with encoding.
  10593 * Beamer Export::                Producing presentations and slides.
  10594 * HTML Export::                  Exporting to HTML.
  10595 * LaTeX Export::              Exporting to LaTeX and processing to PDF.
  10596 * Markdown Export::              Exporting to Markdown.
  10597 * OpenDocument Text Export::     Exporting to OpenDocument Text.
  10598 * Org Export::                   Exporting to Org.
  10599 * Texinfo Export::               Exporting to Texinfo.
  10600 * iCalendar Export::             Exporting to iCalendar.
  10601 * Other Built-in Backends::      Exporting to a man page.
  10602 * Advanced Export Configuration:: Fine-tuning the export output.
  10603 * Export Region::                Author tables and lists in Org syntax.
  10604 
  10605 
  10606 File: org.info,  Node: The Export Dispatcher,  Next: Export Settings,  Up: Exporting
  10607 
  10608 13.1 The Export Dispatcher
  10609 ==========================
  10610 
  10611 The export dispatcher is the main interface for Org’s exports.  A
  10612 hierarchical menu presents the currently configured export formats.
  10613 Options are shown as easy toggle switches on the same screen.
  10614 
  10615    Org also has a minimal prompt interface for the export dispatcher.
  10616 When the variable ‘org-export-dispatch-use-expert-ui’ is set to a
  10617 non-‘nil’ value, Org prompts in the minibuffer.  To switch back to the
  10618 hierarchical menu, press ‘?’.
  10619 
  10620 ‘C-c C-e’ (‘org-export-dispatch’)
  10621 
  10622      Invokes the export dispatcher interface.  The options show default
  10623      settings.  The ‘C-u’ prefix argument preserves options from the
  10624      previous export, including any subtree selections.
  10625 
  10626    Org exports the entire buffer by default.  If the Org buffer has an
  10627 active region, then Org exports just that region.
  10628 
  10629    Within the dispatcher interface, the following key combinations can
  10630 further alter what is exported, and how.
  10631 
  10632 ‘C-a’
  10633 
  10634      Toggle asynchronous export.  Asynchronous export uses an external
  10635      Emacs process with a specially configured initialization file to
  10636      complete the exporting process in the background, without tying-up
  10637      Emacs.  This is particularly useful when exporting long documents.
  10638 
  10639      Output from an asynchronous export is saved on the _export stack_.
  10640      To view this stack, call the export dispatcher with a double ‘C-u’
  10641      prefix argument.  If already in the export dispatcher menu, ‘&’
  10642      displays the stack.
  10643 
  10644      You can make asynchronous export the default by setting
  10645      ‘org-export-in-background’.
  10646 
  10647      You can set the initialization file used by the background process
  10648      by setting ‘org-export-async-init-file’.
  10649 
  10650 ‘C-b’
  10651 
  10652      Toggle body-only export.  Useful for excluding headers and footers
  10653      in the export.  Affects only those backend formats that have
  10654      sections like ‘<head>...</head>’ in HTML.
  10655 
  10656      To make body-only export the default, customize the variable
  10657      ‘org-export-body-only’.
  10658 
  10659 ‘C-f’
  10660 
  10661      Toggle force-publishing export.  Publish functions normally only
  10662      publish changed files (see [BROKEN LINK: **Triggering
  10663      Publication]).  Forced publishing causes files to be published even
  10664      if their timestamps do not indicate the file has been changed.
  10665 
  10666      To make forced publishing the default, customize the variable
  10667      ‘org-export-force-publishing’.  (This is similar to
  10668      ‘org-publish-use-timestamps-flag’, but only affects the export
  10669      dispatcher.)
  10670 
  10671 ‘C-s’
  10672 
  10673      Toggle subtree export.  When turned on, Org exports only the
  10674      subtree starting from point position at the time the export
  10675      dispatcher was invoked.  Org uses the top heading of this subtree
  10676      as the document’s title.  If point is not on a heading, Org uses
  10677      the nearest enclosing header.  If point is in the document
  10678      preamble, Org signals an error and aborts export.
  10679 
  10680      To make subtree export the default, customize the variable
  10681      ‘org-export-initial-scope’.
  10682 
  10683 ‘C-v’
  10684 
  10685      Toggle visible-only export.  This is useful for exporting only
  10686      certain parts of an Org document by adjusting the visibility of
  10687      particular headings.  See also *note Sparse Trees::.
  10688 
  10689      To make visible-only export the default, customize the variable
  10690      ‘org-export-visible-only’.
  10691 
  10692 
  10693 File: org.info,  Node: Export Settings,  Next: Table of Contents,  Prev: The Export Dispatcher,  Up: Exporting
  10694 
  10695 13.2 Export Settings
  10696 ====================
  10697 
  10698 Export options can be set: globally with variables; for an individual
  10699 file by making variables buffer-local with in-buffer settings (see *note
  10700 In-buffer Settings::); by setting individual keywords or specifying them
  10701 in compact form with the ‘OPTIONS’ keyword; or for a tree by setting
  10702 properties (see *note Properties and Columns::).  Options set at a
  10703 specific level override options set at a more general level.
  10704 
  10705    In-buffer settings may appear anywhere in the file, either directly
  10706 or indirectly through a file included using ‘#+SETUPFILE: filename or
  10707 URL’ syntax.  Option keyword sets tailored to a particular backend can
  10708 be inserted from the export dispatcher (see *note The Export
  10709 Dispatcher::) using the ‘Insert template’ command by pressing ‘#’.  To
  10710 insert keywords individually, a good way to make sure the keyword is
  10711 correct is to type ‘#+’ and then to use ‘M-<TAB>’(1) for completion.
  10712 
  10713    The export keywords available for every backend, and their equivalent
  10714 global variables, include:
  10715 
  10716 ‘AUTHOR’
  10717      The document author (‘user-full-name’).
  10718 
  10719 ‘CREATOR’
  10720      Entity responsible for output generation
  10721      (‘org-export-creator-string’).
  10722 
  10723 ‘DATE’
  10724      A date or a timestamp(2).
  10725 
  10726 ‘EMAIL’
  10727      The email address (‘user-mail-address’).
  10728 
  10729 ‘LANGUAGE’
  10730      Language to use for translating certain strings
  10731      (‘org-export-default-language’).  With ‘#+LANGUAGE: fr’, for
  10732      example, Org translates ‘Table of contents’ to the French ‘Table
  10733      des matières’(3).
  10734 
  10735 ‘SELECT_TAGS’
  10736      List of tags that will, if present, be selected for export.  The
  10737      default value is ‘org-export-select-tags’ ‘("export")’.  When a
  10738      tree is tagged with ‘export’, Org selects that tree and its
  10739      subtrees for export, ignoring all the other sections that do not
  10740      possess the ‘export’ tag.
  10741 
  10742      When selectively exporting files with ‘export’ tags set, Org does
  10743      not export any text that appears before the first headline.
  10744 
  10745      Note that a file without the ‘export’ tags will export all its
  10746      sections.
  10747 
  10748      To select non-default tags for export, customize
  10749      ‘org-export-select-tags’ (globally) or add ‘#+SELECT_TAGS: tag1
  10750      tag2’ to the document.
  10751 
  10752 ‘EXCLUDE_TAGS’
  10753      List of tags that will be excluded from export.  The default value
  10754      is ‘org-export-exclude-tags’ ‘("noexport")’.  When a tree is tagged
  10755      with ‘noexport’, Org excludes that tree and its subtrees from
  10756      export.
  10757 
  10758      Entries tagged with ‘noexport’ are unconditionally excluded from
  10759      the export, even if they have an ‘export’ tag.  Even if a subtree
  10760      is not exported, Org executes any code blocks contained there.
  10761 
  10762      To select non-default tags for the exclusion, customize
  10763      ‘org-export-exclude-tags’ (globally) or add ‘#+EXCLUDE_TAGS: tag1
  10764      tag2’ to the document.
  10765 
  10766 ‘TITLE’
  10767      Org displays this title.  For long titles, use multiple ‘#+TITLE’
  10768      lines.
  10769 
  10770 ‘EXPORT_FILE_NAME’
  10771      The name of the output file to be generated.  Otherwise, Org
  10772      generates the file name based on the buffer name and the extension
  10773      based on the backend format.
  10774 
  10775    The ‘OPTIONS’ keyword is a compact form.  To configure multiple
  10776 options, use several ‘OPTIONS’ lines.  ‘OPTIONS’ recognizes the
  10777 following arguments.
  10778 
  10779 ‘'’
  10780      Toggle smart quotes (‘org-export-with-smart-quotes’).  Depending on
  10781      the language used, when activated, Org treats pairs of double
  10782      quotes as primary quotes, pairs of single quotes as secondary
  10783      quotes, and single quote marks as apostrophes.
  10784 
  10785 ‘*’
  10786      Toggle emphasized text (‘org-export-with-emphasize’).
  10787 
  10788 ‘-’
  10789      Toggle conversion of special strings
  10790      (‘org-export-with-special-strings’).
  10791 
  10792 ‘:’
  10793      Toggle fixed-width sections (‘org-export-with-fixed-width’).
  10794 
  10795 ‘<’
  10796      Toggle inclusion of time/date active/inactive stamps
  10797      (‘org-export-with-timestamps’).
  10798 
  10799 ‘\n’
  10800      Toggles whether to preserve line breaks
  10801      (‘org-export-preserve-breaks’).
  10802 
  10803 ‘^’
  10804      Toggle TeX-like syntax for sub- and superscripts.  If you write
  10805      ‘^:{}’, ‘a_{b}’ is interpreted, but the simple ‘a_b’ is left as it
  10806      is (‘org-export-with-sub-superscripts’).
  10807 
  10808 ‘arch’
  10809      Configure how archived trees are exported.  When set to ‘headline’,
  10810      the export process skips the contents and processes only the
  10811      headlines (‘org-export-with-archived-trees’).
  10812 
  10813 ‘author’
  10814      Toggle inclusion of author name into exported file
  10815      (‘org-export-with-author’).
  10816 
  10817 ‘expand-links’
  10818      Toggle expansion of environment variables in file paths
  10819      (‘org-export-expand-links’).
  10820 
  10821 ‘broken-links’
  10822      Toggles if Org should continue exporting upon finding a broken
  10823      internal link.  When set to ‘mark’, Org clearly marks the problem
  10824      link in the output (‘org-export-with-broken-links’).
  10825 
  10826 ‘c’
  10827      Toggle inclusion of ‘CLOCK’ keywords (‘org-export-with-clocks’).
  10828 
  10829 ‘creator’
  10830      Toggle inclusion of creator information in the exported file
  10831      (‘org-export-with-creator’).
  10832 
  10833 ‘d’
  10834      Toggles inclusion of drawers, or list of drawers to include, or
  10835      list of drawers to exclude (‘org-export-with-drawers’).
  10836 
  10837 ‘date’
  10838      Toggle inclusion of a date into exported file
  10839      (‘org-export-with-date’).
  10840 
  10841 ‘e’
  10842      Toggle inclusion of entities (‘org-export-with-entities’).
  10843 
  10844 ‘email’
  10845      Toggle inclusion of the author’s e-mail into exported file
  10846      (‘org-export-with-email’).
  10847 
  10848 ‘f’
  10849      Toggle the inclusion of footnotes (‘org-export-with-footnotes’).
  10850 
  10851 ‘H’
  10852      Set the number of headline levels for export
  10853      (‘org-export-headline-levels’).  Below that level, headlines are
  10854      treated differently.  In most backends, they become list items.
  10855 
  10856 ‘inline’
  10857      Toggle inclusion of inlinetasks (‘org-export-with-inlinetasks’).
  10858 
  10859 ‘num’
  10860      Toggle section-numbers (‘org-export-with-section-numbers’).  When
  10861      set to number N, Org numbers only those headlines at level N or
  10862      above.  Set ‘UNNUMBERED’ property to non-‘nil’ to disable numbering
  10863      of heading and subheadings entirely.  Moreover, when the value is
  10864      ‘notoc’ the headline, and all its children, do not appear in the
  10865      table of contents either (see *note Table of Contents::).
  10866 
  10867 ‘p’
  10868      Toggle export of planning information (‘org-export-with-planning’).
  10869      “Planning information” comes from lines located right after the
  10870      headline and contain any combination of these cookies: ‘SCHEDULED’,
  10871      ‘DEADLINE’, or ‘CLOSED’.
  10872 
  10873 ‘pri’
  10874      Toggle inclusion of priority cookies (‘org-export-with-priority’).
  10875 
  10876 ‘prop’
  10877      Toggle inclusion of property drawers, or list the properties to
  10878      include (‘org-export-with-properties’).
  10879 
  10880 ‘stat’
  10881      Toggle inclusion of statistics cookies
  10882      (‘org-export-with-statistics-cookies’).
  10883 
  10884 ‘tags’
  10885      Toggle inclusion of tags, may also be ‘not-in-toc’
  10886      (‘org-export-with-tags’).
  10887 
  10888 ‘tasks’
  10889      Toggle inclusion of tasks (TODO items); or ‘nil’ to remove all
  10890      tasks; or ‘todo’ to remove done tasks; or list the keywords to keep
  10891      (‘org-export-with-tasks’).
  10892 
  10893 ‘tex’
  10894      ‘nil’ does not export; ‘t’ exports; ‘verbatim’ keeps everything in
  10895      verbatim (‘org-export-with-latex’).
  10896 
  10897 ‘timestamp’
  10898      Toggle inclusion of the creation time in the exported file
  10899      (‘org-export-timestamp-file’).
  10900 
  10901 ‘title’
  10902      Toggle inclusion of title (‘org-export-with-title’).
  10903 
  10904 ‘toc’
  10905      Toggle inclusion of the table of contents, or set the level limit
  10906      (‘org-export-with-toc’).
  10907 
  10908 ‘todo’
  10909      Toggle inclusion of TODO keywords into exported text
  10910      (‘org-export-with-todo-keywords’).
  10911 
  10912 ‘|’
  10913      Toggle inclusion of tables (‘org-export-with-tables’).
  10914 
  10915    When exporting subtrees, special node properties can override the
  10916 above keywords.  These properties have an ‘EXPORT_’ prefix.  For
  10917 example, ‘DATE’ becomes, ‘EXPORT_DATE’ when used for a specific subtree.
  10918 Except for ‘SETUPFILE’, all other keywords listed above have an
  10919 ‘EXPORT_’ equivalent.
  10920 
  10921    If ‘org-export-allow-bind-keywords’ is non-‘nil’, Emacs variables can
  10922 become buffer-local during export by using the ‘BIND’ keyword.  Its
  10923 syntax is ‘#+BIND: variable value’.  This is particularly useful for
  10924 in-buffer settings that cannot be changed using keywords.
  10925 
  10926    ---------- Footnotes ----------
  10927 
  10928    (1) Many desktops intercept ‘M-<TAB>’ to switch windows.  Use ‘C-M-i’
  10929 or ‘<ESC> <TAB>’ instead.
  10930 
  10931    (2) The variable ‘org-export-date-timestamp-format’ defines how this
  10932 timestamp are exported.
  10933 
  10934    (3) For export to LaTeX format—or LaTeX-related formats such as
  10935 Beamer—, the ‘org-latex-package-alist’ variable needs further
  10936 configuration.  See *note LaTeX specific export settings::.
  10937 
  10938 
  10939 File: org.info,  Node: Table of Contents,  Next: Include Files,  Prev: Export Settings,  Up: Exporting
  10940 
  10941 13.3 Table of Contents
  10942 ======================
  10943 
  10944 The table of contents includes all headlines in the document.  Its depth
  10945 is therefore the same as the headline levels in the file.  If you need
  10946 to use a different depth, or turn it off entirely, set the
  10947 ‘org-export-with-toc’ variable accordingly.  You can achieve the same on
  10948 a per file basis, using the following ‘toc’ item in ‘OPTIONS’ keyword:
  10949 
  10950      #+OPTIONS: toc:2          (only include two levels in TOC)
  10951      #+OPTIONS: toc:nil        (no default TOC at all)
  10952 
  10953    Org includes both numbered and unnumbered headlines in the table of
  10954 contents(1).  If you need to exclude an unnumbered headline, along with
  10955 all its children, set the ‘UNNUMBERED’ property to ‘notoc’ value.
  10956 
  10957      * Subtree not numbered, not in table of contents either
  10958        :PROPERTIES:
  10959        :UNNUMBERED: notoc
  10960        :END:
  10961 
  10962    Org normally inserts the table of contents in front of the exported
  10963 document.  To move the table of contents to a different location, first
  10964 turn off the default with ‘org-export-with-toc’ variable or with
  10965 ‘#+OPTIONS: toc:nil’.  Then insert ‘#+TOC: headlines N’ at the desired
  10966 location(s).
  10967 
  10968      #+OPTIONS: toc:nil
  10969      ...
  10970      #+TOC: headlines 2
  10971 
  10972    To adjust the table of contents depth for a specific section of the
  10973 Org document, append an additional ‘local’ parameter.  This parameter
  10974 becomes a relative depth for the current level.  The following example
  10975 inserts a local table of contents, with direct children only.
  10976 
  10977      * Section
  10978      #+TOC: headlines 1 local
  10979 
  10980    Note that for this feature to work properly in LaTeX export, the Org
  10981 file requires the inclusion of the titletoc package.  Because of
  10982 compatibility issues, titletoc has to be loaded _before_ hyperref.
  10983 Customize the ‘org-latex-default-packages-alist’ variable.
  10984 
  10985    The following example inserts a table of contents that links to the
  10986 children of the specified target.
  10987 
  10988      * Target
  10989        :PROPERTIES:
  10990        :CUSTOM_ID: TargetSection
  10991        :END:
  10992      ** Heading A
  10993      ** Heading B
  10994      * Another section
  10995      #+TOC: headlines 1 :target #TargetSection
  10996 
  10997    The ‘:target’ attribute is supported in HTML, Markdown, ODT, and
  10998 ASCII export.
  10999 
  11000    Use the ‘TOC’ keyword to generate list of tables—respectively, all
  11001 listings—with captions.
  11002 
  11003      #+TOC: listings
  11004      #+TOC: tables
  11005 
  11006    Normally Org uses the headline for its entry in the table of
  11007 contents.  But with ‘ALT_TITLE’ property, a different entry can be
  11008 specified for the table of contents.
  11009 
  11010    ---------- Footnotes ----------
  11011 
  11012    (1) At the moment, some export backends do not obey this
  11013 specification.  For example, LaTeX export excludes every unnumbered
  11014 headline from the table of contents.
  11015 
  11016 
  11017 File: org.info,  Node: Include Files,  Next: Macro Replacement,  Prev: Table of Contents,  Up: Exporting
  11018 
  11019 13.4 Include Files
  11020 ==================
  11021 
  11022 *note During export: Summary of the export process, you can include the
  11023 content of another file.  For example, to include your ‘.emacs’ file,
  11024 you could use:
  11025 
  11026      #+INCLUDE: "~/.emacs" src emacs-lisp
  11027 
  11028 There are three positional arguments after the include keyword, they
  11029 are:
  11030   1. The file name, this is the sole mandatory argument.  Org neither
  11031      checks for correctness or validates the content in any way.
  11032   2. The block name to wrap the file content in.  When this is
  11033      ‘example’, ‘export’, or ‘src’ the content is escaped by
  11034      ‘org-escape-code-in-string’.  Arbitrary block names may be given,
  11035      however block names starting with ‘:’ must be quoted, i.e.
  11036      ‘":name"’.
  11037   3. The source code language to use for formatting the contents.  This
  11038      is relevant to both ‘export’ and ‘src’ block types.
  11039 
  11040    If an included file is not specified as having any markup language,
  11041 Org assumes it be in Org format and proceeds as usual with a few
  11042 exceptions.  Org makes the footnote labels (see *note Creating
  11043 Footnotes::) in the included file local to that file.  The contents of
  11044 the included file belong to the same structure—headline, item—containing
  11045 the ‘INCLUDE’ keyword.  In particular, headlines within the file become
  11046 children of the current section.  That behavior can be changed by
  11047 providing an additional keyword parameter, ‘:minlevel’.  It shifts the
  11048 headlines in the included file to become the lowest level.  For example,
  11049 this syntax makes the included file a sibling of the current top-level
  11050 headline:
  11051 
  11052      #+INCLUDE: "~/my-book/chapter2.org" :minlevel 1
  11053 
  11054    Inclusion of only portions of files are specified using ranges
  11055 parameter with ‘:lines’ keyword.  The line at the upper end of the range
  11056 will not be included.  The start and/or the end of the range may be
  11057 omitted to use the obvious defaults.
  11058 
  11059 ‘#+INCLUDE: "~/.emacs" :lines "5-10"’   Include lines 5 to 10, 10 excluded
  11060 ‘#+INCLUDE: "~/.emacs" :lines "-10"’    Include lines 1 to 10, 10 excluded
  11061 ‘#+INCLUDE: "~/.emacs" :lines "10-"’    Include lines from 10 to EOF
  11062 
  11063    Inclusions may specify a file-link to extract an object matched by
  11064 ‘org-link-search’(1) (see *note Search Options::).  The ranges for
  11065 ‘:lines’ keyword are relative to the requested element.  Therefore,
  11066 
  11067      #+INCLUDE: "./paper.org::*conclusion" :lines "1-20"
  11068 
  11069 includes the first 20 lines of the headline named ‘conclusion’.
  11070 
  11071    To extract only the contents of the matched object, set
  11072 ‘:only-contents’ property to non-‘nil’.  This omits any planning lines
  11073 or property drawers.  For example, to include the body of the heading
  11074 with the custom ID ‘theory’, you can use
  11075 
  11076      #+INCLUDE: "./paper.org::#theory" :only-contents t
  11077 
  11078    The following command allows navigating to the included document:
  11079 
  11080 ‘C-c '’ (‘org-edit-special’)
  11081 
  11082      Visit the included file at point.
  11083 
  11084    ---------- Footnotes ----------
  11085 
  11086    (1) Note that ‘org-link-search-must-match-exact-headline’ is locally
  11087 bound to non-‘nil’.  Therefore, ‘org-link-search’ only matches headlines
  11088 and named elements.
  11089 
  11090 
  11091 File: org.info,  Node: Macro Replacement,  Next: Comment Lines,  Prev: Include Files,  Up: Exporting
  11092 
  11093 13.5 Macro Replacement
  11094 ======================
  11095 
  11096 Macros replace text snippets during export.  Macros are defined globally
  11097 in ‘org-export-global-macros’, or document-wise with the following
  11098 syntax:
  11099 
  11100      #+MACRO: name   replacement text; $1, $2 are arguments
  11101 
  11102 which can be referenced using ‘{{{name(arg1, arg2)}}}’(1).  For example
  11103 
  11104      #+MACRO: poem Rose is $1, violet's $2. Life's ordered: Org assists you.
  11105      {{{poem(red,blue)}}}
  11106 
  11107 becomes
  11108 
  11109      Rose is red, violet's blue.  Life's ordered: Org assists you.
  11110 
  11111    As a special case, Org parses any replacement text starting with
  11112 ‘(eval’ as an Emacs Lisp expression and evaluates it accordingly.
  11113 Within such templates, arguments become strings.  Thus, the following
  11114 macro
  11115 
  11116      #+MACRO: gnustamp (eval (concat "GNU/" (capitalize $1)))
  11117 
  11118 turns ‘{{{gnustamp(linux)}}}’ into ‘GNU/Linux’ during export.
  11119 
  11120    Org recognizes macro references in following Org markup areas:
  11121 paragraphs, headlines, verse blocks, tables cells and lists.  Org also
  11122 recognizes macro references in keywords, such as ‘CAPTION’, ‘TITLE’,
  11123 ‘AUTHOR’, ‘DATE’, and for some backend specific export options.
  11124 
  11125    Org comes with following pre-defined macros:
  11126 
  11127 ‘{{{keyword(NAME)}}}’
  11128 ‘{{{title}}}’
  11129 ‘{{{author}}}’
  11130 ‘{{{email}}}’
  11131      The ‘keyword’ macro collects all values from NAME keywords
  11132      throughout the buffer, separated with white space.  ‘title’,
  11133      ‘author’ and ‘email’ macros are shortcuts for, respectively,
  11134      ‘{{{keyword(TITLE)}}}’, ‘{{{keyword(AUTHOR)}}}’ and
  11135      ‘{{{keyword(EMAIL)}}}’.
  11136 
  11137 ‘{{{date}}}’
  11138 ‘{{{date(FORMAT)}}}’
  11139      This macro refers to the ‘DATE’ keyword.  FORMAT is an optional
  11140      argument to the ‘date’ macro that is used only if ‘DATE’ is a
  11141      single timestamp.  FORMAT should be a format string understood by
  11142      ‘format-time-string’.
  11143 
  11144 ‘{{{time(FORMAT)}}}’
  11145 ‘{{{modification-time(FORMAT, VC)}}}’
  11146      These macros refer to the document’s date and time of export and
  11147      date and time of modification.  FORMAT is a string understood by
  11148      ‘format-time-string’.  If the second argument to the
  11149      ‘modification-time’ macro is non-‘nil’, Org uses ‘vc.el’ to
  11150      retrieve the document’s modification time from the version control
  11151      system.  Otherwise Org reads the file attributes.
  11152 
  11153 ‘{{{input-file}}}’
  11154      This macro refers to the filename of the exported file.
  11155 
  11156 ‘{{{property(PROPERTY-NAME)}}}’
  11157 ‘{{{property(PROPERTY-NAME, SEARCH OPTION)}}}’
  11158      This macro returns the value of property PROPERTY-NAME in the
  11159      current entry.  If SEARCH-OPTION (see *note Search Options::)
  11160      refers to a remote entry, use it instead.
  11161 
  11162 ‘{{{n}}}’
  11163 ‘{{{n(NAME)}}}’
  11164 ‘{{{n(NAME, ACTION)}}}’
  11165      This macro implements custom counters by returning the number of
  11166      times the macro has been expanded so far while exporting the
  11167      buffer.  You can create more than one counter using different NAME
  11168      values.  If ACTION is ‘-’, previous value of the counter is held,
  11169      i.e., the specified counter is not incremented.  If the value is a
  11170      number, the specified counter is set to that value.  If it is any
  11171      other non-empty string, the specified counter is reset to 1.  You
  11172      may leave NAME empty to reset the default counter.
  11173 
  11174    Moreover, inline source blocks (see *note Structure of Code Blocks::)
  11175 use the special ‘results’ macro to mark their output.  As such, you are
  11176 advised against re-defining it, unless you know what you are doing.
  11177 
  11178    The surrounding brackets can be made invisible by setting
  11179 ‘org-hide-macro-markers’ to a non-‘nil’ value.
  11180 
  11181    Org expands macros at the very beginning of the export process.
  11182 
  11183    ---------- Footnotes ----------
  11184 
  11185    (1) Since commas separate the arguments, commas within arguments have
  11186 to be escaped with the backslash character.  So only those backslash
  11187 characters before a comma need escaping with another backslash
  11188 character.
  11189 
  11190 
  11191 File: org.info,  Node: Comment Lines,  Next: ASCII/Latin-1/UTF-8 export,  Prev: Macro Replacement,  Up: Exporting
  11192 
  11193 13.6 Comment Lines
  11194 ==================
  11195 
  11196 Lines starting with zero or more whitespace characters followed by one
  11197 ‘#’ and a whitespace are treated as comments and, as such, are not
  11198 exported.
  11199 
  11200    Likewise, regions surrounded by ‘#+BEGIN_COMMENT’ ... ‘#+END_COMMENT’
  11201 are not exported.
  11202 
  11203    Finally, a ‘COMMENT’ keyword at the beginning of an entry, but after
  11204 any other keyword or priority cookie, comments out the entire subtree.
  11205 In this case, the subtree is not exported and no code block within it is
  11206 executed either(1).  The command below helps changing the comment status
  11207 of a headline.
  11208 
  11209 ‘C-c ;’ (‘org-toggle-comment’)
  11210 
  11211      Toggle the ‘COMMENT’ keyword at the beginning of an entry.
  11212 
  11213    ---------- Footnotes ----------
  11214 
  11215    (1) For a less drastic behavior, consider using a select tag (see
  11216 *note Export Settings::) instead.
  11217 
  11218 
  11219 File: org.info,  Node: ASCII/Latin-1/UTF-8 export,  Next: Beamer Export,  Prev: Comment Lines,  Up: Exporting
  11220 
  11221 13.7 ASCII/Latin-1/UTF-8 export
  11222 ===============================
  11223 
  11224 ASCII export produces an output file containing only plain ASCII
  11225 characters.  This is the simplest and most direct text output.  It does
  11226 not contain any Org markup.  Latin-1 and UTF-8 export use additional
  11227 characters and symbols available in these encoding standards.  All three
  11228 of these export formats offer the most basic of text output for maximum
  11229 portability.
  11230 
  11231    On export, Org fills and justifies text according to the text width
  11232 set in ‘org-ascii-text-width’.
  11233 
  11234    Org exports links using a footnote-like style where the descriptive
  11235 part is in the text and the link is in a note before the next heading.
  11236 See the variable ‘org-ascii-links-to-notes’ for details.
  11237 
  11238 ASCII export commands
  11239 ---------------------
  11240 
  11241 ‘C-c C-e t a’ (‘org-ascii-export-to-ascii’)
  11242 ‘C-c C-e t l’
  11243 ‘C-c C-e t u’
  11244 
  11245      Export as an ASCII file with a ‘.txt’ extension.  For ‘myfile.org’,
  11246      Org exports to ‘myfile.txt’, overwriting without warning.  For
  11247      ‘myfile.txt’, Org exports to ‘myfile.txt.txt’ in order to prevent
  11248      data loss.
  11249 
  11250 ‘C-c C-e t A’ (‘org-ascii-export-to-ascii’)
  11251 ‘C-c C-e t L’
  11252 ‘C-c C-e t U’
  11253 
  11254      Export to a temporary buffer.  Does not create a file.
  11255 
  11256 ASCII specific export settings
  11257 ------------------------------
  11258 
  11259 The ASCII export backend has one extra keyword for customizing ASCII
  11260 output.  Setting this keyword works similar to the general options (see
  11261 *note Export Settings::).
  11262 
  11263 ‘SUBTITLE’
  11264      The document subtitle.  For long subtitles, use multiple
  11265      ‘#+SUBTITLE’ lines in the Org file.  Org prints them on one
  11266      continuous line, wrapping into multiple lines if necessary.
  11267 
  11268 Header and sectioning structure
  11269 -------------------------------
  11270 
  11271 Org converts the first three outline levels into headlines for ASCII
  11272 export.  The remaining levels are turned into lists.  To change this
  11273 cut-off point where levels become lists, see *note Export Settings::.
  11274 
  11275 Quoting ASCII text
  11276 ------------------
  11277 
  11278 To insert text within the Org file by the ASCII backend, use one the
  11279 following constructs, inline, keyword, or export block:
  11280 
  11281      Inline text @@ascii:and additional text@@ within a paragraph.
  11282 
  11283      #+ASCII: Some text
  11284 
  11285      #+BEGIN_EXPORT ascii
  11286      Org exports text in this block only when using ASCII backend.
  11287      #+END_EXPORT
  11288 
  11289 ASCII specific attributes
  11290 -------------------------
  11291 
  11292 ASCII backend recognizes only one attribute, ‘:width’, which specifies
  11293 the width of a horizontal rule in number of characters.  The keyword and
  11294 syntax for specifying widths is:
  11295 
  11296      #+ATTR_ASCII: :width 10
  11297      -----
  11298 
  11299 ASCII special blocks
  11300 --------------------
  11301 
  11302 Besides ‘#+BEGIN_CENTER’ blocks (see *note Paragraphs::), ASCII backend
  11303 has these two left and right justification blocks:
  11304 
  11305      #+BEGIN_JUSTIFYLEFT
  11306      It's just a jump to the left...
  11307      #+END_JUSTIFYLEFT
  11308 
  11309      #+BEGIN_JUSTIFYRIGHT
  11310      ...and then a step to the right.
  11311      #+END_JUSTIFYRIGHT
  11312 
  11313 
  11314 File: org.info,  Node: Beamer Export,  Next: HTML Export,  Prev: ASCII/Latin-1/UTF-8 export,  Up: Exporting
  11315 
  11316 13.8 Beamer Export
  11317 ==================
  11318 
  11319 Org uses Beamer export to convert an Org file tree structure into
  11320 high-quality interactive slides for presentations.  Beamer is a LaTeX
  11321 document class for creating presentations in PDF, HTML, and other
  11322 popular display formats.
  11323 
  11324 * Menu:
  11325 
  11326 * Beamer export commands::       For creating Beamer documents.
  11327 * Beamer specific export settings:: For customizing Beamer export.
  11328 * Frames and Blocks in Beamer::  For composing Beamer slides.
  11329 * Beamer specific syntax::       For using in Org documents.
  11330 * Editing support::              Editing support.
  11331 * A Beamer example::             A complete presentation.
  11332 
  11333 
  11334 File: org.info,  Node: Beamer export commands,  Next: Beamer specific export settings,  Up: Beamer Export
  11335 
  11336 13.8.1 Beamer export commands
  11337 -----------------------------
  11338 
  11339 ‘C-c C-e l b’ (‘org-beamer-export-to-latex’)
  11340 
  11341      Export as LaTeX file with a ‘.tex’ extension.  For ‘myfile.org’,
  11342      Org exports to ‘myfile.tex’, overwriting without warning.
  11343 
  11344 ‘C-c C-e l B’ (‘org-beamer-export-as-latex’)
  11345 
  11346      Export to a temporary buffer.  Does not create a file.
  11347 
  11348 ‘C-c C-e l P’ (‘org-beamer-export-to-pdf’)
  11349 
  11350      Export as LaTeX file and then convert it to PDF format.
  11351 
  11352 ‘C-c C-e l O’
  11353 
  11354      Export as LaTeX file, convert it to PDF format, and then open the
  11355      PDF file.
  11356 
  11357 
  11358 File: org.info,  Node: Beamer specific export settings,  Next: Frames and Blocks in Beamer,  Prev: Beamer export commands,  Up: Beamer Export
  11359 
  11360 13.8.2 Beamer specific export settings
  11361 --------------------------------------
  11362 
  11363 Beamer export backend has several additional keywords for customizing
  11364 Beamer output.  These keywords work similar to the general options
  11365 settings (see *note Export Settings::).
  11366 
  11367 ‘BEAMER_THEME’
  11368      The Beamer layout theme (‘org-beamer-theme’).  Use square brackets
  11369      for options.  For example:
  11370 
  11371           #+BEAMER_THEME: Rochester [height=20pt]
  11372 
  11373 ‘BEAMER_FONT_THEME’
  11374      The Beamer font theme.
  11375 
  11376 ‘BEAMER_INNER_THEME’
  11377      The Beamer inner theme.
  11378 
  11379 ‘BEAMER_OUTER_THEME’
  11380      The Beamer outer theme.
  11381 
  11382 ‘BEAMER_HEADER’
  11383      Arbitrary lines inserted in the preamble, just before the
  11384      ‘hyperref’ settings.
  11385 
  11386 ‘DESCRIPTION’
  11387      The document description.  For long descriptions, use multiple
  11388      ‘DESCRIPTION’ keywords.  By default, ‘hyperref’ inserts
  11389      ‘DESCRIPTION’ as metadata.  Use ‘org-latex-hyperref-template’ to
  11390      configure document metadata.  Use ‘org-latex-title-command’ to
  11391      configure typesetting of description as part of front matter.
  11392 
  11393 ‘KEYWORDS’
  11394      The keywords for defining the contents of the document.  Use
  11395      multiple ‘KEYWORDS’ lines if necessary.  By default, ‘hyperref’
  11396      inserts ‘KEYWORDS’ as metadata.  Use ‘org-latex-hyperref-template’
  11397      to configure document metadata.  Use ‘org-latex-title-command’ to
  11398      configure typesetting of keywords as part of front matter.
  11399 
  11400 ‘SUBTITLE’
  11401      Document’s subtitle.  For typesetting, use
  11402      ‘org-beamer-subtitle-format’ string.  Use
  11403      ‘org-latex-hyperref-template’ to configure document metadata.  Use
  11404      ‘org-latex-title-command’ to configure typesetting of subtitle as
  11405      part of front matter.
  11406 
  11407 
  11408 File: org.info,  Node: Frames and Blocks in Beamer,  Next: Beamer specific syntax,  Prev: Beamer specific export settings,  Up: Beamer Export
  11409 
  11410 13.8.3 Frames and Blocks in Beamer
  11411 ----------------------------------
  11412 
  11413 Org transforms heading levels into Beamer’s sectioning elements, frames
  11414 and blocks.  Any Org tree with a not-too-deep-level nesting should in
  11415 principle be exportable as a Beamer presentation.
  11416 
  11417    • Org headlines become Beamer frames when the heading level in Org is
  11418      equal to ‘org-beamer-frame-level’ or ‘H’ value in a ‘OPTIONS’ line
  11419      (see *note Export Settings::).
  11420 
  11421      Org overrides headlines to frames conversion for the current tree
  11422      of an Org file if it encounters the ‘BEAMER_ENV’ property set to
  11423      ‘frame’ or ‘fullframe’.  Org ignores whatever
  11424      ‘org-beamer-frame-level’ happens to be for that headline level in
  11425      the Org tree.  In Beamer terminology, a full frame is a frame
  11426      without its title.
  11427 
  11428    • Org exports a Beamer frame’s objects as block environments.  Org
  11429      can enforce wrapping in special block types when ‘BEAMER_ENV’
  11430      property is set(1).  For valid values see
  11431      ‘org-beamer-environments-default’.  To add more values, see
  11432      ‘org-beamer-environments-extra’.
  11433 
  11434    • If ‘BEAMER_ENV’ is set to ‘appendix’, Org exports the entry as an
  11435      appendix.  When set to ‘note’, Org exports the entry as a note
  11436      within the frame or between frames, depending on the entry’s
  11437      heading level.  When set to ‘noteNH’, Org exports the entry as a
  11438      note without its title.  When set to ‘againframe’, Org exports the
  11439      entry with ‘\againframe’ command, which makes setting the
  11440      ‘BEAMER_REF’ property mandatory because ‘\againframe’ needs frame
  11441      to resume.
  11442 
  11443      When ‘ignoreheading’ is set, Org export ignores the entry’s
  11444      headline but not its content.  This is useful for inserting content
  11445      between frames.  It is also useful for properly closing a ‘column’
  11446      environment.
  11447 
  11448      When ‘BEAMER_ACT’ is set for a headline, Org export translates that
  11449      headline as an overlay or action specification.  When enclosed in
  11450      square brackets, Org export makes the overlay specification a
  11451      default.  Use ‘BEAMER_OPT’ to set any options applicable to the
  11452      current Beamer frame or block.  The Beamer export backend wraps
  11453      with appropriate angular or square brackets.  It also adds the
  11454      ‘fragile’ option for any code that may require a verbatim block.
  11455 
  11456      To create a column on the Beamer slide, use the ‘BEAMER_COL’
  11457      property for its headline in the Org file.  Set the value of
  11458      ‘BEAMER_COL’ to a decimal number representing the fraction of the
  11459      total text width.  Beamer export uses this value to set the
  11460      column’s width and fills the column with the contents of the Org
  11461      entry.  If the Org entry has no specific environment defined,
  11462      Beamer export ignores the heading.  If the Org entry has a defined
  11463      environment, Beamer export uses the heading as title.  Behind the
  11464      scenes, Beamer export automatically handles LaTeX column
  11465      separations for contiguous headlines.  To manually adjust them for
  11466      any unique configurations needs, use the ‘BEAMER_ENV’ property.
  11467 
  11468    ---------- Footnotes ----------
  11469 
  11470    (1) If ‘BEAMER_ENV’ is set, Org export adds ‘B_environment’ tag to
  11471 make it visible.  The tag serves as a visual aid and has no semantic
  11472 relevance.
  11473 
  11474 
  11475 File: org.info,  Node: Beamer specific syntax,  Next: Editing support,  Prev: Frames and Blocks in Beamer,  Up: Beamer Export
  11476 
  11477 13.8.4 Beamer specific syntax
  11478 -----------------------------
  11479 
  11480 Since Org’s Beamer export backend is an extension of the LaTeX backend,
  11481 it recognizes other LaTeX specific syntax—for example, ‘#+LATEX:’ or
  11482 ‘#+ATTR_LATEX:’.  See *note LaTeX Export::, for details.
  11483 
  11484    Beamer export wraps the table of contents generated with ‘toc:t’
  11485 ‘OPTION’ keyword in a ‘frame’ environment.  Beamer export does not wrap
  11486 the table of contents generated with ‘TOC’ keyword (see *note Table of
  11487 Contents::).  Use square brackets for specifying options.
  11488 
  11489      #+TOC: headlines [currentsection]
  11490 
  11491    Insert Beamer-specific code using the following constructs:
  11492 
  11493      #+BEAMER: \pause
  11494 
  11495      #+BEGIN_EXPORT beamer
  11496        Only Beamer export backend exports this.
  11497      #+END_EXPORT
  11498 
  11499      Text @@beamer:some code@@ within a paragraph.
  11500 
  11501    Inline constructs, such as the last one above, are useful for adding
  11502 overlay specifications to objects with ‘bold’, ‘item’, ‘link’,
  11503 ‘radio-target’ and ‘target’ types.  Enclose the value in angular
  11504 brackets and place the specification at the beginning of the object as
  11505 shown in this example:
  11506 
  11507      A *@@beamer:<2->@@useful* feature
  11508 
  11509    Beamer export recognizes the ‘ATTR_BEAMER’ keyword with the following
  11510 attributes from Beamer configurations: ‘:environment’ for changing local
  11511 Beamer environment, ‘:overlay’ for specifying Beamer overlays in angular
  11512 or square brackets, and ‘:options’ for inserting optional arguments.
  11513 
  11514      #+ATTR_BEAMER: :environment nonindentlist
  11515      - item 1, not indented
  11516      - item 2, not indented
  11517      - item 3, not indented
  11518 
  11519      #+ATTR_BEAMER: :overlay <+->
  11520      - item 1
  11521      - item 2
  11522 
  11523      #+ATTR_BEAMER: :options [Lagrange]
  11524      Let $G$ be a finite group, and let $H$ be
  11525      a subgroup of $G$.  Then the order of $H$ divides the order of $G$.
  11526 
  11527 
  11528 File: org.info,  Node: Editing support,  Next: A Beamer example,  Prev: Beamer specific syntax,  Up: Beamer Export
  11529 
  11530 13.8.5 Editing support
  11531 ----------------------
  11532 
  11533 Org Beamer mode is a special minor mode for faster editing of Beamer
  11534 documents.
  11535 
  11536      #+STARTUP: beamer
  11537 
  11538 ‘C-c C-b’ (‘org-beamer-select-environment’)
  11539 
  11540      Org Beamer mode provides this key for quicker selections in Beamer
  11541      normal environments, and for selecting the ‘BEAMER_COL’ property.
  11542 
  11543 
  11544 File: org.info,  Node: A Beamer example,  Prev: Editing support,  Up: Beamer Export
  11545 
  11546 13.8.6 A Beamer example
  11547 -----------------------
  11548 
  11549 Here is an example of an Org document ready for Beamer export.
  11550 
  11551      #+TITLE: Example Presentation
  11552      #+AUTHOR: Carsten Dominik
  11553      #+OPTIONS: H:2 toc:t num:t
  11554      #+LATEX_CLASS: beamer
  11555      #+LATEX_CLASS_OPTIONS: [presentation]
  11556      #+BEAMER_THEME: Madrid
  11557      #+COLUMNS: %45ITEM %10BEAMER_ENV(Env) %10BEAMER_ACT(Act) %4BEAMER_COL(Col)
  11558 
  11559      * This is the first structural section
  11560 
  11561      ** Frame 1
  11562      *** Thanks to Eric Fraga                                           :B_block:
  11563          :PROPERTIES:
  11564          :BEAMER_COL: 0.48
  11565          :BEAMER_ENV: block
  11566          :END:
  11567          for the first viable Beamer setup in Org
  11568      *** Thanks to everyone else                                        :B_block:
  11569          :PROPERTIES:
  11570          :BEAMER_COL: 0.48
  11571          :BEAMER_ACT: <2->
  11572          :BEAMER_ENV: block
  11573          :END:
  11574          for contributing to the discussion
  11575      **** This will be formatted as a beamer note                       :B_note:
  11576           :PROPERTIES:
  11577           :BEAMER_env: note
  11578           :END:
  11579      ** Frame 2 (where we will not use columns)
  11580      *** Request
  11581          Please test this stuff!
  11582 
  11583 
  11584 File: org.info,  Node: HTML Export,  Next: LaTeX Export,  Prev: Beamer Export,  Up: Exporting
  11585 
  11586 13.9 HTML Export
  11587 ================
  11588 
  11589 Org mode contains an HTML exporter with extensive HTML formatting
  11590 compatible with XHTML 1.0 strict standard.
  11591 
  11592 * Menu:
  11593 
  11594 * HTML export commands::         Invoking HTML export.
  11595 * HTML specific export settings:: Settings for HTML export.
  11596 * HTML doctypes::                Exporting various (X)HTML flavors.
  11597 * HTML preamble and postamble::  Inserting preamble and postamble.
  11598 * Bare HTML::                    Exporting HTML without CSS, Javascript, etc.
  11599 * Quoting HTML tags::            Using direct HTML in Org files.
  11600 * Headlines in HTML export::     Formatting headlines.
  11601 * Links in HTML export::         Inserting and formatting links.
  11602 * Tables in HTML export::        How to modify the formatting of tables.
  11603 * Images in HTML export::        How to insert figures into HTML output.
  11604 * Math formatting in HTML export:: Beautiful math also on the web.
  11605 * Text areas in HTML export::    An alternate way to show an example.
  11606 * CSS support::                  Changing the appearance of the output.
  11607 * JavaScript support::           Info and folding in a web browser.
  11608 
  11609 
  11610 File: org.info,  Node: HTML export commands,  Next: HTML specific export settings,  Up: HTML Export
  11611 
  11612 13.9.1 HTML export commands
  11613 ---------------------------
  11614 
  11615 ‘C-c C-e h h’ (‘org-html-export-to-html’)
  11616 
  11617      Export as HTML file with a ‘.html’ extension.  For ‘myfile.org’,
  11618      Org exports to ‘myfile.html’, overwriting without warning.  ‘C-c
  11619      C-e h o’ exports to HTML and opens it in a web browser.
  11620 
  11621 ‘C-c C-e h H’ (‘org-html-export-as-html’)
  11622 
  11623      Exports to a temporary buffer.  Does not create a file.
  11624 
  11625 
  11626 File: org.info,  Node: HTML specific export settings,  Next: HTML doctypes,  Prev: HTML export commands,  Up: HTML Export
  11627 
  11628 13.9.2 HTML specific export settings
  11629 ------------------------------------
  11630 
  11631 HTML export has a number of keywords, similar to the general options
  11632 settings described in *note Export Settings::.
  11633 
  11634 ‘DESCRIPTION’
  11635      This is the document’s description, which the HTML exporter inserts
  11636      it as a HTML meta tag in the HTML file.  For long descriptions, use
  11637      multiple ‘DESCRIPTION’ lines.  The exporter takes care of wrapping
  11638      the lines properly.
  11639 
  11640      The exporter includes a number of other meta tags, which can be
  11641      customized by modifying ‘org-html-meta-tags’.
  11642 
  11643 ‘HTML_DOCTYPE’
  11644      Specify the document type, for example: HTML5 (‘org-html-doctype’).
  11645 
  11646 ‘HTML_CONTAINER’
  11647      Specify the HTML container, such as ‘div’, for wrapping sections
  11648      and elements (‘org-html-container-element’).
  11649 
  11650 ‘HTML_LINK_HOME’
  11651      The URL for home link (‘org-html-link-home’).
  11652 
  11653 ‘HTML_LINK_UP’
  11654      The URL for the up link of exported HTML pages
  11655      (‘org-html-link-up’).
  11656 
  11657 ‘HTML_MATHJAX’
  11658      Options for MathJax (‘org-html-mathjax-options’).  MathJax is used
  11659      to typeset LaTeX math in HTML documents.  See *note Math formatting
  11660      in HTML export::, for an example.
  11661 
  11662 ‘HTML_HEAD’
  11663      Arbitrary lines for appending to the HTML document’s head
  11664      (‘org-html-head’).
  11665 
  11666 ‘HTML_HEAD_EXTRA’
  11667      More arbitrary lines for appending to the HTML document’s head
  11668      (‘org-html-head-extra’).
  11669 
  11670 ‘KEYWORDS’
  11671      Keywords to describe the document’s content.  HTML exporter inserts
  11672      these keywords as HTML meta tags.  For long keywords, use multiple
  11673      ‘KEYWORDS’ lines.
  11674 
  11675 ‘LATEX_HEADER’
  11676      Arbitrary lines for appending to the preamble; HTML exporter
  11677      appends when transcoding LaTeX fragments to images (see *note Math
  11678      formatting in HTML export::).
  11679 
  11680 ‘SUBTITLE’
  11681      The document’s subtitle.  HTML exporter formats subtitle if
  11682      document type is ‘HTML5’ and the CSS has a ‘subtitle’ class.
  11683 
  11684    Some of these keywords are explained in more detail in the following
  11685 sections of the manual.
  11686 
  11687 
  11688 File: org.info,  Node: HTML doctypes,  Next: HTML preamble and postamble,  Prev: HTML specific export settings,  Up: HTML Export
  11689 
  11690 13.9.3 HTML doctypes
  11691 --------------------
  11692 
  11693 Org can export to various (X)HTML flavors.
  11694 
  11695    Set the ‘org-html-doctype’ variable for different (X)HTML variants.
  11696 Depending on the variant, the HTML exporter adjusts the syntax of HTML
  11697 conversion accordingly.  Org includes the following ready-made variants:
  11698 
  11699    • ‘"html4-strict"’
  11700    • ‘"html4-transitional"’
  11701    • ‘"html4-frameset"’
  11702    • ‘"xhtml-strict"’
  11703    • ‘"xhtml-transitional"’
  11704    • ‘"xhtml-frameset"’
  11705    • ‘"xhtml-11"’
  11706    • ‘"html5"’
  11707    • ‘"xhtml5"’
  11708 
  11709 See the variable ‘org-html-doctype-alist’ for details.  The default is
  11710 ‘"xhtml-strict"’.
  11711 
  11712    Org’s HTML exporter does not by default enable new block elements
  11713 introduced with the HTML5 standard.  To enable them, set
  11714 ‘org-html-html5-fancy’ to non-‘nil’.  Or use an ‘OPTIONS’ line in the
  11715 file to set ‘html5-fancy’.
  11716 
  11717    HTML5 documents can have arbitrary ‘#+BEGIN’ ... ‘#+END’ blocks.  For
  11718 example:
  11719 
  11720      #+BEGIN_aside
  11721        Lorem ipsum
  11722      #+END_aside
  11723 
  11724 exports to:
  11725 
  11726      <aside>
  11727        <p>Lorem ipsum</p>
  11728      </aside>
  11729 
  11730 while this:
  11731 
  11732      #+ATTR_HTML: :controls controls :width 350
  11733      #+BEGIN_video
  11734      #+HTML: <source src="movie.mp4" type="video/mp4">
  11735      #+HTML: <source src="movie.ogg" type="video/ogg">
  11736      Your browser does not support the video tag.
  11737      #+END_video
  11738 
  11739 exports to:
  11740 
  11741      <video controls="controls" width="350">
  11742        <source src="movie.mp4" type="video/mp4">
  11743        <source src="movie.ogg" type="video/ogg">
  11744        <p>Your browser does not support the video tag.</p>
  11745      </video>
  11746 
  11747    When special blocks do not have a corresponding HTML5 element, the
  11748 HTML exporter reverts to standard translation (see
  11749 ‘org-html-html5-elements’).  For example, ‘#+BEGIN_lederhosen’ exports
  11750 to ‘<div class="lederhosen">’.
  11751 
  11752    Special blocks cannot have headlines.  For the HTML exporter to wrap
  11753 the headline and its contents in ‘<section>’ or ‘<article>’ tags, set
  11754 the ‘HTML_CONTAINER’ property for the headline.
  11755 
  11756 
  11757 File: org.info,  Node: HTML preamble and postamble,  Next: Bare HTML,  Prev: HTML doctypes,  Up: HTML Export
  11758 
  11759 13.9.4 HTML preamble and postamble
  11760 ----------------------------------
  11761 
  11762 The HTML exporter has delineations for preamble and postamble.  The
  11763 default value for ‘org-html-preamble’ is ‘t’, which makes the HTML
  11764 exporter insert the preamble.  See the variable
  11765 ‘org-html-preamble-format’ for the format string.
  11766 
  11767    Set ‘org-html-preamble’ to a string to override the default format
  11768 string.  If set to a function, the HTML exporter expects the function to
  11769 return a string upon execution.  The HTML exporter inserts this string
  11770 in the preamble.  The HTML exporter does not insert a preamble if
  11771 ‘org-html-preamble’ is set ‘nil’.
  11772 
  11773    The above also applies to ‘org-html-postamble’ and
  11774 ‘org-html-postamble-format’.  In addition, ‘org-html-postamble’ can be
  11775 set to ‘auto’ (its default value), which makes the HTML exporter build a
  11776 postamble from looking up author’s name, email address, creator’s name,
  11777 and date.
  11778 
  11779 
  11780 File: org.info,  Node: Bare HTML,  Next: Quoting HTML tags,  Prev: HTML preamble and postamble,  Up: HTML Export
  11781 
  11782 13.9.5 Exporting to minimal HTML
  11783 --------------------------------
  11784 
  11785 If you want to output a minimal HTML file, with no CSS, no Javascript,
  11786 no preamble or postamble, here are the variable you would need to set:
  11787 
  11788      (setq org-html-head ""
  11789            org-html-head-extra ""
  11790            org-html-head-include-default-style nil
  11791            org-html-head-include-scripts nil
  11792            org-html-preamble nil
  11793            org-html-postamble nil
  11794            org-html-use-infojs nil)
  11795 
  11796 
  11797 File: org.info,  Node: Quoting HTML tags,  Next: Headlines in HTML export,  Prev: Bare HTML,  Up: HTML Export
  11798 
  11799 13.9.6 Quoting HTML tags
  11800 ------------------------
  11801 
  11802 The HTML export backend transforms ‘<’ and ‘>’ to ‘&lt;’ and ‘&gt;’.  To
  11803 include raw HTML code in the Org file so the HTML export backend can
  11804 insert that HTML code in the output, use this inline syntax:
  11805 ‘@@html:...@@’.  For example:
  11806 
  11807      @@html:<b>@@bold text@@html:</b>@@
  11808 
  11809    For larger raw HTML code blocks, use these HTML export code blocks:
  11810 
  11811      #+HTML: Literal HTML code for export
  11812 
  11813      #+BEGIN_EXPORT html
  11814        All lines between these markers are exported literally
  11815      #+END_EXPORT
  11816 
  11817 
  11818 File: org.info,  Node: Headlines in HTML export,  Next: Links in HTML export,  Prev: Quoting HTML tags,  Up: HTML Export
  11819 
  11820 13.9.7 Headlines in HTML export
  11821 -------------------------------
  11822 
  11823 Headlines are exported to ‘<h1>’, ‘<h2>’, etc.  Each headline gets the
  11824 ‘id’ attribute from ‘CUSTOM_ID’ property, or a unique generated value,
  11825 see *note Internal Links::.
  11826 
  11827    When ‘org-html-self-link-headlines’ is set to a non-‘nil’ value, the
  11828 text of the headlines is also wrapped in ‘<a>’ tags.  These tags have a
  11829 ‘href’ attribute making the headlines link to themselves.
  11830 
  11831 
  11832 File: org.info,  Node: Links in HTML export,  Next: Tables in HTML export,  Prev: Headlines in HTML export,  Up: HTML Export
  11833 
  11834 13.9.8 Links in HTML export
  11835 ---------------------------
  11836 
  11837 The HTML export backend transforms Org’s internal links (see *note
  11838 Internal Links::) to equivalent HTML links in the output.  The backend
  11839 similarly handles Org’s automatic links created by radio targets (see
  11840 *note Radio Targets::) similarly.  For Org links to external files, the
  11841 backend transforms the links to _relative_ paths.
  11842 
  11843    For Org links to other ‘.org’ files, the backend automatically
  11844 changes the file extension to ‘.html’ and makes file paths relative.  If
  11845 the ‘.org’ files have an equivalent ‘.html’ version at the same
  11846 location, then the converted links should work without any further
  11847 manual intervention.  However, to disable this automatic path
  11848 translation, set ‘org-html-link-org-files-as-html’ to ‘nil’.  When
  11849 disabled, the HTML export backend substitutes the ID-based links in the
  11850 HTML output.  For more about linking files when publishing to a
  11851 directory, see *note Publishing links::.
  11852 
  11853    Org files can also have special directives to the HTML export
  11854 backend.  For example, by using ‘#+ATTR_HTML’ lines to specify new
  11855 format attributes to ‘<a>’ or ‘<img>’ tags.  This example shows changing
  11856 the link’s title and style:
  11857 
  11858      #+ATTR_HTML: :title The Org mode website :style color:red;
  11859      [[https://orgmode.org]]
  11860 
  11861 
  11862 File: org.info,  Node: Tables in HTML export,  Next: Images in HTML export,  Prev: Links in HTML export,  Up: HTML Export
  11863 
  11864 13.9.9 Tables in HTML export
  11865 ----------------------------
  11866 
  11867 The HTML export backend uses ‘org-html-table-default-attributes’ when
  11868 exporting Org tables to HTML.  By default, the exporter does not draw
  11869 frames and cell borders.  To change for this for a table, use the
  11870 following lines before the table in the Org file:
  11871 
  11872      #+CAPTION: This is a table with lines around and between cells
  11873      #+ATTR_HTML: :border 2 :rules all :frame border
  11874 
  11875    The HTML export backend preserves column groupings in Org tables (see
  11876 *note Column Groups::) when exporting to HTML.
  11877 
  11878    Additional options for customizing tables for HTML export.
  11879 
  11880 ‘org-html-table-align-individual-fields’
  11881      Non-‘nil’ attaches style attributes for alignment to each table
  11882      field.
  11883 
  11884 ‘org-html-table-caption-above’
  11885      Non-‘nil’ places caption string at the beginning of the table.
  11886 
  11887 ‘org-html-table-data-tags’
  11888      Opening and ending tags for table data fields.
  11889 
  11890 ‘org-html-table-default-attributes’
  11891      Default attributes and values for table tags.
  11892 
  11893 ‘org-html-table-header-tags’
  11894      Opening and ending tags for table’s header fields.
  11895 
  11896 ‘org-html-table-row-tags’
  11897      Opening and ending tags for table rows.
  11898 
  11899 ‘org-html-table-use-header-tags-for-first-column’
  11900      Non-‘nil’ formats column one in tables with header tags.
  11901 
  11902 
  11903 File: org.info,  Node: Images in HTML export,  Next: Math formatting in HTML export,  Prev: Tables in HTML export,  Up: HTML Export
  11904 
  11905 13.9.10 Images in HTML export
  11906 -----------------------------
  11907 
  11908 The HTML export backend has features to convert Org image links to HTML
  11909 inline images and HTML clickable image links.
  11910 
  11911    When the link in the Org file has no description, the HTML export
  11912 backend by default in-lines that image.  For example:
  11913 ‘[[file:myimg.jpg]]’ is in-lined, while ‘[[file:myimg.jpg][the image]]’
  11914 links to the text, ‘the image’.  For more details, see the variable
  11915 ‘org-html-inline-images’.
  11916 
  11917    On the other hand, if the description part of the Org link is itself
  11918 another link, such as ‘file:’ or ‘http:’ URL pointing to an image, the
  11919 HTML export backend in-lines this image and links to the main image.
  11920 This Org syntax enables the backend to link low-resolution thumbnail to
  11921 the high-resolution version of the image, as shown in this example:
  11922 
  11923      [[file:highres.jpg][file:thumb.jpg]]
  11924 
  11925    To change attributes of in-lined images, use ‘#+ATTR_HTML’ lines in
  11926 the Org file.  This example shows realignment to right, and adds ‘alt’
  11927 and ‘title’ attributes in support of text viewers and modern web
  11928 accessibility standards.
  11929 
  11930      #+CAPTION: A black cat stalking a spider
  11931      #+ATTR_HTML: :alt cat/spider image :title Action! :align right
  11932      [[./img/a.jpg]]
  11933 
  11934    The HTML export backend copies the ‘http’ links from the Org file
  11935 as-is.
  11936 
  11937 
  11938 File: org.info,  Node: Math formatting in HTML export,  Next: Text areas in HTML export,  Prev: Images in HTML export,  Up: HTML Export
  11939 
  11940 13.9.11 Math formatting in HTML export
  11941 --------------------------------------
  11942 
  11943 LaTeX math snippets (see *note LaTeX fragments::) can be displayed in
  11944 two different ways on HTML pages.  The default is to use the MathJax
  11945 (https://www.mathjax.org), which should work out of the box with
  11946 Org(1)(2).  Some MathJax display options can be configured via
  11947 ‘org-html-mathjax-options’, or in the buffer.  For example, with the
  11948 following settings,
  11949 
  11950      #+HTML_MATHJAX: align: left indent: 5em tagside: left
  11951 
  11952 equation labels are displayed on the left margin and equations are five
  11953 em from the left margin.
  11954 
  11955    See the docstring of ‘org-html-mathjax-options’ for all supported
  11956 variables.  The MathJax template can be configure via
  11957 ‘org-html-mathjax-template’.
  11958 
  11959    If you prefer, you can also request that LaTeX fragments are
  11960 processed into small images that will be inserted into the browser page.
  11961 Before the availability of MathJax, this was the default method for Org
  11962 files.  This method requires that the dvipng program, dvisvgm or
  11963 ImageMagick suite is available on your system.  You can still get this
  11964 processing with
  11965 
  11966      #+OPTIONS: tex:dvipng
  11967 
  11968      #+OPTIONS: tex:dvisvgm
  11969 
  11970 or
  11971 
  11972      #+OPTIONS: tex:imagemagick
  11973 
  11974    ---------- Footnotes ----------
  11975 
  11976    (1) By default, Org loads MathJax from jsDelivr
  11977 (https://www.jsdelivr.com/), as recommended in Getting Started with
  11978 MathJax Components (https://docs.mathjax.org/en/latest/web/start.html).
  11979 
  11980    (2) Please note that exported formulas are part of an HTML document,
  11981 and that signs such as ‘<’, ‘>’, or ‘&’ have special meanings.  See
  11982 MathJax TeX and LaTeX in HTML documents
  11983 (https://docs.mathjax.org/en/latest/input/tex/html.html#tex-and-latex-in-html-documents).
  11984 
  11985 
  11986 File: org.info,  Node: Text areas in HTML export,  Next: CSS support,  Prev: Math formatting in HTML export,  Up: HTML Export
  11987 
  11988 13.9.12 Text areas in HTML export
  11989 ---------------------------------
  11990 
  11991 Before Org mode’s Babel, one popular approach to publishing code in HTML
  11992 was by using ‘:textarea’.  The advantage of this approach was that
  11993 copying and pasting was built into browsers with simple JavaScript
  11994 commands.  Even editing before pasting was made simple.
  11995 
  11996    The HTML export backend can create such text areas.  It requires an
  11997 ‘#+ATTR_HTML’ line as shown in the example below with the ‘:textarea’
  11998 option.  This must be followed by either an example or a source code
  11999 block.  Other Org block types do not honor the ‘:textarea’ option.
  12000 
  12001    By default, the HTML export backend creates a text area 80 characters
  12002 wide and height just enough to fit the content.  Override these defaults
  12003 with ‘:width’ and ‘:height’ options on the ‘#+ATTR_HTML’ line.
  12004 
  12005      #+ATTR_HTML: :textarea t :width 40
  12006      #+BEGIN_EXAMPLE
  12007        (defun org-xor (a b)
  12008           "Exclusive or."
  12009           (if a (not b) b))
  12010      #+END_EXAMPLE
  12011 
  12012 
  12013 File: org.info,  Node: CSS support,  Next: JavaScript support,  Prev: Text areas in HTML export,  Up: HTML Export
  12014 
  12015 13.9.13 CSS support
  12016 -------------------
  12017 
  12018 You can modify the CSS style definitions for the exported file.  The
  12019 HTML exporter assigns the following special CSS classes(1) to
  12020 appropriate parts of the document—your style specifications may change
  12021 these, in addition to any of the standard classes like for headlines,
  12022 tables, etc.
  12023 
  12024 ‘p.author’             author information, including email
  12025 ‘p.date’               publishing date
  12026 ‘p.creator’            creator info, about org mode version
  12027 ‘.title’               document title
  12028 ‘.subtitle’            document subtitle
  12029 ‘.todo’                TODO keywords, all not-done states
  12030 ‘.done’                the DONE keywords, all states that count as done
  12031 ‘.WAITING’             each TODO keyword also uses a class named after itself
  12032 ‘.timestamp’           timestamp
  12033 ‘.timestamp-kwd’       keyword associated with a timestamp, like ‘SCHEDULED’
  12034 ‘.timestamp-wrapper’   span around keyword plus timestamp
  12035 ‘.tag’                 tag in a headline
  12036 ‘._HOME’               each tag uses itself as a class, “@” replaced by “_”
  12037 ‘.target’              target for links
  12038 ‘.linenr’              the line number in a code example
  12039 ‘.code-highlighted’    for highlighting referenced code lines
  12040 ‘div.outline-N’        div for outline level N (headline plus text)
  12041 ‘div.outline-text-N’   extra div for text at outline level N
  12042 ‘.section-number-N’    section number in headlines, different for each level
  12043 ‘.figure-number’       label like “Figure 1:”
  12044 ‘.table-number’        label like “Table 1:”
  12045 ‘.listing-number’      label like “Listing 1:”
  12046 ‘div.figure’           how to format an in-lined image
  12047 ‘pre.src’              formatted source code
  12048 ‘pre.example’          normal example
  12049 ‘p.verse’              verse paragraph
  12050 ‘div.footnotes’        footnote section headline
  12051 ‘p.footnote’           footnote definition paragraph, containing a footnote
  12052 ‘.footref’             a footnote reference number (always a <sup>)
  12053 ‘.footnum’             footnote number in footnote definition (always <sup>)
  12054 ‘.org-svg’             default class for a linked ‘.svg’ image
  12055 
  12056    The HTML export backend includes a compact default style in each
  12057 exported HTML file.  To override the default style with another style,
  12058 use these keywords in the Org file.  They will replace the global
  12059 defaults the HTML exporter uses.
  12060 
  12061      #+HTML_HEAD: <link rel="stylesheet" type="text/css" href="style1.css" />
  12062      #+HTML_HEAD_EXTRA: <link rel="alternate stylesheet" type="text/css" href="style2.css" />
  12063 
  12064    To just turn off the default style, customize
  12065 ‘org-html-head-include-default-style’ variable, or use this option line
  12066 in the Org file.
  12067 
  12068      #+OPTIONS: html-style:nil
  12069 
  12070    For longer style definitions, either use several ‘HTML_HEAD’ and
  12071 ‘HTML_HEAD_EXTRA’ keywords, or use ‘<style> ... </style>’ blocks around
  12072 them.  Both of these approaches can avoid referring to an external file.
  12073 
  12074    In order to add styles to a subtree, use the ‘HTML_CONTAINER_CLASS’
  12075 property to assign a class to the tree.  In order to specify CSS styles
  12076 for a particular headline, you can use the ID specified in a ‘CUSTOM_ID’
  12077 property.  You can also assign a specific class to a headline with the
  12078 ‘HTML_HEADLINE_CLASS’ property.
  12079 
  12080    Never change the ‘org-html-style-default’ constant.  Instead use
  12081 other simpler ways of customizing as described above.
  12082 
  12083    ---------- Footnotes ----------
  12084 
  12085    (1) If the classes on TODO keywords and tags lead to conflicts, use
  12086 the variables ‘org-html-todo-kwd-class-prefix’ and
  12087 ‘org-html-tag-class-prefix’ to make them unique.
  12088 
  12089 
  12090 File: org.info,  Node: JavaScript support,  Prev: CSS support,  Up: HTML Export
  12091 
  12092 13.9.14 JavaScript supported display of web pages
  12093 -------------------------------------------------
  12094 
  12095 Sebastian Rose has written a JavaScript program especially designed to
  12096 allow two different ways of viewing HTML files created with Org.  One is
  12097 an _Info_-like mode where each section is displayed separately and
  12098 navigation can be done with the ‘n’ and ‘p’ keys, and some other keys as
  12099 well, press ‘?’ for an overview of the available keys.  The second one
  12100 has a _folding_ view, much like Org provides inside Emacs.  The script
  12101 is available at <https://orgmode.org/org-info.js> and the documentation
  12102 at <https://orgmode.org/worg/code/org-info-js/>.  The script is hosted
  12103 on <https://orgmode.org>, but for reliability, prefer installing it on
  12104 your own web server.
  12105 
  12106    To use this program, just add this line to the Org file:
  12107 
  12108      #+INFOJS_OPT: view:info toc:nil
  12109 
  12110 The HTML header now has the code needed to automatically invoke the
  12111 script.  For setting options, use the syntax from the above line for
  12112 options described below:
  12113 
  12114 ‘path:’
  12115      The path to the script.  The default is to grab the script from
  12116      <https://orgmode.org/org-info.js>, but you might want to have a
  12117      local copy and use a path like ‘../scripts/org-info.js’.
  12118 
  12119 ‘view:’
  12120      Initial view when the website is first shown.  Possible values are:
  12121 
  12122      ‘info’       Info-like interface with one section per page
  12123      ‘overview’   Folding interface, initially showing only top-level
  12124      ‘content’    Folding interface, starting with all headlines visible
  12125      ‘showall’    Folding interface, all headlines and text visible
  12126 
  12127 ‘sdepth:’
  12128      Maximum headline level still considered as an independent section
  12129      for info and folding modes.  The default is taken from
  12130      ‘org-export-headline-levels’, i.e., the ‘H’ switch in ‘OPTIONS’.
  12131      If this is smaller than in ‘org-export-headline-levels’, each
  12132      info/folding section can still contain child headlines.
  12133 
  12134 ‘toc:’
  12135      Should the table of contents _initially_ be visible?  Even when
  12136      ‘nil’, you can always get to the “toc” with ‘i’.
  12137 
  12138 ‘tdepth:’
  12139      The depth of the table of contents.  The defaults are taken from
  12140      the variables ‘org-export-headline-levels’ and
  12141      ‘org-export-with-toc’.
  12142 
  12143 ‘ftoc:’
  12144      Does the CSS of the page specify a fixed position for the “toc”?
  12145      If yes, the toc is displayed as a section.
  12146 
  12147 ‘ltoc:’
  12148      Should there be short contents (children) in each section?  Make
  12149      this ‘above’ if the section should be above initial text.
  12150 
  12151 ‘mouse:’
  12152      Headings are highlighted when the mouse is over them.  Should be
  12153      ‘underline’ (default) or a background color like ‘#cccccc’.
  12154 
  12155 ‘buttons:’
  12156      Should view-toggle buttons be everywhere?  When ‘nil’ (the
  12157      default), only one such button is present.
  12158 
  12159    You can choose default values for these options by customizing the
  12160 variable ‘org-infojs-options’.  If you always want to apply the script
  12161 to your pages, configure the variable ‘org-export-html-use-infojs’.
  12162 
  12163 
  12164 File: org.info,  Node: LaTeX Export,  Next: Markdown Export,  Prev: HTML Export,  Up: Exporting
  12165 
  12166 13.10 LaTeX Export
  12167 ==================
  12168 
  12169 The LaTeX export backend can handle complex documents, incorporate
  12170 standard or custom LaTeX document classes, generate documents using
  12171 alternate LaTeX engines, and produce fully linked PDF files with
  12172 indexes, bibliographies, and tables of contents, destined for
  12173 interactive online viewing or high-quality print publication.
  12174 
  12175    While the details are covered in-depth in this section, here are some
  12176 quick references to variables for the impatient: for engines, see
  12177 ‘org-latex-compiler’; for build sequences, see ‘org-latex-pdf-process’;
  12178 for packages, see ‘org-latex-default-packages-alist’ and
  12179 ‘org-latex-packages-alist’.
  12180 
  12181    An important note about the LaTeX export backend: it is sensitive to
  12182 blank lines in the Org document.  That’s because LaTeX itself depends on
  12183 blank lines to tell apart syntactical elements, such as paragraphs.
  12184 
  12185    The following sections expect users to be familiar with common LaTeX
  12186 terminology.  You may refer to <https://tug.org/begin.html> to get
  12187 familiar with LaTeX basics.  Users with LaTeX installed may also run
  12188 ‘texdoc latex’ from terminal to open LaTeX introduction (1)
  12189 
  12190 * Menu:
  12191 
  12192 * LaTeX/PDF export commands:: For producing LaTeX and PDF documents.
  12193 * LaTeX specific export settings:: Unique to this LaTeX backend.
  12194 * LaTeX header and sectioning:: Setting up the export file structure.
  12195 * Quoting LaTeX code::        Incorporating literal LaTeX code.
  12196 * Tables in LaTeX export::    Options for exporting tables to LaTeX.
  12197 * Images in LaTeX export::    How to insert figures into LaTeX output.
  12198 * Plain lists in LaTeX export:: Attributes specific to lists.
  12199 * Source blocks in LaTeX export:: Attributes specific to source code blocks.
  12200 * Example blocks in LaTeX export:: Attributes specific to example blocks.
  12201 * Special blocks in LaTeX export:: Attributes specific to special blocks.
  12202 * Horizontal rules in LaTeX export:: Attributes specific to horizontal rules.
  12203 * Verse blocks in LaTeX export:: Attributes specific to special blocks.
  12204 * Quote blocks in LaTeX export:: Attributes specific to quote blocks.
  12205 
  12206    ---------- Footnotes ----------
  12207 
  12208    (1) The command will open a PDF file, which is also available for
  12209 download from
  12210 <http://mirrors.ctan.org/info/latex-doc-ptr/latex-doc-ptr.pdf>
  12211 
  12212 
  12213 File: org.info,  Node: LaTeX/PDF export commands,  Next: LaTeX specific export settings,  Up: LaTeX Export
  12214 
  12215 13.10.1 LaTeX/PDF export commands
  12216 ---------------------------------
  12217 
  12218 ‘C-c C-e l l’ (‘org-latex-export-to-latex’)
  12219      Export to a LaTeX file with a ‘.tex’ extension.  For ‘myfile.org’,
  12220      Org exports to ‘myfile.tex’, overwriting without warning.
  12221 
  12222 ‘C-c C-e l L’ (‘org-latex-export-as-latex’)
  12223      Export to a temporary buffer.  Do not create a file.
  12224 
  12225 ‘C-c C-e l p’ (‘org-latex-export-to-pdf’)
  12226      Export as LaTeX file and convert it to PDF file.
  12227 
  12228 ‘C-c C-e l o’
  12229      Export as LaTeX file and convert it to PDF, then open the PDF using
  12230      the default viewer.
  12231 
  12232 ‘M-x org-export-region-as-latex’
  12233      Convert the region to LaTeX under the assumption that it was in Org
  12234      mode syntax before.  This is a global command that can be invoked
  12235      in any buffer.
  12236 
  12237    The LaTeX export backend can use any of these LaTeX engines:
  12238 ‘pdflatex’, ‘xelatex’, and ‘lualatex’.  These engines compile LaTeX
  12239 files with different compilers, packages, and output options.  The LaTeX
  12240 export backend finds the compiler version to use from
  12241 ‘org-latex-compiler’ variable or the ‘#+LATEX_COMPILER’ keyword in the
  12242 Org file.  See the docstring for the ‘org-latex-default-packages-alist’
  12243 for loading packages with certain compilers.  Also see
  12244 ‘org-latex-bibtex-compiler’ to set the bibliography compiler(1).
  12245 
  12246    ---------- Footnotes ----------
  12247 
  12248    (1) This does not allow setting different bibliography compilers for
  12249 different files.  However, “smart” LaTeX compilation systems, such as
  12250 latexmk, can select the correct bibliography compiler.
  12251 
  12252 
  12253 File: org.info,  Node: LaTeX specific export settings,  Next: LaTeX header and sectioning,  Prev: LaTeX/PDF export commands,  Up: LaTeX Export
  12254 
  12255 13.10.2 LaTeX specific export settings
  12256 --------------------------------------
  12257 
  12258 The LaTeX export backend has several additional keywords for customizing
  12259 LaTeX output.  Setting these keywords works similar to the general
  12260 options (see *note Export Settings::).
  12261 
  12262 ‘DESCRIPTION’
  12263      The document’s description.  The description along with author
  12264      name, keywords, and related file metadata are inserted in the
  12265      output file by the hyperref package.  See
  12266      ‘org-latex-hyperref-template’ for customizing metadata items.  See
  12267      ‘org-latex-title-command’ for typesetting description into the
  12268      document’s front matter.  Use multiple ‘DESCRIPTION’ keywords for
  12269      long descriptions.
  12270 
  12271 ‘LANGUAGE’
  12272 
  12273      Language code of the primary document language.  When ‘LANGUAGE’
  12274      keyword is not not specified use the value of
  12275      ‘org-export-default-language’ (by default - ‘en’, American English)
  12276 
  12277      The list of language codes supported by Org is stored in the
  12278      variable ‘org-latex-language-alist’.
  12279 
  12280      In order to be effective, the ‘babel’ or ‘polyglossia’
  12281      packages—according to the LaTeX compiler used—must be loaded with
  12282      the appropriate language as argument.  This can be accomplished by
  12283      modifying the ‘org-latex-packages-alist’ variable, e.g., with the
  12284      following snippet (note that ‘polyglossia’ does not work with
  12285      pdfLaTeX):
  12286 
  12287           (add-to-list 'org-latex-packages-alist
  12288                        '("AUTO" "babel" t ("pdflatex" "xelatex" "lualatex")))
  12289           (add-to-list 'org-latex-packages-alist
  12290                        '("AUTO" "polyglossia" t ("xelatex" "lualatex")))
  12291 
  12292 ‘LATEX_CLASS’
  12293      This is LaTeX document class, such as _article_, _report_, _book_,
  12294      and so on, which contain predefined preamble and headline level
  12295      mapping that the LaTeX export backend needs.  The backend reads the
  12296      default class name from the ‘org-latex-default-class’ variable.
  12297      Org has _article_ as the default class.  A valid default class must
  12298      be an element of ‘org-latex-classes’.
  12299 
  12300 ‘LATEX_CLASS_OPTIONS’
  12301      Options the LaTeX export backend uses when calling the LaTeX
  12302      document class.
  12303 
  12304 ‘LATEX_COMPILER’
  12305      The compiler, such as ‘pdflatex’, ‘xelatex’, ‘lualatex’, for
  12306      producing the PDF.  See ‘org-latex-compiler’.
  12307 
  12308 ‘LATEX_HEADER’
  12309 ‘LATEX_HEADER_EXTRA’
  12310      Arbitrary lines to add to the document’s preamble, before the
  12311      hyperref settings.  See ‘org-latex-classes’ for adjusting the
  12312      structure and order of the LaTeX headers.
  12313 
  12314 ‘KEYWORDS’
  12315      The keywords for the document.  The description along with author
  12316      name, keywords, and related file metadata are inserted in the
  12317      output file by the hyperref package.  See
  12318      ‘org-latex-hyperref-template’ for customizing metadata items.  See
  12319      ‘org-latex-title-command’ for typesetting description into the
  12320      document’s front matter.  Use multiple ‘KEYWORDS’ lines if
  12321      necessary.
  12322 
  12323 ‘SUBTITLE’
  12324      The document’s subtitle.  It is typeset as per
  12325      ‘org-latex-subtitle-format’.  If ‘org-latex-subtitle-separate’ is
  12326      non-‘nil’, it is typed outside of the ‘\title’ macro.  See
  12327      ‘org-latex-hyperref-template’ for customizing metadata items.  See
  12328      ‘org-latex-title-command’ for typesetting description into the
  12329      document’s front matter.
  12330 
  12331    The following sections have further details.
  12332 
  12333 
  12334 File: org.info,  Node: LaTeX header and sectioning,  Next: Quoting LaTeX code,  Prev: LaTeX specific export settings,  Up: LaTeX Export
  12335 
  12336 13.10.3 LaTeX header and sectioning structure
  12337 ---------------------------------------------
  12338 
  12339 The LaTeX export backend converts the first three of Org’s outline
  12340 levels into LaTeX headlines.  The remaining Org levels are exported as
  12341 lists.  To change this globally for the cut-off point between levels and
  12342 lists, (see *note Export Settings::).
  12343 
  12344    By default, the LaTeX export backend uses the _article_ class.
  12345 
  12346    To change the default class globally, edit ‘org-latex-default-class’.
  12347 To change the default class locally in an Org file, add option lines
  12348 ‘#+LATEX_CLASS: myclass’.  To change the default class for just a part
  12349 of the Org file, set a subtree property, ‘EXPORT_LATEX_CLASS’.  The
  12350 class name entered here must be valid member of ‘org-latex-classes’.
  12351 This variable defines a header template for each class into which the
  12352 exporter splices the values of ‘org-latex-default-packages-alist’ and
  12353 ‘org-latex-packages-alist’.  Use the same three variables to define
  12354 custom sectioning or custom classes.
  12355 
  12356    The LaTeX export backend sends the ‘LATEX_CLASS_OPTIONS’ keyword and
  12357 ‘EXPORT_LATEX_CLASS_OPTIONS’ property as options to the LaTeX
  12358 ‘\documentclass’ macro.  The options and the syntax for specifying them,
  12359 including enclosing them in square brackets, follow LaTeX conventions.
  12360 
  12361      #+LATEX_CLASS_OPTIONS: [a4paper,11pt,twoside,twocolumn]
  12362 
  12363    The LaTeX export backend appends values from ‘LATEX_HEADER’ and
  12364 ‘LATEX_HEADER_EXTRA’ keywords to the LaTeX header.  The docstring for
  12365 ‘org-latex-classes’ explains in more detail.  Also note that LaTeX
  12366 export backend does not append ‘LATEX_HEADER_EXTRA’ to the header when
  12367 previewing LaTeX snippets (see *note Previewing LaTeX fragments::).
  12368 
  12369    A sample Org file with the above headers:
  12370 
  12371      #+LATEX_CLASS: article
  12372      #+LATEX_CLASS_OPTIONS: [a4paper]
  12373      #+LATEX_HEADER: \usepackage{xyz}
  12374 
  12375      * Headline 1
  12376        some text
  12377      * Headline 2
  12378        some more text
  12379 
  12380    LaTeX packages ‘babel’ or ‘polyglossia’ can also be loaded in a
  12381 document.  The “AUTO” string will be replaced in both cases by the
  12382 appropriate value for the ‘LANGUAGE’ keyword, if present in the
  12383 document, or by the value of ‘org-export-default-language’.  Let’s see
  12384 some examples in one or another case.
  12385 
  12386    ‘Babel’ accepts the classic syntax and (in addition) the new syntax
  12387 with the ‘\babelprovide’ command to load the languages using the new
  12388 ‘INI’ files procedure.  Keep in mind that there are a number of
  12389 languages that are only served in babel using ‘INI’ files, so they
  12390 cannot be declared using the classic syntax, but only using the
  12391 ‘\babelprovide’ command (see
  12392 <https://mirrors.ctan.org/macros/latex/required/babel/base/babel.pdf>).
  12393 Valid usage examples could be:
  12394 
  12395      #+LATEX_HEADER: \usepackage[french,italian,AUTO]{babel}
  12396 
  12397    where “AUTO” is the main language.  But it can also be loaded using
  12398 the ‘\babelprovide’ command:
  12399 
  12400      #+LATEX_HEADER: \usepackage[french,italian]{babel}
  12401      #+LATEX_HEADER: \babelprovide[import, main]{AUTO}
  12402 
  12403    ‘Polyglossia’, for this procedure to be effective, must be loaded
  12404 using the same ‘babel’ classic syntax (but note that _this is not_ the
  12405 actual polyglossia syntax).  For example, suppose a document declares
  12406 Polytonic Greek as the primary language, and French as the secondary
  12407 language.  In this case, it would be expressed as:
  12408 
  12409      #+LANGUAGE: el-polyton
  12410      #+LATEX_HEADER: \usepackage[french,AUTO]{polyglossia}
  12411 
  12412    This would produce in LaTeX (with the actual ‘polyglossia’ syntax):
  12413 
  12414      \usepackage{polyglossia}
  12415      \setmainlanguage[variant=polytonic]{greek}
  12416      \setotherlanguage{french}
  12417 
  12418 
  12419 File: org.info,  Node: Quoting LaTeX code,  Next: Tables in LaTeX export,  Prev: LaTeX header and sectioning,  Up: LaTeX Export
  12420 
  12421 13.10.4 Quoting LaTeX code
  12422 --------------------------
  12423 
  12424 When the available LaTeX export customizations are not sufficient to
  12425 fine-tune the desired output, it is possible to insert any arbitrary
  12426 LaTeX code (see *note Embedded LaTeX::).  There are three ways to embed
  12427 such code in the Org file and they all use different quoting syntax.
  12428 
  12429    Inserting in-line quoted with @ symbols:
  12430 
  12431      Code embedded in-line @@latex:any arbitrary LaTeX code@@ in a paragraph.
  12432 
  12433    Inserting as one or more keyword lines in the Org file:
  12434 
  12435      #+LATEX: any arbitrary LaTeX code
  12436 
  12437    Inserting as an export block in the Org file, where the backend
  12438 exports any code between begin and end markers:
  12439 
  12440      #+BEGIN_EXPORT latex
  12441        any arbitrary LaTeX code
  12442      #+END_EXPORT
  12443 
  12444 
  12445 File: org.info,  Node: Tables in LaTeX export,  Next: Images in LaTeX export,  Prev: Quoting LaTeX code,  Up: LaTeX Export
  12446 
  12447 13.10.5 Tables in LaTeX export
  12448 ------------------------------
  12449 
  12450 The LaTeX export backend can pass several LaTeX attributes for table
  12451 contents and layout.  Besides specifying a label (see *note Internal
  12452 Links::) and a caption (see *note Captions::), the other valid LaTeX
  12453 attributes include:
  12454 
  12455 ‘:mode’
  12456      The LaTeX export backend wraps the table differently depending on
  12457      the mode for accurate rendering of math symbols.  Mode is either
  12458      ‘table’, ‘math’, ‘inline-math’, ‘verbatim’ or ‘tabbing’.
  12459 
  12460      For ‘math’ or ‘inline-math’ mode, LaTeX export backend wraps the
  12461      table in a math environment, but every cell in it is exported
  12462      as-is.  For ‘tabbing’ the LaTeX tabbing environment is used and the
  12463      correct tabbing delimiters ‘\>’ are used.  The LaTeX export backend
  12464      determines the default mode from ‘org-latex-default-table-mode’.
  12465      The LaTeX export backend merges contiguous tables in the same mode
  12466      into a single environment.
  12467 
  12468 ‘:environment’
  12469      Set the default LaTeX table environment for the LaTeX export
  12470      backend to use when exporting Org tables.  Common LaTeX table
  12471      environments are provided by these packages: tabularx, longtable,
  12472      array, tabu, and bmatrix.  For packages, such as tabularx and tabu,
  12473      or any newer replacements, include them in the
  12474      ‘org-latex-packages-alist’ variable so the LaTeX export backend can
  12475      insert the appropriate load package headers in the converted LaTeX
  12476      file.  Look in the docstring for the ‘org-latex-packages-alist’
  12477      variable for configuring these packages for LaTeX snippet previews,
  12478      if any.
  12479 
  12480 ‘:caption’
  12481      Use ‘CAPTION’ keyword to set a simple caption for a table (see
  12482      *note Captions::).  For custom captions, use ‘:caption’ attribute,
  12483      which accepts raw LaTeX code.  ‘:caption’ value overrides ‘CAPTION’
  12484      value.
  12485 
  12486 ‘:float’
  12487 ‘:placement’
  12488      The table environments by default are not floats in LaTeX.  To make
  12489      them floating objects use ‘:float’ with one of the following
  12490      options: ‘t’ (for a default ‘table’ environment), ‘sideways’ (for a
  12491      ‘sidewaystable’ environment), ‘multicolumn’ (to span the table
  12492      across multiple columns of a page in a ‘table*’ environment) and
  12493      ‘nil’.  In addition to these three values, ‘:float’ can pass
  12494      through any arbitrary value, for example a user-defined float type
  12495      with the ‘float’ LaTeX package.
  12496 
  12497      LaTeX floats can also have additional layout ‘:placement’
  12498      attributes.  These are the usual ‘[h t b p ! H]’ permissions
  12499      specified in square brackets.  Note that for ‘:float sideways’
  12500      tables, the LaTeX export backend ignores ‘:placement’ attributes.
  12501 
  12502 ‘:align’
  12503 ‘:font’
  12504 ‘:width’
  12505      The LaTeX export backend uses these attributes for regular tables
  12506      to set their alignments, fonts, and widths.
  12507 
  12508 ‘:options’
  12509      The ‘:options’ attribute allows adding an optional argument with a
  12510      list of various table options (between brackets in LaTeX export),
  12511      since certain tabular environments, such as longtblr of the
  12512      tabularray LaTeX package, provides this structure.  For example:
  12513      ‘:options remark{Note}={note},remark{Source}={source}’.
  12514 
  12515 ‘:spread’
  12516      When ‘:spread’ is non-‘nil’, the LaTeX export backend spreads or
  12517      shrinks the table by the ‘:width’ for tabu and longtabu
  12518      environments.  ‘:spread’ has no effect if ‘:width’ is not set.
  12519 
  12520 ‘:booktabs’
  12521 ‘:center’
  12522 ‘:rmlines’
  12523      All three commands are toggles.  ‘:booktabs’ brings in modern
  12524      typesetting enhancements to regular tables.  The booktabs package
  12525      has to be loaded through ‘org-latex-packages-alist’.  ‘:center’ is
  12526      for centering the table.  ‘:rmlines’ removes all but the very first
  12527      horizontal line made of ASCII characters from “table.el” tables
  12528      only.
  12529 
  12530 ‘:math-prefix’
  12531 ‘:math-suffix’
  12532 ‘:math-arguments’
  12533      The LaTeX export backend inserts ‘:math-prefix’ string value in a
  12534      math environment before the table.  The LaTeX export backend
  12535      inserts ‘:math-suffix’ string value in a math environment after the
  12536      table.  The LaTeX export backend inserts ‘:math-arguments’ string
  12537      value between the macro name and the table’s contents.
  12538      ‘:math-arguments’ comes in use for matrix macros that require more
  12539      than one argument, such as ‘qbordermatrix’.
  12540 
  12541    LaTeX table attributes help formatting tables for a wide range of
  12542 situations, such as matrix product or spanning multiple pages:
  12543 
  12544      #+ATTR_LATEX: :environment longtable :align l|lp{3cm}r|l
  12545      | ... | ... |
  12546      | ... | ... |
  12547 
  12548      #+ATTR_LATEX: :mode math :environment bmatrix :math-suffix \times
  12549      | a | b |
  12550      | c | d |
  12551      #+ATTR_LATEX: :mode math :environment bmatrix
  12552      | 1 | 2 |
  12553      | 3 | 4 |
  12554 
  12555    Set the caption with the LaTeX command
  12556 ‘\bicaption{HeadingA}{HeadingB}’:
  12557 
  12558      #+ATTR_LATEX: :caption \bicaption{HeadingA}{HeadingB}
  12559      | ... | ... |
  12560      | ... | ... |
  12561 
  12562 
  12563 File: org.info,  Node: Images in LaTeX export,  Next: Plain lists in LaTeX export,  Prev: Tables in LaTeX export,  Up: LaTeX Export
  12564 
  12565 13.10.6 Images in LaTeX export
  12566 ------------------------------
  12567 
  12568 The LaTeX export backend processes image links in Org files that do not
  12569 have descriptions, such as these links ‘[[file:img.jpg]]’ or
  12570 ‘[[./img.jpg]]’, as direct image insertions in the final PDF output.  In
  12571 the PDF, they are no longer links but actual images embedded on the
  12572 page.  The LaTeX export backend uses ‘\includegraphics’ macro to insert
  12573 the image.  But for TikZ (<https://sourceforge.net/projects/pgf/>)
  12574 images, the backend uses an ‘\input’ macro wrapped within a
  12575 ‘tikzpicture’ environment.
  12576 
  12577    For specifying image ‘:width’, ‘:height’, ‘:scale’ and other
  12578 ‘:options’, use this syntax:
  12579 
  12580      #+ATTR_LATEX: :width 5cm :options angle=90
  12581      [[./img/sed-hr4049.pdf]]
  12582 
  12583    A ‘:scale’ attribute overrides both ‘:width’ and ‘:height’
  12584 attributes.
  12585 
  12586    For custom commands for captions, use the ‘:caption’ attribute.  It
  12587 overrides the default ‘#+CAPTION’ value:
  12588 
  12589      #+ATTR_LATEX: :caption \bicaption{HeadingA}{HeadingB}
  12590      [[./img/sed-hr4049.pdf]]
  12591 
  12592    When captions follow the method as described in *note Captions::, the
  12593 LaTeX export backend wraps the picture in a floating ‘figure’
  12594 environment.  To float an image without specifying a caption, set the
  12595 ‘:float’ attribute to one of the following:
  12596 
  12597 ‘t’
  12598      For a default ‘figure’ environment.
  12599 
  12600 ‘multicolumn’
  12601      To span the image across multiple columns of a page; the backend
  12602      wraps the image in a ‘figure*’ environment.
  12603 
  12604 ‘wrap’
  12605      For text to flow around the image on the right; the figure occupies
  12606      the left half of the page.
  12607 
  12608 ‘sideways’
  12609      For a new page with the image sideways, rotated ninety degrees, in
  12610      a ‘sidewaysfigure’ environment; overrides ‘:placement’ setting.
  12611 
  12612 ‘nil’
  12613      To avoid a ‘:float’ even if using a caption.
  12614 
  12615 Any arbitrary value
  12616      For example, a user-defined float type with the ‘float’ LaTeX
  12617      package.
  12618 
  12619    Use the ‘placement’ attribute to modify a floating environment’s
  12620 placement.
  12621 
  12622      #+ATTR_LATEX: :float wrap :width 0.38\textwidth :placement {r}{0.4\textwidth}
  12623      [[./img/hst.png]]
  12624 
  12625    The LaTeX export backend centers all images by default.  Setting
  12626 ‘:center’ to ‘nil’ disables centering.  To disable centering globally,
  12627 set ‘org-latex-images-centered’ to ‘nil’.
  12628 
  12629    Set the ‘:comment-include’ attribute to non-‘nil’ value for the LaTeX
  12630 export backend to comment out the ‘\includegraphics’ macro.
  12631 
  12632 
  12633 File: org.info,  Node: Plain lists in LaTeX export,  Next: Source blocks in LaTeX export,  Prev: Images in LaTeX export,  Up: LaTeX Export
  12634 
  12635 13.10.7 Plain lists in LaTeX export
  12636 -----------------------------------
  12637 
  12638 The LaTeX export backend accepts the ‘environment’ and ‘options’
  12639 attributes for plain lists.  Both attributes work together for
  12640 customizing lists, as shown in the examples:
  12641 
  12642      #+LATEX_HEADER: \usepackage[inline]{enumitem}
  12643      Some ways to say "Hello":
  12644      #+ATTR_LATEX: :environment itemize*
  12645      #+ATTR_LATEX: :options [label={}, itemjoin={,}, itemjoin*={, and}]
  12646      - Hola
  12647      - Bonjour
  12648      - Guten Tag.
  12649 
  12650    Since LaTeX supports only four levels of nesting for lists, use an
  12651 external package, such as ‘enumitem’ in LaTeX, for levels deeper than
  12652 four:
  12653 
  12654      #+LATEX_HEADER: \usepackage{enumitem}
  12655      #+LATEX_HEADER: \renewlist{itemize}{itemize}{9}
  12656      #+LATEX_HEADER: \setlist[itemize]{label=$\circ$}
  12657      - One
  12658        - Two
  12659          - Three
  12660            - Four
  12661              - Five
  12662 
  12663 
  12664 File: org.info,  Node: Source blocks in LaTeX export,  Next: Example blocks in LaTeX export,  Prev: Plain lists in LaTeX export,  Up: LaTeX Export
  12665 
  12666 13.10.8 Source blocks in LaTeX export
  12667 -------------------------------------
  12668 
  12669 LaTeX export backend provides multiple ways to render src blocks in
  12670 LaTeX, according to the value of ‘org-latex-src-block-backend’.  The
  12671 default value ‘verbatim’ renders the src code verbatim, without any
  12672 extra styling.  Alternative values allow more colorful styling, but
  12673 require additional LaTeX (‘listings’, ‘minted’), system (‘minted’), or
  12674 Emacs (‘engraved’) packages.  See the ‘org-latex-src-block-backend’
  12675 docstring for more details.
  12676 
  12677    The LaTeX export backend can make source code blocks into floating
  12678 objects through the attributes ‘:float’ and ‘:options’.  For ‘:float’:
  12679 
  12680 ‘t’
  12681      Makes a source block float; by default floats any source block with
  12682      a caption.
  12683 
  12684 ‘multicolumn’
  12685      Spans the source block across multiple columns of a page.
  12686 
  12687 ‘nil’
  12688      Avoids a ‘:float’ even if using a caption; useful for source code
  12689      blocks that may not fit on a page.
  12690 
  12691      #+ATTR_LATEX: :float nil
  12692      #+BEGIN_SRC emacs-lisp
  12693        Lisp code that may not fit in a single page.
  12694      #+END_SRC
  12695 
  12696    The LaTeX export backend passes string values in ‘:options’ to LaTeX
  12697 packages for customization of that specific source block.  In the
  12698 example below, the ‘:options’ are set for Engraved or Minted.  Minted is
  12699 a source code highlighting LaTeX package with many configurable
  12700 options(1).  Both Minted and Engraved are built on fvextra
  12701 (https://www.ctan.org/pkg/fvextra), and so support many of the same
  12702 options.
  12703 
  12704      #+ATTR_LATEX: :options mathescape
  12705      #+BEGIN_SRC emacs-lisp
  12706        (defun Fib (n) ; $n_i = n_{i-2} + n_{i-1}$
  12707          (if (< n 2) n (+ (Fib (- n 1)) (Fib (- n 2)))))
  12708      #+END_SRC
  12709 
  12710    To apply similar configuration options for all source blocks in a
  12711 file, use the ‘org-latex-listings-options’,
  12712 ‘org-latex-engraved-options’, and ‘org-latex-minted-options’ variables.
  12713 
  12714    ---------- Footnotes ----------
  12715 
  12716    (1) Minted uses an external Python package for code highlighting,
  12717 which requires the flag ‘-shell-escape’ to be added to
  12718 ‘org-latex-pdf-process’.
  12719 
  12720 
  12721 File: org.info,  Node: Example blocks in LaTeX export,  Next: Special blocks in LaTeX export,  Prev: Source blocks in LaTeX export,  Up: LaTeX Export
  12722 
  12723 13.10.9 Example blocks in LaTeX export
  12724 --------------------------------------
  12725 
  12726 The LaTeX export backend wraps the contents of example blocks in a
  12727 ‘verbatim’ environment.  To change this behavior to use another
  12728 environment globally, specify an appropriate export filter (see *note
  12729 Advanced Export Configuration::).  To change this behavior to use
  12730 another environment for each block, use the ‘:environment’ parameter to
  12731 specify a custom environment.
  12732 
  12733      #+ATTR_LATEX: :environment myverbatim
  12734      #+BEGIN_EXAMPLE
  12735        This sentence is false.
  12736      #+END_EXAMPLE
  12737 
  12738 
  12739 File: org.info,  Node: Special blocks in LaTeX export,  Next: Horizontal rules in LaTeX export,  Prev: Example blocks in LaTeX export,  Up: LaTeX Export
  12740 
  12741 13.10.10 Special blocks in LaTeX export
  12742 ---------------------------------------
  12743 
  12744 For other special blocks in the Org file, the LaTeX export backend makes
  12745 a special environment of the same name.  The backend also takes
  12746 ‘:options’, if any, and appends as-is to that environment’s opening
  12747 string.  For example:
  12748 
  12749      #+BEGIN_abstract
  12750        We demonstrate how to solve the Syracuse problem.
  12751      #+END_abstract
  12752 
  12753      #+ATTR_LATEX: :options [Proof of important theorem]
  12754      #+BEGIN_proof
  12755        ...
  12756        Therefore, any even number greater than 2 is the sum of two primes.
  12757      #+END_proof
  12758 
  12759 exports to
  12760 
  12761      \begin{abstract}
  12762        We demonstrate how to solve the Syracuse problem.
  12763      \end{abstract}
  12764 
  12765      \begin{proof}[Proof of important theorem]
  12766        ...
  12767        Therefore, any even number greater than 2 is the sum of two primes.
  12768      \end{proof}
  12769 
  12770    If you need to insert a specific caption command, use ‘:caption’
  12771 attribute.  It overrides standard ‘CAPTION’ value, if any.  For example:
  12772 
  12773      #+ATTR_LATEX: :caption \MyCaption{HeadingA}
  12774      #+BEGIN_proof
  12775        ...
  12776      #+END_proof
  12777 
  12778 
  12779 File: org.info,  Node: Horizontal rules in LaTeX export,  Next: Verse blocks in LaTeX export,  Prev: Special blocks in LaTeX export,  Up: LaTeX Export
  12780 
  12781 13.10.11 Horizontal rules in LaTeX export
  12782 -----------------------------------------
  12783 
  12784 The LaTeX export backend converts horizontal rules by the specified
  12785 ‘:width’ and ‘:thickness’ attributes.  For example:
  12786 
  12787      #+ATTR_LATEX: :width .6\textwidth :thickness 0.8pt
  12788      -----
  12789 
  12790 
  12791 File: org.info,  Node: Verse blocks in LaTeX export,  Next: Quote blocks in LaTeX export,  Prev: Horizontal rules in LaTeX export,  Up: LaTeX Export
  12792 
  12793 13.10.12 Verse blocks in LaTeX export
  12794 -------------------------------------
  12795 
  12796 The LaTeX export backend accepts five attributes for verse blocks:
  12797 ‘:lines’, ‘:center’, ‘:versewidth’, ‘:latexcode’ and ‘:literal’.  The
  12798 three first require the external LaTeX package ‘verse.sty’, which is an
  12799 extension of the standard LaTeX environment.
  12800 
  12801 ‘:lines’
  12802      To add marginal verse numbering.  Its value is an integer, the
  12803      sequence in which the verses should be numbered.
  12804 ‘:center’
  12805      With value ‘t’ all the verses on the page are optically centered (a
  12806      typographic convention for poetry), taking as a reference the
  12807      longest verse, which must be indicated by the attribute
  12808      ‘:versewidth’.
  12809 ‘:versewidth’
  12810      Its value is a literal text string with the longest verse.
  12811 ‘:latexcode’
  12812      It accepts any arbitrary LaTeX code that can be included within a
  12813      LaTeX ‘verse’ environment.
  12814 ‘:literal’
  12815      With value t, all blank lines are preserved and exported as
  12816      ‘\vspace*{\baselineskip}’, including the blank lines before or
  12817      after contents.  Note that without the ‘:literal’ attribute, one or
  12818      more blank lines between stanzas are exported as a single blank
  12819      line, and any blank lines before or after the content are removed,
  12820      which is more consistent with the syntax of the LaTeX ‘verse’
  12821      environment, and the one provided by the ‘verse’ package.  If the
  12822      ‘verse’ package is loaded, the vertical spacing between all stanzas
  12823      can be controlled by the global length ‘\stanzaskip’ (see
  12824      <https://www.ctan.org/pkg/verse>).
  12825 
  12826    A complete example with Shakespeare’s first sonnet:
  12827 
  12828      #+ATTR_LATEX: :center t :latexcode \color{red} :lines 5
  12829      #+ATTR_LATEX: :versewidth Feed’st thy light’s flame with self-substantial fuel,
  12830      #+BEGIN_VERSE
  12831      From fairest creatures we desire increase,
  12832      That thereby beauty’s rose might never die,
  12833      But as the riper should by time decease
  12834      His tender heir might bear his memory
  12835      But thou, contracted to thine own bright eyes,
  12836      Feed’st thy light’s flame with self-substantial fuel,
  12837      Making a famine where abundance lies,
  12838      Thyself thy foe, to thy sweet self too cruel.
  12839      Thou that art now the world’s fresh ornament,
  12840      And only herald to the gaudy spring,
  12841      Within thine own bud buriest thy content,
  12842      And, tender churl, mak’st waste in niggardly.
  12843      Pity the world, or else this glutton be,
  12844      To eat the world’s due, by the grave and thee.
  12845      #+END_VERSE
  12846 
  12847 
  12848 File: org.info,  Node: Quote blocks in LaTeX export,  Prev: Verse blocks in LaTeX export,  Up: LaTeX Export
  12849 
  12850 13.10.13 Quote blocks in LaTeX export
  12851 -------------------------------------
  12852 
  12853 The LaTeX export backend accepts two attributes for quote blocks:
  12854 ‘:environment’, for an arbitrary quoting environment (the default value
  12855 is that of ‘org-latex-default-quote-environment’: ‘"quote"’) and
  12856 ‘:options’.  For example, to choose the environment ‘quotation’,
  12857 included as an alternative to ‘quote’ in standard LaTeX classes:
  12858 
  12859      #+ATTR_LATEX: :environment quotation
  12860      #+BEGIN_QUOTE
  12861      some text...
  12862      #+END_QUOTE
  12863 
  12864    To choose the ‘foreigndisplayquote’ environment, included in the
  12865 LaTeX package ‘csquotes’, with the ‘german’ option, use this syntax:
  12866 
  12867      #+LATEX_HEADER:\usepackage[autostyle=true]{csquotes}
  12868      #+ATTR_LATEX: :environment foreigndisplayquote :options {german}
  12869      #+BEGIN_QUOTE
  12870      some text in German...
  12871      #+END_QUOTE
  12872 
  12873 which is exported to LaTeX as
  12874 
  12875      \begin{foreigndisplayquote}{german}
  12876      some text in German...
  12877      \end{foreigndisplayquote}
  12878 
  12879 
  12880 File: org.info,  Node: Markdown Export,  Next: OpenDocument Text Export,  Prev: LaTeX Export,  Up: Exporting
  12881 
  12882 13.11 Markdown Export
  12883 =====================
  12884 
  12885 The Markdown export backend, “md”, converts an Org file to Markdown
  12886 format, as defined at <https://daringfireball.net/projects/markdown/>.
  12887 This is the original Markdown specification, developed by John Gruber
  12888 and Aaron Swartz.
  12889 
  12890    Since “md” backend is built on top of the HTML backend (see *note
  12891 HTML Export::), it converts every Org construct not defined in Markdown
  12892 syntax, such as tables, to HTML.
  12893 
  12894    Do note that the original markdown syntax has differences with other
  12895 commonly used Markdown flavors.  See
  12896 <https://en.wikipedia.org/wiki/Markdown> for more details.
  12897 
  12898 Markdown export commands
  12899 ------------------------
  12900 
  12901 ‘C-c C-e m m’ (‘org-md-export-to-markdown’)
  12902      Export to a text file with Markdown syntax.  For ‘myfile.org’, Org
  12903      exports to ‘myfile.md’, overwritten without warning.
  12904 
  12905 ‘C-c C-e m M’ (‘org-md-export-as-markdown’)
  12906      Export to a temporary buffer.  Does not create a file.
  12907 
  12908 ‘C-c C-e m o’
  12909      Export as a text file with Markdown syntax, then open it.
  12910 
  12911 Header and sectioning structure
  12912 -------------------------------
  12913 
  12914 Based on ‘org-md-headline-style’, Markdown export can generate headlines
  12915 of both _atx_ and _setext_ types.  _setext_ limits headline levels to
  12916 two whereas _atx_ limits headline levels to six.  _mixed_ exports
  12917 headline levels one and two in _setext_-style, and headline levels three
  12918 through six as _atx_-style headlines.  Beyond these limits, the export
  12919 backend converts headlines to lists.  To set a limit to a level before
  12920 the absolute limit (see *note Export Settings::).
  12921 
  12922 
  12923 File: org.info,  Node: OpenDocument Text Export,  Next: Org Export,  Prev: Markdown Export,  Up: Exporting
  12924 
  12925 13.12 OpenDocument Text Export
  12926 ==============================
  12927 
  12928 The ODT export backend handles creating of OpenDocument Text (ODT)
  12929 format.  Documents created by this exporter use the ‘OpenDocument-v1.2
  12930 specification’(1) and are compatible with LibreOffice 3.4.
  12931 
  12932 * Menu:
  12933 
  12934 * Pre-requisites for ODT export:: Required packages.
  12935 * ODT export commands::          Invoking export.
  12936 * ODT specific export settings:: Configuration options.
  12937 * Extending ODT export::         Producing DOC, PDF files.
  12938 * Applying custom styles::       Styling the output.
  12939 * Links in ODT export::          Handling and formatting links.
  12940 * Tables in ODT export::         Org tables conversions.
  12941 * Images in ODT export::         Inserting images.
  12942 * Math formatting in ODT export:: Formatting LaTeX fragments.
  12943 * Labels and captions in ODT export:: Rendering objects.
  12944 * Literal examples in ODT export:: For source code and example blocks.
  12945 * Advanced topics in ODT export:: For power users.
  12946 
  12947    ---------- Footnotes ----------
  12948 
  12949    (1) See Open Document Format for Office Applications (OpenDocument)
  12950 Version 1.2
  12951 (https://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2.html).
  12952 
  12953 
  12954 File: org.info,  Node: Pre-requisites for ODT export,  Next: ODT export commands,  Up: OpenDocument Text Export
  12955 
  12956 13.12.1 Pre-requisites for ODT export
  12957 -------------------------------------
  12958 
  12959 The ODT export backend relies on the zip program to create the final
  12960 compressed ODT output.  Check if ‘zip’ is locally available and
  12961 executable.  Without it, export cannot finish.
  12962 
  12963 
  12964 File: org.info,  Node: ODT export commands,  Next: ODT specific export settings,  Prev: Pre-requisites for ODT export,  Up: OpenDocument Text Export
  12965 
  12966 13.12.2 ODT export commands
  12967 ---------------------------
  12968 
  12969 ‘C-c C-e o o’ (‘org-odt-export-to-odt’)
  12970      Export as OpenDocument Text file.
  12971 
  12972      If ‘org-odt-preferred-output-format’ is specified, the ODT export
  12973      backend automatically converts the exported file to that format.
  12974 
  12975      For ‘myfile.org’, Org exports to ‘myfile.odt’, overwriting without
  12976      warning.  The ODT export backend exports a region only if a region
  12977      was active.
  12978 
  12979      If the selected region is a single tree, the ODT export backend
  12980      makes the tree head the document title.  Incidentally, ‘C-c @’
  12981      selects the current subtree.  If the tree head entry has, or
  12982      inherits, an ‘EXPORT_FILE_NAME’ property, the ODT export backend
  12983      uses that for file name.
  12984 
  12985 ‘C-c C-e o O’
  12986      Export as an OpenDocument Text file and open the resulting file.
  12987 
  12988      If ‘org-export-odt-preferred-output-format’ is specified, open the
  12989      converted file instead.  See *note Automatically exporting to other
  12990      formats::.
  12991 
  12992 
  12993 File: org.info,  Node: ODT specific export settings,  Next: Extending ODT export,  Prev: ODT export commands,  Up: OpenDocument Text Export
  12994 
  12995 13.12.3 ODT specific export settings
  12996 ------------------------------------
  12997 
  12998 The ODT export backend has several additional keywords for customizing
  12999 ODT output.  Setting these keywords works similar to the general options
  13000 (see *note Export Settings::).
  13001 
  13002 ‘DESCRIPTION’
  13003      This is the document’s description, which the ODT export backend
  13004      inserts as document metadata.  For long descriptions, use multiple
  13005      lines, prefixed with ‘DESCRIPTION’.
  13006 
  13007 ‘KEYWORDS’
  13008      The keywords for the document.  The ODT export backend inserts the
  13009      description along with author name, keywords, and related file
  13010      metadata as metadata in the output file.  Use multiple ‘KEYWORDS’
  13011      if necessary.
  13012 
  13013 ‘ODT_STYLES_FILE’
  13014      The ODT export backend uses the ‘org-odt-styles-file’ by default.
  13015      See *note Applying custom styles:: for details.
  13016 
  13017 ‘SUBTITLE’
  13018      The document subtitle.
  13019 
  13020 
  13021 File: org.info,  Node: Extending ODT export,  Next: Applying custom styles,  Prev: ODT specific export settings,  Up: OpenDocument Text Export
  13022 
  13023 13.12.4 Extending ODT export
  13024 ----------------------------
  13025 
  13026 The ODT export backend can produce documents in other formats besides
  13027 ODT using a specialized ODT converter process.  Its common interface
  13028 works with popular converters to produce formats such as ‘doc’, or
  13029 convert a document from one format, say ‘csv’, to another format, say
  13030 ‘xls’.
  13031 
  13032    Customize ‘org-odt-convert-process’ variable to point to ‘unoconv’,
  13033 which is the ODT’s preferred converter.  Working installations of
  13034 LibreOffice would already have ‘unoconv’ installed.  Alternatively,
  13035 other converters may be substituted here.  See *note Configuring a
  13036 document converter::.
  13037 
  13038 Automatically exporting to other formats
  13039 ........................................
  13040 
  13041 If ODT format is just an intermediate step to get to other formats, such
  13042 as ‘doc’, ‘docx’, ‘rtf’, or ‘pdf’, etc., then extend the ODT export
  13043 backend to directly produce that format.  Specify the final format in
  13044 the ‘org-odt-preferred-output-format’ variable.  This is one way to
  13045 extend (see *note ODT export commands::).
  13046 
  13047 Converting between document formats
  13048 ...................................
  13049 
  13050 The Org export backend is made to be inter-operable with a wide range of
  13051 text document format converters.  Newer generation converters, such as
  13052 LibreOffice and Pandoc, can handle hundreds of formats at once.  Org
  13053 provides a consistent interaction with whatever converter is installed.
  13054 Here are some generic commands:
  13055 
  13056 ‘M-x org-odt-convert’
  13057      Convert an existing document from one format to another.  With a
  13058      prefix argument, opens the newly produced file.
  13059 
  13060 
  13061 File: org.info,  Node: Applying custom styles,  Next: Links in ODT export,  Prev: Extending ODT export,  Up: OpenDocument Text Export
  13062 
  13063 13.12.5 Applying custom styles
  13064 ------------------------------
  13065 
  13066 The ODT export backend comes with many OpenDocument styles (see *note
  13067 Working with OpenDocument style files::).  To expand or further
  13068 customize these built-in style sheets, either edit the style sheets
  13069 directly or generate them using an application such as LibreOffice.  The
  13070 example here shows creating a style using LibreOffice.
  13071 
  13072 Applying custom styles: the easy way
  13073 ....................................
  13074 
  13075   1. Create a sample ‘example.org’ file with settings as shown below,
  13076      and export it to ODT format.
  13077 
  13078           #+OPTIONS: H:10 num:t
  13079 
  13080   2. Open the above ‘example.odt’ using LibreOffice.  Use the _Stylist_
  13081      to locate the target styles, which typically have the “Org” prefix.
  13082      Open one, modify, and save as either OpenDocument Text (ODT) or
  13083      OpenDocument Template (OTT) file.
  13084 
  13085   3. Customize the variable ‘org-odt-styles-file’ and point it to the
  13086      newly created file.  For additional configuration options, see
  13087      *note Overriding factory styles: x-overriding-factory-styles.
  13088 
  13089      To apply an ODT style to a particular file, use the
  13090      ‘ODT_STYLES_FILE’ keyword as shown in the example below:
  13091 
  13092           #+ODT_STYLES_FILE: "/path/to/example.ott"
  13093 
  13094      or
  13095 
  13096           #+ODT_STYLES_FILE: ("/path/to/file.ott" ("styles.xml" "image/hdr.png"))
  13097 
  13098 Using third-party styles and templates
  13099 ......................................
  13100 
  13101 The ODT export backend relies on many templates and style names.  Using
  13102 third-party styles and templates can lead to mismatches.  Templates
  13103 derived from built-in ODT templates and styles seem to have fewer
  13104 problems.
  13105 
  13106 
  13107 File: org.info,  Node: Links in ODT export,  Next: Tables in ODT export,  Prev: Applying custom styles,  Up: OpenDocument Text Export
  13108 
  13109 13.12.6 Links in ODT export
  13110 ---------------------------
  13111 
  13112 ODT exporter creates native cross-references for internal links.  It
  13113 creates Internet-style links for all other links.
  13114 
  13115    A link with no description and pointing to a regular, un-itemized,
  13116 outline heading is replaced with a cross-reference and section number of
  13117 the heading.
  13118 
  13119    A ‘\ref{label}’-style reference to an image, table etc., is replaced
  13120 with a cross-reference and sequence number of the labeled entity.  See
  13121 *note Labels and captions in ODT export::.
  13122 
  13123 
  13124 File: org.info,  Node: Tables in ODT export,  Next: Images in ODT export,  Prev: Links in ODT export,  Up: OpenDocument Text Export
  13125 
  13126 13.12.7 Tables in ODT export
  13127 ----------------------------
  13128 
  13129 The ODT export backend handles native Org mode tables (see *note
  13130 Tables::) and simple ‘table.el’ tables.  Complex ‘table.el’ tables
  13131 having column or row spans are not supported.  Such tables are stripped
  13132 from the exported document.
  13133 
  13134    By default, the ODT export backend exports a table with top and
  13135 bottom frames and with ruled lines separating row and column groups (see
  13136 *note Column Groups::).  All tables are typeset to occupy the same
  13137 width.  The ODT export backend honors any table alignments and relative
  13138 widths for columns (see *note Column Width and Alignment::).
  13139 
  13140    Note that the ODT export backend interprets column widths as weighted
  13141 ratios, the default weight being 1.
  13142 
  13143    Specifying ‘:rel-width’ property on an ‘ATTR_ODT’ line controls the
  13144 width of the table.  For example:
  13145 
  13146      #+ATTR_ODT: :rel-width 50
  13147      | Area/Month    |   Jan |   Feb |   Mar |   Sum |
  13148      |---------------+-------+-------+-------+-------|
  13149      | /             |     < |       |       |     < |
  13150      | <l13>         |  <r5> |  <r5> |  <r5> |  <r6> |
  13151      | North America |     1 |    21 |   926 |   948 |
  13152      | Middle East   |     6 |    75 |   844 |   925 |
  13153      | Asia Pacific  |     9 |    27 |   790 |   826 |
  13154      |---------------+-------+-------+-------+-------|
  13155      | Sum           |    16 |   123 |  2560 |  2699 |
  13156 
  13157    On export, the above table takes 50% of text width area.  The
  13158 exporter sizes the columns in the ratio: 13:5:5:5:6.  The first column
  13159 is left-aligned and rest of the columns, right-aligned.  Vertical rules
  13160 separate the header and the last column.  Horizontal rules separate the
  13161 header and the last row.
  13162 
  13163    For even more customization, create custom table styles and associate
  13164 them with a table using the ‘ATTR_ODT’ keyword.  See *note Customizing
  13165 tables in ODT export::.
  13166 
  13167 
  13168 File: org.info,  Node: Images in ODT export,  Next: Math formatting in ODT export,  Prev: Tables in ODT export,  Up: OpenDocument Text Export
  13169 
  13170 13.12.8 Images in ODT export
  13171 ----------------------------
  13172 
  13173 Embedding images
  13174 ................
  13175 
  13176 The ODT export backend processes image links in Org files that do not
  13177 have descriptions, such as these links ‘[[file:img.jpg]]’ or
  13178 ‘[[./img.jpg]]’, as direct image insertions in the final output.  Either
  13179 of these examples works:
  13180 
  13181      [[file:img.png]]
  13182 
  13183      [[./img.png]]
  13184 
  13185 Embedding clickable images
  13186 ..........................
  13187 
  13188 For clickable images, provide a link whose description is another link
  13189 to an image file.  For example, to embed an image ‘org-mode-unicorn.png’
  13190 which when clicked jumps to <https://orgmode.org> website, do the
  13191 following
  13192 
  13193      [[https://orgmode.org][./org-mode-unicorn.png]]
  13194 
  13195 Sizing and scaling of embedded images
  13196 .....................................
  13197 
  13198 Control the size and scale of the embedded images with the ‘ATTR_ODT’
  13199 attribute.
  13200 
  13201    The ODT export backend starts with establishing the size of the image
  13202 in the final document.  The dimensions of this size are measured in
  13203 centimeters.  The backend then queries the image file for its dimensions
  13204 measured in pixels.  For this measurement, the backend relies on
  13205 ImageMagick’s identify program or Emacs ‘create-image’ and ‘image-size’
  13206 API.  ImageMagick is the preferred choice for large file sizes or
  13207 frequent batch operations.  The backend then converts the pixel
  13208 dimensions using ‘org-odt-pixels-per-inch’ into the familiar 72 dpi or
  13209 96 dpi.  The default value for this is in ‘display-pixels-per-inch’,
  13210 which can be tweaked for better results based on the capabilities of the
  13211 output device.  Here are some common image scaling operations:
  13212 
  13213 Explicitly size the image
  13214      To embed ‘img.png’ as a 10 cm x 10 cm image, do the following:
  13215 
  13216           #+ATTR_ODT: :width 10 :height 10
  13217           [[./img.png]]
  13218 
  13219 Scale the image
  13220      To embed ‘img.png’ at half its size, do the following:
  13221 
  13222           #+ATTR_ODT: :scale 0.5
  13223           [[./img.png]]
  13224 
  13225 Scale the image to a specific width
  13226      To embed ‘img.png’ with a width of 10 cm while retaining the
  13227      original height:width ratio, do the following:
  13228 
  13229           #+ATTR_ODT: :width 10
  13230           [[./img.png]]
  13231 
  13232 Scale the image to a specific height
  13233      To embed ‘img.png’ with a height of 10 cm while retaining the
  13234      original height:width ratio, do the following:
  13235 
  13236           #+ATTR_ODT: :height 10
  13237           [[./img.png]]
  13238 
  13239 Anchoring of images
  13240 ...................
  13241 
  13242 The ODT export backend can anchor images to ‘as-char’, ‘paragraph’, or
  13243 ‘page’.  Set the preferred anchor using the ‘:anchor’ property of the
  13244 ‘ATTR_ODT’ line.
  13245 
  13246    To create an image that is anchored to a page:
  13247 
  13248      #+ATTR_ODT: :anchor page
  13249      [[./img.png]]
  13250 
  13251 
  13252 File: org.info,  Node: Math formatting in ODT export,  Next: Labels and captions in ODT export,  Prev: Images in ODT export,  Up: OpenDocument Text Export
  13253 
  13254 13.12.9 Math formatting in ODT export
  13255 -------------------------------------
  13256 
  13257 The ODT exporter has special support for handling math.
  13258 
  13259 * Menu:
  13260 
  13261 * LaTeX math snippets::       Embedding in LaTeX format.
  13262 * MathML and OpenDocument formula files:: Embedding in native format.
  13263 
  13264 
  13265 File: org.info,  Node: LaTeX math snippets,  Next: MathML and OpenDocument formula files,  Up: Math formatting in ODT export
  13266 
  13267 13.12.9.1 LaTeX math snippets
  13268 .............................
  13269 
  13270 LaTeX math snippets (see *note LaTeX fragments::) can be embedded in the
  13271 ODT document in one of the following ways:
  13272 
  13273 MathML
  13274      Add this line to the Org file.  This option is activated on a
  13275      per-file basis.
  13276 
  13277           #+OPTIONS: tex:t
  13278 
  13279      With this option, LaTeX fragments are first converted into MathML
  13280      fragments using an external LaTeX-to-MathML converter program.  The
  13281      resulting MathML fragments are then embedded as an OpenDocument
  13282      Formula in the exported document.
  13283 
  13284      You can specify the LaTeX-to-MathML converter by customizing the
  13285      variables ‘org-latex-to-mathml-convert-command’ and
  13286      ‘org-latex-to-mathml-jar-file’.
  13287 
  13288      If you prefer to use MathToWeb(1) as your converter, you can
  13289      configure the above variables as shown below.
  13290 
  13291           (setq org-latex-to-mathml-convert-command
  13292                 "java -jar %j -unicode -force -df %o %I"
  13293                 org-latex-to-mathml-jar-file
  13294                 "/path/to/mathtoweb.jar")
  13295 
  13296      or, to use LaTeX​ML(2) instead,
  13297 
  13298           (setq org-latex-to-mathml-convert-command
  13299                 "latexmlmath %i --presentationmathml=%o")
  13300 
  13301      To quickly verify the reliability of the LaTeX-to-MathML converter,
  13302      use the following commands:
  13303 
  13304      ‘M-x org-export-as-odf’
  13305           Convert a LaTeX math snippet to an OpenDocument formula
  13306           (‘.odf’) file.
  13307 
  13308      ‘M-x org-export-as-odf-and-open’
  13309           Convert a LaTeX math snippet to an OpenDocument formula
  13310           (‘.odf’) file and open the formula file with the
  13311           system-registered application.
  13312 
  13313 PNG images
  13314      Add this line to the Org file.  This option is activated on a
  13315      per-file basis.
  13316 
  13317           #+OPTIONS: tex:dvipng
  13318 
  13319           #+OPTIONS: tex:dvisvgm
  13320 
  13321      or
  13322 
  13323           #+OPTIONS: tex:imagemagick
  13324 
  13325      Under this option, LaTeX fragments are processed into PNG or SVG
  13326      images and the resulting images are embedded in the exported
  13327      document.  This method requires dvipng program, dvisvgm or
  13328      ImageMagick programs.
  13329 
  13330    ---------- Footnotes ----------
  13331 
  13332    (1) See MathToWeb
  13333 (http://www.mathtoweb.com/cgi-bin/mathtoweb_home.pl).
  13334 
  13335    (2) See <https://dlmf.nist.gov/LaTeXML/>.
  13336 
  13337 
  13338 File: org.info,  Node: MathML and OpenDocument formula files,  Prev: LaTeX math snippets,  Up: Math formatting in ODT export
  13339 
  13340 13.12.9.2 MathML and OpenDocument formula files
  13341 ...............................................
  13342 
  13343 When embedding LaTeX math snippets in ODT documents is not reliable,
  13344 there is one more option to try.  Embed an equation by linking to its
  13345 MathML (‘.mml’) source or its OpenDocument formula (‘.odf’) file as
  13346 shown below:
  13347 
  13348      [[./equation.mml]]
  13349 
  13350 or
  13351 
  13352      [[./equation.odf]]
  13353 
  13354 
  13355 File: 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
  13356 
  13357 13.12.10 Labels and captions in ODT export
  13358 ------------------------------------------
  13359 
  13360 ODT format handles labeling and captioning of objects based on their
  13361 types.  Inline images, tables, LaTeX fragments, and Math formulas are
  13362 numbered and captioned separately.  Each object also gets a unique
  13363 sequence number based on its order of first appearance in the Org file.
  13364 Each category has its own sequence.  A caption is just a label applied
  13365 to these objects.
  13366 
  13367      #+CAPTION: Bell curve
  13368      #+NAME:   fig:SED-HR4049
  13369      [[./img/a.png]]
  13370 
  13371    When rendered, it may show as follows in the exported document:
  13372 
  13373      Figure 2: Bell curve
  13374 
  13375    To modify the category component of the caption, customize the option
  13376 ‘org-odt-category-map-alist’.  For example, to tag embedded images with
  13377 the string “Illustration” instead of the default string “Figure”, use
  13378 the following setting:
  13379 
  13380      (setq org-odt-category-map-alist
  13381            '(("__Figure__" "Illustration" "value" "Figure" org-odt--enumerable-image-p)))
  13382 
  13383    With the above modification, the previous example changes to:
  13384 
  13385      Illustration 2: Bell curve
  13386 
  13387 
  13388 File: 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
  13389 
  13390 13.12.11 Literal examples in ODT export
  13391 ---------------------------------------
  13392 
  13393 The ODT export backend supports literal examples (see *note Literal
  13394 Examples::) with full fontification.  Internally, the ODT export backend
  13395 relies on ‘htmlfontify.el’ to generate the style definitions needed for
  13396 fancy listings.  The auto-generated styles get ‘OrgSrc’ prefix and
  13397 inherit colors from the faces used by Emacs Font Lock library for that
  13398 source language.
  13399 
  13400    For custom fontification styles, customize the
  13401 ‘org-odt-create-custom-styles-for-srcblocks’ option.
  13402 
  13403    To turn off fontification of literal examples, customize the
  13404 ‘org-odt-fontify-srcblocks’ option.
  13405 
  13406 
  13407 File: org.info,  Node: Advanced topics in ODT export,  Prev: Literal examples in ODT export,  Up: OpenDocument Text Export
  13408 
  13409 13.12.12 Advanced topics in ODT export
  13410 --------------------------------------
  13411 
  13412 The ODT export backend has extensive features useful for power users and
  13413 frequent uses of ODT formats.
  13414 
  13415 Configuring a document converter
  13416 ................................
  13417 
  13418 The ODT export backend works with popular converters with little or no
  13419 extra configuration.  See *note Extending ODT export::.  The following
  13420 is for unsupported converters or tweaking existing defaults.
  13421 
  13422 Register the converter
  13423      Add the name of the converter to the ‘org-odt-convert-processes’
  13424      variable.  Note that it also requires how the converter is invoked
  13425      on the command line.  See the variable’s docstring for details.
  13426 
  13427 Configure its capabilities
  13428      Specify which formats the converter can handle by customizing the
  13429      variable ‘org-odt-convert-capabilities’.  Use the entry for the
  13430      default values in this variable for configuring the new converter.
  13431      Also see its docstring for details.
  13432 
  13433 Choose the converter
  13434      Select the newly added converter as the preferred one by
  13435      customizing the option ‘org-odt-convert-process’.
  13436 
  13437 Working with OpenDocument style files
  13438 .....................................
  13439 
  13440 This section explores the internals of the ODT exporter; the means by
  13441 which it produces styled documents; the use of automatic and custom
  13442 OpenDocument styles.
  13443 
  13444    The ODT exporter relies on two files for generating its output.
  13445 These files are bundled with the distribution under the directory
  13446 pointed to by the variable ‘org-odt-styles-dir’.  The two files are:
  13447 
  13448 ‘OrgOdtStyles.xml’ 
  13449      This file contributes to the ‘styles.xml’ file of the final ODT
  13450      document.  This file gets modified for the following purposes:
  13451 
  13452        1. To control outline numbering based on user settings;
  13453 
  13454        2. To add styles generated by ‘htmlfontify.el’ for fontification
  13455           of code blocks.
  13456 
  13457 ‘OrgOdtContentTemplate.xml’ 
  13458      This file contributes to the ‘content.xml’ file of the final ODT
  13459      document.  The contents of the Org outline are inserted between the
  13460      ‘<office:text>’ ... ‘</office:text>’ elements of this file.
  13461 
  13462      Apart from serving as a template file for the final ‘content.xml’,
  13463      the file serves the following purposes:
  13464 
  13465        1. It contains automatic styles for formatting of tables which
  13466           are referenced by the exporter;
  13467 
  13468        2. It contains ‘<text:sequence-decl>’ ... ‘</text:sequence-decl>’
  13469           elements that control numbering of tables, images, equations,
  13470           and similar entities.
  13471 
  13472    The following two variables control the location from where the ODT
  13473 exporter picks up the custom styles and content template files.
  13474 Customize these variables to override the factory styles used by the
  13475 exporter.
  13476 
  13477 ‘org-odt-styles-file’
  13478      The ODT export backend uses the file pointed to by this variable,
  13479      such as ‘styles.xml’, for the final output.  It can take one of the
  13480      following values:
  13481 
  13482      ‘FILE.xml’
  13483           Use this file instead of the default ‘styles.xml’
  13484 
  13485      ‘FILE.odt’ or ‘FILE.ott’
  13486           Use the ‘styles.xml’ contained in the specified OpenDocument
  13487           Text or Template file
  13488 
  13489      ‘FILE.odt’ or ‘FILE.ott’ and a subset of included files
  13490           Use the ‘styles.xml’ contained in the specified OpenDocument
  13491           Text or Template file.  Additionally extract the specified
  13492           member files and embed those within the final ODT document.
  13493 
  13494           Use this option if the ‘styles.xml’ file references additional
  13495           files like header and footer images.
  13496 
  13497      ‘nil’
  13498           Use the default ‘styles.xml’.
  13499 
  13500 ‘org-odt-content-template-file’
  13501      Use this variable to specify the blank ‘content.xml’ used in the
  13502      final output.
  13503 
  13504 Creating one-off styles
  13505 .......................
  13506 
  13507 The ODT export backend can read embedded raw OpenDocument XML from the
  13508 Org file.  Such direct formatting is useful for one-off instances.
  13509 
  13510 Embedding ODT tags as part of regular text
  13511      Enclose OpenDocument syntax in ‘@@odt:...@@’ for inline markup.
  13512      For example, to highlight a region of text do the following:
  13513 
  13514           @@odt:<text:span text:style-name="Highlight">This is highlighted
  13515           text</text:span>@@.  But this is regular text.
  13516 
  13517      *Hint:* To see the above example in action, edit the ‘styles.xml’
  13518      (see *note Factory styles: x-orgodtstyles-xml.) and add a custom
  13519      _Highlight_ style as shown below:
  13520 
  13521           <style:style style:name="Highlight" style:family="text">
  13522             <style:text-properties fo:background-color="#ff0000"/>
  13523           </style:style>
  13524 
  13525 Embedding a one-line OpenDocument XML
  13526      The ODT export backend can read one-liner options with ‘#+ODT:’ in
  13527      the Org file.  For example, to force a page break:
  13528 
  13529           #+ODT: <text:p text:style-name="PageBreak"/>
  13530 
  13531      *Hint:* To see the above example in action, edit your ‘styles.xml’
  13532      (see *note Factory styles: x-orgodtstyles-xml.) and add a custom
  13533      ‘PageBreak’ style as shown below.
  13534 
  13535           <style:style style:name="PageBreak" style:family="paragraph"
  13536                        style:parent-style-name="Text_20_body">
  13537             <style:paragraph-properties fo:break-before="page"/>
  13538           </style:style>
  13539 
  13540 Embedding a block of OpenDocument XML
  13541      The ODT export backend can also read ODT export blocks for
  13542      OpenDocument XML.  Such blocks use the ‘#+BEGIN_EXPORT odt’ ...
  13543      ‘#+END_EXPORT’ constructs.
  13544 
  13545      For example, to create a one-off paragraph that uses bold text, do
  13546      the following:
  13547 
  13548           #+BEGIN_EXPORT odt
  13549             <text:p text:style-name="Text_20_body_20_bold">
  13550             This paragraph is specially formatted and uses bold text.
  13551             </text:p>
  13552           #+END_EXPORT
  13553 
  13554 Customizing tables in ODT export
  13555 ................................
  13556 
  13557 Override the default table format by specifying a custom table style
  13558 with the ‘#+ATTR_ODT’ line.  For a discussion on default formatting of
  13559 tables, see *note Tables in ODT export::.
  13560 
  13561    This feature closely mimics the way table templates are defined in
  13562 the OpenDocument-v1.2 specification(1).
  13563 
  13564    For quick preview of this feature, install the settings below and
  13565 export the table that follows:
  13566 
  13567      (setq org-export-odt-table-styles
  13568            (append org-export-odt-table-styles
  13569                    '(("TableWithHeaderRowAndColumn" "Custom"
  13570                       ((use-first-row-styles . t)
  13571                        (use-first-column-styles . t)))
  13572                      ("TableWithFirstRowandLastRow" "Custom"
  13573                       ((use-first-row-styles . t)
  13574                        (use-last-row-styles . t))))))
  13575 
  13576      #+ATTR_ODT: :style TableWithHeaderRowAndColumn
  13577      | Name  | Phone | Age |
  13578      | Peter |  1234 |  17 |
  13579      | Anna  |  4321 |  25 |
  13580 
  13581    The example above used ‘Custom’ template and installed two table
  13582 styles ‘TableWithHeaderRowAndColumn’ and ‘TableWithFirstRowandLastRow’.
  13583 *Important:* The OpenDocument styles needed for producing the above
  13584 template were pre-defined.  They are available in the section marked
  13585 ‘Custom Table Template’ in ‘OrgOdtContentTemplate.xml’ (see *note
  13586 Factory styles: x-orgodtcontenttemplate-xml.).  For adding new
  13587 templates, define new styles there.
  13588 
  13589    To use this feature proceed as follows:
  13590 
  13591   1. Create a table template(2).
  13592 
  13593      A table template is set of ‘table-cell’ and ‘paragraph’ styles for
  13594      each of the following table cell categories:
  13595 
  13596         • Body
  13597         • First column
  13598         • Last column
  13599         • First row
  13600         • Last row
  13601         • Even row
  13602         • Odd row
  13603         • Even column
  13604         • Odd Column
  13605 
  13606      The names for the above styles must be chosen based on the name of
  13607      the table template using a well-defined convention.
  13608 
  13609      The naming convention is better illustrated with an example.  For a
  13610      table template with the name ‘Custom’, the needed style names are
  13611      listed in the following table.
  13612 
  13613      Cell type      Cell style                     Paragraph style
  13614      ----------------------------------------------------------------------------------
  13615      Body           ‘CustomTableCell’              ‘CustomTableParagraph’
  13616      First column   ‘CustomFirstColumnTableCell’   ‘CustomFirstColumnTableParagraph’
  13617      Last column    ‘CustomLastColumnTableCell’    ‘CustomLastColumnTableParagraph’
  13618      First row      ‘CustomFirstRowTableCell’      ‘CustomFirstRowTableParagraph’
  13619      Last row       ‘CustomLastRowTableCell’       ‘CustomLastRowTableParagraph’
  13620      Even row       ‘CustomEvenRowTableCell’       ‘CustomEvenRowTableParagraph’
  13621      Odd row        ‘CustomOddRowTableCell’        ‘CustomOddRowTableParagraph’
  13622      Even column    ‘CustomEvenColumnTableCell’    ‘CustomEvenColumnTableParagraph’
  13623      Odd column     ‘CustomOddColumnTableCell’     ‘CustomOddColumnTableParagraph’
  13624 
  13625      To create a table template with the name ‘Custom’, define the above
  13626      styles in the ‘<office:automatic-styles>’ ...
  13627      ‘</office:automatic-styles>’ element of the content template file
  13628      (see *note Factory styles: x-orgodtcontenttemplate-xml.).
  13629 
  13630   2. Define a table style(3).
  13631 
  13632      To define a table style, create an entry for the style in the
  13633      variable ‘org-odt-table-styles’ and specify the following:
  13634 
  13635         • the name of the table template created in step (1),
  13636         • the set of cell styles in that template that are to be
  13637           activated.
  13638 
  13639      For example, the entry below defines two different table styles
  13640      ‘TableWithHeaderRowAndColumn’ and ‘TableWithFirstRowandLastRow’
  13641      based on the same template ‘Custom’.  The styles achieve their
  13642      intended effect by selectively activating the individual cell
  13643      styles in that template.
  13644 
  13645           (setq org-export-odt-table-styles
  13646                 (append org-export-odt-table-styles
  13647                         '(("TableWithHeaderRowAndColumn" "Custom"
  13648                            ((use-first-row-styles . t)
  13649                             (use-first-column-styles . t)))
  13650                           ("TableWithFirstRowandLastRow" "Custom"
  13651                            ((use-first-row-styles . t)
  13652                             (use-last-row-styles . t))))))
  13653 
  13654   3. Associate a table with the table style.
  13655 
  13656      To do this, specify the table style created in step (2) as part of
  13657      the ‘ATTR_ODT’ line as shown below.
  13658 
  13659           #+ATTR_ODT: :style TableWithHeaderRowAndColumn
  13660           | Name  | Phone | Age |
  13661           | Peter |  1234 |  17 |
  13662           | Anna  |  4321 |  25 |
  13663 
  13664 Validating OpenDocument XML
  13665 ...........................
  13666 
  13667 Sometimes ODT format files may not open due to ‘.odt’ file corruption.
  13668 To verify if such a file is corrupt, validate it against the
  13669 OpenDocument Relax NG Compact (RNC) syntax schema.  But first the ‘.odt’
  13670 files have to be decompressed using ‘zip’.  Note that ‘.odt’ files are
  13671 ZIP archives: *note (emacs)File Archives::.  The contents of ODT files
  13672 are in XML.  For general help with validation—and schema-sensitive
  13673 editing—of XML files: *note (nxml-mode)Introduction::.
  13674 
  13675    Customize ‘org-odt-schema-dir’ to point to a directory with
  13676 OpenDocument RNC files and the needed schema-locating rules.  The ODT
  13677 export backend takes care of updating the ‘rng-schema-locating-files’.
  13678 
  13679    ---------- Footnotes ----------
  13680 
  13681    (1) OpenDocument-v1.2 Specification
  13682 (https://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2.html)
  13683 
  13684    (2) See the ‘<table:table-template>’ element of the OpenDocument-v1.2
  13685 specification.
  13686 
  13687    (3) See the attributes ‘table:template-name’,
  13688 ‘table:use-first-row-styles’, ‘table:use-last-row-styles’,
  13689 ‘table:use-first-column-styles’, ‘table:use-last-column-styles’,
  13690 ‘table:use-banding-rows-styles’, and ‘table:use-banding-column-styles’
  13691 of the ‘<table:table>’ element in the OpenDocument-v1.2 specification.
  13692 
  13693 
  13694 File: org.info,  Node: Org Export,  Next: Texinfo Export,  Prev: OpenDocument Text Export,  Up: Exporting
  13695 
  13696 13.13 Org Export
  13697 ================
  13698 
  13699 _org_ export backend creates a normalized version of the Org document in
  13700 current buffer.  The exporter evaluates Babel code (see *note Evaluating
  13701 Code Blocks::) and removes content specific to other backends.
  13702 
  13703 Org export commands
  13704 -------------------
  13705 
  13706 ‘C-c C-e O o’ (‘org-org-export-to-org’)
  13707      Export as an Org file with a ‘.org’ extension.  For ‘myfile.org’,
  13708      Org exports to ‘myfile.org.org’, overwriting without warning.
  13709 
  13710 ‘C-c C-e O v’ (~~)
  13711      Export to an Org file, then open it.
  13712 
  13713 
  13714 File: org.info,  Node: Texinfo Export,  Next: iCalendar Export,  Prev: Org Export,  Up: Exporting
  13715 
  13716 13.14 Texinfo Export
  13717 ====================
  13718 
  13719 * Menu:
  13720 
  13721 * Texinfo export commands::      Invoking commands.
  13722 * Texinfo specific export settings:: Setting the environment.
  13723 * Texinfo file header::          Generating the header.
  13724 * Texinfo title and copyright page:: Creating preamble pages.
  13725 * Info directory file::          Installing a manual in Info file hierarchy.
  13726 * Headings and sectioning structure:: Building document structure.
  13727 * Indices::                      Creating indices.
  13728 * Quoting Texinfo code::         Incorporating literal Texinfo code.
  13729 * Plain lists in Texinfo export:: List attributes.
  13730 * Tables in Texinfo export::     Table attributes.
  13731 * Images in Texinfo export::     Image attributes.
  13732 * Quotations in Texinfo export:: Quote block attributes.
  13733 * Key bindings in Texinfo export:: @kbd Texinfo command.
  13734 * Special blocks in Texinfo export:: Special block attributes.
  13735 * A Texinfo example::            Processing Org to Texinfo.
  13736 
  13737 
  13738 File: org.info,  Node: Texinfo export commands,  Next: Texinfo specific export settings,  Up: Texinfo Export
  13739 
  13740 13.14.1 Texinfo export commands
  13741 -------------------------------
  13742 
  13743 ‘C-c C-e i t’ (‘org-texinfo-export-to-texinfo’)
  13744      Export as a Texinfo file with ‘.texi’ extension.  For ‘myfile.org’,
  13745      Org exports to ‘myfile.texi’, overwriting without warning.
  13746 
  13747 ‘C-c C-e i i’ (‘org-texinfo-export-to-info’)
  13748      Export to Texinfo format first and then process it to make an Info
  13749      file.  To generate other formats, such as DocBook, customize the
  13750      ‘org-texinfo-info-process’ variable.
  13751 
  13752 
  13753 File: org.info,  Node: Texinfo specific export settings,  Next: Texinfo file header,  Prev: Texinfo export commands,  Up: Texinfo Export
  13754 
  13755 13.14.2 Texinfo specific export settings
  13756 ----------------------------------------
  13757 
  13758 The Texinfo export backend has several additional keywords for
  13759 customizing Texinfo output.  Setting these keywords works similar to the
  13760 general options (see *note Export Settings::).
  13761 
  13762 ‘SUBTITLE’
  13763      The document subtitle.
  13764 
  13765 ‘SUBAUTHOR’
  13766      Additional authors for the document.
  13767 
  13768 ‘TEXINFO_FILENAME’
  13769      The Texinfo filename.
  13770 
  13771 ‘TEXINFO_CLASS’
  13772      The default document class (‘org-texinfo-default-class’), which
  13773      must be a member of ‘org-texinfo-classes’.
  13774 
  13775 ‘TEXINFO_HEADER’
  13776      Arbitrary lines inserted at the end of the header.
  13777 
  13778 ‘TEXINFO_POST_HEADER’
  13779      Arbitrary lines inserted after the end of the header.
  13780 
  13781 ‘TEXINFO_DIR_CATEGORY’
  13782      The directory category of the document.  Defaults to ‘Misc’.
  13783 
  13784 ‘TEXINFO_DIR_NAME’
  13785      The directory name of the document.  This is the short name under
  13786      which the ‘m’ command will find your manual in the main Info
  13787      directory.  It defaults to the base name of the Texinfo file.
  13788 
  13789      The full form of the Texinfo entry is ‘* DIRNAME: NODE.’ where
  13790      ‘NODE’ is usually just ‘(FILENAME)’.  Normally this option only
  13791      provides the ‘DIRNAME’ part, but if you need more control, it can
  13792      also be the full entry (recognized by the presence of parentheses
  13793      or a leading ~* ~).
  13794 
  13795 ‘TEXINFO_DIR_DESC’
  13796      The directory description of the document.  Defaults to the title
  13797      of the document.
  13798 
  13799 ‘TEXINFO_PRINTED_TITLE’
  13800      The printed title of the document.
  13801 
  13802 
  13803 File: org.info,  Node: Texinfo file header,  Next: Texinfo title and copyright page,  Prev: Texinfo specific export settings,  Up: Texinfo Export
  13804 
  13805 13.14.3 Texinfo file header
  13806 ---------------------------
  13807 
  13808 After creating the header for a Texinfo file, the Texinfo backend
  13809 automatically generates a name and destination path for the Info file.
  13810 To override this default with a more sensible path and name, specify the
  13811 ‘TEXINFO_FILENAME’ keyword.
  13812 
  13813    Along with the output’s file name, the Texinfo header also contains
  13814 language details (see *note Export Settings::) and encoding system as
  13815 set in the ‘org-texinfo-coding-system’ variable.  Insert
  13816 ‘TEXINFO_HEADER’ keywords for each additional command in the header, for
  13817 example:
  13818 
  13819      #+TEXINFO_HEADER: @synindex
  13820 
  13821    Instead of repeatedly installing the same set of commands, define a
  13822 class in ‘org-texinfo-classes’ once, and then activate it in the
  13823 document by setting the ‘TEXINFO_CLASS’ keyword to that class.
  13824 
  13825 
  13826 File: org.info,  Node: Texinfo title and copyright page,  Next: Info directory file,  Prev: Texinfo file header,  Up: Texinfo Export
  13827 
  13828 13.14.4 Texinfo title and copyright page
  13829 ----------------------------------------
  13830 
  13831 The default template for hard copy output has a title page with ‘TITLE’
  13832 and ‘AUTHOR’ keywords (see *note Export Settings::).  To replace the
  13833 regular title with something different for the printed version, use the
  13834 ‘TEXINFO_PRINTED_TITLE’ and ‘SUBTITLE’ keywords.  Both expect raw
  13835 Texinfo code for setting their values.
  13836 
  13837    If one ‘AUTHOR’ line is not sufficient, add multiple ‘SUBAUTHOR’
  13838 keywords.  They have to be set in raw Texinfo code.
  13839 
  13840      #+AUTHOR: Jane Smith
  13841      #+SUBAUTHOR: John Doe
  13842      #+TEXINFO_PRINTED_TITLE: This Long Title@@inlinefmt{tex,@*} Is Broken in @TeX{}
  13843 
  13844    Copying material is defined in a dedicated headline with a non-‘nil’
  13845 ‘COPYING’ property.  The backend inserts the contents within a
  13846 ‘@copying’ command at the beginning of the document.  The heading itself
  13847 does not appear in the structure of the document.
  13848 
  13849    Copyright information is printed on the back of the title page.
  13850 
  13851      * Legalese
  13852        :PROPERTIES:
  13853        :COPYING: t
  13854        :END:
  13855 
  13856        This is a short example of a complete Texinfo file, version 1.0.
  13857 
  13858        Copyright \copy 2016 Free Software Foundation, Inc.
  13859 
  13860 
  13861 File: org.info,  Node: Info directory file,  Next: Headings and sectioning structure,  Prev: Texinfo title and copyright page,  Up: Texinfo Export
  13862 
  13863 13.14.5 Info directory file
  13864 ---------------------------
  13865 
  13866 The end result of the Texinfo export process is the creation of an Info
  13867 file.  This Info file’s metadata has variables for category, title, and
  13868 description: ‘TEXINFO_DIR_CATEGORY’, ‘TEXINFO_DIR_NAME’, and
  13869 ‘TEXINFO_DIR_DESC’ keywords that establish where in the Info hierarchy
  13870 the file fits.
  13871 
  13872    Here is an example that writes to the Info directory file:
  13873 
  13874      #+TEXINFO_DIR_CATEGORY: Emacs
  13875      #+TEXINFO_DIR_NAME: Org Mode
  13876      #+TEXINFO_DIR_DESC: Outline-based notes management and organizer
  13877 
  13878 
  13879 File: org.info,  Node: Headings and sectioning structure,  Next: Indices,  Prev: Info directory file,  Up: Texinfo Export
  13880 
  13881 13.14.6 Headings and sectioning structure
  13882 -----------------------------------------
  13883 
  13884 The Texinfo export backend uses a pre-defined scheme to convert Org
  13885 headlines to equivalent Texinfo structuring commands.  A scheme like
  13886 this maps top-level headlines to numbered chapters tagged as ‘@chapter’
  13887 and lower-level headlines to unnumbered chapters tagged as
  13888 ‘@unnumbered’.  To override such mappings to introduce ‘@part’ or other
  13889 Texinfo structuring commands, define a new class in
  13890 ‘org-texinfo-classes’.  Activate the new class with the ‘TEXINFO_CLASS’
  13891 keyword.  When no new class is defined and activated, the Texinfo export
  13892 backend defaults to the ‘org-texinfo-default-class’.
  13893 
  13894    If an Org headline’s level has no associated Texinfo structuring
  13895 command, or is below a certain threshold (see *note Export Settings::),
  13896 then the Texinfo export backend makes it into a list item.
  13897 
  13898    The Texinfo export backend makes any headline with a non-‘nil’
  13899 ‘APPENDIX’ property into an appendix.  This happens independent of the
  13900 Org headline level or the ‘TEXINFO_CLASS’ keyword.
  13901 
  13902    The Texinfo export backend creates a menu entry after the Org
  13903 headline for each regular sectioning structure.  To override this with a
  13904 shorter menu entry, use the ‘ALT_TITLE’ property (see *note Table of
  13905 Contents::).  Texinfo menu entries also have an option for a longer
  13906 ‘DESCRIPTION’ property.  Here’s an example that uses both to override
  13907 the default menu entry:
  13908 
  13909      * Controlling Screen Display
  13910        :PROPERTIES:
  13911        :ALT_TITLE: Display
  13912        :DESCRIPTION: Controlling Screen Display
  13913        :END:
  13914 
  13915    The text before the first headline belongs to the _Top_ node, i.e.,
  13916 the node in which a reader enters an Info manual.  As such, it is
  13917 expected not to appear in printed output generated from the ‘.texi’
  13918 file.  See *note (texinfo)The Top Node::, for more information.
  13919 
  13920 
  13921 File: org.info,  Node: Indices,  Next: Quoting Texinfo code,  Prev: Headings and sectioning structure,  Up: Texinfo Export
  13922 
  13923 13.14.7 Indices
  13924 ---------------
  13925 
  13926 The Texinfo export backend recognizes these indexing keywords if used in
  13927 the Org file: ‘CINDEX’, ‘FINDEX’, ‘KINDEX’, ‘PINDEX’, ‘TINDEX’ and
  13928 ‘VINDEX’.  Write their value as verbatim Texinfo code; in particular,
  13929 ‘{’, ‘}’ and ‘@’ characters need to be escaped with ‘@’ if they do not
  13930 belong to a Texinfo command.
  13931 
  13932      #+CINDEX: Defining indexing entries
  13933 
  13934    For the backend to generate an index entry for a headline, set the
  13935 ‘INDEX’ property to ‘cp’ or ‘vr’.  These abbreviations come from Texinfo
  13936 that stand for concept index and variable index.  The Texinfo manual has
  13937 abbreviations for all other kinds of indexes.  The backend exports the
  13938 headline as an unnumbered chapter or section command, and then inserts
  13939 the index after its contents.
  13940 
  13941      * Concept Index
  13942        :PROPERTIES:
  13943        :INDEX: cp
  13944        :END:
  13945 
  13946 
  13947 File: org.info,  Node: Quoting Texinfo code,  Next: Plain lists in Texinfo export,  Prev: Indices,  Up: Texinfo Export
  13948 
  13949 13.14.8 Quoting Texinfo code
  13950 ----------------------------
  13951 
  13952 Use any of the following three methods to insert or escape raw Texinfo
  13953 code:
  13954 
  13955      Richard @@texinfo:@sc{@@Stallman@@texinfo:}@@ commence' GNU.
  13956 
  13957      #+TEXINFO: @need800
  13958      This paragraph is preceded by...
  13959 
  13960      #+BEGIN_EXPORT texinfo
  13961        @auindex Johnson, Mark
  13962        @auindex Lakoff, George
  13963      #+END_EXPORT
  13964 
  13965 
  13966 File: org.info,  Node: Plain lists in Texinfo export,  Next: Tables in Texinfo export,  Prev: Quoting Texinfo code,  Up: Texinfo Export
  13967 
  13968 13.14.9 Plain lists in Texinfo export
  13969 -------------------------------------
  13970 
  13971 The Texinfo export backend converts unordered and ordered lists in the
  13972 Org file using the default command ‘@itemize’.
  13973 
  13974    Ordered lists are numbered when exported to Texinfo format.  Such
  13975 numbering obeys any counter (see *note Plain Lists::) in the first item
  13976 of the list.  The ‘:enum’ attribute also let you start the list at a
  13977 specific number, or switch to a lettered list, as illustrated here:
  13978 
  13979      #+ATTR_TEXINFO: :enum A
  13980      1. Alpha
  13981      2. Bravo
  13982      3. Charlie
  13983 
  13984    The Texinfo export backend by default converts description lists in
  13985 the Org file using the default command ‘@table’, which results in a
  13986 table with two columns.  To change this behavior, set ‘:table-type’
  13987 attribute to either ‘ftable’ or ‘vtable’ value.  For more information,
  13988 see *note (texinfo)Two-column Tables::.
  13989 
  13990    The Texinfo export backend by default also applies a text highlight
  13991 based on the defaults stored in ‘org-texinfo-table-default-markup’.  To
  13992 override the default highlight command, specify another one with the
  13993 ‘:indic’ attribute.
  13994 
  13995    Org syntax is limited to one entry per list item.  Nevertheless, the
  13996 Texinfo export backend can split that entry according to any text
  13997 provided through the ‘:sep’ attribute.  Each part then becomes a new
  13998 entry in the first column of the table.
  13999 
  14000    The following example illustrates all the attributes above:
  14001 
  14002      #+ATTR_TEXINFO: :table-type vtable :sep , :indic asis
  14003      - foo, bar :: This is the common text for variables foo and bar.
  14004 
  14005 becomes
  14006 
  14007      @vtable @asis
  14008      @item foo
  14009      @itemx bar
  14010      This is the common text for variables foo and bar.
  14011      @end table
  14012 
  14013    The ‘:compact’ attribute is an alternative to the ‘:sep’ attribute,
  14014 which allows writing each entry on its own line.  If this attribute is
  14015 non-‘nil’ and an item in a description list has no body but is followed
  14016 by another item, then the second item is transcoded to ‘@itemx’.  This
  14017 example is transcoded to the same output as above.
  14018 
  14019      #+ATTR_TEXINFO: :table-type vtable :indic asis :compact t
  14020      - foo ::
  14021      - bar ::
  14022        This is the common text for variables foo and bar.
  14023 
  14024    Support for this compact syntax can also be enabled for all lists in
  14025 a file using the ‘compact-itemx’ export option, or globally using the
  14026 variable ‘org-texinfo-compact-itemx’.
  14027 
  14028    The Texinfo export backend also supports two approaches to writing
  14029 Texinfo definition commands (see *note (texinfo)Definition Commands::).
  14030 One of them uses description lists and is described below, the other
  14031 relies on special blocks (see *note Special blocks in Texinfo export::).
  14032 
  14033    Items in a description list in an Org file that begin with
  14034 ‘Function:’ or certain other prefixes are converted using Texinfo
  14035 definition commands.  This works even if other items in the same list do
  14036 not have such a prefix; if necessary a single description list is
  14037 converted using multiple tables (such as ‘@vtable’) and definition
  14038 commands (such as ‘@defun’).
  14039 
  14040      - Function: org-texinfo-drawer drawer contents info ::
  14041        Transcode a DRAWER element from Org to Texinfo.
  14042 
  14043 becomes
  14044 
  14045      @defun org-texinfo-drawer drawer contents info ::
  14046        Transcode a DRAWER element from Org to Texinfo.
  14047      @end defun
  14048 
  14049    The recognized prefixes are ‘Command:’, ‘Function:’, ‘Macro:’,
  14050 ‘Special Form:’, ‘Variable:’ and ‘User Option:’.  These are the same
  14051 prefixes that appear in the Info file for the respective definition
  14052 commands.  For example a ‘Function:’ item in the Org file is converted
  14053 to a ‘@defun’ command in the Texinfo file, which in turn is converted to
  14054 a definition prefixed with ‘-- Function:’ in the Info file.
  14055 
  14056    As a special case the prefix ‘Key:’ is also recognized.  No Texinfo
  14057 definition command exists for key bindings and the output in Info files
  14058 also lacks the ‘Key:’ prefix.  Even so this special case is supported
  14059 because it provides a convenient shorthand, as illustrated here:
  14060 
  14061      - Key: C-c C-c (do-something) ::
  14062        This command does something.
  14063 
  14064      - User Option: do-something-somehow ::
  14065        This option controls how exactly ~do-something~ does its thing.
  14066 
  14067 becomes
  14068 
  14069      @table @asis
  14070      @item @kbd{C-c C-c} (@code{do-something})
  14071      @kindex C-c C-c
  14072      @findex do-something
  14073      This command does something.
  14074      @end table
  14075 
  14076      @defopt do-something-somehow
  14077      This option controls how exactly @code{do-something} does its thing.
  14078      @end defopt
  14079 
  14080 Command in parenthesis, as done above, is optional.
  14081 
  14082 
  14083 File: org.info,  Node: Tables in Texinfo export,  Next: Images in Texinfo export,  Prev: Plain lists in Texinfo export,  Up: Texinfo Export
  14084 
  14085 13.14.10 Tables in Texinfo export
  14086 ---------------------------------
  14087 
  14088 When exporting tables, the Texinfo export backend uses the widest cell
  14089 width in each column.  To override this and instead specify as fractions
  14090 of line length, use the ‘:columns’ attribute.  See example below.
  14091 
  14092      #+ATTR_TEXINFO: :columns .5 .5
  14093      | a cell | another cell |
  14094 
  14095 
  14096 File: org.info,  Node: Images in Texinfo export,  Next: Quotations in Texinfo export,  Prev: Tables in Texinfo export,  Up: Texinfo Export
  14097 
  14098 13.14.11 Images in Texinfo export
  14099 ---------------------------------
  14100 
  14101 Insert a file link to the image in the Org file, and the Texinfo export
  14102 backend inserts the image.  These links must have the usual supported
  14103 image extensions and no descriptions.  To scale the image, use ‘:width’
  14104 and ‘:height’ attributes.  For alternate text, use ‘:alt’ and specify
  14105 the text using Texinfo code, as shown in the example:
  14106 
  14107      #+ATTR_TEXINFO: :width 1in :alt Alternate @i{text}
  14108      [[ridt.pdf]]
  14109 
  14110 
  14111 File: org.info,  Node: Quotations in Texinfo export,  Next: Key bindings in Texinfo export,  Prev: Images in Texinfo export,  Up: Texinfo Export
  14112 
  14113 13.14.12 Quotations in Texinfo export
  14114 -------------------------------------
  14115 
  14116 You can write the text of a quotation within a quote block (see *note
  14117 Paragraphs::).  You may also emphasize some text at the beginning of the
  14118 quotation with the ‘:tag’ attribute.
  14119 
  14120      #+ATTR_TEXINFO: :tag Warning
  14121      #+BEGIN_QUOTE
  14122      Striking your thumb with a hammer may cause severe pain and discomfort.
  14123      #+END_QUOTE
  14124 
  14125    To specify the author of the quotation, use the ‘:author’ attribute.
  14126 
  14127      #+ATTR_TEXINFO: :author King Arthur
  14128      #+BEGIN_QUOTE
  14129      The Lady of the Lake, her arm clad in the purest shimmering samite,
  14130      held aloft Excalibur from the bosom of the water, signifying by divine
  14131      providence that I, Arthur, was to carry Excalibur.  That is why I am
  14132      your king.
  14133      #+END_QUOTE
  14134 
  14135 
  14136 File: org.info,  Node: Key bindings in Texinfo export,  Next: Special blocks in Texinfo export,  Prev: Quotations in Texinfo export,  Up: Texinfo Export
  14137 
  14138 13.14.13 Key bindings in Texinfo export
  14139 ---------------------------------------
  14140 
  14141 Org does not provide any markup for key bindings that corresponds to
  14142 Texinfo’s ‘@kbd’ and ‘@key’ commands.  One way to deal with this is to
  14143 fall back to code syntax.  ‘~C-x SPC~’, for example, is transcoded to
  14144 ‘@code{C-x SPC}’.
  14145 
  14146    A better approach is to define and use an Org macro named ‘kbd’.  To
  14147 make that easier the function ‘org-texinfo-kbd-macro’ is provided, which
  14148 is intended to be used like this:
  14149 
  14150      #+macro: kbd (eval (org-texinfo-kbd-macro $1))
  14151 
  14152      Type {{{kbd(C-c SPC)}}}.
  14153 
  14154 which becomes
  14155 
  14156      Type @kbd{C-c @key{SPC}}.
  14157 
  14158 
  14159 File: org.info,  Node: Special blocks in Texinfo export,  Next: A Texinfo example,  Prev: Key bindings in Texinfo export,  Up: Texinfo Export
  14160 
  14161 13.14.14 Special blocks in Texinfo export
  14162 -----------------------------------------
  14163 
  14164 The Texinfo export backend supports two approaches to writing Texinfo
  14165 definition commands.  One of them is described here, the other in *note
  14166 Plain lists in Texinfo export::.
  14167 
  14168    The Texinfo export backend converts special blocks to commands with
  14169 the same name.  It also adds any ‘:options’ attributes to the end of the
  14170 command, as shown in this example:
  14171 
  14172      #+ATTR_TEXINFO: :options org-org-export-to-org ...
  14173      #+BEGIN_defun
  14174        A somewhat obsessive function name.
  14175      #+END_defun
  14176 
  14177 becomes
  14178 
  14179      @defun org-org-export-to-org ...
  14180        A somewhat obsessive function name.
  14181      @end defun
  14182 
  14183 
  14184 File: org.info,  Node: A Texinfo example,  Prev: Special blocks in Texinfo export,  Up: Texinfo Export
  14185 
  14186 13.14.15 A Texinfo example
  14187 --------------------------
  14188 
  14189 Here is a more detailed example Org file.  See *note (texinfo)GNU Sample
  14190 Texts:: for an equivalent example using Texinfo code.
  14191 
  14192      #+TITLE: GNU Sample {{{version}}}
  14193      #+SUBTITLE: for version {{{version}}}, {{{updated}}}
  14194      #+AUTHOR: A.U. Thor
  14195      #+EMAIL: bug-sample@gnu.org
  14196 
  14197      #+OPTIONS: ':t toc:t author:t email:t
  14198      #+LANGUAGE: en
  14199 
  14200      #+MACRO: version 2.0
  14201      #+MACRO: updated last updated 4 March 2014
  14202 
  14203      #+TEXINFO_FILENAME: sample.info
  14204      #+TEXINFO_HEADER: @syncodeindex pg cp
  14205 
  14206      #+TEXINFO_DIR_CATEGORY: Texinfo documentation system
  14207      #+TEXINFO_DIR_NAME: sample
  14208      #+TEXINFO_DIR_DESC: Invoking sample
  14209 
  14210      #+TEXINFO_PRINTED_TITLE: GNU Sample
  14211 
  14212      This manual is for GNU Sample (version {{{version}}},
  14213      {{{updated}}}).
  14214 
  14215      * Copying
  14216        :PROPERTIES:
  14217        :COPYING:  t
  14218        :END:
  14219 
  14220        This manual is for GNU Sample (version {{{version}}},
  14221        {{{updated}}}), which is an example in the Texinfo documentation.
  14222 
  14223        Copyright \copy 2016 Free Software Foundation, Inc.
  14224 
  14225        #+BEGIN_QUOTE
  14226        Permission is granted to copy, distribute and/or modify this
  14227        document under the terms of the GNU Free Documentation License,
  14228        Version 1.3 or any later version published by the Free Software
  14229        Foundation; with no Invariant Sections, with no Front-Cover Texts,
  14230        and with no Back-Cover Texts.  A copy of the license is included in
  14231        the section entitled "GNU Free Documentation License".
  14232        #+END_QUOTE
  14233 
  14234      * Invoking sample
  14235 
  14236        #+PINDEX: sample
  14237        #+CINDEX: invoking @command{sample}
  14238 
  14239        This is a sample manual.  There is no sample program to invoke, but
  14240        if there were, you could see its basic usage and command line
  14241        options here.
  14242 
  14243      * GNU Free Documentation License
  14244        :PROPERTIES:
  14245        :APPENDIX: t
  14246        :END:
  14247 
  14248        #+INCLUDE: fdl.org
  14249 
  14250      * Index
  14251        :PROPERTIES:
  14252        :INDEX:    cp
  14253        :END:
  14254 
  14255 
  14256 File: org.info,  Node: iCalendar Export,  Next: Other Built-in Backends,  Prev: Texinfo Export,  Up: Exporting
  14257 
  14258 13.15 iCalendar Export
  14259 ======================
  14260 
  14261 A large part of Org mode’s interoperability success is its ability to
  14262 easily export to or import from external applications.  The iCalendar
  14263 export backend takes calendar data from Org files and exports to the
  14264 standard iCalendar format.
  14265 
  14266    By default, iCalendar export only includes headings that contain
  14267 active timestamps or diary sexps(1).
  14268 
  14269    The iCalendar export backend can also incorporate TODO entries based
  14270 on the configuration of the ‘org-icalendar-include-todo’ variable.  The
  14271 backend exports plain timestamps as ‘VEVENT’, TODO items as ‘VTODO’, and
  14272 also create events from deadlines that are in non-TODO items.
  14273 
  14274    The backend uses the deadlines and scheduling dates in Org TODO items
  14275 for setting the start and due dates for the iCalendar TODO entry.
  14276 Consult the ‘org-icalendar-use-deadline’, ‘org-icalendar-use-scheduled’,
  14277 and ‘org-icalendar-todo-unscheduled-start’ variables for more details.
  14278 
  14279    For tags on the headline, the iCalendar export backend makes them
  14280 into iCalendar categories.  To tweak the inheritance of tags and TODO
  14281 states, configure the variable ‘org-icalendar-categories’.  To assign
  14282 clock alarms based on time, configure the ‘org-icalendar-alarm-time’
  14283 variable.
  14284 
  14285    The iCalendar format standard requires globally unique identifier—or
  14286 UID—for each entry.  The iCalendar export backend creates UIDs during
  14287 export.  To save a copy of the UID in the Org file set the variable
  14288 ‘org-icalendar-store-UID’.  The backend looks for the ‘ID’ property of
  14289 the entry for reusing the same UID for subsequent exports.
  14290 
  14291    Since a single Org entry can result in multiple iCalendar
  14292 entries—timestamp, deadline, scheduled item, or TODO item—Org adds
  14293 prefixes to the UID, depending on which part of the Org entry triggered
  14294 the creation of the iCalendar entry.  Prefixing ensures UIDs remains
  14295 unique, yet enable synchronization programs trace the connections.
  14296 
  14297 ‘C-c C-e c f’ (‘org-icalendar-export-to-ics’)
  14298      Create iCalendar entries from the current Org buffer and store them
  14299      in the same directory, using a file extension ‘.ics’.
  14300 
  14301 ‘C-c C-e c a’ (‘org-icalendar-export-agenda-files’)
  14302      Create iCalendar entries from Org files in ‘org-agenda-files’ and
  14303      store in a separate iCalendar file for each Org file.
  14304 
  14305 ‘C-c C-e c c’ (‘org-icalendar-combine-agenda-files’)
  14306      Create a combined iCalendar file from Org files in
  14307      ‘org-agenda-files’ and write it to
  14308      ‘org-icalendar-combined-agenda-file’ file name.
  14309 
  14310    The iCalendar export backend includes ‘SUMMARY’, ‘DESCRIPTION’,
  14311 ‘LOCATION’, ‘TIMEZONE’ and ‘CLASS’ properties from the Org entries when
  14312 exporting.  To force the backend to inherit the ‘LOCATION’, ‘TIMEZONE’
  14313 and ‘CLASS’ properties, configure the ‘org-use-property-inheritance’
  14314 variable.
  14315 
  14316    ‘SUMMARY’, ‘LOCATION’, and ‘DESCRIPTION’ properties can define
  14317 multi-line summary, location, or description using ‘<PROPERTY>+’ syntax
  14318 (see *note Property Syntax::):
  14319 
  14320      * Meeting at location with multi-line address
  14321      <2024-01-08 Mon 14:20-15:00>
  14322      :PROPERTIES:
  14323      :LOCATION:  Someplace
  14324      :LOCATION+: Some Street 5
  14325      :LOCATION+: 12345 Small Town
  14326      :END:
  14327 
  14328    When Org entries do not have ‘SUMMARY’, ‘DESCRIPTION’, ‘LOCATION’ and
  14329 ‘CLASS’ properties, the iCalendar export backend derives the summary
  14330 from the headline, and derives the description from the body of the Org
  14331 item.  The ‘org-icalendar-include-body’ variable limits the maximum
  14332 number of characters of the content are turned into its description.
  14333 
  14334    The ‘TIMEZONE’ property can be used to specify a per-entry time zone,
  14335 and is applied to any entry with timestamp information.  Time zones
  14336 should be specified as per the IANA time zone database format, e.g.,
  14337 ‘Asia/Almaty’.  Alternately, the property value can be ‘UTC’, to force
  14338 UTC time for this entry only.
  14339 
  14340    The ‘CLASS’ property can be used to specify a per-entry visibility
  14341 class or access restrictions, and is applied to any entry with class
  14342 information.  The iCalendar standard defines three visibility classes:
  14343 ‘PUBLIC’
  14344      The entry is publicly visible (this is the default).
  14345 ‘CONFIDENTIAL’
  14346      Only a limited group of clients get access to the event.
  14347 ‘PRIVATE’
  14348      The entry can be retrieved only by its owner.
  14349    The server should treat unknown class properties the same as
  14350 ‘PRIVATE’.
  14351 
  14352    The exported iCalendar file can advise clients how often to check for
  14353 updates.  This duration can be set globally with the ‘org-icalendar-ttl’
  14354 variable, or on a per-document basis with the ‘ICAL-TTL’ keyword.  This
  14355 option should be set using the iCalendar notation for time durations;
  14356 consult the docstring of ‘org-icalendar-ttl’ for more details.
  14357 
  14358    Exporting to iCalendar format depends in large part on the
  14359 capabilities of the destination application.  Some are more lenient than
  14360 others.  Consult the Org mode FAQ for advice on specific applications.
  14361 
  14362    ---------- Footnotes ----------
  14363 
  14364    (1) Diary sexp events, except certain built-in types (see
  14365 ‘icalendar-export-sexp-enumerate-all’), are exported up to
  14366 ‘icalendar-export-sexp-enumeration-days’ into future.
  14367 
  14368 
  14369 File: org.info,  Node: Other Built-in Backends,  Next: Advanced Export Configuration,  Prev: iCalendar Export,  Up: Exporting
  14370 
  14371 13.16 Other Built-in Backends
  14372 =============================
  14373 
  14374 Other export backends included with Org are:
  14375 
  14376    • ‘ox-man.el’: Export to a man page.
  14377 
  14378    To activate such backends, either customize ‘org-export-backends’ or
  14379 load directly with ‘(require 'ox-man)’.  On successful load, the backend
  14380 adds new keys in the export dispatcher (see *note The Export
  14381 Dispatcher::).
  14382 
  14383    Follow the comment section of such files, for example, ‘ox-man.el’,
  14384 for usage and configuration details.
  14385 
  14386 
  14387 File: org.info,  Node: Advanced Export Configuration,  Next: Export Region,  Prev: Other Built-in Backends,  Up: Exporting
  14388 
  14389 13.17 Advanced Export Configuration
  14390 ===================================
  14391 
  14392 Export hooks
  14393 ------------
  14394 
  14395 The export process executes two hooks before the actual exporting
  14396 begins.  The first hook, ‘org-export-before-processing-functions’, runs
  14397 before any expansions of macros, Babel code, and include keywords in the
  14398 buffer.  The second hook, ‘org-export-before-parsing-functions’, runs
  14399 before the buffer is parsed.
  14400 
  14401    Functions added to these hooks are called with a single argument: the
  14402 export backend actually used, as a symbol.  You may use them for heavy
  14403 duty structural modifications of the document.  For example, you can
  14404 remove every headline in the buffer during export like this:
  14405 
  14406      (defun my-headline-removal (backend)
  14407        "Remove all headlines in the current buffer.
  14408      BACKEND is the export backend being used, as a symbol."
  14409        (org-map-entries
  14410         (lambda ()
  14411           (delete-region (point) (line-beginning-position 2))
  14412           ;; We need to tell `org-map-entries' to not skip over heading at
  14413           ;; point.  Otherwise, it would continue from _next_ heading.  See
  14414           ;; the docstring of `org-map-entries' for details.
  14415           (setq org-map-continue-from (point)))))
  14416 
  14417      (add-hook 'org-export-before-parsing-functions #'my-headline-removal)
  14418 
  14419 Filters
  14420 -------
  14421 
  14422 Filters are lists of functions to be applied to certain parts for a
  14423 given backend.  The output from the first function in the filter is
  14424 passed on to the next function in the filter.  The final output is the
  14425 output from the final function in the filter.
  14426 
  14427    The Org export process has many filter sets applicable to different
  14428 types of objects, plain text, parse trees, export options, and final
  14429 output formats.  The filters are named after the element type or object
  14430 type: ‘org-export-filter-TYPE-functions’, where TYPE is the type
  14431 targeted by the filter.  Valid types are:
  14432 
  14433 body                     bold                     babel-call
  14434 center-block             clock                    code
  14435 diary-sexp               drawer                   dynamic-block
  14436 entity                   example-block            export-block
  14437 export-snippet           final-output             fixed-width
  14438 footnote-definition      footnote-reference       headline
  14439 horizontal-rule          inline-babel-call        inline-src-block
  14440 inlinetask               italic                   item
  14441 keyword                  latex-environment        latex-fragment
  14442 line-break               link                     node-property
  14443 options                  paragraph                parse-tree
  14444 plain-list               plain-text               planning
  14445 property-drawer          quote-block              radio-target
  14446 section                  special-block            src-block
  14447 statistics-cookie        strike-through           subscript
  14448 superscript              table                    table-cell
  14449 table-row                target                   timestamp
  14450 underline                verbatim                 verse-block
  14451 
  14452    Here is an example filter that replaces non-breaking spaces ~ ~ in
  14453 the Org buffer with ‘~’ for the LaTeX backend.
  14454 
  14455      (defun my-latex-filter-nobreaks (text backend info)
  14456        "Ensure \" \" are properly handled in LaTeX export."
  14457        (when (org-export-derived-backend-p backend 'latex)
  14458          (replace-regexp-in-string " " "~" text)))
  14459 
  14460      (add-to-list 'org-export-filter-plain-text-functions
  14461                   'my-latex-filter-nobreaks)
  14462 
  14463    A filter requires three arguments: the code to be transformed, the
  14464 name of the backend, and some optional information about the export
  14465 process.  The third argument can be safely ignored.  Note the use of
  14466 ‘org-export-derived-backend-p’ predicate that tests for _latex_ backend
  14467 or any other backend, such as _beamer_, derived from _latex_.
  14468 
  14469 Defining filters for individual files
  14470 -------------------------------------
  14471 
  14472 The Org export can filter not just for backends, but also for specific
  14473 files through the ‘BIND’ keyword.  Here is an example with two filters;
  14474 one removes brackets from time stamps, and the other removes
  14475 strike-through text.  The filter functions are defined in a code block
  14476 in the same Org file, which is a handy location for debugging.
  14477 
  14478      #+BIND: org-export-filter-timestamp-functions (tmp-f-timestamp)
  14479      #+BIND: org-export-filter-strike-through-functions (tmp-f-strike-through)
  14480      #+BEGIN_SRC emacs-lisp :exports results :results none
  14481        (defun tmp-f-timestamp (s backend info)
  14482          (replace-regexp-in-string "&[lg]t;\\|[][]" "" s))
  14483        (defun tmp-f-strike-through (s backend info) "")
  14484      #+END_SRC
  14485 
  14486 Summary of the export process
  14487 -----------------------------
  14488 
  14489 Org mode export is a multi-step process that works on a temporary copy
  14490 of the buffer.  The export process consists of 4 major steps:
  14491 
  14492   1. Process the temporary copy, making necessary changes to the buffer
  14493      text;
  14494 
  14495   2. Parse the buffer, converting plain Org markup into an abstract
  14496      syntax tree (AST);
  14497 
  14498   3. Convert the AST to text, as prescribed by the selected export
  14499      backend;
  14500 
  14501   4. Post-process the resulting exported text.
  14502 
  14503 Process temporary copy of the source Org buffer (1):
  14504 
  14505   1. Execute ‘org-export-before-processing-functions’ (see *note Export
  14506      hooks::);
  14507 
  14508   2. Expand ‘#+include’ keywords in the whole buffer (see *note Include
  14509      Files::);
  14510 
  14511   3. Remove commented subtrees in the whole buffer (see *note Comment
  14512      Lines::);
  14513 
  14514   4. Replace macros in the whole buffer (see *note Macro Replacement::);
  14515 
  14516   5. When ‘org-export-use-babel’ is non-nil (default), process code
  14517      blocks:
  14518 
  14519         • Leave code blocks inside archived subtrees (see *note Internal
  14520           archiving::) as is;
  14521 
  14522         • Evaluate all the other code blocks according to code block
  14523           headers (see *note Limit code block evaluation::);
  14524 
  14525         • Remove code, results of evaluation, both, or neither according
  14526           to ‘:exports’ header argument (see *note Exporting Code
  14527           Blocks::).
  14528 
  14529 Parse the temporary buffer, creating AST:
  14530 
  14531   1. Execute ‘org-export-before-parsing-functions’ (see *note Export
  14532      hooks::).  The hook functions may still modify the buffer;
  14533 
  14534   2. Calculate export option values according to subtree-specific export
  14535      settings, in-buffer keywords, ‘#+BIND’ keywords, and buffer-local
  14536      and global customization.  The whole buffer is considered;
  14537 
  14538   3. When ‘org-org-with-cite-processors’ is non-nil (default), determine
  14539      contributing bibliographies and record them into export options
  14540      (see *note Citations::).  The whole buffer is considered;
  14541 
  14542   4. Execute ‘org-export-filter-options-functions’;
  14543 
  14544   5. Parse the accessible portion of the temporary buffer to generate an
  14545      AST.  The AST is a nested list of lists representing Org syntax
  14546      elements (see Org Element API
  14547      (https://orgmode.org/worg/dev/org-element-api.html) for more
  14548      details):
  14549 
  14550           (org-data ...
  14551            (heading
  14552             (section
  14553              (paragraph (plain-text) (bold (plain-text))))
  14554             (heading)
  14555             (heading (section ...))))
  14556 
  14557      Past this point, modifications to the temporary buffer no longer
  14558      affect the export; Org export works only with the AST;
  14559 
  14560   6. Remove elements that are not exported from the AST:
  14561 
  14562         • Headings according to ‘SELECT_TAGS’ and ‘EXCLUDE_TAGS’ export
  14563           keywords; ‘task’, ‘inline’, ‘arch’ export options (see *note
  14564           Export Settings::);
  14565 
  14566         • Comments;
  14567 
  14568         • Clocks, drawers, fixed-width environments, footnotes, LaTeX
  14569           environments and fragments, node properties, planning lines,
  14570           property drawers, statistics cookies, timestamps, etc
  14571           according to ‘#+OPTIONS’ keyword (see *note Export
  14572           Settings::);
  14573 
  14574         • Table rows containing width and alignment markers, unless the
  14575           selected export backend changes ‘:with-special-rows’ export
  14576           option to non-nil (see *note Column Width and Alignment::);
  14577 
  14578         • Table columns containing recalc marks (see *note Advanced
  14579           features::).
  14580 
  14581   7. Expand environment variables in file link AST nodes according to
  14582      the ‘expand-links’ export option (see *note Export Settings::);
  14583 
  14584   8. Execute ‘org-export-filter-parse-tree-functions’.  These functions
  14585      can modify the AST by side effects;
  14586 
  14587   9. When ‘org-org-with-cite-processors’ is non-nil (default), replace
  14588      citation AST nodes and ‘#+print_bibliography’ keyword AST nodes as
  14589      prescribed by the selected citation export processor (see *note
  14590      Citation export processors::).
  14591 
  14592 Convert the AST to text by traversing the AST nodes, depth-first:
  14593 
  14594   1. Convert the leaf nodes (without children) to text as prescribed by
  14595      “transcoders” in the selected export backend (2);
  14596 
  14597   2. Pass the converted nodes through the corresponding export filters
  14598      (see *note Filters::);
  14599 
  14600   3. Concatenate all the converted child nodes to produce parent node
  14601      contents;
  14602 
  14603   4. Convert the nodes with children to text, passing the nodes
  14604      themselves and their exported contents to the corresponding
  14605      transcoders and then to the export filters (see *note Filters::).
  14606 
  14607 Post-process the exported text:
  14608 
  14609   1. Post-process the converted AST, as prescribed by the export
  14610      backend.  (3)  This step usually adds generated content (like Table
  14611      of Contents) to the exported text;
  14612 
  14613   2. Execute ‘org-export-filter-body-functions’;
  14614 
  14615   3. Unless body-only export is selected (see *note The Export
  14616      Dispatcher::), add the necessary metadata to the final document, as
  14617      prescribed by the export backend.  Examples: Document author/title;
  14618      HTML headers/footers; LaTeX preamble;
  14619 
  14620   4. When ‘org-org-with-cite-processors’ is non-nil (default), add
  14621      bibliography metadata, as prescribed by the citation export
  14622      processor;
  14623 
  14624   5. Execute ‘org-export-filter-final-output-functions’.
  14625 
  14626 Extending an existing backend
  14627 -----------------------------
  14628 
  14629 Some parts of the conversion process can be extended for certain
  14630 elements so as to introduce a new or revised translation.  That is how
  14631 the HTML export backend was extended to handle Markdown format.  The
  14632 extensions work seamlessly so any aspect of filtering not done by the
  14633 extended backend is handled by the original backend.  Of all the export
  14634 customization in Org, extending is very powerful as it operates at the
  14635 parser level.
  14636 
  14637    For this example, make the _ascii_ backend display the language used
  14638 in a source code block.  Also make it display only when some attribute
  14639 is non-‘nil’, like the following:
  14640 
  14641      #+ATTR_ASCII: :language t
  14642 
  14643    Then extend ASCII backend with a custom “my-ascii” backend.
  14644 
  14645      (defun my-ascii-src-block (src-block contents info)
  14646        "Transcode a SRC-BLOCK element from Org to ASCII.
  14647      CONTENTS is nil.  INFO is a plist used as a communication
  14648      channel."
  14649        (if (not (org-export-read-attribute :attr_ascii src-block :language))
  14650            (org-export-with-backend 'ascii src-block contents info)
  14651          (concat
  14652           (format ",--[ %s ]--\n%s`----"
  14653                   (org-element-property :language src-block)
  14654                   (replace-regexp-in-string
  14655                    "^" "| "
  14656                    (org-element-normalize-string
  14657                     (org-export-format-code-default src-block info)))))))
  14658 
  14659      (org-export-define-derived-backend 'my-ascii 'ascii
  14660        :translate-alist '((src-block . my-ascii-src-block)))
  14661 
  14662    The ‘my-ascii-src-block’ function looks at the attribute above the
  14663 current element.  If not true, hands over to _ascii_ backend.  If true,
  14664 which it is in this example, it creates a box around the code and leaves
  14665 room for the inserting a string for language.  The last form creates the
  14666 new backend that springs to action only when translating ‘src-block’
  14667 type elements.
  14668 
  14669    To use the newly defined backend, evaluate the following from an Org
  14670 buffer:
  14671 
  14672      (org-export-to-buffer 'my-ascii "*Org MY-ASCII Export*")
  14673 
  14674    Further steps to consider would be an interactive function,
  14675 self-installing an item in the export dispatcher menu, and other
  14676 user-friendly improvements.  See
  14677 <https://orgmode.org/worg/dev/org-export-reference.html> for more
  14678 details.
  14679 
  14680    ---------- Footnotes ----------
  14681 
  14682    (1) Unless otherwise specified, each step of the export process only
  14683 operates on the accessible portion of the buffer.  When subtree export
  14684 is selected (see *note The Export Dispatcher::), the buffer is narrowed
  14685 to the body of the selected subtree, so that the rest of the buffer
  14686 text, except export keywords, does not contribute to the export output.
  14687 
  14688    (2) See transcoders and ‘:translate-alist’ in the docstrings of
  14689 ‘org-export-define-backend’ and ‘org-export-define-derived-backend’.
  14690 
  14691    (3) See ‘inner-template’ in the docstring of
  14692 ‘org-export-define-backend’.
  14693 
  14694 
  14695 File: org.info,  Node: Export Region,  Prev: Advanced Export Configuration,  Up: Exporting
  14696 
  14697 13.18 Export Region
  14698 ===================
  14699 
  14700 Some export backends include commands to convert a region of Org
  14701 formatted text to another format, such as HTML or LaTeX.  The conversion
  14702 replaces the original source.  Here are such commands:
  14703 
  14704 ‘org-export-region-to-ascii’
  14705      Convert the selected region into ASCII.
  14706 
  14707 ‘org-export-region-to-utf8’
  14708      Convert the selected region into UTF-8.
  14709 
  14710 ‘org-export-region-to-html’
  14711      Convert the selected region into HTML.
  14712 
  14713 ‘org-export-region-to-latex’
  14714      Convert the selected region into LaTeX.
  14715 
  14716 ‘org-export-region-to-texinfo’
  14717      Convert the selected region into Texinfo.
  14718 
  14719 ‘org-export-region-to-md’
  14720      Convert the selected region into Markdown.
  14721 
  14722    The in-place conversion is particularly handy for quick conversion of
  14723 tables and lists in non-Org buffers.  For example, in an HTML buffer,
  14724 write a list in Org syntax, select it, and convert it to HTML with ‘M-x
  14725 org-html-convert-region-to-html’.
  14726 
  14727 
  14728 File: org.info,  Node: Publishing,  Next: Citation handling,  Prev: Exporting,  Up: Top
  14729 
  14730 14 Publishing
  14731 *************
  14732 
  14733 Org includes a publishing management system that allows you to configure
  14734 automatic HTML conversion of _projects_ composed of interlinked Org
  14735 files.  You can also configure Org to automatically upload your exported
  14736 HTML pages and related attachments, such as images and source code
  14737 files, to a web server.
  14738 
  14739    You can also use Org to convert files into PDF, or even combine HTML
  14740 and PDF conversion so that files are available in both formats on the
  14741 server.
  14742 
  14743    Publishing has been contributed to Org by David O’Toole.
  14744 
  14745 * Menu:
  14746 
  14747 * Configuration::                Defining projects.
  14748 * Uploading Files::              How to get files up on the server.
  14749 * Sample Configuration::         Example projects.
  14750 * Triggering Publication::       Publication commands.
  14751 
  14752 
  14753 File: org.info,  Node: Configuration,  Next: Uploading Files,  Up: Publishing
  14754 
  14755 14.1 Configuration
  14756 ==================
  14757 
  14758 Publishing needs significant configuration to specify files, destination
  14759 and many other properties of a project.
  14760 
  14761 * Menu:
  14762 
  14763 * Project alist::                The central configuration variable.
  14764 * Sources and destinations::     From here to there.
  14765 * Selecting files::              What files are part of the project?
  14766 * Publishing action::            Setting the function doing the publishing.
  14767 * Publishing options::           Tweaking HTML/LaTeX export.
  14768 * Publishing links::             Which links keep working after publishing?
  14769 * Site map::                     Generating a list of all pages.
  14770 * Generating an index::          An index that reaches across pages.
  14771 
  14772 
  14773 File: org.info,  Node: Project alist,  Next: Sources and destinations,  Up: Configuration
  14774 
  14775 14.1.1 The variable ‘org-publish-project-alist’
  14776 -----------------------------------------------
  14777 
  14778 Publishing is configured almost entirely through setting the value of
  14779 one variable, called ‘org-publish-project-alist’.  Each element of the
  14780 list configures one project, and may be in one of the two following
  14781 forms:
  14782 
  14783      ("project-name" :property value :property value ...)
  14784 
  14785 i.e., a well-formed property list with alternating keys and values, or:
  14786 
  14787      ("project-name" :components ("project-name" "project-name" ...))
  14788 
  14789    In both cases, projects are configured by specifying property values.
  14790 A project defines the set of files that are to be published, as well as
  14791 the publishing configuration to use when publishing those files.  When a
  14792 project takes the second form listed above, the individual members of
  14793 the ‘:components’ property are taken to be sub-projects, which group
  14794 together files requiring different publishing options.  When you publish
  14795 such a “meta-project”, all the components are also published, in the
  14796 sequence given.
  14797 
  14798 
  14799 File: org.info,  Node: Sources and destinations,  Next: Selecting files,  Prev: Project alist,  Up: Configuration
  14800 
  14801 14.1.2 Sources and destinations for files
  14802 -----------------------------------------
  14803 
  14804 Most properties are optional, but some should always be set.  In
  14805 particular, Org needs to know where to look for source files, and where
  14806 to put published files.
  14807 
  14808 ‘:base-directory’
  14809      Directory containing publishing source files.
  14810 
  14811 ‘:publishing-directory’
  14812      Directory where output files are published.  You can directly
  14813      publish to a webserver using a file name syntax appropriate for the
  14814      Emacs tramp package.  Or you can publish to a local directory and
  14815      use external tools to upload your website (see *note Uploading
  14816      Files::).
  14817 
  14818 ‘:preparation-function’
  14819      Function or list of functions to be called before starting the
  14820      publishing process, for example, to run ‘make’ for updating files
  14821      to be published.  Each preparation function is called with a single
  14822      argument, the project property list.
  14823 
  14824 ‘:completion-function’
  14825      Function or list of functions called after finishing the publishing
  14826      process, for example, to change permissions of the resulting files.
  14827      Each completion function is called with a single argument, the
  14828      project property list.
  14829 
  14830 
  14831 File: org.info,  Node: Selecting files,  Next: Publishing action,  Prev: Sources and destinations,  Up: Configuration
  14832 
  14833 14.1.3 Selecting files
  14834 ----------------------
  14835 
  14836 By default, all files with extension ‘.org’ in the base directory are
  14837 considered part of the project.  This can be modified by setting the
  14838 following properties
  14839 
  14840 ‘:base-extension’
  14841      Extension—without the dot—of source files.  This actually is a
  14842      regular expression.  Set this to the symbol ‘any’ if you want to
  14843      get all files in ‘:base-directory’, even without extension.
  14844 
  14845 ‘:exclude’
  14846      Regular expression to match file names that should not be
  14847      published, even though they have been selected on the basis of
  14848      their extension.
  14849 
  14850 ‘:include’
  14851      List of files to be included regardless of ‘:base-extension’ and
  14852      ‘:exclude’.
  14853 
  14854 ‘:recursive’
  14855      Non-‘nil’ means, check base-directory recursively for files to
  14856      publish.
  14857 
  14858 
  14859 File: org.info,  Node: Publishing action,  Next: Publishing options,  Prev: Selecting files,  Up: Configuration
  14860 
  14861 14.1.4 Publishing action
  14862 ------------------------
  14863 
  14864 Publishing means that a file is copied to the destination directory and
  14865 possibly transformed in the process.  The default transformation is to
  14866 export Org files as HTML files, and this is done by the function
  14867 ‘org-html-publish-to-html’ which calls the HTML exporter (see *note HTML
  14868 Export::).  But you can also publish your content as PDF files using
  14869 ‘org-latex-publish-to-pdf’, or as ASCII, Texinfo, etc., using the
  14870 corresponding functions.
  14871 
  14872    If you want to publish the Org file as an ‘.org’ file but with
  14873 _archived_, _commented_, and _tag-excluded_ trees removed, use
  14874 ‘org-org-publish-to-org’.  This produces ‘file.org’ and puts it in the
  14875 publishing directory.  If you want a htmlized version of this file, set
  14876 the parameter ‘:htmlized-source’ to ‘t’.  It produces ‘file.org.html’ in
  14877 the publishing directory(1).
  14878 
  14879    Other files like images only need to be copied to the publishing
  14880 destination; for this you can use ‘org-publish-attachment’.  For non-Org
  14881 files, you always need to specify the publishing function:
  14882 
  14883 ‘:publishing-function’
  14884      Function executing the publication of a file.  This may also be a
  14885      list of functions, which are all called in turn.
  14886 
  14887 ‘:htmlized-source’
  14888      Non-‘nil’ means, publish htmlized source.
  14889 
  14890    The function must accept three arguments: a property list containing
  14891 at least a ‘:publishing-directory’ property, the name of the file to be
  14892 published, and the path to the publishing directory of the output file.
  14893 It should take the specified file, make the necessary transformation, if
  14894 any, and place the result into the destination folder.
  14895 
  14896    ---------- Footnotes ----------
  14897 
  14898    (1) If the publishing directory is the same as the source directory,
  14899 ‘file.org’ is exported as ‘file.org.org’, so you probably do not want to
  14900 do this.
  14901 
  14902 
  14903 File: org.info,  Node: Publishing options,  Next: Publishing links,  Prev: Publishing action,  Up: Configuration
  14904 
  14905 14.1.5 Options for the exporters
  14906 --------------------------------
  14907 
  14908 The property list can be used to set many export options for the HTML
  14909 and LaTeX exporters.  In most cases, these properties correspond to user
  14910 variables in Org.  The table below lists these properties along with the
  14911 variable they belong to.  See the documentation string for the
  14912 respective variable for details.
  14913 
  14914    When a property is given a value in ‘org-publish-project-alist’, its
  14915 setting overrides the value of the corresponding user variable, if any,
  14916 during publishing.  Options set within a file (see *note Export
  14917 Settings::), however, override everything.
  14918 
  14919 Generic properties
  14920 ..................
  14921 
  14922 ‘:author’                    ‘user-full-name’
  14923 ‘:email’                     ‘user-mail-address’
  14924 ‘:language’                  ‘org-export-default-language’
  14925 ‘:select-tags’               ‘org-export-select-tags’
  14926 ‘:exclude-tags’              ‘org-export-exclude-tags’
  14927 ‘:creator’                   ‘org-export-creator-string’
  14928 ‘:headline-levels’           ‘org-export-headline-levels’
  14929 ‘:preserve-breaks’           ‘org-export-preserve-breaks’
  14930 ‘:section-numbers’           ‘org-export-with-section-numbers’
  14931 ‘:time-stamp-file’           ‘org-export-timestamp-file’
  14932 ‘:with-archived-trees’       ‘org-export-with-archived-trees’
  14933 ‘:with-author’               ‘org-export-with-author’
  14934 ‘:expand-links’              ‘org-export-expand-links’
  14935 ‘:with-broken-links’         ‘org-export-with-broken-links’
  14936 ‘:with-clocks’               ‘org-export-with-clocks’
  14937 ‘:with-creator’              ‘org-export-with-creator’
  14938 ‘:with-date’                 ‘org-export-with-date’
  14939 ‘:with-drawers’              ‘org-export-with-drawers’
  14940 ‘:with-email’                ‘org-export-with-email’
  14941 ‘:with-emphasize’            ‘org-export-with-emphasize’
  14942 ‘:with-entities’             ‘org-export-with-entities’
  14943 ‘:with-fixed-width’          ‘org-export-with-fixed-width’
  14944 ‘:with-footnotes’            ‘org-export-with-footnotes’
  14945 ‘:with-inlinetasks’          ‘org-export-with-inlinetasks’
  14946 ‘:with-latex’                ‘org-export-with-latex’
  14947 ‘:with-planning’             ‘org-export-with-planning’
  14948 ‘:with-priority’             ‘org-export-with-priority’
  14949 ‘:with-properties’           ‘org-export-with-properties’
  14950 ‘:with-smart-quotes’         ‘org-export-with-smart-quotes’
  14951 ‘:with-special-strings’      ‘org-export-with-special-strings’
  14952 ‘:with-statistics-cookies’   ‘org-export-with-statistics-cookies’
  14953 ‘:with-sub-superscript’      ‘org-export-with-sub-superscripts’
  14954 ‘:with-toc’                  ‘org-export-with-toc’
  14955 ‘:with-tables’               ‘org-export-with-tables’
  14956 ‘:with-tags’                 ‘org-export-with-tags’
  14957 ‘:with-tasks’                ‘org-export-with-tasks’
  14958 ‘:with-timestamps’           ‘org-export-with-timestamps’
  14959 ‘:with-title’                ‘org-export-with-title’
  14960 ‘:with-todo-keywords’        ‘org-export-with-todo-keywords’
  14961 ‘:with-cite-processors’      ‘org-export-process-citations’
  14962 ‘:cite-export’               ‘org-cite-export-processors’
  14963 
  14964 ASCII specific properties
  14965 .........................
  14966 
  14967 ‘:ascii-bullets’                         ‘org-ascii-bullets’
  14968 ‘:ascii-caption-above’                   ‘org-ascii-caption-above’
  14969 ‘:ascii-charset’                         ‘org-ascii-charset’
  14970 ‘:ascii-global-margin’                   ‘org-ascii-global-margin’
  14971 ‘:ascii-format-drawer-function’          ‘org-ascii-format-drawer-function’
  14972 ‘:ascii-format-inlinetask-function’      ‘org-ascii-format-inlinetask-function’
  14973 ‘:ascii-headline-spacing’                ‘org-ascii-headline-spacing’
  14974 ‘:ascii-indented-line-width’             ‘org-ascii-indented-line-width’
  14975 ‘:ascii-inlinetask-width’                ‘org-ascii-inlinetask-width’
  14976 ‘:ascii-inner-margin’                    ‘org-ascii-inner-margin’
  14977 ‘:ascii-links-to-notes’                  ‘org-ascii-links-to-notes’
  14978 ‘:ascii-list-margin’                     ‘org-ascii-list-margin’
  14979 ‘:ascii-paragraph-spacing’               ‘org-ascii-paragraph-spacing’
  14980 ‘:ascii-quote-margin’                    ‘org-ascii-quote-margin’
  14981 ‘:ascii-table-keep-all-vertical-lines’   ‘org-ascii-table-keep-all-vertical-lines’
  14982 ‘:ascii-table-use-ascii-art’             ‘org-ascii-table-use-ascii-art’
  14983 ‘:ascii-table-widen-columns’             ‘org-ascii-table-widen-columns’
  14984 ‘:ascii-text-width’                      ‘org-ascii-text-width’
  14985 ‘:ascii-underline’                       ‘org-ascii-underline’
  14986 ‘:ascii-verbatim-format’                 ‘org-ascii-verbatim-format’
  14987 
  14988 Beamer specific properties
  14989 ..........................
  14990 
  14991 ‘:headline-levels’                ‘org-beamer-frame-level’
  14992 ‘:beamer-subtitle-format’         ‘org-beamer-subtitle-format’
  14993 ‘:beamer-column-view-format’      ‘org-beamer-column-view-format’
  14994 ‘:beamer-theme’                   ‘org-beamer-theme’
  14995 ‘:beamer-environments-extra’      ‘org-beamer-environments-extra’
  14996 ‘:beamer-frame-default-options’   ‘org-beamer-frame-default-options’
  14997 ‘:beamer-outline-frame-options’   ‘org-beamer-outline-frame-options’
  14998 ‘:beamer-outline-frame-title’     ‘org-beamer-outline-frame-title’
  14999 
  15000 HTML specific properties
  15001 ........................
  15002 
  15003 ‘:html-doctype’                                  ‘org-html-doctype’
  15004 ‘:html-container’                                ‘org-html-container-element’
  15005 ‘:html-content-class’                            ‘org-html-content-class’
  15006 ‘:html-html5-fancy’                              ‘org-html-html5-fancy’
  15007 ‘:html-link-use-abs-url’                         ‘org-html-link-use-abs-url’
  15008 ‘:html-link-home’                                ‘org-html-link-home’
  15009 ‘:html-link-up’                                  ‘org-html-link-up’
  15010 ‘:html-equation-reference-format’                ‘org-html-equation-reference-format’
  15011 ‘:html-postamble’                                ‘org-html-postamble’
  15012 ‘:html-preamble’                                 ‘org-html-preamble’
  15013 ‘:html-head’                                     ‘org-html-head’
  15014 ‘:html-head-extra’                               ‘org-html-head-extra’
  15015 ‘:html-head-include-default-style’               ‘org-html-head-include-default-style’
  15016 ‘:html-head-include-scripts’                     ‘org-html-head-include-scripts’
  15017 ‘:html-allow-name-attribute-in-anchors’          ‘org-html-allow-name-attribute-in-anchors’
  15018 ‘:html-divs’                                     ‘org-html-divs’
  15019 ‘:html-checkbox-type’                            ‘org-html-checkbox-type’
  15020 ‘:html-extension’                                ‘org-html-extension’
  15021 ‘:html-footnote-format’                          ‘org-html-footnote-format’
  15022 ‘:html-footnote-separator’                       ‘org-html-footnote-separator’
  15023 ‘:html-footnotes-section’                        ‘org-html-footnotes-section’
  15024 ‘:html-format-drawer-function’                   ‘org-html-format-drawer-function’
  15025 ‘:html-format-headline-function’                 ‘org-html-format-headline-function’
  15026 ‘:html-format-inlinetask-function’               ‘org-html-format-inlinetask-function’
  15027 ‘:html-home/up-format’                           ‘org-html-home/up-format’
  15028 ‘:html-indent’                                   ‘org-html-indent’
  15029 ‘:html-infojs-options’                           ‘org-html-infojs-options’
  15030 ‘:html-infojs-template’                          ‘org-html-infojs-template’
  15031 ‘:html-inline-image-rules’                       ‘org-html-inline-image-rules’
  15032 ‘:html-link-org-files-as-html’                   ‘org-html-link-org-files-as-html’
  15033 ‘:html-mathjax-options’                          ‘org-html-mathjax-options’
  15034 ‘:html-mathjax-template’                         ‘org-html-mathjax-template’
  15035 ‘:html-metadata-timestamp-format’                ‘org-html-metadata-timestamp-format’
  15036 ‘:html-postamble-format’                         ‘org-html-postamble-format’
  15037 ‘:html-preamble-format’                          ‘org-html-preamble-format’
  15038 ‘:html-prefer-user-labels’                       ‘org-html-prefer-user-labels’
  15039 ‘:html-self-link-headlines’                      ‘org-html-self-link-headlines’
  15040 ‘:html-table-align-individual-fields’            ‘org-html-table-align-individual-fields’
  15041 ‘:html-table-caption-above’                      ‘org-html-table-caption-above’
  15042 ‘:html-table-data-tags’                          ‘org-html-table-data-tags’
  15043 ‘:html-table-header-tags’                        ‘org-html-table-header-tags’
  15044 ‘:html-table-use-header-tags-for-first-column’   ‘org-html-table-use-header-tags-for-first-column’
  15045 ‘:html-tag-class-prefix’                         ‘org-html-tag-class-prefix’
  15046 ‘:html-text-markup-alist’                        ‘org-html-text-markup-alist’
  15047 ‘:html-todo-kwd-class-prefix’                    ‘org-html-todo-kwd-class-prefix’
  15048 ‘:html-toplevel-hlevel’                          ‘org-html-toplevel-hlevel’
  15049 ‘:html-use-infojs’                               ‘org-html-use-infojs’
  15050 ‘:html-validation-link’                          ‘org-html-validation-link’
  15051 ‘:html-viewport’                                 ‘org-html-viewport’
  15052 ‘:html-inline-images’                            ‘org-html-inline-images’
  15053 ‘:html-table-attributes’                         ‘org-html-table-default-attributes’
  15054 ‘:html-table-row-open-tag’                       ‘org-html-table-row-open-tag’
  15055 ‘:html-table-row-close-tag’                      ‘org-html-table-row-close-tag’
  15056 ‘:html-xml-declaration’                          ‘org-html-xml-declaration’
  15057 ‘:html-wrap-src-lines’                           ‘org-html-wrap-src-lines’
  15058 ‘:html-klipsify-src’                             ‘org-html-klipsify-src’
  15059 ‘:html-klipse-css’                               ‘org-html-klipse-css’
  15060 ‘:html-klipse-js’                                ‘org-html-klipse-js’
  15061 ‘:html-klipse-selection-script’                  ‘org-html-klipse-selection-script’
  15062 ‘:creator’                                       ‘org-html-creator-string’
  15063 ‘:with-latex’                                    ‘org-html-with-latex’
  15064 
  15065 LaTeX specific properties
  15066 .........................
  15067 
  15068 ‘:latex-class’                           ‘org-latex-default-class’
  15069 ‘:latex-active-timestamp-format’         ‘org-latex-active-timestamp-format’
  15070 ‘:latex-caption-above’                   ‘org-latex-caption-above’
  15071 ‘:latex-classes’                         ‘org-latex-classes’
  15072 ‘:latex-default-figure-position’         ‘org-latex-default-figure-position’
  15073 ‘:latex-default-table-environment’       ‘org-latex-default-table-environment’
  15074 ‘:latex-default-quote-environment’       ‘org-latex-default-quote-environment’
  15075 ‘:latex-default-table-mode’              ‘org-latex-default-table-mode’
  15076 ‘:latex-default-footnote-command’        ‘org-latex-default-footnote-command’
  15077 ‘:latex-diary-timestamp-format’          ‘org-latex-diary-timestamp-format’
  15078 ‘:latex-engraved-options’                ‘org-latex-engraved-options’
  15079 ‘:latex-engraved-preamble’               ‘org-latex-engraved-preamble’
  15080 ‘:latex-engraved-theme’                  ‘org-latex-engraved-theme’
  15081 ‘:latex-footnote-defined-format’         ‘org-latex-footnote-defined-format’
  15082 ‘:latex-footnote-separator’              ‘org-latex-footnote-separator’
  15083 ‘:latex-format-drawer-function’          ‘org-latex-format-drawer-function’
  15084 ‘:latex-format-headline-function’        ‘org-latex-format-headline-function’
  15085 ‘:latex-format-inlinetask-function’      ‘org-latex-format-inlinetask-function’
  15086 ‘:latex-hyperref-template’               ‘org-latex-hyperref-template’
  15087 ‘:latex-image-default-scale’             ‘org-latex-image-default-scale’
  15088 ‘:latex-image-default-height’            ‘org-latex-image-default-height’
  15089 ‘:latex-image-default-option’            ‘org-latex-image-default-option’
  15090 ‘:latex-image-default-width’             ‘org-latex-image-default-width’
  15091 ‘:latex-images-centered’                 ‘org-latex-images-centered’
  15092 ‘:latex-inactive-timestamp-format’       ‘org-latex-inactive-timestamp-format’
  15093 ‘:latex-inline-image-rules’              ‘org-latex-inline-image-rules’
  15094 ‘:latex-link-with-unknown-path-format’   ‘org-latex-link-with-unknown-path-format’
  15095 ‘:latex-src-block-backend’               ‘org-latex-src-block-backend’
  15096 ‘:latex-listings-langs’                  ‘org-latex-listings-langs’
  15097 ‘:latex-listings-options’                ‘org-latex-listings-options’
  15098 ‘:latex-listings-src-omit-language’      ‘org-latex-listings-src-omit-language’
  15099 ‘:latex-minted-langs’                    ‘org-latex-minted-langs’
  15100 ‘:latex-minted-options’                  ‘org-latex-minted-options’
  15101 ‘:latex-prefer-user-labels’              ‘org-latex-prefer-user-labels’
  15102 ‘:latex-subtitle-format’                 ‘org-latex-subtitle-format’
  15103 ‘:latex-subtitle-separate’               ‘org-latex-subtitle-separate’
  15104 ‘:latex-table-scientific-notation’       ‘org-latex-table-scientific-notation’
  15105 ‘:latex-tables-booktabs’                 ‘org-latex-tables-booktabs’
  15106 ‘:latex-tables-centered’                 ‘org-latex-tables-centered’
  15107 ‘:latex-text-markup-alist’               ‘org-latex-text-markup-alist’
  15108 ‘:latex-title-command’                   ‘org-latex-title-command’
  15109 ‘:latex-toc-command’                     ‘org-latex-toc-command’
  15110 ‘:latex-compiler’                        ‘org-latex-compiler’
  15111 
  15112 Markdown specific properties
  15113 ............................
  15114 
  15115 ‘:md-footnote-format’     ‘org-md-footnote-format’
  15116 ‘:md-footnotes-section’   ‘org-md-footnotes-section’
  15117 ‘:md-headline-style’      ‘org-md-headline-style’
  15118 ‘:md-toplevel-hlevel’     ‘org-md-toplevel-hlevel’
  15119 
  15120 ODT specific properties
  15121 .......................
  15122 
  15123 ‘:odt-styles-file’                  ‘org-odt-styles-file’
  15124 ‘:odt-content-template-file’        ‘org-odt-content-template-file’
  15125 ‘:odt-display-outline-level’        ‘org-odt-display-outline-level’
  15126 ‘:odt-fontify-srcblocks’            ‘org-odt-fontify-srcblocks’
  15127 ‘:odt-format-drawer-function’       ‘org-odt-format-drawer-function’
  15128 ‘:odt-format-headline-function’     ‘org-odt-format-headline-function’
  15129 ‘:odt-format-inlinetask-function’   ‘org-odt-format-inlinetask-function’
  15130 ‘:odt-inline-formula-rules’         ‘org-odt-inline-formula-rules’
  15131 ‘:odt-inline-image-rules’           ‘org-odt-inline-image-rules’
  15132 ‘:odt-pixels-per-inch’              ‘org-odt-pixels-per-inch’
  15133 ‘:odt-table-styles’                 ‘org-odt-table-styles’
  15134 ‘:odt-use-date-fields’              ‘org-odt-use-date-fields’
  15135 ‘:with-latex’                       ‘org-odt-with-latex’
  15136 
  15137 Texinfo specific properties
  15138 ...........................
  15139 
  15140 ‘:texinfo-class’                           ‘org-texinfo-default-class’
  15141 ‘:texinfo-classes’                         ‘org-texinfo-classes’
  15142 ‘:texinfo-format-headline-function’        ‘org-texinfo-format-headline-function’
  15143 ‘:texinfo-node-description-column’         ‘org-texinfo-node-description-column’
  15144 ‘:texinfo-active-timestamp-format’         ‘org-texinfo-active-timestamp-format’
  15145 ‘:texinfo-inactive-timestamp-format’       ‘org-texinfo-inactive-timestamp-format’
  15146 ‘:texinfo-diary-timestamp-format’          ‘org-texinfo-diary-timestamp-format’
  15147 ‘:texinfo-link-with-unknown-path-format’   ‘org-texinfo-link-with-unknown-path-format’
  15148 ‘:texinfo-tables-verbatim’                 ‘org-texinfo-tables-verbatim’
  15149 ‘:texinfo-table-scientific-notation’       ‘org-texinfo-table-scientific-notation’
  15150 ‘:texinfo-table-default-markup’            ‘org-texinfo-table-default-markup’
  15151 ‘:texinfo-text-markup-alist’               ‘org-texinfo-text-markup-alist’
  15152 ‘:texinfo-format-drawer-function’          ‘org-texinfo-format-drawer-function’
  15153 ‘:texinfo-format-inlinetask-function’      ‘org-texinfo-format-inlinetask-function’
  15154 ‘:texinfo-compact-itemx’                   ‘org-texinfo-compact-itemx’
  15155 ‘:with-latex’                              ‘org-texinfo-with-latex’
  15156 
  15157 
  15158 File: org.info,  Node: Publishing links,  Next: Site map,  Prev: Publishing options,  Up: Configuration
  15159 
  15160 14.1.6 Publishing links
  15161 -----------------------
  15162 
  15163 To create a link from one Org file to another, you would use something
  15164 like ‘[[file:foo.org][The foo]]’ or simply ‘[[file:foo.org]]’ (see *note
  15165 External Links::).  When published, this link becomes a link to
  15166 ‘foo.html’.  You can thus interlink the pages of your “Org web” project
  15167 and the links will work as expected when you publish them to HTML.  If
  15168 you also publish the Org source file and want to link to it, use an
  15169 ‘http’ link instead of a ‘file:’ link, because ‘file’ links are
  15170 converted to link to the corresponding ‘.html’ file.
  15171 
  15172    Links to encrypted Org files, like ‘[[file:foo.org.gpg]]’ are also
  15173 supported.
  15174 
  15175    You may also link to related files, such as images.  Provided you are
  15176 careful with relative file names, and provided you have also configured
  15177 Org to upload the related files, these links will work too.  See *note
  15178 Complex example::, for an example of this usage.
  15179 
  15180    Links between published documents can contain some search options
  15181 (see *note Search Options::), which will be resolved to the appropriate
  15182 location in the linked file.  For example, once published to HTML, the
  15183 following links all point to a dedicated anchor in ‘foo.html’.
  15184 
  15185      [[file:foo.org::*heading]]
  15186      [[file:foo.org::#custom-id]]
  15187      [[file:foo.org::target]]
  15188 
  15189 
  15190 File: org.info,  Node: Site map,  Next: Generating an index,  Prev: Publishing links,  Up: Configuration
  15191 
  15192 14.1.7 Generating a sitemap
  15193 ---------------------------
  15194 
  15195 The following properties may be used to control publishing of a map of
  15196 files for a given project.
  15197 
  15198 ‘:auto-sitemap’
  15199      When non-‘nil’, publish a sitemap during
  15200      ‘org-publish-current-project’ or ‘org-publish-all’.
  15201 
  15202 ‘:sitemap-filename’
  15203      Filename for output of sitemap.  Defaults to ‘sitemap.org’, which
  15204      becomes ‘sitemap.html’.
  15205 
  15206 ‘:sitemap-title’
  15207      Title of sitemap page.  Defaults to name of file.
  15208 
  15209 ‘:sitemap-style’
  15210      Can be ‘list’ (site-map is just an itemized list of the titles of
  15211      the files involved) or ‘tree’ (the directory structure of the
  15212      source files is reflected in the site-map).  Defaults to ‘tree’.
  15213 
  15214 ‘:sitemap-format-entry’
  15215      With this option one can tell how a site-map entry is formatted in
  15216      the site-map.  It is a function called with three arguments: the
  15217      file or directory name relative to base directory of the project,
  15218      the site-map style and the current project.  It is expected to
  15219      return a string.  Default value turns file names into links and use
  15220      document titles as descriptions.  For specific formatting needs,
  15221      one can use ‘org-publish-find-date’, ‘org-publish-find-title’ and
  15222      ‘org-publish-find-property’, to retrieve additional information
  15223      about published documents.
  15224 
  15225 ‘:sitemap-function’
  15226      Plug-in function to use for generation of the sitemap.  It is
  15227      called with two arguments: the title of the site-map and a
  15228      representation of the files and directories involved in the project
  15229      as a nested list, which can further be transformed using
  15230      ‘org-list-to-generic’, ‘org-list-to-subtree’ and alike.  Default
  15231      value generates a plain list of links to all files in the project.
  15232 
  15233 ‘:sitemap-sort-folders’
  15234      Where folders should appear in the sitemap.  Set this to ‘first’
  15235      (default) or ‘last’ to display folders first or last, respectively.
  15236      When set to ‘ignore’, folders are ignored altogether.  Any other
  15237      value mixes files and folders.  This variable has no effect when
  15238      site-map style is ‘tree’.
  15239 
  15240 ‘:sitemap-sort-files’
  15241      How the files are sorted in the site map.  Set this to
  15242      ‘alphabetically’ (default), ‘chronologically’ or
  15243      ‘anti-chronologically’.  ‘chronologically’ sorts the files with
  15244      older date first while ‘anti-chronologically’ sorts the files with
  15245      newer date first.  ‘alphabetically’ sorts the files alphabetically.
  15246      The date of a file is retrieved with ‘org-publish-find-date’.
  15247 
  15248 ‘:sitemap-ignore-case’
  15249      Should sorting be case-sensitive?  Default ‘nil’.
  15250 
  15251 
  15252 File: org.info,  Node: Generating an index,  Prev: Site map,  Up: Configuration
  15253 
  15254 14.1.8 Generating an index
  15255 --------------------------
  15256 
  15257 Org mode can generate an index across the files of a publishing project.
  15258 
  15259 ‘:makeindex’
  15260      When non-‘nil’, generate in index in the file ‘theindex.org’ and
  15261      publish it as ‘theindex.html’.
  15262 
  15263    The file is created when first publishing a project with the
  15264 ‘:makeindex’ set.  The file only contains a statement ‘#+INCLUDE:
  15265 "theindex.inc"’.  You can then build around this include statement by
  15266 adding a title, style information, etc.
  15267 
  15268    Index entries are specified with ‘INDEX’ keyword.  An entry that
  15269 contains an exclamation mark creates a sub item.
  15270 
  15271      *** Curriculum Vitae
  15272      #+INDEX: CV
  15273      #+INDEX: Application!CV
  15274 
  15275 
  15276 File: org.info,  Node: Uploading Files,  Next: Sample Configuration,  Prev: Configuration,  Up: Publishing
  15277 
  15278 14.2 Uploading Files
  15279 ====================
  15280 
  15281 For those people already utilizing third party sync tools such as Rsync
  15282 or Unison, it might be preferable not to use the built-in remote
  15283 publishing facilities of Org mode which rely heavily on Tramp.  Tramp,
  15284 while very useful and powerful, tends not to be so efficient for
  15285 multiple file transfer and has been known to cause problems under heavy
  15286 usage.
  15287 
  15288    Specialized synchronization utilities offer several advantages.  In
  15289 addition to timestamp comparison, they also do content and
  15290 permissions/attribute checks.  For this reason you might prefer to
  15291 publish your web to a local directory—possibly even _in place_ with your
  15292 Org files—and then use Unison or Rsync to do the synchronization with
  15293 the remote host.
  15294 
  15295    Since Unison, for example, can be configured as to which files to
  15296 transfer to a certain remote destination, it can greatly simplify the
  15297 project publishing definition.  Simply keep all files in the correct
  15298 location, process your Org files with ‘org-publish’ and let the
  15299 synchronization tool do the rest.  You do not need, in this scenario, to
  15300 include attachments such as JPG, CSS or PNG files in the project
  15301 definition since the third-party tool syncs them.
  15302 
  15303    Publishing to a local directory is also much faster than to a remote
  15304 one, so that you can afford more easily to republish entire projects.
  15305 If you set ‘org-publish-use-timestamps-flag’ to ‘nil’, you gain the main
  15306 benefit of re-including any changed external files such as source
  15307 example files you might include with ‘INCLUDE’ keyword.  The timestamp
  15308 mechanism in Org is not smart enough to detect if included files have
  15309 been modified.
  15310 
  15311 
  15312 File: org.info,  Node: Sample Configuration,  Next: Triggering Publication,  Prev: Uploading Files,  Up: Publishing
  15313 
  15314 14.3 Sample Configuration
  15315 =========================
  15316 
  15317 Below we provide two example configurations.  The first one is a simple
  15318 project publishing only a set of Org files.  The second example is more
  15319 complex, with a multi-component project.
  15320 
  15321 * Menu:
  15322 
  15323 * Simple example::               One-component publishing.
  15324 * Complex example::              A multi-component publishing example.
  15325 
  15326 
  15327 File: org.info,  Node: Simple example,  Next: Complex example,  Up: Sample Configuration
  15328 
  15329 14.3.1 Example: simple publishing configuration
  15330 -----------------------------------------------
  15331 
  15332 This example publishes a set of Org files to the ‘public_html’ directory
  15333 on the local machine.
  15334 
  15335      (setq org-publish-project-alist
  15336            '(("org"
  15337               :base-directory "~/org/"
  15338               :publishing-function org-html-publish-to-html
  15339               :publishing-directory "~/public_html"
  15340               :section-numbers nil
  15341               :with-toc nil
  15342               :html-head "<link rel=\"stylesheet\"
  15343                          href=\"../other/mystyle.css\"
  15344                          type=\"text/css\"/>")))
  15345 
  15346 
  15347 File: org.info,  Node: Complex example,  Prev: Simple example,  Up: Sample Configuration
  15348 
  15349 14.3.2 Example: complex publishing configuration
  15350 ------------------------------------------------
  15351 
  15352 This more complicated example publishes an entire website, including Org
  15353 files converted to HTML, image files, Emacs Lisp source code, and style
  15354 sheets.  The publishing directory is remote and private files are
  15355 excluded.
  15356 
  15357    To ensure that links are preserved, care should be taken to replicate
  15358 your directory structure on the web server, and to use relative file
  15359 paths.  For example, if your Org files are kept in ‘~/org/’ and your
  15360 publishable images in ‘~/images/’, you would link to an image with
  15361 
  15362      file:../images/myimage.png
  15363 
  15364    On the web server, the relative path to the image should be the same.
  15365 You can accomplish this by setting up an ‘images/’ folder in the right
  15366 place on the web server, and publishing images to it.
  15367 
  15368      (setq org-publish-project-alist
  15369            `(("orgfiles"
  15370               :base-directory "~/org/"
  15371               :base-extension "org"
  15372               :publishing-directory "/ssh:user@host:~/html/notebook/"
  15373               :publishing-function org-html-publish-to-html
  15374               :exclude ,(rx (or "PrivateFile.org" (seq line-start "private/"))) ;; regexp
  15375               :headline-levels 3
  15376               :section-numbers nil
  15377               :with-toc nil
  15378               :html-head "<link rel=\"stylesheet\"
  15379                        href=\"../other/mystyle.css\" type=\"text/css\"/>"
  15380               :html-preamble t)
  15381 
  15382              ("images"
  15383               :base-directory "~/images/"
  15384               :base-extension "jpg\\|gif\\|png"
  15385               :publishing-directory "/ssh:user@host:~/html/images/"
  15386               :publishing-function org-publish-attachment)
  15387 
  15388              ("other"
  15389               :base-directory "~/other/"
  15390               :base-extension "css\\|el"
  15391               :publishing-directory "/ssh:user@host:~/html/other/"
  15392               :publishing-function org-publish-attachment)
  15393              ("website" :components ("orgfiles" "images" "other"))))
  15394 
  15395 
  15396 File: org.info,  Node: Triggering Publication,  Prev: Sample Configuration,  Up: Publishing
  15397 
  15398 14.4 Triggering Publication
  15399 ===========================
  15400 
  15401 Once properly configured, Org can publish with the following commands:
  15402 
  15403 ‘C-c C-e P x’ (‘org-publish’)
  15404      Prompt for a specific project and publish all files that belong to
  15405      it.
  15406 
  15407 ‘C-c C-e P p’ (‘org-publish-current-project’)
  15408      Publish the project containing the current file.
  15409 
  15410 ‘C-c C-e P f’ (‘org-publish-current-file’)
  15411      Publish only the current file.
  15412 
  15413 ‘C-c C-e P a’ (‘org-publish-all’)
  15414      Publish every project.
  15415 
  15416    Org uses timestamps to track when a file has changed.  The above
  15417 functions normally only publish changed files.  You can override this
  15418 and force publishing of all files by giving a prefix argument to any of
  15419 the commands above, or by customizing the variable
  15420 ‘org-publish-use-timestamps-flag’.  This may be necessary in particular
  15421 if files include other files via ‘SETUPFILE’ or ‘INCLUDE’ keywords.
  15422 
  15423 
  15424 File: org.info,  Node: Citation handling,  Next: Working with Source Code,  Prev: Publishing,  Up: Top
  15425 
  15426 15 Citation handling
  15427 ********************
  15428 
  15429 While links (see *note Hyperlinks::) are often sufficient to refer to
  15430 external or internal information from Org, they have their limitations
  15431 when referring to multiple targets or typesetting printed publications.
  15432 
  15433    Org mode provides a more sophisticated markup to “cite” external
  15434 resources.  For example, consider the following Org mode snippet
  15435 
  15436      #+bibliography: citationdata.bib
  15437 
  15438      Org mode is used by various communities [cite:teaching: @orgteaching;
  15439      and TeX: @orgtex].  [cite/author/caps:@orgtex] uses Org mode to simplify
  15440      writing scientific publications, while [cite/author/caps:@orgteaching]
  15441      experiment with Org babel to improve teaching.
  15442 
  15443      #+print_bibliography:
  15444 
  15445    Org mode will gather citation metadata from the ‘#+bibliography’
  15446 database and use it to typeset the exported document in arbitrary
  15447 formats.  For example, the snippet below shows ASCII export output.
  15448 
  15449      Org mode is used by various communities (teaching: Birkenkrahe, Marcus,
  15450      2023, and TeX: Somma, Emmanuele F, 2023).  Somma, Emmanuele F uses Org
  15451      mode to simplify writing scientific publications, while Birkenkrahe,
  15452      Marcus experiment with Org babel to improve teaching.
  15453 
  15454      Birkenkrahe, Marcus (2023). /Teaching Data Science with Literate
  15455      Programming Tools/, MDPI.
  15456 
  15457      Somma, Emmanuele F (2023). /Simplifying LaTeX with ORG-mode in Emacs/,
  15458      TUGboat volume.
  15459 
  15460    In addition to export, users can use completion to search and insert
  15461 citations from the bibliography (via ‘org-cite-insert’).  Citations also
  15462 act like ordinary links, jumping to the citation metadata when
  15463 “following” them using ‘org-open-at-point’.
  15464 
  15465    You can customize every aspect (_capability_) of citation handling
  15466 using built-in or external _citation processors_.
  15467 
  15468    Org mode ships with several built-in citation processors tailored to
  15469 work with LaTeX export and BibTeX bibliographies (‘bibtex’, ‘biblatex’,
  15470 and ‘natbib’ processors), or with more generic formats described using
  15471 Citation Style Language (https://citationstyles.org/) (‘csl’ processor).
  15472 The default citation processor is ‘basic’ - it works with arbitrary
  15473 export formats and recognizes both BibTeX and CSL bibliographies.  More
  15474 citation processors are distributed as Emacs packages.
  15475 
  15476    Multiple citation processors can be mixed to meet your preferences.
  15477 Configure ‘org-cite-activate-processor’, ‘org-cite-follow-processor’,
  15478 ‘org-cite-insert-processor’, and ‘org-cite-export-processors’ to select
  15479 which processor to use for every citation capability:
  15480 
  15481 activate
  15482      Fontification, tooltip preview, etc.
  15483 follow
  15484      At-point actions on citations via ‘org-open-at-point’.
  15485 insert
  15486      Add and edit citations via ‘org-cite-insert’.
  15487 export
  15488      Via different libraries for different target formats.
  15489 
  15490 * Menu:
  15491 
  15492 * Citations::
  15493 * Citation export processors::
  15494 * Bibliography printing::
  15495 
  15496 
  15497 File: org.info,  Node: Citations,  Next: Citation export processors,  Up: Citation handling
  15498 
  15499 15.1 Citations
  15500 ==============
  15501 
  15502 Before adding citations, first set one-or-more bibliographies, either
  15503 globally with ‘org-cite-global-bibliography’, or locally using one or
  15504 more “bibliography” keywords.
  15505 
  15506      #+bibliography: SomeFile.bib
  15507      #+bibliography: /some/other/file.json
  15508      #+bibliography: "/some/file/with spaces/in its name.bib"
  15509 
  15510    Org mode uses all the local and global bibliographies combined to
  15511 search for citation keys.
  15512 
  15513    One can then insert and edit citations using ‘org-cite-insert’,
  15514 called with ‘C-c C-x @’.
  15515 
  15516    A _citation_ requires one or more citation _key(s)_, elements
  15517 identifying a reference in the bibliography.
  15518 
  15519    • Each citation is surrounded by brackets and uses the ‘cite’ type.
  15520 
  15521    • Each key starts with the character ‘@’.
  15522 
  15523           [cite:@key]
  15524 
  15525    • Each key can be qualified by a _prefix_ (e.g. “see ”) and/or a
  15526      _suffix_ (e.g. “p. 123”), giving information useful or necessary
  15527      for the comprehension of the citation but not included in the
  15528      reference.
  15529 
  15530           [cite:see @key p. 123]
  15531 
  15532    • A single citation can cite more than one reference ; the keys are
  15533      separated by semicolons ; the formatting of such citation groups is
  15534      specified by the style.
  15535 
  15536           [cite:@key1;@key2;@key3]
  15537 
  15538    • One can also specify a stylistic variation for the citations by
  15539      inserting a ‘/’ and a style name between the ‘cite’ keyword and the
  15540      colon; this usually makes sense only for the author-year styles.
  15541 
  15542           [cite/style:common prefix ;prefix @key suffix; ... ; common suffix]
  15543 
  15544      When ‘style’ is not specified, one of the two default styles are
  15545      used
  15546 
  15547         • either the default style specified in the ‘CITE_EXPORT’
  15548           keyword (see *note Citation export processors::)
  15549 
  15550                #+cite_export: basic numeric noauthor/bare
  15551                [cite:@key] is the same as [cite/noauthor/bare:@key]
  15552 
  15553         • or, if ‘CITE_EXPORT’ is not set, using the default ‘nil’ style
  15554 
  15555                [cite:@key] is the same as [cite/nil:@key]
  15556 
  15557    The only mandatory elements are:
  15558 
  15559    • The ‘cite’ keyword and the colon.
  15560    • The ‘@’ character immediately preceding each key.
  15561    • The brackets surrounding the citation(s) (group).
  15562 
  15563 
  15564 File: org.info,  Node: Citation export processors,  Next: Bibliography printing,  Prev: Citations,  Up: Citation handling
  15565 
  15566 15.2 Citation export processors
  15567 ===============================
  15568 
  15569 Org currently includes the following export processors:
  15570 
  15571    • Two processors can export to a variety of formats, including
  15572      ‘latex’ (and therefore ‘pdf’), ‘html’, ‘odt’ and plain (UTF8) text:
  15573 
  15574      basic
  15575           a basic export processor, well adapted to situations where
  15576           backward compatibility is not a requirement and formatting
  15577           needs are minimal;
  15578 
  15579      csl
  15580           this export processor uses format files written in Citation
  15581           Style Language
  15582           (https://en.wikipedia.org/wiki/Citation_Style_Language) via
  15583           citeproc-el (https://github.com/andras-simonyi/citeproc-el);
  15584 
  15585    • In contrast, three other processors target LaTeX and LaTeX-derived
  15586      formats exclusively:
  15587 
  15588      bibtex
  15589           this export processor uses BibTeX, the historical
  15590           bibliographic processor used with LaTeX, thus allowing the use
  15591           of data and style files compatible with this processor
  15592           (including a large number of publishers’ styles).  It only
  15593           supports LaTeX’s ‘\cite’ and ‘\nocite’ commands.
  15594 
  15595      natbib
  15596           as with the bibtex processor, but using the LaTeX package
  15597           ‘natbib’, allowing more stylistic variants that LaTeX’s
  15598           ‘\cite’ command.
  15599 
  15600      biblatex
  15601           this backend allows the use of data and formats prepared for
  15602           BibLaTeX, an alternate bibliographic processor used with
  15603           LaTeX, which overcomes some serious BibTeX limitations, but
  15604           has not (yet?) been widely adopted by publishers.
  15605 
  15606    The ‘CITE_EXPORT’ keyword specifies the export processor, citation
  15607 style, and bibliography style; for example (all arguments are optional)
  15608 
  15609      #+cite_export: [export processor name] [bibliography style] [default citation style]
  15610      #+cite_export: basic author-year author
  15611 
  15612 specifies the ‘basic’ export processor with citations inserted as
  15613 author’s name and references indexed by author’s names and year;
  15614 
  15615      #+cite_export: csl /some/path/to/vancouver-brackets.csl
  15616 
  15617 specifies the ‘csl’ processor and CSL style, which in this case defines
  15618 numeric citations and numeric references according to the ‘Vancouver’
  15619 specification (as style used in many medical journals), following a
  15620 typesetting variation putting citations between brackets;
  15621 
  15622      #+cite_export: natbib kluwer
  15623 
  15624 specifies the ‘natbib’ export processor with a label citation style
  15625 conformant to the Harvard style and the specification of the
  15626 Wolkers-Kluwer publisher; since it relies on the ‘bibtex’ processor of
  15627 your LaTeX installation, it won’t export to anything but PDF.
  15628 
  15629      #+cite_export: biblatex numeric,backend=bibtex
  15630 
  15631 specifies the ‘biblatex’ export processor with the default ‘numeric’
  15632 style and the ‘bibtex’ backend.  Always define the style first and then
  15633 the rest of load-time options for the ‘biblatex’ package.
  15634 Alternatively, you can use the ‘key=val,key=val’ format for the options
  15635 as documented in the ‘biblatex’ package documentation:
  15636 
  15637      #+cite_export: biblatex backend=bibtex,style=numeric
  15638 
  15639    The ‘org-cite-biblatex-options’ variable in your Emacs configuration
  15640 uses this format.  It will only export to PDF, since it relies on the
  15641 ‘biblatex’ processor of your LaTeX installation.
  15642 
  15643 
  15644 File: org.info,  Node: Bibliography printing,  Prev: Citation export processors,  Up: Citation handling
  15645 
  15646 15.3 Bibliography printing
  15647 ==========================
  15648 
  15649 The ‘PRINT_BIBLIOGRAPHY’ keyword specifies where the bibliography should
  15650 be printed (note the colon):
  15651 
  15652      #+print_bibliography:
  15653 
  15654    The bibliography printed by the LaTeX-based export processors
  15655 ‘bibtex’, ‘natbib’ and ‘biblatex’ has a chapter or section heading by
  15656 default, while the ‘basic’ and ‘csl’ processors print the list of
  15657 bibliography entries without a heading.
  15658 
  15659    A document may contain more than one ‘PRINT_BIBLIOGRAPHY’ keywords.
  15660 Each of the keywords will trigger printing the bibliography.
  15661 
  15662    The keywords can be used with or without additional options.  Options
  15663 can be used, for example, to print only entries that belong to a certain
  15664 category or to control formatting.  The set of supported
  15665 ‘PRINT_BIBLIOGRAPHY’ options and their interpretation varies between the
  15666 different citation export processors.  Some export processors do not
  15667 support passing options.
  15668 
  15669 * Menu:
  15670 
  15671 * Bibliography options in the biblatex and csl export processors::
  15672 
  15673 
  15674 File: org.info,  Node: Bibliography options in the biblatex and csl export processors,  Up: Bibliography printing
  15675 
  15676 15.3.1 Bibliography options in the ‘biblatex’ and ‘csl’ export processors
  15677 -------------------------------------------------------------------------
  15678 
  15679 The ‘biblatex’ and ‘csl’ export processors support bibliography options
  15680 through a property list attached to the ‘PRINT_BIBLIOGRAPHY’ keyword.
  15681 For example,
  15682 
  15683      #+print_bibliography: :keyword algebra :type book
  15684 
  15685    Values including spaces must be surrounded with double quotes.  If
  15686 you need to use a key multiple times, you can separate its values with
  15687 commas, but without any space in-between:
  15688 
  15689      #+print_bibliography: :keyword "algebraic logic" :nottype article,book
  15690 
  15691    The ‘biblatex’ export processor accepts all options supported by
  15692 BibLaTeX’s ‘\printbibliography’ command.
  15693 
  15694    The ‘csl’ processor accepts the following options:
  15695 
  15696 ‘:keyword <keyword(,keyword2...)>’
  15697      Print only entries whose keyword field contains all given keywords.
  15698 
  15699 ‘:notkeyword <keyword(,keyword2...)>’
  15700      Print only entries whose keyword field does not contain any of the
  15701      given keywords.
  15702 
  15703 ‘:type <entrytype>’
  15704      Print only entries whose type is ‘<entrytype>’.  Entry type is the
  15705      BibTeX/BibLaTeX entry type if this information is available (the
  15706      entry was read from a BibTeX/BibLaTeX bibliography) and the CSL
  15707      entry type otherwise.
  15708 
  15709 ‘:nottype <entrytype(,entrytype2...)>’
  15710      Print only entries whose type is not among the given entry types.
  15711      Entry type is determined as in the case of ‘:type’.
  15712 
  15713 ‘:csltype <entrytype>’
  15714      Print only entries whose CSL entry type (possibly based on a
  15715      conversion from BibTeX/BibLaTeX to CSL) is ‘<entrytype>’.
  15716 
  15717 ‘:notcsltype <entrytype(,entrytype2...)>’
  15718      Print only entries whose CSL entry type (possibly based on a
  15719      conversion from BibTeX/BibLaTeX to CSL) is not among the listed
  15720      entry types.
  15721 
  15722 ‘:filter <predicate>’
  15723      Print only entries for which the given Emacs Lisp predicate returns
  15724      a non-‘nil’ value.
  15725 
  15726 
  15727 File: org.info,  Node: Working with Source Code,  Next: Miscellaneous,  Prev: Citation handling,  Up: Top
  15728 
  15729 16 Working with Source Code
  15730 ***************************
  15731 
  15732 Source code here refers to any plain text collection of computer
  15733 instructions, possibly with comments, written using a human-readable
  15734 programming language.  Org can manage source code in an Org document
  15735 when the source code is identified with begin and end markers.  Working
  15736 with source code begins with identifying source code blocks.  A source
  15737 code block can be placed almost anywhere in an Org document; it is not
  15738 restricted to the preamble or the end of the document.  However, Org
  15739 cannot manage a source code block if it is placed inside an Org comment
  15740 or within a fixed width section.
  15741 
  15742    Here is an example source code block in the Emacs Lisp language:
  15743 
  15744      #+BEGIN_SRC emacs-lisp
  15745        (defun org-xor (a b)
  15746           "Exclusive or."
  15747           (if a (not b) b))
  15748      #+END_SRC
  15749 
  15750    Source code blocks are one of many Org block types, which also
  15751 include “center”, “comment”, “dynamic”, “example”, “export”, “quote”,
  15752 “special”, and “verse”.  This section pertains to blocks between
  15753 ‘#+BEGIN_SRC’ and ‘#+END_SRC’.
  15754 
  15755    Details of Org’s facilities for working with source code are
  15756 described in the following sections.
  15757 
  15758 * Menu:
  15759 
  15760 * Features Overview::            Enjoy the versatility of source blocks.
  15761 * Structure of Code Blocks::     Code block syntax described.
  15762 * Using Header Arguments::       Different ways to set header arguments.
  15763 * Environment of a Code Block::  Arguments, sessions, working directory...
  15764 * Evaluating Code Blocks::       Place results of evaluation in the Org buffer.
  15765 * Results of Evaluation::        Choosing a results type, post-processing...
  15766 * Exporting Code Blocks::        Export contents and/or results.
  15767 * Extracting Source Code::       Create pure source code files.
  15768 * Languages::                    List of supported code block languages.
  15769 * Editing Source Code::          Language major-mode editing.
  15770 * Noweb Reference Syntax::       Literate programming in Org mode.
  15771 * Library of Babel::             Use and contribute to a library of useful code blocks.
  15772 * Key bindings and Useful Functions:: Work quickly with code blocks.
  15773 * Batch Execution::              Call functions from the command line.
  15774 
  15775 
  15776 File: org.info,  Node: Features Overview,  Next: Structure of Code Blocks,  Up: Working with Source Code
  15777 
  15778 16.1 Features Overview
  15779 ======================
  15780 
  15781 Org can manage the source code in the block delimited by ‘#+BEGIN_SRC’
  15782 ... ‘#+END_SRC’ in several ways that can simplify housekeeping tasks
  15783 essential to modern source code maintenance.  Org can edit, format,
  15784 extract, export, and publish source code blocks.  Org can also compile
  15785 and execute a source code block, then capture the results.  The Org mode
  15786 literature sometimes refers to source code blocks as _live code_ blocks
  15787 because they can alter the content of the Org document or the material
  15788 that it exports.  Users can control the “liveliness” of each source code
  15789 block by tweaking the header arguments (see *note Using Header
  15790 Arguments::) for compiling, execution, extraction, and exporting.
  15791 
  15792    For editing and formatting a source code block, Org uses an
  15793 appropriate Emacs major mode that includes features specifically
  15794 designed for source code in that language.
  15795 
  15796    Org can extract one or more source code blocks and write them to one
  15797 or more source files—a process known as _tangling_ in literate
  15798 programming terminology.
  15799 
  15800    For exporting and publishing, Org’s backends can format a source code
  15801 block appropriately, often with native syntax highlighting.
  15802 
  15803    For executing and compiling a source code block, the user can
  15804 configure Org to select the appropriate compiler.  Org provides
  15805 facilities to collect the result of the execution or compiler output,
  15806 insert it into the Org document, and/or export it.  In addition to text
  15807 results, Org can insert links to other data types, including audio,
  15808 video, and graphics.  Org can also link a compiler error message to the
  15809 appropriate line in the source code block.
  15810 
  15811    An important feature of Org’s management of source code blocks is the
  15812 ability to pass variables, functions, and results to one another using a
  15813 common syntax for source code blocks in any language.  Although most
  15814 literate programming facilities are restricted to one language or
  15815 another, Org’s language-agnostic approach lets the literate programmer
  15816 match each programming task with the appropriate computer language and
  15817 to mix them all together in a single Org document.  This
  15818 interoperability among languages explains why Org’s source code
  15819 management facility was named _Org Babel_ by its originators, Eric
  15820 Schulte and Dan Davison.
  15821 
  15822    Org mode fulfills the promise of easy verification and maintenance of
  15823 publishing reproducible research by keeping text, data, code,
  15824 configuration settings of the execution environment, the results of the
  15825 execution, and associated narratives, claims, references, and internal
  15826 and external links in a single Org document.
  15827 
  15828 
  15829 File: org.info,  Node: Structure of Code Blocks,  Next: Using Header Arguments,  Prev: Features Overview,  Up: Working with Source Code
  15830 
  15831 16.2 Structure of Code Blocks
  15832 =============================
  15833 
  15834 Org offers two ways to structure source code in Org documents: in a
  15835 source code block, and directly inline.  Both specifications are shown
  15836 below.
  15837 
  15838    A source code block conforms to this structure:
  15839 
  15840      #+NAME: <name>
  15841      #+BEGIN_SRC <language> <switches> <header arguments>
  15842        <body>
  15843      #+END_SRC
  15844 
  15845    Do not be put-off by having to remember the source block syntax.  Org
  15846 mode offers a command for wrapping existing text in a block (see *note
  15847 Structure Templates::).  Org also works with other completion systems in
  15848 Emacs, some of which predate Org and have custom domain-specific
  15849 languages for defining templates.  Regular use of templates reduces
  15850 errors, increases accuracy, and maintains consistency.
  15851 
  15852    An inline code block conforms to this structure:
  15853 
  15854      src_<language>{<body>}
  15855 
  15856 or
  15857 
  15858      src_<language>[<header arguments>]{<body>}
  15859 
  15860 ‘#+NAME: <name>’
  15861      Optional.  Names the source block so it can be called, like a
  15862      function, from other source blocks or inline code to evaluate or to
  15863      capture the results.  Code from other blocks, other files, and from
  15864      table formulas (see *note The Spreadsheet::) can use the name to
  15865      reference a source block.  This naming serves the same purpose as
  15866      naming Org tables.  Org mode requires unique names.  For duplicate
  15867      names, Org mode’s behavior is undefined.  Inline code blocks cannot
  15868      have a name.
  15869 
  15870 ‘#+BEGIN_SRC’ ... ‘#+END_SRC’
  15871      Mandatory.  They mark the start and end of a block that Org
  15872      requires.  The ‘#+BEGIN_SRC’ line takes additional arguments, as
  15873      described next.
  15874 
  15875 ‘<language>’
  15876      Optional.  It is the identifier of the source code language in the
  15877      block.  See *note Languages::, for identifiers of supported
  15878      languages.
  15879 
  15880      When ‘<language>’ identifier is omitted, the block also cannot have
  15881      ‘<switches>’ and ‘<header arguments>’.
  15882 
  15883      Language identifier is also used to fontify code blocks in Org
  15884      buffers, when ‘org-src-fontify-natively’ is set to non-‘nil’.  See
  15885      *note Editing Source Code::.
  15886 
  15887 ‘<switches>’
  15888      Optional.  Switches provide finer control of the code execution,
  15889      export, and format (see the discussion of switches in *note Literal
  15890      Examples::).
  15891 
  15892 ‘<header arguments>’
  15893      Optional.  Heading arguments control many aspects of evaluation,
  15894      export and tangling of code blocks (see *note Using Header
  15895      Arguments::).  Using Org’s properties feature, header arguments can
  15896      be selectively applied to the entire buffer or specific subtrees of
  15897      the Org document.
  15898 
  15899 ‘<body>’
  15900      Source code in the dialect of the specified language identifier.
  15901 
  15902 
  15903 File: org.info,  Node: Using Header Arguments,  Next: Environment of a Code Block,  Prev: Structure of Code Blocks,  Up: Working with Source Code
  15904 
  15905 16.3 Using Header Arguments
  15906 ===========================
  15907 
  15908 Org comes with many header arguments common to all languages.  New
  15909 header arguments are added for specific languages as they become
  15910 available for use in source code blocks.  A header argument is specified
  15911 with an initial colon followed by the argument’s name in lowercase.
  15912 
  15913    Since header arguments can be set in several ways, Org prioritizes
  15914 them in case of overlaps or conflicts by giving local settings a higher
  15915 priority.  Header values in function calls, for example, override header
  15916 values from global defaults.
  15917 
  15918 System-wide header arguments
  15919 ----------------------------
  15920 
  15921 System-wide values of header arguments can be specified by customizing
  15922 the ‘org-babel-default-header-args’ variable, which defaults to the
  15923 following values:
  15924 
  15925      :session    => "none"
  15926      :results    => "replace"
  15927      :exports    => "code"
  15928      :cache      => "no"
  15929      :noweb      => "no"
  15930      :hlines     => "no"
  15931      :tangle     => "no"
  15932 
  15933    Inline source blocks (see *note Structure of Code Blocks::) use
  15934 slightly different default header arguments defined in
  15935 ‘org-babel-default-inline-header-args’:
  15936 
  15937      :session    => "none"
  15938      :results    => "replace"
  15939      :exports    => "results"
  15940      :hlines     => "yes"
  15941 
  15942    The most notable difference between default header arguments for
  15943 inline and normal source blocks is ‘:exports’ argument.  For inline
  15944 source blocks, results of evaluation are exported by default; not the
  15945 code.
  15946 
  15947    Unlike the default values, header arguments set using Org mode
  15948 properties (see *note Header arguments in Org mode properties::) do
  15949 apply to both the normal source blocks and inline source blocks.
  15950 
  15951    The example below sets ‘:noweb’ header arguments to ‘yes’, which
  15952 makes Org expand ‘:noweb’ references by default.
  15953 
  15954      (setq org-babel-default-header-args
  15955            (cons '(:noweb . "yes")
  15956                  (assq-delete-all :noweb org-babel-default-header-args)))
  15957 
  15958    Each language can have separate default header arguments by
  15959 customizing the variable ‘org-babel-default-header-args:<LANG>’, where
  15960 <LANG> is the name of the language.  For details, see the
  15961 language-specific online documentation at
  15962 <https://orgmode.org/worg/org-contrib/babel/>.
  15963 
  15964 Header arguments in Org mode properties
  15965 ---------------------------------------
  15966 
  15967 For header arguments applicable to the buffer, use ‘PROPERTY’ keyword
  15968 anywhere in the Org file (see *note Property Syntax::).
  15969 
  15970    The following example makes all the R code blocks execute in the same
  15971 session.  Setting ‘:results’ to ‘silent’ ignores the results of
  15972 executions for all blocks, not just R code blocks; no results inserted
  15973 for any block.
  15974 
  15975      #+PROPERTY: header-args:R  :session *R*
  15976      #+PROPERTY: header-args    :results silent
  15977 
  15978    Header arguments set through Org’s property drawers (see *note
  15979 Property Syntax::) apply at the subtree level on down.  Since these
  15980 property drawers can appear anywhere in the file hierarchy, Org uses
  15981 outermost call or source block to resolve the values.  Org ignores
  15982 ‘org-use-property-inheritance’ setting.
  15983 
  15984    In this example, ‘:cache’ defaults to ‘yes’ for all code blocks in
  15985 the subtree.
  15986 
  15987      * sample header
  15988        :PROPERTIES:
  15989        :header-args:    :cache yes
  15990        :END:
  15991 
  15992    Properties defined through ‘org-set-property’ function, bound to ‘C-c
  15993 C-x p’, apply to all active languages.  They override properties set in
  15994 ‘org-babel-default-header-args’.
  15995 
  15996    Language-specific header arguments are also read from properties
  15997 ‘header-args:<LANG>’ where <LANG> is the language identifier.  For
  15998 example,
  15999 
  16000      * Heading
  16001        :PROPERTIES:
  16002        :header-args:clojure:    :session *clojure-1*
  16003        :header-args:R:          :session *R*
  16004        :END:
  16005      ** Subheading
  16006        :PROPERTIES:
  16007        :header-args:clojure:    :session *clojure-2*
  16008        :END:
  16009 
  16010 would force separate sessions for Clojure blocks in ‘Heading’ and
  16011 ‘Subheading’, but use the same session for all R blocks.  Blocks in
  16012 ‘Subheading’ inherit settings from ‘Heading’.
  16013 
  16014 Code block specific header arguments
  16015 ------------------------------------
  16016 
  16017 Header arguments are most commonly set at the source code block level,
  16018 on the ‘#+BEGIN_SRC’ line.  Arguments set at this level take precedence
  16019 over those set in the ‘org-babel-default-header-args’ variable, and also
  16020 those set as header properties.
  16021 
  16022    In the following example, setting ‘:results’ to ‘silent’ makes it
  16023 ignore results of the code execution.  Setting ‘:exports’ to ‘code’
  16024 exports only the body of the code block to HTML or LaTeX.
  16025 
  16026      #+NAME: factorial
  16027      #+BEGIN_SRC haskell :results silent :exports code :var n=0
  16028        fac 0 = 1
  16029        fac n = n * fac (n-1)
  16030      #+END_SRC
  16031 
  16032    The same header arguments in an inline code block:
  16033 
  16034      src_haskell[:exports both]{fac 5}
  16035 
  16036    Code block header arguments can span multiple lines using ‘#+HEADER:’
  16037 on each line.  Note that Org currently accepts the plural spelling of
  16038 ‘#+HEADER:’ only as a convenience for backward-compatibility.  It may be
  16039 removed at some point.
  16040 
  16041    Multi-line header arguments on an unnamed code block:
  16042 
  16043      #+HEADER: :var data1=1
  16044      #+BEGIN_SRC emacs-lisp :var data2=2
  16045         (message "data1:%S, data2:%S" data1 data2)
  16046      #+END_SRC
  16047 
  16048      #+RESULTS:
  16049      : data1:1, data2:2
  16050 
  16051    Multi-line header arguments on a named code block:
  16052 
  16053      #+NAME: named-block
  16054      #+HEADER: :var data=2
  16055      #+BEGIN_SRC emacs-lisp
  16056        (message "data:%S" data)
  16057      #+END_SRC
  16058 
  16059      #+RESULTS: named-block
  16060        : data:2
  16061 
  16062 Header arguments in function calls
  16063 ----------------------------------
  16064 
  16065 Header arguments in function calls are the most specific and override
  16066 all other settings in case of an overlap.  They get the highest
  16067 priority.  Two ‘#+CALL:’ examples are shown below.  For the complete
  16068 syntax of ‘CALL’ keyword, see *note Evaluating Code Blocks::.
  16069 
  16070    In this example, ‘:exports results’ header argument is applied to the
  16071 evaluation of the ‘#+CALL:’ line.
  16072 
  16073      #+CALL: factorial(n=5) :exports results
  16074 
  16075    In this example, ‘:session special’ header argument is applied to the
  16076 evaluation of ‘factorial’ code block.
  16077 
  16078      #+CALL: factorial[:session special](n=5)
  16079 
  16080 
  16081 File: org.info,  Node: Environment of a Code Block,  Next: Evaluating Code Blocks,  Prev: Using Header Arguments,  Up: Working with Source Code
  16082 
  16083 16.4 Environment of a Code Block
  16084 ================================
  16085 
  16086 Passing arguments
  16087 -----------------
  16088 
  16089 Use ‘var’ for passing arguments to source code blocks.  The specifics of
  16090 variables in code blocks vary by the source language and are covered in
  16091 the language-specific documentation.  The syntax for ‘var’, however, is
  16092 the same for all languages.  This includes declaring a variable, and
  16093 assigning a default value.
  16094 
  16095    The following syntax is used to pass arguments to code blocks using
  16096 the ‘var’ header argument.
  16097 
  16098      :var NAME=ASSIGN
  16099 
  16100 NAME is the name of the variable bound in the code block body.  ASSIGN
  16101 is a literal value, such as a string, a number, a reference to a table,
  16102 a list, a literal example, another code block—with or without
  16103 arguments—or the results of evaluating a code block.  ASSIGN may specify
  16104 a filename for references to elements in a different file, using a ‘:’
  16105 to separate the filename from the reference.
  16106 
  16107      :var NAME=FILE:REFERENCE
  16108 
  16109    When ‘FILE’ does not exist, the reference is searched in the current
  16110 file, using the verbatim reference.  This way, ‘:var table=tbl:example’
  16111 will be searched inside the current buffer.
  16112 
  16113    Here are examples of passing values by reference:
  16114 
  16115 table
  16116      A table named with a ‘NAME’ keyword.
  16117 
  16118           #+NAME: example-table
  16119           | 1 |
  16120           | 2 |
  16121           | 3 |
  16122           | 4 |
  16123 
  16124           #+NAME: table-length
  16125           #+BEGIN_SRC emacs-lisp :var table=example-table
  16126             (length table)
  16127           #+END_SRC
  16128 
  16129           #+RESULTS: table-length
  16130           : 4
  16131 
  16132      When passing a table, you can treat specially the row, or the
  16133      column, containing labels for the columns, or the rows, in the
  16134      table.
  16135 
  16136      The ‘colnames’ header argument accepts ‘yes’, ‘no’, or ‘nil’
  16137      values.  The default value is ‘nil’: if an input table has column
  16138      names—because the second row is a horizontal rule—then Org removes
  16139      the column names, processes the table, puts back the column names,
  16140      and then writes the table to the results block.  Using ‘yes’, Org
  16141      does the same to the first non-hline row, even if the initial table
  16142      does not contain any horizontal rule.  When set to ‘no’, Org does
  16143      not pre-process column names at all.
  16144 
  16145           #+NAME: less-cols
  16146           | a |
  16147           |---|
  16148           | b |
  16149           | c |
  16150 
  16151           #+BEGIN_SRC python :var tab=less-cols :colnames nil
  16152           return [[val + '*' for val in row] for row in tab]
  16153           #+END_SRC
  16154 
  16155           #+RESULTS:
  16156           | a  |
  16157           |----|
  16158           | b* |
  16159           | c* |
  16160 
  16161      Similarly, the ‘rownames’ header argument can take two values:
  16162      ‘yes’ or ‘no’.  When set to ‘yes’, Org removes the first column,
  16163      processes the table, puts back the first column, and then writes
  16164      the table to the results block.  The default is ‘no’, which means
  16165      Org does not pre-process the first column.  Note that Emacs Lisp
  16166      code blocks ignore ‘rownames’ header argument because of the ease
  16167      of table-handling in Emacs.
  16168 
  16169           #+NAME: with-rownames
  16170           | one | 1 | 2 | 3 | 4 |  5 |
  16171           | two | 6 | 7 | 8 | 9 | 10 |
  16172 
  16173           #+BEGIN_SRC python :var tab=with-rownames :rownames yes
  16174           return [[val + 10 for val in row] for row in tab]
  16175           #+END_SRC
  16176 
  16177           #+RESULTS:
  16178           | one | 11 | 12 | 13 | 14 | 15 |
  16179           | two | 16 | 17 | 18 | 19 | 20 |
  16180 
  16181    To refer to a table in another file, join the filename and table name
  16182 with a colon, for example: ‘:var table=other-file.org:example-table’.
  16183 
  16184 list
  16185      A simple named list.
  16186 
  16187           #+NAME: example-list
  16188           - simple
  16189             - not
  16190             - nested
  16191           - list
  16192 
  16193           #+BEGIN_SRC emacs-lisp :var x=example-list
  16194             (print x)
  16195           #+END_SRC
  16196 
  16197           #+RESULTS:
  16198           | simple | list |
  16199 
  16200      Note that only the top level list items are passed along.  Nested
  16201      list items are ignored.
  16202 
  16203 code block without arguments
  16204      A code block name, as assigned by ‘NAME’ keyword from the example
  16205      above, optionally followed by parentheses.
  16206 
  16207           #+BEGIN_SRC emacs-lisp :var length=table-length()
  16208             (* 2 length)
  16209           #+END_SRC
  16210 
  16211           #+RESULTS:
  16212           : 8
  16213 
  16214 code block with arguments
  16215      A code block name, as assigned by ‘NAME’ keyword, followed by
  16216      parentheses and optional arguments passed within the parentheses.
  16217      The block is evaluated with point at its location.
  16218 
  16219           #+NAME: double
  16220           #+BEGIN_SRC emacs-lisp :var input=8
  16221             (* 2 input)
  16222           #+END_SRC
  16223 
  16224           #+RESULTS: double
  16225           : 16
  16226 
  16227           #+NAME: squared
  16228           #+BEGIN_SRC emacs-lisp :var input=double(input=1)
  16229             (* input input)
  16230           #+END_SRC
  16231 
  16232           #+RESULTS: squared
  16233           : 4
  16234 
  16235 literal example, or code block contents
  16236      A code block or literal example block named with a ‘NAME’ keyword,
  16237      followed by brackets (optional for example blocks).
  16238 
  16239           #+NAME: literal-example
  16240           #+BEGIN_EXAMPLE
  16241             A literal example
  16242             on two lines
  16243           #+END_EXAMPLE
  16244 
  16245           #+NAME: read-literal-example
  16246           #+BEGIN_SRC emacs-lisp :var x=literal-example[]
  16247             (concatenate #'string x " for you.")
  16248           #+END_SRC
  16249 
  16250           #+RESULTS: read-literal-example
  16251           : A literal example
  16252           : on two lines for you.
  16253 
  16254    Indexing variable values enables referencing portions of a variable.
  16255 Indexes are 0 based with negative values counting backwards from the
  16256 end.  If an index is separated by commas then each subsequent section
  16257 indexes as the next dimension.  Note that this indexing occurs _before_
  16258 other table-related header arguments are applied, such as ‘hlines’,
  16259 ‘colnames’ and ‘rownames’.  The following example assigns the last cell
  16260 of the first row the table ‘example-table’ to the variable ‘data’:
  16261 
  16262      #+NAME: example-table
  16263      | 1 | a |
  16264      | 2 | b |
  16265      | 3 | c |
  16266      | 4 | d |
  16267 
  16268      #+BEGIN_SRC emacs-lisp :var data=example-table[0,-1]
  16269        data
  16270      #+END_SRC
  16271 
  16272      #+RESULTS:
  16273      : a
  16274 
  16275    Two integers separated by a colon reference a range of variable
  16276 values.  In that case the entire inclusive range is referenced.  For
  16277 example the following assigns the middle three rows of ‘example-table’
  16278 to ‘data’.
  16279 
  16280      #+NAME: example-table
  16281      | 1 | a |
  16282      | 2 | b |
  16283      | 3 | c |
  16284      | 4 | d |
  16285      | 5 | 3 |
  16286 
  16287      #+BEGIN_SRC emacs-lisp :var data=example-table[1:3]
  16288        data
  16289      #+END_SRC
  16290 
  16291      #+RESULTS:
  16292      | 2 | b |
  16293      | 3 | c |
  16294      | 4 | d |
  16295 
  16296    To pick the entire range, use an empty index, or the single character
  16297 ‘*’.  ‘0:-1’ does the same thing.  Example below shows how to reference
  16298 the first column only.
  16299 
  16300      #+NAME: example-table
  16301      | 1 | a |
  16302      | 2 | b |
  16303      | 3 | c |
  16304      | 4 | d |
  16305 
  16306      #+BEGIN_SRC emacs-lisp :var data=example-table[,0]
  16307        data
  16308      #+END_SRC
  16309 
  16310      #+RESULTS:
  16311      | 1 | 2 | 3 | 4 |
  16312 
  16313    Index referencing can be used for tables and code blocks.  Index
  16314 referencing can handle any number of dimensions.  Commas delimit
  16315 multiple dimensions, as shown below.
  16316 
  16317      #+NAME: 3D
  16318      #+BEGIN_SRC emacs-lisp
  16319        '(((1  2  3)  (4  5  6)  (7  8  9))
  16320          ((10 11 12) (13 14 15) (16 17 18))
  16321          ((19 20 21) (22 23 24) (25 26 27)))
  16322      #+END_SRC
  16323 
  16324      #+BEGIN_SRC emacs-lisp :var data=3D[1,,1]
  16325        data
  16326      #+END_SRC
  16327 
  16328      #+RESULTS:
  16329      | 11 | 14 | 17 |
  16330 
  16331    Note that row names and column names are not removed prior to
  16332 variable indexing.  You need to take them into account, even when
  16333 ‘colnames’ or ‘rownames’ header arguments remove them.
  16334 
  16335    Emacs lisp code can also set the values for variables.  To
  16336 differentiate a value from Lisp code, Org interprets any value starting
  16337 with ‘(’, ‘[’, ‘'’ or ‘`’ as Emacs Lisp code.  The result of evaluating
  16338 that code is then assigned to the value of that variable.  The following
  16339 example shows how to reliably query and pass the file name of the Org
  16340 mode buffer to a code block using headers.  We need reliability here
  16341 because the file’s name could change once the code in the block starts
  16342 executing.
  16343 
  16344      #+BEGIN_SRC sh :var filename=(buffer-file-name) :exports both
  16345        wc -w $filename
  16346      #+END_SRC
  16347 
  16348    Note that values read from tables and lists are not mistakenly
  16349 evaluated as Emacs Lisp code, as illustrated in the following example.
  16350 
  16351      #+NAME: table
  16352      | (a b c) |
  16353 
  16354      #+HEADER: :var data=table[0,0]
  16355      #+BEGIN_SRC perl
  16356        $data
  16357      #+END_SRC
  16358 
  16359      #+RESULTS:
  16360      : (a b c)
  16361 
  16362 Using sessions
  16363 --------------
  16364 
  16365 Two code blocks can share the same environment.  The ‘session’ header
  16366 argument is for running multiple source code blocks under one session.
  16367 Org runs code blocks with the same session name in the same interpreter
  16368 process.
  16369 
  16370 ‘none’
  16371      Default.  Each code block gets a new interpreter process to
  16372      execute.  The process terminates once the block is evaluated.
  16373 
  16374 STRING
  16375      Any string besides ‘none’ turns that string into the name of that
  16376      session.  For example, ‘:session STRING’ names it ‘STRING’.  If
  16377      ‘session’ has no value, then the session name is derived from the
  16378      source language identifier.  Subsequent blocks with the same source
  16379      code language use the same session.  Depending on the language,
  16380      state variables, code from other blocks, and the overall
  16381      interpreted environment may be shared.  Some interpreted languages
  16382      support concurrent sessions when subsequent source code language
  16383      blocks change session names.
  16384 
  16385    Only languages that provide interactive evaluation can have session
  16386 support.  Not all languages provide this support, such as C and ditaa.
  16387 Even languages, such as Python and Haskell, that do support interactive
  16388 evaluation impose limitations on allowable language constructs that can
  16389 run interactively.  Org inherits those limitations for those code blocks
  16390 running in a session.
  16391 
  16392 Choosing a working directory
  16393 ----------------------------
  16394 
  16395 The ‘dir’ header argument specifies the default directory during code
  16396 block execution.  If it is absent, then the directory associated with
  16397 the current buffer is used.  In other words, supplying ‘:dir DIRECTORY’
  16398 temporarily has the same effect as changing the current directory with
  16399 ‘M-x cd <RET> DIRECTORY’, and then not setting ‘dir’.  Under the
  16400 surface, ‘dir’ simply sets the value of the Emacs variable
  16401 ‘default-directory’.  Setting ‘mkdirp’ header argument to a non-‘nil’
  16402 value creates the directory, if necessary.
  16403 
  16404    Setting ‘dir’ to the symbol ‘attach’ or the string ‘"'attach"’ will
  16405 set ‘dir’ to the directory returned by ‘(org-attach-dir)’, set ‘:mkdir
  16406 yes’, and insert any file paths, as when using ‘:results file’, which
  16407 are under the node’s attachment directory using ‘attachment:’ links
  16408 instead of the usual ‘file:’ links.  Any returned path outside of the
  16409 attachment directory will use ‘file:’ links as per usual.
  16410 
  16411    For example, to save the plot file in the ‘Work/’ folder of the home
  16412 directory—notice tilde is expanded:
  16413 
  16414      #+BEGIN_SRC R :file myplot.png :dir ~/Work
  16415        matplot(matrix(rnorm(100), 10), type="l")
  16416      #+END_SRC
  16417 
  16418    To evaluate the code block on a remote machine, supply a remote
  16419 directory name using Tramp syntax.  For example:
  16420 
  16421      #+BEGIN_SRC R :file plot.png :dir /scp:dand@yakuba.princeton.edu:
  16422        plot(1:10, main=system("hostname", intern=TRUE))
  16423      #+END_SRC
  16424 
  16425    Org first captures the text results as usual for insertion in the Org
  16426 file.  Then Org also inserts a link to the remote file, thanks to Emacs
  16427 Tramp.  Org constructs the remote path to the file name from ‘dir’ and
  16428 ‘default-directory’, as illustrated here:
  16429 
  16430      [[file:/scp:dand@yakuba.princeton.edu:/home/dand/plot.png][plot.png]]
  16431 
  16432    When ‘dir’ is used with ‘session’, Org sets the starting directory
  16433 for a new session.  But Org does not alter the directory of an already
  16434 existing session.
  16435 
  16436    Do not use ‘dir’ with ‘:exports results’ or with ‘:exports both’ to
  16437 avoid Org inserting incorrect links to remote files.  That is because
  16438 Org does not expand ‘default directory’ to avoid some underlying
  16439 portability issues.
  16440 
  16441 Inserting headers and footers
  16442 -----------------------------
  16443 
  16444 The ‘prologue’ header argument is for appending to the top of the code
  16445 block for execution, like a reset instruction.  For example, you may use
  16446 ‘:prologue "reset"’ in a Gnuplot code block or, for every such block:
  16447 
  16448      (add-to-list 'org-babel-default-header-args:gnuplot
  16449                   '((:prologue . "reset")))
  16450 
  16451 
  16452    Likewise, the value of the ‘epilogue’ header argument is for
  16453 appending to the end of the code block for execution.
  16454 
  16455 
  16456 File: org.info,  Node: Evaluating Code Blocks,  Next: Results of Evaluation,  Prev: Environment of a Code Block,  Up: Working with Source Code
  16457 
  16458 16.5 Evaluating Code Blocks
  16459 ===========================
  16460 
  16461 A note about security: With code evaluation comes the risk of harm.  Org
  16462 safeguards by prompting for user’s permission before executing any code
  16463 in the source block.  To customize this safeguard, or disable it, see
  16464 *note Code Evaluation Security::.
  16465 
  16466 How to evaluate source code
  16467 ---------------------------
  16468 
  16469 Org captures the results of the code block evaluation and inserts them
  16470 in the Org file, right after the code block.  The insertion point is
  16471 after a newline and the ‘RESULTS’ keyword.  Org creates the ‘RESULTS’
  16472 keyword if one is not already there.  More details in *note Results of
  16473 Evaluation::.
  16474 
  16475    By default, Org enables only Emacs Lisp code blocks for execution.
  16476 See *note Languages:: to enable other languages.
  16477 
  16478    Org provides many ways to execute code blocks.  ‘C-c C-c’ or ‘C-c C-v
  16479 e’ with the point on a code block(1) calls the
  16480 ‘org-babel-execute-src-block’ function, which executes the code in the
  16481 block, collects the results, and inserts them in the buffer.
  16482 
  16483    By calling a named code block(2) from an Org mode buffer or a table.
  16484 Org can call the named code blocks from the current Org mode buffer or
  16485 from the “Library of Babel” (see *note Library of Babel::).
  16486 
  16487    The syntax for ‘CALL’ keyword is:
  16488 
  16489      #+CALL: <name>(<arguments>)
  16490      #+CALL: <name>[<inside header arguments>](<arguments>) <end header arguments>
  16491 
  16492    The syntax for inline named code blocks is:
  16493 
  16494      ... call_<name>(<arguments>) ...
  16495      ... call_<name>[<inside header arguments>](<arguments>)[<end header arguments>] ...
  16496 
  16497    When inline syntax is used, the result is wrapped based on the
  16498 variable ‘org-babel-inline-result-wrap’, which by default is set to
  16499 ‘"=%s="’ to produce verbatim text suitable for markup.
  16500 
  16501 ‘<name>’
  16502      This is the name of the code block (see *note Structure of Code
  16503      Blocks::) to be evaluated in the current document.  If the block is
  16504      located in another file, start ‘<name>’ with the file name followed
  16505      by a colon.  For example, in order to execute a block named
  16506      ‘clear-data’ in ‘file.org’, you can write the following:
  16507 
  16508           #+CALL: file.org:clear-data()
  16509 
  16510 ‘<arguments>’
  16511      Org passes arguments to the code block using standard function call
  16512      syntax.  For example, a ‘#+CALL:’ line that passes ‘4’ to a code
  16513      block named ‘double’, which declares the header argument ‘:var
  16514      n=2’, would be written as:
  16515 
  16516           #+CALL: double(n=4)
  16517 
  16518      Note how this function call syntax is different from the header
  16519      argument syntax.
  16520 
  16521 ‘<inside header arguments>’
  16522      Org passes inside header arguments to the named code block using
  16523      the header argument syntax.  Inside header arguments apply to code
  16524      block evaluation.  For example, ‘[:results output]’ collects
  16525      results printed to stdout during code execution of that block.
  16526      Note how this header argument syntax is different from the function
  16527      call syntax.
  16528 
  16529 ‘<end header arguments>’
  16530      End header arguments affect the results returned by the code block.
  16531      For example, ‘:results html’ wraps the results in a ‘#+BEGIN_EXPORT
  16532      html’ block before inserting the results in the Org buffer.
  16533 
  16534 Limit code block evaluation
  16535 ---------------------------
  16536 
  16537 The ‘eval’ header argument can limit evaluation of specific code blocks
  16538 and ‘CALL’ keyword.  It is useful for protection against evaluating
  16539 untrusted code blocks by prompting for a confirmation.
  16540 
  16541 ‘yes’
  16542      Org evaluates the source code, possibly asking permission according
  16543      to ‘org-confirm-babel-evaluate’.
  16544 
  16545 ‘never’ or ‘no’
  16546      Org never evaluates the source code.
  16547 
  16548 ‘query’
  16549      Org prompts the user for permission to evaluate the source code.
  16550 
  16551 ‘never-export’ or ‘no-export’
  16552      Org does not evaluate the source code when exporting, yet the user
  16553      can evaluate it interactively.
  16554 
  16555 ‘query-export’
  16556      Org prompts the user for permission to evaluate the source code
  16557      during export.
  16558 
  16559    If ‘eval’ header argument is not set, then Org determines whether to
  16560 evaluate the source code from the ‘org-confirm-babel-evaluate’ variable
  16561 (see *note Code Evaluation Security::).
  16562 
  16563 Cache results of evaluation
  16564 ---------------------------
  16565 
  16566 The ‘cache’ header argument is for caching results of evaluating code
  16567 blocks.  Caching results can avoid re-evaluating a code block that have
  16568 not changed since the previous run.  To benefit from the cache and avoid
  16569 redundant evaluations, the source block must have a result already
  16570 present in the buffer, and neither the header arguments—including the
  16571 value of ‘var’ references—nor the text of the block itself has changed
  16572 since the result was last computed.  This feature greatly helps avoid
  16573 long-running calculations.  For some edge cases, however, the cached
  16574 results may not be reliable.
  16575 
  16576    The caching feature is best for when code blocks are pure functions,
  16577 that is functions that return the same value for the same input
  16578 arguments (see *note Environment of a Code Block::), and that do not
  16579 have side effects, and do not rely on external variables other than the
  16580 input arguments.  Functions that depend on a timer, file system objects,
  16581 and random number generators are clearly unsuitable for caching.
  16582 
  16583    A note of warning: when ‘cache’ is used in a session, caching may
  16584 cause unexpected results.
  16585 
  16586    When the caching mechanism tests for any source code changes, it does
  16587 not expand noweb style references (see *note Noweb Reference Syntax::).
  16588 
  16589    The ‘cache’ header argument can have one of two values: ‘yes’ or
  16590 ‘no’.
  16591 
  16592 ‘no’
  16593      Default.  No caching of results; code block evaluated every time.
  16594 
  16595 ‘yes’
  16596      Whether to run the code or return the cached results is determined
  16597      by comparing the SHA1 hash value of the combined code block and
  16598      arguments passed to it.  This hash value is packed on the
  16599      ‘#+RESULTS:’ line from previous evaluation.  When hash values
  16600      match, Org does not evaluate the code block.  When hash values
  16601      mismatch, Org evaluates the code block, inserts the results,
  16602      recalculates the hash value, and updates ‘#+RESULTS:’ line.
  16603 
  16604    In this example, both functions are cached.  But ‘caller’ runs only
  16605 if the result from ‘random’ has changed since the last run.
  16606 
  16607      #+NAME: random
  16608      #+BEGIN_SRC R :cache yes
  16609        runif(+1)
  16610      #+END_SRC
  16611 
  16612      #+RESULTS[a2a72cd647ad44515fab62e144796432793d68e1]: random
  16613      0.4659510825295
  16614 
  16615      #+NAME: caller
  16616      #+BEGIN_SRC emacs-lisp :var x=random :cache yes
  16617        x
  16618      #+END_SRC
  16619 
  16620      #+RESULTS[bec9c8724e397d5df3b696502df3ed7892fc4f5f]: caller
  16621      0.254227238707244
  16622 
  16623    ---------- Footnotes ----------
  16624 
  16625    (1) The option ‘org-babel-no-eval-on-ctrl-c-ctrl-c’ can be used to
  16626 remove code evaluation from the ‘C-c C-c’ key binding.
  16627 
  16628    (2) Actually, the constructs ‘call_<name>()’ and ‘src_<lang>{}’ are
  16629 not evaluated when they appear in a keyword (see *note In-buffer
  16630 Settings::).
  16631 
  16632 
  16633 File: org.info,  Node: Results of Evaluation,  Next: Exporting Code Blocks,  Prev: Evaluating Code Blocks,  Up: Working with Source Code
  16634 
  16635 16.6 Results of Evaluation
  16636 ==========================
  16637 
  16638 How Org handles results of a code block execution depends on many header
  16639 arguments working together.  The primary determinant, however, is the
  16640 ‘results’ header argument.  It accepts four classes of options.  Each
  16641 code block can take only one option per class:
  16642 
  16643 Collection
  16644      For how the results should be collected from the code block;
  16645 
  16646 Type
  16647      For which type of result the code block will return; affects how
  16648      Org processes and inserts results in the Org buffer;
  16649 
  16650 Format
  16651      For the result; affects how Org processes results;
  16652 
  16653 Handling
  16654      For inserting results once they are properly formatted.
  16655 
  16656 Collection
  16657 ----------
  16658 
  16659 Collection options specify the results.  Choose one of the options; they
  16660 are mutually exclusive.
  16661 
  16662 ‘value’
  16663      Default for most Babel libraries(1).  Functional mode.  Org gets
  16664      the value by wrapping the code in a function definition in the
  16665      language of the source block.  That is why when using ‘:results
  16666      value’, code should execute like a function and return a value.
  16667      For languages like Python, an explicit ‘return’ statement is
  16668      mandatory when using ‘:results value’.  Result is the value
  16669      returned by the last statement in the code block.
  16670 
  16671      When evaluating the code block in a session (see *note Environment
  16672      of a Code Block::), Org passes the code to an interpreter running
  16673      as an interactive Emacs inferior process.  Org gets the value from
  16674      the source code interpreter’s last statement output.  Org has to
  16675      use language-specific methods to obtain the value.  For example,
  16676      from the variable ‘_’ in Ruby, and the value of ‘.Last.value’ in R.
  16677 
  16678 ‘output’
  16679      Scripting mode.  Org passes the code to an external process running
  16680      the interpreter.  Org returns the contents of the standard output
  16681      stream as text results.
  16682 
  16683      When using a session, Org passes the code to the interpreter
  16684      running as an interactive Emacs inferior process.  Org concatenates
  16685      any text output from the interpreter and returns the collection as
  16686      a result.
  16687 
  16688 Type
  16689 ----
  16690 
  16691 Type tells what result types to expect from the execution of the code
  16692 block.  Choose one of the options; they are mutually exclusive.
  16693 
  16694    The default behavior is to automatically determine the result type.
  16695 The result type detection depends on the code block language, as
  16696 described in the documentation for individual languages.  See *note
  16697 Languages::.
  16698 
  16699 ‘table’
  16700 ‘vector’
  16701      Interpret the results as an Org table.  If the result is a single
  16702      value, create a table with one row and one column.  Usage example:
  16703      ‘:results value table’.
  16704 
  16705      In-between each table row or below the table headings, sometimes
  16706      results have horizontal lines, which are also known as “hlines”.
  16707      The ‘hlines’ argument with the default ‘no’ value strips such lines
  16708      from the input table.  For most code, this is desirable, or else
  16709      those ‘hline’ symbols raise unbound variable errors.  A ‘yes’
  16710      accepts such lines, as demonstrated in the following example.
  16711 
  16712           #+NAME: many-cols
  16713           | a | b | c |
  16714           |---+---+---|
  16715           | d | e | f |
  16716           |---+---+---|
  16717           | g | h | i |
  16718 
  16719           #+NAME: no-hline
  16720           #+BEGIN_SRC python :var tab=many-cols :hlines no
  16721           return tab
  16722           #+END_SRC
  16723 
  16724           #+RESULTS: no-hline
  16725           | a | b | c |
  16726           | d | e | f |
  16727           | g | h | i |
  16728 
  16729           #+NAME: hlines
  16730           #+BEGIN_SRC python :var tab=many-cols :hlines yes
  16731           return tab
  16732           #+END_SRC
  16733 
  16734           #+RESULTS: hlines
  16735           | a | b | c |
  16736           |---+---+---|
  16737           | d | e | f |
  16738           |---+---+---|
  16739           | g | h | i |
  16740 
  16741 ‘list’
  16742      Interpret the results as an Org list.  If the result is a single
  16743      value, create a list of one element.
  16744 
  16745 ‘scalar’
  16746 ‘verbatim’
  16747      Interpret literally and insert as quoted text.  Do not create a
  16748      table.  Usage example: ‘:results value verbatim’.
  16749 
  16750 ‘file’
  16751      Interpret as a filename.  Save the results of execution of the code
  16752      block to that file, then insert a link to it.  You can control both
  16753      the filename and the description associated to the link.
  16754 
  16755      Org first tries to generate the filename from the value of the
  16756      ‘file’ header argument and the directory specified using the
  16757      ‘output-dir’ header arguments.  If ‘output-dir’ is not specified,
  16758      Org assumes it is the current directory.
  16759 
  16760           #+BEGIN_SRC asymptote :results value file :file circle.pdf :output-dir img/
  16761             size(2cm);
  16762             draw(unitcircle);
  16763           #+END_SRC
  16764 
  16765      If ‘file’ header argument is missing, Org generates the base name
  16766      of the output file from the name of the code block, and its
  16767      extension from the ‘file-ext’ header argument.  In that case, both
  16768      the name and the extension are mandatory.
  16769 
  16770      Result can also be interpreted as path to file.  See ‘:results
  16771      link’.
  16772 
  16773           #+name: circle
  16774           #+BEGIN_SRC asymptote :results value file :file-ext pdf
  16775             size(2cm);
  16776             draw(unitcircle);
  16777           #+END_SRC
  16778 
  16779      The ‘file-desc’ header argument defines the description (see *note
  16780      Link Format::) for the link.  If ‘file-desc’ is present but has no
  16781      value, the ‘file’ value is used as the link description.  When this
  16782      argument is not present, the description is omitted.  If you want
  16783      to provide the ‘file-desc’ argument but omit the description, you
  16784      can provide it with an empty vector (i.e., :file-desc []).
  16785 
  16786      By default, Org assumes that a table written to a file has
  16787      TAB-delimited output.  You can choose a different separator with
  16788      the ‘sep’ header argument.
  16789 
  16790      The ‘file-mode’ header argument defines the file permissions.  To
  16791      make it executable, use ‘:file-mode (identity #o755)’.
  16792 
  16793           #+BEGIN_SRC shell :results file :file script.sh :file-mode (identity #o755)
  16794             echo "#!/bin/bash"
  16795             echo "echo Hello World"
  16796           #+END_SRC
  16797 
  16798 Format
  16799 ------
  16800 
  16801 Format pertains to the type of the result returned by the code block.
  16802 Choose one of the options; they are mutually exclusive.  The default
  16803 follows from the type specified above.
  16804 
  16805 ‘raw’
  16806      Interpreted as raw Org mode.  Inserted directly into the buffer.
  16807      Aligned if it is a table.  Usage example: ‘:results value raw’.
  16808 
  16809 ‘code’
  16810      Result enclosed in a code block.  Useful for parsing.  Usage
  16811      example: ‘:results value code’.
  16812 
  16813 ‘drawer’
  16814      Results are added directly to the Org file as with ‘raw’, but are
  16815      wrapped in a ‘RESULTS’ drawer or results macro (for inline code
  16816      blocks), for later scripting and automated processing.  Usage
  16817      example: ‘:results value drawer’.
  16818 
  16819 ‘html’
  16820      Results enclosed in a ‘BEGIN_EXPORT html’ block.  Usage example:
  16821      ‘:results value html’.
  16822 
  16823 ‘latex’
  16824      Results enclosed in a ‘BEGIN_EXPORT latex’ block.  Usage example:
  16825      ‘:results value latex’.
  16826 
  16827 ‘link’
  16828 ‘graphics’
  16829      When used along with ‘file’ type, the result is a link to the file
  16830      specified in ‘:file’ header argument.  However, unlike plain ‘file’
  16831      type, code block output is not written to the disk.  The block is
  16832      expected to generate the file by its side-effects only, as in the
  16833      following example:
  16834 
  16835           #+begin_src shell :results file link :file "org-mode-unicorn.svg"
  16836             wget -c "https://orgmode.org/resources/img/org-mode-unicorn.svg"
  16837           #+end_src
  16838 
  16839           #+RESULTS:
  16840           [[file:org-mode-unicorn.svg]]
  16841 
  16842      If ‘:file’ header argument is omitted, interpret source block
  16843      result as the file path.
  16844 
  16845 ‘org’
  16846      Results enclosed in a ‘BEGIN_SRC org’ block.  For comma-escape,
  16847      either ‘<TAB>’ in the block, or export the file.  Usage example:
  16848      ‘:results value org’.
  16849 
  16850 ‘pp’
  16851      Result converted to pretty-print source code.  Enclosed in a code
  16852      block.  Languages supported: Emacs Lisp, Python, and Ruby.  Usage
  16853      example: ‘:results value pp’.
  16854 
  16855    The ‘wrap’ header argument unconditionally marks the results block by
  16856 appending strings to ‘#+BEGIN_’ and ‘#+END_’.  If no string is
  16857 specified, Org wraps the results in a ‘#+BEGIN_results’ ...
  16858 ‘#+END_results’ block.  It takes precedent over the ‘results’ value
  16859 listed above.  E.g.,
  16860 
  16861      #+BEGIN_SRC emacs-lisp :results html :wrap EXPORT markdown
  16862      "<blink>Welcome back to the 90's</blink>"
  16863      #+END_SRC
  16864 
  16865      #+RESULTS:
  16866      #+BEGIN_EXPORT markdown
  16867      <blink>Welcome back to the 90's</blink>
  16868      #+END_EXPORT
  16869 
  16870 Handling
  16871 --------
  16872 
  16873 Handling options after collecting the results.  Choose one of the
  16874 options; they are mutually exclusive.
  16875 
  16876 ‘replace’
  16877      Default.  Insert results in the Org buffer.  Remove previous
  16878      results.  Usage example: ‘:results output replace’.
  16879 
  16880 ‘silent’
  16881      Do not insert results in the Org mode buffer, but echo them in the
  16882      minibuffer.  Usage example: ‘:results output silent’.
  16883 
  16884 ‘none’
  16885      Compute results, but do not do anything with them.  No inserting in
  16886      the Org mode buffer nor echo them in the minibuffer.  The results
  16887      can still be used when referenced from another code block.  Usage
  16888      example: ‘:results none’.
  16889 
  16890 ‘discard’
  16891      Ignore the results completely.  This option is similar to ‘none’,
  16892      but no processing is performed on the return value.  Calling the
  16893      code block programmatically (see *note How to evaluate source
  16894      code::) or by reference (see *note Passing arguments:: and *note
  16895      Noweb Reference Syntax::) will always yield ‘nil’.
  16896 
  16897 ‘append’
  16898      Append results to the Org buffer.  Latest results are at the
  16899      bottom.  Does not remove previous results.  Usage example:
  16900      ‘:results output append’.
  16901 
  16902 ‘prepend’
  16903      Prepend results to the Org buffer.  Latest results are at the top.
  16904      Does not remove previous results.  Usage example: ‘:results output
  16905      prepend’.
  16906 
  16907 Post-processing
  16908 ---------------
  16909 
  16910 The ‘post’ header argument is for post-processing results from block
  16911 evaluation.  When ‘post’ has any value, Org binds the results to
  16912 ‘*this*’ variable for easy passing to ‘var’ header argument
  16913 specifications (see *note Environment of a Code Block::).  That makes
  16914 results available to other code blocks, or even for direct Emacs Lisp
  16915 code execution.
  16916 
  16917    The following two examples illustrate ‘post’ header argument in
  16918 action.  The first one shows how to attach an ‘ATTR_LATEX’ keyword using
  16919 ‘post’.
  16920 
  16921      #+NAME: attr_wrap
  16922      #+BEGIN_SRC sh :var data="" :var width="\\textwidth" :results output
  16923        echo "#+ATTR_LATEX: :width $width"
  16924        echo "$data"
  16925      #+END_SRC
  16926 
  16927      #+HEADER: :file /tmp/it.png
  16928      #+BEGIN_SRC dot :post attr_wrap(width="5cm", data=*this*) :results drawer
  16929        digraph{
  16930                a -> b;
  16931                b -> c;
  16932                c -> a;
  16933        }
  16934      #+end_src
  16935 
  16936      #+RESULTS:
  16937      :RESULTS:
  16938      #+ATTR_LATEX :width 5cm
  16939      [[file:/tmp/it.png]]
  16940      :END:
  16941 
  16942    The second example shows use of ‘colnames’ header argument in ‘post’
  16943 to pass data between code blocks.
  16944 
  16945      #+NAME: round-tbl
  16946      #+BEGIN_SRC emacs-lisp :var tbl="" fmt="%.3f"
  16947        (mapcar (lambda (row)
  16948                  (mapcar (lambda (cell)
  16949                            (if (numberp cell)
  16950                                (format fmt cell)
  16951                              cell))
  16952                          row))
  16953                tbl)
  16954      #+end_src
  16955 
  16956      #+BEGIN_SRC R :colnames yes :post round-tbl[:colnames yes](*this*)
  16957        set.seed(42)
  16958        data.frame(foo=rnorm(1))
  16959      #+END_SRC
  16960 
  16961      #+RESULTS:
  16962      |   foo |
  16963      |-------|
  16964      | 1.371 |
  16965 
  16966    ---------- Footnotes ----------
  16967 
  16968    (1) Actually, the constructs ‘call_<name>()’ and ‘src_<lang>{}’ are
  16969 not evaluated when they appear in a keyword (see *note In-buffer
  16970 Settings::).
  16971 
  16972 
  16973 File: org.info,  Node: Exporting Code Blocks,  Next: Extracting Source Code,  Prev: Results of Evaluation,  Up: Working with Source Code
  16974 
  16975 16.7 Exporting Code Blocks
  16976 ==========================
  16977 
  16978 It is possible to export the _code_ of code blocks, the _results_ of
  16979 code block evaluation, _both_ the code and the results of code block
  16980 evaluation, or _none_.  Org defaults to exporting _code_ for most
  16981 languages and _results_ for inline code blocks.  For some languages,
  16982 such as ditaa, Org defaults to _results_ both in ordinary source blocks
  16983 and in inline source blocks.  To export just the body of code blocks,
  16984 see *note Literal Examples::.  To selectively export subtrees of an Org
  16985 document, see *note Exporting::.
  16986 
  16987    The ‘exports’ header argument is to specify if that part of the Org
  16988 file is exported to, say, HTML or LaTeX formats.
  16989 
  16990 ‘code’
  16991      The default.  The body of code is included into the exported file.
  16992      Example: ‘:exports code’.
  16993 
  16994 ‘results’
  16995      The results of evaluation of the code is included in the exported
  16996      file.  Example: ‘:exports results’.
  16997 
  16998 ‘both’
  16999      Both the code and results of evaluation are included in the
  17000      exported file.  Example: ‘:exports both’.
  17001 
  17002 ‘none’
  17003      Neither the code nor the results of evaluation is included in the
  17004      exported file.  Whether the code is evaluated at all depends on
  17005      other options.  Example: ‘:exports none’.
  17006 
  17007    If a source block is named using ‘NAME’ keyword, the same name will
  17008 be assigned to the results of evaluation.  This way, fuzzy links
  17009 pointing to the named source blocks exported using ‘:exports results’
  17010 will remain valid and point to the results of evaluation.
  17011 
  17012    Results of evaluation of a named block can also be explicitly named
  17013 using a separate ‘NAME’ keyword.  The name value set via ‘NAME’ keyword
  17014 will be preferred over the parent source block.
  17015 
  17016      #+NAME: code name
  17017      #+BEGIN_SRC emacs-lisp :exports both value
  17018      (+ 1 2)
  17019      #+END_SRC
  17020 
  17021      #+NAME: results name
  17022      #+RESULTS: code name
  17023      3
  17024 
  17025      This [[code name][link]] will point to the code block.
  17026      Another [[results name][link]] will point to the results.
  17027 
  17028    Explicit setting of the result name may be necessary when a named
  17029 code block is exported using ‘:exports both’.  Links to such block may
  17030 arbitrarily point either to the code block or to its results when
  17031 results do not have a distinct name.
  17032 
  17033    Note that all the links pointing to a source block exported using
  17034 ‘:exports none’ will be broken.  This will make export process fail,
  17035 unless broken links are allowed during export (see *note Export
  17036 Settings::).
  17037 
  17038    To stop Org from evaluating code blocks to speed exports, use the
  17039 header argument ‘:eval never-export’ (see *note Evaluating Code
  17040 Blocks::).  To stop Org from evaluating code blocks for greater
  17041 security, set the ‘org-export-use-babel’ variable to ‘nil’, but
  17042 understand that header arguments will have no effect.
  17043 
  17044    Turning off evaluation comes in handy when batch processing.  For
  17045 example, markup languages for wikis, which have a high risk of untrusted
  17046 code.  Stopping code block evaluation also stops evaluation of all
  17047 header arguments of the code block.  This may not be desirable in some
  17048 circumstances.  So during export, to allow evaluation of just the header
  17049 arguments but not any code evaluation in the source block, set ‘:eval
  17050 never-export’ (see *note Evaluating Code Blocks::).
  17051 
  17052    Org never evaluates code blocks in commented subtrees when exporting
  17053 (see *note Comment Lines::).  On the other hand, Org does evaluate code
  17054 blocks in subtrees excluded from export (see *note Export Settings::).
  17055 
  17056 
  17057 File: org.info,  Node: Extracting Source Code,  Next: Languages,  Prev: Exporting Code Blocks,  Up: Working with Source Code
  17058 
  17059 16.8 Extracting Source Code
  17060 ===========================
  17061 
  17062 Extracting source code from code blocks is a basic task in literate
  17063 programming.  Org has features to make this easy.  In literate
  17064 programming parlance, documents on creation are _woven_ with code and
  17065 documentation, and on export, the code is tangled for execution by a
  17066 computer.  Org facilitates weaving and tangling for producing,
  17067 maintaining, sharing, and exporting literate programming documents.  Org
  17068 provides extensive customization options for extracting source code.
  17069 
  17070    When Org tangles code blocks, it expands, merges, and transforms
  17071 them.  Then Org recomposes them into one or more separate files, as
  17072 configured through the options.  During this tangling process, Org
  17073 expands variables in the source code, and resolves any noweb style
  17074 references (see *note Noweb Reference Syntax::).
  17075 
  17076 Header arguments
  17077 ----------------
  17078 
  17079 The ‘tangle’ header argument specifies if the code block is exported to
  17080 source file(s).
  17081 
  17082 ‘yes’
  17083      Export the code block to source file.  The file name for the source
  17084      file is derived from the name of the Org file, and the file
  17085      extension is derived from the source code language identifier.
  17086      Example: ‘:tangle yes’.
  17087 
  17088 ‘no’
  17089      The default.  Do not extract the code in a source code file.
  17090      Example: ‘:tangle no’.
  17091 
  17092 FILENAME
  17093      Export the code block to source file whose file name is derived
  17094      from any string passed to the ‘tangle’ header argument.  Org
  17095      derives the file name as being relative to the directory of the Org
  17096      file’s location.  Example: ‘:tangle FILENAME’.
  17097 
  17098    The ‘mkdirp’ header argument creates parent directories for tangled
  17099 files if the directory does not exist.  A ‘yes’ value enables directory
  17100 creation whereas ‘no’ inhibits it.
  17101 
  17102    The ‘comments’ header argument controls inserting comments into
  17103 tangled files.  These are above and beyond whatever comments may already
  17104 exist in the code block.
  17105 
  17106 ‘no’
  17107      The default.  Do not insert any extra comments during tangling.
  17108 
  17109 ‘link’
  17110      Wrap the code block in comments.  Include links pointing back to
  17111      the place in the Org file from where the code was tangled.
  17112 
  17113 ‘yes’
  17114      Kept for backward compatibility; same as ‘link’.
  17115 
  17116 ‘org’
  17117      Nearest headline text from Org file is inserted as comment.  The
  17118      exact text that is inserted is picked from the leading context of
  17119      the source block.
  17120 
  17121 ‘both’
  17122      Includes both ‘link’ and ‘org’ options.
  17123 
  17124 ‘noweb’
  17125      Includes ‘link’ option, expands noweb references (see *note Noweb
  17126      Reference Syntax::), and wraps them in link comments inside the
  17127      body of the code block.
  17128 
  17129    The ‘padline’ header argument controls insertion of newlines to pad
  17130 source code in the tangled file.
  17131 
  17132 ‘yes’
  17133      Default.  Insert a newline before and after each code block in the
  17134      tangled file.
  17135 
  17136 ‘no’
  17137      Do not insert newlines to pad the tangled code blocks.
  17138 
  17139    The ‘shebang’ header argument can turn results into executable script
  17140 files.  By setting it to a string value—for example, ‘:shebang
  17141 "#!/bin/bash"’—Org inserts that string as the first line of the tangled
  17142 file that the code block is extracted to.  Org then turns on the tangled
  17143 file’s executable permission.
  17144 
  17145    The ‘tangle-mode’ header argument specifies what permissions to set
  17146 for tangled files by ‘set-file-modes’.  Permissions are given by an
  17147 octal value, which can be provided calling the ‘identity’ function on an
  17148 elisp octal value.  For instance, to create a read-only file one may use
  17149 ‘:tangle-mode (identity #o444)’.  To reduce the verbosity required, a
  17150 octal shorthand is defined, ‘oXXX’ (‘o’ for octal).  Using this, our
  17151 read-only example is ‘:tangle-mode o444’.  Omitting the ‘o’ prefix will
  17152 cause the argument to be interpreted as an integer, which can lead to
  17153 unexpected results (‘444’ is the same as ‘o674’).  Two other shorthands
  17154 are recognized, ls-style strings like ‘rw-r--r--’, and chmod-style
  17155 permissions like ‘g+w’.  Note that chmod-style permissions are based on
  17156 ‘org-babel-tangle-default-file-mode’, which is ‘#o544’ by default.
  17157 
  17158    When ‘:tangle-mode’ and ‘:shebang’ are both specified, the give
  17159 ‘:tangle-mode’ will override the permissions from ‘:shebang’.  When
  17160 multiple source code blocks tangle to a single file with conflicting
  17161 ‘:tangle-mode’ header arguments, Org’s behavior is undefined.
  17162 
  17163    By default Org expands code blocks during tangling.  The ‘no-expand’
  17164 header argument turns off such expansions.  Note that one side-effect of
  17165 expansion by ‘org-babel-expand-src-block’ also assigns values (see *note
  17166 Environment of a Code Block::) to variables.  Expansions also replace
  17167 noweb references with their targets (see *note Noweb Reference
  17168 Syntax::).  Some of these expansions may cause premature assignment,
  17169 hence this option.  This option makes a difference only for tangling.
  17170 It has no effect when exporting since code blocks for execution have to
  17171 be expanded anyway.
  17172 
  17173 Functions
  17174 ---------
  17175 
  17176 ‘org-babel-tangle’
  17177      Tangle the current file.  Bound to ‘C-c C-v t’.
  17178 
  17179      With prefix argument only tangle the current code block.
  17180 
  17181 ‘org-babel-tangle-file’
  17182      Choose a file to tangle.  Bound to ‘C-c C-v f’.
  17183 
  17184 Tangle hooks
  17185 ------------
  17186 
  17187 ‘org-babel-pre-tangle-hook’
  17188      This hook is run before the tangle process begins.  The active
  17189      buffer is buffer to be tangled.
  17190 
  17191 ‘org-babel-tangle-body-hook’
  17192      This hook is run from a temporary buffer containing expanded code
  17193      of every tangled code block.  The hook can modify the expanded code
  17194      as needed.  The contents of the current buffer will be used as
  17195      actual code block expansion.
  17196 
  17197 ‘org-babel-post-tangle-hook’
  17198      This hook is run from within code files tangled by
  17199      ‘org-babel-tangle’, making it suitable for post-processing,
  17200      compilation, and evaluation of code in the tangled files.
  17201 
  17202 ‘org-babel-tangle-finished-hook’
  17203      This hook is run after post-tangle hooks, in the original buffer.
  17204 
  17205 Jumping between code and Org
  17206 ----------------------------
  17207 
  17208 Debuggers normally link errors and messages back to the source code.
  17209 But for tangled files, we want to link back to the Org file, not to the
  17210 tangled source file.  To make this extra jump, Org uses
  17211 ‘org-babel-tangle-jump-to-org’ function with two additional source code
  17212 block header arguments:
  17213 
  17214   1. Set ‘padline’ to true—this is the default setting.
  17215   2. Set ‘comments’ to ‘link’, which makes Org insert links to the Org
  17216      file.
  17217 
  17218 
  17219 File: org.info,  Node: Languages,  Next: Editing Source Code,  Prev: Extracting Source Code,  Up: Working with Source Code
  17220 
  17221 16.9 Languages
  17222 ==============
  17223 
  17224 Code blocks in dozens of languages are supported.  See Worg website for
  17225 language specific documentation
  17226 (https://orgmode.org/worg/org-contrib/babel/languages/index.html).
  17227 
  17228    By default, only Emacs Lisp is enabled for evaluation.  To enable or
  17229 disable other languages, customize the ‘org-babel-load-languages’
  17230 variable either through the Emacs customization interface, or by adding
  17231 code to the init file as shown next.
  17232 
  17233    In this example, evaluation is disabled for Emacs Lisp, and enabled
  17234 for R.
  17235 
  17236      (org-babel-do-load-languages
  17237       'org-babel-load-languages
  17238       '((emacs-lisp . nil)
  17239         (R . t)))
  17240 
  17241    Note that this is not the only way to enable a language.  Org also
  17242 enables languages when loaded with ‘require’ statement.  For example,
  17243 the following enables execution of Clojure code blocks:
  17244 
  17245      (require 'ob-clojure)
  17246 
  17247 
  17248 File: org.info,  Node: Editing Source Code,  Next: Noweb Reference Syntax,  Prev: Languages,  Up: Working with Source Code
  17249 
  17250 16.10 Editing Source Code
  17251 =========================
  17252 
  17253 Use ‘C-c '’ to edit the current code block.  It opens a new major mode
  17254 edit buffer containing the body of the source code block, ready for any
  17255 edits.  Use ‘C-c '’ again to close the buffer and return to the Org
  17256 buffer.
  17257 
  17258    ‘C-x C-s’ saves the buffer and updates the contents of the Org
  17259 buffer.  Set ‘org-edit-src-auto-save-idle-delay’ to save the base buffer
  17260 after a certain idle delay time.  Set ‘org-edit-src-turn-on-auto-save’
  17261 to auto-save this buffer into a separate file using Auto-save mode.
  17262 
  17263    While editing the source code in the major mode, the Org Src minor
  17264 mode remains active.  It provides these customization variables as
  17265 described below.  For even more variables, look in the customization
  17266 group ‘org-edit-structure’.
  17267 
  17268 ‘org-src-lang-modes’
  17269      If an Emacs major-mode named ‘<LANG>-mode’ exists, where <LANG> is
  17270      the language identifier from code block’s header line, then the
  17271      edit buffer uses that major mode.  Use this variable to arbitrarily
  17272      map language identifiers to major modes.
  17273 
  17274      When language identifier is omitted in the src block, Org mode’s
  17275      behavior is undefined.
  17276 
  17277 ‘org-src-window-setup’
  17278      For specifying Emacs window arrangement when the new edit buffer is
  17279      created.
  17280 
  17281 ‘org-src-preserve-indentation’
  17282      Default is ‘nil’.  Source code is indented.  This indentation
  17283      applies during export or tangling, and depending on the context,
  17284      may alter leading spaces and tabs.  When non-‘nil’, source code is
  17285      aligned with the leftmost column.  No lines are modified during
  17286      export or tangling, which is very useful for white-space sensitive
  17287      languages, such as Python.
  17288 
  17289 ‘org-src-ask-before-returning-to-edit-buffer’
  17290      When ‘nil’, Org returns to the edit buffer without further prompts.
  17291      The default prompts for a confirmation.
  17292 
  17293    Fontification of code blocks can give visual separation of text and
  17294 code on the display page.  Set ‘org-src-fontify-natively’ to non-‘nil’
  17295 to turn on native code fontification in the _Org_ buffer.  The
  17296 fontification follows the major mode used to edit the code block (see
  17297 ‘org-src-lang-modes’ above).
  17298 
  17299    To further customize the appearance of ‘org-block’ for specific
  17300 languages, customize ‘org-src-block-faces’.  The following example
  17301 shades the background of regular blocks, and colors source blocks only
  17302 for Python and Emacs Lisp languages.
  17303 
  17304      (require 'color)
  17305      (set-face-attribute 'org-block nil :background
  17306                          (color-darken-name
  17307                           (face-attribute 'default :background) 3))
  17308 
  17309      (setq org-src-block-faces '(("emacs-lisp" (:background "#EEE2FF"))
  17310                                  ("python" (:background "#E5FFB8"))))
  17311 
  17312 
  17313 File: org.info,  Node: Noweb Reference Syntax,  Next: Library of Babel,  Prev: Editing Source Code,  Up: Working with Source Code
  17314 
  17315 16.11 Noweb Reference Syntax
  17316 ============================
  17317 
  17318 Source code blocks can include references to other source code blocks,
  17319 using a noweb(1) style syntax:
  17320 
  17321      <<CODE-BLOCK-ID>>
  17322 
  17323 where CODE-BLOCK-ID refers to either the ‘NAME’ of a single source code
  17324 block, or a collection of one or more source code blocks sharing the
  17325 same ‘noweb-ref’ header argument (see *note Using Header Arguments::).
  17326 Org can replace such references with the source code of the block or
  17327 blocks being referenced, or, in the case of a single source code block
  17328 named with ‘NAME’, with the results of an evaluation of that block.
  17329 
  17330    The ‘noweb’ header argument controls expansion of noweb syntax
  17331 references.  Expansions occur when source code blocks are evaluated,
  17332 tangled, or exported.
  17333 
  17334 ‘no’
  17335      Default.  No expansion of noweb syntax references in the body of
  17336      the code when evaluating, tangling, or exporting.
  17337 
  17338 ‘yes’
  17339      Expansion of noweb syntax references in the body of the code block
  17340      when evaluating, tangling, or exporting.
  17341 
  17342 ‘tangle’
  17343      Expansion of noweb syntax references in the body of the code block
  17344      when tangling.  No expansion when evaluating or exporting.
  17345 
  17346 ‘strip-tangle’
  17347      Expansion of noweb syntax references in the body of the code block
  17348      when evaluating or exporting.  Removes noweb syntax references when
  17349      exporting.
  17350 
  17351 ‘no-export’
  17352      Expansion of noweb syntax references in the body of the code block
  17353      when evaluating or tangling.  No expansion when exporting.
  17354 
  17355 ‘strip-export’
  17356      Expansion of noweb syntax references in the body of the code block
  17357      when expanding prior to evaluating or tangling.  Removes noweb
  17358      syntax references when exporting.
  17359 
  17360 ‘eval’
  17361      Expansion of noweb syntax references in the body of the code block
  17362      only before evaluating.
  17363 
  17364    In the most simple case, the contents of a single source block is
  17365 inserted within other blocks.  Thus, in following example,
  17366 
  17367      #+NAME: initialization
  17368      #+BEGIN_SRC emacs-lisp
  17369        (setq sentence "Never a foot too far, even.")
  17370      #+END_SRC
  17371 
  17372      #+BEGIN_SRC emacs-lisp :noweb yes
  17373        <<initialization>>
  17374        (reverse sentence)
  17375      #+END_SRC
  17376 
  17377 the second code block is expanded as
  17378 
  17379      #+BEGIN_SRC emacs-lisp :noweb yes
  17380        (setq sentence "Never a foot too far, even.")
  17381        (reverse sentence)
  17382      #+END_SRC
  17383 
  17384    Note that noweb expansion does not automatically carry over ‘:var’
  17385 header arguments(2).
  17386 
  17387    You may also include the contents of multiple blocks sharing a common
  17388 ‘noweb-ref’ header argument, which can be set at the file, subtree, or
  17389 code block level.  In the example Org file shown next, the body of the
  17390 source code in each block is extracted for concatenation to a pure code
  17391 file when tangled.
  17392 
  17393      #+BEGIN_SRC sh :tangle yes :noweb yes :shebang #!/bin/sh
  17394        <<fullest-disk>>
  17395      #+END_SRC
  17396      * the mount point of the fullest disk
  17397        :PROPERTIES:
  17398        :header-args: :noweb-ref fullest-disk
  17399        :END:
  17400 
  17401      ** query all mounted disks
  17402      #+BEGIN_SRC sh
  17403        df \
  17404      #+END_SRC
  17405 
  17406      ** strip the header row
  17407      #+BEGIN_SRC sh
  17408        |sed '1d' \
  17409      #+END_SRC
  17410 
  17411      ** output mount point of fullest disk
  17412      #+BEGIN_SRC sh
  17413        |awk '{if (u < +$5) {u = +$5; m = $6}} END {print m}'
  17414      #+END_SRC
  17415 
  17416    By default a newline separates each noweb reference concatenation.
  17417 To use a different separator, edit the ‘noweb-sep’ header argument.
  17418 
  17419    Alternatively, Org can include the results of evaluation of a single
  17420 code block rather than its body [(3).  Evaluation occurs when
  17421 parentheses, possibly including arguments, are appended to the code
  17422 block name, as shown below.
  17423 
  17424      <<NAME(optional arguments)>>
  17425 
  17426    Note that in this case, a code block name set by ‘NAME’ keyword is
  17427 required; the reference set by ‘noweb-ref’ will not work when evaluation
  17428 is desired.
  17429 
  17430    Here is an example that demonstrates how the exported content changes
  17431 when noweb style references are used with parentheses versus without.
  17432 Given:
  17433 
  17434      #+NAME: some-code
  17435      #+BEGIN_SRC python :var num=0 :results output :exports none
  17436      print(num*10)
  17437      #+END_SRC
  17438 
  17439 this code block:
  17440 
  17441      #+BEGIN_SRC text :noweb yes
  17442        <<some-code>>
  17443      #+END_SRC
  17444 
  17445 expands to:
  17446 
  17447      print(num*10)
  17448 
  17449    Below, a similar noweb style reference is used, but with parentheses,
  17450 while setting a variable ‘num’ to 10:
  17451 
  17452      #+BEGIN_SRC text :noweb yes
  17453        <<some-code(num=10)>>
  17454      #+END_SRC
  17455 
  17456 Note that the expansion now contains the results of the code block
  17457 ‘some-code’, not the code block itself:
  17458 
  17459      100
  17460 
  17461    Noweb insertions honor prefix characters that appear before the noweb
  17462 syntax reference.  This behavior is illustrated in the following
  17463 example.  Because the ‘<<example>>’ noweb reference appears behind the
  17464 SQL comment syntax, each line of the expanded noweb reference is
  17465 commented.  With:
  17466 
  17467      #+NAME: example
  17468      #+BEGIN_SRC text
  17469        this is the
  17470        multi-line body of example
  17471      #+END_SRC
  17472 
  17473 this code block:
  17474 
  17475      #+BEGIN_SRC sql :noweb yes
  17476       ---<<example>>
  17477      #+END_SRC
  17478 
  17479 expands to:
  17480 
  17481      #+BEGIN_SRC sql :noweb yes
  17482       ---this is the
  17483       ---multi-line body of example
  17484      #+END_SRC
  17485 
  17486    Since this change does not affect noweb replacement text without
  17487 newlines in them, inline noweb references are acceptable.
  17488 
  17489    This feature can also be used for management of indentation in
  17490 exported code snippets.  With:
  17491 
  17492      #+NAME: if-true
  17493      #+BEGIN_SRC python :exports none
  17494      print('do things when true')
  17495      #+end_src
  17496 
  17497      #+name: if-false
  17498      #+begin_src python :exports none
  17499      print('do things when false')
  17500      #+end_src
  17501 
  17502 this code block:
  17503 
  17504      #+begin_src python :noweb yes :results output
  17505      if true:
  17506          <<if-true>>
  17507      else:
  17508          <<if-false>>
  17509      #+end_src
  17510 
  17511 expands to:
  17512 
  17513      if true:
  17514          print('do things when true')
  17515      else:
  17516          print('do things when false')
  17517 
  17518    This prefix behavior can be turned off in a block by setting the
  17519 ‘noweb-prefix’ header argument to ‘no’, as in:
  17520 
  17521      #+BEGIN_SRC elisp :noweb-prefix no
  17522        (setq example-data "<<example>>")
  17523      #+END_SRC
  17524 
  17525 which expands to:
  17526 
  17527      (setq example-data "this is the
  17528      multi-line body of example")
  17529 
  17530    When in doubt about the outcome of a source code block expansion, you
  17531 can preview the results with the following command:
  17532 
  17533 ‘C-c C-v v’ or ‘C-c C-v C-v’ (‘org-babel-expand-src-block’)
  17534      Expand the current source code block according to its header
  17535      arguments and pop open the results in a preview buffer.
  17536 
  17537    ---------- Footnotes ----------
  17538 
  17539    (1) For noweb literate programming details, see
  17540 <https://www.cs.tufts.edu/~nr/noweb/>.
  17541 
  17542    (2) In the following example, attempting to evaluate the second code
  17543 block will give an error, because the variables defined in the first
  17544 code block will not be defined in the second block.
  17545      #+NAME: get-prompt
  17546      #+BEGIN_SRC emacs-lisp :var prompt="root> " :var command="ls"
  17547        (concat prompt command)
  17548      #+END_SRC
  17549      #+RESULTS: get-prompt
  17550      : root> ls
  17551      #+BEGIN_SRC emacs-lisp :noweb yes
  17552        <<get-prompt>>
  17553      #+END_SRC
  17554    The previous block is expanded without setting ‘prompt’ and ‘command’
  17555 values.
  17556      #+BEGIN_SRC emacs-lisp
  17557        (concat prompt command)
  17558      #+END_SRC
  17559 
  17560    (3) The reference is evaluated with point at the referenced block,
  17561 using its header arguments (including inherited)
  17562 
  17563 
  17564 File: org.info,  Node: Library of Babel,  Next: Key bindings and Useful Functions,  Prev: Noweb Reference Syntax,  Up: Working with Source Code
  17565 
  17566 16.12 Library of Babel
  17567 ======================
  17568 
  17569 The “Library of Babel” is a collection of code blocks.  Like a function
  17570 library, these code blocks can be called from other Org files.  A
  17571 collection of useful code blocks is available on Worg
  17572 (https://orgmode.org/worg/library-of-babel.html).  For remote code block
  17573 evaluation syntax, see *note Evaluating Code Blocks::.
  17574 
  17575    For any user to add code to the library, first save the code in
  17576 regular code blocks of an Org file, and then load the Org file with
  17577 ‘org-babel-lob-ingest’, which is bound to ‘C-c C-v i’.
  17578 
  17579 
  17580 File: org.info,  Node: Key bindings and Useful Functions,  Next: Batch Execution,  Prev: Library of Babel,  Up: Working with Source Code
  17581 
  17582 16.13 Key bindings and Useful Functions
  17583 =======================================
  17584 
  17585 Many common Org mode key sequences are re-bound depending on the
  17586 context.
  17587 
  17588    Active key bindings in code blocks:
  17589 
  17590 Key binding    Function
  17591 --------------------------------------------------------
  17592 ‘C-c C-c’      ‘org-babel-execute-src-block’
  17593 ‘C-c C-o’      ‘org-babel-open-src-block-result’
  17594 ‘M-<UP>’       ‘org-babel-load-in-session’
  17595 ‘M-<DOWN>’     ‘org-babel-pop-to-session’
  17596 
  17597    Active key bindings in Org mode buffer:
  17598 
  17599 Key binding                      Function
  17600 --------------------------------------------------------------------------
  17601 ‘C-c C-v p’ or ‘C-c C-v C-p’     ‘org-babel-previous-src-block’
  17602 ‘C-c C-v n’ or ‘C-c C-v C-n’     ‘org-babel-next-src-block’
  17603 ‘C-c C-v e’ or ‘C-c C-v C-e’     ‘org-babel-execute-maybe’
  17604 ‘C-c C-v o’ or ‘C-c C-v C-o’     ‘org-babel-open-src-block-result’
  17605 ‘C-c C-v v’ or ‘C-c C-v C-v’     ‘org-babel-expand-src-block’
  17606 ‘C-c C-v u’ or ‘C-c C-v C-u’     ‘org-babel-goto-src-block-head’
  17607 ‘C-c C-v g’ or ‘C-c C-v C-g’     ‘org-babel-goto-named-src-block’
  17608 ‘C-c C-v r’ or ‘C-c C-v C-r’     ‘org-babel-goto-named-result’
  17609 ‘C-c C-v b’ or ‘C-c C-v C-b’     ‘org-babel-execute-buffer’
  17610 ‘C-c C-v s’ or ‘C-c C-v C-s’     ‘org-babel-execute-subtree’
  17611 ‘C-c C-v d’ or ‘C-c C-v C-d’     ‘org-babel-demarcate-block’
  17612 ‘C-c C-v t’ or ‘C-c C-v C-t’     ‘org-babel-tangle’
  17613 ‘C-c C-v f’ or ‘C-c C-v C-f’     ‘org-babel-tangle-file’
  17614 ‘C-c C-v c’ or ‘C-c C-v C-c’     ‘org-babel-check-src-block’
  17615 ‘C-c C-v j’ or ‘C-c C-v C-j’     ‘org-babel-insert-header-arg’
  17616 ‘C-c C-v l’ or ‘C-c C-v C-l’     ‘org-babel-load-in-session’
  17617 ‘C-c C-v i’ or ‘C-c C-v C-i’     ‘org-babel-lob-ingest’
  17618 ‘C-c C-v I’ or ‘C-c C-v C-I’     ‘org-babel-view-src-block-info’
  17619 ‘C-c C-v z’ or ‘C-c C-v C-z’     ‘org-babel-switch-to-session-with-code’
  17620 ‘C-c C-v a’ or ‘C-c C-v C-a’     ‘org-babel-sha1-hash’
  17621 ‘C-c C-v h’ or ‘C-c C-v C-h’     ‘org-babel-describe-bindings’
  17622 ‘C-c C-v x’ or ‘C-c C-v C-x’     ‘org-babel-do-key-sequence-in-edit-buffer’
  17623 
  17624 
  17625 File: org.info,  Node: Batch Execution,  Prev: Key bindings and Useful Functions,  Up: Working with Source Code
  17626 
  17627 16.14 Batch Execution
  17628 =====================
  17629 
  17630 Org mode features, including working with source code facilities can be
  17631 invoked from the command line.  This enables building shell scripts for
  17632 batch processing, running automated system tasks, and expanding Org
  17633 mode’s usefulness.
  17634 
  17635    The sample script shows batch processing of multiple files using
  17636 ‘org-babel-tangle’.
  17637 
  17638      #!/bin/sh
  17639      # Tangle files with Org mode
  17640      #
  17641      emacs -Q --batch --eval "
  17642          (progn
  17643            (require 'ob-tangle)
  17644            (dolist (file command-line-args-left)
  17645              (with-current-buffer (find-file-noselect file)
  17646                (org-babel-tangle))))
  17647        " "$@"
  17648 
  17649 
  17650 File: org.info,  Node: Miscellaneous,  Next: Hacking,  Prev: Working with Source Code,  Up: Top
  17651 
  17652 17 Miscellaneous
  17653 ****************
  17654 
  17655 * Menu:
  17656 
  17657 * Completion::                   ‘M-<TAB>’ guesses completions.
  17658 * Structure Templates::          Quick insertion of structural elements.
  17659 * Speed Keys::                   Electric commands at the beginning of a headline.
  17660 * Clean View::                   Getting rid of leading stars in the outline.
  17661 * Execute commands in the active region:: Execute commands on multiple items in Org or agenda view.
  17662 * Dynamic Headline Numbering::   Display and update outline numbering.
  17663 * The Very Busy C-c C-c Key:: When in doubt, press ‘C-c C-c’.
  17664 * In-buffer Settings::           Overview of keywords.
  17665 * Regular Expressions::          Elisp regular expressions.
  17666 * Org Syntax::                   Formal description of Org’s syntax.
  17667 * Documentation Access::         Read documentation about current syntax.
  17668 * Escape Character::             Prevent Org from interpreting your writing.
  17669 * Code Evaluation Security::     Org files evaluate in-line code.
  17670 * Interaction::                  With other Emacs packages.
  17671 * TTY Keys::                     Using Org on a tty.
  17672 * Protocols::                    External access to Emacs and Org.
  17673 * Org Crypt::                    Encrypting Org files.
  17674 * Org Mobile::                   Viewing and capture on a mobile device.
  17675 * Drag and Drop & yank-media:: Dropping and pasting files and images
  17676 
  17677 
  17678 File: org.info,  Node: Completion,  Next: Structure Templates,  Up: Miscellaneous
  17679 
  17680 17.1 Completion
  17681 ===============
  17682 
  17683 Org has in-buffer completions.  Unlike minibuffer completions, which are
  17684 useful for quick command interactions, Org’s in-buffer completions are
  17685 more suitable for content creation in Org documents.  Type one or more
  17686 letters and invoke the hot key to complete the text in-place.  Depending
  17687 on the context and the keys, Org offers different types of completions.
  17688 No minibuffer is involved.  Such mode-specific hot keys have become an
  17689 integral part of Emacs and Org provides several shortcuts.
  17690 
  17691 ‘M-<TAB>’
  17692 
  17693      Complete word at point.
  17694 
  17695         • At the beginning of an empty headline, complete TODO keywords.
  17696 
  17697         • After ‘\’, complete TeX symbols supported by the exporter.
  17698 
  17699         • After ‘:’ in a headline, complete tags.  Org deduces the list
  17700           of tags from the ‘TAGS’ in-buffer option (see *note Setting
  17701           Tags::), the variable ‘org-tag-alist’, or from all tags used
  17702           in the current buffer.
  17703 
  17704         • After ‘:’ and not in a headline, complete property keys.  The
  17705           list of keys is constructed dynamically from all keys used in
  17706           the current buffer.
  17707 
  17708         • After ‘[[’, complete link abbreviations (see *note Link
  17709           Abbreviations::).
  17710 
  17711         • After ‘[[*’, complete headlines in the current buffer so that
  17712           they can be used in search links like: ‘[[*find this
  17713           headline]]’
  17714 
  17715         • After ‘#+’, complete the special keywords like ‘TYP_TODO’ or
  17716           file-specific ‘OPTIONS’.  After option keyword is complete,
  17717           pressing ‘M-<TAB>’ again inserts example settings for this
  17718           keyword.
  17719 
  17720         • After ‘STARTUP’ keyword, complete startup items.
  17721 
  17722         • When point is anywhere else, complete dictionary words using
  17723           Ispell.
  17724 
  17725 
  17726 File: org.info,  Node: Structure Templates,  Next: Speed Keys,  Prev: Completion,  Up: Miscellaneous
  17727 
  17728 17.2 Structure Templates
  17729 ========================
  17730 
  17731 With just a few keystrokes, it is possible to insert empty structural
  17732 blocks, such as ‘#+BEGIN_SRC’ ... ‘#+END_SRC’, or to wrap existing text
  17733 in such a block.
  17734 
  17735 ‘C-c C-,’ (‘org-insert-structure-template’)
  17736      Prompt for a type of block structure, and insert the block at
  17737      point.  If the region is active, it is wrapped in the block.  First
  17738      prompts the user for keys, which are used to look up a structure
  17739      type from the variable below.  If the key is ‘<TAB>’, ‘<RET>’, or
  17740      ‘<SPC>’, the user is prompted to enter a block type.
  17741 
  17742    Available structure types are defined in
  17743 ‘org-structure-template-alist’, see the docstring for adding or changing
  17744 values.
  17745 
  17746    Org Tempo expands snippets to structures defined in
  17747 ‘org-structure-template-alist’ and ‘org-tempo-keywords-alist’.  For
  17748 example, ‘< s <TAB>’ creates a code block.  Enable it by customizing
  17749 ‘org-modules’ or add ‘(require 'org-tempo)’ to your Emacs init file(1).
  17750 
  17751 ‘a’     ‘#+BEGIN_EXPORT ascii’ ... ‘#+END_EXPORT’
  17752 ‘c’     ‘#+BEGIN_CENTER’ ... ‘#+END_CENTER’
  17753 ‘C’     ‘#+BEGIN_COMMENT’ ... ‘#+END_COMMENT’
  17754 ‘e’     ‘#+BEGIN_EXAMPLE’ ... ‘#+END_EXAMPLE’
  17755 ‘E’     ‘#+BEGIN_EXPORT’ ... ‘#+END_EXPORT’
  17756 ‘h’     ‘#+BEGIN_EXPORT html’ ... ‘#+END_EXPORT’
  17757 ‘l’     ‘#+BEGIN_EXPORT latex’ ... ‘#+END_EXPORT’
  17758 ‘q’     ‘#+BEGIN_QUOTE’ ... ‘#+END_QUOTE’
  17759 ‘s’     ‘#+BEGIN_SRC’ ... ‘#+END_SRC’
  17760 ‘v’     ‘#+BEGIN_VERSE’ ... ‘#+END_VERSE’
  17761 
  17762    ---------- Footnotes ----------
  17763 
  17764    (1) For more information, please refer to the commentary section in
  17765 ‘org-tempo.el’.
  17766 
  17767 
  17768 File: org.info,  Node: Speed Keys,  Next: Clean View,  Prev: Structure Templates,  Up: Miscellaneous
  17769 
  17770 17.3 Speed Keys
  17771 ===============
  17772 
  17773 Single keystrokes can execute custom commands in an Org file when point
  17774 is on a headline.  Without the extra burden of a meta or modifier key,
  17775 Speed Keys can speed navigation or execute custom commands.  Besides
  17776 faster navigation, Speed Keys may come in handy on small mobile devices
  17777 that do not have full keyboards.  Speed Keys may also work on TTY
  17778 devices known for their problems when entering Emacs key chords.
  17779 
  17780    By default, Org has Speed Keys disabled.  To activate Speed Keys, set
  17781 the variable ‘org-use-speed-commands’ to a non-‘nil’ value.  To trigger
  17782 a Speed Key, point must be at the beginning of an Org headline, before
  17783 any of the stars.
  17784 
  17785    Org comes with a pre-defined list of Speed Keys.  To add or modify
  17786 Speed Keys, customize the option ‘org-speed-commands’.  For more
  17787 details, see the variable’s docstring.  With Speed Keys activated, ‘M-x
  17788 org-speed-command-help’, or ‘?’ when point is at the beginning of an Org
  17789 headline, shows currently active Speed Keys, including the user-defined
  17790 ones.
  17791 
  17792 
  17793 File: org.info,  Node: Clean View,  Next: Execute commands in the active region,  Prev: Speed Keys,  Up: Miscellaneous
  17794 
  17795 17.4 A Cleaner Outline View
  17796 ===========================
  17797 
  17798 Org’s outline with stars and no indents can look cluttered for short
  17799 documents.  For _book-like_ long documents, the effect is not as
  17800 noticeable.  Org provides an alternate stars and indentation scheme, as
  17801 shown on the right in the following table.  It displays only one star
  17802 and indents text to line up with the heading:
  17803 
  17804      * Top level headline             |    * Top level headline
  17805      ** Second level                  |      * Second level
  17806      *** Third level                  |        * Third level
  17807      some text                        |          some text
  17808      *** Third level                  |        * Third level
  17809      more text                        |          more text
  17810      * Another top level headline     |    * Another top level headline
  17811 
  17812    Org can achieve this in two ways, (1) by just displaying the buffer
  17813 in this way without changing it, or (2) by actually indenting every line
  17814 in the desired amount with hard spaces and hiding leading stars.
  17815 
  17816 * Menu:
  17817 
  17818 * Org Indent Mode::
  17819 * Hard indentation::
  17820 
  17821 
  17822 File: org.info,  Node: Org Indent Mode,  Next: Hard indentation,  Up: Clean View
  17823 
  17824 17.4.1 Org Indent Mode
  17825 ----------------------
  17826 
  17827 To display the buffer in the indented view, activate Org Indent minor
  17828 mode, using ‘M-x org-indent-mode’.  Text lines that are not headlines
  17829 are prefixed with virtual spaces to vertically align with the headline
  17830 text(1).
  17831 
  17832    To make more horizontal space, the headlines are shifted by two
  17833 characters.  Configure ‘org-indent-indentation-per-level’ variable for a
  17834 different number.
  17835 
  17836    By default, Org Indent mode turns off ‘org-adapt-indentation’ and
  17837 does hide leading stars by locally setting ‘org-hide-leading-stars’ to
  17838 ‘t’: only one star on each headline is visible, the rest are masked with
  17839 the same font color as the background.  If you want to customize this
  17840 default behavior, see ‘org-indent-mode-turns-on-hiding-stars’ and
  17841 ‘org-indent-mode-turns-off-org-adapt-indentation’.
  17842 
  17843    To globally turn on Org Indent mode for all files, customize the
  17844 variable ‘org-startup-indented’.  To control it for individual files,
  17845 use ‘STARTUP’ keyword as follows:
  17846 
  17847      #+STARTUP: indent
  17848      #+STARTUP: noindent
  17849 
  17850    ---------- Footnotes ----------
  17851 
  17852    (1) Org Indent mode also sets ‘wrap-prefix’ correctly for indenting
  17853 and wrapping long lines of headlines or text.  This minor mode also
  17854 handles Visual Line mode and directly applied settings through
  17855 ‘word-wrap’.
  17856 
  17857 
  17858 File: org.info,  Node: Hard indentation,  Prev: Org Indent Mode,  Up: Clean View
  17859 
  17860 17.4.2 Hard indentation
  17861 -----------------------
  17862 
  17863 It is possible to use hard spaces to achieve the indentation instead, if
  17864 the bare ASCII file should have the indented look also outside Emacs(1).
  17865 With Org’s support, you have to indent all lines to line up with the
  17866 outline headers.  You would use these settings(2):
  17867 
  17868      (setq org-adapt-indentation t
  17869            org-hide-leading-stars t
  17870            org-odd-levels-only t)
  17871 
  17872 _Indentation of text below headlines_ (‘org-adapt-indentation’)
  17873      The first setting modifies paragraph filling, line wrapping, and
  17874      structure editing commands to preserving or adapting the
  17875      indentation as appropriate.
  17876 
  17877 _Hiding leading stars_ (‘org-hide-leading-stars’)
  17878      The second setting makes leading stars invisible by applying the
  17879      face ‘org-hide’ to them.  For per-file preference, use these file
  17880      ‘STARTUP’ options:
  17881 
  17882           #+STARTUP: hidestars
  17883           #+STARTUP: showstars
  17884 
  17885 _Odd levels_ (‘org-odd-levels-only’)
  17886      The third setting makes Org use only odd levels, 1, 3, 5, ..., in
  17887      the outline to create more indentation.  On a per-file level,
  17888      control this with:
  17889 
  17890           #+STARTUP: odd
  17891           #+STARTUP: oddeven
  17892 
  17893      To convert a file between single and double stars layouts, use ‘M-x
  17894      org-convert-to-odd-levels’ and ‘M-x org-convert-to-oddeven-levels’.
  17895 
  17896    ---------- Footnotes ----------
  17897 
  17898    (1) This works, but requires extra effort.  Org Indent mode is more
  17899 convenient for most applications.
  17900 
  17901    (2) ‘org-adapt-indentation’ can also be set to ‘'headline-data’, in
  17902 which case only data lines below the headline will be indented.
  17903 
  17904 
  17905 File: org.info,  Node: Execute commands in the active region,  Next: Dynamic Headline Numbering,  Prev: Clean View,  Up: Miscellaneous
  17906 
  17907 17.5 Execute commands in the active region
  17908 ==========================================
  17909 
  17910 When in an Org buffer and the region is active, some commands will apply
  17911 to all the subtrees in the active region.  For example, hitting ‘C-c
  17912 C-s’ when multiple headlines are within the active region will
  17913 successively prompt you for a new schedule date and time.  To disable
  17914 this, set the option ‘org-loop-over-headlines-in-active-region’ to
  17915 non-‘t’, activate the region and run the command normally.
  17916 
  17917    ‘org-agenda-loop-over-headlines-in-active-region’ is the equivalent
  17918 option of the agenda buffer, where you can also use *note bulk editing
  17919 of selected entries: Bulk remote editing selected entries.
  17920 
  17921    Not all commands can loop in the active region and what subtrees or
  17922 headlines are considered can be refined: see the docstrings of these
  17923 options for more details.
  17924 
  17925 
  17926 File: org.info,  Node: Dynamic Headline Numbering,  Next: The Very Busy C-c C-c Key,  Prev: Execute commands in the active region,  Up: Miscellaneous
  17927 
  17928 17.6 Dynamic Headline Numbering
  17929 ===============================
  17930 
  17931 The Org Num minor mode, toggled with ‘M-x org-num-mode’, displays
  17932 outline numbering on top of headlines.  It also updates it automatically
  17933 upon changes to the structure of the document.
  17934 
  17935    By default, all headlines are numbered.  You can limit numbering to
  17936 specific headlines according to their level, tags, ‘COMMENT’ keyword, or
  17937 ‘UNNUMBERED’ property.  Set ‘org-num-max-level’, ‘org-num-skip-tags’,
  17938 ‘org-num-skip-commented’, ‘org-num-skip-unnumbered’, or
  17939 ‘org-num-skip-footnotes’ accordingly.
  17940 
  17941    If ‘org-num-skip-footnotes’ is non-‘nil’, footnotes sections (see
  17942 *note Creating Footnotes::) are not numbered either.
  17943 
  17944    You can control how the numbering is displayed by setting
  17945 ‘org-num-face’ and ‘org-num-format-function’.
  17946 
  17947    You can also turn this mode globally for all Org files by setting the
  17948 option ‘org-startup-numerated’ to ‘t’, or locally on a file by using
  17949 ‘#+startup: num’.
  17950 
  17951 
  17952 File: org.info,  Node: The Very Busy C-c C-c Key,  Next: In-buffer Settings,  Prev: Dynamic Headline Numbering,  Up: Miscellaneous
  17953 
  17954 17.7 The Very Busy ‘C-c C-c’ Key
  17955 ================================
  17956 
  17957 The ‘C-c C-c’ key in Org serves many purposes depending on the context.
  17958 It is probably the most over-worked, multi-purpose key combination in
  17959 Org.  Its uses are well documented throughout this manual, but here is a
  17960 consolidated list for easy reference.
  17961 
  17962    • If column view (see *note Column View::) is on, exit column view.
  17963 
  17964    • If any highlights shown in the buffer from the creation of a sparse
  17965      tree, or from clock display, remove such highlights.
  17966 
  17967    • If point is in one of the special ‘KEYWORD’ lines, scan the buffer
  17968      for these lines and update the information.  Also reset the Org
  17969      file cache used to temporary store the contents of URLs used as
  17970      values for keywords like ‘SETUPFILE’.
  17971 
  17972    • If point is inside a table, realign the table.
  17973 
  17974    • If point is on a ‘TBLFM’ keyword, re-apply the formulas to the
  17975      entire table.
  17976 
  17977    • If the current buffer is a capture buffer, close the note and file
  17978      it.  With a prefix argument, also jump to the target location after
  17979      saving the note.
  17980 
  17981    • If point is on a ‘<<<target>>>’, update radio targets and
  17982      corresponding links in this buffer.
  17983 
  17984    • If point is on a property line or at the start or end of a property
  17985      drawer, offer property commands.
  17986 
  17987    • If point is at a footnote reference, go to the corresponding
  17988      definition, and _vice versa_.
  17989 
  17990    • If point is on a statistics cookie, update it.
  17991 
  17992    • If point is in a plain list item with a checkbox, toggle the status
  17993      of the checkbox.
  17994 
  17995    • If point is on a numbered item in a plain list, renumber the
  17996      ordered list.
  17997 
  17998    • If point is on the ‘#+BEGIN’ line of a dynamic block, the block is
  17999      updated.
  18000 
  18001    • If point is at a timestamp, fix the day name in the timestamp.
  18002 
  18003 
  18004 File: org.info,  Node: In-buffer Settings,  Next: Regular Expressions,  Prev: The Very Busy C-c C-c Key,  Up: Miscellaneous
  18005 
  18006 17.8 Summary of In-Buffer Settings
  18007 ==================================
  18008 
  18009 In-buffer settings start with ‘#+’, followed by a keyword, a colon, one
  18010 or more spaces, and then a word for each setting.  Org accepts multiple
  18011 settings on the same line.  Org also accepts multiple lines for a
  18012 keyword.  This manual describes these settings throughout.  A summary
  18013 follows here.
  18014 
  18015    ‘C-c C-c’ activates any changes to the in-buffer settings.  Closing
  18016 and reopening the Org file in Emacs also activates the changes.
  18017 
  18018 ‘#+ARCHIVE: %s_done::’
  18019      Sets the archive location of the agenda file.  The corresponding
  18020      variable is ‘org-archive-location’.
  18021 
  18022 ‘#+CATEGORY’
  18023      Sets the category of the agenda file, which applies to the entire
  18024      document.
  18025 
  18026 ‘#+COLUMNS: %25ITEM ...’
  18027      Set the default format for columns view.  This format applies when
  18028      columns view is invoked in locations where no ‘COLUMNS’ property
  18029      applies.
  18030 
  18031 ‘#+CONSTANTS: name1=value1 ...’
  18032      Set file-local values for constants that table formulas can use.
  18033      This line sets the local variable
  18034      ‘org-table-formula-constants-local’.  The global version of this
  18035      variable is ‘org-table-formula-constants’.
  18036 
  18037 ‘#+FILETAGS: :tag1:tag2:tag3:’
  18038      Set tags that all entries in the file inherit from, including the
  18039      top-level entries.
  18040 
  18041 ‘#+LINK: linkword replace’
  18042      Each line specifies one abbreviation for one link.  Use multiple
  18043      ‘LINK’ keywords for more, see *note Link Abbreviations::.  The
  18044      corresponding variable is ‘org-link-abbrev-alist’.
  18045 
  18046 ‘#+PRIORITIES: highest lowest default’
  18047      This line sets the limits and the default for the priorities.  All
  18048      three must be either letters A–Z or numbers 0–9.  The highest
  18049      priority must have a lower ASCII number than the lowest priority.
  18050 
  18051 ‘#+PROPERTY: Property_Name Value’
  18052      This line sets a default inheritance value for entries in the
  18053      current buffer, most useful for specifying the allowed values of a
  18054      property.
  18055 
  18056 ‘#+SETUPFILE: file’
  18057      The setup file or a URL pointing to such file is for additional
  18058      in-buffer settings.  Org loads this file and parses it for any
  18059      settings in it when Org opens the main file.  If URL is specified,
  18060      the contents are downloaded and stored in a temporary file cache.
  18061      ‘C-c C-c’ on the settings line re-parses and re-loads the file, and
  18062      also resets the temporary file cache.
  18063 
  18064      Org also parses and loads _in-buffer settings_ from the setup file
  18065      during normal exporting process.  Org parses the _in-buffer
  18066      settings_ as if it was included in the containing Org buffer.  The
  18067      rest of the contents of setup file is ignored.
  18068 
  18069      To visit the setup file—not a URL—use ‘C-c '’ while point is on the
  18070      line with the setup file name.
  18071 
  18072 ‘#+STARTUP:’
  18073      Startup options Org uses when first visiting a file.
  18074 
  18075      The first set of options deals with the initial visibility of the
  18076      outline tree.  The corresponding variable for global default
  18077      settings is ‘org-startup-folded’ with a default value of
  18078      ‘showeverything’.
  18079 
  18080      ‘overview’         Top-level headlines only.
  18081      ‘content’          All headlines.
  18082      ‘showall’          No folding on any entry.
  18083      ‘show2levels’      Headline levels 1-2.
  18084      ‘show3levels’      Headline levels 1-3.
  18085      ‘show4levels’      Headline levels 1-4.
  18086      ‘show5levels’      Headline levels 1-5.
  18087      ‘showeverything’   Show even drawer contents.
  18088 
  18089      Dynamic virtual indentation is controlled by the variable
  18090      ‘org-startup-indented’(1).
  18091 
  18092      ‘indent’     Start with Org Indent mode turned on.
  18093      ‘noindent’   Start with Org Indent mode turned off.
  18094 
  18095      Dynamic virtual numeration of headlines is controlled by the
  18096      variable ‘org-startup-numerated’.
  18097 
  18098      ‘num’     Start with Org num mode turned on.
  18099      ‘nonum’   Start with Org num mode turned off.
  18100 
  18101      Aligns tables consistently upon visiting a file.  The corresponding
  18102      variable is ‘org-startup-align-all-tables’ with ‘nil’ as default
  18103      value.
  18104 
  18105      ‘align’     Align all tables.
  18106      ‘noalign’   Do not align tables on startup.
  18107 
  18108      Shrink table columns with a width cookie.  The corresponding
  18109      variable is ‘org-startup-shrink-all-tables’ with ‘nil’ as default
  18110      value.
  18111 
  18112      When visiting a file, inline images can be automatically displayed.
  18113      The corresponding variable is ‘org-startup-with-inline-images’,
  18114      with a default value ‘nil’ to avoid delays when visiting a file.
  18115 
  18116      ‘inlineimages’     Show inline images.
  18117      ‘noinlineimages’   Do not show inline images on startup.
  18118 
  18119      Bracket links in Org buffers are displayed hiding the link path and
  18120      brackets.  For example, ‘[[https://orgmode.org][Org Website]]’ is,
  18121      by default, displayed as “Org Website”, hiding the link itself and
  18122      just displaying its description.  Alternatively, the links can be
  18123      displayed in full.  The corresponding variable is
  18124      ‘org-link-descriptive’.
  18125 
  18126      ‘descriptivelinks’   Hide path and brackets in links.
  18127      ‘literallinks’       Do not hide anything.
  18128 
  18129      Logging the closing and reopening of TODO items and clock intervals
  18130      can be configured using these options (see variables
  18131      ‘org-log-done’, ‘org-log-note-clock-out’, and ‘org-log-repeat’).
  18132 
  18133      ‘logdone’              Record a timestamp when an item is marked as done.
  18134      ‘lognotedone’          Record timestamp and a note when DONE.
  18135      ‘nologdone’            Do not record when items are marked as done.
  18136      ‘logrepeat’            Record a time when reinstating a repeating item.
  18137      ‘lognoterepeat’        Record a note when reinstating a repeating item.
  18138      ‘nologrepeat’          Do not record when reinstating repeating item.
  18139      ‘lognoteclock-out’     Record a note when clocking out.
  18140      ‘nolognoteclock-out’   Do not record a note when clocking out.
  18141      ‘logreschedule’        Record a timestamp when scheduling time changes.
  18142      ‘lognotereschedule’    Record a note when scheduling time changes.
  18143      ‘nologreschedule’      Do not record when a scheduling date changes.
  18144      ‘logredeadline’        Record a timestamp when deadline changes.
  18145      ‘lognoteredeadline’    Record a note when deadline changes.
  18146      ‘nologredeadline’      Do not record when a deadline date changes.
  18147      ‘logrefile’            Record a timestamp when refiling.
  18148      ‘lognoterefile’        Record a note when refiling.
  18149      ‘nologrefile’          Do not record when refiling.
  18150 
  18151      Here are the options for hiding leading stars in outline headings,
  18152      and for indenting outlines.  The corresponding variables are
  18153      ‘org-hide-leading-stars’ and ‘org-odd-levels-only’, both with a
  18154      default setting ‘nil’ (meaning ‘showstars’ and ‘oddeven’).
  18155 
  18156      ‘hidestars’   Make all but one of the stars starting a headline invisible.
  18157      ‘showstars’   Show all stars starting a headline.
  18158      ‘indent’      Virtual indentation according to outline level.
  18159      ‘noindent’    No virtual indentation according to outline level.
  18160      ‘odd’         Allow only odd outline levels (1, 3, ...).
  18161      ‘oddeven’     Allow all outline levels.
  18162 
  18163      To turn on custom format overlays over timestamps (variables
  18164      ‘org-display-custom-times’ and ‘org-timestamp-custom-formats’),
  18165      use:
  18166 
  18167      ‘customtime’   Overlay custom time format.
  18168 
  18169      The following options influence the table spreadsheet (variable
  18170      ‘constants-unit-system’).
  18171 
  18172      ‘constcgs’   ‘constants.el’ should use the c-g-s unit system.
  18173      ‘constSI’    ‘constants.el’ should use the SI unit system.
  18174 
  18175      To influence footnote settings, use the following keywords.  The
  18176      corresponding variables are ‘org-footnote-define-inline’,
  18177      ‘org-footnote-auto-label’, and ‘org-footnote-auto-adjust’.
  18178 
  18179      ‘fninline’     Define footnotes inline.
  18180      ‘fnnoinline’   Define footnotes in separate section.
  18181      ‘fnlocal’      Define footnotes near first reference, but not inline.
  18182      ‘fnprompt’     Prompt for footnote labels.
  18183      ‘fnauto’       Create ‘[fn:1]’-like labels automatically (default).
  18184      ‘fnconfirm’    Offer automatic label for editing or confirmation.
  18185      ‘fnadjust’     Automatically renumber and sort footnotes.
  18186      ‘nofnadjust’   Do not renumber and sort automatically.
  18187      ‘fnanon’       Create anonymous footnotes with ‘org-footnote-new’.
  18188 
  18189      To hide blocks or drawers on startup, use these keywords.  The
  18190      corresponding variables are ‘org-hide-block-startup’ and
  18191      ‘org-hide-drawer-startup’.
  18192 
  18193      ‘hideblocks’      Hide all begin/end blocks on startup.
  18194      ‘nohideblocks’    Do not hide blocks on startup.
  18195      ‘hidedrawers’     Hide all begin/end blocks on startup.
  18196      ‘nohidedrawers’   Do not hide blocks on startup.
  18197 
  18198    The display of entities as UTF-8 characters is governed by the
  18199 variable ‘org-pretty-entities’ and the keywords
  18200 
  18201 ‘entitiespretty’   Show entities as UTF-8 characters where possible.
  18202 ‘entitiesplain’    Leave entities plain.
  18203 
  18204 ‘#+TAGS: TAG1(c1) TAG2(c2)’
  18205      These lines (several such lines are allowed) specify the valid tags
  18206      in this file, and (potentially) the corresponding _fast tag
  18207      selection_ keys.  The corresponding variable is ‘org-tag-alist’.
  18208 
  18209 ‘#+TODO:’, ‘#+SEQ_TODO:’, ‘#+TYP_TODO:’
  18210      These lines set the TODO keywords and their interpretation in the
  18211      current file.  The corresponding variable is ‘org-todo-keywords’.
  18212 
  18213    ---------- Footnotes ----------
  18214 
  18215    (1) Note that Org Indent mode also sets the ‘wrap-prefix’ property,
  18216 such that Visual Line mode (or purely setting ‘word-wrap’) wraps long
  18217 lines, including headlines, correctly indented.
  18218 
  18219 
  18220 File: org.info,  Node: Regular Expressions,  Next: Org Syntax,  Prev: In-buffer Settings,  Up: Miscellaneous
  18221 
  18222 17.9 Regular Expressions
  18223 ========================
  18224 
  18225 Org, as an Emacs mode, makes use of Elisp regular expressions for
  18226 searching, matching and filtering.  Elisp regular expressions have a
  18227 somewhat different syntax then some common standards.  Most notably,
  18228 alternation is indicated using ‘\|’ and matching groups are denoted by
  18229 ‘\(...\)’.  For example the string ‘home\|work’ matches either ‘home’ or
  18230 ‘work’.
  18231 
  18232    For more information, see *note Regular Expressions in Emacs:
  18233 (emacs)Regexps.
  18234 
  18235 
  18236 File: org.info,  Node: Org Syntax,  Next: Documentation Access,  Prev: Regular Expressions,  Up: Miscellaneous
  18237 
  18238 17.10 Org Syntax
  18239 ================
  18240 
  18241 A reference document providing a formal description of Org’s syntax is
  18242 available as a draft on Worg (https://orgmode.org/worg/org-syntax.html),
  18243 initially written by Nicolas Goaziou.  It defines Org’s core internal
  18244 concepts such as “headlines”, “sections”, “affiliated keywords”,
  18245 “(greater) elements” and “objects”.  Each part of an Org document
  18246 belongs to one of the previous categories.
  18247 
  18248    To explore the abstract structure of an Org buffer, run this in a
  18249 buffer:
  18250 
  18251      M-: (org-element-parse-buffer) <RET>
  18252 
  18253 It outputs a list containing the buffer’s content represented as an
  18254 abstract structure.  The export engine relies on the information stored
  18255 in this list.  Most interactive commands—e.g., for structure
  18256 editing—also rely on the syntactic meaning of the surrounding context.
  18257 
  18258    You can probe the syntax of your documents with the command
  18259 
  18260      M-x org-lint <RET>
  18261 
  18262 It runs a number of checks to find common mistakes.  It then displays
  18263 their location in a dedicated buffer, along with a description and a
  18264 “trust level”, since false-positive are possible.  From there, you can
  18265 operate on the reports with the following keys:
  18266 
  18267 ‘C-j’, ‘<TAB>’   Display the offending line
  18268 ‘<RET>’          Move point to the offending line
  18269 ‘g’              Check the document again
  18270 ‘h’              Hide all reports from the same checker
  18271 ‘i’              Also remove them from all subsequent checks
  18272 ‘S’              Sort reports by the column at point
  18273 
  18274 
  18275 File: org.info,  Node: Documentation Access,  Next: Escape Character,  Prev: Org Syntax,  Up: Miscellaneous
  18276 
  18277 17.11 Context Dependent Documentation
  18278 =====================================
  18279 
  18280 ‘C-c C-x I’ in an Org file tries to open a suitable section of the Org
  18281 manual depending on the syntax at point.  For example, using it on a
  18282 headline displays “Document Structure” section.
  18283 
  18284    ‘q’ closes the Info window.
  18285 
  18286 
  18287 File: org.info,  Node: Escape Character,  Next: Code Evaluation Security,  Prev: Documentation Access,  Up: Miscellaneous
  18288 
  18289 17.12 Escape Character
  18290 ======================
  18291 
  18292 You may sometimes want to write text that looks like Org syntax, but
  18293 should really read as plain text.  Org may use a specific escape
  18294 character in some situations, i.e., a backslash in macros (see *note
  18295 Macro Replacement::) and links (see *note Link Format::), or a comma in
  18296 source and example blocks (see *note Literal Examples::).  In the
  18297 general case, however, we suggest to use the zero width space.  You can
  18298 insert one with any of the following:
  18299 
  18300      C-x 8 <RET> zero width space <RET>
  18301      C-x 8 <RET> 200B <RET>
  18302 
  18303    For example, in order to write ‘[[1,2]]’ as-is in your document, you
  18304 may write instead
  18305 
  18306      [X[1,2]]
  18307 
  18308    where ‘X’ denotes the zero width space character.
  18309 
  18310 
  18311 File: org.info,  Node: Code Evaluation Security,  Next: Interaction,  Prev: Escape Character,  Up: Miscellaneous
  18312 
  18313 17.13 Code Evaluation and Security Issues
  18314 =========================================
  18315 
  18316 Unlike plain text, running code comes with risk.  Each source code
  18317 block, in terms of risk, is equivalent to an executable file.  Org
  18318 therefore puts a few confirmation prompts by default.  This is to alert
  18319 the casual user from accidentally running untrusted code.
  18320 
  18321    For users who do not run code blocks or write code regularly, Org’s
  18322 default settings should suffice.  However, some users may want to tweak
  18323 the prompts for fewer interruptions.  To weigh the risks of automatic
  18324 execution of code blocks, here are some details about code evaluation.
  18325 
  18326    Org evaluates code in the following circumstances:
  18327 
  18328 _Source code blocks_
  18329      Org evaluates source code blocks in an Org file during export.  Org
  18330      also evaluates a source code block with the ‘C-c C-c’ key chord.
  18331      Users exporting or running code blocks must load files only from
  18332      trusted sources.  Be wary of customizing variables that remove or
  18333      alter default security measures.
  18334 
  18335       -- User Option: org-confirm-babel-evaluate
  18336           When ‘t’, Org prompts the user for confirmation before
  18337           executing each code block.  When ‘nil’, Org executes code
  18338           blocks without prompting the user for confirmation.  When this
  18339           option is set to a custom function, Org invokes the function
  18340           with these two arguments: the source code language and the
  18341           body of the code block.  The custom function must return
  18342           either a ‘t’ or ‘nil’, which determines if the user is
  18343           prompted.  Each source code language can be handled separately
  18344           through this function argument.
  18345 
  18346      For example, here is how to execute ditaa code blocks without
  18347      prompting:
  18348 
  18349           (defun my-org-confirm-babel-evaluate (lang body)
  18350             (not (string= lang "ditaa")))  ;don't ask for ditaa
  18351           (setq org-confirm-babel-evaluate #'my-org-confirm-babel-evaluate)
  18352 
  18353 _Following ‘shell’ and ‘elisp’ links_
  18354      Org has two link types that can directly evaluate code (see *note
  18355      External Links::).  Because such code is not visible, these links
  18356      have a potential risk.  Org therefore prompts the user when it
  18357      encounters such links.  The customization variables are:
  18358 
  18359       -- User Option: org-link-shell-confirm-function
  18360           Function that prompts the user before executing a shell link.
  18361 
  18362       -- User Option: org-link-elisp-confirm-function
  18363           Function that prompts the user before executing an Emacs Lisp
  18364           link.
  18365 
  18366 _Formulas in tables_
  18367      Formulas in tables (see *note The Spreadsheet::) are code that is
  18368      evaluated either by the Calc interpreter, or by the Emacs Lisp
  18369      interpreter.
  18370 
  18371 
  18372 File: org.info,  Node: Interaction,  Next: TTY Keys,  Prev: Code Evaluation Security,  Up: Miscellaneous
  18373 
  18374 17.14 Interaction with Other Packages
  18375 =====================================
  18376 
  18377 Org’s compatibility and the level of interaction with other Emacs
  18378 packages are documented here.
  18379 
  18380 * Menu:
  18381 
  18382 * Cooperation::                  Packages Org cooperates with.
  18383 * Conflicts::                    Packages that lead to conflicts.
  18384 
  18385 
  18386 File: org.info,  Node: Cooperation,  Next: Conflicts,  Up: Interaction
  18387 
  18388 17.14.1 Packages that Org cooperates with
  18389 -----------------------------------------
  18390 
  18391 ‘calc.el’ by Dave Gillespie
  18392 
  18393      Org uses the Calc package for implementing spreadsheet
  18394      functionality in its tables (see *note The Spreadsheet::).  Org
  18395      also uses Calc for embedded calculations.  See *note GNU Emacs Calc
  18396      Manual: (calc)Embedded Mode.
  18397 
  18398 ‘constants.el’ by Carsten Dominik
  18399 
  18400      Org can use names for constants in formulas in tables.  Org can
  18401      also use calculation suffixes for units, such as ‘M’ for ‘Mega’.
  18402      For a standard collection of such constants, install the
  18403      ‘constants’ package.  Install version 2.0 of this package,
  18404      available at <https://github.com/cdominik/constants-for-Emacs>.
  18405      Org checks if the function ‘constants-get’ has been autoloaded.
  18406      Installation instructions are in the file ‘constants.el’.
  18407 
  18408 ‘cdlatex.el’ by Carsten Dominik
  18409 
  18410      Org mode can make use of the CDLaTeX package to efficiently enter
  18411      LaTeX fragments into Org files.  See *note CDLaTeX mode::.
  18412 
  18413 ‘imenu.el’ by Ake Stenhoff and Lars Lindberg
  18414 
  18415      Imenu creates dynamic menus based on an index of items in a file.
  18416      Org mode supports Imenu menus.  Enable it with a mode hook as
  18417      follows:
  18418 
  18419           (add-hook 'org-mode-hook
  18420                     (lambda () (imenu-add-to-menubar "Imenu")))
  18421 
  18422      By default the index is two levels deep—you can modify the depth
  18423      using the option ‘org-imenu-depth’.
  18424 
  18425      Org activates Imenu support only in the buffers opened after
  18426      loading Imenu library.  To enable Imenu support in an already
  18427      opened Org buffer, reload Org.
  18428 
  18429 ‘speedbar.el’ by Eric M. Ludlam
  18430 
  18431      Speedbar package creates a special Emacs frame for displaying files
  18432      and index items in files.  Org mode supports Speedbar; users can
  18433      drill into Org files directly from the Speedbar.  The ‘<’ in the
  18434      Speedbar frame tweaks the agenda commands to that file or to a
  18435      subtree.
  18436 
  18437 ‘table.el’ by Takaaki Ota
  18438 
  18439      Complex ASCII tables with automatic line wrapping, column- and
  18440      row-spanning, and alignment can be created using the Emacs table
  18441      package by Takaaki Ota.  Org mode recognizes such tables and
  18442      exports them properly.  ‘C-c '’ to edit these tables in a special
  18443      buffer, much like Org’s code blocks.  Because of interference with
  18444      other Org mode functionality, Takaaki Ota tables cannot be edited
  18445      directly in the Org buffer.
  18446 
  18447      ‘C-c '’ (‘org-edit-special’)
  18448           Edit a ‘table.el’ table.  Works when point is in a ‘table.el’
  18449           table.
  18450 
  18451      ‘C-c ~​’ (‘org-table-create-with-table.el’)
  18452           Insert a ‘table.el’ table.  If there is already a table at
  18453           point, this command converts it between the ‘table.el’ format
  18454           and the Org mode format.  See the documentation string of the
  18455           command ‘org-convert-table’ for the restrictions under which
  18456           this is possible.
  18457 
  18458 
  18459 File: org.info,  Node: Conflicts,  Prev: Cooperation,  Up: Interaction
  18460 
  18461 17.14.2 Packages that conflict with Org mode
  18462 --------------------------------------------
  18463 
  18464 In Emacs, shift-selection combines motions of point with shift key to
  18465 enlarge regions.  Emacs sets this mode by default.  This conflicts with
  18466 Org’s use of ‘S-<cursor>’ commands to change timestamps, TODO keywords,
  18467 priorities, and item bullet types, etc.  Since ‘S-<cursor>’ commands
  18468 outside of specific contexts do not do anything, Org offers the variable
  18469 ‘org-support-shift-select’ for customization.  Org mode accommodates
  18470 shift selection by (i) making it available outside of the special
  18471 contexts where special commands apply, and (ii) extending an existing
  18472 active region even if point moves across a special context.
  18473 
  18474 ‘cua.el’ by Kim F. Storm
  18475      Org key bindings conflict with ‘S-<cursor>’ keys used by CUA mode.
  18476      For Org to relinquish these bindings to CUA mode, configure the
  18477      variable ‘org-replace-disputed-keys’.  When set, Org moves the
  18478      following key bindings in Org files, and in the agenda buffer—but
  18479      not during date selection.
  18480 
  18481      ‘S-<UP>’ ⇒ ‘M-p’              ‘S-<DOWN>’ ⇒ ‘M-n’
  18482      ‘S-<LEFT>’ ⇒ ‘M--’            ‘S-<RIGHT>’ ⇒ ‘M-+’
  18483      ‘C-S-<LEFT>’ ⇒ ‘M-S--’        ‘C-S-<RIGHT>’ ⇒ ‘M-S-+’
  18484 
  18485      Yes, these are unfortunately more difficult to remember.  If you
  18486      want to have other replacement keys, look at the variable
  18487      ‘org-disputed-keys’.
  18488 
  18489 ‘ecomplete.el’ by Lars Magne Ingebrigtsen
  18490      Ecomplete provides “electric” address completion in address header
  18491      lines in message buffers.  Sadly Orgtbl mode cuts Ecomplete’s power
  18492      supply: no completion happens when Orgtbl mode is enabled in
  18493      message buffers while entering text in address header lines.  If
  18494      one wants to use ecomplete one should _not_ follow the advice to
  18495      automagically turn on Orgtbl mode in message buffers (see *note
  18496      Orgtbl Mode::), but instead—after filling in the message
  18497      headers—turn on Orgtbl mode manually when needed in the messages
  18498      body.
  18499 
  18500 ‘filladapt.el’ by Kyle Jones
  18501      Org mode tries to do the right thing when filling paragraphs, list
  18502      items and other elements.  Many users reported problems using both
  18503      ‘filladapt.el’ and Org mode, so a safe thing to do is to disable
  18504      filladapt like this:
  18505 
  18506           (add-hook 'org-mode-hook 'turn-off-filladapt-mode)
  18507 
  18508 ‘viper.el’ by Michael Kifer
  18509 
  18510      Viper uses ‘C-c /’ and therefore makes this key not access the
  18511      corresponding Org mode command ‘org-sparse-tree’.  You need to find
  18512      another key for this command, or override the key in
  18513      ‘viper-vi-global-user-map’ with
  18514 
  18515           (define-key viper-vi-global-user-map "C-c /" 'org-sparse-tree)
  18516 
  18517 ‘windmove.el’ by Hovav Shacham
  18518 
  18519      This package also uses the ‘S-<cursor>’ keys, so everything written
  18520      in the paragraph above about CUA mode also applies here.  If you
  18521      want to make the windmove function active in locations where Org
  18522      mode does not have special functionality on ‘S-<cursor>’, add this
  18523      to your configuration:
  18524 
  18525           ;; Make windmove work in Org mode:
  18526           (add-hook 'org-shiftup-final-hook 'windmove-up)
  18527           (add-hook 'org-shiftleft-final-hook 'windmove-left)
  18528           (add-hook 'org-shiftdown-final-hook 'windmove-down)
  18529           (add-hook 'org-shiftright-final-hook 'windmove-right)
  18530 
  18531 ‘yasnippet.el’
  18532      The way Org mode binds the ‘<TAB>’ key (binding to ‘[tab]’ instead
  18533      of ‘"\t"’) overrules YASnippet’s access to this key.  The following
  18534      code fixed this problem:
  18535 
  18536           (add-hook 'org-mode-hook
  18537                     (lambda ()
  18538                       (setq-local yas/trigger-key [tab])
  18539                       (define-key yas/keymap [tab] 'yas/next-field-or-maybe-expand)))
  18540 
  18541      The latest version of YASnippet does not play well with Org mode.
  18542      If the above code does not fix the conflict, start by defining the
  18543      following function:
  18544 
  18545           (defun yas/org-very-safe-expand ()
  18546             (let ((yas/fallback-behavior 'return-nil)) (yas/expand)))
  18547 
  18548      Then, tell Org mode to use that function:
  18549 
  18550           (add-hook 'org-mode-hook
  18551                     (lambda ()
  18552                       (make-variable-buffer-local 'yas/trigger-key)
  18553                       (setq yas/trigger-key [tab])
  18554                       (add-to-list 'org-tab-first-hook 'yas/org-very-safe-expand)
  18555                       (define-key yas/keymap [tab] 'yas/next-field)))
  18556 
  18557 
  18558 File: org.info,  Node: TTY Keys,  Next: Protocols,  Prev: Interaction,  Up: Miscellaneous
  18559 
  18560 17.15 Using Org on a TTY
  18561 ========================
  18562 
  18563 Org provides alternative key bindings for TTY and modern mobile devices
  18564 that cannot perform movement commands on point and key bindings with
  18565 modifier keys.  Some of these workarounds may be more cumbersome than
  18566 necessary.  Users should look into customizing these further based on
  18567 their usage needs.  For example, the normal ‘S-<cursor>’ for editing
  18568 timestamp might be better with ‘C-c .’ chord.
  18569 
  18570 Default        Alternative 1        Speed key   Alternative 2
  18571 ----------------------------------------------------------------
  18572 ‘S-<TAB>’      ‘C-u <TAB>’          ‘C’
  18573 ‘M-<LEFT>’     ‘C-c C-x l’          ‘l’         ‘Esc <LEFT>’
  18574 ‘M-S-<LEFT>’   ‘C-c C-x L’          ‘L’
  18575 ‘M-<RIGHT>’    ‘C-c C-x r’          ‘r’         ‘Esc <RIGHT>’
  18576 ‘M-S-<RIGHT>’  ‘C-c C-x R’          ‘R’
  18577 ‘M-<UP>’       ‘C-c C-x u’                      ‘Esc <UP>’
  18578 ‘M-S-<UP>’     ‘C-c C-x U’          ‘U’
  18579 ‘M-<DOWN>’     ‘C-c C-x d’                      ‘Esc <DOWN>’
  18580 ‘M-S-<DOWN>’   ‘C-c C-x D’          ‘D’
  18581 ‘S-<RET>’      ‘C-c C-x c’
  18582 ‘M-<RET>’      ‘C-c C-x m’                      ‘Esc <RET>’
  18583 ‘M-S-<RET>’    ‘C-c C-x M’
  18584 ‘S-<LEFT>’     ‘C-c <LEFT>’
  18585 ‘S-<RIGHT>’    ‘C-c <RIGHT>’
  18586 ‘S-<UP>’       ‘C-c <UP>’
  18587 ‘S-<DOWN>’     ‘C-c <DOWN>’
  18588 ‘C-S-<LEFT>’   ‘C-c C-x <LEFT>’
  18589 ‘C-S-<RIGHT>’  ‘C-c C-x <RIGHT>’
  18590 ‘C-c C-,’      ‘C-c C-x s’
  18591 
  18592 
  18593 File: org.info,  Node: Protocols,  Next: Org Crypt,  Prev: TTY Keys,  Up: Miscellaneous
  18594 
  18595 17.16 Protocols for External Access
  18596 ===================================
  18597 
  18598 Org protocol is a tool to trigger custom actions in Emacs from external
  18599 applications.  Any application that supports calling external programs
  18600 with an URL as argument may be used with this functionality.  For
  18601 example, you can configure bookmarks in your web browser to send a link
  18602 to the current page to Org and create a note from it using capture (see
  18603 *note Capture::).  You can also create a bookmark that tells Emacs to
  18604 open the local source file of a remote website you are browsing.
  18605 
  18606    In order to use Org protocol from an application, you need to
  18607 register ‘org-protocol://’ as a valid scheme-handler.  External calls
  18608 are passed to Emacs through the ‘emacsclient’ command, so you also need
  18609 to ensure an Emacs server is running.  More precisely, when the
  18610 application calls
  18611 
  18612      emacsclient "org-protocol://PROTOCOL?key1=val1&key2=val2"
  18613 
  18614 Emacs calls the handler associated to PROTOCOL with argument ‘(:key1
  18615 val1 :key2 val2)’.
  18616 
  18617    Org protocol comes with three predefined protocols, detailed in the
  18618 following sections.  Configure ‘org-protocol-protocol-alist’ to define
  18619 your own.
  18620 
  18621 * Menu:
  18622 
  18623 * The store-link protocol:: Store a link, push URL to kill-ring.
  18624 * The capture protocol::  Fill a buffer with external information.
  18625 * The open-source protocol:: Edit published contents.
  18626 
  18627 
  18628 File: org.info,  Node: The store-link protocol,  Next: The capture protocol,  Up: Protocols
  18629 
  18630 17.16.1 The ‘store-link’ protocol
  18631 ---------------------------------
  18632 
  18633 Using the ‘store-link’ handler, you can copy links, to that they can be
  18634 inserted using ‘M-x org-insert-link’ or yanking.  More precisely, the
  18635 command
  18636 
  18637      emacsclient "org-protocol://store-link?url=URL&title=TITLE"
  18638 
  18639 stores the following link:
  18640 
  18641      [[URL][TITLE]]
  18642 
  18643    In addition, URL is pushed on the kill-ring for yanking.  You need to
  18644 encode URL and TITLE if they contain slashes, and probably quote those
  18645 for the shell.
  18646 
  18647    To use this feature from a browser, add a bookmark with an arbitrary
  18648 name, e.g., ‘Org: store-link’ and enter this as _Location_:
  18649 
  18650      javascript:location.href='org-protocol://store-link?' +
  18651            new URLSearchParams({url:location.href, title:document.title});
  18652 
  18653    Title is an optional parameter.  Another expression was recommended
  18654 earlier:
  18655 
  18656      javascript:location.href='org-protocol://store-link?url='+
  18657            encodeURIComponent(location.href);
  18658 
  18659    The latter form is compatible with older Org versions from 9.0 to
  18660 9.4.
  18661 
  18662 
  18663 File: org.info,  Node: The capture protocol,  Next: The open-source protocol,  Prev: The store-link protocol,  Up: Protocols
  18664 
  18665 17.16.2 The ‘capture’ protocol
  18666 ------------------------------
  18667 
  18668 Activating the “capture” handler pops up a ‘Capture’ buffer in Emacs,
  18669 using acapture template.
  18670 
  18671      emacsclient "org-protocol://capture?template=X&url=URL&title=TITLE&body=BODY"
  18672 
  18673    To use this feature, add a bookmark with an arbitrary name, e.g.,
  18674 ‘Org: capture’, and enter this as ‘Location’:
  18675 
  18676      javascript:location.href='org-protocol://capture?' +
  18677            new URLSearchParams({
  18678                  template: 'x', url: window.location.href,
  18679                  title: document.title, body: window.getSelection()});
  18680 
  18681    You might have seen another expression:
  18682 
  18683      javascript:location.href='org-protocol://capture?template=x'+
  18684            '&url='+encodeURIComponent(window.location.href)+
  18685            '&title='+encodeURIComponent(document.title)+
  18686            '&body='+encodeURIComponent(window.getSelection());
  18687 
  18688    It is a bit more cluttered than the former one, but it is compatible
  18689 with previous Org versions 9.0-9.4.  In these versions encoding of space
  18690 as “+” character was not supported by URI decoder.
  18691 
  18692    The capture template to be used can be specified in the bookmark
  18693 (like ‘X’ above).  If unspecified, the template key is set in the
  18694 variable ‘org-protocol-default-template-key’.  The following template
  18695 placeholders are available:
  18696 
  18697      %:link          The URL
  18698      %:description   The webpage title
  18699      %:annotation    Equivalent to [[%:link][%:description]]
  18700      %i              The selected text
  18701 
  18702 
  18703 File: org.info,  Node: The open-source protocol,  Prev: The capture protocol,  Up: Protocols
  18704 
  18705 17.16.3 The ‘open-source’ protocol
  18706 ----------------------------------
  18707 
  18708 The ‘open-source’ handler is designed to help with editing local sources
  18709 when reading a document.  To that effect, you can use a bookmark with
  18710 the following location:
  18711 
  18712      javascript:location.href='org-protocol://open-source?&url='+
  18713            encodeURIComponent(location.href)
  18714 
  18715    The variable ‘org-protocol-project-alist’ maps URLs to local file
  18716 names, by stripping URL parameters from the end and replacing the
  18717 ‘:base-url’ with ‘:working-directory’ and ‘:online-suffix’ with
  18718 ‘:working-suffix’.  For example, assuming you own a local copy of
  18719 ‘https://orgmode.org/worg/’ contents at ‘/home/user/worg’, you can set
  18720 ‘org-protocol-project-alist’ to the following
  18721 
  18722      (setq org-protocol-project-alist
  18723            '(("Worg"
  18724               :base-url "https://orgmode.org/worg/"
  18725               :working-directory "/home/user/worg/"
  18726               :online-suffix ".html"
  18727               :working-suffix ".org")))
  18728 
  18729 If you are now browsing
  18730 ‘https://orgmode.org/worg/org-contrib/org-protocol.html’ and find a typo
  18731 or have an idea about how to enhance the documentation, simply click the
  18732 bookmark and start editing.
  18733 
  18734    However, such mapping may not always yield the desired results.
  18735 Suppose you maintain an online store located at ‘https://example.com/’.
  18736 The local sources reside in ‘/home/user/example/’.  It is common
  18737 practice to serve all products in such a store through one file and
  18738 rewrite URLs that do not match an existing file on the server.  That
  18739 way, a request to ‘https://example.com/print/posters.html’ might be
  18740 rewritten on the server to something like
  18741 ‘https://example.com/shop/products.php/posters.html.php’.  The
  18742 ‘open-source’ handler probably cannot find a file named
  18743 ‘/home/user/example/print/posters.html.php’ and fails.
  18744 
  18745    Such an entry in ‘org-protocol-project-alist’ may hold an additional
  18746 property ‘:rewrites’.  This property is a list of cons cells, each of
  18747 which maps a regular expression to a path relative to the
  18748 ‘:working-directory’.
  18749 
  18750    Now map the URL to the path ‘/home/user/example/products.php’ by
  18751 adding ‘:rewrites’ rules like this:
  18752 
  18753      (setq org-protocol-project-alist
  18754            '(("example.com"
  18755               :base-url "https://example.com/"
  18756               :working-directory "/home/user/example/"
  18757               :online-suffix ".php"
  18758               :working-suffix ".php"
  18759               :rewrites (("example.com/print/" . "products.php")
  18760                          ("example.com/$" . "index.php")))))
  18761 
  18762 Since ‘example.com/$’ is used as a regular expression, it maps
  18763 ‘https://example.com/’, ‘https://example.com’,
  18764 ‘https://www.example.com/’ and similar to
  18765 ‘/home/user/example/index.php’.
  18766 
  18767    The ‘:rewrites’ rules are searched as a last resort if and only if no
  18768 existing file name is matched.
  18769 
  18770    Two functions can help you filling ‘org-protocol-project-alist’ with
  18771 valid contents: ‘org-protocol-create’ and ‘org-protocol-create-for-org’.
  18772 The latter is of use if you’re editing an Org file that is part of a
  18773 publishing project.
  18774 
  18775 
  18776 File: org.info,  Node: Org Crypt,  Next: Org Mobile,  Prev: Protocols,  Up: Miscellaneous
  18777 
  18778 17.17 Org Crypt
  18779 ===============
  18780 
  18781 Org Crypt encrypts the text of an entry, but not the headline, or
  18782 properties.  Behind the scene, it uses the *note Emacs EasyPG Library:
  18783 (epa)Top. to encrypt and decrypt files, and EasyPG needs a correct *note
  18784 GnuPG: (gnupg)Top. setup.
  18785 
  18786    Any text below a headline that has a ‘crypt’ tag is automatically
  18787 encrypted when the file is saved.  To use a different tag, customize the
  18788 ‘org-crypt-tag-matcher’ setting.
  18789 
  18790    Here is a suggestion for Org Crypt settings in Emacs init file:
  18791 
  18792      (require 'org-crypt)
  18793      (org-crypt-use-before-save-magic)
  18794      (setq org-tags-exclude-from-inheritance '("crypt"))
  18795 
  18796      (setq org-crypt-key nil)
  18797      ;; GPG key to use for encryption.
  18798      ;; nil means  use symmetric encryption unconditionally.
  18799      ;; "" means use symmetric encryption unless heading sets CRYPTKEY property.
  18800 
  18801      (setq auto-save-default nil)
  18802      ;; Auto-saving does not cooperate with org-crypt.el: so you need to
  18803      ;; turn it off if you plan to use org-crypt.el quite often.  Otherwise,
  18804      ;; you'll get an (annoying) message each time you start Org.
  18805 
  18806      ;; To turn it off only locally, you can insert this:
  18807      ;;
  18808      ;; # -*- buffer-auto-save-file-name: nil; -*-
  18809 
  18810    It’s possible to use different keys for different headings by
  18811 specifying the respective key as property ‘CRYPTKEY’, e.g.:
  18812 
  18813      * Totally secret :crypt:
  18814        :PROPERTIES:
  18815        :CRYPTKEY: 0x0123456789012345678901234567890123456789
  18816        :END:
  18817 
  18818    Note that the ‘CRYPTKEY’ property is only effective when
  18819 ‘org-crypt-key’ is non-‘nil’.  If ‘org-crypt-key’ is ‘nil’, Org uses
  18820 symmetric encryption unconditionally.
  18821 
  18822    Excluding the ‘crypt’ tag from inheritance prevents already encrypted
  18823 text from being encrypted again.
  18824 
  18825 
  18826 File: org.info,  Node: Org Mobile,  Next: Drag and Drop & yank-media,  Prev: Org Crypt,  Up: Miscellaneous
  18827 
  18828 17.18 Org Mobile
  18829 ================
  18830 
  18831 Org Mobile is a protocol for synchronizing Org files between Emacs and
  18832 other applications, e.g., on mobile devices.  It enables offline-views
  18833 and capture support for an Org mode system that is rooted on a “real”
  18834 computer.  The external application can also record changes to existing
  18835 entries.
  18836 
  18837    This appendix describes Org’s support for agenda view formats
  18838 compatible with Org Mobile.  It also describes synchronizing changes,
  18839 such as to notes, between the mobile application and the computer.
  18840 
  18841    To change tags and TODO states in the mobile application, first
  18842 customize the variables ‘org-todo-keywords’, ‘org-tag-alist’ and
  18843 ‘org-tag-persistent-alist’.  These should cover all the important tags
  18844 and TODO keywords, even if Org files use only some of them.  Though the
  18845 mobile application is expected to support in-buffer settings, it is
  18846 required to understand TODO states _sets_ (see *note Per-file
  18847 keywords::) and _mutually exclusive_ tags (see *note Setting Tags::)
  18848 only for those set in these variables.
  18849 
  18850 * Menu:
  18851 
  18852 * Setting up the staging area::  For the mobile device.
  18853 * Pushing to the mobile application:: Uploading Org files and agendas.
  18854 * Pulling from the mobile application:: Integrating captured and flagged items.
  18855 
  18856 
  18857 File: org.info,  Node: Setting up the staging area,  Next: Pushing to the mobile application,  Up: Org Mobile
  18858 
  18859 17.18.1 Setting up the staging area
  18860 -----------------------------------
  18861 
  18862 The mobile application needs access to a file directory on a server(1)
  18863 to interact with Emacs.  Pass its location through the
  18864 ‘org-mobile-directory’ variable.  If you can mount that directory
  18865 locally just set the variable to point to that directory:
  18866 
  18867      (setq org-mobile-directory "~/orgmobile/")
  18868 
  18869    Alternatively, by using TRAMP (see *note TRAMP User Manual:
  18870 (tramp)Top.), ‘org-mobile-directory’ may point to a remote directory
  18871 accessible through, for example, SSH, SCP, or DAVS:
  18872 
  18873      (setq org-mobile-directory "/davs:user@remote.host:/org/webdav/")
  18874 
  18875    With a public server, consider encrypting the files.  Org also
  18876 requires OpenSSL installed on the local computer.  To turn on
  18877 encryption, set the same password in the mobile application and in
  18878 Emacs.  Set the password in the variable ‘org-mobile-use-encryption’(2).
  18879 Note that even after the mobile application encrypts the file contents,
  18880 the file name remains visible on the file systems of the local computer,
  18881 the server, and the mobile device.
  18882 
  18883    ---------- Footnotes ----------
  18884 
  18885    (1) For a server to host files, consider using a WebDAV server, such
  18886 as Nextcloud (https://nextcloud.com).  Additional help is at this FAQ
  18887 entry (https://orgmode.org/worg/org-faq.html#mobileorg_webdav).
  18888 
  18889    (2) If Emacs is configured for safe storing of passwords, then
  18890 configure the variable ‘org-mobile-encryption-password’; please read the
  18891 docstring of that variable.
  18892 
  18893 
  18894 File: org.info,  Node: Pushing to the mobile application,  Next: Pulling from the mobile application,  Prev: Setting up the staging area,  Up: Org Mobile
  18895 
  18896 17.18.2 Pushing to the mobile application
  18897 -----------------------------------------
  18898 
  18899 The command ‘org-mobile-push’ copies files listed in ‘org-mobile-files’
  18900 into the staging area.  Files include agenda files (as listed in
  18901 ‘org-agenda-files’).  Customize ‘org-mobile-files’ to add other files.
  18902 File names are staged with paths relative to ‘org-directory’, so all
  18903 files should be inside this directory(1).
  18904 
  18905    Push creates a special Org file ‘agendas.org’ with custom agenda
  18906 views defined by the user(2).
  18907 
  18908    Finally, Org writes the file ‘index.org’, containing links to other
  18909 files.  The mobile application reads this file first from the server to
  18910 determine what other files to download for agendas.  For faster
  18911 downloads, it is expected to only read files whose checksums(3) have
  18912 changed.
  18913 
  18914    ---------- Footnotes ----------
  18915 
  18916    (1) Symbolic links in ‘org-directory’ need to have the same name as
  18917 their targets.
  18918 
  18919    (2) While creating the agendas, Org mode forces ‘ID’ properties on
  18920 all referenced entries, so that these entries can be uniquely identified
  18921 if Org Mobile flags them for further action.  To avoid setting
  18922 properties configure the variable ‘org-mobile-force-id-on-agenda-items’
  18923 to ‘nil’.  Org mode then relies on outline paths, assuming they are
  18924 unique.
  18925 
  18926    (3) Checksums are stored automatically in the file ‘checksums.dat’.
  18927 
  18928 
  18929 File: org.info,  Node: Pulling from the mobile application,  Prev: Pushing to the mobile application,  Up: Org Mobile
  18930 
  18931 17.18.3 Pulling from the mobile application
  18932 -------------------------------------------
  18933 
  18934 The command ‘org-mobile-pull’ synchronizes changes with the server.
  18935 More specifically, it first pulls the Org files for viewing.  It then
  18936 appends captured entries and pointers to flagged or changed entries to
  18937 the file ‘mobileorg.org’ on the server.  Org ultimately integrates its
  18938 data in an inbox file format, through the following steps:
  18939 
  18940   1. Org moves all entries found in ‘mobileorg.org’(1) and appends them
  18941      to the file pointed to by the variable ‘org-mobile-inbox-for-pull’.
  18942      It should reside neither in the staging area nor on the server.
  18943      Each captured entry and each editing event is a top-level entry in
  18944      the inbox file.
  18945 
  18946   2. After moving the entries, Org processes changes to the shared
  18947      files.  Some of them are applied directly and without user
  18948      interaction.  Examples include changes to tags, TODO state,
  18949      headline and body text.  Entries requiring further action are
  18950      tagged as ‘FLAGGED’.  Org marks entries with problems with an error
  18951      message in the inbox.  They have to be resolved manually.
  18952 
  18953   3. Org generates an agenda view for flagged entries for user
  18954      intervention to clean up.  For notes stored in flagged entries, Org
  18955      displays them in the echo area when point is on the corresponding
  18956      agenda item.
  18957 
  18958      ‘?’
  18959           Pressing ‘?’ displays the entire flagged note in another
  18960           window.  Org also pushes it to the kill ring.  To store
  18961           flagged note as a normal note, use ‘? z C-y C-c C-c’.
  18962           Pressing ‘?’ twice does these things: first it removes the
  18963           ‘FLAGGED’ tag; second, it removes the flagged note from the
  18964           property drawer; third, it signals that manual editing of the
  18965           flagged entry is now finished.
  18966 
  18967    From the agenda dispatcher, ‘?’ returns to the view to finish
  18968 processing flagged entries.  Note that these entries may not be the most
  18969 recent since the mobile application searches files that were last
  18970 pulled.  To get an updated agenda view with changes since the last pull,
  18971 pull again.
  18972 
  18973    ---------- Footnotes ----------
  18974 
  18975    (1) The file will be empty after this operation.
  18976 
  18977 
  18978 File: org.info,  Node: Drag and Drop & yank-media,  Prev: Org Mobile,  Up: Miscellaneous
  18979 
  18980 17.19 Drag and Drop & ‘yank-media’
  18981 ==================================
  18982 
  18983 Org mode supports drag and drop (DnD) of files.  By default, Org asks
  18984 the user what must be done with the dropped file: attach it, insert
  18985 ‘file:’ link, or open the file.  Customize ‘org-yank-dnd-method’ to set
  18986 the default DnD action.
  18987 
  18988    When DnD method is “attach”, Org mode first consults DnD metadata to
  18989 decide the attach method.  For example, when file/files are dragged from
  18990 a file manager, Org may attach by copying or by moving.
  18991 
  18992    If Org cannot figure out which attachment method to use from the
  18993 metadata, it defaults to ‘org-yank-dnd-default-attach-method’ (1)
  18994 
  18995    Starting from Emacs 29, Org mode supports ‘yank-media’ command to
  18996 yank images from the clipboard and files from a file manager.
  18997 
  18998    When yanking images from clipboard, Org saves the image on disk and
  18999 inserts the image link to Org buffer.  Images are either saved as
  19000 attachments to heading (default) or to a globally defined directory.
  19001 The save location is controlled by ‘org-yank-image-save-method’.
  19002 
  19003    The yanked images are saved under automatically generated name.  You
  19004 can customize ‘org-yank-image-file-name-function’ to make Org query the
  19005 image names or change the naming scheme.
  19006 
  19007    When yanking files copied from a file manager, Org respects the value
  19008 of ‘org-yank-dnd-method’.  Image files pasted this way also respect the
  19009 value of ‘org-yank-image-save-method’ when the action to perform is
  19010 ‘attach’.
  19011 
  19012    ---------- Footnotes ----------
  19013 
  19014    (1) By default, ‘org-yank-dnd-default-attach-method’ is set to nil –
  19015 use the same value as ‘org-attach-method’ (‘cp’ by default).
  19016 
  19017 
  19018 File: org.info,  Node: Hacking,  Next: History and Acknowledgments,  Prev: Miscellaneous,  Up: Top
  19019 
  19020 Appendix A Hacking
  19021 ******************
  19022 
  19023 This appendix describes some ways a user can extend the functionality of
  19024 Org.
  19025 
  19026 * Menu:
  19027 
  19028 * Hooks::                        How to reach into Org’s internals.
  19029 * Add-on Packages::              Available extensions.
  19030 * Adding Hyperlink Types::       New custom link types.
  19031 * Adding Export Backends::       How to write new export backends.
  19032 * Tables in Arbitrary Syntax::   Orgtbl for LaTeX and other programs.
  19033 * Dynamic Blocks::               Automatically filled blocks.
  19034 * Special Agenda Views::         Customized views.
  19035 * Speeding Up Your Agendas::     Tips on how to speed up your agendas.
  19036 * Extracting Agenda Information:: Post-processing agenda information.
  19037 * Using the Property API::       Writing programs that use entry properties.
  19038 * Using the Mapping API::        Mapping over all or selected entries.
  19039 
  19040 
  19041 File: org.info,  Node: Hooks,  Next: Add-on Packages,  Up: Hacking
  19042 
  19043 A.1 Hooks
  19044 =========
  19045 
  19046 Org has a large number of hook variables for adding functionality.  A
  19047 complete list of hooks with documentation is maintained by the Worg
  19048 project at <https://orgmode.org/worg/doc.html#hooks>.
  19049 
  19050 
  19051 File: org.info,  Node: Add-on Packages,  Next: Adding Hyperlink Types,  Prev: Hooks,  Up: Hacking
  19052 
  19053 A.2 Add-on Packages
  19054 ===================
  19055 
  19056 Various authors wrote a large number of add-on packages for Org.  Some
  19057 of these packages used to be part of the ‘org-mode’ repository but are
  19058 now hosted in a separate ‘org-contrib’ repository here
  19059 (https://git.sr.ht/~bzg/org-contrib).  A Worg page with more information
  19060 is at: <https://orgmode.org/worg/org-contrib/>.
  19061 
  19062 
  19063 File: org.info,  Node: Adding Hyperlink Types,  Next: Adding Export Backends,  Prev: Add-on Packages,  Up: Hacking
  19064 
  19065 A.3 Adding Hyperlink Types
  19066 ==========================
  19067 
  19068 Org has many built-in hyperlink types (see *note Hyperlinks::), and an
  19069 interface for adding new link types.  The following example shows the
  19070 process of adding Org links to Unix man pages, which look like this
  19071 
  19072      [[man:printf][The printf manual]]
  19073 
  19074 The following ‘ol-man.el’ file implements it
  19075 
  19076      ;;; ol-man.el - Support for links to man pages in Org mode
  19077      (require 'ol)
  19078 
  19079      (org-link-set-parameters "man"
  19080                               :follow #'org-man-open
  19081                               :export #'org-man-export
  19082                               :store #'org-man-store-link)
  19083 
  19084      (defcustom org-man-command 'man
  19085        "The Emacs command to be used to display a man page."
  19086        :group 'org-link
  19087        :type '(choice (const man) (const woman)))
  19088 
  19089      (defun org-man-open (path _)
  19090        "Visit the manpage on PATH.
  19091      PATH should be a topic that can be thrown at the man command."
  19092        (funcall org-man-command path))
  19093 
  19094      (defun org-man-store-link (&optional _interactive?)
  19095        "Store a link to a man page."
  19096        (when (memq major-mode '(Man-mode woman-mode))
  19097          ;; This is a man page, we do make this link.
  19098          (let* ((page (org-man-get-page-name))
  19099                 (link (concat "man:" page))
  19100                 (description (format "Man page for %s" page)))
  19101            (org-link-store-props
  19102             :type "man"
  19103             :link link
  19104             :description description))))
  19105 
  19106      (defun org-man-get-page-name ()
  19107        "Extract the page name from the buffer name."
  19108        ;; This works for both `Man-mode' and `woman-mode'.
  19109        (if (string-match " \\(\\S-+\\)\\*" (buffer-name))
  19110            (match-string 1 (buffer-name))
  19111          (error "Cannot create link to this man page")))
  19112 
  19113      (defun org-man-export (link description format _)
  19114        "Export a man page link from Org files."
  19115        (let ((path (format "http://man.he.net/?topic=%s&section=all" link))
  19116              (desc (or description link)))
  19117          (pcase format
  19118            (`html (format "<a target=\"_blank\" href=\"%s\">%s</a>" path desc))
  19119            (`latex (format "\\href{%s}{%s}" path desc))
  19120            (`texinfo (format "@uref{%s,%s}" path desc))
  19121            (`ascii (format "%s (%s)" desc path))
  19122            (t path))))
  19123 
  19124      (provide ol-man)
  19125      ;;; ol-man.el ends here
  19126 
  19127 To activate links to man pages in Org, enter this in the Emacs init
  19128 file:
  19129 
  19130      (require 'ol-man)
  19131 
  19132 A review of ‘ol-man.el’:
  19133 
  19134   1. First, ‘(require 'ol)’ ensures that ‘ol.el’ is loaded.
  19135 
  19136   2. Then ‘org-link-set-parameters’ defines a new link type with ‘man’
  19137      prefix and associates functions for following, exporting and
  19138      storing such links.  See the variable ‘org-link-parameters’ for a
  19139      complete list of possible associations.
  19140 
  19141   3. The rest of the file implements necessary variables and functions.
  19142 
  19143      For example, ‘org-man-store-link’ is responsible for storing a link
  19144      when ‘org-store-link’ (see *note Handling Links::) is called from a
  19145      buffer displaying a man page.  It is passed an argument
  19146      ‘interactive?’ which this function does not use, but other store
  19147      functions use to behave differently when a link is stored
  19148      interactively by the user.  It first checks if the major mode is
  19149      appropriate.  If check fails, the function returns ‘nil’, which
  19150      means it isn’t responsible for creating a link to the current
  19151      buffer.  Otherwise the function makes a link string by combining
  19152      the ‘man:’ prefix with the man topic.  It also provides a default
  19153      description.  The function ‘org-insert-link’ can insert it back
  19154      into an Org buffer later on.
  19155 
  19156 
  19157 File: org.info,  Node: Adding Export Backends,  Next: Tables in Arbitrary Syntax,  Prev: Adding Hyperlink Types,  Up: Hacking
  19158 
  19159 A.4 Adding Export Backends
  19160 ==========================
  19161 
  19162 Org’s export engine makes it easy for writing new backends.  The
  19163 framework on which the engine was built makes it easy to derive new
  19164 backends from existing ones.
  19165 
  19166    The two main entry points to the export engine are:
  19167 ‘org-export-define-backend’ and ‘org-export-define-derived-backend’.  To
  19168 grok these functions, see ‘ox-latex.el’ for an example of defining a new
  19169 backend from scratch, and ‘ox-beamer.el’ for an example of deriving from
  19170 an existing engine.
  19171 
  19172    For creating a new backend from scratch, first set its name as a
  19173 symbol in an alist consisting of elements and export functions.  To make
  19174 the backend visible to the export dispatcher, set ‘:menu-entry’ keyword.
  19175 For export options specific to this backend, set the ‘:options-alist’.
  19176 
  19177    For creating a new backend from an existing one, set
  19178 ‘:translate-alist’ to an alist of export functions.  This alist replaces
  19179 the parent backend functions.
  19180 
  19181    For complete documentation, see the Org Export Reference on Worg
  19182 (https://orgmode.org/worg/dev/org-export-reference.html).
  19183 
  19184 
  19185 File: org.info,  Node: Tables in Arbitrary Syntax,  Next: Dynamic Blocks,  Prev: Adding Export Backends,  Up: Hacking
  19186 
  19187 A.5 Tables in Arbitrary Syntax
  19188 ==============================
  19189 
  19190 Due to Org’s success in handling tables with Orgtbl, a frequently
  19191 requested feature is the use of Org’s table functions in other modes,
  19192 e.g., LaTeX.  This would be hard to do in a general way without
  19193 complicated customization nightmares.  Moreover, that would take Org
  19194 away from its simplicity roots that Orgtbl has proven.  There is,
  19195 however, an alternate approach to accomplishing the same.
  19196 
  19197    This approach involves implementing a custom _translate_ function
  19198 that operates on a native Org _source table_ to produce a table in
  19199 another format.  This strategy would keep the excellently working Orgtbl
  19200 simple and isolate complications, if any, confined to the translate
  19201 function.  To add more alien table formats, we just add more translate
  19202 functions.  Also the burden of developing custom translate functions for
  19203 new table formats is in the hands of those who know those formats best.
  19204 
  19205 * Menu:
  19206 
  19207 * Radio tables::                 Sending and receiving radio tables.
  19208 * A LaTeX example::           Step by step, almost a tutorial.
  19209 * Translator functions::         Copy and modify.
  19210 
  19211 
  19212 File: org.info,  Node: Radio tables,  Next: A LaTeX example,  Up: Tables in Arbitrary Syntax
  19213 
  19214 A.5.1 Radio tables
  19215 ------------------
  19216 
  19217 Radio tables are target locations for translated tables that are not
  19218 near their source.  Org finds the target location and inserts the
  19219 translated table.
  19220 
  19221    The key to finding the target location is the magic words ‘BEGIN/END
  19222 RECEIVE ORGTBL’.  They have to appear as comments in the current mode.
  19223 If the mode is C, then:
  19224 
  19225      /* BEGIN RECEIVE ORGTBL table_name */
  19226      /* END RECEIVE ORGTBL table_name */
  19227 
  19228    At the location of source, Org needs a special line to direct Orgtbl
  19229 to translate and to find the target for inserting the translated table.
  19230 For example:
  19231 
  19232      #+ORGTBL: SEND table_name translation_function arguments ...
  19233 
  19234 ‘table_name’ is the table’s reference name, which is also used in the
  19235 receiver lines, and the ‘translation_function’ is the Lisp function that
  19236 translates.  This line, in addition, may also contain alternating key
  19237 and value arguments at the end.  The translation function gets these
  19238 values as a property list.  A few standard parameters are already
  19239 recognized and acted upon before the translation function is called:
  19240 
  19241 ‘:skip N’
  19242      Skip the first N lines of the table.  Hlines do count; include them
  19243      if they are to be skipped.
  19244 
  19245 ‘:skipcols (n1 n2 ...)’
  19246      List of columns to be skipped.  First Org automatically discards
  19247      columns with calculation marks and then sends the table to the
  19248      translator function, which then skips columns as specified in
  19249      ‘skipcols’.
  19250 
  19251    To keep the source table intact in the buffer without being disturbed
  19252 when the source file is compiled or otherwise being worked on, use one
  19253 of these strategies:
  19254 
  19255    • Place the table in a block comment.  For example, in C mode you
  19256      could wrap the table between ‘/*’ and ‘*/’ lines.
  19257 
  19258    • Put the table after an “end” statement.  For example ‘\bye’ in TeX
  19259      and ‘\end{document}’ in LaTeX.
  19260 
  19261    • Comment and un-comment each line of the table during edits.  The
  19262      ‘M-x orgtbl-toggle-comment’ command makes toggling easy.
  19263 
  19264 
  19265 File: org.info,  Node: A LaTeX example,  Next: Translator functions,  Prev: Radio tables,  Up: Tables in Arbitrary Syntax
  19266 
  19267 A.5.2 A LaTeX example of radio tables
  19268 -------------------------------------
  19269 
  19270 To wrap a source table in LaTeX, use the ‘comment’ environment provided
  19271 by ‘comment.sty’(1).  To activate it, put ‘\usepackage{comment}’ in the
  19272 document header.  Orgtbl mode inserts a radio table skeleton(2) with the
  19273 command ‘M-x orgtbl-insert-radio-table’, which prompts for a table name.
  19274 For example, if ‘salesfigures’ is the name, the template inserts:
  19275 
  19276      % BEGIN RECEIVE ORGTBL salesfigures
  19277      % END RECEIVE ORGTBL salesfigures
  19278      \begin{comment}
  19279      #+ORGTBL: SEND salesfigures orgtbl-to-latex
  19280      | | |
  19281      \end{comment}
  19282 
  19283 The line ‘#+ORGTBL: SEND’ tells Orgtbl mode to use the function
  19284 ‘orgtbl-to-latex’ to convert the table to LaTeX format, then insert the
  19285 table at the target (receive) location named ‘salesfigures’.  Now the
  19286 table is ready for data entry.  It can even use spreadsheet features(3):
  19287 
  19288      % BEGIN RECEIVE ORGTBL salesfigures
  19289      % END RECEIVE ORGTBL salesfigures
  19290      \begin{comment}
  19291      #+ORGTBL: SEND salesfigures orgtbl-to-latex
  19292      | Month | Days | Nr sold | per day |
  19293      |-------+------+---------+---------|
  19294      | Jan   |   23 |      55 |     2.4 |
  19295      | Feb   |   21 |      16 |     0.8 |
  19296      | March |   22 |     278 |    12.6 |
  19297      #+TBLFM: $4=$3/$2;%.1f
  19298      % $ (optional extra dollar to keep Font Lock happy, see footnote)
  19299      \end{comment}
  19300 
  19301    After editing, ‘C-c C-c’ inserts the translated table at the target
  19302 location, between the two marker lines.
  19303 
  19304    For hand-made custom tables, note that the translator needs to skip
  19305 the first two lines of the source table.  Also the command has to
  19306 _splice_ out the target table without the header and footer.
  19307 
  19308      \begin{tabular}{lrrr}
  19309      Month & \multicolumn{1}{c}{Days} & Nr.\ sold & per day\\
  19310      % BEGIN RECEIVE ORGTBL salesfigures
  19311      % END RECEIVE ORGTBL salesfigures
  19312      \end{tabular}
  19313      %
  19314      \begin{comment}
  19315      #+ORGTBL: SEND salesfigures orgtbl-to-latex :splice t :skip 2
  19316      | Month | Days | Nr sold | per day |
  19317      |-------+------+---------+---------|
  19318      | Jan   |   23 |      55 |     2.4 |
  19319      | Feb   |   21 |      16 |     0.8 |
  19320      | March |   22 |     278 |    12.6 |
  19321      #+TBLFM: $4=$3/$2;%.1f
  19322      \end{comment}
  19323 
  19324    The LaTeX translator function ‘orgtbl-to-latex’ is already part of
  19325 Orgtbl mode and uses a ‘tabular’ environment to typeset the table and
  19326 marks horizontal lines with ‘\hline’.  For additional parameters to
  19327 control output, see *note Translator functions:::
  19328 
  19329 ‘:splice BOOLEAN’
  19330      When {{{var(BOOLEAN}}} is non-‘nil’, return only table body lines;
  19331      i.e., not wrapped in ‘tabular’ environment.  Default is ‘nil’.
  19332 
  19333 ‘:fmt FMT’
  19334      Format string to warp each field.  It should contain ‘%s’ for the
  19335      original field value.  For example, to wrap each field value in
  19336      dollar symbol, you could use ‘:fmt "$%s$"’.  Format can also wrap a
  19337      property list with column numbers and formats, for example ‘:fmt (2
  19338      "$%s$" 4 "%s\\%%")’.  In place of a string, a function of one
  19339      argument can be used; the function must return a formatted string.
  19340 
  19341 ‘:efmt EFMT’
  19342      Format numbers as exponentials.  The spec should have ‘%s’ twice
  19343      for inserting mantissa and exponent, for example
  19344      ‘"%s\\times10^{%s}"’.  This may also be a property list with column
  19345      numbers and formats, for example ‘:efmt (2 "$%s\\times10^{%s}$" 4
  19346      "$%s\\cdot10^{%s}$")’.  After EFMT has been applied to a value,
  19347      FMT—see above—is also applied.  Functions with two arguments can be
  19348      supplied instead of strings.  By default, no special formatting is
  19349      applied.
  19350 
  19351    ---------- Footnotes ----------
  19352 
  19353    (1) <https://www.ctan.org/pkg/comment>
  19354 
  19355    (2) By default this works only for LaTeX, HTML, and Texinfo.
  19356 Configure the variable ‘orgtbl-radio-table-templates’ to install
  19357 templates for other modes.
  19358 
  19359    (3) If the ‘TBLFM’ keyword contains an odd number of dollar
  19360 characters, this may cause problems with Font Lock in LaTeX mode.  As
  19361 shown in the example you can fix this by adding an extra line inside the
  19362 ‘comment’ environment that is used to balance the dollar expressions.
  19363 If you are using AUCTeX with the font-latex library, a much better
  19364 solution is to add the ‘comment’ environment to the variable
  19365 ‘LaTeX-verbatim-environments’.
  19366 
  19367 
  19368 File: org.info,  Node: Translator functions,  Prev: A LaTeX example,  Up: Tables in Arbitrary Syntax
  19369 
  19370 A.5.3 Translator functions
  19371 --------------------------
  19372 
  19373 Orgtbl mode has built-in translator functions: ‘orgtbl-to-csv’
  19374 (comma-separated values), ‘orgtbl-to-tsv’ (TAB-separated values),
  19375 ‘orgtbl-to-latex’, ‘orgtbl-to-html’, ‘orgtbl-to-texinfo’,
  19376 ‘orgtbl-to-unicode’ and ‘orgtbl-to-orgtbl’.  They use the generic
  19377 translator, ‘orgtbl-to-generic’, which delegates translations to various
  19378 export backends.
  19379 
  19380    Properties passed to the function through the ‘ORGTBL SEND’ line take
  19381 precedence over properties defined inside the function.  For example,
  19382 this overrides the default LaTeX line endings, ‘\\’, with ‘\\[2mm]’:
  19383 
  19384      #+ORGTBL: SEND test orgtbl-to-latex :lend " \\\\[2mm]"
  19385 
  19386    For a new language translator, define a converter function.  It can
  19387 be a generic function, such as shown in this example.  It marks a
  19388 beginning and ending of a table with ‘!BTBL!’ and ‘!ETBL!’; a beginning
  19389 and ending of lines with ‘!BL!’ and ‘!EL!’; and uses a TAB for a field
  19390 separator:
  19391 
  19392      (defun orgtbl-to-language (table params)
  19393        "Convert the orgtbl-mode TABLE to language."
  19394        (orgtbl-to-generic
  19395         table
  19396         (org-combine-plists
  19397          '(:tstart "!BTBL!" :tend "!ETBL!" :lstart "!BL!" :lend "!EL!" :sep "\t")
  19398          params)))
  19399 
  19400 The documentation for the ‘orgtbl-to-generic’ function shows a complete
  19401 list of parameters, each of which can be passed through to
  19402 ‘orgtbl-to-latex’, ‘orgtbl-to-texinfo’, and any other function using
  19403 that generic function.
  19404 
  19405    For complicated translations the generic translator function could be
  19406 replaced by a custom translator function.  Such a custom function must
  19407 take two arguments and return a single string containing the formatted
  19408 table.  The first argument is the table whose lines are a list of fields
  19409 or the symbol ‘hline’.  The second argument is the property list
  19410 consisting of parameters specified in the ‘#+ORGTBL: SEND’ line.  Please
  19411 share your translator functions by posting them to the Org users mailing
  19412 list, at <mailto:emacs-orgmode@gnu.org>.
  19413 
  19414 
  19415 File: org.info,  Node: Dynamic Blocks,  Next: Special Agenda Views,  Prev: Tables in Arbitrary Syntax,  Up: Hacking
  19416 
  19417 A.6 Dynamic Blocks
  19418 ==================
  19419 
  19420 Org supports _dynamic blocks_ in Org documents.  They are inserted with
  19421 begin and end markers like any other code block, but the contents are
  19422 updated automatically by a user function.
  19423 
  19424    You can insert a dynamic block with
  19425 ‘org-dynamic-block-insert-dblock’, which is bound to ‘C-c C-x x’ by
  19426 default.  For example, ‘C-c C-x x c l o c k t a b l e <RET>’ inserts a
  19427 table that updates the work time (see *note Clocking Work Time::).
  19428 
  19429    Dynamic blocks can have names and function parameters.  The syntax is
  19430 similar to source code block specifications:
  19431 
  19432      #+BEGIN: myblock :parameter1 value1 :parameter2 value2 ...
  19433        ...
  19434      #+END:
  19435 
  19436    These commands update dynamic blocks:
  19437 
  19438 ‘C-c C-x C-u’ (‘org-dblock-update’)
  19439      Update dynamic block at point.
  19440 
  19441 ‘C-u C-c C-x C-u’
  19442      Update all dynamic blocks in the current file.
  19443 
  19444    Before updating a dynamic block, Org removes content between the
  19445 ‘BEGIN’ and ‘END’ markers.  Org then reads the parameters on the ‘BEGIN’
  19446 line for passing to the writer function as a plist.  The previous
  19447 content of the dynamic block becomes erased from the buffer and appended
  19448 to the plist under ‘:content’.
  19449 
  19450    The syntax for naming a writer function with a dynamic block labeled
  19451 ‘myblock’ is: ‘org-dblock-write:myblock’.
  19452 
  19453    The following is an example of a dynamic block and a block writer
  19454 function that updates the time when the function was last run:
  19455 
  19456      #+BEGIN: block-update-time :format "on %m/%d/%Y at %H:%M"
  19457        ...
  19458      #+END:
  19459 
  19460 The dynamic block’s writer function:
  19461 
  19462      (defun org-dblock-write:block-update-time (params)
  19463        (let ((fmt (or (plist-get params :format) "%d. %m. %Y")))
  19464          (insert "Last block update at: "
  19465                  (format-time-string fmt))))
  19466 
  19467    To keep dynamic blocks up-to-date in an Org file, use the function,
  19468 ‘org-update-all-dblocks’ in hook, such as ‘before-save-hook’.  The
  19469 ‘org-update-all-dblocks’ function does not run if the file is not in Org
  19470 mode.
  19471 
  19472    Dynamic blocks, like any other block, can be narrowed with
  19473 ‘org-narrow-to-block’.
  19474 
  19475 
  19476 File: org.info,  Node: Special Agenda Views,  Next: Speeding Up Your Agendas,  Prev: Dynamic Blocks,  Up: Hacking
  19477 
  19478 A.7 Special Agenda Views
  19479 ========================
  19480 
  19481 Org provides a special hook to further limit items in agenda views:
  19482 ‘agenda’, ‘agenda*’(1), ‘todo’, ‘alltodo’, ‘tags’, ‘tags-todo’,
  19483 ‘tags-tree’.  Specify a custom function that tests inclusion of every
  19484 matched item in the view.  This function can also skip as much as is
  19485 needed.
  19486 
  19487    For a global condition applicable to agenda views, use the
  19488 ‘org-agenda-skip-function-global’ variable.  Org uses a global condition
  19489 with ‘org-agenda-skip-function’ for custom searching.
  19490 
  19491    This example defines a function for a custom view showing TODO items
  19492 with ‘waiting’ status.  Manually this is a multi-step search process,
  19493 but with a custom view, this can be automated as follows:
  19494 
  19495    The custom function searches the subtree for the ‘waiting’ tag and
  19496 returns ‘nil’ on match.  Otherwise it gives the location from where the
  19497 search continues.
  19498 
  19499      (defun my-skip-unless-waiting ()
  19500        "Skip trees that are not waiting"
  19501        (let ((subtree-end (save-excursion (org-end-of-subtree t))))
  19502          (if (re-search-forward ":waiting:" subtree-end t)
  19503              nil          ; tag found, do not skip
  19504            subtree-end))) ; tag not found, continue after end of subtree
  19505 
  19506    To use this custom function in a custom agenda command:
  19507 
  19508      (org-add-agenda-custom-command
  19509       '("b" todo "PROJECT"
  19510         ((org-agenda-skip-function 'my-skip-unless-waiting)
  19511          (org-agenda-overriding-header "Projects waiting for something: "))))
  19512 
  19513    Note that this also binds ‘org-agenda-overriding-header’ to a more
  19514 meaningful string suitable for the agenda view.
  19515 
  19516    Search for entries with a limit set on levels for the custom search.
  19517 This is a general approach to creating custom searches in Org.  To
  19518 include all levels, use ‘LEVEL>0’(2).  Then to selectively pick the
  19519 matched entries, use ‘org-agenda-skip-function’, which also accepts Lisp
  19520 forms, such as ‘org-agenda-skip-entry-if’ and
  19521 ‘org-agenda-skip-subtree-if’.  For example:
  19522 
  19523 ‘(org-agenda-skip-entry-if 'scheduled)’
  19524      Skip current entry if it has been scheduled.
  19525 
  19526 ‘(org-agenda-skip-entry-if 'notscheduled)’
  19527      Skip current entry if it has not been scheduled.
  19528 
  19529 ‘(org-agenda-skip-entry-if 'deadline)’
  19530      Skip current entry if it has a deadline.
  19531 
  19532 ‘(org-agenda-skip-entry-if 'scheduled 'deadline)’
  19533      Skip current entry if it has a deadline, or if it is scheduled.
  19534 
  19535 ‘(org-agenda-skip-entry-if 'todo '("TODO" "WAITING"))’
  19536      Skip current entry if the TODO keyword is TODO or WAITING.
  19537 
  19538 ‘(org-agenda-skip-entry-if 'todo 'done)’
  19539      Skip current entry if the TODO keyword marks a DONE state.
  19540 
  19541 ‘(org-agenda-skip-entry-if 'timestamp)’
  19542      Skip current entry if it has any timestamp, may also be deadline or
  19543      scheduled.
  19544 
  19545 ‘(org-agenda-skip-entry-if 'regexp "regular expression")’
  19546      Skip current entry if the regular expression matches in the entry.
  19547 
  19548 ‘(org-agenda-skip-entry-if 'notregexp "regular expression")’
  19549      Skip current entry unless the regular expression matches.
  19550 
  19551 ‘(org-agenda-skip-subtree-if 'regexp "regular expression")’
  19552      Same as above, but check and skip the entire subtree.
  19553 
  19554    The following is an example of a search for ‘waiting’ without the
  19555 special function:
  19556 
  19557      (org-add-agenda-custom-command
  19558       '("b" todo "PROJECT"
  19559         ((org-agenda-skip-function '(org-agenda-skip-subtree-if
  19560                                      'regexp ":waiting:"))
  19561          (org-agenda-overriding-header "Projects waiting for something: "))))
  19562 
  19563    ---------- Footnotes ----------
  19564 
  19565    (1) The ‘agenda*’ view is the same as ‘agenda’ except that it only
  19566 considers _appointments_, i.e., scheduled and deadline items that have a
  19567 time specification ‘[h]h:mm’ in their timestamps.
  19568 
  19569    (2) Note that, for ‘org-odd-levels-only’, a level number corresponds
  19570 to order in the hierarchy, not to the number of stars.
  19571 
  19572 
  19573 File: org.info,  Node: Speeding Up Your Agendas,  Next: Extracting Agenda Information,  Prev: Special Agenda Views,  Up: Hacking
  19574 
  19575 A.8 Speeding Up Your Agendas
  19576 ============================
  19577 
  19578 Some agenda commands slow down when the Org files grow in size or
  19579 number.  Here are tips to speed up:
  19580 
  19581    • Reduce the number of Org agenda files to avoid slowdowns due to
  19582      hard drive accesses.
  19583 
  19584    • Reduce the number of DONE and archived headlines so agenda
  19585      operations that skip over these can finish faster.
  19586 
  19587    • Do not dim blocked tasks:
  19588 
  19589           (setq org-agenda-dim-blocked-tasks nil)
  19590 
  19591    • Stop preparing agenda buffers on startup:
  19592 
  19593           (setq org-agenda-inhibit-startup t)
  19594 
  19595    • Disable tag inheritance for agendas:
  19596 
  19597           (setq org-agenda-use-tag-inheritance nil)
  19598 
  19599    • Disable parsing of some properties:
  19600 
  19601           (setq org-agenda-ignore-properties '(stats))
  19602 
  19603      This will disable parsing and updating statistic cookies.
  19604 
  19605    These options can be applied to selected agenda views.  For more
  19606 details about generation of agenda views, see the docstrings for the
  19607 relevant variables, and this dedicated Worg page
  19608 (https://orgmode.org/worg/agenda-optimization.html) for agenda
  19609 optimization.
  19610 
  19611 
  19612 File: org.info,  Node: Extracting Agenda Information,  Next: Using the Property API,  Prev: Speeding Up Your Agendas,  Up: Hacking
  19613 
  19614 A.9 Extracting Agenda Information
  19615 =================================
  19616 
  19617 Org provides commands to access agendas through Emacs batch mode.
  19618 Through this command-line interface, agendas are automated for further
  19619 processing or printing.
  19620 
  19621    ‘org-batch-agenda’ creates an agenda view in ASCII and outputs to
  19622 standard output.  This command takes one string parameter.  When string
  19623 consists of a single character, Org uses it as a key to
  19624 ‘org-agenda-custom-commands’.  These are the same ones available through
  19625 the agenda dispatcher (see *note Agenda Dispatcher::).
  19626 
  19627    This example command line directly prints the TODO list to the
  19628 printer:
  19629 
  19630      emacs -batch -l ~/.emacs -eval '(org-batch-agenda "t")' | lpr
  19631 
  19632    When the string parameter length is two or more characters, Org
  19633 matches it with tags/TODO strings.  For example, this example command
  19634 line prints items tagged with ‘shop’, but excludes items tagged with
  19635 ‘NewYork’:
  19636 
  19637      emacs -batch -l ~/.emacs                                      \
  19638            -eval '(org-batch-agenda "+shop-NewYork")' | lpr
  19639 
  19640 An example showing on-the-fly parameter modifications:
  19641 
  19642      emacs -batch -l ~/.emacs                                      \
  19643         -eval '(org-batch-agenda "a"                               \
  19644                 org-agenda-span (quote month)                      \
  19645                 org-agenda-include-diary nil                       \
  19646                 org-agenda-files (quote ("~/org/project.org")))'   \
  19647         | lpr
  19648 
  19649 which produces an agenda for the next 30 days from just the
  19650 ‘~/org/projects.org’ file.
  19651 
  19652    For structured processing of agenda output, use
  19653 ‘org-batch-agenda-csv’ with the following fields:
  19654 
  19655 category
  19656      The category of the item
  19657 head
  19658      The headline, without TODO keyword, TAGS and PRIORITY
  19659 type
  19660      The type of the agenda entry, can be
  19661 
  19662      ‘todo’                selected in TODO match
  19663      ‘tagsmatch’           selected in tags match
  19664      ‘diary’               imported from diary
  19665      ‘deadline’            a deadline
  19666      ‘scheduled’           scheduled
  19667      ‘timestamp’           appointment, selected by timestamp
  19668      ‘closed’              entry was closed on date
  19669      ‘upcoming-deadline’   warning about nearing deadline
  19670      ‘past-scheduled’      forwarded scheduled item
  19671      ‘block’               entry has date block including date
  19672 
  19673 todo
  19674      The TODO keyword, if any
  19675 tags
  19676      All tags including inherited ones, separated by colons
  19677 date
  19678      The relevant date, like ‘2007-2-14’
  19679 time
  19680      The time, like ‘15:00-16:50’
  19681 extra
  19682      String with extra planning info
  19683 priority-l
  19684      The priority letter if any was given
  19685 priority-n
  19686      The computed numerical priority
  19687 
  19688    If the selection of the agenda item was based on a timestamp,
  19689 including those items with ‘DEADLINE’ and ‘SCHEDULED’ keywords, then Org
  19690 includes date and time in the output.
  19691 
  19692    If the selection of the agenda item was based on a timestamp (or
  19693 deadline/scheduled), then Org includes date and time in the output.
  19694 
  19695    Here is an example of a post-processing script in Perl.  It takes the
  19696 CSV output from Emacs and prints with a checkbox:
  19697 
  19698      #!/usr/bin/perl
  19699 
  19700      # define the Emacs command to run
  19701      $cmd = "emacs -batch -l ~/.emacs -eval '(org-batch-agenda-csv \"t\")'";
  19702 
  19703      # run it and capture the output
  19704      $agenda = qx{$cmd 2>/dev/null};
  19705 
  19706      # loop over all lines
  19707      foreach $line (split(/\n/,$agenda)) {
  19708          # get the individual values
  19709          ($category,$head,$type,$todo,$tags,$date,$time,$extra,
  19710           $priority_l,$priority_n) = split(/,/,$line);
  19711          # process and print
  19712          print "[ ] $head\n";
  19713      }
  19714 
  19715 
  19716 File: org.info,  Node: Using the Property API,  Next: Using the Mapping API,  Prev: Extracting Agenda Information,  Up: Hacking
  19717 
  19718 A.10 Using the Property API
  19719 ===========================
  19720 
  19721 Here is a description of the functions that can be used to work with
  19722 properties.
  19723 
  19724  -- Function: org-entry-properties &optional pom which
  19725      Get all properties of the entry at point-or-marker POM.  This
  19726      includes the TODO keyword, the tags, time strings for deadline,
  19727      scheduled, and clocking, and any additional properties defined in
  19728      the entry.  The return value is an alist.  Keys may occur multiple
  19729      times if the property key was used several times.  POM may also be
  19730      ‘nil’, in which case the current entry is used.  If WHICH is ‘nil’
  19731      or ‘all’, get all properties.  If WHICH is ‘special’ or ‘standard’,
  19732      only get that subclass.
  19733 
  19734  -- Function: org-entry-get pom property &optional inherit
  19735      Get value of PROPERTY for entry at point-or-marker POM.  By
  19736      default, this only looks at properties defined locally in the
  19737      entry.  If INHERIT is non-‘nil’ and the entry does not have the
  19738      property, then also check higher levels of the hierarchy.  If
  19739      INHERIT is the symbol ‘selective’, use inheritance if and only if
  19740      the setting of ‘org-use-property-inheritance’ selects PROPERTY for
  19741      inheritance.
  19742 
  19743  -- Function: org-entry-delete pom property
  19744      Delete the property PROPERTY from entry at point-or-marker POM.
  19745 
  19746  -- Function: org-entry-put pom property value
  19747      Set PROPERTY to VALUES for entry at point-or-marker POM.
  19748 
  19749  -- Function: org-buffer-property-keys &optional include-specials
  19750      Get all property keys in the current buffer.
  19751 
  19752  -- Function: org-insert-property-drawer
  19753      Insert a property drawer for the current entry.
  19754 
  19755  -- Function: org-entry-put-multivalued-property pom property &rest
  19756           values
  19757      Set PROPERTY at point-or-marker POM to VALUES.  VALUES should be a
  19758      list of strings.  They are concatenated, with spaces as separators.
  19759 
  19760  -- Function: org-entry-get-multivalued-property pom property
  19761      Treat the value of the property PROPERTY as a whitespace-separated
  19762      list of values and return the values as a list of strings.
  19763 
  19764  -- Function: org-entry-add-to-multivalued-property pom property value
  19765      Treat the value of the property PROPERTY as a whitespace-separated
  19766      list of values and make sure that VALUE is in this list.
  19767 
  19768  -- Function: org-entry-remove-from-multivalued-property pom property
  19769           value
  19770      Treat the value of the property PROPERTY as a whitespace-separated
  19771      list of values and make sure that VALUE is _not_ in this list.
  19772 
  19773  -- Function: org-entry-member-in-multivalued-property pom property
  19774           value
  19775      Treat the value of the property PROPERTY as a whitespace-separated
  19776      list of values and check if VALUE is in this list.
  19777 
  19778  -- User Option: org-property-allowed-value-functions
  19779      Hook for functions supplying allowed values for a specific
  19780      property.  The functions must take a single argument, the name of
  19781      the property, and return a flat list of allowed values.  If ‘:ETC’
  19782      is one of the values, use the values as completion help, but allow
  19783      also other values to be entered.  The functions must return ‘nil’
  19784      if they are not responsible for this property.
  19785 
  19786 
  19787 File: org.info,  Node: Using the Mapping API,  Prev: Using the Property API,  Up: Hacking
  19788 
  19789 A.11 Using the Mapping API
  19790 ==========================
  19791 
  19792 Org has sophisticated mapping capabilities to find all entries
  19793 satisfying certain criteria.  Internally, this functionality is used to
  19794 produce agenda views, but there is also an API that can be used to
  19795 execute arbitrary functions for each or selected entries.  The main
  19796 entry point for this API is:
  19797 
  19798  -- Function: org-map-entries func &optional match scope &rest skip
  19799      Call FUNC at each headline selected by MATCH in SCOPE.
  19800 
  19801      FUNC is a function or a Lisp form.  With point positioned at the
  19802      beginning of the headline, call the function without arguments.
  19803      Org returns a list of return values of calls to the function.
  19804 
  19805      To avoid preserving point, Org wraps the call to FUNC in
  19806      ‘save-excursion’ form.  After evaluation, Org moves point to the
  19807      end of the line that was just processed.  Search continues from
  19808      that point forward.  This may not always work as expected under
  19809      some conditions, such as if the current subtree was removed by a
  19810      previous archiving operation.  In such rare circumstances, Org
  19811      skips the next entry entirely when it should not.  To stop Org from
  19812      such skips, make FUNC set the variable ‘org-map-continue-from’ to a
  19813      specific buffer position.
  19814 
  19815      MATCH is a tags/property/TODO match.  Org iterates only matched
  19816      headlines.  Org iterates over all headlines when MATCH is ‘nil’ or
  19817      ‘t’.
  19818 
  19819      SCOPE determines the scope of this command.  It can be any of:
  19820 
  19821      ‘nil’
  19822           The current buffer, respecting the restriction, if any.
  19823 
  19824      ‘tree’
  19825           The subtree started with the entry at point.
  19826 
  19827      ‘region’
  19828           The entries within the active region, if any.
  19829 
  19830      ‘file’
  19831           The current buffer, without restriction.
  19832 
  19833      ‘file-with-archives’
  19834           The current buffer, and any archives associated with it.
  19835 
  19836      ‘agenda’
  19837           All agenda files.
  19838 
  19839      ‘agenda-with-archives’
  19840           All agenda files with any archive files associated with them.
  19841 
  19842      list of filenames
  19843           If this is a list, all files in the list are scanned.
  19844 
  19845      The remaining arguments are treated as settings for the scanner’s
  19846      skipping facilities.  Valid arguments are:
  19847 
  19848      ‘archive’
  19849           Skip trees with the ‘ARCHIVE’ tag.
  19850 
  19851      ‘comment’
  19852           Skip trees with the COMMENT keyword.
  19853 
  19854      function or Lisp form
  19855           Used as value for ‘org-agenda-skip-function’, so whenever the
  19856           function returns ‘t’, FUNC is called for that entry and search
  19857           continues from the point where the function leaves it.
  19858 
  19859    The mapping routine can call any arbitrary function, even functions
  19860 that change meta data or query the property API (see *note Using the
  19861 Property API::).  Here are some handy functions:
  19862 
  19863  -- Function: org-todo &optional arg
  19864      Change the TODO state of the entry.  See the docstring of the
  19865      functions for the many possible values for the argument ARG.
  19866 
  19867  -- Function: org-priority &optional action
  19868      Change the priority of the entry.  See the docstring of this
  19869      function for the possible values for ACTION.
  19870 
  19871  -- Function: org-toggle-tag tag &optional onoff
  19872      Toggle the tag TAG in the current entry.  Setting ONOFF to either
  19873      ‘on’ or ‘off’ does not toggle tag, but ensure that it is either on
  19874      or off.
  19875 
  19876  -- Function: org-promote
  19877      Promote the current entry.
  19878 
  19879  -- Function: org-demote
  19880      Demote the current entry.
  19881 
  19882    This example turns all entries tagged with ‘TOMORROW’ into TODO
  19883 entries with keyword ‘UPCOMING’.  Org ignores entries in comment trees
  19884 and archive trees.
  19885 
  19886      (org-map-entries '(org-todo "UPCOMING")
  19887                       "+TOMORROW" 'file 'archive 'comment)
  19888 
  19889    The following example counts the number of entries with TODO keyword
  19890 ‘WAITING’, in all agenda files.
  19891 
  19892      (length (org-map-entries t "/+WAITING" 'agenda))
  19893 
  19894 
  19895 File: org.info,  Node: History and Acknowledgments,  Next: GNU Free Documentation License,  Prev: Hacking,  Up: Top
  19896 
  19897 Appendix B History and Acknowledgments
  19898 **************************************
  19899 
  19900 B.1 From Carsten
  19901 ================
  19902 
  19903 Org was born in 2003, out of frustration over the user interface of the
  19904 Emacs Outline mode.  I was trying to organize my notes and projects, and
  19905 using Emacs seemed to be the natural way to go.  However, having to
  19906 remember eleven different commands with two or three keys per command,
  19907 only to hide and show parts of the outline tree, that seemed entirely
  19908 unacceptable to me.  Also, when using outlines to take notes, I
  19909 constantly wanted to restructure the tree, organizing it parallel to my
  19910 thoughts and plans.  _Visibility cycling_ and _structure editing_ were
  19911 originally implemented in the package ‘outline-magic.el’, but quickly
  19912 moved to the more general ‘org.el’.  As this environment became
  19913 comfortable for project planning, the next step was adding _TODO
  19914 entries_, basic _timestamps_, and _table support_.  These areas
  19915 highlighted the two main goals that Org still has today: to be a new,
  19916 outline-based, plain text mode with innovative and intuitive editing
  19917 features, and to incorporate project planning functionality directly
  19918 into a notes file.
  19919 
  19920    Since the first release, literally thousands of emails to me or to
  19921 the mailing list <mailto:emacs-orgmode@gnu.org> have provided a constant
  19922 stream of bug reports, feedback, new ideas, and sometimes patches and
  19923 add-on code.  Many thanks to everyone who has helped to improve this
  19924 package.  I am trying to keep here a list of the people who had
  19925 significant influence in shaping one or more aspects of Org.  The list
  19926 may not be complete, if I have forgotten someone, please accept my
  19927 apologies and let me know.
  19928 
  19929    Before I get to this list, a few special mentions are in order:
  19930 
  19931 Bastien Guerry
  19932      Bastien has written a large number of extensions to Org (most of
  19933      them integrated into the core by now), including the LaTeX exporter
  19934      and the plain list parser.  His support during the early days was
  19935      central to the success of this project.  Bastien also invented
  19936      Worg, helped establishing the Web presence of Org, and sponsored
  19937      hosting costs for the orgmode.org website.  Bastien stepped in as
  19938      maintainer of Org between 2011 and 2013, at a time when I
  19939      desperately needed a break.
  19940 
  19941 Eric Schulte and Dan Davison
  19942      Eric and Dan are jointly responsible for the Org Babel system,
  19943      which turns Org into a multi-language environment for evaluating
  19944      code and doing literate programming and reproducible research.
  19945      This has become one of Org’s killer features that define what Org
  19946      is today.
  19947 
  19948 John Wiegley
  19949      John has contributed a number of great ideas and patches directly
  19950      to Org, including the attachment system (‘org-attach.el’),
  19951      integration with Apple Mail (‘org-mac-message.el’), hierarchical
  19952      dependencies of TODO items, habit tracking (‘org-habits.el’), and
  19953      encryption (‘org-crypt.el’).  Also, the capture system is really an
  19954      extended copy of his great ‘remember.el’.
  19955 
  19956 Sebastian Rose
  19957      Without Sebastian, the HTML/XHTML publishing of Org would be the
  19958      pitiful work of an ignorant amateur.  Sebastian has pushed this
  19959      part of Org onto a much higher level.  He also wrote ‘org-info.js’,
  19960      a JavaScript program for displaying webpages derived from Org using
  19961      an Info-like or a folding interface with single-key navigation.
  19962 
  19963    See below for the full list of contributions!  Again, please let me
  19964 know what I am missing here!
  19965 
  19966 B.2 From Bastien
  19967 ================
  19968 
  19969 I (Bastien) have been maintaining Org between 2011 and 2013.  This
  19970 appendix would not be complete without adding a few more acknowledgments
  19971 and thanks.
  19972 
  19973    I am first grateful to Carsten for his trust while handing me over
  19974 the maintainership of Org.  His unremitting support is what really
  19975 helped me getting more confident over time, with both the community and
  19976 the code.
  19977 
  19978    When I took over maintainership, I knew I would have to make Org more
  19979 collaborative than ever, as I would have to rely on people that are more
  19980 knowledgeable than I am on many parts of the code.  Here is a list of
  19981 the persons I could rely on, they should really be considered
  19982 co-maintainers, either of the code or the community:
  19983 
  19984 Eric Schulte
  19985      Eric is maintaining the Babel parts of Org.  His reactivity here
  19986      kept me away from worrying about possible bugs here and let me
  19987      focus on other parts.
  19988 
  19989 Nicolas Goaziou
  19990      Nicolas is maintaining the consistency of the deepest parts of Org.
  19991      His work on ‘org-element.el’ and ‘ox.el’ has been outstanding, and
  19992      it opened the doors for many new ideas and features.  He rewrote
  19993      many of the old exporters to use the new export engine, and helped
  19994      with documenting this major change.  More importantly (if that’s
  19995      possible), he has been more than reliable during all the work done
  19996      for Org 8.0, and always very reactive on the mailing list.
  19997 
  19998 Achim Gratz
  19999      Achim rewrote the building process of Org, turning some _ad hoc_
  20000      tools into a flexible and conceptually clean process.  He patiently
  20001      coped with the many hiccups that such a change can create for
  20002      users.
  20003 
  20004 Nick Dokos
  20005      The Org mode mailing list would not be such a nice place without
  20006      Nick, who patiently helped users so many times.  It is impossible
  20007      to overestimate such a great help, and the list would not be so
  20008      active without him.
  20009 
  20010    I received support from so many users that it is clearly impossible
  20011 to be fair when shortlisting a few of them, but Org’s history would not
  20012 be complete if the ones above were not mentioned in this manual.
  20013 
  20014 B.3 List of Contributions
  20015 =========================
  20016 
  20017    • Russell Adams came up with the idea for drawers.
  20018 
  20019    • Thomas Baumann wrote ‘ol-bbdb.el’ and ‘ol-mhe.el’.
  20020 
  20021    • Christophe Bataillon created the great unicorn logo that we use on
  20022      the Org mode website.
  20023 
  20024    • Alex Bochannek provided a patch for rounding timestamps.
  20025 
  20026    • Jan Böcker wrote ‘ol-docview.el’.
  20027 
  20028    • Brad Bozarth showed how to pull RSS feed data into Org files.
  20029 
  20030    • Tom Breton wrote ‘org-choose.el’.
  20031 
  20032    • Charles Cave’s suggestion sparked the implementation of templates
  20033      for Remember, which are now templates for capture.
  20034 
  20035    • Timothy E Chapman worked on a complete overhaul of the orgmode.org
  20036      website in 2020 and helped fixing various bugs.
  20037 
  20038    • Pavel Chalmoviansky influenced the agenda treatment of items with
  20039      specified time.
  20040 
  20041    • Gregory Chernov patched support for Lisp forms into table
  20042      calculations and improved XEmacs compatibility, in particular by
  20043      porting ‘nouline.el’ to XEmacs.
  20044 
  20045    • Sacha Chua suggested copying some linking code from Planner.
  20046 
  20047    • Baoqiu Cui contributed the DocBook exporter.
  20048 
  20049    • Eddward DeVilla proposed and tested checkbox statistics.  He also
  20050      came up with the idea of properties, and that there should be an
  20051      API for them.
  20052 
  20053    • Nick Dokos tracked down several nasty bugs.
  20054 
  20055    • Kees Dullemond used to edit projects lists directly in HTML and so
  20056      inspired some of the early development, including HTML export.  He
  20057      also asked for a way to narrow wide table columns.
  20058 
  20059    • Thomas S. Dye contributed documentation on Worg and helped
  20060      integrating the Org Babel documentation into the manual.
  20061 
  20062    • Christian Egli converted the documentation into Texinfo format,
  20063      inspired the agenda, patched CSS formatting into the HTML exporter,
  20064      and wrote ‘org-taskjuggler.el’.
  20065 
  20066    • David Emery provided a patch for custom CSS support in exported
  20067      HTML agendas.
  20068 
  20069    • Nic Ferrier contributed mailcap and XOXO support.
  20070 
  20071    • Miguel A. Figueroa-Villanueva implemented hierarchical checkboxes.
  20072 
  20073    • John Foerch figured out how to make incremental search show context
  20074      around a match in a hidden outline tree.
  20075 
  20076    • Raimar Finken wrote ‘org-git-line.el’.
  20077 
  20078    • Mikael Fornius works as a mailing list moderator.
  20079 
  20080    • Austin Frank works as a mailing list moderator.
  20081 
  20082    • Eric Fraga drove the development of Beamer export with ideas and
  20083      testing.
  20084 
  20085    • Barry Gidden did proofreading the manual in preparation for the
  20086      book publication through Network Theory Ltd.
  20087 
  20088    • Niels Giesen had the idea to automatically archive DONE trees.
  20089 
  20090    • Nicolas Goaziou rewrote much of the plain list code.
  20091 
  20092    • Kai Grossjohann pointed out key-binding conflicts with other
  20093      packages.
  20094 
  20095    • Brian Gough of Network Theory Ltd publishes the Org mode manual as
  20096      a book.
  20097 
  20098    • Bernt Hansen has driven much of the support for auto-repeating
  20099      tasks, task state change logging, and the clocktable.  His clear
  20100      explanations have been critical when we started to adopt the Git
  20101      version control system.
  20102 
  20103    • Manuel Hermenegildo has contributed various ideas, small fixes and
  20104      patches.
  20105 
  20106    • Phil Jackson wrote ‘ol-irc.el’.
  20107 
  20108    • Scott Jaderholm proposed footnotes, control over whitespace between
  20109      folded entries, and column view for properties.
  20110 
  20111    • Matt Jones wrote MobileOrg Android.
  20112 
  20113    • Tokuya Kameshima wrote ‘org-wl.el’ and ‘org-mew.el’.
  20114 
  20115    • Shidai Liu (“Leo”) asked for embedded LaTeX and tested it.  He also
  20116      provided frequent feedback and some patches.
  20117 
  20118    • Matt Lundin has proposed last-row references for table formulas and
  20119      named invisible anchors.  He has also worked a lot on the FAQ.
  20120 
  20121    • David Maus wrote ‘org-atom.el’, maintains the issues file for Org,
  20122      and is a prolific contributor on the mailing list with competent
  20123      replies, small fixes and patches.
  20124 
  20125    • Jason F. McBrayer suggested agenda export to CSV format.
  20126 
  20127    • Kyle Meyer helped setting up the public-inbox
  20128      (https://public-inbox.org/) archive of the Org mailing list
  20129      (https://orgmode.org/list/) and has been fixing many bugs.
  20130 
  20131    • Max Mikhanosha came up with the idea of refiling.
  20132 
  20133    • Dmitri Minaev sent a patch to set priority limits on a per-file
  20134      basis.
  20135 
  20136    • Stefan Monnier provided a patch to keep the Emacs Lisp compiler
  20137      happy.
  20138 
  20139    • Richard Moreland wrote MobileOrg for the iPhone.
  20140 
  20141    • Rick Moynihan proposed allowing multiple TODO sequences in a file
  20142      and being able to quickly restrict the agenda to a subtree.
  20143 
  20144    • Todd Neal provided patches for links to Info files and Elisp forms.
  20145 
  20146    • Greg Newman refreshed the unicorn logo into its current form.
  20147 
  20148    • Tim O’Callaghan suggested in-file links, search options for general
  20149      file links, and tags.
  20150 
  20151    • Osamu Okano wrote ‘orgcard2ref.pl’, a Perl program to create a text
  20152      version of the reference card.
  20153 
  20154    • Takeshi Okano translated the manual and David O’Toole’s tutorial
  20155      into Japanese.
  20156 
  20157    • Oliver Oppitz suggested multi-state TODO items.
  20158 
  20159    • Scott Otterson sparked the introduction of descriptive text for
  20160      links, among other things.
  20161 
  20162    • Pete Phillips helped during the development of the TAGS feature,
  20163      and provided frequent feedback.
  20164 
  20165    • Martin Pohlack provided the code snippet to bundle character
  20166      insertion into bundles of 20 for undo.
  20167 
  20168    • Ihor Radchenko helped with fixing bugs and improving the user
  20169      experience regarding Org’s speed.
  20170 
  20171    • T. V. Raman reported bugs and suggested improvements.
  20172 
  20173    • Matthias Rempe (Oelde) provided ideas, Windows support, and quality
  20174      control.
  20175 
  20176    • Paul Rivier provided the basic implementation of named footnotes.
  20177      He also acted as mailing list moderator for some time.
  20178 
  20179    • Kevin Rogers contributed code to access VM files on remote hosts.
  20180 
  20181    • Frank Ruell solved the mystery of the ‘keymapp nil’ bug, a conflict
  20182      with ‘allout.el’.
  20183 
  20184    • Jason Riedy generalized the send-receive mechanism for Orgtbl
  20185      tables with extensive patches.
  20186 
  20187    • Philip Rooke created the Org reference card, provided lots of
  20188      feedback, developed and applied standards to the Org documentation.
  20189 
  20190    • Christian Schlauer proposed angular brackets around links, among
  20191      other things.
  20192 
  20193    • Paul Sexton wrote ‘org-ctags.el’.
  20194 
  20195    • Tom Shannon’s ‘organizer-mode.el’ inspired linking to VM/BBDB/Gnus.
  20196 
  20197    • Ilya Shlyakhter proposed the Archive Sibling, line numbering in
  20198      literal examples, and remote highlighting for referenced code
  20199      lines.
  20200 
  20201    • Stathis Sideris wrote the ‘ditaa.jar’ ASCII to PNG converter that
  20202      is now packaged into the org-contrib
  20203      (https://git.sr.ht/~bzg/org-contrib) repository.
  20204 
  20205    • Daniel Sinder came up with the idea of internal archiving by
  20206      locking subtrees.
  20207 
  20208    • Dale Smith proposed link abbreviations.
  20209 
  20210    • James TD Smith has contributed a large number of patches for useful
  20211      tweaks and features.
  20212 
  20213    • Adam Spiers asked for global linking commands, inspired the link
  20214      extension system, added support for Mairix, and proposed the
  20215      mapping API.
  20216 
  20217    • Ulf Stegemann created the table to translate special symbols to
  20218      HTML, LaTeX, UTF-8, Latin-1 and ASCII.
  20219 
  20220    • Andy Stewart contributed code to ‘ol-w3m.el’, to copy HTML content
  20221      with links transformation to Org syntax.
  20222 
  20223    • David O’Toole wrote ‘org-publish.el’ and drafted the manual chapter
  20224      about publishing.
  20225 
  20226    • Jambunathan K. contributed the ODT exporter.
  20227 
  20228    • Sebastien Vauban reported many issues with LaTeX and Beamer export
  20229      and enabled source code highlighting in Gnus.
  20230 
  20231    • Stefan Vollmar organized a video-recorded talk at the
  20232      Max-Planck-Institute for Neurology.  He also inspired the creation
  20233      of a concept index for HTML export.
  20234 
  20235    • Jürgen Vollmer contributed code generating the table of contents in
  20236      HTML output.
  20237 
  20238    • Samuel Wales has provided important feedback and bug reports.
  20239 
  20240    • Chris Wallace provided a patch implementing the ‘QUOTE’ block.
  20241 
  20242    • David Wainberg suggested archiving, and improvements to the linking
  20243      system.
  20244 
  20245    • Carsten Wimmer suggested some changes and helped fix a bug in
  20246      linking to Gnus.
  20247 
  20248    • Roland Winkler requested additional key bindings to make Org work
  20249      on a TTY.
  20250 
  20251    • Piotr Zielinski wrote ‘org-mouse.el’, proposed agenda blocks and
  20252      contributed various ideas and code snippets.
  20253 
  20254    • Marco Wahl wrote ‘ol-eww.el’.
  20255 
  20256 
  20257 File: org.info,  Node: GNU Free Documentation License,  Next: Main Index,  Prev: History and Acknowledgments,  Up: Top
  20258 
  20259 Appendix C GNU Free Documentation License
  20260 *****************************************
  20261 
  20262                      Version 1.3, 3 November 2008
  20263 
  20264      Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
  20265      <https://fsf.org/>
  20266 
  20267      Everyone is permitted to copy and distribute verbatim copies
  20268      of this license document, but changing it is not allowed.
  20269 
  20270   0. PREAMBLE
  20271 
  20272      The purpose of this License is to make a manual, textbook, or other
  20273      functional and useful document “free” in the sense of freedom: to
  20274      assure everyone the effective freedom to copy and redistribute it,
  20275      with or without modifying it, either commercially or
  20276      noncommercially.  Secondarily, this License preserves for the
  20277      author and publisher a way to get credit for their work, while not
  20278      being considered responsible for modifications made by others.
  20279 
  20280      This License is a kind of “copyleft”, which means that derivative
  20281      works of the document must themselves be free in the same sense.
  20282      It complements the GNU General Public License, which is a copyleft
  20283      license designed for free software.
  20284 
  20285      We have designed this License in order to use it for manuals for
  20286      free software, because free software needs free documentation: a
  20287      free program should come with manuals providing the same freedoms
  20288      that the software does.  But this License is not limited to
  20289      software manuals; it can be used for any textual work, regardless
  20290      of subject matter or whether it is published as a printed book.  We
  20291      recommend this License principally for works whose purpose is
  20292      instruction or reference.
  20293 
  20294   1. APPLICABILITY AND DEFINITIONS
  20295 
  20296      This License applies to any manual or other work, in any medium,
  20297      that contains a notice placed by the copyright holder saying it can
  20298      be distributed under the terms of this License.  Such a notice
  20299      grants a world-wide, royalty-free license, unlimited in duration,
  20300      to use that work under the conditions stated herein.  The
  20301      “Document”, below, refers to any such manual or work.  Any member
  20302      of the public is a licensee, and is addressed as “you”.  You accept
  20303      the license if you copy, modify or distribute the work in a way
  20304      requiring permission under copyright law.
  20305 
  20306      A “Modified Version” of the Document means any work containing the
  20307      Document or a portion of it, either copied verbatim, or with
  20308      modifications and/or translated into another language.
  20309 
  20310      A “Secondary Section” is a named appendix or a front-matter section
  20311      of the Document that deals exclusively with the relationship of the
  20312      publishers or authors of the Document to the Document’s overall
  20313      subject (or to related matters) and contains nothing that could
  20314      fall directly within that overall subject.  (Thus, if the Document
  20315      is in part a textbook of mathematics, a Secondary Section may not
  20316      explain any mathematics.)  The relationship could be a matter of
  20317      historical connection with the subject or with related matters, or
  20318      of legal, commercial, philosophical, ethical or political position
  20319      regarding them.
  20320 
  20321      The “Invariant Sections” are certain Secondary Sections whose
  20322      titles are designated, as being those of Invariant Sections, in the
  20323      notice that says that the Document is released under this License.
  20324      If a section does not fit the above definition of Secondary then it
  20325      is not allowed to be designated as Invariant.  The Document may
  20326      contain zero Invariant Sections.  If the Document does not identify
  20327      any Invariant Sections then there are none.
  20328 
  20329      The “Cover Texts” are certain short passages of text that are
  20330      listed, as Front-Cover Texts or Back-Cover Texts, in the notice
  20331      that says that the Document is released under this License.  A
  20332      Front-Cover Text may be at most 5 words, and a Back-Cover Text may
  20333      be at most 25 words.
  20334 
  20335      A “Transparent” copy of the Document means a machine-readable copy,
  20336      represented in a format whose specification is available to the
  20337      general public, that is suitable for revising the document
  20338      straightforwardly with generic text editors or (for images composed
  20339      of pixels) generic paint programs or (for drawings) some widely
  20340      available drawing editor, and that is suitable for input to text
  20341      formatters or for automatic translation to a variety of formats
  20342      suitable for input to text formatters.  A copy made in an otherwise
  20343      Transparent file format whose markup, or absence of markup, has
  20344      been arranged to thwart or discourage subsequent modification by
  20345      readers is not Transparent.  An image format is not Transparent if
  20346      used for any substantial amount of text.  A copy that is not
  20347      “Transparent” is called “Opaque”.
  20348 
  20349      Examples of suitable formats for Transparent copies include plain
  20350      ASCII without markup, Texinfo input format, LaTeX input format,
  20351      SGML or XML using a publicly available DTD, and standard-conforming
  20352      simple HTML, PostScript or PDF designed for human modification.
  20353      Examples of transparent image formats include PNG, XCF and JPG.
  20354      Opaque formats include proprietary formats that can be read and
  20355      edited only by proprietary word processors, SGML or XML for which
  20356      the DTD and/or processing tools are not generally available, and
  20357      the machine-generated HTML, PostScript or PDF produced by some word
  20358      processors for output purposes only.
  20359 
  20360      The “Title Page” means, for a printed book, the title page itself,
  20361      plus such following pages as are needed to hold, legibly, the
  20362      material this License requires to appear in the title page.  For
  20363      works in formats which do not have any title page as such, “Title
  20364      Page” means the text near the most prominent appearance of the
  20365      work’s title, preceding the beginning of the body of the text.
  20366 
  20367      The “publisher” means any person or entity that distributes copies
  20368      of the Document to the public.
  20369 
  20370      A section “Entitled XYZ” means a named subunit of the Document
  20371      whose title either is precisely XYZ or contains XYZ in parentheses
  20372      following text that translates XYZ in another language.  (Here XYZ
  20373      stands for a specific section name mentioned below, such as
  20374      “Acknowledgements”, “Dedications”, “Endorsements”, or “History”.)
  20375      To “Preserve the Title” of such a section when you modify the
  20376      Document means that it remains a section “Entitled XYZ” according
  20377      to this definition.
  20378 
  20379      The Document may include Warranty Disclaimers next to the notice
  20380      which states that this License applies to the Document.  These
  20381      Warranty Disclaimers are considered to be included by reference in
  20382      this License, but only as regards disclaiming warranties: any other
  20383      implication that these Warranty Disclaimers may have is void and
  20384      has no effect on the meaning of this License.
  20385 
  20386   2. VERBATIM COPYING
  20387 
  20388      You may copy and distribute the Document in any medium, either
  20389      commercially or noncommercially, provided that this License, the
  20390      copyright notices, and the license notice saying this License
  20391      applies to the Document are reproduced in all copies, and that you
  20392      add no other conditions whatsoever to those of this License.  You
  20393      may not use technical measures to obstruct or control the reading
  20394      or further copying of the copies you make or distribute.  However,
  20395      you may accept compensation in exchange for copies.  If you
  20396      distribute a large enough number of copies you must also follow the
  20397      conditions in section 3.
  20398 
  20399      You may also lend copies, under the same conditions stated above,
  20400      and you may publicly display copies.
  20401 
  20402   3. COPYING IN QUANTITY
  20403 
  20404      If you publish printed copies (or copies in media that commonly
  20405      have printed covers) of the Document, numbering more than 100, and
  20406      the Document’s license notice requires Cover Texts, you must
  20407      enclose the copies in covers that carry, clearly and legibly, all
  20408      these Cover Texts: Front-Cover Texts on the front cover, and
  20409      Back-Cover Texts on the back cover.  Both covers must also clearly
  20410      and legibly identify you as the publisher of these copies.  The
  20411      front cover must present the full title with all words of the title
  20412      equally prominent and visible.  You may add other material on the
  20413      covers in addition.  Copying with changes limited to the covers, as
  20414      long as they preserve the title of the Document and satisfy these
  20415      conditions, can be treated as verbatim copying in other respects.
  20416 
  20417      If the required texts for either cover are too voluminous to fit
  20418      legibly, you should put the first ones listed (as many as fit
  20419      reasonably) on the actual cover, and continue the rest onto
  20420      adjacent pages.
  20421 
  20422      If you publish or distribute Opaque copies of the Document
  20423      numbering more than 100, you must either include a machine-readable
  20424      Transparent copy along with each Opaque copy, or state in or with
  20425      each Opaque copy a computer-network location from which the general
  20426      network-using public has access to download using public-standard
  20427      network protocols a complete Transparent copy of the Document, free
  20428      of added material.  If you use the latter option, you must take
  20429      reasonably prudent steps, when you begin distribution of Opaque
  20430      copies in quantity, to ensure that this Transparent copy will
  20431      remain thus accessible at the stated location until at least one
  20432      year after the last time you distribute an Opaque copy (directly or
  20433      through your agents or retailers) of that edition to the public.
  20434 
  20435      It is requested, but not required, that you contact the authors of
  20436      the Document well before redistributing any large number of copies,
  20437      to give them a chance to provide you with an updated version of the
  20438      Document.
  20439 
  20440   4. MODIFICATIONS
  20441 
  20442      You may copy and distribute a Modified Version of the Document
  20443      under the conditions of sections 2 and 3 above, provided that you
  20444      release the Modified Version under precisely this License, with the
  20445      Modified Version filling the role of the Document, thus licensing
  20446      distribution and modification of the Modified Version to whoever
  20447      possesses a copy of it.  In addition, you must do these things in
  20448      the Modified Version:
  20449 
  20450        A. Use in the Title Page (and on the covers, if any) a title
  20451           distinct from that of the Document, and from those of previous
  20452           versions (which should, if there were any, be listed in the
  20453           History section of the Document).  You may use the same title
  20454           as a previous version if the original publisher of that
  20455           version gives permission.
  20456 
  20457        B. List on the Title Page, as authors, one or more persons or
  20458           entities responsible for authorship of the modifications in
  20459           the Modified Version, together with at least five of the
  20460           principal authors of the Document (all of its principal
  20461           authors, if it has fewer than five), unless they release you
  20462           from this requirement.
  20463 
  20464        C. State on the Title page the name of the publisher of the
  20465           Modified Version, as the publisher.
  20466 
  20467        D. Preserve all the copyright notices of the Document.
  20468 
  20469        E. Add an appropriate copyright notice for your modifications
  20470           adjacent to the other copyright notices.
  20471 
  20472        F. Include, immediately after the copyright notices, a license
  20473           notice giving the public permission to use the Modified
  20474           Version under the terms of this License, in the form shown in
  20475           the Addendum below.
  20476 
  20477        G. Preserve in that license notice the full lists of Invariant
  20478           Sections and required Cover Texts given in the Document’s
  20479           license notice.
  20480 
  20481        H. Include an unaltered copy of this License.
  20482 
  20483        I. Preserve the section Entitled “History”, Preserve its Title,
  20484           and add to it an item stating at least the title, year, new
  20485           authors, and publisher of the Modified Version as given on the
  20486           Title Page.  If there is no section Entitled “History” in the
  20487           Document, create one stating the title, year, authors, and
  20488           publisher of the Document as given on its Title Page, then add
  20489           an item describing the Modified Version as stated in the
  20490           previous sentence.
  20491 
  20492        J. Preserve the network location, if any, given in the Document
  20493           for public access to a Transparent copy of the Document, and
  20494           likewise the network locations given in the Document for
  20495           previous versions it was based on.  These may be placed in the
  20496           “History” section.  You may omit a network location for a work
  20497           that was published at least four years before the Document
  20498           itself, or if the original publisher of the version it refers
  20499           to gives permission.
  20500 
  20501        K. For any section Entitled “Acknowledgements” or “Dedications”,
  20502           Preserve the Title of the section, and preserve in the section
  20503           all the substance and tone of each of the contributor
  20504           acknowledgements and/or dedications given therein.
  20505 
  20506        L. Preserve all the Invariant Sections of the Document, unaltered
  20507           in their text and in their titles.  Section numbers or the
  20508           equivalent are not considered part of the section titles.
  20509 
  20510        M. Delete any section Entitled “Endorsements”.  Such a section
  20511           may not be included in the Modified Version.
  20512 
  20513        N. Do not retitle any existing section to be Entitled
  20514           “Endorsements” or to conflict in title with any Invariant
  20515           Section.
  20516 
  20517        O. Preserve any Warranty Disclaimers.
  20518 
  20519      If the Modified Version includes new front-matter sections or
  20520      appendices that qualify as Secondary Sections and contain no
  20521      material copied from the Document, you may at your option designate
  20522      some or all of these sections as invariant.  To do this, add their
  20523      titles to the list of Invariant Sections in the Modified Version’s
  20524      license notice.  These titles must be distinct from any other
  20525      section titles.
  20526 
  20527      You may add a section Entitled “Endorsements”, provided it contains
  20528      nothing but endorsements of your Modified Version by various
  20529      parties—for example, statements of peer review or that the text has
  20530      been approved by an organization as the authoritative definition of
  20531      a standard.
  20532 
  20533      You may add a passage of up to five words as a Front-Cover Text,
  20534      and a passage of up to 25 words as a Back-Cover Text, to the end of
  20535      the list of Cover Texts in the Modified Version.  Only one passage
  20536      of Front-Cover Text and one of Back-Cover Text may be added by (or
  20537      through arrangements made by) any one entity.  If the Document
  20538      already includes a cover text for the same cover, previously added
  20539      by you or by arrangement made by the same entity you are acting on
  20540      behalf of, you may not add another; but you may replace the old
  20541      one, on explicit permission from the previous publisher that added
  20542      the old one.
  20543 
  20544      The author(s) and publisher(s) of the Document do not by this
  20545      License give permission to use their names for publicity for or to
  20546      assert or imply endorsement of any Modified Version.
  20547 
  20548   5. COMBINING DOCUMENTS
  20549 
  20550      You may combine the Document with other documents released under
  20551      this License, under the terms defined in section 4 above for
  20552      modified versions, provided that you include in the combination all
  20553      of the Invariant Sections of all of the original documents,
  20554      unmodified, and list them all as Invariant Sections of your
  20555      combined work in its license notice, and that you preserve all
  20556      their Warranty Disclaimers.
  20557 
  20558      The combined work need only contain one copy of this License, and
  20559      multiple identical Invariant Sections may be replaced with a single
  20560      copy.  If there are multiple Invariant Sections with the same name
  20561      but different contents, make the title of each such section unique
  20562      by adding at the end of it, in parentheses, the name of the
  20563      original author or publisher of that section if known, or else a
  20564      unique number.  Make the same adjustment to the section titles in
  20565      the list of Invariant Sections in the license notice of the
  20566      combined work.
  20567 
  20568      In the combination, you must combine any sections Entitled
  20569      “History” in the various original documents, forming one section
  20570      Entitled “History”; likewise combine any sections Entitled
  20571      “Acknowledgements”, and any sections Entitled “Dedications”.  You
  20572      must delete all sections Entitled “Endorsements.”
  20573 
  20574   6. COLLECTIONS OF DOCUMENTS
  20575 
  20576      You may make a collection consisting of the Document and other
  20577      documents released under this License, and replace the individual
  20578      copies of this License in the various documents with a single copy
  20579      that is included in the collection, provided that you follow the
  20580      rules of this License for verbatim copying of each of the documents
  20581      in all other respects.
  20582 
  20583      You may extract a single document from such a collection, and
  20584      distribute it individually under this License, provided you insert
  20585      a copy of this License into the extracted document, and follow this
  20586      License in all other respects regarding verbatim copying of that
  20587      document.
  20588 
  20589   7. AGGREGATION WITH INDEPENDENT WORKS
  20590 
  20591      A compilation of the Document or its derivatives with other
  20592      separate and independent documents or works, in or on a volume of a
  20593      storage or distribution medium, is called an “aggregate” if the
  20594      copyright resulting from the compilation is not used to limit the
  20595      legal rights of the compilation’s users beyond what the individual
  20596      works permit.  When the Document is included in an aggregate, this
  20597      License does not apply to the other works in the aggregate which
  20598      are not themselves derivative works of the Document.
  20599 
  20600      If the Cover Text requirement of section 3 is applicable to these
  20601      copies of the Document, then if the Document is less than one half
  20602      of the entire aggregate, the Document’s Cover Texts may be placed
  20603      on covers that bracket the Document within the aggregate, or the
  20604      electronic equivalent of covers if the Document is in electronic
  20605      form.  Otherwise they must appear on printed covers that bracket
  20606      the whole aggregate.
  20607 
  20608   8. TRANSLATION
  20609 
  20610      Translation is considered a kind of modification, so you may
  20611      distribute translations of the Document under the terms of section
  20612      4.  Replacing Invariant Sections with translations requires special
  20613      permission from their copyright holders, but you may include
  20614      translations of some or all Invariant Sections in addition to the
  20615      original versions of these Invariant Sections.  You may include a
  20616      translation of this License, and all the license notices in the
  20617      Document, and any Warranty Disclaimers, provided that you also
  20618      include the original English version of this License and the
  20619      original versions of those notices and disclaimers.  In case of a
  20620      disagreement between the translation and the original version of
  20621      this License or a notice or disclaimer, the original version will
  20622      prevail.
  20623 
  20624      If a section in the Document is Entitled “Acknowledgements”,
  20625      “Dedications”, or “History”, the requirement (section 4) to
  20626      Preserve its Title (section 1) will typically require changing the
  20627      actual title.
  20628 
  20629   9. TERMINATION
  20630 
  20631      You may not copy, modify, sublicense, or distribute the Document
  20632      except as expressly provided under this License.  Any attempt
  20633      otherwise to copy, modify, sublicense, or distribute it is void,
  20634      and will automatically terminate your rights under this License.
  20635 
  20636      However, if you cease all violation of this License, then your
  20637      license from a particular copyright holder is reinstated (a)
  20638      provisionally, unless and until the copyright holder explicitly and
  20639      finally terminates your license, and (b) permanently, if the
  20640      copyright holder fails to notify you of the violation by some
  20641      reasonable means prior to 60 days after the cessation.
  20642 
  20643      Moreover, your license from a particular copyright holder is
  20644      reinstated permanently if the copyright holder notifies you of the
  20645      violation by some reasonable means, this is the first time you have
  20646      received notice of violation of this License (for any work) from
  20647      that copyright holder, and you cure the violation prior to 30 days
  20648      after your receipt of the notice.
  20649 
  20650      Termination of your rights under this section does not terminate
  20651      the licenses of parties who have received copies or rights from you
  20652      under this License.  If your rights have been terminated and not
  20653      permanently reinstated, receipt of a copy of some or all of the
  20654      same material does not give you any rights to use it.
  20655 
  20656   10. FUTURE REVISIONS OF THIS LICENSE
  20657 
  20658      The Free Software Foundation may publish new, revised versions of
  20659      the GNU Free Documentation License from time to time.  Such new
  20660      versions will be similar in spirit to the present version, but may
  20661      differ in detail to address new problems or concerns.  See
  20662      <https://www.gnu.org/copyleft/>.
  20663 
  20664      Each version of the License is given a distinguishing version
  20665      number.  If the Document specifies that a particular numbered
  20666      version of this License “or any later version” applies to it, you
  20667      have the option of following the terms and conditions either of
  20668      that specified version or of any later version that has been
  20669      published (not as a draft) by the Free Software Foundation.  If the
  20670      Document does not specify a version number of this License, you may
  20671      choose any version ever published (not as a draft) by the Free
  20672      Software Foundation.  If the Document specifies that a proxy can
  20673      decide which future versions of this License can be used, that
  20674      proxy’s public statement of acceptance of a version permanently
  20675      authorizes you to choose that version for the Document.
  20676 
  20677   11. RELICENSING
  20678 
  20679      “Massive Multiauthor Collaboration Site” (or “MMC Site”) means any
  20680      World Wide Web server that publishes copyrightable works and also
  20681      provides prominent facilities for anybody to edit those works.  A
  20682      public wiki that anybody can edit is an example of such a server.
  20683      A “Massive Multiauthor Collaboration” (or “MMC”) contained in the
  20684      site means any set of copyrightable works thus published on the MMC
  20685      site.
  20686 
  20687      “CC-BY-SA” means the Creative Commons Attribution-Share Alike 3.0
  20688      license published by Creative Commons Corporation, a not-for-profit
  20689      corporation with a principal place of business in San Francisco,
  20690      California, as well as future copyleft versions of that license
  20691      published by that same organization.
  20692 
  20693      “Incorporate” means to publish or republish a Document, in whole or
  20694      in part, as part of another Document.
  20695 
  20696      An MMC is “eligible for relicensing” if it is licensed under this
  20697      License, and if all works that were first published under this
  20698      License somewhere other than this MMC, and subsequently
  20699      incorporated in whole or in part into the MMC, (1) had no cover
  20700      texts or invariant sections, and (2) were thus incorporated prior
  20701      to November 1, 2008.
  20702 
  20703      The operator of an MMC Site may republish an MMC contained in the
  20704      site under CC-BY-SA on the same site at any time before August 1,
  20705      2009, provided the MMC is eligible for relicensing.
  20706 
  20707 C.1 ADDENDUM: How to use this License for your documents
  20708 ========================================================
  20709 
  20710 To use this License in a document you have written, include a copy of
  20711 the License in the document and put the following copyright and license
  20712 notices just after the title page:
  20713 
  20714      Copyright (C)  YEAR  YOUR NAME.
  20715      Permission is granted to copy, distribute and/or modify this document
  20716      under the terms of the GNU Free Documentation License, Version 1.3
  20717      or any later version published by the Free Software Foundation;
  20718      with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
  20719      Texts.  A copy of the license is included in the section entitled ``GNU
  20720      Free Documentation License''.
  20721 
  20722    If you have Invariant Sections, Front-Cover Texts and Back-Cover
  20723 Texts, replace the “with...Texts.” line with this:
  20724 
  20725      with the Invariant Sections being LIST THEIR TITLES, with
  20726      the Front-Cover Texts being LIST, and with the Back-Cover Texts
  20727      being LIST.
  20728 
  20729    If you have Invariant Sections without Cover Texts, or some other
  20730 combination of the three, merge those two alternatives to suit the
  20731 situation.
  20732 
  20733    If your document contains nontrivial examples of program code, we
  20734 recommend releasing these examples in parallel under your choice of free
  20735 software license, such as the GNU General Public License, to permit
  20736 their use in free software.
  20737 
  20738 
  20739 File: org.info,  Node: Main Index,  Next: Key Index,  Prev: GNU Free Documentation License,  Up: Top
  20740 
  20741 D Main Index
  20742 ************
  20743 
  20744 
  20745 * Menu:
  20746 
  20747 * *this*, in post header argument:       Results of Evaluation.
  20748                                                               (line 278)
  20749 * + suffix, in properties:               Property Syntax.     (line  52)
  20750 * _ALL suffix, in properties:            Property Syntax.     (line  50)
  20751 * abbreviation, links:                   Link Abbreviations.  (line   6)
  20752 * abstract, in LaTeX export:             Special blocks in LaTeX export.
  20753                                                               (line   6)
  20754 * action, for publishing:                Publishing action.   (line   6)
  20755 * activation:                            Activation.          (line   6)
  20756 * active region:                         Structure Editing.   (line  46)
  20757 * add-on packages:                       Add-on Packages.     (line   6)
  20758 * agenda:                                Weekly/daily agenda. (line   6)
  20759 * agenda dispatcher:                     Agenda Dispatcher.   (line   6)
  20760 * agenda files:                          Agenda Files.        (line   6)
  20761 * agenda files, removing buffers:        Agenda Commands.     (line 500)
  20762 * agenda filtering:                      Filtering/limiting agenda items.
  20763                                                               (line  20)
  20764 * agenda views:                          Agenda Views.        (line   6)
  20765 * agenda views, custom:                  Custom Agenda Views. (line   6)
  20766 * agenda views, exporting:               Exporting Agenda Views.
  20767                                                               (line   6)
  20768 * agenda views, exporting <1>:           Exporting Agenda Views.
  20769                                                               (line  13)
  20770 * agenda views, main example:            Storing searches.    (line  11)
  20771 * agenda views, optimization:            Speeding Up Your Agendas.
  20772                                                               (line   6)
  20773 * agenda views, user-defined:            Special Agenda Views.
  20774                                                               (line   6)
  20775 * agenda*, as an agenda views:           Storing searches.    (line  11)
  20776 * agenda, as an agenda views:            Storing searches.    (line  11)
  20777 * agenda, column view:                   Agenda Column View.  (line   6)
  20778 * agenda, pipe:                          Extracting Agenda Information.
  20779                                                               (line   6)
  20780 * agenda, with block views:              Block agenda.        (line   6)
  20781 * alignment in tables:                   Column Width and Alignment.
  20782                                                               (line   6)
  20783 * ALLTAGS, special property:             Special Properties.  (line  13)
  20784 * ALT_TITLE, property:                   Table of Contents.   (line  68)
  20785 * ALT_TITLE, property <1>:               Headings and sectioning structure.
  20786                                                               (line  24)
  20787 * angle bracket links:                   Link Format.         (line   6)
  20788 * angular brackets, around links:        External Links.      (line 137)
  20789 * anniversaries, from BBDB:              Weekly/daily agenda. (line  79)
  20790 * API, for mapping:                      Using the Mapping API.
  20791                                                               (line   6)
  20792 * API, for properties:                   Using the Property API.
  20793                                                               (line   6)
  20794 * APPENDIX, property:                    Headings and sectioning structure.
  20795                                                               (line  20)
  20796 * appointment:                           Timestamps.          (line  14)
  20797 * appointment <1>:                       Weekly/daily agenda. (line 126)
  20798 * appointment reminders:                 Weekly/daily agenda. (line 126)
  20799 * appt.el:                               Weekly/daily agenda. (line 126)
  20800 * APPT_WARNTIME, keyword:                Weekly/daily agenda. (line 126)
  20801 * archive locations:                     Moving subtrees.     (line  25)
  20802 * ARCHIVE, keyword:                      Moving subtrees.     (line  35)
  20803 * ARCHIVE, keyword <1>:                  In-buffer Settings.  (line  16)
  20804 * ARCHIVE, property:                     Property Inheritance.
  20805                                                               (line  33)
  20806 * ARCHIVE, property <1>:                 Moving subtrees.     (line  37)
  20807 * ARCHIVE, tag:                          Internal archiving.  (line   6)
  20808 * archived entries, in agenda views:     Agenda Views.        (line  37)
  20809 * archiving:                             Refiling and Archiving.
  20810                                                               (line   6)
  20811 * archiving <1>:                         Archiving.           (line   6)
  20812 * arguments, in code blocks:             Environment of a Code Block.
  20813                                                               (line   9)
  20814 * ASCII export:                          ASCII/Latin-1/UTF-8 export.
  20815                                                               (line   6)
  20816 * ASCII, keyword:                        ASCII/Latin-1/UTF-8 export.
  20817                                                               (line  63)
  20818 * Atom feeds:                            Capture and Attachments.
  20819                                                               (line   6)
  20820 * Atom feeds <1>:                        RSS Feeds.           (line   6)
  20821 * attach from Dired:                     Attach from Dired.   (line   6)
  20822 * attachment links:                      External Links.      (line   6)
  20823 * attachment links, searching:           Search Options.      (line   6)
  20824 * attachments:                           Capture and Attachments.
  20825                                                               (line   6)
  20826 * attachments <1>:                       Attachments.         (line   6)
  20827 * ATTR_ASCII, keyword:                   ASCII/Latin-1/UTF-8 export.
  20828                                                               (line  74)
  20829 * ATTR_BEAMER, keyword:                  Beamer specific syntax.
  20830                                                               (line  35)
  20831 * ATTR_HTML, keyword:                    Links in HTML export.
  20832                                                               (line  27)
  20833 * ATTR_HTML, keyword <1>:                Tables in HTML export.
  20834                                                               (line  11)
  20835 * ATTR_HTML, keyword <2>:                Images in HTML export.
  20836                                                               (line  28)
  20837 * ATTR_LATEX, keyword:                   Images in LaTeX export.
  20838                                                               (line   6)
  20839 * ATTR_LATEX, keyword <1>:               Plain lists in LaTeX export.
  20840                                                               (line   6)
  20841 * ATTR_LATEX, keyword <2>:               Source blocks in LaTeX export.
  20842                                                               (line   6)
  20843 * ATTR_LATEX, keyword <3>:               Example blocks in LaTeX export.
  20844                                                               (line   6)
  20845 * ATTR_LATEX, keyword <4>:               Special blocks in LaTeX export.
  20846                                                               (line   6)
  20847 * ATTR_LATEX, keyword <5>:               Horizontal rules in LaTeX export.
  20848                                                               (line   6)
  20849 * ATTR_LATEX, keyword <6>:               Verse blocks in LaTeX export.
  20850                                                               (line   6)
  20851 * ATTR_LATEX, keyword <7>:               Quote blocks in LaTeX export.
  20852                                                               (line   6)
  20853 * ATTR_ODT, keyword:                     Tables in ODT export.
  20854                                                               (line  20)
  20855 * ATTR_ODT, keyword <1>:                 Images in ODT export.
  20856                                                               (line  31)
  20857 * ATTR_ODT, keyword <2>:                 Images in ODT export.
  20858                                                               (line  75)
  20859 * ATTR_ODT, keyword <3>:                 Advanced topics in ODT export.
  20860                                                               (line 151)
  20861 * ATTR_TEXINFO, keyword:                 Plain lists in Texinfo export.
  20862                                                               (line  19)
  20863 * ATTR_TEXINFO, keyword <1>:             Tables in Texinfo export.
  20864                                                               (line   6)
  20865 * ATTR_TEXINFO, keyword <2>:             Images in Texinfo export.
  20866                                                               (line   6)
  20867 * ATTR_TEXINFO, keyword <3>:             Quotations in Texinfo export.
  20868                                                               (line   6)
  20869 * ATTR_TEXINFO, keyword <4>:             Special blocks in Texinfo export.
  20870                                                               (line  10)
  20871 * author:                                Feedback.            (line   6)
  20872 * AUTHOR, keyword:                       Export Settings.     (line  25)
  20873 * author, macro:                         Macro Replacement.   (line  41)
  20874 * auto clocking out after idle time:     Resolving idle time. (line  91)
  20875 * auto-save, in code block editing:      Editing Source Code. (line  11)
  20876 * autoload:                              Activation.          (line   6)
  20877 * babel, languages:                      Languages.           (line   6)
  20878 * babel, library of:                     Library of Babel.    (line   6)
  20879 * backslashes, in links:                 Link Format.         (line  17)
  20880 * backtrace of an error:                 Feedback.            (line  81)
  20881 * BBDB links:                            External Links.      (line   6)
  20882 * BBDB, anniversaries:                   Weekly/daily agenda. (line  79)
  20883 * Beamer export:                         Beamer Export.       (line   6)
  20884 * BEAMER, keyword:                       Beamer specific syntax.
  20885                                                               (line  19)
  20886 * BEAMER_ACT, property:                  Frames and Blocks in Beamer.
  20887                                                               (line  41)
  20888 * BEAMER_COL, property:                  Frames and Blocks in Beamer.
  20889                                                               (line  49)
  20890 * BEAMER_ENV, property:                  Frames and Blocks in Beamer.
  20891                                                               (line  14)
  20892 * BEAMER_FONT_THEME, keyword:            Beamer specific export settings.
  20893                                                               (line  17)
  20894 * BEAMER_HEADER, keyword:                Beamer specific export settings.
  20895                                                               (line  26)
  20896 * BEAMER_INNER_THEME, keyword:           Beamer specific export settings.
  20897                                                               (line  20)
  20898 * BEAMER_OPT, property:                  Frames and Blocks in Beamer.
  20899                                                               (line  41)
  20900 * BEAMER_OUTER_THEME, keyword:           Beamer specific export settings.
  20901                                                               (line  23)
  20902 * BEAMER_REF, property:                  Frames and Blocks in Beamer.
  20903                                                               (line  27)
  20904 * BEAMER_THEME, keyword:                 Beamer specific export settings.
  20905                                                               (line  11)
  20906 * BEGIN clocktable:                      The clock table.     (line  36)
  20907 * BEGIN columnview:                      Capturing column view.
  20908                                                               (line  11)
  20909 * BEGIN_CENTER:                          Paragraphs.          (line  32)
  20910 * BEGIN_COMMENT:                         Comment Lines.       (line  10)
  20911 * BEGIN_EXAMPLE:                         Literal Examples.    (line  10)
  20912 * BEGIN_EXPORT ascii:                    ASCII/Latin-1/UTF-8 export.
  20913                                                               (line  63)
  20914 * BEGIN_EXPORT beamer:                   Beamer specific syntax.
  20915                                                               (line  19)
  20916 * BEGIN_EXPORT html:                     Quoting HTML tags.   (line  13)
  20917 * BEGIN_EXPORT latex:                    Quoting LaTeX code.  (line  19)
  20918 * BEGIN_EXPORT texinfo:                  Quoting Texinfo code.
  20919                                                               (line   9)
  20920 * BEGIN_JUSTIFYLEFT:                     ASCII/Latin-1/UTF-8 export.
  20921                                                               (line  84)
  20922 * BEGIN_JUSTIFYRIGHT:                    ASCII/Latin-1/UTF-8 export.
  20923                                                               (line  84)
  20924 * BEGIN_QUOTE:                           Paragraphs.          (line  25)
  20925 * BEGIN_SRC:                             Literal Examples.    (line  38)
  20926 * BEGIN_SRC <1>:                         Structure of Code Blocks.
  20927                                                               (line   6)
  20928 * BEGIN_VERSE:                           Paragraphs.          (line  13)
  20929 * bibliography:                          Citations.           (line   6)
  20930 * BIBLIOGRAPHY, keyword:                 Citations.           (line  10)
  20931 * BIND, keyword:                         Export Settings.     (line 229)
  20932 * block agenda:                          Block agenda.        (line   6)
  20933 * BLOCKED, special property:             Special Properties.  (line  13)
  20934 * blocking, of checkboxes:               Checkboxes.          (line  40)
  20935 * blocks, folding:                       Blocks.              (line   6)
  20936 * bold text, markup rules:               Emphasis and Monospace.
  20937                                                               (line   6)
  20938 * boolean logic, for agenda searches:    Matching tags and properties.
  20939                                                               (line  30)
  20940 * bracket links:                         Link Format.         (line   9)
  20941 * bug reports:                           Feedback.            (line   6)
  20942 * C-c C-c, overview:                     The Very Busy C-c C-c Key.
  20943                                                               (line   6)
  20944 * cache results of code evaluation:      Evaluating Code Blocks.
  20945                                                               (line 111)
  20946 * cache, header argument:                Evaluating Code Blocks.
  20947                                                               (line 111)
  20948 * Calc package:                          The Spreadsheet.     (line   6)
  20949 * calc.el:                               Cooperation.         (line   7)
  20950 * calculations, in tables:               Built-in Table Editor.
  20951                                                               (line 181)
  20952 * calculations, in tables <1>:           The Spreadsheet.     (line   6)
  20953 * calendar commands, from agenda:        Agenda Commands.     (line 450)
  20954 * calendar integration:                  Weekly/daily agenda. (line  33)
  20955 * calendar, for selecting date:          The date/time prompt.
  20956                                                               (line  78)
  20957 * CALL, keyword:                         Evaluating Code Blocks.
  20958                                                               (line  28)
  20959 * CAPTION, keyword:                      Captions.            (line   6)
  20960 * CAPTION, keyword <1>:                  Tables in HTML export.
  20961                                                               (line  11)
  20962 * CAPTION, keyword <2>:                  Images in HTML export.
  20963                                                               (line  28)
  20964 * captions, markup rules:                Captions.            (line   6)
  20965 * capture:                               Capture and Attachments.
  20966                                                               (line   6)
  20967 * capture <1>:                           Capture.             (line   6)
  20968 * capture protocol:                      The capture protocol.
  20969                                                               (line   6)
  20970 * capturing, from agenda:                Agenda Commands.     (line 349)
  20971 * category:                              Categories.          (line   6)
  20972 * category filtering, in agenda:         Filtering/limiting agenda items.
  20973                                                               (line  20)
  20974 * category, for tags/property match:     Matching tags and properties.
  20975                                                               (line  63)
  20976 * CATEGORY, keyword:                     Categories.          (line   6)
  20977 * CATEGORY, keyword <1>:                 In-buffer Settings.  (line  20)
  20978 * CATEGORY, property:                    Property Inheritance.
  20979                                                               (line  29)
  20980 * CATEGORY, property <1>:                Categories.          (line  12)
  20981 * CDLaTeX:                               CDLaTeX mode.        (line   6)
  20982 * cdlatex.el:                            Cooperation.         (line  24)
  20983 * center blocks:                         Paragraphs.          (line  32)
  20984 * center image in LaTeX export:          Images in LaTeX export.
  20985                                                               (line  63)
  20986 * change agenda display:                 Agenda Commands.     (line  63)
  20987 * checkbox blocking:                     Checkboxes.          (line  40)
  20988 * checkbox statistics:                   Checkboxes.          (line  24)
  20989 * checkboxes:                            Checkboxes.          (line   6)
  20990 * checkboxes and TODO dependencies:      TODO dependencies.   (line  53)
  20991 * children, subtree visibility state:    Global and local cycling.
  20992                                                               (line   6)
  20993 * CINDEX, keyword:                       Indices.             (line   6)
  20994 * citation:                              Citation handling.   (line   6)
  20995 * citation processor:                    Citation handling.   (line   6)
  20996 * CITE_EXPORT, keyword:                  Citation export processors.
  20997                                                               (line  43)
  20998 * CLASS, property:                       iCalendar Export.    (line  55)
  20999 * clean outline view:                    Clean View.          (line   6)
  21000 * clocking time:                         Clocking Work Time.  (line   6)
  21001 * CLOCKSUM, special property:            Special Properties.  (line  13)
  21002 * CLOCKSUM, special property <1>:        Agenda Column View.  (line  32)
  21003 * CLOCKSUM_T, special property:          Special Properties.  (line  13)
  21004 * CLOCKSUM_T, special property <1>:      Agenda Column View.  (line  56)
  21005 * clocktable, dynamic block:             The clock table.     (line   6)
  21006 * CLOCK_MODELINE_TOTAL, property:        Clocking commands.   (line  21)
  21007 * CLOSED, special property:              Special Properties.  (line  13)
  21008 * code block, batch execution:           Batch Execution.     (line   6)
  21009 * code block, editing:                   Editing Source Code. (line   6)
  21010 * code block, evaluating:                Evaluating Code Blocks.
  21011                                                               (line   6)
  21012 * code block, exporting:                 Exporting Code Blocks.
  21013                                                               (line   6)
  21014 * code block, extracting source code:    Extracting Source Code.
  21015                                                               (line   6)
  21016 * code block, key bindings:              Key bindings and Useful Functions.
  21017                                                               (line   6)
  21018 * code block, languages:                 Languages.           (line   6)
  21019 * code block, library:                   Library of Babel.    (line   6)
  21020 * code block, noweb reference:           Noweb Reference Syntax.
  21021                                                               (line   6)
  21022 * code block, results of evaluation:     Results of Evaluation.
  21023                                                               (line   6)
  21024 * code block, structure:                 Structure of Code Blocks.
  21025                                                               (line   6)
  21026 * code line references, markup rules:    Literal Examples.    (line   6)
  21027 * code text, markup rules:               Emphasis and Monospace.
  21028                                                               (line   6)
  21029 * colnames, header argument:             Environment of a Code Block.
  21030                                                               (line  56)
  21031 * column formula:                        Column formulas.     (line   6)
  21032 * column view, for properties:           Defining columns.    (line   6)
  21033 * column view, in agenda:                Agenda Column View.  (line   6)
  21034 * column, of field coordinates:          References.          (line  90)
  21035 * COLUMNS, keyword:                      Scope of column definitions.
  21036                                                               (line  18)
  21037 * COLUMNS, property:                     Property Inheritance.
  21038                                                               (line  22)
  21039 * COLUMNS, property <1>:                 In-buffer Settings.  (line  24)
  21040 * comma escape, in literal examples:     Literal Examples.    (line  14)
  21041 * commands, in agenda buffer:            Agenda Commands.     (line   6)
  21042 * comment block:                         Comment Lines.       (line  10)
  21043 * comment lines:                         Comment Lines.       (line   6)
  21044 * comment trees:                         Comment Lines.       (line  13)
  21045 * commented entries, in agenda views:    Agenda Views.        (line  37)
  21046 * comments, header argument:             Extracting Source Code.
  21047                                                               (line  46)
  21048 * completion, of dictionary words:       Completion.          (line   6)
  21049 * completion, of file names:             Handling Links.      (line 114)
  21050 * completion, of link abbreviations:     Completion.          (line   6)
  21051 * completion, of links:                  Handling Links.      (line  91)
  21052 * completion, of option keywords:        Per-file keywords.   (line  26)
  21053 * completion, of option keywords <1>:    Completion.          (line   6)
  21054 * completion, of property keys:          Completion.          (line   6)
  21055 * completion, of tags:                   Setting Tags.        (line  11)
  21056 * completion, of tags <1>:               Completion.          (line   6)
  21057 * completion, of TeX symbols:            Completion.          (line   6)
  21058 * completion, of TODO keywords:          Workflow states.     (line  17)
  21059 * completion, of TODO keywords <1>:      Completion.          (line   6)
  21060 * concept index, in Texinfo export:      Indices.             (line   6)
  21061 * constants, in calculations:            References.          (line 114)
  21062 * CONSTANTS, keyword:                    References.          (line 114)
  21063 * CONSTANTS, keyword <1>:                In-buffer Settings.  (line  29)
  21064 * constants.el:                          Cooperation.         (line  14)
  21065 * contact:                               Feedback.            (line   6)
  21066 * contents, global visibility state:     Global and local cycling.
  21067                                                               (line  20)
  21068 * continuous clocking:                   Resolving idle time. (line  78)
  21069 * control code block evaluation:         Evaluating Code Blocks.
  21070                                                               (line  82)
  21071 * convert:                               Advanced topics in ODT export.
  21072                                                               (line  12)
  21073 * converter:                             Advanced topics in ODT export.
  21074                                                               (line  12)
  21075 * COOKIE_DATA, property:                 Breaking Down Tasks. (line  21)
  21076 * COOKIE_DATA, property <1>:             Checkboxes.          (line  24)
  21077 * coordinates, of field:                 References.          (line  90)
  21078 * copying notes:                         Refiling and Archiving.
  21079                                                               (line   6)
  21080 * copying notes <1>:                     Refile and Copy.     (line   6)
  21081 * copying, of subtrees:                  Structure Editing.   (line   6)
  21082 * COPYING, property:                     Texinfo title and copyright page.
  21083                                                               (line  19)
  21084 * countdown timer:                       Timers.              (line   6)
  21085 * counter, macro:                        Macro Replacement.   (line  75)
  21086 * CREATOR, keyword:                      Export Settings.     (line  28)
  21087 * CSS, for HTML export:                  CSS support.         (line   6)
  21088 * cua.el:                                Conflicts.           (line  17)
  21089 * custom agenda views:                   Custom Agenda Views. (line   6)
  21090 * custom date/time format:               Custom time format.  (line   6)
  21091 * custom search strings:                 Custom Searches.     (line   6)
  21092 * CUSTOM_ID, property:                   Internal Links.      (line  11)
  21093 * CUSTOM_ID, property <1>:               Handling Links.      (line  22)
  21094 * cutting, of subtrees:                  Structure Editing.   (line   6)
  21095 * cycling, in plain lists:               Plain Lists.         (line  71)
  21096 * cycling, of agenda files:              Agenda Files.        (line  26)
  21097 * cycling, of TODO states:               TODO Basics.         (line  14)
  21098 * cycling, visibility:                   Visibility Cycling.  (line   6)
  21099 * daily agenda:                          Weekly/daily agenda. (line   6)
  21100 * dash, special symbol:                  Special Symbols.     (line  36)
  21101 * data type index, in Texinfo export:    Indices.             (line   6)
  21102 * date format, custom:                   Custom time format.  (line   6)
  21103 * date range:                            Timestamps.          (line  56)
  21104 * date stamp:                            Dates and Times.     (line   6)
  21105 * date stamps:                           Timestamps.          (line   6)
  21106 * date tree:                             Template elements.   (line  50)
  21107 * DATE, keyword:                         Export Settings.     (line  32)
  21108 * date, macro:                           Macro Replacement.   (line  49)
  21109 * date, reading in minibuffer:           The date/time prompt.
  21110                                                               (line   6)
  21111 * dates:                                 Dates and Times.     (line   6)
  21112 * DEADLINE marker:                       Deadlines and Scheduling.
  21113                                                               (line  11)
  21114 * DEADLINE, special property:            Special Properties.  (line  13)
  21115 * deadlines:                             Timestamps.          (line   6)
  21116 * debugging, of table formulas:          Editing and debugging formulas.
  21117                                                               (line 132)
  21118 * default header arguments per language: Using Header Arguments.
  21119                                                               (line  56)
  21120 * defining new protocols:                Protocols.           (line  25)
  21121 * demotion, of subtrees:                 Structure Editing.   (line   6)
  21122 * dependencies, of TODO states:          TODO dependencies.   (line   6)
  21123 * DESCRIPTION, keyword:                  Beamer specific export settings.
  21124                                                               (line  30)
  21125 * DESCRIPTION, keyword <1>:              HTML specific export settings.
  21126                                                               (line  10)
  21127 * DESCRIPTION, keyword <2>:              LaTeX specific export settings.
  21128                                                               (line  11)
  21129 * DESCRIPTION, keyword <3>:              ODT specific export settings.
  21130                                                               (line  11)
  21131 * DESCRIPTION, property:                 Headings and sectioning structure.
  21132                                                               (line  24)
  21133 * DESCRIPTION, property <1>:             iCalendar Export.    (line  55)
  21134 * diary entries, creating from agenda:   Agenda Commands.     (line 459)
  21135 * diary integration:                     Weekly/daily agenda. (line  33)
  21136 * diary style timestamps:                Timestamps.          (line  39)
  21137 * dictionary word completion:            Completion.          (line   6)
  21138 * dir file, in Texinfo export:           Info directory file. (line   6)
  21139 * dir, header argument:                  Environment of a Code Block.
  21140                                                               (line 315)
  21141 * DIR, property:                         Attachment defaults and dispatcher.
  21142                                                               (line  68)
  21143 * DIR, property <1>:                     Attachment defaults and dispatcher.
  21144                                                               (line  73)
  21145 * directories, for publishing:           Sources and destinations.
  21146                                                               (line   6)
  21147 * dispatcher, for export commands:       The Export Dispatcher.
  21148                                                               (line   6)
  21149 * dispatching agenda commands:           Agenda Dispatcher.   (line   6)
  21150 * display changing, in agenda:           Agenda Commands.     (line  63)
  21151 * dnd:                                   Drag and Drop & yank-media.
  21152                                                               (line   6)
  21153 * doc, docx, rtf:                        Advanced topics in ODT export.
  21154                                                               (line  12)
  21155 * document structure:                    Document Structure.  (line   6)
  21156 * document title:                        Export Settings.     (line  75)
  21157 * documentation:                         Documentation Access.
  21158                                                               (line   6)
  21159 * DONE, final TODO keyword:              Per-file keywords.   (line  29)
  21160 * drag and drop:                         Drag and Drop & yank-media.
  21161                                                               (line   6)
  21162 * dragging files:                        Drag and Drop & yank-media.
  21163                                                               (line   6)
  21164 * drawer, for properties:                Property Syntax.     (line   6)
  21165 * drawer, for state change recording:    Tracking TODO state changes.
  21166                                                               (line   6)
  21167 * drawers:                               Drawers.             (line   6)
  21168 * dropping files:                        Drag and Drop & yank-media.
  21169                                                               (line   6)
  21170 * duration, computing:                   Durations and time values.
  21171                                                               (line   6)
  21172 * dvipng:                                Math formatting in HTML export.
  21173                                                               (line   6)
  21174 * dvipng <1>:                            LaTeX math snippets. (line  50)
  21175 * dvisvgm:                               Math formatting in HTML export.
  21176                                                               (line   6)
  21177 * dvisvgm <1>:                           LaTeX math snippets. (line  50)
  21178 * dynamic blocks:                        Dynamic Blocks.      (line   6)
  21179 * dynamic indentation:                   Clean View.          (line   6)
  21180 * ecomplete.el:                          Conflicts.           (line  32)
  21181 * editing tables:                        Tables.              (line   6)
  21182 * editing, of table formulas:            Editing and debugging formulas.
  21183                                                               (line   6)
  21184 * edits, catching invisible:             Catching invisible edits.
  21185                                                               (line   6)
  21186 * effort estimates:                      Effort Estimates.    (line   6)
  21187 * effort filtering, in agenda:           Filtering/limiting agenda items.
  21188                                                               (line  20)
  21189 * EFFORT, property:                      Effort Estimates.    (line   6)
  21190 * Elisp links:                           External Links.      (line   6)
  21191 * ellipsis, special symbol:              Special Symbols.     (line  36)
  21192 * ELPA:                                  Activation.          (line   6)
  21193 * EMAIL, keyword:                        Export Settings.     (line  35)
  21194 * email, macro:                          Macro Replacement.   (line  41)
  21195 * embedding images in ODT:               Images in ODT export.
  21196                                                               (line   6)
  21197 * entities:                              Special Symbols.     (line   6)
  21198 * enum, Texinfo attribute:               Plain lists in Texinfo export.
  21199                                                               (line   6)
  21200 * epilogue, header argument:             Environment of a Code Block.
  21201                                                               (line 372)
  21202 * escape character:                      Escape Character.    (line   6)
  21203 * escape syntax, for links:              Link Format.         (line  17)
  21204 * eval, header argument:                 Evaluating Code Blocks.
  21205                                                               (line  82)
  21206 * evaluate time range:                   Creating Timestamps. (line  62)
  21207 * example block:                         Literal Examples.    (line  10)
  21208 * example blocks, in LaTeX export:       Example blocks in LaTeX export.
  21209                                                               (line   6)
  21210 * EXCLUDE_TAGS, keyword:                 Export Settings.     (line  61)
  21211 * excluding entries from table of contents: Table of Contents.
  21212                                                               (line  15)
  21213 * export back-end:                       Exporting.           (line  12)
  21214 * export backend:                        Exporting.           (line  12)
  21215 * export, dispatcher:                    The Export Dispatcher.
  21216                                                               (line   6)
  21217 * export, include files:                 Include Files.       (line   6)
  21218 * export, OpenDocument:                  OpenDocument Text Export.
  21219                                                               (line   6)
  21220 * Export, settings:                      Export Settings.     (line   6)
  21221 * Export, writing backends:              Adding Export Backends.
  21222                                                               (line   6)
  21223 * exporting:                             Exporting.           (line   6)
  21224 * exporting agenda views:                Exporting Agenda Views.
  21225                                                               (line  13)
  21226 * exporting, not:                        Comment Lines.       (line   6)
  21227 * exports, header argument:              Exporting Code Blocks.
  21228                                                               (line  15)
  21229 * EXPORT_FILE_NAME, keyword:             Export Settings.     (line  79)
  21230 * EXPORT_FILE_NAME, property:            ODT export commands. (line   9)
  21231 * EXPORT_LATEX_CLASS, property:          LaTeX header and sectioning.
  21232                                                               (line  23)
  21233 * EXPORT_LATEX_CLASS_OPTIONS, property:  LaTeX header and sectioning.
  21234                                                               (line  23)
  21235 * extended TODO keywords:                TODO Extensions.     (line   6)
  21236 * external archiving:                    Moving subtrees.     (line   6)
  21237 * external links:                        External Links.      (line   6)
  21238 * external links, in HTML export:        Links in HTML export.
  21239                                                               (line   6)
  21240 * faces, for TODO keywords:              Faces for TODO keywords.
  21241                                                               (line   6)
  21242 * FAQ:                                   Summary.             (line  58)
  21243 * feature requests:                      Feedback.            (line   6)
  21244 * feedback:                              Feedback.            (line   6)
  21245 * field coordinates:                     References.          (line  90)
  21246 * field formula:                         Field and range formulas.
  21247                                                               (line   6)
  21248 * field references:                      References.          (line  15)
  21249 * file links:                            External Links.      (line   6)
  21250 * file links, searching:                 Search Options.      (line   6)
  21251 * file name completion:                  Handling Links.      (line 114)
  21252 * file, header argument:                 Results of Evaluation.
  21253                                                               (line 123)
  21254 * FILE, special property:                Special Properties.  (line  13)
  21255 * file-desc, header argument:            Results of Evaluation.
  21256                                                               (line 147)
  21257 * file-ext, header argument:             Results of Evaluation.
  21258                                                               (line 133)
  21259 * file-mode, header argument:            Results of Evaluation.
  21260                                                               (line 158)
  21261 * files for agenda:                      Agenda Files.        (line   6)
  21262 * files, adding to agenda list:          Agenda Files.        (line  16)
  21263 * files, selecting for publishing:       Selecting files.     (line   6)
  21264 * FILETAGS, keyword:                     Tag Inheritance.     (line  20)
  21265 * FILETAGS, keyword <1>:                 In-buffer Settings.  (line  35)
  21266 * filladapt.el:                          Conflicts.           (line  43)
  21267 * filtering entries, in agenda:          Filtering/limiting agenda items.
  21268                                                               (line  20)
  21269 * Filters, exporting:                    Advanced Export Configuration.
  21270                                                               (line  36)
  21271 * FINDEX, keyword:                       Indices.             (line   6)
  21272 * FLAGGED, tag:                          Pulling from the mobile application.
  21273                                                               (line  18)
  21274 * folded, subtree visibility state:      Global and local cycling.
  21275                                                               (line   6)
  21276 * folding, sparse trees:                 Sparse Trees.        (line   6)
  21277 * following links:                       Handling Links.      (line 124)
  21278 * footers, in code blocks:               Environment of a Code Block.
  21279                                                               (line 364)
  21280 * footnotes:                             Creating Footnotes.  (line   6)
  21281 * format specifier, in spreadsheet:      Formula syntax for Calc.
  21282                                                               (line  17)
  21283 * format, of links:                      Link Format.         (line   6)
  21284 * formatter, dynamic block parameter:    Capturing column view.
  21285                                                               (line  74)
  21286 * formatting source code, markup rules:  Literal Examples.    (line  31)
  21287 * formula debugging:                     Editing and debugging formulas.
  21288                                                               (line 132)
  21289 * formula editing:                       Editing and debugging formulas.
  21290                                                               (line   6)
  21291 * formula syntax, Calc:                  Formula syntax for Calc.
  21292                                                               (line   6)
  21293 * formula, for individual table field:   Field and range formulas.
  21294                                                               (line   6)
  21295 * formula, for range of fields:          Field and range formulas.
  21296                                                               (line   6)
  21297 * formula, for table column:             Column formulas.     (line   6)
  21298 * formula, in tables:                    Built-in Table Editor.
  21299                                                               (line 181)
  21300 * function index, in Texinfo export:     Indices.             (line   6)
  21301 * global cycling:                        Global and local cycling.
  21302                                                               (line  20)
  21303 * global key bindings:                   Activation.          (line   6)
  21304 * global TODO list:                      Global TODO list.    (line   6)
  21305 * global visibility states:              Global and local cycling.
  21306                                                               (line  20)
  21307 * Gnus links:                            External Links.      (line   6)
  21308 * graph, in tables:                      Org Plot.            (line   6)
  21309 * group tags:                            Tag Hierarchy.       (line   6)
  21310 * group tags, as regular expressions:    Matching tags and properties.
  21311                                                               (line  56)
  21312 * grouping columns in tables:            Column Groups.       (line   6)
  21313 * habits:                                Tracking your habits.
  21314                                                               (line   6)
  21315 * hacking:                               Hacking.             (line   6)
  21316 * header arguments per language:         Using Header Arguments.
  21317                                                               (line  94)
  21318 * header arguments, in code blocks:      Structure of Code Blocks.
  21319                                                               (line  65)
  21320 * header lines, in tables:               Built-in Table Editor.
  21321                                                               (line   6)
  21322 * header, for LaTeX files:               LaTeX header and sectioning.
  21323                                                               (line   6)
  21324 * HEADER, keyword:                       Using Header Arguments.
  21325                                                               (line 134)
  21326 * headers, in code blocks:               Environment of a Code Block.
  21327                                                               (line 364)
  21328 * headline navigation:                   Motion.              (line   6)
  21329 * headline tagging:                      Tags.                (line   6)
  21330 * headline, promotion and demotion:      Structure Editing.   (line   6)
  21331 * headlines:                             Headlines.           (line   6)
  21332 * headlines, in HTML export:             Headlines in HTML export.
  21333                                                               (line   6)
  21334 * Help links:                            External Links.      (line   6)
  21335 * hide text:                             Visibility Cycling.  (line   6)
  21336 * hiding leading stars:                  Clean View.          (line   6)
  21337 * hlines, header argument:               Results of Evaluation.
  21338                                                               (line  73)
  21339 * hooks:                                 Hooks.               (line   6)
  21340 * horizontal rule, in tables:            Built-in Table Editor.
  21341                                                               (line   6)
  21342 * horizontal rules, in ASCII export:     ASCII/Latin-1/UTF-8 export.
  21343                                                               (line  74)
  21344 * horizontal rules, in LaTeX export:     Horizontal rules in LaTeX export.
  21345                                                               (line   6)
  21346 * horizontal rules, markup rules:        Horizontal Rules.    (line   6)
  21347 * HTML export:                           HTML Export.         (line   6)
  21348 * HTML export, CSS:                      CSS support.         (line   6)
  21349 * HTML, and Orgtbl mode:                 Translator functions.
  21350                                                               (line   6)
  21351 * HTML, keyword:                         Quoting HTML tags.   (line  13)
  21352 * html-style, OPTIONS item:              CSS support.         (line  56)
  21353 * HTML5, export new elements:            HTML doctypes.       (line  25)
  21354 * HTML_CONTAINER, keyword:               HTML specific export settings.
  21355                                                               (line  22)
  21356 * HTML_CONTAINER_CLASS, property:        CSS support.         (line  62)
  21357 * HTML_DOCTYPE, keyword:                 HTML specific export settings.
  21358                                                               (line  19)
  21359 * HTML_HEAD, keyword:                    HTML specific export settings.
  21360                                                               (line  38)
  21361 * HTML_HEAD, keyword <1>:                CSS support.         (line  49)
  21362 * HTML_HEADLINE_CLASS, property:         CSS support.         (line  62)
  21363 * HTML_HEAD_EXTRA, keyword:              HTML specific export settings.
  21364                                                               (line  42)
  21365 * HTML_HEAD_EXTRA, keyword <1>:          CSS support.         (line  49)
  21366 * HTML_INCLUDE_STYLE, keyword:           CSS support.         (line  44)
  21367 * HTML_LINK_HOME, keyword:               HTML specific export settings.
  21368                                                               (line  26)
  21369 * HTML_LINK_UP, keyword:                 HTML specific export settings.
  21370                                                               (line  29)
  21371 * HTML_MATHJAX, keyword:                 HTML specific export settings.
  21372                                                               (line  33)
  21373 * hyperlinks:                            Hyperlinks.          (line   6)
  21374 * hyperlinks, adding new types:          Adding Hyperlink Types.
  21375                                                               (line   6)
  21376 * ICAL-TTL, keyword:                     iCalendar Export.    (line  97)
  21377 * iCalendar export:                      iCalendar Export.    (line   6)
  21378 * id links, searching:                   Search Options.      (line   6)
  21379 * ID, property:                          Handling Links.      (line  22)
  21380 * ID, property <1>:                      Capturing column view.
  21381                                                               (line  34)
  21382 * ID, property <2>:                      iCalendar Export.    (line  30)
  21383 * ideas:                                 Feedback.            (line   6)
  21384 * identify, ImageMagick:                 Images in ODT export.
  21385                                                               (line  34)
  21386 * idle, resolve, dangling:               Resolving idle time. (line   9)
  21387 * image, centering in LaTeX export:      Images in LaTeX export.
  21388                                                               (line  63)
  21389 * ImageMagick:                           Math formatting in HTML export.
  21390                                                               (line   6)
  21391 * ImageMagick <1>:                       LaTeX math snippets. (line  50)
  21392 * images, embedding in ODT:              Images in ODT export.
  21393                                                               (line   6)
  21394 * images, inline in HTML:                Images in HTML export.
  21395                                                               (line   6)
  21396 * images, inline in LaTeX:               Images in LaTeX export.
  21397                                                               (line   6)
  21398 * images, markup rules:                  Images.              (line   6)
  21399 * imenu.el:                              Cooperation.         (line  29)
  21400 * in-buffer settings:                    In-buffer Settings.  (line   6)
  21401 * inactive timestamp:                    Timestamps.          (line  68)
  21402 * include files, during export:          Include Files.       (line   6)
  21403 * INCLUDE, keyword:                      Include Files.       (line   6)
  21404 * Indent mode:                           Org Indent Mode.     (line   6)
  21405 * indentation, in code blocks:           Editing Source Code. (line  35)
  21406 * indentation, in source blocks:         Literal Examples.    (line  81)
  21407 * index, in a publishing project:        Generating an index. (line   6)
  21408 * INDEX, keyword:                        Generating an index. (line  17)
  21409 * INDEX, property:                       Indices.             (line  14)
  21410 * indic, Texinfo attribute:              Plain lists in Texinfo export.
  21411                                                               (line  25)
  21412 * Info:                                  Documentation Access.
  21413                                                               (line   6)
  21414 * Info directory file, in Texinfo export: Info directory file.
  21415                                                               (line   6)
  21416 * Info links:                            External Links.      (line   6)
  21417 * INFOJS_OPT, keyword:                   JavaScript support.  (line  19)
  21418 * inheritance, of properties:            Property Inheritance.
  21419                                                               (line   6)
  21420 * inheritance, of tags:                  Tag Inheritance.     (line   6)
  21421 * inline, in LaTeX export:               Quoting LaTeX code.  (line  11)
  21422 * inlining images:                       Images.              (line   6)
  21423 * inlining images in HTML:               Images in HTML export.
  21424                                                               (line   6)
  21425 * inlining images in LaTeX:              Images in LaTeX export.
  21426                                                               (line   6)
  21427 * input-file, macro:                     Macro Replacement.   (line  64)
  21428 * inserting links:                       Handling Links.      (line  91)
  21429 * insertion, of templates:               Structure Templates. (line   6)
  21430 * insertion, of templates <1>:           Structure Templates. (line  21)
  21431 * install-info, in Texinfo export:       Info directory file. (line   6)
  21432 * installation:                          Installation.        (line   6)
  21433 * Installing Org protocol:               Protocols.           (line  14)
  21434 * internal links:                        Internal Links.      (line   6)
  21435 * internal links, in HTML export:        Links in HTML export.
  21436                                                               (line   6)
  21437 * introduction:                          Introduction.        (line   6)
  21438 * IRC links:                             External Links.      (line   6)
  21439 * italic text, markup rules:             Emphasis and Monospace.
  21440                                                               (line   6)
  21441 * ITEM, special property:                Special Properties.  (line  13)
  21442 * jumping, to headlines:                 Motion.              (line   6)
  21443 * key bindings, global:                  Activation.          (line   6)
  21444 * keystroke index, in Texinfo export:    Indices.             (line   6)
  21445 * keyword options:                       Per-file keywords.   (line   6)
  21446 * keyword, macro:                        Macro Replacement.   (line  41)
  21447 * KEYWORDS, keyword:                     Beamer specific export settings.
  21448                                                               (line  37)
  21449 * KEYWORDS, keyword <1>:                 HTML specific export settings.
  21450                                                               (line  46)
  21451 * KEYWORDS, keyword <2>:                 LaTeX specific export settings.
  21452                                                               (line  63)
  21453 * KEYWORDS, keyword <3>:                 ODT specific export settings.
  21454                                                               (line  16)
  21455 * KINDEX, keyword:                       Indices.             (line   6)
  21456 * laggy:                                 Feedback.            (line  72)
  21457 * language specific default header arguments: Using Header Arguments.
  21458                                                               (line  56)
  21459 * language specific header arguments properties: Using Header Arguments.
  21460                                                               (line  94)
  21461 * language, in code blocks:              Structure of Code Blocks.
  21462                                                               (line  48)
  21463 * LANGUAGE, keyword:                     Export Settings.     (line  38)
  21464 * LANGUAGE, keyword <1>:                 LaTeX specific export settings.
  21465                                                               (line  20)
  21466 * LANGUAGE, keyword <2>:                 LaTeX header and sectioning.
  21467                                                               (line  47)
  21468 * LAST_REPEAT, property:                 Clocking commands.   (line  21)
  21469 * LaTeX class:                           LaTeX header and sectioning.
  21470                                                               (line   6)
  21471 * LaTeX export:                          LaTeX Export.        (line   6)
  21472 * LaTeX fragments:                       LaTeX fragments.     (line   6)
  21473 * LaTeX fragments, preview:              Previewing LaTeX fragments.
  21474                                                               (line   6)
  21475 * LaTeX header:                          LaTeX header and sectioning.
  21476                                                               (line   6)
  21477 * LaTeX interpretation:                  Embedded LaTeX.      (line   6)
  21478 * LaTeX sectioning structure:            LaTeX header and sectioning.
  21479                                                               (line   6)
  21480 * LaTeX, and Orgtbl mode:                A LaTeX example.     (line   6)
  21481 * LATEX, keyword:                        Quoting LaTeX code.  (line  15)
  21482 * LATEX_CLASS, keyword:                  LaTeX specific export settings.
  21483                                                               (line  41)
  21484 * LATEX_CLASS, keyword <1>:              LaTeX header and sectioning.
  21485                                                               (line  23)
  21486 * LATEX_CLASS_OPTIONS, keyword:          LaTeX specific export settings.
  21487                                                               (line  49)
  21488 * LATEX_CLASS_OPTIONS, keyword <1>:      LaTeX header and sectioning.
  21489                                                               (line  23)
  21490 * LATEX_COMPILER, keyword:               LaTeX/PDF export commands.
  21491                                                               (line  25)
  21492 * LATEX_COMPILER, keyword <1>:           LaTeX specific export settings.
  21493                                                               (line  53)
  21494 * LATEX_HEADER, keyword:                 HTML specific export settings.
  21495                                                               (line  51)
  21496 * LATEX_HEADER, keyword <1>:             LaTeX specific export settings.
  21497                                                               (line  58)
  21498 * LATEX_HEADER, keyword <2>:             LaTeX header and sectioning.
  21499                                                               (line  30)
  21500 * LATEX_HEADER_EXTRA, keyword:           LaTeX specific export settings.
  21501                                                               (line  58)
  21502 * LATEX_HEADER_EXTRA, keyword <1>:       LaTeX header and sectioning.
  21503                                                               (line  30)
  21504 * Latin-1 export:                        ASCII/Latin-1/UTF-8 export.
  21505                                                               (line   6)
  21506 * lettered lists, in Texinfo export:     Plain lists in Texinfo export.
  21507                                                               (line   6)
  21508 * level, for tags/property match:        Matching tags and properties.
  21509                                                               (line  63)
  21510 * LibreOffice:                           OpenDocument Text Export.
  21511                                                               (line   6)
  21512 * limits, in agenda:                     Filtering/limiting agenda items.
  21513                                                               (line 129)
  21514 * line breaks, markup rules:             Paragraphs.          (line   9)
  21515 * lines, include:                        Include Files.       (line  38)
  21516 * link abbreviations:                    Link Abbreviations.  (line   6)
  21517 * link abbreviations, completion of:     Completion.          (line   6)
  21518 * link completion:                       Handling Links.      (line  91)
  21519 * link format:                           Link Format.         (line   6)
  21520 * LINK, keyword:                         Link Abbreviations.  (line  49)
  21521 * LINK, keyword <1>:                     In-buffer Settings.  (line  39)
  21522 * links, external:                       External Links.      (line   6)
  21523 * links, finding next/previous:          Handling Links.      (line 173)
  21524 * links, handling:                       Handling Links.      (line   6)
  21525 * links, in HTML export:                 Links in HTML export.
  21526                                                               (line   6)
  21527 * links, in ODT export:                  Links in ODT export. (line   6)
  21528 * links, internal:                       Internal Links.      (line   6)
  21529 * links, publishing:                     Publishing links.    (line   6)
  21530 * links, radio targets:                  Radio Targets.       (line   6)
  21531 * links, returning to:                   Handling Links.      (line 166)
  21532 * linter:                                Org Syntax.          (line  23)
  21533 * Lisp forms, as table formulas:         Formula syntax for Lisp.
  21534                                                               (line   6)
  21535 * list of listings:                      Table of Contents.   (line   6)
  21536 * list of tables:                        Table of Contents.   (line   6)
  21537 * lists, in other modes:                 Tables in Arbitrary Syntax.
  21538                                                               (line   6)
  21539 * lists, ordered:                        Plain Lists.         (line   6)
  21540 * lists, plain:                          Plain Lists.         (line   6)
  21541 * literal examples, markup rules:        Literal Examples.    (line   6)
  21542 * LOCATION, property:                    iCalendar Export.    (line  55)
  21543 * logging, of progress:                  Progress Logging.    (line   6)
  21544 * LOGGING, property:                     Tracking TODO state changes.
  21545                                                               (line  45)
  21546 * LOGGING, property <1>:                 Property Inheritance.
  21547                                                               (line  37)
  21548 * LOG_INTO_DRAWER, property:             Tracking TODO state changes.
  21549                                                               (line   6)
  21550 * LOG_INTO_DRAWER, property <1>:         Clocking commands.   (line   7)
  21551 * lookup functions in tables:            Lookup functions.    (line   6)
  21552 * lualatex:                              LaTeX/PDF export commands.
  21553                                                               (line  25)
  21554 * macro replacement, during export:      Macro Replacement.   (line   6)
  21555 * MACRO, keyword:                        Macro Replacement.   (line   6)
  21556 * maintainer:                            Feedback.            (line   6)
  21557 * mapping entries, API:                  Using the Mapping API.
  21558                                                               (line   6)
  21559 * mappings in open-source protocol:      The open-source protocol.
  21560                                                               (line  68)
  21561 * mark ring:                             Handling Links.      (line 161)
  21562 * Markdown export:                       Markdown Export.     (line   6)
  21563 * marking characters, tables:            Advanced features.   (line  39)
  21564 * match view:                            Matching tags and properties.
  21565                                                               (line   6)
  21566 * matching, of properties:               Matching tags and properties.
  21567                                                               (line   6)
  21568 * matching, of tags:                     Matching tags and properties.
  21569                                                               (line   6)
  21570 * matching, tags:                        Tags.                (line   6)
  21571 * math symbols:                          Special Symbols.     (line   6)
  21572 * MathJax:                               Math formatting in HTML export.
  21573                                                               (line   6)
  21574 * MathML:                                LaTeX math snippets. (line  10)
  21575 * MH-E links:                            External Links.      (line   6)
  21576 * minlevel, include:                     Include Files.       (line  24)
  21577 * minor mode for tables:                 Orgtbl Mode.         (line   6)
  21578 * mkdirp, header argument:               Environment of a Code Block.
  21579                                                               (line 315)
  21580 * mkdirp, header argument <1>:           Extracting Source Code.
  21581                                                               (line  42)
  21582 * mode, for Calc:                        Formula syntax for Calc.
  21583                                                               (line  17)
  21584 * modification-time, macro:              Macro Replacement.   (line  56)
  21585 * motion commands in agenda:             Agenda Commands.     (line  19)
  21586 * motion, between headlines:             Motion.              (line   6)
  21587 * multiple formula lines:                Editing and debugging formulas.
  21588                                                               (line  98)
  21589 * multiple items in Texinfo lists:       Plain lists in Texinfo export.
  21590                                                               (line  30)
  21591 * n, macro:                              Macro Replacement.   (line  75)
  21592 * NAME keyword, in source blocks:        Structure of Code Blocks.
  21593                                                               (line   6)
  21594 * NAME, keyword:                         References.          (line 135)
  21595 * NAME, keyword <1>:                     Internal Links.      (line  21)
  21596 * name, of column or field:              References.          (line 114)
  21597 * name, of column or field <1>:          References.          (line 135)
  21598 * named references:                      References.          (line 114)
  21599 * names as TODO keywords:                TODO types.          (line   6)
  21600 * narrow columns in tables:              Column Width and Alignment.
  21601                                                               (line   6)
  21602 * no-expand, header argument:            Extracting Source Code.
  21603                                                               (line 107)
  21604 * NOBLOCKING, property:                  TODO dependencies.   (line  29)
  21605 * not responsive:                        Feedback.            (line  72)
  21606 * noweb, header argument:                Noweb Reference Syntax.
  21607                                                               (line  18)
  21608 * noweb-ref, header argument:            Noweb Reference Syntax.
  21609                                                               (line   6)
  21610 * noweb-sep, header argument:            Noweb Reference Syntax.
  21611                                                               (line 104)
  21612 * number headlines:                      Dynamic Headline Numbering.
  21613                                                               (line   6)
  21614 * occur, command:                        Sparse Trees.        (line   6)
  21615 * occur-tree:                            Storing searches.    (line  11)
  21616 * odd-levels-only outlines:              Clean View.          (line   6)
  21617 * ODT:                                   OpenDocument Text Export.
  21618                                                               (line   6)
  21619 * ODT, keyword:                          Advanced topics in ODT export.
  21620                                                               (line 120)
  21621 * ODT_STYLES_FILE, keyword:              ODT specific export settings.
  21622                                                               (line  22)
  21623 * ODT_STYLES_FILE, keyword <1>:          Applying custom styles.
  21624                                                               (line  29)
  21625 * only-contents, include:                Include Files.       (line  55)
  21626 * open-source protocol:                  The open-source protocol.
  21627                                                               (line   6)
  21628 * OpenDocument:                          OpenDocument Text Export.
  21629                                                               (line   6)
  21630 * operator, for property search:         Matching tags and properties.
  21631                                                               (line  89)
  21632 * option keyword completion:             Completion.          (line   6)
  21633 * options, for custom agenda views:      Setting options.     (line   6)
  21634 * options, for export:                   Export Settings.     (line   6)
  21635 * options, for publishing:               Publishing options.  (line   6)
  21636 * OPTIONS, keyword:                      Export Settings.     (line   6)
  21637 * ordered lists:                         Plain Lists.         (line   6)
  21638 * ORDERED, property:                     TODO dependencies.   (line   6)
  21639 * ORDERED, property <1>:                 Checkboxes.          (line  40)
  21640 * Org export:                            Org Export.          (line   6)
  21641 * Org mode, turning on:                  Activation.          (line  25)
  21642 * Org Num mode:                          Dynamic Headline Numbering.
  21643                                                               (line   6)
  21644 * Org protocol, set-up:                  Protocols.           (line  14)
  21645 * org-agenda, command:                   Weekly/daily agenda. (line  10)
  21646 * ORG-IMAGE-ACTUAL-WIDTH, property:      Images.              (line  30)
  21647 * org-latex-default-quote-environment:   Quote blocks in LaTeX export.
  21648                                                               (line   6)
  21649 * Orgtbl mode:                           Orgtbl Mode.         (line   6)
  21650 * Orgtbl mode <1>:                       Tables in Arbitrary Syntax.
  21651                                                               (line   6)
  21652 * ORGTBL, keyword:                       Radio tables.        (line  21)
  21653 * outline tree:                          Headlines.           (line   6)
  21654 * output-dir, header argument:           Results of Evaluation.
  21655                                                               (line 123)
  21656 * overview, global visibility state:     Global and local cycling.
  21657                                                               (line  20)
  21658 * packages, interaction with other:      Interaction.         (line   6)
  21659 * padline, header argument:              Extracting Source Code.
  21660                                                               (line  73)
  21661 * paragraphs, markup rules:              Paragraphs.          (line   6)
  21662 * passing arguments to code blocks:      Environment of a Code Block.
  21663                                                               (line   9)
  21664 * pasting files, images from clipboard:  Drag and Drop & yank-media.
  21665                                                               (line  18)
  21666 * pasting, of subtrees:                  Structure Editing.   (line   6)
  21667 * PDF export:                            LaTeX Export.        (line   6)
  21668 * pdflatex:                              LaTeX/PDF export commands.
  21669                                                               (line  25)
  21670 * per-file keywords:                     Per-file keywords.   (line   6)
  21671 * performance:                           Feedback.            (line  72)
  21672 * PINDEX, keyword:                       Indices.             (line   6)
  21673 * plain links:                           Link Format.         (line   6)
  21674 * plain lists:                           Plain Lists.         (line   6)
  21675 * plain lists, in LaTeX export:          Plain lists in LaTeX export.
  21676                                                               (line   6)
  21677 * plain text external links:             External Links.      (line 137)
  21678 * plot tables using Gnuplot:             Org Plot.            (line   6)
  21679 * PLOT, keyword:                         Org Plot.            (line  12)
  21680 * post, header argument:                 Results of Evaluation.
  21681                                                               (line 278)
  21682 * presentation, of agenda items:         Presentation and Sorting.
  21683                                                               (line   6)
  21684 * print edition:                         Summary.             (line  63)
  21685 * printing sparse trees:                 Sparse Trees.        (line  52)
  21686 * PRINT_BIBLIOGRAPHY, keyword:           Bibliography printing.
  21687                                                               (line   6)
  21688 * priorities:                            Priorities.          (line   6)
  21689 * PRIORITIES, keyword:                   Priorities.          (line  52)
  21690 * PRIORITIES, keyword <1>:               In-buffer Settings.  (line  44)
  21691 * priorities, of agenda items:           Sorting of agenda items.
  21692                                                               (line   6)
  21693 * priority cookie:                       Priorities.          (line   6)
  21694 * PRIORITY, special property:            Special Properties.  (line  13)
  21695 * profile:                               Feedback.            (line  72)
  21696 * profiler:                              Feedback.            (line 111)
  21697 * program index, in Texinfo export:      Indices.             (line   6)
  21698 * progress logging:                      Progress Logging.    (line   6)
  21699 * projects, for publishing:              Project alist.       (line   6)
  21700 * prologue, header argument:             Environment of a Code Block.
  21701                                                               (line 364)
  21702 * promotion, of subtrees:                Structure Editing.   (line   6)
  21703 * proof, in LaTeX export:                Special blocks in LaTeX export.
  21704                                                               (line   6)
  21705 * properties:                            Properties and Columns.
  21706                                                               (line   6)
  21707 * properties, API:                       Using the Property API.
  21708                                                               (line   6)
  21709 * properties, column view:               Defining columns.    (line   6)
  21710 * properties, inheritance:               Property Inheritance.
  21711                                                               (line   6)
  21712 * properties, searching:                 Property Searches.   (line   6)
  21713 * properties, special:                   Special Properties.  (line   6)
  21714 * property syntax:                       Property Syntax.     (line   6)
  21715 * PROPERTY, keyword:                     Property Syntax.     (line  50)
  21716 * PROPERTY, keyword <1>:                 In-buffer Settings.  (line  49)
  21717 * property, macro:                       Macro Replacement.   (line  68)
  21718 * protocol, capture:                     The capture protocol.
  21719                                                               (line   6)
  21720 * protocol, new protocol:                Protocols.           (line  25)
  21721 * protocol, open-source:                 The open-source protocol.
  21722                                                               (line   6)
  21723 * protocol, open-source rewritten URL:   The open-source protocol.
  21724                                                               (line  32)
  21725 * protocol, open-source, set-up mapping: The open-source protocol.
  21726                                                               (line  68)
  21727 * protocol, store-link:                  The store-link protocol.
  21728                                                               (line   6)
  21729 * protocols, for external access:        Capture and Attachments.
  21730                                                               (line   6)
  21731 * protocols, for external access <1>:    Protocols.           (line   6)
  21732 * publishing:                            Publishing.          (line   6)
  21733 * publishing options:                    Publishing options.  (line   6)
  21734 * query editing, in agenda:              Filtering/limiting agenda items.
  21735                                                               (line  20)
  21736 * quote blocks:                          Paragraphs.          (line  25)
  21737 * quote blocks, in LaTeX export:         Quote blocks in LaTeX export.
  21738                                                               (line   6)
  21739 * radio button, checkbox as:             Checkboxes.          (line  98)
  21740 * radio tables:                          Radio tables.        (line   6)
  21741 * radio targets:                         Radio Targets.       (line   6)
  21742 * range formula:                         Field and range formulas.
  21743                                                               (line   6)
  21744 * range references:                      References.          (line  64)
  21745 * ranges, time:                          Timestamps.          (line   6)
  21746 * recomputing table fields:              Updating the table.  (line   6)
  21747 * references:                            References.          (line   6)
  21748 * references, named:                     References.          (line 114)
  21749 * references, remote:                    References.          (line 135)
  21750 * references, to a different table:      References.          (line 135)
  21751 * references, to fields:                 References.          (line  15)
  21752 * references, to ranges:                 References.          (line  64)
  21753 * refiling notes:                        Refiling and Archiving.
  21754                                                               (line   6)
  21755 * refiling notes <1>:                    Refile and Copy.     (line   6)
  21756 * refresh set-up:                        In-buffer Settings.  (line  12)
  21757 * region, active:                        Structure Editing.   (line  46)
  21758 * regular expressions syntax:            Regular Expressions. (line   6)
  21759 * regular expressions, in searches:      Regular Expressions. (line   6)
  21760 * regular expressions, with tags search: Matching tags and properties.
  21761                                                               (line  51)
  21762 * relative timer:                        Timers.              (line   6)
  21763 * reminders:                             Weekly/daily agenda. (line 126)
  21764 * remote editing, bulk, from agenda:     Agenda Commands.     (line 356)
  21765 * remote editing, from agenda:           Agenda Commands.     (line 227)
  21766 * remote editing, undo:                  Agenda Commands.     (line 231)
  21767 * remote references:                     References.          (line 135)
  21768 * repeated tasks:                        Repeated tasks.      (line   6)
  21769 * report, of clocked time:               The clock table.     (line   6)
  21770 * reporting a bug:                       Feedback.            (line   6)
  21771 * request a feature:                     Feedback.            (line   6)
  21772 * resolve idle time:                     Resolving idle time. (line   9)
  21773 * results, header argument:              Results of Evaluation.
  21774                                                               (line   6)
  21775 * RESULTS, keyword:                      Evaluating Code Blocks.
  21776                                                               (line   6)
  21777 * results, macro:                        Macro Replacement.   (line  84)
  21778 * revealing context:                     Global and local cycling.
  21779                                                               (line  43)
  21780 * rewritten URL in open-source protocol: The open-source protocol.
  21781                                                               (line  32)
  21782 * Rmail links:                           External Links.      (line   6)
  21783 * row separator, in tables:              Built-in Table Editor.
  21784                                                               (line   6)
  21785 * row, of field coordinates:             References.          (line  90)
  21786 * rownames, header argument:             Environment of a Code Block.
  21787                                                               (line  81)
  21788 * RSS feeds:                             Capture and Attachments.
  21789                                                               (line   6)
  21790 * RSS feeds <1>:                         RSS Feeds.           (line   6)
  21791 * rsync:                                 Uploading Files.     (line   6)
  21792 * SCHEDULED marker:                      Deadlines and Scheduling.
  21793                                                               (line  31)
  21794 * SCHEDULED, special property:           Special Properties.  (line  13)
  21795 * scheduling:                            Timestamps.          (line   6)
  21796 * scripts, for agenda processing:        Extracting Agenda Information.
  21797                                                               (line   6)
  21798 * search option in file links:           Search Options.      (line   6)
  21799 * search option in id links:             Search Options.      (line   6)
  21800 * search strings, custom:                Custom Searches.     (line   6)
  21801 * search view:                           Search view.         (line   6)
  21802 * searching for tags:                    Tag Searches.        (line   6)
  21803 * searching, for text:                   Search view.         (line   6)
  21804 * searching, of properties:              Property Searches.   (line   6)
  21805 * sectioning structure, for LaTeX export: LaTeX header and sectioning.
  21806                                                               (line   6)
  21807 * SELECT_TAGS, keyword:                  Export Settings.     (line  44)
  21808 * sep, header argument:                  Results of Evaluation.
  21809                                                               (line 154)
  21810 * sep, Texinfo attribute:                Plain lists in Texinfo export.
  21811                                                               (line  30)
  21812 * SEQ_TODO, keyword:                     Per-file keywords.   (line   6)
  21813 * SEQ_TODO, keyword <1>:                 In-buffer Settings.  (line 207)
  21814 * session, header argument:              Environment of a Code Block.
  21815                                                               (line 285)
  21816 * setting tags:                          Setting Tags.        (line   6)
  21817 * SETUPFILE, keyword:                    Export Settings.     (line  13)
  21818 * SETUPFILE, keyword <1>:                In-buffer Settings.  (line  54)
  21819 * sexp timestamps:                       Timestamps.          (line  39)
  21820 * shebang, header argument:              Extracting Source Code.
  21821                                                               (line  83)
  21822 * shell links:                           External Links.      (line   6)
  21823 * shift-selection:                       Conflicts.           (line   6)
  21824 * shift-selection-mode:                  Plain Lists.         (line  96)
  21825 * show all, command:                     Global and local cycling.
  21826                                                               (line  40)
  21827 * show all, global visibility state:     Global and local cycling.
  21828                                                               (line  20)
  21829 * show branches, command:                Global and local cycling.
  21830                                                               (line  52)
  21831 * show children, command:                Global and local cycling.
  21832                                                               (line  55)
  21833 * show hidden text:                      Visibility Cycling.  (line   6)
  21834 * shy hyphen, special symbol:            Special Symbols.     (line  36)
  21835 * sitemap, of published pages:           Site map.            (line   6)
  21836 * slow:                                  Feedback.            (line  72)
  21837 * slowdown:                              Feedback.            (line  72)
  21838 * smartphone:                            Org Mobile.          (line   6)
  21839 * sorting, of agenda items:              Sorting of agenda items.
  21840                                                               (line   6)
  21841 * sorting, of plain list:                Plain Lists.         (line 160)
  21842 * sorting, of subtrees:                  Structure Editing.   (line   6)
  21843 * source block:                          Literal Examples.    (line  38)
  21844 * source blocks, in LaTeX export:        Source blocks in LaTeX export.
  21845                                                               (line   6)
  21846 * source code, batch execution:          Batch Execution.     (line   6)
  21847 * source code, block structure:          Structure of Code Blocks.
  21848                                                               (line   6)
  21849 * source code, editing:                  Editing Source Code. (line   6)
  21850 * source code, evaluating:               Evaluating Code Blocks.
  21851                                                               (line   6)
  21852 * source code, exporting:                Exporting Code Blocks.
  21853                                                               (line   6)
  21854 * source code, extracting:               Extracting Source Code.
  21855                                                               (line   6)
  21856 * source code, inline:                   Structure of Code Blocks.
  21857                                                               (line  24)
  21858 * source code, languages:                Languages.           (line   6)
  21859 * source code, library:                  Library of Babel.    (line   6)
  21860 * source code, noweb reference:          Noweb Reference Syntax.
  21861                                                               (line   6)
  21862 * source code, results of evaluation:    Results of Evaluation.
  21863                                                               (line   6)
  21864 * source code, working with:             Working with Source Code.
  21865                                                               (line   6)
  21866 * sparse tree, for deadlines:            Inserting deadline/schedule.
  21867                                                               (line  26)
  21868 * sparse tree, for TODO:                 TODO Basics.         (line  35)
  21869 * sparse tree, tag based:                Tags.                (line   6)
  21870 * sparse trees:                          Sparse Trees.        (line   6)
  21871 * special blocks, in ASCII export:       ASCII/Latin-1/UTF-8 export.
  21872                                                               (line  84)
  21873 * special blocks, in LaTeX export:       Special blocks in LaTeX export.
  21874                                                               (line   6)
  21875 * special keywords:                      In-buffer Settings.  (line   6)
  21876 * special symbols:                       Special Symbols.     (line   6)
  21877 * special symbols, in-buffer display:    Special Symbols.     (line  27)
  21878 * speed keys:                            Speed Keys.          (line   6)
  21879 * speedbar.el:                           Cooperation.         (line  45)
  21880 * spreadsheet capabilities:              The Spreadsheet.     (line   6)
  21881 * square brackets, around links:         External Links.      (line 137)
  21882 * startup visibility:                    Global and local cycling.
  21883                                                               (line  36)
  21884 * STARTUP, keyword:                      Initial visibility.  (line  11)
  21885 * STARTUP, keyword <1>:                  Blocks.              (line  14)
  21886 * STARTUP, keyword <2>:                  In-buffer Settings.  (line  70)
  21887 * statistics, for checkboxes:            Checkboxes.          (line  24)
  21888 * statistics, for TODO items:            Breaking Down Tasks. (line   6)
  21889 * store-link protocol:                   The store-link protocol.
  21890                                                               (line   6)
  21891 * storing link, in a source code buffer: Literal Examples.    (line 111)
  21892 * storing links:                         Handling Links.      (line   9)
  21893 * strike-through text, markup rules:     Emphasis and Monospace.
  21894                                                               (line   6)
  21895 * structure editing:                     Structure Editing.   (line   6)
  21896 * structure of document:                 Document Structure.  (line   6)
  21897 * STYLE, property:                       Tracking your habits.
  21898                                                               (line   6)
  21899 * styles, custom:                        Applying custom styles.
  21900                                                               (line   6)
  21901 * styles, custom <1>:                    Advanced topics in ODT export.
  21902                                                               (line  34)
  21903 * SUBAUTHOR, keyword:                    Texinfo specific export settings.
  21904                                                               (line  14)
  21905 * SUBAUTHOR, keyword <1>:                Texinfo title and copyright page.
  21906                                                               (line  12)
  21907 * sublevels, inclusion into tags match:  Tag Inheritance.     (line   6)
  21908 * sublevels, inclusion into TODO list:   Global TODO list.    (line  38)
  21909 * subscript:                             Subscripts and Superscripts.
  21910                                                               (line   6)
  21911 * SUBTITLE, keyword:                     ASCII/Latin-1/UTF-8 export.
  21912                                                               (line  46)
  21913 * SUBTITLE, keyword <1>:                 Beamer specific export settings.
  21914                                                               (line  44)
  21915 * SUBTITLE, keyword <2>:                 HTML specific export settings.
  21916                                                               (line  56)
  21917 * SUBTITLE, keyword <3>:                 LaTeX specific export settings.
  21918                                                               (line  72)
  21919 * SUBTITLE, keyword <4>:                 ODT specific export settings.
  21920                                                               (line  26)
  21921 * SUBTITLE, keyword <5>:                 Texinfo specific export settings.
  21922                                                               (line  11)
  21923 * subtree cycling:                       Global and local cycling.
  21924                                                               (line   6)
  21925 * subtree visibility states:             Global and local cycling.
  21926                                                               (line   6)
  21927 * subtree, cut and paste:                Structure Editing.   (line   6)
  21928 * subtree, subtree visibility state:     Global and local cycling.
  21929                                                               (line   6)
  21930 * subtrees, cut and paste:               Structure Editing.   (line   6)
  21931 * summary:                               Summary.             (line   6)
  21932 * SUMMARY, property:                     iCalendar Export.    (line  55)
  21933 * superscript:                           Subscripts and Superscripts.
  21934                                                               (line   6)
  21935 * switches, in code blocks:              Structure of Code Blocks.
  21936                                                               (line  60)
  21937 * syntax checker:                        Org Syntax.          (line  23)
  21938 * syntax, noweb:                         Noweb Reference Syntax.
  21939                                                               (line   6)
  21940 * syntax, of formulas:                   Formula syntax for Calc.
  21941                                                               (line   6)
  21942 * table editor, built-in:                Built-in Table Editor.
  21943                                                               (line   6)
  21944 * table editor, table.el:                Cooperation.         (line  53)
  21945 * table indirection:                     References.          (line 148)
  21946 * table lookup functions:                Lookup functions.    (line   6)
  21947 * table of contents:                     Table of Contents.   (line   6)
  21948 * table of contents, exclude entries:    Table of Contents.   (line  15)
  21949 * table syntax:                          Built-in Table Editor.
  21950                                                               (line   6)
  21951 * table-type, Texinfo attribute:         Plain lists in Texinfo export.
  21952                                                               (line  19)
  21953 * table.el:                              Cooperation.         (line  53)
  21954 * tables:                                Tables.              (line   6)
  21955 * tables, in HTML:                       Tables in HTML export.
  21956                                                               (line   6)
  21957 * tables, in LaTeX export:               Tables in LaTeX export.
  21958                                                               (line   6)
  21959 * tables, in ODT export:                 Tables in ODT export.
  21960                                                               (line   6)
  21961 * tables, in ODT export <1>:             Advanced topics in ODT export.
  21962                                                               (line 151)
  21963 * tables, in other modes:                Tables in Arbitrary Syntax.
  21964                                                               (line   6)
  21965 * tag completion:                        Completion.          (line   6)
  21966 * tag filtering, in agenda:              Filtering/limiting agenda items.
  21967                                                               (line  20)
  21968 * tag inheritance:                       Tag Inheritance.     (line   6)
  21969 * tag searches:                          Tag Searches.        (line   6)
  21970 * tags:                                  Tags.                (line   6)
  21971 * tags hierarchy:                        Tag Hierarchy.       (line   6)
  21972 * tags view:                             Matching tags and properties.
  21973                                                               (line   6)
  21974 * tags, as an agenda view:               Storing searches.    (line  11)
  21975 * tags, groups:                          Tag Hierarchy.       (line   6)
  21976 * TAGS, keyword:                         Setting Tags.        (line  22)
  21977 * TAGS, keyword <1>:                     In-buffer Settings.  (line 202)
  21978 * tags, setting:                         Setting Tags.        (line   6)
  21979 * TAGS, special property:                Special Properties.  (line  13)
  21980 * tags-todo:                             Storing searches.    (line  11)
  21981 * tags-tree:                             Storing searches.    (line  11)
  21982 * tangle, header argument:               Extracting Source Code.
  21983                                                               (line  23)
  21984 * tangle-mode, header argument:          Extracting Source Code.
  21985                                                               (line  89)
  21986 * tangling:                              Extracting Source Code.
  21987                                                               (line   6)
  21988 * targets, for links:                    Internal Links.      (line  17)
  21989 * targets, radio:                        Radio Targets.       (line   6)
  21990 * tasks, breaking down:                  Breaking Down Tasks. (line   6)
  21991 * tasks, repeated:                       Repeated tasks.      (line   6)
  21992 * TBLFM keywords, multiple:              Editing and debugging formulas.
  21993                                                               (line  98)
  21994 * TBLFM, keyword:                        Field and range formulas.
  21995                                                               (line  12)
  21996 * TBLFM, switching:                      Editing and debugging formulas.
  21997                                                               (line  98)
  21998 * template expansion:                    Structure Templates. (line  21)
  21999 * template insertion:                    Structure Templates. (line   6)
  22000 * template, custom:                      Applying custom styles.
  22001                                                               (line   6)
  22002 * template, custom <1>:                  Advanced topics in ODT export.
  22003                                                               (line  34)
  22004 * templates, for Capture:                Capture templates.   (line   6)
  22005 * Tempo:                                 Structure Templates. (line  21)
  22006 * TeX interpretation:                    Embedded LaTeX.      (line   6)
  22007 * TeX symbol completion:                 Completion.          (line   6)
  22008 * TEXINFO, keyword:                      Quoting Texinfo code.
  22009                                                               (line   9)
  22010 * TEXINFO_CLASS, keyword:                Texinfo specific export settings.
  22011                                                               (line  20)
  22012 * TEXINFO_CLASS, keyword <1>:            Texinfo file header. (line  19)
  22013 * TEXINFO_CLASS, keyword <2>:            Headings and sectioning structure.
  22014                                                               (line   6)
  22015 * TEXINFO_DIR_CATEGORY, keyword:         Texinfo specific export settings.
  22016                                                               (line  30)
  22017 * TEXINFO_DIR_CATEGORY, keyword <1>:     Info directory file. (line   6)
  22018 * TEXINFO_DIR_DESC, keyword:             Texinfo specific export settings.
  22019                                                               (line  44)
  22020 * TEXINFO_DIR_DESC, keyword <1>:         Info directory file. (line   6)
  22021 * TEXINFO_DIR_NAME, keyword:             Texinfo specific export settings.
  22022                                                               (line  33)
  22023 * TEXINFO_DIR_NAME, keyword <1>:         Info directory file. (line   6)
  22024 * TEXINFO_FILENAME, keyword:             Texinfo specific export settings.
  22025                                                               (line  17)
  22026 * TEXINFO_FILENAME, keyword <1>:         Texinfo file header. (line   6)
  22027 * TEXINFO_HEADER, keyword:               Texinfo specific export settings.
  22028                                                               (line  24)
  22029 * TEXINFO_HEADER, keyword <1>:           Texinfo file header. (line  11)
  22030 * TEXINFO_POST_HEADER, keyword:          Texinfo specific export settings.
  22031                                                               (line  27)
  22032 * TEXINFO_PRINTED_TITLE, keyword:        Texinfo specific export settings.
  22033                                                               (line  48)
  22034 * TEXINFO_PRINTED_TITLE, keyword <1>:    Texinfo title and copyright page.
  22035                                                               (line   6)
  22036 * text areas, in HTML:                   Text areas in HTML export.
  22037                                                               (line   6)
  22038 * text search:                           Search view.         (line   6)
  22039 * time clocking:                         Clocking Work Time.  (line   6)
  22040 * time format, custom:                   Custom time format.  (line   6)
  22041 * time grid:                             Time-of-day specifications.
  22042                                                               (line  31)
  22043 * time range:                            Timestamps.          (line  49)
  22044 * time range <1>:                        Timestamps.          (line  56)
  22045 * time, computing:                       Durations and time values.
  22046                                                               (line   6)
  22047 * time, macro:                           Macro Replacement.   (line  56)
  22048 * time, reading in minibuffer:           The date/time prompt.
  22049                                                               (line   6)
  22050 * time-of-day specification:             Time-of-day specifications.
  22051                                                               (line   6)
  22052 * timerange:                             Timestamps.          (line  56)
  22053 * times:                                 Dates and Times.     (line   6)
  22054 * timestamp:                             Dates and Times.     (line   6)
  22055 * timestamp <1>:                         Timestamps.          (line  14)
  22056 * timestamp, inactive:                   Timestamps.          (line  68)
  22057 * TIMESTAMP, special property:           Special Properties.  (line  13)
  22058 * timestamp, with repeater interval:     Timestamps.          (line  29)
  22059 * timestamps:                            Timestamps.          (line   6)
  22060 * TIMESTAMP_IA, special property:        Special Properties.  (line  13)
  22061 * TIMEZONE, property:                    iCalendar Export.    (line  55)
  22062 * TINDEX, keyword:                       Indices.             (line   6)
  22063 * TITLE, keyword:                        Export Settings.     (line  75)
  22064 * title, macro:                          Macro Replacement.   (line  41)
  22065 * toc, in OPTIONS keyword:               Table of Contents.   (line   6)
  22066 * TOC, keyword:                          Table of Contents.   (line  24)
  22067 * TODO dependencies:                     TODO dependencies.   (line   6)
  22068 * TODO dependencies, NOBLOCKING:         TODO dependencies.   (line  29)
  22069 * TODO items:                            TODO Items.          (line   6)
  22070 * TODO keyword matching:                 Global TODO list.    (line  18)
  22071 * TODO keyword matching, with tags search: Matching tags and properties.
  22072                                                               (line  63)
  22073 * TODO keyword sets:                     Multiple sets in one file.
  22074                                                               (line   6)
  22075 * TODO keywords completion:              Completion.          (line   6)
  22076 * TODO list, global:                     Global TODO list.    (line   6)
  22077 * TODO types:                            TODO types.          (line   6)
  22078 * TODO workflow:                         Workflow states.     (line   6)
  22079 * todo, as an agenda view:               Storing searches.    (line  11)
  22080 * TODO, keyword:                         Per-file keywords.   (line   6)
  22081 * TODO, keyword <1>:                     In-buffer Settings.  (line 207)
  22082 * TODO, special property:                Special Properties.  (line  13)
  22083 * todo-tree:                             Storing searches.    (line  11)
  22084 * top headline filtering, in agenda:     Filtering/limiting agenda items.
  22085                                                               (line  20)
  22086 * Top node, in Texinfo export:           Headings and sectioning structure.
  22087                                                               (line  37)
  22088 * transient mark mode:                   Structure Editing.   (line  46)
  22089 * translator function:                   Translator functions.
  22090                                                               (line   6)
  22091 * trees, sparse:                         Sparse Trees.        (line   6)
  22092 * trees, visibility:                     Visibility Cycling.  (line   6)
  22093 * tty key bindings:                      TTY Keys.            (line   6)
  22094 * two-column tables, in Texinfo export:  Plain lists in Texinfo export.
  22095                                                               (line  19)
  22096 * types as TODO keywords:                TODO types.          (line   6)
  22097 * TYP_TODO, keyword:                     Per-file keywords.   (line   6)
  22098 * TYP_TODO, keyword <1>:                 In-buffer Settings.  (line 207)
  22099 * underlined text, markup rules:         Emphasis and Monospace.
  22100                                                               (line   6)
  22101 * undoing remote-editing events:         Agenda Commands.     (line 231)
  22102 * unison:                                Uploading Files.     (line   6)
  22103 * UNNUMBERED, property:                  Export Settings.     (line 168)
  22104 * unoconv:                               Extending ODT export.
  22105                                                               (line  12)
  22106 * updating, table:                       Updating the table.  (line   6)
  22107 * URL links:                             External Links.      (line   6)
  22108 * Usenet links:                          External Links.      (line   6)
  22109 * using sessions in code blocks:         Environment of a Code Block.
  22110                                                               (line 285)
  22111 * UTF-8 export:                          ASCII/Latin-1/UTF-8 export.
  22112                                                               (line   6)
  22113 * var, header argument:                  Environment of a Code Block.
  22114                                                               (line   9)
  22115 * variable index, in Texinfo export:     Indices.             (line   6)
  22116 * vectors, in table calculations:        Formula syntax for Calc.
  22117                                                               (line  14)
  22118 * verbatim blocks, in LaTeX export:      Example blocks in LaTeX export.
  22119                                                               (line   6)
  22120 * verbatim text, markup rules:           Emphasis and Monospace.
  22121                                                               (line   6)
  22122 * verse blocks:                          Paragraphs.          (line  13)
  22123 * verse blocks, in LaTeX export:         Verse blocks in LaTeX export.
  22124                                                               (line   6)
  22125 * view file commands in agenda:          Agenda Commands.     (line  28)
  22126 * VINDEX, keyword:                       Indices.             (line   6)
  22127 * viper.el:                              Conflicts.           (line  51)
  22128 * visibility cycling:                    Visibility Cycling.  (line   6)
  22129 * visibility cycling, drawers:           Drawers.             (line   6)
  22130 * VISIBILITY, property:                  Initial visibility.  (line  20)
  22131 * visible text, printing:                Sparse Trees.        (line  52)
  22132 * VM links:                              External Links.      (line 110)
  22133 * Wanderlust links:                      External Links.      (line 110)
  22134 * weekly agenda:                         Weekly/daily agenda. (line   6)
  22135 * windmove.el:                           Conflicts.           (line  60)
  22136 * workflow states as TODO keywords:      Workflow states.     (line   6)
  22137 * working directory, in a code block:    Environment of a Code Block.
  22138                                                               (line 315)
  22139 * wrap, header argument:                 Results of Evaluation.
  22140                                                               (line 223)
  22141 * xelatex:                               LaTeX/PDF export commands.
  22142                                                               (line  25)
  22143 * yasnippet.el:                          Conflicts.           (line  74)
  22144 * zero width space:                      Escape Character.    (line   6)
  22145 * zip:                                   Pre-requisites for ODT export.
  22146                                                               (line   6)
  22147 
  22148 
  22149 File: org.info,  Node: Key Index,  Next: Command and Function Index,  Prev: Main Index,  Up: Top
  22150 
  22151 E Key Index
  22152 ***********
  22153 
  22154 
  22155 * Menu:
  22156 
  22157 * !:                                     Setting Tags.        (line 127)
  22158 * ! (Agenda dispatcher):                 Stuck projects.      (line  17)
  22159 * # (Agenda dispatcher):                 Stuck projects.      (line  14)
  22160 * $:                                     Agenda Commands.     (line 269)
  22161 * %:                                     Agenda Commands.     (line 383)
  22162 * ':                                     CDLaTeX mode.        (line  57)
  22163 * *:                                     Agenda Commands.     (line 363)
  22164 * * (Agenda dispatcher):                 Agenda Dispatcher.   (line  55)
  22165 * +:                                     Agenda Commands.     (line 288)
  22166 * ,:                                     Agenda Commands.     (line 283)
  22167 * -:                                     Agenda Commands.     (line 293)
  22168 * .:                                     The date/time prompt.
  22169                                                               (line  84)
  22170 * . <1>:                                 Agenda Commands.     (line 118)
  22171 * / (Agenda dispatcher):                 Agenda Dispatcher.   (line  30)
  22172 * 1..9,0:                                Using column view.   (line  35)
  22173 * ::                                     Agenda Commands.     (line 279)
  22174 * <:                                     Using column view.   (line  67)
  22175 * < <1>:                                 The date/time prompt.
  22176                                                               (line  84)
  22177 * < (Agenda dispatcher):                 Agenda Dispatcher.   (line  43)
  22178 * < < (Agenda dispatcher):               Agenda Dispatcher.   (line  49)
  22179 * >:                                     Using column view.   (line  67)
  22180 * > <1>:                                 The date/time prompt.
  22181                                                               (line  84)
  22182 * > <2>:                                 Agenda Commands.     (line 332)
  22183 * ? (Agenda dispatcher):                 Pulling from the mobile application.
  22184                                                               (line  39)
  22185 * [:                                     Agenda Commands.     (line 142)
  22186 * ^:                                     CDLaTeX mode.        (line  43)
  22187 * _:                                     CDLaTeX mode.        (line  43)
  22188 * `:                                     CDLaTeX mode.        (line  51)
  22189 * a:                                     Using column view.   (line  57)
  22190 * A:                                     Agenda Commands.     (line  64)
  22191 * a <1>:                                 Agenda Commands.     (line 256)
  22192 * a (Agenda dispatcher):                 Weekly/daily agenda. (line  10)
  22193 * b:                                     Agenda Commands.     (line 115)
  22194 * B:                                     Agenda Commands.     (line 387)
  22195 * C:                                     Resolving idle time. (line  46)
  22196 * c:                                     Agenda Commands.     (line 451)
  22197 * c <1>:                                 Agenda Commands.     (line 454)
  22198 * C <1>:                                 Agenda Commands.     (line 485)
  22199 * C (Agenda dispatcher):                 Storing searches.    (line  11)
  22200 * C (Capture menu:                       Capture templates.   (line  11)
  22201 * C-#:                                   Advanced features.   (line  11)
  22202 * C-':                                   Agenda Files.        (line  26)
  22203 * C-,:                                   Agenda Files.        (line  26)
  22204 * C-.:                                   The date/time prompt.
  22205                                                               (line  84)
  22206 * C-0 C-c C-w:                           Refile and Copy.     (line  46)
  22207 * C-2 C-c C-w:                           Refile and Copy.     (line  38)
  22208 * C-3 C-c C-w:                           Refile and Copy.     (line  41)
  22209 * C-c !:                                 Creating Timestamps. (line  25)
  22210 * C-c #:                                 Checkboxes.          (line 121)
  22211 * C-c $:                                 Moving subtrees.     (line  10)
  22212 * C-c %:                                 Handling Links.      (line 161)
  22213 * C-c &:                                 Handling Links.      (line 166)
  22214 * C-c ':                                 Editing and debugging formulas.
  22215                                                               (line  37)
  22216 * C-c ' <1>:                             Literal Examples.    (line 102)
  22217 * C-c ' <2>:                             Include Files.       (line  65)
  22218 * C-c ' <3>:                             Editing Source Code. (line   6)
  22219 * C-c ' <4>:                             Cooperation.         (line  63)
  22220 * C-c *:                                 Structure Editing.   (line 131)
  22221 * C-c * <1>:                             Plain Lists.         (line 144)
  22222 * C-c * <2>:                             Updating the table.  (line  14)
  22223 * C-c +:                                 Built-in Table Editor.
  22224                                                               (line 182)
  22225 * C-c ,:                                 Priorities.          (line  33)
  22226 * C-c -:                                 Plain Lists.         (line 132)
  22227 * C-c - <1>:                             Built-in Table Editor.
  22228                                                               (line 127)
  22229 * C-c .:                                 Creating Timestamps. (line  11)
  22230 * C-c /:                                 Sparse Trees.        (line  16)
  22231 * C-c / <1>:                             Conflicts.           (line  51)
  22232 * C-c / /:                               Sparse Trees.        (line  20)
  22233 * C-c / a:                               Inserting deadline/schedule.
  22234                                                               (line  36)
  22235 * C-c / b:                               Inserting deadline/schedule.
  22236                                                               (line  33)
  22237 * C-c / d:                               Inserting deadline/schedule.
  22238                                                               (line  26)
  22239 * C-c / m:                               Tag Searches.        (line  10)
  22240 * C-c / m <1>:                           Property Searches.   (line  11)
  22241 * C-c / p:                               Property Searches.   (line  28)
  22242 * C-c / r:                               Sparse Trees.        (line  20)
  22243 * C-c / t:                               TODO Basics.         (line  35)
  22244 * C-c ;:                                 Comment Lines.       (line  20)
  22245 * C-c <:                                 Creating Timestamps. (line  32)
  22246 * C-c =:                                 Column formulas.     (line  33)
  22247 * C-c = <1>:                             Editing and debugging formulas.
  22248                                                               (line  14)
  22249 * C-c >:                                 Creating Timestamps. (line  35)
  22250 * C-c ?:                                 Editing and debugging formulas.
  22251                                                               (line  25)
  22252 * C-c @:                                 Structure Editing.   (line  66)
  22253 * C-c C-*:                               Plain Lists.         (line 149)
  22254 * C-c C-,:                               Structure Templates. (line  11)
  22255 * C-c C-a:                               Attachment defaults and dispatcher.
  22256                                                               (line  20)
  22257 * C-c C-a <1>:                           Agenda Commands.     (line 304)
  22258 * C-c C-a a:                             Attachment defaults and dispatcher.
  22259                                                               (line  25)
  22260 * C-c C-a b:                             Attachment defaults and dispatcher.
  22261                                                               (line  35)
  22262 * C-c C-a c:                             Attachment defaults and dispatcher.
  22263                                                               (line  31)
  22264 * C-c C-a d:                             Attachment defaults and dispatcher.
  22265                                                               (line  61)
  22266 * C-c C-a D:                             Attachment defaults and dispatcher.
  22267                                                               (line  64)
  22268 * C-c C-a f:                             Attachment defaults and dispatcher.
  22269                                                               (line  55)
  22270 * C-c C-a F:                             Attachment defaults and dispatcher.
  22271                                                               (line  58)
  22272 * C-c C-a l:                             Attachment defaults and dispatcher.
  22273                                                               (line  31)
  22274 * C-c C-a m:                             Attachment defaults and dispatcher.
  22275                                                               (line  31)
  22276 * C-c C-a n:                             Attachment defaults and dispatcher.
  22277                                                               (line  39)
  22278 * C-c C-a o:                             Attachment defaults and dispatcher.
  22279                                                               (line  46)
  22280 * C-c C-a O:                             Attachment defaults and dispatcher.
  22281                                                               (line  52)
  22282 * C-c C-a s:                             Attachment defaults and dispatcher.
  22283                                                               (line  68)
  22284 * C-c C-a S:                             Attachment defaults and dispatcher.
  22285                                                               (line  73)
  22286 * C-c C-a z:                             Attachment defaults and dispatcher.
  22287                                                               (line  42)
  22288 * C-c C-b:                               Motion.              (line  18)
  22289 * C-c C-b <1>:                           Editing support.     (line  12)
  22290 * C-c C-c:                               Plain Lists.         (line 127)
  22291 * C-c C-c <1>:                           Built-in Table Editor.
  22292                                                               (line  61)
  22293 * C-c C-c <2>:                           Column Width and Alignment.
  22294                                                               (line  17)
  22295 * C-c C-c <3>:                           Editing and debugging formulas.
  22296                                                               (line  45)
  22297 * C-c C-c <4>:                           Editing and debugging formulas.
  22298                                                               (line  91)
  22299 * C-c C-c <5>:                           Editing and debugging formulas.
  22300                                                               (line  98)
  22301 * C-c C-c <6>:                           Checkboxes.          (line  75)
  22302 * C-c C-c <7>:                           Setting Tags.        (line  20)
  22303 * C-c C-c <8>:                           Setting Tags.        (line 131)
  22304 * C-c C-c <9>:                           Property Syntax.     (line 100)
  22305 * C-c C-c <10>:                          Using column view.   (line  26)
  22306 * C-c C-c <11>:                          Using column view.   (line  49)
  22307 * C-c C-c <12>:                          Capturing column view.
  22308                                                               (line  88)
  22309 * C-c C-c <13>:                          Creating Timestamps. (line  29)
  22310 * C-c C-c <14>:                          Clocking commands.   (line  53)
  22311 * C-c C-c <15>:                          The clock table.     (line  20)
  22312 * C-c C-c <16>:                          Creating Footnotes.  (line  65)
  22313 * C-c C-c <17>:                          Evaluating Code Blocks.
  22314                                                               (line  23)
  22315 * C-c C-c <18>:                          Key bindings and Useful Functions.
  22316                                                               (line  11)
  22317 * C-c C-c <19>:                          The Very Busy C-c C-c Key.
  22318                                                               (line   6)
  22319 * C-c C-c (Capture buffer):              Using capture.       (line  15)
  22320 * C-c C-c c:                             Property Syntax.     (line 117)
  22321 * C-c C-c d:                             Property Syntax.     (line 111)
  22322 * C-c C-c D:                             Property Syntax.     (line 114)
  22323 * C-c C-c m m:                           Markdown Export.     (line  23)
  22324 * C-c C-c m M:                           Markdown Export.     (line  27)
  22325 * C-c C-c s:                             Property Syntax.     (line 103)
  22326 * C-c C-d:                               Inserting deadline/schedule.
  22327                                                               (line  10)
  22328 * C-c C-d <1>:                           Agenda Commands.     (line 311)
  22329 * C-c C-e:                               The Export Dispatcher.
  22330                                                               (line  16)
  22331 * C-c C-e c a:                           iCalendar Export.    (line  47)
  22332 * C-c C-e c c:                           iCalendar Export.    (line  51)
  22333 * C-c C-e c f:                           iCalendar Export.    (line  43)
  22334 * C-c C-e C-a:                           The Export Dispatcher.
  22335                                                               (line  28)
  22336 * C-c C-e C-b:                           The Export Dispatcher.
  22337                                                               (line  46)
  22338 * C-c C-e C-f:                           The Export Dispatcher.
  22339                                                               (line  55)
  22340 * C-c C-e C-s:                           The Export Dispatcher.
  22341                                                               (line  67)
  22342 * C-c C-e C-v:                           Sparse Trees.        (line  52)
  22343 * C-c C-e C-v <1>:                       The Export Dispatcher.
  22344                                                               (line  79)
  22345 * C-c C-e h h:                           HTML export commands.
  22346                                                               (line   7)
  22347 * C-c C-e h H:                           HTML export commands.
  22348                                                               (line  13)
  22349 * C-c C-e h o:                           HTML export commands.
  22350                                                               (line   7)
  22351 * C-c C-e i i:                           Texinfo export commands.
  22352                                                               (line  11)
  22353 * C-c C-e i t:                           Texinfo export commands.
  22354                                                               (line   7)
  22355 * C-c C-e l b:                           Beamer export commands.
  22356                                                               (line   7)
  22357 * C-c C-e l B:                           Beamer export commands.
  22358                                                               (line  12)
  22359 * C-c C-e l l:                           LaTeX/PDF export commands.
  22360                                                               (line   7)
  22361 * C-c C-e l L:                           LaTeX/PDF export commands.
  22362                                                               (line  11)
  22363 * C-c C-e l O:                           Beamer export commands.
  22364                                                               (line  20)
  22365 * C-c C-e l o:                           LaTeX/PDF export commands.
  22366                                                               (line  17)
  22367 * C-c C-e l P:                           Beamer export commands.
  22368                                                               (line  16)
  22369 * C-c C-e l p:                           LaTeX/PDF export commands.
  22370                                                               (line  14)
  22371 * C-c C-e m o:                           Markdown Export.     (line  30)
  22372 * C-c C-e o o:                           ODT export commands. (line   7)
  22373 * C-c C-e o O:                           ODT export commands. (line  23)
  22374 * C-c C-e O o:                           Org Export.          (line  14)
  22375 * C-c C-e O v:                           Org Export.          (line  18)
  22376 * C-c C-e P a:                           Triggering Publication.
  22377                                                               (line  19)
  22378 * C-c C-e P f:                           Triggering Publication.
  22379                                                               (line  16)
  22380 * C-c C-e P p:                           Triggering Publication.
  22381                                                               (line  13)
  22382 * C-c C-e P x:                           Triggering Publication.
  22383                                                               (line   9)
  22384 * C-c C-e t a:                           ASCII/Latin-1/UTF-8 export.
  22385                                                               (line  26)
  22386 * C-c C-e t A:                           ASCII/Latin-1/UTF-8 export.
  22387                                                               (line  35)
  22388 * C-c C-e t l:                           ASCII/Latin-1/UTF-8 export.
  22389                                                               (line  26)
  22390 * C-c C-e t L:                           ASCII/Latin-1/UTF-8 export.
  22391                                                               (line  35)
  22392 * C-c C-e t u:                           ASCII/Latin-1/UTF-8 export.
  22393                                                               (line  26)
  22394 * C-c C-e t U:                           ASCII/Latin-1/UTF-8 export.
  22395                                                               (line  35)
  22396 * C-c C-f:                               Motion.              (line  15)
  22397 * C-c C-j:                               Motion.              (line  24)
  22398 * C-c C-k:                               Global and local cycling.
  22399                                                               (line  52)
  22400 * C-c C-k (Capture buffer):              Using capture.       (line  31)
  22401 * C-c C-l:                               Handling Links.      (line  91)
  22402 * C-c C-M-w:                             Refile and Copy.     (line  55)
  22403 * C-c C-n:                               Motion.              (line   9)
  22404 * C-c C-o:                               Handling Links.      (line 128)
  22405 * C-c C-o <1>:                           Creating Timestamps. (line  40)
  22406 * C-c C-o <2>:                           Agenda Commands.     (line  56)
  22407 * C-c C-o <3>:                           Creating Footnotes.  (line  71)
  22408 * C-c C-o <4>:                           Key bindings and Useful Functions.
  22409                                                               (line  11)
  22410 * C-c C-p:                               Motion.              (line  12)
  22411 * C-c C-q:                               Editing and debugging formulas.
  22412                                                               (line  49)
  22413 * C-c C-q <1>:                           Setting Tags.        (line  11)
  22414 * C-c C-r:                               Global and local cycling.
  22415                                                               (line  43)
  22416 * C-c C-r <1>:                           Editing and debugging formulas.
  22417                                                               (line  52)
  22418 * C-c C-s:                               Inserting deadline/schedule.
  22419                                                               (line  18)
  22420 * C-c C-s <1>:                           Agenda Commands.     (line 307)
  22421 * C-c C-t:                               TODO Basics.         (line  14)
  22422 * C-c C-t <1>:                           Clocking commands.   (line  74)
  22423 * C-c C-TAB:                             Internal archiving.  (line  51)
  22424 * C-c C-u:                               Motion.              (line  21)
  22425 * C-c C-v a:                             Key bindings and Useful Functions.
  22426                                                               (line  20)
  22427 * C-c C-v b:                             Key bindings and Useful Functions.
  22428                                                               (line  20)
  22429 * C-c C-v c:                             Key bindings and Useful Functions.
  22430                                                               (line  20)
  22431 * C-c C-v C-a:                           Key bindings and Useful Functions.
  22432                                                               (line  20)
  22433 * C-c C-v C-b:                           Key bindings and Useful Functions.
  22434                                                               (line  20)
  22435 * C-c C-v C-c:                           Key bindings and Useful Functions.
  22436                                                               (line  20)
  22437 * C-c C-v C-d:                           Key bindings and Useful Functions.
  22438                                                               (line  20)
  22439 * C-c C-v C-e:                           Key bindings and Useful Functions.
  22440                                                               (line  20)
  22441 * C-c C-v C-f:                           Key bindings and Useful Functions.
  22442                                                               (line  20)
  22443 * C-c C-v C-g:                           Key bindings and Useful Functions.
  22444                                                               (line  20)
  22445 * C-c C-v C-h:                           Key bindings and Useful Functions.
  22446                                                               (line  20)
  22447 * C-c C-v C-i:                           Key bindings and Useful Functions.
  22448                                                               (line  20)
  22449 * C-c C-v C-I:                           Key bindings and Useful Functions.
  22450                                                               (line  20)
  22451 * C-c C-v C-j:                           Key bindings and Useful Functions.
  22452                                                               (line  20)
  22453 * C-c C-v C-l:                           Key bindings and Useful Functions.
  22454                                                               (line  20)
  22455 * C-c C-v C-n:                           Key bindings and Useful Functions.
  22456                                                               (line  20)
  22457 * C-c C-v C-o:                           Key bindings and Useful Functions.
  22458                                                               (line  20)
  22459 * C-c C-v C-p:                           Key bindings and Useful Functions.
  22460                                                               (line  20)
  22461 * C-c C-v C-r:                           Key bindings and Useful Functions.
  22462                                                               (line  20)
  22463 * C-c C-v C-s:                           Key bindings and Useful Functions.
  22464                                                               (line  20)
  22465 * C-c C-v C-t:                           Key bindings and Useful Functions.
  22466                                                               (line  20)
  22467 * C-c C-v C-u:                           Key bindings and Useful Functions.
  22468                                                               (line  20)
  22469 * C-c C-v C-v:                           Noweb Reference Syntax.
  22470                                                               (line 222)
  22471 * C-c C-v C-v <1>:                       Key bindings and Useful Functions.
  22472                                                               (line  20)
  22473 * C-c C-v C-x:                           Key bindings and Useful Functions.
  22474                                                               (line  20)
  22475 * C-c C-v C-z:                           Key bindings and Useful Functions.
  22476                                                               (line  20)
  22477 * C-c C-v d:                             Key bindings and Useful Functions.
  22478                                                               (line  20)
  22479 * C-c C-v e:                             Evaluating Code Blocks.
  22480                                                               (line  23)
  22481 * C-c C-v e <1>:                         Key bindings and Useful Functions.
  22482                                                               (line  20)
  22483 * C-c C-v f:                             Extracting Source Code.
  22484                                                               (line 126)
  22485 * C-c C-v f <1>:                         Key bindings and Useful Functions.
  22486                                                               (line  20)
  22487 * C-c C-v g:                             Key bindings and Useful Functions.
  22488                                                               (line  20)
  22489 * C-c C-v h:                             Key bindings and Useful Functions.
  22490                                                               (line  20)
  22491 * C-c C-v i:                             Library of Babel.    (line  12)
  22492 * C-c C-v i <1>:                         Key bindings and Useful Functions.
  22493                                                               (line  20)
  22494 * C-c C-v I:                             Key bindings and Useful Functions.
  22495                                                               (line  20)
  22496 * C-c C-v j:                             Key bindings and Useful Functions.
  22497                                                               (line  20)
  22498 * C-c C-v l:                             Key bindings and Useful Functions.
  22499                                                               (line  20)
  22500 * C-c C-v n:                             Key bindings and Useful Functions.
  22501                                                               (line  20)
  22502 * C-c C-v o:                             Key bindings and Useful Functions.
  22503                                                               (line  20)
  22504 * C-c C-v p:                             Key bindings and Useful Functions.
  22505                                                               (line  20)
  22506 * C-c C-v r:                             Key bindings and Useful Functions.
  22507                                                               (line  20)
  22508 * C-c C-v s:                             Key bindings and Useful Functions.
  22509                                                               (line  20)
  22510 * C-c C-v t:                             Extracting Source Code.
  22511                                                               (line 121)
  22512 * C-c C-v t <1>:                         Key bindings and Useful Functions.
  22513                                                               (line  20)
  22514 * C-c C-v u:                             Key bindings and Useful Functions.
  22515                                                               (line  20)
  22516 * C-c C-v v:                             Noweb Reference Syntax.
  22517                                                               (line 222)
  22518 * C-c C-v v <1>:                         Key bindings and Useful Functions.
  22519                                                               (line  20)
  22520 * C-c C-v x:                             Key bindings and Useful Functions.
  22521                                                               (line  20)
  22522 * C-c C-v z:                             Key bindings and Useful Functions.
  22523                                                               (line  20)
  22524 * C-c C-w:                               Structure Editing.   (line 106)
  22525 * C-c C-w <1>:                           Refile and Copy.     (line  13)
  22526 * C-c C-w <2>:                           Agenda Commands.     (line 253)
  22527 * C-c C-w (Capture buffer):              Using capture.       (line  22)
  22528 * C-c C-x ,:                             Timers.              (line  44)
  22529 * C-c C-x -:                             Timers.              (line  36)
  22530 * C-c C-x .:                             Timers.              (line  32)
  22531 * C-c C-x 0:                             Timers.              (line  13)
  22532 * C-c C-x ;:                             Timers.              (line  23)
  22533 * C-c C-x <:                             Agenda Files.        (line  43)
  22534 * C-c C-x >:                             Agenda Files.        (line  52)
  22535 * C-c C-x > <1>:                         Agenda Commands.     (line 210)
  22536 * C-c C-x @:                             Citations.           (line  17)
  22537 * C-c C-x a:                             Internal archiving.  (line  39)
  22538 * C-c C-x A:                             Internal archiving.  (line  54)
  22539 * C-c C-x a <1>:                         Agenda Commands.     (line 261)
  22540 * C-c C-x A <1>:                         Agenda Commands.     (line 265)
  22541 * C-c C-x b:                             Global and local cycling.
  22542                                                               (line  59)
  22543 * C-c C-x b <1>:                         Agenda Commands.     (line  49)
  22544 * C-c C-x c:                             Structure Editing.   (line  98)
  22545 * C-c C-x C-a:                           Archiving.           (line  12)
  22546 * C-c C-x C-a <1>:                       Agenda Commands.     (line 256)
  22547 * C-c C-x C-b:                           Checkboxes.          (line  81)
  22548 * C-c C-x C-c:                           Using column view.   (line  10)
  22549 * C-c C-x C-c <1>:                       Agenda Commands.     (line 201)
  22550 * C-c C-x C-c <2>:                       Agenda Column View.  (line  12)
  22551 * C-c C-x C-d:                           Clocking commands.   (line  87)
  22552 * C-c C-x C-e:                           Clocking commands.   (line  50)
  22553 * C-c C-x C-e <1>:                       Effort Estimates.    (line  24)
  22554 * C-c C-x C-f:                           Emphasis and Monospace.
  22555                                                               (line  13)
  22556 * C-c C-x C-i:                           Clocking commands.   (line   7)
  22557 * C-c C-x C-j:                           Clocking commands.   (line  82)
  22558 * C-c C-x C-l:                           Previewing LaTeX fragments.
  22559                                                               (line  18)
  22560 * C-c C-x C-n:                           Handling Links.      (line 173)
  22561 * C-c C-x C-o:                           Clocking commands.   (line  36)
  22562 * C-c C-x C-p:                           Handling Links.      (line 173)
  22563 * C-c C-x C-q:                           Clocking commands.   (line  78)
  22564 * C-c C-x C-r:                           Checkboxes.          (line  98)
  22565 * C-c C-x C-s:                           Moving subtrees.     (line  10)
  22566 * C-c C-x C-s <1>:                       Agenda Commands.     (line 269)
  22567 * C-c C-x C-t:                           Custom time format.  (line  13)
  22568 * C-c C-x C-u:                           Capturing column view.
  22569                                                               (line  88)
  22570 * C-c C-x C-u <1>:                       The clock table.     (line  20)
  22571 * C-c C-x C-u <2>:                       Dynamic Blocks.      (line  25)
  22572 * C-c C-x C-v:                           Images.              (line  24)
  22573 * C-c C-x C-w:                           Structure Editing.   (line  70)
  22574 * C-c C-x C-w <1>:                       Built-in Table Editor.
  22575                                                               (line 158)
  22576 * C-c C-x C-x:                           Clocking commands.   (line  44)
  22577 * C-c C-x C-y:                           Structure Editing.   (line  78)
  22578 * C-c C-x C-y <1>:                       Built-in Table Editor.
  22579                                                               (line 162)
  22580 * C-c C-x d:                             Drawers.             (line  18)
  22581 * C-c C-x e:                             Effort Estimates.    (line  19)
  22582 * C-c C-x e <1>:                         Agenda Commands.     (line 296)
  22583 * C-c C-x f:                             Creating Footnotes.  (line  42)
  22584 * C-c C-x g:                             RSS Feeds.           (line  23)
  22585 * C-c C-x G:                             RSS Feeds.           (line  27)
  22586 * C-c C-x I:                             Documentation Access.
  22587                                                               (line   6)
  22588 * C-c C-x M-w:                           Structure Editing.   (line  74)
  22589 * C-c C-x M-w <1>:                       Built-in Table Editor.
  22590                                                               (line 152)
  22591 * C-c C-x o:                             TODO dependencies.   (line  38)
  22592 * C-c C-x o <1>:                         Checkboxes.          (line 113)
  22593 * C-c C-x p:                             Property Syntax.     (line  90)
  22594 * C-c C-x p <1>:                         Using Header Arguments.
  22595                                                               (line  90)
  22596 * C-c C-x q:                             Tag Hierarchy.       (line  87)
  22597 * C-c C-x v:                             Global and local cycling.
  22598                                                               (line  65)
  22599 * C-c C-x x:                             Capturing column view.
  22600                                                               (line  80)
  22601 * C-c C-x x <1>:                         The clock table.     (line  11)
  22602 * C-c C-x x <2>:                         Dynamic Blocks.      (line  10)
  22603 * C-c C-x \:                             Subscripts and Superscripts.
  22604                                                               (line  29)
  22605 * C-c C-x \ <1>:                         Special Symbols.     (line  31)
  22606 * C-c C-x _:                             Timers.              (line  47)
  22607 * C-c C-y:                               Creating Timestamps. (line  62)
  22608 * C-c C-y <1>:                           Clocking commands.   (line  53)
  22609 * C-c C-z:                               Drawers.             (line  40)
  22610 * C-c C-z <1>:                           Agenda Commands.     (line 299)
  22611 * C-c M-w:                               Refile and Copy.     (line  51)
  22612 * C-c RET:                               Built-in Table Editor.
  22613                                                               (line 131)
  22614 * C-c TAB:                               Global and local cycling.
  22615                                                               (line  55)
  22616 * C-c TAB <1>:                           Column Width and Alignment.
  22617                                                               (line  44)
  22618 * C-c [:                                 Agenda Files.        (line  16)
  22619 * C-c \:                                 Tag Searches.        (line  10)
  22620 * C-c \ <1>:                             Property Searches.   (line  11)
  22621 * C-c ]:                                 Agenda Files.        (line  22)
  22622 * C-c ^:                                 Structure Editing.   (line 110)
  22623 * C-c ^ <1>:                             Plain Lists.         (line 160)
  22624 * C-c ^ <2>:                             Built-in Table Editor.
  22625                                                               (line 135)
  22626 * C-c `:                                 Built-in Table Editor.
  22627                                                               (line 203)
  22628 * C-c {:                                 Editing and debugging formulas.
  22629                                                               (line  34)
  22630 * C-c { <1>:                             CDLaTeX mode.        (line  25)
  22631 * C-c |:                                 Built-in Table Editor.
  22632                                                               (line  43)
  22633 * C-c | <1>:                             Built-in Table Editor.
  22634                                                               (line 222)
  22635 * C-c }:                                 Editing and debugging formulas.
  22636                                                               (line  29)
  22637 * C-c } <1>:                             Editing and debugging formulas.
  22638                                                               (line  83)
  22639 * C-c ~:                                 Cooperation.         (line  67)
  22640 * C-g:                                   Setting Tags.        (line 121)
  22641 * C-k:                                   Agenda Commands.     (line 247)
  22642 * C-RET:                                 Structure Editing.   (line  26)
  22643 * C-S-DOWN:                              Clocking commands.   (line  59)
  22644 * C-S-LEFT:                              Multiple sets in one file.
  22645                                                               (line  28)
  22646 * C-S-LEFT <1>:                          Agenda Commands.     (line 244)
  22647 * C-S-RET:                               Structure Editing.   (line  33)
  22648 * C-S-RIGHT:                             Multiple sets in one file.
  22649                                                               (line  28)
  22650 * C-S-RIGHT <1>:                         Agenda Commands.     (line 241)
  22651 * C-S-UP:                                Clocking commands.   (line  59)
  22652 * C-u C-c !:                             Creating Timestamps. (line  25)
  22653 * C-u C-c *:                             Updating the table.  (line  19)
  22654 * C-u C-c .:                             Creating Timestamps. (line  16)
  22655 * C-u C-c =:                             Field and range formulas.
  22656                                                               (line  28)
  22657 * C-u C-c = <1>:                         Editing and debugging formulas.
  22658                                                               (line  14)
  22659 * C-u C-c C-c:                           Updating the table.  (line  19)
  22660 * C-u C-c C-l:                           Handling Links.      (line 114)
  22661 * C-u C-c C-t:                           Progress Logging.    (line  10)
  22662 * C-u C-c C-w:                           Refile and Copy.     (line  32)
  22663 * C-u C-c C-x a:                         Internal archiving.  (line  44)
  22664 * C-u C-c C-x C-s:                       Moving subtrees.     (line  14)
  22665 * C-u C-c C-x C-u:                       Capturing column view.
  22666                                                               (line  92)
  22667 * C-u C-c C-x C-u <1>:                   The clock table.     (line  24)
  22668 * C-u C-c C-x C-u <2>:                   Dynamic Blocks.      (line  28)
  22669 * C-u C-c TAB:                           Column Width and Alignment.
  22670                                                               (line  54)
  22671 * C-u C-u C-c !:                         Creating Timestamps. (line  25)
  22672 * C-u C-u C-c *:                         Updating the table.  (line  24)
  22673 * C-u C-u C-c .:                         Creating Timestamps. (line  21)
  22674 * C-u C-u C-c =:                         Editing and debugging formulas.
  22675                                                               (line  19)
  22676 * C-u C-u C-c C-c:                       Updating the table.  (line  24)
  22677 * C-u C-u C-c C-t:                       Multiple sets in one file.
  22678                                                               (line  28)
  22679 * C-u C-u C-c C-w:                       Refile and Copy.     (line  35)
  22680 * C-u C-u C-c C-x C-s:                   Moving subtrees.     (line  21)
  22681 * C-u C-u C-c TAB:                       Column Width and Alignment.
  22682                                                               (line  57)
  22683 * C-u C-u C-u C-c C-w:                   Refile and Copy.     (line  46)
  22684 * C-u C-u C-u C-u C-c C-t:               TODO dependencies.   (line  46)
  22685 * C-u C-u C-u TAB:                       Global and local cycling.
  22686                                                               (line  40)
  22687 * C-u C-u TAB:                           Global and local cycling.
  22688                                                               (line  36)
  22689 * C-u C-u TAB <1>:                       Initial visibility.  (line  26)
  22690 * C-u TAB:                               Global and local cycling.
  22691                                                               (line  20)
  22692 * C-v:                                   The date/time prompt.
  22693                                                               (line  84)
  22694 * C-x C-s:                               Editing and debugging formulas.
  22695                                                               (line  45)
  22696 * C-x C-s <1>:                           Agenda Commands.     (line 197)
  22697 * C-x C-s <2>:                           Editing Source Code. (line  11)
  22698 * C-x C-w:                               Exporting Agenda Views.
  22699                                                               (line  13)
  22700 * C-x n b:                               Structure Editing.   (line 125)
  22701 * C-x n s:                               Structure Editing.   (line 122)
  22702 * C-x n w:                               Structure Editing.   (line 128)
  22703 * C-y:                                   Structure Editing.   (line  86)
  22704 * C-_:                                   Agenda Commands.     (line 231)
  22705 * d:                                     Agenda Commands.     (line  71)
  22706 * D:                                     Agenda Commands.     (line 127)
  22707 * e:                                     Using column view.   (line  43)
  22708 * E:                                     Agenda Commands.     (line 177)
  22709 * e <1>:                                 Agenda Commands.     (line 296)
  22710 * e (Agenda dispatcher):                 Exporting Agenda Views.
  22711                                                               (line  53)
  22712 * F:                                     Agenda Commands.     (line  42)
  22713 * f:                                     Agenda Commands.     (line 110)
  22714 * g:                                     Using column view.   (line  22)
  22715 * G:                                     Agenda Commands.     (line 185)
  22716 * g <1>:                                 Agenda Commands.     (line 190)
  22717 * H:                                     Agenda Commands.     (line 489)
  22718 * I:                                     Agenda Commands.     (line 336)
  22719 * i:                                     Agenda Commands.     (line 458)
  22720 * j:                                     Agenda Commands.     (line 121)
  22721 * J:                                     Agenda Commands.     (line 124)
  22722 * J <1>:                                 Agenda Commands.     (line 346)
  22723 * k:                                     Resolving idle time. (line  23)
  22724 * K:                                     Resolving idle time. (line  29)
  22725 * k <1>:                                 Agenda Commands.     (line 349)
  22726 * k c (Agenda):                          Using capture.       (line  33)
  22727 * l:                                     Agenda Commands.     (line 131)
  22728 * m:                                     Agenda Commands.     (line 357)
  22729 * M:                                     Agenda Commands.     (line 476)
  22730 * m (Agenda dispatcher):                 Tag Searches.        (line  15)
  22731 * M (Agenda dispatcher):                 Tag Searches.        (line  19)
  22732 * m (Agenda dispatcher) <1>:             Property Searches.   (line  15)
  22733 * M (Agenda dispatcher) <1>:             Property Searches.   (line  18)
  22734 * m (Agenda dispatcher) <2>:             Matching tags and properties.
  22735                                                               (line  13)
  22736 * M (Agenda dispatcher) <2>:             Matching tags and properties.
  22737                                                               (line  21)
  22738 * M-*:                                   Agenda Commands.     (line 379)
  22739 * M-a:                                   Built-in Table Editor.
  22740                                                               (line  79)
  22741 * M-DOWN:                                Structure Editing.   (line  63)
  22742 * M-DOWN <1>:                            Plain Lists.         (line 103)
  22743 * M-DOWN <2>:                            Built-in Table Editor.
  22744                                                               (line 105)
  22745 * M-DOWN <3>:                            Editing and debugging formulas.
  22746                                                               (line  80)
  22747 * M-DOWN <4>:                            Using column view.   (line  85)
  22748 * M-DOWN <5>:                            Agenda Commands.     (line 221)
  22749 * M-DOWN <6>:                            Key bindings and Useful Functions.
  22750                                                               (line  11)
  22751 * M-e:                                   Built-in Table Editor.
  22752                                                               (line  83)
  22753 * M-g M-n:                               Sparse Trees.        (line  32)
  22754 * M-g M-p:                               Sparse Trees.        (line  35)
  22755 * M-g n:                                 Sparse Trees.        (line  32)
  22756 * M-g p:                                 Sparse Trees.        (line  35)
  22757 * M-LEFT:                                Structure Editing.   (line  44)
  22758 * M-LEFT <1>:                            Plain Lists.         (line 109)
  22759 * M-LEFT <2>:                            Built-in Table Editor.
  22760                                                               (line  89)
  22761 * M-LEFT <3>:                            Using column view.   (line  76)
  22762 * M-m:                                   Agenda Commands.     (line 375)
  22763 * M-RET:                                 Structure Editing.   (line   7)
  22764 * M-RET <1>:                             Plain Lists.         (line  84)
  22765 * M-RET <2>:                             Built-in Table Editor.
  22766                                                               (line 169)
  22767 * M-RET <3>:                             Timers.              (line  40)
  22768 * M-RIGHT:                               Structure Editing.   (line  44)
  22769 * M-RIGHT <1>:                           Plain Lists.         (line 109)
  22770 * M-RIGHT <2>:                           Built-in Table Editor.
  22771                                                               (line  92)
  22772 * M-RIGHT <3>:                           Using column view.   (line  79)
  22773 * M-S-DOWN:                              Built-in Table Editor.
  22774                                                               (line 123)
  22775 * M-S-DOWN <1>:                          Editing and debugging formulas.
  22776                                                               (line  74)
  22777 * M-S-LEFT:                              Structure Editing.   (line  54)
  22778 * M-S-LEFT <1>:                          Plain Lists.         (line 114)
  22779 * M-S-LEFT <2>:                          Built-in Table Editor.
  22780                                                               (line  95)
  22781 * M-S-LEFT <3>:                          The date/time prompt.
  22782                                                               (line  84)
  22783 * M-S-RET:                               Structure Editing.   (line  29)
  22784 * M-S-RET <1>:                           Plain Lists.         (line  92)
  22785 * M-S-RET <2>:                           Checkboxes.          (line 109)
  22786 * M-S-RIGHT:                             Structure Editing.   (line  57)
  22787 * M-S-RIGHT <1>:                         Plain Lists.         (line 114)
  22788 * M-S-RIGHT <2>:                         Built-in Table Editor.
  22789                                                               (line  98)
  22790 * M-S-RIGHT <3>:                         The date/time prompt.
  22791                                                               (line  84)
  22792 * M-S-UP:                                Built-in Table Editor.
  22793                                                               (line 108)
  22794 * M-S-UP <1>:                            Editing and debugging formulas.
  22795                                                               (line  71)
  22796 * M-TAB:                                 Editing and debugging formulas.
  22797                                                               (line  63)
  22798 * M-TAB <1>:                             Per-file keywords.   (line  26)
  22799 * M-TAB <2>:                             Setting Tags.        (line   6)
  22800 * M-TAB <3>:                             Property Syntax.     (line  86)
  22801 * M-TAB <4>:                             Completion.          (line  15)
  22802 * M-UP:                                  Structure Editing.   (line  60)
  22803 * M-UP <1>:                              Plain Lists.         (line 103)
  22804 * M-UP <2>:                              Built-in Table Editor.
  22805                                                               (line 102)
  22806 * M-UP <3>:                              Editing and debugging formulas.
  22807                                                               (line  77)
  22808 * M-UP <4>:                              Using column view.   (line  82)
  22809 * M-UP <5>:                              Agenda Commands.     (line 214)
  22810 * M-UP <6>:                              Key bindings and Useful Functions.
  22811                                                               (line  11)
  22812 * M-v:                                   The date/time prompt.
  22813                                                               (line  84)
  22814 * mouse-1:                               Handling Links.      (line 153)
  22815 * mouse-1 <1>:                           The date/time prompt.
  22816                                                               (line  84)
  22817 * mouse-1 <2>:                           Creating Footnotes.  (line  71)
  22818 * mouse-2:                               Handling Links.      (line 153)
  22819 * mouse-2 <1>:                           Agenda Commands.     (line  36)
  22820 * mouse-2 <2>:                           Creating Footnotes.  (line  71)
  22821 * mouse-3:                               Handling Links.      (line 157)
  22822 * mouse-3 <1>:                           Agenda Commands.     (line  29)
  22823 * n:                                     Using column view.   (line  39)
  22824 * n <1>:                                 Agenda Commands.     (line  20)
  22825 * o:                                     Agenda Commands.     (line  68)
  22826 * O:                                     Agenda Commands.     (line 340)
  22827 * p:                                     Using column view.   (line  39)
  22828 * p <1>:                                 Agenda Commands.     (line  23)
  22829 * q:                                     Setting Tags.        (line 124)
  22830 * q <1>:                                 Using column view.   (line  26)
  22831 * q <2>:                                 Agenda Commands.     (line 495)
  22832 * r:                                     Using column view.   (line  22)
  22833 * r <1>:                                 Global TODO list.    (line  25)
  22834 * R:                                     Agenda Commands.     (line 157)
  22835 * r <2>:                                 Agenda Commands.     (line 190)
  22836 * RET:                                   Built-in Table Editor.
  22837                                                               (line  74)
  22838 * RET <1>:                               Handling Links.      (line 149)
  22839 * RET <2>:                               Setting Tags.        (line 118)
  22840 * RET <3>:                               The date/time prompt.
  22841                                                               (line  84)
  22842 * RET <4>:                               Agenda Commands.     (line  39)
  22843 * s:                                     Resolving idle time. (line  35)
  22844 * S:                                     Resolving idle time. (line  40)
  22845 * s <1>:                                 Agenda Commands.     (line 197)
  22846 * S <1>:                                 Agenda Commands.     (line 480)
  22847 * s (Agenda dispatcher):                 Agenda Dispatcher.   (line  25)
  22848 * s (Agenda dispatcher) <1>:             Search view.         (line  10)
  22849 * S-DOWN:                                Plain Lists.         (line  96)
  22850 * S-DOWN <1>:                            Built-in Table Editor.
  22851                                                               (line 114)
  22852 * S-DOWN <2>:                            Editing and debugging formulas.
  22853                                                               (line  66)
  22854 * S-DOWN <3>:                            Priorities.          (line  41)
  22855 * S-DOWN <4>:                            Creating Timestamps. (line  50)
  22856 * S-DOWN <5>:                            The date/time prompt.
  22857                                                               (line  84)
  22858 * S-DOWN <6>:                            Agenda Commands.     (line 293)
  22859 * S-LEFT:                                Plain Lists.         (line 155)
  22860 * S-LEFT <1>:                            Built-in Table Editor.
  22861                                                               (line 117)
  22862 * S-LEFT <2>:                            Editing and debugging formulas.
  22863                                                               (line  66)
  22864 * S-LEFT <3>:                            TODO Basics.         (line  28)
  22865 * S-LEFT <4>:                            Multiple sets in one file.
  22866                                                               (line  36)
  22867 * S-LEFT <5>:                            Property Syntax.     (line 108)
  22868 * S-LEFT <6>:                            Using column view.   (line  39)
  22869 * S-LEFT <7>:                            Creating Timestamps. (line  45)
  22870 * S-LEFT <8>:                            The date/time prompt.
  22871                                                               (line  84)
  22872 * S-LEFT <9>:                            The clock table.     (line  29)
  22873 * S-LEFT <10>:                           Agenda Commands.     (line 328)
  22874 * S-M-DOWN:                              Clocking commands.   (line  64)
  22875 * S-M-LEFT:                              Using column view.   (line  73)
  22876 * S-M-RET:                               TODO Basics.         (line  54)
  22877 * S-M-RIGHT:                             Using column view.   (line  70)
  22878 * S-M-UP:                                Clocking commands.   (line  64)
  22879 * S-RET:                                 Built-in Table Editor.
  22880                                                               (line 187)
  22881 * S-RIGHT:                               Plain Lists.         (line 155)
  22882 * S-RIGHT <1>:                           Built-in Table Editor.
  22883                                                               (line 120)
  22884 * S-RIGHT <2>:                           Editing and debugging formulas.
  22885                                                               (line  66)
  22886 * S-RIGHT <3>:                           TODO Basics.         (line  28)
  22887 * S-RIGHT <4>:                           Multiple sets in one file.
  22888                                                               (line  36)
  22889 * S-RIGHT <5>:                           Property Syntax.     (line 108)
  22890 * S-RIGHT <6>:                           Using column view.   (line  39)
  22891 * S-RIGHT <7>:                           Creating Timestamps. (line  45)
  22892 * S-RIGHT <8>:                           The date/time prompt.
  22893                                                               (line  84)
  22894 * S-RIGHT <9>:                           The clock table.     (line  29)
  22895 * S-RIGHT <10>:                          Agenda Commands.     (line 315)
  22896 * S-TAB:                                 Global and local cycling.
  22897                                                               (line  20)
  22898 * S-TAB <1>:                             Built-in Table Editor.
  22899                                                               (line  71)
  22900 * S-UP:                                  Plain Lists.         (line  96)
  22901 * S-UP <1>:                              Built-in Table Editor.
  22902                                                               (line 111)
  22903 * S-UP <2>:                              Editing and debugging formulas.
  22904                                                               (line  66)
  22905 * S-UP <3>:                              Priorities.          (line  41)
  22906 * S-UP <4>:                              Creating Timestamps. (line  50)
  22907 * S-UP <5>:                              The date/time prompt.
  22908                                                               (line  84)
  22909 * S-UP <6>:                              Agenda Commands.     (line 288)
  22910 * SPC:                                   Setting Tags.        (line 115)
  22911 * SPC <1>:                               Agenda Commands.     (line  29)
  22912 * t:                                     Agenda Commands.     (line 235)
  22913 * T:                                     Agenda Commands.     (line 274)
  22914 * t (Agenda dispatcher):                 TODO Basics.         (line  46)
  22915 * t (Agenda dispatcher) <1>:             Global TODO list.    (line  10)
  22916 * T (Agenda dispatcher):                 Global TODO list.    (line  18)
  22917 * TAB:                                   Global and local cycling.
  22918                                                               (line  11)
  22919 * TAB <1>:                               Structure Editing.   (line  37)
  22920 * TAB <2>:                               Plain Lists.         (line  71)
  22921 * TAB <3>:                               Built-in Table Editor.
  22922                                                               (line  64)
  22923 * TAB <4>:                               Editing and debugging formulas.
  22924                                                               (line  56)
  22925 * TAB <5>:                               Setting Tags.        (line 108)
  22926 * TAB <6>:                               Agenda Commands.     (line  36)
  22927 * TAB <7>:                               CDLaTeX mode.        (line  29)
  22928 * u:                                     Agenda Commands.     (line 367)
  22929 * U:                                     Agenda Commands.     (line 371)
  22930 * v:                                     Using column view.   (line  53)
  22931 * v a:                                   Agenda Commands.     (line 146)
  22932 * v A:                                   Agenda Commands.     (line 154)
  22933 * v c:                                   Agenda Commands.     (line 169)
  22934 * v d:                                   Agenda Commands.     (line  71)
  22935 * v E:                                   Agenda Commands.     (line 177)
  22936 * v l:                                   Agenda Commands.     (line 131)
  22937 * v L:                                   Agenda Commands.     (line 131)
  22938 * v m:                                   Agenda Commands.     (line  91)
  22939 * v R:                                   Agenda Commands.     (line 157)
  22940 * v SPC:                                 Agenda Commands.     (line 107)
  22941 * v w:                                   Agenda Commands.     (line  81)
  22942 * v y:                                   Agenda Commands.     (line 101)
  22943 * v [:                                   Agenda Commands.     (line 142)
  22944 * w:                                     Agenda Commands.     (line  81)
  22945 * X:                                     Agenda Commands.     (line 343)
  22946 * x:                                     Agenda Commands.     (line 499)
  22947 * z:                                     Agenda Commands.     (line 299)
  22948 
  22949 
  22950 File: org.info,  Node: Command and Function Index,  Next: Variable Index,  Prev: Key Index,  Up: Top
  22951 
  22952 F Command and Function Index
  22953 ****************************
  22954 
  22955 
  22956 * Menu:
  22957 
  22958 * lisp-complete-symbol:                  Editing and debugging formulas.
  22959                                                               (line  63)
  22960 * next-error:                            Sparse Trees.        (line  32)
  22961 * or-clock-goto:                         Clocking commands.   (line  82)
  22962 * org-agenda:                            Activation.          (line  13)
  22963 * org-agenda-add-note:                   Agenda Commands.     (line 299)
  22964 * org-agenda-archive:                    Agenda Commands.     (line 269)
  22965 * org-agenda-archive-default-with-confirmation: Agenda Commands.
  22966                                                               (line 256)
  22967 * org-agenda-archive-to-archive-sibling: Agenda Commands.     (line 265)
  22968 * org-agenda-archives-mode:              Agenda Commands.     (line 146)
  22969 * org-agenda-bulk-action:                Agenda Commands.     (line 387)
  22970 * org-agenda-bulk-mark:                  Agenda Commands.     (line 357)
  22971 * org-agenda-bulk-mark-all:              Agenda Commands.     (line 363)
  22972 * org-agenda-bulk-mark-regexp:           Agenda Commands.     (line 383)
  22973 * org-agenda-bulk-toggle:                Agenda Commands.     (line 375)
  22974 * org-agenda-bulk-toggle-all:            Agenda Commands.     (line 379)
  22975 * org-agenda-bulk-unmark:                Agenda Commands.     (line 367)
  22976 * org-agenda-bulk-unmark-all:            Agenda Commands.     (line 371)
  22977 * org-agenda-capture:                    Agenda Commands.     (line 349)
  22978 * org-agenda-clock-cancel:               Agenda Commands.     (line 343)
  22979 * org-agenda-clock-goto:                 Agenda Commands.     (line 124)
  22980 * org-agenda-clock-goto <1>:             Agenda Commands.     (line 346)
  22981 * org-agenda-clock-in:                   Agenda Commands.     (line 336)
  22982 * org-agenda-clock-out:                  Agenda Commands.     (line 340)
  22983 * org-agenda-clockreport-mode:           Agenda Commands.     (line 157)
  22984 * org-agenda-columns:                    Agenda Commands.     (line 201)
  22985 * org-agenda-columns <1>:                Agenda Column View.  (line  12)
  22986 * org-agenda-convert-date:               Agenda Commands.     (line 485)
  22987 * org-agenda-date-prompt:                Agenda Commands.     (line 332)
  22988 * org-agenda-day-view:                   Agenda Commands.     (line  71)
  22989 * org-agenda-deadline:                   Agenda Commands.     (line 311)
  22990 * org-agenda-diary-entry:                Agenda Commands.     (line 458)
  22991 * org-agenda-do-date-earlier:            Agenda Commands.     (line 328)
  22992 * org-agenda-do-date-later:              Agenda Commands.     (line 315)
  22993 * org-agenda-drag-line-backward:         Agenda Commands.     (line 214)
  22994 * org-agenda-drag-line-forward:          Agenda Commands.     (line 221)
  22995 * org-agenda-earlier:                    Agenda Commands.     (line 115)
  22996 * org-agenda-entry-text-mode:            Agenda Commands.     (line 177)
  22997 * org-agenda-exit:                       Agenda Commands.     (line 499)
  22998 * org-agenda-file-to-front:              Agenda Files.        (line  16)
  22999 * org-agenda-filter:                     Filtering/limiting agenda items.
  23000                                                               (line  73)
  23001 * org-agenda-filter-by-category:         Filtering/limiting agenda items.
  23002                                                               (line  38)
  23003 * org-agenda-filter-by-effort:           Filtering/limiting agenda items.
  23004                                                               (line  49)
  23005 * org-agenda-filter-by-regexp:           Filtering/limiting agenda items.
  23006                                                               (line  44)
  23007 * org-agenda-filter-by-tag:              Filtering/limiting agenda items.
  23008                                                               (line  28)
  23009 * org-agenda-filter-by-top-headline:     Filtering/limiting agenda items.
  23010                                                               (line  68)
  23011 * org-agenda-follow-mode:                Agenda Commands.     (line  42)
  23012 * org-agenda-goto:                       Agenda Commands.     (line  36)
  23013 * org-agenda-goto-calendar:              Agenda Commands.     (line 451)
  23014 * org-agenda-goto-date:                  Agenda Commands.     (line 121)
  23015 * org-agenda-goto-today:                 Agenda Commands.     (line 118)
  23016 * org-agenda-holidays:                   Agenda Commands.     (line 489)
  23017 * org-agenda-kill:                       Agenda Commands.     (line 247)
  23018 * org-agenda-later:                      Agenda Commands.     (line 110)
  23019 * org-agenda-limit-interactively:        Filtering/limiting agenda items.
  23020                                                               (line 165)
  23021 * org-agenda-list:                       Weekly/daily agenda. (line  10)
  23022 * org-agenda-list-stuck-projects:        Stuck projects.      (line  14)
  23023 * org-agenda-log-mode:                   Agenda Commands.     (line 131)
  23024 * org-agenda-manipulate-query-add:       Agenda Commands.     (line 142)
  23025 * org-agenda-month-view:                 Agenda Commands.     (line  91)
  23026 * org-agenda-next-line:                  Agenda Commands.     (line  20)
  23027 * org-agenda-open-link:                  Agenda Commands.     (line  56)
  23028 * org-agenda-phases-of-moon:             Agenda Commands.     (line 476)
  23029 * org-agenda-previous-line:              Agenda Commands.     (line  23)
  23030 * org-agenda-priority:                   Agenda Commands.     (line 283)
  23031 * org-agenda-priority-down:              Agenda Commands.     (line 293)
  23032 * org-agenda-priority-up:                Agenda Commands.     (line 288)
  23033 * org-agenda-quit:                       Agenda Commands.     (line 495)
  23034 * org-agenda-recenter:                   Agenda Commands.     (line  33)
  23035 * org-agenda-redo:                       Agenda Commands.     (line 190)
  23036 * org-agenda-refile:                     Agenda Commands.     (line 253)
  23037 * org-agenda-remove-restriction-lock:    Agenda Files.        (line  52)
  23038 * org-agenda-remove-restriction-lock <1>: Agenda Files.       (line  65)
  23039 * org-agenda-remove-restriction-lock <2>: Agenda Commands.    (line 210)
  23040 * org-agenda-reset-view:                 Agenda Commands.     (line 107)
  23041 * org-agenda-schedule:                   Agenda Commands.     (line 307)
  23042 * org-agenda-set-effort:                 Agenda Commands.     (line 296)
  23043 * org-agenda-set-restriction-lock:       Agenda Files.        (line  43)
  23044 * org-agenda-set-tags:                   Agenda Commands.     (line 279)
  23045 * org-agenda-show-and-scroll-up:         Agenda Commands.     (line  29)
  23046 * org-agenda-show-tags:                  Agenda Commands.     (line 274)
  23047 * org-agenda-skip-entry-if:              Special Agenda Views.
  23048                                                               (line  41)
  23049 * org-agenda-skip-subtree-if:            Special Agenda Views.
  23050                                                               (line  41)
  23051 * org-agenda-sunrise-sunset:             Agenda Commands.     (line 480)
  23052 * org-agenda-switch-to:                  Agenda Commands.     (line  39)
  23053 * org-agenda-todo:                       Agenda Commands.     (line 235)
  23054 * org-agenda-todo-nextset:               Agenda Commands.     (line 241)
  23055 * org-agenda-toggle-archive-tag:         Agenda Commands.     (line 261)
  23056 * org-agenda-toggle-diary:               Agenda Commands.     (line 127)
  23057 * org-agenda-tree-to-indirect-buffer:    Agenda Commands.     (line  49)
  23058 * org-agenda-undo:                       Agenda Commands.     (line 231)
  23059 * org-agenda-week-view:                  Agenda Commands.     (line  81)
  23060 * org-agenda-write:                      Exporting Agenda Views.
  23061                                                               (line  13)
  23062 * org-agenda-year-view:                  Agenda Commands.     (line 101)
  23063 * org-anniversary:                       Timestamps.          (line  40)
  23064 * org-archive-subtree:                   Moving subtrees.     (line  10)
  23065 * org-archive-subtree-default:           Archiving.           (line  12)
  23066 * org-archive-to-archive-sibling:        Internal archiving.  (line  54)
  23067 * org-ascii-convert-region-to-ascii:     Export Region.       (line  11)
  23068 * org-ascii-convert-region-to-utf8:      Export Region.       (line  14)
  23069 * org-ascii-export-as-ascii:             ASCII/Latin-1/UTF-8 export.
  23070                                                               (line  35)
  23071 * org-ascii-export-to-ascii:             ASCII/Latin-1/UTF-8 export.
  23072                                                               (line  26)
  23073 * org-attach:                            Attachment defaults and dispatcher.
  23074                                                               (line  20)
  23075 * org-attach <1>:                        Agenda Commands.     (line 304)
  23076 * org-attach-attach:                     Attachment defaults and dispatcher.
  23077                                                               (line  25)
  23078 * org-attach-buffer:                     Attachment defaults and dispatcher.
  23079                                                               (line  35)
  23080 * org-attach-dired-to-subtree:           Attach from Dired.   (line   6)
  23081 * org-attach-new:                        Attachment defaults and dispatcher.
  23082                                                               (line  39)
  23083 * org-attach-open:                       Attachment defaults and dispatcher.
  23084                                                               (line  46)
  23085 * org-attach-open-in-emacs:              Attachment defaults and dispatcher.
  23086                                                               (line  52)
  23087 * org-attach-reveal:                     Attachment defaults and dispatcher.
  23088                                                               (line  55)
  23089 * org-attach-reveal-in-emacs:            Attachment defaults and dispatcher.
  23090                                                               (line  58)
  23091 * org-attach-sync:                       Attachment defaults and dispatcher.
  23092                                                               (line  42)
  23093 * org-babel-check-src-block:             Key bindings and Useful Functions.
  23094                                                               (line  20)
  23095 * org-babel-demarcate-block:             Key bindings and Useful Functions.
  23096                                                               (line  20)
  23097 * org-babel-describe-bindings:           Key bindings and Useful Functions.
  23098                                                               (line  20)
  23099 * org-babel-do-key-sequence-in-edit-buffer: Key bindings and Useful Functions.
  23100                                                               (line  20)
  23101 * org-babel-execute-buffer:              Key bindings and Useful Functions.
  23102                                                               (line  20)
  23103 * org-babel-execute-maybe:               Key bindings and Useful Functions.
  23104                                                               (line  20)
  23105 * org-babel-execute-src-block:           Evaluating Code Blocks.
  23106                                                               (line  23)
  23107 * org-babel-execute-src-block <1>:       Key bindings and Useful Functions.
  23108                                                               (line  11)
  23109 * org-babel-execute-subtree:             Key bindings and Useful Functions.
  23110                                                               (line  20)
  23111 * org-babel-expand-src-block:            Noweb Reference Syntax.
  23112                                                               (line 222)
  23113 * org-babel-expand-src-block <1>:        Key bindings and Useful Functions.
  23114                                                               (line  20)
  23115 * org-babel-goto-named-result:           Key bindings and Useful Functions.
  23116                                                               (line  20)
  23117 * org-babel-goto-named-src-block:        Key bindings and Useful Functions.
  23118                                                               (line  20)
  23119 * org-babel-goto-src-block-head:         Key bindings and Useful Functions.
  23120                                                               (line  20)
  23121 * org-babel-insert-header-arg:           Key bindings and Useful Functions.
  23122                                                               (line  20)
  23123 * org-babel-load-in-session:             Key bindings and Useful Functions.
  23124                                                               (line  11)
  23125 * org-babel-load-in-session <1>:         Key bindings and Useful Functions.
  23126                                                               (line  20)
  23127 * org-babel-lob-ingest:                  Library of Babel.    (line  12)
  23128 * org-babel-lob-ingest <1>:              Key bindings and Useful Functions.
  23129                                                               (line  20)
  23130 * org-babel-next-src-block:              Key bindings and Useful Functions.
  23131                                                               (line  20)
  23132 * org-babel-open-src-block-result:       Key bindings and Useful Functions.
  23133                                                               (line  11)
  23134 * org-babel-open-src-block-result <1>:   Key bindings and Useful Functions.
  23135                                                               (line  20)
  23136 * org-babel-pop-to-session:              Key bindings and Useful Functions.
  23137                                                               (line  11)
  23138 * org-babel-previous-src-block:          Key bindings and Useful Functions.
  23139                                                               (line  20)
  23140 * org-babel-sha1-hash:                   Key bindings and Useful Functions.
  23141                                                               (line  20)
  23142 * org-babel-switch-to-session-with-code: Key bindings and Useful Functions.
  23143                                                               (line  20)
  23144 * org-babel-tangle:                      Extracting Source Code.
  23145                                                               (line 121)
  23146 * org-babel-tangle <1>:                  Key bindings and Useful Functions.
  23147                                                               (line  20)
  23148 * org-babel-tangle-file:                 Extracting Source Code.
  23149                                                               (line 126)
  23150 * org-babel-tangle-file <1>:             Key bindings and Useful Functions.
  23151                                                               (line  20)
  23152 * org-babel-tangle-jump-to-org:          Extracting Source Code.
  23153                                                               (line 152)
  23154 * org-babel-view-src-block-info:         Key bindings and Useful Functions.
  23155                                                               (line  20)
  23156 * org-backward-heading-same-level:       Motion.              (line  18)
  23157 * org-batch-agenda:                      Extracting Agenda Information.
  23158                                                               (line  10)
  23159 * org-batch-agenda-csv:                  Extracting Agenda Information.
  23160                                                               (line  41)
  23161 * org-bbdb-anniversaries:                Weekly/daily agenda. (line  79)
  23162 * org-bbdb-anniversaries-future:         Weekly/daily agenda. (line 110)
  23163 * org-beamer-export-as-latex:            Beamer export commands.
  23164                                                               (line  12)
  23165 * org-beamer-export-to-latex:            Beamer export commands.
  23166                                                               (line   7)
  23167 * org-beamer-export-to-pdf:              Beamer export commands.
  23168                                                               (line  16)
  23169 * org-beamer-select-environment:         Editing support.     (line  12)
  23170 * org-block:                             Timestamps.          (line  40)
  23171 * org-buffer-property-keys:              Using the Property API.
  23172                                                               (line  34)
  23173 * org-calendar-goto-agenda:              Agenda Commands.     (line 454)
  23174 * org-capture:                           Activation.          (line  13)
  23175 * org-capture <1>:                       Using capture.       (line   7)
  23176 * org-capture-finalize:                  Using capture.       (line  15)
  23177 * org-capture-kill:                      Using capture.       (line  31)
  23178 * org-capture-refile:                    Using capture.       (line  22)
  23179 * org-check-after-date:                  Inserting deadline/schedule.
  23180                                                               (line  36)
  23181 * org-check-before-date:                 Inserting deadline/schedule.
  23182                                                               (line  33)
  23183 * org-check-deadlines:                   Inserting deadline/schedule.
  23184                                                               (line  26)
  23185 * org-cite-insert:                       Citations.           (line  17)
  23186 * org-clock-cancel:                      Clocking commands.   (line  78)
  23187 * org-clock-display:                     Clocking commands.   (line  87)
  23188 * org-clock-in:                          Clocking commands.   (line   7)
  23189 * org-clock-in-last:                     Clocking commands.   (line  44)
  23190 * org-clock-modify-effort-estimate:      Clocking commands.   (line  50)
  23191 * org-clock-modify-effort-estimate <1>:  Effort Estimates.    (line  24)
  23192 * org-clock-out:                         Clocking commands.   (line  36)
  23193 * org-clock-report:                      The clock table.     (line  11)
  23194 * org-clock-timestamps-down:             Clocking commands.   (line  59)
  23195 * org-clock-timestamps-up:               Clocking commands.   (line  59)
  23196 * org-clocktable-try-shift:              The clock table.     (line  29)
  23197 * org-clocktable-write-default:          The clock table.     (line 118)
  23198 * org-clone-subtree-with-time-shift:     Structure Editing.   (line  98)
  23199 * org-columns-delete:                    Using column view.   (line  73)
  23200 * org-columns-edit-allowed:              Using column view.   (line  57)
  23201 * org-columns-edit-value:                Using column view.   (line  43)
  23202 * org-columns-insert-dblock:             Capturing column view.
  23203                                                               (line  80)
  23204 * org-columns-move-left:                 Using column view.   (line  76)
  23205 * org-columns-move-right:                Using column view.   (line  79)
  23206 * org-columns-move-row-down:             Using column view.   (line  85)
  23207 * org-columns-move-row-up:               Using column view.   (line  82)
  23208 * org-columns-narrow:                    Using column view.   (line  67)
  23209 * org-columns-new:                       Using column view.   (line  70)
  23210 * org-columns-next-allowed-value:        Using column view.   (line  39)
  23211 * org-columns-previous-allowed-value:    Using column view.   (line  39)
  23212 * org-columns-quit:                      Using column view.   (line  26)
  23213 * org-columns-redo:                      Using column view.   (line  22)
  23214 * org-columns-show-value:                Using column view.   (line  53)
  23215 * org-columns-toggle-or-columns-quit:    Using column view.   (line  49)
  23216 * org-columns-widen:                     Using column view.   (line  67)
  23217 * org-compute-property-at-point:         Property Syntax.     (line 117)
  23218 * org-copy-subtree:                      Structure Editing.   (line  74)
  23219 * org-copy-visible:                      Global and local cycling.
  23220                                                               (line  65)
  23221 * org-cut-subtree:                       Structure Editing.   (line  70)
  23222 * org-cycle:                             Global and local cycling.
  23223                                                               (line  11)
  23224 * org-cycle <1>:                         Structure Editing.   (line  37)
  23225 * org-cycle <2>:                         Plain Lists.         (line  71)
  23226 * org-cycle-agenda-files:                Agenda Files.        (line  26)
  23227 * org-cycle-set-startup-visibility:      Global and local cycling.
  23228                                                               (line  36)
  23229 * org-cycle-set-startup-visibility <1>:  Initial visibility.  (line  26)
  23230 * org-cyclic:                            Timestamps.          (line  40)
  23231 * org-date:                              Timestamps.          (line  40)
  23232 * org-date-from-calendar:                Creating Timestamps. (line  32)
  23233 * org-dblock-update:                     Capturing column view.
  23234                                                               (line  88)
  23235 * org-dblock-update <1>:                 The clock table.     (line  20)
  23236 * org-dblock-update <2>:                 Dynamic Blocks.      (line  25)
  23237 * org-deadline:                          Inserting deadline/schedule.
  23238                                                               (line  10)
  23239 * org-delete-property:                   Property Syntax.     (line 111)
  23240 * org-delete-property-globally:          Property Syntax.     (line 114)
  23241 * org-demote:                            Using the Mapping API.
  23242                                                               (line  93)
  23243 * org-demote-subtree:                    Structure Editing.   (line  57)
  23244 * org-do-demote:                         Structure Editing.   (line  44)
  23245 * org-do-promote:                        Structure Editing.   (line  44)
  23246 * org-dynamic-block-insert-dblock:       Dynamic Blocks.      (line  10)
  23247 * org-edit-special:                      Literal Examples.    (line 102)
  23248 * org-edit-special <1>:                  Include Files.       (line  65)
  23249 * org-edit-special <2>:                  Cooperation.         (line  63)
  23250 * org-emphasize:                         Emphasis and Monospace.
  23251                                                               (line  13)
  23252 * org-entities-help:                     Special Symbols.     (line  16)
  23253 * org-entry-add-to-multivalued-property: Using the Property API.
  23254                                                               (line  49)
  23255 * org-entry-delete:                      Using the Property API.
  23256                                                               (line  28)
  23257 * org-entry-get:                         Using the Property API.
  23258                                                               (line  19)
  23259 * org-entry-get-multivalued-property:    Using the Property API.
  23260                                                               (line  45)
  23261 * org-entry-member-in-multivalued-property: Using the Property API.
  23262                                                               (line  58)
  23263 * org-entry-properties:                  Using the Property API.
  23264                                                               (line   9)
  23265 * org-entry-put:                         Using the Property API.
  23266                                                               (line  31)
  23267 * org-entry-put-multivalued-property:    Using the Property API.
  23268                                                               (line  40)
  23269 * org-entry-remove-from-multivalued-property: Using the Property API.
  23270                                                               (line  53)
  23271 * org-evaluate-time-range:               Creating Timestamps. (line  62)
  23272 * org-evaluate-time-range <1>:           Clocking commands.   (line  53)
  23273 * org-export-as:                         Advanced Export Configuration.
  23274                                                               (line 103)
  23275 * org-export-define-backend:             Adding Export Backends.
  23276                                                               (line  10)
  23277 * org-export-define-derived-backend:     Adding Export Backends.
  23278                                                               (line  10)
  23279 * org-export-dispatch:                   The Export Dispatcher.
  23280                                                               (line  16)
  23281 * org-export-region-to-ascii:            Export Region.       (line  11)
  23282 * org-export-region-to-html:             Export Region.       (line  17)
  23283 * org-export-region-to-latex:            Export Region.       (line  20)
  23284 * org-export-region-to-md:               Export Region.       (line  26)
  23285 * org-export-region-to-texinfo:          Export Region.       (line  23)
  23286 * org-export-region-to-utf8:             Export Region.       (line  14)
  23287 * org-forward-heading-same-level:        Motion.              (line  15)
  23288 * org-global-cycle:                      Global and local cycling.
  23289                                                               (line  20)
  23290 * org-goto:                              Motion.              (line  24)
  23291 * org-goto-calendar:                     Creating Timestamps. (line  35)
  23292 * org-html-convert-region-to-html:       Export Region.       (line  17)
  23293 * org-html-export-as-html:               HTML export commands.
  23294                                                               (line  13)
  23295 * org-html-export-to-html:               HTML export commands.
  23296                                                               (line   7)
  23297 * org-icalendar-combine-agenda-files:    iCalendar Export.    (line  51)
  23298 * org-icalendar-export-agenda-files:     iCalendar Export.    (line  47)
  23299 * org-icalendar-export-to-ics:           iCalendar Export.    (line  43)
  23300 * org-indent-mode:                       Org Indent Mode.     (line   6)
  23301 * org-info-find-node:                    Documentation Access.
  23302                                                               (line   6)
  23303 * org-insert-drawer:                     Drawers.             (line  18)
  23304 * org-insert-drawer <1>:                 Property Syntax.     (line  94)
  23305 * org-insert-heading:                    Plain Lists.         (line  84)
  23306 * org-insert-heading <1>:                Timers.              (line  40)
  23307 * org-insert-heading-respect-content:    Structure Editing.   (line  26)
  23308 * org-insert-link:                       Handling Links.      (line  91)
  23309 * org-insert-link-global:                Using Links Outside Org.
  23310                                                               (line   6)
  23311 * org-insert-property-drawer:            Using the Property API.
  23312                                                               (line  19)
  23313 * org-insert-property-drawer <1>:        Using the Property API.
  23314                                                               (line  37)
  23315 * org-insert-structure-template:         Structure Templates. (line  11)
  23316 * org-insert-todo-heading:               Structure Editing.   (line  29)
  23317 * org-insert-todo-heading <1>:           TODO Basics.         (line  54)
  23318 * org-insert-todo-heading <2>:           Checkboxes.          (line 109)
  23319 * org-insert-todo-heading-respect-content: Structure Editing. (line  33)
  23320 * org-latex-convert-region-to-latex:     Export Region.       (line  20)
  23321 * org-latex-export-as-latex:             LaTeX/PDF export commands.
  23322                                                               (line  11)
  23323 * org-latex-export-to-latex~:            LaTeX/PDF export commands.
  23324                                                               (line   7)
  23325 * org-latex-export-to-pdf:               LaTeX/PDF export commands.
  23326                                                               (line  14)
  23327 * org-latex-preview:                     Previewing LaTeX fragments.
  23328                                                               (line  18)
  23329 * org-link-escape:                       Link Format.         (line  25)
  23330 * org-link-set-parameters:               Adding Hyperlink Types.
  23331                                                               (line  74)
  23332 * org-lint:                              Org Syntax.          (line  23)
  23333 * org-list-checkbox-radio-mode:          Checkboxes.          (line 104)
  23334 * org-lookup-all:                        Lookup functions.    (line  23)
  23335 * org-lookup-first:                      Lookup functions.    (line   9)
  23336 * org-lookup-last:                       Lookup functions.    (line  19)
  23337 * org-map-entries:                       Using the Mapping API.
  23338                                                               (line  12)
  23339 * org-mark-ring-goto:                    Handling Links.      (line 166)
  23340 * org-mark-ring-push:                    Handling Links.      (line 161)
  23341 * org-mark-subtree:                      Structure Editing.   (line  66)
  23342 * org-match-sparse-tree:                 Tag Searches.        (line  10)
  23343 * org-match-sparse-tree <1>:             Property Searches.   (line  11)
  23344 * org-md-convert-region-to-md:           Export Region.       (line  26)
  23345 * org-md-export-as-markdown:             Markdown Export.     (line  27)
  23346 * org-md-export-to-markdown:             Markdown Export.     (line  23)
  23347 * org-meta-return:                       Structure Editing.   (line   7)
  23348 * org-mobile-pull:                       Pulling from the mobile application.
  23349                                                               (line   6)
  23350 * org-mobile-push:                       Pushing to the mobile application.
  23351                                                               (line   6)
  23352 * org-move-subtree-down:                 Structure Editing.   (line  63)
  23353 * org-move-subtree-up:                   Structure Editing.   (line  60)
  23354 * org-narrow-to-block:                   Structure Editing.   (line 125)
  23355 * org-narrow-to-block <1>:               Dynamic Blocks.      (line  58)
  23356 * org-narrow-to-subtree:                 Structure Editing.   (line 122)
  23357 * org-next-link:                         Handling Links.      (line 173)
  23358 * org-next-visible-heading:              Motion.              (line   9)
  23359 * org-occur:                             Sparse Trees.        (line  20)
  23360 * org-odt-convert:                       Extending ODT export.
  23361                                                               (line  37)
  23362 * org-odt-export-to-odt:                 ODT export commands. (line   7)
  23363 * org-open-at-point:                     Handling Links.      (line 128)
  23364 * org-open-at-point <1>:                 Creating Timestamps. (line  40)
  23365 * org-open-at-point-global:              Using Links Outside Org.
  23366                                                               (line   6)
  23367 * org-org-export-to-org:                 Org Export.          (line  14)
  23368 * org-paste-subtree:                     Structure Editing.   (line  78)
  23369 * org-previous-link:                     Handling Links.      (line 173)
  23370 * org-previous-visible-heading:          Motion.              (line  12)
  23371 * org-priority:                          Priorities.          (line  33)
  23372 * org-priority <1>:                      Using the Mapping API.
  23373                                                               (line  81)
  23374 * org-priority-down:                     Priorities.          (line  41)
  23375 * org-priority-up:                       Priorities.          (line  41)
  23376 * org-promote:                           Using the Mapping API.
  23377                                                               (line  90)
  23378 * org-promote-subtree:                   Structure Editing.   (line  54)
  23379 * org-property-action:                   Property Syntax.     (line 100)
  23380 * org-protocol-create:                   The open-source protocol.
  23381                                                               (line  68)
  23382 * org-protocol-create-for-org:           The open-source protocol.
  23383                                                               (line  68)
  23384 * org-publish:                           Triggering Publication.
  23385                                                               (line   9)
  23386 * org-publish-all:                       Triggering Publication.
  23387                                                               (line  19)
  23388 * org-publish-current-file:              Triggering Publication.
  23389                                                               (line  16)
  23390 * org-publish-current-project:           Triggering Publication.
  23391                                                               (line  13)
  23392 * org-publish-find-date:                 Site map.            (line  26)
  23393 * org-publish-find-property:             Site map.            (line  26)
  23394 * org-publish-find-title:                Site map.            (line  26)
  23395 * org-refile:                            Structure Editing.   (line 106)
  23396 * org-refile <1>:                        Refile and Copy.     (line  13)
  23397 * org-refile-cache-clear:                Refile and Copy.     (line  46)
  23398 * org-refile-copy:                       Refile and Copy.     (line  51)
  23399 * org-refile-goto-last-stored:           Refile and Copy.     (line  35)
  23400 * org-refile-reverse:                    Refile and Copy.     (line  55)
  23401 * org-remove-file:                       Agenda Files.        (line  22)
  23402 * org-reveal:                            Global and local cycling.
  23403                                                               (line  43)
  23404 * org-save-all-org-buffers:              Agenda Commands.     (line 197)
  23405 * org-schedule:                          Inserting deadline/schedule.
  23406                                                               (line  18)
  23407 * org-search-view:                       Search view.         (line  10)
  23408 * org-set-effort:                        Effort Estimates.    (line  19)
  23409 * org-set-property:                      Property Syntax.     (line  90)
  23410 * org-set-property <1>:                  Property Syntax.     (line 103)
  23411 * org-set-property <2>:                  Using Header Arguments.
  23412                                                               (line  90)
  23413 * org-set-tags-command:                  Setting Tags.        (line  11)
  23414 * org-shiftcontroldown:                  Clocking commands.   (line  59)
  23415 * org-shiftcontrolup:                    Clocking commands.   (line  59)
  23416 * org-shiftmetadown:                     Clocking commands.   (line  64)
  23417 * org-shiftmetaup:                       Clocking commands.   (line  64)
  23418 * org-show-all:                          Global and local cycling.
  23419                                                               (line  40)
  23420 * org-show-branches:                     Global and local cycling.
  23421                                                               (line  52)
  23422 * org-show-children:                     Global and local cycling.
  23423                                                               (line  55)
  23424 * org-show-todo-tree:                    TODO Basics.         (line  35)
  23425 * org-sort:                              Structure Editing.   (line 110)
  23426 * org-sparse-tree:                       Sparse Trees.        (line  16)
  23427 * org-speed-command-help:                Speed Keys.          (line  18)
  23428 * org-speedbar-set-agenda-restriction:   Agenda Files.        (line  58)
  23429 * org-store-agenda-views:                Exporting Agenda Views.
  23430                                                               (line  53)
  23431 * org-store-link:                        Activation.          (line  13)
  23432 * org-store-link <1>:                    Handling Links.      (line   9)
  23433 * org-submit-bug-report:                 Feedback.            (line  17)
  23434 * org-switchb:                           Agenda Files.        (line  29)
  23435 * org-table-align:                       Built-in Table Editor.
  23436                                                               (line  61)
  23437 * org-table-align <1>:                   Column Width and Alignment.
  23438                                                               (line  17)
  23439 * org-table-beginning-of-field:          Built-in Table Editor.
  23440                                                               (line  79)
  23441 * org-table-blank-field:                 Built-in Table Editor.
  23442                                                               (line  68)
  23443 * org-table-copy-down:                   Built-in Table Editor.
  23444                                                               (line 187)
  23445 * org-table-copy-region:                 Built-in Table Editor.
  23446                                                               (line 152)
  23447 * org-table-create-or-convert-from-region: Built-in Table Editor.
  23448                                                               (line  43)
  23449 * org-table-create-or-convert-from-region <1>: Built-in Table Editor.
  23450                                                               (line 222)
  23451 * org-table-create-with-table.el:        Cooperation.         (line  67)
  23452 * org-table-cut-region:                  Built-in Table Editor.
  23453                                                               (line 158)
  23454 * org-table-delete-column:               Built-in Table Editor.
  23455                                                               (line  95)
  23456 * org-table-edit-field:                  Built-in Table Editor.
  23457                                                               (line 203)
  23458 * org-table-edit-formulas:               Editing and debugging formulas.
  23459                                                               (line  37)
  23460 * org-table-end-of-field:                Built-in Table Editor.
  23461                                                               (line  83)
  23462 * org-table-eval-formula:                Field and range formulas.
  23463                                                               (line  28)
  23464 * org-table-eval-formula <1>:            Column formulas.     (line  33)
  23465 * org-table-eval-formula <2>:            Editing and debugging formulas.
  23466                                                               (line  14)
  23467 * org-table-eval-formula <3>:            Editing and debugging formulas.
  23468                                                               (line  19)
  23469 * org-table-expand:                      Column Width and Alignment.
  23470                                                               (line  57)
  23471 * org-table-export:                      Built-in Table Editor.
  23472                                                               (line 227)
  23473 * org-table-fedit-abort:                 Editing and debugging formulas.
  23474                                                               (line  49)
  23475 * org-table-fedit-finish:                Editing and debugging formulas.
  23476                                                               (line  45)
  23477 * org-table-fedit-line-down:             Editing and debugging formulas.
  23478                                                               (line  74)
  23479 * org-table-fedit-line-up:               Editing and debugging formulas.
  23480                                                               (line  71)
  23481 * org-table-fedit-lisp-indent:           Editing and debugging formulas.
  23482                                                               (line  56)
  23483 * org-table-fedit-ref-down:              Editing and debugging formulas.
  23484                                                               (line  66)
  23485 * org-table-fedit-ref-left:              Editing and debugging formulas.
  23486                                                               (line  66)
  23487 * org-table-fedit-ref-right:             Editing and debugging formulas.
  23488                                                               (line  66)
  23489 * org-table-fedit-ref-up:                Editing and debugging formulas.
  23490                                                               (line  66)
  23491 * org-table-fedit-scroll-down:           Editing and debugging formulas.
  23492                                                               (line  80)
  23493 * org-table-fedit-scroll-up:             Editing and debugging formulas.
  23494                                                               (line  77)
  23495 * org-table-fedit-toggle-ref-type:       Editing and debugging formulas.
  23496                                                               (line  52)
  23497 * org-table-field-info:                  Editing and debugging formulas.
  23498                                                               (line  25)
  23499 * org-table-header-line-mode:            Built-in Table Editor.
  23500                                                               (line 238)
  23501 * org-table-hline-and-move:              Built-in Table Editor.
  23502                                                               (line 131)
  23503 * org-table-import:                      Built-in Table Editor.
  23504                                                               (line 213)
  23505 * org-table-insert-column:               Built-in Table Editor.
  23506                                                               (line  98)
  23507 * org-table-insert-hline:                Built-in Table Editor.
  23508                                                               (line 127)
  23509 * org-table-insert-row:                  Built-in Table Editor.
  23510                                                               (line 123)
  23511 * org-table-iterate:                     Updating the table.  (line  24)
  23512 * org-table-iterate-buffer-tables:       Updating the table.  (line  32)
  23513 * org-table-kill-row:                    Built-in Table Editor.
  23514                                                               (line 108)
  23515 * org-table-move-cell-down:              Built-in Table Editor.
  23516                                                               (line 114)
  23517 * org-table-move-cell-left:              Built-in Table Editor.
  23518                                                               (line 117)
  23519 * org-table-move-cell-right:             Built-in Table Editor.
  23520                                                               (line 120)
  23521 * org-table-move-cell-up:                Built-in Table Editor.
  23522                                                               (line 111)
  23523 * org-table-move-column-left:            Built-in Table Editor.
  23524                                                               (line  89)
  23525 * org-table-move-column-right:           Built-in Table Editor.
  23526                                                               (line  92)
  23527 * org-table-move-row-down:               Built-in Table Editor.
  23528                                                               (line 105)
  23529 * org-table-move-row-up:                 Built-in Table Editor.
  23530                                                               (line 102)
  23531 * org-table-next-field:                  Built-in Table Editor.
  23532                                                               (line  64)
  23533 * org-table-next-row:                    Built-in Table Editor.
  23534                                                               (line  74)
  23535 * org-table-paste-rectangle:             Built-in Table Editor.
  23536                                                               (line 162)
  23537 * org-table-previous-field:              Built-in Table Editor.
  23538                                                               (line  71)
  23539 * org-table-recalculate:                 Updating the table.  (line  14)
  23540 * org-table-recalculate-buffer-tables:   Updating the table.  (line  29)
  23541 * org-table-rotate-recalc-marks:         Advanced features.   (line  11)
  23542 * org-table-shrink:                      Column Width and Alignment.
  23543                                                               (line  54)
  23544 * org-table-sort-lines:                  Built-in Table Editor.
  23545                                                               (line 135)
  23546 * org-table-sum:                         Built-in Table Editor.
  23547                                                               (line 182)
  23548 * org-table-toggle-column-width:         Column Width and Alignment.
  23549                                                               (line  44)
  23550 * org-table-toggle-coordinate-overlays:  Editing and debugging formulas.
  23551                                                               (line  29)
  23552 * org-table-toggle-coordinate-overlays <1>: Editing and debugging formulas.
  23553                                                               (line  83)
  23554 * org-table-toggle-formula-debugger:     Editing and debugging formulas.
  23555                                                               (line  34)
  23556 * org-table-transpose-table-at-point:    Built-in Table Editor.
  23557                                                               (line 244)
  23558 * org-table-wrap-region:                 Built-in Table Editor.
  23559                                                               (line 169)
  23560 * org-tags-view:                         Tag Searches.        (line  15)
  23561 * org-tags-view <1>:                     Property Searches.   (line  15)
  23562 * org-tags-view <2>:                     Matching tags and properties.
  23563                                                               (line  13)
  23564 * org-tags-view <3>:                     Matching tags and properties.
  23565                                                               (line  21)
  23566 * org-texinfo-convert-region-to-texinfo: Export Region.       (line  23)
  23567 * org-texinfo-export-to-info:            Texinfo export commands.
  23568                                                               (line  11)
  23569 * org-texinfo-export-to-texinfo:         Texinfo export commands.
  23570                                                               (line   7)
  23571 * org-time-stamp:                        Creating Timestamps. (line  11)
  23572 * org-time-stamp-inactive:               Creating Timestamps. (line  25)
  23573 * org-timer:                             Timers.              (line  32)
  23574 * org-timer-item:                        Timers.              (line  36)
  23575 * org-timer-pause-or-continue:           Timers.              (line  44)
  23576 * org-timer-set-timer:                   Timers.              (line  23)
  23577 * org-timer-start:                       Timers.              (line  13)
  23578 * org-timer-stop:                        Timers.              (line  47)
  23579 * org-timestamp:                         Creating Timestamps. (line  11)
  23580 * org-timestamp-down:                    Clocking commands.   (line  64)
  23581 * org-timestamp-down-day:                Creating Timestamps. (line  45)
  23582 * org-timestamp-inactive:                Creating Timestamps. (line  25)
  23583 * org-timestamp-up:                      Clocking commands.   (line  64)
  23584 * org-timestamp-up-day:                  Creating Timestamps. (line  45)
  23585 * org-todo:                              Clocking commands.   (line  74)
  23586 * org-todo <1>:                          Using the Mapping API.
  23587                                                               (line  77)
  23588 * org-todo-list:                         Global TODO list.    (line  10)
  23589 * org-todo-list <1>:                     Global TODO list.    (line  18)
  23590 * org-toggle-archive-tag:                Internal archiving.  (line  39)
  23591 * org-toggle-checkbox:                   Checkboxes.          (line  75)
  23592 * org-toggle-comment:                    Comment Lines.       (line  20)
  23593 * org-toggle-heading:                    Structure Editing.   (line 131)
  23594 * org-toggle-inline-images:              Images.              (line  24)
  23595 * org-toggle-ordered-property:           TODO dependencies.   (line  38)
  23596 * org-toggle-ordered-property <1>:       Checkboxes.          (line 113)
  23597 * org-toggle-pretty-entities:            Subscripts and Superscripts.
  23598                                                               (line  29)
  23599 * org-toggle-pretty-entities <1>:        Special Symbols.     (line  31)
  23600 * org-toggle-radio-button:               Checkboxes.          (line  98)
  23601 * org-toggle-sticky-agenda:              Agenda Dispatcher.   (line  55)
  23602 * org-toggle-tag:                        Using the Mapping API.
  23603                                                               (line  85)
  23604 * org-toggle-tags-groups:                Tag Hierarchy.       (line  87)
  23605 * org-toggle-time-stamp-overlays:        Custom time format.  (line  13)
  23606 * org-toggle-timestamp-overlays:         Custom time format.  (line  13)
  23607 * org-tree-to-indirect-buffer:           Global and local cycling.
  23608                                                               (line  59)
  23609 * org-update-statistics-cookies:         Checkboxes.          (line 121)
  23610 * org-version:                           Feedback.            (line  17)
  23611 * org-yank:                              Structure Editing.   (line  86)
  23612 * orgtbl-ascii-draw:                     Org Plot.            (line 148)
  23613 * orgtbl-mode:                           Orgtbl Mode.         (line   6)
  23614 * orgtbl-to-csv:                         Translator functions.
  23615                                                               (line   6)
  23616 * orgtbl-to-generic:                     Translator functions.
  23617                                                               (line   6)
  23618 * orgtbl-to-html:                        Translator functions.
  23619                                                               (line   6)
  23620 * orgtbl-to-latex:                       Translator functions.
  23621                                                               (line   6)
  23622 * orgtbl-to-orgtbl:                      Translator functions.
  23623                                                               (line   6)
  23624 * orgtbl-to-texinfo:                     Translator functions.
  23625                                                               (line   6)
  23626 * orgtbl-to-tsv:                         Translator functions.
  23627                                                               (line   6)
  23628 * orgtbl-to-unicode:                     Translator functions.
  23629                                                               (line   6)
  23630 * outline-up-heading:                    Motion.              (line  21)
  23631 * pcomplete:                             Property Syntax.     (line  86)
  23632 * previous-error:                        Sparse Trees.        (line  35)
  23633 * widen:                                 Structure Editing.   (line 128)
  23634 
  23635 
  23636 File: org.info,  Node: Variable Index,  Prev: Command and Function Index,  Up: Top
  23637 
  23638 G Variable Index
  23639 ****************
  23640 
  23641 This is not a complete index of variables and faces, only the ones that
  23642 are mentioned in the manual.  For a more complete list, use ‘M-x
  23643 org-customize’ and then click yourself through the tree.
  23644 
  23645 
  23646 * Menu:
  23647 
  23648 * cdlatex-simplify-sub-super-scripts:    CDLaTeX mode.        (line  43)
  23649 * constants-unit-system:                 References.          (line 121)
  23650 * constants-unit-system <1>:             In-buffer Settings.  (line 166)
  23651 * icalendar-export-sexp-enumeration-days: iCalendar Export.   (line  11)
  23652 * LaTeX-verbatim-environments:           A LaTeX example.     (line  19)
  23653 * org-adapt-indentation:                 Hard indentation.    (line  16)
  23654 * org-agenda-auto-exclude-function:      Filtering/limiting agenda items.
  23655                                                               (line  99)
  23656 * org-agenda-bulk-custom-functions:      Agenda Commands.     (line 356)
  23657 * org-agenda-bulk-custom-functions <1>:  Agenda Commands.     (line 435)
  23658 * org-agenda-bulk-persistent-marks:      Agenda Commands.     (line 387)
  23659 * org-agenda-category-filter-preset:     Filtering/limiting agenda items.
  23660                                                               (line   6)
  23661 * org-agenda-category-icon-alist:        Categories.          (line  16)
  23662 * org-agenda-clock-consistency-checks:   Agenda Commands.     (line 169)
  23663 * org-agenda-columns-add-appointments-to-effort-sum: Effort Estimates.
  23664                                                               (line  45)
  23665 * org-agenda-confirm-kill:               Agenda Commands.     (line 247)
  23666 * org-agenda-custom-commands:            Sparse Trees.        (line  37)
  23667 * org-agenda-custom-commands <1>:        Storing searches.    (line  11)
  23668 * org-agenda-custom-commands <2>:        Setting options.     (line   6)
  23669 * org-agenda-custom-commands <3>:        Extracting Agenda Information.
  23670                                                               (line  10)
  23671 * org-agenda-custom-commands-contexts:   Setting options.     (line  59)
  23672 * org-agenda-diary-file:                 Agenda Commands.     (line 464)
  23673 * org-agenda-dim-blocked-tasks:          TODO dependencies.   (line  48)
  23674 * org-agenda-dim-blocked-tasks <1>:      Speeding Up Your Agendas.
  23675                                                               (line  15)
  23676 * org-agenda-effort-filter-preset:       Filtering/limiting agenda items.
  23677                                                               (line   6)
  23678 * org-agenda-entry-text-maxlines:        Agenda Commands.     (line 177)
  23679 * org-agenda-exporter-settings:          Exporting Agenda Views.
  23680                                                               (line  14)
  23681 * org-agenda-exporter-settings <1>:      Exporting Agenda Views.
  23682                                                               (line  68)
  23683 * org-agenda-files:                      Agenda Files.        (line   6)
  23684 * org-agenda-files <1>:                  Sorting of agenda items.
  23685                                                               (line   9)
  23686 * org-agenda-ignore-properties:          Speeding Up Your Agendas.
  23687                                                               (line  27)
  23688 * org-agenda-inhibit-startup:            Speeding Up Your Agendas.
  23689                                                               (line  19)
  23690 * org-agenda-log-mode-items:             Agenda Commands.     (line 131)
  23691 * org-agenda-loop-over-headlines-in-active-region: Execute commands in the active region.
  23692                                                               (line  13)
  23693 * org-agenda-max-effort:                 Filtering/limiting agenda items.
  23694                                                               (line 136)
  23695 * org-agenda-max-entries:                Filtering/limiting agenda items.
  23696                                                               (line 133)
  23697 * org-agenda-max-tags:                   Filtering/limiting agenda items.
  23698                                                               (line 142)
  23699 * org-agenda-max-todos:                  Filtering/limiting agenda items.
  23700                                                               (line 139)
  23701 * org-agenda-overriding-header:          Special Agenda Views.
  23702                                                               (line  38)
  23703 * org-agenda-prefix-format:              Presentation and Sorting.
  23704                                                               (line   6)
  23705 * org-agenda-regexp-filter-preset:       Filtering/limiting agenda items.
  23706                                                               (line   6)
  23707 * org-agenda-restore-windows-after-quit: Agenda Views.        (line  42)
  23708 * org-agenda-search-headline-for-time:   Time-of-day specifications.
  23709                                                               (line  16)
  23710 * org-agenda-show-inherited-tags:        Agenda Commands.     (line 274)
  23711 * org-agenda-show-inherited-tags <1>:    Speeding Up Your Agendas.
  23712                                                               (line  23)
  23713 * org-agenda-skip-archived-trees:        Internal archiving.  (line  23)
  23714 * org-agenda-skip-archived-trees <1>:    Agenda Views.        (line  37)
  23715 * org-agenda-skip-comment-trees:         Agenda Views.        (line  37)
  23716 * org-agenda-skip-deadline-prewarning-if-scheduled: Deadlines and Scheduling.
  23717                                                               (line  24)
  23718 * org-agenda-skip-function:              Special Agenda Views.
  23719                                                               (line   6)
  23720 * org-agenda-skip-function <1>:          Special Agenda Views.
  23721                                                               (line  41)
  23722 * org-agenda-skip-function <2>:          Using the Mapping API.
  23723                                                               (line  69)
  23724 * org-agenda-skip-function-global:       Special Agenda Views.
  23725                                                               (line   6)
  23726 * org-agenda-skip-scheduled-delay-if-deadline: Deadlines and Scheduling.
  23727                                                               (line  42)
  23728 * org-agenda-skip-scheduled-if-done:     Deadlines and Scheduling.
  23729                                                               (line  34)
  23730 * org-agenda-skip-scheduled-repeats-after-deadline: Repeated tasks.
  23731                                                               (line  83)
  23732 * org-agenda-sorting-strategy:           Sorting of agenda items.
  23733                                                               (line  28)
  23734 * org-agenda-span:                       Weekly/daily agenda. (line  15)
  23735 * org-agenda-span <1>:                   Agenda Commands.     (line 107)
  23736 * org-agenda-start-day:                  Weekly/daily agenda. (line  15)
  23737 * org-agenda-start-on-weekday:           Weekly/daily agenda. (line  15)
  23738 * org-agenda-start-with-archives-mode:   Agenda Commands.     (line 146)
  23739 * org-agenda-start-with-clockreport-mode: Agenda Commands.    (line 157)
  23740 * org-agenda-start-with-entry-text-mode: Agenda Commands.     (line 177)
  23741 * org-agenda-start-with-follow-mode:     Agenda Commands.     (line  42)
  23742 * org-agenda-sticky:                     Agenda Dispatcher.   (line  55)
  23743 * org-agenda-tag-filter-preset:          Filtering/limiting agenda items.
  23744                                                               (line   6)
  23745 * org-agenda-tags-column:                Presentation and Sorting.
  23746                                                               (line   6)
  23747 * org-agenda-tags-todo-honor-ignore-options: Matching tags and properties.
  23748                                                               (line  21)
  23749 * org-agenda-text-search-extra-files:    Agenda Dispatcher.   (line  30)
  23750 * org-agenda-text-search-extra-files <1>: Search view.        (line  34)
  23751 * org-agenda-time-grid:                  Time-of-day specifications.
  23752                                                               (line  46)
  23753 * org-agenda-time-grid <1>:              Agenda Commands.     (line 185)
  23754 * org-agenda-todo-ignore-deadlines:      Global TODO list.    (line  42)
  23755 * org-agenda-todo-ignore-scheduled:      Global TODO list.    (line  42)
  23756 * org-agenda-todo-ignore-timestamp:      Global TODO list.    (line  42)
  23757 * org-agenda-todo-ignore-with-date:      Global TODO list.    (line  42)
  23758 * org-agenda-todo-list-sublevels:        Breaking Down Tasks. (line   6)
  23759 * org-agenda-todo-list-sublevels <1>:    Global TODO list.    (line  53)
  23760 * org-agenda-use-tag-inheritance:        Tag Inheritance.     (line  26)
  23761 * org-agenda-use-tag-inheritance <1>:    Speeding Up Your Agendas.
  23762                                                               (line  23)
  23763 * org-agenda-use-time-grid:              Time-of-day specifications.
  23764                                                               (line  46)
  23765 * org-agenda-use-time-grid <1>:          Agenda Commands.     (line 185)
  23766 * org-agenda-window-setup:               Agenda Views.        (line  42)
  23767 * org-alphabetical-lists:                Plain Lists.         (line  15)
  23768 * org-archive-default-command:           Archiving.           (line  12)
  23769 * org-archive-default-command <1>:       Agenda Commands.     (line 256)
  23770 * org-archive-location:                  Moving subtrees.     (line  10)
  23771 * org-archive-location <1>:              In-buffer Settings.  (line  16)
  23772 * org-archive-save-context-info:         Moving subtrees.     (line  41)
  23773 * org-archive-subtree-save-file-p:       Moving subtrees.     (line  47)
  23774 * org-ascii-links-to-notes:              ASCII/Latin-1/UTF-8 export.
  23775                                                               (line  16)
  23776 * org-ascii-text-width:                  ASCII/Latin-1/UTF-8 export.
  23777                                                               (line  13)
  23778 * org-attach-archive-delete:             Attachment options.  (line  60)
  23779 * org-attach-auto-tag:                   Attachment options.  (line  64)
  23780 * org-attach-commands:                   Attachment options.  (line  85)
  23781 * org-attach-dir-relative:               Attachment options.  (line  13)
  23782 * org-attach-expert:                     Attachment options.  (line  88)
  23783 * org-attach-id-dir:                     Attachment options.  (line   9)
  23784 * org-attach-id-to-path-function-list:   Attachment options.  (line  68)
  23785 * org-attach-method:                     Attachment defaults and dispatcher.
  23786                                                               (line  25)
  23787 * org-attach-method <1>:                 Attachment options.  (line  49)
  23788 * org-attach-preferred-new-method:       Attachment options.  (line  55)
  23789 * org-attach-store-link-p:               Attachment options.  (line  77)
  23790 * org-attach-use-inheritance:            Attachment options.  (line  18)
  23791 * org-babel-default-header-args:         Using Header Arguments.
  23792                                                               (line  19)
  23793 * org-babel-default-header-args <1>:     Using Header Arguments.
  23794                                                               (line  19)
  23795 * org-babel-default-inline-header-args:  Using Header Arguments.
  23796                                                               (line  31)
  23797 * org-babel-inline-result-wrap:          Evaluating Code Blocks.
  23798                                                               (line  28)
  23799 * org-babel-load-languages:              Languages.           (line  10)
  23800 * org-babel-post-tangle-hook:            Extracting Source Code.
  23801                                                               (line 142)
  23802 * org-babel-pre-tangle-hook:             Extracting Source Code.
  23803                                                               (line 132)
  23804 * org-babel-tangle-body-hook:            Extracting Source Code.
  23805                                                               (line 136)
  23806 * org-babel-tangle-finished-hook:        Extracting Source Code.
  23807                                                               (line 147)
  23808 * org-beamer-environments-default:       Frames and Blocks in Beamer.
  23809                                                               (line  25)
  23810 * org-beamer-environments-extra:         Frames and Blocks in Beamer.
  23811                                                               (line  25)
  23812 * org-beamer-frame-level:                Frames and Blocks in Beamer.
  23813                                                               (line  10)
  23814 * org-beamer-theme:                      Beamer specific export settings.
  23815                                                               (line  11)
  23816 * org-bookmark-names-plist:              Using capture.       (line  48)
  23817 * org-calc-default-modes:                Formula syntax for Calc.
  23818                                                               (line  17)
  23819 * org-capture-last-stored:               Using capture.       (line  48)
  23820 * org-capture-templates:                 Capture templates.   (line  11)
  23821 * org-capture-templates-contexts:        Templates in contexts.
  23822                                                               (line   6)
  23823 * org-capture-use-agenda-date:           Agenda Commands.     (line 349)
  23824 * org-checkbox-hierarchical-statistics:  Checkboxes.          (line  24)
  23825 * org-cite-activate-processor:           Citation handling.   (line  53)
  23826 * org-cite-biblatex-options:             Citation export processors.
  23827                                                               (line  68)
  23828 * org-cite-export-processor:             Citation handling.   (line  53)
  23829 * org-cite-follow-processor:             Citation handling.   (line  53)
  23830 * org-cite-global-bibliography:          Citations.           (line   6)
  23831 * org-cite-insert-processor:             Citation handling.   (line  53)
  23832 * org-clock-auto-clockout-timer:         Resolving idle time. (line  91)
  23833 * org-clock-continuously:                Clocking commands.   (line   7)
  23834 * org-clock-continuously <1>:            Clocking commands.   (line  44)
  23835 * org-clock-continuously <2>:            Resolving idle time. (line  78)
  23836 * org-clock-display-default-range:       The clock table.     (line  80)
  23837 * org-clock-idle-time:                   Resolving idle time. (line  14)
  23838 * org-clock-in-prepare-hook:             Clocking commands.   (line  21)
  23839 * org-clock-into-drawer:                 Clocking commands.   (line   7)
  23840 * org-clock-mode-line-total:             Clocking commands.   (line  21)
  23841 * org-clock-persist:                     Clocking Work Time.  (line  19)
  23842 * org-clock-report-include-clocking-task: Agenda Commands.    (line 157)
  23843 * org-clock-x11idle-program-name:        Resolving idle time. (line  14)
  23844 * org-clocktable-defaults:               The clock table.     (line  39)
  23845 * org-closed-keep-when-no-todo:          Closing items.       (line  11)
  23846 * org-coderef-label-format:              Literal Examples.    (line  88)
  23847 * org-columns:                           Using column view.   (line  10)
  23848 * org-columns-dblock-formatter:          Capturing column view.
  23849                                                               (line  74)
  23850 * org-columns-default-format:            Using column view.   (line  10)
  23851 * org-columns-default-format <1>:        Effort Estimates.    (line  35)
  23852 * org-columns-default-format <2>:        Agenda Commands.     (line 201)
  23853 * org-columns-default-format <3>:        Agenda Column View.  (line  19)
  23854 * org-columns-default-format-for-agenda: Agenda Column View.  (line  19)
  23855 * org-columns-skip-archived-trees:       Internal archiving.  (line  33)
  23856 * org-columns-summary-types:             Column attributes.   (line  51)
  23857 * org-complete-tags-always-offer-all-agenda-tags: Setting Tags.
  23858                                                               (line  22)
  23859 * org-confirm-babel-evaluate:            Code Evaluation Security.
  23860                                                               (line  25)
  23861 * org-create-file-search-functions:      Custom Searches.     (line  12)
  23862 * org-crypt-tag-matcher:                 Org Crypt.           (line  11)
  23863 * org-ctrl-k-protect-subtree:            Headlines.           (line   6)
  23864 * org-cycle-emulate-tab:                 Global and local cycling.
  23865                                                               (line  16)
  23866 * org-cycle-global-at-bob:               Global and local cycling.
  23867                                                               (line  31)
  23868 * org-cycle-include-plain-lists:         Plain Lists.         (line  71)
  23869 * org-cycle-inline-images-display:       Images.              (line  86)
  23870 * org-cycle-open-archived-trees:         Internal archiving.  (line  13)
  23871 * org-cycle-separator-lines:             Headlines.           (line  29)
  23872 * org-deadline-warning-days:             Deadlines and Scheduling.
  23873                                                               (line  14)
  23874 * org-deadline-warning-days <1>:         Inserting deadline/schedule.
  23875                                                               (line  26)
  23876 * org-default-notes-file:                Setting up capture.  (line   8)
  23877 * org-default-notes-file <1>:            Template elements.   (line  50)
  23878 * org-directory:                         Template elements.   (line  50)
  23879 * org-display-custom-times:              Custom time format.  (line   6)
  23880 * org-display-custom-times <1>:          In-buffer Settings.  (line 160)
  23881 * org-disputed-keys:                     Conflicts.           (line  27)
  23882 * org-done, face:                        Faces for TODO keywords.
  23883                                                               (line   6)
  23884 * org-edit-src-auto-save-idle-delay:     Editing Source Code. (line  11)
  23885 * org-effort-property:                   Effort Estimates.    (line   6)
  23886 * org-enforce-todo-dependencies:         TODO dependencies.   (line   6)
  23887 * org-enforce-todo-dependencies <1>:     TODO dependencies.   (line  53)
  23888 * org-entities-user:                     Special Symbols.     (line  16)
  23889 * org-execute-file-search-functions:     Custom Searches.     (line  12)
  23890 * org-export-allow-bind-keywords:        Export Settings.     (line 229)
  23891 * org-export-async-init-file:            The Export Dispatcher.
  23892                                                               (line  42)
  23893 * org-export-backends:                   Exporting.           (line  33)
  23894 * org-export-before-parsing-hook:        Advanced Export Configuration.
  23895                                                               (line   9)
  23896 * org-export-before-processing-functions: Advanced Export Configuration.
  23897                                                               (line   9)
  23898 * org-export-before-processing-hook:     Advanced Export Configuration.
  23899                                                               (line   9)
  23900 * org-export-body-only:                  The Export Dispatcher.
  23901                                                               (line  51)
  23902 * org-export-creator-string:             HTML preamble and postamble.
  23903                                                               (line   6)
  23904 * org-export-date-timestamp-format:      Export Settings.     (line  32)
  23905 * org-export-default-language:           Export Settings.     (line  38)
  23906 * org-export-default-language <1>:       LaTeX specific export settings.
  23907                                                               (line  20)
  23908 * org-export-default-language <2>:       LaTeX header and sectioning.
  23909                                                               (line  47)
  23910 * org-export-dispatch-use-expert-ui:     The Export Dispatcher.
  23911                                                               (line  10)
  23912 * org-export-exclude-tags:               Export Settings.     (line  61)
  23913 * org-export-expand-links:               Export Settings.     (line 126)
  23914 * org-export-force-publishing:           The Export Dispatcher.
  23915                                                               (line  61)
  23916 * org-export-global-macros:              Macro Replacement.   (line   6)
  23917 * org-export-headline-levels:            Export Settings.     (line 160)
  23918 * org-export-html-table-tag:             Tables in HTML export.
  23919                                                               (line   6)
  23920 * org-export-html-tag-class-prefix:      CSS support.         (line   6)
  23921 * org-export-html-todo-kwd-class-prefix: CSS support.         (line   6)
  23922 * org-export-html-use-infojs:            JavaScript support.  (line  70)
  23923 * org-export-in-background:              The Export Dispatcher.
  23924                                                               (line  39)
  23925 * org-export-initial-scope:              The Export Dispatcher.
  23926                                                               (line  75)
  23927 * org-export-odt-convert-capabilities:   Advanced topics in ODT export.
  23928                                                               (line  22)
  23929 * org-export-odt-convert-process:        Advanced topics in ODT export.
  23930                                                               (line  28)
  23931 * org-export-odt-convert-processes:      Advanced topics in ODT export.
  23932                                                               (line  17)
  23933 * org-export-odt-preferred-output-format: ODT export commands.
  23934                                                               (line  25)
  23935 * org-export-odt-schema-dir:             Advanced topics in ODT export.
  23936                                                               (line 269)
  23937 * org-export-preserve-breaks:            Export Settings.     (line 108)
  23938 * org-export-select-tags:                Export Settings.     (line  44)
  23939 * org-export-time-stamp-file:            Export Settings.     (line 206)
  23940 * org-export-time-stamp-file <1>:        HTML preamble and postamble.
  23941                                                               (line   6)
  23942 * org-export-timestamp-file:             Export Settings.     (line 206)
  23943 * org-export-use-babel:                  Exporting Code Blocks.
  23944                                                               (line  66)
  23945 * org-export-visible-only:               The Export Dispatcher.
  23946                                                               (line  84)
  23947 * org-export-with-archived-trees:        Internal archiving.  (line  29)
  23948 * org-export-with-archived-trees <1>:    Export Settings.     (line 117)
  23949 * org-export-with-author:                Export Settings.     (line 122)
  23950 * org-export-with-broken-links:          Export Settings.     (line 130)
  23951 * org-export-with-clocks:                Export Settings.     (line 135)
  23952 * org-export-with-creator:               Export Settings.     (line 138)
  23953 * org-export-with-date:                  Export Settings.     (line 146)
  23954 * org-export-with-drawers:               Export Settings.     (line 142)
  23955 * org-export-with-email:                 Export Settings.     (line 153)
  23956 * org-export-with-emphasize:             Export Settings.     (line  94)
  23957 * org-export-with-entities:              Export Settings.     (line 150)
  23958 * org-export-with-fixed-width:           Export Settings.     (line 101)
  23959 * org-export-with-footnotes:             Export Settings.     (line 157)
  23960 * org-export-with-inlinetasks:           Export Settings.     (line 165)
  23961 * org-export-with-latex:                 LaTeX fragments.     (line  44)
  23962 * org-export-with-latex <1>:             Export Settings.     (line 202)
  23963 * org-export-with-planning:              Export Settings.     (line 176)
  23964 * org-export-with-priority:              Export Settings.     (line 182)
  23965 * org-export-with-properties:            Export Settings.     (line 185)
  23966 * org-export-with-section-numbers:       Export Settings.     (line 168)
  23967 * org-export-with-smart-quotes:          Export Settings.     (line  88)
  23968 * org-export-with-special-strings:       Export Settings.     (line  97)
  23969 * org-export-with-statistics-cookies:    Export Settings.     (line 189)
  23970 * org-export-with-sub-superscripts:      Subscripts and Superscripts.
  23971                                                               (line  13)
  23972 * org-export-with-sub-superscripts <1>:  Export Settings.     (line 112)
  23973 * org-export-with-tables:                Export Settings.     (line 221)
  23974 * org-export-with-tags:                  Export Settings.     (line 193)
  23975 * org-export-with-tasks:                 Export Settings.     (line 197)
  23976 * org-export-with-timestamps:            Export Settings.     (line 104)
  23977 * org-export-with-title:                 Export Settings.     (line 210)
  23978 * org-export-with-toc:                   Export Settings.     (line 213)
  23979 * org-export-with-toc <1>:               Table of Contents.   (line   6)
  23980 * org-export-with-todo-keywords:         Export Settings.     (line 217)
  23981 * org-expot-creator-string:              Export Settings.     (line  28)
  23982 * org-faces-easy-properties:             Faces for TODO keywords.
  23983                                                               (line  17)
  23984 * org-fast-tag-selection-maximum-tags:   Setting Tags.        (line 152)
  23985 * org-fast-tag-selection-single-key:     Setting Tags.        (line 142)
  23986 * org-file-apps:                         Handling Links.      (line 128)
  23987 * org-file-apps <1>:                     Attachment defaults and dispatcher.
  23988                                                               (line  46)
  23989 * org-fold-catch-invisible-edits:        Catching invisible edits.
  23990                                                               (line   6)
  23991 * org-fold-catch-invisible-edits-commands: Catching invisible edits.
  23992                                                               (line   6)
  23993 * org-fontify-emphasized-text:           Emphasis and Monospace.
  23994                                                               (line  18)
  23995 * org-footnote-auto-adjust:              Creating Footnotes.  (line  60)
  23996 * org-footnote-auto-adjust <1>:          In-buffer Settings.  (line 172)
  23997 * org-footnote-auto-label:               Creating Footnotes.  (line  32)
  23998 * org-footnote-auto-label <1>:           In-buffer Settings.  (line 172)
  23999 * org-footnote-define-inline:            Creating Footnotes.  (line  45)
  24000 * org-footnote-define-inline <1>:        In-buffer Settings.  (line 172)
  24001 * org-footnote-section:                  Headlines.           (line  18)
  24002 * org-footnote-section <1>:              Creating Footnotes.  (line  45)
  24003 * org-format-latex-header:               LaTeX fragments.     (line   6)
  24004 * org-format-latex-header <1>:           Previewing LaTeX fragments.
  24005                                                               (line  12)
  24006 * org-format-latex-options:              Previewing LaTeX fragments.
  24007                                                               (line  12)
  24008 * org-global-properties:                 Property Syntax.     (line  80)
  24009 * org-global-properties <1>:             Effort Estimates.    (line  35)
  24010 * org-goto-auto-isearch:                 Motion.              (line  24)
  24011 * org-goto-interface:                    Motion.              (line  41)
  24012 * org-group-tags:                        Tag Hierarchy.       (line  87)
  24013 * org-habit-following-days:              Tracking your habits.
  24014                                                               (line  93)
  24015 * org-habit-graph-column:                Tracking your habits.
  24016                                                               (line  84)
  24017 * org-habit-preceding-days:              Tracking your habits.
  24018                                                               (line  89)
  24019 * org-habit-show-habits-only-for-today:  Tracking your habits.
  24020                                                               (line  96)
  24021 * org-hide, face:                        Hard indentation.    (line  21)
  24022 * org-hide-block-startup:                Blocks.              (line   6)
  24023 * org-hide-block-startup <1>:            In-buffer Settings.  (line 186)
  24024 * org-hide-drawer-startup:               In-buffer Settings.  (line 186)
  24025 * org-hide-emphasis-markers:             Emphasis and Monospace.
  24026                                                               (line  22)
  24027 * org-hide-leading-stars:                Hard indentation.    (line  21)
  24028 * org-hide-leading-stars <1>:            In-buffer Settings.  (line 148)
  24029 * org-hide-macro-markers:                Macro Replacement.   (line  88)
  24030 * org-hierarchical-todo-statistics:      Breaking Down Tasks. (line  25)
  24031 * org-html-container-element:            HTML specific export settings.
  24032                                                               (line  22)
  24033 * org-html-doctype:                      HTML specific export settings.
  24034                                                               (line  19)
  24035 * org-html-doctype <1>:                  HTML doctypes.       (line   8)
  24036 * org-html-doctype-alist:                HTML doctypes.       (line   8)
  24037 * org-html-head:                         HTML specific export settings.
  24038                                                               (line  38)
  24039 * org-html-head <1>:                     Bare HTML.           (line   9)
  24040 * org-html-head <2>:                     CSS support.         (line  44)
  24041 * org-html-head-extra:                   HTML specific export settings.
  24042                                                               (line  42)
  24043 * org-html-head-extra <1>:               Bare HTML.           (line   9)
  24044 * org-html-head-extra <2>:               CSS support.         (line  44)
  24045 * org-html-head-include-default-style:   Bare HTML.           (line   9)
  24046 * org-html-head-include-default-style <1>: CSS support.       (line  52)
  24047 * org-html-head-include-scripts:         Bare HTML.           (line   9)
  24048 * org-html-html5-elements:               HTML doctypes.       (line  60)
  24049 * org-html-html5-fancy:                  HTML doctypes.       (line  25)
  24050 * org-html-inline-images:                Images in HTML export.
  24051                                                               (line   9)
  24052 * org-html-link-home:                    HTML specific export settings.
  24053                                                               (line  26)
  24054 * org-html-link-org-files-as-html:       Links in HTML export.
  24055                                                               (line  12)
  24056 * org-html-link-up:                      HTML specific export settings.
  24057                                                               (line  29)
  24058 * org-html-mathjax-options:              HTML specific export settings.
  24059                                                               (line  33)
  24060 * org-html-mathjax-options~:             Math formatting in HTML export.
  24061                                                               (line   6)
  24062 * org-html-mathjax-template:             Math formatting in HTML export.
  24063                                                               (line  18)
  24064 * org-html-postamble:                    HTML preamble and postamble.
  24065                                                               (line   6)
  24066 * org-html-postamble <1>:                Bare HTML.           (line   9)
  24067 * org-html-postamble-format:             HTML preamble and postamble.
  24068                                                               (line   6)
  24069 * org-html-preamble:                     HTML preamble and postamble.
  24070                                                               (line   6)
  24071 * org-html-preamble <1>:                 Bare HTML.           (line   9)
  24072 * org-html-preamble-format:              HTML preamble and postamble.
  24073                                                               (line   6)
  24074 * org-html-self-link-headlines:          Headlines in HTML export.
  24075                                                               (line  10)
  24076 * org-html-style-default:                CSS support.         (line  44)
  24077 * org-html-table-align-individual-fields: Tables in HTML export.
  24078                                                               (line  20)
  24079 * org-html-table-caption-above:          Tables in HTML export.
  24080                                                               (line  24)
  24081 * org-html-table-data-tags:              Tables in HTML export.
  24082                                                               (line  27)
  24083 * org-html-table-default-attributes:     Tables in HTML export.
  24084                                                               (line  30)
  24085 * org-html-table-header-tags:            Tables in HTML export.
  24086                                                               (line  33)
  24087 * org-html-table-row-tags:               Tables in HTML export.
  24088                                                               (line  36)
  24089 * org-html-table-use-header-tags-for-first-column: Tables in HTML export.
  24090                                                               (line  39)
  24091 * org-html-use-infojs:                   Bare HTML.           (line   9)
  24092 * org-html-validation-link:              HTML preamble and postamble.
  24093                                                               (line   6)
  24094 * org-icalendar-alarm-time:              iCalendar Export.    (line  24)
  24095 * org-icalendar-categories:              iCalendar Export.    (line  24)
  24096 * org-icalendar-combined-agenda-file:    iCalendar Export.    (line  51)
  24097 * org-icalendar-include-body:            iCalendar Export.    (line  73)
  24098 * org-icalendar-include-todo:            iCalendar Export.    (line  14)
  24099 * org-icalendar-store-UID:               iCalendar Export.    (line  30)
  24100 * org-icalendar-todo-unscheduled-start:  iCalendar Export.    (line  19)
  24101 * org-icalendar-ttl:                     iCalendar Export.    (line  97)
  24102 * org-icalendar-use-deadline:            iCalendar Export.    (line  19)
  24103 * org-icalendar-use-scheduled:           iCalendar Export.    (line  19)
  24104 * org-id-link-consider-parent-id:        Handling Links.      (line  33)
  24105 * org-id-link-to-org-use-id:             Handling Links.      (line  22)
  24106 * org-id-link-use-context:               Handling Links.      (line  33)
  24107 * org-image-actual-width:                Images.              (line  30)
  24108 * org-image-align:                       Images.              (line  58)
  24109 * org-image-max-width:                   Images.              (line  30)
  24110 * org-imenu-depth:                       Cooperation.         (line  37)
  24111 * org-indent-indentation-per-level:      Org Indent Mode.     (line  11)
  24112 * org-indent-mode-turns-off-org-adapt-indentation: Org Indent Mode.
  24113                                                               (line  15)
  24114 * org-indent-mode-turns-on-hiding-stars: Org Indent Mode.     (line  15)
  24115 * org-infojs-options:                    JavaScript support.  (line  70)
  24116 * org-insert-mode-line-in-empty-file:    Activation.          (line  31)
  24117 * org-irc-links-to-logs:                 Handling Links.      (line  67)
  24118 * org-latex-bibtex-compiler:             LaTeX/PDF export commands.
  24119                                                               (line  25)
  24120 * org-latex-classes:                     LaTeX specific export settings.
  24121                                                               (line  41)
  24122 * org-latex-classes <1>:                 LaTeX specific export settings.
  24123                                                               (line  58)
  24124 * org-latex-classes <2>:                 LaTeX header and sectioning.
  24125                                                               (line  13)
  24126 * org-latex-compiler:                    LaTeX/PDF export commands.
  24127                                                               (line  25)
  24128 * org-latex-compiler <1>:                LaTeX specific export settings.
  24129                                                               (line  53)
  24130 * org-latex-default-class:               LaTeX specific export settings.
  24131                                                               (line  41)
  24132 * org-latex-default-class <1>:           LaTeX header and sectioning.
  24133                                                               (line  13)
  24134 * org-latex-default-packages-alist:      LaTeX/PDF export commands.
  24135                                                               (line  25)
  24136 * org-latex-default-packages-alist <1>:  LaTeX header and sectioning.
  24137                                                               (line  13)
  24138 * org-latex-default-table-environment:   Tables in LaTeX export.
  24139                                                               (line  25)
  24140 * org-latex-default-table-mode:          Tables in LaTeX export.
  24141                                                               (line  12)
  24142 * org-latex-engraved-options:            Source blocks in LaTeX export.
  24143                                                               (line  33)
  24144 * org-latex-hyperref-template:           LaTeX specific export settings.
  24145                                                               (line  11)
  24146 * org-latex-hyperref-template <1>:       LaTeX specific export settings.
  24147                                                               (line  63)
  24148 * org-latex-images-centered:             Images in LaTeX export.
  24149                                                               (line  63)
  24150 * org-latex-language-alist:              LaTeX specific export settings.
  24151                                                               (line  20)
  24152 * org-latex-listings-options:            Source blocks in LaTeX export.
  24153                                                               (line  33)
  24154 * org-latex-minted-options:              Source blocks in LaTeX export.
  24155                                                               (line  33)
  24156 * org-latex-packages-alist:              LaTeX specific export settings.
  24157                                                               (line  20)
  24158 * org-latex-packages-alist <1>:          LaTeX header and sectioning.
  24159                                                               (line  13)
  24160 * org-latex-src-block-backend:           Literal Examples.    (line  31)
  24161 * org-latex-src-block-backend <1>:       Source blocks in LaTeX export.
  24162                                                               (line   6)
  24163 * org-latex-subtitle-format:             LaTeX specific export settings.
  24164                                                               (line  72)
  24165 * org-latex-subtitle-separate:           LaTeX specific export settings.
  24166                                                               (line  72)
  24167 * org-latex-tables-booktabs:             Tables in LaTeX export.
  24168                                                               (line  79)
  24169 * org-latex-tables-centered:             Tables in LaTeX export.
  24170                                                               (line  79)
  24171 * org-latex-title-command:               LaTeX specific export settings.
  24172                                                               (line  11)
  24173 * org-latex-title-command <1>:           LaTeX specific export settings.
  24174                                                               (line  63)
  24175 * org-latex-to-mathml-convert-command:   LaTeX math snippets. (line  20)
  24176 * org-latex-to-mathml-jar-file:          LaTeX math snippets. (line  20)
  24177 * org-link-abbrev-alist:                 Link Abbreviations.  (line  12)
  24178 * org-link-abbrev-alist <1>:             In-buffer Settings.  (line  39)
  24179 * org-link-context-for-files:            Handling Links.      (line  33)
  24180 * org-link-descriptive:                  In-buffer Settings.  (line 116)
  24181 * org-link-elisp-confirm-function:       Code Evaluation Security.
  24182                                                               (line  52)
  24183 * org-link-email-description-format:     Handling Links.      (line  53)
  24184 * org-link-frame-setup:                  Handling Links.      (line 143)
  24185 * org-link-from-user-regexp:             Template expansion.  (line 113)
  24186 * org-link-keep-stored-after-insertion:  Handling Links.      (line  91)
  24187 * org-link-parameters:                   Adding Hyperlink Types.
  24188                                                               (line  74)
  24189 * org-link-search-must-match-exact-headline: Internal Links.  (line  31)
  24190 * org-link-shell-confirm-function:       Code Evaluation Security.
  24191                                                               (line  49)
  24192 * org-link-use-indirect-buffer-for-internals: Handling Links. (line 157)
  24193 * org-list-automatic-rules:              Plain Lists.         (line  64)
  24194 * org-list-automatic-rules <1>:          Checkboxes.          (line   6)
  24195 * org-list-demote-modify-bullet:         Plain Lists.         (line  58)
  24196 * org-list-indent-offset:                Plain Lists.         (line  58)
  24197 * org-list-use-circular-motion:          Plain Lists.         (line  96)
  24198 * org-log-done:                          Tracking TODO state changes.
  24199                                                               (line  25)
  24200 * org-log-done <1>:                      Agenda Commands.     (line 131)
  24201 * org-log-done <2>:                      In-buffer Settings.  (line 126)
  24202 * org-log-into-drawer:                   Tracking TODO state changes.
  24203                                                               (line   6)
  24204 * org-log-into-drawer <1>:               Agenda Commands.     (line 299)
  24205 * org-log-note-clock-out:                Clocking commands.   (line  36)
  24206 * org-log-note-clock-out <1>:            In-buffer Settings.  (line 126)
  24207 * org-log-redeadline:                    Inserting deadline/schedule.
  24208                                                               (line  10)
  24209 * org-log-refile:                        Refile and Copy.     (line  13)
  24210 * org-log-repeat:                        Repeated tasks.      (line  43)
  24211 * org-log-repeat <1>:                    In-buffer Settings.  (line 126)
  24212 * org-log-reschedule:                    Inserting deadline/schedule.
  24213                                                               (line  18)
  24214 * org-log-states-order-reversed:         Tracking TODO state changes.
  24215                                                               (line   6)
  24216 * org-loop-over-headlines-in-active-region: Execute commands in the active region.
  24217                                                               (line   6)
  24218 * org-M-RET-may-split-line:              Structure Editing.   (line   7)
  24219 * org-M-RET-may-split-line <1>:          Plain Lists.         (line  84)
  24220 * org-md-headline-style:                 Markdown Export.     (line  35)
  24221 * org-mobile-directory:                  Setting up the staging area.
  24222                                                               (line   6)
  24223 * org-mobile-encryption:                 Setting up the staging area.
  24224                                                               (line  19)
  24225 * org-mobile-files:                      Pushing to the mobile application.
  24226                                                               (line   6)
  24227 * org-mobile-inbox-for-pull:             Pulling from the mobile application.
  24228                                                               (line  12)
  24229 * org-num-face:                          Dynamic Headline Numbering.
  24230                                                               (line  19)
  24231 * org-num-format-function:               Dynamic Headline Numbering.
  24232                                                               (line  19)
  24233 * org-num-max-level:                     Dynamic Headline Numbering.
  24234                                                               (line  10)
  24235 * org-num-skip-commented:                Dynamic Headline Numbering.
  24236                                                               (line  10)
  24237 * org-num-skip-footnotes:                Dynamic Headline Numbering.
  24238                                                               (line  16)
  24239 * org-num-skip-tags:                     Dynamic Headline Numbering.
  24240                                                               (line  10)
  24241 * org-num-skip-unnumbered:               Dynamic Headline Numbering.
  24242                                                               (line  10)
  24243 * org-odd-levels-only:                   Matching tags and properties.
  24244                                                               (line  63)
  24245 * org-odd-levels-only <1>:               Hard indentation.    (line  29)
  24246 * org-odd-levels-only <2>:               In-buffer Settings.  (line 148)
  24247 * org-odd-levels-only <3>:               Special Agenda Views.
  24248                                                               (line  41)
  24249 * org-odt-category-map-alist:            Labels and captions in ODT export.
  24250                                                               (line  21)
  24251 * org-odt-convert-process:               Extending ODT export.
  24252                                                               (line  12)
  24253 * org-odt-create-custom-styles-for-srcblocks: Literal examples in ODT export.
  24254                                                               (line  16)
  24255 * org-odt-fontify-srcblocks:             Literal examples in ODT export.
  24256                                                               (line  13)
  24257 * org-odt-pixels-per-inch:               Images in ODT export.
  24258                                                               (line  34)
  24259 * org-odt-preferred-output-format:       ODT export commands. (line   9)
  24260 * org-odt-preferred-output-format <1>:   Extending ODT export.
  24261                                                               (line  21)
  24262 * org-odt-styles-file:                   ODT specific export settings.
  24263                                                               (line  22)
  24264 * org-odt-styles-file <1>:               Applying custom styles.
  24265                                                               (line  25)
  24266 * org-odt-table-styles:                  Advanced topics in ODT export.
  24267                                                               (line 158)
  24268 * org-odt-table-styles <1>:              Advanced topics in ODT export.
  24269                                                               (line 226)
  24270 * org-outline-path-complete-in-steps:    Refile and Copy.     (line  13)
  24271 * org-plain-list-ordered-item-terminator: Plain Lists.        (line  15)
  24272 * org-plain-list-ordered-item-terminator <1>: Plain Lists.    (line 132)
  24273 * org-popup-calendar-for-date-prompt:    The date/time prompt.
  24274                                                               (line  78)
  24275 * org-pretty-entities:                   Subscripts and Superscripts.
  24276                                                               (line  31)
  24277 * org-pretty-entities <1>:               In-buffer Settings.  (line 195)
  24278 * org-pretty-entities-include-sub-superscripts: Subscripts and Superscripts.
  24279                                                               (line  31)
  24280 * org-preview-latex-default-process:     Previewing LaTeX fragments.
  24281                                                               (line   6)
  24282 * org-priority-default:                  Priorities.          (line  46)
  24283 * org-priority-default <1>:              In-buffer Settings.  (line  44)
  24284 * org-priority-faces:                    Priorities.          (line  13)
  24285 * org-priority-highest:                  Priorities.          (line  46)
  24286 * org-priority-highest <1>:              In-buffer Settings.  (line  44)
  24287 * org-priority-lowest:                   Priorities.          (line  46)
  24288 * org-priority-lowest <1>:               In-buffer Settings.  (line  44)
  24289 * org-priority-start-cycle-with-default: Priorities.          (line  41)
  24290 * org-property-allowed-value-functions:  Using the Property API.
  24291                                                               (line  63)
  24292 * org-protocol-default-template-key:     The capture protocol.
  24293                                                               (line  30)
  24294 * org-protocol-project-alist:            The open-source protocol.
  24295                                                               (line  13)
  24296 * org-publish-project-alist:             Project alist.       (line   6)
  24297 * org-publish-project-alist <1>:         Publishing options.  (line  12)
  24298 * org-publish-project-alist <2>:         Site map.            (line   6)
  24299 * org-publish-use-timestamps-flag:       Triggering Publication.
  24300                                                               (line  21)
  24301 * org-read-date-display-live:            The date/time prompt.
  24302                                                               (line  98)
  24303 * org-read-date-force-compatible-dates:  The date/time prompt.
  24304                                                               (line  62)
  24305 * org-read-date-prefer-future:           The date/time prompt.
  24306                                                               (line   6)
  24307 * org-refile-allow-creating-parent-nodes: Refile and Copy.    (line  13)
  24308 * org-refile-keep:                       Refile and Copy.     (line  41)
  24309 * org-refile-targets:                    Refile and Copy.     (line  13)
  24310 * org-refile-use-cache:                  Refile and Copy.     (line  46)
  24311 * org-refile-use-outline-path:           Refile and Copy.     (line  13)
  24312 * org-remove-highlights-with-change:     Sparse Trees.        (line  20)
  24313 * org-remove-highlights-with-change <1>: Clocking commands.   (line  87)
  24314 * org-replace-disputed-keys:             Conflicts.           (line  17)
  24315 * org-return-follows-link:               Handling Links.      (line 149)
  24316 * org-reverse-note-order:                Refile and Copy.     (line  13)
  24317 * org-scheduled-delay-days:              Deadlines and Scheduling.
  24318                                                               (line  42)
  24319 * org-show-context-detail:               Sparse Trees.        (line   6)
  24320 * org-sort-agenda-noeffort-is-high:      Filtering/limiting agenda items.
  24321                                                               (line  56)
  24322 * org-sparse-tree-open-archived-trees:   Internal archiving.  (line  19)
  24323 * org-special-ctrl-a/e:                  Headlines.           (line   6)
  24324 * org-special-ctrl-k:                    Headlines.           (line   6)
  24325 * org-speed-commands:                    Speed Keys.          (line  18)
  24326 * org-src-ask-before-returning-to-edit-buffer: Editing Source Code.
  24327                                                               (line  43)
  24328 * org-src-block-faces:                   Editing Source Code. (line  46)
  24329 * org-src-fontify-natively:              Editing Source Code. (line  46)
  24330 * org-src-lang-modes:                    Editing Source Code. (line  22)
  24331 * org-src-preserve-indentation:          Editing Source Code. (line  35)
  24332 * org-src-window-setup:                  Editing Source Code. (line  31)
  24333 * org-startup-align-all-tables:          Column Width and Alignment.
  24334                                                               (line  19)
  24335 * org-startup-align-all-tables <1>:      In-buffer Settings.  (line  98)
  24336 * org-startup-folded:                    Initial visibility.  (line   6)
  24337 * org-startup-folded <1>:                In-buffer Settings.  (line  72)
  24338 * org-startup-folded <2>:                Speeding Up Your Agendas.
  24339                                                               (line  19)
  24340 * org-startup-indented:                  Org Indent Mode.     (line  22)
  24341 * org-startup-indented <1>:              In-buffer Settings.  (line  86)
  24342 * org-startup-numerated:                 Dynamic Headline Numbering.
  24343                                                               (line  22)
  24344 * org-startup-numerated <1>:             In-buffer Settings.  (line  92)
  24345 * org-startup-shrink-all-tables:         Column Width and Alignment.
  24346                                                               (line  64)
  24347 * org-startup-shrink-all-tables <1>:     In-buffer Settings.  (line 105)
  24348 * org-startup-with-inline-images:        Images.              (line  24)
  24349 * org-startup-with-inline-images <1>:    In-buffer Settings.  (line 109)
  24350 * org-startup-with-latex-preview:        Previewing LaTeX fragments.
  24351                                                               (line  28)
  24352 * org-store-link-props:                  Template expansion.  (line 111)
  24353 * org-structure-template-alist:          Structure Templates. (line  17)
  24354 * org-stuck-projects:                    Stuck projects.      (line  17)
  24355 * org-support-shift-select:              Plain Lists.         (line  96)
  24356 * org-support-shift-select <1>:          Plain Lists.         (line 155)
  24357 * org-support-shift-select <2>:          Conflicts.           (line   6)
  24358 * org-table-automatic-realign:           Column Width and Alignment.
  24359                                                               (line  10)
  24360 * org-table-copy-increment:              Built-in Table Editor.
  24361                                                               (line 187)
  24362 * org-table-current-column:              References.          (line  90)
  24363 * org-table-current-dline:               References.          (line  90)
  24364 * org-table-duration-custom-format:      Durations and time values.
  24365                                                               (line   6)
  24366 * org-table-export-default-format:       Built-in Table Editor.
  24367                                                               (line 227)
  24368 * org-table-formula:                     In-buffer Settings.  (line  29)
  24369 * org-table-formula-constants:           References.          (line 114)
  24370 * org-table-formula-constants <1>:       In-buffer Settings.  (line  29)
  24371 * org-table-formula-constants <2>:       Cooperation.         (line  14)
  24372 * org-table-header-line-p:               Built-in Table Editor.
  24373                                                               (line 238)
  24374 * org-table-use-standard-references:     Editing and debugging formulas.
  24375                                                               (line   6)
  24376 * org-tag-alist:                         Setting Tags.        (line  22)
  24377 * org-tag-alist <1>:                     In-buffer Settings.  (line 202)
  24378 * org-tag-faces:                         Tags.                (line  10)
  24379 * org-tag-persistent-alist:              Setting Tags.        (line  37)
  24380 * org-tags-column:                       Setting Tags.        (line  11)
  24381 * org-tags-exclude-from-inheritance:     Tag Inheritance.     (line  22)
  24382 * org-tempo-keywords-alist:              Structure Templates. (line  21)
  24383 * org-texinfo-classes:                   Texinfo file header. (line  19)
  24384 * org-texinfo-classes <1>:               Headings and sectioning structure.
  24385                                                               (line   6)
  24386 * org-texinfo-coding-system:             Texinfo file header. (line  11)
  24387 * org-texinfo-default-class:             Texinfo specific export settings.
  24388                                                               (line  20)
  24389 * org-texinfo-default-class <1>:         Headings and sectioning structure.
  24390                                                               (line   6)
  24391 * org-texinfo-info-process:              Texinfo export commands.
  24392                                                               (line  11)
  24393 * org-texinfo-table-default-markup:      Plain lists in Texinfo export.
  24394                                                               (line  25)
  24395 * org-time-stamp-custom-formats:         Custom time format.  (line   6)
  24396 * org-time-stamp-custom-formats <1>:     In-buffer Settings.  (line 160)
  24397 * org-time-stamp-rounding-minutes:       Creating Timestamps. (line  16)
  24398 * org-timer-default-timer:               Timers.              (line  23)
  24399 * org-timestamp-custom-formats:          Custom time format.  (line   6)
  24400 * org-timestamp-custom-formats <1>:      In-buffer Settings.  (line 160)
  24401 * org-timestamp-rounding-minutes:        Creating Timestamps. (line  16)
  24402 * org-todo, face:                        Faces for TODO keywords.
  24403                                                               (line   6)
  24404 * org-todo-keyword-faces:                Faces for TODO keywords.
  24405                                                               (line   6)
  24406 * org-todo-keywords:                     TODO Basics.         (line  35)
  24407 * org-todo-keywords <1>:                 TODO Extensions.     (line   6)
  24408 * org-todo-keywords <2>:                 Global TODO list.    (line  18)
  24409 * org-todo-keywords <3>:                 In-buffer Settings.  (line 207)
  24410 * org-todo-repeat-to-state:              Repeated tasks.      (line  22)
  24411 * org-todo-state-tags-triggers:          TODO Basics.         (line  56)
  24412 * org-track-ordered-property-with-tag:   TODO dependencies.   (line  38)
  24413 * org-track-ordered-property-with-tag <1>: Checkboxes.        (line 113)
  24414 * org-treat-insert-todo-heading-as-state-change: Structure Editing.
  24415                                                               (line  29)
  24416 * org-treat-S-cursor-todo-selection-as-state-change: TODO Basics.
  24417                                                               (line  28)
  24418 * org-use-property-inheritance:          Property Inheritance.
  24419                                                               (line   6)
  24420 * org-use-property-inheritance <1>:      Using Header Arguments.
  24421                                                               (line  76)
  24422 * org-use-property-inheritance <2>:      Using the Property API.
  24423                                                               (line  19)
  24424 * org-use-speed-commands:                Speed Keys.          (line  13)
  24425 * org-use-sub-superscripts:              Subscripts and Superscripts.
  24426                                                               (line  13)
  24427 * org-use-tag-inheritance:               Tag Inheritance.     (line  22)
  24428 * org-yank-adjusted-subtrees:            Structure Editing.   (line  86)
  24429 * org-yank-dnd-default-attach-method:    Drag and Drop & yank-media.
  24430                                                               (line  15)
  24431 * org-yank-dnd-method:                   Drag and Drop & yank-media.
  24432                                                               (line   6)
  24433 * org-yank-folded-subtrees:              Structure Editing.   (line  86)
  24434 * org-yank-image-file-name-function:     Drag and Drop & yank-media.
  24435                                                               (line  26)
  24436 * org-yank-image-save-method:            Drag and Drop & yank-media.
  24437                                                               (line  21)
  24438 * parse-time-months:                     The date/time prompt.
  24439                                                               (line  58)
  24440 * parse-time-weekdays:                   The date/time prompt.
  24441                                                               (line  58)
  24442 * user-full-name:                        Export Settings.     (line  25)
  24443 * user-mail-address:                     Export Settings.     (line  35)
  24444 
  24445 
  24446 
  24447 Tag Table:
  24448 Node: Top884
  24449 Node: Introduction23025
  24450 Node: Summary23487
  24451 Node: Installation26642
  24452 Ref: Using Emacs packaging system27565
  24453 Ref: Using Org's git repository28423
  24454 Ref: Installing Org's contributed packages29381
  24455 Node: Activation30011
  24456 Ref: Activation-Footnote-131685
  24457 Node: Feedback31813
  24458 Ref: How to create a useful backtrace35028
  24459 Ref: How to profile Org performance36144
  24460 Ref: Feedback-Footnote-138369
  24461 Node: Conventions38495
  24462 Ref: TODO keywords tags properties etc38666
  24463 Ref: Key bindings and commands39559
  24464 Node: Document Structure40189
  24465 Node: Headlines41361
  24466 Ref: Headlines-Footnote-142660
  24467 Node: Visibility Cycling42939
  24468 Node: Global and local cycling43329
  24469 Ref: Global and local cycling-Footnote-146040
  24470 Ref: Global and local cycling-Footnote-246102
  24471 Node: Initial visibility46406
  24472 Ref: Initial visibility-Footnote-147596
  24473 Node: Catching invisible edits47789
  24474 Node: Motion48531
  24475 Node: Structure Editing49995
  24476 Node: Sparse Trees56584
  24477 Ref: Sparse Trees-Footnote-159181
  24478 Ref: Sparse Trees-Footnote-259296
  24479 Node: Plain Lists59372
  24480 Ref: Plain Lists-Footnote-166959
  24481 Ref: Plain Lists-Footnote-267323
  24482 Ref: Plain Lists-Footnote-367423
  24483 Ref: Plain Lists-Footnote-467680
  24484 Ref: Plain Lists-Footnote-567857
  24485 Ref: Plain Lists-Footnote-667961
  24486 Ref: Plain Lists-Footnote-768067
  24487 Node: Drawers68137
  24488 Ref: Drawers-Footnote-169832
  24489 Node: Blocks69944
  24490 Node: Tables70537
  24491 Node: Built-in Table Editor71220
  24492 Ref: Creation and conversion72956
  24493 Ref: Re-aligning and field motion73894
  24494 Ref: Column and row editing74829
  24495 Ref: Regions77259
  24496 Ref: Calculations78658
  24497 Ref: Miscellaneous (1)79471
  24498 Ref: Built-in Table Editor-Footnote-181948
  24499 Node: Column Width and Alignment82056
  24500 Node: Column Groups85393
  24501 Node: Orgtbl Mode86960
  24502 Node: The Spreadsheet87775
  24503 Node: References89249
  24504 Ref: Field references89708
  24505 Ref: Range references92147
  24506 Ref: Field coordinates in formulas93406
  24507 Ref: Named references94391
  24508 Ref: Remote references95362
  24509 Ref: References-Footnote-196284
  24510 Ref: References-Footnote-296512
  24511 Ref: References-Footnote-396615
  24512 Node: Formula syntax for Calc96940
  24513 Ref: Formula syntax for Calc-Footnote-1102802
  24514 Node: Formula syntax for Lisp103141
  24515 Node: Durations and time values105676
  24516 Node: Field and range formulas107063
  24517 Node: Column formulas109532
  24518 Node: Lookup functions111644
  24519 Node: Editing and debugging formulas113613
  24520 Ref: Using multiple TBLFM lines118130
  24521 Ref: Debugging formulas118973
  24522 Node: Updating the table119391
  24523 Node: Advanced features120763
  24524 Ref: Advanced features-Footnote-1125214
  24525 Node: Org Plot125322
  24526 Ref: Graphical plots using Gnuplot125523
  24527 Ref: Plot options128046
  24528 Ref: ASCII bar plots130965
  24529 Node: Hyperlinks132214
  24530 Node: Link Format133078
  24531 Ref: Link Format-Footnote-1135247
  24532 Ref: Link Format-Footnote-2135479
  24533 Node: Internal Links135611
  24534 Ref: Internal Links-Footnote-1138173
  24535 Ref: Internal Links-Footnote-2138413
  24536 Node: Radio Targets138554
  24537 Node: External Links139271
  24538 Ref: External Links-Footnote-1144900
  24539 Node: Handling Links145324
  24540 Ref: Handling Links-Footnote-1153846
  24541 Ref: Handling Links-Footnote-2154036
  24542 Ref: Handling Links-Footnote-3154170
  24543 Ref: Handling Links-Footnote-4154466
  24544 Ref: Handling Links-Footnote-5154728
  24545 Ref: Handling Links-Footnote-6154850
  24546 Node: Using Links Outside Org154925
  24547 Node: Link Abbreviations155400
  24548 Node: Search Options158362
  24549 Ref: Search Options-Footnote-1160507
  24550 Node: Custom Searches160588
  24551 Node: TODO Items161622
  24552 Ref: TODO Items-Footnote-1162747
  24553 Node: TODO Basics162861
  24554 Node: TODO Extensions165496
  24555 Node: Workflow states166549
  24556 Ref: Workflow states-Footnote-1167948
  24557 Node: TODO types168064
  24558 Ref: TODO types-Footnote-1169883
  24559 Node: Multiple sets in one file169955
  24560 Node: Fast access to TODO states171900
  24561 Ref: Fast access to TODO states-Footnote-1172780
  24562 Node: Per-file keywords172887
  24563 Ref: Per-file keywords-Footnote-1174357
  24564 Node: Faces for TODO keywords174561
  24565 Node: TODO dependencies175634
  24566 Node: Progress Logging178125
  24567 Node: Closing items179262
  24568 Ref: Closing items-Footnote-1180262
  24569 Ref: Closing items-Footnote-2180336
  24570 Node: Tracking TODO state changes180414
  24571 Ref: Tracking TODO state changes-Footnote-1183549
  24572 Ref: Tracking TODO state changes-Footnote-2183611
  24573 Ref: Tracking TODO state changes-Footnote-3183769
  24574 Node: Tracking your habits184047
  24575 Node: Priorities188572
  24576 Ref: Priorities-Footnote-1191084
  24577 Node: Breaking Down Tasks191157
  24578 Ref: Breaking Down Tasks-Footnote-1193204
  24579 Node: Checkboxes193311
  24580 Ref: Checkboxes-Footnote-1199030
  24581 Ref: Checkboxes-Footnote-2199158
  24582 Ref: Checkboxes-Footnote-3199338
  24583 Node: Tags199452
  24584 Node: Tag Inheritance200545
  24585 Ref: Tag Inheritance-Footnote-1202066
  24586 Node: Setting Tags202170
  24587 Ref: Setting Tags-Footnote-1208939
  24588 Ref: Setting Tags-Footnote-2209117
  24589 Node: Tag Hierarchy209195
  24590 Node: Tag Searches212795
  24591 Node: Properties and Columns214020
  24592 Node: Property Syntax215408
  24593 Node: Special Properties220009
  24594 Ref: Special Properties-Footnote-1221758
  24595 Node: Property Searches222058
  24596 Node: Property Inheritance223444
  24597 Node: Column View225316
  24598 Node: Defining columns226567
  24599 Node: Scope of column definitions226952
  24600 Node: Column attributes228011
  24601 Ref: Column attributes-Footnote-1232422
  24602 Ref: Column attributes-Footnote-2232553
  24603 Ref: Column attributes-Footnote-3232751
  24604 Node: Using column view232890
  24605 Ref: Turning column view on or off233056
  24606 Ref: Editing values234097
  24607 Ref: Modifying column view on-the-fly235500
  24608 Node: Capturing column view236195
  24609 Ref: Capturing column view-Footnote-1240176
  24610 Node: Dates and Times240313
  24611 Node: Timestamps241482
  24612 Ref: Timestamps-Footnote-1244448
  24613 Ref: Timestamps-Footnote-2244744
  24614 Node: Creating Timestamps245532
  24615 Node: The date/time prompt248543
  24616 Ref: The date/time prompt-Footnote-1253504
  24617 Ref: The date/time prompt-Footnote-2253675
  24618 Ref: The date/time prompt-Footnote-3253786
  24619 Ref: The date/time prompt-Footnote-4254041
  24620 Node: Custom time format254139
  24621 Node: Deadlines and Scheduling255906
  24622 Ref: Deadlines and Scheduling-Footnote-1259476
  24623 Node: Inserting deadline/schedule259639
  24624 Ref: Inserting deadline/schedule-Footnote-1261631
  24625 Ref: Inserting deadline/schedule-Footnote-2261792
  24626 Ref: Inserting deadline/schedule-Footnote-3261918
  24627 Node: Repeated tasks262044
  24628 Ref: Repeated tasks-Footnote-1266759
  24629 Ref: Repeated tasks-Footnote-2266842
  24630 Ref: Repeated tasks-Footnote-3267125
  24631 Node: Clocking Work Time267347
  24632 Ref: Clocking Work Time-Footnote-1268552
  24633 Ref: Clocking Work Time-Footnote-2268705
  24634 Node: Clocking commands268847
  24635 Ref: Clocking commands-Footnote-1274077
  24636 Ref: Clocking commands-Footnote-2274192
  24637 Ref: Clocking commands-Footnote-3274274
  24638 Ref: Clocking commands-Footnote-4274337
  24639 Node: The clock table274420
  24640 Ref: The clock table-Footnote-1282538
  24641 Ref: The clock table-Footnote-2282647
  24642 Ref: The clock table-Footnote-3282745
  24643 Node: Resolving idle time282871
  24644 Ref: Resolving idle time (1)283067
  24645 Ref: Continuous clocking286264
  24646 Ref: Clocking out automatically after some idle time286770
  24647 Ref: Resolving idle time-Footnote-1287402
  24648 Node: Effort Estimates287851
  24649 Ref: Effort Estimates-Footnote-1290808
  24650 Node: Timers290919
  24651 Node: Refiling and Archiving293132
  24652 Node: Refile and Copy293695
  24653 Ref: Refile and Copy-Footnote-1296523
  24654 Node: Archiving296637
  24655 Node: Moving subtrees297350
  24656 Node: Internal archiving299476
  24657 Node: Capture and Attachments302205
  24658 Node: Capture303010
  24659 Node: Setting up capture303534
  24660 Node: Using capture303897
  24661 Node: Capture templates306292
  24662 Node: Template elements308331
  24663 Ref: Template elements-Footnote-1316596
  24664 Ref: Template elements-Footnote-2316929
  24665 Ref: Template elements-Footnote-3317274
  24666 Node: Template expansion317369
  24667 Ref: Template expansion-Footnote-1321686
  24668 Ref: Template expansion-Footnote-2321777
  24669 Ref: Template expansion-Footnote-3321967
  24670 Node: Templates in contexts322066
  24671 Node: Attachments322911
  24672 Node: Attachment defaults and dispatcher323941
  24673 Ref: Attachment defaults and dispatcher-Footnote-1327291
  24674 Node: Attachment options327442
  24675 Node: Attachment links331461
  24676 Node: Automatic version-control with Git332100
  24677 Node: Attach from Dired332615
  24678 Node: RSS Feeds333979
  24679 Node: Agenda Views335430
  24680 Node: Agenda Files337837
  24681 Ref: Agenda Files-Footnote-1340748
  24682 Ref: Agenda Files-Footnote-2340892
  24683 Node: Agenda Dispatcher341090
  24684 Ref: Agenda Dispatcher-Footnote-1343964
  24685 Node: Built-in Agenda Views344062
  24686 Node: Weekly/daily agenda344659
  24687 Ref: Calendar/Diary integration346116
  24688 Ref: Anniversaries from BBDB348192
  24689 Ref: Appointment reminders349983
  24690 Ref: Weekly/daily agenda-Footnote-1350533
  24691 Ref: Weekly/daily agenda-Footnote-2350777
  24692 Node: Global TODO list350997
  24693 Node: Matching tags and properties353848
  24694 Ref: Matching tags and properties-Footnote-1362331
  24695 Node: Search view362436
  24696 Node: Stuck projects364083
  24697 Node: Presentation and Sorting366220
  24698 Node: Categories367197
  24699 Node: Time-of-day specifications367943
  24700 Ref: Time-of-day specifications-Footnote-1369934
  24701 Node: Sorting of agenda items370057
  24702 Node: Filtering/limiting agenda items371645
  24703 Ref: Filtering in the agenda372350
  24704 Ref: Computed tag filtering376484
  24705 Ref: Setting limits for the agenda377978
  24706 Ref: Filtering/limiting agenda items-Footnote-1379527
  24707 Node: Agenda Commands380079
  24708 Ref: Motion (1)380812
  24709 Ref: View/Go to Org file381015
  24710 Ref: Change display382521
  24711 Ref: Remote editing390292
  24712 Ref: Bulk remote editing selected entries395645
  24713 Ref: Calendar commands398734
  24714 Ref: Quit and exit400615
  24715 Ref: Agenda Commands-Footnote-1400977
  24716 Ref: Agenda Commands-Footnote-2401053
  24717 Ref: Agenda Commands-Footnote-3401157
  24718 Node: Custom Agenda Views401244
  24719 Node: Storing searches401896
  24720 Ref: Storing searches-Footnote-1404848
  24721 Ref: Storing searches-Footnote-2404965
  24722 Node: Block agenda405211
  24723 Node: Setting options406540
  24724 Node: Exporting Agenda Views410154
  24725 Ref: Exporting Agenda Views-Footnote-1414693
  24726 Ref: Exporting Agenda Views-Footnote-2414914
  24727 Ref: Exporting Agenda Views-Footnote-3415064
  24728 Ref: Exporting Agenda Views-Footnote-4415251
  24729 Node: Agenda Column View415333
  24730 Node: Markup for Rich Contents418681
  24731 Node: Paragraphs419979
  24732 Node: Emphasis and Monospace421114
  24733 Ref: Emphasis and Monospace-Footnote-1422695
  24734 Node: Subscripts and Superscripts422781
  24735 Ref: Subscripts and Superscripts-Footnote-1424521
  24736 Node: Special Symbols424638
  24737 Ref: Special Symbols-Footnote-1426550
  24738 Ref: Special Symbols-Footnote-2426715
  24739 Node: Embedded LaTeX426812
  24740 Ref: Embedded LaTeX-Footnote-1427660
  24741 Node: LaTeX fragments427856
  24742 Ref: LaTeX fragments-Footnote-1430309
  24743 Node: Previewing LaTeX fragments430502
  24744 Ref: Previewing LaTeX fragments-Footnote-1431985
  24745 Node: CDLaTeX mode432234
  24746 Ref: CDLaTeX mode-Footnote-1434983
  24747 Node: Literal Examples435130
  24748 Ref: Literal Examples-Footnote-1440236
  24749 Ref: Literal Examples-Footnote-2440692
  24750 Ref: Literal Examples-Footnote-3440870
  24751 Ref: Literal Examples-Footnote-4441024
  24752 Ref: Literal Examples-Footnote-5441252
  24753 Ref: Literal Examples-Footnote-6441437
  24754 Node: Images441535
  24755 Ref: Images-Footnote-1445602
  24756 Ref: Images-Footnote-2445725
  24757 Ref: Images-Footnote-3445886
  24758 Node: Captions445972
  24759 Node: Horizontal Rules446671
  24760 Node: Creating Footnotes446927
  24761 Ref: Creating Footnotes-Footnote-1450056
  24762 Ref: Creating Footnotes-Footnote-2450162
  24763 Node: Exporting450269
  24764 Node: The Export Dispatcher453037
  24765 Node: Export Settings456497
  24766 Ref: Export Settings-Footnote-1465253
  24767 Ref: Export Settings-Footnote-2465365
  24768 Ref: Export Settings-Footnote-3465466
  24769 Node: Table of Contents465664
  24770 Ref: Table of Contents-Footnote-1468325
  24771 Node: Include Files468491
  24772 Ref: Include Files-Footnote-1471579
  24773 Node: Macro Replacement471757
  24774 Ref: Macro Replacement-Footnote-1475637
  24775 Node: Comment Lines475854
  24776 Ref: Comment Lines-Footnote-1476717
  24777 Node: ASCII/Latin-1/UTF-8 export476821
  24778 Ref: ASCII export commands477675
  24779 Ref: ASCII specific export settings478208
  24780 Ref: Header and sectioning structure478651
  24781 Ref: Quoting ASCII text478925
  24782 Ref: ASCII specific attributes479295
  24783 Ref: ASCII special blocks479571
  24784 Node: Beamer Export479917
  24785 Node: Beamer export commands480667
  24786 Node: Beamer specific export settings481372
  24787 Node: Frames and Blocks in Beamer483276
  24788 Ref: Frames and Blocks in Beamer-Footnote-1486633
  24789 Node: Beamer specific syntax486792
  24790 Node: Editing support488768
  24791 Node: A Beamer example489239
  24792 Node: HTML Export490493
  24793 Node: HTML export commands491681
  24794 Node: HTML specific export settings492223
  24795 Node: HTML doctypes494442
  24796 Node: HTML preamble and postamble496614
  24797 Node: Bare HTML497671
  24798 Node: Quoting HTML tags498259
  24799 Node: Headlines in HTML export498939
  24800 Node: Links in HTML export499534
  24801 Node: Tables in HTML export500997
  24802 Node: Images in HTML export502452
  24803 Node: Math formatting in HTML export503939
  24804 Ref: Math formatting in HTML export-Footnote-1505329
  24805 Ref: Math formatting in HTML export-Footnote-2505521
  24806 Node: Text areas in HTML export505804
  24807 Node: CSS support506947
  24808 Ref: CSS support-Footnote-1510597
  24809 Node: JavaScript support510777
  24810 Node: LaTeX Export513964
  24811 Ref: LaTeX Export-Footnote-1516190
  24812 Node: LaTeX/PDF export commands516337
  24813 Ref: LaTeX/PDF export commands-Footnote-1517838
  24814 Node: LaTeX specific export settings518040
  24815 Node: LaTeX header and sectioning521673
  24816 Node: Quoting LaTeX code525498
  24817 Node: Tables in LaTeX export526381
  24818 Node: Images in LaTeX export531633
  24819 Node: Plain lists in LaTeX export534283
  24820 Node: Source blocks in LaTeX export535302
  24821 Ref: Source blocks in LaTeX export-Footnote-1537428
  24822 Node: Example blocks in LaTeX export537586
  24823 Node: Special blocks in LaTeX export538311
  24824 Node: Horizontal rules in LaTeX export539572
  24825 Node: Verse blocks in LaTeX export540008
  24826 Node: Quote blocks in LaTeX export542737
  24827 Node: Markdown Export543855
  24828 Ref: Markdown export commands544592
  24829 Ref: Header and sectioning structure (1)545029
  24830 Node: OpenDocument Text Export545573
  24831 Ref: OpenDocument Text Export-Footnote-1546678
  24832 Node: Pre-requisites for ODT export546828
  24833 Node: ODT export commands547205
  24834 Node: ODT specific export settings548385
  24835 Node: Extending ODT export549432
  24836 Ref: Automatically exporting to other formats550242
  24837 Ref: Converting between document formats550667
  24838 Node: Applying custom styles551208
  24839 Ref: Applying custom styles the easy way551739
  24840 Ref: Using third-party styles and templates552697
  24841 Node: Links in ODT export552993
  24842 Node: Tables in ODT export553655
  24843 Node: Images in ODT export555661
  24844 Ref: Embedding images555865
  24845 Ref: Embedding clickable images556181
  24846 Ref: Sizing and scaling of embedded images556515
  24847 Ref: Anchoring of images558195
  24848 Node: Math formatting in ODT export558516
  24849 Node: LaTeX math snippets558945
  24850 Ref: LaTeX math snippets-Footnote-1561194
  24851 Ref: LaTeX math snippets-Footnote-2561270
  24852 Node: MathML and OpenDocument formula files561316
  24853 Node: Labels and captions in ODT export561824
  24854 Node: Literal examples in ODT export563100
  24855 Node: Advanced topics in ODT export563939
  24856 Ref: Configuring a document converter564248
  24857 Ref: Working with OpenDocument style files565188
  24858 Ref: x-orgodtstyles-xml565654
  24859 Ref: x-orgodtcontenttemplate-xml565996
  24860 Ref: x-overriding-factory-styles566640
  24861 Ref: Creating one-off styles567883
  24862 Ref: Customizing tables in ODT export569884
  24863 Ref: Validating OpenDocument XML574744
  24864 Ref: Advanced topics in ODT export-Footnote-1575540
  24865 Ref: Advanced topics in ODT export-Footnote-2575645
  24866 Ref: Advanced topics in ODT export-Footnote-3575738
  24867 Node: Org Export576086
  24868 Ref: Org export commands576440
  24869 Node: Texinfo Export576746
  24870 Node: Texinfo export commands577786
  24871 Node: Texinfo specific export settings578411
  24872 Node: Texinfo file header580119
  24873 Node: Texinfo title and copyright page581101
  24874 Node: Info directory file582464
  24875 Node: Headings and sectioning structure583180
  24876 Node: Indices585205
  24877 Node: Quoting Texinfo code586231
  24878 Node: Plain lists in Texinfo export586729
  24879 Node: Tables in Texinfo export591457
  24880 Node: Images in Texinfo export591952
  24881 Node: Quotations in Texinfo export592589
  24882 Node: Key bindings in Texinfo export593541
  24883 Node: Special blocks in Texinfo export594344
  24884 Node: A Texinfo example595177
  24885 Node: iCalendar Export597268
  24886 Ref: iCalendar Export-Footnote-1602491
  24887 Node: Other Built-in Backends602674
  24888 Node: Advanced Export Configuration603300
  24889 Ref: Export hooks603499
  24890 Ref: Filters604719
  24891 Ref: Defining filters for individual files607219
  24892 Ref: Summary of the export process608024
  24893 Ref: Extending an existing backend613377
  24894 Ref: Advanced Export Configuration-Footnote-1615722
  24895 Ref: Advanced Export Configuration-Footnote-2616078
  24896 Ref: Advanced Export Configuration-Footnote-3616227
  24897 Node: Export Region616313
  24898 Node: Publishing617371
  24899 Node: Configuration618247
  24900 Node: Project alist619029
  24901 Node: Sources and destinations620171
  24902 Node: Selecting files621489
  24903 Node: Publishing action622444
  24904 Ref: Publishing action-Footnote-1624277
  24905 Node: Publishing options624440
  24906 Ref: Generic properties625192
  24907 Ref: ASCII specific properties627880
  24908 Ref: Beamer specific properties629480
  24909 Ref: HTML specific properties630112
  24910 Ref: LaTeX specific properties635348
  24911 Ref: Markdown specific properties638856
  24912 Ref: ODT specific properties639153
  24913 Ref: Texinfo specific properties640150
  24914 Node: Publishing links641578
  24915 Node: Site map643032
  24916 Node: Generating an index645858
  24917 Node: Uploading Files646650
  24918 Node: Sample Configuration648433
  24919 Node: Simple example648931
  24920 Node: Complex example649647
  24921 Node: Triggering Publication651735
  24922 Node: Citation handling652761
  24923 Node: Citations655811
  24924 Node: Citation export processors658185
  24925 Node: Bibliography printing661667
  24926 Node: Bibliography options in the biblatex and csl export processors662815
  24927 Node: Working with Source Code664934
  24928 Node: Features Overview667273
  24929 Node: Structure of Code Blocks670031
  24930 Node: Using Header Arguments672897
  24931 Ref: System-wide header arguments673624
  24932 Ref: Header arguments in Org mode properties675295
  24933 Ref: Code block specific header arguments677121
  24934 Ref: Header arguments in function calls678620
  24935 Node: Environment of a Code Block679294
  24936 Ref: Passing arguments679508
  24937 Ref: Using sessions688053
  24938 Ref: Choosing a working directory689452
  24939 Ref: Inserting headers and footers691757
  24940 Node: Evaluating Code Blocks692267
  24941 Ref: How to evaluate source code692722
  24942 Ref: Limit code block evaluation695672
  24943 Ref: Cache results of evaluation696658
  24944 Ref: Evaluating Code Blocks-Footnote-1699171
  24945 Ref: Evaluating Code Blocks-Footnote-2699305
  24946 Node: Results of Evaluation699463
  24947 Ref: Collection700270
  24948 Ref: Type701731
  24949 Ref: Format705755
  24950 Ref: Handling708347
  24951 Ref: Post-processing709738
  24952 Ref: Results of Evaluation-Footnote-1711488
  24953 Node: Exporting Code Blocks711646
  24954 Node: Extracting Source Code715317
  24955 Ref: Header arguments716298
  24956 Ref: Functions720533
  24957 Ref: Tangle hooks720784
  24958 Ref: Jumping between code and Org721560
  24959 Node: Languages722070
  24960 Node: Editing Source Code723071
  24961 Node: Noweb Reference Syntax726013
  24962 Ref: Noweb Reference Syntax-Footnote-1732740
  24963 Ref: Noweb Reference Syntax-Footnote-2732831
  24964 Ref: Noweb Reference Syntax-Footnote-3733444
  24965 Node: Library of Babel733564
  24966 Node: Key bindings and Useful Functions734282
  24967 Node: Batch Execution736707
  24968 Node: Miscellaneous737490
  24969 Node: Completion738953
  24970 Node: Structure Templates740878
  24971 Ref: Structure Templates-Footnote-1742628
  24972 Node: Speed Keys742720
  24973 Node: Clean View743889
  24974 Node: Org Indent Mode745091
  24975 Ref: Org Indent Mode-Footnote-1746297
  24976 Node: Hard indentation746521
  24977 Ref: Hard indentation-Footnote-1748004
  24978 Ref: Hard indentation-Footnote-2748110
  24979 Node: Execute commands in the active region748254
  24980 Node: Dynamic Headline Numbering749266
  24981 Node: The Very Busy C-c C-c Key750432
  24982 Node: In-buffer Settings752420
  24983 Ref: In-buffer Settings-Footnote-1762368
  24984 Node: Regular Expressions762566
  24985 Node: Org Syntax763188
  24986 Node: Documentation Access764837
  24987 Node: Escape Character765258
  24988 Node: Code Evaluation Security766119
  24989 Node: Interaction768986
  24990 Node: Cooperation769409
  24991 Node: Conflicts772478
  24992 Node: TTY Keys777080
  24993 Node: Protocols778717
  24994 Node: The store-link protocol780178
  24995 Node: The capture protocol781321
  24996 Node: The open-source protocol782954
  24997 Node: Org Crypt786197
  24998 Node: Org Mobile788072
  24999 Node: Setting up the staging area789463
  25000 Ref: Setting up the staging area-Footnote-1790703
  25001 Ref: Setting up the staging area-Footnote-2790910
  25002 Node: Pushing to the mobile application791082
  25003 Ref: Pushing to the mobile application-Footnote-1792093
  25004 Ref: Pushing to the mobile application-Footnote-2792184
  25005 Ref: Pushing to the mobile application-Footnote-3792551
  25006 Node: Pulling from the mobile application792627
  25007 Ref: Pulling from the mobile application-Footnote-1794940
  25008 Node: Drag and Drop & yank-media794993
  25009 Ref: Drag and Drop & yank-media-Footnote-1796622
  25010 Node: Hacking796770
  25011 Node: Hooks797720
  25012 Node: Add-on Packages798004
  25013 Node: Adding Hyperlink Types798473
  25014 Node: Adding Export Backends802285
  25015 Node: Tables in Arbitrary Syntax803530
  25016 Node: Radio tables804798
  25017 Node: A LaTeX example806935
  25018 Ref: A LaTeX example-Footnote-1810787
  25019 Ref: A LaTeX example-Footnote-2810830
  25020 Ref: A LaTeX example-Footnote-3810991
  25021 Node: Translator functions811443
  25022 Node: Dynamic Blocks813625
  25023 Node: Special Agenda Views815871
  25024 Ref: Special Agenda Views-Footnote-1819582
  25025 Ref: Special Agenda Views-Footnote-2819788
  25026 Node: Speeding Up Your Agendas819920
  25027 Node: Extracting Agenda Information821143
  25028 Node: Using the Property API824948
  25029 Node: Using the Mapping API828297
  25030 Node: History and Acknowledgments832330
  25031 Ref: From Carsten832528
  25032 Ref: From Bastien835967
  25033 Ref: List of Contributions838099
  25034 Node: GNU Free Documentation License846761
  25035 Ref: ADDENDUM How to use this License for your documents870719
  25036 Node: Main Index872112
  25037 Node: Key Index972666
  25038 Node: Command and Function Index1029889
  25039 Node: Variable Index1078613
  25040 
  25041 End Tag Table
  25042 
  25043 
  25044 Local Variables:
  25045 coding: utf-8
  25046 End: