dotemacs

My Emacs configuration
git clone git://git.entf.net/dotemacs
Log | Files | Refs | LICENSE

org.info (1115993B)


      1 This is org.info, produced by makeinfo version 6.7 from org.texi.
      2 
      3 This manual is for Org version 9.6.
      4 
      5    Copyright © 2004–2023 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.6.
     30 
     31    Copyright © 2004–2023 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 Back-ends::     Exporting to a man page.
    313 * Advanced Export Configuration:: Fine-tuning the export output.
    314 * Export in Foreign Buffers::    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 * Quoting HTML tags::            Using direct HTML in Org files.
    332 * Headlines in HTML export::     Formatting headlines.
    333 * Links in HTML export::         Inserting and formatting links.
    334 * Tables in HTML export::        How to modify the formatting of tables.
    335 * Images in HTML export::        How to insert figures into HTML output.
    336 * Math formatting in HTML export:: Beautiful math also on the web.
    337 * Text areas in HTML export::    An alternate way to show an example.
    338 * CSS support::                  Changing the appearance of the output.
    339 * JavaScript support::           Info and folding in a web browser.
    340 
    341 LaTeX Export
    342 
    343 * LaTeX/PDF export commands:: For producing LaTeX and PDF documents.
    344 * LaTeX specific export settings:: Unique to this LaTeX back-end.
    345 * LaTeX header and sectioning:: Setting up the export file structure.
    346 * Quoting LaTeX code::        Incorporating literal LaTeX code.
    347 * Tables in LaTeX export::    Options for exporting tables to LaTeX.
    348 * Images in LaTeX export::    How to insert figures into LaTeX output.
    349 * Plain lists in LaTeX export:: Attributes specific to lists.
    350 * Source blocks in LaTeX export:: Attributes specific to source code blocks.
    351 * Example blocks in LaTeX export:: Attributes specific to example blocks.
    352 * Special blocks in LaTeX export:: Attributes specific to special blocks.
    353 * Horizontal rules in LaTeX export:: Attributes specific to horizontal rules.
    354 * Verse blocks in LaTeX export:: Attributes specific to special blocks.
    355 * Quote blocks in LaTeX export:: Attributes specific to quote blocks.
    356 
    357 OpenDocument Text Export
    358 
    359 * Pre-requisites for ODT export:: Required packages.
    360 * ODT export commands::          Invoking export.
    361 * ODT specific export settings:: Configuration options.
    362 * Extending ODT export::         Producing DOC, PDF files.
    363 * Applying custom styles::       Styling the output.
    364 * Links in ODT export::          Handling and formatting links.
    365 * Tables in ODT export::         Org tables conversions.
    366 * Images in ODT export::         Inserting images.
    367 * Math formatting in ODT export:: Formatting LaTeX fragments.
    368 * Labels and captions in ODT export:: Rendering objects.
    369 * Literal examples in ODT export:: For source code and example blocks.
    370 * Advanced topics in ODT export:: For power users.
    371 
    372 Math formatting in ODT export
    373 
    374 * LaTeX math snippets::       Embedding in LaTeX format.
    375 * MathML and OpenDocument formula files:: Embedding in native format.
    376 
    377 Texinfo Export
    378 
    379 * Texinfo export commands::      Invoking commands.
    380 * Texinfo specific export settings:: Setting the environment.
    381 * Texinfo file header::          Generating the header.
    382 * Texinfo title and copyright page:: Creating preamble pages.
    383 * Info directory file::          Installing a manual in Info file hierarchy.
    384 * Headings and sectioning structure:: Building document structure.
    385 * Indices::                      Creating indices.
    386 * Quoting Texinfo code::         Incorporating literal Texinfo code.
    387 * Plain lists in Texinfo export:: List attributes.
    388 * Tables in Texinfo export::     Table attributes.
    389 * Images in Texinfo export::     Image attributes.
    390 * Quotations in Texinfo export:: Quote block attributes.
    391 * Key bindings in Texinfo export:: @kbd Texinfo command.
    392 * Special blocks in Texinfo export:: Special block attributes.
    393 * A Texinfo example::            Processing Org to Texinfo.
    394 
    395 Export in Foreign Buffers
    396 
    397 * Bare HTML::                    Exporting HTML without CSS, Javascript, etc.
    398 
    399 Publishing
    400 
    401 * Configuration::                Defining projects.
    402 * Uploading Files::              How to get files up on the server.
    403 * Sample Configuration::         Example projects.
    404 * Triggering Publication::       Publication commands.
    405 
    406 Configuration
    407 
    408 * Project alist::                The central configuration variable.
    409 * Sources and destinations::     From here to there.
    410 * Selecting files::              What files are part of the project?
    411 * Publishing action::            Setting the function doing the publishing.
    412 * Publishing options::           Tweaking HTML/LaTeX export.
    413 * Publishing links::             Which links keep working after publishing?
    414 * Site map::                     Generating a list of all pages.
    415 * Generating an index::          An index that reaches across pages.
    416 
    417 Sample Configuration
    418 
    419 * Simple example::               One-component publishing.
    420 * Complex example::              A multi-component publishing example.
    421 
    422 Citation handling
    423 
    424 * Citations::
    425 * Citation export processors::
    426 * Bibliography printing::
    427 
    428 Bibliography printing
    429 
    430 * Bibliography options in the ``biblatex'' and ``csl'' export processors::
    431 
    432 Working with Source Code
    433 
    434 * Features Overview::            Enjoy the versatility of source blocks.
    435 * Structure of Code Blocks::     Code block syntax described.
    436 * Using Header Arguments::       Different ways to set header arguments.
    437 * Environment of a Code Block::  Arguments, sessions, working directory...
    438 * Evaluating Code Blocks::       Place results of evaluation in the Org buffer.
    439 * Results of Evaluation::        Choosing a results type, post-processing...
    440 * Exporting Code Blocks::        Export contents and/or results.
    441 * Extracting Source Code::       Create pure source code files.
    442 * Languages::                    List of supported code block languages.
    443 * Editing Source Code::          Language major-mode editing.
    444 * Noweb Reference Syntax::       Literate programming in Org mode.
    445 * Library of Babel::             Use and contribute to a library of useful code blocks.
    446 * Key bindings and Useful Functions:: Work quickly with code blocks.
    447 * Batch Execution::              Call functions from the command line.
    448 
    449 Miscellaneous
    450 
    451 * Completion::                   ‘M-<TAB>’ guesses completions.
    452 * Structure Templates::          Quick insertion of structural elements.
    453 * Speed Keys::                   Electric commands at the beginning of a headline.
    454 * Clean View::                   Getting rid of leading stars in the outline.
    455 * Execute commands in the active region:: Execute commands on multiple items in Org or agenda view.
    456 * Dynamic Headline Numbering::   Display and update outline numbering.
    457 * The Very Busy C-c C-c Key:: When in doubt, press ‘C-c C-c’.
    458 * In-buffer Settings::           Overview of keywords.
    459 * Regular Expressions::          Elisp regular expressions.
    460 * Org Syntax::                   Formal description of Org’s syntax.
    461 * Documentation Access::         Read documentation about current syntax.
    462 * Escape Character::             Prevent Org from interpreting your writing.
    463 * Code Evaluation Security::     Org files evaluate in-line code.
    464 * Interaction::                  With other Emacs packages.
    465 * TTY Keys::                     Using Org on a tty.
    466 * Protocols::                    External access to Emacs and Org.
    467 * Org Crypt::                    Encrypting Org files.
    468 * Org Mobile::                   Viewing and capture on a mobile device.
    469 
    470 Clean View
    471 
    472 * Org Indent Mode::
    473 * Hard indentation::
    474 
    475 Interaction
    476 
    477 * Cooperation::                  Packages Org cooperates with.
    478 * Conflicts::                    Packages that lead to conflicts.
    479 
    480 Protocols
    481 
    482 * The store-link protocol:: Store a link, push URL to kill-ring.
    483 * The capture protocol::  Fill a buffer with external information.
    484 * The open-source protocol:: Edit published contents.
    485 
    486 Org Mobile
    487 
    488 * Setting up the staging area::  For the mobile device.
    489 * Pushing to the mobile application:: Uploading Org files and agendas.
    490 * Pulling from the mobile application:: Integrating captured and flagged items.
    491 
    492 Hacking
    493 
    494 * Hooks::                        How to reach into Org’s internals.
    495 * Add-on Packages::              Available extensions.
    496 * Adding Hyperlink Types::       New custom link types.
    497 * Adding Export Back-ends::      How to write new export back-ends.
    498 * Tables in Arbitrary Syntax::   Orgtbl for LaTeX and other programs.
    499 * Dynamic Blocks::               Automatically filled blocks.
    500 * Special Agenda Views::         Customized views.
    501 * Speeding Up Your Agendas::     Tips on how to speed up your agendas.
    502 * Extracting Agenda Information:: Post-processing agenda information.
    503 * Using the Property API::       Writing programs that use entry properties.
    504 * Using the Mapping API::        Mapping over all or selected entries.
    505 
    506 Tables in Arbitrary Syntax
    507 
    508 * Radio tables::                 Sending and receiving radio tables.
    509 * A LaTeX example::           Step by step, almost a tutorial.
    510 * Translator functions::         Copy and modify.
    511 
    512 
    513 
    514 File: org.info,  Node: Introduction,  Next: Document Structure,  Prev: Top,  Up: Top
    515 
    516 1 Introduction
    517 **************
    518 
    519 * Menu:
    520 
    521 * Summary::                      Brief summary of what Org does.
    522 * Installation::                 Installing Org.
    523 * Activation::                   How to activate Org for certain buffers.
    524 * Feedback::                     Bug reports, ideas, patches, etc.
    525 * Conventions::                  Typesetting conventions used in this manual.
    526 
    527 
    528 File: org.info,  Node: Summary,  Next: Installation,  Up: Introduction
    529 
    530 1.1 Summary
    531 ===========
    532 
    533 Org Mode is an authoring tool and a TODO lists manager for GNU Emacs.
    534 It relies on a lightweight plain-text markup language used in files with
    535 the ‘.org’ extension.
    536 
    537    As an authoring tool, Org helps you write structured documents and
    538 provides exporting facilities.  Org files can also be used for literate
    539 programming and reproducible research.  As a TODO lists manager, Org
    540 helps you organize your tasks in a flexible way, from daily needs to
    541 detailed project-planning, allowing logging, multiple views on your
    542 tasks, exporting your agendas, etc.
    543 
    544    Org mode is implemented on top of Outline mode, which makes it
    545 possible to keep the content of large files well structured.  Visibility
    546 cycling and structure editing help to work with the tree.  Tables are
    547 easily created with a built-in table editor.  Plain text URL-like links
    548 connect to websites, emails, Usenet messages, BBDB entries, and any
    549 files related to the projects.
    550 
    551    Org develops organizational tasks around notes files that contain
    552 lists or information about projects as plain text.  Project planning and
    553 task management make use of metadata which is part of an outline node.
    554 Based on this data, specific entries can be extracted in queries and
    555 create dynamic _agenda views_ that also integrate the Emacs calendar and
    556 diary.  Org can be used to implement many different project planning
    557 schemes, such as David Allen’s GTD system.
    558 
    559    Org files can serve as a single source authoring system with export
    560 to many different formats such as HTML, LaTeX, Open Document, and
    561 Markdown.  New export backends can be derived from existing ones, or
    562 defined from scratch.
    563 
    564    Org files can include source code blocks, which makes Org uniquely
    565 suited for authoring technical documents with code examples.  Org source
    566 code blocks are fully functional; they can be evaluated in place and
    567 their results can be captured in the file.  This makes it possible to
    568 create a single file reproducible research compendium.
    569 
    570    Org keeps simple things simple.  When first fired up, it should feel
    571 like a straightforward, easy to use outliner.  Complexity is not
    572 imposed, but a large amount of functionality is available when needed.
    573 Org is a toolbox.  Many users actually run only a—very personal—fraction
    574 of Org’s capabilities, and know that there is more whenever they need
    575 it.
    576 
    577    All of this is achieved with strictly plain text files, the most
    578 portable and future-proof file format.  Org runs in Emacs.  Emacs is one
    579 of the most widely ported programs, so that Org mode is available on
    580 every major platform.
    581 
    582    There is a website for Org which provides links to the newest version
    583 of Org, as well as additional information, frequently asked questions
    584 (FAQ), links to tutorials, etc.  This page is located at
    585 <https://orgmode.org>.
    586 
    587    An earlier version (7.3) of this manual was available as a paperback
    588 book from the Network Theory Ltd.  publishing company, closed in 2009.
    589 
    590 
    591 File: org.info,  Node: Installation,  Next: Activation,  Prev: Summary,  Up: Introduction
    592 
    593 1.2 Installation
    594 ================
    595 
    596 Org is included in distributions of GNU Emacs, you probably do not need
    597 to install it.  Most users will simply activate Org and begin exploring
    598 its features.
    599 
    600    If, for one reason or another, you want to install Org on top of this
    601 pre-packaged version, you can use the Emacs package system or clone
    602 Org’s git repository.  We *strongly recommend* sticking to a single
    603 installation method.
    604 
    605    When installing Org on top of the pre-packaged version, please note
    606 that Org stable versions are meant to be fully compatible with the last
    607 three stable versions of Emacs but not with older Emacsen.
    608 
    609 Using Emacs packaging system
    610 ----------------------------
    611 
    612 Recent Emacs distributions include a packaging system which lets you
    613 install Elisp libraries.  You can install Org from the “package menu”,
    614 with ‘M-x list-packages’.  See *note Package Menu: (emacs)Package Menu.
    615 
    616      Important: You need to do this in a session where no ‘.org’ file
    617      has been visited, i.e., where no Org built-in function have been
    618      loaded.  Otherwise autoload Org functions will mess up the
    619      installation.
    620 
    621 Using Org’s git repository
    622 --------------------------
    623 
    624 You can clone Org’s repository and install Org like this:
    625 
    626      $ cd ~/src/
    627      $ git clone https://git.savannah.gnu.org/git/emacs/org-mode.git
    628      $ cd org-mode/
    629      $ make autoloads
    630 
    631    Note that in this case, ‘make autoloads’ is mandatory: it defines
    632 Org’s version in ‘org-version.el’ and Org’s autoloads in
    633 ‘org-loaddefs.el’.
    634 
    635    Make sure you set the load path correctly in your Emacs init file:
    636 
    637      (add-to-list 'load-path "~/src/org-mode/lisp")
    638 
    639    You can also compile with ‘make’, generate the documentation with
    640 ‘make doc’, create a local configuration with ‘make config’ and install
    641 Org with ‘make install’.  Please run ‘make help’ to get the list of
    642 compilation/installation options.
    643 
    644    For more detailed explanations on Org’s build system, please check
    645 the Org Build System page on Worg
    646 (https://orgmode.org/worg/dev/org-build-system.html).
    647 
    648 Installing Org’s contributed packages
    649 -------------------------------------
    650 
    651 Org’s repository used to contain ‘contrib/’ directory for add-ons
    652 contributed by others.  As of Org 9.5, the directory has been moved to
    653 the dedicated org-contrib repository
    654 (https://git.sr.ht/~bzg/org-contrib), which you can install separately
    655 as a package (https://elpa.nongnu.org/nongnu/org-contrib.html) from
    656 NonGNU ELPA.
    657 
    658    There are enough valuable packages maintained outside of the Org
    659 repository.  Worg has a list of org-contrib and external packages
    660 (https://orgmode.org/worg/org-contrib/index.html), certainly it is not
    661 exhaustive.
    662 
    663 
    664 File: org.info,  Node: Activation,  Next: Feedback,  Prev: Installation,  Up: Introduction
    665 
    666 1.3 Activation
    667 ==============
    668 
    669 Org mode buffers need Font Lock to be turned on: this is the default in
    670 Emacs(1).
    671 
    672    There are compatibility issues between Org mode and some other Elisp
    673 packages (see *note Conflicts::).  Please take the time to check the
    674 list.
    675 
    676    For a better experience, the three Org commands ‘org-store-link’,
    677 ‘org-capture’ and ‘org-agenda’ ought to be accessible anywhere in Emacs,
    678 not just in Org buffers.  To that effect, you need to bind them to
    679 globally available keys, like the ones reserved for users (see *note
    680 (elisp)Key Binding Conventions::).  Here are suggested bindings, please
    681 modify the keys to your own liking.
    682 
    683      (global-set-key (kbd "C-c l") #'org-store-link)
    684      (global-set-key (kbd "C-c a") #'org-agenda)
    685      (global-set-key (kbd "C-c c") #'org-capture)
    686 
    687    Files with the ‘.org’ extension use Org mode by default.  To turn on
    688 Org mode in a file that does not have the extension ‘.org’, make the
    689 first line of a file look like this:
    690 
    691      MY PROJECTS    -*- mode: org; -*-
    692 
    693 which selects Org mode for this buffer no matter what the file’s name
    694 is.  See also the variable ‘org-insert-mode-line-in-empty-file’.
    695 
    696    Many commands in Org work on the region if the region is _active_.
    697 To make use of this, you need to have Transient Mark mode turned on,
    698 which is the default.  If you do not like it, you can create an active
    699 region by using the mouse to select a region, or pressing ‘C-<SPC>’
    700 twice before moving point.
    701 
    702    ---------- Footnotes ----------
    703 
    704    (1) If you do not use Font Lock globally turn it on in Org buffer
    705 with ‘(add-hook 'org-mode-hook #'turn-on-font-lock)’.
    706 
    707 
    708 File: org.info,  Node: Feedback,  Next: Conventions,  Prev: Activation,  Up: Introduction
    709 
    710 1.4 Feedback
    711 ============
    712 
    713 If you find problems with Org, or if you have questions, remarks, or
    714 ideas about it, please send an email to the Org mailing list
    715 <emacs-orgmode@gnu.org>.  You can subscribe to the list from this web
    716 page (https://lists.gnu.org/mailman/listinfo/emacs-orgmode).  If you are
    717 not a member of the mailing list, your mail will be passed to the list
    718 after a moderator has approved it(1).  We ask you to read and respect
    719 the GNU Kind Communications Guidelines
    720 (https://www.gnu.org/philosophy/kind-communication.html) when sending
    721 messages on this mailing list.  Please allow up to one month for the
    722 response and followup if no response is received on the bug report.
    723 
    724    For bug reports, please first try to reproduce the bug with the
    725 latest version of Org available—if you are running an outdated version,
    726 it is quite possible that the bug has been fixed already.  If the bug
    727 persists, prepare a report and provide as much information as possible,
    728 including the version information of Emacs (‘M-x emacs-version’) and Org
    729 (‘M-x org-version’), as well as the Org related setup in the Emacs init
    730 file.  The easiest way to do this is to use the command
    731 
    732      M-x org-submit-bug-report <RET>
    733 
    734 which puts all this information into an Emacs mail buffer so that you
    735 only need to add your description.  If you are not sending the Email
    736 from within Emacs, please copy and paste the content into your Email
    737 program.
    738 
    739    Sometimes you might face a problem due to an error in your Emacs or
    740 Org mode setup.  Before reporting a bug, it is very helpful to start
    741 Emacs with minimal customizations and reproduce the problem.  Doing so
    742 often helps you determine if the problem is with your customization or
    743 with Org mode itself.  You can start a typical minimal session with a
    744 command like the example below.
    745 
    746      $ emacs -Q -l /path/to/minimal-org.el
    747 
    748    However if you are using Org mode as distributed with Emacs, a
    749 minimal setup is not necessary.  In that case it is sufficient to start
    750 Emacs as ‘emacs -Q’.  The ‘minimal-org.el’ setup file can have contents
    751 as shown below.
    752 
    753      ;;; Minimal setup to load latest `org-mode'.
    754 
    755      ;; Activate debugging.
    756      (setq debug-on-error t
    757            debug-on-signal nil
    758            debug-on-quit nil)
    759 
    760      ;; Add latest Org mode to load path.
    761      (add-to-list 'load-path (expand-file-name "/path/to/org-mode/lisp"))
    762 
    763    If you are using Org mode version from Git repository, you can start
    764 minimal session using make.
    765 
    766      # Bare Emacs
    767      make repro
    768      # or pass extra arguments
    769      make repro REPRO_ARGS="-l /path/to/minimal/config.el /tmp/bug.org"
    770 
    771    If an error occurs, a “backtrace” can be very useful—see below on how
    772 to create one.  Often a small example file helps, along with clear
    773 information about:
    774 
    775   1. What exactly did you do?
    776   2. What did you expect to happen?
    777   3. What happened instead?
    778 
    779    Thank you for helping to improve this program.
    780 
    781 How to create a useful backtrace
    782 --------------------------------
    783 
    784 If working with Org produces an error with a message you do not
    785 understand, you may have hit a bug.  The best way to report this is by
    786 providing, in addition to what was mentioned above, a backtrace.  This
    787 is information from the built-in debugger about where and how the error
    788 occurred.  Here is how to produce a useful backtrace:
    789 
    790   1. Reload uncompiled versions of all Org mode Lisp files.  The
    791      backtrace contains much more information if it is produced with
    792      uncompiled code.  To do this, use
    793 
    794           C-u M-x org-reload <RET>
    795 
    796      or, from the menu: Org → Refresh/Reload → Reload Org uncompiled.
    797 
    798   2. Then, activate the debugger:
    799 
    800           M-x toggle-debug-on-error <RET>
    801 
    802      or, from the menu: Options → Enter Debugger on Error.
    803 
    804   3. Do whatever you have to do to hit the error.  Do not forget to
    805      document the steps you take.
    806 
    807   4. When you hit the error, a ‘*Backtrace*’ buffer appears on the
    808      screen.  Save this buffer to a file—for example using ‘C-x C-w’—and
    809      attach it to your bug report.
    810 
    811    ---------- Footnotes ----------
    812 
    813    (1) Please consider subscribing to the mailing list in order to
    814 minimize the work the mailing list moderators have to do.
    815 
    816 
    817 File: org.info,  Node: Conventions,  Prev: Feedback,  Up: Introduction
    818 
    819 1.5 Typesetting Conventions Used in this Manual
    820 ===============================================
    821 
    822 TODO keywords, tags, properties, etc.
    823 -------------------------------------
    824 
    825 Org uses various syntactical elements: TODO keywords, tags, property
    826 names, keywords, blocks, etc.  In this manual we use the following
    827 conventions:
    828 
    829 ‘TODO’
    830 ‘WAITING’
    831      TODO keywords are written with all capitals, even if they are
    832      user-defined.
    833 
    834 ‘boss’
    835 ‘ARCHIVE’
    836      Tags are case-sensitive.  User-defined tags are usually written in
    837      lowercase; built-in tags with special meaning are written as they
    838      should appear in the document, usually with all capitals.
    839 
    840 ‘Release’
    841 ‘PRIORITY’
    842      User-defined properties are capitalized; built-in properties with
    843      special meaning are written with all capitals.
    844 
    845 ‘TITLE’
    846 ‘BEGIN’ ... ‘END’
    847      Keywords and blocks are written in uppercase to enhance their
    848      readability, but you can use lowercase in your Org files.
    849 
    850 Key bindings and commands
    851 -------------------------
    852 
    853 The manual lists both the keys and the corresponding commands for
    854 accessing a functionality.  Org mode often uses the same key for
    855 different functions, depending on context.  The command that is bound to
    856 such keys has a generic name, like ‘org-metaright’.  In the manual we
    857 will, wherever possible, give the function that is internally called by
    858 the generic command.  For example, in the chapter on document structure,
    859 ‘M-<RIGHT>’ will be listed to call ‘org-do-demote’, while in the chapter
    860 on tables, it will be listed to call ‘org-table-move-column-right’.
    861 
    862 
    863 File: org.info,  Node: Document Structure,  Next: Tables,  Prev: Introduction,  Up: Top
    864 
    865 2 Document Structure
    866 ********************
    867 
    868 Org is an outliner.  Outlines allow a document to be organized in a
    869 hierarchical structure, which, least for me, is the best representation
    870 of notes and thoughts.  An overview of this structure is achieved by
    871 folding, i.e., hiding large parts of the document to show only the
    872 general document structure and the parts currently being worked on.  Org
    873 greatly simplifies the use of outlines by compressing the entire show
    874 and hide functionalities into a single command, ‘org-cycle’, which is
    875 bound to the ‘<TAB>’ key.
    876 
    877 * Menu:
    878 
    879 * Headlines::                    How to typeset Org tree headlines.
    880 * Visibility Cycling::           Show and hide, much simplified.
    881 * Motion::                       Jumping to other headlines.
    882 * Structure Editing::            Changing sequence and level of headlines.
    883 * Sparse Trees::                 Matches embedded in context.
    884 * Plain Lists::                  Additional structure within an entry.
    885 * Drawers::                      Tucking stuff away.
    886 * Blocks::                       Folding blocks.
    887 
    888 
    889 File: org.info,  Node: Headlines,  Next: Visibility Cycling,  Up: Document Structure
    890 
    891 2.1 Headlines
    892 =============
    893 
    894 Headlines define the structure of an outline tree.  Org headlines start
    895 on the left margin(1) with one or more stars followed by a space.  For
    896 example:
    897 
    898      * Top level headline
    899      ** Second level
    900      *** Third level
    901          some text
    902      *** Third level
    903          more text
    904      * Another top level headline
    905 
    906    The name defined in ‘org-footnote-section’ is reserved.  Do not use
    907 it as a title for your own headings.
    908 
    909    Some people find the many stars too noisy and would prefer an outline
    910 that has whitespace followed by a single star as headline starters.
    911 This can be achieved using a Org Indent minor mode.  See *note Clean
    912 View:: for more information.
    913 
    914    Headlines are not numbered.  However, you may want to dynamically
    915 number some, or all, of them.  See *note Dynamic Headline Numbering::.
    916 
    917    An empty line after the end of a subtree is considered part of it and
    918 is hidden when the subtree is folded.  However, if you leave at least
    919 two empty lines, one empty line remains visible after folding the
    920 subtree, in order to structure the collapsed view.  See the variable
    921 ‘org-cycle-separator-lines’ to modify this behavior.
    922 
    923    ---------- Footnotes ----------
    924 
    925    (1) See the variables ‘org-special-ctrl-a/e’, ‘org-special-ctrl-k’,
    926 and ‘org-ctrl-k-protect-subtree’ to configure special behavior of ‘C-a’,
    927 ‘C-e’, and ‘C-k’ in headlines.  Note also that clocking only works with
    928 headings indented less than 30 stars.
    929 
    930 
    931 File: org.info,  Node: Visibility Cycling,  Next: Motion,  Prev: Headlines,  Up: Document Structure
    932 
    933 2.2 Visibility Cycling
    934 ======================
    935 
    936 * Menu:
    937 
    938 * Global and local cycling::     Cycling through various visibility states.
    939 * Initial visibility::           Setting the initial visibility state.
    940 * Catching invisible edits::     Preventing mistakes when editing invisible parts.
    941 
    942 
    943 File: org.info,  Node: Global and local cycling,  Next: Initial visibility,  Up: Visibility Cycling
    944 
    945 2.2.1 Global and local cycling
    946 ------------------------------
    947 
    948 Outlines make it possible to hide parts of the text in the buffer.  Org
    949 uses just two commands, bound to ‘<TAB>’ and ‘S-<TAB>’ to change the
    950 visibility in the buffer.
    951 
    952 ‘<TAB>’ (‘org-cycle’)
    953      _Subtree cycling_: Rotate current subtree among the states
    954 
    955           ,-> FOLDED -> CHILDREN -> SUBTREE --.
    956           '-----------------------------------'
    957 
    958      Point must be on a headline for this to work(1).
    959 
    960 ‘S-<TAB>’ (‘org-global-cycle’)
    961 ‘C-u <TAB>’
    962      _Global cycling_: Rotate the entire buffer among the states
    963 
    964           ,-> OVERVIEW -> CONTENTS -> SHOW ALL --.
    965           '--------------------------------------'
    966 
    967      When ‘S-<TAB>’ is called with a numeric prefix argument N, view
    968      contents only up to headlines of level N.
    969 
    970      Note that inside tables (see *note Tables::), ‘S-<TAB>’ jumps to
    971      the previous field instead.
    972 
    973      You can run global cycling using ‘<TAB>’ only if point is at the
    974      very beginning of the buffer, but not on a headline, and
    975      ‘org-cycle-global-at-bob’ is set to a non-‘nil’ value.
    976 
    977 ‘C-u C-u <TAB>’ (‘org-set-startup-visibility’)
    978      Switch back to the startup visibility of the buffer (see *note
    979      Initial visibility::).
    980 
    981 ‘C-u C-u C-u <TAB>’ (‘org-show-all’)
    982      Show all, including drawers.
    983 
    984 ‘C-c C-r’ (‘org-reveal’)
    985      Reveal context around point, showing the current entry, the
    986      following heading and the hierarchy above.  It is useful for
    987      working near a location that has been exposed by a sparse tree
    988      command (see *note Sparse Trees::) or an agenda command (see *note
    989      Agenda Commands::).  With a prefix argument, show, on each level,
    990      all sibling headings.  With a double prefix argument, also show the
    991      entire subtree of the parent.
    992 
    993 ‘C-c C-k’ (‘org-show-branches’)
    994      Expose all the headings of the subtree, but not their bodies.
    995 
    996 ‘C-c <TAB>’ (‘org-show-children’)
    997      Expose all direct children of the subtree.  With a numeric prefix
    998      argument N, expose all children down to level N.
    999 
   1000 ‘C-c C-x b’ (‘org-tree-to-indirect-buffer’)
   1001      Show the current subtree in an indirect buffer(2).  With a numeric
   1002      prefix argument N, go up to level N and then take that tree.  If N
   1003      is negative then go up that many levels.  With a ‘C-u’ prefix, do
   1004      not remove the previously used indirect buffer.
   1005 
   1006 ‘C-c C-x v’ (‘org-copy-visible’)
   1007      Copy the _visible_ text in the region into the kill ring.
   1008 
   1009    ---------- Footnotes ----------
   1010 
   1011    (1) See, however, the option ‘org-cycle-emulate-tab’.
   1012 
   1013    (2) The indirect buffer contains the entire buffer, but is narrowed
   1014 to the current tree.  Editing the indirect buffer also changes the
   1015 original buffer, but without affecting visibility in that buffer.  For
   1016 more information about indirect buffers, see *note GNU Emacs Manual:
   1017 (emacs)Indirect Buffers.
   1018 
   1019 
   1020 File: org.info,  Node: Initial visibility,  Next: Catching invisible edits,  Prev: Global and local cycling,  Up: Visibility Cycling
   1021 
   1022 2.2.2 Initial visibility
   1023 ------------------------
   1024 
   1025 When Emacs first visits an Org file, the global state is set to
   1026 ‘showeverything’, i.e., all file content is visible(1).  This can be
   1027 configured through the variable ‘org-startup-folded’, or on a per-file
   1028 basis by adding one of the following lines anywhere in the buffer:
   1029 
   1030      #+STARTUP: overview
   1031      #+STARTUP: content
   1032      #+STARTUP: showall
   1033      #+STARTUP: show2levels
   1034      #+STARTUP: show3levels
   1035      #+STARTUP: show4levels
   1036      #+STARTUP: show5levels
   1037      #+STARTUP: showeverything
   1038 
   1039    Furthermore, any entries with a ‘VISIBILITY’ property (see *note
   1040 Properties and Columns::) get their visibility adapted accordingly.
   1041 Allowed values for this property are ‘folded’, ‘children’, ‘content’,
   1042 and ‘all’.
   1043 
   1044 ‘C-u C-u <TAB>’ (‘org-set-startup-visibility’)
   1045      Switch back to the startup visibility of the buffer, i.e., whatever
   1046      is requested by startup options and ‘VISIBILITY’ properties in
   1047      individual entries.
   1048 
   1049    ---------- Footnotes ----------
   1050 
   1051    (1) When ‘org-agenda-inhibit-startup’ is non-‘nil’, Org does not
   1052 honor the default visibility state when first opening a file for the
   1053 agenda (see *note Speeding Up Your Agendas::).
   1054 
   1055 
   1056 File: org.info,  Node: Catching invisible edits,  Prev: Initial visibility,  Up: Visibility Cycling
   1057 
   1058 2.2.3 Catching invisible edits
   1059 ------------------------------
   1060 
   1061 Sometimes you may inadvertently edit an invisible part of the buffer and
   1062 be confused on what has been edited and how to undo the mistake.
   1063 Setting ‘org-fold-catch-invisible-edits’ to non-‘nil’ helps preventing
   1064 this.  See the docstring of this option on how Org should catch
   1065 invisible edits and process them.
   1066 
   1067 
   1068 File: org.info,  Node: Motion,  Next: Structure Editing,  Prev: Visibility Cycling,  Up: Document Structure
   1069 
   1070 2.3 Motion
   1071 ==========
   1072 
   1073 The following commands jump to other headlines in the buffer.
   1074 
   1075 ‘C-c C-n’ (‘org-next-visible-heading’)
   1076      Next heading.
   1077 
   1078 ‘C-c C-p’ (‘org-previous-visible-heading’)
   1079      Previous heading.
   1080 
   1081 ‘C-c C-f’ (‘org-forward-heading-same-level’)
   1082      Next heading same level.
   1083 
   1084 ‘C-c C-b’ (‘org-backward-heading-same-level’)
   1085      Previous heading same level.
   1086 
   1087 ‘C-c C-u’ (‘outline-up-heading’)
   1088      Backward to higher level heading.
   1089 
   1090 ‘C-c C-j’ (‘org-goto’)
   1091      Jump to a different place without changing the current outline
   1092      visibility.  Shows the document structure in a temporary buffer,
   1093      where you can use the following keys to find your destination:
   1094 
   1095      ‘<TAB>’                Cycle visibility.
   1096      ‘<DOWN>’ / ‘<UP>’      Next/previous visible headline.
   1097      ‘<RET>’                Select this location.
   1098      ‘/’                    Do a Sparse-tree search
   1099 
   1100      The following keys work if you turn off ‘org-goto-auto-isearch’
   1101 
   1102      ‘n’ / ‘p’              Next/previous visible headline.
   1103      ‘f’ / ‘b’              Next/previous headline same level.
   1104      ‘u’                    One level up.
   1105      ‘0’ ... ‘9’            Digit argument.
   1106      ‘q’                    Quit.
   1107 
   1108      See also the variable ‘org-goto-interface’.
   1109 
   1110 
   1111 File: org.info,  Node: Structure Editing,  Next: Sparse Trees,  Prev: Motion,  Up: Document Structure
   1112 
   1113 2.4 Structure Editing
   1114 =====================
   1115 
   1116 ‘M-<RET>’ (‘org-meta-return’)
   1117      Insert a new heading, item or row.
   1118 
   1119      If the command is used at the _beginning_ of a line, and if there
   1120      is a heading or a plain list item (see *note Plain Lists::) at
   1121      point, the new heading/item is created _before_ the current line.
   1122      When used at the beginning of a regular line of text, turn that
   1123      line into a heading.
   1124 
   1125      When this command is used in the middle of a line, the line is
   1126      split and the rest of the line becomes the new item or headline.
   1127      If you do not want the line to be split, customize
   1128      ‘org-M-RET-may-split-line’.
   1129 
   1130      Calling the command with a ‘C-u’ prefix unconditionally inserts a
   1131      new heading at the end of the current subtree, thus preserving its
   1132      contents.  With a double ‘C-u C-u’ prefix, the new heading is
   1133      created at the end of the parent subtree instead.
   1134 
   1135 ‘C-<RET>’ (‘org-insert-heading-respect-content’)
   1136      Insert a new heading at the end of the current subtree.
   1137 
   1138 ‘M-S-<RET>’ (‘org-insert-todo-heading’)
   1139      Insert new TODO entry with same level as current heading.  See also
   1140      the variable ‘org-treat-insert-todo-heading-as-state-change’.
   1141 
   1142 ‘C-S-<RET>’ (‘org-insert-todo-heading-respect-content’)
   1143      Insert new TODO entry with same level as current heading.  Like
   1144      ‘C-<RET>’, the new headline is inserted after the current subtree.
   1145 
   1146 ‘<TAB>’ (‘org-cycle’)
   1147      In a new entry with no text yet, the first ‘<TAB>’ demotes the
   1148      entry to become a child of the previous one.  The next ‘<TAB>’
   1149      makes it a parent, and so on, all the way to top level.  Yet
   1150      another ‘<TAB>’, and you are back to the initial level.
   1151 
   1152 ‘M-<LEFT>’ (‘org-do-promote’)
   1153 ‘M-<RIGHT>’ (‘org-do-demote’)
   1154      Promote or demote current heading by one level.
   1155 
   1156      When there is an active region—i.e., when Transient Mark mode is
   1157      active—promotion and demotion work on all headlines in the region.
   1158      To select a region of headlines, it is best to place both point and
   1159      mark at the beginning of a line, mark at the beginning of the first
   1160      headline, and point at the line just after the last headline to
   1161      change.
   1162 
   1163 ‘M-S-<LEFT>’ (‘org-promote-subtree’)
   1164      Promote the current subtree by one level.
   1165 
   1166 ‘M-S-<RIGHT>’ (‘org-demote-subtree’)
   1167      Demote the current subtree by one level.
   1168 
   1169 ‘M-<UP>’ (‘org-move-subtree-up’)
   1170      Move subtree up, i.e., swap with previous subtree of same level.
   1171 
   1172 ‘M-<DOWN>’ (‘org-move-subtree-down’)
   1173      Move subtree down, i.e., swap with next subtree of same level.
   1174 
   1175 ‘C-c @’ (‘org-mark-subtree’)
   1176      Mark the subtree at point.  Hitting repeatedly marks subsequent
   1177      subtrees of the same level as the marked subtree.
   1178 
   1179 ‘C-c C-x C-w’ (‘org-cut-subtree’)
   1180      Kill subtree, i.e., remove it from buffer but save in kill ring.
   1181      With a numeric prefix argument N, kill N sequential subtrees.
   1182 
   1183 ‘C-c C-x M-w’ (‘org-copy-subtree’)
   1184      Copy subtree to kill ring.  With a numeric prefix argument N, copy
   1185      the N sequential subtrees.
   1186 
   1187 ‘C-c C-x C-y’ (‘org-paste-subtree’)
   1188      Yank subtree from kill ring.  This does modify the level of the
   1189      subtree to make sure the tree fits in nicely at the yank position.
   1190      The yank level can also be specified with a numeric prefix
   1191      argument, or by yanking after a headline marker like ‘****’.
   1192 
   1193 ‘C-y’ (‘org-yank’)
   1194      Depending on the variables ‘org-yank-adjusted-subtrees’ and
   1195      ‘org-yank-folded-subtrees’, Org’s internal ‘yank’ command pastes
   1196      subtrees folded and in a clever way, using the same command as ‘C-c
   1197      C-x C-y’.  With the default settings, no level adjustment takes
   1198      place, but the yanked tree is folded unless doing so would swallow
   1199      text previously visible.  Any prefix argument to this command
   1200      forces a normal ‘yank’ to be executed, with the prefix passed
   1201      along.  A good way to force a normal yank is ‘C-u C-y’.  If you use
   1202      ‘yank-pop’ after a yank, it yanks previous kill items plainly,
   1203      without adjustment and folding.
   1204 
   1205 ‘C-c C-x c’ (‘org-clone-subtree-with-time-shift’)
   1206      Clone a subtree by making a number of sibling copies of it.  You
   1207      are prompted for the number of copies to make, and you can also
   1208      specify if any timestamps in the entry should be shifted.  This can
   1209      be useful, for example, to create a number of tasks related to a
   1210      series of lectures to prepare.  For more details, see the docstring
   1211      of the command ‘org-clone-subtree-with-time-shift’.
   1212 
   1213 ‘C-c C-w’ (‘org-refile’)
   1214      Refile entry or region to a different location.  See *note Refile
   1215      and Copy::.
   1216 
   1217 ‘C-c ^’ (‘org-sort’)
   1218      Sort same-level entries.  When there is an active region, all
   1219      entries in the region are sorted.  Otherwise the children of the
   1220      current headline are sorted.  The command prompts for the sorting
   1221      method, which can be alphabetically, numerically, by time—first
   1222      timestamp with active preferred, creation time, scheduled time,
   1223      deadline time—by priority, by TODO keyword—in the sequence the
   1224      keywords have been defined in the setup—or by the value of a
   1225      property.  Reverse sorting is possible as well.  You can also
   1226      supply your own function to extract the sorting key.  With a ‘C-u’
   1227      prefix, sorting is case-sensitive.
   1228 
   1229 ‘C-x n s’ (‘org-narrow-to-subtree’)
   1230      Narrow buffer to current subtree.
   1231 
   1232 ‘C-x n b’ (‘org-narrow-to-block’)
   1233      Narrow buffer to current block.
   1234 
   1235 ‘C-x n w’ (‘widen’)
   1236      Widen buffer to remove narrowing.
   1237 
   1238 ‘C-c *’ (‘org-toggle-heading’)
   1239      Turn a normal line or plain list item into a headline—so that it
   1240      becomes a subheading at its location.  Also turn a headline into a
   1241      normal line by removing the stars.  If there is an active region,
   1242      turn all lines in the region into headlines.  If the first line in
   1243      the region was an item, turn only the item lines into headlines.
   1244      Finally, if the first line is a headline, remove the stars from all
   1245      headlines in the region.
   1246 
   1247    Note that when point is inside a table (see *note Tables::), the
   1248 Meta-Cursor keys have different functionality.
   1249 
   1250 
   1251 File: org.info,  Node: Sparse Trees,  Next: Plain Lists,  Prev: Structure Editing,  Up: Document Structure
   1252 
   1253 2.5 Sparse Trees
   1254 ================
   1255 
   1256 An important feature of Org mode is the ability to construct _sparse
   1257 trees_ for selected information in an outline tree, so that the entire
   1258 document is folded as much as possible, but the selected information is
   1259 made visible along with the headline structure above it(1).  Just try it
   1260 out and you will see immediately how it works.
   1261 
   1262    Org mode contains several commands creating such trees, all these
   1263 commands can be accessed through a dispatcher:
   1264 
   1265 ‘C-c /’ (‘org-sparse-tree’)
   1266      This prompts for an extra key to select a sparse-tree creating
   1267      command.
   1268 
   1269 ‘C-c / r’ or ‘C-c / /’ (‘org-occur’)
   1270      Prompts for a regexp (see *note Regular Expressions::) and shows a
   1271      sparse tree with all matches.  If the match is in a headline, the
   1272      headline is made visible.  If the match is in the body of an entry,
   1273      headline and body are made visible.  In order to provide minimal
   1274      context, also the full hierarchy of headlines above the match is
   1275      shown, as well as the headline following the match.  Each match is
   1276      also highlighted; the highlights disappear when the buffer is
   1277      changed by an editing command, or by pressing ‘C-c C-c’(2).  When
   1278      called with a ‘C-u’ prefix argument, previous highlights are kept,
   1279      so several calls to this command can be stacked.
   1280 
   1281 ‘M-g n’ or ‘M-g M-n’ (‘next-error’)
   1282      Jump to the next sparse tree match in this buffer.
   1283 
   1284 ‘M-g p’ or ‘M-g M-p’ (‘previous-error’)
   1285      Jump to the previous sparse tree match in this buffer.
   1286 
   1287    For frequently used sparse trees of specific search strings, you can
   1288 use the variable ‘org-agenda-custom-commands’ to define fast keyboard
   1289 access to specific sparse trees.  These commands will then be accessible
   1290 through the agenda dispatcher (see *note Agenda Dispatcher::).  For
   1291 example:
   1292 
   1293      (setq org-agenda-custom-commands
   1294            '(("f" occur-tree "FIXME")))
   1295 
   1296 defines the key ‘f’ as a shortcut for creating a sparse tree matching
   1297 the string ‘FIXME’.
   1298 
   1299    The other sparse tree commands select headings based on TODO
   1300 keywords, tags, or properties and are discussed later in this manual.
   1301 
   1302    To print a sparse tree, you can use the Emacs command
   1303 ‘ps-print-buffer-with-faces’ which does not print invisible parts of the
   1304 document.  Or you can use the command ‘C-c C-e C-v’ to export only the
   1305 visible part of the document and print the resulting file.
   1306 
   1307    ---------- Footnotes ----------
   1308 
   1309    (1) See also the variable ‘org-show-context-detail’ to decide how
   1310 much context is shown around each match.
   1311 
   1312    (2) This depends on the option ‘org-remove-highlights-with-change’.
   1313 
   1314 
   1315 File: org.info,  Node: Plain Lists,  Next: Drawers,  Prev: Sparse Trees,  Up: Document Structure
   1316 
   1317 2.6 Plain Lists
   1318 ===============
   1319 
   1320 Within an entry of the outline tree, hand-formatted lists can provide
   1321 additional structure.  They also provide a way to create lists of
   1322 checkboxes (see *note Checkboxes::).  Org supports editing such lists,
   1323 and every exporter (see *note Exporting::) can parse and format them.
   1324 
   1325    Org knows ordered lists, unordered lists, and description lists.
   1326 
   1327    • _Unordered_ list items start with ‘-’, ‘+’, or ‘*’(1) as bullets.
   1328 
   1329    • _Ordered_ list items start with a numeral followed by either a
   1330      period or a right parenthesis(2), such as ‘1.’ or ‘1)’(3) If you
   1331      want a list to start with a different value—e.g., 20—start the text
   1332      of the item with ‘[@20]’(4).  Those constructs can be used in any
   1333      item of the list in order to enforce a particular numbering.
   1334 
   1335    • _Description_ list items are unordered list items, and contain the
   1336      separator ‘::’ to distinguish the description _term_ from the
   1337      description.
   1338 
   1339    Items belonging to the same list must have the same indentation on
   1340 the first line.  In particular, if an ordered list reaches number ‘10.’,
   1341 then the 2-digit numbers must be written left-aligned with the other
   1342 numbers in the list.  An item ends before the next line that is less or
   1343 equally indented than its bullet/number.
   1344 
   1345    A list ends whenever every item has ended, which means before any
   1346 line less or equally indented than items at top level.  It also ends
   1347 before two blank lines.  In that case, all items are closed.  Here is an
   1348 example:
   1349 
   1350      * Lord of the Rings
   1351      My favorite scenes are (in this order)
   1352      1. The attack of the Rohirrim
   1353      2. Eowyn's fight with the witch king
   1354         + this was already my favorite scene in the book
   1355         + I really like Miranda Otto.
   1356      3. Peter Jackson being shot by Legolas
   1357         - on DVD only
   1358         He makes a really funny face when it happens.
   1359      But in the end, no individual scenes matter but the film as a whole.
   1360      Important actors in this film are:
   1361      - Elijah Wood :: He plays Frodo
   1362      - Sean Astin :: He plays Sam, Frodo's friend.  I still remember him
   1363           very well from his role as Mikey Walsh in /The Goonies/.
   1364 
   1365    Org supports these lists by tuning filling and wrapping commands to
   1366 deal with them correctly, and by exporting them properly (see *note
   1367 Exporting::).  Since indentation is what governs the structure of these
   1368 lists, many structural constructs like ‘#+BEGIN_’ blocks can be indented
   1369 to signal that they belong to a particular item.
   1370 
   1371    If you find that using a different bullet for a sub-list—than that
   1372 used for the current list-level—improves readability, customize the
   1373 variable ‘org-list-demote-modify-bullet’.  To get a greater difference
   1374 of indentation between items and theirs sub-items, customize
   1375 ‘org-list-indent-offset’.
   1376 
   1377    The following commands act on items when point is in the first line
   1378 of an item—the line with the bullet or number.  Some of them imply the
   1379 application of automatic rules to keep list structure intact.  If some
   1380 of these actions get in your way, configure ‘org-list-automatic-rules’
   1381 to disable them individually.
   1382 
   1383 ‘<TAB>’ (‘org-cycle’)
   1384      Items can be folded just like headline levels.  Normally this works
   1385      only if point is on a plain list item.  For more details, see the
   1386      variable ‘org-cycle-include-plain-lists’.  If this variable is set
   1387      to ‘integrate’, plain list items are treated like low-level
   1388      headlines.  The level of an item is then given by the indentation
   1389      of the bullet/number.  Items are always subordinate to real
   1390      headlines, however; the hierarchies remain completely separated.
   1391      In a new item with no text yet, the first ‘<TAB>’ demotes the item
   1392      to become a child of the previous one.  Subsequent ‘<TAB>’s move
   1393      the item to meaningful levels in the list and eventually get it
   1394      back to its initial position.
   1395 
   1396 ‘M-<RET>’ (‘org-insert-heading’)
   1397      Insert new item at current level.  With a prefix argument, force a
   1398      new heading (see *note Structure Editing::).  If this command is
   1399      used in the middle of an item, that item is _split_ in two, and the
   1400      second part becomes the new item(5).  If this command is executed
   1401      _before item’s body_, the new item is created _before_ the current
   1402      one.
   1403 
   1404 ‘M-S-<RET>’
   1405      Insert a new item with a checkbox (see *note Checkboxes::).
   1406 
   1407 ‘S-<UP>’
   1408 ‘S-<DOWN>’
   1409      Jump to the previous/next item in the current list, but only if
   1410      ‘org-support-shift-select’ is off(6).  If not, you can still use
   1411      paragraph jumping commands like ‘C-<UP>’ and ‘C-<DOWN>’ to quite
   1412      similar effect.
   1413 
   1414 ‘M-<UP>’
   1415 ‘M-<DOWN>’
   1416      Move the item including subitems up/down(7), i.e., swap with
   1417      previous/next item of same indentation.  If the list is ordered,
   1418      renumbering is automatic.
   1419 
   1420 ‘M-<LEFT>’
   1421 ‘M-<RIGHT>’
   1422      Decrease/increase the indentation of an item, leaving children
   1423      alone.
   1424 
   1425 ‘M-S-<LEFT>’
   1426 ‘M-S-<RIGHT>’
   1427      Decrease/increase the indentation of the item, including subitems.
   1428      Initially, the item tree is selected based on current indentation.
   1429      When these commands are executed several times in direct
   1430      succession, the initially selected region is used, even if the new
   1431      indentation would imply a different hierarchy.  To use the new
   1432      hierarchy, break the command chain by moving point.
   1433 
   1434      As a special case, using this command on the very first item of a
   1435      list moves the whole list.  This behavior can be disabled by
   1436      configuring ‘org-list-automatic-rules’.  The global indentation of
   1437      a list has no influence on the text _after_ the list.
   1438 
   1439 ‘C-c C-c’
   1440      If there is a checkbox (see *note Checkboxes::) in the item line,
   1441      toggle the state of the checkbox.  In any case, verify bullets and
   1442      indentation consistency in the whole list.
   1443 
   1444 ‘C-c -’
   1445      Cycle the entire list level through the different itemize/enumerate
   1446      bullets (‘-’, ‘+’, ‘*’, ‘1.’, ‘1)’) or a subset of them, depending
   1447      on ‘org-plain-list-ordered-item-terminator’, the type of list, and
   1448      its indentation.  With a numeric prefix argument N, select the Nth
   1449      bullet from this list.  If there is an active region when calling
   1450      this, all lines are converted to list items.  With a prefix
   1451      argument, the selected text is changed into a single item.  If the
   1452      first line already was a list item, any item marker is removed from
   1453      the list.  Finally, even without an active region, a normal line is
   1454      converted into a list item.
   1455 
   1456 ‘C-c *’
   1457      Turn a plain list item into a headline—so that it becomes a
   1458      subheading at its location.  See *note Structure Editing::, for a
   1459      detailed explanation.
   1460 
   1461 ‘C-c C-*’
   1462      Turn the whole plain list into a subtree of the current heading.
   1463      Checkboxes (see *note Checkboxes::) become ‘TODO’, respectively
   1464      ‘DONE’, keywords when unchecked, respectively checked.
   1465 
   1466 ‘S-<LEFT>’
   1467 ‘S-<RIGHT>’
   1468      This command also cycles bullet styles when point is in on the
   1469      bullet or anywhere in an item line, details depending on
   1470      ‘org-support-shift-select’.
   1471 
   1472 ‘C-c ^’
   1473      Sort the plain list.  Prompt for the sorting method: numerically,
   1474      alphabetically, by time, or by custom function.
   1475 
   1476    ---------- Footnotes ----------
   1477 
   1478    (1) When using ‘*’ as a bullet, lines must be indented so that they
   1479 are not interpreted as headlines.  Also, when you are hiding leading
   1480 stars to get a clean outline view, plain list items starting with a star
   1481 may be hard to distinguish from true headlines.  In short: even though
   1482 ‘*’ is supported, it may be better to not use it for plain list items.
   1483 
   1484    (2) You can filter out any of them by configuring
   1485 ‘org-plain-list-ordered-item-terminator’.
   1486 
   1487    (3) You can also get ‘a.’, ‘A.’, ‘a)’ and ‘A)’ by configuring
   1488 ‘org-list-allow-alphabetical’.  To minimize confusion with normal text,
   1489 those are limited to one character only.  Beyond that limit, bullets
   1490 automatically become numbers.
   1491 
   1492    (4) If there’s a checkbox in the item, the cookie must be put
   1493 _before_ the checkbox.  If you have activated alphabetical lists, you
   1494 can also use counters like ‘[@b]’.
   1495 
   1496    (5) If you do not want the item to be split, customize the variable
   1497 ‘org-M-RET-may-split-line’.
   1498 
   1499    (6) If you want to cycle around items that way, you may customize
   1500 ‘org-list-use-circular-motion’.
   1501 
   1502    (7) See ‘org-list-use-circular-motion’ for a cyclic behavior.
   1503 
   1504 
   1505 File: org.info,  Node: Drawers,  Next: Blocks,  Prev: Plain Lists,  Up: Document Structure
   1506 
   1507 2.7 Drawers
   1508 ===========
   1509 
   1510 Sometimes you want to keep information associated with an entry, but you
   1511 normally do not want to see it.  For this, Org mode has _drawers_.  They
   1512 can contain anything but a headline and another drawer.  Drawers look
   1513 like this:
   1514 
   1515      ** This is a headline
   1516      Still outside the drawer
   1517      :DRAWERNAME:
   1518      This is inside the drawer.
   1519      :END:
   1520      After the drawer.
   1521 
   1522    You can interactively insert a drawer at point by calling
   1523 ‘org-insert-drawer’, which is bound to ‘C-c C-x d’.  With an active
   1524 region, this command puts the region inside the drawer.  With a prefix
   1525 argument, this command calls non-interactive function
   1526 ‘org-insert-property-drawer’, which creates a ‘PROPERTIES’ drawer right
   1527 below the current headline.  Org mode uses this special drawer for
   1528 storing properties (see *note Properties and Columns::).  You cannot use
   1529 it for anything else.
   1530 
   1531    Completion over drawer keywords is also possible using ‘M-<TAB>’(1).
   1532 
   1533    Visibility cycling (see *note Visibility Cycling::) on the headline
   1534 hides and shows the entry, but keep the drawer collapsed to a single
   1535 line.  In order to look inside the drawer, you need to move point to the
   1536 drawer line and press ‘<TAB>’ there.
   1537 
   1538    You can also arrange for state change notes (see *note Tracking TODO
   1539 state changes::) and clock times (see *note Clocking Work Time::) to be
   1540 stored in a ‘LOGBOOK’ drawer.  If you want to store a quick note there,
   1541 in a similar way to state changes, use
   1542 
   1543 ‘C-c C-z’
   1544      Add a time-stamped note to the ‘LOGBOOK’ drawer.
   1545 
   1546    ---------- Footnotes ----------
   1547 
   1548    (1) Many desktops intercept ‘M-<TAB>’ to switch windows.  Use ‘C-M-i’
   1549 or ‘<ESC> <TAB>’ instead.
   1550 
   1551 
   1552 File: org.info,  Node: Blocks,  Prev: Drawers,  Up: Document Structure
   1553 
   1554 2.8 Blocks
   1555 ==========
   1556 
   1557 Org mode uses ‘#+BEGIN’ ... ‘#+END’ blocks for various purposes from
   1558 including source code examples (see *note Literal Examples::) to
   1559 capturing time logging information (see *note Clocking Work Time::).
   1560 These blocks can be folded and unfolded by pressing ‘<TAB>’ in the
   1561 ‘#+BEGIN’ line.  You can also get all blocks folded at startup by
   1562 configuring the variable ‘org-hide-block-startup’ or on a per-file basis
   1563 by using
   1564 
   1565      #+STARTUP: hideblocks
   1566      #+STARTUP: nohideblocks
   1567 
   1568 
   1569 File: org.info,  Node: Tables,  Next: Hyperlinks,  Prev: Document Structure,  Up: Top
   1570 
   1571 3 Tables
   1572 ********
   1573 
   1574 Org comes with a fast and intuitive table editor.  Spreadsheet-like
   1575 calculations are supported using the Emacs Calc package (see *note GNU
   1576 Emacs Calculator Manual: (calc)Top.).
   1577 
   1578 * Menu:
   1579 
   1580 * Built-in Table Editor::        Simple tables.
   1581 * Column Width and Alignment::   Overrule the automatic settings.
   1582 * Column Groups::                Grouping to trigger vertical lines.
   1583 * Orgtbl Mode::                  The table editor as minor mode.
   1584 * The Spreadsheet::              The table editor has spreadsheet capabilities.
   1585 * Org Plot::                     Plotting from Org tables.
   1586 
   1587 
   1588 File: org.info,  Node: Built-in Table Editor,  Next: Column Width and Alignment,  Up: Tables
   1589 
   1590 3.1 Built-in Table Editor
   1591 =========================
   1592 
   1593 Org makes it easy to format tables in plain ASCII.  Any line with ‘|’ as
   1594 the first non-whitespace character is considered part of a table.  ‘|’
   1595 is also the column separator(1).  Moreover, a line starting with ‘|-’ is
   1596 a horizontal rule.  It separates rows explicitly.  Rows before the first
   1597 horizontal rule are header lines.  A table might look like this:
   1598 
   1599      | Name  | Phone | Age |
   1600      |-------+-------+-----|
   1601      | Peter |  1234 |  17 |
   1602      | Anna  |  4321 |  25 |
   1603 
   1604    A table is re-aligned automatically each time you press ‘<TAB>’,
   1605 ‘<RET>’ or ‘C-c C-c’ inside the table.  ‘<TAB>’ also moves to the next
   1606 field—‘<RET>’ to the next row—and creates new table rows at the end of
   1607 the table or before horizontal lines.  The indentation of the table is
   1608 set by the first line.  Horizontal rules are automatically expanded on
   1609 every re-align to span the whole table width.  So, to create the above
   1610 table, you would only type
   1611 
   1612      |Name|Phone|Age|
   1613      |-
   1614 
   1615 and then press ‘<TAB>’ to align the table and start filling in fields.
   1616 Even faster would be to type ‘|Name|Phone|Age’ followed by ‘C-c <RET>’.
   1617 
   1618    When typing text into a field, Org treats ‘<DEL>’, ‘Backspace’, and
   1619 all character keys in a special way, so that inserting and deleting
   1620 avoids shifting other fields.  Also, when typing _immediately_ after
   1621 point was moved into a new field with ‘<TAB>’, ‘S-<TAB>’ or ‘<RET>’, the
   1622 field is automatically made blank.  If this behavior is too
   1623 unpredictable for you, configure the option
   1624 ‘org-table-auto-blank-field’.
   1625 
   1626 Creation and conversion
   1627 -----------------------
   1628 
   1629 ‘C-c |’ (‘org-table-create-or-convert-from-region’)
   1630      Convert the active region to table.  If every line contains at
   1631      least one ‘<TAB>’ character, the function assumes that the material
   1632      is tab separated.  If every line contains a comma, comma-separated
   1633      values (CSV) are assumed.  If not, lines are split at whitespace
   1634      into fields.  You can use a prefix argument to force a specific
   1635      separator: ‘C-u’ forces CSV, ‘C-u C-u’ forces ‘<TAB>’, ‘C-u C-u
   1636      C-u’ prompts for a regular expression to match the separator, and a
   1637      numeric argument N indicates that at least N consecutive spaces, or
   1638      alternatively a ‘<TAB>’ will be the separator.
   1639 
   1640      If there is no active region, this command creates an empty Org
   1641      table.  But it is easier just to start typing, like ‘| N a m e | P
   1642      h o n e | A g e <RET> | - <TAB>’.
   1643 
   1644 Re-aligning and field motion
   1645 ----------------------------
   1646 
   1647 ‘C-c C-c’ (‘org-table-align’)
   1648      Re-align the table without moving point.
   1649 
   1650 ‘<TAB>’ (‘org-table-next-field’)
   1651      Re-align the table, move to the next field.  Creates a new row if
   1652      necessary.
   1653 
   1654 ‘M-x org-table-blank-field’
   1655      Blank the current table field or active region.
   1656 
   1657 ‘S-<TAB>’ (‘org-table-previous-field’)
   1658      Re-align, move to previous field.
   1659 
   1660 ‘<RET>’ (‘org-table-next-row’)
   1661      Re-align the table and move down to next row.  Creates a new row if
   1662      necessary.  At the beginning or end of a line, ‘<RET>’ still
   1663      inserts a new line, so it can be used to split a table.
   1664 
   1665 ‘M-a’ (‘org-table-beginning-of-field’)
   1666      Move to beginning of the current table field, or on to the previous
   1667      field.
   1668 
   1669 ‘M-e’ (‘org-table-end-of-field’)
   1670      Move to end of the current table field, or on to the next field.
   1671 
   1672 Column and row editing
   1673 ----------------------
   1674 
   1675 ‘M-<LEFT>’ (‘org-table-move-column-left’)
   1676      Move the current column left.
   1677 
   1678 ‘M-<RIGHT>’ (‘org-table-move-column-right’)
   1679      Move the current column right.
   1680 
   1681 ‘M-S-<LEFT>’ (‘org-table-delete-column’)
   1682      Kill the current column.
   1683 
   1684 ‘M-S-<RIGHT>’ (‘org-table-insert-column’)
   1685      Insert a new column at point position.  Move the recent column and
   1686      all cells to the right of this column to the right.
   1687 
   1688 ‘M-<UP>’ (‘org-table-move-row-up’)
   1689      Move the current row up.
   1690 
   1691 ‘M-<DOWN>’ (‘org-table-move-row-down’)
   1692      Move the current row down.
   1693 
   1694 ‘M-S-<UP>’ (‘org-table-kill-row’)
   1695      Kill the current row or horizontal line.
   1696 
   1697 ‘S-<UP>’ (‘org-table-move-cell-up’)
   1698      Move cell up by swapping with adjacent cell.
   1699 
   1700 ‘S-<DOWN>’ (‘org-table-move-cell-down’)
   1701      Move cell down by swapping with adjacent cell.
   1702 
   1703 ‘S-<LEFT>’ (‘org-table-move-cell-left’)
   1704      Move cell left by swapping with adjacent cell.
   1705 
   1706 ‘S-<RIGHT>’ (‘org-table-move-cell-right’)
   1707      Move cell right by swapping with adjacent cell.
   1708 
   1709 ‘M-S-<DOWN>’ (‘org-table-insert-row’)
   1710      Insert a new row above the current row.  With a prefix argument,
   1711      the line is created below the current one.
   1712 
   1713 ‘C-c -’ (‘org-table-insert-hline’)
   1714      Insert a horizontal line below current row.  With a prefix
   1715      argument, the line is created above the current line.
   1716 
   1717 ‘C-c <RET>’ (‘org-table-hline-and-move’)
   1718      Insert a horizontal line below current row, and move point into the
   1719      row below that line.
   1720 
   1721 ‘C-c ^’ (‘org-table-sort-lines’)
   1722      Sort the table lines in the region.  The position of point
   1723      indicates the column to be used for sorting, and the range of lines
   1724      is the range between the nearest horizontal separator lines, or the
   1725      entire table.  If point is before the first column, you are
   1726      prompted for the sorting column.  If there is an active region, the
   1727      mark specifies the first line and the sorting column, while point
   1728      should be in the last line to be included into the sorting.  The
   1729      command prompts for the sorting type, alphabetically, numerically,
   1730      or by time.  You can sort in normal or reverse order.  You can also
   1731      supply your own key extraction and comparison functions.  When
   1732      called with a prefix argument, alphabetic sorting is
   1733      case-sensitive.
   1734 
   1735 Regions
   1736 -------
   1737 
   1738 ‘C-c C-x M-w’ (‘org-table-copy-region’)
   1739      Copy a rectangular region from a table to a special clipboard.
   1740      Point and mark determine edge fields of the rectangle.  If there is
   1741      no active region, copy just the current field.  The process ignores
   1742      horizontal separator lines.
   1743 
   1744 ‘C-c C-x C-w’ (‘org-table-cut-region’)
   1745      Copy a rectangular region from a table to a special clipboard, and
   1746      blank all fields in the rectangle.  So this is the “cut” operation.
   1747 
   1748 ‘C-c C-x C-y’ (‘org-table-paste-rectangle’)
   1749      Paste a rectangular region into a table.  The upper left corner
   1750      ends up in the current field.  All involved fields are overwritten.
   1751      If the rectangle does not fit into the present table, the table is
   1752      enlarged as needed.  The process ignores horizontal separator
   1753      lines.
   1754 
   1755 ‘M-<RET>’ (‘org-table-wrap-region’)
   1756      Split the current field at point position and move the rest to the
   1757      line below.  If there is an active region, and both point and mark
   1758      are in the same column, the text in the column is wrapped to
   1759      minimum width for the given number of lines.  A numeric prefix
   1760      argument may be used to change the number of desired lines.  If
   1761      there is no region, but you specify a prefix argument, the current
   1762      field is made blank, and the content is appended to the field
   1763      above.
   1764 
   1765 Calculations
   1766 ------------
   1767 
   1768 ‘C-c +’ (‘org-table-sum’)
   1769      Sum the numbers in the current column, or in the rectangle defined
   1770      by the active region.  The result is shown in the echo area and can
   1771      be inserted with ‘C-y’.
   1772 
   1773 ‘S-<RET>’ (‘org-table-copy-down’)
   1774      When current field is empty, copy from first non-empty field above.
   1775      When not empty, copy current field down to next row and move point
   1776      along with it.
   1777 
   1778      Depending on the variable ‘org-table-copy-increment’, integer and
   1779      time stamp field values, and fields prefixed or suffixed with a
   1780      whole number, can be incremented during copy.  Also, a ‘0’ prefix
   1781      argument temporarily disables the increment.
   1782 
   1783      This key is also used by shift-selection and related modes (see
   1784      *note Conflicts::).
   1785 
   1786 Miscellaneous
   1787 -------------
   1788 
   1789 ‘C-c `’ (‘org-table-edit-field’)
   1790      Edit the current field in a separate window.  This is useful for
   1791      fields that are not fully visible (see *note Column Width and
   1792      Alignment::).  When called with a ‘C-u’ prefix, just make the full
   1793      field visible, so that it can be edited in place.  When called with
   1794      two ‘C-u’ prefixes, make the editor window follow point through the
   1795      table and always show the current field.  The follow mode exits
   1796      automatically when point leaves the table, or when you repeat this
   1797      command with ‘C-u C-u C-c `’.
   1798 
   1799 ‘M-x org-table-import’
   1800      Import a file as a table.  The table should be TAB or whitespace
   1801      separated.  Use, for example, to import a spreadsheet table or data
   1802      from a database, because these programs generally can write
   1803      TAB-separated text files.  This command works by inserting the file
   1804      into the buffer and then converting the region to a table.  Any
   1805      prefix argument is passed on to the converter, which uses it to
   1806      determine the separator.
   1807 
   1808 ‘C-c |’ (‘org-table-create-or-convert-from-region’)
   1809      Tables can also be imported by pasting tabular text into the Org
   1810      buffer, selecting the pasted text with ‘C-x C-x’ and then using the
   1811      ‘C-c |’ command (see *note Creation and conversion::).
   1812 
   1813 ‘M-x org-table-export’
   1814      Export the table, by default as a TAB-separated file.  Use for data
   1815      exchange with, for example, spreadsheet or database programs.  The
   1816      format used to export the file can be configured in the variable
   1817      ‘org-table-export-default-format’.  You may also use properties
   1818      ‘TABLE_EXPORT_FILE’ and ‘TABLE_EXPORT_FORMAT’ to specify the file
   1819      name and the format for table export in a subtree.  Org supports
   1820      quite general formats for exported tables.  The exporter format is
   1821      the same as the format used by Orgtbl radio tables, see *note
   1822      Translator functions::, for a detailed description.
   1823 
   1824 ‘M-x org-table-header-line-mode’
   1825      Turn on the display of the first data row of the table at point in
   1826      the window header line when this first row is not visible anymore
   1827      in the buffer.  You can activate this minor mode by default by
   1828      setting the option ‘org-table-header-line-p’ to ‘t’.
   1829 
   1830 ‘M-x org-table-transpose-table-at-point’
   1831      Transpose the table at point and eliminate hlines.
   1832 
   1833    ---------- Footnotes ----------
   1834 
   1835    (1) To insert a vertical bar into a table field, use ‘\vert’ or,
   1836 inside a word ‘abc\vert{}def’.
   1837 
   1838 
   1839 File: org.info,  Node: Column Width and Alignment,  Next: Column Groups,  Prev: Built-in Table Editor,  Up: Tables
   1840 
   1841 3.2 Column Width and Alignment
   1842 ==============================
   1843 
   1844 The width of columns is automatically determined by the table editor.
   1845 The alignment of a column is determined automatically from the fraction
   1846 of number-like versus non-number fields in the column.
   1847 
   1848    Editing a field may modify alignment of the table.  Moving a
   1849 contiguous row or column—i.e., using ‘<TAB>’ or ‘<RET>’—automatically
   1850 re-aligns it.  If you want to disable this behavior, set
   1851 ‘org-table-automatic-realign’ to ‘nil’.  In any case, you can always
   1852 align manually a table:
   1853 
   1854 ‘C-c C-c’ (‘org-table-align’)
   1855      Align the current table.
   1856 
   1857    Setting the option ‘org-startup-align-all-tables’ re-aligns all
   1858 tables in a file upon visiting it.  You can also set this option on a
   1859 per-file basis with:
   1860 
   1861      #+STARTUP: align
   1862      #+STARTUP: noalign
   1863 
   1864    Sometimes a single field or a few fields need to carry more text,
   1865 leading to inconveniently wide columns.  Maybe you want to hide away
   1866 several columns or display them with a fixed width, regardless of
   1867 content, as shown in the following example.
   1868 
   1869      |---+---------------------+--------|           |---+-------…+…|
   1870      |   | <6>                 |        |           |   | <6>   …|…|
   1871      | 1 | one                 | some   |   ----\   | 1 | one   …|…|
   1872      | 2 | two                 | boring |   ----/   | 2 | two   …|…|
   1873      | 3 | This is a long text | column |           | 3 | This i…|…|
   1874      |---+---------------------+--------|           |---+-------…+…|
   1875 
   1876    To set the width of a column, one field anywhere in the column may
   1877 contain just the string ‘<N>’ where N specifies the width as a number of
   1878 characters.  You control displayed width of columns with the following
   1879 tools:
   1880 
   1881 ‘C-c <TAB>’ (‘org-table-toggle-column-width’)
   1882      Shrink or expand current column.
   1883 
   1884      If a width cookie specifies a width W for the column, shrinking it
   1885      displays the first W visible characters only.  Otherwise, the
   1886      column is shrunk to a single character.
   1887 
   1888      When called before the first column or after the last one, ask for
   1889      a list of column ranges to operate on.
   1890 
   1891 ‘C-u C-c <TAB>’ (‘org-table-shrink’)
   1892      Shrink all columns with a column width.  Expand the others.
   1893 
   1894 ‘C-u C-u C-c <TAB>’ (‘org-table-expand’)
   1895      Expand all columns.
   1896 
   1897    To see the full text of a shrunk field, hold the mouse over it: a
   1898 tool-tip window then shows the full contents of the field.
   1899 Alternatively, ‘C-h .’ (‘display-local-help’) reveals them, too.  For
   1900 convenience, any change near the shrunk part of a column expands it.
   1901 
   1902    Setting the option ‘org-startup-shrink-all-tables’ shrinks all
   1903 columns containing a width cookie in a file the moment it is visited.
   1904 You can also set this option on a per-file basis with:
   1905 
   1906      #+STARTUP: shrink
   1907 
   1908    If you would like to overrule the automatic alignment of number-rich
   1909 columns to the right and of string-rich columns to the left, you can use
   1910 ‘<r>’, ‘<c>’ or ‘<l>’ in a similar fashion.  You may also combine
   1911 alignment and field width like this: ‘<r10>’.
   1912 
   1913    Lines which only contain these formatting cookies are removed
   1914 automatically upon exporting the document.
   1915 
   1916 
   1917 File: org.info,  Node: Column Groups,  Next: Orgtbl Mode,  Prev: Column Width and Alignment,  Up: Tables
   1918 
   1919 3.3 Column Groups
   1920 =================
   1921 
   1922 When Org exports tables, it does so by default without vertical lines
   1923 because that is visually more satisfying in general.  Occasionally
   1924 however, vertical lines can be useful to structure a table into groups
   1925 of columns, much like horizontal lines can do for groups of rows.  In
   1926 order to specify column groups, you can use a special row where the
   1927 first field contains only ‘/’.  The further fields can either contain
   1928 ‘<’ to indicate that this column should start a group, ‘>’ to indicate
   1929 the end of a column, or ‘<>’ (no space between ‘<’ and ‘>’) to make a
   1930 column a group of its own.  Upon export, boundaries between column
   1931 groups are marked with vertical lines.  Here is an example:
   1932 
   1933      | N | N^2 | N^3 | N^4 | sqrt(n) | sqrt[4](N) |
   1934      |---+-----+-----+-----+---------+------------|
   1935      | / |  <  |     |  >  |       < |          > |
   1936      | 1 |  1  |  1  |  1  |       1 |          1 |
   1937      | 2 |  4  |  8  | 16  |  1.4142 |     1.1892 |
   1938      | 3 |  9  | 27  | 81  |  1.7321 |     1.3161 |
   1939      |---+-----+-----+-----+---------+------------|
   1940      #+TBLFM: $2=$1^2::$3=$1^3::$4=$1^4::$5=sqrt($1)::$6=sqrt(sqrt(($1)))
   1941 
   1942    It is also sufficient to just insert the column group starters after
   1943 every vertical line you would like to have:
   1944 
   1945      | N | N^2 | N^3 | N^4 | sqrt(n) | sqrt[4](N) |
   1946      |---+-----+-----+-----+---------+------------|
   1947      | / | <   |     |     | <       |            |
   1948 
   1949 
   1950 File: org.info,  Node: Orgtbl Mode,  Next: The Spreadsheet,  Prev: Column Groups,  Up: Tables
   1951 
   1952 3.4 The Orgtbl Minor Mode
   1953 =========================
   1954 
   1955 If you like the intuitive way the Org table editor works, you might also
   1956 want to use it in other modes like Text mode or Mail mode.  The minor
   1957 mode Orgtbl mode makes this possible.  You can always toggle the mode
   1958 with ‘M-x orgtbl-mode’.  To turn it on by default, for example in
   1959 Message mode, use
   1960 
   1961      (add-hook 'message-mode-hook #'turn-on-orgtbl)
   1962 
   1963    Furthermore, with some special setup, it is possible to maintain
   1964 tables in arbitrary syntax with Orgtbl mode.  For example, it is
   1965 possible to construct LaTeX tables with the underlying ease and power of
   1966 Orgtbl mode, including spreadsheet capabilities.  For details, see *note
   1967 Tables in Arbitrary Syntax::.
   1968 
   1969 
   1970 File: org.info,  Node: The Spreadsheet,  Next: Org Plot,  Prev: Orgtbl Mode,  Up: Tables
   1971 
   1972 3.5 The Spreadsheet
   1973 ===================
   1974 
   1975 The table editor makes use of the Emacs Calc package to implement
   1976 spreadsheet-like capabilities.  It can also evaluate Emacs Lisp forms to
   1977 derive fields from other fields.  While fully featured, Org’s
   1978 implementation is not identical to other spreadsheets.  For example, Org
   1979 knows the concept of a _column formula_ that will be applied to all
   1980 non-header fields in a column without having to copy the formula to each
   1981 relevant field.  There is also a formula debugger, and a formula editor
   1982 with features for highlighting fields in the table corresponding to the
   1983 references at point in the formula, moving these references by arrow
   1984 keys.
   1985 
   1986 * Menu:
   1987 
   1988 * References::                   How to refer to another field or range.
   1989 * Formula syntax for Calc::      Using Calc to compute stuff.
   1990 * Formula syntax for Lisp::      Writing formulas in Emacs Lisp.
   1991 * Durations and time values::    How to compute durations and time values.
   1992 * Field and range formulas::     Formula for specific (ranges of) fields.
   1993 * Column formulas::              Formulas valid for an entire column.
   1994 * Lookup functions::             Lookup functions for searching tables.
   1995 * Editing and debugging formulas:: Fixing formulas.
   1996 * Updating the table::           Recomputing all dependent fields.
   1997 * Advanced features::            Field and column names, automatic recalculation...
   1998 
   1999 
   2000 File: org.info,  Node: References,  Next: Formula syntax for Calc,  Up: The Spreadsheet
   2001 
   2002 3.5.1 References
   2003 ----------------
   2004 
   2005 To compute fields in the table from other fields, formulas must
   2006 reference other fields or ranges.  In Org, fields can be referenced by
   2007 name, by absolute coordinates, and by relative coordinates.  To find out
   2008 what the coordinates of a field are, press ‘C-c ?’ in that field, or
   2009 press ‘C-c }’ to toggle the display of a grid.
   2010 
   2011 Field references
   2012 ................
   2013 
   2014 Formulas can reference the value of another field in two ways.  Like in
   2015 any other spreadsheet, you may reference fields with a letter/number
   2016 combination like ‘B3’, meaning the second field in the third row.
   2017 However, Org prefers to use another, more general representation that
   2018 looks like this:(1)
   2019 
   2020      @ROW$COLUMN
   2021 
   2022    Column specifications can be absolute like ‘$1’, ‘$2’, ..., ‘$N’, or
   2023 relative to the current column, i.e., the column of the field which is
   2024 being computed, like ‘$+1’ or ‘$-2’.  ‘$<’ and ‘$>’ are immutable
   2025 references to the first and last column, respectively, and you can use
   2026 ‘$>>>’ to indicate the third column from the right.
   2027 
   2028    The row specification only counts data lines and ignores horizontal
   2029 separator lines, or “hlines”.  Like with columns, you can use absolute
   2030 row numbers ‘@1’, ‘@2’, ..., ‘@N’, and row numbers relative to the
   2031 current row like ‘@+3’ or ‘@-1’.  ‘@<’ and ‘@>’ are immutable references
   2032 the first and last row in the table, respectively.  You may also specify
   2033 the row relative to one of the hlines: ‘@I’ refers to the first hline,
   2034 ‘@II’ to the second, etc.  ‘@-I’ refers to the first such line above the
   2035 current line, ‘@+I’ to the first such line below the current line.  You
   2036 can also write ‘@III+2’ which is the second data line after the third
   2037 hline in the table.
   2038 
   2039    ‘@0’ and ‘$0’ refer to the current row and column, respectively,
   2040 i.e., to the row/column for the field being computed.  Also, if you omit
   2041 either the column or the row part of the reference, the current
   2042 row/column is implied.
   2043 
   2044    Org’s references with _unsigned_ numbers are fixed references in the
   2045 sense that if you use the same reference in the formula for two
   2046 different fields, the same field is referenced each time.  Org’s
   2047 references with _signed_ numbers are floating references because the
   2048 same reference operator can reference different fields depending on the
   2049 field being calculated by the formula.
   2050 
   2051    Here are a few examples:
   2052 
   2053 ‘@2$3’         2nd row, 3rd column (same as ‘C2’)
   2054 ‘$5’           column 5 in the current row (same as ‘E&’)
   2055 ‘@2’           current column, row 2
   2056 ‘@-1$-3’       field one row up, three columns to the left
   2057 ‘@-I$2’        field just under hline above current row, column 2
   2058 ‘@>$5’         field in the last row, in column 5
   2059 
   2060 Range references
   2061 ................
   2062 
   2063 You may reference a rectangular range of fields by specifying two field
   2064 references connected by two dots ‘..’.  The ends are included in the
   2065 range.  If both fields are in the current row, you may simply use
   2066 ‘$2..$7’, but if at least one field is in a different row, you need to
   2067 use the general ‘@ROW$COLUMN’ format at least for the first field, i.e.,
   2068 the reference must start with ‘@’ in order to be interpreted correctly.
   2069 Examples:
   2070 
   2071 ‘$1..$3’       first three fields in the current row
   2072 ‘$P..$Q’       range, using column names (see
   2073                *note Advanced features::)
   2074 ‘$<<<..$>>’    start in third column, continue to the last but one
   2075 ‘@2$1..@4$3’   nine fields between these two fields (same as ‘A2..C4’)
   2076 ‘@-1$-2..@-1’  3 fields in the row above, starting from 2 columns on
   2077                the left
   2078 ‘@I..II’       between first and second hline, short for ‘@I..@II’
   2079 
   2080 Range references return a vector of values that can be fed into Calc
   2081 vector functions.  Empty fields in ranges are normally suppressed, so
   2082 that the vector contains only the non-empty fields.  For other options
   2083 with the mode switches ‘E’, ‘N’ and examples, see *note Formula syntax
   2084 for Calc::.
   2085 
   2086 Field coordinates in formulas
   2087 .............................
   2088 
   2089 One of the very first actions during evaluation of Calc formulas and
   2090 Lisp formulas is to substitute ‘@#’ and ‘$#’ in the formula with the row
   2091 or column number of the field where the current result will go to.  The
   2092 traditional Lisp formula equivalents are ‘org-table-current-dline’ and
   2093 ‘org-table-current-column’.  Examples:
   2094 
   2095 ‘if(@# % 2, $#, string(""))’
   2096      Insert column number on odd rows, set field to empty on even rows.
   2097 
   2098 ‘$2 = '(identity remote(FOO, @@#$1))’
   2099      Copy text or values of each row of column 1 of the table named FOO
   2100      into column 2 of the current table.
   2101 
   2102 ‘@3 = 2 * remote(FOO, @1$$#)’
   2103      Insert the doubled value of each column of row 1 of the table named
   2104      FOO into row 3 of the current table.
   2105 
   2106 For the second and third examples, table FOO must have at least as many
   2107 rows or columns as the current table.  Note that this is inefficient(2)
   2108 for large number of rows.
   2109 
   2110 Named references
   2111 ................
   2112 
   2113 ‘$name’ is interpreted as the name of a column, parameter or constant.
   2114 Constants are defined globally through the variable
   2115 ‘org-table-formula-constants’, and locally—for the file—through a line
   2116 like this example:
   2117 
   2118      #+CONSTANTS: c=299792458. pi=3.14 eps=2.4e-6
   2119 
   2120    Also, properties (see *note Properties and Columns::) can be used as
   2121 constants in table formulas: for a property ‘Xyz’ use the name
   2122 ‘$PROP_Xyz’, and the property will be searched in the current outline
   2123 entry and in the hierarchy above it.  If you have the ‘constants.el’
   2124 package, it will also be used to resolve constants, including natural
   2125 constants like ‘$h’ for Planck’s constant, and units like ‘$km’ for
   2126 kilometers(3).  Column names and parameters can be specified in special
   2127 table lines.  These are described below, see *note Advanced features::.
   2128 All names must start with a letter, and further consist of letters and
   2129 numbers.
   2130 
   2131 Remote references
   2132 .................
   2133 
   2134 You may also reference constants, fields and ranges from a different
   2135 table, either in the current file or even in a different file.  The
   2136 syntax is
   2137 
   2138      remote(NAME,REF)
   2139 
   2140 where NAME can be the name of a table in the current file as set by a
   2141 ‘#+NAME:’ line before the table.  It can also be the ID of an entry,
   2142 even in a different file, and the reference then refers to the first
   2143 table in that entry.  REF is an absolute field or range reference as
   2144 described above for example ‘@3$3’ or ‘$somename’, valid in the
   2145 referenced table.
   2146 
   2147    When NAME has the format ‘@ROW$COLUMN’, it is substituted with the
   2148 name or ID found in this field of the current table.  For example
   2149 ‘remote($1, @@>$2)’ ⇒ ‘remote(year_2013, @@>$1)’.  The format ‘B3’ is
   2150 not supported because it can not be distinguished from a plain table
   2151 name or ID.
   2152 
   2153    ---------- Footnotes ----------
   2154 
   2155    (1) Org understands references typed by the user as ‘B4’, but it does
   2156 not use this syntax when offering a formula for editing.  You can
   2157 customize this behavior using the variable
   2158 ‘org-table-use-standard-references’.
   2159 
   2160    (2) The computation time scales as O(N^2) because table FOO is parsed
   2161 for each field to be copied.
   2162 
   2163    (3) The file ‘constants.el’ can supply the values of constants in two
   2164 different unit systems, ‘SI’ and ‘cgs’.  Which one is used depends on
   2165 the value of the variable ‘constants-unit-system’.  You can use the
   2166 ‘STARTUP’ options ‘constSI’ and ‘constcgs’ to set this value for the
   2167 current buffer.
   2168 
   2169 
   2170 File: org.info,  Node: Formula syntax for Calc,  Next: Formula syntax for Lisp,  Prev: References,  Up: The Spreadsheet
   2171 
   2172 3.5.2 Formula syntax for Calc
   2173 -----------------------------
   2174 
   2175 A formula can be any algebraic expression understood by the Emacs Calc
   2176 package.  Note that Calc has the non-standard convention that ‘/’ has
   2177 lower precedence than ‘*’, so that ‘a/b*c’ is interpreted as
   2178 ‘(a/(b*c))’.  Before evaluation by ‘calc-eval’ (see *note Calling Calc
   2179 from Your Lisp Programs: (calc)Calling Calc from Your Programs.),
   2180 variable substitution takes place according to the rules described
   2181 above.
   2182 
   2183    The range vectors can be directly fed into the Calc vector functions
   2184 like ‘vmean’ and ‘vsum’.
   2185 
   2186    A formula can contain an optional mode string after a semicolon.
   2187 This string consists of flags to influence Calc and other modes during
   2188 execution.  By default, Org uses the standard Calc modes (precision 12,
   2189 angular units degrees, fraction and symbolic modes off).  The display
   2190 format, however, has been changed to ‘(float 8)’ to keep tables compact.
   2191 The default settings can be configured using the variable
   2192 ‘org-calc-default-modes’.
   2193 
   2194 ‘p20’
   2195      Set the internal Calc calculation precision to 20 digits.
   2196 
   2197 ‘n3’, ‘s3’, ‘e2’, ‘f4’
   2198      Normal, scientific, engineering or fixed format of the result of
   2199      Calc passed back to Org.  Calc formatting is unlimited in precision
   2200      as long as the Calc calculation precision is greater.
   2201 
   2202 ‘D’, ‘R’
   2203      Degree and radian angle modes of Calc.
   2204 
   2205 ‘F’, ‘S’
   2206      Fraction and symbolic modes of Calc.
   2207 
   2208 ‘u’
   2209      Units simplification mode of Calc.  Calc is also a symbolic
   2210      calculator and is capable of working with values having a unit,
   2211      represented with numerals followed by a unit string in Org table
   2212      cells.  This mode instructs Calc to simplify the units in the
   2213      computed expression before returning the result.
   2214 
   2215 ‘T’, ‘t’, ‘U’
   2216      Duration computations in Calc or Lisp, *note Durations and time
   2217      values::.
   2218 
   2219 ‘E’
   2220      If and how to consider empty fields.  Without ‘E’ empty fields in
   2221      range references are suppressed so that the Calc vector or Lisp
   2222      list contains only the non-empty fields.  With ‘E’ the empty fields
   2223      are kept.  For empty fields in ranges or empty field references the
   2224      value ‘nan’ (not a number) is used in Calc formulas and the empty
   2225      string is used for Lisp formulas.  Add ‘N’ to use 0 instead for
   2226      both formula types.  For the value of a field the mode ‘N’ has
   2227      higher precedence than ‘E’.
   2228 
   2229 ‘N’
   2230      Interpret all fields as numbers, use 0 for non-numbers.  See the
   2231      next section to see how this is essential for computations with
   2232      Lisp formulas.  In Calc formulas it is used only occasionally
   2233      because there number strings are already interpreted as numbers
   2234      without ‘N’.
   2235 
   2236 ‘L’
   2237      Literal, for Lisp formulas only.  See the next section.
   2238 
   2239    Unless you use large integer numbers or high-precision calculation
   2240 and display for floating point numbers you may alternatively provide a
   2241 ‘printf’ format specifier to reformat the Calc result after it has been
   2242 passed back to Org instead of letting Calc already do the formatting(1).
   2243 A few examples:
   2244 
   2245 ‘$1+$2’              Sum of first and second field
   2246 ‘$1+$2;%.2f’         Same, format result to two decimals
   2247 ‘exp($2)+exp($1)’    Math functions can be used
   2248 ‘$0;%.1f’            Reformat current cell to 1 decimal
   2249 ‘($3-32)*5/9’        Degrees F → C conversion
   2250 ‘$c/$1/$cm’          Hz → cm conversion, using ‘constants.el’
   2251 ‘tan($1);Dp3s1’      Compute in degrees, precision 3, display SCI 1
   2252 ‘sin($1);Dp3%.1e’    Same, but use ‘printf’ specifier for display
   2253 ‘vmean($2..$7)’      Compute column range mean, using vector function
   2254 ‘vmean($2..$7);EN’   Same, but treat empty fields as 0
   2255 ‘taylor($3,x=7,2)’   Taylor series of $3, at x=7, second degree
   2256 
   2257    Calc also contains a complete set of logical operations (see *note
   2258 Logical Operations: (calc)Logical Operations.).  For example
   2259 
   2260 ‘if($1 < 20, teen, string(""))’
   2261      ‘"teen"’ if age ‘$1’ is less than 20, else the Org table result
   2262      field is set to empty with the empty string.
   2263 
   2264 ‘if("$1" =​= "nan" || "$2" =​= "nan", string(""), $1 + $2); E f-1’
   2265      Sum of the first two columns.  When at least one of the input
   2266      fields is empty the Org table result field is set to empty.  ‘E’ is
   2267      required to not convert empty fields to 0.  ‘f-1’ is an optional
   2268      Calc format string similar to ‘%.1f’ but leaves empty results
   2269      empty.
   2270 
   2271 ‘if(typeof(vmean($1..$7)) =​= 12, string(""), vmean($1..$7)); E’
   2272      Mean value of a range unless there is any empty field.  Every field
   2273      in the range that is empty is replaced by ‘nan’ which lets ‘vmean’
   2274      result in ‘nan’.  Then ‘typeof =’ 12= detects the ‘nan’ from
   2275      ‘vmean’ and the Org table result field is set to empty.  Use this
   2276      when the sample set is expected to never have missing values.
   2277 
   2278 ‘if("$1..$7" =​= "[]", string(""), vmean($1..$7))’
   2279      Mean value of a range with empty fields skipped.  Every field in
   2280      the range that is empty is skipped.  When all fields in the range
   2281      are empty the mean value is not defined and the Org table result
   2282      field is set to empty.  Use this when the sample set can have a
   2283      variable size.
   2284 
   2285 ‘vmean($1..$7); EN’
   2286      To complete the example before: Mean value of a range with empty
   2287      fields counting as samples with value 0.  Use this only when
   2288      incomplete sample sets should be padded with 0 to the full size.
   2289 
   2290    You can add your own Calc functions defined in Emacs Lisp with
   2291 ‘defmath’ and use them in formula syntax for Calc.
   2292 
   2293    ---------- Footnotes ----------
   2294 
   2295    (1) The printf reformatting is limited in precision because the value
   2296 passed to it is converted into an “integer” or “double”.  The “integer”
   2297 is limited in size by truncating the signed value to 32 bits.  The
   2298 “double” is limited in precision to 64 bits overall which leaves
   2299 approximately 16 significant decimal digits.
   2300 
   2301 
   2302 File: org.info,  Node: Formula syntax for Lisp,  Next: Durations and time values,  Prev: Formula syntax for Calc,  Up: The Spreadsheet
   2303 
   2304 3.5.3 Emacs Lisp forms as formulas
   2305 ----------------------------------
   2306 
   2307 It is also possible to write a formula in Emacs Lisp.  This can be
   2308 useful for string manipulation and control structures, if Calc’s
   2309 functionality is not enough.
   2310 
   2311    A formula is evaluated as a Lisp form when it starts with a
   2312 single-quote followed by an opening parenthesis.  Cell table references
   2313 are interpolated into the Lisp form before execution.  The evaluation
   2314 should return either a string or a number.  Evaluation modes and a
   2315 ‘printf’ format used to render the returned values can be specified
   2316 after a semicolon.
   2317 
   2318    By default, references are interpolated as literal Lisp strings: the
   2319 field content is replaced in the Lisp form stripped of leading and
   2320 trailing white space and surrounded in double-quotes.  For example:
   2321 
   2322      '(concat $1 $2)
   2323 
   2324 concatenates the content of columns 1 and column 2.
   2325 
   2326    When the ‘N’ flag is used, all referenced elements are parsed as
   2327 numbers and interpolated as Lisp numbers, without quotes.  Fields that
   2328 cannot be parsed as numbers are interpolated as zeros.  For example:
   2329 
   2330      '(+ $1 $2);N
   2331 
   2332 adds columns 1 and 2, equivalent to Calc’s ‘$1+$2’.  Ranges are inserted
   2333 as space-separated fields, so they can be embedded in list or vector
   2334 syntax.  For example:
   2335 
   2336      '(apply '+ '($1..$4));N
   2337 
   2338 computes the sum of columns 1 to 4, like Calc’s ‘vsum($1..$4)’.
   2339 
   2340    When the ‘L’ flag is used, all fields are interpolated literally: the
   2341 cell content is replaced in the Lisp form stripped of leading and
   2342 trailing white space and without quotes.  If a reference is intended to
   2343 be interpreted as a string by the Lisp form, the reference operator
   2344 itself should be enclosed in double-quotes, like ‘"$3"’.  The ‘L’ flag
   2345 is useful when strings and numbers are used in the same Lisp form.  For
   2346 example:
   2347 
   2348      '(substring "$1" $2 $3);L
   2349 
   2350 extracts the part of the string in column 1 between the character
   2351 positions specified in the integers in column 2 and 3 and it is easier
   2352 to read than the equivalent:
   2353 
   2354      '(substring $1 (string-to-number $2) (string-to-number $3))
   2355 
   2356 
   2357 File: org.info,  Node: Durations and time values,  Next: Field and range formulas,  Prev: Formula syntax for Lisp,  Up: The Spreadsheet
   2358 
   2359 3.5.4 Durations and time values
   2360 -------------------------------
   2361 
   2362 If you want to compute time values use the ‘T’, ‘t’, or ‘U’ flag, either
   2363 in Calc formulas or Elisp formulas:
   2364 
   2365      |  Task 1 |   Task 2 |    Total |
   2366      |---------+----------+----------|
   2367      |    2:12 |     1:47 | 03:59:00 |
   2368      |    2:12 |     1:47 |    03:59 |
   2369      | 3:02:20 | -2:07:00 |     0.92 |
   2370      #+TBLFM: @2$3=$1+$2;T::@3$3=$1+$2;U::@4$3=$1+$2;t
   2371 
   2372    Input duration values must be of the form ‘HH:MM[:SS]’, where seconds
   2373 are optional.  With the ‘T’ flag, computed durations are displayed as
   2374 ‘HH:MM:SS’ (see the first formula above).  With the ‘U’ flag, seconds
   2375 are omitted so that the result is only ‘HH:MM’ (see second formula
   2376 above).  Zero-padding of the hours field depends upon the value of the
   2377 variable ‘org-table-duration-hour-zero-padding’.
   2378 
   2379    With the ‘t’ flag, computed durations are displayed according to the
   2380 value of the option ‘org-table-duration-custom-format’, which defaults
   2381 to ‘hours’ and displays the result as a fraction of hours (see the third
   2382 formula in the example above).
   2383 
   2384    Negative duration values can be manipulated as well, and integers are
   2385 considered as seconds in addition and subtraction.
   2386 
   2387 
   2388 File: org.info,  Node: Field and range formulas,  Next: Column formulas,  Prev: Durations and time values,  Up: The Spreadsheet
   2389 
   2390 3.5.5 Field and range formulas
   2391 ------------------------------
   2392 
   2393 To assign a formula to a particular field, type it directly into the
   2394 field, preceded by ‘:=’, for example ‘vsum(@II..III)’.  When you press
   2395 ‘<TAB>’ or ‘<RET>’ or ‘C-c C-c’ with point still in the field, the
   2396 formula is stored as the formula for this field, evaluated, and the
   2397 current field is replaced with the result.
   2398 
   2399    Formulas are stored in a special ‘TBLFM’ keyword located directly
   2400 below the table.  If you type the equation in the fourth field of the
   2401 third data line in the table, the formula looks like ‘@3$4=$1+$2’.  When
   2402 inserting/deleting/swapping column and rows with the appropriate
   2403 commands, _absolute references_ (but not relative ones) in stored
   2404 formulas are modified in order to still reference the same field.  To
   2405 avoid this from happening, in particular in range references, anchor
   2406 ranges at the table borders (using ‘@<’, ‘@>’, ‘$<’, ‘$>’), or at hlines
   2407 using the ‘@I’ notation.  Automatic adaptation of field references does
   2408 not happen if you edit the table structure with normal editing
   2409 commands—you must fix the formulas yourself.
   2410 
   2411    Instead of typing an equation into the field, you may also use the
   2412 following command
   2413 
   2414 ‘C-u C-c =’ (‘org-table-eval-formula’)
   2415      Install a new formula for the current field.  The command prompts
   2416      for a formula with default taken from the ‘TBLFM’ keyword, applies
   2417      it to the current field, and stores it.
   2418 
   2419    The left-hand side of a formula can also be a special expression in
   2420 order to assign the formula to a number of different fields.  There is
   2421 no keyboard shortcut to enter such range formulas.  To add them, use the
   2422 formula editor (see *note Editing and debugging formulas::) or edit the
   2423 ‘TBLFM’ keyword directly.
   2424 
   2425 ‘$2=’
   2426      Column formula, valid for the entire column.  This is so common
   2427      that Org treats these formulas in a special way, see *note Column
   2428      formulas::.
   2429 
   2430 ‘@3=’
   2431      Row formula, applies to all fields in the specified row.  ‘@>=’
   2432      means the last row.
   2433 
   2434 ‘@1$2..@4$3=’
   2435      Range formula, applies to all fields in the given rectangular
   2436      range.  This can also be used to assign a formula to some but not
   2437      all fields in a row.
   2438 
   2439 ‘$NAME=’
   2440      Named field, see *note Advanced features::.
   2441 
   2442 
   2443 File: org.info,  Node: Column formulas,  Next: Lookup functions,  Prev: Field and range formulas,  Up: The Spreadsheet
   2444 
   2445 3.5.6 Column formulas
   2446 ---------------------
   2447 
   2448 When you assign a formula to a simple column reference like ‘$3=’, the
   2449 same formula is used in all fields of that column, with the following
   2450 very convenient exceptions: (i) If the table contains horizontal
   2451 separator hlines with rows above and below, everything before the first
   2452 such hline is considered part of the table _header_ and is not modified
   2453 by column formulas.  Therefore a header is mandatory when you use column
   2454 formulas and want to add hlines to group rows, like for example to
   2455 separate a total row at the bottom from the summand rows above.  (ii)
   2456 Fields that already get a value from a field/range formula are left
   2457 alone by column formulas.  These conditions make column formulas very
   2458 easy to use.
   2459 
   2460    To assign a formula to a column, type it directly into any field in
   2461 the column, preceded by an equal sign, like ‘=$1+$2’.  When you press
   2462 ‘<TAB>’ or ‘<RET>’ or ‘C-c C-c’ with point still in the field, the
   2463 formula is stored as the formula for the current column, evaluated and
   2464 the current field replaced with the result.  If the field contains only
   2465 ‘=’, the previously stored formula for this column is used.  For each
   2466 column, Org only remembers the most recently used formula.  In the
   2467 ‘TBLFM’ keyword, column formulas look like ‘$4=$1+$2’.  The left-hand
   2468 side of a column formula can not be the name of column, it must be the
   2469 numeric column reference or ‘$>’.
   2470 
   2471    Instead of typing an equation into the field, you may also use the
   2472 following command:
   2473 
   2474 ‘C-c =’ (‘org-table-eval-formula’)
   2475      Install a new formula for the current column and replace current
   2476      field with the result of the formula.  The command prompts for a
   2477      formula, with default taken from the ‘TBLFM’ keyword, applies it to
   2478      the current field and stores it.  With a numeric prefix argument,
   2479      e.g., ‘C-5 C-c =’, the command applies it to that many consecutive
   2480      fields in the current column.
   2481 
   2482 
   2483 File: org.info,  Node: Lookup functions,  Next: Editing and debugging formulas,  Prev: Column formulas,  Up: The Spreadsheet
   2484 
   2485 3.5.7 Lookup functions
   2486 ----------------------
   2487 
   2488 Org has three predefined Emacs Lisp functions for lookups in tables.
   2489 
   2490 ‘(org-lookup-first VAL S-LIST R-LIST &optional PREDICATE)’
   2491      Searches for the first element S in list S-LIST for which
   2492           (PREDICATE VAL S)
   2493      is non-‘nil’; returns the value from the corresponding position in
   2494      list R-LIST.  The default PREDICATE is ‘equal’.  Note that the
   2495      parameters VAL and S are passed to PREDICATE in the same order as
   2496      the corresponding parameters are in the call to ‘org-lookup-first’,
   2497      where VAL precedes S-LIST.  If R-LIST is ‘nil’, the matching
   2498      element S of S-LIST is returned.
   2499 
   2500 ‘(org-lookup-last VAL S-LIST R-LIST &optional PREDICATE)’
   2501      Similar to ‘org-lookup-first’ above, but searches for the _last_
   2502      element for which PREDICATE is non-‘nil’.
   2503 
   2504 ‘(org-lookup-all VAL S-LIST R-LIST &optional PREDICATE)’
   2505      Similar to ‘org-lookup-first’, but searches for _all_ elements for
   2506      which PREDICATE is non-‘nil’, and returns _all_ corresponding
   2507      values.  This function can not be used by itself in a formula,
   2508      because it returns a list of values.  However, powerful lookups can
   2509      be built when this function is combined with other Emacs Lisp
   2510      functions.
   2511 
   2512    If the ranges used in these functions contain empty fields, the ‘E’
   2513 mode for the formula should usually be specified: otherwise empty fields
   2514 are not included in S-LIST and/or R-LIST which can, for example, result
   2515 in an incorrect mapping from an element of S-LIST to the corresponding
   2516 element of R-LIST.
   2517 
   2518    These three functions can be used to implement associative arrays,
   2519 count matching cells, rank results, group data, etc.  For practical
   2520 examples see this tutorial on Worg
   2521 (https://orgmode.org/worg/org-tutorials/org-lookups.html).
   2522 
   2523 
   2524 File: org.info,  Node: Editing and debugging formulas,  Next: Updating the table,  Prev: Lookup functions,  Up: The Spreadsheet
   2525 
   2526 3.5.8 Editing and debugging formulas
   2527 ------------------------------------
   2528 
   2529 You can edit individual formulas in the minibuffer or directly in the
   2530 field.  Org can also prepare a special buffer with all active formulas
   2531 of a table.  When offering a formula for editing, Org converts
   2532 references to the standard format (like ‘B3’ or ‘D&’) if possible.  If
   2533 you prefer to only work with the internal format (like ‘@3$2’ or ‘$4’),
   2534 configure the variable ‘org-table-use-standard-references’.
   2535 
   2536 ‘C-c =’ or ‘C-u C-c =’ (‘org-table-eval-formula’)
   2537      Edit the formula associated with the current column/field in the
   2538      minibuffer.  See *note Column formulas::, and *note Field and range
   2539      formulas::.
   2540 
   2541 ‘C-u C-u C-c =’ (‘org-table-eval-formula’)
   2542      Re-insert the active formula (either a field formula, or a column
   2543      formula) into the current field, so that you can edit it directly
   2544      in the field.  The advantage over editing in the minibuffer is that
   2545      you can use the command ‘C-c ?’.
   2546 
   2547 ‘C-c ?’ (‘org-table-field-info’)
   2548      While editing a formula in a table field, highlight the field(s)
   2549      referenced by the reference at point position in the formula.
   2550 
   2551 ‘C-c }’ (‘org-table-toggle-coordinate-overlays’)
   2552      Toggle the display of row and column numbers for a table, using
   2553      overlays.  These are updated each time the table is aligned; you
   2554      can force it with ‘C-c C-c’.
   2555 
   2556 ‘C-c {’ (‘org-table-toggle-formula-debugger’)
   2557      Toggle the formula debugger on and off.  See below.
   2558 
   2559 ‘C-c '’ (‘org-table-edit-formulas’)
   2560      Edit all formulas for the current table in a special buffer, where
   2561      the formulas are displayed one per line.  If the current field has
   2562      an active formula, point in the formula editor marks it.  While
   2563      inside the special buffer, Org automatically highlights any field
   2564      or range reference at point position.  You may edit, remove and add
   2565      formulas, and use the following commands:
   2566 
   2567      ‘C-c C-c’ or ‘C-x C-s’ (‘org-table-fedit-finish’)
   2568           Exit the formula editor and store the modified formulas.  With
   2569           ‘C-u’ prefix, also apply the new formulas to the entire table.
   2570 
   2571      ‘C-c C-q’ (‘org-table-fedit-abort’)
   2572           Exit the formula editor without installing changes.
   2573 
   2574      ‘C-c C-r’ (‘org-table-fedit-toggle-ref-type’)
   2575           Toggle all references in the formula editor between standard
   2576           (like ‘B3’) and internal (like ‘@3$2’).
   2577 
   2578      ‘<TAB>’ (‘org-table-fedit-lisp-indent’)
   2579           Pretty-print or indent Lisp formula at point.  When in a line
   2580           containing a Lisp formula, format the formula according to
   2581           Emacs Lisp rules.  Another ‘<TAB>’ collapses the formula back
   2582           again.  In the open formula, ‘<TAB>’ re-indents just like in
   2583           Emacs Lisp mode.
   2584 
   2585      ‘M-<TAB>’ (‘lisp-complete-symbol’)
   2586           Complete Lisp symbols, just like in Emacs Lisp mode.
   2587 
   2588      ‘S-<UP>’, ‘S-<DOWN>’, ‘S-<LEFT>’, ‘S-<RIGHT>’
   2589           Shift the reference at point.  For example, if the reference
   2590           is ‘B3’ and you press ‘S-<RIGHT>’, it becomes ‘C3’.  This also
   2591           works for relative references and for hline references.
   2592 
   2593      ‘M-S-<UP>’ (‘org-table-fedit-line-up’)
   2594           Move the test line for column formulas up in the Org buffer.
   2595 
   2596      ‘M-S-<DOWN>’ (‘org-table-fedit-line-down’)
   2597           Move the test line for column formulas down in the Org buffer.
   2598 
   2599      ‘M-<UP>’ (‘org-table-fedit-scroll-up’)
   2600           Scroll up the window displaying the table.
   2601 
   2602      ‘M-<DOWN>’ (‘org-table-fedit-scroll-down’)
   2603           Scroll down the window displaying the table.
   2604 
   2605      ‘C-c }’
   2606           Turn the coordinate grid in the table on and off.
   2607 
   2608    Making a table field blank does not remove the formula associated
   2609 with the field, because that is stored in a different line—the ‘TBLFM’
   2610 keyword line.  During the next recalculation, the field will be filled
   2611 again.  To remove a formula from a field, you have to give an empty
   2612 reply when prompted for the formula, or to edit the ‘TBLFM’ keyword.
   2613 
   2614    You may edit the ‘TBLFM’ keyword directly and re-apply the changed
   2615 equations with ‘C-c C-c’ in that line or with the normal recalculation
   2616 commands in the table.
   2617 
   2618 Using multiple ‘TBLFM’ lines
   2619 ............................
   2620 
   2621 You may apply the formula temporarily.  This is useful when you want to
   2622 switch the formula applied to the table.  Place multiple ‘TBLFM’
   2623 keywords right after the table, and then press ‘C-c C-c’ on the formula
   2624 to apply.  Here is an example:
   2625 
   2626      | x | y |
   2627      |---+---|
   2628      | 1 |   |
   2629      | 2 |   |
   2630      #+TBLFM: $2=$1*1
   2631      #+TBLFM: $2=$1*2
   2632 
   2633 Pressing ‘C-c C-c’ in the line of ‘#+TBLFM: $2=$1*2’ yields:
   2634 
   2635      | x | y |
   2636      |---+---|
   2637      | 1 | 2 |
   2638      | 2 | 4 |
   2639      #+TBLFM: $2=$1*1
   2640      #+TBLFM: $2=$1*2
   2641 
   2642 If you recalculate this table, with ‘C-u C-c *’, for example, you get
   2643 the following result from applying only the first ‘TBLFM’ keyword.
   2644 
   2645      | x | y |
   2646      |---+---|
   2647      | 1 | 1 |
   2648      | 2 | 2 |
   2649      #+TBLFM: $2=$1*1
   2650      #+TBLFM: $2=$1*2
   2651 
   2652 Debugging formulas
   2653 ..................
   2654 
   2655 When the evaluation of a formula leads to an error, the field content
   2656 becomes the string ‘#ERROR’.  If you want to see what is going on during
   2657 variable substitution and calculation in order to find a bug, turn on
   2658 formula debugging in the Tbl menu and repeat the calculation, for
   2659 example by pressing ‘C-u C-u C-c = <RET>’ in a field.  Detailed
   2660 information are displayed.
   2661 
   2662 
   2663 File: org.info,  Node: Updating the table,  Next: Advanced features,  Prev: Editing and debugging formulas,  Up: The Spreadsheet
   2664 
   2665 3.5.9 Updating the table
   2666 ------------------------
   2667 
   2668 Recalculation of a table is normally not automatic, but needs to be
   2669 triggered by a command.  To make recalculation at least semi-automatic,
   2670 see *note Advanced features::.
   2671 
   2672    In order to recalculate a line of a table or the entire table, use
   2673 the following commands:
   2674 
   2675 ‘C-c *’ (‘org-table-recalculate’)
   2676      Recalculate the current row by first applying the stored column
   2677      formulas from left to right, and all field/range formulas in the
   2678      current row.
   2679 
   2680 ‘C-u C-c *’ or ‘C-u C-c C-c’
   2681      Recompute the entire table, line by line.  Any lines before the
   2682      first hline are left alone, assuming that these are part of the
   2683      table header.
   2684 
   2685 ‘C-u C-u C-c *’ or ‘C-u C-u C-c C-c’ (‘org-table-iterate’)
   2686      Iterate the table by recomputing it until no further changes occur.
   2687      This may be necessary if some computed fields use the value of
   2688      other fields that are computed _later_ in the calculation sequence.
   2689 
   2690 ‘M-x org-table-recalculate-buffer-tables’
   2691      Recompute all tables in the current buffer.
   2692 
   2693 ‘M-x org-table-iterate-buffer-tables’
   2694      Iterate all tables in the current buffer, in order to converge
   2695      table-to-table dependencies.
   2696 
   2697 
   2698 File: org.info,  Node: Advanced features,  Prev: Updating the table,  Up: The Spreadsheet
   2699 
   2700 3.5.10 Advanced features
   2701 ------------------------
   2702 
   2703 If you want the recalculation of fields to happen automatically, or if
   2704 you want to be able to assign _names_(1) to fields and columns, you need
   2705 to reserve the first column of the table for special marking characters.
   2706 
   2707 ‘C-#’ (‘org-table-rotate-recalc-marks’)
   2708      Rotate the calculation mark in first column through the states ‘#’,
   2709      ‘*’, ‘!’, ‘$’.  When there is an active region, change all marks in
   2710      the region.
   2711 
   2712    Here is an example of a table that collects exam results of students
   2713 and makes use of these features:
   2714 
   2715      |---+---------+--------+--------+--------+-------+------|
   2716      |   | Student | Prob 1 | Prob 2 | Prob 3 | Total | Note |
   2717      |---+---------+--------+--------+--------+-------+------|
   2718      | ! |         |     P1 |     P2 |     P3 |   Tot |      |
   2719      | # | Maximum |     10 |     15 |     25 |    50 | 10.0 |
   2720      | ^ |         |     m1 |     m2 |     m3 |    mt |      |
   2721      |---+---------+--------+--------+--------+-------+------|
   2722      | # | Peter   |     10 |      8 |     23 |    41 |  8.2 |
   2723      | # | Sam     |      2 |      4 |      3 |     9 |  1.8 |
   2724      |---+---------+--------+--------+--------+-------+------|
   2725      |   | Average |        |        |        |  25.0 |      |
   2726      | ^ |         |        |        |        |    at |      |
   2727      | $ | max=50  |        |        |        |       |      |
   2728      |---+---------+--------+--------+--------+-------+------|
   2729      #+TBLFM: $6=vsum($P1..$P3)::$7=10*$Tot/$max;%.1f::$at=vmean(@-II..@-I);%.1f
   2730 
   2731      Important: Please note that for these special tables, recalculating
   2732      the table with ‘C-u C-c *’ only affects rows that are marked ‘#’ or
   2733      ‘*’, and fields that have a formula assigned to the field itself.
   2734      The column formulas are not applied in rows with empty first field.
   2735 
   2736    The marking characters have the following meaning:
   2737 
   2738 ‘!’
   2739      The fields in this line define names for the columns, so that you
   2740      may refer to a column as ‘$Tot’ instead of ‘$6’.
   2741 
   2742 ‘^’
   2743      This row defines names for the fields _above_ the row.  With such a
   2744      definition, any formula in the table may use ‘$m1’ to refer to the
   2745      value ‘10’.  Also, if you assign a formula to a names field, it is
   2746      stored as ‘$name = ...’.
   2747 
   2748 ‘_’
   2749      Similar to ‘^’, but defines names for the fields in the row
   2750      _below_.
   2751 
   2752 ‘$’
   2753      Fields in this row can define _parameters_ for formulas.  For
   2754      example, if a field in a ‘$’ row contains ‘max=50’, then formulas
   2755      in this table can refer to the value 50 using ‘$max’.  Parameters
   2756      work exactly like constants, only that they can be defined on a
   2757      per-table basis.
   2758 
   2759 ‘#’
   2760      Fields in this row are automatically recalculated when pressing
   2761      ‘<TAB>’ or ‘<RET>’ or ‘S-<TAB>’ in this row.  Also, this row is
   2762      selected for a global recalculation with ‘C-u C-c *’.  Unmarked
   2763      lines are left alone by this command.
   2764 
   2765 ‘*’
   2766      Selects this line for global recalculation with ‘C-u C-c *’, but
   2767      not for automatic recalculation.  Use this when automatic
   2768      recalculation slows down editing too much.
   2769 
   2770 ‘/’
   2771      Do not export this line.  Useful for lines that contain the
   2772      narrowing ‘<N>’ markers or column group markers.
   2773 
   2774    Finally, just to whet your appetite for what can be done with the
   2775 fantastic Calc package, here is a table that computes the Taylor series
   2776 of degree n at location x for a couple of functions.
   2777 
   2778      |---+-------------+---+-----+--------------------------------------|
   2779      |   | Func        | n | x   | Result                               |
   2780      |---+-------------+---+-----+--------------------------------------|
   2781      | # | exp(x)      | 1 | x   | 1 + x                                |
   2782      | # | exp(x)      | 2 | x   | 1 + x + x^2 / 2                      |
   2783      | # | exp(x)      | 3 | x   | 1 + x + x^2 / 2 + x^3 / 6            |
   2784      | # | x^2+sqrt(x) | 2 | x=0 | x*(0.5 / 0) + x^2 (2 - 0.25 / 0) / 2 |
   2785      | # | x^2+sqrt(x) | 2 | x=1 | 2 + 2.5 x - 2.5 + 0.875 (x - 1)^2    |
   2786      | * | tan(x)      | 3 | x   | 0.0175 x + 1.77e-6 x^3               |
   2787      |---+-------------+---+-----+--------------------------------------|
   2788      #+TBLFM: $5=taylor($2,$4,$3);n3
   2789 
   2790    ---------- Footnotes ----------
   2791 
   2792    (1) Such names must start with an alphabetic character and use only
   2793 alphanumeric/underscore characters.
   2794 
   2795 
   2796 File: org.info,  Node: Org Plot,  Prev: The Spreadsheet,  Up: Tables
   2797 
   2798 3.6 Org Plot
   2799 ============
   2800 
   2801 Org Plot can produce graphs of information stored in Org tables, either
   2802 graphically or in ASCII art.
   2803 
   2804 Graphical plots using Gnuplot
   2805 -----------------------------
   2806 
   2807 Org Plot can produce 2D and 3D graphs of information stored in Org
   2808 tables using Gnuplot (https://www.gnuplot.info/) and Gnuplot mode
   2809 (http://cars9.uchicago.edu/~ravel/software/gnuplot-mode.html).  To see
   2810 this in action, ensure that you have both Gnuplot and Gnuplot mode
   2811 installed on your system, then call ‘C-c " g’ or ‘M-x org-plot/gnuplot’
   2812 on the following table.
   2813 
   2814      #+PLOT: title:"Citas" ind:1 deps:(3) type:2d with:histograms set:"yrange [0:]"
   2815      | Sede      | Max cites | H-index |
   2816      |-----------+-----------+---------|
   2817      | Chile     |    257.72 |   21.39 |
   2818      | Leeds     |    165.77 |   19.68 |
   2819      | Sao Paolo |     71.00 |   11.50 |
   2820      | Stockholm |    134.19 |   14.33 |
   2821      | Morelia   |    257.56 |   17.67 |
   2822 
   2823    Org Plot supports a range of plot types, and provides the ability to
   2824 add more.  For example, a radar plot can be generated like so:
   2825      #+PLOT: title:"An evaluation of plaintext document formats" transpose:yes type:radar min:0 max:4
   2826      | Format            | Fine-grained-control | Initial Effort | Syntax simplicity | Editor Support | Integrations | Ease-of-referencing | Versatility |
   2827      |-------------------+----------------------+----------------+-------------------+----------------+--------------+---------------------+-------------|
   2828      | Word              |                    2 |              4 |                 4 |              2 |            3 |                   2 |           2 |
   2829      | LaTeX             |                    4 |              1 |                 1 |              3 |            2 |                   4 |           3 |
   2830      | Org Mode          |                    4 |              2 |               3.5 |              1 |            4 |                   4 |           4 |
   2831      | Markdown          |                    1 |              3 |                 3 |              4 |            3 |                   3 |           1 |
   2832      | Markdown + Pandoc |                  2.5 |            2.5 |               2.5 |              3 |            3 |                   3 |           2 |
   2833 
   2834    Notice that Org Plot is smart enough to apply the table’s headers as
   2835 labels.  Further control over the labels, type, content, and appearance
   2836 of plots can be exercised through the ‘PLOT’ keyword preceding a table.
   2837 See below for a complete list of Org Plot options.  For more information
   2838 and examples see the Org Plot tutorial
   2839 (https://orgmode.org/worg/org-tutorials/org-plot.html).
   2840 
   2841 Plot options
   2842 ............
   2843 
   2844 ‘set’
   2845      Specify any Gnuplot option to be set when graphing.
   2846 
   2847 ‘title’
   2848      Specify the title of the plot.
   2849 
   2850 ‘ind’
   2851      Specify which column of the table to use as the ‘x’ axis.
   2852 
   2853 ‘deps’
   2854      Specify the columns to graph as a Lisp style list, surrounded by
   2855      parentheses and separated by spaces for example ‘dep:(3 4)’ to
   2856      graph the third and fourth columns.  Defaults to graphing all other
   2857      columns aside from the ‘ind’ column.
   2858 
   2859 transpose
   2860      When ‘y’, ‘yes’, or ‘t’ attempt to transpose the table data before
   2861      plotting.  Also recognizes the shorthand option ‘trans’.
   2862 
   2863 ‘type’
   2864      Specify the type of the plot, by default one of ‘2d’, ‘3d’,
   2865      ‘radar’, or ‘grid’.  Available types can be customized with
   2866      ‘org-plot/preset-plot-types’.
   2867 
   2868 ‘with’
   2869      Specify a ‘with’ option to be inserted for every column being
   2870      plotted, e.g., ‘lines’, ‘points’, ‘boxes’, ‘impulses’.  Defaults to
   2871      ‘lines’.
   2872 
   2873 ‘file’
   2874      If you want to plot to a file, specify
   2875      ‘"path/to/desired/output-file"’.
   2876 
   2877 ‘labels’
   2878      List of labels to be used for the ‘deps’.  Defaults to the column
   2879      headers if they exist.
   2880 
   2881 ‘line’
   2882      Specify an entire line to be inserted in the Gnuplot script.
   2883 
   2884 ‘map’
   2885      When plotting ‘3d’ or ‘grid’ types, set this to ‘t’ to graph a flat
   2886      mapping rather than a ‘3d’ slope.
   2887 
   2888 min
   2889      Provides a minimum axis value that may be used by a plot type.
   2890      Implicitly assumes the ‘y’ axis is being referred to.  Can
   2891      explicitly provide a value for a either the ‘x’ or ‘y’ axis with
   2892      ‘xmin’ and ‘ymin’.
   2893 
   2894 max
   2895      Provides a maximum axis value that may be used by a plot type.
   2896      Implicitly assumes the ‘y’ axis is being referred to.  Can
   2897      explicitly provide a value for a either the ‘x’ or ‘y’ axis with
   2898      ‘xmax’ and ‘ymax’.
   2899 
   2900 ticks
   2901      Provides a desired number of axis ticks to display, that may be
   2902      used by a plot type.  If none is given a plot type that requires
   2903      ticks will use ‘org--plot/sensible-tick-num’ to try to determine a
   2904      good value.
   2905 
   2906 ‘timefmt’
   2907      Specify format of Org mode timestamps as they will be parsed by
   2908      Gnuplot.  Defaults to ‘%Y-%m-%d-%H:%M:%S’.
   2909 
   2910 ‘script’
   2911      If you want total control, you can specify a script file—place the
   2912      file name between double-quotes—which will be used to plot.  Before
   2913      plotting, every instance of ‘$datafile’ in the specified script
   2914      will be replaced with the path to the generated data file.  Note:
   2915      even if you set this option, you may still want to specify the plot
   2916      type, as that can impact the content of the data file.
   2917 
   2918 ASCII bar plots
   2919 ---------------
   2920 
   2921 While point is on a column, typing ‘C-c `` a’ or ‘M-x orgtbl-ascii-plot’
   2922 create a new column containing an ASCII-art bars plot.  The plot is
   2923 implemented through a regular column formula.  When the source column
   2924 changes, the bar plot may be updated by refreshing the table, for
   2925 example typing ‘C-u C-c *’.
   2926 
   2927      | Sede          | Max cites |              |
   2928      |---------------+-----------+--------------|
   2929      | Chile         |    257.72 | WWWWWWWWWWWW |
   2930      | Leeds         |    165.77 | WWWWWWWh     |
   2931      | Sao Paolo     |     71.00 | WWW;         |
   2932      | Stockholm     |    134.19 | WWWWWW:      |
   2933      | Morelia       |    257.56 | WWWWWWWWWWWH |
   2934      | Rochefourchat |      0.00 |              |
   2935      #+TBLFM: $3='(orgtbl-ascii-draw $2 0.0 257.72 12)
   2936 
   2937    The formula is an Elisp call.
   2938 
   2939  -- Function: orgtbl-ascii-draw value min max &optional width
   2940      Draw an ASCII bar in a table.
   2941 
   2942      VALUE is the value to plot.
   2943 
   2944      MIN is the value displayed as an empty bar.  MAX is the value
   2945      filling all the WIDTH.  Sources values outside this range are
   2946      displayed as ‘too small’ or ‘too large’.
   2947 
   2948      WIDTH is the number of characters of the bar plot.  It defaults to
   2949      ‘12’.
   2950 
   2951 
   2952 File: org.info,  Node: Hyperlinks,  Next: TODO Items,  Prev: Tables,  Up: Top
   2953 
   2954 4 Hyperlinks
   2955 ************
   2956 
   2957 Like HTML, Org provides support for links inside a file, external links
   2958 to other files, Usenet articles, emails, and much more.
   2959 
   2960 * Menu:
   2961 
   2962 * Link Format::                  How links in Org are formatted.
   2963 * Internal Links::               Links to other places in the current file.
   2964 * Radio Targets::                Make targets trigger links in plain text.
   2965 * External Links::               URL-like links to the world.
   2966 * Handling Links::               Creating, inserting and following.
   2967 * Using Links Outside Org::      Linking from my C source code?
   2968 * Link Abbreviations::           Shortcuts for writing complex links.
   2969 * Search Options::               Linking to a specific location.
   2970 * Custom Searches::              When the default search is not enough.
   2971 
   2972 
   2973 File: org.info,  Node: Link Format,  Next: Internal Links,  Up: Hyperlinks
   2974 
   2975 4.1 Link Format
   2976 ===============
   2977 
   2978 Org recognizes plain URIs, possibly wrapped within angle brackets(1),
   2979 and activate them as clickable links.
   2980 
   2981    The general link format, however, looks like this:
   2982 
   2983      [[LINK][DESCRIPTION]]
   2984 
   2985 or alternatively
   2986 
   2987      [[LINK]]
   2988 
   2989    Some ‘\’, ‘[’ and ‘]’ characters in the LINK part need to be
   2990 “escaped”, i.e., preceded by another ‘\’ character.  More specifically,
   2991 the following characters, and only them, must be escaped:
   2992 
   2993   1. all ‘[’ and ‘]’ characters,
   2994   2. every ‘\’ character preceding either ‘]’ or ‘[’,
   2995   3. every ‘\’ character at the end of the link.
   2996 
   2997    Functions inserting links (see *note Handling Links::) properly
   2998 escape ambiguous characters.  You only need to bother about the rules
   2999 above when inserting directly, or yanking, a URI within square brackets.
   3000 When in doubt, you may use the function ‘org-link-escape’, which turns a
   3001 link string into its escaped form.
   3002 
   3003    Once a link in the buffer is complete, with all brackets present, Org
   3004 changes the display so that ‘DESCRIPTION’ is displayed instead of
   3005 ‘[[LINK][DESCRIPTION]]’ and ‘LINK’ is displayed instead of ‘[[LINK]]’.
   3006 Links are highlighted in the ‘org-link’ face, which, by default, is an
   3007 underlined face.
   3008 
   3009    You can directly edit the visible part of a link.  This can be either
   3010 the LINK part, if there is no description, or the DESCRIPTION part
   3011 otherwise.  To also edit the invisible LINK part, use ‘C-c C-l’ with
   3012 point on the link (see *note Handling Links::).
   3013 
   3014    If you place point at the beginning or just behind the end of the
   3015 displayed text and press ‘<BS>’, you remove the—invisible—bracket at
   3016 that location(2).  This makes the link incomplete and the internals are
   3017 again displayed as plain text.  Inserting the missing bracket hides the
   3018 link internals again.  To show the internal structure of all links, use
   3019 the menu: Org → Hyperlinks → Literal links.
   3020 
   3021    ---------- Footnotes ----------
   3022 
   3023    (1) Plain URIs are recognized only for a well-defined set of schemes.
   3024 See *note External Links::.  Unlike URI syntax, they cannot contain
   3025 parenthesis or white spaces, either.  URIs within angle brackets have no
   3026 such limitation.
   3027 
   3028    (2) More accurately, the precise behavior depends on how point
   3029 arrived there—see *note Invisible Text: (elisp)Invisible Text.
   3030 
   3031 
   3032 File: org.info,  Node: Internal Links,  Next: Radio Targets,  Prev: Link Format,  Up: Hyperlinks
   3033 
   3034 4.2 Internal Links
   3035 ==================
   3036 
   3037 A link that does not look like a URL—i.e., does not start with a known
   3038 scheme or a file name—refers to the current document.  You can follow it
   3039 with ‘C-c C-o’ when point is on the link, or with a mouse click (see
   3040 *note Handling Links::).
   3041 
   3042    Org provides several refinements to internal navigation within a
   3043 document.  Most notably, a construct like ‘[[#my-custom-id]]’
   3044 specifically targets the entry with the ‘CUSTOM_ID’ property set to
   3045 ‘my-custom-id’.  Also, an internal link looking like ‘[[*Some section]]’
   3046 points to a headline with the name ‘Some section’(1).
   3047 
   3048    When the link does not belong to any of the cases above, Org looks
   3049 for a _dedicated target_: the same string in double angular brackets,
   3050 like ‘<<My Target>>’.
   3051 
   3052    If no dedicated target exists, the link tries to match the exact name
   3053 of an element within the buffer.  Naming is done, unsurprisingly, with
   3054 the ‘NAME’ keyword, which has to be put in the line before the element
   3055 it refers to, as in the following example
   3056 
   3057      #+NAME: My Target
   3058      | a  | table      |
   3059      |----+------------|
   3060      | of | four cells |
   3061 
   3062    Ultimately, if none of the above succeeds, Org searches for a
   3063 headline that is exactly the link text but may also include a TODO
   3064 keyword and tags, or initiates a plain text search, according to the
   3065 value of ‘org-link-search-must-match-exact-headline’.
   3066 
   3067    Note that you must make sure custom IDs, dedicated targets, and names
   3068 are unique throughout the document.  Org provides a linter to assist you
   3069 in the process, if needed.  See *note Org Syntax::.
   3070 
   3071    During export, internal links are used to mark objects and assign
   3072 them a number.  Marked objects are then referenced by links pointing to
   3073 them.  In particular, links without a description appear as the number
   3074 assigned to the marked object(2).  In the following excerpt from an Org
   3075 buffer
   3076 
   3077      1. one item
   3078      2. <<target>>another item
   3079      Here we refer to item [[target]].
   3080 
   3081 The last sentence will appear as ‘Here we refer to item 2’ when
   3082 exported.
   3083 
   3084    In non-Org files, the search looks for the words in the link text.
   3085 In the above example the search would be for ‘target’.
   3086 
   3087    Following a link pushes a mark onto Org’s own mark ring.  You can
   3088 return to the previous position with ‘C-c &’.  Using this command
   3089 several times in direct succession goes back to positions recorded
   3090 earlier.
   3091 
   3092    ---------- Footnotes ----------
   3093 
   3094    (1) To insert a link targeting a headline, in-buffer completion can
   3095 be used.  Just type a star followed by a few optional letters into the
   3096 buffer and press ‘M-<TAB>’.  All headlines in the current buffer are
   3097 offered as completions.
   3098 
   3099    (2) When targeting a ‘NAME’ keyword, the ‘CAPTION’ keyword is
   3100 mandatory in order to get proper numbering (see *note Captions::).
   3101 
   3102 
   3103 File: org.info,  Node: Radio Targets,  Next: External Links,  Prev: Internal Links,  Up: Hyperlinks
   3104 
   3105 4.3 Radio Targets
   3106 =================
   3107 
   3108 Org can automatically turn any occurrences of certain target names in
   3109 normal text into a link.  So without explicitly creating a link, the
   3110 text connects to the target radioing its position.  Radio targets are
   3111 enclosed by triple angular brackets.  For example, a target ‘<<<My
   3112 Target>>>’ causes each occurrence of ‘my target’ in normal text to
   3113 become activated as a link.  The Org file is scanned automatically for
   3114 radio targets only when the file is first loaded into Emacs.  To update
   3115 the target list during editing, press ‘C-c C-c’ with point on or at a
   3116 target.
   3117 
   3118 
   3119 File: org.info,  Node: External Links,  Next: Handling Links,  Prev: Radio Targets,  Up: Hyperlinks
   3120 
   3121 4.4 External Links
   3122 ==================
   3123 
   3124 Org supports links to files, websites, Usenet and email messages, BBDB
   3125 database entries and links to both IRC conversations and their logs.
   3126 External links are URL-like locators.  They start with a short
   3127 identifying string followed by a colon.  There can be no space after the
   3128 colon.
   3129 
   3130    Here is the full set of built-in link types:
   3131 
   3132 ‘file’
   3133      File links.  File name may be remote, absolute, or relative.
   3134 
   3135      Additionally, you can specify a line number, or a text search.  In
   3136      Org files, you may link to a headline name, a custom ID, or a code
   3137      reference instead.
   3138 
   3139      As a special case, “file” prefix may be omitted if the file name is
   3140      complete, e.g., it starts with ‘./’, or ‘/’.
   3141 
   3142 ‘attachment’
   3143      Same as file links but for files and folders attached to the
   3144      current node (see *note Attachments::).  Attachment links are
   3145      intended to behave exactly as file links but for files relative to
   3146      the attachment directory.
   3147 
   3148 ‘bbdb’
   3149      Link to a BBDB record, with possible regexp completion.
   3150 
   3151 ‘docview’
   3152      Link to a document opened with DocView mode.  You may specify a
   3153      page number.
   3154 
   3155 ‘doi’
   3156      Link to an electronic resource, through its handle.
   3157 
   3158 ‘elisp’
   3159      Execute an Elisp command upon activation.
   3160 
   3161 ‘gnus’, ‘rmail’, ‘mhe’
   3162      Link to messages or folders from a given Emacs’ MUA.
   3163 
   3164 ‘help’
   3165      Display documentation of a symbol in ‘*Help*’ buffer.
   3166 
   3167 ‘http’, ‘https’
   3168      Web links.
   3169 
   3170 ‘id’
   3171      Link to a specific headline by its ID property, in an Org file.
   3172 
   3173 ‘info’
   3174      Link to an Info manual, or to a specific node.
   3175 
   3176 ‘irc’
   3177      Link to an IRC channel.
   3178 
   3179 ‘mailto’
   3180      Link to message composition.
   3181 
   3182 ‘news’
   3183      Usenet links.
   3184 
   3185 ‘shell’
   3186      Execute a shell command upon activation.
   3187 
   3188    The following table illustrates the link types above, along with
   3189 their options:
   3190 
   3191 Link Type    Example
   3192 ------------------------------------------------------------------------
   3193 http         ‘http://staff.science.uva.nl/c.dominik/’
   3194 https        ‘https://orgmode.org/’
   3195 doi          ‘doi:10.1000/182’
   3196 file         ‘file:/home/dominik/images/jupiter.jpg’
   3197              ‘/home/dominik/images/jupiter.jpg’ (same as above)
   3198              ‘file:papers/last.pdf’
   3199              ‘./papers/last.pdf’ (same as above)
   3200              ‘file:/ssh:me@some.where:papers/last.pdf’ (remote)
   3201              ‘/ssh:me@some.where:papers/last.pdf’ (same as above)
   3202              ‘file:sometextfile::NNN’ (jump to line number)
   3203              ‘file:projects.org’
   3204              ‘file:projects.org::some words’ (text search)(1)
   3205              ‘file:projects.org::*task title’ (headline search)
   3206              ‘file:projects.org::#custom-id’ (headline search)
   3207 attachment   ‘attachment:projects.org’
   3208              ‘attachment:projects.org::some words’ (text search)
   3209 docview      ‘docview:papers/last.pdf::NNN’
   3210 id           ‘id:B7423F4D-2E8A-471B-8810-C40F074717E9’
   3211 news         ‘news:comp.emacs’
   3212 mailto       ‘mailto:adent@galaxy.net’
   3213 mhe          ‘mhe:folder’ (folder link)
   3214              ‘mhe:folder#id’ (message link)
   3215 rmail        ‘rmail:folder’ (folder link)
   3216              ‘rmail:folder#id’ (message link)
   3217 gnus         ‘gnus:group’ (group link)
   3218              ‘gnus:group#id’ (article link)
   3219 bbdb         ‘bbdb:R.*Stallman’ (record with regexp)
   3220 irc          ‘irc:/irc.com/#emacs/bob’
   3221 help         ‘help:org-store-link’
   3222 info         ‘info:org#External links’
   3223 shell        ‘shell:ls *.org’
   3224 elisp        ‘elisp:(find-file "Elisp.org")’ (Elisp form to evaluate)
   3225              ‘elisp:org-agenda’ (interactive Elisp command)
   3226 
   3227    On top of these built-in link types, additional ones are available
   3228 through the ‘org-contrib’ repository (see *note Installation::).  For
   3229 example, these links to VM or Wanderlust messages are available when you
   3230 load the corresponding libraries from the ‘org-contrib’ repository:
   3231 
   3232 ‘vm:folder’                              VM folder link
   3233 ‘vm:folder#id’                           VM message link
   3234 ‘vm://myself@some.where.org/folder#id’   VM on remote machine
   3235 ‘vm-imap:account:folder’                 VM IMAP folder link
   3236 ‘vm-imap:account:folder#id’              VM IMAP message link
   3237 ‘wl:folder’                              Wanderlust folder link
   3238 ‘wl:folder#id’                           Wanderlust message link
   3239 
   3240    For information on customizing Org to add new link types, see *note
   3241 Adding Hyperlink Types::.
   3242 
   3243    A link should be enclosed in double brackets and may contain
   3244 descriptive text to be displayed instead of the URL (see *note Link
   3245 Format::), for example:
   3246 
   3247      [[https://www.gnu.org/software/emacs/][GNU Emacs]]
   3248 
   3249    If the description is a file name or URL that points to an image,
   3250 HTML export (see *note HTML Export::) inlines the image as a clickable
   3251 button.  If there is no description at all and the link points to an
   3252 image, that image is inlined into the exported HTML file.
   3253 
   3254    Org also recognizes external links amid normal text and activates
   3255 them as links.  If spaces must be part of the link (for example in
   3256 ‘bbdb:R.*Stallman’), or if you need to remove ambiguities about the end
   3257 of the link, enclose the link in square or angular brackets.
   3258 
   3259    ---------- Footnotes ----------
   3260 
   3261    (1) The actual behavior of the search depends on the value of the
   3262 variable ‘org-link-search-must-match-exact-headline’.  If its value is
   3263 ‘nil’, then a fuzzy text search is done.  If it is ‘t’, then only the
   3264 exact headline is matched, ignoring spaces and statistic cookies.  If
   3265 the value is ‘query-to-create’, then an exact headline is searched; if
   3266 it is not found, then the user is queried to create it.
   3267 
   3268 
   3269 File: org.info,  Node: Handling Links,  Next: Using Links Outside Org,  Prev: External Links,  Up: Hyperlinks
   3270 
   3271 4.5 Handling Links
   3272 ==================
   3273 
   3274 Org provides methods to create a link in the correct syntax, to insert
   3275 it into an Org file, and to follow the link.
   3276 
   3277    The main function is ‘org-store-link’, called with ‘M-x
   3278 org-store-link’.  Because of its importance, we suggest to bind it to a
   3279 widely available key (see *note Activation::).  It stores a link to the
   3280 current location.  The link is stored for later insertion into an Org
   3281 buffer—see below.  The kind of link that is created depends on the
   3282 current buffer:
   3283 
   3284 _Org mode buffers_
   3285      For Org files, if there is a ‘<<target>>’ at point, the link points
   3286      to the target.  Otherwise it points to the current headline, which
   3287      is also the description.
   3288 
   3289      If the headline has a ‘CUSTOM_ID’ property, store a link to this
   3290      custom ID.  In addition or alternatively, depending on the value of
   3291      ‘org-id-link-to-org-use-id’, create and/or use a globally unique
   3292      ‘ID’ property for the link(1).  So using this command in Org
   3293      buffers potentially creates two links: a human-readable link from
   3294      the custom ID, and one that is globally unique and works even if
   3295      the entry is moved from file to file.  The ‘ID’ property can be
   3296      either a UUID (default) or a timestamp, depending on
   3297      ‘org-id-method’.  Later, when inserting the link, you need to
   3298      decide which one to use.
   3299 
   3300 _Email/News clients: VM, Rmail, Wanderlust, MH-E, Gnus_
   3301      Pretty much all Emacs mail clients are supported.  The link points
   3302      to the current article, or, in some Gnus buffers, to the group.
   3303      The description is constructed according to the variable
   3304      ‘org-link-email-description-format’.  By default, it refers to the
   3305      addressee and the subject.
   3306 
   3307 _Web browsers: W3M and EWW_
   3308      Here the link is the current URL, with the page title as the
   3309      description.
   3310 
   3311 _Contacts: BBDB_
   3312      Links created in a BBDB buffer point to the current entry.
   3313 
   3314 _Chat: IRC_
   3315      For IRC links, if the variable ‘org-irc-link-to-logs’ is non-‘nil’,
   3316      create a ‘file’ style link to the relevant point in the logs for
   3317      the current conversation.  Otherwise store an ‘irc’ style link to
   3318      the user/channel/server under the point.
   3319 
   3320 _Other files_
   3321      For any other file, the link points to the file, with a search
   3322      string (see *note Search Options::) pointing to the contents of the
   3323      current line.  If there is an active region, the selected words
   3324      form the basis of the search string.  You can write custom Lisp
   3325      functions to select the search string and perform the search for
   3326      particular file types (see *note Custom Searches::).
   3327 
   3328      You can also define dedicated links to other files.  See *note
   3329      Adding Hyperlink Types::.
   3330 
   3331 _Agenda view_
   3332      When point is in an agenda view, the created link points to the
   3333      entry referenced by the current line.
   3334 
   3335    From an Org buffer, the following commands create, navigate or, more
   3336 generally, act on links.
   3337 
   3338 ‘C-c C-l’ (‘org-insert-link’)
   3339      Insert a link(2).  This prompts for a link to be inserted into the
   3340      buffer.  You can just type a link, using text for an internal link,
   3341      or one of the link type prefixes mentioned in the examples above.
   3342      The link is inserted into the buffer, along with a descriptive
   3343      text(3).  If some text was selected at this time, it becomes the
   3344      default description.
   3345 
   3346      _Inserting stored links_
   3347           All links stored during the current session are part of the
   3348           history for this prompt, so you can access them with ‘<UP>’
   3349           and ‘<DOWN>’ (or ‘M-p’, ‘M-n’).
   3350 
   3351      _Completion support_
   3352           Completion with ‘<TAB>’ helps you to insert valid link
   3353           prefixes like ‘http’ or ‘ftp’, including the prefixes defined
   3354           through link abbreviations (see *note Link Abbreviations::).
   3355           If you press ‘<RET>’ after inserting only the prefix, Org
   3356           offers specific completion support for some link types(4).
   3357           For example, if you type ‘f i l e <RET>’—alternative access:
   3358           ‘C-u C-c C-l’, see below—Org offers file name completion, and
   3359           after ‘b b d b <RET>’ you can complete contact names.
   3360 
   3361 ‘C-u C-c C-l’
   3362      When ‘C-c C-l’ is called with a ‘C-u’ prefix argument, insert a
   3363      link to a file.  You may use file name completion to select the
   3364      name of the file.  The path to the file is inserted relative to the
   3365      directory of the current Org file, if the linked file is in the
   3366      current directory or in a sub-directory of it, or if the path is
   3367      written relative to the current directory using ‘../’.  Otherwise
   3368      an absolute path is used, if possible with ‘~/’ for your home
   3369      directory.  You can force an absolute path with two ‘C-u’ prefixes.
   3370 
   3371 ‘C-c C-l’ (with point on existing link)
   3372      When point is on an existing link, ‘C-c C-l’ allows you to edit the
   3373      link and description parts of the link.
   3374 
   3375 ‘C-c C-o’ (‘org-open-at-point’)
   3376      Open link at point.  This launches a web browser for URL (using
   3377      ‘browse-url-at-point’), run VM/MH-E/Wanderlust/Rmail/Gnus/BBDB for
   3378      the corresponding links, and execute the command in a shell link.
   3379      When point is on an internal link, this command runs the
   3380      corresponding search.  When point is on the tags part of a
   3381      headline, it creates the corresponding tags view (see *note
   3382      Matching tags and properties::).  If point is on a timestamp, it
   3383      compiles the agenda for that date.  Furthermore, it visits text and
   3384      remote files in ‘file’ links with Emacs and select a suitable
   3385      application for local non-text files.  Classification of files is
   3386      based on file extension only.  See option ‘org-file-apps’.  If you
   3387      want to override the default application and visit the file with
   3388      Emacs, use a ‘C-u’ prefix.  If you want to avoid opening in Emacs,
   3389      use a ‘C-u C-u’ prefix.
   3390 
   3391      If point is on a headline, but not on a link, offer all links in
   3392      the headline and entry text.  If you want to setup the frame
   3393      configuration for following links, customize
   3394      ‘org-link-frame-setup’.
   3395 
   3396 ‘<RET>’
   3397      When ‘org-return-follows-link’ is set, ‘<RET>’ also follows the
   3398      link at point.
   3399 
   3400 ‘mouse-2’ or ‘mouse-1’
   3401      On links, ‘mouse-1’ and ‘mouse-2’ opens the link just as ‘C-c C-o’
   3402      does.
   3403 
   3404 ‘mouse-3’
   3405      Like ‘mouse-2’, but force file links to be opened with Emacs, and
   3406      internal links to be displayed in another window(5).
   3407 
   3408 ‘C-c %’ (‘org-mark-ring-push’)
   3409      Push the current position onto the Org mark ring, to be able to
   3410      return easily.  Commands following an internal link do this
   3411      automatically.
   3412 
   3413 ‘C-c &’ (‘org-mark-ring-goto’)
   3414      Jump back to a recorded position.  A position is recorded by the
   3415      commands following internal links, and by ‘C-c %’.  Using this
   3416      command several times in direct succession moves through a ring of
   3417      previously recorded positions.
   3418 
   3419 ‘C-c C-x C-n’ (‘org-next-link’)
   3420 ‘C-c C-x C-p’ (‘org-previous-link’)
   3421      Move forward/backward to the next link in the buffer.  At the limit
   3422      of the buffer, the search fails once, and then wraps around.  The
   3423      key bindings for this are really too long; you might want to bind
   3424      this also to ‘M-n’ and ‘M-p’.
   3425 
   3426           (with-eval-after-load 'org
   3427             (define-key org-mode-map (kbd "M-n") #'org-next-link)
   3428             (define-key org-mode-map (kbd "M-p") #'org-previous-link))
   3429 
   3430    ---------- Footnotes ----------
   3431 
   3432    (1) The Org Id library must first be loaded, either through
   3433 ‘org-customize’, by enabling ‘id’ in ‘org-modules’, or by adding
   3434 ‘(require 'org-id)’ in your Emacs init file.
   3435 
   3436    (2) Note that you do not have to use this command to insert a link.
   3437 Links in Org are plain text, and you can type or paste them straight
   3438 into the buffer.  By using this command, the links are automatically
   3439 enclosed in double brackets, and you will be asked for the optional
   3440 descriptive text.
   3441 
   3442    (3) After insertion of a stored link, the link will be removed from
   3443 the list of stored links.  To keep it in the list for later use, use a
   3444 triple ‘C-u’ prefix argument to ‘C-c C-l’, or configure the option
   3445 ‘org-link-keep-stored-after-insertion’.
   3446 
   3447    (4) This works if a function has been defined in the ‘:complete’
   3448 property of a link in ‘org-link-parameters’.
   3449 
   3450    (5) See the variable ‘org-link-use-indirect-buffer-for-internals’.
   3451 
   3452 
   3453 File: org.info,  Node: Using Links Outside Org,  Next: Link Abbreviations,  Prev: Handling Links,  Up: Hyperlinks
   3454 
   3455 4.6 Using Links Outside Org
   3456 ===========================
   3457 
   3458 You can insert and follow links that have Org syntax not only in Org,
   3459 but in any Emacs buffer.  For this, Org provides two functions:
   3460 ‘org-insert-link-global’ and ‘org-open-at-point-global’.
   3461 
   3462    You might want to bind them to globally available keys.  See *note
   3463 Activation:: for some advice.
   3464 
   3465 
   3466 File: org.info,  Node: Link Abbreviations,  Next: Search Options,  Prev: Using Links Outside Org,  Up: Hyperlinks
   3467 
   3468 4.7 Link Abbreviations
   3469 ======================
   3470 
   3471 Long URL can be cumbersome to type, and often many similar links are
   3472 needed in a document.  For this you can use link abbreviations.  An
   3473 abbreviated link looks like this
   3474 
   3475      [[linkword:tag][description]]
   3476 
   3477 where the tag is optional.  The _linkword_ must be a word, starting with
   3478 a letter, followed by letters, numbers, ‘-’, and ‘_’.  Abbreviations are
   3479 resolved according to the information in the variable
   3480 ‘org-link-abbrev-alist’ that relates the linkwords to replacement text.
   3481 Here is an example:
   3482 
   3483      (setq org-link-abbrev-alist
   3484            '(("bugzilla"        . "http://10.1.2.9/bugzilla/show_bug.cgi?id=")
   3485              ("Nu Html Checker" . "https://validator.w3.org/nu/?doc=%h")
   3486              ("duckduckgo"      . "https://duckduckgo.com/?q=%s")
   3487              ("omap"            . "https://nominatim.openstreetmap.org/search?q=%s&polygon=1")
   3488              ("ads"             . "https://ui.adsabs.harvard.edu/search/q=%20author%3A\"%s\"")))
   3489 
   3490    If the replacement text contains the string ‘%s’, it is replaced with
   3491 the tag.  Using ‘%h’ instead of ‘%s’ percent-encodes the tag (see the
   3492 example above, where we need to encode the URL parameter).  Using
   3493 ‘%(my-function)’ passes the tag to a custom Lisp function, and replace
   3494 it by the resulting string.
   3495 
   3496    If the replacement text do not contain any specifier, it is simply
   3497 appended to the string in order to create the link.
   3498 
   3499    Instead of a string, you may also specify a Lisp function to create
   3500 the link.  Such a function will be called with the tag as the only
   3501 argument.
   3502 
   3503    With the above setting, you could link to a specific bug with
   3504 ‘[[bugzilla:129]]’, search the web for ‘OrgMode’ with
   3505 ‘[[duckduckgo:OrgMode]]’, show the map location of the Free Software
   3506 Foundation ‘[[gmap:51 Franklin Street, Boston]]’ or of Carsten office
   3507 ‘[[omap:Science Park 904, Amsterdam, The Netherlands]]’ and find out
   3508 what the Org author is doing besides Emacs hacking with
   3509 ‘[[ads:Dominik,C]]’.
   3510 
   3511    If you need special abbreviations just for a single Org buffer, you
   3512 can define them in the file with
   3513 
   3514      #+LINK: bugzilla  https://10.1.2.9/bugzilla/show_bug.cgi?id=
   3515      #+LINK: duckduckgo https://duckduckgo.com/?q=%s
   3516      #+LINK: "Nu Html Checker" https://validator.w3.org/nu/?doc=%h
   3517 
   3518    The abbreviations containing spaces must be quoted.
   3519 
   3520    In-buffer completion (see *note Completion::) can be used after ‘[’
   3521 to complete link abbreviations.  You may also define a Lisp function
   3522 that implements special (e.g., completion) support for inserting such a
   3523 link with ‘C-c C-l’.  Such a function should not accept any arguments,
   3524 and should return the full link with a prefix.  You can set the link
   3525 completion function like this:
   3526 
   3527      (org-link-set-parameter "type" :complete #'some-completion-function)
   3528 
   3529 
   3530 File: org.info,  Node: Search Options,  Next: Custom Searches,  Prev: Link Abbreviations,  Up: Hyperlinks
   3531 
   3532 4.8 Search Options in File Links
   3533 ================================
   3534 
   3535 File links can contain additional information to make Emacs jump to a
   3536 particular location in the file when following a link.  This can be a
   3537 line number or a search option after a double colon(1).  For example,
   3538 when the command ‘org-store-link’ creates a link (see *note Handling
   3539 Links::) to a file, it encodes the words in the current line as a search
   3540 string that can be used to find this line back later when following the
   3541 link with ‘C-c C-o’.
   3542 
   3543    Note that all search options apply for Attachment links in the same
   3544 way that they apply for File links.
   3545 
   3546    Here is the syntax of the different ways to attach a search to a file
   3547 link, together with explanations for each:
   3548 
   3549      [[file:~/code/main.c::255]]
   3550      [[file:~/xx.org::My Target]]
   3551      [[file:~/xx.org::*My Target]]
   3552      [[file:~/xx.org::#my-custom-id]]
   3553      [[file:~/xx.org::/regexp/]]
   3554      [[attachment:main.c::255]]
   3555 
   3556 ‘255’
   3557      Jump to line 255.
   3558 
   3559 ‘My Target’
   3560      Search for a link target ‘<<My Target>>’, or do a text search for
   3561      ‘my target’, similar to the search in internal links, see *note
   3562      Internal Links::.  In HTML export (see *note HTML Export::), such a
   3563      file link becomes a HTML reference to the corresponding named
   3564      anchor in the linked file.
   3565 
   3566 ‘*My Target’
   3567      In an Org file, restrict search to headlines.
   3568 
   3569 ‘#my-custom-id’
   3570      Link to a heading with a ‘CUSTOM_ID’ property
   3571 
   3572 ‘/REGEXP/’
   3573      Do a regular expression search for REGEXP (see *note Regular
   3574      Expressions::).  This uses the Emacs command ‘occur’ to list all
   3575      matches in a separate window.  If the target file is in Org mode,
   3576      ‘org-occur’ is used to create a sparse tree with the matches.
   3577 
   3578    As a degenerate case, a file link with an empty file name can be used
   3579 to search the current file.  For example, ‘[[file:::find me]]’ does a
   3580 search for ‘find me’ in the current file, just as ‘[[find me]]’ would.
   3581 
   3582    ---------- Footnotes ----------
   3583 
   3584    (1) For backward compatibility, line numbers can also follow a single
   3585 colon.
   3586 
   3587 
   3588 File: org.info,  Node: Custom Searches,  Prev: Search Options,  Up: Hyperlinks
   3589 
   3590 4.9 Custom Searches
   3591 ===================
   3592 
   3593 The default mechanism for creating search strings and for doing the
   3594 actual search related to a file link may not work correctly in all
   3595 cases.  For example, BibTeX database files have many entries like
   3596 ‘year="1993"’ which would not result in good search strings, because the
   3597 only unique identification for a BibTeX entry is the citation key.
   3598 
   3599    If you come across such a problem, you can write custom functions to
   3600 set the right search string for a particular file type, and to do the
   3601 search for the string in the file.  Using ‘add-hook’, these functions
   3602 need to be added to the hook variables
   3603 ‘org-create-file-search-functions’ and
   3604 ‘org-execute-file-search-functions’.  See the docstring for these
   3605 variables for more information.  Org actually uses this mechanism for
   3606 BibTeX database files, and you can use the corresponding code as an
   3607 implementation example.  See the file ‘ol-bibtex.el’.
   3608 
   3609 
   3610 File: org.info,  Node: TODO Items,  Next: Tags,  Prev: Hyperlinks,  Up: Top
   3611 
   3612 5 TODO Items
   3613 ************
   3614 
   3615 Org mode does not maintain TODO lists as separate documents(1).
   3616 Instead, TODO items are an integral part of the notes file, because TODO
   3617 items usually come up while taking notes!  With Org mode, simply mark
   3618 any entry in a tree as being a TODO item.  In this way, information is
   3619 not duplicated, and the entire context from which the TODO item emerged
   3620 is always present.
   3621 
   3622    Of course, this technique for managing TODO items scatters them
   3623 throughout your notes file.  Org mode compensates for this by providing
   3624 methods to give you an overview of all the things that you have to do.
   3625 
   3626 * Menu:
   3627 
   3628 * TODO Basics::                  Marking and displaying TODO entries.
   3629 * TODO Extensions::              Workflow and assignments.
   3630 * Progress Logging::             Dates and notes for progress.
   3631 * Priorities::                   Some things are more important than others.
   3632 * Breaking Down Tasks::          Splitting a task into manageable pieces.
   3633 * Checkboxes::                   Tick-off lists.
   3634 
   3635    ---------- Footnotes ----------
   3636 
   3637    (1) Of course, you can make a document that contains only long lists
   3638 of TODO items, but this is not required.
   3639 
   3640 
   3641 File: org.info,  Node: TODO Basics,  Next: TODO Extensions,  Up: TODO Items
   3642 
   3643 5.1 Basic TODO Functionality
   3644 ============================
   3645 
   3646 Any headline becomes a TODO item when it starts with the word ‘TODO’,
   3647 for example:
   3648 
   3649      *** TODO Write letter to Sam Fortune
   3650 
   3651    The most important commands to work with TODO entries are:
   3652 
   3653 ‘C-c C-t’ (‘org-todo’)
   3654      Rotate the TODO state of the current item among
   3655 
   3656           ,-> (unmarked) -> TODO -> DONE --.
   3657           '--------------------------------'
   3658 
   3659      If TODO keywords have fast access keys (see *note Fast access to
   3660      TODO states::), prompt for a TODO keyword through the fast
   3661      selection interface; this is the default behavior when
   3662      ‘org-use-fast-todo-selection’ is non-‘nil’.
   3663 
   3664      The same state changing can also be done “remotely” from the agenda
   3665      buffer with the ‘t’ command key (see *note Agenda Commands::).
   3666 
   3667 ‘S-<RIGHT>’ ‘S-<LEFT>’
   3668      Select the following/preceding TODO state, similar to cycling.
   3669      Useful mostly if more than two TODO states are possible (see *note
   3670      TODO Extensions::).  See also *note Conflicts::, for a discussion
   3671      of the interaction with shift-selection.  See also the variable
   3672      ‘org-treat-S-cursor-todo-selection-as-state-change’.
   3673 
   3674 ‘C-c / t’ (‘org-show-todo-tree’)
   3675      View TODO items in a _sparse tree_ (see *note Sparse Trees::).
   3676      Folds the entire buffer, but shows all TODO items—with not-DONE
   3677      state—and the headings hierarchy above them.  With a prefix
   3678      argument, or by using ‘C-c / T’, search for a specific TODO.  You
   3679      are prompted for the keyword, and you can also give a list of
   3680      keywords like ‘KWD1|KWD2|...’ to list entries that match any one of
   3681      these keywords.  With a numeric prefix argument N, show the tree
   3682      for the Nth keyword in the variable ‘org-todo-keywords’.  With two
   3683      prefix arguments, find all TODO states, both un-done and done.
   3684 
   3685 ‘M-x org-agenda t’ (‘org-todo-list’)
   3686      Show the global TODO list.  Collects the TODO items (with not-DONE
   3687      states) from all agenda files (see *note Agenda Views::) into a
   3688      single buffer.  The new buffer is in Org Agenda mode, which
   3689      provides commands to examine and manipulate the TODO entries from
   3690      the new buffer (see *note Agenda Commands::).  See *note Global
   3691      TODO list::, for more information.
   3692 
   3693 ‘S-M-<RET>’ (‘org-insert-todo-heading’)
   3694      Insert a new TODO entry below the current one.
   3695 
   3696    Changing a TODO state can also trigger tag changes.  See the
   3697 docstring of the option ‘org-todo-state-tags-triggers’ for details.
   3698 
   3699 
   3700 File: org.info,  Node: TODO Extensions,  Next: Progress Logging,  Prev: TODO Basics,  Up: TODO Items
   3701 
   3702 5.2 Extended Use of TODO Keywords
   3703 =================================
   3704 
   3705 By default, marked TODO entries have one of only two states: TODO and
   3706 DONE.  Org mode allows you to classify TODO items in more complex ways
   3707 with _TODO keywords_ (stored in ‘org-todo-keywords’).  With special
   3708 setup, the TODO keyword system can work differently in different files.
   3709 
   3710    Note that _tags_ are another way to classify headlines in general and
   3711 TODO items in particular (see *note Tags::).
   3712 
   3713 * Menu:
   3714 
   3715 * Workflow states::              From TODO to DONE in steps.
   3716 * TODO types::                   I do this, Fred does the rest.
   3717 * Multiple sets in one file::    Mixing it all, still finding your way.
   3718 * Fast access to TODO states::   Single letter selection of state.
   3719 * Per-file keywords::            Different files, different requirements.
   3720 * Faces for TODO keywords::      Highlighting states.
   3721 * TODO dependencies::            When one task needs to wait for others.
   3722 
   3723 
   3724 File: org.info,  Node: Workflow states,  Next: TODO types,  Up: TODO Extensions
   3725 
   3726 5.2.1 TODO keywords as workflow states
   3727 --------------------------------------
   3728 
   3729 You can use TODO keywords to indicate different, possibly _sequential_
   3730 states in the process of working on an item, for example(1):
   3731 
   3732      (setq org-todo-keywords
   3733            '((sequence "TODO" "FEEDBACK" "VERIFY" "|" "DONE" "DELEGATED")))
   3734 
   3735    The vertical bar separates the TODO keywords (states that _need
   3736 action_) from the DONE states (which need _no further action_).  If you
   3737 do not provide the separator bar, the last state is used as the DONE
   3738 state.
   3739 
   3740    With this setup, the command ‘C-c C-t’ cycles an entry from ‘TODO’ to
   3741 ‘FEEDBACK’, then to ‘VERIFY’, and finally to ‘DONE’ and ‘DELEGATED’.
   3742 You may also use a numeric prefix argument to quickly select a specific
   3743 state.  For example ‘C-3 C-c C-t’ changes the state immediately to
   3744 ‘VERIFY’.  Or you can use ‘S-<RIGHT>’ and ‘S-<LEFT>’ to go forward and
   3745 backward through the states.  If you define many keywords, you can use
   3746 in-buffer completion (see *note Completion::) or a special one-key
   3747 selection scheme (see *note Fast access to TODO states::) to insert
   3748 these words into the buffer.  Changing a TODO state can be logged with a
   3749 timestamp, see *note Tracking TODO state changes::, for more
   3750 information.
   3751 
   3752    ---------- Footnotes ----------
   3753 
   3754    (1) Changing the variable ‘org-todo-keywords’ only becomes effective
   3755 after restarting Org mode in a buffer.
   3756 
   3757 
   3758 File: org.info,  Node: TODO types,  Next: Multiple sets in one file,  Prev: Workflow states,  Up: TODO Extensions
   3759 
   3760 5.2.2 TODO keywords as types
   3761 ----------------------------
   3762 
   3763 The second possibility is to use TODO keywords to indicate different
   3764 _types_ of action items.  For example, you might want to indicate that
   3765 items are for “work” or “home”.  Or, when you work with several people
   3766 on a single project, you might want to assign action items directly to
   3767 persons, by using their names as TODO keywords.  This type of
   3768 functionality is actually much better served by using tags (see *note
   3769 Tags::), so the TODO implementation is kept just for backward
   3770 compatibility.
   3771 
   3772    Using TODO types, it would be set up like this:
   3773 
   3774      (setq org-todo-keywords '((type "Fred" "Sara" "Lucy" "|" "DONE")))
   3775 
   3776    In this case, different keywords do not indicate states, but rather
   3777 different types.  So the normal work flow would be to assign a task to a
   3778 person, and later to mark it DONE.  Org mode supports this style by
   3779 adapting the workings of the command ‘C-c C-t’(1).  When used several
   3780 times in succession, it still cycles through all names, in order to
   3781 first select the right type for a task.  But when you return to the item
   3782 after some time and execute ‘C-c C-t’ again, it will switch from any
   3783 name directly to ‘DONE’.  Use prefix arguments or completion to quickly
   3784 select a specific name.  You can also review the items of a specific
   3785 TODO type in a sparse tree by using a numeric prefix to ‘C-c / t’.  For
   3786 example, to see all things Lucy has to do, you would use ‘C-3 C-c / t’.
   3787 To collect Lucy’s items from all agenda files into a single buffer, you
   3788 would use the numeric prefix argument as well when creating the global
   3789 TODO list: ‘C-3 M-x org-agenda t’.
   3790 
   3791    ---------- Footnotes ----------
   3792 
   3793    (1) This is also true for the ‘t’ command in the agenda buffer.
   3794 
   3795 
   3796 File: org.info,  Node: Multiple sets in one file,  Next: Fast access to TODO states,  Prev: TODO types,  Up: TODO Extensions
   3797 
   3798 5.2.3 Multiple keyword sets in one file
   3799 ---------------------------------------
   3800 
   3801 Sometimes you may want to use different sets of TODO keywords in
   3802 parallel.  For example, you may want to have the basic TODO/DONE, but
   3803 also a workflow for bug fixing, and a separate state indicating that an
   3804 item has been canceled—so it is not DONE, but also does not require
   3805 action.  Your setup would then look like this:
   3806 
   3807      (setq org-todo-keywords
   3808            '((sequence "TODO" "|" "DONE")
   3809              (sequence "REPORT" "BUG" "KNOWNCAUSE" "|" "FIXED")
   3810              (sequence "|" "CANCELED")))
   3811 
   3812    The keywords should all be different, this helps Org mode keep track
   3813 of which subsequence should be used for a given entry.  In this setup,
   3814 ‘C-c C-t’ only operates within a sub-sequence, so it switches from
   3815 ‘DONE’ to (nothing) to ‘TODO’, and from ‘FIXED’ to (nothing) to
   3816 ‘REPORT’.  Therefore you need a mechanism to initially select the
   3817 correct sequence.  In addition to typing a keyword or using completion
   3818 (see *note Completion::), you may also apply the following commands:
   3819 
   3820 ‘C-u C-u C-c C-t’
   3821 ‘C-S-<RIGHT>’
   3822 ‘C-S-<LEFT>’
   3823      These keys jump from one TODO sub-sequence to the next.  In the
   3824      above example, ‘C-u C-u C-c C-t’ or ‘C-S-<RIGHT>’ would jump from
   3825      ‘TODO’ or ‘DONE’ to ‘REPORT’, and any of the words in the second
   3826      row to ‘CANCELED’.  Note that the ‘C-S-’ key binding conflict with
   3827      shift-selection (see *note Conflicts::).
   3828 
   3829 ‘S-<RIGHT>’
   3830 ‘S-<LEFT>’
   3831      ‘S-<LEFT>’ and ‘S-<RIGHT>’ walk through _all_ keywords from all
   3832      sub-sequences, so for example ‘S-<RIGHT>’ would switch from ‘DONE’
   3833      to ‘REPORT’ in the example above.  For a discussion of the
   3834      interaction with shift-selection, see *note Conflicts::.
   3835 
   3836 
   3837 File: org.info,  Node: Fast access to TODO states,  Next: Per-file keywords,  Prev: Multiple sets in one file,  Up: TODO Extensions
   3838 
   3839 5.2.4 Fast access to TODO states
   3840 --------------------------------
   3841 
   3842 If you would like to quickly change an entry to an arbitrary TODO state
   3843 instead of cycling through the states, you can set up keys for
   3844 single-letter access to the states.  This is done by adding the
   3845 selection character after each keyword, in parentheses(1).  For example:
   3846 
   3847      (setq org-todo-keywords
   3848            '((sequence "TODO(t)" "|" "DONE(d)")
   3849              (sequence "REPORT(r)" "BUG(b)" "KNOWNCAUSE(k)" "|" "FIXED(f)")
   3850              (sequence "|" "CANCELED(c)")))
   3851 
   3852    If you then press ‘C-c C-t’ followed by the selection key, the entry
   3853 is switched to this state.  ‘<SPC>’ can be used to remove any TODO
   3854 keyword from an entry(2).
   3855 
   3856    ---------- Footnotes ----------
   3857 
   3858    (1) All characters are allowed except ‘@’, ‘^’ and ‘!’, which have a
   3859 special meaning here.
   3860 
   3861    (2) Check also the variable ‘org-fast-tag-selection-include-todo’, it
   3862 allows you to change the TODO state through the tags interface (see
   3863 *note Setting Tags::), in case you like to mingle the two concepts.
   3864 Note that this means you need to come up with unique keys across both
   3865 sets of keywords.
   3866 
   3867 
   3868 File: org.info,  Node: Per-file keywords,  Next: Faces for TODO keywords,  Prev: Fast access to TODO states,  Up: TODO Extensions
   3869 
   3870 5.2.5 Setting up keywords for individual files
   3871 ----------------------------------------------
   3872 
   3873 It can be very useful to use different aspects of the TODO mechanism in
   3874 different files.  For file-local settings, you need to add special lines
   3875 to the file which set the keywords and interpretation for that file
   3876 only.  For example, to set one of the two examples discussed above, you
   3877 need one of the following lines, starting in column zero anywhere in the
   3878 file:
   3879 
   3880      #+TODO: TODO FEEDBACK VERIFY | DONE CANCELED
   3881 
   3882    You may also write ‘#+SEQ_TODO’ to be explicit about the
   3883 interpretation, but it means the same as ‘#+TODO’, or
   3884 
   3885      #+TYP_TODO: Fred Sara Lucy Mike | DONE
   3886 
   3887    A setup for using several sets in parallel would be:
   3888 
   3889      #+TODO: TODO(t) | DONE(d)
   3890      #+TODO: REPORT(r) BUG(b) KNOWNCAUSE(k) | FIXED(f)
   3891      #+TODO: | CANCELED(c)
   3892 
   3893    To make sure you are using the correct keyword, type ‘#+’ into the
   3894 buffer and then use ‘M-<TAB>’ to complete it (see *note Completion::).
   3895 
   3896    Remember that the keywords after the vertical bar—or the last keyword
   3897 if no bar is there—must always mean that the item is DONE, although you
   3898 may use a different word.  After changing one of these lines, use ‘C-c
   3899 C-c’ with point still in the line to make the changes known to Org
   3900 mode(1).
   3901 
   3902    ---------- Footnotes ----------
   3903 
   3904    (1) Org mode parses these lines only when Org mode is activated after
   3905 visiting a file.  ‘C-c C-c’ with point in a line starting with ‘#+’ is
   3906 simply restarting Org mode for the current buffer.
   3907 
   3908 
   3909 File: org.info,  Node: Faces for TODO keywords,  Next: TODO dependencies,  Prev: Per-file keywords,  Up: TODO Extensions
   3910 
   3911 5.2.6 Faces for TODO keywords
   3912 -----------------------------
   3913 
   3914 Org mode highlights TODO keywords with special faces: ‘org-todo’ for
   3915 keywords indicating that an item still has to be acted upon, and
   3916 ‘org-done’ for keywords indicating that an item is finished.  If you are
   3917 using more than two different states, you might want to use special
   3918 faces for some of them.  This can be done using the variable
   3919 ‘org-todo-keyword-faces’.  For example:
   3920 
   3921      (setq org-todo-keyword-faces
   3922            '(("TODO" . org-warning) ("STARTED" . "yellow")
   3923              ("CANCELED" . (:foreground "blue" :weight bold))))
   3924 
   3925    While using a list with face properties as shown for ‘CANCELED’
   3926 _should_ work, this does not always seem to be the case.  If necessary,
   3927 define a special face and use that.  A string is interpreted as a color.
   3928 The variable ‘org-faces-easy-properties’ determines if that color is
   3929 interpreted as a foreground or a background color.
   3930 
   3931 
   3932 File: org.info,  Node: TODO dependencies,  Prev: Faces for TODO keywords,  Up: TODO Extensions
   3933 
   3934 5.2.7 TODO dependencies
   3935 -----------------------
   3936 
   3937 The structure of Org files—hierarchy and lists—makes it easy to define
   3938 TODO dependencies.  Usually, a parent TODO task should not be marked as
   3939 done until all TODO subtasks, or children tasks, are marked as done.
   3940 Sometimes there is a logical sequence to (sub)tasks, so that one subtask
   3941 cannot be acted upon before all siblings above it have been marked as
   3942 done.  If you customize the variable ‘org-enforce-todo-dependencies’,
   3943 Org blocks entries from changing state to DONE while they have TODO
   3944 children that are not DONE.  Furthermore, if an entry has a property
   3945 ‘ORDERED’, each of its TODO children is blocked until all earlier
   3946 siblings are marked as done.  Here is an example:
   3947 
   3948      * TODO Blocked until (two) is done
   3949      ** DONE one
   3950      ** TODO two
   3951 
   3952      * Parent
   3953      :PROPERTIES:
   3954      :ORDERED:  t
   3955      :END:
   3956      ** TODO a
   3957      ** TODO b, needs to wait for (a)
   3958      ** TODO c, needs to wait for (a) and (b)
   3959 
   3960    You can ensure an entry is never blocked by using the ‘NOBLOCKING’
   3961 property (see *note Properties and Columns::):
   3962 
   3963      * This entry is never blocked
   3964      :PROPERTIES:
   3965      :NOBLOCKING: t
   3966      :END:
   3967 
   3968 ‘C-c C-x o’ (‘org-toggle-ordered-property’)
   3969      Toggle the ‘ORDERED’ property of the current entry.  A property is
   3970      used for this behavior because this should be local to the current
   3971      entry, not inherited from entries above like a tag (see *note
   3972      Tags::).  However, if you would like to _track_ the value of this
   3973      property with a tag for better visibility, customize the variable
   3974      ‘org-track-ordered-property-with-tag’.
   3975 
   3976 ‘C-u C-u C-u C-c C-t’
   3977      Change TODO state, regardless of any state blocking.
   3978 
   3979    If you set the variable ‘org-agenda-dim-blocked-tasks’, TODO entries
   3980 that cannot be marked as done because of unmarked children are shown in
   3981 a dimmed font or even made invisible in agenda views (see *note Agenda
   3982 Views::).
   3983 
   3984    You can also block changes of TODO states by using checkboxes (see
   3985 *note Checkboxes::).  If you set the variable
   3986 ‘org-enforce-todo-checkbox-dependencies’, an entry that has unchecked
   3987 checkboxes is blocked from switching to DONE.
   3988 
   3989    If you need more complex dependency structures, for example
   3990 dependencies between entries in different trees or files, check out the
   3991 module ‘org-depend.el’ in the ‘org-contrib’ repository.
   3992 
   3993 
   3994 File: org.info,  Node: Progress Logging,  Next: Priorities,  Prev: TODO Extensions,  Up: TODO Items
   3995 
   3996 5.3 Progress Logging
   3997 ====================
   3998 
   3999 To record a timestamp and a note when changing a TODO state, call the
   4000 command ‘org-todo’ with a prefix argument.
   4001 
   4002 ‘C-u C-c C-t’ (‘org-todo’)
   4003      Prompt for a note and record a the time of the TODO state change.
   4004      The note is inserted as a list item below the headline, but can
   4005      also be placed into a drawer, see *note Tracking TODO state
   4006      changes::.
   4007 
   4008    If you want to be more systematic, Org mode can automatically record
   4009 a timestamp and optionally a note when you mark a TODO item as DONE, or
   4010 even each time you change the state of a TODO item.  This system is
   4011 highly configurable, settings can be on a per-keyword basis and can be
   4012 localized to a file or even a subtree.  For information on how to clock
   4013 working time for a task, see *note Clocking Work Time::.
   4014 
   4015 * Menu:
   4016 
   4017 * Closing items::                When was this entry marked as done?
   4018 * Tracking TODO state changes::  When did the status change?
   4019 * Tracking your habits::         How consistent have you been?
   4020 
   4021 
   4022 File: org.info,  Node: Closing items,  Next: Tracking TODO state changes,  Up: Progress Logging
   4023 
   4024 5.3.1 Closing items
   4025 -------------------
   4026 
   4027 The most basic automatic logging is to keep track of _when_ a certain
   4028 TODO item was marked as done.  This can be achieved with(1)
   4029 
   4030      (setq org-log-done 'time)
   4031 
   4032 Then each time you turn an entry from a TODO (not-done) state into any
   4033 of the DONE states, a line ‘CLOSED: [timestamp]’ is inserted just after
   4034 the headline.  If you turn the entry back into a TODO item through
   4035 further state cycling, that line is removed again.  If you turn the
   4036 entry back to a non-TODO state (by pressing ‘C-c C-t <SPC>’ for
   4037 example), that line is also removed, unless you set
   4038 ‘org-closed-keep-when-no-todo’ to non-‘nil’.  If you want to record a
   4039 note along with the timestamp, use(2)
   4040 
   4041      (setq org-log-done 'note)
   4042 
   4043 You are then prompted for a note, and that note is stored below the
   4044 entry with a ‘Closing Note’ heading.
   4045 
   4046    ---------- Footnotes ----------
   4047 
   4048    (1) The corresponding in-buffer setting is: ‘#+STARTUP: logdone’.
   4049 
   4050    (2) The corresponding in-buffer setting is: ‘#+STARTUP: lognotedone’.
   4051 
   4052 
   4053 File: org.info,  Node: Tracking TODO state changes,  Next: Tracking your habits,  Prev: Closing items,  Up: Progress Logging
   4054 
   4055 5.3.2 Tracking TODO state changes
   4056 ---------------------------------
   4057 
   4058 You might want to automatically keep track of when a state change
   4059 occurred and maybe take a note about this change.  You can either record
   4060 just a timestamp, or a time-stamped note.  These records are inserted
   4061 after the headline as an itemized list, newest first(1).  When taking a
   4062 lot of notes, you might want to get the notes out of the way into a
   4063 drawer (see *note Drawers::).  Customize the variable
   4064 ‘org-log-into-drawer’ to get this behavior—the recommended drawer for
   4065 this is called ‘LOGBOOK’(2).  You can also overrule the setting of this
   4066 variable for a subtree by setting a ‘LOG_INTO_DRAWER’ property.
   4067 
   4068    Since it is normally too much to record a note for every state, Org
   4069 mode expects configuration on a per-keyword basis for this.  This is
   4070 achieved by adding special markers ‘!’ (for a timestamp) or ‘@’ (for a
   4071 note with timestamp) in parentheses after each keyword.  For example,
   4072 with the setting
   4073 
   4074      (setq org-todo-keywords
   4075            '((sequence "TODO(t)" "WAIT(w@/!)" "|" "DONE(d!)" "CANCELED(c@)")))
   4076 
   4077    You not only define global TODO keywords and fast access keys, but
   4078 also request that a time is recorded when the entry is set to ‘DONE’,
   4079 and that a note is recorded when switching to ‘WAIT’ or ‘CANCELED’(3).
   4080 The setting for ‘WAIT’ is even more special: the ‘!’ after the slash
   4081 means that in addition to the note taken when entering the state, a
   4082 timestamp should be recorded when _leaving_ the ‘WAIT’ state, if and
   4083 only if the _target_ state does not configure logging for entering it.
   4084 So it has no effect when switching from ‘WAIT’ to ‘DONE’, because ‘DONE’
   4085 is configured to record a timestamp only.  But when switching from
   4086 ‘WAIT’ back to ‘TODO’, the ‘/!’ in the ‘WAIT’ setting now triggers a
   4087 timestamp even though ‘TODO’ has no logging configured.
   4088 
   4089    You can use the exact same syntax for setting logging preferences
   4090 local to a buffer:
   4091 
   4092      #+TODO: TODO(t) WAIT(w@/!) | DONE(d!) CANCELED(c@)
   4093 
   4094    To record a timestamp without a note for TODO keywords configured
   4095 with ‘@’, just type ‘C-c C-c’ to enter a blank note when prompted.
   4096 
   4097    In order to define logging settings that are local to a subtree or a
   4098 single item, define a ‘LOGGING’ property in this entry.  Any non-empty
   4099 ‘LOGGING’ property resets all logging settings to ‘nil’.  You may then
   4100 turn on logging for this specific tree using ‘STARTUP’ keywords like
   4101 ‘lognotedone’ or ‘logrepeat’, as well as adding state specific settings
   4102 like ‘TODO(!)’.  For example:
   4103 
   4104      * TODO Log each state with only a time
   4105        :PROPERTIES:
   4106        :LOGGING: TODO(!) WAIT(!) DONE(!) CANCELED(!)
   4107        :END:
   4108      * TODO Only log when switching to WAIT, and when repeating
   4109        :PROPERTIES:
   4110        :LOGGING: WAIT(@) logrepeat
   4111        :END:
   4112      * TODO No logging at all
   4113        :PROPERTIES:
   4114        :LOGGING: nil
   4115        :END:
   4116 
   4117    ---------- Footnotes ----------
   4118 
   4119    (1) See the variable ‘org-log-states-order-reversed’.
   4120 
   4121    (2) Note that the ‘LOGBOOK’ drawer is unfolded when pressing ‘<SPC>’
   4122 in the agenda to show an entry—use ‘C-u <SPC>’ to keep it folded here.
   4123 
   4124    (3) It is possible that Org mode records two timestamps when you are
   4125 using both ‘org-log-done’ and state change logging.  However, it never
   4126 prompts for two notes: if you have configured both, the state change
   4127 recording note takes precedence and cancel the closing note.
   4128 
   4129 
   4130 File: org.info,  Node: Tracking your habits,  Prev: Tracking TODO state changes,  Up: Progress Logging
   4131 
   4132 5.3.3 Tracking your habits
   4133 --------------------------
   4134 
   4135 Org has the ability to track the consistency of a special category of
   4136 TODO, called “habits.” To use habits, you have to enable the ‘habit’
   4137 module by customizing the variable ‘org-modules’.
   4138 
   4139    A habit has the following properties:
   4140 
   4141   1. The habit is a TODO item, with a TODO keyword representing an open
   4142      state.
   4143 
   4144   2. The property ‘STYLE’ is set to the value ‘habit’ (see *note
   4145      Properties and Columns::).
   4146 
   4147   3. The TODO has a scheduled date, usually with a ‘.+’ style repeat
   4148      interval.  A ‘++’ style may be appropriate for habits with time
   4149      constraints, e.g., must be done on weekends, or a ‘+’ style for an
   4150      unusual habit that can have a backlog, e.g., weekly reports.
   4151 
   4152   4. The TODO may also have minimum and maximum ranges specified by
   4153      using the syntax ‘.+2d/3d’, which says that you want to do the task
   4154      at least every three days, but at most every two days.
   4155 
   4156   5. State logging for the DONE state is enabled (see *note Tracking
   4157      TODO state changes::), in order for historical data to be
   4158      represented in the consistency graph.  If it is not enabled it is
   4159      not an error, but the consistency graphs are largely meaningless.
   4160 
   4161    To give you an idea of what the above rules look like in action,
   4162 here’s an actual habit with some history:
   4163 
   4164      ** TODO Shave
   4165         SCHEDULED: <2009-10-17 Sat .+2d/4d>
   4166         :PROPERTIES:
   4167         :STYLE:    habit
   4168         :LAST_REPEAT: [2009-10-19 Mon 00:36]
   4169         :END:
   4170         - State "DONE"       from "TODO"       [2009-10-15 Thu]
   4171         - State "DONE"       from "TODO"       [2009-10-12 Mon]
   4172         - State "DONE"       from "TODO"       [2009-10-10 Sat]
   4173         - State "DONE"       from "TODO"       [2009-10-04 Sun]
   4174         - State "DONE"       from "TODO"       [2009-10-02 Fri]
   4175         - State "DONE"       from "TODO"       [2009-09-29 Tue]
   4176         - State "DONE"       from "TODO"       [2009-09-25 Fri]
   4177         - State "DONE"       from "TODO"       [2009-09-19 Sat]
   4178         - State "DONE"       from "TODO"       [2009-09-16 Wed]
   4179         - State "DONE"       from "TODO"       [2009-09-12 Sat]
   4180 
   4181    What this habit says is: I want to shave at most every 2 days—given
   4182 by the ‘SCHEDULED’ date and repeat interval—and at least every 4 days.
   4183 If today is the 15th, then the habit first appears in the agenda (see
   4184 *note Agenda Views::) on Oct 17, after the minimum of 2 days has
   4185 elapsed, and will appear overdue on Oct 19, after four days have
   4186 elapsed.
   4187 
   4188    What’s really useful about habits is that they are displayed along
   4189 with a consistency graph, to show how consistent you’ve been at getting
   4190 that task done in the past.  This graph shows every day that the task
   4191 was done over the past three weeks, with colors for each day.  The
   4192 colors used are:
   4193 
   4194 Blue
   4195      If the task was not to be done yet on that day.
   4196 Green
   4197      If the task could have been done on that day.
   4198 Yellow
   4199      If the task was going to be overdue the next day.
   4200 Red
   4201      If the task was overdue on that day.
   4202 
   4203    In addition to coloring each day, the day is also marked with an
   4204 asterisk if the task was actually done that day, and an exclamation mark
   4205 to show where the current day falls in the graph.
   4206 
   4207    There are several configuration variables that can be used to change
   4208 the way habits are displayed in the agenda.
   4209 
   4210 ‘org-habit-graph-column’
   4211      The buffer column at which the consistency graph should be drawn.
   4212      This overwrites any text in that column, so it is a good idea to
   4213      keep your habits’ titles brief and to the point.
   4214 
   4215 ‘org-habit-preceding-days’
   4216      The amount of history, in days before today, to appear in
   4217      consistency graphs.
   4218 
   4219 ‘org-habit-following-days’
   4220      The number of days after today that appear in consistency graphs.
   4221 
   4222 ‘org-habit-show-habits-only-for-today’
   4223      If non-‘nil’, only show habits in today’s agenda view.  The default
   4224      value is ‘t’.  Pressing ‘C-u K’ in the agenda toggles this
   4225      variable.
   4226 
   4227    Lastly, pressing ‘K’ in the agenda buffer causes habits to
   4228 temporarily be disabled and do not appear at all.  Press ‘K’ again to
   4229 bring them back.  They are also subject to tag filtering, if you have
   4230 habits which should only be done in certain contexts, for example.
   4231 
   4232 
   4233 File: org.info,  Node: Priorities,  Next: Breaking Down Tasks,  Prev: Progress Logging,  Up: TODO Items
   4234 
   4235 5.4 Priorities
   4236 ==============
   4237 
   4238 If you use Org mode extensively, you may end up with enough TODO items
   4239 that it starts to make sense to prioritize them.  Prioritizing can be
   4240 done by placing a _priority cookie_ into the headline of a TODO item
   4241 right after the TODO keyword, like this:
   4242 
   4243      *** TODO [#A] Write letter to Sam Fortune
   4244 
   4245    By default, Org mode supports three priorities: ‘A’, ‘B’, and ‘C’.
   4246 ‘A’ is the highest priority.  An entry without a cookie is treated as
   4247 equivalent if it had priority ‘B’.  Priorities make a difference only
   4248 for sorting in the agenda (see *note Weekly/daily agenda::).  Outside
   4249 the agenda, they have no inherent meaning to Org mode.  The cookies are
   4250 displayed with the face defined by the variable ‘org-priority-faces’,
   4251 which can be customized.
   4252 
   4253    You can also use numeric values for priorities, such as
   4254 
   4255      *** TODO [#1] Write letter to Sam Fortune
   4256 
   4257    When using numeric priorities, you need to set
   4258 ‘org-priority-highest’, ‘org-priority-lowest’ and ‘org-priority-default’
   4259 to integers, which must all be strictly inferior to 65.
   4260 
   4261    Priorities can be attached to any outline node; they do not need to
   4262 be TODO items.
   4263 
   4264 ‘C-c ,’ (‘org-priority’)
   4265      Set the priority of the current headline.  The command prompts for
   4266      a priority character ‘A’, ‘B’ or ‘C’.  When you press ‘<SPC>’
   4267      instead, the priority cookie, if one is set, is removed from the
   4268      headline.  The priorities can also be changed “remotely” from the
   4269      agenda buffer with the ‘,’ command (see *note Agenda Commands::).
   4270 
   4271 ‘S-<UP>’ (‘org-priority-up’)
   4272 ‘S-<DOWN>’ (‘org-priority-down’)
   4273      Increase/decrease the priority of the current headline(1).  Note
   4274      that these keys are also used to modify timestamps (see *note
   4275      Creating Timestamps::).  See also *note Conflicts::, for a
   4276      discussion of the interaction with shift-selection.
   4277 
   4278    You can change the range of allowed priorities by setting the
   4279 variables ‘org-priority-highest’, ‘org-priority-lowest’, and
   4280 ‘org-priority-default’.  For an individual buffer, you may set these
   4281 values (highest, lowest, default) like this (please make sure that the
   4282 highest priority is earlier in the alphabet than the lowest priority):
   4283 
   4284      #+PRIORITIES: A C B
   4285 
   4286    Or, using numeric values:
   4287 
   4288      #+PRIORITIES: 1 10 5
   4289 
   4290    ---------- Footnotes ----------
   4291 
   4292    (1) See also the option ‘org-priority-start-cycle-with-default’.
   4293 
   4294 
   4295 File: org.info,  Node: Breaking Down Tasks,  Next: Checkboxes,  Prev: Priorities,  Up: TODO Items
   4296 
   4297 5.5 Breaking Down Tasks into Subtasks
   4298 =====================================
   4299 
   4300 It is often advisable to break down large tasks into smaller, manageable
   4301 subtasks.  You can do this by creating an outline tree below a TODO
   4302 item, with detailed subtasks on the tree(1).  To keep an overview of the
   4303 fraction of subtasks that have already been marked as done, insert
   4304 either ‘[/]’ or ‘[%]’ anywhere in the headline.  These cookies are
   4305 updated each time the TODO status of a child changes, or when pressing
   4306 ‘C-c C-c’ on the cookie.  For example:
   4307 
   4308      * Organize Party [33%]
   4309      ** TODO Call people [1/2]
   4310      *** TODO Peter
   4311      *** DONE Sarah
   4312      ** TODO Buy food
   4313      ** DONE Talk to neighbor
   4314 
   4315    If a heading has both checkboxes and TODO children below it, the
   4316 meaning of the statistics cookie become ambiguous.  Set the property
   4317 ‘COOKIE_DATA’ to either ‘checkbox’ or ‘todo’ to resolve this issue.
   4318 
   4319    If you would like to have the statistics cookie count any TODO
   4320 entries in the subtree (not just direct children), configure the
   4321 variable ‘org-hierarchical-todo-statistics’.  To do this for a single
   4322 subtree, include the word ‘recursive’ into the value of the
   4323 ‘COOKIE_DATA’ property.
   4324 
   4325      * Parent capturing statistics [2/20]
   4326        :PROPERTIES:
   4327        :COOKIE_DATA: todo recursive
   4328        :END:
   4329 
   4330    If you would like a TODO entry to automatically change to DONE when
   4331 all children are done, you can use the following setup:
   4332 
   4333      (defun org-summary-todo (n-done n-not-done)
   4334        "Switch entry to DONE when all subentries are done, to TODO otherwise."
   4335        (let (org-log-done org-log-states)   ; turn off logging
   4336          (org-todo (if (= n-not-done 0) "DONE" "TODO"))))
   4337 
   4338      (add-hook 'org-after-todo-statistics-hook #'org-summary-todo)
   4339 
   4340    Another possibility is the use of checkboxes to identify (a hierarchy
   4341 of) a large number of subtasks (see *note Checkboxes::).
   4342 
   4343    ---------- Footnotes ----------
   4344 
   4345    (1) To keep subtasks out of the global TODO list, see the option
   4346 ‘org-agenda-todo-list-sublevels’.
   4347 
   4348 
   4349 File: org.info,  Node: Checkboxes,  Prev: Breaking Down Tasks,  Up: TODO Items
   4350 
   4351 5.6 Checkboxes
   4352 ==============
   4353 
   4354 Every item in a plain list(1) (see *note Plain Lists::) can be made into
   4355 a checkbox by starting it with the string ‘[ ]’.  This feature is
   4356 similar to TODO items (see *note TODO Items::), but is more lightweight.
   4357 Checkboxes are not included into the global TODO list, so they are often
   4358 great to split a task into a number of simple steps.  Or you can use
   4359 them in a shopping list.
   4360 
   4361    Here is an example of a checkbox list.
   4362 
   4363      * TODO Organize party [2/4]
   4364        - [-] call people [1/3]
   4365          - [ ] Peter
   4366          - [X] Sarah
   4367          - [ ] Sam
   4368        - [X] order food
   4369        - [ ] think about what music to play
   4370        - [X] talk to the neighbors
   4371 
   4372    Checkboxes work hierarchically, so if a checkbox item has children
   4373 that are checkboxes, toggling one of the children checkboxes makes the
   4374 parent checkbox reflect if none, some, or all of the children are
   4375 checked.
   4376 
   4377    The ‘[2/4]’ and ‘[1/3]’ in the first and second line are cookies
   4378 indicating how many checkboxes present in this entry have been checked
   4379 off, and the total number of checkboxes present.  This can give you an
   4380 idea on how many checkboxes remain, even without opening a folded entry.
   4381 The cookies can be placed into a headline or into (the first line of) a
   4382 plain list item.  Each cookie covers checkboxes of direct children
   4383 structurally below the headline/item on which the cookie appears(2).
   4384 You have to insert the cookie yourself by typing either ‘[/]’ or ‘[%]’.
   4385 With ‘[/]’ you get an ‘n out of m’ result, as in the examples above.
   4386 With ‘[%]’ you get information about the percentage of checkboxes
   4387 checked (in the above example, this would be ‘[50%]’ and ‘[33%]’,
   4388 respectively).  In a headline, a cookie can count either checkboxes
   4389 below the heading or TODO states of children, and it displays whatever
   4390 was changed last.  Set the property ‘COOKIE_DATA’ to either ‘checkbox’
   4391 or ‘todo’ to resolve this issue.
   4392 
   4393    If the current outline node has an ‘ORDERED’ property, checkboxes
   4394 must be checked off in sequence, and an error is thrown if you try to
   4395 check off a box while there are unchecked boxes above it.
   4396 
   4397    The following commands work with checkboxes:
   4398 
   4399 ‘C-c C-c’ (‘org-toggle-checkbox’)
   4400      Toggle checkbox status or—with prefix argument—checkbox presence at
   4401      point.  With a single prefix argument, add an empty checkbox or
   4402      remove the current one(3).  With a double prefix argument, set it
   4403      to ‘[-]’, which is considered to be an intermediate state.
   4404 
   4405 ‘C-c C-x C-b’ (‘org-toggle-checkbox’)
   4406      Toggle checkbox status or—with prefix argument—checkbox presence at
   4407      point.  With double prefix argument, set it to ‘[-]’, which is
   4408      considered to be an intermediate state.
   4409 
   4410         • If there is an active region, toggle the first checkbox in the
   4411           region and set all remaining boxes to the same status as the
   4412           first.  With a prefix argument, add or remove the checkbox for
   4413           all items in the region.
   4414 
   4415         • If point is in a headline, toggle checkboxes in the region
   4416           between this headline and the next—so _not_ the entire
   4417           subtree.
   4418 
   4419         • If there is no active region, just toggle the checkbox at
   4420           point.
   4421 
   4422 ‘C-c C-x C-r’ (‘org-toggle-radio-button’)
   4423      Toggle checkbox status by using the checkbox of the item at point
   4424      as a radio button: when the checkbox is turned on, all other
   4425      checkboxes on the same level will be turned off.  With a universal
   4426      prefix argument, toggle the presence of the checkbox.  With a
   4427      double prefix argument, set it to ‘[-]’.
   4428 
   4429      ‘C-c C-c’ can be told to consider checkboxes as radio buttons by
   4430      setting ‘#+ATTR_ORG: :radio t’ right before the list or by calling
   4431      ‘M-x org-list-checkbox-radio-mode’ to activate this minor mode.
   4432 
   4433 ‘M-S-<RET>’ (‘org-insert-todo-heading’)
   4434      Insert a new item with a checkbox.  This works only if point is
   4435      already in a plain list item (see *note Plain Lists::).
   4436 
   4437 ‘C-c C-x o’ (‘org-toggle-ordered-property’)
   4438      Toggle the ‘ORDERED’ property of the entry, to toggle if checkboxes
   4439      must be checked off in sequence.  A property is used for this
   4440      behavior because this should be local to the current entry, not
   4441      inherited like a tag.  However, if you would like to _track_ the
   4442      value of this property with a tag for better visibility, customize
   4443      ‘org-track-ordered-property-with-tag’.
   4444 
   4445 ‘C-c #’ (‘org-update-statistics-cookies’)
   4446      Update the statistics cookie in the current outline entry.  When
   4447      called with a ‘C-u’ prefix, update the entire file.  Checkbox
   4448      statistic cookies are updated automatically if you toggle
   4449      checkboxes with ‘C-c C-c’ and make new ones with ‘M-S-<RET>’.  TODO
   4450      statistics cookies update when changing TODO states.  If you delete
   4451      boxes/entries or add/change them by hand, use this command to get
   4452      things back into sync.
   4453 
   4454    ---------- Footnotes ----------
   4455 
   4456    (1) With the exception of description lists.  But you can allow it by
   4457 modifying ‘org-list-automatic-rules’ accordingly.
   4458 
   4459    (2) Set the variable ‘org-hierarchical-checkbox-statistics’ if you
   4460 want such cookies to count all checkboxes below the cookie, not just
   4461 those belonging to direct children.
   4462 
   4463    (3) ‘C-u C-c C-c’ on the _first_ item of a list with no checkbox adds
   4464 checkboxes to the rest of the list.
   4465 
   4466 
   4467 File: org.info,  Node: Tags,  Next: Properties and Columns,  Prev: TODO Items,  Up: Top
   4468 
   4469 6 Tags
   4470 ******
   4471 
   4472 An excellent way to implement labels and contexts for cross-correlating
   4473 information is to assign _tags_ to headlines.  Org mode has extensive
   4474 support for tags.
   4475 
   4476    Every headline can contain a list of tags; they occur at the end of
   4477 the headline.  Tags are normal words containing letters, numbers, ‘_’,
   4478 and ‘@’.  Tags must be preceded and followed by a single colon, e.g.,
   4479 ‘:work:’.  Several tags can be specified, as in ‘:work:urgent:’.  Tags
   4480 by default are in bold face with the same color as the headline.  You
   4481 may specify special faces for specific tags using the variable
   4482 ‘org-tag-faces’, in much the same way as you can for TODO keywords (see
   4483 *note Faces for TODO keywords::).
   4484 
   4485 * Menu:
   4486 
   4487 * Tag Inheritance::              Tags use the tree structure of an outline.
   4488 * Setting Tags::                 How to assign tags to a headline.
   4489 * Tag Hierarchy::                Create a hierarchy of tags.
   4490 * Tag Searches::                 Searching for combinations of tags.
   4491 
   4492 
   4493 File: org.info,  Node: Tag Inheritance,  Next: Setting Tags,  Up: Tags
   4494 
   4495 6.1 Tag Inheritance
   4496 ===================
   4497 
   4498 _Tags_ make use of the hierarchical structure of outline trees.  If a
   4499 heading has a certain tag, all subheadings inherit the tag as well.  For
   4500 example, in the list
   4501 
   4502      * Meeting with the French group      :work:
   4503      ** Summary by Frank                  :boss:notes:
   4504      *** TODO Prepare slides for him      :action:
   4505 
   4506 the final heading has the tags ‘work’, ‘boss’, ‘notes’, and ‘action’
   4507 even though the final heading is not explicitly marked with those tags.
   4508 You can also set tags that all entries in a file should inherit just as
   4509 if these tags were defined in a hypothetical level zero that surrounds
   4510 the entire file.  Use a line like this(1)
   4511 
   4512      #+FILETAGS: :Peter:Boss:Secret:
   4513 
   4514    To limit tag inheritance to specific tags, or to turn it off
   4515 entirely, use the variables ‘org-use-tag-inheritance’ and
   4516 ‘org-tags-exclude-from-inheritance’.
   4517 
   4518    When a headline matches during a tags search while tag inheritance is
   4519 turned on, all the sublevels in the same tree—for a simple match
   4520 form—match as well(2).  The list of matches may then become very long.
   4521 If you only want to see the first tags match in a subtree, configure the
   4522 variable ‘org-tags-match-list-sublevels’ (not recommended).
   4523 
   4524    Tag inheritance is relevant when the agenda search tries to match a
   4525 tag, either in the ‘tags’ or ‘tags-todo’ agenda types.  In other agenda
   4526 types, ‘org-use-tag-inheritance’ has no effect.  Still, you may want to
   4527 have your tags correctly set in the agenda, so that tag filtering works
   4528 fine, with inherited tags.  Set ‘org-agenda-use-tag-inheritance’ to
   4529 control this: the default value includes all agenda types, but setting
   4530 this to ‘nil’ can really speed up agenda generation.
   4531 
   4532    ---------- Footnotes ----------
   4533 
   4534    (1) As with all these in-buffer settings, pressing ‘C-c C-c’
   4535 activates any changes in the line.
   4536 
   4537    (2) This is only true if the search does not involve more complex
   4538 tests including properties (see *note Property Searches::).
   4539 
   4540 
   4541 File: org.info,  Node: Setting Tags,  Next: Tag Hierarchy,  Prev: Tag Inheritance,  Up: Tags
   4542 
   4543 6.2 Setting Tags
   4544 ================
   4545 
   4546 Tags can simply be typed into the buffer at the end of a headline.
   4547 After a colon, ‘M-<TAB>’ offers completion on tags.  There is also a
   4548 special command for inserting tags:
   4549 
   4550 ‘C-c C-q’ (‘org-set-tags-command’)
   4551      Enter new tags for the current headline.  Org mode either offers
   4552      completion or a special single-key interface for setting tags, see
   4553      below.  After pressing ‘<RET>’, the tags are inserted and aligned
   4554      to ‘org-tags-column’.  When called with a ‘C-u’ prefix, all tags in
   4555      the current buffer are aligned to that column, just to make things
   4556      look nice.  Tags are automatically realigned after promotion,
   4557      demotion, and TODO state changes (see *note TODO Basics::).
   4558 
   4559 ‘C-c C-c’ (‘org-set-tags-command’)
   4560      When point is in a headline, this does the same as ‘C-c C-q’.
   4561 
   4562    Org supports tag insertion based on a _list of tags_.  By default
   4563 this list is constructed dynamically, containing all tags currently used
   4564 in the buffer(1).  You may also globally specify a hard list of tags
   4565 with the variable ‘org-tag-alist’.  Finally you can set the default tags
   4566 for a given file using the ‘TAGS’ keyword, like
   4567 
   4568      #+TAGS: @work @home @tennisclub
   4569      #+TAGS: laptop car pc sailboat
   4570 
   4571    If you have globally defined your preferred set of tags using the
   4572 variable ‘org-tag-alist’, but would like to use a dynamic tag list in a
   4573 specific file, add an empty ‘TAGS’ keyword to that file:
   4574 
   4575      #+TAGS:
   4576 
   4577    If you have a preferred set of tags that you would like to use in
   4578 every file, in addition to those defined on a per-file basis by ‘TAGS’
   4579 keyword, then you may specify a list of tags with the variable
   4580 ‘org-tag-persistent-alist’.  You may turn this off on a per-file basis
   4581 by adding a ‘STARTUP’ keyword to that file:
   4582 
   4583      #+STARTUP: noptag
   4584 
   4585    By default Org mode uses the standard minibuffer completion
   4586 facilities for entering tags.  However, it also implements another,
   4587 quicker, tag selection method called _fast tag selection_.  This allows
   4588 you to select and deselect tags with just a single key press.  For this
   4589 to work well you should assign unique letters to most of your commonly
   4590 used tags.  You can do this globally by configuring the variable
   4591 ‘org-tag-alist’ in your Emacs init file.  For example, you may find the
   4592 need to tag many items in different files with ‘@home’.  In this case
   4593 you can set something like:
   4594 
   4595      (setq org-tag-alist '(("@work" . ?w) ("@home" . ?h) ("laptop" . ?l)))
   4596 
   4597    If the tag is only relevant to the file you are working on, then you
   4598 can instead set the ‘TAGS’ keyword as:
   4599 
   4600      #+TAGS: @work(w)  @home(h)  @tennisclub(t)  laptop(l)  pc(p)
   4601 
   4602    The tags interface shows the available tags in a splash window.  If
   4603 you want to start a new line after a specific tag, insert ‘\n’ into the
   4604 tag list
   4605 
   4606      #+TAGS: @work(w) @home(h) @tennisclub(t) \n laptop(l) pc(p)
   4607 
   4608 or write them in two lines:
   4609 
   4610      #+TAGS: @work(w)  @home(h)  @tennisclub(t)
   4611      #+TAGS: laptop(l)  pc(p)
   4612 
   4613    You can also group together tags that are mutually exclusive by using
   4614 braces, as in:
   4615 
   4616      #+TAGS: { @work(w)  @home(h)  @tennisclub(t) }  laptop(l)  pc(p)
   4617 
   4618 you indicate that at most one of ‘@work’, ‘@home’, and ‘@tennisclub’
   4619 should be selected.  Multiple such groups are allowed.
   4620 
   4621    Do not forget to press ‘C-c C-c’ with point in one of these lines to
   4622 activate any changes.
   4623 
   4624    To set these mutually exclusive groups in the variable
   4625 ‘org-tags-alist’, you must use the dummy tags ‘:startgroup’ and
   4626 ‘:endgroup’ instead of the braces.  Similarly, you can use ‘:newline’ to
   4627 indicate a line break.  The previous example would be set globally by
   4628 the following configuration:
   4629 
   4630      (setq org-tag-alist '((:startgroup . nil)
   4631                            ("@work" . ?w) ("@home" . ?h)
   4632                            ("@tennisclub" . ?t)
   4633                            (:endgroup . nil)
   4634                            ("laptop" . ?l) ("pc" . ?p)))
   4635 
   4636    If at least one tag has a selection key then pressing ‘C-c C-c’
   4637 automatically presents you with a special interface, listing inherited
   4638 tags, the tags of the current headline, and a list of all valid tags
   4639 with corresponding keys(2).
   4640 
   4641    Pressing keys assigned to tags adds or removes them from the list of
   4642 tags in the current line.  Selecting a tag in a group of mutually
   4643 exclusive tags turns off any other tag from that group.
   4644 
   4645    In this interface, you can also use the following special keys:
   4646 
   4647 ‘<TAB>’
   4648      Enter a tag in the minibuffer, even if the tag is not in the
   4649      predefined list.  You can complete on all tags present in the
   4650      buffer and globally pre-defined tags from ‘org-tag-alist’ and
   4651      ‘org-tag-persistent-alist’.  You can also add several tags: just
   4652      separate them with a comma.
   4653 
   4654 ‘<SPC>’
   4655      Clear all tags for this line.
   4656 
   4657 ‘<RET>’
   4658      Accept the modified set.
   4659 
   4660 ‘C-g’
   4661      Abort without installing changes.
   4662 
   4663 ‘q’
   4664      If ‘q’ is not assigned to a tag, it aborts like ‘C-g’.
   4665 
   4666 ‘!’
   4667      Turn off groups of mutually exclusive tags.  Use this to (as an
   4668      exception) assign several tags from such a group.
   4669 
   4670 ‘C-c’
   4671      Toggle auto-exit after the next change (see below).  If you are
   4672      using expert mode, the first ‘C-c’ displays the selection window.
   4673 
   4674    This method lets you assign tags to a headline with very few keys.
   4675 With the above setup, you could clear the current tags and set ‘@home’,
   4676 ‘laptop’ and ‘pc’ tags with just the following keys: ‘C-c C-c <SPC> h l
   4677 p <RET>’.  Switching from ‘@home’ to ‘@work’ would be done with ‘C-c C-c
   4678 w <RET>’ or alternatively with ‘C-c C-c C-c w’.  Adding the
   4679 non-predefined tag ‘sarah’ could be done with ‘C-c C-c <TAB> s a r a h
   4680 <RET>’.
   4681 
   4682    If you find that most of the time you need only a single key press to
   4683 modify your list of tags, set the variable
   4684 ‘org-fast-tag-selection-single-key’.  Then you no longer have to press
   4685 ‘<RET>’ to exit fast tag selection—it exits after the first change.  If
   4686 you then occasionally need more keys, press ‘C-c’ to turn off auto-exit
   4687 for the current tag selection process (in effect: start selection with
   4688 ‘C-c C-c C-c’ instead of ‘C-c C-c’).  If you set the variable to the
   4689 value ‘expert’, the special window is not even shown for single-key tag
   4690 selection, it comes up only when you press an extra ‘C-c’.
   4691 
   4692    ---------- Footnotes ----------
   4693 
   4694    (1) To extend this default list to all tags used in all agenda files
   4695 (see *note Agenda Views::), customize the variable
   4696 ‘org-complete-tags-always-offer-all-agenda-tags’.
   4697 
   4698    (2) Keys are automatically assigned to tags that have no configured
   4699 keys.
   4700 
   4701 
   4702 File: org.info,  Node: Tag Hierarchy,  Next: Tag Searches,  Prev: Setting Tags,  Up: Tags
   4703 
   4704 6.3 Tag Hierarchy
   4705 =================
   4706 
   4707 Tags can be defined in hierarchies.  A tag can be defined as a _group
   4708 tag_ for a set of other tags.  The group tag can be seen as the “broader
   4709 term” for its set of tags.  Defining multiple group tags and nesting
   4710 them creates a tag hierarchy.
   4711 
   4712    One use-case is to create a taxonomy of terms (tags) that can be used
   4713 to classify nodes in a document or set of documents.
   4714 
   4715    When you search for a group tag, it return matches for all members in
   4716 the group and its subgroups.  In an agenda view, filtering by a group
   4717 tag displays or hide headlines tagged with at least one of the members
   4718 of the group or any of its subgroups.  This makes tag searches and
   4719 filters even more flexible.
   4720 
   4721    You can set group tags by using brackets and inserting a colon
   4722 between the group tag and its related tags—beware that all whitespaces
   4723 are mandatory so that Org can parse this line correctly:
   4724 
   4725      #+TAGS: [ GTD : Control Persp ]
   4726 
   4727    In this example, ‘GTD’ is the group tag and it is related to two
   4728 other tags: ‘Control’, ‘Persp’.  Defining ‘Control’ and ‘Persp’ as group
   4729 tags creates a hierarchy of tags:
   4730 
   4731      #+TAGS: [ Control : Context Task ]
   4732      #+TAGS: [ Persp : Vision Goal AOF Project ]
   4733 
   4734    That can conceptually be seen as a hierarchy of tags:
   4735 
   4736    • ‘GTD’
   4737         • ‘Persp’
   4738              • ‘Vision’
   4739              • ‘Goal’
   4740              • ‘AOF’
   4741              • ‘Project’
   4742         • ‘Control’
   4743              • ‘Context’
   4744              • ‘Task’
   4745 
   4746    You can use the ‘:startgrouptag’, ‘:grouptags’ and ‘:endgrouptag’
   4747 keyword directly when setting ‘org-tag-alist’ directly:
   4748 
   4749      (setq org-tag-alist '((:startgrouptag)
   4750                            ("GTD")
   4751                            (:grouptags)
   4752                            ("Control")
   4753                            ("Persp")
   4754                            (:endgrouptag)
   4755                            (:startgrouptag)
   4756                            ("Control")
   4757                            (:grouptags)
   4758                            ("Context")
   4759                            ("Task")
   4760                            (:endgrouptag)))
   4761 
   4762    The tags in a group can be mutually exclusive if using the same group
   4763 syntax as is used for grouping mutually exclusive tags together; using
   4764 curly brackets.
   4765 
   4766      #+TAGS: { Context : @Home @Work @Call }
   4767 
   4768    When setting ‘org-tag-alist’ you can use ‘:startgroup’ and
   4769 ‘:endgroup’ instead of ‘:startgrouptag’ and ‘:endgrouptag’ to make the
   4770 tags mutually exclusive.
   4771 
   4772    Furthermore, the members of a group tag can also be regular
   4773 expressions, creating the possibility of a more dynamic and rule-based
   4774 tag structure (see *note Regular Expressions::).  The regular
   4775 expressions in the group must be specified within curly brackets.  Here
   4776 is an expanded example:
   4777 
   4778      #+TAGS: [ Vision : {V@.+} ]
   4779      #+TAGS: [ Goal : {G@.+} ]
   4780      #+TAGS: [ AOF : {AOF@.+} ]
   4781      #+TAGS: [ Project : {P@.+} ]
   4782 
   4783    Searching for the tag ‘Project’ now lists all tags also including
   4784 regular expression matches for ‘P@.+’, and similarly for tag searches on
   4785 ‘Vision’, ‘Goal’ and ‘AOF’.  For example, this would work well for a
   4786 project tagged with a common project-identifier, e.g., ‘P@2014_OrgTags’.
   4787 
   4788    If you want to ignore group tags temporarily, toggle group tags
   4789 support with ‘org-toggle-tags-groups’, bound to ‘C-c C-x q’.  If you
   4790 want to disable tag groups completely, set ‘org-group-tags’ to ‘nil’.
   4791 
   4792 
   4793 File: org.info,  Node: Tag Searches,  Prev: Tag Hierarchy,  Up: Tags
   4794 
   4795 6.4 Tag Searches
   4796 ================
   4797 
   4798 Once a system of tags has been set up, it can be used to collect related
   4799 information into special lists.
   4800 
   4801 ‘C-c / m’ or ‘C-c \’ (‘org-match-sparse-tree’)
   4802      Create a sparse tree with all headlines matching a tags search.
   4803      With a ‘C-u’ prefix argument, ignore headlines that are not a TODO
   4804      line.
   4805 
   4806 ‘M-x org-agenda m’ (‘org-tags-view’)
   4807      Create a global list of tag matches from all agenda files.  See
   4808      *note Matching tags and properties::.
   4809 
   4810 ‘M-x org-agenda M’ (‘org-tags-view’)
   4811      Create a global list of tag matches from all agenda files, but
   4812      check only TODO items and force checking subitems (see the option
   4813      ‘org-tags-match-list-sublevels’).
   4814 
   4815    These commands all prompt for a match string which allows basic
   4816 Boolean logic like ‘+boss+urgent-project1’, to find entries with tags
   4817 ‘boss’ and ‘urgent’, but not ‘project1’, or ‘Kathy|Sally’ to find
   4818 entries which are tagged, like ‘Kathy’ or ‘Sally’.  The full syntax of
   4819 the search string is rich and allows also matching against TODO
   4820 keywords, entry levels and properties.  For a complete description with
   4821 many examples, see *note Matching tags and properties::.
   4822 
   4823 
   4824 File: org.info,  Node: Properties and Columns,  Next: Dates and Times,  Prev: Tags,  Up: Top
   4825 
   4826 7 Properties and Columns
   4827 ************************
   4828 
   4829 A property is a key-value pair associated with an entry.  Properties can
   4830 be set so they are associated with a single entry, with every entry in a
   4831 tree, or with the whole buffer.
   4832 
   4833    There are two main applications for properties in Org mode.  First,
   4834 properties are like tags, but with a value.  Imagine maintaining a file
   4835 where you document bugs and plan releases for a piece of software.
   4836 Instead of using tags like ‘release_1’, ‘release_2’, you can use a
   4837 property, say ‘Release’, that in different subtrees has different
   4838 values, such as ‘1.0’ or ‘2.0’.  Second, you can use properties to
   4839 implement (very basic) database capabilities in an Org buffer.  Imagine
   4840 keeping track of your music CDs, where properties could be things such
   4841 as the album, artist, date of release, number of tracks, and so on.
   4842 
   4843    Properties can be conveniently edited and viewed in column view (see
   4844 *note Column View::).
   4845 
   4846 * Menu:
   4847 
   4848 * Property Syntax::              How properties are spelled out.
   4849 * Special Properties::           Access to other Org mode features.
   4850 * Property Searches::            Matching property values.
   4851 * Property Inheritance::         Passing values down a tree.
   4852 * Column View::                  Tabular viewing and editing.
   4853 
   4854 
   4855 File: org.info,  Node: Property Syntax,  Next: Special Properties,  Up: Properties and Columns
   4856 
   4857 7.1 Property Syntax
   4858 ===================
   4859 
   4860 Properties are key–value pairs.  When they are associated with a single
   4861 entry or with a tree they need to be inserted into a special drawer (see
   4862 *note Drawers::) with the name ‘PROPERTIES’, which has to be located
   4863 right below a headline, and its planning line (see *note Deadlines and
   4864 Scheduling::) when applicable.  Each property is specified on a single
   4865 line, with the key—surrounded by colons—first, and the value after it.
   4866 Keys are case-insensitive.  Here is an example:
   4867 
   4868      * CD collection
   4869      ** Classic
   4870      *** Goldberg Variations
   4871          :PROPERTIES:
   4872          :Title:     Goldberg Variations
   4873          :Composer:  J.S. Bach
   4874          :Artist:    Glenn Gould
   4875          :Publisher: Deutsche Grammophon
   4876          :NDisks:    1
   4877          :END:
   4878 
   4879    Depending on the value of ‘org-use-property-inheritance’, a property
   4880 set this way is associated either with a single entry, or with the
   4881 subtree defined by the entry, see *note Property Inheritance::.
   4882 
   4883    You may define the allowed values for a particular property ‘Xyz’ by
   4884 setting a property ‘Xyz_ALL’.  This special property is _inherited_, so
   4885 if you set it in a level 1 entry, it applies to the entire tree.  When
   4886 allowed values are defined, setting the corresponding property becomes
   4887 easier and is less prone to typing errors.  For the example with the CD
   4888 collection, we can pre-define publishers and the number of disks in a
   4889 box like this:
   4890 
   4891      * CD collection
   4892        :PROPERTIES:
   4893        :NDisks_ALL:  1 2 3 4
   4894        :Publisher_ALL: "Deutsche Grammophon" Philips EMI
   4895        :END:
   4896 
   4897    Properties can be inserted on buffer level.  That means they apply
   4898 before the first headline and can be inherited by all entries in a file.
   4899 Property blocks defined before first headline needs to be located at the
   4900 top of the buffer, allowing only comments above.
   4901 
   4902    Properties can also be defined using lines like:
   4903 
   4904      #+PROPERTY: NDisks_ALL 1 2 3 4
   4905 
   4906    If you want to add to the value of an existing property, append a ‘+’
   4907 to the property name.  The following results in the property ‘var’
   4908 having the value ‘foo=1 bar=2’.
   4909 
   4910      #+PROPERTY: var  foo=1
   4911      #+PROPERTY: var+ bar=2
   4912 
   4913    It is also possible to add to the values of inherited properties.
   4914 The following results in the ‘Genres’ property having the value ‘Classic
   4915 Baroque’ under the ‘Goldberg Variations’ subtree.
   4916 
   4917      * CD collection
   4918      ** Classic
   4919          :PROPERTIES:
   4920          :Genres: Classic
   4921          :END:
   4922      *** Goldberg Variations
   4923          :PROPERTIES:
   4924          :Title:     Goldberg Variations
   4925          :Composer:  J.S. Bach
   4926          :Artist:    Glenn Gould
   4927          :Publisher: Deutsche Grammophon
   4928          :NDisks:    1
   4929          :Genres+:   Baroque
   4930          :END:
   4931 
   4932    Note that a property can only have one entry per drawer.
   4933 
   4934    Property values set with the global variable ‘org-global-properties’
   4935 can be inherited by all entries in all Org files.
   4936 
   4937    The following commands help to work with properties:
   4938 
   4939 ‘M-<TAB>’ (‘pcomplete’)
   4940      After an initial colon in a line, complete property keys.  All keys
   4941      used in the current file are offered as possible completions.
   4942 
   4943 ‘C-c C-x p’ (‘org-set-property’)
   4944      Set a property.  This prompts for a property name and a value.  If
   4945      necessary, the property drawer is created as well.
   4946 
   4947 ‘C-u M-x org-insert-drawer’
   4948      Insert a property drawer into the current entry.  The drawer is
   4949      inserted early in the entry, but after the lines with planning
   4950      information like deadlines.  If before first headline the drawer is
   4951      inserted at the top of the drawer after any potential comments.
   4952 
   4953 ‘C-c C-c’ (‘org-property-action’)
   4954      With point in a property drawer, this executes property commands.
   4955 
   4956 ‘C-c C-c s’ (‘org-set-property’)
   4957      Set a property in the current entry.  Both the property and the
   4958      value can be inserted using completion.
   4959 
   4960 ‘S-<RIGHT>’ (‘org-property-next-allowed-values’)
   4961 ‘S-<LEFT>’ (‘org-property-previous-allowed-value’)
   4962      Switch property at point to the next/previous allowed value.
   4963 
   4964 ‘C-c C-c d’ (‘org-delete-property’)
   4965      Remove a property from the current entry.
   4966 
   4967 ‘C-c C-c D’ (‘org-delete-property-globally’)
   4968      Globally remove a property, from all entries in the current file.
   4969 
   4970 ‘C-c C-c c’ (‘org-compute-property-at-point’)
   4971      Compute the property at point, using the operator and scope from
   4972      the nearest column format definition.
   4973 
   4974 
   4975 File: org.info,  Node: Special Properties,  Next: Property Searches,  Prev: Property Syntax,  Up: Properties and Columns
   4976 
   4977 7.2 Special Properties
   4978 ======================
   4979 
   4980 Special properties provide an alternative access method to Org mode
   4981 features, like the TODO state or the priority of an entry, discussed in
   4982 the previous chapters.  This interface exists so that you can include
   4983 these states in a column view (see *note Column View::), or to use them
   4984 in queries.  The following property names are special and should not be
   4985 used as keys in the properties drawer:
   4986 
   4987 ‘ALLTAGS’        All tags, including inherited ones.
   4988 ‘BLOCKED’        ‘t’ if task is currently blocked by children or siblings.
   4989 ‘CATEGORY’       The category of an entry.
   4990 ‘CLOCKSUM’       The sum of CLOCK intervals in the subtree.  ‘org-clock-sum’
   4991                  must be run first to compute the values in the current buffer.
   4992 ‘CLOCKSUM_T’     The sum of CLOCK intervals in the subtree for today.
   4993                  ‘org-clock-sum-today’ must be run first to compute the
   4994                  values in the current buffer.
   4995 ‘CLOSED’         When was this entry closed?
   4996 ‘DEADLINE’       The deadline timestamp.
   4997 ‘FILE’           The filename the entry is located in.
   4998 ‘ITEM’           The headline of the entry.
   4999 ‘PRIORITY’       The priority of the entry, a string with a single letter.
   5000 ‘SCHEDULED’      The scheduling timestamp.
   5001 ‘TAGS’           The tags defined directly in the headline.
   5002 ‘TIMESTAMP’      The first keyword-less timestamp in the entry.
   5003 ‘TIMESTAMP_IA’   The first inactive timestamp in the entry.
   5004 ‘TODO’           The TODO keyword of the entry.
   5005 
   5006 
   5007 File: org.info,  Node: Property Searches,  Next: Property Inheritance,  Prev: Special Properties,  Up: Properties and Columns
   5008 
   5009 7.3 Property Searches
   5010 =====================
   5011 
   5012 To create sparse trees and special lists with selection based on
   5013 properties, the same commands are used as for tag searches (see *note
   5014 Tag Searches::).
   5015 
   5016 ‘C-c / m’ or ‘C-c \’ (‘org-match-sparse-tree’)
   5017      Create a sparse tree with all matching entries.  With a ‘C-u’
   5018      prefix argument, ignore headlines that are not a TODO line.
   5019 
   5020 ‘M-x org-agenda m’ (‘org-tags-view’)
   5021      Create a global list of tag/property matches from all agenda files.
   5022 
   5023 ‘M-x org-agenda M’ (‘org-tags-view’)
   5024      Create a global list of tag matches from all agenda files, but
   5025      check only TODO items and force checking of subitems (see the
   5026      option ‘org-tags-match-list-sublevels’).
   5027 
   5028    The syntax for the search string is described in *note Matching tags
   5029 and properties::.
   5030 
   5031    There is also a special command for creating sparse trees based on a
   5032 single property:
   5033 
   5034 ‘C-c / p’
   5035      Create a sparse tree based on the value of a property.  This first
   5036      prompts for the name of a property, and then for a value.  A sparse
   5037      tree is created with all entries that define this property with the
   5038      given value.  If you enclose the value in curly braces, it is
   5039      interpreted as a regular expression and matched against the
   5040      property values (see *note Regular Expressions::).
   5041 
   5042 
   5043 File: org.info,  Node: Property Inheritance,  Next: Column View,  Prev: Property Searches,  Up: Properties and Columns
   5044 
   5045 7.4 Property Inheritance
   5046 ========================
   5047 
   5048 The outline structure of Org documents lends itself to an inheritance
   5049 model of properties: if the parent in a tree has a certain property, the
   5050 children can inherit this property.  Org mode does not turn this on by
   5051 default, because it can slow down property searches significantly and is
   5052 often not needed.  However, if you find inheritance useful, you can turn
   5053 it on by setting the variable ‘org-use-property-inheritance’.  It may be
   5054 set to ‘t’ to make all properties inherited from the parent, to a list
   5055 of properties that should be inherited, or to a regular expression that
   5056 matches inherited properties.  If a property has the value ‘nil’, this
   5057 is interpreted as an explicit un-define of the property, so that
   5058 inheritance search stops at this value and returns ‘nil’.
   5059 
   5060    Org mode has a few properties for which inheritance is hard-coded, at
   5061 least for the special applications for which they are used:
   5062 
   5063 ‘COLUMNS’
   5064      The ‘COLUMNS’ property defines the format of column view (see *note
   5065      Column View::).  It is inherited in the sense that the level where
   5066      a ‘COLUMNS’ property is defined is used as the starting point for a
   5067      column view table, independently of the location in the subtree
   5068      from where columns view is turned on.
   5069 
   5070 ‘CATEGORY’
   5071      For agenda view, a category set through a ‘CATEGORY’ property
   5072      applies to the entire subtree.
   5073 
   5074 ‘ARCHIVE’
   5075      For archiving, the ‘ARCHIVE’ property may define the archive
   5076      location for the entire subtree (see *note Moving subtrees::).
   5077 
   5078 ‘LOGGING’
   5079      The ‘LOGGING’ property may define logging settings for an entry or
   5080      a subtree (see *note Tracking TODO state changes::).
   5081 
   5082 
   5083 File: org.info,  Node: Column View,  Prev: Property Inheritance,  Up: Properties and Columns
   5084 
   5085 7.5 Column View
   5086 ===============
   5087 
   5088 A great way to view and edit properties in an outline tree is _column
   5089 view_.  In column view, each outline node is turned into a table row.
   5090 Columns in this table provide access to properties of the entries.  Org
   5091 mode implements columns by overlaying a tabular structure over the
   5092 headline of each item.  While the headlines have been turned into a
   5093 table row, you can still change the visibility of the outline tree.  For
   5094 example, you get a compact table by switching to “contents”
   5095 view—‘S-<TAB>’ ‘S-<TAB>’, or simply ‘c’ while column view is active—but
   5096 you can still open, read, and edit the entry below each headline.  Or,
   5097 you can switch to column view after executing a sparse tree command and
   5098 in this way get a table only for the selected items.  Column view also
   5099 works in agenda buffers (see *note Agenda Views::) where queries have
   5100 collected selected items, possibly from a number of files.
   5101 
   5102 * Menu:
   5103 
   5104 * Defining columns::             The COLUMNS format property.
   5105 * Using column view::            How to create and use column view.
   5106 * Capturing column view::        A dynamic block for column view.
   5107 
   5108 
   5109 File: org.info,  Node: Defining columns,  Next: Using column view,  Up: Column View
   5110 
   5111 7.5.1 Defining columns
   5112 ----------------------
   5113 
   5114 Setting up a column view first requires defining the columns.  This is
   5115 done by defining a column format line.
   5116 
   5117 * Menu:
   5118 
   5119 * Scope of column definitions::  Where defined, where valid?
   5120 * Column attributes::            Appearance and content of a column.
   5121 
   5122 
   5123 File: org.info,  Node: Scope of column definitions,  Next: Column attributes,  Up: Defining columns
   5124 
   5125 7.5.1.1 Scope of column definitions
   5126 ...................................
   5127 
   5128 To specify a format that only applies to a specific tree, add a
   5129 ‘COLUMNS’ property to the top node of that tree, for example:
   5130 
   5131      ** Top node for columns view
   5132         :PROPERTIES:
   5133         :COLUMNS: %25ITEM %TAGS %PRIORITY %TODO
   5134         :END:
   5135 
   5136    A ‘COLUMNS’ property within a property drawer before first headline
   5137 will apply to the entire file.  As an addition to property drawers,
   5138 keywords can also be defined for an entire file using a line like:
   5139 
   5140      #+COLUMNS: %25ITEM %TAGS %PRIORITY %TODO
   5141 
   5142    If a ‘COLUMNS’ property is present in an entry, it defines columns
   5143 for the entry itself, and for the entire subtree below it.  Since the
   5144 column definition is part of the hierarchical structure of the document,
   5145 you can define columns on level 1 that are general enough for all
   5146 sublevels, and more specific columns further down, when you edit a
   5147 deeper part of the tree.
   5148 
   5149 
   5150 File: org.info,  Node: Column attributes,  Prev: Scope of column definitions,  Up: Defining columns
   5151 
   5152 7.5.1.2 Column attributes
   5153 .........................
   5154 
   5155 A column definition sets the attributes of a column.  The general
   5156 definition looks like this:
   5157 
   5158      %[WIDTH]PROPERTY[(TITLE)][{SUMMARY-TYPE}]
   5159 
   5160 Except for the percent sign and the property name, all items are
   5161 optional.  The individual parts have the following meaning:
   5162 
   5163 WIDTH
   5164      An integer specifying the width of the column in characters.  If
   5165      omitted, the width is determined automatically.
   5166 
   5167 PROPERTY
   5168      The property that should be edited in this column.  Special
   5169      properties representing meta data are allowed here as well (see
   5170      *note Special Properties::).
   5171 
   5172 TITLE
   5173      The header text for the column.  If omitted, the property name is
   5174      used.
   5175 
   5176 SUMMARY-TYPE
   5177      The summary type.  If specified, the column values for parent nodes
   5178      are computed from the children(1).
   5179 
   5180      Supported summary types are:
   5181 
   5182      ‘+’        Sum numbers in this column.
   5183      ‘+;%.1f’   Like ‘+’, but format result with ‘%.1f’.
   5184      ‘$’        Currency, short for ‘+;%.2f’.
   5185      ‘min’      Smallest number in column.
   5186      ‘max’      Largest number.
   5187      ‘mean’     Arithmetic mean of numbers.
   5188      ‘X’        Checkbox status, ‘[X]’ if all children are ‘[X]’.
   5189      ‘X/’       Checkbox status, ‘[n/m]’.
   5190      ‘X%’       Checkbox status, ‘[n%]’.
   5191      ‘:’        Sum times, HH:MM, plain numbers are minutes.
   5192      ‘:min’     Smallest time value in column.
   5193      ‘:max’     Largest time value.
   5194      ‘:mean’    Arithmetic mean of time values.
   5195      ‘@min’     Minimum age(2) (in days/hours/mins/seconds).
   5196      ‘@max’     Maximum age (in days/hours/mins/seconds).
   5197      ‘@mean’    Arithmetic mean of ages (in days/hours/mins/seconds).
   5198      ‘est+’     Add low-high estimates.
   5199 
   5200      You can also define custom summary types by setting
   5201      ‘org-columns-summary-types’.
   5202 
   5203    The ‘est+’ summary type requires further explanation.  It is used for
   5204 combining estimates, expressed as low-high ranges.  For example, instead
   5205 of estimating a particular task will take 5 days, you might estimate it
   5206 as 5–6 days if you’re fairly confident you know how much work is
   5207 required, or 1–10 days if you do not really know what needs to be done.
   5208 Both ranges average at 5.5 days, but the first represents a more
   5209 predictable delivery.
   5210 
   5211    When combining a set of such estimates, simply adding the lows and
   5212 highs produces an unrealistically wide result.  Instead, ‘est+’ adds the
   5213 statistical mean and variance of the subtasks, generating a final
   5214 estimate from the sum.  For example, suppose you had ten tasks, each of
   5215 which was estimated at 0.5 to 2 days of work.  Straight addition
   5216 produces an estimate of 5 to 20 days, representing what to expect if
   5217 everything goes either extremely well or extremely poorly.  In contrast,
   5218 ‘est+’ estimates the full job more realistically, at 10–15 days.
   5219 
   5220    Here is an example for a complete columns definition, along with
   5221 allowed values(3).
   5222 
   5223      :COLUMNS:  %25ITEM %9Approved(Approved?){X} %Owner %11Status \
   5224                         %10Time_Estimate{:} %CLOCKSUM %CLOCKSUM_T
   5225      :Owner_ALL:    Tammy Mark Karl Lisa Don
   5226      :Status_ALL:   "In progress" "Not started yet" "Finished" ""
   5227      :Approved_ALL: "[ ]" "[X]"
   5228 
   5229 The first column, ‘%25ITEM’, means the first 25 characters of the item
   5230 itself, i.e., of the headline.  You probably always should start the
   5231 column definition with the ‘ITEM’ specifier.  The other specifiers
   5232 create columns ‘Owner’ with a list of names as allowed values, for
   5233 ‘Status’ with four different possible values, and for a checkbox field
   5234 ‘Approved’.  When no width is given after the ‘%’ character, the column
   5235 is exactly as wide as it needs to be in order to fully display all
   5236 values.  The ‘Approved’ column does have a modified title (‘Approved?’,
   5237 with a question mark).  Summaries are created for the ‘Time_Estimate’
   5238 column by adding time duration expressions like HH:MM, and for the
   5239 ‘Approved’ column, by providing an ‘[X]’ status if all children have
   5240 been checked.  The ‘CLOCKSUM’ and ‘CLOCKSUM_T’ columns are special, they
   5241 lists the sums of CLOCK intervals in the subtree, either for all clocks
   5242 or just for today.
   5243 
   5244    ---------- Footnotes ----------
   5245 
   5246    (1) If more than one summary type applies to the same property, the
   5247 parent values are computed according to the first of them.
   5248 
   5249    (2) An age can be defined as a duration, using units defined in
   5250 ‘org-duration-units’, e.g., ‘3d 1h’.  If any value in the column is as
   5251 such, the summary is also expressed as a duration.
   5252 
   5253    (3) Please note that the ‘COLUMNS’ definition must be on a single
   5254 line; it is wrapped here only because of formatting constraints.
   5255 
   5256 
   5257 File: org.info,  Node: Using column view,  Next: Capturing column view,  Prev: Defining columns,  Up: Column View
   5258 
   5259 7.5.2 Using column view
   5260 -----------------------
   5261 
   5262 Turning column view on or off
   5263 .............................
   5264 
   5265 ‘C-c C-x C-c’ (‘org-columns’)
   5266      Turn on column view.  If point is before the first headline in the
   5267      file, column view is turned on for the entire file, using the
   5268      ‘#+COLUMNS’ definition.  If point is somewhere inside the outline,
   5269      this command searches the hierarchy, up from point, for a ‘COLUMNS’
   5270      property that defines a format.  When one is found, the column view
   5271      table is established for the tree starting at the entry that
   5272      contains the ‘COLUMNS’ property.  If no such property is found, the
   5273      format is taken from the ‘#+COLUMNS’ line or from the variable
   5274      ‘org-columns-default-format’, and column view is established for
   5275      the current entry and its subtree.
   5276 
   5277 ‘r’ or ‘g’ on a columns view line (‘org-columns-redo’)
   5278      Recreate the column view, to include recent changes made in the
   5279      buffer.
   5280 
   5281 ‘C-c C-c’ or ‘q’ on a columns view line (‘org-columns-quit’)
   5282      Exit column view.
   5283 
   5284 Editing values
   5285 ..............
   5286 
   5287 ‘<LEFT>’, ‘<RIGHT>’, ‘<UP>’, ‘<DOWN>’
   5288      Move through the column view from field to field.
   5289 
   5290 ‘1..9,0’
   5291      Directly select the Nth allowed value, ‘0’ selects the 10th value.
   5292 
   5293 ‘n’ or ‘S-<RIGHT>’ (‘org-columns-next-allowed-value’)
   5294 ‘p’ or ‘S-<LEFT>’ (‘org-columns-previous-allowed-value’)
   5295      Switch to the next/previous allowed value of the field.  For this,
   5296      you have to have specified allowed values for a property.
   5297 
   5298 ‘e’ (‘org-columns-edit-value’)
   5299      Edit the property at point.  For the special properties, this
   5300      invokes the same interface that you normally use to change that
   5301      property.  For example, the tag completion or fast selection
   5302      interface pops up when editing a ‘TAGS’ property.
   5303 
   5304 ‘C-c C-c’ (‘org-columns-toggle-or-columns-quit’)
   5305      When there is a checkbox at point, toggle it.  Else exit column
   5306      view.
   5307 
   5308 ‘v’ (‘org-columns-show-value’)
   5309      View the full value of this property.  This is useful if the width
   5310      of the column is smaller than that of the value.
   5311 
   5312 ‘a’ (‘org-columns-edit-allowed’)
   5313      Edit the list of allowed values for this property.  If the list is
   5314      found in the hierarchy, the modified values is stored there.  If no
   5315      list is found, the new value is stored in the first entry that is
   5316      part of the current column view.
   5317 
   5318 Modifying column view on-the-fly
   5319 ................................
   5320 
   5321 ‘<’ (‘org-columns-narrow’)
   5322 ‘>’ (‘org-columns-widen’)
   5323      Make the column narrower/wider by one character.
   5324 
   5325 ‘S-M-<RIGHT>’ (‘org-columns-new’)
   5326      Insert a new column, to the left of the current column.
   5327 
   5328 ‘S-M-<LEFT>’ (‘org-columns-delete’)
   5329      Delete the current column.
   5330 
   5331 
   5332 File: org.info,  Node: Capturing column view,  Prev: Using column view,  Up: Column View
   5333 
   5334 7.5.3 Capturing column view
   5335 ---------------------------
   5336 
   5337 Since column view is just an overlay over a buffer, it cannot be
   5338 exported or printed directly.  If you want to capture a column view, use
   5339 a ‘columnview’ dynamic block (see *note Dynamic Blocks::).  The frame of
   5340 this block looks like this:
   5341 
   5342      * The column view
   5343      #+BEGIN: columnview :hlines 1 :id "label"
   5344 
   5345      #+END:
   5346 
   5347    This dynamic block has the following parameters:
   5348 
   5349 ‘:id’
   5350      This is the most important parameter.  Column view is a feature
   5351      that is often localized to a certain (sub)tree, and the capture
   5352      block might be at a different location in the file.  To identify
   5353      the tree whose view to capture, you can use four values:
   5354 
   5355      ‘local’
   5356           Use the tree in which the capture block is located.
   5357 
   5358      ‘global’
   5359           Make a global view, including all headings in the file.
   5360 
   5361      ‘file:FILENAME’
   5362           Run column view at the top of the FILENAME file.
   5363 
   5364      ‘LABEL’
   5365           Call column view in the tree that has an ‘ID’ property with
   5366           the value LABEL.  You can use ‘M-x org-id-copy’ to create a
   5367           globally unique ID for the current entry and copy it to the
   5368           kill-ring.
   5369 
   5370 ‘:match’
   5371      When set to a string, use this as a tags/property match filter to
   5372      select only a subset of the headlines in the scope set by the ‘:id’
   5373      parameter.
   5374 
   5375 ‘:hlines’
   5376      When ‘t’, insert an hline after every line.  When a number N,
   5377      insert an hline before each headline with level ‘<= N’.
   5378 
   5379 ‘:vlines’
   5380      When non-‘nil’, force column groups to get vertical lines.
   5381 
   5382 ‘:maxlevel’
   5383      When set to a number, do not capture entries below this level.
   5384 
   5385 ‘:skip-empty-rows’
   5386      When non-‘nil’, skip rows where the only non-empty specifier of the
   5387      column view is ‘ITEM’.
   5388 
   5389 ‘:exclude-tags’
   5390      List of tags to exclude from column view table: entries with these
   5391      tags will be excluded from the column view.
   5392 
   5393 ‘:indent’
   5394      When non-‘nil’, indent each ‘ITEM’ field according to its level.
   5395 
   5396 ‘:format’
   5397      Specify a column attribute (see *note Column attributes::) for the
   5398      dynamic block.
   5399 
   5400    The following commands insert or update the dynamic block:
   5401 
   5402 ‘org-columns-insert-dblock’
   5403      Insert a dynamic block capturing a column view.  Prompt for the
   5404      scope or ID of the view.
   5405 
   5406      This command can be invoked by calling
   5407      ‘org-dynamic-block-insert-dblock’ (‘C-c C-x x’) and selecting
   5408      “columnview” (see *note Dynamic Blocks::).
   5409 
   5410 ‘C-c C-c’ ‘C-c C-x C-u’ (‘org-dblock-update’)
   5411      Update dynamic block at point.  point needs to be in the ‘#+BEGIN’
   5412      line of the dynamic block.
   5413 
   5414 ‘C-u C-c C-x C-u’ (‘org-update-all-dblocks’)
   5415      Update all dynamic blocks (see *note Dynamic Blocks::).  This is
   5416      useful if you have several clock table blocks, column-capturing
   5417      blocks or other dynamic blocks in a buffer.
   5418 
   5419    You can add formulas to the column view table and you may add
   5420 plotting instructions in front of the table—these survive an update of
   5421 the block.  If there is a ‘TBLFM’ keyword after the table, the table is
   5422 recalculated automatically after an update.
   5423 
   5424    An alternative way to capture and process property values into a
   5425 table is provided by Eric Schulte’s ‘org-collector.el’, which is a
   5426 package in ‘org-contrib’(1).  It provides a general API to collect
   5427 properties from entries in a certain scope, and arbitrary Lisp
   5428 expressions to process these values before inserting them into a table
   5429 or a dynamic block.
   5430 
   5431    ---------- Footnotes ----------
   5432 
   5433    (1) Contributed packages are not part of Emacs, but are distributed
   5434 with the main distribution of Org—visit <https://orgmode.org>.
   5435 
   5436 
   5437 File: org.info,  Node: Dates and Times,  Next: Refiling and Archiving,  Prev: Properties and Columns,  Up: Top
   5438 
   5439 8 Dates and Times
   5440 *****************
   5441 
   5442 To assist project planning, TODO items can be labeled with a date and/or
   5443 a time.  The specially formatted string carrying the date and time
   5444 information is called a _timestamp_ in Org mode.  This may be a little
   5445 confusing because timestamp is often used as indicating when something
   5446 was created or last changed.  However, in Org mode this term is used in
   5447 a much wider sense.
   5448 
   5449 * Menu:
   5450 
   5451 * Timestamps::                   Assigning a time to a tree entry.
   5452 * Creating Timestamps::          Commands to insert timestamps.
   5453 * Deadlines and Scheduling::     Planning your work.
   5454 * Clocking Work Time::           Tracking how long you spend on a task.
   5455 * Effort Estimates::             Planning work effort in advance.
   5456 * Timers::                       Notes with a running timer.
   5457 
   5458 
   5459 File: org.info,  Node: Timestamps,  Next: Creating Timestamps,  Up: Dates and Times
   5460 
   5461 8.1 Timestamps
   5462 ==============
   5463 
   5464 A timestamp is a specification of a date (possibly with a time or a
   5465 range of times) in a special format, either ‘<2003-09-16 Tue>’ or
   5466 ‘<2003-09-16 Tue 09:39>’ or ‘<2003-09-16 Tue 12:00-12:30>’(1).  A
   5467 timestamp can appear anywhere in the headline or body of an Org tree
   5468 entry.  Its presence causes entries to be shown on specific dates in the
   5469 agenda (see *note Weekly/daily agenda::).  We distinguish:
   5470 
   5471 Plain timestamp; Event; Appointment
   5472      A simple timestamp just assigns a date/time to an item.  This is
   5473      just like writing down an appointment or event in a paper agenda.
   5474      In the agenda display, the headline of an entry associated with a
   5475      plain timestamp is shown exactly on that date.
   5476 
   5477           * Meet Peter at the movies
   5478             <2006-11-01 Wed 19:15>
   5479           * Discussion on climate change
   5480             <2006-11-02 Thu 20:00-22:00>
   5481 
   5482 Timestamp with repeater interval
   5483      A timestamp may contain a _repeater interval_, indicating that it
   5484      applies not only on the given date, but again and again after a
   5485      certain interval of N hours (h), days (d), weeks (w), months (m),
   5486      or years (y).  The following shows up in the agenda every
   5487      Wednesday:
   5488 
   5489           * Pick up Sam at school
   5490             <2007-05-16 Wed 12:30 +1w>
   5491 
   5492 Diary-style expression entries
   5493 
   5494      For more complex date specifications, Org mode supports using the
   5495      special expression diary entries implemented in the Emacs Calendar
   5496      package(2).  For example, with optional time:
   5497 
   5498           * 22:00-23:00 The nerd meeting on every 2nd Thursday of the month
   5499             <%%(diary-float t 4 2)>
   5500 
   5501 Time/Date range
   5502      Two timestamps connected by ‘--’ denote a range.  The headline is
   5503      shown on the first and last day of the range, and on any dates that
   5504      are displayed and fall in the range.  Here is an example:
   5505 
   5506           ** Meeting in Amsterdam
   5507              <2004-08-23 Mon>--<2004-08-26 Thu>
   5508 
   5509 Inactive timestamp
   5510      Just like a plain timestamp, but with square brackets instead of
   5511      angular ones.  These timestamps are inactive in the sense that they
   5512      do _not_ trigger an entry to show up in the agenda.
   5513 
   5514           * Gillian comes late for the fifth time
   5515             [2006-11-01 Wed]
   5516 
   5517    ---------- Footnotes ----------
   5518 
   5519    (1) The Org date format is inspired by the standard ISO 8601
   5520 date/time format.  To use an alternative format, see *note Custom time
   5521 format::.  The day name is optional when you type the date yourself.
   5522 However, any date inserted or modified by Org adds that day name, for
   5523 reading convenience.
   5524 
   5525    (2) When working with the standard diary expression functions, you
   5526 need to be very careful with the order of the arguments.  That order
   5527 depends evilly on the variable ‘calendar-date-style’.  For example, to
   5528 specify a date December 1, 2005, the call might look like ‘(diary-date
   5529 12 1 2005)’ or ‘(diary-date 1 12 2005)’ or ‘(diary-date 2005 12 1)’,
   5530 depending on the settings.  This has been the source of much confusion.
   5531 Org mode users can resort to special versions of these functions, namely
   5532 ‘org-date’, ‘org-anniversary’, ‘org-cyclic, and ~org-block’.  These work
   5533 just like the corresponding ‘diary-’ functions, but with stable ISO
   5534 order of arguments (year, month, day) wherever applicable, independent
   5535 of the value of ‘calendar-date-style’.
   5536 
   5537 
   5538 File: org.info,  Node: Creating Timestamps,  Next: Deadlines and Scheduling,  Prev: Timestamps,  Up: Dates and Times
   5539 
   5540 8.2 Creating Timestamps
   5541 =======================
   5542 
   5543 For Org mode to recognize timestamps, they need to be in the specific
   5544 format.  All commands listed below produce timestamps in the correct
   5545 format.
   5546 
   5547 ‘C-c .’ (‘org-time-stamp’)
   5548      Prompt for a date and insert a corresponding timestamp.  When point
   5549      is at an existing timestamp in the buffer, the command is used to
   5550      modify this timestamp instead of inserting a new one.  When this
   5551      command is used twice in succession, a time range is inserted.
   5552 
   5553      When called with a prefix argument, use the alternative format
   5554      which contains date and time.  The default time can be rounded to
   5555      multiples of 5 minutes.  See the option
   5556      ‘org-time-stamp-rounding-minutes’.
   5557 
   5558      With two prefix arguments, insert an active timestamp with the
   5559      current time without prompting.
   5560 
   5561 ‘C-c !’ (‘org-time-stamp-inactive’)
   5562      Like ‘C-c .’, but insert an inactive timestamp that does not cause
   5563      an agenda entry.
   5564 
   5565 ‘C-c C-c’
   5566      Normalize timestamp, insert or fix day name if missing or wrong.
   5567 
   5568 ‘C-c <’ (‘org-date-from-calendar’)
   5569      Insert a timestamp corresponding to point date in the calendar.
   5570 
   5571 ‘C-c >’ (‘org-goto-calendar’)
   5572      Access the Emacs calendar for the current date.  If there is a
   5573      timestamp in the current line, go to the corresponding date
   5574      instead.
   5575 
   5576 ‘C-c C-o’ (‘org-open-at-point’)
   5577      Access the agenda for the date given by the timestamp or -range at
   5578      point (see *note Weekly/daily agenda::).
   5579 
   5580 ‘S-<LEFT>’ (‘org-timestamp-down-day’)
   5581 ‘S-<RIGHT>’ (‘org-timestamp-up-day’)
   5582      Change date at point by one day.  These key bindings conflict with
   5583      shift-selection and related modes (see *note Conflicts::).
   5584 
   5585 ‘S-<UP>’ (‘org-timestamp-up’)
   5586 ‘S-<DOWN>’ (‘org-timestamp-down’)
   5587      On the beginning or enclosing bracket of a timestamp, change its
   5588      type.  Within a timestamp, change the item under point.  Point can
   5589      be on a year, month, day, hour or minute.  When the timestamp
   5590      contains a time range like ‘15:30-16:30’, modifying the first time
   5591      also shifts the second, shifting the time block with constant
   5592      length.  To change the length, modify the second time.  Note that
   5593      if point is in a headline and not at a timestamp, these same keys
   5594      modify the priority of an item (see *note Priorities::).  The key
   5595      bindings also conflict with shift-selection and related modes (see
   5596      *note Conflicts::).
   5597 
   5598 ‘C-c C-y’ (‘org-evaluate-time-range’)
   5599      Evaluate a time range by computing the difference between start and
   5600      end.  With a prefix argument, insert result after the time range
   5601      (in a table: into the following column).
   5602 
   5603 * Menu:
   5604 
   5605 * The date/time prompt::         How Org mode helps you enter dates and times.
   5606 * Custom time format::           Making dates look different.
   5607 
   5608 
   5609 File: org.info,  Node: The date/time prompt,  Next: Custom time format,  Up: Creating Timestamps
   5610 
   5611 8.2.1 The date/time prompt
   5612 --------------------------
   5613 
   5614 When Org mode prompts for a date/time, the default is shown in default
   5615 date/time format, and the prompt therefore seems to ask for a specific
   5616 format.  But it in fact accepts date/time information in a variety of
   5617 formats.  Generally, the information should start at the beginning of
   5618 the string.  Org mode finds whatever information is in there and derives
   5619 anything you have not specified from the _default date and time_.  The
   5620 default is usually the current date and time, but when modifying an
   5621 existing timestamp, or when entering the second stamp of a range, it is
   5622 taken from the stamp in the buffer.  When filling in information, Org
   5623 mode assumes that most of the time you want to enter a date in the
   5624 future: if you omit the month/year and the given day/month is _before_
   5625 today, it assumes that you mean a future date(1).  If the date has been
   5626 automatically shifted into the future, the time prompt shows this with
   5627 ‘(=>F)’.
   5628 
   5629    For example, let’s assume that today is *June 13, 2006*.  Here is how
   5630 various inputs are interpreted, the items filled in by Org mode are in
   5631 *bold*.
   5632 
   5633 ‘3-2-5’          ⇒ 2003-02-05
   5634 ‘2/5/3’          ⇒ 2003-02-05
   5635 ‘14’             ⇒ *2006*-*06*-14
   5636 ‘12’             ⇒ *2006*-*07*-12
   5637 ‘2/5’            ⇒ *2007*-02-05
   5638 ‘Fri’            ⇒ nearest Friday (default date or later)
   5639 ‘sep 15’         ⇒ *2006*-09-15
   5640 ‘feb 15’         ⇒ *2007*-02-15
   5641 ‘sep 12 9’       ⇒ 2009-09-12
   5642 ‘12:45’          ⇒ *2006*-*06*-*13* 12:45
   5643 ‘22 sept 0:34’   ⇒ *2006*-09-22 0:34
   5644 ‘w4’             ⇒ ISO week for of the current year *2006*
   5645 ‘2012 w4 fri’    ⇒ Friday of ISO week 4 in 2012
   5646 ‘2012-w04-5’     ⇒ Same as above
   5647 
   5648    Furthermore you can specify a relative date by giving, as the _first_
   5649 thing in the input: a plus/minus sign, a number and a letter—‘h’, ‘d’,
   5650 ‘w’, ‘m’ or ‘y’—to indicate a change in hours, days, weeks, months, or
   5651 years.  With ‘h’ the date is relative to the current time, with the
   5652 other letters and a single plus or minus, the date is relative to today
   5653 at 00:00.  With a double plus or minus, it is relative to the default
   5654 date.  If instead of a single letter, you use the abbreviation of day
   5655 name, the date is the Nth such day, e.g.:
   5656 
   5657 ‘+0’      ⇒ today
   5658 ‘.’       ⇒ today
   5659 ‘+2h’     ⇒ two hours from now
   5660 ‘+4d’     ⇒ four days from today
   5661 ‘+4’      ⇒ same as +4d
   5662 ‘+2w’     ⇒ two weeks from today
   5663 ‘++5’     ⇒ five days from default date
   5664 ‘+2tue’   ⇒ second Tuesday from now
   5665 
   5666    The function understands English month and weekday abbreviations.  If
   5667 you want to use un-abbreviated names and/or other languages, configure
   5668 the variables ‘parse-time-months’ and ‘parse-time-weekdays’.
   5669 
   5670    Not all dates can be represented in a given Emacs implementation.  By
   5671 default Org mode forces dates into the compatibility range 1970–2037
   5672 which works on all Emacs implementations.  If you want to use dates
   5673 outside of this range, read the docstring of the variable
   5674 ‘org-read-date-force-compatible-dates’.
   5675 
   5676    You can specify a time range by giving start and end times or by
   5677 giving a start time and a duration (in HH:MM format).  Use one or two
   5678 dash(es) as the separator in the former case and use ‘+’ as the
   5679 separator in the latter case, e.g.:
   5680 
   5681 ‘11am-1:15pm’    ⇒ 11:00-13:15
   5682 ‘11h-13h15’      ⇒ same as above
   5683 ‘11am--1:15pm’   ⇒ same as above
   5684 ‘11am+2:15’      ⇒ same as above
   5685 
   5686    Parallel to the minibuffer prompt, a calendar is popped up(2).  When
   5687 you exit the date prompt, either by clicking on a date in the calendar,
   5688 or by pressing ‘<RET>’, the date selected in the calendar is combined
   5689 with the information entered at the prompt.  You can control the
   5690 calendar fully from the minibuffer:
   5691 
   5692 ‘<RET>’            Choose date at point in calendar.
   5693 ‘mouse-1’          Select date by clicking on it.
   5694 ‘S-<RIGHT>’        One day forward.
   5695 ‘S-<LEFT>’         One day backward.
   5696 ‘S-<DOWN>’         One week forward.
   5697 ‘S-<UP>’           One week backward.
   5698 ‘M-S-<RIGHT>’      One month forward.
   5699 ‘M-S-<LEFT>’       One month backward.
   5700 ‘>’                Scroll calendar forward by one month.
   5701 ‘<’                Scroll calendar backward by one month.
   5702 ‘M-v’              Scroll calendar forward by 3 months.
   5703 ‘C-v’              Scroll calendar backward by 3 months.
   5704 ‘C-.’              Select today’s date(3)
   5705 
   5706    The actions of the date/time prompt may seem complex, but I assure
   5707 you they will grow on you, and you will start getting annoyed by pretty
   5708 much any other way of entering a date/time out there.  To help you
   5709 understand what is going on, the current interpretation of your input is
   5710 displayed live in the minibuffer(4).
   5711 
   5712    ---------- Footnotes ----------
   5713 
   5714    (1) See the variable ‘org-read-date-prefer-future’.  You may set that
   5715 variable to the symbol ‘time’ to even make a time before now shift the
   5716 date to tomorrow.
   5717 
   5718    (2) If you do not need/want the calendar, configure the variable
   5719 ‘org-popup-calendar-for-date-prompt’.
   5720 
   5721    (3) You can also use the calendar command ‘.’ to jump to today’s
   5722 date, but if you are inserting an hour specification for your timestamp,
   5723 ‘.’ will then insert a dot after the hour.  By contrast, ‘C-.’ will
   5724 always jump to today’s date.
   5725 
   5726    (4) If you find this distracting, turn off the display with
   5727 ‘org-read-date-display-live’.
   5728 
   5729 
   5730 File: org.info,  Node: Custom time format,  Prev: The date/time prompt,  Up: Creating Timestamps
   5731 
   5732 8.2.2 Custom time format
   5733 ------------------------
   5734 
   5735 Org mode uses the standard ISO notation for dates and times as it is
   5736 defined in ISO 8601.  If you cannot get used to this and require another
   5737 representation of date and time to keep you happy, you can get it by
   5738 customizing the variables ‘org-display-custom-times’ and
   5739 ‘org-time-stamp-custom-formats’.
   5740 
   5741 ‘C-c C-x C-t’ (‘org-toggle-time-stamp-overlays’)
   5742      Toggle the display of custom formats for dates and times.
   5743 
   5744    Org mode needs the default format for scanning, so the custom
   5745 date/time format does not _replace_ the default format.  Instead, it is
   5746 put _over_ the default format using text properties.  This has the
   5747 following consequences:
   5748 
   5749    • You cannot place point onto a timestamp anymore, only before or
   5750      after.
   5751 
   5752    • The ‘S-<UP>’ and ‘S-<DOWN>’ keys can no longer be used to adjust
   5753      each component of a timestamp.  If point is at the beginning of the
   5754      stamp, ‘S-<UP>’ and ‘S-<DOWN>’ change the stamp by one day, just
   5755      like ‘S-<LEFT>’ ‘S-<RIGHT>’.  At the end of the stamp, change the
   5756      time by one minute.
   5757 
   5758    • If the timestamp contains a range of clock times or a repeater,
   5759      these are not overlaid, but remain in the buffer as they were.
   5760 
   5761    • When you delete a timestamp character-by-character, it only
   5762      disappears from the buffer after _all_ (invisible) characters
   5763      belonging to the ISO timestamp have been removed.
   5764 
   5765    • If the custom timestamp format is longer than the default and you
   5766      are using dates in tables, table alignment will be messed up.  If
   5767      the custom format is shorter, things do work as expected.
   5768 
   5769 
   5770 File: org.info,  Node: Deadlines and Scheduling,  Next: Clocking Work Time,  Prev: Creating Timestamps,  Up: Dates and Times
   5771 
   5772 8.3 Deadlines and Scheduling
   5773 ============================
   5774 
   5775 A timestamp may be preceded by special keywords to facilitate planning.
   5776 Both the timestamp and the keyword have to be positioned immediately
   5777 after the task they refer to.
   5778 
   5779 ‘DEADLINE’
   5780      Meaning: the task—most likely a TODO item, though not
   5781      necessarily—is supposed to be finished on that date.
   5782 
   5783      On the deadline date, the task is listed in the agenda.  In
   5784      addition, the agenda for _today_ carries a warning about the
   5785      approaching or missed deadline, starting
   5786      ‘org-deadline-warning-days’ before the due date, and continuing
   5787      until the entry is marked as done.  An example:
   5788 
   5789           *** TODO write article about the Earth for the Guide
   5790               DEADLINE: <2004-02-29 Sun>
   5791               The editor in charge is [[bbdb:Ford Prefect]]
   5792 
   5793      You can specify a different lead time for warnings for a specific
   5794      deadlines using the following syntax.  Here is an example with a
   5795      warning period of 5 days ‘DEADLINE: <2004-02-29 Sun -5d>’.  This
   5796      warning is deactivated if the task gets scheduled and you set
   5797      ‘org-agenda-skip-deadline-prewarning-if-scheduled’ to ‘t’.
   5798 
   5799 ‘SCHEDULED’
   5800      Meaning: you are planning to start working on that task on the
   5801      given date.
   5802 
   5803      The headline is listed under the given date(1).  In addition, a
   5804      reminder that the scheduled date has passed is present in the
   5805      compilation for _today_, until the entry is marked as done, i.e.,
   5806      the task is automatically forwarded until completed.
   5807 
   5808           *** TODO Call Trillian for a date on New Years Eve.
   5809               SCHEDULED: <2004-12-25 Sat>
   5810 
   5811      If you want to _delay_ the display of this task in the agenda, use
   5812      ‘SCHEDULED: <2004-12-25 Sat -2d>’: the task is still scheduled on
   5813      the 25th but will appear two days later.  In case the task contains
   5814      a repeater, the delay is considered to affect all occurrences; if
   5815      you want the delay to only affect the first scheduled occurrence of
   5816      the task, use ‘--2d’ instead.  See ‘org-scheduled-delay-days’ and
   5817      ‘org-agenda-skip-scheduled-delay-if-deadline’ for details on how to
   5818      control this globally or per agenda.
   5819 
   5820           Important: Scheduling an item in Org mode should _not_ be
   5821           understood in the same way that we understand _scheduling a
   5822           meeting_.  Setting a date for a meeting is just a simple
   5823           appointment, you should mark this entry with a simple plain
   5824           timestamp, to get this item shown on the date where it
   5825           applies.  This is a frequent misunderstanding by Org users.
   5826           In Org mode, _scheduling_ means setting a date when you want
   5827           to start working on an action item.
   5828 
   5829    You may use timestamps with repeaters in scheduling and deadline
   5830 entries.  Org mode issues early and late warnings based on the
   5831 assumption that the timestamp represents the _nearest instance_ of the
   5832 repeater.  However, the use of diary expression entries like
   5833 
   5834      <%%(diary-float t 42)>
   5835 
   5836 in scheduling and deadline timestamps is limited.  Org mode does not
   5837 know enough about the internals of each function to issue early and late
   5838 warnings.  However, it shows the item on each day where the expression
   5839 entry matches.
   5840 
   5841 * Menu:
   5842 
   5843 * Inserting deadline/schedule::  Planning items.
   5844 * Repeated tasks::               Items that show up again and again.
   5845 
   5846    ---------- Footnotes ----------
   5847 
   5848    (1) It will still be listed on that date after it has been marked as
   5849 done.  If you do not like this, set the variable
   5850 ‘org-agenda-skip-scheduled-if-done’.
   5851 
   5852 
   5853 File: org.info,  Node: Inserting deadline/schedule,  Next: Repeated tasks,  Up: Deadlines and Scheduling
   5854 
   5855 8.3.1 Inserting deadlines or schedules
   5856 --------------------------------------
   5857 
   5858 The following commands allow you to quickly insert a deadline or to
   5859 schedule an item:(1)
   5860 
   5861 ‘C-c C-d’ (‘org-deadline’)
   5862      Insert ‘DEADLINE’ keyword along with a stamp.  The insertion
   5863      happens in the line directly following the headline.  Remove any
   5864      ‘CLOSED’ timestamp .  When called with a prefix argument, also
   5865      remove any existing deadline from the entry.  Depending on the
   5866      variable ‘org-log-redeadline’, take a note when changing an
   5867      existing deadline(2).
   5868 
   5869 ‘C-c C-s’ (‘org-schedule’)
   5870      Insert ‘SCHEDULED’ keyword along with a stamp.  The insertion
   5871      happens in the line directly following the headline.  Remove any
   5872      ‘CLOSED’ timestamp.  When called with a prefix argument, also
   5873      remove the scheduling date from the entry.  Depending on the
   5874      variable ‘org-log-reschedule’, take a note when changing an
   5875      existing scheduling time(3).
   5876 
   5877 ‘C-c / d’ (‘org-check-deadlines’)
   5878      Create a sparse tree with all deadlines that are either past-due,
   5879      or which will become due within ‘org-deadline-warning-days’.  With
   5880      ‘C-u’ prefix, show all deadlines in the file.  With a numeric
   5881      prefix, check that many days.  For example, ‘C-1 C-c / d’ shows all
   5882      deadlines due tomorrow.
   5883 
   5884 ‘C-c / b’ (‘org-check-before-date’)
   5885      Sparse tree for deadlines and scheduled items before a given date.
   5886 
   5887 ‘C-c / a’ (‘org-check-after-date’)
   5888      Sparse tree for deadlines and scheduled items after a given date.
   5889 
   5890    Note that ‘org-schedule’ and ‘org-deadline’ supports setting the date
   5891 by indicating a relative time e.g., ‘+1d’ sets the date to the next day
   5892 after today, and ‘--1w’ sets the date to the previous week before any
   5893 current timestamp.
   5894 
   5895    ---------- Footnotes ----------
   5896 
   5897    (1) The ‘SCHEDULED’ and ‘DEADLINE’ dates are inserted on the line
   5898 right below the headline.  Do not put any text between this line and the
   5899 headline.
   5900 
   5901    (2) Note the corresponding ‘STARTUP’ options ‘logredeadline’,
   5902 ‘lognoteredeadline’, and ‘nologredeadline’.
   5903 
   5904    (3) Note the corresponding ‘STARTUP’ options ‘logreschedule’,
   5905 ‘lognotereschedule’, and ‘nologreschedule’.
   5906 
   5907 
   5908 File: org.info,  Node: Repeated tasks,  Prev: Inserting deadline/schedule,  Up: Deadlines and Scheduling
   5909 
   5910 8.3.2 Repeated tasks
   5911 --------------------
   5912 
   5913 Some tasks need to be repeated again and again.  Org mode helps to
   5914 organize such tasks using a so-called repeater in a ‘DEADLINE’,
   5915 ‘SCHEDULED’, or plain timestamps(1).  In the following example:
   5916 
   5917      ** TODO Pay the rent
   5918         DEADLINE: <2005-10-01 Sat +1m>
   5919 
   5920 the ‘+1m’ is a repeater; the intended interpretation is that the task
   5921 has a deadline on ‘<2005-10-01>’ and repeats itself every (one) month
   5922 starting from that time.  You can use yearly, monthly, weekly, daily and
   5923 hourly repeat cookies by using the ‘y’, ‘m’, ‘w’, ‘d’ and ‘h’ letters.
   5924 If you need both a repeater and a special warning period in a deadline
   5925 entry, the repeater should come first and the warning period last
   5926 
   5927      DEADLINE: <2005-10-01 Sat +1m -3d>
   5928 
   5929    Deadlines and scheduled items produce entries in the agenda when they
   5930 are over-due, so it is important to be able to mark such an entry as
   5931 done once you have done so.  When you mark a ‘DEADLINE’ or a ‘SCHEDULED’
   5932 with the TODO keyword ‘DONE’, it no longer produces entries in the
   5933 agenda.  The problem with this is, however, is that then also the _next_
   5934 instance of the repeated entry will not be active.  Org mode deals with
   5935 this in the following way: when you try to mark such an entry as done,
   5936 using ‘C-c C-t’, it shifts the base date of the repeating timestamp by
   5937 the repeater interval, and immediately sets the entry state back to
   5938 TODO(2). In the example above, setting the state to ‘DONE’ would
   5939 actually switch the date like this:
   5940 
   5941      ** TODO Pay the rent
   5942         DEADLINE: <2005-11-01 Tue +1m>
   5943 
   5944    To mark a task with a repeater as DONE, use ‘C-- 1 C-c C-t’, i.e.,
   5945 ‘org-todo’ with a numeric prefix argument of ‘-1’.
   5946 
   5947    A timestamp(3) is added under the deadline, to keep a record that you
   5948 actually acted on the previous instance of this deadline.
   5949 
   5950    As a consequence of shifting the base date, this entry is no longer
   5951 visible in the agenda when checking past dates, but all future instances
   5952 will be visible.
   5953 
   5954    With the ‘+1m’ cookie, the date shift is always exactly one month.
   5955 So if you have not paid the rent for three months, marking this entry
   5956 DONE still keeps it as an overdue deadline.  Depending on the task, this
   5957 may not be the best way to handle it.  For example, if you forgot to
   5958 call your father for 3 weeks, it does not make sense to call him 3 times
   5959 in a single day to make up for it.  Finally, there are tasks, like
   5960 changing batteries, which should always repeat a certain time _after_
   5961 the last time you did it.  For these tasks, Org mode has special
   5962 repeaters ‘++’ and ‘.+’.  For example:
   5963 
   5964      ** TODO Call Father
   5965         DEADLINE: <2008-02-10 Sun ++1w>
   5966         Marking this DONE shifts the date by at least one week, but also
   5967         by as many weeks as it takes to get this date into the future.
   5968         However, it stays on a Sunday, even if you called and marked it
   5969         done on Saturday.
   5970 
   5971      ** TODO Empty kitchen trash
   5972         DEADLINE: <2008-02-08 Fri 20:00 ++1d>
   5973         Marking this DONE shifts the date by at least one day, and also
   5974         by as many days as it takes to get the timestamp into the future.
   5975         Since there is a time in the timestamp, the next deadline in the
   5976         future will be on today's date if you complete the task before
   5977         20:00.
   5978 
   5979      ** TODO Check the batteries in the smoke detectors
   5980         DEADLINE: <2005-11-01 Tue .+1m>
   5981         Marking this DONE shifts the date to one month after today.
   5982 
   5983      ** TODO Wash my hands
   5984         DEADLINE: <2019-04-05 08:00 Fri .+1h>
   5985         Marking this DONE shifts the date to exactly one hour from now.
   5986 
   5987    You may have both scheduling and deadline information for a specific
   5988 task.  If the repeater is set for the scheduling information only, you
   5989 probably want the repeater to be ignored after the deadline.  If so, set
   5990 the variable ‘org-agenda-skip-scheduled-if-deadline-is-shown’ to
   5991 ‘repeated-after-deadline’.  However, any scheduling information without
   5992 a repeater is no longer relevant once the task is done, and thus,
   5993 removed upon repeating the task.  If you want both scheduling and
   5994 deadline information to repeat after the same interval, set the same
   5995 repeater for both timestamps.
   5996 
   5997    An alternative to using a repeater is to create a number of copies of
   5998 a task subtree, with dates shifted in each copy.  The command ‘C-c C-x
   5999 c’ was created for this purpose; it is described in *note Structure
   6000 Editing::.
   6001 
   6002    ---------- Footnotes ----------
   6003 
   6004    (1) Org does not repeat inactive timestamps, however.  See *note
   6005 Timestamps::.
   6006 
   6007    (2) In fact, the target state is taken from, in this sequence, the
   6008 ‘REPEAT_TO_STATE’ property, the variable ‘org-todo-repeat-to-state’ if
   6009 it is a string, the previous TODO state if ‘org-todo-repeat-to-state’ is
   6010 ‘t’, or the first state of the TODO state sequence.
   6011 
   6012    (3) You can change this using the option ‘org-log-repeat’, or the
   6013 ‘STARTUP’ options ‘logrepeat’, ‘lognoterepeat’, and ‘nologrepeat’.  With
   6014 ‘lognoterepeat’, you will also be prompted for a note.
   6015 
   6016 
   6017 File: org.info,  Node: Clocking Work Time,  Next: Effort Estimates,  Prev: Deadlines and Scheduling,  Up: Dates and Times
   6018 
   6019 8.4 Clocking Work Time
   6020 ======================
   6021 
   6022 Org mode allows you to clock the time you spend on specific tasks in a
   6023 project.  When you start working on an item, you can start the clock.
   6024 When you stop working on that task, or when you mark the task done, the
   6025 clock is stopped and the corresponding time interval is recorded.  It
   6026 also computes the total time spent on each subtree(1) of a project.  And
   6027 it remembers a history or tasks recently clocked, so that you can jump
   6028 quickly between a number of tasks absorbing your time.
   6029 
   6030    To save the clock history across Emacs sessions, use:
   6031 
   6032      (setq org-clock-persist 'history)
   6033      (org-clock-persistence-insinuate)
   6034 
   6035    When you clock into a new task after resuming Emacs, the incomplete
   6036 clock(2) is retrieved (see *note Resolving idle time (1)::) and you are
   6037 prompted about what to do with it.
   6038 
   6039 * Menu:
   6040 
   6041 * Clocking commands::            Starting and stopping a clock.
   6042 * The clock table::              Detailed reports.
   6043 * Resolving idle time::          Resolving time when you’ve been idle.
   6044 
   6045    ---------- Footnotes ----------
   6046 
   6047    (1) Clocking only works if all headings are indented with less than
   6048 30 stars.  This is a hard-coded limitation of ‘lmax’ in ‘org-clock-sum’.
   6049 
   6050    (2) To resume the clock under the assumption that you have worked on
   6051 this task while outside Emacs, use ‘(setq org-clock-persist t)’.
   6052 
   6053 
   6054 File: org.info,  Node: Clocking commands,  Next: The clock table,  Up: Clocking Work Time
   6055 
   6056 8.4.1 Clocking commands
   6057 -----------------------
   6058 
   6059 ‘C-c C-x C-i’ (‘org-clock-in’)
   6060      Start the clock on the current item (clock-in).  This inserts the
   6061      ‘CLOCK’ keyword together with a timestamp.  If this is not the
   6062      first clocking of this item, the multiple ‘CLOCK’ lines are wrapped
   6063      into a ‘LOGBOOK’ drawer (see also the variable
   6064      ‘org-clock-into-drawer’).  You can also overrule the setting of
   6065      this variable for a subtree by setting a ‘CLOCK_INTO_DRAWER’ or
   6066      ‘LOG_INTO_DRAWER’ property.  When called with a ‘C-u’ prefix
   6067      argument, select the task from a list of recently clocked tasks.
   6068      With two ‘C-u C-u’ prefixes, clock into the task at point and mark
   6069      it as the default task; the default task is always be available
   6070      with letter ‘d’ when selecting a clocking task.  With three ‘C-u
   6071      C-u C-u’ prefixes, force continuous clocking by starting the clock
   6072      when the last clock stopped.
   6073 
   6074      While the clock is running, Org shows the current clocking time in
   6075      the mode line, along with the title of the task.  The clock time
   6076      shown is all time ever clocked for this task and its children.  If
   6077      the task has an effort estimate (see *note Effort Estimates::), the
   6078      mode line displays the current clocking time against it(1).  If the
   6079      task is a repeating one (see *note Repeated tasks::), show only the
   6080      time since the last reset of the task(2).  You can exercise more
   6081      control over show time with the ‘CLOCK_MODELINE_TOTAL’ property.
   6082      It may have the values ‘current’ to show only the current clocking
   6083      instance, ‘today’ to show all time clocked on this tasks today—see
   6084      also the variable ‘org-extend-today-until’, ‘all’ to include all
   6085      time, or ‘auto’ which is the default(3).  Clicking with ‘mouse-1’
   6086      onto the mode line entry pops up a menu with clocking options.
   6087 
   6088 ‘C-c C-x C-o’ (‘org-clock-out’)
   6089      Stop the clock (clock-out).  This inserts another timestamp at the
   6090      same location where the clock was last started.  It also directly
   6091      computes the resulting time in inserts it after the time range as
   6092      ‘=>HH:MM’.  See the variable ‘org-log-note-clock-out’ for the
   6093      possibility to record an additional note together with the
   6094      clock-out timestamp(4).
   6095 
   6096 ‘C-c C-x C-x’ (‘org-clock-in-last’)
   6097      Re-clock the last clocked task.  With one ‘C-u’ prefix argument,
   6098      select the task from the clock history.  With two ‘C-u’ prefixes,
   6099      force continuous clocking by starting the clock when the last clock
   6100      stopped.
   6101 
   6102 ‘C-c C-x C-e’ (‘org-clock-modify-effort-estimate’)
   6103      Update the effort estimate for the current clock task.
   6104 
   6105 ‘C-c C-c’ or ‘C-c C-y’ (‘org-evaluate-time-range’)
   6106      Recompute the time interval after changing one of the timestamps.
   6107      This is only necessary if you edit the timestamps directly.  If you
   6108      change them with ‘S-<cursor>’ keys, the update is automatic.
   6109 
   6110 ‘C-S-<UP>’ (‘org-clock-timestamps-up’)
   6111 ‘C-S-<DOWN>’ (‘org-clock-timestamps-down’)
   6112      On CLOCK log lines, increase/decrease both timestamps so that the
   6113      clock duration keeps the same value.
   6114 
   6115 ‘S-M-<UP>’ (‘org-timestamp-up’)
   6116 ‘S-M-<DOWN>’ (‘org-timestamp-down’)
   6117      On ‘CLOCK’ log lines, increase/decrease the timestamp at point and
   6118      the one of the previous, or the next, clock timestamp by the same
   6119      duration.  For example, if you hit ‘S-M-<UP>’ to increase a
   6120      clocked-out timestamp by five minutes, then the clocked-in
   6121      timestamp of the next clock is increased by five minutes.
   6122 
   6123 ‘C-c C-t’ (‘org-todo’)
   6124      Changing the TODO state of an item to DONE automatically stops the
   6125      clock if it is running in this same item.
   6126 
   6127 ‘C-c C-x C-q’ (‘org-clock-cancel’)
   6128      Cancel the current clock.  This is useful if a clock was started by
   6129      mistake, or if you ended up working on something else.
   6130 
   6131 ‘C-c C-x C-j’ (‘org-clock-goto’)
   6132      Jump to the headline of the currently clocked in task.  With a
   6133      ‘C-u’ prefix argument, select the target task from a list of
   6134      recently clocked tasks.
   6135 
   6136 ‘C-c C-x C-d’ (‘org-clock-display’)
   6137      Display time summaries for each subtree in the current buffer.
   6138      This puts overlays at the end of each headline, showing the total
   6139      time recorded under that heading, including the time of any
   6140      subheadings.  You can use visibility cycling to study the tree, but
   6141      the overlays disappear when you change the buffer (see variable
   6142      ‘org-remove-highlights-with-change’) or press ‘C-c C-c’.
   6143 
   6144    The ‘l’ key may be used in the agenda (see *note Weekly/daily
   6145 agenda::) to show which tasks have been worked on or closed during a
   6146 day.
   6147 
   6148    *Important:* note that both ‘org-clock-out’ and ‘org-clock-in-last’
   6149 can have a global keybinding and do not modify the window disposition.
   6150 
   6151    ---------- Footnotes ----------
   6152 
   6153    (1) To add an effort estimate “on the fly”, hook a function doing
   6154 this to ‘org-clock-in-prepare-hook’.
   6155 
   6156    (2) The last reset of the task is recorded by the ‘LAST_REPEAT’
   6157 property.
   6158 
   6159    (3) See also the variable ‘org-clock-mode-line-total’.
   6160 
   6161    (4) The corresponding in-buffer setting is: ‘#+STARTUP:
   6162 lognoteclock-out’.
   6163 
   6164 
   6165 File: org.info,  Node: The clock table,  Next: Resolving idle time,  Prev: Clocking commands,  Up: Clocking Work Time
   6166 
   6167 8.4.2 The clock table
   6168 ---------------------
   6169 
   6170 Org mode can produce quite complex reports based on the time clocking
   6171 information.  Such a report is called a _clock table_, because it is
   6172 formatted as one or several Org tables.
   6173 
   6174 ‘org-clock-report’
   6175      Insert or update a clock table.  When called with a prefix
   6176      argument, jump to the first clock table in the current document and
   6177      update it.  The clock table includes archived trees.
   6178 
   6179      This command can be invoked by calling
   6180      ‘org-dynamic-block-insert-dblock’ (‘C-c C-x x’) and selecting
   6181      “clocktable” (see *note Dynamic Blocks::).
   6182 
   6183 ‘C-c C-c’ or ‘C-c C-x C-u’ (‘org-dblock-update’)
   6184      Update dynamic block at point.  Point needs to be in the ‘BEGIN’
   6185      line of the dynamic block.
   6186 
   6187 ‘C-u C-c C-x C-u’
   6188      Update all dynamic blocks (see *note Dynamic Blocks::).  This is
   6189      useful if you have several clock table blocks in a buffer.
   6190 
   6191 ‘S-<LEFT>’
   6192 ‘S-<RIGHT>’ (‘org-clocktable-try-shift’)
   6193      Shift the current ‘:block’ interval and update the table.  Point
   6194      needs to be in the ‘#+BEGIN: clocktable’ line for this command.  If
   6195      ‘:block’ is ‘today’, it is shifted to ‘today-1’, etc.
   6196 
   6197    Here is an example of the frame for a clock table as it is inserted
   6198 into the buffer by ‘org-clock-report’:
   6199 
   6200      #+BEGIN: clocktable :maxlevel 2 :emphasize nil :scope file
   6201      #+END:
   6202 
   6203    The ‘#+BEGIN’ line contains options to define the scope, structure,
   6204 and formatting of the report.  Defaults for all these options can be
   6205 configured in the variable ‘org-clocktable-defaults’.
   6206 
   6207    First there are options that determine which clock entries are to be
   6208 selected:
   6209 
   6210 ‘:maxlevel’
   6211      Maximum level depth to which times are listed in the table.  Clocks
   6212      at deeper levels are summed into the upper level.
   6213 
   6214 ‘:scope’
   6215      The scope to consider.  This can be any of the following:
   6216 
   6217      ‘nil’                    the current buffer or narrowed region
   6218      ‘file’                   the full current buffer
   6219      ‘subtree’                the subtree where the clocktable is located
   6220      ‘treeN’                  the surrounding level N tree, for example ‘tree3’
   6221      ‘tree’                   the surrounding level 1 tree
   6222      ‘agenda’                 all agenda files
   6223      ‘("file" ...)’           scan these files
   6224      ‘FUNCTION’               scan files returned by calling FUNCTION with no argument
   6225      ‘file-with-archives’     current file and its archives
   6226      ‘agenda-with-archives’   all agenda files, including archives
   6227 
   6228 ‘:block’
   6229      The time block to consider.  This block is specified either
   6230      absolutely, or relative to the current time and may be any of these
   6231      formats:
   6232 
   6233      ‘2007-12-31’                                                                                                    New year eve 2007
   6234      ‘2007-12’                                                                                                       December 2007
   6235      ‘2007-W50’                                                                                                      ISO-week 50 in 2007
   6236      ‘2007-Q2’                                                                                                       2nd quarter in 2007
   6237      ‘2007’                                                                                                          the year 2007
   6238      ‘today’, ‘yesterday’, ‘today-N’                                                                                 a relative day
   6239      ‘thisweek’, ‘lastweek’, ‘thisweek-N’                                                                            a relative week
   6240      ‘thismonth’, ‘lastmonth’, ‘thismonth-N’                                                                         a relative month
   6241      ‘thisyear’, ‘lastyear’, ‘thisyear-N’                                                                            a relative year
   6242      ‘untilnow’(1)                                                                                                   all clocked time ever
   6243 
   6244      When this option is not set, Org falls back to the value in
   6245      ‘org-clock-display-default-range’, which defaults to the current
   6246      year.
   6247 
   6248      Use ‘S-<LEFT>’ or ‘S-<RIGHT>’ to shift the time interval.
   6249 
   6250 ‘:tstart’
   6251      A time string specifying when to start considering times.  Relative
   6252      times like ‘"<-2w>"’ can also be used.  See *note Matching tags and
   6253      properties:: for relative time syntax.
   6254 
   6255 ‘:tend’
   6256      A time string specifying when to stop considering times.  Relative
   6257      times like ‘"<now>"’ can also be used.  See *note Matching tags and
   6258      properties:: for relative time syntax.
   6259 
   6260 ‘:wstart’
   6261      The starting day of the week.  The default is 1 for Monday.
   6262 
   6263 ‘:mstart’
   6264      The starting day of the month.  The default is 1 for the first.
   6265 
   6266 ‘:step’
   6267      Set to ‘day’, ‘week’, ‘semimonth’, ‘month’, ‘quarter’, or ‘year’ to
   6268      split the table into chunks.  To use this, either ‘:block’, or
   6269      ‘:tstart’ and ‘:tend’ are required.
   6270 
   6271 ‘:stepskip0’
   6272      When non-‘nil’, do not show steps that have zero time.
   6273 
   6274 ‘:fileskip0’
   6275      When non-‘nil’, do not show table sections from files which did not
   6276      contribute.
   6277 
   6278 ‘:match’
   6279      A tags match to select entries that should contribute.  See *note
   6280      Matching tags and properties:: for the match syntax.
   6281 
   6282    Then there are options that determine the formatting of the table.
   6283 There options are interpreted by the function
   6284 ‘org-clocktable-write-default’, but you can specify your own function
   6285 using the ‘:formatter’ parameter.
   6286 
   6287 ‘:emphasize’
   6288      When non-‘nil’, emphasize level one and level two items.
   6289 
   6290 ‘:lang’
   6291      Language(2) to use for descriptive cells like “Task”.
   6292 
   6293 ‘:link’
   6294      Link the item headlines in the table to their origins.
   6295 
   6296 ‘:narrow’
   6297      An integer to limit the width of the headline column in the Org
   6298      table.  If you write it like ‘50!’, then the headline is also
   6299      shortened in export.
   6300 
   6301 ‘:indent’
   6302      Indent each headline field according to its level.
   6303 
   6304 ‘:filetitle’
   6305      Show title in the file column if the file has a ‘#+title’.
   6306 
   6307 ‘:hidefiles’
   6308      Hide the file column when multiple files are used to produce the
   6309      table.
   6310 
   6311 ‘:tcolumns’
   6312      Number of columns to be used for times.  If this is smaller than
   6313      ‘:maxlevel’, lower levels are lumped into one column.
   6314 
   6315 ‘:level’
   6316      Should a level number column be included?
   6317 
   6318 ‘:sort’
   6319      A cons cell containing the column to sort and a sorting type.
   6320      E.g., ‘:sort (1 . ?a)’ sorts the first column alphabetically.
   6321 
   6322 ‘:compact’
   6323      Abbreviation for ‘:level nil :indent t :narrow 40! :tcolumns 1’.
   6324      All are overwritten except if there is an explicit ‘:narrow’.
   6325 
   6326 ‘:timestamp’
   6327      A timestamp for the entry, when available.  Look for ‘SCHEDULED’,
   6328      ‘DEADLINE’, ‘TIMESTAMP’ and ‘TIMESTAMP_IA’ special properties (see
   6329      *note Special Properties::), in this order.
   6330 
   6331 ‘:tags’
   6332      When this flag is non-‘nil’, show the headline’s tags.
   6333 
   6334 ‘:properties’
   6335      List of properties shown in the table.  Each property gets its own
   6336      column.
   6337 
   6338 ‘:inherit-props’
   6339      When this flag is non-‘nil’, the values for ‘:properties’ are
   6340      inherited.
   6341 
   6342 ‘:formula’
   6343      Content of a ‘TBLFM’ keyword to be added and evaluated.  As a
   6344      special case, ‘:formula %’ adds a column with % time.  If you do
   6345      not specify a formula here, any existing formula below the clock
   6346      table survives updates and is evaluated.
   6347 
   6348 ‘:formatter’
   6349      A function to format clock data and insert it into the buffer.
   6350 
   6351    To get a clock summary of the current level 1 tree, for the current
   6352 day, you could write:
   6353 
   6354      #+BEGIN: clocktable :maxlevel 2 :block today :scope tree1 :link t
   6355      #+END:
   6356 
   6357 To use a specific time range you could write(3)
   6358 
   6359      #+BEGIN: clocktable :tstart "<2006-08-10 Thu 10:00>"
   6360                          :tend "<2006-08-10 Thu 12:00>"
   6361      #+END:
   6362 
   6363 A range starting a week ago and ending right now could be written as
   6364 
   6365      #+BEGIN: clocktable :tstart "<-1w>" :tend "<now>"
   6366      #+END:
   6367 
   6368 A summary of the current subtree with % times would be
   6369 
   6370      #+BEGIN: clocktable :scope subtree :link t :formula %
   6371      #+END:
   6372 
   6373 A horizontally compact representation of everything clocked during last
   6374 week would be
   6375 
   6376      #+BEGIN: clocktable :scope agenda :block lastweek :compact t
   6377      #+END:
   6378 
   6379    ---------- Footnotes ----------
   6380 
   6381    (1) When using ‘:step’, ‘untilnow’ starts from the beginning of 2003,
   6382 not the beginning of time.
   6383 
   6384    (2) Language terms can be set through the variable
   6385 ‘org-clock-clocktable-language-setup’.
   6386 
   6387    (3) Note that all parameters must be specified in a single line—the
   6388 line is broken here only to fit it into the manual.
   6389 
   6390 
   6391 File: org.info,  Node: Resolving idle time,  Prev: The clock table,  Up: Clocking Work Time
   6392 
   6393 8.4.3 Resolving idle time and continuous clocking
   6394 -------------------------------------------------
   6395 
   6396 Resolving idle time
   6397 ...................
   6398 
   6399 If you clock in on a work item, and then walk away from your
   6400 computer—perhaps to take a phone call—you often need to “resolve” the
   6401 time you were away by either subtracting it from the current clock, or
   6402 applying it to another one.
   6403 
   6404    By customizing the variable ‘org-clock-idle-time’ to some integer,
   6405 such as 10 or 15, Emacs can alert you when you get back to your computer
   6406 after being idle for that many minutes(1), and ask what you want to do
   6407 with the idle time.  There will be a question waiting for you when you
   6408 get back, indicating how much idle time has passed constantly updated
   6409 with the current amount, as well as a set of choices to correct the
   6410 discrepancy:
   6411 
   6412 ‘k’
   6413      To keep some or all of the minutes and stay clocked in, press ‘k’.
   6414      Org asks how many of the minutes to keep.  Press ‘<RET>’ to keep
   6415      them all, effectively changing nothing, or enter a number to keep
   6416      that many minutes.
   6417 
   6418 ‘K’
   6419      If you use the shift key and press ‘K’, it keeps however many
   6420      minutes you request and then immediately clock out of that task.
   6421      If you keep all of the minutes, this is the same as just clocking
   6422      out of the current task.
   6423 
   6424 ‘s’
   6425      To keep none of the minutes, use ‘s’ to subtract all the away time
   6426      from the clock, and then check back in from the moment you
   6427      returned.
   6428 
   6429 ‘S’
   6430      To keep none of the minutes and just clock out at the start of the
   6431      away time, use the shift key and press ‘S’.  Remember that using
   6432      shift always leave you clocked out, no matter which option you
   6433      choose.
   6434 
   6435 ‘C’
   6436      To cancel the clock altogether, use ‘C’.  Note that if instead of
   6437      canceling you subtract the away time, and the resulting clock
   6438      amount is less than a minute, the clock is still canceled rather
   6439      than cluttering up the log with an empty entry.
   6440 
   6441    What if you subtracted those away minutes from the current clock, and
   6442 now want to apply them to a new clock?  Simply clock in to any task
   6443 immediately after the subtraction.  Org will notice that you have
   6444 subtracted time “on the books”, so to speak, and will ask if you want to
   6445 apply those minutes to the next task you clock in on.
   6446 
   6447    There is one other instance when this clock resolution magic occurs.
   6448 Say you were clocked in and hacking away, and suddenly your cat chased a
   6449 mouse who scared a hamster that crashed into your UPS’s power button!
   6450 You suddenly lose all your buffers, but thanks to auto-save you still
   6451 have your recent Org mode changes, including your last clock in.
   6452 
   6453    If you restart Emacs and clock into any task, Org will notice that
   6454 you have a dangling clock which was never clocked out from your last
   6455 session.  Using that clock’s starting time as the beginning of the
   6456 unaccounted-for period, Org will ask how you want to resolve that time.
   6457 The logic and behavior is identical to dealing with away time due to
   6458 idleness; it is just happening due to a recovery event rather than a set
   6459 amount of idle time.
   6460 
   6461    You can also check all the files visited by your Org agenda for
   6462 dangling clocks at any time using ‘M-x org-resolve-clocks <RET>’ (or
   6463 ‘C-c C-x C-z’).
   6464 
   6465 Continuous clocking
   6466 ...................
   6467 
   6468 You may want to start clocking from the time when you clocked out the
   6469 previous task.  To enable this systematically, set
   6470 ‘org-clock-continuously’ to non-‘nil’.  Each time you clock in, Org
   6471 retrieves the clock-out time of the last clocked entry for this session,
   6472 and start the new clock from there.
   6473 
   6474    If you only want this from time to time, use three universal prefix
   6475 arguments with ‘org-clock-in’ and two ‘C-u C-u’ with
   6476 ‘org-clock-in-last’.
   6477 
   6478 Clocking out automatically after some idle time
   6479 ...............................................
   6480 
   6481 When you often forget to clock out before being idle and you don’t want
   6482 to manually set the clocking time to take into account, you can set
   6483 ‘org-clock-auto-clockout-timer’ to a number of seconds and add
   6484 ‘(org-clock-auto-clockout-insinuate)’ to your ‘.emacs’ file.
   6485 
   6486    When the clock is running and Emacs is idle for more than this number
   6487 of seconds, the clock will be clocked out automatically.
   6488 
   6489    Use ‘M-x org-clock-toggle-auto-clockout RET’ to temporarily turn this
   6490 on or off.
   6491 
   6492    ---------- Footnotes ----------
   6493 
   6494    (1) On computers using macOS, idleness is based on actual user
   6495 idleness, not just Emacs’ idle time.  For X11, you can install a utility
   6496 program ‘x11idle.c’, available in the ‘org-contrib/’ repository, or
   6497 install the xprintidle package and set it to the variable
   6498 ‘org-clock-x11idle-program-name’ if you are running Debian, to get the
   6499 same general treatment of idleness.  On other systems, idle time refers
   6500 to Emacs idle time only.
   6501 
   6502 
   6503 File: org.info,  Node: Effort Estimates,  Next: Timers,  Prev: Clocking Work Time,  Up: Dates and Times
   6504 
   6505 8.5 Effort Estimates
   6506 ====================
   6507 
   6508 If you want to plan your work in a very detailed way, or if you need to
   6509 produce offers with quotations of the estimated work effort, you may
   6510 want to assign effort estimates to entries.  If you are also clocking
   6511 your work, you may later want to compare the planned effort with the
   6512 actual working time, a great way to improve planning estimates.
   6513 
   6514    Effort estimates are stored in a special property ‘EFFORT’.  Multiple
   6515 formats are supported, such as ‘3:12’, ‘1:23:45’, or ‘1d3h5min’; see the
   6516 file ‘org-duration.el’ for more detailed information about the format.
   6517 
   6518    You can set the effort for an entry with the following commands:
   6519 
   6520 ‘C-c C-x e’ (‘org-set-effort’)
   6521      Set the effort estimate for the current entry.  With a prefix
   6522      argument, set it to the next allowed value—see below.  This command
   6523      is also accessible from the agenda with the ‘e’ key.
   6524 
   6525 ‘C-c C-x C-e’ (‘org-clock-modify-effort-estimate’)
   6526      Modify the effort estimate of the item currently being clocked.
   6527 
   6528    Clearly the best way to work with effort estimates is through column
   6529 view (see *note Column View::).  You should start by setting up discrete
   6530 values for effort estimates, and a ‘COLUMNS’ format that displays these
   6531 values together with clock sums—if you want to clock your time.  For a
   6532 specific buffer you can use:
   6533 
   6534      #+PROPERTY: Effort_ALL 0 0:10 0:30 1:00 2:00 3:00 4:00 5:00 6:00 7:00
   6535      #+COLUMNS: %40ITEM(Task) %17Effort(Estimated Effort){:} %CLOCKSUM
   6536 
   6537 or, even better, you can set up these values globally by customizing the
   6538 variables ‘org-global-properties’ and ‘org-columns-default-format’.  In
   6539 particular if you want to use this setup also in the agenda, a global
   6540 setup may be advised.
   6541 
   6542    The way to assign estimates to individual items is then to switch to
   6543 column mode, and to use ‘S-<RIGHT>’ and ‘S-<LEFT>’ to change the value.
   6544 The values you enter are immediately summed up in the hierarchy.  In the
   6545 column next to it, any clocked time is displayed.
   6546 
   6547    If you switch to column view in the daily/weekly agenda, the effort
   6548 column summarizes the estimated work effort for each day(1), and you can
   6549 use this to find space in your schedule.  To get an overview of the
   6550 entire part of the day that is committed, you can set the option
   6551 ‘org-agenda-columns-add-appointments-to-effort-sum’.  The appointments
   6552 on a day that take place over a specified time interval are then also
   6553 added to the load estimate of the day.
   6554 
   6555    Effort estimates can be used in secondary agenda filtering that is
   6556 triggered with the ‘/’ key in the agenda (see *note Agenda Commands::).
   6557 If you have these estimates defined consistently, two or three key
   6558 presses narrow down the list to stuff that fits into an available time
   6559 slot.
   6560 
   6561    ---------- Footnotes ----------
   6562 
   6563    (1) Please note the pitfalls of summing hierarchical data in a flat
   6564 list (see *note Agenda Column View::).
   6565 
   6566 
   6567 File: org.info,  Node: Timers,  Prev: Effort Estimates,  Up: Dates and Times
   6568 
   6569 8.6 Taking Notes with a Relative Timer
   6570 ======================================
   6571 
   6572 Org provides two types of timers.  There is a relative timer that counts
   6573 up, which can be useful when taking notes during, for example, a meeting
   6574 or a video viewing.  There is also a countdown timer.
   6575 
   6576    The relative and countdown are started with separate commands.
   6577 
   6578 ‘C-c C-x 0’ (‘org-timer-start’)
   6579      Start or reset the relative timer.  By default, the timer is set to
   6580      0.  When called with a ‘C-u’ prefix, prompt the user for a starting
   6581      offset.  The prompt will default to a timer string at point (if
   6582      any), providing a convenient way to restart taking notes after a
   6583      break in the process.  When called with a double prefix argument
   6584      ‘C-u C-u’, change all timer strings in the active region by a
   6585      certain amount.  This can be used to fix timer strings if the timer
   6586      was not started at exactly the right moment.
   6587 
   6588 ‘C-c C-x ;’ (‘org-timer-set-timer’)
   6589      Start a countdown timer.  The user is prompted for a duration.
   6590      ‘org-timer-default-timer’ sets the default countdown value.  Giving
   6591      a numeric prefix argument overrides this default value.  This
   6592      command is available as ‘;’ in agenda buffers.
   6593 
   6594    Once started, relative and countdown timers are controlled with the
   6595 same commands.
   6596 
   6597 ‘C-c C-x .’ (‘org-timer’)
   6598      Insert a relative time into the buffer.  The first time you use
   6599      this, the timer starts.  Using a prefix argument restarts it.
   6600 
   6601 ‘C-c C-x -’ (‘org-timer-item’)
   6602      Insert a description list item with the current relative time.
   6603      With a prefix argument, first reset the timer to 0.
   6604 
   6605 ‘M-<RET>’ (‘org-insert-heading’)
   6606      Once the timer list is started, you can also use ‘M-<RET>’ to
   6607      insert new timer items.
   6608 
   6609 ‘C-c C-x ,’ (‘org-timer-pause-or-continue’)
   6610      Pause the timer, or continue it if it is already paused.
   6611 
   6612 ‘C-c C-x _’ (‘org-timer-stop’)
   6613      Stop the timer.  After this, you can only start a new timer, not
   6614      continue the old one.  This command also removes the timer from the
   6615      mode line.
   6616 
   6617 
   6618 File: org.info,  Node: Refiling and Archiving,  Next: Capture and Attachments,  Prev: Dates and Times,  Up: Top
   6619 
   6620 9 Refiling and Archiving
   6621 ************************
   6622 
   6623 Once information is in the system, it may need to be moved around.  Org
   6624 provides Refile, Copy and Archive commands for this.  Refile and Copy
   6625 helps with moving and copying outlines.  Archiving helps to keep the
   6626 system compact and fast.
   6627 
   6628 * Menu:
   6629 
   6630 * Refile and Copy::              Moving/copying a tree from one place to another.
   6631 * Archiving::                    What to do with finished products.
   6632 
   6633 
   6634 File: org.info,  Node: Refile and Copy,  Next: Archiving,  Up: Refiling and Archiving
   6635 
   6636 9.1 Refile and Copy
   6637 ===================
   6638 
   6639 When reviewing the captured data, you may want to refile or to copy some
   6640 of the entries into a different list, for example into a project.
   6641 Cutting, finding the right location, and then pasting the note is
   6642 cumbersome.  To simplify this process, you can use the following special
   6643 command:
   6644 
   6645 ‘C-c C-w’ (‘org-refile’)
   6646      Refile the entry or region at point.  This command offers possible
   6647      locations for refiling the entry and lets you select one with
   6648      completion.  The item (or all items in the region) is filed below
   6649      the target heading as a subitem.  Depending on
   6650      ‘org-reverse-note-order’, it is either the first or last subitem.
   6651 
   6652      By default, all level 1 headlines in the current buffer are
   6653      considered to be targets, but you can have more complex definitions
   6654      across a number of files.  See the variable ‘org-refile-targets’
   6655      for details.  If you would like to select a location via a
   6656      file-path-like completion along the outline path, see the variables
   6657      ‘org-refile-use-outline-path’ and
   6658      ‘org-outline-path-complete-in-steps’.  If you would like to be able
   6659      to create new nodes as new parents for refiling on the fly, check
   6660      the variable ‘org-refile-allow-creating-parent-nodes’.  When the
   6661      variable ‘org-log-refile’(1) is set, a timestamp or a note is
   6662      recorded whenever an entry is refiled.
   6663 
   6664 ‘C-u C-c C-w’
   6665      Use the refile interface to jump to a heading.
   6666 
   6667 ‘C-u C-u C-c C-w’ (‘org-refile-goto-last-stored’)
   6668      Jump to the location where ‘org-refile’ last moved a tree to.
   6669 
   6670 ‘C-2 C-c C-w’
   6671      Refile as the child of the item currently being clocked.
   6672 
   6673 ‘C-3 C-c C-w’
   6674      Refile and keep the entry in place.  Also see ‘org-refile-keep’ to
   6675      make this the default behavior, and beware that this may result in
   6676      duplicated ‘ID’ properties.
   6677 
   6678 ‘C-0 C-c C-w’ or ‘C-u C-u C-u C-c C-w’ (‘org-refile-cache-clear’)
   6679      Clear the target cache.  Caching of refile targets can be turned on
   6680      by setting ‘org-refile-use-cache’.  To make the command see new
   6681      possible targets, you have to clear the cache with this command.
   6682 
   6683 ‘C-c M-w’ (‘org-refile-copy’)
   6684      Copying works like refiling, except that the original note is not
   6685      deleted.
   6686 
   6687 ‘C-c C-M-w’ (‘org-refile-reverse’)
   6688      Works like refiling, except that it temporarily toggles how the
   6689      value of ‘org-reverse-note-order’ applies to the current buffer.
   6690      So if ‘org-refile’ would append the entry as the last entry under
   6691      the target header, ‘org-refile-reverse’ will prepend it as the
   6692      first entry, and vice-versa.
   6693 
   6694    ---------- Footnotes ----------
   6695 
   6696    (1) Note the corresponding ‘STARTUP’ options ‘logrefile’,
   6697 ‘lognoterefile’, and ‘nologrefile’.
   6698 
   6699 
   6700 File: org.info,  Node: Archiving,  Prev: Refile and Copy,  Up: Refiling and Archiving
   6701 
   6702 9.2 Archiving
   6703 =============
   6704 
   6705 When a project represented by a (sub)tree is finished, you may want to
   6706 move the tree out of the way and to stop it from contributing to the
   6707 agenda.  Archiving is important to keep your working files compact and
   6708 global searches like the construction of agenda views fast.
   6709 
   6710 ‘C-c C-x C-a’ (‘org-archive-subtree-default’)
   6711      Archive the current entry using the command specified in the
   6712      variable ‘org-archive-default-command’.
   6713 
   6714 * Menu:
   6715 
   6716 * Moving subtrees::              Moving a tree to an archive file.
   6717 * Internal archiving::           Switch off a tree but keep it in the file.
   6718 
   6719 
   6720 File: org.info,  Node: Moving subtrees,  Next: Internal archiving,  Up: Archiving
   6721 
   6722 9.2.1 Moving a tree to an archive file
   6723 --------------------------------------
   6724 
   6725 The most common archiving action is to move a project tree to another
   6726 file, the archive file.
   6727 
   6728 ‘C-c C-x C-s’ or short ‘C-c $’ (‘org-archive-subtree’)
   6729      Archive the subtree starting at point position to the location
   6730      given by ‘org-archive-location’.
   6731 
   6732 ‘C-u C-c C-x C-s’
   6733      Check if any direct children of the current headline could be moved
   6734      to the archive.  To do this, check each subtree for open TODO
   6735      entries.  If none is found, the command offers to move it to the
   6736      archive location.  If point is _not_ on a headline when this
   6737      command is invoked, check level 1 trees.
   6738 
   6739 ‘C-u C-u C-c C-x C-s’
   6740      As above, but check subtree for timestamps instead of TODO entries.
   6741      The command offers to archive the subtree if it _does_ contain a
   6742      timestamp, and that timestamp is in the past.
   6743 
   6744    The default archive location is a file in the same directory as the
   6745 current file, with the name derived by appending ‘_archive’ to the
   6746 current file name.  You can also choose what heading to file archived
   6747 items under, with the possibility to add them to a datetree in a file.
   6748 For information and examples on how to specify the file and the heading,
   6749 see the documentation string of the variable ‘org-archive-location’.
   6750 
   6751    There is also an in-buffer option for setting this variable, for
   6752 example:
   6753 
   6754      #+ARCHIVE: %s_done::
   6755 
   6756    If you would like to have a special archive location for a single
   6757 entry or a (sub)tree, give the entry an ‘ARCHIVE’ property with the
   6758 location as the value (see *note Properties and Columns::).
   6759 
   6760    When a subtree is moved, it receives a number of special properties
   6761 that record context information like the file from where the entry came,
   6762 its outline path the archiving time etc.  Configure the variable
   6763 ‘org-archive-save-context-info’ to adjust the amount of information
   6764 added.
   6765 
   6766    When ‘org-archive-subtree-save-file-p’ is non-‘nil’, save the target
   6767 archive buffer.
   6768 
   6769 
   6770 File: org.info,  Node: Internal archiving,  Prev: Moving subtrees,  Up: Archiving
   6771 
   6772 9.2.2 Internal archiving
   6773 ------------------------
   6774 
   6775 If you want to just switch off—for agenda views—certain subtrees without
   6776 moving them to a different file, you can use the ‘ARCHIVE’ tag.
   6777 
   6778    A headline that is marked with the ‘ARCHIVE’ tag (see *note Tags::)
   6779 stays at its location in the outline tree, but behaves in the following
   6780 way:
   6781 
   6782    • It does not open when you attempt to do so with a visibility
   6783      cycling command (see *note Visibility Cycling::).  You can force
   6784      cycling archived subtrees with ‘C-c C-<TAB>’, or by setting the
   6785      option ‘org-cycle-open-archived-trees’.  Also normal outline
   6786      commands, like ‘org-show-all’, open archived subtrees.
   6787 
   6788    • During sparse tree construction (see *note Sparse Trees::), matches
   6789      in archived subtrees are not exposed, unless you configure the
   6790      option ‘org-sparse-tree-open-archived-trees’.
   6791 
   6792    • During agenda view construction (see *note Agenda Views::), the
   6793      content of archived trees is ignored unless you configure the
   6794      option ‘org-agenda-skip-archived-trees’, in which case these trees
   6795      are always included.  In the agenda you can press ‘v a’ to get
   6796      archives temporarily included.
   6797 
   6798    • Archived trees are not exported (see *note Exporting::), only the
   6799      headline is.  Configure the details using the variable
   6800      ‘org-export-with-archived-trees’.
   6801 
   6802    • Archived trees are excluded from column view unless the variable
   6803      ‘org-columns-skip-archived-trees’ is configured to ‘nil’.
   6804 
   6805    The following commands help manage the ‘ARCHIVE’ tag:
   6806 
   6807 ‘C-c C-x a’ (‘org-toggle-archive-tag’)
   6808      Toggle the archive tag for the current headline.  When the tag is
   6809      set, the headline changes to a shadowed face, and the subtree below
   6810      it is hidden.
   6811 
   6812 ‘C-u C-c C-x a’
   6813      Check if any direct children of the current headline should be
   6814      archived.  To do this, check each subtree for open TODO entries.
   6815      If none is found, the command offers to set the ‘ARCHIVE’ tag for
   6816      the child.  If point is _not_ on a headline when this command is
   6817      invoked, check the level 1 trees.
   6818 
   6819 ‘C-c C-<TAB>’ (‘org-cycle-force-archived’)
   6820      Cycle a tree even if it is tagged with ‘ARCHIVE’.
   6821 
   6822 ‘C-c C-x A’ (‘org-archive-to-archive-sibling’)
   6823      Move the current entry to the _Archive Sibling_.  This is a sibling
   6824      of the entry with the heading ‘Archive’ and the archive tag.  The
   6825      entry becomes a child of that sibling and in this way retains a lot
   6826      of its original context, including inherited tags and approximate
   6827      position in the outline.
   6828 
   6829 
   6830 File: org.info,  Node: Capture and Attachments,  Next: Agenda Views,  Prev: Refiling and Archiving,  Up: Top
   6831 
   6832 10 Capture and Attachments
   6833 **************************
   6834 
   6835 An important part of any organization system is the ability to quickly
   6836 capture new ideas and tasks, and to associate reference material with
   6837 them.  Org does this using a process called _capture_.  It also can
   6838 store files related to a task (_attachments_) in a special directory.
   6839 Finally, it can parse RSS feeds for information.  To learn how to let
   6840 external programs (for example a web browser) trigger Org to capture
   6841 material, see *note Protocols::.
   6842 
   6843 * Menu:
   6844 
   6845 * Capture::                      Capturing new stuff.
   6846 * Attachments::                  Attach files to outlines.
   6847 * RSS Feeds::                    Getting input from RSS feeds.
   6848 
   6849 
   6850 File: org.info,  Node: Capture,  Next: Attachments,  Up: Capture and Attachments
   6851 
   6852 10.1 Capture
   6853 ============
   6854 
   6855 Capture lets you quickly store notes with little interruption of your
   6856 work flow.  Org’s method for capturing new items is heavily inspired by
   6857 John Wiegley’s excellent Remember package.
   6858 
   6859 * Menu:
   6860 
   6861 * Setting up capture::           Where notes will be stored.
   6862 * Using capture::                Commands to invoke and terminate capture.
   6863 * Capture templates::            Define the outline of different note types.
   6864 
   6865 
   6866 File: org.info,  Node: Setting up capture,  Next: Using capture,  Up: Capture
   6867 
   6868 10.1.1 Setting up capture
   6869 -------------------------
   6870 
   6871 The following customization sets a default target file for notes.
   6872 
   6873      (setq org-default-notes-file (concat org-directory "/notes.org"))
   6874 
   6875    You may also define a global key for capturing new material (see
   6876 *note Activation::).
   6877 
   6878 
   6879 File: org.info,  Node: Using capture,  Next: Capture templates,  Prev: Setting up capture,  Up: Capture
   6880 
   6881 10.1.2 Using capture
   6882 --------------------
   6883 
   6884 ‘M-x org-capture’ (‘org-capture’)
   6885      Display the capture templates menu.  If you have templates defined
   6886      (see *note Capture templates::), it offers these templates for
   6887      selection or use a new Org outline node as the default template.
   6888      It inserts the template into the target file and switch to an
   6889      indirect buffer narrowed to this new node.  You may then insert the
   6890      information you want.
   6891 
   6892 ‘C-c C-c’ (‘org-capture-finalize’)
   6893      Once you have finished entering information into the capture
   6894      buffer, ‘C-c C-c’ returns you to the window configuration before
   6895      the capture process, so that you can resume your work without
   6896      further distraction.  When called with a prefix argument, finalize
   6897      and then jump to the captured item.
   6898 
   6899 ‘C-c C-w’ (‘org-capture-refile’)
   6900      Finalize the capture process by refiling the note to a different
   6901      place (see *note Refile and Copy::).  Please realize that this is a
   6902      normal refiling command that will be executed—so point position at
   6903      the moment you run this command is important.  If you have inserted
   6904      a tree with a parent and children, first move point back to the
   6905      parent.  Any prefix argument given to this command is passed on to
   6906      the ‘org-refile’ command.
   6907 
   6908 ‘C-c C-k’ (‘org-capture-kill’)
   6909      Abort the capture process and return to the previous state.
   6910 
   6911    You can also call ‘org-capture’ in a special way from the agenda,
   6912 using the ‘k c’ key combination.  With this access, any timestamps
   6913 inserted by the selected capture template defaults to the date at point
   6914 in the agenda, rather than to the current date.
   6915 
   6916    To find the locations of the last stored capture, use ‘org-capture’
   6917 with prefix commands:
   6918 
   6919 ‘C-u M-x org-capture’
   6920      Visit the target location of a capture template.  You get to select
   6921      the template in the usual way.
   6922 
   6923 ‘C-u C-u M-x org-capture’
   6924      Visit the last stored capture item in its buffer.
   6925 
   6926    You can also jump to the bookmark ‘org-capture-last-stored’, which is
   6927 automatically created unless you set ‘org-capture-bookmark’ to ‘nil’.
   6928 
   6929    To insert the capture at point in an Org buffer, call ‘org-capture’
   6930 with a ‘C-0’ prefix argument.
   6931 
   6932 
   6933 File: org.info,  Node: Capture templates,  Prev: Using capture,  Up: Capture
   6934 
   6935 10.1.3 Capture templates
   6936 ------------------------
   6937 
   6938 You can use templates for different types of capture items, and for
   6939 different target locations.  The easiest way to create such templates is
   6940 through the customize interface.
   6941 
   6942 ‘C’
   6943      Customize the variable ‘org-capture-templates’.
   6944 
   6945    Before we give the formal description of template definitions, let’s
   6946 look at an example.  Say you would like to use one template to create
   6947 general TODO entries, and you want to put these entries under the
   6948 heading ‘Tasks’ in your file ‘~/org/gtd.org’.  Also, a date tree in the
   6949 file ‘journal.org’ should capture journal entries.  A possible
   6950 configuration would look like:
   6951 
   6952      (setq org-capture-templates
   6953            '(("t" "Todo" entry (file+headline "~/org/gtd.org" "Tasks")
   6954               "* TODO %?\n  %i\n  %a")
   6955              ("j" "Journal" entry (file+datetree "~/org/journal.org")
   6956               "* %?\nEntered on %U\n  %i\n  %a")))
   6957 
   6958    If you then press ‘t’ from the capture menu, Org will prepare the
   6959 template for you like this:
   6960 
   6961      * TODO
   6962        [[file:LINK TO WHERE YOU INITIATED CAPTURE]]
   6963 
   6964 During expansion of the template, ‘%a’ has been replaced by a link to
   6965 the location from where you called the capture command.  This can be
   6966 extremely useful for deriving tasks from emails, for example.  You fill
   6967 in the task definition, press ‘C-c C-c’ and Org returns you to the same
   6968 place where you started the capture process.
   6969 
   6970    To define special keys to capture to a particular template without
   6971 going through the interactive template selection, you can create your
   6972 key binding like this:
   6973 
   6974      (define-key global-map (kbd "C-c x")
   6975        (lambda () (interactive) (org-capture nil "x")))
   6976 
   6977 * Menu:
   6978 
   6979 * Template elements::            What is needed for a complete template entry.
   6980 * Template expansion::           Filling in information about time and context.
   6981 * Templates in contexts::        Only show a template in a specific context.
   6982 
   6983 
   6984 File: org.info,  Node: Template elements,  Next: Template expansion,  Up: Capture templates
   6985 
   6986 10.1.3.1 Template elements
   6987 ..........................
   6988 
   6989 Now lets look at the elements of a template definition.  Each entry in
   6990 ‘org-capture-templates’ is a list with the following items:
   6991 
   6992 keys
   6993      The keys that selects the template, as a string, characters only,
   6994      for example ‘"a"’, for a template to be selected with a single key,
   6995      or ‘"bt"’ for selection with two keys.  When using several keys,
   6996      keys using the same prefix key must be sequential in the list and
   6997      preceded by a 2-element entry explaining the prefix key, for
   6998      example:
   6999 
   7000           ("b" "Templates for marking stuff to buy")
   7001 
   7002      If you do not define a template for the ‘C’ key, this key opens the
   7003      Customize buffer for this complex variable.
   7004 
   7005 description
   7006      A short string describing the template, shown during selection.
   7007 
   7008 type
   7009      The type of entry, a symbol.  Valid values are:
   7010 
   7011      ‘entry’
   7012           An Org mode node, with a headline.  Will be filed as the child
   7013           of the target entry or as a top-level entry.  The target file
   7014           should be an Org file.
   7015 
   7016      ‘item’
   7017           A plain list item, placed in the first plain list at the
   7018           target location.  Again the target file should be an Org file.
   7019 
   7020      ‘checkitem’
   7021           A checkbox item.  This only differs from the plain list item
   7022           by the default template.
   7023 
   7024      ‘table-line’
   7025           A new line in the first table at the target location.  Where
   7026           exactly the line will be inserted depends on the properties
   7027           ‘:prepend’ and ‘:table-line-pos’ (see below).
   7028 
   7029      ‘plain’
   7030           Text to be inserted as it is.
   7031 
   7032 target
   7033      Specification of where the captured item should be placed.  In Org
   7034      files, targets usually define a node.  Entries will become children
   7035      of this node.  Other types will be added to the table or list in
   7036      the body of this node.  Most target specifications contain a file
   7037      name.  If that file name is the empty string, it defaults to
   7038      ‘org-default-notes-file’.  A file can also be given as a variable
   7039      or as a function called with no argument.  When an absolute path is
   7040      not specified for a target, it is taken as relative to
   7041      ‘org-directory’.
   7042 
   7043      Valid values are:
   7044 
   7045      ‘(file "path/to/file")’
   7046           Text will be placed at the beginning or end of that file.
   7047 
   7048      ‘(id "id of existing org entry")’
   7049           Filing as child of this entry, or in the body of the entry.
   7050 
   7051      ‘(file+headline "filename" "node headline")’
   7052           Fast configuration if the target heading is unique in the
   7053           file.
   7054 
   7055      ‘(file+olp "filename" "Level 1 heading" "Level 2" ...)’
   7056           For non-unique headings, the full path is safer.
   7057 
   7058      ‘(file+regexp "filename" "regexp to find location")’
   7059           Use a regular expression to position point.
   7060 
   7061      ‘(file+olp+datetree "filename" [ "Level 1 heading" ...])’
   7062           This target(1) creates a heading in a date tree(2) for today’s
   7063           date.  If the optional outline path is given, the tree will be
   7064           built under the node it is pointing to, instead of at top
   7065           level.  Check out the ‘:time-prompt’ and ‘:tree-type’
   7066           properties below for additional options.
   7067 
   7068      ‘(file+function "filename" function-finding-location)’
   7069           A function to find the right location in the file.
   7070 
   7071      ‘(clock)’
   7072           File to the entry that is currently being clocked.
   7073 
   7074      ‘(function function-finding-location)’
   7075           Most general way: write your own function which both visits
   7076           the file and moves point to the right location.
   7077 
   7078 template
   7079      The template for creating the capture item.  If you leave this
   7080      empty, an appropriate default template will be used.  Otherwise
   7081      this is a string with escape codes, which will be replaced
   7082      depending on time and context of the capture call.  You may also
   7083      get this template string from a file(3), or dynamically, from a
   7084      function using either syntax:
   7085 
   7086           (file "/path/to/template-file")
   7087           (function FUNCTION-RETURNING-THE-TEMPLATE)
   7088 
   7089 properties
   7090      The rest of the entry is a property list of additional options.
   7091      Recognized properties are:
   7092 
   7093      ‘:prepend’
   7094           Normally new captured information will be appended at the
   7095           target location (last child, last table line, last list item,
   7096           ...).  Setting this property changes that.
   7097 
   7098      ‘:immediate-finish’
   7099           When set, do not offer to edit the information, just file it
   7100           away immediately.  This makes sense if the template only needs
   7101           information that can be added automatically.
   7102 
   7103      ‘:jump-to-captured’
   7104           When set, jump to the captured entry when finished.
   7105 
   7106      ‘:empty-lines’
   7107           Set this to the number of lines to insert before and after the
   7108           new item.  Default 0, and the only other common value is 1.
   7109 
   7110      ‘:empty-lines-after’
   7111           Set this to the number of lines that should be inserted after
   7112           the new item.  Overrides ‘:empty-lines’ for the number of
   7113           lines inserted after.
   7114 
   7115      ‘:empty-lines-before’
   7116           Set this to the number of lines that should be inserted before
   7117           the new item.  Overrides ‘:empty-lines’ for the number lines
   7118           inserted before.
   7119 
   7120      ‘:clock-in’
   7121           Start the clock in this item.
   7122 
   7123      ‘:clock-keep’
   7124           Keep the clock running when filing the captured entry.
   7125 
   7126      ‘:clock-resume’
   7127           If starting the capture interrupted a clock, restart that
   7128           clock when finished with the capture.  Note that ‘:clock-keep’
   7129           has precedence over ‘:clock-resume’.  When setting both to
   7130           non-‘nil’, the current clock will run and the previous one
   7131           will not be resumed.
   7132 
   7133      ‘:time-prompt’
   7134           Prompt for a date/time to be used for date/week trees and when
   7135           filling the template.  Without this property, capture uses the
   7136           current date and time.  Even if this property has not been
   7137           set, you can force the same behavior by calling ‘org-capture’
   7138           with a ‘C-1’ prefix argument.
   7139 
   7140      ‘:tree-type’
   7141           Use ‘week’ to make a week tree instead of the month-day tree,
   7142           i.e., place the headings for each day under a heading with the
   7143           current ISO week.  Use ‘month’ to group entries by month only.
   7144           Default is to group entries by day.
   7145 
   7146      ‘:unnarrowed’
   7147           Do not narrow the target buffer, simply show the full buffer.
   7148           Default is to narrow it so that you only see the new material.
   7149 
   7150      ‘:table-line-pos’
   7151           Specification of the location in the table where the new line
   7152           should be inserted.  It should be a string like ‘II-3’ meaning
   7153           that the new line should become the third line before the
   7154           second horizontal separator line.
   7155 
   7156      ‘:kill-buffer’
   7157           If the target file was not yet visited when capture was
   7158           invoked, kill the buffer again after capture is completed.
   7159 
   7160      ‘:no-save’
   7161           Do not save the target file after finishing the capture.
   7162 
   7163      ‘:refile-targets’
   7164           Temporarily set ‘org-refile-targets’ to the value of this
   7165           property.
   7166 
   7167      ‘:hook’
   7168           A nullary function or list of nullary functions run before
   7169           ‘org-capture-mode-hook’ when the template is selected.
   7170      ‘:prepare-finalize’
   7171           A nullary function or list of nullary functions run before
   7172           ‘org-capture-prepare-finalize-hook’ when the template is
   7173           selected.
   7174 
   7175      ‘:before-finalize’
   7176           A nullary function or list of nullary functions run before
   7177           ‘org-capture-before-finalize-hook’ when the template is
   7178           selected.
   7179 
   7180      ‘:after-finalize’
   7181           A nullary function or list of nullary functions run before
   7182           ‘org-capture-after-finalize-hook’ when the template is
   7183           selected.
   7184 
   7185    ---------- Footnotes ----------
   7186 
   7187    (1) Org used to offer four different targets for date/week tree
   7188 capture.  Now, Org automatically translates these to use
   7189 ‘file+olp+datetree’, applying the ‘:time-prompt’ and ‘:tree-type’
   7190 properties.  Please rewrite your date/week-tree targets using
   7191 ‘file+olp+datetree’ since the older targets are now deprecated.
   7192 
   7193    (2) A date tree is an outline structure with years on the highest
   7194 level, months or ISO weeks as sublevels and then dates on the lowest
   7195 level.
   7196 
   7197      * 2022
   7198      ** 2022-10 October
   7199      *** 2022-10-07 Friday
   7200      *** 2022-10-08 Saturday
   7201 
   7202    Tags are allowed in the tree structure.
   7203 
   7204    (3) When the file name is not absolute, Org assumes it is relative to
   7205 ‘org-directory’.
   7206 
   7207 
   7208 File: org.info,  Node: Template expansion,  Next: Templates in contexts,  Prev: Template elements,  Up: Capture templates
   7209 
   7210 10.1.3.2 Template expansion
   7211 ...........................
   7212 
   7213 In the template itself, special “%-escapes”(1) allow dynamic insertion
   7214 of content.  The templates are expanded in the order given here:
   7215 
   7216 ‘%[FILE]’
   7217      Insert the contents of the file given by FILE.
   7218 
   7219 ‘%(EXP)’
   7220      Evaluate Elisp expression EXP and replace it with the result.  The
   7221      EXP form must return a string.  Only placeholders pre-existing
   7222      within the template, or introduced with ‘%[file]’, are expanded
   7223      this way.  Since this happens after expanding non-interactive
   7224      “%-escapes”, those can be used to fill the expression.
   7225 
   7226 ‘%<FORMAT>’
   7227      The result of format-time-string on the FORMAT specification.
   7228 
   7229 ‘%t’
   7230      Timestamp, date only.
   7231 
   7232 ‘%T’
   7233      Timestamp, with date and time.
   7234 
   7235 ‘%u’, ‘%U’
   7236      Like ‘%t’, ‘%T’ above, but inactive timestamps.
   7237 
   7238 ‘%i’
   7239      Initial content, the region when capture is called while the region
   7240      is active.  If there is text before ‘%i’ on the same line, such as
   7241      indentation, and ‘%i’ is not inside a ‘%(exp)’ form, that prefix is
   7242      added before every line in the inserted text.
   7243 
   7244 ‘%a’
   7245      Annotation, normally the link created with ‘org-store-link’.
   7246 
   7247 ‘%A’
   7248      Like ‘%a’, but prompt for the description part.
   7249 
   7250 ‘%l’
   7251      Like ‘%a’, but only insert the literal link.
   7252 
   7253 ‘%L’
   7254      Like ‘%l’, but without brackets (the link content itself).
   7255 
   7256 ‘%c’
   7257      Current kill ring head.
   7258 
   7259 ‘%x’
   7260      Content of the X clipboard.
   7261 
   7262 ‘%k’
   7263      Title of the currently clocked task.
   7264 
   7265 ‘%K’
   7266      Link to the currently clocked task.
   7267 
   7268 ‘%n’
   7269      User name (taken from ‘user-full-name’).
   7270 
   7271 ‘%f’
   7272      File visited by current buffer when org-capture was called.
   7273 
   7274 ‘%F’
   7275      Full path of the file or directory visited by current buffer.
   7276 
   7277 ‘%:keyword’
   7278      Specific information for certain link types, see below.
   7279 
   7280 ‘%^g’
   7281      Prompt for tags, with completion on tags in target file.
   7282 
   7283 ‘%^G’
   7284      Prompt for tags, with completion all tags in all agenda files.
   7285 
   7286 ‘%^t’
   7287      Like ‘%t’, but prompt for date.  Similarly ‘%^T’, ‘%^u’, ‘%^U’.
   7288      You may define a prompt like ‘%^{Birthday}t’.
   7289 
   7290 ‘%^C’
   7291      Interactive selection of which kill or clip to use.
   7292 
   7293 ‘%^L’
   7294      Like ‘%^C’, but insert as link.
   7295 
   7296 ‘%^{PROP}p’
   7297      Prompt the user for a value for property PROP.  You may specify a
   7298      default value with ‘%^{PROP|default}’.
   7299 
   7300 ‘%^{PROMPT}’
   7301      Prompt the user for a string and replace this sequence with it.
   7302      You may specify a default value and a completion table with
   7303      ‘%^{prompt|default|completion2|completion3...}’.  The arrow keys
   7304      access a prompt-specific history.
   7305 
   7306 ‘%\N’
   7307      Insert the text entered at the Nth ‘%^{PROMPT}’, where N is a
   7308      number, starting from 1.
   7309 
   7310 ‘%?’
   7311      After completing the template, position point here.
   7312 
   7313    For specific link types, the following keywords are defined(2):
   7314 
   7315 Link type      Available keywords
   7316 --------------------------------------------------------------------------
   7317 bbdb           ‘%:name’, ‘%:company’
   7318 irc            ‘%:server’, ‘%:port’, ‘%:nick’
   7319 mh, rmail      ‘%:type’, ‘%:subject’, ‘%:message-id’
   7320                ‘%:from’, ‘%:fromname’, ‘%:fromaddress’
   7321                ‘%:to’, ‘%:toname’, ‘%:toaddress’
   7322                ‘%:date’ (message date header field)
   7323                ‘%:date-timestamp’ (date as active timestamp)
   7324                ‘%:date-timestamp-inactive’ (date as inactive timestamp)
   7325                ‘%:fromto’ (either “to NAME” or “from NAME”)(3)
   7326 gnus           ‘%:group’, for messages also all email fields
   7327 w3, w3m        ‘%:url’
   7328 info           ‘%:file’, ‘%:node’
   7329 calendar       ‘%:date’
   7330 org-protocol   ‘%:link’, ‘%:description’, ‘%:annotation’
   7331 
   7332    ---------- Footnotes ----------
   7333 
   7334    (1) If you need one of these sequences literally, escape the ‘%’ with
   7335 a backslash.
   7336 
   7337    (2) If you define your own link types (see *note Adding Hyperlink
   7338 Types::), any property you store with ‘org-store-link-props’ can be
   7339 accessed in capture templates in a similar way.
   7340 
   7341    (3) This is always the other, not the user.  See the variable
   7342 ‘org-link-from-user-regexp’.
   7343 
   7344 
   7345 File: org.info,  Node: Templates in contexts,  Prev: Template expansion,  Up: Capture templates
   7346 
   7347 10.1.3.3 Templates in contexts
   7348 ..............................
   7349 
   7350 To control whether a capture template should be accessible from a
   7351 specific context, you can customize ‘org-capture-templates-contexts’.
   7352 Let’s say, for example, that you have a capture template “p” for storing
   7353 Gnus emails containing patches.  Then you would configure this option
   7354 like this:
   7355 
   7356      (setq org-capture-templates-contexts
   7357            '(("p" ((in-mode . "message-mode")))))
   7358 
   7359    You can also tell that the command key ‘p’ should refer to another
   7360 template.  In that case, add this command key like this:
   7361 
   7362      (setq org-capture-templates-contexts
   7363            '(("p" "q" ((in-mode . "message-mode")))))
   7364 
   7365    See the docstring of the variable for more information.
   7366 
   7367 
   7368 File: org.info,  Node: Attachments,  Next: RSS Feeds,  Prev: Capture,  Up: Capture and Attachments
   7369 
   7370 10.2 Attachments
   7371 ================
   7372 
   7373 It is often useful to associate reference material with an outline node.
   7374 Small chunks of plain text can simply be stored in the subtree of a
   7375 project.  Hyperlinks (see *note Hyperlinks::) can establish associations
   7376 with files that live elsewhere on a local, or even remote, computer,
   7377 like emails or source code files belonging to a project.
   7378 
   7379    Another method is _attachments_, which are files located in a
   7380 directory belonging to an outline node.  Org uses directories either
   7381 named by a unique ID of each entry, or by a ‘DIR’ property.
   7382 
   7383 * Menu:
   7384 
   7385 * Attachment defaults and dispatcher:: How to access attachment commands
   7386 * Attachment options::           Configuring the attachment system
   7387 * Attachment links::             Hyperlink access to attachments
   7388 * Automatic version-control with Git:: Everything safely stored away
   7389 * Attach from Dired::            Using dired to select an attachment
   7390 
   7391 
   7392 File: org.info,  Node: Attachment defaults and dispatcher,  Next: Attachment options,  Up: Attachments
   7393 
   7394 10.2.1 Attachment defaults and dispatcher
   7395 -----------------------------------------
   7396 
   7397 By default, Org attach uses ID properties when adding attachments to
   7398 outline nodes.  This makes working with attachments fully automated.
   7399 There is no decision needed for folder-name or location.  ID-based
   7400 directories are by default located in the ‘data/’ directory, which lives
   7401 in the same directory where your Org file lives(1).
   7402 
   7403    When attachments are made using ‘org-attach’ a default tag ‘ATTACH’
   7404 is added to the node that gets the attachments.
   7405 
   7406    For more control over the setup, see *note Attachment options::.
   7407 
   7408    The following commands deal with attachments:
   7409 
   7410 ‘C-c C-a’ (‘org-attach’)
   7411      The dispatcher for commands related to the attachment system.
   7412      After these keys, a list of commands is displayed and you must
   7413      press an additional key to select a command:
   7414 
   7415      ‘a’ (‘org-attach-attach’)
   7416           Select a file and move it into the task’s attachment
   7417           directory.  The file is copied, moved, or linked, depending on
   7418           ‘org-attach-method’.  Note that hard links are not supported
   7419           on all systems.
   7420 
   7421      ‘c’/‘m’/‘l’
   7422           Attach a file using the copy/move/link method.  Note that hard
   7423           links are not supported on all systems.
   7424 
   7425      ‘b’ (‘org-attach-buffer’)
   7426           Select a buffer and save it as a file in the task’s attachment
   7427           directory.
   7428 
   7429      ‘n’ (‘org-attach-new’)
   7430           Create a new attachment as an Emacs buffer.
   7431 
   7432      ‘z’ (‘org-attach-sync’)
   7433           Synchronize the current task with its attachment directory, in
   7434           case you added attachments yourself.
   7435 
   7436      ‘o’ (‘org-attach-open’)
   7437           Open current task’s attachment.  If there is more than one,
   7438           prompt for a file name first.  Opening follows the rules set
   7439           by ‘org-file-apps’.  For more details, see the information on
   7440           following hyperlinks (see *note Handling Links::).
   7441 
   7442      ‘O’ (‘org-attach-open-in-emacs’)
   7443           Also open the attachment, but force opening the file in Emacs.
   7444 
   7445      ‘f’ (‘org-attach-reveal’)
   7446           Open the current task’s attachment directory.
   7447 
   7448      ‘F’ (‘org-attach-reveal-in-emacs’)
   7449           Also open the directory, but force using Dired in Emacs.
   7450 
   7451      ‘d’ (‘org-attach-delete-one’)
   7452           Select and delete a single attachment.
   7453 
   7454      ‘D’ (‘org-attach-delete-all’)
   7455           Delete all of a task’s attachments.  A safer way is to open
   7456           the directory in Dired and delete from there.
   7457 
   7458      ‘s’ (‘org-attach-set-directory’)
   7459           Set a specific directory as the entry’s attachment directory.
   7460           This works by putting the directory path into the ‘DIR’
   7461           property.
   7462 
   7463      ‘S’ (‘org-attach-unset-directory’)
   7464           Remove the attachment directory.  This command removes the
   7465           ‘DIR’ property and asks the user to either move content inside
   7466           that folder, if an ‘ID’ property is set, delete the content,
   7467           or to leave the attachment directory as is but no longer
   7468           attached to the outline node.
   7469 
   7470    ---------- Footnotes ----------
   7471 
   7472    (1) If you move entries or Org files from one directory to another,
   7473 you may want to configure ‘org-attach-id-dir’ to contain an absolute
   7474 path.
   7475 
   7476 
   7477 File: org.info,  Node: Attachment options,  Next: Attachment links,  Prev: Attachment defaults and dispatcher,  Up: Attachments
   7478 
   7479 10.2.2 Attachment options
   7480 -------------------------
   7481 
   7482 There are a couple of options for attachments that are worth mentioning.
   7483 
   7484 ‘org-attach-id-dir’
   7485      The directory where attachments are stored when ‘ID’ is used as
   7486      method.
   7487 
   7488 ‘org-attach-dir-relative’
   7489      When setting the ‘DIR’ property on a node using ‘C-c C-a s’
   7490      (‘org-attach-set-directory’), absolute links are entered by
   7491      default.  This option changes that to relative links.
   7492 
   7493 ‘org-attach-use-inheritance’
   7494      By default folders attached to an outline node are inherited from
   7495      parents according to ‘org-use-property-inheritance’.  If one
   7496      instead want to set inheritance specifically for Org attach that
   7497      can be done using ‘org-attach-use-inheritance’.  Inheriting
   7498      documents through the node hierarchy makes a lot of sense in most
   7499      cases.  Especially when using attachment links (see *note
   7500      Attachment links::).  The following example shows one use case for
   7501      attachment inheritance:
   7502 
   7503           * Chapter A ...
   7504             :PROPERTIES:
   7505             :DIR: Chapter A/
   7506             :END:
   7507           ** Introduction
   7508           Some text
   7509 
   7510           #+NAME: Image 1
   7511           [[attachment:image 1.jpg]]
   7512 
   7513      Without inheritance one would not be able to resolve the link to
   7514      ‘image 1.jpg’, since the link is inside a sub-heading to ‘Chapter
   7515      A’.
   7516 
   7517      Inheritance works the same way for both ‘ID’ and ‘DIR’ property.
   7518      If both properties are defined on the same headline then ‘DIR’
   7519      takes precedence.  This is also true if inheritance is enabled.  If
   7520      ‘DIR’ is inherited from a parent node in the outline, that property
   7521      still takes precedence over an ‘ID’ property defined on the node
   7522      itself.
   7523 
   7524 ‘org-attach-method’
   7525      When attaching files using the dispatcher ‘C-c C-a’ it defaults to
   7526      copying files.  The behavior can be changed by customizing
   7527      ‘org-attach-method’.  Options are Copy, Move/Rename, Hard link or
   7528      Symbolic link.
   7529 
   7530 ‘org-attach-preferred-new-method’
   7531      This customization lets you choose the default way to attach to
   7532      nodes without existing ‘ID’ and ‘DIR’ property.  It defaults to
   7533      ‘id’ but can also be set to ‘dir’, ‘ask’ or ‘nil’.
   7534 
   7535 ‘org-attach-archive-delete’
   7536      Configure this to determine if attachments should be deleted or not
   7537      when a subtree that has attachments is archived.
   7538 
   7539 ‘org-attach-auto-tag’
   7540      When attaching files to a heading it will be assigned a tag
   7541      according to what is set here.
   7542 
   7543 ‘org-attach-id-to-path-function-list’
   7544      When ‘ID’ is used for attachments, the ID is parsed into a part of
   7545      a directory-path.  See ‘org-attach-id-uuid-folder-format’ for the
   7546      default function.  Define a new one and add it as first element in
   7547      ‘org-attach-id-to-path-function-list’ if you want the folder
   7548      structure in any other way.  All functions in this list will be
   7549      tried when resolving existing ID’s into paths, to maintain backward
   7550      compatibility with existing folders in your system.
   7551 
   7552 ‘org-attach-store-link-p’
   7553      Stores a link to the file that is being attached.  The link is
   7554      stored in ‘org-stored-links’ for later insertion with ‘C-c C-l’
   7555      (see *note Handling Links::).  Depending on what option is set in
   7556      ‘org-attach-store-link-p’, the link is stored to either the
   7557      original location as a file link, the attachment location as an
   7558      attachment link or to the attachment location as a file link.
   7559 
   7560 ‘org-attach-commands’
   7561      List of all commands used in the attach dispatcher.
   7562 
   7563 ‘org-attach-expert’
   7564      Do not show the splash buffer with the attach dispatcher when
   7565      ‘org-attach-expert’ is set to non-‘nil’.
   7566 
   7567    See customization group ‘Org Attach’ if you want to change the
   7568 default settings.
   7569 
   7570 
   7571 File: org.info,  Node: Attachment links,  Next: Automatic version-control with Git,  Prev: Attachment options,  Up: Attachments
   7572 
   7573 10.2.3 Attachment links
   7574 -----------------------
   7575 
   7576 Attached files and folders can be referenced using attachment links.
   7577 This makes it easy to refer to the material added to an outline node.
   7578 Especially if it was attached using the unique ID of the entry!
   7579 
   7580      * TODO Some task
   7581        :PROPERTIES:
   7582        :ID:       95d50008-c12e-479f-a4f2-cc0238205319
   7583        :END:
   7584      See attached document for more information: [[attachment:info.org]]
   7585 
   7586    See *note External Links:: for more information about these links.
   7587 
   7588 
   7589 File: org.info,  Node: Automatic version-control with Git,  Next: Attach from Dired,  Prev: Attachment links,  Up: Attachments
   7590 
   7591 10.2.4 Automatic version-control with Git
   7592 -----------------------------------------
   7593 
   7594 If the directory attached to an outline node is a Git repository, Org
   7595 can be configured to automatically commit changes to that repository
   7596 when it sees them.
   7597 
   7598    To make Org mode take care of versioning of attachments for you, add
   7599 the following to your Emacs config:
   7600 
   7601      (require 'org-attach-git)
   7602 
   7603 
   7604 File: org.info,  Node: Attach from Dired,  Prev: Automatic version-control with Git,  Up: Attachments
   7605 
   7606 10.2.5 Attach from Dired
   7607 ------------------------
   7608 
   7609 It is possible to attach files to a subtree from a Dired buffer.  To use
   7610 this feature, have one window in Dired mode containing the file(s) to be
   7611 attached and another window with point in the subtree that shall get the
   7612 attachments.  In the Dired window, with point on a file, ‘M-x
   7613 org-attach-dired-to-subtree’ attaches the file to the subtree using the
   7614 attachment method set by variable ‘org-attach-method’.  When files are
   7615 marked in the Dired window then all marked files get attached.
   7616 
   7617    Add the following lines to the Emacs init file to have ‘C-c C-x a’
   7618 attach files in Dired buffers.
   7619 
   7620      (add-hook 'dired-mode-hook
   7621                (lambda ()
   7622                  (define-key dired-mode-map
   7623                    (kbd "C-c C-x a")
   7624                    #'org-attach-dired-to-subtree)))
   7625 
   7626    The following code shows how to bind the previous command with a
   7627 specific attachment method.
   7628 
   7629      (add-hook 'dired-mode-hook
   7630                (lambda ()
   7631                  (define-key dired-mode-map (kbd "C-c C-x c")
   7632                    (lambda ()
   7633                      (interactive)
   7634                      (let ((org-attach-method 'cp))
   7635                        (call-interactively #'org-attach-dired-to-subtree))))))
   7636 
   7637 
   7638 File: org.info,  Node: RSS Feeds,  Prev: Attachments,  Up: Capture and Attachments
   7639 
   7640 10.3 RSS Feeds
   7641 ==============
   7642 
   7643 Org can add and change entries based on information found in RSS feeds
   7644 and Atom feeds.  You could use this to make a task out of each new
   7645 podcast in a podcast feed.  Or you could use a phone-based note-creating
   7646 service on the web to import tasks into Org.  To access feeds, configure
   7647 the variable ‘org-feed-alist’.  The docstring of this variable has
   7648 detailed information.  With the following
   7649 
   7650      (setq org-feed-alist
   7651            '(("Slashdot"
   7652               "https://rss.slashdot.org/Slashdot/slashdot"
   7653               "~/txt/org/feeds.org" "Slashdot Entries")))
   7654 
   7655 new items from the feed provided by ‘rss.slashdot.org’ result in new
   7656 entries in the file ‘~/org/feeds.org’ under the heading ‘Slashdot
   7657 Entries’, whenever the following command is used:
   7658 
   7659 ‘C-c C-x g’ (‘org-feed-update-all’)
   7660      Collect items from the feeds configured in ‘org-feed-alist’ and act
   7661      upon them.
   7662 
   7663 ‘C-c C-x G’ (‘org-feed-goto-inbox’)
   7664      Prompt for a feed name and go to the inbox configured for this
   7665      feed.
   7666 
   7667    Under the same headline, Org creates a drawer ‘FEEDSTATUS’ in which
   7668 it stores information about the status of items in the feed, to avoid
   7669 adding the same item several times.
   7670 
   7671    For more information, including how to read atom feeds, see
   7672 ‘org-feed.el’ and the docstring of ‘org-feed-alist’.
   7673 
   7674 
   7675 File: org.info,  Node: Agenda Views,  Next: Markup for Rich Contents,  Prev: Capture and Attachments,  Up: Top
   7676 
   7677 11 Agenda Views
   7678 ***************
   7679 
   7680 Due to the way Org works, TODO items, time-stamped items, and tagged
   7681 headlines can be scattered throughout a file or even a number of files.
   7682 To get an overview of open action items, or of events that are important
   7683 for a particular date, this information must be collected, sorted and
   7684 displayed in an organized way.
   7685 
   7686    Org can select items based on various criteria and display them in a
   7687 separate buffer.  Six different view types are provided:
   7688 
   7689    • an _agenda_ that is like a calendar and shows information for
   7690      specific dates,
   7691 
   7692    • a _TODO list_ that covers all unfinished action items,
   7693 
   7694    • a _match view_, showings headlines based on the tags, properties,
   7695      and TODO state associated with them,
   7696 
   7697    • a _text search view_ that shows all entries from multiple files
   7698      that contain specified keywords,
   7699 
   7700    • a _stuck projects view_ showing projects that currently do not move
   7701      along, and
   7702 
   7703    • _custom views_ that are special searches and combinations of
   7704      different views.
   7705 
   7706    The extracted information is displayed in a special _agenda buffer_.
   7707 This buffer is read-only, but provides commands to visit the
   7708 corresponding locations in the original Org files, and even to edit
   7709 these files remotely.
   7710 
   7711    By default, the report ignores commented (see *note Comment Lines::)
   7712 and archived (see *note Internal archiving::) entries.  You can override
   7713 this by setting ‘org-agenda-skip-comment-trees’ and
   7714 ‘org-agenda-skip-archived-trees’ to ‘nil’.
   7715 
   7716    Two variables control how the agenda buffer is displayed and whether
   7717 the window configuration is restored when the agenda exits:
   7718 ‘org-agenda-window-setup’ and ‘org-agenda-restore-windows-after-quit’.
   7719 
   7720 * Menu:
   7721 
   7722 * Agenda Files::                 Files being searched for agenda information.
   7723 * Agenda Dispatcher::            Keyboard access to agenda views.
   7724 * Built-in Agenda Views::        What is available out of the box?
   7725 * Presentation and Sorting::     How agenda items are prepared for display.
   7726 * Agenda Commands::              Remote editing of Org trees.
   7727 * Custom Agenda Views::          Defining special searches and views.
   7728 * Exporting Agenda Views::       Writing a view to a file.
   7729 * Agenda Column View::           Using column view for collected entries.
   7730 
   7731 
   7732 File: org.info,  Node: Agenda Files,  Next: Agenda Dispatcher,  Up: Agenda Views
   7733 
   7734 11.1 Agenda Files
   7735 =================
   7736 
   7737 The information to be shown is normally collected from all _agenda
   7738 files_, the files listed in the variable ‘org-agenda-files’(1).  If a
   7739 directory is part of this list, all files with the extension ‘.org’ in
   7740 this directory are part of the list.
   7741 
   7742    Thus, even if you only work with a single Org file, that file should
   7743 be put into the list(2).  You can customize ‘org-agenda-files’, but the
   7744 easiest way to maintain it is through the following commands
   7745 
   7746 ‘C-c [’ (‘org-agenda-file-to-front’)
   7747      Add current file to the list of agenda files.  The file is added to
   7748      the front of the list.  If it was already in the list, it is moved
   7749      to the front.  With a prefix argument, file is added/moved to the
   7750      end.
   7751 
   7752 ‘C-c ]’ (‘org-remove-file’)
   7753      Remove current file from the list of agenda files.
   7754 
   7755 ‘C-'’
   7756 ‘C-,’ (‘org-cycle-agenda-files’)
   7757      Cycle through agenda file list, visiting one file after the other.
   7758 
   7759 ‘M-x org-switchb’
   7760      Command to use an Iswitchb-like interface to switch to and between
   7761      Org buffers.
   7762 
   7763 The Org menu contains the current list of files and can be used to visit
   7764 any of them.
   7765 
   7766    If you would like to focus the agenda temporarily on a file not in
   7767 this list, or on just one file in the list, or even on only a subtree in
   7768 a file, then this can be done in different ways.  For a single agenda
   7769 command, you may press ‘<’ once or several times in the dispatcher (see
   7770 *note Agenda Dispatcher::).  To restrict the agenda scope for an
   7771 extended period, use the following commands:
   7772 
   7773 ‘C-c C-x <’ (‘org-agenda-set-restriction-lock’)
   7774      Restrict the agenda to the current subtree.  If there already is a
   7775      restriction at point, remove it.  When called with a universal
   7776      prefix argument or with point before the first headline in a file,
   7777      set the agenda scope to the entire file.  This restriction remains
   7778      in effect until removed with ‘C-c C-x >’, or by typing either ‘<’
   7779      or ‘>’ in the agenda dispatcher.  If there is a window displaying
   7780      an agenda view, the new restriction takes effect immediately.
   7781 
   7782 ‘C-c C-x >’ (‘org-agenda-remove-restriction-lock’)
   7783      Remove the restriction created by ‘C-c C-x <’.
   7784 
   7785    When working with Speedbar, you can use the following commands in the
   7786 Speedbar frame:
   7787 
   7788 ‘<’ (‘org-speedbar-set-agenda-restriction’)
   7789      Restrict the agenda to the item—either an Org file or a subtree in
   7790      such a file—at point in the Speedbar frame.  If agenda is already
   7791      restricted there, remove the restriction.  If there is a window
   7792      displaying an agenda view, the new restriction takes effect
   7793      immediately.
   7794 
   7795 ‘>’ (‘org-agenda-remove-restriction-lock’)
   7796      Remove the restriction.
   7797 
   7798    ---------- Footnotes ----------
   7799 
   7800    (1) If the value of that variable is not a list, but a single file
   7801 name, then the list of agenda files in maintained in that external file.
   7802 
   7803    (2) When using the dispatcher, pressing ‘<’ before selecting a
   7804 command actually limits the command to the current file, and ignores
   7805 ‘org-agenda-files’ until the next dispatcher command.
   7806 
   7807 
   7808 File: org.info,  Node: Agenda Dispatcher,  Next: Built-in Agenda Views,  Prev: Agenda Files,  Up: Agenda Views
   7809 
   7810 11.2 The Agenda Dispatcher
   7811 ==========================
   7812 
   7813 The views are created through a dispatcher, accessible with ‘M-x
   7814 org-agenda’, or, better, bound to a global key (see *note Activation::).
   7815 It displays a menu from which an additional letter is required to
   7816 execute a command.  The dispatcher offers the following default
   7817 commands:
   7818 
   7819 ‘a’
   7820      Create the calendar-like agenda (see *note Weekly/daily agenda::).
   7821 
   7822 ‘t’
   7823 ‘T’
   7824      Create a list of all TODO items (see *note Global TODO list::).
   7825 
   7826 ‘m’
   7827 ‘M’
   7828      Create a list of headlines matching a given expression (see *note
   7829      Matching tags and properties::).
   7830 
   7831 ‘s’
   7832      Create a list of entries selected by a boolean expression of
   7833      keywords and/or regular expressions that must or must not occur in
   7834      the entry.
   7835 
   7836 ‘/’
   7837      Search for a regular expression in all agenda files and
   7838      additionally in the files listed in
   7839      ‘org-agenda-text-search-extra-files’.  This uses the Emacs command
   7840      ‘multi-occur’.  A prefix argument can be used to specify the number
   7841      of context lines for each match, the default is 1.
   7842 
   7843 ‘#’
   7844      Create a list of stuck projects (see *note Stuck projects::).
   7845 
   7846 ‘!’
   7847      Configure the list of stuck projects (see *note Stuck projects::).
   7848 
   7849 ‘<’
   7850      Restrict an agenda command to the current buffer(1).  If narrowing
   7851      is in effect restrict to the narrowed part of the buffer.  After
   7852      pressing ‘<’, you still need to press the character selecting the
   7853      command.
   7854 
   7855 ‘< <’
   7856      If there is an active region, restrict the following agenda command
   7857      to the region.  Otherwise, restrict it to the current subtree(2).
   7858      After pressing ‘< <’, you still need to press the character
   7859      selecting the command.
   7860 
   7861 ‘*’
   7862      Toggle sticky agenda views.  By default, Org maintains only a
   7863      single agenda buffer and rebuilds it each time you change the view,
   7864      to make sure everything is always up to date.  If you switch
   7865      between views often and the build time bothers you, you can turn on
   7866      sticky agenda buffers (make this the default by customizing the
   7867      variable ‘org-agenda-sticky’).  With sticky agendas, the dispatcher
   7868      only switches to the selected view, you need to update it by hand
   7869      with ‘r’ or ‘g’.  You can toggle sticky agenda view any time with
   7870      ‘org-toggle-sticky-agenda’.
   7871 
   7872    You can also define custom commands that are accessible through the
   7873 dispatcher, just like the default commands.  This includes the
   7874 possibility to create extended agenda buffers that contain several
   7875 blocks together, for example the weekly agenda, the global TODO list and
   7876 a number of special tags matches.  See *note Custom Agenda Views::.
   7877 
   7878    ---------- Footnotes ----------
   7879 
   7880    (1) For backward compatibility, you can also press ‘1’ to restrict to
   7881 the current buffer.
   7882 
   7883    (2) For backward compatibility, you can also press ‘0’ to restrict to
   7884 the current region/subtree.
   7885 
   7886 
   7887 File: org.info,  Node: Built-in Agenda Views,  Next: Presentation and Sorting,  Prev: Agenda Dispatcher,  Up: Agenda Views
   7888 
   7889 11.3 The Built-in Agenda Views
   7890 ==============================
   7891 
   7892 In this section we describe the built-in views.
   7893 
   7894 * Menu:
   7895 
   7896 * Weekly/daily agenda::          The calendar page with current tasks.
   7897 * Global TODO list::             All unfinished action items.
   7898 * Matching tags and properties:: Structured information with fine-tuned search.
   7899 * Search view::                  Find entries by searching for text.
   7900 * Stuck projects::               Find projects you need to review.
   7901 
   7902 
   7903 File: org.info,  Node: Weekly/daily agenda,  Next: Global TODO list,  Up: Built-in Agenda Views
   7904 
   7905 11.3.1 Weekly/daily agenda
   7906 --------------------------
   7907 
   7908 The purpose of the weekly/daily _agenda_ is to act like a page of a
   7909 paper agenda, showing all the tasks for the current week or day.
   7910 
   7911 ‘M-x org-agenda a’ (‘org-agenda-list’)
   7912      Compile an agenda for the current week from a list of Org files.
   7913      The agenda shows the entries for each day.  With a numeric prefix
   7914      argument(1)—like ‘C-u 2 1 M-x org-agenda a’—you may set the number
   7915      of days to be displayed.
   7916 
   7917    The default number of days displayed in the agenda is set by the
   7918 variable ‘org-agenda-span’.  This variable can be set to any number of
   7919 days you want to see by default in the agenda, or to a span name, such a
   7920 ‘day’, ‘week’, ‘month’ or ‘year’.  For weekly agendas, the default is to
   7921 start on the previous Monday (see ‘org-agenda-start-on-weekday’).  You
   7922 can also set the start date using a date shift: ‘(setq
   7923 org-agenda-start-day "+10d")’ starts the agenda ten days from today in
   7924 the future.
   7925 
   7926    Remote editing from the agenda buffer means, for example, that you
   7927 can change the dates of deadlines and appointments from the agenda
   7928 buffer.  The commands available in the Agenda buffer are listed in *note
   7929 Agenda Commands::.
   7930 
   7931 Calendar/Diary integration
   7932 ..........................
   7933 
   7934 Emacs contains the calendar and diary by Edward M. Reingold.  The
   7935 calendar displays a three-month calendar with holidays from different
   7936 countries and cultures.  The diary allows you to keep track of
   7937 anniversaries, lunar phases, sunrise/set, recurrent appointments
   7938 (weekly, monthly) and more.  In this way, it is quite complementary to
   7939 Org.  It can be very useful to combine output from Org with the diary.
   7940 
   7941    In order to include entries from the Emacs diary into Org mode’s
   7942 agenda, you only need to customize the variable
   7943 
   7944      (setq org-agenda-include-diary t)
   7945 
   7946 After that, everything happens automatically.  All diary entries
   7947 including holidays, anniversaries, etc., are included in the agenda
   7948 buffer created by Org mode.  ‘<SPC>’, ‘<TAB>’, and ‘<RET>’ can be used
   7949 from the agenda buffer to jump to the diary file in order to edit
   7950 existing diary entries.  The ‘i’ command to insert new entries for the
   7951 current date works in the agenda buffer, as well as the commands ‘S’,
   7952 ‘M’, and ‘C’ to display Sunrise/Sunset times, show lunar phases and to
   7953 convert to other calendars, respectively.  ‘c’ can be used to switch
   7954 back and forth between calendar and agenda.
   7955 
   7956    If you are using the diary only for expression entries and holidays,
   7957 it is faster to not use the above setting, but instead to copy or even
   7958 move the entries into an Org file.  Org mode evaluates diary-style
   7959 expression entries, and does it faster because there is no overhead for
   7960 first creating the diary display.  Note that the expression entries must
   7961 start at the left margin, no whitespace is allowed before them, as seen
   7962 in the following segment of an Org file:(2)
   7963 
   7964      * Holidays
   7965        :PROPERTIES:
   7966        :CATEGORY: Holiday
   7967        :END:
   7968      %%(org-calendar-holiday)   ; special function for holiday names
   7969 
   7970      * Birthdays
   7971        :PROPERTIES:
   7972        :CATEGORY: Ann
   7973        :END:
   7974      %%(org-anniversary 1956  5 14) Arthur Dent is %d years old
   7975      %%(org-anniversary 1869 10  2) Mahatma Gandhi would be %d years old
   7976 
   7977 Anniversaries from BBDB
   7978 .......................
   7979 
   7980 If you are using the Insidious Big Brother Database to store your
   7981 contacts, you very likely prefer to store anniversaries in BBDB rather
   7982 than in a separate Org or diary file.  Org supports this and can show
   7983 BBDB anniversaries as part of the agenda.  All you need to do is to add
   7984 the following to one of your agenda files:
   7985 
   7986      * Anniversaries
   7987        :PROPERTIES:
   7988        :CATEGORY: Anniv
   7989        :END:
   7990      %%(org-bbdb-anniversaries)
   7991 
   7992    You can then go ahead and define anniversaries for a BBDB record.
   7993 Basically, you need a field named ‘anniversary’ for the BBDB record
   7994 which contains the date in the format ‘YYYY-MM-DD’ or ‘MM-DD’, followed
   7995 by a space and the class of the anniversary (‘birthday’, ‘wedding’, or a
   7996 format string).  If you omit the class, it defaults to ‘birthday’.  Here
   7997 are a few examples, the header for the file ‘ol-bbdb.el’ contains more
   7998 detailed information.
   7999 
   8000      1973-06-22
   8001      06-22
   8002      1955-08-02 wedding
   8003      2008-04-14 %s released version 6.01 of Org mode, %d years ago
   8004 
   8005    After a change to BBDB, or for the first agenda display during an
   8006 Emacs session, the agenda display suffers a short delay as Org updates
   8007 its hash with anniversaries.  However, from then on things will be very
   8008 fast, much faster in fact than a long list of ‘%%(diary-anniversary)’
   8009 entries in an Org or Diary file.
   8010 
   8011    If you would like to see upcoming anniversaries with a bit of
   8012 forewarning, you can use the following instead:
   8013 
   8014      * Anniversaries
   8015        :PROPERTIES:
   8016        :CATEGORY: Anniv
   8017        :END:
   8018      %%(org-bbdb-anniversaries-future 3)
   8019 
   8020    That will give you three days’ warning: on the anniversary date
   8021 itself and the two days prior.  The argument is optional: if omitted, it
   8022 defaults to 7.
   8023 
   8024 Appointment reminders
   8025 .....................
   8026 
   8027 Org can interact with Emacs appointments notification facility.  To add
   8028 the appointments of your agenda files, use the command
   8029 ‘org-agenda-to-appt’.  This command lets you filter through the list of
   8030 your appointments and add only those belonging to a specific category or
   8031 matching a regular expression.  It also reads a ‘APPT_WARNTIME’ property
   8032 which overrides the value of ‘appt-message-warning-time’ for this
   8033 appointment.  See the docstring for details.
   8034 
   8035    ---------- Footnotes ----------
   8036 
   8037    (1) For backward compatibility, the universal prefix argument ‘C-u’
   8038 causes all TODO entries to be listed before the agenda.  This feature is
   8039 deprecated, use the dedicated TODO list, or a block agenda instead (see
   8040 *note Block agenda::).
   8041 
   8042    (2) The variable ‘org-anniversary’ used in the example is just like
   8043 ‘diary-anniversary’, but the argument order is always according to ISO
   8044 and therefore independent of the value of ‘calendar-date-style’.
   8045 
   8046 
   8047 File: org.info,  Node: Global TODO list,  Next: Matching tags and properties,  Prev: Weekly/daily agenda,  Up: Built-in Agenda Views
   8048 
   8049 11.3.2 The global TODO list
   8050 ---------------------------
   8051 
   8052 The global TODO list contains all unfinished TODO items formatted and
   8053 collected into a single place.
   8054 
   8055 ‘M-x org-agenda t’ (‘org-todo-list’)
   8056      Show the global TODO list.  This collects the TODO items from all
   8057      agenda files (see *note Agenda Views::) into a single buffer.  By
   8058      default, this lists items with a state that is not a DONE state.
   8059      The buffer is in Agenda mode, so there are commands to examine and
   8060      manipulate the TODO entries directly from that buffer (see *note
   8061      Agenda Commands::).
   8062 
   8063 ‘M-x org-agenda T’ (‘org-todo-list’)
   8064      Like the above, but allows selection of a specific TODO keyword.
   8065      You can also do this by specifying a prefix argument to ‘t’.  You
   8066      are prompted for a keyword, and you may also specify several
   8067      keywords by separating them with ‘|’ as the boolean OR operator.
   8068      With a numeric prefix, the Nth keyword in ‘org-todo-keywords’ is
   8069      selected.
   8070 
   8071      The ‘r’ key in the agenda buffer regenerates it, and you can give a
   8072      prefix argument to this command to change the selected TODO
   8073      keyword, for example ‘3 r’.  If you often need a search for a
   8074      specific keyword, define a custom command for it (see *note Agenda
   8075      Dispatcher::).
   8076 
   8077      Matching specific TODO keywords can also be done as part of a tags
   8078      search (see *note Tag Searches::).
   8079 
   8080    Remote editing of TODO items means that you can change the state of a
   8081 TODO entry with a single key press.  The commands available in the TODO
   8082 list are described in *note Agenda Commands::.
   8083 
   8084    Normally the global TODO list simply shows all headlines with TODO
   8085 keywords.  This list can become very long.  There are two ways to keep
   8086 it more compact:
   8087 
   8088    • Some people view a TODO item that has been _scheduled_ for
   8089      execution or have a _deadline_ (see *note Timestamps::) as no
   8090      longer _open_.  Configure the variables
   8091      ‘org-agenda-todo-ignore-scheduled’ to exclude some or all scheduled
   8092      items from the global TODO list, ‘org-agenda-todo-ignore-deadlines’
   8093      to exclude some or all items with a deadline set,
   8094      ‘org-agenda-todo-ignore-timestamp’ to exclude some or all items
   8095      with an active timestamp other than a DEADLINE or a SCHEDULED
   8096      timestamp and/or ‘org-agenda-todo-ignore-with-date’ to exclude
   8097      items with at least one active timestamp.
   8098 
   8099    • TODO items may have sublevels to break up the task into subtasks.
   8100      In such cases it may be enough to list only the highest level TODO
   8101      headline and omit the sublevels from the global list.  Configure
   8102      the variable ‘org-agenda-todo-list-sublevels’ to get this behavior.
   8103 
   8104 
   8105 File: org.info,  Node: Matching tags and properties,  Next: Search view,  Prev: Global TODO list,  Up: Built-in Agenda Views
   8106 
   8107 11.3.3 Matching tags and properties
   8108 -----------------------------------
   8109 
   8110 If headlines in the agenda files are marked with _tags_ (see *note
   8111 Tags::), or have properties (see *note Properties and Columns::), you
   8112 can select headlines based on this metadata and collect them into an
   8113 agenda buffer.  The match syntax described here also applies when
   8114 creating sparse trees with ‘C-c / m’.
   8115 
   8116 ‘M-x org-agenda m’ (‘org-tags-view’)
   8117      Produce a list of all headlines that match a given set of tags.
   8118      The command prompts for a selection criterion, which is a boolean
   8119      logic expression with tags, like ‘+work+urgent-withboss’ or
   8120      ‘work|home’ (see *note Tags::).  If you often need a specific
   8121      search, define a custom command for it (see *note Agenda
   8122      Dispatcher::).
   8123 
   8124 ‘M-x org-agenda M’ (‘org-tags-view’)
   8125      Like ‘m’, but only select headlines that are also TODO items and
   8126      force checking subitems (see the variable
   8127      ‘org-tags-match-list-sublevels’).  To exclude scheduled/deadline
   8128      items, see the variable
   8129      ‘org-agenda-tags-todo-honor-ignore-options’.  Matching specific
   8130      TODO keywords together with a tags match is also possible, see
   8131      *note Tag Searches::.
   8132 
   8133    The commands available in the tags list are described in *note Agenda
   8134 Commands::.
   8135 
   8136    A search string can use Boolean operators ‘&’ for AND and ‘|’ for OR.
   8137 ‘&’ binds more strongly than ‘|’.  Parentheses are currently not
   8138 implemented.  Each element in the search is either a tag, a regular
   8139 expression matching tags, or an expression like ‘PROPERTY OPERATOR
   8140 VALUE’ with a comparison operator, accessing a property value.  Each
   8141 element may be preceded by ‘-’ to select against it, and ‘+’ is
   8142 syntactic sugar for positive selection.  The AND operator ‘&’ is
   8143 optional when ‘+’ or ‘-’ is present.  Here are some examples, using only
   8144 tags.
   8145 
   8146 ‘+work-boss’
   8147      Select headlines tagged ‘work’, but discard those also tagged
   8148      ‘boss’.
   8149 
   8150 ‘work|laptop’
   8151      Selects lines tagged ‘work’ or ‘laptop’.
   8152 
   8153 ‘work|laptop+night’
   8154      Like before, but require the ‘laptop’ lines to be tagged also
   8155      ‘night’.
   8156 
   8157    Instead of a tag, you may also specify a regular expression enclosed
   8158 in curly braces (see *note Regular Expressions::).  For example,
   8159 ‘work+{^boss.*}’ matches headlines that contain the tag ‘:work:’ and any
   8160 tag _starting_ with ‘boss’.
   8161 
   8162    Group tags (see *note Tag Hierarchy::) are expanded as regular
   8163 expressions.  E.g., if ‘work’ is a group tag for the group
   8164 ‘:work:lab:conf:’, then searching for ‘work’ also searches for
   8165 ‘{\(?:work\|lab\|conf\)}’ and searching for ‘-work’ searches for all
   8166 headlines but those with one of the tags in the group (i.e.,
   8167 ‘-{\(?:work\|lab\|conf\)}’).
   8168 
   8169    You may also test for properties (see *note Properties and Columns::)
   8170 at the same time as matching tags.  The properties may be real
   8171 properties, or special properties that represent other metadata (see
   8172 *note Special Properties::).  For example, the property ‘TODO’
   8173 represents the TODO keyword of the entry.  Or, the property ‘LEVEL’
   8174 represents the level of an entry.  So searching
   8175 ‘+LEVEL=3+boss-TODO​="DONE"’ lists all level three headlines that have
   8176 the tag ‘boss’ and are _not_ marked with the TODO keyword ‘DONE’.  In
   8177 buffers with ‘org-odd-levels-only’ set, ‘LEVEL’ does not count the
   8178 number of stars, but ‘LEVEL=2’ corresponds to 3 stars etc.
   8179 
   8180    Here are more examples:
   8181 
   8182 ‘work+TODO​="WAITING"’
   8183      Select ‘work’-tagged TODO lines with the specific TODO keyword
   8184      ‘WAITING’.
   8185 
   8186 ‘work+TODO​="WAITING"|home+TODO​="WAITING"’
   8187      Waiting tasks both at work and at home.
   8188 
   8189    When matching properties, a number of different operators can be used
   8190 to test the value of a property.  Here is a complex example:
   8191 
   8192      +work-boss+PRIORITY="A"+Coffee="unlimited"+Effort<2
   8193               +With={Sarah\|Denny}+SCHEDULED>="<2008-10-11>"
   8194 
   8195 The type of comparison depends on how the comparison value is written:
   8196 
   8197    • If the comparison value is a plain number, a numerical comparison
   8198      is done, and the allowed operators are ‘<’, ‘=’, ‘>’, ‘<=’, ‘>=’,
   8199      and ‘<>’.
   8200 
   8201    • If the comparison value is enclosed in double-quotes, a string
   8202      comparison is done, and the same operators are allowed.
   8203 
   8204    • If the comparison value is enclosed in double-quotes _and_ angular
   8205      brackets (like ‘DEADLINE<​="<2008-12-24 18:30>"’), both values are
   8206      assumed to be date/time specifications in the standard Org way, and
   8207      the comparison is done accordingly.  Valid values also include
   8208      ‘"<now>"’ for now (including time), ‘"<today>"’, and ‘"<tomorrow>"’
   8209      for these days at 0:00 hours, i.e., without a time specification.
   8210      You can also use strings like ‘"<+5d>"’ or ‘"<-2m>"’ with units
   8211      ‘d’, ‘w’, ‘m’, and ‘y’ for day, week, month, and year,
   8212      respectively.
   8213 
   8214    • If the comparison value is enclosed in curly braces, a regexp match
   8215      is performed, with ‘=’ meaning that the regexp matches the property
   8216      value, and ‘<>’ meaning that it does not match.
   8217 
   8218    So the search string in the example finds entries tagged ‘work’ but
   8219 not ‘boss’, which also have a priority value ‘A’, a ‘Coffee’ property
   8220 with the value ‘unlimited’, an ‘EFFORT’ property that is numerically
   8221 smaller than 2, a ‘With’ property that is matched by the regular
   8222 expression ‘Sarah\|Denny’, and that are scheduled on or after October
   8223 11, 2008.
   8224 
   8225    You can configure Org mode to use property inheritance during a
   8226 search, but beware that this can slow down searches considerably.  See
   8227 *note Property Inheritance::, for details.
   8228 
   8229    For backward compatibility, and also for typing speed, there is also
   8230 a different way to test TODO states in a search.  For this, terminate
   8231 the tags/property part of the search string (which may include several
   8232 terms connected with ‘|’) with a ‘/’ and then specify a Boolean
   8233 expression just for TODO keywords.  The syntax is then similar to that
   8234 for tags, but should be applied with care: for example, a positive
   8235 selection on several TODO keywords cannot meaningfully be combined with
   8236 boolean AND.  However, _negative selection_ combined with AND can be
   8237 meaningful.  To make sure that only lines are checked that actually have
   8238 any TODO keyword (resulting in a speed-up), use ‘M-x org-agenda M’, or
   8239 equivalently start the TODO part after the slash with ‘!’.  Using ‘M-x
   8240 org-agenda M’ or ‘/!’ does not match TODO keywords in a DONE state.
   8241 Examples:
   8242 
   8243 ‘work/WAITING’
   8244      Same as ‘work+TODO​="WAITING"’.
   8245 
   8246 ‘work/!-WAITING-NEXT’
   8247      Select ‘work’-tagged TODO lines that are neither ‘WAITING’ nor
   8248      ‘NEXT’.
   8249 
   8250 ‘work/!+WAITING|+NEXT’
   8251      Select ‘work’-tagged TODO lines that are either ‘WAITING’ or
   8252      ‘NEXT’.
   8253 
   8254 
   8255 File: org.info,  Node: Search view,  Next: Stuck projects,  Prev: Matching tags and properties,  Up: Built-in Agenda Views
   8256 
   8257 11.3.4 Search view
   8258 ------------------
   8259 
   8260 This agenda view is a general text search facility for Org mode entries.
   8261 It is particularly useful to find notes.
   8262 
   8263 ‘M-x org-agenda s’ (‘org-search-view’)
   8264      This is a special search that lets you select entries by matching a
   8265      substring or specific words using a boolean logic.
   8266 
   8267    For example, the search string ‘computer equipment’ matches entries
   8268 that contain ‘computer equipment’ as a substring, even if the two words
   8269 are separated by more space or a line break.
   8270 
   8271    Search view can also search for specific keywords in the entry, using
   8272 Boolean logic.  The search string ‘+computer +wifi -ethernet
   8273 -{8\.11[bg]}’ matches note entries that contain the keywords ‘computer’
   8274 and ‘wifi’, but not the keyword ‘ethernet’, and which are also not
   8275 matched by the regular expression ‘8\.11[bg]’, meaning to exclude both
   8276 ‘8.11b’ and ‘8.11g’.  The first ‘+’ is necessary to turn on boolean
   8277 search, other ‘+’ characters are optional.  For more details, see the
   8278 docstring of the command ‘org-search-view’.
   8279 
   8280    You can incrementally and conveniently adjust a boolean search from
   8281 the agenda search view with the following keys
   8282 
   8283 ‘[’     Add a positive search word
   8284 ‘]’     Add a negative search word
   8285 ‘{’     Add a positive regular expression
   8286 ‘}’     Add a negative regular expression
   8287 
   8288    Note that in addition to the agenda files, this command also searches
   8289 the files listed in ‘org-agenda-text-search-extra-files’.
   8290 
   8291 
   8292 File: org.info,  Node: Stuck projects,  Prev: Search view,  Up: Built-in Agenda Views
   8293 
   8294 11.3.5 Stuck projects
   8295 ---------------------
   8296 
   8297 If you are following a system like David Allen’s GTD to organize your
   8298 work, one of the “duties” you have is a regular review to make sure that
   8299 all projects move along.  A _stuck_ project is a project that has no
   8300 defined next actions, so it never shows up in the TODO lists Org mode
   8301 produces.  During the review, you need to identify such projects and
   8302 define next actions for them.
   8303 
   8304 ‘M-x org-agenda #’ (‘org-agenda-list-stuck-projects’)
   8305      List projects that are stuck.
   8306 
   8307 ‘M-x org-agenda !’
   8308      Customize the variable ‘org-stuck-projects’ to define what a stuck
   8309      project is and how to find it.
   8310 
   8311    You almost certainly need to configure this view before it works for
   8312 you.  The built-in default assumes that all your projects are level-2
   8313 headlines, and that a project is not stuck if it has at least one entry
   8314 marked with a TODO keyword ‘TODO’ or ‘NEXT’ or ‘NEXTACTION’.
   8315 
   8316    Let’s assume that you, in your own way of using Org mode, identify
   8317 projects with a tag ‘:PROJECT:’, and that you use a TODO keyword ‘MAYBE’
   8318 to indicate a project that should not be considered yet.  Let’s further
   8319 assume that the TODO keyword ‘DONE’ marks finished projects, and that
   8320 ‘NEXT’ and ‘TODO’ indicate next actions.  The tag ‘:@shop:’ indicates
   8321 shopping and is a next action even without the NEXT tag.  Finally, if
   8322 the project contains the special word ‘IGNORE’ anywhere, it should not
   8323 be listed either.  In this case you would start by identifying eligible
   8324 projects with a tags/TODO match (see *note Tag Searches::)
   8325 ‘+PROJECT/-MAYBE-DONE’, and then check for ‘TODO’, ‘NEXT’, ‘@shop’, and
   8326 ‘IGNORE’ in the subtree to identify projects that are not stuck.  The
   8327 correct customization for this is:
   8328 
   8329      (setq org-stuck-projects
   8330            '("+PROJECT/-MAYBE-DONE" ("NEXT" "TODO") ("@shop")
   8331              "\\<IGNORE\\>"))
   8332 
   8333    Note that if a project is identified as non-stuck, the subtree of
   8334 this entry is searched for stuck projects.
   8335 
   8336 
   8337 File: org.info,  Node: Presentation and Sorting,  Next: Agenda Commands,  Prev: Built-in Agenda Views,  Up: Agenda Views
   8338 
   8339 11.4 Presentation and Sorting
   8340 =============================
   8341 
   8342 Before displaying items in an agenda view, Org mode visually prepares
   8343 the items and sorts them.  Each item occupies a single line.  The line
   8344 starts with a _prefix_ that contains the _category_ (see *note
   8345 Categories::) of the item and other important information.  You can
   8346 customize in which column tags are displayed through
   8347 ‘org-agenda-tags-column’.  You can also customize the prefix using the
   8348 option ‘org-agenda-prefix-format’.  This prefix is followed by a
   8349 cleaned-up version of the outline headline associated with the item.
   8350 
   8351 * Menu:
   8352 
   8353 * Categories::                   Not all tasks are equal.
   8354 * Time-of-day specifications::   How the agenda knows the time.
   8355 * Sorting of agenda items::      The order of things.
   8356 * Filtering/limiting agenda items:: Dynamically narrow the agenda.
   8357 
   8358 
   8359 File: org.info,  Node: Categories,  Next: Time-of-day specifications,  Up: Presentation and Sorting
   8360 
   8361 11.4.1 Categories
   8362 -----------------
   8363 
   8364 The category is a broad label assigned to each agenda item.  By default,
   8365 the category is simply derived from the file name, but you can also
   8366 specify it with a special line in the buffer, like this:
   8367 
   8368      #+CATEGORY: Thesis
   8369 
   8370    If you would like to have a special category for a single entry or a
   8371 (sub)tree, give the entry a ‘CATEGORY’ property with the special
   8372 category you want to apply as the value.
   8373 
   8374    The display in the agenda buffer looks best if the category is not
   8375 longer than 10 characters.  You can set up icons for category by
   8376 customizing the ‘org-agenda-category-icon-alist’ variable.
   8377 
   8378 
   8379 File: org.info,  Node: Time-of-day specifications,  Next: Sorting of agenda items,  Prev: Categories,  Up: Presentation and Sorting
   8380 
   8381 11.4.2 Time-of-day specifications
   8382 ---------------------------------
   8383 
   8384 Org mode checks each agenda item for a time-of-day specification.  The
   8385 time can be part of the timestamp that triggered inclusion into the
   8386 agenda, for example
   8387 
   8388      <2005-05-10 Tue 19:00>
   8389 
   8390 Time ranges can be specified with two timestamps:
   8391 
   8392      <2005-05-10 Tue 20:30>--<2005-05-10 Tue 22:15>
   8393 
   8394    In the headline of the entry itself, a time(range)—like ‘12:45’ or a
   8395 ‘8:30-1pm’—may also appear as plain text(1).
   8396 
   8397    If the agenda integrates the Emacs diary (see *note Weekly/daily
   8398 agenda::), time specifications in diary entries are recognized as well.
   8399 
   8400    For agenda display, Org mode extracts the time and displays it in a
   8401 standard 24 hour format as part of the prefix.  The example times in the
   8402 previous paragraphs would end up in the agenda like this:
   8403 
   8404       8:30-13:00 Arthur Dent lies in front of the bulldozer
   8405      12:45...... Ford Prefect arrives and takes Arthur to the pub
   8406      19:00...... The Vogon reads his poem
   8407      20:30-22:15 Marvin escorts the Hitchhikers to the bridge
   8408 
   8409    If the agenda is in single-day mode, or for the display of today, the
   8410 timed entries are embedded in a time grid, like
   8411 
   8412       8:00...... ------------------
   8413       8:30-13:00 Arthur Dent lies in front of the bulldozer
   8414      10:00...... ------------------
   8415      12:00...... ------------------
   8416      12:45...... Ford Prefect arrives and takes Arthur to the pub
   8417      14:00...... ------------------
   8418      16:00...... ------------------
   8419      18:00...... ------------------
   8420      19:00...... The Vogon reads his poem
   8421      20:00...... ------------------
   8422      20:30-22:15 Marvin escorts the Hitchhikers to the bridge
   8423 
   8424    The time grid can be turned on and off with the variable
   8425 ‘org-agenda-use-time-grid’, and can be configured with
   8426 ‘org-agenda-time-grid’.
   8427 
   8428    ---------- Footnotes ----------
   8429 
   8430    (1) You can, however, disable this by setting
   8431 ‘org-agenda-search-headline-for-time’ variable to a ‘nil’ value.
   8432 
   8433 
   8434 File: org.info,  Node: Sorting of agenda items,  Next: Filtering/limiting agenda items,  Prev: Time-of-day specifications,  Up: Presentation and Sorting
   8435 
   8436 11.4.3 Sorting of agenda items
   8437 ------------------------------
   8438 
   8439 Before being inserted into a view, the items are sorted.  How this is
   8440 done depends on the type of view.
   8441 
   8442    • For the daily/weekly agenda, the items for each day are sorted.
   8443      The default order is to first collect all items containing an
   8444      explicit time-of-day specification.  These entries are shown at the
   8445      beginning of the list, as a _schedule_ for the day.  After that,
   8446      items remain grouped in categories, in the sequence given by
   8447      ‘org-agenda-files’.  Within each category, items are sorted by
   8448      priority (see *note Priorities::), which is composed of the base
   8449      priority (2000 for priority ‘A’, 1000 for ‘B’, and 0 for ‘C’), plus
   8450      additional increments for overdue scheduled or deadline items.
   8451 
   8452    • For the TODO list, items remain in the order of categories, but
   8453      within each category, sorting takes place according to priority
   8454      (see *note Priorities::).  The priority used for sorting derives
   8455      from the priority cookie, with additions depending on how close an
   8456      item is to its due or scheduled date.
   8457 
   8458    • For tags matches, items are not sorted at all, but just appear in
   8459      the sequence in which they are found in the agenda files.
   8460 
   8461    Sorting can be customized using the variable
   8462 ‘org-agenda-sorting-strategy’, and may also include criteria based on
   8463 the estimated effort of an entry (see *note Effort Estimates::).
   8464 
   8465 
   8466 File: org.info,  Node: Filtering/limiting agenda items,  Prev: Sorting of agenda items,  Up: Presentation and Sorting
   8467 
   8468 11.4.4 Filtering/limiting agenda items
   8469 --------------------------------------
   8470 
   8471 Agenda built-in or custom commands are statically defined.  Agenda
   8472 filters and limits allow to flexibly narrow down the list of agenda
   8473 entries.
   8474 
   8475    _Filters_ only change the visibility of items, are very fast and are
   8476 mostly used interactively(1).  You can switch quickly between different
   8477 filters without having to recreate the agenda.  _Limits_ on the other
   8478 hand take effect before the agenda buffer is populated, so they are
   8479 mostly useful when defined as local variables within custom agenda
   8480 commands.
   8481 
   8482 Filtering in the agenda
   8483 .......................
   8484 
   8485 The general filtering command is ‘org-agenda-filter’, bound to ‘/’.
   8486 Before we introduce it, we describe commands for individual filter
   8487 types.  All filtering commands handle prefix arguments in the same way:
   8488 A single ‘C-u’ prefix negates the filter, so it removes lines selected
   8489 by the filter.  A double prefix adds the new filter condition to the
   8490 one(s) already in place, so filter elements are accumulated.
   8491 
   8492 ‘\’ (‘org-agenda-filter-by-tag’)
   8493      Filter the agenda view with respect to a tag.  You are prompted for
   8494      a tag selection letter; ‘<SPC>’ means any tag at all.  Pressing
   8495      ‘<TAB>’ at that prompt offers completion to select a tag, including
   8496      any tags that do not have a selection character.  The command then
   8497      hides all entries that do not contain or inherit this tag.
   8498      Pressing ‘+’ or ‘-’ at the prompt switches between filtering for
   8499      and against the next tag.  To clear the filter, press ‘\’ twice
   8500      (once to call the command again, and once at the prompt).
   8501 
   8502 ‘<’ (‘org-agenda-filter-by-category’)
   8503      Filter by category of the line at point, and show only entries with
   8504      this category.  When called with a prefix argument, hide all
   8505      entries with the category at point.  To clear the filter, call this
   8506      command again by pressing ‘<’.
   8507 
   8508 ‘=’ (‘org-agenda-filter-by-regexp’)
   8509      Filter the agenda view by a regular expression: only show agenda
   8510      entries matching the regular expression the user entered.  To clear
   8511      the filter, call the command again by pressing ‘=’.
   8512 
   8513 ‘_’ (‘org-agenda-filter-by-effort’)
   8514      Filter the agenda view with respect to effort estimates, so select
   8515      tasks that take the right amount of time.  You first need to set up
   8516      a list of efforts globally, for example
   8517 
   8518           (setq org-global-properties
   8519                 '(("Effort_ALL". "0 0:10 0:30 1:00 2:00 3:00 4:00")))
   8520 
   8521      You can then filter for an effort by first typing an operator, one
   8522      of ‘<’, ‘>’ and ‘=’, and then the one-digit index of an effort
   8523      estimate in your array of allowed values, where ‘0’ means the 10th
   8524      value.  The filter then restricts to entries with effort
   8525      smaller-or-equal, equal, or larger-or-equal than the selected
   8526      value.  For application of the operator, entries without a defined
   8527      effort are treated according to the value of
   8528      ‘org-sort-agenda-noeffort-is-high’.  To clear the filter, press ‘_’
   8529      twice (once to call the command again, and once at the first
   8530      prompt).
   8531 
   8532 ‘^’ (‘org-agenda-filter-by-top-headline’)
   8533      Filter the current agenda view and only display items that fall
   8534      under the same top-level headline as the current entry.  To clear
   8535      the filter, call this command again by pressing ‘^’.
   8536 
   8537 ‘/’ (‘org-agenda-filter’)
   8538      This is the unified interface to four of the five filter methods
   8539      described above.  At the prompt, specify different filter elements
   8540      in a single string, with full completion support.  For example,
   8541 
   8542           +work-John+<0:10-/plot/
   8543 
   8544      selects entries with category ‘work’ and effort estimates below 10
   8545      minutes, and deselects entries with tag ‘John’ or matching the
   8546      regexp ‘plot’ (see *note Regular Expressions::).  You can leave ‘+’
   8547      out if that does not lead to ambiguities.  The sequence of elements
   8548      is arbitrary.  The filter syntax assumes that there is no overlap
   8549      between categories and tags.  Otherwise, tags take priority.  If
   8550      you reply to the prompt with the empty string, all filtering is
   8551      removed.  If a filter is specified, it replaces all current
   8552      filters.  But if you call the command with a double prefix
   8553      argument, or if you add an additional ‘+’ (e.g., ‘++work’) to the
   8554      front of the string, the new filter elements are added to the
   8555      active ones.  A single prefix argument applies the entire filter in
   8556      a negative sense.
   8557 
   8558 ‘|’ (‘org-agenda-filter-remove-all’)
   8559      Remove all filters in the current agenda view.
   8560 
   8561 Computed tag filtering
   8562 ......................
   8563 
   8564 If the variable ‘org-agenda-auto-exclude-function’ is set to a
   8565 user-defined function, that function can select tags that should be used
   8566 as a tag filter when requested.  The function will be called with
   8567 lower-case versions of all tags represented in the current view.  The
   8568 function should return ‘"-tag"’ if the filter should remove entries with
   8569 that tag, ‘"+tag"’ if only entries with this tag should be kept, or
   8570 ‘nil’ if that tag is irrelevant.  For example, let’s say you use a ‘Net’
   8571 tag to identify tasks which need network access, an ‘Errand’ tag for
   8572 errands in town, and a ‘Call’ tag for making phone calls.  You could
   8573 auto-exclude these tags based on the availability of the Internet, and
   8574 outside of business hours, with something like this:
   8575 
   8576      (defun my-auto-exclude-fn (tag)
   8577        (when (cond ((string= tag "net")
   8578                     (/= 0 (call-process "/sbin/ping" nil nil nil
   8579                                         "-c1" "-q" "-t1" "mail.gnu.org")))
   8580                    ((member tag '("errand" "call"))
   8581                     (let ((hr (nth 2 (decode-time))))
   8582                       (or (< hr 8) (> hr 21)))))
   8583          (concat "-" tag)))
   8584 
   8585      (setq org-agenda-auto-exclude-function #'my-auto-exclude-fn)
   8586 
   8587    You can apply this self-adapting filter by using a triple prefix
   8588 argument to ‘org-agenda-filter’, i.e. press ‘C-u C-u C-u /’, or by
   8589 pressing ‘<RET>’ in ‘org-agenda-filter-by-tag’.
   8590 
   8591 Setting limits for the agenda
   8592 .............................
   8593 
   8594 Here is a list of options that you can set, either globally, or locally
   8595 in your custom agenda views (see *note Custom Agenda Views::).
   8596 
   8597 ‘org-agenda-max-entries’
   8598      Limit the number of entries.
   8599 
   8600 ‘org-agenda-max-effort’
   8601      Limit the duration of accumulated efforts (as minutes).
   8602 
   8603 ‘org-agenda-max-todos’
   8604      Limit the number of entries with TODO keywords.
   8605 
   8606 ‘org-agenda-max-tags’
   8607      Limit the number of tagged entries.
   8608 
   8609    When set to a positive integer, each option excludes entries from
   8610 other categories: for example, ‘(setq org-agenda-max-effort 100)’ limits
   8611 the agenda to 100 minutes of effort and exclude any entry that has no
   8612 effort property.  If you want to include entries with no effort
   8613 property, use a negative value for ‘org-agenda-max-effort’.  One useful
   8614 setup is to use ‘org-agenda-max-entries’ locally in a custom command.
   8615 For example, this custom command displays the next five entries with a
   8616 ‘NEXT’ TODO keyword.
   8617 
   8618      (setq org-agenda-custom-commands
   8619            '(("n" todo "NEXT"
   8620               ((org-agenda-max-entries 5)))))
   8621 
   8622    Once you mark one of these five entry as DONE, rebuilding the agenda
   8623 will again the next five entries again, including the first entry that
   8624 was excluded so far.
   8625 
   8626    You can also dynamically set temporary limits, which are lost when
   8627 rebuilding the agenda:
   8628 
   8629 ‘~’ (‘org-agenda-limit-interactively’)
   8630      This prompts for the type of limit to apply and its value.
   8631 
   8632    ---------- Footnotes ----------
   8633 
   8634    (1) Custom agenda commands can preset a filter by binding one of the
   8635 variables ‘org-agenda-tag-filter-preset’,
   8636 ‘org-agenda-category-filter-preset’, ‘org-agenda-effort-filter-preset’
   8637 or ‘org-agenda-regexp-filter-preset’ as an option.  This filter is then
   8638 applied to the view and persists as a basic filter through refreshes and
   8639 more secondary filtering.  The filter is a global property of the entire
   8640 agenda view—in a block agenda, you should only set this in the global
   8641 options section, not in the section of an individual block.
   8642 
   8643 
   8644 File: org.info,  Node: Agenda Commands,  Next: Custom Agenda Views,  Prev: Presentation and Sorting,  Up: Agenda Views
   8645 
   8646 11.5 Commands in the Agenda Buffer
   8647 ==================================
   8648 
   8649 Entries in the agenda buffer are linked back to the Org file or diary
   8650 file where they originate.  You are not allowed to edit the agenda
   8651 buffer itself, but commands are provided to show and jump to the
   8652 original entry location, and to edit the Org files “remotely” from the
   8653 agenda buffer.  In this way, all information is stored only once,
   8654 removing the risk that your agenda and note files may diverge.
   8655 
   8656    Some commands can be executed with mouse clicks on agenda lines.  For
   8657 the other commands, point needs to be in the desired line.
   8658 
   8659 Motion
   8660 ------
   8661 
   8662 ‘n’ (‘org-agenda-next-line’)
   8663      Next line (same as ‘<DOWN>’ and ‘C-n’).
   8664 
   8665 ‘p’ (‘org-agenda-previous-line’)
   8666      Previous line (same as ‘<UP>’ and ‘C-p’).
   8667 
   8668 View/Go to Org file
   8669 -------------------
   8670 
   8671 ‘<SPC>’ or ‘mouse-3’ (‘org-agenda-show-and-scroll-up’)
   8672      Display the original location of the item in another window.  With
   8673      a prefix argument, make sure that drawers stay folded.
   8674 
   8675 ‘L’ (‘org-agenda-recenter’)
   8676      Display original location and recenter that window.
   8677 
   8678 ‘<TAB>’ or ‘mouse-2’ (‘org-agenda-goto’)
   8679      Go to the original location of the item in another window.
   8680 
   8681 ‘<RET>’ (‘org-agenda-switch-to’)
   8682      Go to the original location of the item and delete other windows.
   8683 
   8684 ‘F’ (‘org-agenda-follow-mode’)
   8685      Toggle Follow mode.  In Follow mode, as you move point through the
   8686      agenda buffer, the other window always shows the corresponding
   8687      location in the Org file.  The initial setting for this mode in new
   8688      agenda buffers can be set with the variable
   8689      ‘org-agenda-start-with-follow-mode’.
   8690 
   8691 ‘C-c C-x b’ (‘org-agenda-tree-to-indirect-buffer’)
   8692      Display the entire subtree of the current item in an indirect
   8693      buffer.  With a numeric prefix argument N, go up to level N and
   8694      then take that tree.  If N is negative, go up that many levels.
   8695      With a ‘C-u’ prefix, do not remove the previously used indirect
   8696      buffer.
   8697 
   8698 ‘C-c C-o’ (‘org-agenda-open-link’)
   8699      Follow a link in the entry.  This offers a selection of any links
   8700      in the text belonging to the referenced Org node.  If there is only
   8701      one link, follow it without a selection prompt.
   8702 
   8703 Change display
   8704 --------------
   8705 
   8706 ‘A’
   8707      Interactively select another agenda view and append it to the
   8708      current view.
   8709 
   8710 ‘o’
   8711      Delete other windows.
   8712 
   8713 ‘v d’ or short ‘d’ (‘org-agenda-day-view’)
   8714      Switch to day view.  When switching to day view, this setting
   8715      becomes the default for subsequent agenda refreshes.  A numeric
   8716      prefix argument may be used to jump directly to a specific day of
   8717      the year.  For example, ‘32 d’ jumps to February 1st.  When setting
   8718      day view, a year may be encoded in the prefix argument as well.
   8719      For example, ‘200712 d’ jumps to January 12, 2007.  If such a year
   8720      specification has only one or two digits, it is expanded into one
   8721      of the 30 next years or the last 69 years.
   8722 
   8723 ‘v w’ or short ‘w’ (‘org-agenda-week-view’)
   8724      Switch to week view.  When switching week view, this setting
   8725      becomes the default for subsequent agenda refreshes.  A numeric
   8726      prefix argument may be used to jump directly to a specific day of
   8727      the ISO week.  For example ‘9 w’ to ISO week number 9.  When
   8728      setting week view, a year may be encoded in the prefix argument as
   8729      well.  For example, ‘200712 w’ jumps to week 12 in 2007.  If such a
   8730      year specification has only one or two digits, it is expanded into
   8731      one of the 30 next years or the last 69 years.
   8732 
   8733 ‘v m’ (‘org-agenda-month-view’)
   8734      Switch to month view.  Because month views are slow to create, they
   8735      do not become the default for subsequent agenda refreshes.  A
   8736      numeric prefix argument may be used to jump directly to a specific
   8737      day of the month.  When setting month view, a year may be encoded
   8738      in the prefix argument as well.  For example, ‘200712 m’ jumps to
   8739      December, 2007.  If such a year specification has only one or two
   8740      digits, it is expanded into one of the 30 next years or the last 69
   8741      years.
   8742 
   8743 ‘v y’ (‘org-agenda-year-view’)
   8744      Switch to year view.  Because year views are slow to create, they
   8745      do not become the default for subsequent agenda refreshes.  A
   8746      numeric prefix argument may be used to jump directly to a specific
   8747      day of the year.
   8748 
   8749 ‘v <SPC>’ (‘org-agenda-reset-view’)
   8750      Reset the current view to ‘org-agenda-span’.
   8751 
   8752 ‘f’ (‘org-agenda-later’)
   8753      Go forward in time to display the span following the current one.
   8754      For example, if the display covers a week, switch to the following
   8755      week.  With a prefix argument, repeat that many times.
   8756 
   8757 ‘b’ (‘org-agenda-earlier’)
   8758      Go backward in time to display earlier dates.
   8759 
   8760 ‘.’ (‘org-agenda-goto-today’)
   8761      Go to today.
   8762 
   8763 ‘j’ (‘org-agenda-goto-date’)
   8764      Prompt for a date and go there.
   8765 
   8766 ‘J’ (‘org-agenda-clock-goto’)
   8767      Go to the currently clocked-in task _in the agenda buffer_.
   8768 
   8769 ‘D’ (‘org-agenda-toggle-diary’)
   8770      Toggle the inclusion of diary entries.  See *note Weekly/daily
   8771      agenda::.
   8772 
   8773 ‘v l’ or ‘v L’ or short ‘l’ (‘org-agenda-log-mode’)
   8774      Toggle Logbook mode.  In Logbook mode, entries that were marked as
   8775      done while logging was on (see the variable ‘org-log-done’) are
   8776      shown in the agenda, as are entries that have been clocked on that
   8777      day.  You can configure the entry types that should be included in
   8778      log mode using the variable ‘org-agenda-log-mode-items’.  When
   8779      called with a ‘C-u’ prefix argument, show all possible logbook
   8780      entries, including state changes.  When called with two prefix
   8781      arguments ‘C-u C-u’, show only logging information, nothing else.
   8782      ‘v L’ is equivalent to ‘C-u v l’.
   8783 
   8784 ‘v [’ or short ‘[’ (‘org-agenda-manipulate-query-add’)
   8785      Include inactive timestamps into the current view.  Only for
   8786      weekly/daily agenda.
   8787 
   8788 ‘v a’ (‘org-agenda-archives-mode’)
   8789      Toggle Archives mode.  In Archives mode, trees that are archived
   8790      (see *note Internal archiving::) are also scanned when producing
   8791      the agenda.  To exit archives mode, press ‘v a’ again.
   8792 
   8793 ‘v A’
   8794      Toggle Archives mode.  Include all archive files as well.
   8795 
   8796 ‘v R’ or short ‘R’ (‘org-agenda-clockreport-mode’)
   8797      Toggle Clockreport mode.  In Clockreport mode, the daily/weekly
   8798      agenda always shows a table with the clocked times for the time
   8799      span and file scope covered by the current agenda view.  The
   8800      initial setting for this mode in new agenda buffers can be set with
   8801      the variable ‘org-agenda-start-with-clockreport-mode’.  By using a
   8802      prefix argument when toggling this mode (i.e., ‘C-u R’), the clock
   8803      table does not show contributions from entries that are hidden by
   8804      agenda filtering(1).  See also the variables
   8805      ‘org-clock-report-include-clocking-task’ and
   8806      ‘org-agenda-clock-report-header’.
   8807 
   8808 ‘v c’
   8809      Show overlapping clock entries, clocking gaps, and other clocking
   8810      problems in the current agenda range.  You can then visit clocking
   8811      lines and fix them manually.  See the variable
   8812      ‘org-agenda-clock-consistency-checks’ for information on how to
   8813      customize the definition of what constituted a clocking problem.
   8814      To return to normal agenda display, press ‘l’ to exit Logbook mode.
   8815 
   8816 ‘v E’ or short ‘E’ (‘org-agenda-entry-text-mode’)
   8817      Toggle entry text mode.  In entry text mode, a number of lines from
   8818      the Org outline node referenced by an agenda line are displayed
   8819      below the line.  The maximum number of lines is given by the
   8820      variable ‘org-agenda-entry-text-maxlines’.  Calling this command
   8821      with a numeric prefix argument temporarily modifies that number to
   8822      the prefix value.
   8823 
   8824 ‘G’ (‘org-agenda-toggle-time-grid’)
   8825      Toggle the time grid on and off.  See also the variables
   8826      ‘org-agenda-use-time-grid’ and ‘org-agenda-time-grid’.
   8827 
   8828 ‘r’ (‘org-agenda-redo’)
   8829 ‘g’
   8830      Recreate the agenda buffer, for example to reflect the changes
   8831      after modification of the timestamps of items with ‘S-<LEFT>’ and
   8832      ‘S-<RIGHT>’.  When the buffer is the global TODO list, a prefix
   8833      argument is interpreted to create a selective list for a specific
   8834      TODO keyword.
   8835 
   8836 ‘C-x C-s’ or short ‘s’ (‘org-save-all-org-buffers’)
   8837      Save all Org buffers in the current Emacs session, and also the
   8838      locations of IDs.
   8839 
   8840 ‘C-c C-x C-c’ (‘org-agenda-columns’)
   8841      Invoke column view (see *note Column View::) in the agenda buffer.
   8842      The column view format is taken from the entry at point, or, if
   8843      there is no entry at point, from the first entry in the agenda
   8844      view.  So whatever the format for that entry would be in the
   8845      original buffer (taken from a property, from a ‘COLUMNS’ keyword,
   8846      or from the default variable ‘org-columns-default-format’) is used
   8847      in the agenda.
   8848 
   8849 ‘C-c C-x >’ (‘org-agenda-remove-restriction-lock’)
   8850      Remove the restriction lock on the agenda, if it is currently
   8851      restricted to a file or subtree (see *note Agenda Files::).
   8852 
   8853 ‘M-<UP>’ (‘org-agenda-drag-line-backward’)
   8854      Drag the line at point backward one line.  With a numeric prefix
   8855      argument, drag backward by that many lines.
   8856 
   8857      Moving agenda lines does not persist after an agenda refresh and
   8858      does not modify the contributing Org files.
   8859 
   8860 ‘M-<DOWN>’ (‘org-agenda-drag-line-forward’)
   8861      Drag the line at point forward one line.  With a numeric prefix
   8862      argument, drag forward by that many lines.
   8863 
   8864 Remote editing
   8865 --------------
   8866 
   8867 ‘0--9’
   8868      Digit argument.
   8869 
   8870 ‘C-_’ (‘org-agenda-undo’)
   8871      Undo a change due to a remote editing command.  The change is
   8872      undone both in the agenda buffer and in the remote buffer.
   8873 
   8874 ‘t’ (‘org-agenda-todo’)
   8875      Change the TODO state of the item, both in the agenda and in the
   8876      original Org file.  A prefix arg is passed through to the
   8877      ‘org-todo’ command, so for example a ‘C-u’ prefix are will trigger
   8878      taking a note to document the state change.
   8879 
   8880 ‘C-S-<RIGHT>’ (‘org-agenda-todo-nextset’)
   8881      Switch to the next set of TODO keywords.
   8882 
   8883 ‘C-S-<LEFT>’, ‘org-agenda-todo-previousset’
   8884      Switch to the previous set of TODO keywords.
   8885 
   8886 ‘C-k’ (‘org-agenda-kill’)
   8887      Delete the current agenda item along with the entire subtree
   8888      belonging to it in the original Org file.  If the text to be
   8889      deleted remotely is longer than one line, the kill needs to be
   8890      confirmed by the user.  See variable ‘org-agenda-confirm-kill’.
   8891 
   8892 ‘C-c C-w’ (‘org-agenda-refile’)
   8893      Refile the entry at point.
   8894 
   8895 ‘C-c C-x C-a’ or short ‘a’ (‘org-agenda-archive-default-with-confirmation’)
   8896      Archive the subtree corresponding to the entry at point using the
   8897      default archiving command set in ‘org-archive-default-command’.
   8898      When using the ‘a’ key, confirmation is required.
   8899 
   8900 ‘C-c C-x a’ (‘org-agenda-toggle-archive-tag’)
   8901      Toggle the archive tag (see *note Internal archiving::) for the
   8902      current headline.
   8903 
   8904 ‘C-c C-x A’ (‘org-agenda-archive-to-archive-sibling’)
   8905      Move the subtree corresponding to the current entry to its _archive
   8906      sibling_.
   8907 
   8908 ‘C-c C-x C-s’ or short ‘$’ (‘org-agenda-archive’)
   8909      Archive the subtree corresponding to the current headline.  This
   8910      means the entry is moved to the configured archive location, most
   8911      likely a different file.
   8912 
   8913 ‘T’ (‘org-agenda-show-tags’)
   8914      Show all tags associated with the current item.  This is useful if
   8915      you have turned off ‘org-agenda-show-inherited-tags’, but still
   8916      want to see all tags of a headline occasionally.
   8917 
   8918 ‘:’ (‘org-agenda-set-tags’)
   8919      Set tags for the current headline.  If there is an active region in
   8920      the agenda, change a tag for all headings in the region.
   8921 
   8922 ‘,’ (‘org-agenda-priority’)
   8923      Set the priority for the current item.  Org mode prompts for the
   8924      priority character.  If you reply with ‘<SPC>’, the priority cookie
   8925      is removed from the entry.
   8926 
   8927 ‘+’ or ‘S-<UP>’ (‘org-agenda-priority-up’)
   8928      Increase the priority of the current item.  The priority is changed
   8929      in the original buffer, but the agenda is not resorted.  Use the
   8930      ‘r’ key for this.
   8931 
   8932 ‘-’ or ‘S-<DOWN>’ (‘org-agenda-priority-down’)
   8933      Decrease the priority of the current item.
   8934 
   8935 ‘C-c C-x e’ or short ‘e’ (‘org-agenda-set-effort’)
   8936      Set the effort property for the current item.
   8937 
   8938 ‘C-c C-z’ or short ‘z’ (‘org-agenda-add-note’)
   8939      Add a note to the entry.  This note is recorded, and then filed to
   8940      the same location where state change notes are put.  Depending on
   8941      ‘org-log-into-drawer’, this may be inside a drawer.
   8942 
   8943 ‘C-c C-a’ (‘org-attach’)
   8944      Dispatcher for all command related to attachments.
   8945 
   8946 ‘C-c C-s’ (‘org-agenda-schedule’)
   8947      Schedule this item.  With a prefix argument, remove the scheduling
   8948      timestamp
   8949 
   8950 ‘C-c C-d’ (‘org-agenda-deadline’)
   8951      Set a deadline for this item.  With a prefix argument, remove the
   8952      deadline.
   8953 
   8954 ‘S-<RIGHT>’ (‘org-agenda-do-date-later’)
   8955      Change the timestamp associated with the current line by one day
   8956      into the future.  If the date is in the past, the first call to
   8957      this command moves it to today.  With a numeric prefix argument,
   8958      change it by that many days.  For example, ‘3 6 5 S-<RIGHT>’
   8959      changes it by a year.  With a ‘C-u’ prefix, change the time by one
   8960      hour.  If you immediately repeat the command, it will continue to
   8961      change hours even without the prefix argument.  With a double ‘C-u
   8962      C-u’ prefix, do the same for changing minutes.  The stamp is
   8963      changed in the original Org file, but the change is not directly
   8964      reflected in the agenda buffer.  Use ‘r’ or ‘g’ to update the
   8965      buffer.
   8966 
   8967 ‘S-<LEFT>’ (‘org-agenda-do-date-earlier’)
   8968      Change the timestamp associated with the current line by one day
   8969      into the past.
   8970 
   8971 ‘>’ (‘org-agenda-date-prompt’)
   8972      Change the timestamp associated with the current line.  The key ‘>’
   8973      has been chosen, because it is the same as ‘S-.’ on my keyboard.
   8974 
   8975 ‘I’ (‘org-agenda-clock-in’)
   8976      Start the clock on the current item.  If a clock is running
   8977      already, it is stopped first.
   8978 
   8979 ‘O’ (‘org-agenda-clock-out’)
   8980      Stop the previously started clock.
   8981 
   8982 ‘X’ (‘org-agenda-clock-cancel’)
   8983      Cancel the currently running clock.
   8984 
   8985 ‘J’ (‘org-agenda-clock-goto’)
   8986      Jump to the running clock in another window.
   8987 
   8988 ‘k’ (‘org-agenda-capture’)
   8989      Like ‘org-capture’, but use the date at point as the default date
   8990      for the capture template.  See ‘org-capture-use-agenda-date’ to
   8991      make this the default behavior of ‘org-capture’.
   8992 
   8993 Bulk remote editing selected entries
   8994 ------------------------------------
   8995 
   8996 ‘m’ (‘org-agenda-bulk-mark’)
   8997 
   8998      Mark the entry at point for bulk action.  If there is an active
   8999      region in the agenda, mark the entries in the region.  With numeric
   9000      prefix argument, mark that many successive entries.
   9001 
   9002 ‘*’ (‘org-agenda-bulk-mark-all’)
   9003 
   9004      Mark all visible agenda entries for bulk action.
   9005 
   9006 ‘u’ (‘org-agenda-bulk-unmark’)
   9007 
   9008      Unmark entry for bulk action.
   9009 
   9010 ‘U’ (‘org-agenda-bulk-remove-all-marks’)
   9011 
   9012      Unmark all marked entries for bulk action.
   9013 
   9014 ‘M-m’ (‘org-agenda-bulk-toggle’)
   9015 
   9016      Toggle mark of the entry at point for bulk action.
   9017 
   9018 ‘M-*’ (‘org-agenda-bulk-toggle-all’)
   9019 
   9020      Toggle mark of every entry for bulk action.
   9021 
   9022 ‘%’ (‘org-agenda-bulk-mark-regexp’)
   9023 
   9024      Mark entries matching a regular expression for bulk action.
   9025 
   9026 ‘B’ (‘org-agenda-bulk-action’)
   9027 
   9028      Bulk action: act on all marked entries in the agenda.  This prompts
   9029      for another key to select the action to be applied.  The prefix
   9030      argument to ‘B’ is passed through to the ‘s’ and ‘d’ commands, to
   9031      bulk-remove these special timestamps.  By default, marks are
   9032      removed after the bulk.  If you want them to persist, set
   9033      ‘org-agenda-bulk-persistent-marks’ to ‘t’ or hit ‘p’ at the prompt.
   9034 
   9035      ‘p’
   9036           Toggle persistent marks.
   9037 
   9038      ‘$’
   9039           Archive all selected entries.
   9040 
   9041      ‘A’
   9042           Archive entries by moving them to their respective archive
   9043           siblings.
   9044 
   9045      ‘t’
   9046           Change TODO state.  This prompts for a single TODO keyword and
   9047           changes the state of all selected entries, bypassing blocking
   9048           and suppressing logging notes—but not timestamps.
   9049 
   9050      ‘+’
   9051           Add a tag to all selected entries.
   9052 
   9053      ‘-’
   9054           Remove a tag from all selected entries.
   9055 
   9056      ‘s’
   9057           Schedule all items to a new date.  To shift existing schedule
   9058           dates by a fixed number of days, use something starting with
   9059           double plus at the prompt, for example ‘++8d’ or ‘++2w’.
   9060 
   9061      ‘d’
   9062           Set deadline to a specific date.
   9063 
   9064      ‘r’
   9065           Prompt for a single refile target and move all entries.  The
   9066           entries are no longer in the agenda; refresh (‘g’) to bring
   9067           them back.
   9068 
   9069      ‘S’
   9070           Reschedule randomly into the coming N days.  N is prompted
   9071           for.  With a prefix argument (‘C-u B S’), scatter only across
   9072           weekdays.
   9073 
   9074      ‘f’
   9075           Apply a function(2) to marked entries.  For example, the
   9076           function below sets the ‘CATEGORY’ property of the entries to
   9077           ‘web’.
   9078 
   9079                (defun set-category ()
   9080                  (interactive "P")
   9081                  (let ((marker (or (org-get-at-bol 'org-hd-marker)
   9082                                    (org-agenda-error))))
   9083                    (org-with-point-at marker
   9084                      (org-back-to-heading t)
   9085                      (org-set-property "CATEGORY" "web"))))
   9086 
   9087 Calendar commands
   9088 -----------------
   9089 
   9090 ‘c’ (‘org-agenda-goto-calendar’)
   9091      Open the Emacs calendar and go to the date at point in the agenda.
   9092 
   9093 ‘c’ (‘org-calendar-goto-agenda’)
   9094      When in the calendar, compute and show the Org agenda for the date
   9095      at point.
   9096 
   9097 ‘i’ (‘org-agenda-diary-entry’)
   9098 
   9099      Insert a new entry into the diary, using the date at point and (for
   9100      block entries) the date at the mark.  This adds to the Emacs diary
   9101      file(3), in a way similar to the ‘i’ command in the calendar.  The
   9102      diary file pops up in another window, where you can add the entry.
   9103 
   9104      If you configure ‘org-agenda-diary-file’ to point to an Org file,
   9105      Org creates entries in that file instead.  Most entries are stored
   9106      in a date-based outline tree that will later make it easy to
   9107      archive appointments from previous months/years.  The tree is built
   9108      under an entry with a ‘DATE_TREE’ property, or else with years as
   9109      top-level entries.  Emacs prompts you for the entry text—if you
   9110      specify it, the entry is created in ‘org-agenda-diary-file’ without
   9111      further interaction.  If you directly press ‘<RET>’ at the prompt
   9112      without typing text, the target file is shown in another window for
   9113      you to finish the entry there.  See also the ‘k r’ command.
   9114 
   9115 ‘M’ (‘org-agenda-phases-of-moon’)
   9116      Show the phases of the moon for the three months around current
   9117      date.
   9118 
   9119 ‘S’ (‘org-agenda-sunrise-sunset’)
   9120      Show sunrise and sunset times.  The geographical location must be
   9121      set with calendar variables, see the documentation for the Emacs
   9122      calendar.
   9123 
   9124 ‘C’ (‘org-agenda-convert-date’)
   9125      Convert the date at point into many other cultural and historic
   9126      calendars.
   9127 
   9128 ‘H’ (‘org-agenda-holidays’)
   9129      Show holidays for three months around point date.
   9130 
   9131 Quit and exit
   9132 -------------
   9133 
   9134 ‘q’ (‘org-agenda-quit’)
   9135 
   9136      Quit agenda, remove the agenda buffer.
   9137 
   9138 ‘x’ (‘org-agenda-exit’)
   9139 
   9140      Exit agenda, remove the agenda buffer and all buffers loaded by
   9141      Emacs for the compilation of the agenda.  Buffers created by the
   9142      user to visit Org files are not removed.
   9143 
   9144    ---------- Footnotes ----------
   9145 
   9146    (1) Only tags filtering is respected here, effort filtering is
   9147 ignored.
   9148 
   9149    (2) You can also create persistent custom functions through
   9150 ‘org-agenda-bulk-custom-functions’.
   9151 
   9152    (3) This file is parsed for the agenda when
   9153 ‘org-agenda-include-diary’ is set.
   9154 
   9155 
   9156 File: org.info,  Node: Custom Agenda Views,  Next: Exporting Agenda Views,  Prev: Agenda Commands,  Up: Agenda Views
   9157 
   9158 11.6 Custom Agenda Views
   9159 ========================
   9160 
   9161 Custom agenda commands serve two purposes: to store and quickly access
   9162 frequently used TODO and tags searches, and to create special composite
   9163 agenda buffers.  Custom agenda commands are accessible through the
   9164 dispatcher (see *note Agenda Dispatcher::), just like the default
   9165 commands.
   9166 
   9167 * Menu:
   9168 
   9169 * Storing searches::             Type once, use often.
   9170 * Block agenda::                 All the stuff you need in a single buffer.
   9171 * Setting options::              Changing the rules.
   9172 
   9173 
   9174 File: org.info,  Node: Storing searches,  Next: Block agenda,  Up: Custom Agenda Views
   9175 
   9176 11.6.1 Storing searches
   9177 -----------------------
   9178 
   9179 The first application of custom searches is the definition of keyboard
   9180 shortcuts for frequently used searches, either creating an agenda
   9181 buffer, or a sparse tree (the latter covering of course only the current
   9182 buffer).
   9183 
   9184    Custom commands are configured in the variable
   9185 ‘org-agenda-custom-commands’.  You can customize this variable, for
   9186 example by pressing ‘C’ from the agenda dispatcher (see *note Agenda
   9187 Dispatcher::).  You can also directly set it with Emacs Lisp in the
   9188 Emacs init file.  The following example contains all valid agenda views:
   9189 
   9190      (setq org-agenda-custom-commands
   9191            '(("x" agenda)
   9192              ("y" agenda*)
   9193              ("w" todo "WAITING")
   9194              ("W" todo-tree "WAITING")
   9195              ("u" tags "+boss-urgent")
   9196              ("v" tags-todo "+boss-urgent")
   9197              ("U" tags-tree "+boss-urgent")
   9198              ("f" occur-tree "\\<FIXME\\>")
   9199              ("h" . "HOME+Name tags searches") ;description for "h" prefix
   9200              ("hl" tags "+home+Lisa")
   9201              ("hp" tags "+home+Peter")
   9202              ("hk" tags "+home+Kim")))
   9203 
   9204    The initial string in each entry defines the keys you have to press
   9205 after the dispatcher command in order to access the command.  Usually
   9206 this is just a single character, but if you have many similar commands,
   9207 you can also define two-letter combinations where the first character is
   9208 the same in several combinations and serves as a prefix key(1).  The
   9209 second parameter is the search type, followed by the string or regular
   9210 expression to be used for the matching.  The example above will
   9211 therefore define:
   9212 
   9213 ‘x’
   9214      as a global search for agenda entries planned(2) this week/day.
   9215 
   9216 ‘y’
   9217      as the same search, but only for entries with an hour specification
   9218      like ‘[h]h:mm’—think of them as appointments.
   9219 
   9220 ‘w’
   9221      as a global search for TODO entries with ‘WAITING’ as the TODO
   9222      keyword.
   9223 
   9224 ‘W’
   9225      as the same search, but only in the current buffer and displaying
   9226      the results as a sparse tree.
   9227 
   9228 ‘u’
   9229      as a global tags search for headlines tagged ‘boss’ but not
   9230      ‘urgent’.
   9231 
   9232 ‘v’
   9233      The same search, but limiting it to headlines that are also TODO
   9234      items.
   9235 
   9236 ‘U’
   9237      as the same search, but only in the current buffer and displaying
   9238      the result as a sparse tree.
   9239 
   9240 ‘f’
   9241      to create a sparse tree (again, current buffer only) with all
   9242      entries containing the word ‘FIXME’.
   9243 
   9244 ‘h’
   9245      as a prefix command for a ‘HOME’ tags search where you have to
   9246      press an additional key (‘l’, ‘p’ or ‘k’) to select a name (Lisa,
   9247      Peter, or Kim) as additional tag to match.
   9248 
   9249    Note that ‘*-tree’ agenda views need to be called from an Org buffer
   9250 as they operate on the current buffer only.
   9251 
   9252    ---------- Footnotes ----------
   9253 
   9254    (1) You can provide a description for a prefix key by inserting a
   9255 cons cell with the prefix and the description.
   9256 
   9257    (2) _Planned_ means here that these entries have some planning
   9258 information attached to them, like a time-stamp, a scheduled or a
   9259 deadline string.  See ‘org-agenda-entry-types’ on how to set what
   9260 planning information is taken into account.
   9261 
   9262 
   9263 File: org.info,  Node: Block agenda,  Next: Setting options,  Prev: Storing searches,  Up: Custom Agenda Views
   9264 
   9265 11.6.2 Block agenda
   9266 -------------------
   9267 
   9268 Another possibility is the construction of agenda views that comprise
   9269 the results of _several_ commands, each of which creates a block in the
   9270 agenda buffer.  The available commands include ‘agenda’ for the daily or
   9271 weekly agenda (as created with ‘a’) , ‘alltodo’ for the global TODO list
   9272 (as constructed with ‘t’), ‘stuck’ for the list of stuck projects (as
   9273 obtained with ‘#’) and the matching commands discussed above: ‘todo’,
   9274 ‘tags’, and ‘tags-todo’.
   9275 
   9276    Here are two examples:
   9277 
   9278      (setq org-agenda-custom-commands
   9279            '(("h" "Agenda and Home-related tasks"
   9280               ((agenda "")
   9281                (tags-todo "home")
   9282                (tags "garden")))
   9283              ("o" "Agenda and Office-related tasks"
   9284               ((agenda "")
   9285                (tags-todo "work")
   9286                (tags "office")))))
   9287 
   9288 This defines ‘h’ to create a multi-block view for stuff you need to
   9289 attend to at home.  The resulting agenda buffer contains your agenda for
   9290 the current week, all TODO items that carry the tag ‘home’, and also all
   9291 lines tagged with ‘garden’.  Finally the command ‘o’ provides a similar
   9292 view for office tasks.
   9293 
   9294 
   9295 File: org.info,  Node: Setting options,  Prev: Block agenda,  Up: Custom Agenda Views
   9296 
   9297 11.6.3 Setting options for custom commands
   9298 ------------------------------------------
   9299 
   9300 Org mode contains a number of variables regulating agenda construction
   9301 and display.  The global variables define the behavior for all agenda
   9302 commands, including the custom commands.  However, if you want to change
   9303 some settings just for a single custom view, you can do so.  Setting
   9304 options requires inserting a list of variable names and values at the
   9305 right spot in ‘org-agenda-custom-commands’.  For example:
   9306 
   9307      (setq org-agenda-custom-commands
   9308            '(("w" todo "WAITING"
   9309               ((org-agenda-sorting-strategy '(priority-down))
   9310                (org-agenda-prefix-format "  Mixed: ")))
   9311              ("U" tags-tree "+boss-urgent"
   9312               ((org-show-context-detail 'minimal)))
   9313              ("N" search ""
   9314               ((org-agenda-files '("~org/notes.org"))
   9315                (org-agenda-text-search-extra-files nil)))))
   9316 
   9317 Now the ‘w’ command sorts the collected entries only by priority, and
   9318 the prefix format is modified to just say ‘Mixed:’ instead of giving the
   9319 category of the entry.  The sparse tags tree of ‘U’ now turns out
   9320 ultra-compact, because neither the headline hierarchy above the match,
   9321 nor the headline following the match are shown.  The command ‘N’ does a
   9322 text search limited to only a single file.
   9323 
   9324    For command sets creating a block agenda,
   9325 ‘org-agenda-custom-commands’ has two separate spots for setting options.
   9326 You can add options that should be valid for just a single command in
   9327 the set, and options that should be valid for all commands in the set.
   9328 The former are just added to the command entry; the latter must come
   9329 after the list of command entries.  Going back to the block agenda
   9330 example (see *note Block agenda::), let’s change the sorting strategy
   9331 for the ‘h’ commands to ‘priority-down’, but let’s sort the results for
   9332 ‘garden’ tags query in the opposite order, ‘priority-up’.  This would
   9333 look like this:
   9334 
   9335      (setq org-agenda-custom-commands
   9336            '(("h" "Agenda and Home-related tasks"
   9337               ((agenda)
   9338                (tags-todo "home")
   9339                (tags "garden"
   9340                      ((org-agenda-sorting-strategy '(priority-up)))))
   9341               ((org-agenda-sorting-strategy '(priority-down))))
   9342              ("o" "Agenda and Office-related tasks"
   9343               ((agenda)
   9344                (tags-todo "work")
   9345                (tags "office")))))
   9346 
   9347    As you see, the values and parentheses setting is a little complex.
   9348 When in doubt, use the customize interface to set this variable—it fully
   9349 supports its structure.  Just one caveat: when setting options in this
   9350 interface, the _values_ are just Lisp expressions.  So if the value is a
   9351 string, you need to add the double-quotes around the value yourself.
   9352 
   9353    To control whether an agenda command should be accessible from a
   9354 specific context, you can customize
   9355 ‘org-agenda-custom-commands-contexts’.  Let’s say for example that you
   9356 have an agenda command ‘o’ displaying a view that you only need when
   9357 reading emails.  Then you would configure this option like this:
   9358 
   9359      (setq org-agenda-custom-commands-contexts
   9360            '(("o" (in-mode . "message-mode"))))
   9361 
   9362    You can also tell that the command key ‘o’ should refer to another
   9363 command key ‘r’.  In that case, add this command key like this:
   9364 
   9365      (setq org-agenda-custom-commands-contexts
   9366            '(("o" "r" (in-mode . "message-mode"))))
   9367 
   9368    See the docstring of the variable for more information.
   9369 
   9370 
   9371 File: org.info,  Node: Exporting Agenda Views,  Next: Agenda Column View,  Prev: Custom Agenda Views,  Up: Agenda Views
   9372 
   9373 11.7 Exporting Agenda Views
   9374 ===========================
   9375 
   9376 If you are away from your computer, it can be very useful to have a
   9377 printed version of some agenda views to carry around.  Org mode can
   9378 export custom agenda views as plain text, HTML(1), Postscript, PDF(2),
   9379 and iCalendar files.  If you want to do this only occasionally, use the
   9380 following command:
   9381 
   9382 ‘C-x C-w’ (‘org-agenda-write’)
   9383 
   9384      Write the agenda view to a file.
   9385 
   9386    If you need to export certain agenda views frequently, you can
   9387 associate any custom agenda command with a list of output file names(3).
   9388 Here is an example that first defines custom commands for the agenda and
   9389 the global TODO list, together with a number of files to which to export
   9390 them.  Then we define two block agenda commands and specify file names
   9391 for them as well.  File names can be relative to the current working
   9392 directory, or absolute.
   9393 
   9394      (setq org-agenda-custom-commands
   9395            '(("X" agenda "" nil ("agenda.html" "agenda.ps"))
   9396              ("Y" alltodo "" nil ("todo.html" "todo.txt" "todo.ps"))
   9397              ("h" "Agenda and Home-related tasks"
   9398               ((agenda "")
   9399                (tags-todo "home")
   9400                (tags "garden"))
   9401               nil
   9402               ("~/views/home.html"))
   9403              ("o" "Agenda and Office-related tasks"
   9404               ((agenda)
   9405                (tags-todo "work")
   9406                (tags "office"))
   9407               nil
   9408               ("~/views/office.ps" "~/calendars/office.ics"))))
   9409 
   9410    The extension of the file name determines the type of export.  If it
   9411 is ‘.html’, Org mode uses the htmlize package to convert the buffer to
   9412 HTML and save it to this file name.  If the extension is ‘.ps’,
   9413 ‘ps-print-buffer-with-faces’ is used to produce Postscript output.  If
   9414 the extension is ‘.ics’, iCalendar export is run export over all files
   9415 that were used to construct the agenda, and limit the export to entries
   9416 listed in the agenda.  Any other extension produces a plain ASCII file.
   9417 
   9418    The export files are _not_ created when you use one of those commands
   9419 interactively because this might use too much overhead.  Instead, there
   9420 is a special command to produce _all_ specified files in one step:
   9421 
   9422 ‘e’ (‘org-store-agenda-views’)
   9423      Export all agenda views that have export file names associated with
   9424      them.
   9425 
   9426    You can use the options section of the custom agenda commands to also
   9427 set options for the export commands.  For example:
   9428 
   9429      (setq org-agenda-custom-commands
   9430            '(("X" agenda ""
   9431               ((ps-number-of-columns 2)
   9432                (ps-landscape-mode t)
   9433                (org-agenda-prefix-format " [ ] ")
   9434                (org-agenda-with-colors nil)
   9435                (org-agenda-remove-tags t))
   9436               ("theagenda.ps"))))
   9437 
   9438 This command sets two options for the Postscript exporter, to make it
   9439 print in two columns in landscape format—the resulting page can be cut
   9440 in two and then used in a paper agenda.  The remaining settings modify
   9441 the agenda prefix to omit category and scheduling information, and
   9442 instead include a checkbox to check off items.  We also remove the tags
   9443 to make the lines compact, and we do not want to use colors for the
   9444 black-and-white printer.  Settings specified in
   9445 ‘org-agenda-exporter-settings’ also apply, e.g.,
   9446 
   9447      (setq org-agenda-exporter-settings
   9448            '((ps-number-of-columns 2)
   9449              (ps-landscape-mode t)
   9450              (org-agenda-add-entry-text-maxlines 5)
   9451              (htmlize-output-type 'css)))
   9452 
   9453 but the settings in ‘org-agenda-custom-commands’ take precedence.
   9454 
   9455    From the command line you may also use:
   9456 
   9457      emacs -eval (org-batch-store-agenda-views) -kill
   9458 
   9459 or, if you need to modify some parameters(4)
   9460 
   9461      emacs -eval '(org-batch-store-agenda-views                      \
   9462                    org-agenda-span (quote month)                     \
   9463                    org-agenda-start-day "2007-11-01"                 \
   9464                    org-agenda-include-diary nil                      \
   9465                    org-agenda-files (quote ("~/org/project.org")))'  \
   9466            -kill
   9467 
   9468 which creates the agenda views restricted to the file
   9469 ‘~/org/project.org’, without diary entries and with a 30-day extent.
   9470 
   9471    You can also extract agenda information in a way that allows further
   9472 processing by other programs.  See *note Extracting Agenda
   9473 Information::, for more information.
   9474 
   9475    ---------- Footnotes ----------
   9476 
   9477    (1) For HTML you need to install Hrvoje Nikšić’s ‘htmlize.el’ as an
   9478 Emacs package from NonGNU ELPA (https://elpa.nongnu.org/) or from Hrvoje
   9479 Nikšić’s repository (https://github.com/hniksic/emacs-htmlize).
   9480 
   9481    (2) To create PDF output, the Ghostscript ps2pdf utility must be
   9482 installed on the system.  Selecting a PDF file also creates the
   9483 postscript file.
   9484 
   9485    (3) If you want to store standard views like the weekly agenda or the
   9486 global TODO list as well, you need to define custom commands for them in
   9487 order to be able to specify file names.
   9488 
   9489    (4) Quoting depends on the system you use, please check the FAQ for
   9490 examples.
   9491 
   9492 
   9493 File: org.info,  Node: Agenda Column View,  Prev: Exporting Agenda Views,  Up: Agenda Views
   9494 
   9495 11.8 Using Column View in the Agenda
   9496 ====================================
   9497 
   9498 Column view (see *note Column View::) is normally used to view and edit
   9499 properties embedded in the hierarchical structure of an Org file.  It
   9500 can be quite useful to use column view also from the agenda, where
   9501 entries are collected by certain criteria.
   9502 
   9503 ‘C-c C-x C-c’ (‘org-agenda-columns’)
   9504 
   9505      Turn on column view in the agenda.
   9506 
   9507    To understand how to use this properly, it is important to realize
   9508 that the entries in the agenda are no longer in their proper outline
   9509 environment.  This causes the following issues:
   9510 
   9511   1. Org needs to make a decision which columns format to use.  Since
   9512      the entries in the agenda are collected from different files, and
   9513      different files may have different columns formats, this is a
   9514      non-trivial problem.  Org first checks if
   9515      ‘org-overriding-columns-format’ is currently set, and if so, takes
   9516      the format from there.  You should set this variable only in the
   9517      _local settings section_ of a custom agenda command (see *note
   9518      Custom Agenda Views::) to make it valid for that specific agenda
   9519      view.  If no such binding exists, it checks, in sequence,
   9520      ‘org-columns-default-format-for-agenda’, the format associated with
   9521      the first item in the agenda (through a property or a ‘#+COLUMNS’
   9522      setting in that buffer) and finally ‘org-columns-default-format’.
   9523 
   9524   2. If any of the columns has a summary type defined (see *note Column
   9525      attributes::), turning on column view in the agenda visits all
   9526      relevant agenda files and make sure that the computations of this
   9527      property are up to date.  This is also true for the special
   9528      ‘CLOCKSUM’ property.  Org then sums the values displayed in the
   9529      agenda.  In the daily/weekly agenda, the sums cover a single day;
   9530      in all other views they cover the entire block.
   9531 
   9532      It is important to realize that the agenda may show the same entry
   9533      _twice_—for example as scheduled and as a deadline—and it may show
   9534      two entries from the same hierarchy (for example a _parent_ and its
   9535      _child_).  In these cases, the summation in the agenda leads to
   9536      incorrect results because some values count double.
   9537 
   9538   3. When the column view in the agenda shows the ‘CLOCKSUM’ property,
   9539      that is always the entire clocked time for this item.  So even in
   9540      the daily/weekly agenda, the clocksum listed in column view may
   9541      originate from times outside the current view.  This has the
   9542      advantage that you can compare these values with a column listing
   9543      the planned total effort for a task—one of the major applications
   9544      for column view in the agenda.  If you want information about
   9545      clocked time in the displayed period use clock table mode (press
   9546      ‘R’ in the agenda).
   9547 
   9548   4. When the column view in the agenda shows the ‘CLOCKSUM_T’ property,
   9549      that is always today’s clocked time for this item.  So even in the
   9550      weekly agenda, the clocksum listed in column view only originates
   9551      from today.  This lets you compare the time you spent on a task for
   9552      today, with the time already spent—via ‘CLOCKSUM’—and with the
   9553      planned total effort for it.
   9554 
   9555 
   9556 File: org.info,  Node: Markup for Rich Contents,  Next: Exporting,  Prev: Agenda Views,  Up: Top
   9557 
   9558 12 Markup for Rich Contents
   9559 ***************************
   9560 
   9561 Org is primarily about organizing and searching through your plain-text
   9562 notes.  However, it also provides a lightweight yet robust markup
   9563 language for rich text formatting and more.  For instance, you may want
   9564 to center or emphasize text.  Or you may need to insert a formula or
   9565 image in your writing.  Org offers syntax for all of this and more.
   9566 Used in conjunction with the export framework (see *note Exporting::),
   9567 you can author beautiful documents in Org—like the fine manual you are
   9568 currently reading.
   9569 
   9570 * Menu:
   9571 
   9572 * Paragraphs::                   The basic unit of text.
   9573 * Emphasis and Monospace::       Bold, italic, etc.
   9574 * Subscripts and Superscripts::  Simple syntax for raising/lowering text.
   9575 * Special Symbols::              Greek letters and other symbols.
   9576 * Embedded LaTeX::            LaTeX can be freely used inside Org documents.
   9577 * Literal Examples::             Source code examples with special formatting.
   9578 * Images::                       Display an image.
   9579 * Captions::                     Describe tables, images...
   9580 * Horizontal Rules::             Make a line.
   9581 * Creating Footnotes::           Edit and read footnotes.
   9582 
   9583 
   9584 File: org.info,  Node: Paragraphs,  Next: Emphasis and Monospace,  Up: Markup for Rich Contents
   9585 
   9586 12.1 Paragraphs
   9587 ===============
   9588 
   9589 Paragraphs are separated by at least one empty line.  If you need to
   9590 enforce a line break within a paragraph, use ‘\\’ at the end of a line.
   9591 
   9592    To preserve the line breaks, indentation and blank lines in a region,
   9593 but otherwise use normal formatting, you can use this construct, which
   9594 can also be used to format poetry.
   9595 
   9596      #+BEGIN_VERSE
   9597       Great clouds overhead
   9598       Tiny black birds rise and fall
   9599       Snow covers Emacs
   9600 
   9601          ---AlexSchroeder
   9602      #+END_VERSE
   9603 
   9604    When quoting a passage from another document, it is customary to
   9605 format this as a paragraph that is indented on both the left and the
   9606 right margin.  You can include quotations in Org documents like this:
   9607 
   9608      #+BEGIN_QUOTE
   9609      Everything should be made as simple as possible,
   9610      but not any simpler ---Albert Einstein
   9611      #+END_QUOTE
   9612 
   9613    If you would like to center some text, do it like this:
   9614 
   9615      #+BEGIN_CENTER
   9616      Everything should be made as simple as possible, \\
   9617      but not any simpler
   9618      #+END_CENTER
   9619 
   9620 
   9621 File: org.info,  Node: Emphasis and Monospace,  Next: Subscripts and Superscripts,  Prev: Paragraphs,  Up: Markup for Rich Contents
   9622 
   9623 12.2 Emphasis and Monospace
   9624 ===========================
   9625 
   9626 You can make words ‘*bold*’, ‘/italic/’, ‘_underlined_’, ‘=verbatim=’
   9627 and ‘~code~’, and, if you must, ‘+strike-through+’.  Text in the code
   9628 and verbatim string is not processed for Org specific syntax; it is
   9629 exported verbatim.
   9630 
   9631    To turn off fontification for marked up text, you can set
   9632 ‘org-fontify-emphasized-text’ to ‘nil’.  To narrow down the list of
   9633 available markup syntax, you can customize ‘org-emphasis-alist’.
   9634 
   9635    Sometimes, when marked text also contains the marker character
   9636 itself, the result may be unsettling.  For example,
   9637 
   9638      /One may expect this whole sentence to be italicized, but the
   9639      following ~user/?variable~ contains =/= character, which effectively
   9640      stops emphasis there./
   9641 
   9642    You can use zero width space to help Org sorting out the ambiguity.
   9643 See *note Escape Character:: for more details.
   9644 
   9645 
   9646 File: org.info,  Node: Subscripts and Superscripts,  Next: Special Symbols,  Prev: Emphasis and Monospace,  Up: Markup for Rich Contents
   9647 
   9648 12.3 Subscripts and Superscripts
   9649 ================================
   9650 
   9651 ‘^’ and ‘_’ are used to indicate super- and subscripts.  To increase the
   9652 readability of ASCII text, it is not necessary, but OK, to surround
   9653 multi-character sub- and superscripts with curly braces.  For example
   9654 
   9655      The radius of the sun is R_sun = 6.96 x 10^8 m.  On the other hand,
   9656      the radius of Alpha Centauri is R_{Alpha Centauri} = 1.28 x R_{sun}.
   9657 
   9658    If you write a text where the underscore is often used in a different
   9659 context, Org’s convention to always interpret these as subscripts can
   9660 get in your way.  Configure the variable ‘org-use-sub-superscripts’ to
   9661 change this convention.  For example, when setting this variable to
   9662 ‘{}’, ‘a_b’ is not interpreted as a subscript, but ‘a_{b}’ is.
   9663 
   9664    You can set ‘org-use-sub-superscripts’ in a file using the export
   9665 option ‘^:’ (see *note Export Settings::).  For example, ‘#+OPTIONS:
   9666 ^:{}’ sets ‘org-use-sub-superscripts’ to ‘{}’ and limits super- and
   9667 subscripts to the curly bracket notation.
   9668 
   9669    You can also toggle the visual display of super- and subscripts:
   9670 
   9671 ‘C-c C-x \’ (‘org-toggle-pretty-entities’)
   9672      This command formats sub- and superscripts in a WYSIWYM way.
   9673 
   9674    Set both ‘org-pretty-entities’ and
   9675 ‘org-pretty-entities-include-sub-superscripts’ to ‘t’ to start with
   9676 super- and subscripts _visually_ interpreted as specified by the option
   9677 ‘org-use-sub-superscripts’.
   9678 
   9679 
   9680 File: org.info,  Node: Special Symbols,  Next: Embedded LaTeX,  Prev: Subscripts and Superscripts,  Up: Markup for Rich Contents
   9681 
   9682 12.4 Special Symbols
   9683 ====================
   9684 
   9685 You can use LaTeX-like syntax to insert special symbols—named
   9686 entities—like ‘\alpha’ to indicate the Greek letter, or ‘\to’ to
   9687 indicate an arrow.  Completion for these symbols is available, just type
   9688 ‘\’ and maybe a few letters, and press ‘M-<TAB>’ to see possible
   9689 completions.  If you need such a symbol inside a word, terminate it with
   9690 a pair of curly brackets.  For example
   9691 
   9692      Pro tip: Given a circle \Gamma of diameter d, the length of its
   9693      circumference is \pi{}d.
   9694 
   9695    A large number of entities is provided, with names taken from both
   9696 HTML and LaTeX; you can comfortably browse the complete list from a
   9697 dedicated buffer using the command ‘org-entities-help’.  It is also
   9698 possible to provide your own special symbols in the variable
   9699 ‘org-entities-user’.
   9700 
   9701    During export, these symbols are transformed into the native format
   9702 of the exporter back-end.  Strings like ‘\alpha’ are exported as
   9703 ‘&alpha;’ in the HTML output, and as ‘\(\alpha\)’ in the LaTeX output.
   9704 Similarly, ‘\nbsp’ becomes ‘&nbsp;’ in HTML and ‘~’ in LaTeX.
   9705 
   9706    If you would like to see entities displayed as UTF-8 characters, use
   9707 the following command(1):
   9708 
   9709 ‘C-c C-x \’ (‘org-toggle-pretty-entities’)
   9710 
   9711      Toggle display of entities as UTF-8 characters.  This does not
   9712      change the buffer content which remains plain ASCII, but it
   9713      overlays the UTF-8 character for display purposes only.
   9714 
   9715    In addition to regular entities defined above, Org exports in a
   9716 special way(2) the following commonly used character combinations: ‘\-’
   9717 is treated as a shy hyphen, ‘--’ and ‘---’ are converted into dashes,
   9718 and ‘...’ becomes a compact set of dots.
   9719 
   9720    ---------- Footnotes ----------
   9721 
   9722    (1) You can turn this on by default by setting the variable
   9723 ‘org-pretty-entities’, or on a per-file base with the ‘STARTUP’ option
   9724 ‘entitiespretty’.
   9725 
   9726    (2) This behavior can be disabled with ‘-’ export setting (see *note
   9727 Export Settings::).
   9728 
   9729 
   9730 File: org.info,  Node: Embedded LaTeX,  Next: Literal Examples,  Prev: Special Symbols,  Up: Markup for Rich Contents
   9731 
   9732 12.5 Embedded LaTeX
   9733 ===================
   9734 
   9735 Plain ASCII is normally sufficient for almost all note taking.
   9736 Exceptions include scientific notes, which often require mathematical
   9737 symbols and the occasional formula.  LaTeX(1) is widely used to typeset
   9738 scientific documents.  Org mode supports embedding LaTeX code into its
   9739 files, because many academics are used to writing and reading LaTeX
   9740 source code, and because it can be readily processed to produce pretty
   9741 output for a number of export back-ends.
   9742 
   9743 * Menu:
   9744 
   9745 * LaTeX fragments::           Complex formulas made easy.
   9746 * Previewing LaTeX fragments:: What will this snippet look like?
   9747 * CDLaTeX mode::              Speed up entering of formulas.
   9748 
   9749    ---------- Footnotes ----------
   9750 
   9751    (1) LaTeX is a macro system based on Donald E. Knuth’s TeX system.
   9752 Many of the features described here as “LaTeX” are really from TeX, but
   9753 for simplicity I am blurring this distinction.
   9754 
   9755 
   9756 File: org.info,  Node: LaTeX fragments,  Next: Previewing LaTeX fragments,  Up: Embedded LaTeX
   9757 
   9758 12.5.1 LaTeX fragments
   9759 ----------------------
   9760 
   9761 Org mode can contain LaTeX math fragments, and it supports ways to
   9762 process these for several export back-ends.  When exporting to LaTeX,
   9763 the code is left as it is.  When exporting to HTML, Org can use either
   9764 MathJax (https://www.mathjax.org) (see *note Math formatting in HTML
   9765 export::) or transcode the math into images (see *note Previewing LaTeX
   9766 fragments::).
   9767 
   9768    LaTeX fragments do not need any special marking at all.  The
   9769 following snippets are identified as LaTeX source code:
   9770 
   9771    • Environments of any kind(1).  The only requirement is that the
   9772      ‘\begin’ statement appears on a new line, preceded by only
   9773      whitespace.
   9774 
   9775    • Text within the usual LaTeX math delimiters.  To avoid conflicts
   9776      with currency specifications, single ‘$’ characters are only
   9777      recognized as math delimiters if the enclosed text contains at most
   9778      two line breaks, is directly attached to the ‘$’ characters with no
   9779      whitespace in between, and if the closing ‘$’ is followed by
   9780      whitespace, punctuation or a dash.  For the other delimiters, there
   9781      is no such restriction, so when in doubt, use ‘\(...\)’ as inline
   9782      math delimiters.
   9783 
   9784 For example:
   9785 
   9786      \begin{equation}                        % arbitrary environments,
   9787      x=\sqrt{b}                              % even tables, figures
   9788      \end{equation}                          % etc
   9789 
   9790      If $a^2=b$ and \( b=2 \), then the solution must be
   9791      either $$ a=+\sqrt{2} $$ or \[ a=-\sqrt{2} \].
   9792 
   9793    LaTeX processing can be configured with the variable
   9794 ‘org-export-with-latex’.  The default setting is ‘t’ which means MathJax
   9795 for HTML, and no processing for ASCII and LaTeX back-ends.  You can also
   9796 set this variable on a per-file basis using one of these lines:
   9797 
   9798 ‘#+OPTIONS: tex:t’          Do the right thing automatically (MathJax)
   9799 ‘#+OPTIONS: tex:nil’        Do not process LaTeX fragments at all
   9800 ‘#+OPTIONS: tex:verbatim’   Verbatim export, for jsMath or so
   9801 
   9802    ---------- Footnotes ----------
   9803 
   9804    (1) When MathJax is used, only the environments recognized by MathJax
   9805 are processed.  When dvipng, dvisvgm, or ImageMagick suite is used to
   9806 create images, any LaTeX environment is handled.
   9807 
   9808 
   9809 File: org.info,  Node: Previewing LaTeX fragments,  Next: CDLaTeX mode,  Prev: LaTeX fragments,  Up: Embedded LaTeX
   9810 
   9811 12.5.2 Previewing LaTeX fragments
   9812 ---------------------------------
   9813 
   9814 If you have a working LaTeX installation and ‘dvipng’, ‘dvisvgm’ or
   9815 ‘convert’ installed(1), LaTeX fragments can be processed to produce
   9816 images of the typeset expressions to be used for inclusion while
   9817 exporting to HTML (see *note LaTeX fragments::), or for inline
   9818 previewing within Org mode.
   9819 
   9820    You can customize the variables ‘org-format-latex-options’ and
   9821 ‘org-format-latex-header’ to influence some aspects of the preview.  In
   9822 particular, the ‘:scale’ (and for HTML export, ‘:html-scale’) property
   9823 of the former can be used to adjust the size of the preview images.
   9824 
   9825 ‘C-c C-x C-l’ (‘org-latex-preview’)
   9826 
   9827      Produce a preview image of the LaTeX fragment at point and overlay
   9828      it over the source code.  If there is no fragment at point, process
   9829      all fragments in the current entry—between two headlines.
   9830 
   9831      When called with a single prefix argument, clear all images in the
   9832      current entry.  Two prefix arguments produce a preview image for
   9833      all fragments in the buffer, while three of them clear all the
   9834      images in that buffer.
   9835 
   9836    You can turn on the previewing of all LaTeX fragments in a file with
   9837 
   9838      #+STARTUP: latexpreview
   9839 
   9840    To disable it, simply use
   9841 
   9842      #+STARTUP: nolatexpreview
   9843 
   9844    ---------- Footnotes ----------
   9845 
   9846    (1) These are respectively available at
   9847 <https://sourceforge.net/projects/dvipng/>,
   9848 <http://dvisvgm.bplaced.net/> and from the ImageMagick suite.  Choose
   9849 the converter by setting the variable
   9850 ‘org-preview-latex-default-process’ accordingly.
   9851 
   9852 
   9853 File: org.info,  Node: CDLaTeX mode,  Prev: Previewing LaTeX fragments,  Up: Embedded LaTeX
   9854 
   9855 12.5.3 Using CDLaTeX to enter math
   9856 ----------------------------------
   9857 
   9858 CDLaTeX mode is a minor mode that is normally used in combination with a
   9859 major LaTeX mode like AUCTeX in order to speed-up insertion of
   9860 environments and math templates.  Inside Org mode, you can make use of
   9861 some of the features of CDLaTeX mode.  You need to install ‘cdlatex.el’
   9862 and ‘texmathp.el’ (the latter comes also with AUCTeX) from NonGNU ELPA
   9863 (https://elpa.nongnu.org/) with the Emacs packaging system
   9864 (https://www.gnu.org/software/emacs/manual/html_node/emacs/Package-Installation.html)
   9865 or alternatively from
   9866 <https://staff.fnwi.uva.nl/c.dominik/Tools/cdlatex/>.  Do not use
   9867 CDLaTeX mode itself under Org mode, but use the special version Org
   9868 CDLaTeX minor mode that comes as part of Org.  Turn it on for the
   9869 current buffer with ‘M-x org-cdlatex-mode’, or for all Org files with
   9870 
   9871      (add-hook 'org-mode-hook #'turn-on-org-cdlatex)
   9872 
   9873    When this mode is enabled, the following features are present (for
   9874 more details see the documentation of CDLaTeX mode):
   9875 
   9876 ‘C-c {’
   9877 
   9878      Insert an environment template.
   9879 
   9880 ‘<TAB>’
   9881 
   9882      The ‘<TAB>’ key expands the template if point is inside a LaTeX
   9883      fragment(1).  For example, ‘<TAB>’ expands ‘fr’ to ‘\frac{}{}’ and
   9884      position point correctly inside the first brace.  Another ‘<TAB>’
   9885      gets you into the second brace.
   9886 
   9887      Even outside fragments, ‘<TAB>’ expands environment abbreviations
   9888      at the beginning of a line.  For example, if you write ‘equ’ at the
   9889      beginning of a line and press ‘<TAB>’, this abbreviation is
   9890      expanded to an ‘equation’ environment.  To get a list of all
   9891      abbreviations, type ‘M-x cdlatex-command-help’.
   9892 
   9893 ‘^’
   9894 ‘_’
   9895 
   9896      Pressing ‘_’ and ‘^’ inside a LaTeX fragment inserts these
   9897      characters together with a pair of braces.  If you use ‘<TAB>’ to
   9898      move out of the braces, and if the braces surround only a single
   9899      character or macro, they are removed again (depending on the
   9900      variable ‘cdlatex-simplify-sub-super-scripts’).
   9901 
   9902 ‘`’
   9903 
   9904      Pressing the backquote followed by a character inserts math macros,
   9905      also outside LaTeX fragments.  If you wait more than 1.5 seconds
   9906      after the backquote, a help window pops up.
   9907 
   9908 ‘'’
   9909 
   9910      Pressing the single-quote followed by another character modifies
   9911      the LaTeX symbol before point with an accent or a font.  If you
   9912      wait more than 1.5 seconds after the single-quote, a help window
   9913      pops up.  Character modification works only inside LaTeX fragments;
   9914      outside the quote is normal.
   9915 
   9916    ---------- Footnotes ----------
   9917 
   9918    (1) Org mode has a method to test if point is inside such a fragment,
   9919 see the documentation of the function ‘org-inside-LaTeX-fragment-p’.
   9920 
   9921 
   9922 File: org.info,  Node: Literal Examples,  Next: Images,  Prev: Embedded LaTeX,  Up: Markup for Rich Contents
   9923 
   9924 12.6 Literal Examples
   9925 =====================
   9926 
   9927 You can include literal examples that should not be subjected to markup.
   9928 Such examples are typeset in monospace, so this is well suited for
   9929 source code and similar examples.
   9930 
   9931      #+BEGIN_EXAMPLE
   9932        Some example from a text file.
   9933      #+END_EXAMPLE
   9934 
   9935    There is one limitation, however.  You must insert a comma right
   9936 before lines starting with either ‘*’, ‘,*’, ‘#+’ or ‘,#+’, as those may
   9937 be interpreted as outlines nodes or some other special syntax.  Org
   9938 transparently strips these additional commas whenever it accesses the
   9939 contents of the block.
   9940 
   9941      #+BEGIN_EXAMPLE
   9942      ,* I am no real headline
   9943      #+END_EXAMPLE
   9944 
   9945    For simplicity when using small examples, you can also start the
   9946 example lines with a colon followed by a space.  There may also be
   9947 additional whitespace before the colon:
   9948 
   9949      Here is an example
   9950         : Some example from a text file.
   9951 
   9952    If the example is source code from a programming language, or any
   9953 other text that can be marked up by Font Lock in Emacs, you can ask for
   9954 the example to look like the fontified Emacs buffer(1).  This is done
   9955 with the code block, where you also need to specify the name of the
   9956 major mode that should be used to fontify the example(2), see *note
   9957 Structure Templates:: for shortcuts to easily insert code blocks.
   9958 
   9959      #+BEGIN_SRC emacs-lisp
   9960        (defun org-xor (a b)
   9961          "Exclusive or."
   9962          (if a (not b) b))
   9963       #+END_SRC
   9964 
   9965    Both in ‘example’ and in ‘src’ snippets, you can add a ‘-n’ switch to
   9966 the end of the ‘#+BEGIN’ line, to get the lines of the example numbered.
   9967 The ‘-n’ takes an optional numeric argument specifying the starting line
   9968 number of the block.  If you use a ‘+n’ switch, the numbering from the
   9969 previous numbered snippet is continued in the current one.  The ‘+n’
   9970 switch can also take a numeric argument.  This adds the value of the
   9971 argument to the last line of the previous block to determine the
   9972 starting line number.
   9973 
   9974      #+BEGIN_SRC emacs-lisp -n 20
   9975        ;; This exports with line number 20.
   9976        (message "This is line 21")
   9977      #+END_SRC
   9978 
   9979      #+BEGIN_SRC emacs-lisp +n 10
   9980        ;; This is listed as line 31.
   9981        (message "This is line 32")
   9982      #+END_SRC
   9983 
   9984    In literal examples, Org interprets strings like ‘(ref:name)’ as
   9985 labels, and use them as targets for special hyperlinks like
   9986 ‘[[(name)]]’—i.e., the reference name enclosed in single parenthesis.
   9987 In HTML, hovering the mouse over such a link remote-highlights the
   9988 corresponding code line, which is kind of cool.
   9989 
   9990    You can also add a ‘-r’ switch which _removes_ the labels from the
   9991 source code(3).  With the ‘-n’ switch, links to these references are
   9992 labeled by the line numbers from the code listing.  Otherwise links use
   9993 the labels with no parentheses.  Here is an example:
   9994 
   9995      #+BEGIN_SRC emacs-lisp -n -r
   9996        (save-excursion                 (ref:sc)
   9997           (goto-char (point-min))      (ref:jump)
   9998      #+END_SRC
   9999      In line [[(sc)]] we remember the current position. [[(jump)][Line (jump)]]
  10000      jumps to point-min.
  10001 
  10002    Source code and examples may be _indented_ in order to align nicely
  10003 with the surrounding text, and in particular with plain list structure
  10004 (see *note Plain Lists::).  By default, Org only retains the relative
  10005 indentation between lines, e.g., when exporting the contents of the
  10006 block.  However, you can use the ‘-i’ switch to also preserve the global
  10007 indentation, if it does matter.  See *note Editing Source Code::.
  10008 
  10009    If the syntax for the label format conflicts with the language
  10010 syntax, use a ‘-l’ switch to change the format, for example
  10011 
  10012      #+BEGIN_SRC pascal -n -r -l "((%s))"
  10013 
  10014 See also the variable ‘org-coderef-label-format’.
  10015 
  10016    HTML export also allows examples to be published as text areas (see
  10017 *note Text areas in HTML export::).
  10018 
  10019    Because the ‘#+BEGIN’ ... ‘#+END’ patterns need to be added so often,
  10020 a shortcut is provided (see *note Structure Templates::).
  10021 
  10022 ‘C-c '’ (‘org-edit-special’)
  10023      Edit the source code example at point in its native mode.  This
  10024      works by switching to a temporary buffer with the source code.  You
  10025      need to exit by pressing ‘C-c '’ again.  The edited version then
  10026      replaces the old version in the Org buffer.  Fixed-width
  10027      regions—where each line starts with a colon followed by a space—are
  10028      edited using Artist mode(4) to allow creating ASCII drawings
  10029      easily.  Using this command in an empty line creates a new
  10030      fixed-width region.
  10031 
  10032    Calling ‘org-store-link’ (see *note Handling Links::) while editing a
  10033 source code example in a temporary buffer created with ‘C-c '’ prompts
  10034 for a label.  Make sure that it is unique in the current buffer, and
  10035 insert it with the proper formatting like ‘(ref:label)’ at the end of
  10036 the current line.  Then the label is stored as a link ‘(label)’, for
  10037 retrieval with ‘C-c C-l’.
  10038 
  10039    ---------- Footnotes ----------
  10040 
  10041    (1) This works automatically for the HTML backend (it requires
  10042 version 1.34 of the ‘htmlize.el’ package, which you need to install).
  10043 Fontified code chunks in LaTeX can be achieved using either the listings
  10044 (https://www.ctan.org/pkg/listings) LaTeX package, minted
  10045 (https://www.ctan.org/pkg/minted) LaTeX package, or by using
  10046 engrave-faces (https://elpa.gnu.org/packages/engrave-faces.html) .
  10047 Refer to ‘org-latex-src-block-backend’ for details.
  10048 
  10049    (2) Source code in code blocks may also be evaluated either
  10050 interactively or on export.  See *note Working with Source Code:: for
  10051 more information on evaluating code blocks.
  10052 
  10053    (3) Adding ‘-k’ to ‘-n -r’ _keeps_ the labels in the source code
  10054 while using line numbers for the links, which might be useful to explain
  10055 those in an Org mode example code.
  10056 
  10057    (4) You may select a different mode with the variable
  10058 ‘org-edit-fixed-width-region-mode’.
  10059 
  10060 
  10061 File: org.info,  Node: Images,  Next: Captions,  Prev: Literal Examples,  Up: Markup for Rich Contents
  10062 
  10063 12.7 Images
  10064 ===========
  10065 
  10066 An image is a link to an image file(1) that does not have a description
  10067 part, for example
  10068 
  10069      ./img/cat.jpg
  10070 
  10071    If you wish to define a caption for the image (see *note Captions::)
  10072 and maybe a label for internal cross references (see *note Internal
  10073 Links::), make sure that the link is on a line by itself and precede it
  10074 with ‘CAPTION’ and ‘NAME’ keywords as follows:
  10075 
  10076      #+CAPTION: This is the caption for the next figure link (or table)
  10077      #+NAME:   fig:SED-HR4049
  10078      [[./img/a.jpg]]
  10079 
  10080    Such images can be displayed within the buffer with the following
  10081 command:
  10082 
  10083 ‘C-c C-x C-v’ (‘org-toggle-inline-images’)
  10084      Toggle the inline display of linked images.  When called with a
  10085      prefix argument, also display images that do have a link
  10086      description.  You can ask for inline images to be displayed at
  10087      startup by configuring the variable
  10088      ‘org-startup-with-inline-images’(2).
  10089 
  10090    By default, Org mode displays inline images according to their actual
  10091 width.  You can customize the displayed image width using
  10092 ‘org-image-actual-width’ variable (globally) or ‘ORG-IMAGE-ACTUAL-WIDTH’
  10093 property (subtree-level)(3).  Their value can be the following:
  10094    • (default) Non-nil, use the actual width of images when inlining
  10095      them.
  10096    • When set to a number, use imagemagick (when available) to set the
  10097      image’s width to this value.
  10098    • When set to a number in a list, try to get the width from any
  10099      ‘#+ATTR.*’ keyword if it matches a width specification like:
  10100           #+ATTR_HTML: :width 300px
  10101      and fall back on that number if none is found.
  10102    • When set to nil, try to get the width from an ‘#+ATTR.*’ keyword
  10103      and fall back on the original width if none is found.
  10104 
  10105    Inline images can also be displayed when cycling the folding state.
  10106 When custom option ‘org-cycle-inline-images-display’ is set, the visible
  10107 inline images under subtree will be displayed automatically.
  10108 
  10109    ---------- Footnotes ----------
  10110 
  10111    (1) What Emacs considers to be an image depends on
  10112 ‘image-file-name-extensions’ and ‘image-file-name-regexps’.
  10113 
  10114    (2) The variable ‘org-startup-with-inline-images’ can be set within a
  10115 buffer with the ‘STARTUP’ options ‘inlineimages’ and ‘noinlineimages’.
  10116 
  10117    (3) The width can be customized in Emacs >= 24.1, built with
  10118 imagemagick support.
  10119 
  10120 
  10121 File: org.info,  Node: Captions,  Next: Horizontal Rules,  Prev: Images,  Up: Markup for Rich Contents
  10122 
  10123 12.8 Captions
  10124 =============
  10125 
  10126 You can assign a caption to a specific part of a document by inserting a
  10127 ‘CAPTION’ keyword immediately before it:
  10128 
  10129      #+CAPTION: This is the caption for the next table (or link)
  10130      | ... | ... |
  10131      |-----+-----|
  10132 
  10133    Optionally, the caption can take the form:
  10134 
  10135      #+CAPTION[Short caption]: Longer caption.
  10136 
  10137    Even though images and tables are prominent examples of captioned
  10138 structures, the same caption mechanism can apply to many others—e.g.,
  10139 LaTeX equations, source code blocks.  Depending on the export back-end,
  10140 those may or may not be handled.
  10141 
  10142 
  10143 File: org.info,  Node: Horizontal Rules,  Next: Creating Footnotes,  Prev: Captions,  Up: Markup for Rich Contents
  10144 
  10145 12.9 Horizontal Rules
  10146 =====================
  10147 
  10148 A line consisting of only dashes, and at least 5 of them, is exported as
  10149 a horizontal line.
  10150 
  10151 
  10152 File: org.info,  Node: Creating Footnotes,  Prev: Horizontal Rules,  Up: Markup for Rich Contents
  10153 
  10154 12.10 Creating Footnotes
  10155 ========================
  10156 
  10157 A footnote is started by a footnote marker in square brackets in column
  10158 0, no indentation allowed.  It ends at the next footnote definition,
  10159 headline, or after two consecutive empty lines.  The footnote reference
  10160 is simply the marker in square brackets, inside text.  Markers always
  10161 start with ‘fn:’.  For example:
  10162 
  10163      The Org website[fn:1] now looks a lot better than it used to.
  10164      ...
  10165      [fn:55] The link is: https://orgmode.org
  10166 
  10167    Org mode extends the number-based syntax to _named_ footnotes and
  10168 optional inline definition.  Here are the valid references:
  10169 
  10170 ‘[fn:NAME]’
  10171      A named footnote reference, where NAME is a unique label word, or,
  10172      for simplicity of automatic creation, a number.
  10173 
  10174 ‘[fn:: This is the inline definition of this footnote]’
  10175      An anonymous footnote where the definition is given directly at the
  10176      reference point.
  10177 
  10178 ‘[fn:NAME: a definition]’
  10179      An inline definition of a footnote, which also specifies a name for
  10180      the note.  Since Org allows multiple references to the same note,
  10181      you can then use ‘[fn:NAME]’ to create additional references.
  10182 
  10183    Footnote labels can be created automatically, or you can create names
  10184 yourself.  This is handled by the variable ‘org-footnote-auto-label’ and
  10185 its corresponding ‘STARTUP’ keywords.  See the docstring of that
  10186 variable for details.
  10187 
  10188    The following command handles footnotes:
  10189 
  10190 ‘C-c C-x f’
  10191      The footnote action command.
  10192 
  10193      When point is on a footnote reference, jump to the definition.
  10194      When it is at a definition, jump to the—first—reference.
  10195 
  10196      Otherwise, create a new footnote.  Depending on the variable
  10197      ‘org-footnote-define-inline’(1), the definition is placed right
  10198      into the text as part of the reference, or separately into the
  10199      location determined by the variable ‘org-footnote-section’.
  10200 
  10201      When this command is called with a prefix argument, a menu of
  10202      additional options is offered:
  10203 
  10204      ‘s’     Sort the footnote definitions by reference sequence.
  10205      ‘r’     Renumber the simple ‘fn:N’ footnotes.
  10206      ‘S’     Short for first ‘r’, then ‘s’ action.
  10207      ‘n’     Rename all footnotes into a ‘fn:1’ ... ‘fn:n’ sequence.
  10208      ‘d’     Delete the footnote at point, including definition and
  10209              references.
  10210 
  10211      Depending on the variable ‘org-footnote-auto-adjust’(2),
  10212      renumbering and sorting footnotes can be automatic after each
  10213      insertion or deletion.
  10214 
  10215 ‘C-c C-c’
  10216      If point is on a footnote reference, jump to the definition.  If it
  10217      is at the definition, jump back to the reference.  When called at a
  10218      footnote location with a prefix argument, offer the same menu as
  10219      ‘C-c C-x f’.
  10220 
  10221 ‘C-c C-o’ or ‘mouse-1/2’
  10222      Footnote labels are also links to the corresponding definition or
  10223      reference, and you can use the usual commands to follow these
  10224      links.
  10225 
  10226    ---------- Footnotes ----------
  10227 
  10228    (1) The corresponding in-buffer setting is: ‘#+STARTUP: fninline’ or
  10229 ‘#+STARTUP: nofninline’.
  10230 
  10231    (2) The corresponding in-buffer options are ‘#+STARTUP: fnadjust’ and
  10232 ‘#+STARTUP: nofnadjust’.
  10233 
  10234 
  10235 File: org.info,  Node: Exporting,  Next: Publishing,  Prev: Markup for Rich Contents,  Up: Top
  10236 
  10237 13 Exporting
  10238 ************
  10239 
  10240 At some point you might want to print your notes, publish them on the
  10241 web, or share them with people not using Org.  Org can convert and
  10242 export documents to a variety of other formats while retaining as much
  10243 structure (see *note Document Structure::) and markup (see *note Markup
  10244 for Rich Contents::) as possible.
  10245 
  10246    The libraries responsible for translating Org files to other formats
  10247 are called _back-ends_.  Org ships with support for the following
  10248 back-ends:
  10249 
  10250    • _ascii_ (ASCII format)
  10251    • _beamer_ (LaTeX Beamer format)
  10252    • _html_ (HTML format)
  10253    • _icalendar_ (iCalendar format)
  10254    • _latex_ (LaTeX format)
  10255    • _md_ (Markdown format)
  10256    • _odt_ (OpenDocument Text format)
  10257    • _org_ (Org format)
  10258    • _texinfo_ (Texinfo format)
  10259    • _man_ (Man page format)
  10260 
  10261    Users can install libraries for additional formats from the Emacs
  10262 packaging system.  For easy discovery, these packages have a common
  10263 naming scheme: ‘ox-NAME’, where NAME is a format.  For example,
  10264 ‘ox-koma-letter’ for _koma-letter_ back-end.  More libraries can be
  10265 found in the ‘org-contrib’ repository (see *note Installation::).
  10266 
  10267    Org only loads back-ends for the following formats by default: ASCII,
  10268 HTML, iCalendar, LaTeX, and ODT.  Additional back-ends can be loaded in
  10269 either of two ways: by configuring the ‘org-export-backends’ variable,
  10270 or by requiring libraries in the Emacs init file.  For example, to load
  10271 the Markdown back-end, add this to your Emacs config:
  10272 
  10273      (require 'ox-md)
  10274 
  10275 * Menu:
  10276 
  10277 * The Export Dispatcher::        The main interface.
  10278 * Export Settings::              Common export settings.
  10279 * Table of Contents::            The if and where of the table of contents.
  10280 * Include Files::                Include additional files into a document.
  10281 * Macro Replacement::            Use macros to create templates.
  10282 * Comment Lines::                What will not be exported.
  10283 * ASCII/Latin-1/UTF-8 export::   Exporting to flat files with encoding.
  10284 * Beamer Export::                Producing presentations and slides.
  10285 * HTML Export::                  Exporting to HTML.
  10286 * LaTeX Export::              Exporting to LaTeX and processing to PDF.
  10287 * Markdown Export::              Exporting to Markdown.
  10288 * OpenDocument Text Export::     Exporting to OpenDocument Text.
  10289 * Org Export::                   Exporting to Org.
  10290 * Texinfo Export::               Exporting to Texinfo.
  10291 * iCalendar Export::             Exporting to iCalendar.
  10292 * Other Built-in Back-ends::     Exporting to a man page.
  10293 * Advanced Export Configuration:: Fine-tuning the export output.
  10294 * Export in Foreign Buffers::    Author tables and lists in Org syntax.
  10295 
  10296 
  10297 File: org.info,  Node: The Export Dispatcher,  Next: Export Settings,  Up: Exporting
  10298 
  10299 13.1 The Export Dispatcher
  10300 ==========================
  10301 
  10302 The export dispatcher is the main interface for Org’s exports.  A
  10303 hierarchical menu presents the currently configured export formats.
  10304 Options are shown as easy toggle switches on the same screen.
  10305 
  10306    Org also has a minimal prompt interface for the export dispatcher.
  10307 When the variable ‘org-export-dispatch-use-expert-ui’ is set to a
  10308 non-‘nil’ value, Org prompts in the minibuffer.  To switch back to the
  10309 hierarchical menu, press ‘?’.
  10310 
  10311 ‘C-c C-e’ (‘org-export’)
  10312 
  10313      Invokes the export dispatcher interface.  The options show default
  10314      settings.  The ‘C-u’ prefix argument preserves options from the
  10315      previous export, including any subtree selections.
  10316 
  10317    Org exports the entire buffer by default.  If the Org buffer has an
  10318 active region, then Org exports just that region.
  10319 
  10320    Within the dispatcher interface, the following key combinations can
  10321 further alter what is exported, and how.
  10322 
  10323 ‘C-a’
  10324 
  10325      Toggle asynchronous export.  Asynchronous export uses an external
  10326      Emacs process with a specially configured initialization file to
  10327      complete the exporting process in the background, without tying-up
  10328      Emacs.  This is particularly useful when exporting long documents.
  10329 
  10330      Output from an asynchronous export is saved on the _export stack_.
  10331      To view this stack, call the export dispatcher with a double ‘C-u’
  10332      prefix argument.  If already in the export dispatcher menu, ‘&’
  10333      displays the stack.
  10334 
  10335      You can make asynchronous export the default by setting
  10336      ‘org-export-in-background’.
  10337 
  10338      You can set the initialization file used by the background process
  10339      by setting ‘org-export-async-init-file’.
  10340 
  10341 ‘C-b’
  10342 
  10343      Toggle body-only export.  Useful for excluding headers and footers
  10344      in the export.  Affects only those back-end formats that have
  10345      sections like ‘<head>...</head>’ in HTML.
  10346 
  10347 ‘C-s’
  10348 
  10349      Toggle subtree export.  When turned on, Org exports only the
  10350      subtree starting from point position at the time the export
  10351      dispatcher was invoked.  Org uses the top heading of this subtree
  10352      as the document’s title.  If point is not on a heading, Org uses
  10353      the nearest enclosing header.  If point is in the document
  10354      preamble, Org signals an error and aborts export.
  10355 
  10356      To make subtree export the default, customize the variable
  10357      ‘org-export-initial-scope’.
  10358 
  10359 ‘C-v’
  10360 
  10361      Toggle visible-only export.  This is useful for exporting only
  10362      certain parts of an Org document by adjusting the visibility of
  10363      particular headings.  See also *note Sparse Trees::.
  10364 
  10365 
  10366 File: org.info,  Node: Export Settings,  Next: Table of Contents,  Prev: The Export Dispatcher,  Up: Exporting
  10367 
  10368 13.2 Export Settings
  10369 ====================
  10370 
  10371 Export options can be set: globally with variables; for an individual
  10372 file by making variables buffer-local with in-buffer settings (see *note
  10373 In-buffer Settings::); by setting individual keywords or specifying them
  10374 in compact form with the ‘OPTIONS’ keyword; or for a tree by setting
  10375 properties (see *note Properties and Columns::).  Options set at a
  10376 specific level override options set at a more general level.
  10377 
  10378    In-buffer settings may appear anywhere in the file, either directly
  10379 or indirectly through a file included using ‘#+SETUPFILE: filename or
  10380 URL’ syntax.  Option keyword sets tailored to a particular back-end can
  10381 be inserted from the export dispatcher (see *note The Export
  10382 Dispatcher::) using the ‘Insert template’ command by pressing ‘#’.  To
  10383 insert keywords individually, a good way to make sure the keyword is
  10384 correct is to type ‘#+’ and then to use ‘M-<TAB>’(1) for completion.
  10385 
  10386    The export keywords available for every back-end, and their
  10387 equivalent global variables, include:
  10388 
  10389 ‘AUTHOR’
  10390      The document author (‘user-full-name’).
  10391 
  10392 ‘CREATOR’
  10393      Entity responsible for output generation
  10394      (‘org-export-creator-string’).
  10395 
  10396 ‘DATE’
  10397      A date or a time-stamp(2).
  10398 
  10399 ‘EMAIL’
  10400      The email address (‘user-mail-address’).
  10401 
  10402 ‘LANGUAGE’
  10403      Language to use for translating certain strings
  10404      (‘org-export-default-language’).  With ‘#+LANGUAGE: fr’, for
  10405      example, Org translates ‘Table of contents’ to the French ‘Table
  10406      des matières’(3).
  10407 
  10408 ‘SELECT_TAGS’
  10409      The default value is ‘("export")’.  When a tree is tagged with
  10410      ‘export’ (‘org-export-select-tags’), Org selects that tree and its
  10411      subtrees for export.  Org excludes trees with ‘noexport’ tags, see
  10412      below.  When selectively exporting files with ‘export’ tags set,
  10413      Org does not export any text that appears before the first
  10414      headline.
  10415 
  10416 ‘EXCLUDE_TAGS’
  10417      The default value is ‘("noexport")’.  When a tree is tagged with
  10418      ‘noexport’ (‘org-export-exclude-tags’), Org excludes that tree and
  10419      its subtrees from export.  Entries tagged with ‘noexport’ are
  10420      unconditionally excluded from the export, even if they have an
  10421      ‘export’ tag.  Even if a subtree is not exported, Org executes any
  10422      code blocks contained there.
  10423 
  10424 ‘TITLE’
  10425      Org displays this title.  For long titles, use multiple ‘#+TITLE’
  10426      lines.
  10427 
  10428 ‘EXPORT_FILE_NAME’
  10429      The name of the output file to be generated.  Otherwise, Org
  10430      generates the file name based on the buffer name and the extension
  10431      based on the back-end format.
  10432 
  10433    The ‘OPTIONS’ keyword is a compact form.  To configure multiple
  10434 options, use several ‘OPTIONS’ lines.  ‘OPTIONS’ recognizes the
  10435 following arguments.
  10436 
  10437 ‘'’
  10438      Toggle smart quotes (‘org-export-with-smart-quotes’).  Depending on
  10439      the language used, when activated, Org treats pairs of double
  10440      quotes as primary quotes, pairs of single quotes as secondary
  10441      quotes, and single quote marks as apostrophes.
  10442 
  10443 ‘*’
  10444      Toggle emphasized text (‘org-export-with-emphasize’).
  10445 
  10446 ‘-’
  10447      Toggle conversion of special strings
  10448      (‘org-export-with-special-strings’).
  10449 
  10450 ‘:’
  10451      Toggle fixed-width sections (‘org-export-with-fixed-width’).
  10452 
  10453 ‘<’
  10454      Toggle inclusion of time/date active/inactive stamps
  10455      (‘org-export-with-timestamps’).
  10456 
  10457 ‘\n’
  10458      Toggles whether to preserve line breaks
  10459      (‘org-export-preserve-breaks’).
  10460 
  10461 ‘^’
  10462      Toggle TeX-like syntax for sub- and superscripts.  If you write
  10463      ‘^:{}’, ‘a_{b}’ is interpreted, but the simple ‘a_b’ is left as it
  10464      is (‘org-export-with-sub-superscripts’).
  10465 
  10466 ‘arch’
  10467      Configure how archived trees are exported.  When set to ‘headline’,
  10468      the export process skips the contents and processes only the
  10469      headlines (‘org-export-with-archived-trees’).
  10470 
  10471 ‘author’
  10472      Toggle inclusion of author name into exported file
  10473      (‘org-export-with-author’).
  10474 
  10475 ‘broken-links’
  10476      Toggles if Org should continue exporting upon finding a broken
  10477      internal link.  When set to ‘mark’, Org clearly marks the problem
  10478      link in the output (‘org-export-with-broken-links’).
  10479 
  10480 ‘c’
  10481      Toggle inclusion of ‘CLOCK’ keywords (‘org-export-with-clocks’).
  10482 
  10483 ‘creator’
  10484      Toggle inclusion of creator information in the exported file
  10485      (‘org-export-with-creator’).
  10486 
  10487 ‘d’
  10488      Toggles inclusion of drawers, or list of drawers to include, or
  10489      list of drawers to exclude (‘org-export-with-drawers’).
  10490 
  10491 ‘date’
  10492      Toggle inclusion of a date into exported file
  10493      (‘org-export-with-date’).
  10494 
  10495 ‘e’
  10496      Toggle inclusion of entities (‘org-export-with-entities’).
  10497 
  10498 ‘email’
  10499      Toggle inclusion of the author’s e-mail into exported file
  10500      (‘org-export-with-email’).
  10501 
  10502 ‘f’
  10503      Toggle the inclusion of footnotes (‘org-export-with-footnotes’).
  10504 
  10505 ‘H’
  10506      Set the number of headline levels for export
  10507      (‘org-export-headline-levels’).  Below that level, headlines are
  10508      treated differently.  In most back-ends, they become list items.
  10509 
  10510 ‘inline’
  10511      Toggle inclusion of inlinetasks (‘org-export-with-inlinetasks’).
  10512 
  10513 ‘num’
  10514      Toggle section-numbers (‘org-export-with-section-numbers’).  When
  10515      set to number N, Org numbers only those headlines at level N or
  10516      above.  Set ‘UNNUMBERED’ property to non-‘nil’ to disable numbering
  10517      of heading and subheadings entirely.  Moreover, when the value is
  10518      ‘notoc’ the headline, and all its children, do not appear in the
  10519      table of contents either (see *note Table of Contents::).
  10520 
  10521 ‘p’
  10522      Toggle export of planning information (‘org-export-with-planning’).
  10523      “Planning information” comes from lines located right after the
  10524      headline and contain any combination of these cookies: ‘SCHEDULED’,
  10525      ‘DEADLINE’, or ‘CLOSED’.
  10526 
  10527 ‘pri’
  10528      Toggle inclusion of priority cookies (‘org-export-with-priority’).
  10529 
  10530 ‘prop’
  10531      Toggle inclusion of property drawers, or list the properties to
  10532      include (‘org-export-with-properties’).
  10533 
  10534 ‘stat’
  10535      Toggle inclusion of statistics cookies
  10536      (‘org-export-with-statistics-cookies’).
  10537 
  10538 ‘tags’
  10539      Toggle inclusion of tags, may also be ‘not-in-toc’
  10540      (‘org-export-with-tags’).
  10541 
  10542 ‘tasks’
  10543      Toggle inclusion of tasks (TODO items); or ‘nil’ to remove all
  10544      tasks; or ‘todo’ to remove done tasks; or list the keywords to keep
  10545      (‘org-export-with-tasks’).
  10546 
  10547 ‘tex’
  10548      ‘nil’ does not export; ‘t’ exports; ‘verbatim’ keeps everything in
  10549      verbatim (‘org-export-with-latex’).
  10550 
  10551 ‘timestamp’
  10552      Toggle inclusion of the creation time in the exported file
  10553      (‘org-export-time-stamp-file’).
  10554 
  10555 ‘title’
  10556      Toggle inclusion of title (‘org-export-with-title’).
  10557 
  10558 ‘toc’
  10559      Toggle inclusion of the table of contents, or set the level limit
  10560      (‘org-export-with-toc’).
  10561 
  10562 ‘todo’
  10563      Toggle inclusion of TODO keywords into exported text
  10564      (‘org-export-with-todo-keywords’).
  10565 
  10566 ‘|’
  10567      Toggle inclusion of tables (‘org-export-with-tables’).
  10568 
  10569    When exporting subtrees, special node properties can override the
  10570 above keywords.  These properties have an ‘EXPORT_’ prefix.  For
  10571 example, ‘DATE’ becomes, ‘EXPORT_DATE’ when used for a specific subtree.
  10572 Except for ‘SETUPFILE’, all other keywords listed above have an
  10573 ‘EXPORT_’ equivalent.
  10574 
  10575    If ‘org-export-allow-bind-keywords’ is non-‘nil’, Emacs variables can
  10576 become buffer-local during export by using the ‘BIND’ keyword.  Its
  10577 syntax is ‘#+BIND: variable value’.  This is particularly useful for
  10578 in-buffer settings that cannot be changed using keywords.
  10579 
  10580    ---------- Footnotes ----------
  10581 
  10582    (1) Many desktops intercept ‘M-<TAB>’ to switch windows.  Use ‘C-M-i’
  10583 or ‘<ESC> <TAB>’ instead.
  10584 
  10585    (2) The variable ‘org-export-date-timestamp-format’ defines how this
  10586 timestamp are exported.
  10587 
  10588    (3) For export to LaTeX format—or LaTeX-related formats such as
  10589 Beamer—, the ‘org-latex-package-alist’ variable needs further
  10590 configuration.  See *note LaTeX specific export settings::.
  10591 
  10592 
  10593 File: org.info,  Node: Table of Contents,  Next: Include Files,  Prev: Export Settings,  Up: Exporting
  10594 
  10595 13.3 Table of Contents
  10596 ======================
  10597 
  10598 The table of contents includes all headlines in the document.  Its depth
  10599 is therefore the same as the headline levels in the file.  If you need
  10600 to use a different depth, or turn it off entirely, set the
  10601 ‘org-export-with-toc’ variable accordingly.  You can achieve the same on
  10602 a per file basis, using the following ‘toc’ item in ‘OPTIONS’ keyword:
  10603 
  10604      #+OPTIONS: toc:2          (only include two levels in TOC)
  10605      #+OPTIONS: toc:nil        (no default TOC at all)
  10606 
  10607    Org includes both numbered and unnumbered headlines in the table of
  10608 contents(1).  If you need to exclude an unnumbered headline, along with
  10609 all its children, set the ‘UNNUMBERED’ property to ‘notoc’ value.
  10610 
  10611      * Subtree not numbered, not in table of contents either
  10612        :PROPERTIES:
  10613        :UNNUMBERED: notoc
  10614        :END:
  10615 
  10616    Org normally inserts the table of contents directly before the first
  10617 headline of the file.  To move the table of contents to a different
  10618 location, first turn off the default with ‘org-export-with-toc’ variable
  10619 or with ‘#+OPTIONS: toc:nil’.  Then insert ‘#+TOC: headlines N’ at the
  10620 desired location(s).
  10621 
  10622      #+OPTIONS: toc:nil
  10623      ...
  10624      #+TOC: headlines 2
  10625 
  10626    To adjust the table of contents depth for a specific section of the
  10627 Org document, append an additional ‘local’ parameter.  This parameter
  10628 becomes a relative depth for the current level.  The following example
  10629 inserts a local table of contents, with direct children only.
  10630 
  10631      * Section
  10632      #+TOC: headlines 1 local
  10633 
  10634    Note that for this feature to work properly in LaTeX export, the Org
  10635 file requires the inclusion of the titletoc package.  Because of
  10636 compatibility issues, titletoc has to be loaded _before_ hyperref.
  10637 Customize the ‘org-latex-default-packages-alist’ variable.
  10638 
  10639    The following example inserts a table of contents that links to the
  10640 children of the specified target.
  10641 
  10642      * Target
  10643        :PROPERTIES:
  10644        :CUSTOM_ID: TargetSection
  10645        :END:
  10646      ** Heading A
  10647      ** Heading B
  10648      * Another section
  10649      #+TOC: headlines 1 :target #TargetSection
  10650 
  10651    The ‘:target’ attribute is supported in HTML, Markdown, ODT, and
  10652 ASCII export.
  10653 
  10654    Use the ‘TOC’ keyword to generate list of tables—respectively, all
  10655 listings—with captions.
  10656 
  10657      #+TOC: listings
  10658      #+TOC: tables
  10659 
  10660    Normally Org uses the headline for its entry in the table of
  10661 contents.  But with ‘ALT_TITLE’ property, a different entry can be
  10662 specified for the table of contents.
  10663 
  10664    ---------- Footnotes ----------
  10665 
  10666    (1) At the moment, some export back-ends do not obey this
  10667 specification.  For example, LaTeX export excludes every unnumbered
  10668 headline from the table of contents.
  10669 
  10670 
  10671 File: org.info,  Node: Include Files,  Next: Macro Replacement,  Prev: Table of Contents,  Up: Exporting
  10672 
  10673 13.4 Include Files
  10674 ==================
  10675 
  10676 During export, you can include the content of another file.  For
  10677 example, to include your ‘.emacs’ file, you could use:
  10678 
  10679      #+INCLUDE: "~/.emacs" src emacs-lisp
  10680 
  10681 The first parameter is the file name to include.  The optional second
  10682 parameter specifies the block type: ‘example’, ‘export’ or ‘src’.  The
  10683 optional third parameter specifies the source code language to use for
  10684 formatting the contents.  This is relevant to both ‘export’ and ‘src’
  10685 block types.
  10686 
  10687    If an included file is specified as having a markup language, Org
  10688 neither checks for valid syntax nor changes the contents in any way.
  10689 For example and source blocks, Org code-escapes the contents before
  10690 inclusion.
  10691 
  10692    If an included file is not specified as having any markup language,
  10693 Org assumes it be in Org format and proceeds as usual with a few
  10694 exceptions.  Org makes the footnote labels (see *note Creating
  10695 Footnotes::) in the included file local to that file.  The contents of
  10696 the included file belong to the same structure—headline, item—containing
  10697 the ‘INCLUDE’ keyword.  In particular, headlines within the file become
  10698 children of the current section.  That behavior can be changed by
  10699 providing an additional keyword parameter, ‘:minlevel’.  It shifts the
  10700 headlines in the included file to become the lowest level.  For example,
  10701 this syntax makes the included file a sibling of the current top-level
  10702 headline:
  10703 
  10704      #+INCLUDE: "~/my-book/chapter2.org" :minlevel 1
  10705 
  10706    Inclusion of only portions of files are specified using ranges
  10707 parameter with ‘:lines’ keyword.  The line at the upper end of the range
  10708 will not be included.  The start and/or the end of the range may be
  10709 omitted to use the obvious defaults.
  10710 
  10711 ‘#+INCLUDE: "~/.emacs" :lines "5-10"’   Include lines 5 to 10, 10 excluded
  10712 ‘#+INCLUDE: "~/.emacs" :lines "-10"’    Include lines 1 to 10, 10 excluded
  10713 ‘#+INCLUDE: "~/.emacs" :lines "10-"’    Include lines from 10 to EOF
  10714 
  10715    Inclusions may specify a file-link to extract an object matched by
  10716 ‘org-link-search’(1) (see *note Search Options::).  The ranges for
  10717 ‘:lines’ keyword are relative to the requested element.  Therefore,
  10718 
  10719      #+INCLUDE: "./paper.org::*conclusion" :lines 1-20
  10720 
  10721 includes the first 20 lines of the headline named ‘conclusion’.
  10722 
  10723    To extract only the contents of the matched object, set
  10724 ‘:only-contents’ property to non-‘nil’.  This omits any planning lines
  10725 or property drawers.  For example, to include the body of the heading
  10726 with the custom ID ‘theory’, you can use
  10727 
  10728      #+INCLUDE: "./paper.org::#theory" :only-contents t
  10729 
  10730    The following command allows navigating to the included document:
  10731 
  10732 ‘C-c '’ (‘org-edit~special’)
  10733 
  10734      Visit the included file at point.
  10735 
  10736    ---------- Footnotes ----------
  10737 
  10738    (1) Note that ‘org-link-search-must-match-exact-headline’ is locally
  10739 bound to non-‘nil’.  Therefore, ‘org-link-search’ only matches headlines
  10740 and named elements.
  10741 
  10742 
  10743 File: org.info,  Node: Macro Replacement,  Next: Comment Lines,  Prev: Include Files,  Up: Exporting
  10744 
  10745 13.5 Macro Replacement
  10746 ======================
  10747 
  10748 Macros replace text snippets during export.  Macros are defined globally
  10749 in ‘org-export-global-macros’, or document-wise with the following
  10750 syntax:
  10751 
  10752      #+MACRO: name   replacement text; $1, $2 are arguments
  10753 
  10754 which can be referenced using ‘{{{name(arg1, arg2)}}}’(1).  For example
  10755 
  10756      #+MACRO: poem Rose is $1, violet's $2. Life's ordered: Org assists you.
  10757      {{{poem(red,blue)}}}
  10758 
  10759 becomes
  10760 
  10761      Rose is red, violet's blue.  Life's ordered: Org assists you.
  10762 
  10763    As a special case, Org parses any replacement text starting with
  10764 ‘(eval’ as an Emacs Lisp expression and evaluates it accordingly.
  10765 Within such templates, arguments become strings.  Thus, the following
  10766 macro
  10767 
  10768      #+MACRO: gnustamp (eval (concat "GNU/" (capitalize $1)))
  10769 
  10770 turns ‘{{{gnustamp(linux)}}}’ into ‘GNU/Linux’ during export.
  10771 
  10772    Org recognizes macro references in following Org markup areas:
  10773 paragraphs, headlines, verse blocks, tables cells and lists.  Org also
  10774 recognizes macro references in keywords, such as ‘CAPTION’, ‘TITLE’,
  10775 ‘AUTHOR’, ‘DATE’, and for some back-end specific export options.
  10776 
  10777    Org comes with following pre-defined macros:
  10778 
  10779 ‘{{{keyword(NAME)}}}’
  10780 ‘{{{title}}}’
  10781 ‘{{{author}}}’
  10782 ‘{{{email}}}’
  10783      The ‘keyword’ macro collects all values from NAME keywords
  10784      throughout the buffer, separated with white space.  ‘title’,
  10785      ‘author’ and ‘email’ macros are shortcuts for, respectively,
  10786      ‘{{{keyword(TITLE)}}}’, ‘{{{keyword(AUTHOR)}}}’ and
  10787      ‘{{{keyword(EMAIL)}}}’.
  10788 
  10789 ‘{{{date}}}’
  10790 ‘{{{date(FORMAT)}}}’
  10791      This macro refers to the ‘DATE’ keyword.  FORMAT is an optional
  10792      argument to the ‘date’ macro that is used only if ‘DATE’ is a
  10793      single timestamp.  FORMAT should be a format string understood by
  10794      ‘format-time-string’.
  10795 
  10796 ‘{{{time(FORMAT)}}}’
  10797 ‘{{{modification-time(FORMAT, VC)}}}’
  10798      These macros refer to the document’s date and time of export and
  10799      date and time of modification.  FORMAT is a string understood by
  10800      ‘format-time-string’.  If the second argument to the
  10801      ‘modification-time’ macro is non-‘nil’, Org uses ‘vc.el’ to
  10802      retrieve the document’s modification time from the version control
  10803      system.  Otherwise Org reads the file attributes.
  10804 
  10805 ‘{{{input-file}}}’
  10806      This macro refers to the filename of the exported file.
  10807 
  10808 ‘{{{property(PROPERTY-NAME)}}}’
  10809 ‘{{{property(PROPERTY-NAME, SEARCH OPTION)}}}’
  10810      This macro returns the value of property PROPERTY-NAME in the
  10811      current entry.  If SEARCH-OPTION (see *note Search Options::)
  10812      refers to a remote entry, use it instead.
  10813 
  10814 ‘{{{n}}}’
  10815 ‘{{{n(NAME)}}}’
  10816 ‘{{{n(NAME, ACTION)}}}’
  10817      This macro implements custom counters by returning the number of
  10818      times the macro has been expanded so far while exporting the
  10819      buffer.  You can create more than one counter using different NAME
  10820      values.  If ACTION is ‘-’, previous value of the counter is held,
  10821      i.e., the specified counter is not incremented.  If the value is a
  10822      number, the specified counter is set to that value.  If it is any
  10823      other non-empty string, the specified counter is reset to 1.  You
  10824      may leave NAME empty to reset the default counter.
  10825 
  10826    Moreover, inline source blocks (see *note Structure of Code Blocks::)
  10827 use the special ‘results’ macro to mark their output.  As such, you are
  10828 advised against re-defining it, unless you know what you are doing.
  10829 
  10830    The surrounding brackets can be made invisible by setting
  10831 ‘org-hide-macro-markers’ to a non-‘nil’ value.
  10832 
  10833    Org expands macros at the very beginning of the export process.
  10834 
  10835    ---------- Footnotes ----------
  10836 
  10837    (1) Since commas separate the arguments, commas within arguments have
  10838 to be escaped with the backslash character.  So only those backslash
  10839 characters before a comma need escaping with another backslash
  10840 character.
  10841 
  10842 
  10843 File: org.info,  Node: Comment Lines,  Next: ASCII/Latin-1/UTF-8 export,  Prev: Macro Replacement,  Up: Exporting
  10844 
  10845 13.6 Comment Lines
  10846 ==================
  10847 
  10848 Lines starting with zero or more whitespace characters followed by one
  10849 ‘#’ and a whitespace are treated as comments and, as such, are not
  10850 exported.
  10851 
  10852    Likewise, regions surrounded by ‘#+BEGIN_COMMENT’ ... ‘#+END_COMMENT’
  10853 are not exported.
  10854 
  10855    Finally, a ‘COMMENT’ keyword at the beginning of an entry, but after
  10856 any other keyword or priority cookie, comments out the entire subtree.
  10857 In this case, the subtree is not exported and no code block within it is
  10858 executed either(1).  The command below helps changing the comment status
  10859 of a headline.
  10860 
  10861 ‘C-c ;’ (‘org-toggle-comment’)
  10862 
  10863      Toggle the ‘COMMENT’ keyword at the beginning of an entry.
  10864 
  10865    ---------- Footnotes ----------
  10866 
  10867    (1) For a less drastic behavior, consider using a select tag (see
  10868 *note Export Settings::) instead.
  10869 
  10870 
  10871 File: org.info,  Node: ASCII/Latin-1/UTF-8 export,  Next: Beamer Export,  Prev: Comment Lines,  Up: Exporting
  10872 
  10873 13.7 ASCII/Latin-1/UTF-8 export
  10874 ===============================
  10875 
  10876 ASCII export produces an output file containing only plain ASCII
  10877 characters.  This is the simplest and most direct text output.  It does
  10878 not contain any Org markup.  Latin-1 and UTF-8 export use additional
  10879 characters and symbols available in these encoding standards.  All three
  10880 of these export formats offer the most basic of text output for maximum
  10881 portability.
  10882 
  10883    On export, Org fills and justifies text according to the text width
  10884 set in ‘org-ascii-text-width’.
  10885 
  10886    Org exports links using a footnote-like style where the descriptive
  10887 part is in the text and the link is in a note before the next heading.
  10888 See the variable ‘org-ascii-links-to-notes’ for details.
  10889 
  10890 ASCII export commands
  10891 ---------------------
  10892 
  10893 ‘C-c C-e t a’ (‘org-ascii-export-to-ascii’)
  10894 ‘C-c C-e t l’
  10895 ‘C-c C-e t u’
  10896 
  10897      Export as an ASCII file with a ‘.txt’ extension.  For ‘myfile.org’,
  10898      Org exports to ‘myfile.txt’, overwriting without warning.  For
  10899      ‘myfile.txt’, Org exports to ‘myfile.txt.txt’ in order to prevent
  10900      data loss.
  10901 
  10902 ‘C-c C-e t A’ (‘org-ascii-export-to-ascii’)
  10903 ‘C-c C-e t L’
  10904 ‘C-c C-e t U’
  10905 
  10906      Export to a temporary buffer.  Does not create a file.
  10907 
  10908 ASCII specific export settings
  10909 ------------------------------
  10910 
  10911 The ASCII export back-end has one extra keyword for customizing ASCII
  10912 output.  Setting this keyword works similar to the general options (see
  10913 *note Export Settings::).
  10914 
  10915 ‘SUBTITLE’
  10916      The document subtitle.  For long subtitles, use multiple
  10917      ‘#+SUBTITLE’ lines in the Org file.  Org prints them on one
  10918      continuous line, wrapping into multiple lines if necessary.
  10919 
  10920 Header and sectioning structure
  10921 -------------------------------
  10922 
  10923 Org converts the first three outline levels into headlines for ASCII
  10924 export.  The remaining levels are turned into lists.  To change this
  10925 cut-off point where levels become lists, see *note Export Settings::.
  10926 
  10927 Quoting ASCII text
  10928 ------------------
  10929 
  10930 To insert text within the Org file by the ASCII back-end, use one the
  10931 following constructs, inline, keyword, or export block:
  10932 
  10933      Inline text @@ascii:and additional text@@ within a paragraph.
  10934 
  10935      #+ASCII: Some text
  10936 
  10937      #+BEGIN_EXPORT ascii
  10938      Org exports text in this block only when using ASCII back-end.
  10939      #+END_EXPORT
  10940 
  10941 ASCII specific attributes
  10942 -------------------------
  10943 
  10944 ASCII back-end recognizes only one attribute, ‘:width’, which specifies
  10945 the width of a horizontal rule in number of characters.  The keyword and
  10946 syntax for specifying widths is:
  10947 
  10948      #+ATTR_ASCII: :width 10
  10949      -----
  10950 
  10951 ASCII special blocks
  10952 --------------------
  10953 
  10954 Besides ‘#+BEGIN_CENTER’ blocks (see *note Paragraphs::), ASCII back-end
  10955 has these two left and right justification blocks:
  10956 
  10957      #+BEGIN_JUSTIFYLEFT
  10958      It's just a jump to the left...
  10959      #+END_JUSTIFYLEFT
  10960 
  10961      #+BEGIN_JUSTIFYRIGHT
  10962      ...and then a step to the right.
  10963      #+END_JUSTIFYRIGHT
  10964 
  10965 
  10966 File: org.info,  Node: Beamer Export,  Next: HTML Export,  Prev: ASCII/Latin-1/UTF-8 export,  Up: Exporting
  10967 
  10968 13.8 Beamer Export
  10969 ==================
  10970 
  10971 Org uses Beamer export to convert an Org file tree structure into
  10972 high-quality interactive slides for presentations.  Beamer is a LaTeX
  10973 document class for creating presentations in PDF, HTML, and other
  10974 popular display formats.
  10975 
  10976 * Menu:
  10977 
  10978 * Beamer export commands::       For creating Beamer documents.
  10979 * Beamer specific export settings:: For customizing Beamer export.
  10980 * Frames and Blocks in Beamer::  For composing Beamer slides.
  10981 * Beamer specific syntax::       For using in Org documents.
  10982 * Editing support::              Editing support.
  10983 * A Beamer example::             A complete presentation.
  10984 
  10985 
  10986 File: org.info,  Node: Beamer export commands,  Next: Beamer specific export settings,  Up: Beamer Export
  10987 
  10988 13.8.1 Beamer export commands
  10989 -----------------------------
  10990 
  10991 ‘C-c C-e l b’ (‘org-beamer-export-to-latex’)
  10992 
  10993      Export as LaTeX file with a ‘.tex’ extension.  For ‘myfile.org’,
  10994      Org exports to ‘myfile.tex’, overwriting without warning.
  10995 
  10996 ‘C-c C-e l B’ (‘org-beamer-export-as-latex’)
  10997 
  10998      Export to a temporary buffer.  Does not create a file.
  10999 
  11000 ‘C-c C-e l P’ (‘org-beamer-export-to-pdf’)
  11001 
  11002      Export as LaTeX file and then convert it to PDF format.
  11003 
  11004 ‘C-c C-e l O’
  11005 
  11006      Export as LaTeX file, convert it to PDF format, and then open the
  11007      PDF file.
  11008 
  11009 
  11010 File: org.info,  Node: Beamer specific export settings,  Next: Frames and Blocks in Beamer,  Prev: Beamer export commands,  Up: Beamer Export
  11011 
  11012 13.8.2 Beamer specific export settings
  11013 --------------------------------------
  11014 
  11015 Beamer export back-end has several additional keywords for customizing
  11016 Beamer output.  These keywords work similar to the general options
  11017 settings (see *note Export Settings::).
  11018 
  11019 ‘BEAMER_THEME’
  11020      The Beamer layout theme (‘org-beamer-theme’).  Use square brackets
  11021      for options.  For example:
  11022 
  11023           #+BEAMER_THEME: Rochester [height=20pt]
  11024 
  11025 ‘BEAMER_FONT_THEME’
  11026      The Beamer font theme.
  11027 
  11028 ‘BEAMER_INNER_THEME’
  11029      The Beamer inner theme.
  11030 
  11031 ‘BEAMER_OUTER_THEME’
  11032      The Beamer outer theme.
  11033 
  11034 ‘BEAMER_HEADER’
  11035      Arbitrary lines inserted in the preamble, just before the
  11036      ‘hyperref’ settings.
  11037 
  11038 ‘DESCRIPTION’
  11039      The document description.  For long descriptions, use multiple
  11040      ‘DESCRIPTION’ keywords.  By default, ‘hyperref’ inserts
  11041      ‘DESCRIPTION’ as metadata.  Use ‘org-latex-hyperref-template’ to
  11042      configure document metadata.  Use ‘org-latex-title-command’ to
  11043      configure typesetting of description as part of front matter.
  11044 
  11045 ‘KEYWORDS’
  11046      The keywords for defining the contents of the document.  Use
  11047      multiple ‘KEYWORDS’ lines if necessary.  By default, ‘hyperref’
  11048      inserts ‘KEYWORDS’ as metadata.  Use ‘org-latex-hyperref-template’
  11049      to configure document metadata.  Use ‘org-latex-title-command’ to
  11050      configure typesetting of keywords as part of front matter.
  11051 
  11052 ‘SUBTITLE’
  11053      Document’s subtitle.  For typesetting, use
  11054      ‘org-beamer-subtitle-format’ string.  Use
  11055      ‘org-latex-hyperref-template’ to configure document metadata.  Use
  11056      ‘org-latex-title-command’ to configure typesetting of subtitle as
  11057      part of front matter.
  11058 
  11059 
  11060 File: org.info,  Node: Frames and Blocks in Beamer,  Next: Beamer specific syntax,  Prev: Beamer specific export settings,  Up: Beamer Export
  11061 
  11062 13.8.3 Frames and Blocks in Beamer
  11063 ----------------------------------
  11064 
  11065 Org transforms heading levels into Beamer’s sectioning elements, frames
  11066 and blocks.  Any Org tree with a not-too-deep-level nesting should in
  11067 principle be exportable as a Beamer presentation.
  11068 
  11069    • Org headlines become Beamer frames when the heading level in Org is
  11070      equal to ‘org-beamer-frame-level’ or ‘H’ value in a ‘OPTIONS’ line
  11071      (see *note Export Settings::).
  11072 
  11073      Org overrides headlines to frames conversion for the current tree
  11074      of an Org file if it encounters the ‘BEAMER_ENV’ property set to
  11075      ‘frame’ or ‘fullframe’.  Org ignores whatever
  11076      ‘org-beamer-frame-level’ happens to be for that headline level in
  11077      the Org tree.  In Beamer terminology, a full frame is a frame
  11078      without its title.
  11079 
  11080    • Org exports a Beamer frame’s objects as block environments.  Org
  11081      can enforce wrapping in special block types when ‘BEAMER_ENV’
  11082      property is set(1).  For valid values see
  11083      ‘org-beamer-environments-default’.  To add more values, see
  11084      ‘org-beamer-environments-extra’.
  11085 
  11086    • If ‘BEAMER_ENV’ is set to ‘appendix’, Org exports the entry as an
  11087      appendix.  When set to ‘note’, Org exports the entry as a note
  11088      within the frame or between frames, depending on the entry’s
  11089      heading level.  When set to ‘noteNH’, Org exports the entry as a
  11090      note without its title.  When set to ‘againframe’, Org exports the
  11091      entry with ‘\againframe’ command, which makes setting the
  11092      ‘BEAMER_REF’ property mandatory because ‘\againframe’ needs frame
  11093      to resume.
  11094 
  11095      When ‘ignoreheading’ is set, Org export ignores the entry’s
  11096      headline but not its content.  This is useful for inserting content
  11097      between frames.  It is also useful for properly closing a ‘column’
  11098      environment.
  11099 
  11100      When ‘BEAMER_ACT’ is set for a headline, Org export translates that
  11101      headline as an overlay or action specification.  When enclosed in
  11102      square brackets, Org export makes the overlay specification a
  11103      default.  Use ‘BEAMER_OPT’ to set any options applicable to the
  11104      current Beamer frame or block.  The Beamer export back-end wraps
  11105      with appropriate angular or square brackets.  It also adds the
  11106      ‘fragile’ option for any code that may require a verbatim block.
  11107 
  11108      To create a column on the Beamer slide, use the ‘BEAMER_COL’
  11109      property for its headline in the Org file.  Set the value of
  11110      ‘BEAMER_COL’ to a decimal number representing the fraction of the
  11111      total text width.  Beamer export uses this value to set the
  11112      column’s width and fills the column with the contents of the Org
  11113      entry.  If the Org entry has no specific environment defined,
  11114      Beamer export ignores the heading.  If the Org entry has a defined
  11115      environment, Beamer export uses the heading as title.  Behind the
  11116      scenes, Beamer export automatically handles LaTeX column
  11117      separations for contiguous headlines.  To manually adjust them for
  11118      any unique configurations needs, use the ‘BEAMER_ENV’ property.
  11119 
  11120    ---------- Footnotes ----------
  11121 
  11122    (1) If ‘BEAMER_ENV’ is set, Org export adds ‘B_environment’ tag to
  11123 make it visible.  The tag serves as a visual aid and has no semantic
  11124 relevance.
  11125 
  11126 
  11127 File: org.info,  Node: Beamer specific syntax,  Next: Editing support,  Prev: Frames and Blocks in Beamer,  Up: Beamer Export
  11128 
  11129 13.8.4 Beamer specific syntax
  11130 -----------------------------
  11131 
  11132 Since Org’s Beamer export back-end is an extension of the LaTeX
  11133 back-end, it recognizes other LaTeX specific syntax—for example,
  11134 ‘#+LATEX:’ or ‘#+ATTR_LATEX:’.  See *note LaTeX Export::, for details.
  11135 
  11136    Beamer export wraps the table of contents generated with ‘toc:t’
  11137 ‘OPTION’ keyword in a ‘frame’ environment.  Beamer export does not wrap
  11138 the table of contents generated with ‘TOC’ keyword (see *note Table of
  11139 Contents::).  Use square brackets for specifying options.
  11140 
  11141      #+TOC: headlines [currentsection]
  11142 
  11143    Insert Beamer-specific code using the following constructs:
  11144 
  11145      #+BEAMER: \pause
  11146 
  11147      #+BEGIN_EXPORT beamer
  11148        Only Beamer export back-end exports this.
  11149      #+END_EXPORT
  11150 
  11151      Text @@beamer:some code@@ within a paragraph.
  11152 
  11153    Inline constructs, such as the last one above, are useful for adding
  11154 overlay specifications to objects with ‘bold’, ‘item’, ‘link’,
  11155 ‘radio-target’ and ‘target’ types.  Enclose the value in angular
  11156 brackets and place the specification at the beginning of the object as
  11157 shown in this example:
  11158 
  11159      A *@@beamer:<2->@@useful* feature
  11160 
  11161    Beamer export recognizes the ‘ATTR_BEAMER’ keyword with the following
  11162 attributes from Beamer configurations: ‘:environment’ for changing local
  11163 Beamer environment, ‘:overlay’ for specifying Beamer overlays in angular
  11164 or square brackets, and ‘:options’ for inserting optional arguments.
  11165 
  11166      #+ATTR_BEAMER: :environment nonindentlist
  11167      - item 1, not indented
  11168      - item 2, not indented
  11169      - item 3, not indented
  11170 
  11171      #+ATTR_BEAMER: :overlay <+->
  11172      - item 1
  11173      - item 2
  11174 
  11175      #+ATTR_BEAMER: :options [Lagrange]
  11176      Let $G$ be a finite group, and let $H$ be
  11177      a subgroup of $G$.  Then the order of $H$ divides the order of $G$.
  11178 
  11179 
  11180 File: org.info,  Node: Editing support,  Next: A Beamer example,  Prev: Beamer specific syntax,  Up: Beamer Export
  11181 
  11182 13.8.5 Editing support
  11183 ----------------------
  11184 
  11185 Org Beamer mode is a special minor mode for faster editing of Beamer
  11186 documents.
  11187 
  11188      #+STARTUP: beamer
  11189 
  11190 ‘C-c C-b’ (‘org-beamer-select-environment’)
  11191 
  11192      Org Beamer mode provides this key for quicker selections in Beamer
  11193      normal environments, and for selecting the ‘BEAMER_COL’ property.
  11194 
  11195 
  11196 File: org.info,  Node: A Beamer example,  Prev: Editing support,  Up: Beamer Export
  11197 
  11198 13.8.6 A Beamer example
  11199 -----------------------
  11200 
  11201 Here is an example of an Org document ready for Beamer export.
  11202 
  11203      #+TITLE: Example Presentation
  11204      #+AUTHOR: Carsten Dominik
  11205      #+OPTIONS: H:2 toc:t num:t
  11206      #+LATEX_CLASS: beamer
  11207      #+LATEX_CLASS_OPTIONS: [presentation]
  11208      #+BEAMER_THEME: Madrid
  11209      #+COLUMNS: %45ITEM %10BEAMER_ENV(Env) %10BEAMER_ACT(Act) %4BEAMER_COL(Col)
  11210 
  11211      * This is the first structural section
  11212 
  11213      ** Frame 1
  11214      *** Thanks to Eric Fraga                                           :B_block:
  11215          :PROPERTIES:
  11216          :BEAMER_COL: 0.48
  11217          :BEAMER_ENV: block
  11218          :END:
  11219          for the first viable Beamer setup in Org
  11220      *** Thanks to everyone else                                        :B_block:
  11221          :PROPERTIES:
  11222          :BEAMER_COL: 0.48
  11223          :BEAMER_ACT: <2->
  11224          :BEAMER_ENV: block
  11225          :END:
  11226          for contributing to the discussion
  11227      **** This will be formatted as a beamer note                       :B_note:
  11228           :PROPERTIES:
  11229           :BEAMER_env: note
  11230           :END:
  11231      ** Frame 2 (where we will not use columns)
  11232      *** Request
  11233          Please test this stuff!
  11234 
  11235 
  11236 File: org.info,  Node: HTML Export,  Next: LaTeX Export,  Prev: Beamer Export,  Up: Exporting
  11237 
  11238 13.9 HTML Export
  11239 ================
  11240 
  11241 Org mode contains an HTML exporter with extensive HTML formatting
  11242 compatible with XHTML 1.0 strict standard.
  11243 
  11244 * Menu:
  11245 
  11246 * HTML export commands::         Invoking HTML export.
  11247 * HTML specific export settings:: Settings for HTML export.
  11248 * HTML doctypes::                Exporting various (X)HTML flavors.
  11249 * HTML preamble and postamble::  Inserting preamble and postamble.
  11250 * Quoting HTML tags::            Using direct HTML in Org files.
  11251 * Headlines in HTML export::     Formatting headlines.
  11252 * Links in HTML export::         Inserting and formatting links.
  11253 * Tables in HTML export::        How to modify the formatting of tables.
  11254 * Images in HTML export::        How to insert figures into HTML output.
  11255 * Math formatting in HTML export:: Beautiful math also on the web.
  11256 * Text areas in HTML export::    An alternate way to show an example.
  11257 * CSS support::                  Changing the appearance of the output.
  11258 * JavaScript support::           Info and folding in a web browser.
  11259 
  11260 
  11261 File: org.info,  Node: HTML export commands,  Next: HTML specific export settings,  Up: HTML Export
  11262 
  11263 13.9.1 HTML export commands
  11264 ---------------------------
  11265 
  11266 ‘C-c C-e h h’ (‘org-html-export-to-html’)
  11267 
  11268      Export as HTML file with a ‘.html’ extension.  For ‘myfile.org’,
  11269      Org exports to ‘myfile.html’, overwriting without warning.  ‘C-c
  11270      C-e h o’ exports to HTML and opens it in a web browser.
  11271 
  11272 ‘C-c C-e h H’ (‘org-html-export-as-html’)
  11273 
  11274      Exports to a temporary buffer.  Does not create a file.
  11275 
  11276 
  11277 File: org.info,  Node: HTML specific export settings,  Next: HTML doctypes,  Prev: HTML export commands,  Up: HTML Export
  11278 
  11279 13.9.2 HTML specific export settings
  11280 ------------------------------------
  11281 
  11282 HTML export has a number of keywords, similar to the general options
  11283 settings described in *note Export Settings::.
  11284 
  11285 ‘DESCRIPTION’
  11286      This is the document’s description, which the HTML exporter inserts
  11287      it as a HTML meta tag in the HTML file.  For long descriptions, use
  11288      multiple ‘DESCRIPTION’ lines.  The exporter takes care of wrapping
  11289      the lines properly.
  11290 
  11291      The exporter includes a number of other meta tags, which can be
  11292      customized by modifying ‘org-html-meta-tags’.
  11293 
  11294 ‘HTML_DOCTYPE’
  11295      Specify the document type, for example: HTML5 (‘org-html-doctype’).
  11296 
  11297 ‘HTML_CONTAINER’
  11298      Specify the HTML container, such as ‘div’, for wrapping sections
  11299      and elements (‘org-html-container-element’).
  11300 
  11301 ‘HTML_LINK_HOME’
  11302      The URL for home link (‘org-html-link-home’).
  11303 
  11304 ‘HTML_LINK_UP’
  11305      The URL for the up link of exported HTML pages
  11306      (‘org-html-link-up’).
  11307 
  11308 ‘HTML_MATHJAX’
  11309      Options for MathJax (‘org-html-mathjax-options’).  MathJax is used
  11310      to typeset LaTeX math in HTML documents.  See *note Math formatting
  11311      in HTML export::, for an example.
  11312 
  11313 ‘HTML_HEAD’
  11314      Arbitrary lines for appending to the HTML document’s head
  11315      (‘org-html-head’).
  11316 
  11317 ‘HTML_HEAD_EXTRA’
  11318      More arbitrary lines for appending to the HTML document’s head
  11319      (‘org-html-head-extra’).
  11320 
  11321 ‘KEYWORDS’
  11322      Keywords to describe the document’s content.  HTML exporter inserts
  11323      these keywords as HTML meta tags.  For long keywords, use multiple
  11324      ‘KEYWORDS’ lines.
  11325 
  11326 ‘LATEX_HEADER’
  11327      Arbitrary lines for appending to the preamble; HTML exporter
  11328      appends when transcoding LaTeX fragments to images (see *note Math
  11329      formatting in HTML export::).
  11330 
  11331 ‘SUBTITLE’
  11332      The document’s subtitle.  HTML exporter formats subtitle if
  11333      document type is ‘HTML5’ and the CSS has a ‘subtitle’ class.
  11334 
  11335    Some of these keywords are explained in more detail in the following
  11336 sections of the manual.
  11337 
  11338 
  11339 File: org.info,  Node: HTML doctypes,  Next: HTML preamble and postamble,  Prev: HTML specific export settings,  Up: HTML Export
  11340 
  11341 13.9.3 HTML doctypes
  11342 --------------------
  11343 
  11344 Org can export to various (X)HTML flavors.
  11345 
  11346    Set the ‘org-html-doctype’ variable for different (X)HTML variants.
  11347 Depending on the variant, the HTML exporter adjusts the syntax of HTML
  11348 conversion accordingly.  Org includes the following ready-made variants:
  11349 
  11350    • ‘"html4-strict"’
  11351    • ‘"html4-transitional"’
  11352    • ‘"html4-frameset"’
  11353    • ‘"xhtml-strict"’
  11354    • ‘"xhtml-transitional"’
  11355    • ‘"xhtml-frameset"’
  11356    • ‘"xhtml-11"’
  11357    • ‘"html5"’
  11358    • ‘"xhtml5"’
  11359 
  11360 See the variable ‘org-html-doctype-alist’ for details.  The default is
  11361 ‘"xhtml-strict"’.
  11362 
  11363    Org’s HTML exporter does not by default enable new block elements
  11364 introduced with the HTML5 standard.  To enable them, set
  11365 ‘org-html-html5-fancy’ to non-‘nil’.  Or use an ‘OPTIONS’ line in the
  11366 file to set ‘html5-fancy’.
  11367 
  11368    HTML5 documents can now have arbitrary ‘#+BEGIN’ ... ‘#+END’ blocks.
  11369 For example:
  11370 
  11371      #+BEGIN_aside
  11372        Lorem ipsum
  11373      #+END_aside
  11374 
  11375 exports to:
  11376 
  11377      <aside>
  11378        <p>Lorem ipsum</p>
  11379      </aside>
  11380 
  11381 while this:
  11382 
  11383      #+ATTR_HTML: :controls controls :width 350
  11384      #+BEGIN_video
  11385      #+HTML: <source src="movie.mp4" type="video/mp4">
  11386      #+HTML: <source src="movie.ogg" type="video/ogg">
  11387      Your browser does not support the video tag.
  11388      #+END_video
  11389 
  11390 exports to:
  11391 
  11392      <video controls="controls" width="350">
  11393        <source src="movie.mp4" type="video/mp4">
  11394        <source src="movie.ogg" type="video/ogg">
  11395        <p>Your browser does not support the video tag.</p>
  11396      </video>
  11397 
  11398    When special blocks do not have a corresponding HTML5 element, the
  11399 HTML exporter reverts to standard translation (see
  11400 ‘org-html-html5-elements’).  For example, ‘#+BEGIN_lederhosen’ exports
  11401 to ‘<div class="lederhosen">’.
  11402 
  11403    Special blocks cannot have headlines.  For the HTML exporter to wrap
  11404 the headline and its contents in ‘<section>’ or ‘<article>’ tags, set
  11405 the ‘HTML_CONTAINER’ property for the headline.
  11406 
  11407 
  11408 File: org.info,  Node: HTML preamble and postamble,  Next: Quoting HTML tags,  Prev: HTML doctypes,  Up: HTML Export
  11409 
  11410 13.9.4 HTML preamble and postamble
  11411 ----------------------------------
  11412 
  11413 The HTML exporter has delineations for preamble and postamble.  The
  11414 default value for ‘org-html-preamble’ is ‘t’, which makes the HTML
  11415 exporter insert the preamble.  See the variable
  11416 ‘org-html-preamble-format’ for the format string.
  11417 
  11418    Set ‘org-html-preamble’ to a string to override the default format
  11419 string.  If set to a function, the HTML exporter expects the function to
  11420 return a string upon execution.  The HTML exporter inserts this string
  11421 in the preamble.  The HTML exporter does not insert a preamble if
  11422 ‘org-html-preamble’ is set ‘nil’.
  11423 
  11424    The above also applies to ‘org-html-postamble’ and
  11425 ‘org-html-postamble-format’.  In addition, ‘org-html-postamble’ can be
  11426 set to ‘auto’ (its default value), which makes the HTML exporter build a
  11427 postamble from looking up author’s name, email address, creator’s name,
  11428 and date.
  11429 
  11430 
  11431 File: org.info,  Node: Quoting HTML tags,  Next: Headlines in HTML export,  Prev: HTML preamble and postamble,  Up: HTML Export
  11432 
  11433 13.9.5 Quoting HTML tags
  11434 ------------------------
  11435 
  11436 The HTML export back-end transforms ‘<’ and ‘>’ to ‘&lt;’ and ‘&gt;’.
  11437 To include raw HTML code in the Org file so the HTML export back-end can
  11438 insert that HTML code in the output, use this inline syntax:
  11439 ‘@@html:...@@’.  For example:
  11440 
  11441      @@html:<b>@@bold text@@html:</b>@@
  11442 
  11443    For larger raw HTML code blocks, use these HTML export code blocks:
  11444 
  11445      #+HTML: Literal HTML code for export
  11446 
  11447      #+BEGIN_EXPORT html
  11448        All lines between these markers are exported literally
  11449      #+END_EXPORT
  11450 
  11451 
  11452 File: org.info,  Node: Headlines in HTML export,  Next: Links in HTML export,  Prev: Quoting HTML tags,  Up: HTML Export
  11453 
  11454 13.9.6 Headlines in HTML export
  11455 -------------------------------
  11456 
  11457 Headlines are exported to ‘<h1>’, ‘<h2>’, etc.  Each headline gets the
  11458 ‘id’ attribute from ‘CUSTOM_ID’ property, or a unique generated value,
  11459 see *note Internal Links::.
  11460 
  11461    When ‘org-html-self-link-headlines’ is set to a non-‘nil’ value, the
  11462 text of the headlines is also wrapped in ‘<a>’ tags.  These tags have a
  11463 ‘href’ attribute making the headlines link to themselves.
  11464 
  11465 
  11466 File: org.info,  Node: Links in HTML export,  Next: Tables in HTML export,  Prev: Headlines in HTML export,  Up: HTML Export
  11467 
  11468 13.9.7 Links in HTML export
  11469 ---------------------------
  11470 
  11471 The HTML export back-end transforms Org’s internal links (see *note
  11472 Internal Links::) to equivalent HTML links in the output.  The back-end
  11473 similarly handles Org’s automatic links created by radio targets (see
  11474 *note Radio Targets::) similarly.  For Org links to external files, the
  11475 back-end transforms the links to _relative_ paths.
  11476 
  11477    For Org links to other ‘.org’ files, the back-end automatically
  11478 changes the file extension to ‘.html’ and makes file paths relative.  If
  11479 the ‘.org’ files have an equivalent ‘.html’ version at the same
  11480 location, then the converted links should work without any further
  11481 manual intervention.  However, to disable this automatic path
  11482 translation, set ‘org-html-link-org-files-as-html’ to ‘nil’.  When
  11483 disabled, the HTML export back-end substitutes the ID-based links in the
  11484 HTML output.  For more about linking files when publishing to a
  11485 directory, see *note Publishing links::.
  11486 
  11487    Org files can also have special directives to the HTML export
  11488 back-end.  For example, by using ‘#+ATTR_HTML’ lines to specify new
  11489 format attributes to ‘<a>’ or ‘<img>’ tags.  This example shows changing
  11490 the link’s title and style:
  11491 
  11492      #+ATTR_HTML: :title The Org mode website :style color:red;
  11493      [[https://orgmode.org]]
  11494 
  11495 
  11496 File: org.info,  Node: Tables in HTML export,  Next: Images in HTML export,  Prev: Links in HTML export,  Up: HTML Export
  11497 
  11498 13.9.8 Tables in HTML export
  11499 ----------------------------
  11500 
  11501 The HTML export back-end uses ‘org-html-table-default-attributes’ when
  11502 exporting Org tables to HTML.  By default, the exporter does not draw
  11503 frames and cell borders.  To change for this for a table, use the
  11504 following lines before the table in the Org file:
  11505 
  11506      #+CAPTION: This is a table with lines around and between cells
  11507      #+ATTR_HTML: :border 2 :rules all :frame border
  11508 
  11509    The HTML export back-end preserves column groupings in Org tables
  11510 (see *note Column Groups::) when exporting to HTML.
  11511 
  11512    Additional options for customizing tables for HTML export.
  11513 
  11514 ‘org-html-table-align-individual-fields’
  11515      Non-‘nil’ attaches style attributes for alignment to each table
  11516      field.
  11517 
  11518 ‘org-html-table-caption-above’
  11519      Non-‘nil’ places caption string at the beginning of the table.
  11520 
  11521 ‘org-html-table-data-tags’
  11522      Opening and ending tags for table data fields.
  11523 
  11524 ‘org-html-table-default-attributes’
  11525      Default attributes and values for table tags.
  11526 
  11527 ‘org-html-table-header-tags’
  11528      Opening and ending tags for table’s header fields.
  11529 
  11530 ‘org-html-table-row-tags’
  11531      Opening and ending tags for table rows.
  11532 
  11533 ‘org-html-table-use-header-tags-for-first-column’
  11534      Non-‘nil’ formats column one in tables with header tags.
  11535 
  11536 
  11537 File: org.info,  Node: Images in HTML export,  Next: Math formatting in HTML export,  Prev: Tables in HTML export,  Up: HTML Export
  11538 
  11539 13.9.9 Images in HTML export
  11540 ----------------------------
  11541 
  11542 The HTML export back-end has features to convert Org image links to HTML
  11543 inline images and HTML clickable image links.
  11544 
  11545    When the link in the Org file has no description, the HTML export
  11546 back-end by default in-lines that image.  For example:
  11547 ‘[[file:myimg.jpg]]’ is in-lined, while ‘[[file:myimg.jpg][the image]]’
  11548 links to the text, ‘the image’.  For more details, see the variable
  11549 ‘org-html-inline-images’.
  11550 
  11551    On the other hand, if the description part of the Org link is itself
  11552 another link, such as ‘file:’ or ‘http:’ URL pointing to an image, the
  11553 HTML export back-end in-lines this image and links to the main image.
  11554 This Org syntax enables the back-end to link low-resolution thumbnail to
  11555 the high-resolution version of the image, as shown in this example:
  11556 
  11557      [[file:highres.jpg][file:thumb.jpg]]
  11558 
  11559    To change attributes of in-lined images, use ‘#+ATTR_HTML’ lines in
  11560 the Org file.  This example shows realignment to right, and adds ‘alt’
  11561 and ‘title’ attributes in support of text viewers and modern web
  11562 accessibility standards.
  11563 
  11564      #+CAPTION: A black cat stalking a spider
  11565      #+ATTR_HTML: :alt cat/spider image :title Action! :align right
  11566      [[./img/a.jpg]]
  11567 
  11568    The HTML export back-end copies the ‘http’ links from the Org file
  11569 as-is.
  11570 
  11571 
  11572 File: org.info,  Node: Math formatting in HTML export,  Next: Text areas in HTML export,  Prev: Images in HTML export,  Up: HTML Export
  11573 
  11574 13.9.10 Math formatting in HTML export
  11575 --------------------------------------
  11576 
  11577 LaTeX math snippets (see *note LaTeX fragments::) can be displayed in
  11578 two different ways on HTML pages.  The default is to use the MathJax
  11579 (https://www.mathjax.org), which should work out of the box with
  11580 Org(1)(2).  Some MathJax display options can be configured via
  11581 ‘org-html-mathjax-options’, or in the buffer.  For example, with the
  11582 following settings,
  11583 
  11584      #+HTML_MATHJAX: align: left indent: 5em tagside: left
  11585 
  11586 equation labels are displayed on the left margin and equations are five
  11587 em from the left margin.
  11588 
  11589    See the docstring of ‘org-html-mathjax-options’ for all supported
  11590 variables.  The MathJax template can be configure via
  11591 ‘org-html-mathjax-template’.
  11592 
  11593    If you prefer, you can also request that LaTeX fragments are
  11594 processed into small images that will be inserted into the browser page.
  11595 Before the availability of MathJax, this was the default method for Org
  11596 files.  This method requires that the dvipng program, dvisvgm or
  11597 ImageMagick suite is available on your system.  You can still get this
  11598 processing with
  11599 
  11600      #+OPTIONS: tex:dvipng
  11601 
  11602      #+OPTIONS: tex:dvisvgm
  11603 
  11604 or
  11605 
  11606      #+OPTIONS: tex:imagemagick
  11607 
  11608    ---------- Footnotes ----------
  11609 
  11610    (1) By default, Org loads MathJax from jsDelivr
  11611 (https://www.jsdelivr.com/), as recommended in Getting Started with
  11612 MathJax Components (https://docs.mathjax.org/en/latest/web/start.html).
  11613 
  11614    (2) Please note that exported formulas are part of an HTML document,
  11615 and that signs such as ‘<’, ‘>’, or ‘&’ have special meanings.  See
  11616 MathJax TeX and LaTeX in HTML documents
  11617 (https://docs.mathjax.org/en/latest/input/tex/html.html#tex-and-latex-in-html-documents).
  11618 
  11619 
  11620 File: org.info,  Node: Text areas in HTML export,  Next: CSS support,  Prev: Math formatting in HTML export,  Up: HTML Export
  11621 
  11622 13.9.11 Text areas in HTML export
  11623 ---------------------------------
  11624 
  11625 Before Org mode’s Babel, one popular approach to publishing code in HTML
  11626 was by using ‘:textarea’.  The advantage of this approach was that
  11627 copying and pasting was built into browsers with simple JavaScript
  11628 commands.  Even editing before pasting was made simple.
  11629 
  11630    The HTML export back-end can create such text areas.  It requires an
  11631 ‘#+ATTR_HTML’ line as shown in the example below with the ‘:textarea’
  11632 option.  This must be followed by either an example or a source code
  11633 block.  Other Org block types do not honor the ‘:textarea’ option.
  11634 
  11635    By default, the HTML export back-end creates a text area 80
  11636 characters wide and height just enough to fit the content.  Override
  11637 these defaults with ‘:width’ and ‘:height’ options on the ‘#+ATTR_HTML’
  11638 line.
  11639 
  11640      #+ATTR_HTML: :textarea t :width 40
  11641      #+BEGIN_EXAMPLE
  11642        (defun org-xor (a b)
  11643           "Exclusive or."
  11644           (if a (not b) b))
  11645      #+END_EXAMPLE
  11646 
  11647 
  11648 File: org.info,  Node: CSS support,  Next: JavaScript support,  Prev: Text areas in HTML export,  Up: HTML Export
  11649 
  11650 13.9.12 CSS support
  11651 -------------------
  11652 
  11653 You can modify the CSS style definitions for the exported file.  The
  11654 HTML exporter assigns the following special CSS classes(1) to
  11655 appropriate parts of the document—your style specifications may change
  11656 these, in addition to any of the standard classes like for headlines,
  11657 tables, etc.
  11658 
  11659 ‘p.author’             author information, including email
  11660 ‘p.date’               publishing date
  11661 ‘p.creator’            creator info, about org mode version
  11662 ‘.title’               document title
  11663 ‘.subtitle’            document subtitle
  11664 ‘.todo’                TODO keywords, all not-done states
  11665 ‘.done’                the DONE keywords, all states that count as done
  11666 ‘.WAITING’             each TODO keyword also uses a class named after itself
  11667 ‘.timestamp’           timestamp
  11668 ‘.timestamp-kwd’       keyword associated with a timestamp, like ‘SCHEDULED’
  11669 ‘.timestamp-wrapper’   span around keyword plus timestamp
  11670 ‘.tag’                 tag in a headline
  11671 ‘._HOME’               each tag uses itself as a class, “@” replaced by “_”
  11672 ‘.target’              target for links
  11673 ‘.linenr’              the line number in a code example
  11674 ‘.code-highlighted’    for highlighting referenced code lines
  11675 ‘div.outline-N’        div for outline level N (headline plus text)
  11676 ‘div.outline-text-N’   extra div for text at outline level N
  11677 ‘.section-number-N’    section number in headlines, different for each level
  11678 ‘.figure-number’       label like “Figure 1:”
  11679 ‘.table-number’        label like “Table 1:”
  11680 ‘.listing-number’      label like “Listing 1:”
  11681 ‘div.figure’           how to format an in-lined image
  11682 ‘pre.src’              formatted source code
  11683 ‘pre.example’          normal example
  11684 ‘p.verse’              verse paragraph
  11685 ‘div.footnotes’        footnote section headline
  11686 ‘p.footnote’           footnote definition paragraph, containing a footnote
  11687 ‘.footref’             a footnote reference number (always a <sup>)
  11688 ‘.footnum’             footnote number in footnote definition (always <sup>)
  11689 ‘.org-svg’             default class for a linked ‘.svg’ image
  11690 
  11691    The HTML export back-end includes a compact default style in each
  11692 exported HTML file.  To override the default style with another style,
  11693 use these keywords in the Org file.  They will replace the global
  11694 defaults the HTML exporter uses.
  11695 
  11696      #+HTML_HEAD: <link rel="stylesheet" type="text/css" href="style1.css" />
  11697      #+HTML_HEAD_EXTRA: <link rel="alternate stylesheet" type="text/css" href="style2.css" />
  11698 
  11699    To just turn off the default style, customize
  11700 ‘org-html-head-include-default-style’ variable, or use this option line
  11701 in the Org file.
  11702 
  11703      #+OPTIONS: html-style:nil
  11704 
  11705    For longer style definitions, either use several ‘HTML_HEAD’ and
  11706 ‘HTML_HEAD_EXTRA’ keywords, or use ‘<style> ... </style>’ blocks around
  11707 them.  Both of these approaches can avoid referring to an external file.
  11708 
  11709    In order to add styles to a subtree, use the ‘HTML_CONTAINER_CLASS’
  11710 property to assign a class to the tree.  In order to specify CSS styles
  11711 for a particular headline, you can use the ID specified in a ‘CUSTOM_ID’
  11712 property.  You can also assign a specific class to a headline with the
  11713 ‘HTML_HEADLINE_CLASS’ property.
  11714 
  11715    Never change the ‘org-html-style-default’ constant.  Instead use
  11716 other simpler ways of customizing as described above.
  11717 
  11718    ---------- Footnotes ----------
  11719 
  11720    (1) If the classes on TODO keywords and tags lead to conflicts, use
  11721 the variables ‘org-html-todo-kwd-class-prefix’ and
  11722 ‘org-html-tag-class-prefix’ to make them unique.
  11723 
  11724 
  11725 File: org.info,  Node: JavaScript support,  Prev: CSS support,  Up: HTML Export
  11726 
  11727 13.9.13 JavaScript supported display of web pages
  11728 -------------------------------------------------
  11729 
  11730 Sebastian Rose has written a JavaScript program especially designed to
  11731 allow two different ways of viewing HTML files created with Org.  One is
  11732 an _Info_-like mode where each section is displayed separately and
  11733 navigation can be done with the ‘n’ and ‘p’ keys, and some other keys as
  11734 well, press ‘?’ for an overview of the available keys.  The second one
  11735 has a _folding_ view, much like Org provides inside Emacs.  The script
  11736 is available at <https://orgmode.org/org-info.js> and the documentation
  11737 at <https://orgmode.org/worg/code/org-info-js/>.  The script is hosted
  11738 on <https://orgmode.org>, but for reliability, prefer installing it on
  11739 your own web server.
  11740 
  11741    To use this program, just add this line to the Org file:
  11742 
  11743      #+INFOJS_OPT: view:info toc:nil
  11744 
  11745 The HTML header now has the code needed to automatically invoke the
  11746 script.  For setting options, use the syntax from the above line for
  11747 options described below:
  11748 
  11749 ‘path:’
  11750      The path to the script.  The default is to grab the script from
  11751      <https://orgmode.org/org-info.js>, but you might want to have a
  11752      local copy and use a path like ‘../scripts/org-info.js’.
  11753 
  11754 ‘view:’
  11755      Initial view when the website is first shown.  Possible values are:
  11756 
  11757      ‘info’       Info-like interface with one section per page
  11758      ‘overview’   Folding interface, initially showing only top-level
  11759      ‘content’    Folding interface, starting with all headlines visible
  11760      ‘showall’    Folding interface, all headlines and text visible
  11761 
  11762 ‘sdepth:’
  11763      Maximum headline level still considered as an independent section
  11764      for info and folding modes.  The default is taken from
  11765      ‘org-export-headline-levels’, i.e., the ‘H’ switch in ‘OPTIONS’.
  11766      If this is smaller than in ‘org-export-headline-levels’, each
  11767      info/folding section can still contain child headlines.
  11768 
  11769 ‘toc:’
  11770      Should the table of contents _initially_ be visible?  Even when
  11771      ‘nil’, you can always get to the “toc” with ‘i’.
  11772 
  11773 ‘tdepth:’
  11774      The depth of the table of contents.  The defaults are taken from
  11775      the variables ‘org-export-headline-levels’ and
  11776      ‘org-export-with-toc’.
  11777 
  11778 ‘ftoc:’
  11779      Does the CSS of the page specify a fixed position for the “toc”?
  11780      If yes, the toc is displayed as a section.
  11781 
  11782 ‘ltoc:’
  11783      Should there be short contents (children) in each section?  Make
  11784      this ‘above’ if the section should be above initial text.
  11785 
  11786 ‘mouse:’
  11787      Headings are highlighted when the mouse is over them.  Should be
  11788      ‘underline’ (default) or a background color like ‘#cccccc’.
  11789 
  11790 ‘buttons:’
  11791      Should view-toggle buttons be everywhere?  When ‘nil’ (the
  11792      default), only one such button is present.
  11793 
  11794    You can choose default values for these options by customizing the
  11795 variable ‘org-infojs-options’.  If you always want to apply the script
  11796 to your pages, configure the variable ‘org-export-html-use-infojs’.
  11797 
  11798 
  11799 File: org.info,  Node: LaTeX Export,  Next: Markdown Export,  Prev: HTML Export,  Up: Exporting
  11800 
  11801 13.10 LaTeX Export
  11802 ==================
  11803 
  11804 The LaTeX export back-end can handle complex documents, incorporate
  11805 standard or custom LaTeX document classes, generate documents using
  11806 alternate LaTeX engines, and produce fully linked PDF files with
  11807 indexes, bibliographies, and tables of contents, destined for
  11808 interactive online viewing or high-quality print publication.
  11809 
  11810    While the details are covered in-depth in this section, here are some
  11811 quick references to variables for the impatient: for engines, see
  11812 ‘org-latex-compiler’; for build sequences, see ‘org-latex-pdf-process’;
  11813 for packages, see ‘org-latex-default-packages-alist’ and
  11814 ‘org-latex-packages-alist’.
  11815 
  11816    An important note about the LaTeX export back-end: it is sensitive to
  11817 blank lines in the Org document.  That’s because LaTeX itself depends on
  11818 blank lines to tell apart syntactical elements, such as paragraphs.
  11819 
  11820 * Menu:
  11821 
  11822 * LaTeX/PDF export commands:: For producing LaTeX and PDF documents.
  11823 * LaTeX specific export settings:: Unique to this LaTeX back-end.
  11824 * LaTeX header and sectioning:: Setting up the export file structure.
  11825 * Quoting LaTeX code::        Incorporating literal LaTeX code.
  11826 * Tables in LaTeX export::    Options for exporting tables to LaTeX.
  11827 * Images in LaTeX export::    How to insert figures into LaTeX output.
  11828 * Plain lists in LaTeX export:: Attributes specific to lists.
  11829 * Source blocks in LaTeX export:: Attributes specific to source code blocks.
  11830 * Example blocks in LaTeX export:: Attributes specific to example blocks.
  11831 * Special blocks in LaTeX export:: Attributes specific to special blocks.
  11832 * Horizontal rules in LaTeX export:: Attributes specific to horizontal rules.
  11833 * Verse blocks in LaTeX export:: Attributes specific to special blocks.
  11834 * Quote blocks in LaTeX export:: Attributes specific to quote blocks.
  11835 
  11836 
  11837 File: org.info,  Node: LaTeX/PDF export commands,  Next: LaTeX specific export settings,  Up: LaTeX Export
  11838 
  11839 13.10.1 LaTeX/PDF export commands
  11840 ---------------------------------
  11841 
  11842 ‘C-c C-e l l’ (‘org-latex-export-to-latex’)
  11843      Export to a LaTeX file with a ‘.tex’ extension.  For ‘myfile.org’,
  11844      Org exports to ‘myfile.tex’, overwriting without warning.
  11845 
  11846 ‘C-c C-e l L’ (‘org-latex-export-as-latex’)
  11847      Export to a temporary buffer.  Do not create a file.
  11848 
  11849 ‘C-c C-e l p’ (‘org-latex-export-to-pdf’)
  11850      Export as LaTeX file and convert it to PDF file.
  11851 
  11852 ‘C-c C-e l o’
  11853      Export as LaTeX file and convert it to PDF, then open the PDF using
  11854      the default viewer.
  11855 
  11856 ‘M-x org-export-region-as-latex’
  11857      Convert the region to LaTeX under the assumption that it was in Org
  11858      mode syntax before.  This is a global command that can be invoked
  11859      in any buffer.
  11860 
  11861    The LaTeX export back-end can use any of these LaTeX engines:
  11862 ‘pdflatex’, ‘xelatex’, and ‘lualatex’.  These engines compile LaTeX
  11863 files with different compilers, packages, and output options.  The LaTeX
  11864 export back-end finds the compiler version to use from
  11865 ‘org-latex-compiler’ variable or the ‘#+LATEX_COMPILER’ keyword in the
  11866 Org file.  See the docstring for the ‘org-latex-default-packages-alist’
  11867 for loading packages with certain compilers.  Also see
  11868 ‘org-latex-bibtex-compiler’ to set the bibliography compiler(1).
  11869 
  11870    ---------- Footnotes ----------
  11871 
  11872    (1) This does not allow setting different bibliography compilers for
  11873 different files.  However, “smart” LaTeX compilation systems, such as
  11874 latexmk, can select the correct bibliography compiler.
  11875 
  11876 
  11877 File: org.info,  Node: LaTeX specific export settings,  Next: LaTeX header and sectioning,  Prev: LaTeX/PDF export commands,  Up: LaTeX Export
  11878 
  11879 13.10.2 LaTeX specific export settings
  11880 --------------------------------------
  11881 
  11882 The LaTeX export back-end has several additional keywords for
  11883 customizing LaTeX output.  Setting these keywords works similar to the
  11884 general options (see *note Export Settings::).
  11885 
  11886 ‘DESCRIPTION’
  11887      The document’s description.  The description along with author
  11888      name, keywords, and related file metadata are inserted in the
  11889      output file by the hyperref package.  See
  11890      ‘org-latex-hyperref-template’ for customizing metadata items.  See
  11891      ‘org-latex-title-command’ for typesetting description into the
  11892      document’s front matter.  Use multiple ‘DESCRIPTION’ keywords for
  11893      long descriptions.
  11894 
  11895 ‘LANGUAGE’
  11896 
  11897      Language code of the primary document language.
  11898 
  11899      The list of language codes supported by Org is stored in the
  11900      variable ‘org-latex-language-alist’.
  11901 
  11902      In order to be effective, the ‘babel’ or ‘polyglossia’
  11903      packages—according to the LaTeX compiler used—must be loaded with
  11904      the appropriate language as argument.  This can be accomplished by
  11905      modifying the ‘org-latex-packages-alist’ variable, e.g., with the
  11906      following snippet (note that ‘polyglossia’ does not work with
  11907      pdfLaTeX):
  11908 
  11909           (add-to-list 'org-latex-packages-alist
  11910                        '("AUTO" "babel" t ("pdflatex" "xelatex" "lualatex")))
  11911           (add-to-list 'org-latex-packages-alist
  11912                        '("AUTO" "polyglossia" t ("xelatex" "lualatex")))
  11913 
  11914 ‘LATEX_CLASS’
  11915      This is LaTeX document class, such as _article_, _report_, _book_,
  11916      and so on, which contain predefined preamble and headline level
  11917      mapping that the LaTeX export back-end needs.  The back-end reads
  11918      the default class name from the ‘org-latex-default-class’ variable.
  11919      Org has _article_ as the default class.  A valid default class must
  11920      be an element of ‘org-latex-classes’.
  11921 
  11922 ‘LATEX_CLASS_OPTIONS’
  11923      Options the LaTeX export back-end uses when calling the LaTeX
  11924      document class.
  11925 
  11926 ‘LATEX_COMPILER’
  11927      The compiler, such as ‘pdflatex’, ‘xelatex’, ‘lualatex’, for
  11928      producing the PDF.  See ‘org-latex-compiler’.
  11929 
  11930 ‘LATEX_HEADER’
  11931 ‘LATEX_HEADER_EXTRA’
  11932      Arbitrary lines to add to the document’s preamble, before the
  11933      hyperref settings.  See ‘org-latex-classes’ for adjusting the
  11934      structure and order of the LaTeX headers.
  11935 
  11936 ‘KEYWORDS’
  11937      The keywords for the document.  The description along with author
  11938      name, keywords, and related file metadata are inserted in the
  11939      output file by the hyperref package.  See
  11940      ‘org-latex-hyperref-template’ for customizing metadata items.  See
  11941      ‘org-latex-title-command’ for typesetting description into the
  11942      document’s front matter.  Use multiple ‘KEYWORDS’ lines if
  11943      necessary.
  11944 
  11945 ‘SUBTITLE’
  11946      The document’s subtitle.  It is typeset as per
  11947      ‘org-latex-subtitle-format’.  If ‘org-latex-subtitle-separate’ is
  11948      non-‘nil’, it is typed outside of the ‘\title’ macro.  See
  11949      ‘org-latex-hyperref-template’ for customizing metadata items.  See
  11950      ‘org-latex-title-command’ for typesetting description into the
  11951      document’s front matter.
  11952 
  11953    The following sections have further details.
  11954 
  11955 
  11956 File: org.info,  Node: LaTeX header and sectioning,  Next: Quoting LaTeX code,  Prev: LaTeX specific export settings,  Up: LaTeX Export
  11957 
  11958 13.10.3 LaTeX header and sectioning structure
  11959 ---------------------------------------------
  11960 
  11961 The LaTeX export back-end converts the first three of Org’s outline
  11962 levels into LaTeX headlines.  The remaining Org levels are exported as
  11963 lists.  To change this globally for the cut-off point between levels and
  11964 lists, (see *note Export Settings::).
  11965 
  11966    By default, the LaTeX export back-end uses the _article_ class.
  11967 
  11968    To change the default class globally, edit ‘org-latex-default-class’.
  11969 To change the default class locally in an Org file, add option lines
  11970 ‘#+LATEX_CLASS: myclass’.  To change the default class for just a part
  11971 of the Org file, set a subtree property, ‘EXPORT_LATEX_CLASS’.  The
  11972 class name entered here must be valid member of ‘org-latex-classes’.
  11973 This variable defines a header template for each class into which the
  11974 exporter splices the values of ‘org-latex-default-packages-alist’ and
  11975 ‘org-latex-packages-alist’.  Use the same three variables to define
  11976 custom sectioning or custom classes.
  11977 
  11978    The LaTeX export back-end sends the ‘LATEX_CLASS_OPTIONS’ keyword and
  11979 ‘EXPORT_LATEX_CLASS_OPTIONS’ property as options to the LaTeX
  11980 ‘\documentclass’ macro.  The options and the syntax for specifying them,
  11981 including enclosing them in square brackets, follow LaTeX conventions.
  11982 
  11983      #+LATEX_CLASS_OPTIONS: [a4paper,11pt,twoside,twocolumn]
  11984 
  11985    The LaTeX export back-end appends values from ‘LATEX_HEADER’ and
  11986 ‘LATEX_HEADER_EXTRA’ keywords to the LaTeX header.  The docstring for
  11987 ‘org-latex-classes’ explains in more detail.  Also note that LaTeX
  11988 export back-end does not append ‘LATEX_HEADER_EXTRA’ to the header when
  11989 previewing LaTeX snippets (see *note Previewing LaTeX fragments::).
  11990 
  11991    A sample Org file with the above headers:
  11992 
  11993      #+LATEX_CLASS: article
  11994      #+LATEX_CLASS_OPTIONS: [a4paper]
  11995      #+LATEX_HEADER: \usepackage{xyz}
  11996 
  11997      * Headline 1
  11998        some text
  11999      * Headline 2
  12000        some more text
  12001 
  12002    LaTeX packages ‘babel’ or ‘polyglossia’ can also be loaded in a
  12003 document.  The “AUTO” string will be replaced in both cases by the
  12004 appropriate value for the ‘LANGUAGE’ keyword, if present in the
  12005 document, or by the value of ‘org-export-default-language’.  Let’s see
  12006 some examples in one or another case.
  12007 
  12008    ‘Babel’ accepts the classic syntax and (in addition) the new syntax
  12009 with the ‘\babelprovide’ command to load the languages using the new
  12010 ‘INI’ files procedure.  Keep in mind that there are a number of
  12011 languages that are only served in babel using ‘INI’ files, so they
  12012 cannot be declared using the classic syntax, but only using the
  12013 ‘\babelprovide’ command (see
  12014 <https://mirrors.ctan.org/macros/latex/required/babel/base/babel.pdf>).
  12015 Valid usage examples could be:
  12016 
  12017      #+LATEX_HEADER: \usepackage[french,italian,AUTO]{babel}
  12018 
  12019    where “AUTO” is the main language.  But it can also be loaded using
  12020 the ‘\babelprovide’ command:
  12021 
  12022      #+LATEX_HEADER: \usepackage[french,italian]{babel}
  12023      #+LATEX_HEADER: \babelprovide[import, main]{AUTO}
  12024 
  12025    ‘Polyglossia’, for this procedure to be effective, must be loaded
  12026 using the same ‘babel’ classic syntax (but note that _this is not_ the
  12027 actual polyglossia syntax).  For example, suppose a document declares
  12028 Polytonic Greek as the primary language, and French as the secondary
  12029 language.  In this case, it would be expressed as:
  12030 
  12031      #+LANGUAGE: el-polyton
  12032      #+LATEX_HEADER: \usepackage[french,AUTO]{polyglossia}
  12033 
  12034    This would produce in LaTeX (with the actual ‘polyglossia’ syntax):
  12035 
  12036      \usepackage{polyglossia}
  12037      \setmainlanguage[variant=polytonic]{greek}
  12038      \setotherlanguage{french}
  12039 
  12040 
  12041 File: org.info,  Node: Quoting LaTeX code,  Next: Tables in LaTeX export,  Prev: LaTeX header and sectioning,  Up: LaTeX Export
  12042 
  12043 13.10.4 Quoting LaTeX code
  12044 --------------------------
  12045 
  12046 The LaTeX export back-end can insert any arbitrary LaTeX code, see *note
  12047 Embedded LaTeX::.  There are three ways to embed such code in the Org
  12048 file and they all use different quoting syntax.
  12049 
  12050    Inserting in-line quoted with @ symbols:
  12051 
  12052      Code embedded in-line @@latex:any arbitrary LaTeX code@@ in a paragraph.
  12053 
  12054    Inserting as one or more keyword lines in the Org file:
  12055 
  12056      #+LATEX: any arbitrary LaTeX code
  12057 
  12058    Inserting as an export block in the Org file, where the back-end
  12059 exports any code between begin and end markers:
  12060 
  12061      #+BEGIN_EXPORT latex
  12062        any arbitrary LaTeX code
  12063      #+END_EXPORT
  12064 
  12065 
  12066 File: org.info,  Node: Tables in LaTeX export,  Next: Images in LaTeX export,  Prev: Quoting LaTeX code,  Up: LaTeX Export
  12067 
  12068 13.10.5 Tables in LaTeX export
  12069 ------------------------------
  12070 
  12071 The LaTeX export back-end can pass several LaTeX attributes for table
  12072 contents and layout.  Besides specifying a label (see *note Internal
  12073 Links::) and a caption (see *note Captions::), the other valid LaTeX
  12074 attributes include:
  12075 
  12076 ‘:mode’
  12077      The LaTeX export back-end wraps the table differently depending on
  12078      the mode for accurate rendering of math symbols.  Mode is either
  12079      ‘table’, ‘math’, ‘inline-math’, ‘verbatim’ or ‘tabbing’.
  12080 
  12081      For ‘math’ or ‘inline-math’ mode, LaTeX export back-end wraps the
  12082      table in a math environment, but every cell in it is exported
  12083      as-is.  For ‘tabbing’ the LaTeX tabbing environment is used and the
  12084      correct tabbing delimiters ‘\>’ are used.  The LaTeX export
  12085      back-end determines the default mode from
  12086      ‘org-latex-default-table-mode’.  The LaTeX export back-end merges
  12087      contiguous tables in the same mode into a single environment.
  12088 
  12089 ‘:environment’
  12090      Set the default LaTeX table environment for the LaTeX export
  12091      back-end to use when exporting Org tables.  Common LaTeX table
  12092      environments are provided by these packages: tabularx, longtable,
  12093      array, tabu, and bmatrix.  For packages, such as tabularx and tabu,
  12094      or any newer replacements, include them in the
  12095      ‘org-latex-packages-alist’ variable so the LaTeX export back-end
  12096      can insert the appropriate load package headers in the converted
  12097      LaTeX file.  Look in the docstring for the
  12098      ‘org-latex-packages-alist’ variable for configuring these packages
  12099      for LaTeX snippet previews, if any.
  12100 
  12101 ‘:caption’
  12102      Use ‘CAPTION’ keyword to set a simple caption for a table (see
  12103      *note Captions::).  For custom captions, use ‘:caption’ attribute,
  12104      which accepts raw LaTeX code.  ‘:caption’ value overrides ‘CAPTION’
  12105      value.
  12106 
  12107 ‘:float’
  12108 ‘:placement’
  12109      The table environments by default are not floats in LaTeX.  To make
  12110      them floating objects use ‘:float’ with one of the following
  12111      options: ‘t’ (for a default ‘table’ environment), ‘sideways’ (for a
  12112      ‘sidewaystable’ environment), ‘multicolumn’ (to span the table
  12113      across multiple columns of a page in a ‘table*’ environment) and
  12114      ‘nil’.  In addition to these three values, ‘:float’ can pass
  12115      through any arbitrary value, for example a user-defined float type
  12116      with the ‘float’ LaTeX package.
  12117 
  12118      LaTeX floats can also have additional layout ‘:placement’
  12119      attributes.  These are the usual ‘[h t b p ! H]’ permissions
  12120      specified in square brackets.  Note that for ‘:float sideways’
  12121      tables, the LaTeX export back-end ignores ‘:placement’ attributes.
  12122 
  12123 ‘:align’
  12124 ‘:font’
  12125 ‘:width’
  12126      The LaTeX export back-end uses these attributes for regular tables
  12127      to set their alignments, fonts, and widths.
  12128 
  12129 ‘:options’
  12130      The ‘:options’ attribute allows adding an optional argument with a
  12131      list of various table options (between brackets in LaTeX export),
  12132      since certain tabular environments, such as longtblr of the
  12133      tabularray LaTeX package, provides this structure.  For example:
  12134      ‘:options remark{Note}={note},remark{Source}={source}’.
  12135 
  12136 ‘:spread’
  12137      When ‘:spread’ is non-‘nil’, the LaTeX export back-end spreads or
  12138      shrinks the table by the ‘:width’ for tabu and longtabu
  12139      environments.  ‘:spread’ has no effect if ‘:width’ is not set.
  12140 
  12141 ‘:booktabs’
  12142 ‘:center’
  12143 ‘:rmlines’
  12144      All three commands are toggles.  ‘:booktabs’ brings in modern
  12145      typesetting enhancements to regular tables.  The booktabs package
  12146      has to be loaded through ‘org-latex-packages-alist’.  ‘:center’ is
  12147      for centering the table.  ‘:rmlines’ removes all but the very first
  12148      horizontal line made of ASCII characters from “table.el” tables
  12149      only.
  12150 
  12151 ‘:math-prefix’
  12152 ‘:math-suffix’
  12153 ‘:math-arguments’
  12154      The LaTeX export back-end inserts ‘:math-prefix’ string value in a
  12155      math environment before the table.  The LaTeX export back-end
  12156      inserts ‘:math-suffix’ string value in a math environment after the
  12157      table.  The LaTeX export back-end inserts ‘:math-arguments’ string
  12158      value between the macro name and the table’s contents.
  12159      ‘:math-arguments’ comes in use for matrix macros that require more
  12160      than one argument, such as ‘qbordermatrix’.
  12161 
  12162    LaTeX table attributes help formatting tables for a wide range of
  12163 situations, such as matrix product or spanning multiple pages:
  12164 
  12165      #+ATTR_LATEX: :environment longtable :align l|lp{3cm}r|l
  12166      | ... | ... |
  12167      | ... | ... |
  12168 
  12169      #+ATTR_LATEX: :mode math :environment bmatrix :math-suffix \times
  12170      | a | b |
  12171      | c | d |
  12172      #+ATTR_LATEX: :mode math :environment bmatrix
  12173      | 1 | 2 |
  12174      | 3 | 4 |
  12175 
  12176    Set the caption with the LaTeX command
  12177 ‘\bicaption{HeadingA}{HeadingB}’:
  12178 
  12179      #+ATTR_LATEX: :caption \bicaption{HeadingA}{HeadingB}
  12180      | ... | ... |
  12181      | ... | ... |
  12182 
  12183 
  12184 File: org.info,  Node: Images in LaTeX export,  Next: Plain lists in LaTeX export,  Prev: Tables in LaTeX export,  Up: LaTeX Export
  12185 
  12186 13.10.6 Images in LaTeX export
  12187 ------------------------------
  12188 
  12189 The LaTeX export back-end processes image links in Org files that do not
  12190 have descriptions, such as these links ‘[[file:img.jpg]]’ or
  12191 ‘[[./img.jpg]]’, as direct image insertions in the final PDF output.  In
  12192 the PDF, they are no longer links but actual images embedded on the
  12193 page.  The LaTeX export back-end uses ‘\includegraphics’ macro to insert
  12194 the image.  But for TikZ (<https://sourceforge.net/projects/pgf/>)
  12195 images, the back-end uses an ‘\input’ macro wrapped within a
  12196 ‘tikzpicture’ environment.
  12197 
  12198    For specifying image ‘:width’, ‘:height’, ‘:scale’ and other
  12199 ‘:options’, use this syntax:
  12200 
  12201      #+ATTR_LATEX: :width 5cm :options angle=90
  12202      [[./img/sed-hr4049.pdf]]
  12203 
  12204    A ‘:scale’ attribute overrides both ‘:width’ and ‘:height’
  12205 attributes.
  12206 
  12207    For custom commands for captions, use the ‘:caption’ attribute.  It
  12208 overrides the default ‘#+CAPTION’ value:
  12209 
  12210      #+ATTR_LATEX: :caption \bicaption{HeadingA}{HeadingB}
  12211      [[./img/sed-hr4049.pdf]]
  12212 
  12213    When captions follow the method as described in *note Captions::, the
  12214 LaTeX export back-end wraps the picture in a floating ‘figure’
  12215 environment.  To float an image without specifying a caption, set the
  12216 ‘:float’ attribute to one of the following:
  12217 
  12218 ‘t’
  12219      For a default ‘figure’ environment.
  12220 
  12221 ‘multicolumn’
  12222      To span the image across multiple columns of a page; the back-end
  12223      wraps the image in a ‘figure*’ environment.
  12224 
  12225 ‘wrap’
  12226      For text to flow around the image on the right; the figure occupies
  12227      the left half of the page.
  12228 
  12229 ‘sideways’
  12230      For a new page with the image sideways, rotated ninety degrees, in
  12231      a ‘sidewaysfigure’ environment; overrides ‘:placement’ setting.
  12232 
  12233 ‘nil’
  12234      To avoid a ‘:float’ even if using a caption.
  12235 
  12236 Any arbitrary value
  12237      For example, a user-defined float type with the ‘float’ LaTeX
  12238      package.
  12239 
  12240    Use the ‘placement’ attribute to modify a floating environment’s
  12241 placement.
  12242 
  12243      #+ATTR_LATEX: :float wrap :width 0.38\textwidth :placement {r}{0.4\textwidth}
  12244      [[./img/hst.png]]
  12245 
  12246    The LaTeX export back-end centers all images by default.  Setting
  12247 ‘:center’ to ‘nil’ disables centering.  To disable centering globally,
  12248 set ‘org-latex-images-centered’ to ‘nil’.
  12249 
  12250    Set the ‘:comment-include’ attribute to non-‘nil’ value for the LaTeX
  12251 export back-end to comment out the ‘\includegraphics’ macro.
  12252 
  12253 
  12254 File: org.info,  Node: Plain lists in LaTeX export,  Next: Source blocks in LaTeX export,  Prev: Images in LaTeX export,  Up: LaTeX Export
  12255 
  12256 13.10.7 Plain lists in LaTeX export
  12257 -----------------------------------
  12258 
  12259 The LaTeX export back-end accepts the ‘environment’ and ‘options’
  12260 attributes for plain lists.  Both attributes work together for
  12261 customizing lists, as shown in the examples:
  12262 
  12263      #+LATEX_HEADER: \usepackage[inline]{enumitem}
  12264      Some ways to say "Hello":
  12265      #+ATTR_LATEX: :environment itemize*
  12266      #+ATTR_LATEX: :options [label={}, itemjoin={,}, itemjoin*={, and}]
  12267      - Hola
  12268      - Bonjour
  12269      - Guten Tag.
  12270 
  12271    Since LaTeX supports only four levels of nesting for lists, use an
  12272 external package, such as ‘enumitem’ in LaTeX, for levels deeper than
  12273 four:
  12274 
  12275      #+LATEX_HEADER: \usepackage{enumitem}
  12276      #+LATEX_HEADER: \renewlist{itemize}{itemize}{9}
  12277      #+LATEX_HEADER: \setlist[itemize]{label=$\circ$}
  12278      - One
  12279        - Two
  12280          - Three
  12281            - Four
  12282              - Five
  12283 
  12284 
  12285 File: org.info,  Node: Source blocks in LaTeX export,  Next: Example blocks in LaTeX export,  Prev: Plain lists in LaTeX export,  Up: LaTeX Export
  12286 
  12287 13.10.8 Source blocks in LaTeX export
  12288 -------------------------------------
  12289 
  12290 The LaTeX export back-end can make source code blocks into floating
  12291 objects through the attributes ‘:float’ and ‘:options’.  For ‘:float’:
  12292 
  12293 ‘t’
  12294      Makes a source block float; by default floats any source block with
  12295      a caption.
  12296 
  12297 ‘multicolumn’
  12298      Spans the source block across multiple columns of a page.
  12299 
  12300 ‘nil’
  12301      Avoids a ‘:float’ even if using a caption; useful for source code
  12302      blocks that may not fit on a page.
  12303 
  12304      #+ATTR_LATEX: :float nil
  12305      #+BEGIN_SRC emacs-lisp
  12306        Lisp code that may not fit in a single page.
  12307      #+END_SRC
  12308 
  12309    The LaTeX export back-end passes string values in ‘:options’ to LaTeX
  12310 packages for customization of that specific source block.  In the
  12311 example below, the ‘:options’ are set for Engraved or Minted.  Minted is
  12312 a source code highlighting LaTeX package with many configurable
  12313 options(1).  Both Minted and Engraved are built on fvextra
  12314 (https://www.ctan.org/pkg/fvextra), and so support many of the same
  12315 options.
  12316 
  12317      #+ATTR_LATEX: :options mathescape
  12318      #+BEGIN_SRC emacs-lisp
  12319        (defun Fib (n) ; $n_i = n_{i-2} + n_{i-1}$
  12320          (if (< n 2) n (+ (Fib (- n 1)) (Fib (- n 2)))))
  12321      #+END_SRC
  12322 
  12323    To apply similar configuration options for all source blocks in a
  12324 file, use the ‘org-latex-listings-options’,
  12325 ‘org-latex-engraved-options’, and ‘org-latex-minted-options’ variables.
  12326 
  12327    ---------- Footnotes ----------
  12328 
  12329    (1) Minted uses an external Python package for code highlighting,
  12330 which requires the flag ‘-shell-escape’ to be added to
  12331 ‘org-latex-pdf-process’.
  12332 
  12333 
  12334 File: org.info,  Node: Example blocks in LaTeX export,  Next: Special blocks in LaTeX export,  Prev: Source blocks in LaTeX export,  Up: LaTeX Export
  12335 
  12336 13.10.9 Example blocks in LaTeX export
  12337 --------------------------------------
  12338 
  12339 The LaTeX export back-end wraps the contents of example blocks in a
  12340 ‘verbatim’ environment.  To change this behavior to use another
  12341 environment globally, specify an appropriate export filter (see *note
  12342 Advanced Export Configuration::).  To change this behavior to use
  12343 another environment for each block, use the ‘:environment’ parameter to
  12344 specify a custom environment.
  12345 
  12346      #+ATTR_LATEX: :environment myverbatim
  12347      #+BEGIN_EXAMPLE
  12348        This sentence is false.
  12349      #+END_EXAMPLE
  12350 
  12351 
  12352 File: org.info,  Node: Special blocks in LaTeX export,  Next: Horizontal rules in LaTeX export,  Prev: Example blocks in LaTeX export,  Up: LaTeX Export
  12353 
  12354 13.10.10 Special blocks in LaTeX export
  12355 ---------------------------------------
  12356 
  12357 For other special blocks in the Org file, the LaTeX export back-end
  12358 makes a special environment of the same name.  The back-end also takes
  12359 ‘:options’, if any, and appends as-is to that environment’s opening
  12360 string.  For example:
  12361 
  12362      #+BEGIN_abstract
  12363        We demonstrate how to solve the Syracuse problem.
  12364      #+END_abstract
  12365 
  12366      #+ATTR_LATEX: :options [Proof of important theorem]
  12367      #+BEGIN_proof
  12368        ...
  12369        Therefore, any even number greater than 2 is the sum of two primes.
  12370      #+END_proof
  12371 
  12372 exports to
  12373 
  12374      \begin{abstract}
  12375        We demonstrate how to solve the Syracuse problem.
  12376      \end{abstract}
  12377 
  12378      \begin{proof}[Proof of important theorem]
  12379        ...
  12380        Therefore, any even number greater than 2 is the sum of two primes.
  12381      \end{proof}
  12382 
  12383    If you need to insert a specific caption command, use ‘:caption’
  12384 attribute.  It overrides standard ‘CAPTION’ value, if any.  For example:
  12385 
  12386      #+ATTR_LATEX: :caption \MyCaption{HeadingA}
  12387      #+BEGIN_proof
  12388        ...
  12389      #+END_proof
  12390 
  12391 
  12392 File: org.info,  Node: Horizontal rules in LaTeX export,  Next: Verse blocks in LaTeX export,  Prev: Special blocks in LaTeX export,  Up: LaTeX Export
  12393 
  12394 13.10.11 Horizontal rules in LaTeX export
  12395 -----------------------------------------
  12396 
  12397 The LaTeX export back-end converts horizontal rules by the specified
  12398 ‘:width’ and ‘:thickness’ attributes.  For example:
  12399 
  12400      #+ATTR_LATEX: :width .6\textwidth :thickness 0.8pt
  12401      -----
  12402 
  12403 
  12404 File: org.info,  Node: Verse blocks in LaTeX export,  Next: Quote blocks in LaTeX export,  Prev: Horizontal rules in LaTeX export,  Up: LaTeX Export
  12405 
  12406 13.10.12 Verse blocks in LaTeX export
  12407 -------------------------------------
  12408 
  12409 The LaTeX export back-end accepts four attributes for verse blocks:
  12410 ‘:lines’, ‘:center’, ‘:versewidth’ and ‘:latexcode’.  The three first
  12411 require the external LaTeX package ‘verse.sty’, which is an extension of
  12412 the standard LaTeX environment.
  12413 
  12414 ‘:lines’
  12415      To add marginal verse numbering.  Its value is an integer, the
  12416      sequence in which the verses should be numbered.
  12417 ‘:center’
  12418      With value ‘t’ all the verses on the page are optically centered (a
  12419      typographic convention for poetry), taking as a reference the
  12420      longest verse, which must be indicated by the attribute
  12421      ‘:versewidth’.
  12422 ‘:versewidth’
  12423      Its value is a literal text string with the longest verse.
  12424 ‘:latexcode’
  12425      It accepts any arbitrary LaTeX code that can be included within a
  12426      LaTeX ‘verse’ environment.
  12427 
  12428    A complete example with Shakespeare’s first sonnet:
  12429 
  12430      #+ATTR_LATEX: :center t :latexcode \color{red} :lines 5
  12431      #+ATTR_LATEX: :versewidth Feed’st thy light’s flame with self-substantial fuel,
  12432      #+BEGIN_VERSE
  12433      From fairest creatures we desire increase,
  12434      That thereby beauty’s rose might never die,
  12435      But as the riper should by time decease
  12436      His tender heir might bear his memory
  12437      But thou, contracted to thine own bright eyes,
  12438      Feed’st thy light’s flame with self-substantial fuel,
  12439      Making a famine where abundance lies,
  12440      Thyself thy foe, to thy sweet self too cruel.
  12441      Thou that art now the world’s fresh ornament,
  12442      And only herald to the gaudy spring,
  12443      Within thine own bud buriest thy content,
  12444      And, tender churl, mak’st waste in niggardly.
  12445      Pity the world, or else this glutton be,
  12446      To eat the world’s due, by the grave and thee.
  12447      #+END_VERSE
  12448 
  12449 
  12450 File: org.info,  Node: Quote blocks in LaTeX export,  Prev: Verse blocks in LaTeX export,  Up: LaTeX Export
  12451 
  12452 13.10.13 Quote blocks in LaTeX export
  12453 -------------------------------------
  12454 
  12455 The LaTeX export back-end accepts two attributes for quote blocks:
  12456 ‘:environment’, for an arbitrary quoting environment (the default value
  12457 is that of ‘org-latex-default-quote-environment’: ‘"quote"’) and
  12458 ‘:options’.  For example, to choose the environment ‘quotation’,
  12459 included as an alternative to ‘quote’ in standard LaTeX classes:
  12460 
  12461      #+ATTR_LATEX: :environment quotation
  12462      #+BEGIN_QUOTE
  12463      some text...
  12464      #+END_QUOTE
  12465 
  12466    To choose the ‘foreigndisplayquote’ environment, included in the
  12467 LaTeX package ‘csquotes’, with the ‘german’ option, use this syntax:
  12468 
  12469      #+LATEX_HEADER:\usepackage[autostyle=true]{csquotes}
  12470      #+ATTR_LATEX: :environment foreigndisplayquote :options {german}
  12471      #+BEGIN_QUOTE
  12472      some text in German...
  12473      #+END_QUOTE
  12474 
  12475 which is exported to LaTeX as
  12476 
  12477      \begin{foreigndisplayquote}{german}
  12478      some text in German...
  12479      \end{foreigndisplayquote}
  12480 
  12481 
  12482 File: org.info,  Node: Markdown Export,  Next: OpenDocument Text Export,  Prev: LaTeX Export,  Up: Exporting
  12483 
  12484 13.11 Markdown Export
  12485 =====================
  12486 
  12487 The Markdown export back-end, “md”, converts an Org file to Markdown
  12488 format, as defined at <https://daringfireball.net/projects/markdown/>.
  12489 
  12490    Since it is built on top of the HTML back-end (see *note HTML
  12491 Export::), it converts every Org construct not defined in Markdown
  12492 syntax, such as tables, to HTML.
  12493 
  12494 Markdown export commands
  12495 ------------------------
  12496 
  12497 ‘C-c C-e m m’ (‘org-md-export-to-markdown’)
  12498      Export to a text file with Markdown syntax.  For ‘myfile.org’, Org
  12499      exports to ‘myfile.md’, overwritten without warning.
  12500 
  12501 ‘C-c C-e m M’ (‘org-md-export-as-markdown’)
  12502      Export to a temporary buffer.  Does not create a file.
  12503 
  12504 ‘C-c C-e m o’
  12505      Export as a text file with Markdown syntax, then open it.
  12506 
  12507 Header and sectioning structure
  12508 -------------------------------
  12509 
  12510 Based on ‘org-md-headline-style’, Markdown export can generate headlines
  12511 of both _atx_ and _setext_ types.  _atx_ limits headline levels to two
  12512 whereas _setext_ limits headline levels to six.  Beyond these limits,
  12513 the export back-end converts headlines to lists.  To set a limit to a
  12514 level before the absolute limit (see *note Export Settings::).
  12515 
  12516 
  12517 File: org.info,  Node: OpenDocument Text Export,  Next: Org Export,  Prev: Markdown Export,  Up: Exporting
  12518 
  12519 13.12 OpenDocument Text Export
  12520 ==============================
  12521 
  12522 The ODT export back-end handles creating of OpenDocument Text (ODT)
  12523 format.  Documents created by this exporter use the ‘OpenDocument-v1.2
  12524 specification’(1) and are compatible with LibreOffice 3.4.
  12525 
  12526 * Menu:
  12527 
  12528 * Pre-requisites for ODT export:: Required packages.
  12529 * ODT export commands::          Invoking export.
  12530 * ODT specific export settings:: Configuration options.
  12531 * Extending ODT export::         Producing DOC, PDF files.
  12532 * Applying custom styles::       Styling the output.
  12533 * Links in ODT export::          Handling and formatting links.
  12534 * Tables in ODT export::         Org tables conversions.
  12535 * Images in ODT export::         Inserting images.
  12536 * Math formatting in ODT export:: Formatting LaTeX fragments.
  12537 * Labels and captions in ODT export:: Rendering objects.
  12538 * Literal examples in ODT export:: For source code and example blocks.
  12539 * Advanced topics in ODT export:: For power users.
  12540 
  12541    ---------- Footnotes ----------
  12542 
  12543    (1) See Open Document Format for Office Applications (OpenDocument)
  12544 Version 1.2
  12545 (https://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2.html).
  12546 
  12547 
  12548 File: org.info,  Node: Pre-requisites for ODT export,  Next: ODT export commands,  Up: OpenDocument Text Export
  12549 
  12550 13.12.1 Pre-requisites for ODT export
  12551 -------------------------------------
  12552 
  12553 The ODT export back-end relies on the zip program to create the final
  12554 compressed ODT output.  Check if ‘zip’ is locally available and
  12555 executable.  Without it, export cannot finish.
  12556 
  12557 
  12558 File: org.info,  Node: ODT export commands,  Next: ODT specific export settings,  Prev: Pre-requisites for ODT export,  Up: OpenDocument Text Export
  12559 
  12560 13.12.2 ODT export commands
  12561 ---------------------------
  12562 
  12563 ‘C-c C-e o o’ (‘org-export-to-odt’)
  12564      Export as OpenDocument Text file.
  12565 
  12566      If ‘org-odt-preferred-output-format’ is specified, the ODT export
  12567      back-end automatically converts the exported file to that format.
  12568 
  12569      For ‘myfile.org’, Org exports to ‘myfile.odt’, overwriting without
  12570      warning.  The ODT export back-end exports a region only if a region
  12571      was active.
  12572 
  12573      If the selected region is a single tree, the ODT export back-end
  12574      makes the tree head the document title.  Incidentally, ‘C-c @’
  12575      selects the current subtree.  If the tree head entry has, or
  12576      inherits, an ‘EXPORT_FILE_NAME’ property, the ODT export back-end
  12577      uses that for file name.
  12578 
  12579 ‘C-c C-e o O’
  12580      Export as an OpenDocument Text file and open the resulting file.
  12581 
  12582      If ‘org-export-odt-preferred-output-format’ is specified, open the
  12583      converted file instead.  See *note Automatically exporting to other
  12584      formats::.
  12585 
  12586 
  12587 File: org.info,  Node: ODT specific export settings,  Next: Extending ODT export,  Prev: ODT export commands,  Up: OpenDocument Text Export
  12588 
  12589 13.12.3 ODT specific export settings
  12590 ------------------------------------
  12591 
  12592 The ODT export back-end has several additional keywords for customizing
  12593 ODT output.  Setting these keywords works similar to the general options
  12594 (see *note Export Settings::).
  12595 
  12596 ‘DESCRIPTION’
  12597      This is the document’s description, which the ODT export back-end
  12598      inserts as document metadata.  For long descriptions, use multiple
  12599      lines, prefixed with ‘DESCRIPTION’.
  12600 
  12601 ‘KEYWORDS’
  12602      The keywords for the document.  The ODT export back-end inserts the
  12603      description along with author name, keywords, and related file
  12604      metadata as metadata in the output file.  Use multiple ‘KEYWORDS’
  12605      if necessary.
  12606 
  12607 ‘ODT_STYLES_FILE’
  12608      The ODT export back-end uses the ‘org-odt-styles-file’ by default.
  12609      See *note Applying custom styles:: for details.
  12610 
  12611 ‘SUBTITLE’
  12612      The document subtitle.
  12613 
  12614 
  12615 File: org.info,  Node: Extending ODT export,  Next: Applying custom styles,  Prev: ODT specific export settings,  Up: OpenDocument Text Export
  12616 
  12617 13.12.4 Extending ODT export
  12618 ----------------------------
  12619 
  12620 The ODT export back-end can produce documents in other formats besides
  12621 ODT using a specialized ODT converter process.  Its common interface
  12622 works with popular converters to produce formats such as ‘doc’, or
  12623 convert a document from one format, say ‘csv’, to another format, say
  12624 ‘xls’.
  12625 
  12626    Customize ‘org-odt-convert-process’ variable to point to ‘unoconv’,
  12627 which is the ODT’s preferred converter.  Working installations of
  12628 LibreOffice would already have ‘unoconv’ installed.  Alternatively,
  12629 other converters may be substituted here.  See *note Configuring a
  12630 document converter::.
  12631 
  12632 Automatically exporting to other formats
  12633 ........................................
  12634 
  12635 If ODT format is just an intermediate step to get to other formats, such
  12636 as ‘doc’, ‘docx’, ‘rtf’, or ‘pdf’, etc., then extend the ODT export
  12637 back-end to directly produce that format.  Specify the final format in
  12638 the ‘org-odt-preferred-output-format’ variable.  This is one way to
  12639 extend (see *note ODT export commands::).
  12640 
  12641 Converting between document formats
  12642 ...................................
  12643 
  12644 The Org export back-end is made to be inter-operable with a wide range
  12645 of text document format converters.  Newer generation converters, such
  12646 as LibreOffice and Pandoc, can handle hundreds of formats at once.  Org
  12647 provides a consistent interaction with whatever converter is installed.
  12648 Here are some generic commands:
  12649 
  12650 ‘M-x org-odt-convert’
  12651      Convert an existing document from one format to another.  With a
  12652      prefix argument, opens the newly produced file.
  12653 
  12654 
  12655 File: org.info,  Node: Applying custom styles,  Next: Links in ODT export,  Prev: Extending ODT export,  Up: OpenDocument Text Export
  12656 
  12657 13.12.5 Applying custom styles
  12658 ------------------------------
  12659 
  12660 The ODT export back-end comes with many OpenDocument styles (see *note
  12661 Working with OpenDocument style files::).  To expand or further
  12662 customize these built-in style sheets, either edit the style sheets
  12663 directly or generate them using an application such as LibreOffice.  The
  12664 example here shows creating a style using LibreOffice.
  12665 
  12666 Applying custom styles: the easy way
  12667 ....................................
  12668 
  12669   1. Create a sample ‘example.org’ file with settings as shown below,
  12670      and export it to ODT format.
  12671 
  12672           #+OPTIONS: H:10 num:t
  12673 
  12674   2. Open the above ‘example.odt’ using LibreOffice.  Use the _Stylist_
  12675      to locate the target styles, which typically have the “Org” prefix.
  12676      Open one, modify, and save as either OpenDocument Text (ODT) or
  12677      OpenDocument Template (OTT) file.
  12678 
  12679   3. Customize the variable ‘org-odt-styles-file’ and point it to the
  12680      newly created file.  For additional configuration options, see
  12681      *note Overriding factory styles: x-overriding-factory-styles.
  12682 
  12683      To apply an ODT style to a particular file, use the
  12684      ‘ODT_STYLES_FILE’ keyword as shown in the example below:
  12685 
  12686           #+ODT_STYLES_FILE: "/path/to/example.ott"
  12687 
  12688      or
  12689 
  12690           #+ODT_STYLES_FILE: ("/path/to/file.ott" ("styles.xml" "image/hdr.png"))
  12691 
  12692 Using third-party styles and templates
  12693 ......................................
  12694 
  12695 The ODT export back-end relies on many templates and style names.  Using
  12696 third-party styles and templates can lead to mismatches.  Templates
  12697 derived from built-in ODT templates and styles seem to have fewer
  12698 problems.
  12699 
  12700 
  12701 File: org.info,  Node: Links in ODT export,  Next: Tables in ODT export,  Prev: Applying custom styles,  Up: OpenDocument Text Export
  12702 
  12703 13.12.6 Links in ODT export
  12704 ---------------------------
  12705 
  12706 ODT exporter creates native cross-references for internal links.  It
  12707 creates Internet-style links for all other links.
  12708 
  12709    A link with no description and pointing to a regular, un-itemized,
  12710 outline heading is replaced with a cross-reference and section number of
  12711 the heading.
  12712 
  12713    A ‘\ref{label}’-style reference to an image, table etc., is replaced
  12714 with a cross-reference and sequence number of the labeled entity.  See
  12715 *note Labels and captions in ODT export::.
  12716 
  12717 
  12718 File: org.info,  Node: Tables in ODT export,  Next: Images in ODT export,  Prev: Links in ODT export,  Up: OpenDocument Text Export
  12719 
  12720 13.12.7 Tables in ODT export
  12721 ----------------------------
  12722 
  12723 The ODT export back-end handles native Org mode tables (see *note
  12724 Tables::) and simple ‘table.el’ tables.  Complex ‘table.el’ tables
  12725 having column or row spans are not supported.  Such tables are stripped
  12726 from the exported document.
  12727 
  12728    By default, the ODT export back-end exports a table with top and
  12729 bottom frames and with ruled lines separating row and column groups (see
  12730 *note Column Groups::).  All tables are typeset to occupy the same
  12731 width.  The ODT export back-end honors any table alignments and relative
  12732 widths for columns (see *note Column Width and Alignment::).
  12733 
  12734    Note that the ODT export back-end interprets column widths as
  12735 weighted ratios, the default weight being 1.
  12736 
  12737    Specifying ‘:rel-width’ property on an ‘ATTR_ODT’ line controls the
  12738 width of the table.  For example:
  12739 
  12740      #+ATTR_ODT: :rel-width 50
  12741      | Area/Month    |   Jan |   Feb |   Mar |   Sum |
  12742      |---------------+-------+-------+-------+-------|
  12743      | /             |     < |       |       |     < |
  12744      | <l13>         |  <r5> |  <r5> |  <r5> |  <r6> |
  12745      | North America |     1 |    21 |   926 |   948 |
  12746      | Middle East   |     6 |    75 |   844 |   925 |
  12747      | Asia Pacific  |     9 |    27 |   790 |   826 |
  12748      |---------------+-------+-------+-------+-------|
  12749      | Sum           |    16 |   123 |  2560 |  2699 |
  12750 
  12751    On export, the above table takes 50% of text width area.  The
  12752 exporter sizes the columns in the ratio: 13:5:5:5:6.  The first column
  12753 is left-aligned and rest of the columns, right-aligned.  Vertical rules
  12754 separate the header and the last column.  Horizontal rules separate the
  12755 header and the last row.
  12756 
  12757    For even more customization, create custom table styles and associate
  12758 them with a table using the ‘ATTR_ODT’ keyword.  See *note Customizing
  12759 tables in ODT export::.
  12760 
  12761 
  12762 File: org.info,  Node: Images in ODT export,  Next: Math formatting in ODT export,  Prev: Tables in ODT export,  Up: OpenDocument Text Export
  12763 
  12764 13.12.8 Images in ODT export
  12765 ----------------------------
  12766 
  12767 Embedding images
  12768 ................
  12769 
  12770 The ODT export back-end processes image links in Org files that do not
  12771 have descriptions, such as these links ‘[[file:img.jpg]]’ or
  12772 ‘[[./img.jpg]]’, as direct image insertions in the final output.  Either
  12773 of these examples works:
  12774 
  12775      [[file:img.png]]
  12776 
  12777      [[./img.png]]
  12778 
  12779 Embedding clickable images
  12780 ..........................
  12781 
  12782 For clickable images, provide a link whose description is another link
  12783 to an image file.  For example, to embed an image ‘org-mode-unicorn.png’
  12784 which when clicked jumps to <https://orgmode.org> website, do the
  12785 following
  12786 
  12787      [[https://orgmode.org][./org-mode-unicorn.png]]
  12788 
  12789 Sizing and scaling of embedded images
  12790 .....................................
  12791 
  12792 Control the size and scale of the embedded images with the ‘ATTR_ODT’
  12793 attribute.
  12794 
  12795    The ODT export back-end starts with establishing the size of the
  12796 image in the final document.  The dimensions of this size are measured
  12797 in centimeters.  The back-end then queries the image file for its
  12798 dimensions measured in pixels.  For this measurement, the back-end
  12799 relies on ImageMagick’s identify program or Emacs ‘create-image’ and
  12800 ‘image-size’ API.  ImageMagick is the preferred choice for large file
  12801 sizes or frequent batch operations.  The back-end then converts the
  12802 pixel dimensions using ‘org-odt-pixels-per-inch’ into the familiar 72
  12803 dpi or 96 dpi.  The default value for this is in
  12804 ‘display-pixels-per-inch’, which can be tweaked for better results based
  12805 on the capabilities of the output device.  Here are some common image
  12806 scaling operations:
  12807 
  12808 Explicitly size the image
  12809      To embed ‘img.png’ as a 10 cm x 10 cm image, do the following:
  12810 
  12811           #+ATTR_ODT: :width 10 :height 10
  12812           [[./img.png]]
  12813 
  12814 Scale the image
  12815      To embed ‘img.png’ at half its size, do the following:
  12816 
  12817           #+ATTR_ODT: :scale 0.5
  12818           [[./img.png]]
  12819 
  12820 Scale the image to a specific width
  12821      To embed ‘img.png’ with a width of 10 cm while retaining the
  12822      original height:width ratio, do the following:
  12823 
  12824           #+ATTR_ODT: :width 10
  12825           [[./img.png]]
  12826 
  12827 Scale the image to a specific height
  12828      To embed ‘img.png’ with a height of 10 cm while retaining the
  12829      original height:width ratio, do the following:
  12830 
  12831           #+ATTR_ODT: :height 10
  12832           [[./img.png]]
  12833 
  12834 Anchoring of images
  12835 ...................
  12836 
  12837 The ODT export back-end can anchor images to ‘as-char’, ‘paragraph’, or
  12838 ‘page’.  Set the preferred anchor using the ‘:anchor’ property of the
  12839 ‘ATTR_ODT’ line.
  12840 
  12841    To create an image that is anchored to a page:
  12842 
  12843      #+ATTR_ODT: :anchor page
  12844      [[./img.png]]
  12845 
  12846 
  12847 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
  12848 
  12849 13.12.9 Math formatting in ODT export
  12850 -------------------------------------
  12851 
  12852 The ODT exporter has special support for handling math.
  12853 
  12854 * Menu:
  12855 
  12856 * LaTeX math snippets::       Embedding in LaTeX format.
  12857 * MathML and OpenDocument formula files:: Embedding in native format.
  12858 
  12859 
  12860 File: org.info,  Node: LaTeX math snippets,  Next: MathML and OpenDocument formula files,  Up: Math formatting in ODT export
  12861 
  12862 13.12.9.1 LaTeX math snippets
  12863 .............................
  12864 
  12865 LaTeX math snippets (see *note LaTeX fragments::) can be embedded in the
  12866 ODT document in one of the following ways:
  12867 
  12868 MathML
  12869      Add this line to the Org file.  This option is activated on a
  12870      per-file basis.
  12871 
  12872           #+OPTIONS: tex:t
  12873 
  12874      With this option, LaTeX fragments are first converted into MathML
  12875      fragments using an external LaTeX-to-MathML converter program.  The
  12876      resulting MathML fragments are then embedded as an OpenDocument
  12877      Formula in the exported document.
  12878 
  12879      You can specify the LaTeX-to-MathML converter by customizing the
  12880      variables ‘org-latex-to-mathml-convert-command’ and
  12881      ‘org-latex-to-mathml-jar-file’.
  12882 
  12883      If you prefer to use MathToWeb(1) as your converter, you can
  12884      configure the above variables as shown below.
  12885 
  12886           (setq org-latex-to-mathml-convert-command
  12887                 "java -jar %j -unicode -force -df %o %I"
  12888                 org-latex-to-mathml-jar-file
  12889                 "/path/to/mathtoweb.jar")
  12890 
  12891      or, to use LaTeX​ML(2) instead,
  12892 
  12893           (setq org-latex-to-mathml-convert-command
  12894                 "latexmlmath \"%i\" --presentationmathml=%o")
  12895 
  12896      To quickly verify the reliability of the LaTeX-to-MathML converter,
  12897      use the following commands:
  12898 
  12899      ‘M-x org-export-as-odf’
  12900           Convert a LaTeX math snippet to an OpenDocument formula
  12901           (‘.odf’) file.
  12902 
  12903      ‘M-x org-export-as-odf-and-open’
  12904           Convert a LaTeX math snippet to an OpenDocument formula
  12905           (‘.odf’) file and open the formula file with the
  12906           system-registered application.
  12907 
  12908 PNG images
  12909      Add this line to the Org file.  This option is activated on a
  12910      per-file basis.
  12911 
  12912           #+OPTIONS: tex:dvipng
  12913 
  12914           #+OPTIONS: tex:dvisvgm
  12915 
  12916      or
  12917 
  12918           #+OPTIONS: tex:imagemagick
  12919 
  12920      Under this option, LaTeX fragments are processed into PNG or SVG
  12921      images and the resulting images are embedded in the exported
  12922      document.  This method requires dvipng program, dvisvgm or
  12923      ImageMagick programs.
  12924 
  12925    ---------- Footnotes ----------
  12926 
  12927    (1) See MathToWeb
  12928 (http://www.mathtoweb.com/cgi-bin/mathtoweb_home.pl).
  12929 
  12930    (2) See <https://dlmf.nist.gov/LaTeXML/>.
  12931 
  12932 
  12933 File: org.info,  Node: MathML and OpenDocument formula files,  Prev: LaTeX math snippets,  Up: Math formatting in ODT export
  12934 
  12935 13.12.9.2 MathML and OpenDocument formula files
  12936 ...............................................
  12937 
  12938 When embedding LaTeX math snippets in ODT documents is not reliable,
  12939 there is one more option to try.  Embed an equation by linking to its
  12940 MathML (‘.mml’) source or its OpenDocument formula (‘.odf’) file as
  12941 shown below:
  12942 
  12943      [[./equation.mml]]
  12944 
  12945 or
  12946 
  12947      [[./equation.odf]]
  12948 
  12949 
  12950 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
  12951 
  12952 13.12.10 Labels and captions in ODT export
  12953 ------------------------------------------
  12954 
  12955 ODT format handles labeling and captioning of objects based on their
  12956 types.  Inline images, tables, LaTeX fragments, and Math formulas are
  12957 numbered and captioned separately.  Each object also gets a unique
  12958 sequence number based on its order of first appearance in the Org file.
  12959 Each category has its own sequence.  A caption is just a label applied
  12960 to these objects.
  12961 
  12962      #+CAPTION: Bell curve
  12963      #+NAME:   fig:SED-HR4049
  12964      [[./img/a.png]]
  12965 
  12966    When rendered, it may show as follows in the exported document:
  12967 
  12968      Figure 2: Bell curve
  12969 
  12970    To modify the category component of the caption, customize the option
  12971 ‘org-odt-category-map-alist’.  For example, to tag embedded images with
  12972 the string “Illustration” instead of the default string “Figure”, use
  12973 the following setting:
  12974 
  12975      (setq org-odt-category-map-alist
  12976            '(("__Figure__" "Illustration" "value" "Figure" org-odt--enumerable-image-p)))
  12977 
  12978    With the above modification, the previous example changes to:
  12979 
  12980      Illustration 2: Bell curve
  12981 
  12982 
  12983 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
  12984 
  12985 13.12.11 Literal examples in ODT export
  12986 ---------------------------------------
  12987 
  12988 The ODT export back-end supports literal examples (see *note Literal
  12989 Examples::) with full fontification.  Internally, the ODT export
  12990 back-end relies on ‘htmlfontify.el’ to generate the style definitions
  12991 needed for fancy listings.  The auto-generated styles get ‘OrgSrc’
  12992 prefix and inherit colors from the faces used by Emacs Font Lock library
  12993 for that source language.
  12994 
  12995    For custom fontification styles, customize the
  12996 ‘org-odt-create-custom-styles-for-srcblocks’ option.
  12997 
  12998    To turn off fontification of literal examples, customize the
  12999 ‘org-odt-fontify-srcblocks’ option.
  13000 
  13001 
  13002 File: org.info,  Node: Advanced topics in ODT export,  Prev: Literal examples in ODT export,  Up: OpenDocument Text Export
  13003 
  13004 13.12.12 Advanced topics in ODT export
  13005 --------------------------------------
  13006 
  13007 The ODT export back-end has extensive features useful for power users
  13008 and frequent uses of ODT formats.
  13009 
  13010 Configuring a document converter
  13011 ................................
  13012 
  13013 The ODT export back-end works with popular converters with little or no
  13014 extra configuration.  See *note Extending ODT export::.  The following
  13015 is for unsupported converters or tweaking existing defaults.
  13016 
  13017 Register the converter
  13018      Add the name of the converter to the ‘org-odt-convert-processes’
  13019      variable.  Note that it also requires how the converter is invoked
  13020      on the command line.  See the variable’s docstring for details.
  13021 
  13022 Configure its capabilities
  13023      Specify which formats the converter can handle by customizing the
  13024      variable ‘org-odt-convert-capabilities’.  Use the entry for the
  13025      default values in this variable for configuring the new converter.
  13026      Also see its docstring for details.
  13027 
  13028 Choose the converter
  13029      Select the newly added converter as the preferred one by
  13030      customizing the option ‘org-odt-convert-process’.
  13031 
  13032 Working with OpenDocument style files
  13033 .....................................
  13034 
  13035 This section explores the internals of the ODT exporter; the means by
  13036 which it produces styled documents; the use of automatic and custom
  13037 OpenDocument styles.
  13038 
  13039    The ODT exporter relies on two files for generating its output.
  13040 These files are bundled with the distribution under the directory
  13041 pointed to by the variable ‘org-odt-styles-dir’.  The two files are:
  13042 
  13043 ‘OrgOdtStyles.xml’ 
  13044      This file contributes to the ‘styles.xml’ file of the final ODT
  13045      document.  This file gets modified for the following purposes:
  13046 
  13047        1. To control outline numbering based on user settings;
  13048 
  13049        2. To add styles generated by ‘htmlfontify.el’ for fontification
  13050           of code blocks.
  13051 
  13052 ‘OrgOdtContentTemplate.xml’ 
  13053      This file contributes to the ‘content.xml’ file of the final ODT
  13054      document.  The contents of the Org outline are inserted between the
  13055      ‘<office:text>’ ... ‘</office:text>’ elements of this file.
  13056 
  13057      Apart from serving as a template file for the final ‘content.xml’,
  13058      the file serves the following purposes:
  13059 
  13060        1. It contains automatic styles for formatting of tables which
  13061           are referenced by the exporter;
  13062 
  13063        2. It contains ‘<text:sequence-decl>’ ... ‘</text:sequence-decl>’
  13064           elements that control numbering of tables, images, equations,
  13065           and similar entities.
  13066 
  13067    The following two variables control the location from where the ODT
  13068 exporter picks up the custom styles and content template files.
  13069 Customize these variables to override the factory styles used by the
  13070 exporter.
  13071 
  13072 ‘org-odt-styles-file’
  13073      The ODT export back-end uses the file pointed to by this variable,
  13074      such as ‘styles.xml’, for the final output.  It can take one of the
  13075      following values:
  13076 
  13077      ‘FILE.xml’
  13078           Use this file instead of the default ‘styles.xml’
  13079 
  13080      ‘FILE.odt’ or ‘FILE.ott’
  13081           Use the ‘styles.xml’ contained in the specified OpenDocument
  13082           Text or Template file
  13083 
  13084      ‘FILE.odt’ or ‘FILE.ott’ and a subset of included files
  13085           Use the ‘styles.xml’ contained in the specified OpenDocument
  13086           Text or Template file.  Additionally extract the specified
  13087           member files and embed those within the final ODT document.
  13088 
  13089           Use this option if the ‘styles.xml’ file references additional
  13090           files like header and footer images.
  13091 
  13092      ‘nil’
  13093           Use the default ‘styles.xml’.
  13094 
  13095 ‘org-odt-content-template-file’
  13096      Use this variable to specify the blank ‘content.xml’ used in the
  13097      final output.
  13098 
  13099 Creating one-off styles
  13100 .......................
  13101 
  13102 The ODT export back-end can read embedded raw OpenDocument XML from the
  13103 Org file.  Such direct formatting is useful for one-off instances.
  13104 
  13105 Embedding ODT tags as part of regular text
  13106      Enclose OpenDocument syntax in ‘@@odt:...@@’ for inline markup.
  13107      For example, to highlight a region of text do the following:
  13108 
  13109           @@odt:<text:span text:style-name="Highlight">This is highlighted
  13110           text</text:span>@@.  But this is regular text.
  13111 
  13112      *Hint:* To see the above example in action, edit the ‘styles.xml’
  13113      (see *note Factory styles: x-orgodtstyles-xml.) and add a custom
  13114      _Highlight_ style as shown below:
  13115 
  13116           <style:style style:name="Highlight" style:family="text">
  13117             <style:text-properties fo:background-color="#ff0000"/>
  13118           </style:style>
  13119 
  13120 Embedding a one-line OpenDocument XML
  13121      The ODT export back-end can read one-liner options with ‘#+ODT:’ in
  13122      the Org file.  For example, to force a page break:
  13123 
  13124           #+ODT: <text:p text:style-name="PageBreak"/>
  13125 
  13126      *Hint:* To see the above example in action, edit your ‘styles.xml’
  13127      (see *note Factory styles: x-orgodtstyles-xml.) and add a custom
  13128      ‘PageBreak’ style as shown below.
  13129 
  13130           <style:style style:name="PageBreak" style:family="paragraph"
  13131                        style:parent-style-name="Text_20_body">
  13132             <style:paragraph-properties fo:break-before="page"/>
  13133           </style:style>
  13134 
  13135 Embedding a block of OpenDocument XML
  13136      The ODT export back-end can also read ODT export blocks for
  13137      OpenDocument XML.  Such blocks use the ‘#+BEGIN_EXPORT odt’ ...
  13138      ‘#+END_EXPORT’ constructs.
  13139 
  13140      For example, to create a one-off paragraph that uses bold text, do
  13141      the following:
  13142 
  13143           #+BEGIN_EXPORT odt
  13144             <text:p text:style-name="Text_20_body_20_bold">
  13145             This paragraph is specially formatted and uses bold text.
  13146             </text:p>
  13147           #+END_EXPORT
  13148 
  13149 Customizing tables in ODT export
  13150 ................................
  13151 
  13152 Override the default table format by specifying a custom table style
  13153 with the ‘#+ATTR_ODT’ line.  For a discussion on default formatting of
  13154 tables, see *note Tables in ODT export::.
  13155 
  13156    This feature closely mimics the way table templates are defined in
  13157 the OpenDocument-v1.2 specification(1).
  13158 
  13159    For quick preview of this feature, install the settings below and
  13160 export the table that follows:
  13161 
  13162      (setq org-export-odt-table-styles
  13163            (append org-export-odt-table-styles
  13164                    '(("TableWithHeaderRowAndColumn" "Custom"
  13165                       ((use-first-row-styles . t)
  13166                        (use-first-column-styles . t)))
  13167                      ("TableWithFirstRowandLastRow" "Custom"
  13168                       ((use-first-row-styles . t)
  13169                        (use-last-row-styles . t))))))
  13170 
  13171      #+ATTR_ODT: :style TableWithHeaderRowAndColumn
  13172      | Name  | Phone | Age |
  13173      | Peter |  1234 |  17 |
  13174      | Anna  |  4321 |  25 |
  13175 
  13176    The example above used ‘Custom’ template and installed two table
  13177 styles ‘TableWithHeaderRowAndColumn’ and ‘TableWithFirstRowandLastRow’.
  13178 *Important:* The OpenDocument styles needed for producing the above
  13179 template were pre-defined.  They are available in the section marked
  13180 ‘Custom Table Template’ in ‘OrgOdtContentTemplate.xml’ (see *note
  13181 Factory styles: x-orgodtcontenttemplate-xml.).  For adding new
  13182 templates, define new styles there.
  13183 
  13184    To use this feature proceed as follows:
  13185 
  13186   1. Create a table template(2).
  13187 
  13188      A table template is set of ‘table-cell’ and ‘paragraph’ styles for
  13189      each of the following table cell categories:
  13190 
  13191         • Body
  13192         • First column
  13193         • Last column
  13194         • First row
  13195         • Last row
  13196         • Even row
  13197         • Odd row
  13198         • Even column
  13199         • Odd Column
  13200 
  13201      The names for the above styles must be chosen based on the name of
  13202      the table template using a well-defined convention.
  13203 
  13204      The naming convention is better illustrated with an example.  For a
  13205      table template with the name ‘Custom’, the needed style names are
  13206      listed in the following table.
  13207 
  13208      Cell type      Cell style                     Paragraph style
  13209      ----------------------------------------------------------------------------------
  13210      Body           ‘CustomTableCell’              ‘CustomTableParagraph’
  13211      First column   ‘CustomFirstColumnTableCell’   ‘CustomFirstColumnTableParagraph’
  13212      Last column    ‘CustomLastColumnTableCell’    ‘CustomLastColumnTableParagraph’
  13213      First row      ‘CustomFirstRowTableCell’      ‘CustomFirstRowTableParagraph’
  13214      Last row       ‘CustomLastRowTableCell’       ‘CustomLastRowTableParagraph’
  13215      Even row       ‘CustomEvenRowTableCell’       ‘CustomEvenRowTableParagraph’
  13216      Odd row        ‘CustomOddRowTableCell’        ‘CustomOddRowTableParagraph’
  13217      Even column    ‘CustomEvenColumnTableCell’    ‘CustomEvenColumnTableParagraph’
  13218      Odd column     ‘CustomOddColumnTableCell’     ‘CustomOddColumnTableParagraph’
  13219 
  13220      To create a table template with the name ‘Custom’, define the above
  13221      styles in the ‘<office:automatic-styles>’ ...
  13222      ‘</office:automatic-styles>’ element of the content template file
  13223      (see *note Factory styles: x-orgodtcontenttemplate-xml.).
  13224 
  13225   2. Define a table style(3).
  13226 
  13227      To define a table style, create an entry for the style in the
  13228      variable ‘org-odt-table-styles’ and specify the following:
  13229 
  13230         • the name of the table template created in step (1),
  13231         • the set of cell styles in that template that are to be
  13232           activated.
  13233 
  13234      For example, the entry below defines two different table styles
  13235      ‘TableWithHeaderRowAndColumn’ and ‘TableWithFirstRowandLastRow’
  13236      based on the same template ‘Custom’.  The styles achieve their
  13237      intended effect by selectively activating the individual cell
  13238      styles in that template.
  13239 
  13240           (setq org-export-odt-table-styles
  13241                 (append org-export-odt-table-styles
  13242                         '(("TableWithHeaderRowAndColumn" "Custom"
  13243                            ((use-first-row-styles . t)
  13244                             (use-first-column-styles . t)))
  13245                           ("TableWithFirstRowandLastRow" "Custom"
  13246                            ((use-first-row-styles . t)
  13247                             (use-last-row-styles . t))))))
  13248 
  13249   3. Associate a table with the table style.
  13250 
  13251      To do this, specify the table style created in step (2) as part of
  13252      the ‘ATTR_ODT’ line as shown below.
  13253 
  13254           #+ATTR_ODT: :style TableWithHeaderRowAndColumn
  13255           | Name  | Phone | Age |
  13256           | Peter |  1234 |  17 |
  13257           | Anna  |  4321 |  25 |
  13258 
  13259 Validating OpenDocument XML
  13260 ...........................
  13261 
  13262 Sometimes ODT format files may not open due to ‘.odt’ file corruption.
  13263 To verify if such a file is corrupt, validate it against the
  13264 OpenDocument Relax NG Compact (RNC) syntax schema.  But first the ‘.odt’
  13265 files have to be decompressed using ‘zip’.  Note that ‘.odt’ files are
  13266 ZIP archives: *note (emacs)File Archives::.  The contents of ODT files
  13267 are in XML.  For general help with validation—and schema-sensitive
  13268 editing—of XML files: *note (nxml-mode)Introduction::.
  13269 
  13270    Customize ‘org-odt-schema-dir’ to point to a directory with
  13271 OpenDocument RNC files and the needed schema-locating rules.  The ODT
  13272 export back-end takes care of updating the ‘rng-schema-locating-files’.
  13273 
  13274    ---------- Footnotes ----------
  13275 
  13276    (1) OpenDocument-v1.2 Specification
  13277 (https://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2.html)
  13278 
  13279    (2) See the ‘<table:table-template>’ element of the OpenDocument-v1.2
  13280 specification.
  13281 
  13282    (3) See the attributes ‘table:template-name’,
  13283 ‘table:use-first-row-styles’, ‘table:use-last-row-styles’,
  13284 ‘table:use-first-column-styles’, ‘table:use-last-column-styles’,
  13285 ‘table:use-banding-rows-styles’, and ‘table:use-banding-column-styles’
  13286 of the ‘<table:table>’ element in the OpenDocument-v1.2 specification.
  13287 
  13288 
  13289 File: org.info,  Node: Org Export,  Next: Texinfo Export,  Prev: OpenDocument Text Export,  Up: Exporting
  13290 
  13291 13.13 Org Export
  13292 ================
  13293 
  13294 _org_ export back-end creates a normalized version of the Org document
  13295 in current buffer.  The exporter evaluates Babel code (see *note
  13296 Evaluating Code Blocks::) and removes content specific to other
  13297 back-ends.
  13298 
  13299 Org export commands
  13300 -------------------
  13301 
  13302 ‘C-c C-e O o’ (‘org-org-export-to-org’)
  13303      Export as an Org file with a ‘.org’ extension.  For ‘myfile.org’,
  13304      Org exports to ‘myfile.org.org’, overwriting without warning.
  13305 
  13306 ‘C-c C-e O v’ (~~)
  13307      Export to an Org file, then open it.
  13308 
  13309 
  13310 File: org.info,  Node: Texinfo Export,  Next: iCalendar Export,  Prev: Org Export,  Up: Exporting
  13311 
  13312 13.14 Texinfo Export
  13313 ====================
  13314 
  13315 * Menu:
  13316 
  13317 * Texinfo export commands::      Invoking commands.
  13318 * Texinfo specific export settings:: Setting the environment.
  13319 * Texinfo file header::          Generating the header.
  13320 * Texinfo title and copyright page:: Creating preamble pages.
  13321 * Info directory file::          Installing a manual in Info file hierarchy.
  13322 * Headings and sectioning structure:: Building document structure.
  13323 * Indices::                      Creating indices.
  13324 * Quoting Texinfo code::         Incorporating literal Texinfo code.
  13325 * Plain lists in Texinfo export:: List attributes.
  13326 * Tables in Texinfo export::     Table attributes.
  13327 * Images in Texinfo export::     Image attributes.
  13328 * Quotations in Texinfo export:: Quote block attributes.
  13329 * Key bindings in Texinfo export:: @kbd Texinfo command.
  13330 * Special blocks in Texinfo export:: Special block attributes.
  13331 * A Texinfo example::            Processing Org to Texinfo.
  13332 
  13333 
  13334 File: org.info,  Node: Texinfo export commands,  Next: Texinfo specific export settings,  Up: Texinfo Export
  13335 
  13336 13.14.1 Texinfo export commands
  13337 -------------------------------
  13338 
  13339 ‘C-c C-e i t’ (‘org-texinfo-export-to-texinfo’)
  13340      Export as a Texinfo file with ‘.texi’ extension.  For ‘myfile.org’,
  13341      Org exports to ‘myfile.texi’, overwriting without warning.
  13342 
  13343 ‘C-c C-e i i’ (‘org-texinfo-export-to-info’)
  13344      Export to Texinfo format first and then process it to make an Info
  13345      file.  To generate other formats, such as DocBook, customize the
  13346      ‘org-texinfo-info-process’ variable.
  13347 
  13348 
  13349 File: org.info,  Node: Texinfo specific export settings,  Next: Texinfo file header,  Prev: Texinfo export commands,  Up: Texinfo Export
  13350 
  13351 13.14.2 Texinfo specific export settings
  13352 ----------------------------------------
  13353 
  13354 The Texinfo export back-end has several additional keywords for
  13355 customizing Texinfo output.  Setting these keywords works similar to the
  13356 general options (see *note Export Settings::).
  13357 
  13358 ‘SUBTITLE’
  13359      The document subtitle.
  13360 
  13361 ‘SUBAUTHOR’
  13362      Additional authors for the document.
  13363 
  13364 ‘TEXINFO_FILENAME’
  13365      The Texinfo filename.
  13366 
  13367 ‘TEXINFO_CLASS’
  13368      The default document class (‘org-texinfo-default-class’), which
  13369      must be a member of ‘org-texinfo-classes’.
  13370 
  13371 ‘TEXINFO_HEADER’
  13372      Arbitrary lines inserted at the end of the header.
  13373 
  13374 ‘TEXINFO_POST_HEADER’
  13375      Arbitrary lines inserted after the end of the header.
  13376 
  13377 ‘TEXINFO_DIR_CATEGORY’
  13378      The directory category of the document.
  13379 
  13380 ‘TEXINFO_DIR_TITLE’
  13381      The directory title of the document.
  13382 
  13383 ‘TEXINFO_DIR_DESC’
  13384      The directory description of the document.
  13385 
  13386 ‘TEXINFO_PRINTED_TITLE’
  13387      The printed title of the document.
  13388 
  13389 
  13390 File: org.info,  Node: Texinfo file header,  Next: Texinfo title and copyright page,  Prev: Texinfo specific export settings,  Up: Texinfo Export
  13391 
  13392 13.14.3 Texinfo file header
  13393 ---------------------------
  13394 
  13395 After creating the header for a Texinfo file, the Texinfo back-end
  13396 automatically generates a name and destination path for the Info file.
  13397 To override this default with a more sensible path and name, specify the
  13398 ‘TEXINFO_FILENAME’ keyword.
  13399 
  13400    Along with the output’s file name, the Texinfo header also contains
  13401 language details (see *note Export Settings::) and encoding system as
  13402 set in the ‘org-texinfo-coding-system’ variable.  Insert
  13403 ‘TEXINFO_HEADER’ keywords for each additional command in the header, for
  13404 example:
  13405 
  13406      #+TEXINFO_HEADER: @synindex
  13407 
  13408    Instead of repeatedly installing the same set of commands, define a
  13409 class in ‘org-texinfo-classes’ once, and then activate it in the
  13410 document by setting the ‘TEXINFO_CLASS’ keyword to that class.
  13411 
  13412 
  13413 File: org.info,  Node: Texinfo title and copyright page,  Next: Info directory file,  Prev: Texinfo file header,  Up: Texinfo Export
  13414 
  13415 13.14.4 Texinfo title and copyright page
  13416 ----------------------------------------
  13417 
  13418 The default template for hard copy output has a title page with ‘TITLE’
  13419 and ‘AUTHOR’ keywords (see *note Export Settings::).  To replace the
  13420 regular title with something different for the printed version, use the
  13421 ‘TEXINFO_PRINTED_TITLE’ and ‘SUBTITLE’ keywords.  Both expect raw
  13422 Texinfo code for setting their values.
  13423 
  13424    If one ‘AUTHOR’ line is not sufficient, add multiple ‘SUBAUTHOR’
  13425 keywords.  They have to be set in raw Texinfo code.
  13426 
  13427      #+AUTHOR: Jane Smith
  13428      #+SUBAUTHOR: John Doe
  13429      #+TEXINFO_PRINTED_TITLE: This Long Title@@inlinefmt{tex,@*} Is Broken in @TeX{}
  13430 
  13431    Copying material is defined in a dedicated headline with a non-‘nil’
  13432 ‘COPYING’ property.  The back-end inserts the contents within a
  13433 ‘@copying’ command at the beginning of the document.  The heading itself
  13434 does not appear in the structure of the document.
  13435 
  13436    Copyright information is printed on the back of the title page.
  13437 
  13438      * Legalese
  13439        :PROPERTIES:
  13440        :COPYING: t
  13441        :END:
  13442 
  13443        This is a short example of a complete Texinfo file, version 1.0.
  13444 
  13445        Copyright \copy 2016 Free Software Foundation, Inc.
  13446 
  13447 
  13448 File: org.info,  Node: Info directory file,  Next: Headings and sectioning structure,  Prev: Texinfo title and copyright page,  Up: Texinfo Export
  13449 
  13450 13.14.5 Info directory file
  13451 ---------------------------
  13452 
  13453 The end result of the Texinfo export process is the creation of an Info
  13454 file.  This Info file’s metadata has variables for category, title, and
  13455 description: ‘TEXINFO_DIR_CATEGORY’, ‘TEXINFO_DIR_TITLE’, and
  13456 ‘TEXINFO_DIR_DESC’ keywords that establish where in the Info hierarchy
  13457 the file fits.
  13458 
  13459    Here is an example that writes to the Info directory file:
  13460 
  13461      #+TEXINFO_DIR_CATEGORY: Emacs
  13462      #+TEXINFO_DIR_TITLE: Org Mode: (org)
  13463      #+TEXINFO_DIR_DESC: Outline-based notes management and organizer
  13464 
  13465 
  13466 File: org.info,  Node: Headings and sectioning structure,  Next: Indices,  Prev: Info directory file,  Up: Texinfo Export
  13467 
  13468 13.14.6 Headings and sectioning structure
  13469 -----------------------------------------
  13470 
  13471 The Texinfo export back-end uses a pre-defined scheme to convert Org
  13472 headlines to equivalent Texinfo structuring commands.  A scheme like
  13473 this maps top-level headlines to numbered chapters tagged as ‘@chapter’
  13474 and lower-level headlines to unnumbered chapters tagged as
  13475 ‘@unnumbered’.  To override such mappings to introduce ‘@part’ or other
  13476 Texinfo structuring commands, define a new class in
  13477 ‘org-texinfo-classes’.  Activate the new class with the ‘TEXINFO_CLASS’
  13478 keyword.  When no new class is defined and activated, the Texinfo export
  13479 back-end defaults to the ‘org-texinfo-default-class’.
  13480 
  13481    If an Org headline’s level has no associated Texinfo structuring
  13482 command, or is below a certain threshold (see *note Export Settings::),
  13483 then the Texinfo export back-end makes it into a list item.
  13484 
  13485    The Texinfo export back-end makes any headline with a non-‘nil’
  13486 ‘APPENDIX’ property into an appendix.  This happens independent of the
  13487 Org headline level or the ‘TEXINFO_CLASS’ keyword.
  13488 
  13489    The Texinfo export back-end creates a menu entry after the Org
  13490 headline for each regular sectioning structure.  To override this with a
  13491 shorter menu entry, use the ‘ALT_TITLE’ property (see *note Table of
  13492 Contents::).  Texinfo menu entries also have an option for a longer
  13493 ‘DESCRIPTION’ property.  Here’s an example that uses both to override
  13494 the default menu entry:
  13495 
  13496      * Controlling Screen Display
  13497        :PROPERTIES:
  13498        :ALT_TITLE: Display
  13499        :DESCRIPTION: Controlling Screen Display
  13500        :END:
  13501 
  13502    The text before the first headline belongs to the _Top_ node, i.e.,
  13503 the node in which a reader enters an Info manual.  As such, it is
  13504 expected not to appear in printed output generated from the ‘.texi’
  13505 file.  See *note (texinfo)The Top Node::, for more information.
  13506 
  13507 
  13508 File: org.info,  Node: Indices,  Next: Quoting Texinfo code,  Prev: Headings and sectioning structure,  Up: Texinfo Export
  13509 
  13510 13.14.7 Indices
  13511 ---------------
  13512 
  13513 The Texinfo export back-end recognizes these indexing keywords if used
  13514 in the Org file: ‘CINDEX’, ‘FINDEX’, ‘KINDEX’, ‘PINDEX’, ‘TINDEX’ and
  13515 ‘VINDEX’.  Write their value as verbatim Texinfo code; in particular,
  13516 ‘{’, ‘}’ and ‘@’ characters need to be escaped with ‘@’ if they do not
  13517 belong to a Texinfo command.
  13518 
  13519      #+CINDEX: Defining indexing entries
  13520 
  13521    For the back-end to generate an index entry for a headline, set the
  13522 ‘INDEX’ property to ‘cp’ or ‘vr’.  These abbreviations come from Texinfo
  13523 that stand for concept index and variable index.  The Texinfo manual has
  13524 abbreviations for all other kinds of indexes.  The back-end exports the
  13525 headline as an unnumbered chapter or section command, and then inserts
  13526 the index after its contents.
  13527 
  13528      * Concept Index
  13529        :PROPERTIES:
  13530        :INDEX: cp
  13531        :END:
  13532 
  13533 
  13534 File: org.info,  Node: Quoting Texinfo code,  Next: Plain lists in Texinfo export,  Prev: Indices,  Up: Texinfo Export
  13535 
  13536 13.14.8 Quoting Texinfo code
  13537 ----------------------------
  13538 
  13539 Use any of the following three methods to insert or escape raw Texinfo
  13540 code:
  13541 
  13542      Richard @@texinfo:@sc{@@Stallman@@texinfo:}@@ commence' GNU.
  13543 
  13544      #+TEXINFO: @need800
  13545      This paragraph is preceded by...
  13546 
  13547      #+BEGIN_EXPORT texinfo
  13548        @auindex Johnson, Mark
  13549        @auindex Lakoff, George
  13550      #+END_EXPORT
  13551 
  13552 
  13553 File: org.info,  Node: Plain lists in Texinfo export,  Next: Tables in Texinfo export,  Prev: Quoting Texinfo code,  Up: Texinfo Export
  13554 
  13555 13.14.9 Plain lists in Texinfo export
  13556 -------------------------------------
  13557 
  13558 The Texinfo export back-end converts unordered and ordered lists in the
  13559 Org file using the default command ‘@itemize’.
  13560 
  13561    Ordered lists are numbered when exported to Texinfo format.  Such
  13562 numbering obeys any counter (see *note Plain Lists::) in the first item
  13563 of the list.  The ‘:enum’ attribute also let you start the list at a
  13564 specific number, or switch to a lettered list, as illustrated here:
  13565 
  13566      #+ATTR_TEXINFO: :enum A
  13567      1. Alpha
  13568      2. Bravo
  13569      3. Charlie
  13570 
  13571    The Texinfo export back-end by default converts description lists in
  13572 the Org file using the default command ‘@table’, which results in a
  13573 table with two columns.  To change this behavior, set ‘:table-type’
  13574 attribute to either ‘ftable’ or ‘vtable’ value.  For more information,
  13575 see *note (texinfo)Two-column Tables::.
  13576 
  13577    The Texinfo export back-end by default also applies a text highlight
  13578 based on the defaults stored in ‘org-texinfo-table-default-markup’.  To
  13579 override the default highlight command, specify another one with the
  13580 ‘:indic’ attribute.
  13581 
  13582    Org syntax is limited to one entry per list item.  Nevertheless, the
  13583 Texinfo export back-end can split that entry according to any text
  13584 provided through the ‘:sep’ attribute.  Each part then becomes a new
  13585 entry in the first column of the table.
  13586 
  13587    The following example illustrates all the attributes above:
  13588 
  13589      #+ATTR_TEXINFO: :table-type vtable :sep , :indic asis
  13590      - foo, bar :: This is the common text for variables foo and bar.
  13591 
  13592 becomes
  13593 
  13594      @vtable @asis
  13595      @item foo
  13596      @itemx bar
  13597      This is the common text for variables foo and bar.
  13598      @end table
  13599 
  13600    The ‘:compact’ attribute is an alternative to the ‘:sep’ attribute,
  13601 which allows writing each entry on its own line.  If this attribute is
  13602 non-nil and an item in a description list has no body but is followed by
  13603 another item, then the second item is transcoded to ‘@itemx’.  This
  13604 example is transcoded to the same output as above.
  13605 
  13606      #+ATTR_TEXINFO: :table-type vtable :indic asis :compact t
  13607      - foo ::
  13608      - bar ::
  13609        This is the common text for variables foo and bar.
  13610 
  13611    Support for this compact syntax can also be enabled for all lists in
  13612 a file using the ‘compact-itemx’ export option, or globally using the
  13613 variable ‘org-texinfo-compact-itemx’.
  13614 
  13615    The Texinfo export back-end also supports two approaches to writing
  13616 Texinfo definition commands (see *note (texinfo)Definition Commands::).
  13617 One of them uses description lists and is described below, the other
  13618 relies on special blocks (see *note Special blocks in Texinfo export::).
  13619 
  13620    Items in a description list in a Org file that begin with ‘Function:’
  13621 or certain other prefixes are converted using Texinfo definition
  13622 commands.  This works even if other items in the same list do not have
  13623 such a prefix; if necessary a single description list is converted using
  13624 multiple tables (such as ‘@vtable’) and definition commands (such as
  13625 ‘@defun’).
  13626 
  13627      - Function: org-texinfo-drawer drawer contents info ::
  13628        Transcode a DRAWER element from Org to Texinfo.
  13629 
  13630 becomes
  13631 
  13632      @defun org-texinfo-drawer drawer contents info ::
  13633        Transcode a DRAWER element from Org to Texinfo.
  13634      @end defun
  13635 
  13636    The recognized prefixes are ‘Command:’, ‘Function:’, ‘Macro:’,
  13637 ‘Special Form:’, ‘Variable:’ and ‘User Option:’.  These are the same
  13638 prefixes that appear in the Info file for the respective definition
  13639 commands.  For example a ‘Function:’ item in the Org file is converted
  13640 to a ‘@defun’ command in the Texinfo file, which in turn is converted to
  13641 a definition prefixed with ‘-- Function:’ in the Info file.
  13642 
  13643    As a special case the prefix ‘Key:’ is also recognized.  No Texinfo
  13644 definition command exists for key bindings and the output in Info files
  13645 also lacks the ‘Key:’ prefix.  Even so this special case is supported
  13646 because it provides a convenient shorthand, as illustrated here:
  13647 
  13648      - Key: C-c C-c (do-something) ::
  13649        This command does something.
  13650 
  13651      - User Option: do-something-somehow ::
  13652        This option controls how exactly ~do-something~ does its thing.
  13653 
  13654 becomes
  13655 
  13656      @table @asis
  13657      @item @kbd{C-c C-c} (@code{do-something})
  13658      @kindex C-c C-c
  13659      @findex do-something
  13660      This command does something.
  13661      @end table
  13662 
  13663      @defopt do-something-somehow
  13664      This option controls how exactly @code{do-something} does its thing.
  13665      @end defopt
  13666 
  13667 Command in parenthesis, as done above, is optional.
  13668 
  13669 
  13670 File: org.info,  Node: Tables in Texinfo export,  Next: Images in Texinfo export,  Prev: Plain lists in Texinfo export,  Up: Texinfo Export
  13671 
  13672 13.14.10 Tables in Texinfo export
  13673 ---------------------------------
  13674 
  13675 When exporting tables, the Texinfo export back-end uses the widest cell
  13676 width in each column.  To override this and instead specify as fractions
  13677 of line length, use the ‘:columns’ attribute.  See example below.
  13678 
  13679      #+ATTR_TEXINFO: :columns .5 .5
  13680      | a cell | another cell |
  13681 
  13682 
  13683 File: org.info,  Node: Images in Texinfo export,  Next: Quotations in Texinfo export,  Prev: Tables in Texinfo export,  Up: Texinfo Export
  13684 
  13685 13.14.11 Images in Texinfo export
  13686 ---------------------------------
  13687 
  13688 Insert a file link to the image in the Org file, and the Texinfo export
  13689 back-end inserts the image.  These links must have the usual supported
  13690 image extensions and no descriptions.  To scale the image, use ‘:width’
  13691 and ‘:height’ attributes.  For alternate text, use ‘:alt’ and specify
  13692 the text using Texinfo code, as shown in the example:
  13693 
  13694      #+ATTR_TEXINFO: :width 1in :alt Alternate @i{text}
  13695      [[ridt.pdf]]
  13696 
  13697 
  13698 File: org.info,  Node: Quotations in Texinfo export,  Next: Key bindings in Texinfo export,  Prev: Images in Texinfo export,  Up: Texinfo Export
  13699 
  13700 13.14.12 Quotations in Texinfo export
  13701 -------------------------------------
  13702 
  13703 You can write the text of a quotation within a quote block (see *note
  13704 Paragraphs::).  You may also emphasize some text at the beginning of the
  13705 quotation with the ‘:tag’ attribute.
  13706 
  13707      #+ATTR_TEXINFO: :tag Warning
  13708      #+BEGIN_QUOTE
  13709      Striking your thumb with a hammer may cause severe pain and discomfort.
  13710      #+END_QUOTE
  13711 
  13712    To specify the author of the quotation, use the ‘:author’ attribute.
  13713 
  13714      #+ATTR_TEXINFO: :author King Arthur
  13715      #+BEGIN_QUOTE
  13716      The Lady of the Lake, her arm clad in the purest shimmering samite,
  13717      held aloft Excalibur from the bosom of the water, signifying by divine
  13718      providence that I, Arthur, was to carry Excalibur.  That is why I am
  13719      your king.
  13720      #+END_QUOTE
  13721 
  13722 
  13723 File: org.info,  Node: Key bindings in Texinfo export,  Next: Special blocks in Texinfo export,  Prev: Quotations in Texinfo export,  Up: Texinfo Export
  13724 
  13725 13.14.13 Key bindings in Texinfo export
  13726 ---------------------------------------
  13727 
  13728 Org does not provide any markup for key bindings that corresponds to
  13729 Texinfo’s ‘@kbd’ and ‘@key’ commands.  One way to deal with this is to
  13730 fall back to code syntax.  ‘~C-x SPC~’, for example, is transcoded to
  13731 ‘@code{C-x SPC}’.
  13732 
  13733    A better approach is to define and use an Org macro named ‘kbd’.  To
  13734 make that easier the function ‘org-texinfo-kbd-macro’ is provided, which
  13735 is intended to be used like this:
  13736 
  13737      #+macro: kbd (eval (org-texinfo-kbd-macro $1))
  13738 
  13739      Type {{{kbd(C-c SPC)}}}.
  13740 
  13741 which becomes
  13742 
  13743      Type @kbd{C-c @key{SPC}}.
  13744 
  13745 
  13746 File: org.info,  Node: Special blocks in Texinfo export,  Next: A Texinfo example,  Prev: Key bindings in Texinfo export,  Up: Texinfo Export
  13747 
  13748 13.14.14 Special blocks in Texinfo export
  13749 -----------------------------------------
  13750 
  13751 The Texinfo export back-end supports two approaches to writing Texinfo
  13752 definition commands.  One of them is described here, the other in *note
  13753 Plain lists in Texinfo export::.
  13754 
  13755    The Texinfo export back-end converts special blocks to commands with
  13756 the same name.  It also adds any ‘:options’ attributes to the end of the
  13757 command, as shown in this example:
  13758 
  13759      #+ATTR_TEXINFO: :options org-org-export-to-org ...
  13760      #+BEGIN_defun
  13761        A somewhat obsessive function name.
  13762      #+END_defun
  13763 
  13764 becomes
  13765 
  13766      @defun org-org-export-to-org ...
  13767        A somewhat obsessive function name.
  13768      @end defun
  13769 
  13770 
  13771 File: org.info,  Node: A Texinfo example,  Prev: Special blocks in Texinfo export,  Up: Texinfo Export
  13772 
  13773 13.14.15 A Texinfo example
  13774 --------------------------
  13775 
  13776 Here is a more detailed example Org file.  See *note (texinfo)GNU Sample
  13777 Texts:: for an equivalent example using Texinfo code.
  13778 
  13779      #+TITLE: GNU Sample {{{version}}}
  13780      #+SUBTITLE: for version {{{version}}}, {{{updated}}}
  13781      #+AUTHOR: A.U. Thor
  13782      #+EMAIL: bug-sample@gnu.org
  13783 
  13784      #+OPTIONS: ':t toc:t author:t email:t
  13785      #+LANGUAGE: en
  13786 
  13787      #+MACRO: version 2.0
  13788      #+MACRO: updated last updated 4 March 2014
  13789 
  13790      #+TEXINFO_FILENAME: sample.info
  13791      #+TEXINFO_HEADER: @syncodeindex pg cp
  13792 
  13793      #+TEXINFO_DIR_CATEGORY: Texinfo documentation system
  13794      #+TEXINFO_DIR_TITLE: sample: (sample)
  13795      #+TEXINFO_DIR_DESC: Invoking sample
  13796 
  13797      #+TEXINFO_PRINTED_TITLE: GNU Sample
  13798 
  13799      This manual is for GNU Sample (version {{{version}}},
  13800      {{{updated}}}).
  13801 
  13802      * Copying
  13803        :PROPERTIES:
  13804        :COPYING:  t
  13805        :END:
  13806 
  13807        This manual is for GNU Sample (version {{{version}}},
  13808        {{{updated}}}), which is an example in the Texinfo documentation.
  13809 
  13810        Copyright \copy 2016 Free Software Foundation, Inc.
  13811 
  13812        #+BEGIN_QUOTE
  13813        Permission is granted to copy, distribute and/or modify this
  13814        document under the terms of the GNU Free Documentation License,
  13815        Version 1.3 or any later version published by the Free Software
  13816        Foundation; with no Invariant Sections, with no Front-Cover Texts,
  13817        and with no Back-Cover Texts.  A copy of the license is included in
  13818        the section entitled "GNU Free Documentation License".
  13819        #+END_QUOTE
  13820 
  13821      * Invoking sample
  13822 
  13823        #+PINDEX: sample
  13824        #+CINDEX: invoking @command{sample}
  13825 
  13826        This is a sample manual.  There is no sample program to invoke, but
  13827        if there were, you could see its basic usage and command line
  13828        options here.
  13829 
  13830      * GNU Free Documentation License
  13831        :PROPERTIES:
  13832        :APPENDIX: t
  13833        :END:
  13834 
  13835        #+INCLUDE: fdl.org
  13836 
  13837      * Index
  13838        :PROPERTIES:
  13839        :INDEX:    cp
  13840        :END:
  13841 
  13842 
  13843 File: org.info,  Node: iCalendar Export,  Next: Other Built-in Back-ends,  Prev: Texinfo Export,  Up: Exporting
  13844 
  13845 13.15 iCalendar Export
  13846 ======================
  13847 
  13848 A large part of Org mode’s interoperability success is its ability to
  13849 easily export to or import from external applications.  The iCalendar
  13850 export back-end takes calendar data from Org files and exports to the
  13851 standard iCalendar format.
  13852 
  13853    The iCalendar export back-end can also incorporate TODO entries based
  13854 on the configuration of the ‘org-icalendar-include-todo’ variable.  The
  13855 back-end exports plain timestamps as ‘VEVENT’, TODO items as ‘VTODO’,
  13856 and also create events from deadlines that are in non-TODO items.  The
  13857 back-end uses the deadlines and scheduling dates in Org TODO items for
  13858 setting the start and due dates for the iCalendar TODO entry.  Consult
  13859 the ‘org-icalendar-use-deadline’ and ‘org-icalendar-use-scheduled’
  13860 variables for more details.
  13861 
  13862    For tags on the headline, the iCalendar export back-end makes them
  13863 into iCalendar categories.  To tweak the inheritance of tags and TODO
  13864 states, configure the variable ‘org-icalendar-categories’.  To assign
  13865 clock alarms based on time, configure the ‘org-icalendar-alarm-time’
  13866 variable.
  13867 
  13868    The iCalendar format standard requires globally unique identifier—or
  13869 UID—for each entry.  The iCalendar export back-end creates UIDs during
  13870 export.  To save a copy of the UID in the Org file set the variable
  13871 ‘org-icalendar-store-UID’.  The back-end looks for the ‘ID’ property of
  13872 the entry for re-using the same UID for subsequent exports.
  13873 
  13874    Since a single Org entry can result in multiple iCalendar
  13875 entries—timestamp, deadline, scheduled item, or TODO item—Org adds
  13876 prefixes to the UID, depending on which part of the Org entry triggered
  13877 the creation of the iCalendar entry.  Prefixing ensures UIDs remains
  13878 unique, yet enable synchronization programs trace the connections.
  13879 
  13880 ‘C-c C-e c f’ (‘org-icalendar-export-to-ics’)
  13881      Create iCalendar entries from the current Org buffer and store them
  13882      in the same directory, using a file extension ‘.ics’.
  13883 
  13884 ‘C-c C-e c a’ (‘org-icalendar-export-agenda-files’)
  13885      Create iCalendar entries from Org files in ‘org-agenda-files’ and
  13886      store in a separate iCalendar file for each Org file.
  13887 
  13888 ‘C-c C-e c c’ (‘org-icalendar-combine-agenda-files’)
  13889      Create a combined iCalendar file from Org files in
  13890      ‘org-agenda-files’ and write it to
  13891      ‘org-icalendar-combined-agenda-file’ file name.
  13892 
  13893    The iCalendar export back-end includes ‘SUMMARY’, ‘DESCRIPTION’,
  13894 ‘LOCATION’, ‘TIMEZONE’ and ‘CLASS’ properties from the Org entries when
  13895 exporting.  To force the back-end to inherit the ‘LOCATION’, ‘TIMEZONE’
  13896 and ‘CLASS’ properties, configure the ‘org-use-property-inheritance’
  13897 variable.
  13898 
  13899    When Org entries do not have ‘SUMMARY’, ‘DESCRIPTION’, ‘LOCATION’ and
  13900 ‘CLASS’ properties, the iCalendar export back-end derives the summary
  13901 from the headline, and derives the description from the body of the Org
  13902 item.  The ‘org-icalendar-include-body’ variable limits the maximum
  13903 number of characters of the content are turned into its description.
  13904 
  13905    The ‘TIMEZONE’ property can be used to specify a per-entry time zone,
  13906 and is applied to any entry with timestamp information.  Time zones
  13907 should be specified as per the IANA time zone database format, e.g.,
  13908 ‘Asia/Almaty’.  Alternately, the property value can be ‘UTC’, to force
  13909 UTC time for this entry only.
  13910 
  13911    The ‘CLASS’ property can be used to specify a per-entry visibility
  13912 class or access restrictions, and is applied to any entry with class
  13913 information.  The iCalendar standard defines three visibility classes:
  13914 ‘PUBLIC’
  13915      The entry is publicly visible (this is the default).
  13916 ‘CONFIDENTIAL’
  13917      Only a limited group of clients get access to the event.
  13918 ‘PRIVATE’
  13919      The entry can be retrieved only by its owner.
  13920    The server should treat unknown class properties the same as
  13921 ‘PRIVATE’.
  13922 
  13923    Exporting to iCalendar format depends in large part on the
  13924 capabilities of the destination application.  Some are more lenient than
  13925 others.  Consult the Org mode FAQ for advice on specific applications.
  13926 
  13927 
  13928 File: org.info,  Node: Other Built-in Back-ends,  Next: Advanced Export Configuration,  Prev: iCalendar Export,  Up: Exporting
  13929 
  13930 13.16 Other Built-in Back-ends
  13931 ==============================
  13932 
  13933 Other export back-ends included with Org are:
  13934 
  13935    • ‘ox-man.el’: Export to a man page.
  13936 
  13937    To activate such back-ends, either customize ‘org-export-backends’ or
  13938 load directly with ‘(require 'ox-man)’.  On successful load, the
  13939 back-end adds new keys in the export dispatcher (see *note The Export
  13940 Dispatcher::).
  13941 
  13942    Follow the comment section of such files, for example, ‘ox-man.el’,
  13943 for usage and configuration details.
  13944 
  13945 
  13946 File: org.info,  Node: Advanced Export Configuration,  Next: Export in Foreign Buffers,  Prev: Other Built-in Back-ends,  Up: Exporting
  13947 
  13948 13.17 Advanced Export Configuration
  13949 ===================================
  13950 
  13951 Export hooks
  13952 ------------
  13953 
  13954 The export process executes two hooks before the actual exporting
  13955 begins.  The first hook, ‘org-export-before-processing-hook’, runs
  13956 before any expansions of macros, Babel code, and include keywords in the
  13957 buffer.  The second hook, ‘org-export-before-parsing-hook’, runs before
  13958 the buffer is parsed.
  13959 
  13960    Functions added to these hooks are called with a single argument: the
  13961 export back-end actually used, as a symbol.  You may use them for heavy
  13962 duty structural modifications of the document.  For example, you can
  13963 remove every headline in the buffer during export like this:
  13964 
  13965      (defun my-headline-removal (backend)
  13966        "Remove all headlines in the current buffer.
  13967      BACKEND is the export back-end being used, as a symbol."
  13968        (org-map-entries
  13969         (lambda () (delete-region (point) (line-beginning-position 2)))))
  13970 
  13971      (add-hook 'org-export-before-parsing-hook #'my-headline-removal)
  13972 
  13973 Filters
  13974 -------
  13975 
  13976 Filters are lists of functions to be applied to certain parts for a
  13977 given back-end.  The output from the first function in the filter is
  13978 passed on to the next function in the filter.  The final output is the
  13979 output from the final function in the filter.
  13980 
  13981    The Org export process has many filter sets applicable to different
  13982 types of objects, plain text, parse trees, export options, and final
  13983 output formats.  The filters are named after the element type or object
  13984 type: ‘org-export-filter-TYPE-functions’, where TYPE is the type
  13985 targeted by the filter.  Valid types are:
  13986 
  13987 body                     bold                     babel-call
  13988 center-block             clock                    code
  13989 diary-sexp               drawer                   dynamic-block
  13990 entity                   example-block            export-block
  13991 export-snippet           final-output             fixed-width
  13992 footnote-definition      footnote-reference       headline
  13993 horizontal-rule          inline-babel-call        inline-src-block
  13994 inlinetask               italic                   item
  13995 keyword                  latex-environment        latex-fragment
  13996 line-break               link                     node-property
  13997 options                  paragraph                parse-tree
  13998 plain-list               plain-text               planning
  13999 property-drawer          quote-block              radio-target
  14000 section                  special-block            src-block
  14001 statistics-cookie        strike-through           subscript
  14002 superscript              table                    table-cell
  14003 table-row                target                   timestamp
  14004 underline                verbatim                 verse-block
  14005 
  14006    Here is an example filter that replaces non-breaking spaces ‘ ’ in
  14007 the Org buffer with ‘~’ for the LaTeX back-end.
  14008 
  14009      (defun my-latex-filter-nobreaks (text backend info)
  14010        "Ensure \" \" are properly handled in LaTeX export."
  14011        (when (org-export-derived-backend-p backend 'latex)
  14012          (replace-regexp-in-string " " "~" text)))
  14013 
  14014      (add-to-list 'org-export-filter-plain-text-functions
  14015                   'my-latex-filter-nobreaks)
  14016 
  14017    A filter requires three arguments: the code to be transformed, the
  14018 name of the back-end, and some optional information about the export
  14019 process.  The third argument can be safely ignored.  Note the use of
  14020 ‘org-export-derived-backend-p’ predicate that tests for _latex_ back-end
  14021 or any other back-end, such as _beamer_, derived from _latex_.
  14022 
  14023 Defining filters for individual files
  14024 -------------------------------------
  14025 
  14026 The Org export can filter not just for back-ends, but also for specific
  14027 files through the ‘BIND’ keyword.  Here is an example with two filters;
  14028 one removes brackets from time stamps, and the other removes
  14029 strike-through text.  The filter functions are defined in a code block
  14030 in the same Org file, which is a handy location for debugging.
  14031 
  14032      #+BIND: org-export-filter-timestamp-functions (tmp-f-timestamp)
  14033      #+BIND: org-export-filter-strike-through-functions (tmp-f-strike-through)
  14034      #+BEGIN_SRC emacs-lisp :exports results :results none
  14035        (defun tmp-f-timestamp (s backend info)
  14036          (replace-regexp-in-string "&[lg]t;\\|[][]" "" s))
  14037        (defun tmp-f-strike-through (s backend info) "")
  14038      #+END_SRC
  14039 
  14040 Extending an existing back-end
  14041 ------------------------------
  14042 
  14043 Some parts of the conversion process can be extended for certain
  14044 elements so as to introduce a new or revised translation.  That is how
  14045 the HTML export back-end was extended to handle Markdown format.  The
  14046 extensions work seamlessly so any aspect of filtering not done by the
  14047 extended back-end is handled by the original back-end.  Of all the
  14048 export customization in Org, extending is very powerful as it operates
  14049 at the parser level.
  14050 
  14051    For this example, make the _ascii_ back-end display the language used
  14052 in a source code block.  Also make it display only when some attribute
  14053 is non-‘nil’, like the following:
  14054 
  14055      #+ATTR_ASCII: :language t
  14056 
  14057    Then extend ASCII back-end with a custom “my-ascii” back-end.
  14058 
  14059      (defun my-ascii-src-block (src-block contents info)
  14060        "Transcode a SRC-BLOCK element from Org to ASCII.
  14061      CONTENTS is nil.  INFO is a plist used as a communication
  14062      channel."
  14063        (if (not (org-export-read-attribute :attr_ascii src-block :language))
  14064            (org-export-with-backend 'ascii src-block contents info)
  14065          (concat
  14066           (format ",--[ %s ]--\n%s`----"
  14067                   (org-element-property :language src-block)
  14068                   (replace-regexp-in-string
  14069                    "^" "| "
  14070                    (org-element-normalize-string
  14071                     (org-export-format-code-default src-block info)))))))
  14072 
  14073      (org-export-define-derived-backend 'my-ascii 'ascii
  14074        :translate-alist '((src-block . my-ascii-src-block)))
  14075 
  14076    The ‘my-ascii-src-block’ function looks at the attribute above the
  14077 current element.  If not true, hands over to _ascii_ back-end.  If true,
  14078 which it is in this example, it creates a box around the code and leaves
  14079 room for the inserting a string for language.  The last form creates the
  14080 new back-end that springs to action only when translating ‘src-block’
  14081 type elements.
  14082 
  14083    To use the newly defined back-end, evaluate the following from an Org
  14084 buffer:
  14085 
  14086      (org-export-to-buffer 'my-ascii "*Org MY-ASCII Export*")
  14087 
  14088    Further steps to consider would be an interactive function,
  14089 self-installing an item in the export dispatcher menu, and other
  14090 user-friendly improvements.
  14091 
  14092 
  14093 File: org.info,  Node: Export in Foreign Buffers,  Prev: Advanced Export Configuration,  Up: Exporting
  14094 
  14095 13.18 Export in Foreign Buffers
  14096 ===============================
  14097 
  14098 The export back-ends in Org often include commands to convert selected
  14099 regions.  A convenient feature of this in-place conversion is that the
  14100 exported output replaces the original source.  Here are such functions:
  14101 
  14102 ‘org-ascii-convert-region-to-ascii’
  14103      Convert the selected region into ASCII.
  14104 
  14105 ‘org-ascii-convert-region-to-utf8’
  14106      Convert the selected region into UTF-8.
  14107 
  14108 ‘org-html-convert-region-to-html’
  14109      Convert the selected region into HTML.
  14110 
  14111 ‘org-latex-convert-region-to-latex’
  14112      Convert the selected region into LaTeX.
  14113 
  14114 ‘org-texinfo-convert-region-to-texinfo’
  14115      Convert the selected region into Texinfo.
  14116 
  14117 ‘org-md-convert-region-to-md’
  14118      Convert the selected region into Markdown.
  14119 
  14120    In-place conversions are particularly handy for quick conversion of
  14121 tables and lists in foreign buffers.  For example, in an HTML buffer,
  14122 write a list in Org syntax, select it, and convert it to HTML with ‘M-x
  14123 org-html-convert-region-to-html’.
  14124 
  14125 * Menu:
  14126 
  14127 * Bare HTML::                    Exporting HTML without CSS, Javascript, etc.
  14128 
  14129 
  14130 File: org.info,  Node: Bare HTML,  Up: Export in Foreign Buffers
  14131 
  14132 13.18.1 Exporting to minimal HTML
  14133 ---------------------------------
  14134 
  14135 If you want to output a minimal HTML file, with no CSS, no Javascript,
  14136 no preamble or postamble, here are the variable you would need to set:
  14137 
  14138      (setq org-html-head ""
  14139            org-html-head-extra ""
  14140            org-html-head-include-default-style nil
  14141            org-html-head-include-scripts nil
  14142            org-html-preamble nil
  14143            org-html-postamble nil
  14144            org-html-use-infojs nil)
  14145 
  14146 
  14147 File: org.info,  Node: Publishing,  Next: Citation handling,  Prev: Exporting,  Up: Top
  14148 
  14149 14 Publishing
  14150 *************
  14151 
  14152 Org includes a publishing management system that allows you to configure
  14153 automatic HTML conversion of _projects_ composed of interlinked Org
  14154 files.  You can also configure Org to automatically upload your exported
  14155 HTML pages and related attachments, such as images and source code
  14156 files, to a web server.
  14157 
  14158    You can also use Org to convert files into PDF, or even combine HTML
  14159 and PDF conversion so that files are available in both formats on the
  14160 server.
  14161 
  14162    Publishing has been contributed to Org by David O’Toole.
  14163 
  14164 * Menu:
  14165 
  14166 * Configuration::                Defining projects.
  14167 * Uploading Files::              How to get files up on the server.
  14168 * Sample Configuration::         Example projects.
  14169 * Triggering Publication::       Publication commands.
  14170 
  14171 
  14172 File: org.info,  Node: Configuration,  Next: Uploading Files,  Up: Publishing
  14173 
  14174 14.1 Configuration
  14175 ==================
  14176 
  14177 Publishing needs significant configuration to specify files, destination
  14178 and many other properties of a project.
  14179 
  14180 * Menu:
  14181 
  14182 * Project alist::                The central configuration variable.
  14183 * Sources and destinations::     From here to there.
  14184 * Selecting files::              What files are part of the project?
  14185 * Publishing action::            Setting the function doing the publishing.
  14186 * Publishing options::           Tweaking HTML/LaTeX export.
  14187 * Publishing links::             Which links keep working after publishing?
  14188 * Site map::                     Generating a list of all pages.
  14189 * Generating an index::          An index that reaches across pages.
  14190 
  14191 
  14192 File: org.info,  Node: Project alist,  Next: Sources and destinations,  Up: Configuration
  14193 
  14194 14.1.1 The variable ‘org-publish-project-alist’
  14195 -----------------------------------------------
  14196 
  14197 Publishing is configured almost entirely through setting the value of
  14198 one variable, called ‘org-publish-project-alist’.  Each element of the
  14199 list configures one project, and may be in one of the two following
  14200 forms:
  14201 
  14202      ("project-name" :property value :property value ...)
  14203 
  14204 i.e., a well-formed property list with alternating keys and values, or:
  14205 
  14206      ("project-name" :components ("project-name" "project-name" ...))
  14207 
  14208    In both cases, projects are configured by specifying property values.
  14209 A project defines the set of files that are to be published, as well as
  14210 the publishing configuration to use when publishing those files.  When a
  14211 project takes the second form listed above, the individual members of
  14212 the ‘:components’ property are taken to be sub-projects, which group
  14213 together files requiring different publishing options.  When you publish
  14214 such a “meta-project”, all the components are also published, in the
  14215 sequence given.
  14216 
  14217 
  14218 File: org.info,  Node: Sources and destinations,  Next: Selecting files,  Prev: Project alist,  Up: Configuration
  14219 
  14220 14.1.2 Sources and destinations for files
  14221 -----------------------------------------
  14222 
  14223 Most properties are optional, but some should always be set.  In
  14224 particular, Org needs to know where to look for source files, and where
  14225 to put published files.
  14226 
  14227 ‘:base-directory’
  14228      Directory containing publishing source files.
  14229 
  14230 ‘:publishing-directory’
  14231      Directory where output files are published.  You can directly
  14232      publish to a webserver using a file name syntax appropriate for the
  14233      Emacs tramp package.  Or you can publish to a local directory and
  14234      use external tools to upload your website (see *note Uploading
  14235      Files::).
  14236 
  14237 ‘:preparation-function’
  14238      Function or list of functions to be called before starting the
  14239      publishing process, for example, to run ‘make’ for updating files
  14240      to be published.  Each preparation function is called with a single
  14241      argument, the project property list.
  14242 
  14243 ‘:completion-function’
  14244      Function or list of functions called after finishing the publishing
  14245      process, for example, to change permissions of the resulting files.
  14246      Each completion function is called with a single argument, the
  14247      project property list.
  14248 
  14249 
  14250 File: org.info,  Node: Selecting files,  Next: Publishing action,  Prev: Sources and destinations,  Up: Configuration
  14251 
  14252 14.1.3 Selecting files
  14253 ----------------------
  14254 
  14255 By default, all files with extension ‘.org’ in the base directory are
  14256 considered part of the project.  This can be modified by setting the
  14257 following properties
  14258 
  14259 ‘:base-extension’
  14260      Extension—without the dot—of source files.  This actually is a
  14261      regular expression.  Set this to the symbol ‘any’ if you want to
  14262      get all files in ‘:base-directory’, even without extension.
  14263 
  14264 ‘:exclude’
  14265      Regular expression to match file names that should not be
  14266      published, even though they have been selected on the basis of
  14267      their extension.
  14268 
  14269 ‘:include’
  14270      List of files to be included regardless of ‘:base-extension’ and
  14271      ‘:exclude’.
  14272 
  14273 ‘:recursive’
  14274      Non-‘nil’ means, check base-directory recursively for files to
  14275      publish.
  14276 
  14277 
  14278 File: org.info,  Node: Publishing action,  Next: Publishing options,  Prev: Selecting files,  Up: Configuration
  14279 
  14280 14.1.4 Publishing action
  14281 ------------------------
  14282 
  14283 Publishing means that a file is copied to the destination directory and
  14284 possibly transformed in the process.  The default transformation is to
  14285 export Org files as HTML files, and this is done by the function
  14286 ‘org-html-publish-to-html’ which calls the HTML exporter (see *note HTML
  14287 Export::).  But you can also publish your content as PDF files using
  14288 ‘org-latex-publish-to-pdf’, or as ASCII, Texinfo, etc., using the
  14289 corresponding functions.
  14290 
  14291    If you want to publish the Org file as an ‘.org’ file but with
  14292 _archived_, _commented_, and _tag-excluded_ trees removed, use
  14293 ‘org-org-publish-to-org’.  This produces ‘file.org’ and puts it in the
  14294 publishing directory.  If you want a htmlized version of this file, set
  14295 the parameter ‘:htmlized-source’ to ‘t’.  It produces ‘file.org.html’ in
  14296 the publishing directory(1).
  14297 
  14298    Other files like images only need to be copied to the publishing
  14299 destination; for this you can use ‘org-publish-attachment’.  For non-Org
  14300 files, you always need to specify the publishing function:
  14301 
  14302 ‘:publishing-function’
  14303      Function executing the publication of a file.  This may also be a
  14304      list of functions, which are all called in turn.
  14305 
  14306 ‘:htmlized-source’
  14307      Non-‘nil’ means, publish htmlized source.
  14308 
  14309    The function must accept three arguments: a property list containing
  14310 at least a ‘:publishing-directory’ property, the name of the file to be
  14311 published, and the path to the publishing directory of the output file.
  14312 It should take the specified file, make the necessary transformation, if
  14313 any, and place the result into the destination folder.
  14314 
  14315    ---------- Footnotes ----------
  14316 
  14317    (1) If the publishing directory is the same as the source directory,
  14318 ‘file.org’ is exported as ‘file.org.org’, so you probably do not want to
  14319 do this.
  14320 
  14321 
  14322 File: org.info,  Node: Publishing options,  Next: Publishing links,  Prev: Publishing action,  Up: Configuration
  14323 
  14324 14.1.5 Options for the exporters
  14325 --------------------------------
  14326 
  14327 The property list can be used to set many export options for the HTML
  14328 and LaTeX exporters.  In most cases, these properties correspond to user
  14329 variables in Org.  The table below lists these properties along with the
  14330 variable they belong to.  See the documentation string for the
  14331 respective variable for details.
  14332 
  14333    When a property is given a value in ‘org-publish-project-alist’, its
  14334 setting overrides the value of the corresponding user variable, if any,
  14335 during publishing.  Options set within a file (see *note Export
  14336 Settings::), however, override everything.
  14337 
  14338 Generic properties
  14339 ..................
  14340 
  14341 ‘:archived-trees’         ‘org-export-with-archived-trees’
  14342 ‘:exclude-tags’           ‘org-export-exclude-tags’
  14343 ‘:headline-levels’        ‘org-export-headline-levels’
  14344 ‘:language’               ‘org-export-default-language’
  14345 ‘:preserve-breaks’        ‘org-export-preserve-breaks’
  14346 ‘:section-numbers’        ‘org-export-with-section-numbers’
  14347 ‘:select-tags’            ‘org-export-select-tags’
  14348 ‘:with-author’            ‘org-export-with-author’
  14349 ‘:with-broken-links’      ‘org-export-with-broken-links’
  14350 ‘:with-clocks’            ‘org-export-with-clocks’
  14351 ‘:with-creator’           ‘org-export-with-creator’
  14352 ‘:with-date’              ‘org-export-with-date’
  14353 ‘:with-drawers’           ‘org-export-with-drawers’
  14354 ‘:with-email’             ‘org-export-with-email’
  14355 ‘:with-emphasize’         ‘org-export-with-emphasize’
  14356 ‘:with-fixed-width’       ‘org-export-with-fixed-width’
  14357 ‘:with-footnotes’         ‘org-export-with-footnotes’
  14358 ‘:with-latex’             ‘org-export-with-latex’
  14359 ‘:with-planning’          ‘org-export-with-planning’
  14360 ‘:with-priority’          ‘org-export-with-priority’
  14361 ‘:with-properties’        ‘org-export-with-properties’
  14362 ‘:with-special-strings’   ‘org-export-with-special-strings’
  14363 ‘:with-sub-superscript’   ‘org-export-with-sub-superscripts’
  14364 ‘:with-tables’            ‘org-export-with-tables’
  14365 ‘:with-tags’              ‘org-export-with-tags’
  14366 ‘:with-tasks’             ‘org-export-with-tasks’
  14367 ‘:with-timestamps’        ‘org-export-with-timestamps’
  14368 ‘:with-title’             ‘org-export-with-title’
  14369 ‘:with-toc’               ‘org-export-with-toc’
  14370 ‘:with-todo-keywords’     ‘org-export-with-todo-keywords’
  14371 
  14372 ASCII specific properties
  14373 .........................
  14374 
  14375 ‘:ascii-bullets’                         ‘org-ascii-bullets’
  14376 ‘:ascii-caption-above’                   ‘org-ascii-caption-above’
  14377 ‘:ascii-charset’                         ‘org-ascii-charset’
  14378 ‘:ascii-global-margin’                   ‘org-ascii-global-margin’
  14379 ‘:ascii-format-drawer-function’          ‘org-ascii-format-drawer-function’
  14380 ‘:ascii-format-inlinetask-function’      ‘org-ascii-format-inlinetask-function’
  14381 ‘:ascii-headline-spacing’                ‘org-ascii-headline-spacing’
  14382 ‘:ascii-indented-line-width’             ‘org-ascii-indented-line-width’
  14383 ‘:ascii-inlinetask-width’                ‘org-ascii-inlinetask-width’
  14384 ‘:ascii-inner-margin’                    ‘org-ascii-inner-margin’
  14385 ‘:ascii-links-to-notes’                  ‘org-ascii-links-to-notes’
  14386 ‘:ascii-list-margin’                     ‘org-ascii-list-margin’
  14387 ‘:ascii-paragraph-spacing’               ‘org-ascii-paragraph-spacing’
  14388 ‘:ascii-quote-margin’                    ‘org-ascii-quote-margin’
  14389 ‘:ascii-table-keep-all-vertical-lines’   ‘org-ascii-table-keep-all-vertical-lines’
  14390 ‘:ascii-table-use-ascii-art’             ‘org-ascii-table-use-ascii-art’
  14391 ‘:ascii-table-widen-columns’             ‘org-ascii-table-widen-columns’
  14392 ‘:ascii-text-width’                      ‘org-ascii-text-width’
  14393 ‘:ascii-underline’                       ‘org-ascii-underline’
  14394 ‘:ascii-verbatim-format’                 ‘org-ascii-verbatim-format’
  14395 
  14396 Beamer specific properties
  14397 ..........................
  14398 
  14399 ‘:beamer-theme’                   ‘org-beamer-theme’
  14400 ‘:beamer-column-view-format’      ‘org-beamer-column-view-format’
  14401 ‘:beamer-environments-extra’      ‘org-beamer-environments-extra’
  14402 ‘:beamer-frame-default-options’   ‘org-beamer-frame-default-options’
  14403 ‘:beamer-outline-frame-options’   ‘org-beamer-outline-frame-options’
  14404 ‘:beamer-outline-frame-title’     ‘org-beamer-outline-frame-title’
  14405 ‘:beamer-subtitle-format’         ‘org-beamer-subtitle-format’
  14406 
  14407 HTML specific properties
  14408 ........................
  14409 
  14410 ‘:html-allow-name-attribute-in-anchors’          ‘org-html-allow-name-attribute-in-anchors’
  14411 ‘:html-checkbox-type’                            ‘org-html-checkbox-type’
  14412 ‘:html-container’                                ‘org-html-container-element’
  14413 ‘:html-divs’                                     ‘org-html-divs’
  14414 ‘:html-doctype’                                  ‘org-html-doctype’
  14415 ‘:html-extension’                                ‘org-html-extension’
  14416 ‘:html-footnote-format’                          ‘org-html-footnote-format’
  14417 ‘:html-footnote-separator’                       ‘org-html-footnote-separator’
  14418 ‘:html-footnotes-section’                        ‘org-html-footnotes-section’
  14419 ‘:html-format-drawer-function’                   ‘org-html-format-drawer-function’
  14420 ‘:html-format-headline-function’                 ‘org-html-format-headline-function’
  14421 ‘:html-format-inlinetask-function’               ‘org-html-format-inlinetask-function’
  14422 ‘:html-head-extra’                               ‘org-html-head-extra’
  14423 ‘:html-head-include-default-style’               ‘org-html-head-include-default-style’
  14424 ‘:html-head-include-scripts’                     ‘org-html-head-include-scripts’
  14425 ‘:html-head’                                     ‘org-html-head’
  14426 ‘:html-home/up-format’                           ‘org-html-home/up-format’
  14427 ‘:html-html5-fancy’                              ‘org-html-html5-fancy’
  14428 ‘:html-indent’                                   ‘org-html-indent’
  14429 ‘:html-infojs-options’                           ‘org-html-infojs-options’
  14430 ‘:html-infojs-template’                          ‘org-html-infojs-template’
  14431 ‘:html-inline-image-rules’                       ‘org-html-inline-image-rules’
  14432 ‘:html-inline-images’                            ‘org-html-inline-images’
  14433 ‘:html-link-home’                                ‘org-html-link-home’
  14434 ‘:html-link-org-files-as-html’                   ‘org-html-link-org-files-as-html’
  14435 ‘:html-link-up’                                  ‘org-html-link-up’
  14436 ‘:html-link-use-abs-url’                         ‘org-html-link-use-abs-url’
  14437 ‘:html-mathjax-options’                          ‘org-html-mathjax-options’
  14438 ‘:html-mathjax-template’                         ‘org-html-mathjax-template’
  14439 ‘:html-equation-reference-format’                ‘org-html-equation-reference-format’
  14440 ‘:html-metadata-timestamp-format’                ‘org-html-metadata-timestamp-format’
  14441 ‘:html-postamble-format’                         ‘org-html-postamble-format’
  14442 ‘:html-postamble’                                ‘org-html-postamble’
  14443 ‘:html-preamble-format’                          ‘org-html-preamble-format’
  14444 ‘:html-preamble’                                 ‘org-html-preamble’
  14445 ‘:html-self-link-headlines’                      ‘org-html-self-link-headlines’
  14446 ‘:html-table-align-individual-field’             ‘org-html-table-align-individual-fields’
  14447 ‘:html-table-attributes’                         ‘org-html-table-default-attributes’
  14448 ‘:html-table-caption-above’                      ‘org-html-table-caption-above’
  14449 ‘:html-table-data-tags’                          ‘org-html-table-data-tags’
  14450 ‘:html-table-header-tags’                        ‘org-html-table-header-tags’
  14451 ‘:html-table-row-tags’                           ‘org-html-table-row-tags’
  14452 ‘:html-table-use-header-tags-for-first-column’   ‘org-html-table-use-header-tags-for-first-column’
  14453 ‘:html-tag-class-prefix’                         ‘org-html-tag-class-prefix’
  14454 ‘:html-text-markup-alist’                        ‘org-html-text-markup-alist’
  14455 ‘:html-todo-kwd-class-prefix’                    ‘org-html-todo-kwd-class-prefix’
  14456 ‘:html-toplevel-hlevel’                          ‘org-html-toplevel-hlevel’
  14457 ‘:html-use-infojs’                               ‘org-html-use-infojs’
  14458 ‘:html-validation-link’                          ‘org-html-validation-link’
  14459 ‘:html-viewport’                                 ‘org-html-viewport’
  14460 ‘:html-wrap-src-lines’                           ‘org-html-wrap-src-lines’
  14461 ‘:html-xml-declaration’                          ‘org-html-xml-declaration’
  14462 
  14463 LaTeX specific properties
  14464 .........................
  14465 
  14466 ‘:latex-active-timestamp-format’         ‘org-latex-active-timestamp-format’
  14467 ‘:latex-caption-above’                   ‘org-latex-caption-above’
  14468 ‘:latex-classes’                         ‘org-latex-classes’
  14469 ‘:latex-class’                           ‘org-latex-default-class’
  14470 ‘:latex-compiler’                        ‘org-latex-compiler’
  14471 ‘:latex-default-figure-position’         ‘org-latex-default-figure-position’
  14472 ‘:latex-default-table-environment’       ‘org-latex-default-table-environment’
  14473 ‘:latex-default-table-mode’              ‘org-latex-default-table-mode’
  14474 ‘:latex-diary-timestamp-format’          ‘org-latex-diary-timestamp-format’
  14475 ‘:latex-engraved-options’                ‘org-latex-engraved-options’
  14476 ‘:latex-engraved-preamble’               ‘org-latex-engraved-preamble’
  14477 ‘:latex-engraved-theme’                  ‘org-latex-engraved-theme’
  14478 ‘:latex-footnote-defined-format’         ‘org-latex-footnote-defined-format’
  14479 ‘:latex-footnote-separator’              ‘org-latex-footnote-separator’
  14480 ‘:latex-format-drawer-function’          ‘org-latex-format-drawer-function’
  14481 ‘:latex-format-headline-function’        ‘org-latex-format-headline-function’
  14482 ‘:latex-format-inlinetask-function’      ‘org-latex-format-inlinetask-function’
  14483 ‘:latex-hyperref-template’               ‘org-latex-hyperref-template’
  14484 ‘:latex-image-default-height’            ‘org-latex-image-default-height’
  14485 ‘:latex-image-default-option’            ‘org-latex-image-default-option’
  14486 ‘:latex-image-default-width’             ‘org-latex-image-default-width’
  14487 ‘:latex-images-centered’                 ‘org-latex-images-centered’
  14488 ‘:latex-inactive-timestamp-format’       ‘org-latex-inactive-timestamp-format’
  14489 ‘:latex-inline-image-rules’              ‘org-latex-inline-image-rules’
  14490 ‘:latex-link-with-unknown-path-format’   ‘org-latex-link-with-unknown-path-format’
  14491 ‘:latex-listings-langs’                  ‘org-latex-listings-langs’
  14492 ‘:latex-listings-options’                ‘org-latex-listings-options’
  14493 ‘:latex-minted-langs’                    ‘org-latex-minted-langs’
  14494 ‘:latex-minted-options’                  ‘org-latex-minted-options’
  14495 ‘:latex-prefer-user-labels’              ‘org-latex-prefer-user-labels’
  14496 ‘:latex-subtitle-format’                 ‘org-latex-subtitle-format’
  14497 ‘:latex-subtitle-separate’               ‘org-latex-subtitle-separate’
  14498 ‘:latex-src-block-backend’               ‘org-latex-src-block-backend’
  14499 ‘:latex-table-scientific-notation’       ‘org-latex-table-scientific-notation’
  14500 ‘:latex-tables-booktabs’                 ‘org-latex-tables-booktabs’
  14501 ‘:latex-tables-centered’                 ‘org-latex-tables-centered’
  14502 ‘:latex-text-markup-alist’               ‘org-latex-text-markup-alist’
  14503 ‘:latex-title-command’                   ‘org-latex-title-command’
  14504 ‘:latex-toc-command’                     ‘org-latex-toc-command’
  14505 
  14506 Markdown specific properties
  14507 ............................
  14508 
  14509 ‘:md-footnote-format’     ‘org-md-footnote-format’
  14510 ‘:md-footnotes-section’   ‘org-md-footnotes-section’
  14511 ‘:md-headline-style’      ‘org-md-headline-style’
  14512 ‘:md-toplevel-hlevel’     ‘org-md-toplevel-hlevel’
  14513 
  14514 ODT specific properties
  14515 .......................
  14516 
  14517 ‘:odt-content-template-file’        ‘org-odt-content-template-file’
  14518 ‘:odt-display-outline-level’        ‘org-odt-display-outline-level’
  14519 ‘:odt-fontify-srcblocks’            ‘org-odt-fontify-srcblocks’
  14520 ‘:odt-format-drawer-function’       ‘org-odt-format-drawer-function’
  14521 ‘:odt-format-headline-function’     ‘org-odt-format-headline-function’
  14522 ‘:odt-format-inlinetask-function’   ‘org-odt-format-inlinetask-function’
  14523 ‘:odt-inline-formula-rules’         ‘org-odt-inline-formula-rules’
  14524 ‘:odt-inline-image-rules’           ‘org-odt-inline-image-rules’
  14525 ‘:odt-pixels-per-inch’              ‘org-odt-pixels-per-inch’
  14526 ‘:odt-styles-file’                  ‘org-odt-styles-file’
  14527 ‘:odt-table-styles’                 ‘org-odt-table-styles’
  14528 ‘:odt-use-date-fields’              ‘org-odt-use-date-fields’
  14529 
  14530 Texinfo specific properties
  14531 ...........................
  14532 
  14533 ‘:texinfo-active-timestamp-format’         ‘org-texinfo-active-timestamp-format’
  14534 ‘:texinfo-classes’                         ‘org-texinfo-classes’
  14535 ‘:texinfo-class’                           ‘org-texinfo-default-class’
  14536 ~:texinfo-compact-itemx                    ‘org-texinfo-compact-itemx’
  14537 ‘:texinfo-table-default-markup’            ‘org-texinfo-table-default-markup’
  14538 ‘:texinfo-diary-timestamp-format’          ‘org-texinfo-diary-timestamp-format’
  14539 ‘:texinfo-filename’                        ‘org-texinfo-filename’
  14540 ‘:texinfo-format-drawer-function’          ‘org-texinfo-format-drawer-function’
  14541 ‘:texinfo-format-headline-function’        ‘org-texinfo-format-headline-function’
  14542 ‘:texinfo-format-inlinetask-function’      ‘org-texinfo-format-inlinetask-function’
  14543 ‘:texinfo-inactive-timestamp-format’       ‘org-texinfo-inactive-timestamp-format’
  14544 ‘:texinfo-link-with-unknown-path-format’   ‘org-texinfo-link-with-unknown-path-format’
  14545 ‘:texinfo-node-description-column’         ‘org-texinfo-node-description-column’
  14546 ‘:texinfo-table-scientific-notation’       ‘org-texinfo-table-scientific-notation’
  14547 ‘:texinfo-tables-verbatim’                 ‘org-texinfo-tables-verbatim’
  14548 ‘:texinfo-text-markup-alist’               ‘org-texinfo-text-markup-alist’
  14549 
  14550 
  14551 File: org.info,  Node: Publishing links,  Next: Site map,  Prev: Publishing options,  Up: Configuration
  14552 
  14553 14.1.6 Publishing links
  14554 -----------------------
  14555 
  14556 To create a link from one Org file to another, you would use something
  14557 like ‘[[file:foo.org][The foo]]’ or simply ‘[[file:foo.org]]’ (see *note
  14558 External Links::).  When published, this link becomes a link to
  14559 ‘foo.html’.  You can thus interlink the pages of your “Org web” project
  14560 and the links will work as expected when you publish them to HTML.  If
  14561 you also publish the Org source file and want to link to it, use an
  14562 ‘http’ link instead of a ‘file:’ link, because ‘file’ links are
  14563 converted to link to the corresponding ‘.html’ file.
  14564 
  14565    Links to encrypted Org files, like ‘[[file:foo.org.gpg]]’ are also
  14566 supported.
  14567 
  14568    You may also link to related files, such as images.  Provided you are
  14569 careful with relative file names, and provided you have also configured
  14570 Org to upload the related files, these links will work too.  See *note
  14571 Complex example::, for an example of this usage.
  14572 
  14573    Links between published documents can contain some search options
  14574 (see *note Search Options::), which will be resolved to the appropriate
  14575 location in the linked file.  For example, once published to HTML, the
  14576 following links all point to a dedicated anchor in ‘foo.html’.
  14577 
  14578      [[file:foo.org::*heading]]
  14579      [[file:foo.org::#custom-id]]
  14580      [[file:foo.org::target]]
  14581 
  14582 
  14583 File: org.info,  Node: Site map,  Next: Generating an index,  Prev: Publishing links,  Up: Configuration
  14584 
  14585 14.1.7 Generating a sitemap
  14586 ---------------------------
  14587 
  14588 The following properties may be used to control publishing of a map of
  14589 files for a given project.
  14590 
  14591 ‘:auto-sitemap’
  14592      When non-‘nil’, publish a sitemap during
  14593      ‘org-publish-current-project’ or ‘org-publish-all’.
  14594 
  14595 ‘:sitemap-filename’
  14596      Filename for output of sitemap.  Defaults to ‘sitemap.org’, which
  14597      becomes ‘sitemap.html’.
  14598 
  14599 ‘:sitemap-title’
  14600      Title of sitemap page.  Defaults to name of file.
  14601 
  14602 ‘:sitemap-format-entry’
  14603      With this option one can tell how a site-map entry is formatted in
  14604      the site-map.  It is a function called with three arguments: the
  14605      file or directory name relative to base directory of the project,
  14606      the site-map style and the current project.  It is expected to
  14607      return a string.  Default value turns file names into links and use
  14608      document titles as descriptions.  For specific formatting needs,
  14609      one can use ‘org-publish-find-date’, ‘org-publish-find-title’ and
  14610      ‘org-publish-find-property’, to retrieve additional information
  14611      about published documents.
  14612 
  14613 ‘:sitemap-function’
  14614      Plug-in function to use for generation of the sitemap.  It is
  14615      called with two arguments: the title of the site-map and a
  14616      representation of the files and directories involved in the project
  14617      as a nested list, which can further be transformed using
  14618      ‘org-list-to-generic’, ‘org-list-to-subtree’ and alike.  Default
  14619      value generates a plain list of links to all files in the project.
  14620 
  14621 ‘:sitemap-sort-folders’
  14622      Where folders should appear in the sitemap.  Set this to ‘first’
  14623      (default) or ‘last’ to display folders first or last, respectively.
  14624      When set to ‘ignore’, folders are ignored altogether.  Any other
  14625      value mixes files and folders.  This variable has no effect when
  14626      site-map style is ‘tree’.
  14627 
  14628 ‘:sitemap-sort-files’
  14629      How the files are sorted in the site map.  Set this to
  14630      ‘alphabetically’ (default), ‘chronologically’ or
  14631      ‘anti-chronologically’.  ‘chronologically’ sorts the files with
  14632      older date first while ‘anti-chronologically’ sorts the files with
  14633      newer date first.  ‘alphabetically’ sorts the files alphabetically.
  14634      The date of a file is retrieved with ‘org-publish-find-date’.
  14635 
  14636 ‘:sitemap-ignore-case’
  14637      Should sorting be case-sensitive?  Default ‘nil’.
  14638 
  14639 ‘:sitemap-file-entry-format’
  14640      With this option one can tell how a sitemap’s entry is formatted in
  14641      the sitemap.  This is a format string with some escape sequences:
  14642      ‘%t’ stands for the title of the file, ‘%a’ stands for the author
  14643      of the file and ‘%d’ stands for the date of the file.  The date is
  14644      retrieved with the ‘org-publish-find-date’ function and formatted
  14645      with ‘org-publish-sitemap-date-format’.  Default ‘%t’.
  14646 
  14647 ‘:sitemap-date-format’
  14648      Format string for the ‘format-time-string’ function that tells how
  14649      a sitemap entry’s date is to be formatted.  This property bypasses
  14650      ‘org-publish-sitemap-date-format’ which defaults to ‘%Y-%m-%d’.
  14651 
  14652 
  14653 File: org.info,  Node: Generating an index,  Prev: Site map,  Up: Configuration
  14654 
  14655 14.1.8 Generating an index
  14656 --------------------------
  14657 
  14658 Org mode can generate an index across the files of a publishing project.
  14659 
  14660 ‘:makeindex’
  14661      When non-‘nil’, generate in index in the file ‘theindex.org’ and
  14662      publish it as ‘theindex.html’.
  14663 
  14664    The file is created when first publishing a project with the
  14665 ‘:makeindex’ set.  The file only contains a statement ‘#+INCLUDE:
  14666 "theindex.inc"’.  You can then build around this include statement by
  14667 adding a title, style information, etc.
  14668 
  14669    Index entries are specified with ‘INDEX’ keyword.  An entry that
  14670 contains an exclamation mark creates a sub item.
  14671 
  14672      *** Curriculum Vitae
  14673      #+INDEX: CV
  14674      #+INDEX: Application!CV
  14675 
  14676 
  14677 File: org.info,  Node: Uploading Files,  Next: Sample Configuration,  Prev: Configuration,  Up: Publishing
  14678 
  14679 14.2 Uploading Files
  14680 ====================
  14681 
  14682 For those people already utilizing third party sync tools such as Rsync
  14683 or Unison, it might be preferable not to use the built-in remote
  14684 publishing facilities of Org mode which rely heavily on Tramp.  Tramp,
  14685 while very useful and powerful, tends not to be so efficient for
  14686 multiple file transfer and has been known to cause problems under heavy
  14687 usage.
  14688 
  14689    Specialized synchronization utilities offer several advantages.  In
  14690 addition to timestamp comparison, they also do content and
  14691 permissions/attribute checks.  For this reason you might prefer to
  14692 publish your web to a local directory—possibly even _in place_ with your
  14693 Org files—and then use Unison or Rsync to do the synchronization with
  14694 the remote host.
  14695 
  14696    Since Unison, for example, can be configured as to which files to
  14697 transfer to a certain remote destination, it can greatly simplify the
  14698 project publishing definition.  Simply keep all files in the correct
  14699 location, process your Org files with ‘org-publish’ and let the
  14700 synchronization tool do the rest.  You do not need, in this scenario, to
  14701 include attachments such as JPG, CSS or PNG files in the project
  14702 definition since the third-party tool syncs them.
  14703 
  14704    Publishing to a local directory is also much faster than to a remote
  14705 one, so that you can afford more easily to republish entire projects.
  14706 If you set ‘org-publish-use-timestamps-flag’ to ‘nil’, you gain the main
  14707 benefit of re-including any changed external files such as source
  14708 example files you might include with ‘INCLUDE’ keyword.  The timestamp
  14709 mechanism in Org is not smart enough to detect if included files have
  14710 been modified.
  14711 
  14712 
  14713 File: org.info,  Node: Sample Configuration,  Next: Triggering Publication,  Prev: Uploading Files,  Up: Publishing
  14714 
  14715 14.3 Sample Configuration
  14716 =========================
  14717 
  14718 Below we provide two example configurations.  The first one is a simple
  14719 project publishing only a set of Org files.  The second example is more
  14720 complex, with a multi-component project.
  14721 
  14722 * Menu:
  14723 
  14724 * Simple example::               One-component publishing.
  14725 * Complex example::              A multi-component publishing example.
  14726 
  14727 
  14728 File: org.info,  Node: Simple example,  Next: Complex example,  Up: Sample Configuration
  14729 
  14730 14.3.1 Example: simple publishing configuration
  14731 -----------------------------------------------
  14732 
  14733 This example publishes a set of Org files to the ‘public_html’ directory
  14734 on the local machine.
  14735 
  14736      (setq org-publish-project-alist
  14737            '(("org"
  14738               :base-directory "~/org/"
  14739               :publishing-function org-html-publish-to-html
  14740               :publishing-directory "~/public_html"
  14741               :section-numbers nil
  14742               :with-toc nil
  14743               :html-head "<link rel=\"stylesheet\"
  14744                          href=\"../other/mystyle.css\"
  14745                          type=\"text/css\"/>")))
  14746 
  14747 
  14748 File: org.info,  Node: Complex example,  Prev: Simple example,  Up: Sample Configuration
  14749 
  14750 14.3.2 Example: complex publishing configuration
  14751 ------------------------------------------------
  14752 
  14753 This more complicated example publishes an entire website, including Org
  14754 files converted to HTML, image files, Emacs Lisp source code, and style
  14755 sheets.  The publishing directory is remote and private files are
  14756 excluded.
  14757 
  14758    To ensure that links are preserved, care should be taken to replicate
  14759 your directory structure on the web server, and to use relative file
  14760 paths.  For example, if your Org files are kept in ‘~/org/’ and your
  14761 publishable images in ‘~/images/’, you would link to an image with
  14762 
  14763      file:../images/myimage.png
  14764 
  14765    On the web server, the relative path to the image should be the same.
  14766 You can accomplish this by setting up an ‘images/’ folder in the right
  14767 place on the web server, and publishing images to it.
  14768 
  14769      (setq org-publish-project-alist
  14770            '(("orgfiles"
  14771               :base-directory "~/org/"
  14772               :base-extension "org"
  14773               :publishing-directory "/ssh:user@host:~/html/notebook/"
  14774               :publishing-function org-html-publish-to-html
  14775               :exclude "PrivatePage.org" ;; regexp
  14776               :headline-levels 3
  14777               :section-numbers nil
  14778               :with-toc nil
  14779               :html-head "<link rel=\"stylesheet\"
  14780                        href=\"../other/mystyle.css\" type=\"text/css\"/>"
  14781               :html-preamble t)
  14782 
  14783              ("images"
  14784               :base-directory "~/images/"
  14785               :base-extension "jpg\\|gif\\|png"
  14786               :publishing-directory "/ssh:user@host:~/html/images/"
  14787               :publishing-function org-publish-attachment)
  14788 
  14789              ("other"
  14790               :base-directory "~/other/"
  14791               :base-extension "css\\|el"
  14792               :publishing-directory "/ssh:user@host:~/html/other/"
  14793               :publishing-function org-publish-attachment)
  14794              ("website" :components ("orgfiles" "images" "other"))))
  14795 
  14796 
  14797 File: org.info,  Node: Triggering Publication,  Prev: Sample Configuration,  Up: Publishing
  14798 
  14799 14.4 Triggering Publication
  14800 ===========================
  14801 
  14802 Once properly configured, Org can publish with the following commands:
  14803 
  14804 ‘C-c C-e P x’ (‘org-publish’)
  14805      Prompt for a specific project and publish all files that belong to
  14806      it.
  14807 
  14808 ‘C-c C-e P p’ (‘org-publish-current-project’)
  14809      Publish the project containing the current file.
  14810 
  14811 ‘C-c C-e P f’ (‘org-publish-current-file’)
  14812      Publish only the current file.
  14813 
  14814 ‘C-c C-e P a’ (‘org-publish-all’)
  14815      Publish every project.
  14816 
  14817    Org uses timestamps to track when a file has changed.  The above
  14818 functions normally only publish changed files.  You can override this
  14819 and force publishing of all files by giving a prefix argument to any of
  14820 the commands above, or by customizing the variable
  14821 ‘org-publish-use-timestamps-flag’.  This may be necessary in particular
  14822 if files include other files via ‘SETUPFILE’ or ‘INCLUDE’ keywords.
  14823 
  14824 
  14825 File: org.info,  Node: Citation handling,  Next: Working with Source Code,  Prev: Publishing,  Up: Top
  14826 
  14827 15 Citation handling
  14828 ********************
  14829 
  14830 The ‘oc.el’ library provides tooling to handle citations in Org via
  14831 “citation processors” that offer some or all of the following
  14832 capabilities:
  14833 
  14834 activate
  14835      Fontification, tooltip preview, etc.
  14836 follow
  14837      At-point actions on citations via ‘org-open-at-point’.
  14838 insert
  14839      Add and edit citations via ‘org-cite-insert’.
  14840 export
  14841      Via different libraries for different target formats.
  14842 
  14843    To use a “citation processor”, the user must load them; for example;
  14844 
  14845      (require 'oc-bibtex)
  14846 
  14847    They can then configure them with ‘org-cite-activate-processor’,
  14848 ‘org-cite-follow-processor’, ‘org-cite-insert-processor’, and
  14849 ‘org-cite-export-processors’ respectively.
  14850 
  14851    The included “basic” processor provides all four capabilities.
  14852 
  14853 * Menu:
  14854 
  14855 * Citations::
  14856 * Citation export processors::
  14857 * Bibliography printing::
  14858 
  14859 
  14860 File: org.info,  Node: Citations,  Next: Citation export processors,  Up: Citation handling
  14861 
  14862 15.1 Citations
  14863 ==============
  14864 
  14865 Before adding citations, first set one-or-more bibliographies, either
  14866 globally with ‘org-cite-global-bibliography’, or locally using one or
  14867 more “bibliography” keywords.
  14868 
  14869      #+bibliography: SomeFile.bib
  14870      #+bibliography: /some/other/file.json
  14871      #+bibliography: "/some/file/with spaces/in its name.bib"
  14872 
  14873    One can then insert and edit citations using ‘org-cite-insert’,
  14874 called with ‘C-c C-x @’.
  14875 
  14876    A _citation_ requires one or more citation _key(s)_, elements
  14877 identifying a reference in the bibliography.
  14878 
  14879    • Each citation is surrounded by brackets and uses the ‘cite’ type.
  14880 
  14881    • Each key starts with the character ‘@’.
  14882 
  14883    • Each key can be qualified by a _prefix_ (e.g. “see ”) and/or a
  14884      _suffix_ (e.g. “p. 123”), giving information useful or necessary
  14885      for the comprehension of the citation but not included in the
  14886      reference.
  14887 
  14888    • A single citation can cite more than one reference ; the keys are
  14889      separated by semicolons ; the formatting of such citation groups is
  14890      specified by the style.
  14891 
  14892    • One can also specify a stylistic variation for the citations by
  14893      inserting a ‘/’ and a style name between the ‘cite’ keyword and the
  14894      colon; this usually makes sense only for the author-year styles.
  14895 
  14896      [cite/style:common prefix ;prefix @key suffix; ... ; common suffix]
  14897 
  14898    The only mandatory elements are:
  14899 
  14900    • The ‘cite’ keyword and the colon.
  14901    • The ‘@’ character immediately preceding each key.
  14902    • The brackets surrounding the citation(s) (group).
  14903 
  14904 
  14905 File: org.info,  Node: Citation export processors,  Next: Bibliography printing,  Prev: Citations,  Up: Citation handling
  14906 
  14907 15.2 Citation export processors
  14908 ===============================
  14909 
  14910 Org currently includes the following export processors:
  14911 
  14912    • Two processors can export to a variety of formats, including
  14913      ‘latex’ (and therefore ‘pdf’), ‘html’, ‘odt’ and plain (UTF8) text:
  14914 
  14915      basic
  14916           a basic export processor, well adapted to situations where
  14917           backward compatibility is not a requirement and formatting
  14918           needs are minimal;
  14919 
  14920      csl
  14921           this export processor uses format files written in Citation
  14922           Style Language
  14923           (https://en.wikipedia.org/wiki/Citation_Style_Language) via
  14924           citeproc-el (https://github.com/andras-simonyi/citeproc-el);
  14925 
  14926    • In contrast, three other processors target LaTeX and LaTeX-derived
  14927      formats exclusively:
  14928 
  14929      bibtex
  14930           this export processor uses BibTeX, the historical
  14931           bibliographic processor used with LaTeX, thus allowing the use
  14932           of data and style files compatible with this processor
  14933           (including a large number of publishers’ styles).  It only
  14934           supports LaTeX’s ‘\cite’ and ‘\nocite’ commands.
  14935 
  14936      natbib
  14937           as with the bibtex processor, but using the LaTeX package
  14938           ‘natbib’, allowing more stylistic variants that LaTeX’s
  14939           ‘\cite’ command.
  14940 
  14941      biblatex
  14942           this backend allows the use of data and formats prepared for
  14943           BibLaTeX, an alternate bibliographic processor used with
  14944           LaTeX, which overcomes some serious BibTeX limitations, but
  14945           has not (yet?) been widely adopted by publishers.
  14946 
  14947    The ‘CITE_EXPORT’ keyword specifies the export processor and the
  14948 citation (and possibly reference) style(s); for example (all arguments
  14949 are optional)
  14950 
  14951      #+cite_export: basic author author-year
  14952 
  14953 specifies the “basic” export processor with citations inserted as
  14954 author’s name and references indexed by author’s names and year;
  14955 
  14956      #+cite_export: csl /some/path/to/vancouver-brackets.csl
  14957 
  14958 specifies the “csl” processor and CSL style, which in this case defines
  14959 numeric citations and numeric references according to the ‘Vancouver’
  14960 specification (as style used in many medical journals), following a
  14961 typesetting variation putting citations between brackets;
  14962 
  14963      #+cite_export: natbib kluwer
  14964 
  14965 specifies the ‘natbib’ export processor with a label citation style
  14966 conformant to the Harvard style and the specification of the
  14967 Wolkers-Kluwer publisher; since it relies on the ‘bibtex’ processor of
  14968 your LaTeX installation, it won’t export to anything but PDF.
  14969 
  14970 
  14971 File: org.info,  Node: Bibliography printing,  Prev: Citation export processors,  Up: Citation handling
  14972 
  14973 15.3 Bibliography printing
  14974 ==========================
  14975 
  14976 The ‘PRINT_BIBLIOGRAPHY’ keyword specifies where the bibliography should
  14977 be printed (note the colon):
  14978 
  14979      #+print_bibliography:
  14980 
  14981    The bibliography printed by the LaTeX-based export processors
  14982 “bibtex”, “natbib” and “biblatex” has a chapter or section heading by
  14983 default, while the “basic” and “csl” processors print the list of
  14984 bibliography entries without a heading.
  14985 
  14986    A document may contain more than one ‘PRINT_BIBLIOGRAPHY’ keywords.
  14987 Each of the keywords will trigger printing the bibliography.
  14988 
  14989    The keywords can be used with or without additional options.  Options
  14990 can be used, for example, to print only entries that belong to a certain
  14991 category or to control formatting.  The set of supported
  14992 ‘PRINT_BIBLIOGRAPHY’ options and their interpretation varies between the
  14993 different citation export processors.  Some export processors do not
  14994 support passing options.
  14995 
  14996 * Menu:
  14997 
  14998 * Bibliography options in the ``biblatex'' and ``csl'' export processors::
  14999 
  15000 
  15001 File: org.info,  Node: Bibliography options in the ``biblatex'' and ``csl'' export processors,  Up: Bibliography printing
  15002 
  15003 15.3.1 Bibliography options in the “biblatex” and “csl” export processors
  15004 -------------------------------------------------------------------------
  15005 
  15006 The “biblatex” and “csl” export processors support bibliography options
  15007 through a property list attached to the ‘PRINT_BIBLIOGRAPHY’ keyword.
  15008 For example,
  15009 
  15010      #print_bibliography: :keyword algebra :type book
  15011 
  15012    Values including spaces must be surrounded with double quotes.  If
  15013 you need to use a key multiple times, you can separate its values with
  15014 commas, but without any space in-between:
  15015 
  15016      #print_bibliography: :keyword "algebraic logic" :nottype article,book
  15017 
  15018    The “biblatex” export processor accepts all options supported by
  15019 BibLaTeX’s ‘\printbibliography’ command, while the “csl” processor
  15020 accepts the following ones:
  15021 
  15022 ‘:keyword <keyword(,keyword2...)>’
  15023      Print only entries whose keyword field contains all given keywords.
  15024 
  15025 ‘:notkeyword <keyword(,keyword2...)>’
  15026      Print only entries whose keyword field does not contain any of the
  15027      given keywords.
  15028 
  15029 ‘:type <entrytype>’
  15030      Print only entries whose type is ‘<entrytype>’.  Entry type is the
  15031      BibTeX/BibLaTeX entry type if this information is available (the
  15032      entry was read from a BibTeX/BibLaTeX bibliography) and the CSL
  15033      entry type otherwise.
  15034 
  15035 ‘:nottype <entrytype(,entrytype2...)>’
  15036      Print only entries whose type is not among the given entry types.
  15037      Entry type is determined as in the case of ‘:type’.
  15038 
  15039 ‘:csltype <entrytype>’
  15040      Print only entries whose CSL entry type (possibly based on a
  15041      conversion from BibTeX/BibLaTeX to CSL) is ‘<entrytype>’.
  15042 
  15043 ‘:notcsltype <entrytype(,entrytype2...)>’
  15044      Print only entries whose CSL entry type (possibly based on a
  15045      conversion from BibTeX/BibLaTeX to CSL) is not among the listed
  15046      entry types.
  15047 
  15048 ‘:filter <predicate>’
  15049      Print only entries for which the given Emacs Lisp predicate returns
  15050      a non-‘nil’ value.
  15051 
  15052 
  15053 File: org.info,  Node: Working with Source Code,  Next: Miscellaneous,  Prev: Citation handling,  Up: Top
  15054 
  15055 16 Working with Source Code
  15056 ***************************
  15057 
  15058 Source code here refers to any plain text collection of computer
  15059 instructions, possibly with comments, written using a human-readable
  15060 programming language.  Org can manage source code in an Org document
  15061 when the source code is identified with begin and end markers.  Working
  15062 with source code begins with identifying source code blocks.  A source
  15063 code block can be placed almost anywhere in an Org document; it is not
  15064 restricted to the preamble or the end of the document.  However, Org
  15065 cannot manage a source code block if it is placed inside an Org comment
  15066 or within a fixed width section.
  15067 
  15068    Here is an example source code block in the Emacs Lisp language:
  15069 
  15070      #+BEGIN_SRC emacs-lisp
  15071        (defun org-xor (a b)
  15072           "Exclusive or."
  15073           (if a (not b) b))
  15074      #+END_SRC
  15075 
  15076    Source code blocks are one of many Org block types, which also
  15077 include “center”, “comment”, “dynamic”, “example”, “export”, “quote”,
  15078 “special”, and “verse”.  This section pertains to blocks between
  15079 ‘#+BEGIN_SRC’ and ‘#+END_SRC’.
  15080 
  15081    Details of Org’s facilities for working with source code are
  15082 described in the following sections.
  15083 
  15084 * Menu:
  15085 
  15086 * Features Overview::            Enjoy the versatility of source blocks.
  15087 * Structure of Code Blocks::     Code block syntax described.
  15088 * Using Header Arguments::       Different ways to set header arguments.
  15089 * Environment of a Code Block::  Arguments, sessions, working directory...
  15090 * Evaluating Code Blocks::       Place results of evaluation in the Org buffer.
  15091 * Results of Evaluation::        Choosing a results type, post-processing...
  15092 * Exporting Code Blocks::        Export contents and/or results.
  15093 * Extracting Source Code::       Create pure source code files.
  15094 * Languages::                    List of supported code block languages.
  15095 * Editing Source Code::          Language major-mode editing.
  15096 * Noweb Reference Syntax::       Literate programming in Org mode.
  15097 * Library of Babel::             Use and contribute to a library of useful code blocks.
  15098 * Key bindings and Useful Functions:: Work quickly with code blocks.
  15099 * Batch Execution::              Call functions from the command line.
  15100 
  15101 
  15102 File: org.info,  Node: Features Overview,  Next: Structure of Code Blocks,  Up: Working with Source Code
  15103 
  15104 16.1 Features Overview
  15105 ======================
  15106 
  15107 Org can manage the source code in the block delimited by ‘#+BEGIN_SRC’
  15108 ... ‘#+END_SRC’ in several ways that can simplify housekeeping tasks
  15109 essential to modern source code maintenance.  Org can edit, format,
  15110 extract, export, and publish source code blocks.  Org can also compile
  15111 and execute a source code block, then capture the results.  The Org mode
  15112 literature sometimes refers to source code blocks as _live code_ blocks
  15113 because they can alter the content of the Org document or the material
  15114 that it exports.  Users can control the “liveliness” of each source code
  15115 block by tweaking the header arguments (see *note Using Header
  15116 Arguments::) for compiling, execution, extraction, and exporting.
  15117 
  15118    For editing and formatting a source code block, Org uses an
  15119 appropriate Emacs major mode that includes features specifically
  15120 designed for source code in that language.
  15121 
  15122    Org can extract one or more source code blocks and write them to one
  15123 or more source files—a process known as _tangling_ in literate
  15124 programming terminology.
  15125 
  15126    For exporting and publishing, Org’s back-ends can format a source
  15127 code block appropriately, often with native syntax highlighting.
  15128 
  15129    For executing and compiling a source code block, the user can
  15130 configure Org to select the appropriate compiler.  Org provides
  15131 facilities to collect the result of the execution or compiler output,
  15132 insert it into the Org document, and/or export it.  In addition to text
  15133 results, Org can insert links to other data types, including audio,
  15134 video, and graphics.  Org can also link a compiler error message to the
  15135 appropriate line in the source code block.
  15136 
  15137    An important feature of Org’s management of source code blocks is the
  15138 ability to pass variables, functions, and results to one another using a
  15139 common syntax for source code blocks in any language.  Although most
  15140 literate programming facilities are restricted to one language or
  15141 another, Org’s language-agnostic approach lets the literate programmer
  15142 match each programming task with the appropriate computer language and
  15143 to mix them all together in a single Org document.  This
  15144 interoperability among languages explains why Org’s source code
  15145 management facility was named _Org Babel_ by its originators, Eric
  15146 Schulte and Dan Davison.
  15147 
  15148    Org mode fulfills the promise of easy verification and maintenance of
  15149 publishing reproducible research by keeping text, data, code,
  15150 configuration settings of the execution environment, the results of the
  15151 execution, and associated narratives, claims, references, and internal
  15152 and external links in a single Org document.
  15153 
  15154 
  15155 File: org.info,  Node: Structure of Code Blocks,  Next: Using Header Arguments,  Prev: Features Overview,  Up: Working with Source Code
  15156 
  15157 16.2 Structure of Code Blocks
  15158 =============================
  15159 
  15160 Org offers two ways to structure source code in Org documents: in a
  15161 source code block, and directly inline.  Both specifications are shown
  15162 below.
  15163 
  15164    A source code block conforms to this structure:
  15165 
  15166      #+NAME: <name>
  15167      #+BEGIN_SRC <language> <switches> <header arguments>
  15168        <body>
  15169      #+END_SRC
  15170 
  15171    Do not be put-off by having to remember the source block syntax.  Org
  15172 mode offers a command for wrapping existing text in a block (see *note
  15173 Structure Templates::).  Org also works with other completion systems in
  15174 Emacs, some of which predate Org and have custom domain-specific
  15175 languages for defining templates.  Regular use of templates reduces
  15176 errors, increases accuracy, and maintains consistency.
  15177 
  15178    An inline code block conforms to this structure:
  15179 
  15180      src_<language>{<body>}
  15181 
  15182 or
  15183 
  15184      src_<language>[<header arguments>]{<body>}
  15185 
  15186 ‘#+NAME: <name>’
  15187      Optional.  Names the source block so it can be called, like a
  15188      function, from other source blocks or inline code to evaluate or to
  15189      capture the results.  Code from other blocks, other files, and from
  15190      table formulas (see *note The Spreadsheet::) can use the name to
  15191      reference a source block.  This naming serves the same purpose as
  15192      naming Org tables.  Org mode requires unique names.  For duplicate
  15193      names, Org mode’s behavior is undefined.
  15194 
  15195 ‘#+BEGIN_SRC’ ... ‘#+END_SRC’
  15196      Mandatory.  They mark the start and end of a block that Org
  15197      requires.  The ‘#+BEGIN_SRC’ line takes additional arguments, as
  15198      described next.
  15199 
  15200 ‘<language>’
  15201      Mandatory.  It is the identifier of the source code language in the
  15202      block.  See *note Languages::, for identifiers of supported
  15203      languages.
  15204 
  15205 ‘<switches>’
  15206      Optional.  Switches provide finer control of the code execution,
  15207      export, and format (see the discussion of switches in *note Literal
  15208      Examples::).
  15209 
  15210 ‘<header arguments>’
  15211      Optional.  Heading arguments control many aspects of evaluation,
  15212      export and tangling of code blocks (see *note Using Header
  15213      Arguments::).  Using Org’s properties feature, header arguments can
  15214      be selectively applied to the entire buffer or specific subtrees of
  15215      the Org document.
  15216 
  15217 ‘<body>’
  15218      Source code in the dialect of the specified language identifier.
  15219 
  15220 
  15221 File: org.info,  Node: Using Header Arguments,  Next: Environment of a Code Block,  Prev: Structure of Code Blocks,  Up: Working with Source Code
  15222 
  15223 16.3 Using Header Arguments
  15224 ===========================
  15225 
  15226 Org comes with many header arguments common to all languages.  New
  15227 header arguments are added for specific languages as they become
  15228 available for use in source code blocks.  A header argument is specified
  15229 with an initial colon followed by the argument’s name in lowercase.
  15230 
  15231    Since header arguments can be set in several ways, Org prioritizes
  15232 them in case of overlaps or conflicts by giving local settings a higher
  15233 priority.  Header values in function calls, for example, override header
  15234 values from global defaults.
  15235 
  15236 System-wide header arguments
  15237 ----------------------------
  15238 
  15239 System-wide values of header arguments can be specified by customizing
  15240 the ‘org-babel-default-header-args’ variable, which defaults to the
  15241 following values:
  15242 
  15243      :session    => "none"
  15244      :results    => "replace"
  15245      :exports    => "code"
  15246      :cache      => "no"
  15247      :noweb      => "no"
  15248      :hlines     => "no"
  15249      :tangle     => "no"
  15250 
  15251    Inline source blocks (see *note Structure of Code Blocks::) use
  15252 slightly different default header arguments defined in
  15253 ‘org-babel-default-inline-header-args’:
  15254 
  15255      :session    => "none"
  15256      :results    => "replace"
  15257      :exports    => "results"
  15258      :hlines     => "yes"
  15259 
  15260    The most notable difference between default header arguments for
  15261 inline and normal source blocks is ‘:exports’ argument.  For inline
  15262 source blocks, results of evaluation are exported by default; not the
  15263 code.
  15264 
  15265    Unlike the default values, header arguments set using Org mode
  15266 properties (see *note Header arguments in Org mode properties::) do
  15267 apply to both the normal source blocks and inline source blocks.
  15268 
  15269    The example below sets ‘:noweb’ header arguments to ‘yes’, which
  15270 makes Org expand ‘:noweb’ references by default.
  15271 
  15272      (setq org-babel-default-header-args
  15273            (cons '(:noweb . "yes")
  15274                  (assq-delete-all :noweb org-babel-default-header-args)))
  15275 
  15276    Each language can have separate default header arguments by
  15277 customizing the variable ‘org-babel-default-header-args:<LANG>’, where
  15278 <LANG> is the name of the language.  For details, see the
  15279 language-specific online documentation at
  15280 <https://orgmode.org/worg/org-contrib/babel/>.
  15281 
  15282 Header arguments in Org mode properties
  15283 ---------------------------------------
  15284 
  15285 For header arguments applicable to the buffer, use ‘PROPERTY’ keyword
  15286 anywhere in the Org file (see *note Property Syntax::).
  15287 
  15288    The following example makes all the R code blocks execute in the same
  15289 session.  Setting ‘:results’ to ‘silent’ ignores the results of
  15290 executions for all blocks, not just R code blocks; no results inserted
  15291 for any block.
  15292 
  15293      #+PROPERTY: header-args:R  :session *R*
  15294      #+PROPERTY: header-args    :results silent
  15295 
  15296    Header arguments set through Org’s property drawers (see *note
  15297 Property Syntax::) apply at the subtree level on down.  Since these
  15298 property drawers can appear anywhere in the file hierarchy, Org uses
  15299 outermost call or source block to resolve the values.  Org ignores
  15300 ‘org-use-property-inheritance’ setting.
  15301 
  15302    In this example, ‘:cache’ defaults to ‘yes’ for all code blocks in
  15303 the subtree.
  15304 
  15305      * sample header
  15306        :PROPERTIES:
  15307        :header-args:    :cache yes
  15308        :END:
  15309 
  15310    Properties defined through ‘org-set-property’ function, bound to ‘C-c
  15311 C-x p’, apply to all active languages.  They override properties set in
  15312 ‘org-babel-default-header-args’.
  15313 
  15314    Language-specific header arguments are also read from properties
  15315 ‘header-args:<LANG>’ where <LANG> is the language identifier.  For
  15316 example,
  15317 
  15318      * Heading
  15319        :PROPERTIES:
  15320        :header-args:clojure:    :session *clojure-1*
  15321        :header-args:R:          :session *R*
  15322        :END:
  15323      ** Subheading
  15324        :PROPERTIES:
  15325        :header-args:clojure:    :session *clojure-2*
  15326        :END:
  15327 
  15328 would force separate sessions for Clojure blocks in ‘Heading’ and
  15329 ‘Subheading’, but use the same session for all R blocks.  Blocks in
  15330 ‘Subheading’ inherit settings from ‘Heading’.
  15331 
  15332 Code block specific header arguments
  15333 ------------------------------------
  15334 
  15335 Header arguments are most commonly set at the source code block level,
  15336 on the ‘#+BEGIN_SRC’ line.  Arguments set at this level take precedence
  15337 over those set in the ‘org-babel-default-header-args’ variable, and also
  15338 those set as header properties.
  15339 
  15340    In the following example, setting ‘:results’ to ‘silent’ makes it
  15341 ignore results of the code execution.  Setting ‘:exports’ to ‘code’
  15342 exports only the body of the code block to HTML or LaTeX.
  15343 
  15344      #+NAME: factorial
  15345      #+BEGIN_SRC haskell :results silent :exports code :var n=0
  15346        fac 0 = 1
  15347        fac n = n * fac (n-1)
  15348      #+END_SRC
  15349 
  15350    The same header arguments in an inline code block:
  15351 
  15352      src_haskell[:exports both]{fac 5}
  15353 
  15354    Code block header arguments can span multiple lines using ‘#+HEADER:’
  15355 on each line.  Note that Org currently accepts the plural spelling of
  15356 ‘#+HEADER:’ only as a convenience for backward-compatibility.  It may be
  15357 removed at some point.
  15358 
  15359    Multi-line header arguments on an unnamed code block:
  15360 
  15361      #+HEADER: :var data1=1
  15362      #+BEGIN_SRC emacs-lisp :var data2=2
  15363         (message "data1:%S, data2:%S" data1 data2)
  15364      #+END_SRC
  15365 
  15366      #+RESULTS:
  15367      : data1:1, data2:2
  15368 
  15369    Multi-line header arguments on a named code block:
  15370 
  15371      #+NAME: named-block
  15372      #+HEADER: :var data=2
  15373      #+BEGIN_SRC emacs-lisp
  15374        (message "data:%S" data)
  15375      #+END_SRC
  15376 
  15377      #+RESULTS: named-block
  15378        : data:2
  15379 
  15380 Header arguments in function calls
  15381 ----------------------------------
  15382 
  15383 Header arguments in function calls are the most specific and override
  15384 all other settings in case of an overlap.  They get the highest
  15385 priority.  Two ‘#+CALL:’ examples are shown below.  For the complete
  15386 syntax of ‘CALL’ keyword, see *note Evaluating Code Blocks::.
  15387 
  15388    In this example, ‘:exports results’ header argument is applied to the
  15389 evaluation of the ‘#+CALL:’ line.
  15390 
  15391      #+CALL: factorial(n=5) :exports results
  15392 
  15393    In this example, ‘:session special’ header argument is applied to the
  15394 evaluation of ‘factorial’ code block.
  15395 
  15396      #+CALL: factorial[:session special](n=5)
  15397 
  15398 
  15399 File: org.info,  Node: Environment of a Code Block,  Next: Evaluating Code Blocks,  Prev: Using Header Arguments,  Up: Working with Source Code
  15400 
  15401 16.4 Environment of a Code Block
  15402 ================================
  15403 
  15404 Passing arguments
  15405 -----------------
  15406 
  15407 Use ‘var’ for passing arguments to source code blocks.  The specifics of
  15408 variables in code blocks vary by the source language and are covered in
  15409 the language-specific documentation.  The syntax for ‘var’, however, is
  15410 the same for all languages.  This includes declaring a variable, and
  15411 assigning a default value.
  15412 
  15413    The following syntax is used to pass arguments to code blocks using
  15414 the ‘var’ header argument.
  15415 
  15416      :var NAME=ASSIGN
  15417 
  15418 NAME is the name of the variable bound in the code block body.  ASSIGN
  15419 is a literal value, such as a string, a number, a reference to a table,
  15420 a list, a literal example, another code block—with or without
  15421 arguments—or the results of evaluating a code block.  ASSIGN may specify
  15422 a filename for references to elements in a different file, using a ‘:’
  15423 to separate the filename from the reference.
  15424 
  15425      :var NAME=FILE:REFERENCE
  15426 
  15427    Here are examples of passing values by reference:
  15428 
  15429 table
  15430      A table named with a ‘NAME’ keyword.
  15431 
  15432           #+NAME: example-table
  15433           | 1 |
  15434           | 2 |
  15435           | 3 |
  15436           | 4 |
  15437 
  15438           #+NAME: table-length
  15439           #+BEGIN_SRC emacs-lisp :var table=example-table
  15440             (length table)
  15441           #+END_SRC
  15442 
  15443           #+RESULTS: table-length
  15444           : 4
  15445 
  15446      When passing a table, you can treat specially the row, or the
  15447      column, containing labels for the columns, or the rows, in the
  15448      table.
  15449 
  15450      The ‘colnames’ header argument accepts ‘yes’, ‘no’, or ‘nil’
  15451      values.  The default value is ‘nil’: if an input table has column
  15452      names—because the second row is a horizontal rule—then Org removes
  15453      the column names, processes the table, puts back the column names,
  15454      and then writes the table to the results block.  Using ‘yes’, Org
  15455      does the same to the first row, even if the initial table does not
  15456      contain any horizontal rule.  When set to ‘no’, Org does not
  15457      pre-process column names at all.
  15458 
  15459           #+NAME: less-cols
  15460           | a |
  15461           |---|
  15462           | b |
  15463           | c |
  15464 
  15465           #+BEGIN_SRC python :var tab=less-cols :colnames nil
  15466             return [[val + '*' for val in row] for row in tab]
  15467           #+END_SRC
  15468 
  15469           #+RESULTS:
  15470           | a  |
  15471           |----|
  15472           | b* |
  15473           | c* |
  15474 
  15475      Similarly, the ‘rownames’ header argument can take two values:
  15476      ‘yes’ or ‘no’.  When set to ‘yes’, Org removes the first column,
  15477      processes the table, puts back the first column, and then writes
  15478      the table to the results block.  The default is ‘no’, which means
  15479      Org does not pre-process the first column.  Note that Emacs Lisp
  15480      code blocks ignore ‘rownames’ header argument because of the ease
  15481      of table-handling in Emacs.
  15482 
  15483           #+NAME: with-rownames
  15484           | one | 1 | 2 | 3 | 4 |  5 |
  15485           | two | 6 | 7 | 8 | 9 | 10 |
  15486 
  15487           #+BEGIN_SRC python :var tab=with-rownames :rownames yes
  15488             return [[val + 10 for val in row] for row in tab]
  15489           #+END_SRC
  15490 
  15491           #+RESULTS:
  15492           | one | 11 | 12 | 13 | 14 | 15 |
  15493           | two | 16 | 17 | 18 | 19 | 20 |
  15494 
  15495    To refer to a table in another file, join the filename and table name
  15496 with a colon, for example: ‘:var table=other-file.org:example-table’.
  15497 
  15498 list
  15499      A simple named list.
  15500 
  15501           #+NAME: example-list
  15502           - simple
  15503             - not
  15504             - nested
  15505           - list
  15506 
  15507           #+BEGIN_SRC emacs-lisp :var x=example-list
  15508             (print x)
  15509           #+END_SRC
  15510 
  15511           #+RESULTS:
  15512           | simple | list |
  15513 
  15514      Note that only the top level list items are passed along.  Nested
  15515      list items are ignored.
  15516 
  15517 code block without arguments
  15518      A code block name, as assigned by ‘NAME’ keyword from the example
  15519      above, optionally followed by parentheses.
  15520 
  15521           #+BEGIN_SRC emacs-lisp :var length=table-length()
  15522             (* 2 length)
  15523           #+END_SRC
  15524 
  15525           #+RESULTS:
  15526           : 8
  15527 
  15528 code block with arguments
  15529      A code block name, as assigned by ‘NAME’ keyword, followed by
  15530      parentheses and optional arguments passed within the parentheses.
  15531 
  15532           #+NAME: double
  15533           #+BEGIN_SRC emacs-lisp :var input=8
  15534             (* 2 input)
  15535           #+END_SRC
  15536 
  15537           #+RESULTS: double
  15538           : 16
  15539 
  15540           #+NAME: squared
  15541           #+BEGIN_SRC emacs-lisp :var input=double(input=1)
  15542             (* input input)
  15543           #+END_SRC
  15544 
  15545           #+RESULTS: squared
  15546           : 4
  15547 
  15548 literal example, or code block contents
  15549      A code block or literal example block named with a ‘NAME’ keyword,
  15550      followed by brackets (optional for example blocks).
  15551 
  15552           #+NAME: literal-example
  15553           #+BEGIN_EXAMPLE
  15554             A literal example
  15555             on two lines
  15556           #+END_EXAMPLE
  15557 
  15558           #+NAME: read-literal-example
  15559           #+BEGIN_SRC emacs-lisp :var x=literal-example[]
  15560             (concatenate #'string x " for you.")
  15561           #+END_SRC
  15562 
  15563           #+RESULTS: read-literal-example
  15564           : A literal example
  15565           : on two lines for you.
  15566 
  15567    Indexing variable values enables referencing portions of a variable.
  15568 Indexes are 0 based with negative values counting backwards from the
  15569 end.  If an index is separated by commas then each subsequent section
  15570 indexes as the next dimension.  Note that this indexing occurs _before_
  15571 other table-related header arguments are applied, such as ‘hlines’,
  15572 ‘colnames’ and ‘rownames’.  The following example assigns the last cell
  15573 of the first row the table ‘example-table’ to the variable ‘data’:
  15574 
  15575      #+NAME: example-table
  15576      | 1 | a |
  15577      | 2 | b |
  15578      | 3 | c |
  15579      | 4 | d |
  15580 
  15581      #+BEGIN_SRC emacs-lisp :var data=example-table[0,-1]
  15582        data
  15583      #+END_SRC
  15584 
  15585      #+RESULTS:
  15586      : a
  15587 
  15588    Two integers separated by a colon reference a range of variable
  15589 values.  In that case the entire inclusive range is referenced.  For
  15590 example the following assigns the middle three rows of ‘example-table’
  15591 to ‘data’.
  15592 
  15593      #+NAME: example-table
  15594      | 1 | a |
  15595      | 2 | b |
  15596      | 3 | c |
  15597      | 4 | d |
  15598      | 5 | 3 |
  15599 
  15600      #+BEGIN_SRC emacs-lisp :var data=example-table[1:3]
  15601        data
  15602      #+END_SRC
  15603 
  15604      #+RESULTS:
  15605      | 2 | b |
  15606      | 3 | c |
  15607      | 4 | d |
  15608 
  15609    To pick the entire range, use an empty index, or the single character
  15610 ‘*’.  ‘0:-1’ does the same thing.  Example below shows how to reference
  15611 the first column only.
  15612 
  15613      #+NAME: example-table
  15614      | 1 | a |
  15615      | 2 | b |
  15616      | 3 | c |
  15617      | 4 | d |
  15618 
  15619      #+BEGIN_SRC emacs-lisp :var data=example-table[,0]
  15620        data
  15621      #+END_SRC
  15622 
  15623      #+RESULTS:
  15624      | 1 | 2 | 3 | 4 |
  15625 
  15626    Index referencing can be used for tables and code blocks.  Index
  15627 referencing can handle any number of dimensions.  Commas delimit
  15628 multiple dimensions, as shown below.
  15629 
  15630      #+NAME: 3D
  15631      #+BEGIN_SRC emacs-lisp
  15632        '(((1  2  3)  (4  5  6)  (7  8  9))
  15633          ((10 11 12) (13 14 15) (16 17 18))
  15634          ((19 20 21) (22 23 24) (25 26 27)))
  15635      #+END_SRC
  15636 
  15637      #+BEGIN_SRC emacs-lisp :var data=3D[1,,1]
  15638        data
  15639      #+END_SRC
  15640 
  15641      #+RESULTS:
  15642      | 11 | 14 | 17 |
  15643 
  15644    Note that row names and column names are not removed prior to
  15645 variable indexing.  You need to take them into account, even when
  15646 ‘colnames’ or ‘rownames’ header arguments remove them.
  15647 
  15648    Emacs lisp code can also set the values for variables.  To
  15649 differentiate a value from Lisp code, Org interprets any value starting
  15650 with ‘(’, ‘[’, ‘'’ or ‘`’ as Emacs Lisp code.  The result of evaluating
  15651 that code is then assigned to the value of that variable.  The following
  15652 example shows how to reliably query and pass the file name of the Org
  15653 mode buffer to a code block using headers.  We need reliability here
  15654 because the file’s name could change once the code in the block starts
  15655 executing.
  15656 
  15657      #+BEGIN_SRC sh :var filename=(buffer-file-name) :exports both
  15658        wc -w $filename
  15659      #+END_SRC
  15660 
  15661    Note that values read from tables and lists are not mistakenly
  15662 evaluated as Emacs Lisp code, as illustrated in the following example.
  15663 
  15664      #+NAME: table
  15665      | (a b c) |
  15666 
  15667      #+HEADER: :var data=table[0,0]
  15668      #+BEGIN_SRC perl
  15669        $data
  15670      #+END_SRC
  15671 
  15672      #+RESULTS:
  15673      : (a b c)
  15674 
  15675 Using sessions
  15676 --------------
  15677 
  15678 Two code blocks can share the same environment.  The ‘session’ header
  15679 argument is for running multiple source code blocks under one session.
  15680 Org runs code blocks with the same session name in the same interpreter
  15681 process.
  15682 
  15683 ‘none’
  15684      Default.  Each code block gets a new interpreter process to
  15685      execute.  The process terminates once the block is evaluated.
  15686 
  15687 STRING
  15688      Any string besides ‘none’ turns that string into the name of that
  15689      session.  For example, ‘:session STRING’ names it ‘STRING’.  If
  15690      ‘session’ has no value, then the session name is derived from the
  15691      source language identifier.  Subsequent blocks with the same source
  15692      code language use the same session.  Depending on the language,
  15693      state variables, code from other blocks, and the overall
  15694      interpreted environment may be shared.  Some interpreted languages
  15695      support concurrent sessions when subsequent source code language
  15696      blocks change session names.
  15697 
  15698    Only languages that provide interactive evaluation can have session
  15699 support.  Not all languages provide this support, such as C and ditaa.
  15700 Even languages, such as Python and Haskell, that do support interactive
  15701 evaluation impose limitations on allowable language constructs that can
  15702 run interactively.  Org inherits those limitations for those code blocks
  15703 running in a session.
  15704 
  15705 Choosing a working directory
  15706 ----------------------------
  15707 
  15708 The ‘dir’ header argument specifies the default directory during code
  15709 block execution.  If it is absent, then the directory associated with
  15710 the current buffer is used.  In other words, supplying ‘:dir DIRECTORY’
  15711 temporarily has the same effect as changing the current directory with
  15712 ‘M-x cd <RET> DIRECTORY’, and then not setting ‘dir’.  Under the
  15713 surface, ‘dir’ simply sets the value of the Emacs variable
  15714 ‘default-directory’.  Setting ‘mkdirp’ header argument to a non-‘nil’
  15715 value creates the directory, if necessary.
  15716 
  15717    Setting ‘dir’ to the symbol ‘attach’ or the string ‘"'attach"’ will
  15718 set ‘dir’ to the directory returned by ‘(org-attach-dir)’, set ‘:mkdir
  15719 yes’, and insert any file paths, as when using ‘:results file’, which
  15720 are under the node’s attachment directory using ‘attachment:’ links
  15721 instead of the usual ‘file:’ links.  Any returned path outside of the
  15722 attachment directory will use ‘file:’ links as per usual.
  15723 
  15724    For example, to save the plot file in the ‘Work/’ folder of the home
  15725 directory—notice tilde is expanded:
  15726 
  15727      #+BEGIN_SRC R :file myplot.png :dir ~/Work
  15728        matplot(matrix(rnorm(100), 10), type="l")
  15729      #+END_SRC
  15730 
  15731    To evaluate the code block on a remote machine, supply a remote
  15732 directory name using Tramp syntax.  For example:
  15733 
  15734      #+BEGIN_SRC R :file plot.png :dir /scp:dand@yakuba.princeton.edu:
  15735        plot(1:10, main=system("hostname", intern=TRUE))
  15736      #+END_SRC
  15737 
  15738    Org first captures the text results as usual for insertion in the Org
  15739 file.  Then Org also inserts a link to the remote file, thanks to Emacs
  15740 Tramp.  Org constructs the remote path to the file name from ‘dir’ and
  15741 ‘default-directory’, as illustrated here:
  15742 
  15743      [[file:/scp:dand@yakuba.princeton.edu:/home/dand/plot.png][plot.png]]
  15744 
  15745    When ‘dir’ is used with ‘session’, Org sets the starting directory
  15746 for a new session.  But Org does not alter the directory of an already
  15747 existing session.
  15748 
  15749    Do not use ‘dir’ with ‘:exports results’ or with ‘:exports both’ to
  15750 avoid Org inserting incorrect links to remote files.  That is because
  15751 Org does not expand ‘default directory’ to avoid some underlying
  15752 portability issues.
  15753 
  15754 Inserting headers and footers
  15755 -----------------------------
  15756 
  15757 The ‘prologue’ header argument is for appending to the top of the code
  15758 block for execution, like a reset instruction.  For example, you may use
  15759 ‘:prologue "reset"’ in a Gnuplot code block or, for every such block:
  15760 
  15761      (add-to-list 'org-babel-default-header-args:gnuplot
  15762                   '((:prologue . "reset")))
  15763 
  15764 
  15765    Likewise, the value of the ‘epilogue’ header argument is for
  15766 appending to the end of the code block for execution.
  15767 
  15768 
  15769 File: org.info,  Node: Evaluating Code Blocks,  Next: Results of Evaluation,  Prev: Environment of a Code Block,  Up: Working with Source Code
  15770 
  15771 16.5 Evaluating Code Blocks
  15772 ===========================
  15773 
  15774 A note about security: With code evaluation comes the risk of harm.  Org
  15775 safeguards by prompting for user’s permission before executing any code
  15776 in the source block.  To customize this safeguard, or disable it, see
  15777 *note Code Evaluation Security::.
  15778 
  15779 How to evaluate source code
  15780 ---------------------------
  15781 
  15782 Org captures the results of the code block evaluation and inserts them
  15783 in the Org file, right after the code block.  The insertion point is
  15784 after a newline and the ‘RESULTS’ keyword.  Org creates the ‘RESULTS’
  15785 keyword if one is not already there.  More details in *note Results of
  15786 Evaluation::.
  15787 
  15788    By default, Org enables only Emacs Lisp code blocks for execution.
  15789 See *note Languages:: to enable other languages.
  15790 
  15791    Org provides many ways to execute code blocks.  ‘C-c C-c’ or ‘C-c C-v
  15792 e’ with the point on a code block(1) calls the
  15793 ‘org-babel-execute-src-block’ function, which executes the code in the
  15794 block, collects the results, and inserts them in the buffer.
  15795 
  15796    By calling a named code block(2) from an Org mode buffer or a table.
  15797 Org can call the named code blocks from the current Org mode buffer or
  15798 from the “Library of Babel” (see *note Library of Babel::).
  15799 
  15800    The syntax for ‘CALL’ keyword is:
  15801 
  15802      #+CALL: <name>(<arguments>)
  15803      #+CALL: <name>[<inside header arguments>](<arguments>) <end header arguments>
  15804 
  15805    The syntax for inline named code blocks is:
  15806 
  15807      ... call_<name>(<arguments>) ...
  15808      ... call_<name>[<inside header arguments>](<arguments>)[<end header arguments>] ...
  15809 
  15810    When inline syntax is used, the result is wrapped based on the
  15811 variable ‘org-babel-inline-result-wrap’, which by default is set to
  15812 ‘"=%s="’ to produce verbatim text suitable for markup.
  15813 
  15814 ‘<name>’
  15815      This is the name of the code block (see *note Structure of Code
  15816      Blocks::) to be evaluated in the current document.  If the block is
  15817      located in another file, start ‘<name>’ with the file name followed
  15818      by a colon.  For example, in order to execute a block named
  15819      ‘clear-data’ in ‘file.org’, you can write the following:
  15820 
  15821           #+CALL: file.org:clear-data()
  15822 
  15823 ‘<arguments>’
  15824      Org passes arguments to the code block using standard function call
  15825      syntax.  For example, a ‘#+CALL:’ line that passes ‘4’ to a code
  15826      block named ‘double’, which declares the header argument ‘:var
  15827      n=2’, would be written as:
  15828 
  15829           #+CALL: double(n=4)
  15830 
  15831      Note how this function call syntax is different from the header
  15832      argument syntax.
  15833 
  15834 ‘<inside header arguments>’
  15835      Org passes inside header arguments to the named code block using
  15836      the header argument syntax.  Inside header arguments apply to code
  15837      block evaluation.  For example, ‘[:results output]’ collects
  15838      results printed to stdout during code execution of that block.
  15839      Note how this header argument syntax is different from the function
  15840      call syntax.
  15841 
  15842 ‘<end header arguments>’
  15843      End header arguments affect the results returned by the code block.
  15844      For example, ‘:results html’ wraps the results in a ‘#+BEGIN_EXPORT
  15845      html’ block before inserting the results in the Org buffer.
  15846 
  15847 Limit code block evaluation
  15848 ---------------------------
  15849 
  15850 The ‘eval’ header argument can limit evaluation of specific code blocks
  15851 and ‘CALL’ keyword.  It is useful for protection against evaluating
  15852 untrusted code blocks by prompting for a confirmation.
  15853 
  15854 ‘yes’
  15855      Org always evaluates the source code without asking permission.
  15856 
  15857 ‘never’ or ‘no’
  15858      Org never evaluates the source code.
  15859 
  15860 ‘query’
  15861      Org prompts the user for permission to evaluate the source code.
  15862 
  15863 ‘never-export’ or ‘no-export’
  15864      Org does not evaluate the source code when exporting, yet the user
  15865      can evaluate it interactively.
  15866 
  15867 ‘query-export’
  15868      Org prompts the user for permission to evaluate the source code
  15869      during export.
  15870 
  15871    If ‘eval’ header argument is not set, then Org determines whether to
  15872 evaluate the source code from the ‘org-confirm-babel-evaluate’ variable
  15873 (see *note Code Evaluation Security::).
  15874 
  15875 Cache results of evaluation
  15876 ---------------------------
  15877 
  15878 The ‘cache’ header argument is for caching results of evaluating code
  15879 blocks.  Caching results can avoid re-evaluating a code block that have
  15880 not changed since the previous run.  To benefit from the cache and avoid
  15881 redundant evaluations, the source block must have a result already
  15882 present in the buffer, and neither the header arguments—including the
  15883 value of ‘var’ references—nor the text of the block itself has changed
  15884 since the result was last computed.  This feature greatly helps avoid
  15885 long-running calculations.  For some edge cases, however, the cached
  15886 results may not be reliable.
  15887 
  15888    The caching feature is best for when code blocks are pure functions,
  15889 that is functions that return the same value for the same input
  15890 arguments (see *note Environment of a Code Block::), and that do not
  15891 have side effects, and do not rely on external variables other than the
  15892 input arguments.  Functions that depend on a timer, file system objects,
  15893 and random number generators are clearly unsuitable for caching.
  15894 
  15895    A note of warning: when ‘cache’ is used in a session, caching may
  15896 cause unexpected results.
  15897 
  15898    When the caching mechanism tests for any source code changes, it does
  15899 not expand noweb style references (see *note Noweb Reference Syntax::).
  15900 
  15901    The ‘cache’ header argument can have one of two values: ‘yes’ or
  15902 ‘no’.
  15903 
  15904 ‘no’
  15905      Default.  No caching of results; code block evaluated every time.
  15906 
  15907 ‘yes’
  15908      Whether to run the code or return the cached results is determined
  15909      by comparing the SHA1 hash value of the combined code block and
  15910      arguments passed to it.  This hash value is packed on the
  15911      ‘#+RESULTS:’ line from previous evaluation.  When hash values
  15912      match, Org does not evaluate the code block.  When hash values
  15913      mismatch, Org evaluates the code block, inserts the results,
  15914      recalculates the hash value, and updates ‘#+RESULTS:’ line.
  15915 
  15916    In this example, both functions are cached.  But ‘caller’ runs only
  15917 if the result from ‘random’ has changed since the last run.
  15918 
  15919      #+NAME: random
  15920      #+BEGIN_SRC R :cache yes
  15921        runif(+1)
  15922      #+END_SRC
  15923 
  15924      #+RESULTS[a2a72cd647ad44515fab62e144796432793d68e1]: random
  15925      0.4659510825295
  15926 
  15927      #+NAME: caller
  15928      #+BEGIN_SRC emacs-lisp :var x=random :cache yes
  15929        x
  15930      #+END_SRC
  15931 
  15932      #+RESULTS[bec9c8724e397d5df3b696502df3ed7892fc4f5f]: caller
  15933      0.254227238707244
  15934 
  15935    ---------- Footnotes ----------
  15936 
  15937    (1) The option ‘org-babel-no-eval-on-ctrl-c-ctrl-c’ can be used to
  15938 remove code evaluation from the ‘C-c C-c’ key binding.
  15939 
  15940    (2) Actually, the constructs ‘call_<name>()’ and ‘src_<lang>{}’ are
  15941 not evaluated when they appear in a keyword (see *note In-buffer
  15942 Settings::).
  15943 
  15944 
  15945 File: org.info,  Node: Results of Evaluation,  Next: Exporting Code Blocks,  Prev: Evaluating Code Blocks,  Up: Working with Source Code
  15946 
  15947 16.6 Results of Evaluation
  15948 ==========================
  15949 
  15950 How Org handles results of a code block execution depends on many header
  15951 arguments working together.  The primary determinant, however, is the
  15952 ‘results’ header argument.  It accepts four classes of options.  Each
  15953 code block can take only one option per class:
  15954 
  15955 Collection
  15956      For how the results should be collected from the code block;
  15957 
  15958 Type
  15959      For which type of result the code block will return; affects how
  15960      Org processes and inserts results in the Org buffer;
  15961 
  15962 Format
  15963      For the result; affects how Org processes results;
  15964 
  15965 Handling
  15966      For inserting results once they are properly formatted.
  15967 
  15968 Collection
  15969 ----------
  15970 
  15971 Collection options specify the results.  Choose one of the options; they
  15972 are mutually exclusive.
  15973 
  15974 ‘value’
  15975      Default for most Babel libraries(1).  Functional mode.  Org gets
  15976      the value by wrapping the code in a function definition in the
  15977      language of the source block.  That is why when using ‘:results
  15978      value’, code should execute like a function and return a value.
  15979      For languages like Python, an explicit ‘return’ statement is
  15980      mandatory when using ‘:results value’.  Result is the value
  15981      returned by the last statement in the code block.
  15982 
  15983      When evaluating the code block in a session (see *note Environment
  15984      of a Code Block::), Org passes the code to an interpreter running
  15985      as an interactive Emacs inferior process.  Org gets the value from
  15986      the source code interpreter’s last statement output.  Org has to
  15987      use language-specific methods to obtain the value.  For example,
  15988      from the variable ‘_’ in Ruby, and the value of ‘.Last.value’ in R.
  15989 
  15990 ‘output’
  15991      Scripting mode.  Org passes the code to an external process running
  15992      the interpreter.  Org returns the contents of the standard output
  15993      stream as text results.
  15994 
  15995      When using a session, Org passes the code to the interpreter
  15996      running as an interactive Emacs inferior process.  Org concatenates
  15997      any text output from the interpreter and returns the collection as
  15998      a result.
  15999 
  16000 Type
  16001 ----
  16002 
  16003 Type tells what result types to expect from the execution of the code
  16004 block.  Choose one of the options; they are mutually exclusive.
  16005 
  16006    The default behavior is to automatically determine the result type.
  16007 The result type detection depends on the code block language, as
  16008 described in the documentation for individual languages.  See *note
  16009 Languages::.
  16010 
  16011 ‘table’
  16012 ‘vector’
  16013      Interpret the results as an Org table.  If the result is a single
  16014      value, create a table with one row and one column.  Usage example:
  16015      ‘:results value table’.
  16016 
  16017      In-between each table row or below the table headings, sometimes
  16018      results have horizontal lines, which are also known as “hlines”.
  16019      The ‘hlines’ argument with the default ‘no’ value strips such lines
  16020      from the input table.  For most code, this is desirable, or else
  16021      those ‘hline’ symbols raise unbound variable errors.  A ‘yes’
  16022      accepts such lines, as demonstrated in the following example.
  16023 
  16024           #+NAME: many-cols
  16025           | a | b | c |
  16026           |---+---+---|
  16027           | d | e | f |
  16028           |---+---+---|
  16029           | g | h | i |
  16030 
  16031           #+NAME: no-hline
  16032           #+BEGIN_SRC python :var tab=many-cols :hlines no
  16033             return tab
  16034           #+END_SRC
  16035 
  16036           #+RESULTS: no-hline
  16037           | a | b | c |
  16038           | d | e | f |
  16039           | g | h | i |
  16040 
  16041           #+NAME: hlines
  16042           #+BEGIN_SRC python :var tab=many-cols :hlines yes
  16043             return tab
  16044           #+END_SRC
  16045 
  16046           #+RESULTS: hlines
  16047           | a | b | c |
  16048           |---+---+---|
  16049           | d | e | f |
  16050           |---+---+---|
  16051           | g | h | i |
  16052 
  16053 ‘list’
  16054      Interpret the results as an Org list.  If the result is a single
  16055      value, create a list of one element.
  16056 
  16057 ‘scalar’
  16058 ‘verbatim’
  16059      Interpret literally and insert as quoted text.  Do not create a
  16060      table.  Usage example: ‘:results value verbatim’.
  16061 
  16062 ‘file’
  16063      Interpret as a filename.  Save the results of execution of the code
  16064      block to that file, then insert a link to it.  You can control both
  16065      the filename and the description associated to the link.
  16066 
  16067      Org first tries to generate the filename from the value of the
  16068      ‘file’ header argument and the directory specified using the
  16069      ‘output-dir’ header arguments.  If ‘output-dir’ is not specified,
  16070      Org assumes it is the current directory.
  16071 
  16072           #+BEGIN_SRC asymptote :results value file :file circle.pdf :output-dir img/
  16073             size(2cm);
  16074             draw(unitcircle);
  16075           #+END_SRC
  16076 
  16077      If ‘file’ header argument is missing, Org generates the base name
  16078      of the output file from the name of the code block, and its
  16079      extension from the ‘file-ext’ header argument.  In that case, both
  16080      the name and the extension are mandatory.
  16081 
  16082           #+name: circle
  16083           #+BEGIN_SRC asymptote :results value file :file-ext pdf
  16084             size(2cm);
  16085             draw(unitcircle);
  16086           #+END_SRC
  16087 
  16088      The ‘file-desc’ header argument defines the description (see *note
  16089      Link Format::) for the link.  If ‘file-desc’ is present but has no
  16090      value, the ‘file’ value is used as the link description.  When this
  16091      argument is not present, the description is omitted.  If you want
  16092      to provide the ‘file-desc’ argument but omit the description, you
  16093      can provide it with an empty vector (i.e., :file-desc []).
  16094 
  16095      By default, Org assumes that a table written to a file has
  16096      TAB-delimited output.  You can choose a different separator with
  16097      the ‘sep’ header argument.
  16098 
  16099      The ‘file-mode’ header argument defines the file permissions.  To
  16100      make it executable, use ‘:file-mode (identity #o755)’.
  16101 
  16102           #+BEGIN_SRC shell :results file :file script.sh :file-mode (identity #o755)
  16103             echo "#!/bin/bash"
  16104             echo "echo Hello World"
  16105           #+END_SRC
  16106 
  16107 Format
  16108 ------
  16109 
  16110 Format pertains to the type of the result returned by the code block.
  16111 Choose one of the options; they are mutually exclusive.  The default
  16112 follows from the type specified above.
  16113 
  16114 ‘code’
  16115      Result enclosed in a code block.  Useful for parsing.  Usage
  16116      example: ‘:results value code’.
  16117 
  16118 ‘drawer’
  16119      Result wrapped in a ‘RESULTS’ drawer.  Useful for containing ‘raw’
  16120      or ‘org’ results for later scripting and automated processing.
  16121      Usage example: ‘:results value drawer’.
  16122 
  16123 ‘html’
  16124      Results enclosed in a ‘BEGIN_EXPORT html’ block.  Usage example:
  16125      ‘:results value html’.
  16126 
  16127 ‘latex’
  16128      Results enclosed in a ‘BEGIN_EXPORT latex’ block.  Usage example:
  16129      ‘:results value latex’.
  16130 
  16131 ‘link’
  16132 ‘graphics’
  16133      When used along with ‘file’ type, the result is a link to the file
  16134      specified in ‘:file’ header argument.  However, unlike plain ‘file’
  16135      type, code block output is not written to the disk.  The block is
  16136      expected to generate the file by its side-effects only, as in the
  16137      following example:
  16138 
  16139           #+begin_src shell :results file link :file "org-mode-unicorn.svg"
  16140             wget -c "https://orgmode.org/resources/img/org-mode-unicorn.svg"
  16141           #+end_src
  16142 
  16143           #+RESULTS:
  16144           [[file:org-mode-unicorn.svg]]
  16145 
  16146 ‘org’
  16147      Results enclosed in a ‘BEGIN_SRC org’ block.  For comma-escape,
  16148      either ‘<TAB>’ in the block, or export the file.  Usage example:
  16149      ‘:results value org’.
  16150 
  16151 ‘pp’
  16152      Result converted to pretty-print source code.  Enclosed in a code
  16153      block.  Languages supported: Emacs Lisp, Python, and Ruby.  Usage
  16154      example: ‘:results value pp’.
  16155 
  16156 ‘raw’
  16157      Interpreted as raw Org mode.  Inserted directly into the buffer.
  16158      Aligned if it is a table.  Usage example: ‘:results value raw’.
  16159 
  16160    The ‘wrap’ header argument unconditionally marks the results block by
  16161 appending strings to ‘#+BEGIN_’ and ‘#+END_’.  If no string is
  16162 specified, Org wraps the results in a ‘#+BEGIN_results’ ...
  16163 ‘#+END_results’ block.  It takes precedent over the ‘results’ value
  16164 listed above.  E.g.,
  16165 
  16166      #+BEGIN_SRC emacs-lisp :results html :wrap EXPORT markdown
  16167      "<blink>Welcome back to the 90's</blink>"
  16168      #+END_SRC
  16169 
  16170      #+RESULTS:
  16171      #+BEGIN_EXPORT markdown
  16172      <blink>Welcome back to the 90's</blink>
  16173      #+END_EXPORT
  16174 
  16175 Handling
  16176 --------
  16177 
  16178 Handling options after collecting the results.  Choose one of the
  16179 options; they are mutually exclusive.
  16180 
  16181 ‘replace’
  16182      Default.  Insert results in the Org buffer.  Remove previous
  16183      results.  Usage example: ‘:results output replace’.
  16184 
  16185 ‘silent’
  16186      Do not insert results in the Org mode buffer, but echo them in the
  16187      minibuffer.  Usage example: ‘:results output silent’.
  16188 
  16189 ‘none’
  16190      Compute results, but do not do anything with them.  No inserting in
  16191      the Org mode buffer nor echo them in the minibuffer.  The results
  16192      can still be used when referenced from another code block.  Usage
  16193      example: ‘:results none’.
  16194 
  16195 ‘discard’
  16196      Ignore the results completely.  This option is similar to ‘none’,
  16197      but no processing is performed on the return value.  Calling the
  16198      code block programmatically (see *note How to evaluate source
  16199      code::) or by reference (see *note Passing arguments:: and *note
  16200      Noweb Reference Syntax::) will always yield nil.
  16201 
  16202 ‘append’
  16203      Append results to the Org buffer.  Latest results are at the
  16204      bottom.  Does not remove previous results.  Usage example:
  16205      ‘:results output append’.
  16206 
  16207 ‘prepend’
  16208      Prepend results to the Org buffer.  Latest results are at the top.
  16209      Does not remove previous results.  Usage example: ‘:results output
  16210      prepend’.
  16211 
  16212 Post-processing
  16213 ---------------
  16214 
  16215 The ‘post’ header argument is for post-processing results from block
  16216 evaluation.  When ‘post’ has any value, Org binds the results to
  16217 ‘*this*’ variable for easy passing to ‘var’ header argument
  16218 specifications (see *note Environment of a Code Block::).  That makes
  16219 results available to other code blocks, or even for direct Emacs Lisp
  16220 code execution.
  16221 
  16222    The following two examples illustrate ‘post’ header argument in
  16223 action.  The first one shows how to attach an ‘ATTR_LATEX’ keyword using
  16224 ‘post’.
  16225 
  16226      #+NAME: attr_wrap
  16227      #+BEGIN_SRC sh :var data="" :var width="\\textwidth" :results output
  16228        echo "#+ATTR_LATEX: :width $width"
  16229        echo "$data"
  16230      #+END_SRC
  16231 
  16232      #+HEADER: :file /tmp/it.png
  16233      #+BEGIN_SRC dot :post attr_wrap(width="5cm", data=*this*) :results drawer
  16234        digraph{
  16235                a -> b;
  16236                b -> c;
  16237                c -> a;
  16238        }
  16239      #+end_src
  16240 
  16241      #+RESULTS:
  16242      :RESULTS:
  16243      #+ATTR_LATEX :width 5cm
  16244      [[file:/tmp/it.png]]
  16245      :END:
  16246 
  16247    The second example shows use of ‘colnames’ header argument in ‘post’
  16248 to pass data between code blocks.
  16249 
  16250      #+NAME: round-tbl
  16251      #+BEGIN_SRC emacs-lisp :var tbl="" fmt="%.3f"
  16252        (mapcar (lambda (row)
  16253                  (mapcar (lambda (cell)
  16254                            (if (numberp cell)
  16255                                (format fmt cell)
  16256                              cell))
  16257                          row))
  16258                tbl)
  16259      #+end_src
  16260 
  16261      #+BEGIN_SRC R :colnames yes :post round-tbl[:colnames yes](*this*)
  16262        set.seed(42)
  16263        data.frame(foo=rnorm(1))
  16264      #+END_SRC
  16265 
  16266      #+RESULTS:
  16267      |   foo |
  16268      |-------|
  16269      | 1.371 |
  16270 
  16271    ---------- Footnotes ----------
  16272 
  16273    (1) Actually, the constructs ‘call_<name>()’ and ‘src_<lang>{}’ are
  16274 not evaluated when they appear in a keyword (see *note In-buffer
  16275 Settings::).
  16276 
  16277 
  16278 File: org.info,  Node: Exporting Code Blocks,  Next: Extracting Source Code,  Prev: Results of Evaluation,  Up: Working with Source Code
  16279 
  16280 16.7 Exporting Code Blocks
  16281 ==========================
  16282 
  16283 It is possible to export the _code_ of code blocks, the _results_ of
  16284 code block evaluation, _both_ the code and the results of code block
  16285 evaluation, or _none_.  Org defaults to exporting _code_ for most
  16286 languages and _results_ for inline code blocks.  For some languages,
  16287 such as ditaa, Org defaults to _results_ both in ordinary source blocks
  16288 and in inline source blocks.  To export just the body of code blocks,
  16289 see *note Literal Examples::.  To selectively export subtrees of an Org
  16290 document, see *note Exporting::.
  16291 
  16292    The ‘exports’ header argument is to specify if that part of the Org
  16293 file is exported to, say, HTML or LaTeX formats.
  16294 
  16295 ‘code’
  16296      The default.  The body of code is included into the exported file.
  16297      Example: ‘:exports code’.
  16298 
  16299 ‘results’
  16300      The results of evaluation of the code is included in the exported
  16301      file.  Example: ‘:exports results’.
  16302 
  16303 ‘both’
  16304      Both the code and results of evaluation are included in the
  16305      exported file.  Example: ‘:exports both’.
  16306 
  16307 ‘none’
  16308      Neither the code nor the results of evaluation is included in the
  16309      exported file.  Whether the code is evaluated at all depends on
  16310      other options.  Example: ‘:exports none’.
  16311 
  16312    If a source block is named using ‘NAME’ keyword, the same name will
  16313 be assigned to the results of evaluation.  This way, fuzzy links
  16314 pointing to the named source blocks exported using ‘:exports results’
  16315 will remain valid and point to the results of evaluation.
  16316 
  16317    Results of evaluation of a named block can also be explicitly named
  16318 using a separate ‘NAME’ keyword.  The name value set via ‘NAME’ keyword
  16319 will be preferred over the parent source block.
  16320 
  16321      #+NAME: code name
  16322      #+BEGIN_SRC emacs-lisp :exports both value
  16323      (+ 1 2)
  16324      #+END_SRC
  16325 
  16326      #+NAME: results name
  16327      #+RESULTS: code name
  16328      3
  16329 
  16330      This [[code name][link]] will point to the code block.
  16331      Another [[results name][link]] will point to the results.
  16332 
  16333    Explicit setting of the result name may be necessary when a named
  16334 code block is exported using ‘:exports both’.  Links to such block may
  16335 arbitrarily point either to the code block or to its results when
  16336 results do not have a distinct name.
  16337 
  16338    Note that all the links pointing to a source block exported using
  16339 ‘:exports none’ will be broken.  This will make export process fail,
  16340 unless broken links are allowed during export (see *note Export
  16341 Settings::).
  16342 
  16343    To stop Org from evaluating code blocks to speed exports, use the
  16344 header argument ‘:eval never-export’ (see *note Evaluating Code
  16345 Blocks::).  To stop Org from evaluating code blocks for greater
  16346 security, set the ‘org-export-use-babel’ variable to ‘nil’, but
  16347 understand that header arguments will have no effect.
  16348 
  16349    Turning off evaluation comes in handy when batch processing.  For
  16350 example, markup languages for wikis, which have a high risk of untrusted
  16351 code.  Stopping code block evaluation also stops evaluation of all
  16352 header arguments of the code block.  This may not be desirable in some
  16353 circumstances.  So during export, to allow evaluation of just the header
  16354 arguments but not any code evaluation in the source block, set ‘:eval
  16355 never-export’ (see *note Evaluating Code Blocks::).
  16356 
  16357    Org never evaluates code blocks in commented subtrees when exporting
  16358 (see *note Comment Lines::).  On the other hand, Org does evaluate code
  16359 blocks in subtrees excluded from export (see *note Export Settings::).
  16360 
  16361 
  16362 File: org.info,  Node: Extracting Source Code,  Next: Languages,  Prev: Exporting Code Blocks,  Up: Working with Source Code
  16363 
  16364 16.8 Extracting Source Code
  16365 ===========================
  16366 
  16367 Extracting source code from code blocks is a basic task in literate
  16368 programming.  Org has features to make this easy.  In literate
  16369 programming parlance, documents on creation are _woven_ with code and
  16370 documentation, and on export, the code is tangled for execution by a
  16371 computer.  Org facilitates weaving and tangling for producing,
  16372 maintaining, sharing, and exporting literate programming documents.  Org
  16373 provides extensive customization options for extracting source code.
  16374 
  16375    When Org tangles code blocks, it expands, merges, and transforms
  16376 them.  Then Org recomposes them into one or more separate files, as
  16377 configured through the options.  During this tangling process, Org
  16378 expands variables in the source code, and resolves any noweb style
  16379 references (see *note Noweb Reference Syntax::).
  16380 
  16381 Header arguments
  16382 ----------------
  16383 
  16384 The ‘tangle’ header argument specifies if the code block is exported to
  16385 source file(s).
  16386 
  16387 ‘yes’
  16388      Export the code block to source file.  The file name for the source
  16389      file is derived from the name of the Org file, and the file
  16390      extension is derived from the source code language identifier.
  16391      Example: ‘:tangle yes’.
  16392 
  16393 ‘no’
  16394      The default.  Do not extract the code in a source code file.
  16395      Example: ‘:tangle no’.
  16396 
  16397 FILENAME
  16398      Export the code block to source file whose file name is derived
  16399      from any string passed to the ‘tangle’ header argument.  Org
  16400      derives the file name as being relative to the directory of the Org
  16401      file’s location.  Example: ‘:tangle FILENAME’.
  16402 
  16403    The ‘mkdirp’ header argument creates parent directories for tangled
  16404 files if the directory does not exist.  A ‘yes’ value enables directory
  16405 creation whereas ‘no’ inhibits it.
  16406 
  16407    The ‘comments’ header argument controls inserting comments into
  16408 tangled files.  These are above and beyond whatever comments may already
  16409 exist in the code block.
  16410 
  16411 ‘no’
  16412      The default.  Do not insert any extra comments during tangling.
  16413 
  16414 ‘link’
  16415      Wrap the code block in comments.  Include links pointing back to
  16416      the place in the Org file from where the code was tangled.
  16417 
  16418 ‘yes’
  16419      Kept for backward compatibility; same as ‘link’.
  16420 
  16421 ‘org’
  16422      Nearest headline text from Org file is inserted as comment.  The
  16423      exact text that is inserted is picked from the leading context of
  16424      the source block.
  16425 
  16426 ‘both’
  16427      Includes both ‘link’ and ‘org’ options.
  16428 
  16429 ‘noweb’
  16430      Includes ‘link’ option, expands noweb references (see *note Noweb
  16431      Reference Syntax::), and wraps them in link comments inside the
  16432      body of the code block.
  16433 
  16434    The ‘padline’ header argument controls insertion of newlines to pad
  16435 source code in the tangled file.
  16436 
  16437 ‘yes’
  16438      Default.  Insert a newline before and after each code block in the
  16439      tangled file.
  16440 
  16441 ‘no’
  16442      Do not insert newlines to pad the tangled code blocks.
  16443 
  16444    The ‘shebang’ header argument can turn results into executable script
  16445 files.  By setting it to a string value—for example, ‘:shebang
  16446 "#!/bin/bash"’—Org inserts that string as the first line of the tangled
  16447 file that the code block is extracted to.  Org then turns on the tangled
  16448 file’s executable permission.
  16449 
  16450    The ‘tangle-mode’ header argument specifies what permissions to set
  16451 for tangled files by ‘set-file-modes’.  Permissions are given by an
  16452 octal value, which can be provided calling the ‘identity’ function on an
  16453 elisp octal value.  For instance, to create a read-only file one may use
  16454 ‘:tangle-mode (identity #o444)’.  To reduce the verbosity required, a
  16455 octal shorthand is defined, ‘oXXX’ (‘o’ for octal).  Using this, our
  16456 read-only example is ‘:tangle-mode o444’.  Omitting the ‘o’ prefix will
  16457 cause the argument to be interpreted as an integer, which can lead to
  16458 unexpected results (‘444’ is the same as ‘o674’).  Two other shorthands
  16459 are recognized, ls-style strings like ‘rw-r--r--’, and chmod-style
  16460 permissions like ‘g+w’.  Note that chmod-style permissions are based on
  16461 ‘org-babel-tangle-default-file-mode’, which is ‘#o544’ by default.
  16462 
  16463    When ‘:tangle-mode’ and ‘:shebang’ are both specified, the give
  16464 ‘:tangle-mode’ will override the permissions from ‘:shebang’.  When
  16465 multiple source code blocks tangle to a single file with conflicting
  16466 ‘:tangle-mode’ header arguments, Org’s behavior is undefined.
  16467 
  16468    By default Org expands code blocks during tangling.  The ‘no-expand’
  16469 header argument turns off such expansions.  Note that one side-effect of
  16470 expansion by ‘org-babel-expand-src-block’ also assigns values (see *note
  16471 Environment of a Code Block::) to variables.  Expansions also replace
  16472 noweb references with their targets (see *note Noweb Reference
  16473 Syntax::).  Some of these expansions may cause premature assignment,
  16474 hence this option.  This option makes a difference only for tangling.
  16475 It has no effect when exporting since code blocks for execution have to
  16476 be expanded anyway.
  16477 
  16478 Functions
  16479 ---------
  16480 
  16481 ‘org-babel-tangle’
  16482      Tangle the current file.  Bound to ‘C-c C-v t’.
  16483 
  16484      With prefix argument only tangle the current code block.
  16485 
  16486 ‘org-babel-tangle-file’
  16487      Choose a file to tangle.  Bound to ‘C-c C-v f’.
  16488 
  16489 Tangle hooks
  16490 ------------
  16491 
  16492 ‘org-babel-pre-tangle-hook’
  16493      This hook is run before the tangle process begins.  The active
  16494      buffer is buffer to be tangled.
  16495 
  16496 ‘org-babel-tangle-body-hook’
  16497      This hook is run from a temporary buffer containing expanded code
  16498      of every tangled code block.  The hook can modify the expanded code
  16499      as needed.  The contents of the current buffer will be used as
  16500      actual code block expansion.
  16501 
  16502 ‘org-babel-post-tangle-hook’
  16503      This hook is run from within code files tangled by
  16504      ‘org-babel-tangle’, making it suitable for post-processing,
  16505      compilation, and evaluation of code in the tangled files.
  16506 
  16507 ‘org-babel-tangle-finished-hook’
  16508      This hook is run after post-tangle hooks, in the original buffer.
  16509 
  16510 Jumping between code and Org
  16511 ----------------------------
  16512 
  16513 Debuggers normally link errors and messages back to the source code.
  16514 But for tangled files, we want to link back to the Org file, not to the
  16515 tangled source file.  To make this extra jump, Org uses
  16516 ‘org-babel-tangle-jump-to-org’ function with two additional source code
  16517 block header arguments:
  16518 
  16519   1. Set ‘padline’ to true—this is the default setting.
  16520   2. Set ‘comments’ to ‘link’, which makes Org insert links to the Org
  16521      file.
  16522 
  16523 
  16524 File: org.info,  Node: Languages,  Next: Editing Source Code,  Prev: Extracting Source Code,  Up: Working with Source Code
  16525 
  16526 16.9 Languages
  16527 ==============
  16528 
  16529 Code blocks in dozens of languages are supported.  See Worg website for
  16530 language specific documentation
  16531 (https://orgmode.org/worg/org-contrib/babel/languages/index.html).
  16532 
  16533    By default, only Emacs Lisp is enabled for evaluation.  To enable or
  16534 disable other languages, customize the ‘org-babel-load-languages’
  16535 variable either through the Emacs customization interface, or by adding
  16536 code to the init file as shown next.
  16537 
  16538    In this example, evaluation is disabled for Emacs Lisp, and enabled
  16539 for R.
  16540 
  16541      (org-babel-do-load-languages
  16542       'org-babel-load-languages
  16543       '((emacs-lisp . nil)
  16544         (R . t)))
  16545 
  16546    Note that this is not the only way to enable a language.  Org also
  16547 enables languages when loaded with ‘require’ statement.  For example,
  16548 the following enables execution of Clojure code blocks:
  16549 
  16550      (require 'ob-clojure)
  16551 
  16552 
  16553 File: org.info,  Node: Editing Source Code,  Next: Noweb Reference Syntax,  Prev: Languages,  Up: Working with Source Code
  16554 
  16555 16.10 Editing Source Code
  16556 =========================
  16557 
  16558 Use ‘C-c '’ to edit the current code block.  It opens a new major mode
  16559 edit buffer containing the body of the source code block, ready for any
  16560 edits.  Use ‘C-c '’ again to close the buffer and return to the Org
  16561 buffer.
  16562 
  16563    ‘C-x C-s’ saves the buffer and updates the contents of the Org
  16564 buffer.  Set ‘org-edit-src-auto-save-idle-delay’ to save the base buffer
  16565 after a certain idle delay time.  Set ‘org-edit-src-turn-on-auto-save’
  16566 to auto-save this buffer into a separate file using Auto-save mode.
  16567 
  16568    While editing the source code in the major mode, the Org Src minor
  16569 mode remains active.  It provides these customization variables as
  16570 described below.  For even more variables, look in the customization
  16571 group ‘org-edit-structure’.
  16572 
  16573 ‘org-src-lang-modes’
  16574      If an Emacs major-mode named ‘<LANG>-mode’ exists, where <LANG> is
  16575      the language identifier from code block’s header line, then the
  16576      edit buffer uses that major mode.  Use this variable to arbitrarily
  16577      map language identifiers to major modes.
  16578 
  16579 ‘org-src-window-setup’
  16580      For specifying Emacs window arrangement when the new edit buffer is
  16581      created.
  16582 
  16583 ‘org-src-preserve-indentation’
  16584      Default is ‘nil’.  Source code is indented.  This indentation
  16585      applies during export or tangling, and depending on the context,
  16586      may alter leading spaces and tabs.  When non-‘nil’, source code is
  16587      aligned with the leftmost column.  No lines are modified during
  16588      export or tangling, which is very useful for white-space sensitive
  16589      languages, such as Python.
  16590 
  16591 ‘org-src-ask-before-returning-to-edit-buffer’
  16592      When ‘nil’, Org returns to the edit buffer without further prompts.
  16593      The default prompts for a confirmation.
  16594 
  16595    Set ‘org-src-fontify-natively’ to non-‘nil’ to turn on native code
  16596 fontification in the _Org_ buffer.  Fontification of code blocks can
  16597 give visual separation of text and code on the display page.  To further
  16598 customize the appearance of ‘org-block’ for specific languages,
  16599 customize ‘org-src-block-faces’.  The following example shades the
  16600 background of regular blocks, and colors source blocks only for Python
  16601 and Emacs Lisp languages.
  16602 
  16603      (require 'color)
  16604      (set-face-attribute 'org-block nil :background
  16605                          (color-darken-name
  16606                           (face-attribute 'default :background) 3))
  16607 
  16608      (setq org-src-block-faces '(("emacs-lisp" (:background "#EEE2FF"))
  16609                                  ("python" (:background "#E5FFB8"))))
  16610 
  16611 
  16612 File: org.info,  Node: Noweb Reference Syntax,  Next: Library of Babel,  Prev: Editing Source Code,  Up: Working with Source Code
  16613 
  16614 16.11 Noweb Reference Syntax
  16615 ============================
  16616 
  16617 Source code blocks can include references to other source code blocks,
  16618 using a noweb(1) style syntax:
  16619 
  16620      <<CODE-BLOCK-ID>>
  16621 
  16622 where CODE-BLOCK-ID refers to either the ‘NAME’ of a single source code
  16623 block, or a collection of one or more source code blocks sharing the
  16624 same ‘noweb-ref’ header argument (see *note Using Header Arguments::).
  16625 Org can replace such references with the source code of the block or
  16626 blocks being referenced, or, in the case of a single source code block
  16627 named with ‘NAME’, with the results of an evaluation of that block.
  16628 
  16629    The ‘noweb’ header argument controls expansion of noweb syntax
  16630 references.  Expansions occur when source code blocks are evaluated,
  16631 tangled, or exported.
  16632 
  16633 ‘no’
  16634      Default.  No expansion of noweb syntax references in the body of
  16635      the code when evaluating, tangling, or exporting.
  16636 
  16637 ‘yes’
  16638      Expansion of noweb syntax references in the body of the code block
  16639      when evaluating, tangling, or exporting.
  16640 
  16641 ‘tangle’
  16642      Expansion of noweb syntax references in the body of the code block
  16643      when tangling.  No expansion when evaluating or exporting.
  16644 
  16645 ‘strip-tangle’
  16646      Expansion of noweb syntax references in the body of the code block
  16647      when evaluating or exporting.  Removes noweb syntax references when
  16648      exporting.
  16649 
  16650 ‘no-export’
  16651      Expansion of noweb syntax references in the body of the code block
  16652      when evaluating or tangling.  No expansion when exporting.
  16653 
  16654 ‘strip-export’
  16655      Expansion of noweb syntax references in the body of the code block
  16656      when expanding prior to evaluating or tangling.  Removes noweb
  16657      syntax references when exporting.
  16658 
  16659 ‘eval’
  16660      Expansion of noweb syntax references in the body of the code block
  16661      only before evaluating.
  16662 
  16663    In the most simple case, the contents of a single source block is
  16664 inserted within other blocks.  Thus, in following example,
  16665 
  16666      #+NAME: initialization
  16667      #+BEGIN_SRC emacs-lisp
  16668        (setq sentence "Never a foot too far, even.")
  16669      #+END_SRC
  16670 
  16671      #+BEGIN_SRC emacs-lisp :noweb yes
  16672        <<initialization>>
  16673        (reverse sentence)
  16674      #+END_SRC
  16675 
  16676 the second code block is expanded as
  16677 
  16678      #+BEGIN_SRC emacs-lisp :noweb yes
  16679        (setq sentence "Never a foot too far, even.")
  16680        (reverse sentence)
  16681      #+END_SRC
  16682 
  16683    You may also include the contents of multiple blocks sharing a common
  16684 ‘noweb-ref’ header argument, which can be set at the file, subtree, or
  16685 code block level.  In the example Org file shown next, the body of the
  16686 source code in each block is extracted for concatenation to a pure code
  16687 file when tangled.
  16688 
  16689      #+BEGIN_SRC sh :tangle yes :noweb yes :shebang #!/bin/sh
  16690        <<fullest-disk>>
  16691      #+END_SRC
  16692      * the mount point of the fullest disk
  16693        :PROPERTIES:
  16694        :header-args: :noweb-ref fullest-disk
  16695        :END:
  16696 
  16697      ** query all mounted disks
  16698      #+BEGIN_SRC sh
  16699        df \
  16700      #+END_SRC
  16701 
  16702      ** strip the header row
  16703      #+BEGIN_SRC sh
  16704        |sed '1d' \
  16705      #+END_SRC
  16706 
  16707      ** output mount point of fullest disk
  16708      #+BEGIN_SRC sh
  16709        |awk '{if (u < +$5) {u = +$5; m = $6}} END {print m}'
  16710      #+END_SRC
  16711 
  16712    By default a newline separates each noweb reference concatenation.
  16713 To use a different separator, edit the ‘noweb-sep’ header argument.
  16714 
  16715    Alternatively, Org can include the results of evaluation of a single
  16716 code block rather than its body.  Evaluation occurs when parentheses,
  16717 possibly including arguments, are appended to the code block name, as
  16718 shown below.
  16719 
  16720      <<NAME(optional arguments)>>
  16721 
  16722    Note that in this case, a code block name set by ‘NAME’ keyword is
  16723 required; the reference set by ‘noweb-ref’ will not work when evaluation
  16724 is desired.
  16725 
  16726    Here is an example that demonstrates how the exported content changes
  16727 when noweb style references are used with parentheses versus without.
  16728 Given:
  16729 
  16730      #+NAME: some-code
  16731      #+BEGIN_SRC python :var num=0 :results output :exports none
  16732        print(num*10)
  16733      #+END_SRC
  16734 
  16735 this code block:
  16736 
  16737      #+BEGIN_SRC text :noweb yes
  16738        <<some-code>>
  16739      #+END_SRC
  16740 
  16741 expands to:
  16742 
  16743      print(num*10)
  16744 
  16745    Below, a similar noweb style reference is used, but with parentheses,
  16746 while setting a variable ‘num’ to 10:
  16747 
  16748      #+BEGIN_SRC text :noweb yes
  16749        <<some-code(num=10)>>
  16750      #+END_SRC
  16751 
  16752 Note that the expansion now contains the results of the code block
  16753 ‘some-code’, not the code block itself:
  16754 
  16755      100
  16756 
  16757    Noweb insertions honor prefix characters that appear before the noweb
  16758 syntax reference.  This behavior is illustrated in the following
  16759 example.  Because the ‘<<example>>’ noweb reference appears behind the
  16760 SQL comment syntax, each line of the expanded noweb reference is
  16761 commented.  With:
  16762 
  16763      #+NAME: example
  16764      #+BEGIN_SRC text
  16765        this is the
  16766        multi-line body of example
  16767      #+END_SRC
  16768 
  16769 this code block:
  16770 
  16771      #+BEGIN_SRC sql :noweb yes
  16772       ---<<example>>
  16773      #+END_SRC
  16774 
  16775 expands to:
  16776 
  16777      #+BEGIN_SRC sql :noweb yes
  16778       ---this is the
  16779       ---multi-line body of example
  16780      #+END_SRC
  16781 
  16782    Since this change does not affect noweb replacement text without
  16783 newlines in them, inline noweb references are acceptable.
  16784 
  16785    This feature can also be used for management of indentation in
  16786 exported code snippets.  With:
  16787 
  16788      #+NAME: if-true
  16789      #+BEGIN_SRC python :exports none
  16790        print('do things when true')
  16791      #+end_src
  16792 
  16793      #+name: if-false
  16794      #+begin_src python :exports none
  16795        print('do things when false')
  16796      #+end_src
  16797 
  16798 this code block:
  16799 
  16800      #+begin_src python :noweb yes :results output
  16801        if true:
  16802            <<if-true>>
  16803        else:
  16804            <<if-false>>
  16805      #+end_src
  16806 
  16807 expands to:
  16808 
  16809      if true:
  16810          print('do things when true')
  16811      else:
  16812          print('do things when false')
  16813 
  16814    This prefix behavior can be turned off in a block by setting the
  16815 ‘noweb-prefix’ header argument to ‘no’, as in:
  16816 
  16817      #+BEGIN_SRC elisp :noweb-prefix no
  16818        (setq example-data "<<example>>")
  16819      #+END_SRC
  16820 
  16821 which expands to:
  16822 
  16823      (setq example-data "this is the
  16824      multi-line body of example")
  16825 
  16826    When in doubt about the outcome of a source code block expansion, you
  16827 can preview the results with the following command:
  16828 
  16829 ‘C-c C-v v’ or ‘C-c C-v C-v’ (‘org-babel-expand-src-block’)
  16830      Expand the current source code block according to its header
  16831      arguments and pop open the results in a preview buffer.
  16832 
  16833    ---------- Footnotes ----------
  16834 
  16835    (1) For noweb literate programming details, see
  16836 <https://www.cs.tufts.edu/~nr/noweb/>.
  16837 
  16838 
  16839 File: org.info,  Node: Library of Babel,  Next: Key bindings and Useful Functions,  Prev: Noweb Reference Syntax,  Up: Working with Source Code
  16840 
  16841 16.12 Library of Babel
  16842 ======================
  16843 
  16844 The “Library of Babel” is a collection of code blocks.  Like a function
  16845 library, these code blocks can be called from other Org files.  A
  16846 collection of useful code blocks is available on Worg
  16847 (https://orgmode.org/worg/library-of-babel.html).  For remote code block
  16848 evaluation syntax, see *note Evaluating Code Blocks::.
  16849 
  16850    For any user to add code to the library, first save the code in
  16851 regular code blocks of an Org file, and then load the Org file with
  16852 ‘org-babel-lob-ingest’, which is bound to ‘C-c C-v i’.
  16853 
  16854 
  16855 File: org.info,  Node: Key bindings and Useful Functions,  Next: Batch Execution,  Prev: Library of Babel,  Up: Working with Source Code
  16856 
  16857 16.13 Key bindings and Useful Functions
  16858 =======================================
  16859 
  16860 Many common Org mode key sequences are re-bound depending on the
  16861 context.
  16862 
  16863    Active key bindings in code blocks:
  16864 
  16865 Key binding    Function
  16866 --------------------------------------------------------
  16867 ‘C-c C-c’      ‘org-babel-execute-src-block’
  16868 ‘C-c C-o’      ‘org-babel-open-src-block-result’
  16869 ‘M-<UP>’       ‘org-babel-load-in-session’
  16870 ‘M-<DOWN>’     ‘org-babel-pop-to-session’
  16871 
  16872    Active key bindings in Org mode buffer:
  16873 
  16874 Key binding                      Function
  16875 --------------------------------------------------------------------------
  16876 ‘C-c C-v p’ or ‘C-c C-v C-p’     ‘org-babel-previous-src-block’
  16877 ‘C-c C-v n’ or ‘C-c C-v C-n’     ‘org-babel-next-src-block’
  16878 ‘C-c C-v e’ or ‘C-c C-v C-e’     ‘org-babel-execute-maybe’
  16879 ‘C-c C-v o’ or ‘C-c C-v C-o’     ‘org-babel-open-src-block-result’
  16880 ‘C-c C-v v’ or ‘C-c C-v C-v’     ‘org-babel-expand-src-block’
  16881 ‘C-c C-v u’ or ‘C-c C-v C-u’     ‘org-babel-goto-src-block-head’
  16882 ‘C-c C-v g’ or ‘C-c C-v C-g’     ‘org-babel-goto-named-src-block’
  16883 ‘C-c C-v r’ or ‘C-c C-v C-r’     ‘org-babel-goto-named-result’
  16884 ‘C-c C-v b’ or ‘C-c C-v C-b’     ‘org-babel-execute-buffer’
  16885 ‘C-c C-v s’ or ‘C-c C-v C-s’     ‘org-babel-execute-subtree’
  16886 ‘C-c C-v d’ or ‘C-c C-v C-d’     ‘org-babel-demarcate-block’
  16887 ‘C-c C-v t’ or ‘C-c C-v C-t’     ‘org-babel-tangle’
  16888 ‘C-c C-v f’ or ‘C-c C-v C-f’     ‘org-babel-tangle-file’
  16889 ‘C-c C-v c’ or ‘C-c C-v C-c’     ‘org-babel-check-src-block’
  16890 ‘C-c C-v j’ or ‘C-c C-v C-j’     ‘org-babel-insert-header-arg’
  16891 ‘C-c C-v l’ or ‘C-c C-v C-l’     ‘org-babel-load-in-session’
  16892 ‘C-c C-v i’ or ‘C-c C-v C-i’     ‘org-babel-lob-ingest’
  16893 ‘C-c C-v I’ or ‘C-c C-v C-I’     ‘org-babel-view-src-block-info’
  16894 ‘C-c C-v z’ or ‘C-c C-v C-z’     ‘org-babel-switch-to-session-with-code’
  16895 ‘C-c C-v a’ or ‘C-c C-v C-a’     ‘org-babel-sha1-hash’
  16896 ‘C-c C-v h’ or ‘C-c C-v C-h’     ‘org-babel-describe-bindings’
  16897 ‘C-c C-v x’ or ‘C-c C-v C-x’     ‘org-babel-do-key-sequence-in-edit-buffer’
  16898 
  16899 
  16900 File: org.info,  Node: Batch Execution,  Prev: Key bindings and Useful Functions,  Up: Working with Source Code
  16901 
  16902 16.14 Batch Execution
  16903 =====================
  16904 
  16905 Org mode features, including working with source code facilities can be
  16906 invoked from the command line.  This enables building shell scripts for
  16907 batch processing, running automated system tasks, and expanding Org
  16908 mode’s usefulness.
  16909 
  16910    The sample script shows batch processing of multiple files using
  16911 ‘org-babel-tangle’.
  16912 
  16913      #!/bin/sh
  16914      # Tangle files with Org mode
  16915      #
  16916      emacs -Q --batch --eval "
  16917          (progn
  16918            (require 'ob-tangle)
  16919            (dolist (file command-line-args-left)
  16920              (with-current-buffer (find-file-noselect file)
  16921                (org-babel-tangle))))
  16922        " "$@"
  16923 
  16924 
  16925 File: org.info,  Node: Miscellaneous,  Next: Hacking,  Prev: Working with Source Code,  Up: Top
  16926 
  16927 17 Miscellaneous
  16928 ****************
  16929 
  16930 * Menu:
  16931 
  16932 * Completion::                   ‘M-<TAB>’ guesses completions.
  16933 * Structure Templates::          Quick insertion of structural elements.
  16934 * Speed Keys::                   Electric commands at the beginning of a headline.
  16935 * Clean View::                   Getting rid of leading stars in the outline.
  16936 * Execute commands in the active region:: Execute commands on multiple items in Org or agenda view.
  16937 * Dynamic Headline Numbering::   Display and update outline numbering.
  16938 * The Very Busy C-c C-c Key:: When in doubt, press ‘C-c C-c’.
  16939 * In-buffer Settings::           Overview of keywords.
  16940 * Regular Expressions::          Elisp regular expressions.
  16941 * Org Syntax::                   Formal description of Org’s syntax.
  16942 * Documentation Access::         Read documentation about current syntax.
  16943 * Escape Character::             Prevent Org from interpreting your writing.
  16944 * Code Evaluation Security::     Org files evaluate in-line code.
  16945 * Interaction::                  With other Emacs packages.
  16946 * TTY Keys::                     Using Org on a tty.
  16947 * Protocols::                    External access to Emacs and Org.
  16948 * Org Crypt::                    Encrypting Org files.
  16949 * Org Mobile::                   Viewing and capture on a mobile device.
  16950 
  16951 
  16952 File: org.info,  Node: Completion,  Next: Structure Templates,  Up: Miscellaneous
  16953 
  16954 17.1 Completion
  16955 ===============
  16956 
  16957 Org has in-buffer completions.  Unlike minibuffer completions, which are
  16958 useful for quick command interactions, Org’s in-buffer completions are
  16959 more suitable for content creation in Org documents.  Type one or more
  16960 letters and invoke the hot key to complete the text in-place.  Depending
  16961 on the context and the keys, Org offers different types of completions.
  16962 No minibuffer is involved.  Such mode-specific hot keys have become an
  16963 integral part of Emacs and Org provides several shortcuts.
  16964 
  16965 ‘M-<TAB>’
  16966 
  16967      Complete word at point.
  16968 
  16969         • At the beginning of an empty headline, complete TODO keywords.
  16970 
  16971         • After ‘\’, complete TeX symbols supported by the exporter.
  16972 
  16973         • After ‘:’ in a headline, complete tags.  Org deduces the list
  16974           of tags from the ‘TAGS’ in-buffer option (see *note Setting
  16975           Tags::), the variable ‘org-tag-alist’, or from all tags used
  16976           in the current buffer.
  16977 
  16978         • After ‘:’ and not in a headline, complete property keys.  The
  16979           list of keys is constructed dynamically from all keys used in
  16980           the current buffer.
  16981 
  16982         • After ‘[[’, complete link abbreviations (see *note Link
  16983           Abbreviations::).
  16984 
  16985         • After ‘[[*’, complete headlines in the current buffer so that
  16986           they can be used in search links like: ‘[[*find this
  16987           headline]]’
  16988 
  16989         • After ‘#+’, complete the special keywords like ‘TYP_TODO’ or
  16990           file-specific ‘OPTIONS’.  After option keyword is complete,
  16991           pressing ‘M-<TAB>’ again inserts example settings for this
  16992           keyword.
  16993 
  16994         • After ‘STARTUP’ keyword, complete startup items.
  16995 
  16996         • When point is anywhere else, complete dictionary words using
  16997           Ispell.
  16998 
  16999 
  17000 File: org.info,  Node: Structure Templates,  Next: Speed Keys,  Prev: Completion,  Up: Miscellaneous
  17001 
  17002 17.2 Structure Templates
  17003 ========================
  17004 
  17005 With just a few keystrokes, it is possible to insert empty structural
  17006 blocks, such as ‘#+BEGIN_SRC’ ... ‘#+END_SRC’, or to wrap existing text
  17007 in such a block.
  17008 
  17009 ‘C-c C-,’ (‘org-insert-structure-template’)
  17010      Prompt for a type of block structure, and insert the block at
  17011      point.  If the region is active, it is wrapped in the block.  First
  17012      prompts the user for keys, which are used to look up a structure
  17013      type from the variable below.  If the key is ‘<TAB>’, ‘<RET>’, or
  17014      ‘<SPC>’, the user is prompted to enter a block type.
  17015 
  17016    Available structure types are defined in
  17017 ‘org-structure-template-alist’, see the docstring for adding or changing
  17018 values.
  17019 
  17020    Org Tempo expands snippets to structures defined in
  17021 ‘org-structure-template-alist’ and ‘org-tempo-keywords-alist’.  For
  17022 example, ‘< s <TAB>’ creates a code block.  Enable it by customizing
  17023 ‘org-modules’ or add ‘(require 'org-tempo)’ to your Emacs init file(1).
  17024 
  17025 ‘a’     ‘#+BEGIN_EXPORT ascii’ ... ‘#+END_EXPORT’
  17026 ‘c’     ‘#+BEGIN_CENTER’ ... ‘#+END_CENTER’
  17027 ‘C’     ‘#+BEGIN_COMMENT’ ... ‘#+END_COMMENT’
  17028 ‘e’     ‘#+BEGIN_EXAMPLE’ ... ‘#+END_EXAMPLE’
  17029 ‘E’     ‘#+BEGIN_EXPORT’ ... ‘#+END_EXPORT’
  17030 ‘h’     ‘#+BEGIN_EXPORT html’ ... ‘#+END_EXPORT’
  17031 ‘l’     ‘#+BEGIN_EXPORT latex’ ... ‘#+END_EXPORT’
  17032 ‘q’     ‘#+BEGIN_QUOTE’ ... ‘#+END_QUOTE’
  17033 ‘s’     ‘#+BEGIN_SRC’ ... ‘#+END_SRC’
  17034 ‘v’     ‘#+BEGIN_VERSE’ ... ‘#+END_VERSE’
  17035 
  17036    ---------- Footnotes ----------
  17037 
  17038    (1) For more information, please refer to the commentary section in
  17039 ‘org-tempo.el’.
  17040 
  17041 
  17042 File: org.info,  Node: Speed Keys,  Next: Clean View,  Prev: Structure Templates,  Up: Miscellaneous
  17043 
  17044 17.3 Speed Keys
  17045 ===============
  17046 
  17047 Single keystrokes can execute custom commands in an Org file when point
  17048 is on a headline.  Without the extra burden of a meta or modifier key,
  17049 Speed Keys can speed navigation or execute custom commands.  Besides
  17050 faster navigation, Speed Keys may come in handy on small mobile devices
  17051 that do not have full keyboards.  Speed Keys may also work on TTY
  17052 devices known for their problems when entering Emacs key chords.
  17053 
  17054    By default, Org has Speed Keys disabled.  To activate Speed Keys, set
  17055 the variable ‘org-use-speed-commands’ to a non-‘nil’ value.  To trigger
  17056 a Speed Key, point must be at the beginning of an Org headline, before
  17057 any of the stars.
  17058 
  17059    Org comes with a pre-defined list of Speed Keys.  To add or modify
  17060 Speed Keys, customize the option ‘org-speed-commands’.  For more
  17061 details, see the variable’s docstring.  With Speed Keys activated, ‘M-x
  17062 org-speed-command-help’, or ‘?’ when point is at the beginning of an Org
  17063 headline, shows currently active Speed Keys, including the user-defined
  17064 ones.
  17065 
  17066 
  17067 File: org.info,  Node: Clean View,  Next: Execute commands in the active region,  Prev: Speed Keys,  Up: Miscellaneous
  17068 
  17069 17.4 A Cleaner Outline View
  17070 ===========================
  17071 
  17072 Org’s outline with stars and no indents can look cluttered for short
  17073 documents.  For _book-like_ long documents, the effect is not as
  17074 noticeable.  Org provides an alternate stars and indentation scheme, as
  17075 shown on the right in the following table.  It displays only one star
  17076 and indents text to line up with the heading:
  17077 
  17078      * Top level headline             |    * Top level headline
  17079      ** Second level                  |      * Second level
  17080      *** Third level                  |        * Third level
  17081      some text                        |          some text
  17082      *** Third level                  |        * Third level
  17083      more text                        |          more text
  17084      * Another top level headline     |    * Another top level headline
  17085 
  17086    Org can achieve this in two ways, (1) by just displaying the buffer
  17087 in this way without changing it, or (2) by actually indenting every line
  17088 in the desired amount with hard spaces and hiding leading stars.
  17089 
  17090 * Menu:
  17091 
  17092 * Org Indent Mode::
  17093 * Hard indentation::
  17094 
  17095 
  17096 File: org.info,  Node: Org Indent Mode,  Next: Hard indentation,  Up: Clean View
  17097 
  17098 17.4.1 Org Indent Mode
  17099 ----------------------
  17100 
  17101 To display the buffer in the indented view, activate Org Indent minor
  17102 mode, using ‘M-x org-indent-mode’.  Text lines that are not headlines
  17103 are prefixed with virtual spaces to vertically align with the headline
  17104 text(1).
  17105 
  17106    To make more horizontal space, the headlines are shifted by two
  17107 characters.  Configure ‘org-indent-indentation-per-level’ variable for a
  17108 different number.
  17109 
  17110    By default, Org Indent mode turns off ‘org-adapt-indentation’ and
  17111 does hide leading stars by locally setting ‘org-hide-leading-stars’ to
  17112 ‘t’: only one star on each headline is visible, the rest are masked with
  17113 the same font color as the background.  If you want to customize this
  17114 default behavior, see ‘org-indent-mode-turns-on-hiding-stars’ and
  17115 ‘org-indent-mode-turns-off-org-adapt-indentation’.
  17116 
  17117    To globally turn on Org Indent mode for all files, customize the
  17118 variable ‘org-startup-indented’.  To control it for individual files,
  17119 use ‘STARTUP’ keyword as follows:
  17120 
  17121      #+STARTUP: indent
  17122      #+STARTUP: noindent
  17123 
  17124    ---------- Footnotes ----------
  17125 
  17126    (1) Org Indent mode also sets ‘wrap-prefix’ correctly for indenting
  17127 and wrapping long lines of headlines or text.  This minor mode also
  17128 handles Visual Line mode and directly applied settings through
  17129 ‘word-wrap’.
  17130 
  17131 
  17132 File: org.info,  Node: Hard indentation,  Prev: Org Indent Mode,  Up: Clean View
  17133 
  17134 17.4.2 Hard indentation
  17135 -----------------------
  17136 
  17137 It is possible to use hard spaces to achieve the indentation instead, if
  17138 the bare ASCII file should have the indented look also outside Emacs(1).
  17139 With Org’s support, you have to indent all lines to line up with the
  17140 outline headers.  You would use these settings(2):
  17141 
  17142      (setq org-adapt-indentation t
  17143            org-hide-leading-stars t
  17144            org-odd-levels-only t)
  17145 
  17146 _Indentation of text below headlines_ (‘org-adapt-indentation’)
  17147      The first setting modifies paragraph filling, line wrapping, and
  17148      structure editing commands to preserving or adapting the
  17149      indentation as appropriate.
  17150 
  17151 _Hiding leading stars_ (‘org-hide-leading-stars’)
  17152      The second setting makes leading stars invisible by applying the
  17153      face ‘org-hide’ to them.  For per-file preference, use these file
  17154      ‘STARTUP’ options:
  17155 
  17156           #+STARTUP: hidestars
  17157           #+STARTUP: showstars
  17158 
  17159 _Odd levels_ (‘org-odd-levels-only’)
  17160      The third setting makes Org use only odd levels, 1, 3, 5, ..., in
  17161      the outline to create more indentation.  On a per-file level,
  17162      control this with:
  17163 
  17164           #+STARTUP: odd
  17165           #+STARTUP: oddeven
  17166 
  17167      To convert a file between single and double stars layouts, use ‘M-x
  17168      org-convert-to-odd-levels’ and ‘M-x org-convert-to-oddeven-levels’.
  17169 
  17170    ---------- Footnotes ----------
  17171 
  17172    (1) This works, but requires extra effort.  Org Indent mode is more
  17173 convenient for most applications.
  17174 
  17175    (2) ‘org-adapt-indentation’ can also be set to ‘'headline-data’, in
  17176 which case only data lines below the headline will be indented.
  17177 
  17178 
  17179 File: org.info,  Node: Execute commands in the active region,  Next: Dynamic Headline Numbering,  Prev: Clean View,  Up: Miscellaneous
  17180 
  17181 17.5 Execute commands in the active region
  17182 ==========================================
  17183 
  17184 When in an Org buffer and the region is active, some commands will apply
  17185 to all the subtrees in the active region.  For example, hitting ‘C-c
  17186 C-s’ when multiple headlines are within the active region will
  17187 successively prompt you for a new schedule date and time.  To disable
  17188 this, set the option ‘org-loop-over-headlines-in-active-region’ to
  17189 non-‘t’, activate the region and run the command normally.
  17190 
  17191    ‘org-agenda-loop-over-headlines-in-active-region’ is the equivalent
  17192 option of the agenda buffer, where you can also use *note bulk editing
  17193 of selected entries: Bulk remote editing selected entries.
  17194 
  17195    Not all commands can loop in the active region and what subtrees or
  17196 headlines are considered can be refined: see the docstrings of these
  17197 options for more details.
  17198 
  17199 
  17200 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
  17201 
  17202 17.6 Dynamic Headline Numbering
  17203 ===============================
  17204 
  17205 The Org Num minor mode, toggled with ‘M-x org-num-mode’, displays
  17206 outline numbering on top of headlines.  It also updates it automatically
  17207 upon changes to the structure of the document.
  17208 
  17209    By default, all headlines are numbered.  You can limit numbering to
  17210 specific headlines according to their level, tags, ‘COMMENT’ keyword, or
  17211 ‘UNNUMBERED’ property.  Set ‘org-num-max-level’, ‘org-num-skip-tags’,
  17212 ‘org-num-skip-commented’, ‘org-num-skip-unnumbered’, or
  17213 ‘org-num-skip-footnotes’ accordingly.
  17214 
  17215    If ‘org-num-skip-footnotes’ is non-‘nil’, footnotes sections (see
  17216 *note Creating Footnotes::) are not numbered either.
  17217 
  17218    You can control how the numbering is displayed by setting
  17219 ‘org-num-face’ and ‘org-num-format-function’.
  17220 
  17221    You can also turn this mode globally for all Org files by setting the
  17222 option ‘org-startup-numerated’ to ‘t’, or locally on a file by using
  17223 ‘#+startup: num’.
  17224 
  17225 
  17226 File: org.info,  Node: The Very Busy C-c C-c Key,  Next: In-buffer Settings,  Prev: Dynamic Headline Numbering,  Up: Miscellaneous
  17227 
  17228 17.7 The Very Busy ‘C-c C-c’ Key
  17229 ================================
  17230 
  17231 The ‘C-c C-c’ key in Org serves many purposes depending on the context.
  17232 It is probably the most over-worked, multi-purpose key combination in
  17233 Org.  Its uses are well documented throughout this manual, but here is a
  17234 consolidated list for easy reference.
  17235 
  17236    • If column view (see *note Column View::) is on, exit column view.
  17237 
  17238    • If any highlights shown in the buffer from the creation of a sparse
  17239      tree, or from clock display, remove such highlights.
  17240 
  17241    • If point is in one of the special ‘KEYWORD’ lines, scan the buffer
  17242      for these lines and update the information.  Also reset the Org
  17243      file cache used to temporary store the contents of URLs used as
  17244      values for keywords like ‘SETUPFILE’.
  17245 
  17246    • If point is inside a table, realign the table.
  17247 
  17248    • If point is on a ‘TBLFM’ keyword, re-apply the formulas to the
  17249      entire table.
  17250 
  17251    • If the current buffer is a capture buffer, close the note and file
  17252      it.  With a prefix argument, also jump to the target location after
  17253      saving the note.
  17254 
  17255    • If point is on a ‘<<<target>>>’, update radio targets and
  17256      corresponding links in this buffer.
  17257 
  17258    • If point is on a property line or at the start or end of a property
  17259      drawer, offer property commands.
  17260 
  17261    • If point is at a footnote reference, go to the corresponding
  17262      definition, and _vice versa_.
  17263 
  17264    • If point is on a statistics cookie, update it.
  17265 
  17266    • If point is in a plain list item with a checkbox, toggle the status
  17267      of the checkbox.
  17268 
  17269    • If point is on a numbered item in a plain list, renumber the
  17270      ordered list.
  17271 
  17272    • If point is on the ‘#+BEGIN’ line of a dynamic block, the block is
  17273      updated.
  17274 
  17275    • If point is at a timestamp, fix the day name in the timestamp.
  17276 
  17277 
  17278 File: org.info,  Node: In-buffer Settings,  Next: Regular Expressions,  Prev: The Very Busy C-c C-c Key,  Up: Miscellaneous
  17279 
  17280 17.8 Summary of In-Buffer Settings
  17281 ==================================
  17282 
  17283 In-buffer settings start with ‘#+’, followed by a keyword, a colon, one
  17284 or more spaces, and then a word for each setting.  Org accepts multiple
  17285 settings on the same line.  Org also accepts multiple lines for a
  17286 keyword.  This manual describes these settings throughout.  A summary
  17287 follows here.
  17288 
  17289    ‘C-c C-c’ activates any changes to the in-buffer settings.  Closing
  17290 and reopening the Org file in Emacs also activates the changes.
  17291 
  17292 ‘#+ARCHIVE: %s_done::’
  17293      Sets the archive location of the agenda file.  The corresponding
  17294      variable is ‘org-archive-location’.
  17295 
  17296 ‘#+CATEGORY’
  17297      Sets the category of the agenda file, which applies to the entire
  17298      document.
  17299 
  17300 ‘#+COLUMNS: %25ITEM ...’
  17301      Set the default format for columns view.  This format applies when
  17302      columns view is invoked in locations where no ‘COLUMNS’ property
  17303      applies.
  17304 
  17305 ‘#+CONSTANTS: name1=value1 ...’
  17306      Set file-local values for constants that table formulas can use.
  17307      This line sets the local variable
  17308      ‘org-table-formula-constants-local’.  The global version of this
  17309      variable is ‘org-table-formula-constants’.
  17310 
  17311 ‘#+FILETAGS: :tag1:tag2:tag3:’
  17312      Set tags that all entries in the file inherit from, including the
  17313      top-level entries.
  17314 
  17315 ‘#+LINK: linkword replace’
  17316      Each line specifies one abbreviation for one link.  Use multiple
  17317      ‘LINK’ keywords for more, see *note Link Abbreviations::.  The
  17318      corresponding variable is ‘org-link-abbrev-alist’.
  17319 
  17320 ‘#+PRIORITIES: highest lowest default’
  17321      This line sets the limits and the default for the priorities.  All
  17322      three must be either letters A–Z or numbers 0–9.  The highest
  17323      priority must have a lower ASCII number than the lowest priority.
  17324 
  17325 ‘#+PROPERTY: Property_Name Value’
  17326      This line sets a default inheritance value for entries in the
  17327      current buffer, most useful for specifying the allowed values of a
  17328      property.
  17329 
  17330 ‘#+SETUPFILE: file’
  17331      The setup file or a URL pointing to such file is for additional
  17332      in-buffer settings.  Org loads this file and parses it for any
  17333      settings in it only when Org opens the main file.  If URL is
  17334      specified, the contents are downloaded and stored in a temporary
  17335      file cache.  ‘C-c C-c’ on the settings line parses and loads the
  17336      file, and also resets the temporary file cache.  Org also parses
  17337      and loads the document during normal exporting process.  Org parses
  17338      the contents of this document as if it was included in the buffer.
  17339      It can be another Org file.  To visit the file—not a URL—use ‘C-c
  17340      '’ while point is on the line with the file name.
  17341 
  17342 ‘#+STARTUP:’
  17343      Startup options Org uses when first visiting a file.
  17344 
  17345      The first set of options deals with the initial visibility of the
  17346      outline tree.  The corresponding variable for global default
  17347      settings is ‘org-startup-folded’ with a default value of
  17348      ‘showeverything’.
  17349 
  17350      ‘overview’         Top-level headlines only.
  17351      ‘content’          All headlines.
  17352      ‘showall’          No folding on any entry.
  17353      ‘show2levels’      Headline levels 1-2.
  17354      ‘show3levels’      Headline levels 1-3.
  17355      ‘show4levels’      Headline levels 1-4.
  17356      ‘show5levels’      Headline levels 1-5.
  17357      ‘showeverything’   Show even drawer contents.
  17358 
  17359      Dynamic virtual indentation is controlled by the variable
  17360      ‘org-startup-indented’(1).
  17361 
  17362      ‘indent’     Start with Org Indent mode turned on.
  17363      ‘noindent’   Start with Org Indent mode turned off.
  17364 
  17365      Dynamic virtual numeration of headlines is controlled by the
  17366      variable ‘org-startup-numerated’.
  17367 
  17368      ‘num’     Start with Org num mode turned on.
  17369      ‘nonum’   Start with Org num mode turned off.
  17370 
  17371      Aligns tables consistently upon visiting a file.  The corresponding
  17372      variable is ‘org-startup-align-all-tables’ with ‘nil’ as default
  17373      value.
  17374 
  17375      ‘align’     Align all tables.
  17376      ‘noalign’   Do not align tables on startup.
  17377 
  17378      Shrink table columns with a width cookie.  The corresponding
  17379      variable is ‘org-startup-shrink-all-tables’ with ‘nil’ as default
  17380      value.
  17381 
  17382      When visiting a file, inline images can be automatically displayed.
  17383      The corresponding variable is ‘org-startup-with-inline-images’,
  17384      with a default value ‘nil’ to avoid delays when visiting a file.
  17385 
  17386      ‘inlineimages’     Show inline images.
  17387      ‘noinlineimages’   Do not show inline images on startup.
  17388 
  17389      Logging the closing and reopening of TODO items and clock intervals
  17390      can be configured using these options (see variables
  17391      ‘org-log-done’, ‘org-log-note-clock-out’, and ‘org-log-repeat’).
  17392 
  17393      ‘logdone’              Record a timestamp when an item is marked as done.
  17394      ‘lognotedone’          Record timestamp and a note when DONE.
  17395      ‘nologdone’            Do not record when items are marked as done.
  17396      ‘logrepeat’            Record a time when reinstating a repeating item.
  17397      ‘lognoterepeat’        Record a note when reinstating a repeating item.
  17398      ‘nologrepeat’          Do not record when reinstating repeating item.
  17399      ‘lognoteclock-out’     Record a note when clocking out.
  17400      ‘nolognoteclock-out’   Do not record a note when clocking out.
  17401      ‘logreschedule’        Record a timestamp when scheduling time changes.
  17402      ‘lognotereschedule’    Record a note when scheduling time changes.
  17403      ‘nologreschedule’      Do not record when a scheduling date changes.
  17404      ‘logredeadline’        Record a timestamp when deadline changes.
  17405      ‘lognoteredeadline’    Record a note when deadline changes.
  17406      ‘nologredeadline’      Do not record when a deadline date changes.
  17407      ‘logrefile’            Record a timestamp when refiling.
  17408      ‘lognoterefile’        Record a note when refiling.
  17409      ‘nologrefile’          Do not record when refiling.
  17410 
  17411      Here are the options for hiding leading stars in outline headings,
  17412      and for indenting outlines.  The corresponding variables are
  17413      ‘org-hide-leading-stars’ and ‘org-odd-levels-only’, both with a
  17414      default setting ‘nil’ (meaning ‘showstars’ and ‘oddeven’).
  17415 
  17416      ‘hidestars’   Make all but one of the stars starting a headline invisible.
  17417      ‘showstars’   Show all stars starting a headline.
  17418      ‘indent’      Virtual indentation according to outline level.
  17419      ‘noindent’    No virtual indentation according to outline level.
  17420      ‘odd’         Allow only odd outline levels (1, 3, ...).
  17421      ‘oddeven’     Allow all outline levels.
  17422 
  17423      To turn on custom format overlays over timestamps (variables
  17424      ‘org-put-time-stamp-overlays’ and
  17425      ‘org-time-stamp-overlay-formats’), use:
  17426 
  17427      ‘customtime’   Overlay custom time format.
  17428 
  17429      The following options influence the table spreadsheet (variable
  17430      ‘constants-unit-system’).
  17431 
  17432      ‘constcgs’   ‘constants.el’ should use the c-g-s unit system.
  17433      ‘constSI’    ‘constants.el’ should use the SI unit system.
  17434 
  17435      To influence footnote settings, use the following keywords.  The
  17436      corresponding variables are ‘org-footnote-define-inline’,
  17437      ‘org-footnote-auto-label’, and ‘org-footnote-auto-adjust’.
  17438 
  17439      ‘fninline’     Define footnotes inline.
  17440      ‘fnnoinline’   Define footnotes in separate section.
  17441      ‘fnlocal’      Define footnotes near first reference, but not inline.
  17442      ‘fnprompt’     Prompt for footnote labels.
  17443      ‘fnauto’       Create ‘[fn:1]’-like labels automatically (default).
  17444      ‘fnconfirm’    Offer automatic label for editing or confirmation.
  17445      ‘fnadjust’     Automatically renumber and sort footnotes.
  17446      ‘nofnadjust’   Do not renumber and sort automatically.
  17447 
  17448      To hide blocks or drawers on startup, use these keywords.  The
  17449      corresponding variables are ‘org-hide-block-startup’ and
  17450      ‘org-hide-drawer-startup’.
  17451 
  17452      ‘hideblocks’      Hide all begin/end blocks on startup.
  17453      ‘nohideblocks’    Do not hide blocks on startup.
  17454      ‘hidedrawers’     Hide all begin/end blocks on startup.
  17455      ‘nohidedrawers’   Do not hide blocks on startup.
  17456 
  17457    The display of entities as UTF-8 characters is governed by the
  17458 variable ‘org-pretty-entities’ and the keywords
  17459 
  17460 ‘entitiespretty’   Show entities as UTF-8 characters where possible.
  17461 ‘entitiesplain’    Leave entities plain.
  17462 
  17463 ‘#+TAGS: TAG1(c1) TAG2(c2)’
  17464      These lines (several such lines are allowed) specify the valid tags
  17465      in this file, and (potentially) the corresponding _fast tag
  17466      selection_ keys.  The corresponding variable is ‘org-tag-alist’.
  17467 
  17468 ‘#+TODO:’, ‘#+SEQ_TODO:’, ‘#+TYP_TODO:’
  17469      These lines set the TODO keywords and their interpretation in the
  17470      current file.  The corresponding variable is ‘org-todo-keywords’.
  17471 
  17472    ---------- Footnotes ----------
  17473 
  17474    (1) Note that Org Indent mode also sets the ‘wrap-prefix’ property,
  17475 such that Visual Line mode (or purely setting ‘word-wrap’) wraps long
  17476 lines, including headlines, correctly indented.
  17477 
  17478 
  17479 File: org.info,  Node: Regular Expressions,  Next: Org Syntax,  Prev: In-buffer Settings,  Up: Miscellaneous
  17480 
  17481 17.9 Regular Expressions
  17482 ========================
  17483 
  17484 Org, as an Emacs mode, makes use of Elisp regular expressions for
  17485 searching, matching and filtering.  Elisp regular expressions have a
  17486 somewhat different syntax then some common standards.  Most notably,
  17487 alternation is indicated using ‘\|’ and matching groups are denoted by
  17488 ‘\(...\)’.  For example the string ‘home\|work’ matches either ‘home’ or
  17489 ‘work’.
  17490 
  17491    For more information, see *note Regular Expressions in Emacs:
  17492 (emacs)Regexps.
  17493 
  17494 
  17495 File: org.info,  Node: Org Syntax,  Next: Documentation Access,  Prev: Regular Expressions,  Up: Miscellaneous
  17496 
  17497 17.10 Org Syntax
  17498 ================
  17499 
  17500 A reference document providing a formal description of Org’s syntax is
  17501 available as a draft on Worg
  17502 (https://orgmode.org/worg/dev/org-syntax.html), written and maintained
  17503 by Nicolas Goaziou.  It defines Org’s core internal concepts such as
  17504 “headlines”, “sections”, “affiliated keywords”, “(greater) elements” and
  17505 “objects”.  Each part of an Org document belongs to one of the previous
  17506 categories.
  17507 
  17508    To explore the abstract structure of an Org buffer, run this in a
  17509 buffer:
  17510 
  17511      M-: (org-element-parse-buffer) <RET>
  17512 
  17513 It outputs a list containing the buffer’s content represented as an
  17514 abstract structure.  The export engine relies on the information stored
  17515 in this list.  Most interactive commands—e.g., for structure
  17516 editing—also rely on the syntactic meaning of the surrounding context.
  17517 
  17518    You can probe the syntax of your documents with the command
  17519 
  17520      M-x org-lint <RET>
  17521 
  17522 It runs a number of checks to find common mistakes.  It then displays
  17523 their location in a dedicated buffer, along with a description and a
  17524 “trust level”, since false-positive are possible.  From there, you can
  17525 operate on the reports with the following keys:
  17526 
  17527 ‘C-j’, ‘<TAB>’   Display the offending line
  17528 ‘<RET>’          Move point to the offending line
  17529 ‘g’              Check the document again
  17530 ‘h’              Hide all reports from the same checker
  17531 ‘i’              Also remove them from all subsequent checks
  17532 ‘S’              Sort reports by the column at point
  17533 
  17534 
  17535 File: org.info,  Node: Documentation Access,  Next: Escape Character,  Prev: Org Syntax,  Up: Miscellaneous
  17536 
  17537 17.11 Context Dependent Documentation
  17538 =====================================
  17539 
  17540 ‘C-c C-x I’ in an Org file tries to open a suitable section of the Org
  17541 manual depending on the syntax at point.  For example, using it on a
  17542 headline displays “Document Structure” section.
  17543 
  17544    ‘q’ closes the Info window.
  17545 
  17546 
  17547 File: org.info,  Node: Escape Character,  Next: Code Evaluation Security,  Prev: Documentation Access,  Up: Miscellaneous
  17548 
  17549 17.12 Escape Character
  17550 ======================
  17551 
  17552 You may sometimes want to write text that looks like Org syntax, but
  17553 should really read as plain text.  Org may use a specific escape
  17554 character in some situations, i.e., a backslash in macros (see *note
  17555 Macro Replacement::) and links (see *note Link Format::), or a comma in
  17556 source and example blocks (see *note Literal Examples::).  In the
  17557 general case, however, we suggest to use the zero width space.  You can
  17558 insert one with any of the following:
  17559 
  17560      C-x 8 <RET> zero width space <RET>
  17561      C-x 8 <RET> 200B <RET>
  17562 
  17563    For example, in order to write ‘[[1,2]]’ as-is in your document, you
  17564 may write instead
  17565 
  17566      [X[1,2]]
  17567 
  17568    where ‘X’ denotes the zero width space character.
  17569 
  17570 
  17571 File: org.info,  Node: Code Evaluation Security,  Next: Interaction,  Prev: Escape Character,  Up: Miscellaneous
  17572 
  17573 17.13 Code Evaluation and Security Issues
  17574 =========================================
  17575 
  17576 Unlike plain text, running code comes with risk.  Each source code
  17577 block, in terms of risk, is equivalent to an executable file.  Org
  17578 therefore puts a few confirmation prompts by default.  This is to alert
  17579 the casual user from accidentally running untrusted code.
  17580 
  17581    For users who do not run code blocks or write code regularly, Org’s
  17582 default settings should suffice.  However, some users may want to tweak
  17583 the prompts for fewer interruptions.  To weigh the risks of automatic
  17584 execution of code blocks, here are some details about code evaluation.
  17585 
  17586    Org evaluates code in the following circumstances:
  17587 
  17588 _Source code blocks_
  17589      Org evaluates source code blocks in an Org file during export.  Org
  17590      also evaluates a source code block with the ‘C-c C-c’ key chord.
  17591      Users exporting or running code blocks must load files only from
  17592      trusted sources.  Be wary of customizing variables that remove or
  17593      alter default security measures.
  17594 
  17595       -- User Option: org-confirm-babel-evaluate
  17596           When ‘t’, Org prompts the user for confirmation before
  17597           executing each code block.  When ‘nil’, Org executes code
  17598           blocks without prompting the user for confirmation.  When this
  17599           option is set to a custom function, Org invokes the function
  17600           with these two arguments: the source code language and the
  17601           body of the code block.  The custom function must return
  17602           either a ‘t’ or ‘nil’, which determines if the user is
  17603           prompted.  Each source code language can be handled separately
  17604           through this function argument.
  17605 
  17606      For example, here is how to execute ditaa code blocks without
  17607      prompting:
  17608 
  17609           (defun my-org-confirm-babel-evaluate (lang body)
  17610             (not (string= lang "ditaa")))  ;don't ask for ditaa
  17611           (setq org-confirm-babel-evaluate #'my-org-confirm-babel-evaluate)
  17612 
  17613 _Following ‘shell’ and ‘elisp’ links_
  17614      Org has two link types that can directly evaluate code (see *note
  17615      External Links::).  Because such code is not visible, these links
  17616      have a potential risk.  Org therefore prompts the user when it
  17617      encounters such links.  The customization variables are:
  17618 
  17619       -- User Option: org-link-shell-confirm-function
  17620           Function that prompts the user before executing a shell link.
  17621 
  17622       -- User Option: org-link-elisp-confirm-function
  17623           Function that prompts the user before executing an Emacs Lisp
  17624           link.
  17625 
  17626 _Formulas in tables_
  17627      Formulas in tables (see *note The Spreadsheet::) are code that is
  17628      evaluated either by the Calc interpreter, or by the Emacs Lisp
  17629      interpreter.
  17630 
  17631 
  17632 File: org.info,  Node: Interaction,  Next: TTY Keys,  Prev: Code Evaluation Security,  Up: Miscellaneous
  17633 
  17634 17.14 Interaction with Other Packages
  17635 =====================================
  17636 
  17637 Org’s compatibility and the level of interaction with other Emacs
  17638 packages are documented here.
  17639 
  17640 * Menu:
  17641 
  17642 * Cooperation::                  Packages Org cooperates with.
  17643 * Conflicts::                    Packages that lead to conflicts.
  17644 
  17645 
  17646 File: org.info,  Node: Cooperation,  Next: Conflicts,  Up: Interaction
  17647 
  17648 17.14.1 Packages that Org cooperates with
  17649 -----------------------------------------
  17650 
  17651 ‘calc.el’ by Dave Gillespie
  17652 
  17653      Org uses the Calc package for implementing spreadsheet
  17654      functionality in its tables (see *note The Spreadsheet::).  Org
  17655      also uses Calc for embedded calculations.  See *note GNU Emacs Calc
  17656      Manual: (calc)Embedded Mode.
  17657 
  17658 ‘constants.el’ by Carsten Dominik
  17659 
  17660      Org can use names for constants in formulas in tables.  Org can
  17661      also use calculation suffixes for units, such as ‘M’ for ‘Mega’.
  17662      For a standard collection of such constants, install the
  17663      ‘constants’ package.  Install version 2.0 of this package,
  17664      available at <http://www.astro.uva.nl/~dominik/Tools>.  Org checks
  17665      if the function ‘constants-get’ has been autoloaded.  Installation
  17666      instructions are in the file ‘constants.el’.
  17667 
  17668 ‘cdlatex.el’ by Carsten Dominik
  17669 
  17670      Org mode can make use of the CDLaTeX package to efficiently enter
  17671      LaTeX fragments into Org files.  See *note CDLaTeX mode::.
  17672 
  17673 ‘imenu.el’ by Ake Stenhoff and Lars Lindberg
  17674 
  17675      Imenu creates dynamic menus based on an index of items in a file.
  17676      Org mode supports Imenu menus.  Enable it with a mode hook as
  17677      follows:
  17678 
  17679           (add-hook 'org-mode-hook
  17680                     (lambda () (imenu-add-to-menubar "Imenu")))
  17681 
  17682      By default the index is two levels deep—you can modify the depth
  17683      using the option ‘org-imenu-depth’.
  17684 
  17685 ‘speedbar.el’ by Eric M. Ludlam
  17686 
  17687      Speedbar package creates a special Emacs frame for displaying files
  17688      and index items in files.  Org mode supports Speedbar; users can
  17689      drill into Org files directly from the Speedbar.  The ‘<’ in the
  17690      Speedbar frame tweaks the agenda commands to that file or to a
  17691      subtree.
  17692 
  17693 ‘table.el’ by Takaaki Ota
  17694 
  17695      Complex ASCII tables with automatic line wrapping, column- and
  17696      row-spanning, and alignment can be created using the Emacs table
  17697      package by Takaaki Ota.  Org mode recognizes such tables and
  17698      exports them properly.  ‘C-c '’ to edit these tables in a special
  17699      buffer, much like Org’s code blocks.  Because of interference with
  17700      other Org mode functionality, Takaaki Ota tables cannot be edited
  17701      directly in the Org buffer.
  17702 
  17703      ‘C-c '’ (‘org-edit-special’)
  17704           Edit a ‘table.el’ table.  Works when point is in a ‘table.el’
  17705           table.
  17706 
  17707      ‘C-c ~​’ (‘org-table-create-with-table.el’)
  17708           Insert a ‘table.el’ table.  If there is already a table at
  17709           point, this command converts it between the ‘table.el’ format
  17710           and the Org mode format.  See the documentation string of the
  17711           command ‘org-convert-table’ for the restrictions under which
  17712           this is possible.
  17713 
  17714 
  17715 File: org.info,  Node: Conflicts,  Prev: Cooperation,  Up: Interaction
  17716 
  17717 17.14.2 Packages that conflict with Org mode
  17718 --------------------------------------------
  17719 
  17720 In Emacs, shift-selection combines motions of point with shift key to
  17721 enlarge regions.  Emacs sets this mode by default.  This conflicts with
  17722 Org’s use of ‘S-<cursor>’ commands to change timestamps, TODO keywords,
  17723 priorities, and item bullet types, etc.  Since ‘S-<cursor>’ commands
  17724 outside of specific contexts do not do anything, Org offers the variable
  17725 ‘org-support-shift-select’ for customization.  Org mode accommodates
  17726 shift selection by (i) making it available outside of the special
  17727 contexts where special commands apply, and (ii) extending an existing
  17728 active region even if point moves across a special context.
  17729 
  17730 ‘cua.el’ by Kim F. Storm
  17731      Org key bindings conflict with ‘S-<cursor>’ keys used by CUA mode.
  17732      For Org to relinquish these bindings to CUA mode, configure the
  17733      variable ‘org-replace-disputed-keys’.  When set, Org moves the
  17734      following key bindings in Org files, and in the agenda buffer—but
  17735      not during date selection.
  17736 
  17737      ‘S-<UP>’ ⇒ ‘M-p’              ‘S-<DOWN>’ ⇒ ‘M-n’
  17738      ‘S-<LEFT>’ ⇒ ‘M--’            ‘S-<RIGHT>’ ⇒ ‘M-+’
  17739      ‘C-S-<LEFT>’ ⇒ ‘M-S--’        ‘C-S-<RIGHT>’ ⇒ ‘M-S-+’
  17740 
  17741      Yes, these are unfortunately more difficult to remember.  If you
  17742      want to have other replacement keys, look at the variable
  17743      ‘org-disputed-keys’.
  17744 
  17745 ‘ecomplete.el’ by Lars Magne Ingebrigtsen
  17746      Ecomplete provides “electric” address completion in address header
  17747      lines in message buffers.  Sadly Orgtbl mode cuts Ecomplete’s power
  17748      supply: no completion happens when Orgtbl mode is enabled in
  17749      message buffers while entering text in address header lines.  If
  17750      one wants to use ecomplete one should _not_ follow the advice to
  17751      automagically turn on Orgtbl mode in message buffers (see *note
  17752      Orgtbl Mode::), but instead—after filling in the message
  17753      headers—turn on Orgtbl mode manually when needed in the messages
  17754      body.
  17755 
  17756 ‘filladapt.el’ by Kyle Jones
  17757      Org mode tries to do the right thing when filling paragraphs, list
  17758      items and other elements.  Many users reported problems using both
  17759      ‘filladapt.el’ and Org mode, so a safe thing to do is to disable
  17760      filladapt like this:
  17761 
  17762           (add-hook 'org-mode-hook 'turn-off-filladapt-mode)
  17763 
  17764 ‘viper.el’ by Michael Kifer
  17765 
  17766      Viper uses ‘C-c /’ and therefore makes this key not access the
  17767      corresponding Org mode command ‘org-sparse-tree’.  You need to find
  17768      another key for this command, or override the key in
  17769      ‘viper-vi-global-user-map’ with
  17770 
  17771           (define-key viper-vi-global-user-map "C-c /" 'org-sparse-tree)
  17772 
  17773 ‘windmove.el’ by Hovav Shacham
  17774 
  17775      This package also uses the ‘S-<cursor>’ keys, so everything written
  17776      in the paragraph above about CUA mode also applies here.  If you
  17777      want to make the windmove function active in locations where Org
  17778      mode does not have special functionality on ‘S-<cursor>’, add this
  17779      to your configuration:
  17780 
  17781           ;; Make windmove work in Org mode:
  17782           (add-hook 'org-shiftup-final-hook 'windmove-up)
  17783           (add-hook 'org-shiftleft-final-hook 'windmove-left)
  17784           (add-hook 'org-shiftdown-final-hook 'windmove-down)
  17785           (add-hook 'org-shiftright-final-hook 'windmove-right)
  17786 
  17787 ‘yasnippet.el’
  17788      The way Org mode binds the ‘<TAB>’ key (binding to ‘[tab]’ instead
  17789      of ‘"\t"’) overrules YASnippet’s access to this key.  The following
  17790      code fixed this problem:
  17791 
  17792           (add-hook 'org-mode-hook
  17793                     (lambda ()
  17794                       (setq-local yas/trigger-key [tab])
  17795                       (define-key yas/keymap [tab] 'yas/next-field-or-maybe-expand)))
  17796 
  17797      The latest version of YASnippet does not play well with Org mode.
  17798      If the above code does not fix the conflict, start by defining the
  17799      following function:
  17800 
  17801           (defun yas/org-very-safe-expand ()
  17802             (let ((yas/fallback-behavior 'return-nil)) (yas/expand)))
  17803 
  17804      Then, tell Org mode to use that function:
  17805 
  17806           (add-hook 'org-mode-hook
  17807                     (lambda ()
  17808                       (make-variable-buffer-local 'yas/trigger-key)
  17809                       (setq yas/trigger-key [tab])
  17810                       (add-to-list 'org-tab-first-hook 'yas/org-very-safe-expand)
  17811                       (define-key yas/keymap [tab] 'yas/next-field)))
  17812 
  17813 
  17814 File: org.info,  Node: TTY Keys,  Next: Protocols,  Prev: Interaction,  Up: Miscellaneous
  17815 
  17816 17.15 Using Org on a TTY
  17817 ========================
  17818 
  17819 Org provides alternative key bindings for TTY and modern mobile devices
  17820 that cannot perform movement commands on point and key bindings with
  17821 modifier keys.  Some of these workarounds may be more cumbersome than
  17822 necessary.  Users should look into customizing these further based on
  17823 their usage needs.  For example, the normal ‘S-<cursor>’ for editing
  17824 timestamp might be better with ‘C-c .’ chord.
  17825 
  17826 Default        Alternative 1        Speed key   Alternative 2
  17827 ----------------------------------------------------------------
  17828 ‘S-<TAB>’      ‘C-u <TAB>’          ‘C’
  17829 ‘M-<LEFT>’     ‘C-c C-x l’          ‘l’         ‘Esc <LEFT>’
  17830 ‘M-S-<LEFT>’   ‘C-c C-x L’          ‘L’
  17831 ‘M-<RIGHT>’    ‘C-c C-x r’          ‘r’         ‘Esc <RIGHT>’
  17832 ‘M-S-<RIGHT>’  ‘C-c C-x R’          ‘R’
  17833 ‘M-<UP>’       ‘C-c C-x u’                      ‘Esc <UP>’
  17834 ‘M-S-<UP>’     ‘C-c C-x U’          ‘U’
  17835 ‘M-<DOWN>’     ‘C-c C-x d’                      ‘Esc <DOWN>’
  17836 ‘M-S-<DOWN>’   ‘C-c C-x D’          ‘D’
  17837 ‘S-<RET>’      ‘C-c C-x c’
  17838 ‘M-<RET>’      ‘C-c C-x m’                      ‘Esc <RET>’
  17839 ‘M-S-<RET>’    ‘C-c C-x M’
  17840 ‘S-<LEFT>’     ‘C-c <LEFT>’
  17841 ‘S-<RIGHT>’    ‘C-c <RIGHT>’
  17842 ‘S-<UP>’       ‘C-c <UP>’
  17843 ‘S-<DOWN>’     ‘C-c <DOWN>’
  17844 ‘C-S-<LEFT>’   ‘C-c C-x <LEFT>’
  17845 ‘C-S-<RIGHT>’  ‘C-c C-x <RIGHT>’
  17846 
  17847 
  17848 File: org.info,  Node: Protocols,  Next: Org Crypt,  Prev: TTY Keys,  Up: Miscellaneous
  17849 
  17850 17.16 Protocols for External Access
  17851 ===================================
  17852 
  17853 Org protocol is a tool to trigger custom actions in Emacs from external
  17854 applications.  Any application that supports calling external programs
  17855 with an URL as argument may be used with this functionality.  For
  17856 example, you can configure bookmarks in your web browser to send a link
  17857 to the current page to Org and create a note from it using capture (see
  17858 *note Capture::).  You can also create a bookmark that tells Emacs to
  17859 open the local source file of a remote website you are browsing.
  17860 
  17861    In order to use Org protocol from an application, you need to
  17862 register ‘org-protocol://’ as a valid scheme-handler.  External calls
  17863 are passed to Emacs through the ‘emacsclient’ command, so you also need
  17864 to ensure an Emacs server is running.  More precisely, when the
  17865 application calls
  17866 
  17867      emacsclient "org-protocol://PROTOCOL?key1=val1&key2=val2"
  17868 
  17869 Emacs calls the handler associated to PROTOCOL with argument ‘(:key1
  17870 val1 :key2 val2)’.
  17871 
  17872    Org protocol comes with three predefined protocols, detailed in the
  17873 following sections.  Configure ‘org-protocol-protocol-alist’ to define
  17874 your own.
  17875 
  17876 * Menu:
  17877 
  17878 * The store-link protocol:: Store a link, push URL to kill-ring.
  17879 * The capture protocol::  Fill a buffer with external information.
  17880 * The open-source protocol:: Edit published contents.
  17881 
  17882 
  17883 File: org.info,  Node: The store-link protocol,  Next: The capture protocol,  Up: Protocols
  17884 
  17885 17.16.1 The ‘store-link’ protocol
  17886 ---------------------------------
  17887 
  17888 Using the ‘store-link’ handler, you can copy links, to that they can be
  17889 inserted using ‘M-x org-insert-link’ or yanking.  More precisely, the
  17890 command
  17891 
  17892      emacsclient "org-protocol://store-link?url=URL&title=TITLE"
  17893 
  17894 stores the following link:
  17895 
  17896      [[URL][TITLE]]
  17897 
  17898    In addition, URL is pushed on the kill-ring for yanking.  You need to
  17899 encode URL and TITLE if they contain slashes, and probably quote those
  17900 for the shell.
  17901 
  17902    To use this feature from a browser, add a bookmark with an arbitrary
  17903 name, e.g., ‘Org: store-link’ and enter this as _Location_:
  17904 
  17905      javascript:location.href='org-protocol://store-link?' +
  17906            new URLSearchParams({url:location.href, title:document.title});
  17907 
  17908    Title is an optional parameter.  Another expression was recommended
  17909 earlier:
  17910 
  17911      javascript:location.href='org-protocol://store-link?url='+
  17912            encodeURIComponent(location.href);
  17913 
  17914    The latter form is compatible with older Org versions from 9.0 to
  17915 9.4.
  17916 
  17917 
  17918 File: org.info,  Node: The capture protocol,  Next: The open-source protocol,  Prev: The store-link protocol,  Up: Protocols
  17919 
  17920 17.16.2 The ‘capture’ protocol
  17921 ------------------------------
  17922 
  17923 Activating the “capture” handler pops up a ‘Capture’ buffer in Emacs,
  17924 using acapture template.
  17925 
  17926      emacsclient "org-protocol://capture?template=X&url=URL&title=TITLE&body=BODY"
  17927 
  17928    To use this feature, add a bookmark with an arbitrary name, e.g.,
  17929 ‘Org: capture’, and enter this as ‘Location’:
  17930 
  17931      javascript:location.href='org-protocol://capture?' +
  17932            new URLSearchParams({
  17933                  template: 'x', url: window.location.href,
  17934                  title: document.title, body: window.getSelection()});
  17935 
  17936    You might have seen another expression:
  17937 
  17938      javascript:location.href='org-protocol://capture?template=x'+
  17939            '&url='+encodeURIComponent(window.location.href)+
  17940            '&title='+encodeURIComponent(document.title)+
  17941            '&body='+encodeURIComponent(window.getSelection());
  17942 
  17943    It is a bit more cluttered than the former one, but it is compatible
  17944 with previous Org versions 9.0-9.4.  In these versions encoding of space
  17945 as “+” character was not supported by URI decoder.
  17946 
  17947    The capture template to be used can be specified in the bookmark
  17948 (like ‘X’ above).  If unspecified, the template key is set in the
  17949 variable ‘org-protocol-default-template-key’.  The following template
  17950 placeholders are available:
  17951 
  17952      %:link          The URL
  17953      %:description   The webpage title
  17954      %:annotation    Equivalent to [[%:link][%:description]]
  17955      %i              The selected text
  17956 
  17957 
  17958 File: org.info,  Node: The open-source protocol,  Prev: The capture protocol,  Up: Protocols
  17959 
  17960 17.16.3 The ‘open-source’ protocol
  17961 ----------------------------------
  17962 
  17963 The ‘open-source’ handler is designed to help with editing local sources
  17964 when reading a document.  To that effect, you can use a bookmark with
  17965 the following location:
  17966 
  17967      javascript:location.href='org-protocol://open-source?&url='+
  17968            encodeURIComponent(location.href)
  17969 
  17970    The variable ‘org-protocol-project-alist’ maps URLs to local file
  17971 names, by stripping URL parameters from the end and replacing the
  17972 ‘:base-url’ with ‘:working-directory’ and ‘:online-suffix’ with
  17973 ‘:working-suffix’.  For example, assuming you own a local copy of
  17974 ‘https://orgmode.org/worg/’ contents at ‘/home/user/worg’, you can set
  17975 ‘org-protocol-project-alist’ to the following
  17976 
  17977      (setq org-protocol-project-alist
  17978            '(("Worg"
  17979               :base-url "https://orgmode.org/worg/"
  17980               :working-directory "/home/user/worg/"
  17981               :online-suffix ".html"
  17982               :working-suffix ".org")))
  17983 
  17984 If you are now browsing
  17985 ‘https://orgmode.org/worg/org-contrib/org-protocol.html’ and find a typo
  17986 or have an idea about how to enhance the documentation, simply click the
  17987 bookmark and start editing.
  17988 
  17989    However, such mapping may not always yield the desired results.
  17990 Suppose you maintain an online store located at ‘https://example.com/’.
  17991 The local sources reside in ‘/home/user/example/’.  It is common
  17992 practice to serve all products in such a store through one file and
  17993 rewrite URLs that do not match an existing file on the server.  That
  17994 way, a request to ‘https://example.com/print/posters.html’ might be
  17995 rewritten on the server to something like
  17996 ‘https://example.com/shop/products.php/posters.html.php’.  The
  17997 ‘open-source’ handler probably cannot find a file named
  17998 ‘/home/user/example/print/posters.html.php’ and fails.
  17999 
  18000    Such an entry in ‘org-protocol-project-alist’ may hold an additional
  18001 property ‘:rewrites’.  This property is a list of cons cells, each of
  18002 which maps a regular expression to a path relative to the
  18003 ‘:working-directory’.
  18004 
  18005    Now map the URL to the path ‘/home/user/example/products.php’ by
  18006 adding ‘:rewrites’ rules like this:
  18007 
  18008      (setq org-protocol-project-alist
  18009            '(("example.com"
  18010               :base-url "https://example.com/"
  18011               :working-directory "/home/user/example/"
  18012               :online-suffix ".php"
  18013               :working-suffix ".php"
  18014               :rewrites (("example.com/print/" . "products.php")
  18015                          ("example.com/$" . "index.php")))))
  18016 
  18017 Since ‘example.com/$’ is used as a regular expression, it maps
  18018 ‘http://example.com/’, ‘https://example.com’, ‘http://www.example.com/’
  18019 and similar to ‘/home/user/example/index.php’.
  18020 
  18021    The ‘:rewrites’ rules are searched as a last resort if and only if no
  18022 existing file name is matched.
  18023 
  18024    Two functions can help you filling ‘org-protocol-project-alist’ with
  18025 valid contents: ‘org-protocol-create’ and ‘org-protocol-create-for-org’.
  18026 The latter is of use if you’re editing an Org file that is part of a
  18027 publishing project.
  18028 
  18029 
  18030 File: org.info,  Node: Org Crypt,  Next: Org Mobile,  Prev: Protocols,  Up: Miscellaneous
  18031 
  18032 17.17 Org Crypt
  18033 ===============
  18034 
  18035 Org Crypt encrypts the text of an entry, but not the headline, or
  18036 properties.  Behind the scene, it uses the *note Emacs EasyPG Library:
  18037 (epa)Top. to encrypt and decrypt files, and EasyPG needs a correct *note
  18038 GnuPG: (gnupg)Top. setup.
  18039 
  18040    Any text below a headline that has a ‘crypt’ tag is automatically
  18041 encrypted when the file is saved.  To use a different tag, customize the
  18042 ‘org-crypt-tag-matcher’ setting.
  18043 
  18044    Here is a suggestion for Org Crypt settings in Emacs init file:
  18045 
  18046      (require 'org-crypt)
  18047      (org-crypt-use-before-save-magic)
  18048      (setq org-tags-exclude-from-inheritance '("crypt"))
  18049 
  18050      (setq org-crypt-key nil)
  18051      ;; GPG key to use for encryption.
  18052      ;; nil means  use symmetric encryption unconditionally.
  18053      ;; "" means use symmetric encryption unless heading sets CRYPTKEY property.
  18054 
  18055      (setq auto-save-default nil)
  18056      ;; Auto-saving does not cooperate with org-crypt.el: so you need to
  18057      ;; turn it off if you plan to use org-crypt.el quite often.  Otherwise,
  18058      ;; you'll get an (annoying) message each time you start Org.
  18059 
  18060      ;; To turn it off only locally, you can insert this:
  18061      ;;
  18062      ;; # -*- buffer-auto-save-file-name: nil; -*-
  18063 
  18064    It’s possible to use different keys for different headings by
  18065 specifying the respective key as property ‘CRYPTKEY’, e.g.:
  18066 
  18067      * Totally secret :crypt:
  18068        :PROPERTIES:
  18069        :CRYPTKEY: 0x0123456789012345678901234567890123456789
  18070        :END:
  18071 
  18072    Note that ‘CRYPTKEY’ property is only effective when ‘org-crypt-key’
  18073 is set to non-nil.  ‘nil’ value of ‘org-crypt-key’ makes Org use
  18074 symmetric encryption unconditionally.
  18075 
  18076    Excluding the ‘crypt’ tag from inheritance prevents already encrypted
  18077 text from being encrypted again.
  18078 
  18079 
  18080 File: org.info,  Node: Org Mobile,  Prev: Org Crypt,  Up: Miscellaneous
  18081 
  18082 17.18 Org Mobile
  18083 ================
  18084 
  18085 Org Mobile is a protocol for synchronizing Org files between Emacs and
  18086 other applications, e.g., on mobile devices.  It enables offline-views
  18087 and capture support for an Org mode system that is rooted on a “real”
  18088 computer.  The external application can also record changes to existing
  18089 entries.
  18090 
  18091    This appendix describes Org’s support for agenda view formats
  18092 compatible with Org Mobile.  It also describes synchronizing changes,
  18093 such as to notes, between the mobile application and the computer.
  18094 
  18095    To change tags and TODO states in the mobile application, first
  18096 customize the variables ‘org-todo-keywords’, ‘org-tag-alist’ and
  18097 ‘org-tag-persistent-alist’.  These should cover all the important tags
  18098 and TODO keywords, even if Org files use only some of them.  Though the
  18099 mobile application is expected to support in-buffer settings, it is
  18100 required to understand TODO states _sets_ (see *note Per-file
  18101 keywords::) and _mutually exclusive_ tags (see *note Setting Tags::)
  18102 only for those set in these variables.
  18103 
  18104 * Menu:
  18105 
  18106 * Setting up the staging area::  For the mobile device.
  18107 * Pushing to the mobile application:: Uploading Org files and agendas.
  18108 * Pulling from the mobile application:: Integrating captured and flagged items.
  18109 
  18110 
  18111 File: org.info,  Node: Setting up the staging area,  Next: Pushing to the mobile application,  Up: Org Mobile
  18112 
  18113 17.18.1 Setting up the staging area
  18114 -----------------------------------
  18115 
  18116 The mobile application needs access to a file directory on a server(1)
  18117 to interact with Emacs.  Pass its location through the
  18118 ‘org-mobile-directory’ variable.  If you can mount that directory
  18119 locally just set the variable to point to that directory:
  18120 
  18121      (setq org-mobile-directory "~/orgmobile/")
  18122 
  18123    Alternatively, by using TRAMP (see *note TRAMP User Manual:
  18124 (tramp)Top.), ‘org-mobile-directory’ may point to a remote directory
  18125 accessible through, for example, SSH, SCP, or DAVS:
  18126 
  18127      (setq org-mobile-directory "/davs:user@remote.host:/org/webdav/")
  18128 
  18129    With a public server, consider encrypting the files.  Org also
  18130 requires OpenSSL installed on the local computer.  To turn on
  18131 encryption, set the same password in the mobile application and in
  18132 Emacs.  Set the password in the variable ‘org-mobile-use-encryption’(2).
  18133 Note that even after the mobile application encrypts the file contents,
  18134 the file name remains visible on the file systems of the local computer,
  18135 the server, and the mobile device.
  18136 
  18137    ---------- Footnotes ----------
  18138 
  18139    (1) For a server to host files, consider using a WebDAV server, such
  18140 as Nextcloud (https://nextcloud.com).  Additional help is at this FAQ
  18141 entry (https://orgmode.org/worg/org-faq.html#mobileorg_webdav).
  18142 
  18143    (2) If Emacs is configured for safe storing of passwords, then
  18144 configure the variable ‘org-mobile-encryption-password’; please read the
  18145 docstring of that variable.
  18146 
  18147 
  18148 File: org.info,  Node: Pushing to the mobile application,  Next: Pulling from the mobile application,  Prev: Setting up the staging area,  Up: Org Mobile
  18149 
  18150 17.18.2 Pushing to the mobile application
  18151 -----------------------------------------
  18152 
  18153 The command ‘org-mobile-push’ copies files listed in ‘org-mobile-files’
  18154 into the staging area.  Files include agenda files (as listed in
  18155 ‘org-agenda-files’).  Customize ‘org-mobile-files’ to add other files.
  18156 File names are staged with paths relative to ‘org-directory’, so all
  18157 files should be inside this directory(1).
  18158 
  18159    Push creates a special Org file ‘agendas.org’ with custom agenda
  18160 views defined by the user(2).
  18161 
  18162    Finally, Org writes the file ‘index.org’, containing links to other
  18163 files.  The mobile application reads this file first from the server to
  18164 determine what other files to download for agendas.  For faster
  18165 downloads, it is expected to only read files whose checksums(3) have
  18166 changed.
  18167 
  18168    ---------- Footnotes ----------
  18169 
  18170    (1) Symbolic links in ‘org-directory’ need to have the same name as
  18171 their targets.
  18172 
  18173    (2) While creating the agendas, Org mode forces ‘ID’ properties on
  18174 all referenced entries, so that these entries can be uniquely identified
  18175 if Org Mobile flags them for further action.  To avoid setting
  18176 properties configure the variable ‘org-mobile-force-id-on-agenda-items’
  18177 to ‘nil’.  Org mode then relies on outline paths, assuming they are
  18178 unique.
  18179 
  18180    (3) Checksums are stored automatically in the file ‘checksums.dat’.
  18181 
  18182 
  18183 File: org.info,  Node: Pulling from the mobile application,  Prev: Pushing to the mobile application,  Up: Org Mobile
  18184 
  18185 17.18.3 Pulling from the mobile application
  18186 -------------------------------------------
  18187 
  18188 The command ‘org-mobile-pull’ synchronizes changes with the server.
  18189 More specifically, it first pulls the Org files for viewing.  It then
  18190 appends captured entries and pointers to flagged or changed entries to
  18191 the file ‘mobileorg.org’ on the server.  Org ultimately integrates its
  18192 data in an inbox file format, through the following steps:
  18193 
  18194   1. Org moves all entries found in ‘mobileorg.org’(1) and appends them
  18195      to the file pointed to by the variable ‘org-mobile-inbox-for-pull’.
  18196      It should reside neither in the staging area nor on the server.
  18197      Each captured entry and each editing event is a top-level entry in
  18198      the inbox file.
  18199 
  18200   2. After moving the entries, Org processes changes to the shared
  18201      files.  Some of them are applied directly and without user
  18202      interaction.  Examples include changes to tags, TODO state,
  18203      headline and body text.  Entries requiring further action are
  18204      tagged as ‘FLAGGED’.  Org marks entries with problems with an error
  18205      message in the inbox.  They have to be resolved manually.
  18206 
  18207   3. Org generates an agenda view for flagged entries for user
  18208      intervention to clean up.  For notes stored in flagged entries, Org
  18209      displays them in the echo area when point is on the corresponding
  18210      agenda item.
  18211 
  18212      ‘?’
  18213           Pressing ‘?’ displays the entire flagged note in another
  18214           window.  Org also pushes it to the kill ring.  To store
  18215           flagged note as a normal note, use ‘? z C-y C-c C-c’.
  18216           Pressing ‘?’ twice does these things: first it removes the
  18217           ‘FLAGGED’ tag; second, it removes the flagged note from the
  18218           property drawer; third, it signals that manual editing of the
  18219           flagged entry is now finished.
  18220 
  18221    From the agenda dispatcher, ‘?’ returns to the view to finish
  18222 processing flagged entries.  Note that these entries may not be the most
  18223 recent since the mobile application searches files that were last
  18224 pulled.  To get an updated agenda view with changes since the last pull,
  18225 pull again.
  18226 
  18227    ---------- Footnotes ----------
  18228 
  18229    (1) The file will be empty after this operation.
  18230 
  18231 
  18232 File: org.info,  Node: Hacking,  Next: History and Acknowledgments,  Prev: Miscellaneous,  Up: Top
  18233 
  18234 Appendix A Hacking
  18235 ******************
  18236 
  18237 This appendix describes some ways a user can extend the functionality of
  18238 Org.
  18239 
  18240 * Menu:
  18241 
  18242 * Hooks::                        How to reach into Org’s internals.
  18243 * Add-on Packages::              Available extensions.
  18244 * Adding Hyperlink Types::       New custom link types.
  18245 * Adding Export Back-ends::      How to write new export back-ends.
  18246 * Tables in Arbitrary Syntax::   Orgtbl for LaTeX and other programs.
  18247 * Dynamic Blocks::               Automatically filled blocks.
  18248 * Special Agenda Views::         Customized views.
  18249 * Speeding Up Your Agendas::     Tips on how to speed up your agendas.
  18250 * Extracting Agenda Information:: Post-processing agenda information.
  18251 * Using the Property API::       Writing programs that use entry properties.
  18252 * Using the Mapping API::        Mapping over all or selected entries.
  18253 
  18254 
  18255 File: org.info,  Node: Hooks,  Next: Add-on Packages,  Up: Hacking
  18256 
  18257 A.1 Hooks
  18258 =========
  18259 
  18260 Org has a large number of hook variables for adding functionality.  This
  18261 appendix illustrates using a few.  A complete list of hooks with
  18262 documentation is maintained by the Worg project at
  18263 <https://orgmode.org/worg/doc.html#hooks>.
  18264 
  18265 
  18266 File: org.info,  Node: Add-on Packages,  Next: Adding Hyperlink Types,  Prev: Hooks,  Up: Hacking
  18267 
  18268 A.2 Add-on Packages
  18269 ===================
  18270 
  18271 Various authors wrote a large number of add-on packages for Org.  Some
  18272 of these packages used to be part of the ‘org-mode’ repository but are
  18273 now hosted in a separate ‘org-contrib’ repository here
  18274 (https://git.sr.ht/~bzg/org-contrib).  A Worg page with more information
  18275 is at: <https://orgmode.org/worg/org-contrib/>.
  18276 
  18277 
  18278 File: org.info,  Node: Adding Hyperlink Types,  Next: Adding Export Back-ends,  Prev: Add-on Packages,  Up: Hacking
  18279 
  18280 A.3 Adding Hyperlink Types
  18281 ==========================
  18282 
  18283 Org has many built-in hyperlink types (see *note Hyperlinks::), and an
  18284 interface for adding new link types.  The following example shows the
  18285 process of adding Org links to Unix man pages, which look like this
  18286 
  18287      [[man:printf][The printf manual]]
  18288 
  18289 The following ‘ol-man.el’ file implements it
  18290 
  18291      ;;; ol-man.el - Support for links to man pages in Org mode
  18292      (require 'ol)
  18293 
  18294      (org-link-set-parameters "man"
  18295                               :follow #'org-man-open
  18296                               :export #'org-man-export
  18297                               :store #'org-man-store-link)
  18298 
  18299      (defcustom org-man-command 'man
  18300        "The Emacs command to be used to display a man page."
  18301        :group 'org-link
  18302        :type '(choice (const man) (const woman)))
  18303 
  18304      (defun org-man-open (path _)
  18305        "Visit the manpage on PATH.
  18306      PATH should be a topic that can be thrown at the man command."
  18307        (funcall org-man-command path))
  18308 
  18309      (defun org-man-store-link ()
  18310        "Store a link to a man page."
  18311        (when (memq major-mode '(Man-mode woman-mode))
  18312          ;; This is a man page, we do make this link.
  18313          (let* ((page (org-man-get-page-name))
  18314                 (link (concat "man:" page))
  18315                 (description (format "Man page for %s" page)))
  18316            (org-link-store-props
  18317             :type "man"
  18318             :link link
  18319             :description description))))
  18320 
  18321      (defun org-man-get-page-name ()
  18322        "Extract the page name from the buffer name."
  18323        ;; This works for both `Man-mode' and `woman-mode'.
  18324        (if (string-match " \\(\\S-+\\)\\*" (buffer-name))
  18325            (match-string 1 (buffer-name))
  18326          (error "Cannot create link to this man page")))
  18327 
  18328      (defun org-man-export (link description format _)
  18329        "Export a man page link from Org files."
  18330        (let ((path (format "http://man.he.net/?topic=%s&section=all" link))
  18331              (desc (or description link)))
  18332          (pcase format
  18333            (`html (format "<a target=\"_blank\" href=\"%s\">%s</a>" path desc))
  18334            (`latex (format "\\href{%s}{%s}" path desc))
  18335            (`texinfo (format "@uref{%s,%s}" path desc))
  18336            (`ascii (format "%s (%s)" desc path))
  18337            (t path))))
  18338 
  18339      (provide ol-man)
  18340      ;;; ol-man.el ends here
  18341 
  18342 To activate links to man pages in Org, enter this in the Emacs init
  18343 file:
  18344 
  18345      (require 'ol-man)
  18346 
  18347 A review of ‘ol-man.el’:
  18348 
  18349   1. First, ‘(require 'ol)’ ensures that ‘ol.el’ is loaded.
  18350 
  18351   2. Then ‘org-link-set-parameters’ defines a new link type with ‘man’
  18352      prefix and associates functions for following, exporting and
  18353      storing such links.  See the variable ‘org-link-parameters’ for a
  18354      complete list of possible associations.
  18355 
  18356   3. The rest of the file implements necessary variables and functions.
  18357 
  18358      For example, ‘org-man-store-link’ is responsible for storing a link
  18359      when ‘org-store-link’ (see *note Handling Links::) is called from a
  18360      buffer displaying a man page.  It first checks if the major mode is
  18361      appropriate.  If check fails, the function returns ‘nil’, which
  18362      means it isn’t responsible for creating a link to the current
  18363      buffer.  Otherwise the function makes a link string by combining
  18364      the ‘man:’ prefix with the man topic.  It also provides a default
  18365      description.  The function ‘org-insert-link’ can insert it back
  18366      into an Org buffer later on.
  18367 
  18368 
  18369 File: org.info,  Node: Adding Export Back-ends,  Next: Tables in Arbitrary Syntax,  Prev: Adding Hyperlink Types,  Up: Hacking
  18370 
  18371 A.4 Adding Export Back-ends
  18372 ===========================
  18373 
  18374 Org’s export engine makes it easy for writing new back-ends.  The
  18375 framework on which the engine was built makes it easy to derive new
  18376 back-ends from existing ones.
  18377 
  18378    The two main entry points to the export engine are:
  18379 ‘org-export-define-backend’ and ‘org-export-define-derived-backend’.  To
  18380 grok these functions, see ‘ox-latex.el’ for an example of defining a new
  18381 back-end from scratch, and ‘ox-beamer.el’ for an example of deriving
  18382 from an existing engine.
  18383 
  18384    For creating a new back-end from scratch, first set its name as a
  18385 symbol in an alist consisting of elements and export functions.  To make
  18386 the back-end visible to the export dispatcher, set ‘:menu-entry’
  18387 keyword.  For export options specific to this back-end, set the
  18388 ‘:options-alist’.
  18389 
  18390    For creating a new back-end from an existing one, set
  18391 ‘:translate-alist’ to an alist of export functions.  This alist replaces
  18392 the parent back-end functions.
  18393 
  18394    For complete documentation, see the Org Export Reference on Worg
  18395 (https://orgmode.org/worg/dev/org-export-reference.html).
  18396 
  18397 
  18398 File: org.info,  Node: Tables in Arbitrary Syntax,  Next: Dynamic Blocks,  Prev: Adding Export Back-ends,  Up: Hacking
  18399 
  18400 A.5 Tables in Arbitrary Syntax
  18401 ==============================
  18402 
  18403 Due to Org’s success in handling tables with Orgtbl, a frequently
  18404 requested feature is the use of Org’s table functions in other modes,
  18405 e.g., LaTeX.  This would be hard to do in a general way without
  18406 complicated customization nightmares.  Moreover, that would take Org
  18407 away from its simplicity roots that Orgtbl has proven.  There is,
  18408 however, an alternate approach to accomplishing the same.
  18409 
  18410    This approach involves implementing a custom _translate_ function
  18411 that operates on a native Org _source table_ to produce a table in
  18412 another format.  This strategy would keep the excellently working Orgtbl
  18413 simple and isolate complications, if any, confined to the translate
  18414 function.  To add more alien table formats, we just add more translate
  18415 functions.  Also the burden of developing custom translate functions for
  18416 new table formats is in the hands of those who know those formats best.
  18417 
  18418 * Menu:
  18419 
  18420 * Radio tables::                 Sending and receiving radio tables.
  18421 * A LaTeX example::           Step by step, almost a tutorial.
  18422 * Translator functions::         Copy and modify.
  18423 
  18424 
  18425 File: org.info,  Node: Radio tables,  Next: A LaTeX example,  Up: Tables in Arbitrary Syntax
  18426 
  18427 A.5.1 Radio tables
  18428 ------------------
  18429 
  18430 Radio tables are target locations for translated tables that are not
  18431 near their source.  Org finds the target location and inserts the
  18432 translated table.
  18433 
  18434    The key to finding the target location is the magic words ‘BEGIN/END
  18435 RECEIVE ORGTBL’.  They have to appear as comments in the current mode.
  18436 If the mode is C, then:
  18437 
  18438      /* BEGIN RECEIVE ORGTBL table_name */
  18439      /* END RECEIVE ORGTBL table_name */
  18440 
  18441    At the location of source, Org needs a special line to direct Orgtbl
  18442 to translate and to find the target for inserting the translated table.
  18443 For example:
  18444 
  18445      #+ORGTBL: SEND table_name translation_function arguments ...
  18446 
  18447 ‘table_name’ is the table’s reference name, which is also used in the
  18448 receiver lines, and the ‘translation_function’ is the Lisp function that
  18449 translates.  This line, in addition, may also contain alternating key
  18450 and value arguments at the end.  The translation function gets these
  18451 values as a property list.  A few standard parameters are already
  18452 recognized and acted upon before the translation function is called:
  18453 
  18454 ‘:skip N’
  18455      Skip the first N lines of the table.  Hlines do count; include them
  18456      if they are to be skipped.
  18457 
  18458 ‘:skipcols (n1 n2 ...)’
  18459      List of columns to be skipped.  First Org automatically discards
  18460      columns with calculation marks and then sends the table to the
  18461      translator function, which then skips columns as specified in
  18462      ‘skipcols’.
  18463 
  18464    To keep the source table intact in the buffer without being disturbed
  18465 when the source file is compiled or otherwise being worked on, use one
  18466 of these strategies:
  18467 
  18468    • Place the table in a block comment.  For example, in C mode you
  18469      could wrap the table between ‘/*’ and ‘*/’ lines.
  18470 
  18471    • Put the table after an “end” statement.  For example ‘\bye’ in TeX
  18472      and ‘\end{document}’ in LaTeX.
  18473 
  18474    • Comment and un-comment each line of the table during edits.  The
  18475      ‘M-x orgtbl-toggle-comment’ command makes toggling easy.
  18476 
  18477 
  18478 File: org.info,  Node: A LaTeX example,  Next: Translator functions,  Prev: Radio tables,  Up: Tables in Arbitrary Syntax
  18479 
  18480 A.5.2 A LaTeX example of radio tables
  18481 -------------------------------------
  18482 
  18483 To wrap a source table in LaTeX, use the ‘comment’ environment provided
  18484 by ‘comment.sty’(1).  To activate it, put ‘\usepackage{comment}’ in the
  18485 document header.  Orgtbl mode inserts a radio table skeleton(2) with the
  18486 command ‘M-x orgtbl-insert-radio-table’, which prompts for a table name.
  18487 For example, if ‘salesfigures’ is the name, the template inserts:
  18488 
  18489      % BEGIN RECEIVE ORGTBL salesfigures
  18490      % END RECEIVE ORGTBL salesfigures
  18491      \begin{comment}
  18492      #+ORGTBL: SEND salesfigures orgtbl-to-latex
  18493      | | |
  18494      \end{comment}
  18495 
  18496 The line ‘#+ORGTBL: SEND’ tells Orgtbl mode to use the function
  18497 ‘orgtbl-to-latex’ to convert the table to LaTeX format, then insert the
  18498 table at the target (receive) location named ‘salesfigures’.  Now the
  18499 table is ready for data entry.  It can even use spreadsheet features(3):
  18500 
  18501      % BEGIN RECEIVE ORGTBL salesfigures
  18502      % END RECEIVE ORGTBL salesfigures
  18503      \begin{comment}
  18504      #+ORGTBL: SEND salesfigures orgtbl-to-latex
  18505      | Month | Days | Nr sold | per day |
  18506      |-------+------+---------+---------|
  18507      | Jan   |   23 |      55 |     2.4 |
  18508      | Feb   |   21 |      16 |     0.8 |
  18509      | March |   22 |     278 |    12.6 |
  18510      #+TBLFM: $4=$3/$2;%.1f
  18511      % $ (optional extra dollar to keep Font Lock happy, see footnote)
  18512      \end{comment}
  18513 
  18514    After editing, ‘C-c C-c’ inserts the translated table at the target
  18515 location, between the two marker lines.
  18516 
  18517    For hand-made custom tables, note that the translator needs to skip
  18518 the first two lines of the source table.  Also the command has to
  18519 _splice_ out the target table without the header and footer.
  18520 
  18521      \begin{tabular}{lrrr}
  18522      Month & \multicolumn{1}{c}{Days} & Nr.\ sold & per day\\
  18523      % BEGIN RECEIVE ORGTBL salesfigures
  18524      % END RECEIVE ORGTBL salesfigures
  18525      \end{tabular}
  18526      %
  18527      \begin{comment}
  18528      #+ORGTBL: SEND salesfigures orgtbl-to-latex :splice t :skip 2
  18529      | Month | Days | Nr sold | per day |
  18530      |-------+------+---------+---------|
  18531      | Jan   |   23 |      55 |     2.4 |
  18532      | Feb   |   21 |      16 |     0.8 |
  18533      | March |   22 |     278 |    12.6 |
  18534      #+TBLFM: $4=$3/$2;%.1f
  18535      \end{comment}
  18536 
  18537    The LaTeX translator function ‘orgtbl-to-latex’ is already part of
  18538 Orgtbl mode and uses a ‘tabular’ environment to typeset the table and
  18539 marks horizontal lines with ‘\hline’.  For additional parameters to
  18540 control output, see *note Translator functions:::
  18541 
  18542 ‘:splice BOOLEAN’
  18543      When {{{var(BOOLEAN}}} is non-‘nil’, return only table body lines;
  18544      i.e., not wrapped in ‘tabular’ environment.  Default is ‘nil’.
  18545 
  18546 ‘:fmt FMT’
  18547      Format string to warp each field.  It should contain ‘%s’ for the
  18548      original field value.  For example, to wrap each field value in
  18549      dollar symbol, you could use ‘:fmt "$%s$"’.  Format can also wrap a
  18550      property list with column numbers and formats, for example ‘:fmt (2
  18551      "$%s$" 4 "%s\\%%")’.  In place of a string, a function of one
  18552      argument can be used; the function must return a formatted string.
  18553 
  18554 ‘:efmt EFMT’
  18555      Format numbers as exponentials.  The spec should have ‘%s’ twice
  18556      for inserting mantissa and exponent, for example
  18557      ‘"%s\\times10^{%s}"’.  This may also be a property list with column
  18558      numbers and formats, for example ‘:efmt (2 "$%s\\times10^{%s}$" 4
  18559      "$%s\\cdot10^{%s}$")’.  After EFMT has been applied to a value,
  18560      FMT—see above—is also applied.  Functions with two arguments can be
  18561      supplied instead of strings.  By default, no special formatting is
  18562      applied.
  18563 
  18564    ---------- Footnotes ----------
  18565 
  18566    (1) <https://www.ctan.org/pkg/comment>
  18567 
  18568    (2) By default this works only for LaTeX, HTML, and Texinfo.
  18569 Configure the variable ‘orgtbl-radio-table-templates’ to install
  18570 templates for other modes.
  18571 
  18572    (3) If the ‘TBLFM’ keyword contains an odd number of dollar
  18573 characters, this may cause problems with Font Lock in LaTeX mode.  As
  18574 shown in the example you can fix this by adding an extra line inside the
  18575 ‘comment’ environment that is used to balance the dollar expressions.
  18576 If you are using AUCTeX with the font-latex library, a much better
  18577 solution is to add the ‘comment’ environment to the variable
  18578 ‘LaTeX-verbatim-environments’.
  18579 
  18580 
  18581 File: org.info,  Node: Translator functions,  Prev: A LaTeX example,  Up: Tables in Arbitrary Syntax
  18582 
  18583 A.5.3 Translator functions
  18584 --------------------------
  18585 
  18586 Orgtbl mode has built-in translator functions: ‘orgtbl-to-csv’
  18587 (comma-separated values), ‘orgtbl-to-tsv’ (TAB-separated values),
  18588 ‘orgtbl-to-latex’, ‘orgtbl-to-html’, ‘orgtbl-to-texinfo’,
  18589 ‘orgtbl-to-unicode’ and ‘orgtbl-to-orgtbl’.  They use the generic
  18590 translator, ‘orgtbl-to-generic’, which delegates translations to various
  18591 export back-ends.
  18592 
  18593    Properties passed to the function through the ‘ORGTBL SEND’ line take
  18594 precedence over properties defined inside the function.  For example,
  18595 this overrides the default LaTeX line endings, ‘\\’, with ‘\\[2mm]’:
  18596 
  18597      #+ORGTBL: SEND test orgtbl-to-latex :lend " \\\\[2mm]"
  18598 
  18599    For a new language translator, define a converter function.  It can
  18600 be a generic function, such as shown in this example.  It marks a
  18601 beginning and ending of a table with ‘!BTBL!’ and ‘!ETBL!’; a beginning
  18602 and ending of lines with ‘!BL!’ and ‘!EL!’; and uses a TAB for a field
  18603 separator:
  18604 
  18605      (defun orgtbl-to-language (table params)
  18606        "Convert the orgtbl-mode TABLE to language."
  18607        (orgtbl-to-generic
  18608         table
  18609         (org-combine-plists
  18610          '(:tstart "!BTBL!" :tend "!ETBL!" :lstart "!BL!" :lend "!EL!" :sep "\t")
  18611          params)))
  18612 
  18613 The documentation for the ‘orgtbl-to-generic’ function shows a complete
  18614 list of parameters, each of which can be passed through to
  18615 ‘orgtbl-to-latex’, ‘orgtbl-to-texinfo’, and any other function using
  18616 that generic function.
  18617 
  18618    For complicated translations the generic translator function could be
  18619 replaced by a custom translator function.  Such a custom function must
  18620 take two arguments and return a single string containing the formatted
  18621 table.  The first argument is the table whose lines are a list of fields
  18622 or the symbol ‘hline’.  The second argument is the property list
  18623 consisting of parameters specified in the ‘#+ORGTBL: SEND’ line.  Please
  18624 share your translator functions by posting them to the Org users mailing
  18625 list, at <emacs-orgmode@gnu.org>.
  18626 
  18627 
  18628 File: org.info,  Node: Dynamic Blocks,  Next: Special Agenda Views,  Prev: Tables in Arbitrary Syntax,  Up: Hacking
  18629 
  18630 A.6 Dynamic Blocks
  18631 ==================
  18632 
  18633 Org supports _dynamic blocks_ in Org documents.  They are inserted with
  18634 begin and end markers like any other code block, but the contents are
  18635 updated automatically by a user function.
  18636 
  18637    You can insert a dynamic block with
  18638 ‘org-dynamic-block-insert-dblock’, which is bound to ‘C-c C-x x’ by
  18639 default.  For example, ‘C-c C-x x c l o c k t a b l e <RET>’ inserts a
  18640 table that updates the work time (see *note Clocking Work Time::).
  18641 
  18642    Dynamic blocks can have names and function parameters.  The syntax is
  18643 similar to source code block specifications:
  18644 
  18645      #+BEGIN: myblock :parameter1 value1 :parameter2 value2 ...
  18646        ...
  18647      #+END:
  18648 
  18649    These commands update dynamic blocks:
  18650 
  18651 ‘C-c C-x C-u’ (‘org-dblock-update’)
  18652      Update dynamic block at point.
  18653 
  18654 ‘C-u C-c C-x C-u’
  18655      Update all dynamic blocks in the current file.
  18656 
  18657    Before updating a dynamic block, Org removes content between the
  18658 ‘BEGIN’ and ‘END’ markers.  Org then reads the parameters on the ‘BEGIN’
  18659 line for passing to the writer function as a plist.  The previous
  18660 content of the dynamic block becomes erased from the buffer and appended
  18661 to the plist under ‘:content’.
  18662 
  18663    The syntax for naming a writer function with a dynamic block labeled
  18664 ‘myblock’ is: ‘org-dblock-write:myblock’.
  18665 
  18666    The following is an example of a dynamic block and a block writer
  18667 function that updates the time when the function was last run:
  18668 
  18669      #+BEGIN: block-update-time :format "on %m/%d/%Y at %H:%M"
  18670        ...
  18671      #+END:
  18672 
  18673 The dynamic block’s writer function:
  18674 
  18675      (defun org-dblock-write:block-update-time (params)
  18676        (let ((fmt (or (plist-get params :format) "%d. %m. %Y")))
  18677          (insert "Last block update at: "
  18678                  (format-time-string fmt))))
  18679 
  18680    To keep dynamic blocks up-to-date in an Org file, use the function,
  18681 ‘org-update-all-dblocks’ in hook, such as ‘before-save-hook’.  The
  18682 ‘org-update-all-dblocks’ function does not run if the file is not in Org
  18683 mode.
  18684 
  18685    Dynamic blocks, like any other block, can be narrowed with
  18686 ‘org-narrow-to-block’.
  18687 
  18688 
  18689 File: org.info,  Node: Special Agenda Views,  Next: Speeding Up Your Agendas,  Prev: Dynamic Blocks,  Up: Hacking
  18690 
  18691 A.7 Special Agenda Views
  18692 ========================
  18693 
  18694 Org provides a special hook to further limit items in agenda views:
  18695 ‘agenda’, ‘agenda*’(1), ‘todo’, ‘alltodo’, ‘tags’, ‘tags-todo’,
  18696 ‘tags-tree’.  Specify a custom function that tests inclusion of every
  18697 matched item in the view.  This function can also skip as much as is
  18698 needed.
  18699 
  18700    For a global condition applicable to agenda views, use the
  18701 ‘org-agenda-skip-function-global’ variable.  Org uses a global condition
  18702 with ‘org-agenda-skip-function’ for custom searching.
  18703 
  18704    This example defines a function for a custom view showing TODO items
  18705 with ‘waiting’ status.  Manually this is a multi-step search process,
  18706 but with a custom view, this can be automated as follows:
  18707 
  18708    The custom function searches the subtree for the ‘waiting’ tag and
  18709 returns ‘nil’ on match.  Otherwise it gives the location from where the
  18710 search continues.
  18711 
  18712      (defun my-skip-unless-waiting ()
  18713        "Skip trees that are not waiting"
  18714        (let ((subtree-end (save-excursion (org-end-of-subtree t))))
  18715          (if (re-search-forward ":waiting:" subtree-end t)
  18716              nil          ; tag found, do not skip
  18717            subtree-end))) ; tag not found, continue after end of subtree
  18718 
  18719    To use this custom function in a custom agenda command:
  18720 
  18721      (org-add-agenda-custom-command
  18722       '("b" todo "PROJECT"
  18723         ((org-agenda-skip-function 'my-skip-unless-waiting)
  18724          (org-agenda-overriding-header "Projects waiting for something: "))))
  18725 
  18726    Note that this also binds ‘org-agenda-overriding-header’ to a more
  18727 meaningful string suitable for the agenda view.
  18728 
  18729    Search for entries with a limit set on levels for the custom search.
  18730 This is a general approach to creating custom searches in Org.  To
  18731 include all levels, use ‘LEVEL>0’(2).  Then to selectively pick the
  18732 matched entries, use ‘org-agenda-skip-function’, which also accepts Lisp
  18733 forms, such as ‘org-agenda-skip-entry-if’ and
  18734 ‘org-agenda-skip-subtree-if’.  For example:
  18735 
  18736 ‘(org-agenda-skip-entry-if 'scheduled)’
  18737      Skip current entry if it has been scheduled.
  18738 
  18739 ‘(org-agenda-skip-entry-if 'notscheduled)’
  18740      Skip current entry if it has not been scheduled.
  18741 
  18742 ‘(org-agenda-skip-entry-if 'deadline)’
  18743      Skip current entry if it has a deadline.
  18744 
  18745 ‘(org-agenda-skip-entry-if 'scheduled 'deadline)’
  18746      Skip current entry if it has a deadline, or if it is scheduled.
  18747 
  18748 ‘(org-agenda-skip-entry-if 'todo '("TODO" "WAITING"))’
  18749      Skip current entry if the TODO keyword is TODO or WAITING.
  18750 
  18751 ‘(org-agenda-skip-entry-if 'todo 'done)’
  18752      Skip current entry if the TODO keyword marks a DONE state.
  18753 
  18754 ‘(org-agenda-skip-entry-if 'timestamp)’
  18755      Skip current entry if it has any timestamp, may also be deadline or
  18756      scheduled.
  18757 
  18758 ‘(org-agenda-skip-entry-if 'regexp "regular expression")’
  18759      Skip current entry if the regular expression matches in the entry.
  18760 
  18761 ‘(org-agenda-skip-entry-if 'notregexp "regular expression")’
  18762      Skip current entry unless the regular expression matches.
  18763 
  18764 ‘(org-agenda-skip-subtree-if 'regexp "regular expression")’
  18765      Same as above, but check and skip the entire subtree.
  18766 
  18767    The following is an example of a search for ‘waiting’ without the
  18768 special function:
  18769 
  18770      (org-add-agenda-custom-command
  18771       '("b" todo "PROJECT"
  18772         ((org-agenda-skip-function '(org-agenda-skip-subtree-if
  18773                                      'regexp ":waiting:"))
  18774          (org-agenda-overriding-header "Projects waiting for something: "))))
  18775 
  18776    ---------- Footnotes ----------
  18777 
  18778    (1) The ‘agenda*’ view is the same as ‘agenda’ except that it only
  18779 considers _appointments_, i.e., scheduled and deadline items that have a
  18780 time specification ‘[h]h:mm’ in their time-stamps.
  18781 
  18782    (2) Note that, for ‘org-odd-levels-only’, a level number corresponds
  18783 to order in the hierarchy, not to the number of stars.
  18784 
  18785 
  18786 File: org.info,  Node: Speeding Up Your Agendas,  Next: Extracting Agenda Information,  Prev: Special Agenda Views,  Up: Hacking
  18787 
  18788 A.8 Speeding Up Your Agendas
  18789 ============================
  18790 
  18791 Some agenda commands slow down when the Org files grow in size or
  18792 number.  Here are tips to speed up:
  18793 
  18794    • Reduce the number of Org agenda files to avoid slowdowns due to
  18795      hard drive accesses.
  18796 
  18797    • Reduce the number of DONE and archived headlines so agenda
  18798      operations that skip over these can finish faster.
  18799 
  18800    • Do not dim blocked tasks:
  18801 
  18802           (setq org-agenda-dim-blocked-tasks nil)
  18803 
  18804    • Stop preparing agenda buffers on startup:
  18805 
  18806           (setq org-agenda-inhibit-startup t)
  18807 
  18808    • Disable tag inheritance for agendas:
  18809 
  18810           (setq org-agenda-use-tag-inheritance nil)
  18811 
  18812    • Disable parsing of some drawer properties:
  18813 
  18814           (setq org-agenda-ignore-properties '(effort appt stats category))
  18815 
  18816      The drawer properties you can disable in the agenda are effort
  18817      estimates (‘effort’), appointments (‘appt’), statistics (‘stats’)
  18818      and subtree-local categories (‘category’).
  18819 
  18820    These options can be applied to selected agenda views.  For more
  18821 details about generation of agenda views, see the docstrings for the
  18822 relevant variables, and this dedicated Worg page
  18823 (https://orgmode.org/worg/agenda-optimization.html) for agenda
  18824 optimization.
  18825 
  18826 
  18827 File: org.info,  Node: Extracting Agenda Information,  Next: Using the Property API,  Prev: Speeding Up Your Agendas,  Up: Hacking
  18828 
  18829 A.9 Extracting Agenda Information
  18830 =================================
  18831 
  18832 Org provides commands to access agendas through Emacs batch mode.
  18833 Through this command-line interface, agendas are automated for further
  18834 processing or printing.
  18835 
  18836    ‘org-batch-agenda’ creates an agenda view in ASCII and outputs to
  18837 standard output.  This command takes one string parameter.  When string
  18838 consists of a single character, Org uses it as a key to
  18839 ‘org-agenda-custom-commands’.  These are the same ones available through
  18840 the agenda dispatcher (see *note Agenda Dispatcher::).
  18841 
  18842    This example command line directly prints the TODO list to the
  18843 printer:
  18844 
  18845      emacs -batch -l ~/.emacs -eval '(org-batch-agenda "t")' | lpr
  18846 
  18847    When the string parameter length is two or more characters, Org
  18848 matches it with tags/TODO strings.  For example, this example command
  18849 line prints items tagged with ‘shop’, but excludes items tagged with
  18850 ‘NewYork’:
  18851 
  18852      emacs -batch -l ~/.emacs                                      \
  18853            -eval '(org-batch-agenda "+shop-NewYork")' | lpr
  18854 
  18855 An example showing on-the-fly parameter modifications:
  18856 
  18857      emacs -batch -l ~/.emacs                                      \
  18858         -eval '(org-batch-agenda "a"                               \
  18859                 org-agenda-span (quote month)                      \
  18860                 org-agenda-include-diary nil                       \
  18861                 org-agenda-files (quote ("~/org/project.org")))'   \
  18862         | lpr
  18863 
  18864 which produces an agenda for the next 30 days from just the
  18865 ‘~/org/projects.org’ file.
  18866 
  18867    For structured processing of agenda output, use
  18868 ‘org-batch-agenda-csv’ with the following fields:
  18869 
  18870 category
  18871      The category of the item
  18872 head
  18873      The headline, without TODO keyword, TAGS and PRIORITY
  18874 type
  18875      The type of the agenda entry, can be
  18876 
  18877      ‘todo’                selected in TODO match
  18878      ‘tagsmatch’           selected in tags match
  18879      ‘diary’               imported from diary
  18880      ‘deadline’            a deadline
  18881      ‘scheduled’           scheduled
  18882      ‘timestamp’           appointment, selected by timestamp
  18883      ‘closed’              entry was closed on date
  18884      ‘upcoming-deadline’   warning about nearing deadline
  18885      ‘past-scheduled’      forwarded scheduled item
  18886      ‘block’               entry has date block including date
  18887 
  18888 todo
  18889      The TODO keyword, if any
  18890 tags
  18891      All tags including inherited ones, separated by colons
  18892 date
  18893      The relevant date, like ‘2007-2-14’
  18894 time
  18895      The time, like ‘15:00-16:50’
  18896 extra
  18897      String with extra planning info
  18898 priority-l
  18899      The priority letter if any was given
  18900 priority-n
  18901      The computed numerical priority
  18902 
  18903    If the selection of the agenda item was based on a timestamp,
  18904 including those items with ‘DEADLINE’ and ‘SCHEDULED’ keywords, then Org
  18905 includes date and time in the output.
  18906 
  18907    If the selection of the agenda item was based on a timestamp (or
  18908 deadline/scheduled), then Org includes date and time in the output.
  18909 
  18910    Here is an example of a post-processing script in Perl.  It takes the
  18911 CSV output from Emacs and prints with a checkbox:
  18912 
  18913      #!/usr/bin/perl
  18914 
  18915      # define the Emacs command to run
  18916      $cmd = "emacs -batch -l ~/.emacs -eval '(org-batch-agenda-csv \"t\")'";
  18917 
  18918      # run it and capture the output
  18919      $agenda = qx{$cmd 2>/dev/null};
  18920 
  18921      # loop over all lines
  18922      foreach $line (split(/\n/,$agenda)) {
  18923          # get the individual values
  18924          ($category,$head,$type,$todo,$tags,$date,$time,$extra,
  18925           $priority_l,$priority_n) = split(/,/,$line);
  18926          # process and print
  18927          print "[ ] $head\n";
  18928      }
  18929 
  18930 
  18931 File: org.info,  Node: Using the Property API,  Next: Using the Mapping API,  Prev: Extracting Agenda Information,  Up: Hacking
  18932 
  18933 A.10 Using the Property API
  18934 ===========================
  18935 
  18936 Here is a description of the functions that can be used to work with
  18937 properties.
  18938 
  18939  -- Function: org-entry-properties &optional pom which
  18940      Get all properties of the entry at point-or-marker POM.  This
  18941      includes the TODO keyword, the tags, time strings for deadline,
  18942      scheduled, and clocking, and any additional properties defined in
  18943      the entry.  The return value is an alist.  Keys may occur multiple
  18944      times if the property key was used several times.  POM may also be
  18945      ‘nil’, in which case the current entry is used.  If WHICH is ‘nil’
  18946      or ‘all’, get all properties.  If WHICH is ‘special’ or ‘standard’,
  18947      only get that subclass.
  18948 
  18949  -- Function: org-entry-get pom property &optional inherit
  18950      Get value of PROPERTY for entry at point-or-marker POM.  By
  18951      default, this only looks at properties defined locally in the
  18952      entry.  If INHERIT is non-‘nil’ and the entry does not have the
  18953      property, then also check higher levels of the hierarchy.  If
  18954      INHERIT is the symbol ‘selective’, use inheritance if and only if
  18955      the setting of ‘org-use-property-inheritance’ selects PROPERTY for
  18956      inheritance.
  18957 
  18958  -- Function: org-entry-delete pom property
  18959      Delete the property PROPERTY from entry at point-or-marker POM.
  18960 
  18961  -- Function: org-entry-put pom property value
  18962      Set PROPERTY to VALUES for entry at point-or-marker POM.
  18963 
  18964  -- Function: org-buffer-property-keys &optional include-specials
  18965      Get all property keys in the current buffer.
  18966 
  18967  -- Function: org-insert-property-drawer
  18968      Insert a property drawer for the current entry.  Also
  18969 
  18970  -- Function: org-entry-put-multivalued-property pom property &rest
  18971           values
  18972      Set PROPERTY at point-or-marker POM to VALUES.  VALUES should be a
  18973      list of strings.  They are concatenated, with spaces as separators.
  18974 
  18975  -- Function: org-entry-get-multivalued-property pom property
  18976      Treat the value of the property PROPERTY as a whitespace-separated
  18977      list of values and return the values as a list of strings.
  18978 
  18979  -- Function: org-entry-add-to-multivalued-property pom property value
  18980      Treat the value of the property PROPERTY as a whitespace-separated
  18981      list of values and make sure that VALUE is in this list.
  18982 
  18983  -- Function: org-entry-remove-from-multivalued-property pom property
  18984           value
  18985      Treat the value of the property PROPERTY as a whitespace-separated
  18986      list of values and make sure that VALUE is _not_ in this list.
  18987 
  18988  -- Function: org-entry-member-in-multivalued-property pom property
  18989           value
  18990      Treat the value of the property PROPERTY as a whitespace-separated
  18991      list of values and check if VALUE is in this list.
  18992 
  18993  -- User Option: org-property-allowed-value-functions
  18994      Hook for functions supplying allowed values for a specific
  18995      property.  The functions must take a single argument, the name of
  18996      the property, and return a flat list of allowed values.  If ‘:ETC’
  18997      is one of the values, use the values as completion help, but allow
  18998      also other values to be entered.  The functions must return ‘nil’
  18999      if they are not responsible for this property.
  19000 
  19001 
  19002 File: org.info,  Node: Using the Mapping API,  Prev: Using the Property API,  Up: Hacking
  19003 
  19004 A.11 Using the Mapping API
  19005 ==========================
  19006 
  19007 Org has sophisticated mapping capabilities to find all entries
  19008 satisfying certain criteria.  Internally, this functionality is used to
  19009 produce agenda views, but there is also an API that can be used to
  19010 execute arbitrary functions for each or selected entries.  The main
  19011 entry point for this API is:
  19012 
  19013  -- Function: org-map-entries func &optional match scope &rest skip
  19014      Call FUNC at each headline selected by MATCH in SCOPE.
  19015 
  19016      FUNC is a function or a Lisp form.  With point positioned at the
  19017      beginning of the headline, call the function without arguments.
  19018      Org returns a list of return values of calls to the function.
  19019 
  19020      To avoid preserving point, Org wraps the call to FUNC in
  19021      ‘save-excursion’ form.  After evaluation, Org moves point to the
  19022      end of the line that was just processed.  Search continues from
  19023      that point forward.  This may not always work as expected under
  19024      some conditions, such as if the current subtree was removed by a
  19025      previous archiving operation.  In such rare circumstances, Org
  19026      skips the next entry entirely when it should not.  To stop Org from
  19027      such skips, make FUNC set the variable ‘org-map-continue-from’ to a
  19028      specific buffer position.
  19029 
  19030      MATCH is a tags/property/TODO match.  Org iterates only matched
  19031      headlines.  Org iterates over all headlines when MATCH is ‘nil’ or
  19032      ‘t’.
  19033 
  19034      SCOPE determines the scope of this command.  It can be any of:
  19035 
  19036      ‘nil’
  19037           The current buffer, respecting the restriction, if any.
  19038 
  19039      ‘tree’
  19040           The subtree started with the entry at point.
  19041 
  19042      ‘region’
  19043           The entries within the active region, if any.
  19044 
  19045      ‘file’
  19046           The current buffer, without restriction.
  19047 
  19048      ‘file-with-archives’
  19049           The current buffer, and any archives associated with it.
  19050 
  19051      ‘agenda’
  19052           All agenda files.
  19053 
  19054      ‘agenda-with-archives’
  19055           All agenda files with any archive files associated with them.
  19056 
  19057      list of filenames
  19058           If this is a list, all files in the list are scanned.
  19059 
  19060      The remaining arguments are treated as settings for the scanner’s
  19061      skipping facilities.  Valid arguments are:
  19062 
  19063      ‘archive’
  19064           Skip trees with the ‘ARCHIVE’ tag.
  19065 
  19066      ‘comment’
  19067           Skip trees with the COMMENT keyword.
  19068 
  19069      function or Lisp form
  19070           Used as value for ‘org-agenda-skip-function’, so whenever the
  19071           function returns ‘t’, FUNC is called for that entry and search
  19072           continues from the point where the function leaves it.
  19073 
  19074    The mapping routine can call any arbitrary function, even functions
  19075 that change meta data or query the property API (see *note Using the
  19076 Property API::).  Here are some handy functions:
  19077 
  19078  -- Function: org-todo &optional arg
  19079      Change the TODO state of the entry.  See the docstring of the
  19080      functions for the many possible values for the argument ARG.
  19081 
  19082  -- Function: org-priority &optional action
  19083      Change the priority of the entry.  See the docstring of this
  19084      function for the possible values for ACTION.
  19085 
  19086  -- Function: org-toggle-tag tag &optional onoff
  19087      Toggle the tag TAG in the current entry.  Setting ONOFF to either
  19088      ‘on’ or ‘off’ does not toggle tag, but ensure that it is either on
  19089      or off.
  19090 
  19091  -- Function: org-promote
  19092      Promote the current entry.
  19093 
  19094  -- Function: org-demote
  19095      Demote the current entry.
  19096 
  19097    This example turns all entries tagged with ‘TOMORROW’ into TODO
  19098 entries with keyword ‘UPCOMING’.  Org ignores entries in comment trees
  19099 and archive trees.
  19100 
  19101      (org-map-entries '(org-todo "UPCOMING")
  19102                       "+TOMORROW" 'file 'archive 'comment)
  19103 
  19104    The following example counts the number of entries with TODO keyword
  19105 ‘WAITING’, in all agenda files.
  19106 
  19107      (length (org-map-entries t "/+WAITING" 'agenda))
  19108 
  19109 
  19110 File: org.info,  Node: History and Acknowledgments,  Next: GNU Free Documentation License,  Prev: Hacking,  Up: Top
  19111 
  19112 Appendix B History and Acknowledgments
  19113 **************************************
  19114 
  19115 B.1 From Carsten
  19116 ================
  19117 
  19118 Org was born in 2003, out of frustration over the user interface of the
  19119 Emacs Outline mode.  I was trying to organize my notes and projects, and
  19120 using Emacs seemed to be the natural way to go.  However, having to
  19121 remember eleven different commands with two or three keys per command,
  19122 only to hide and show parts of the outline tree, that seemed entirely
  19123 unacceptable to me.  Also, when using outlines to take notes, I
  19124 constantly wanted to restructure the tree, organizing it parallel to my
  19125 thoughts and plans.  _Visibility cycling_ and _structure editing_ were
  19126 originally implemented in the package ‘outline-magic.el’, but quickly
  19127 moved to the more general ‘org.el’.  As this environment became
  19128 comfortable for project planning, the next step was adding _TODO
  19129 entries_, basic _timestamps_, and _table support_.  These areas
  19130 highlighted the two main goals that Org still has today: to be a new,
  19131 outline-based, plain text mode with innovative and intuitive editing
  19132 features, and to incorporate project planning functionality directly
  19133 into a notes file.
  19134 
  19135    Since the first release, literally thousands of emails to me or to
  19136 the mailing list <emacs-orgmode@gnu.org> have provided a constant stream
  19137 of bug reports, feedback, new ideas, and sometimes patches and add-on
  19138 code.  Many thanks to everyone who has helped to improve this package.
  19139 I am trying to keep here a list of the people who had significant
  19140 influence in shaping one or more aspects of Org.  The list may not be
  19141 complete, if I have forgotten someone, please accept my apologies and
  19142 let me know.
  19143 
  19144    Before I get to this list, a few special mentions are in order:
  19145 
  19146 Bastien Guerry
  19147      Bastien has written a large number of extensions to Org (most of
  19148      them integrated into the core by now), including the LaTeX exporter
  19149      and the plain list parser.  His support during the early days was
  19150      central to the success of this project.  Bastien also invented
  19151      Worg, helped establishing the Web presence of Org, and sponsored
  19152      hosting costs for the orgmode.org website.  Bastien stepped in as
  19153      maintainer of Org between 2011 and 2013, at a time when I
  19154      desperately needed a break.
  19155 
  19156 Eric Schulte and Dan Davison
  19157      Eric and Dan are jointly responsible for the Org Babel system,
  19158      which turns Org into a multi-language environment for evaluating
  19159      code and doing literate programming and reproducible research.
  19160      This has become one of Org’s killer features that define what Org
  19161      is today.
  19162 
  19163 John Wiegley
  19164      John has contributed a number of great ideas and patches directly
  19165      to Org, including the attachment system (‘org-attach.el’),
  19166      integration with Apple Mail (‘org-mac-message.el’), hierarchical
  19167      dependencies of TODO items, habit tracking (‘org-habits.el’), and
  19168      encryption (‘org-crypt.el’).  Also, the capture system is really an
  19169      extended copy of his great ‘remember.el’.
  19170 
  19171 Sebastian Rose
  19172      Without Sebastian, the HTML/XHTML publishing of Org would be the
  19173      pitiful work of an ignorant amateur.  Sebastian has pushed this
  19174      part of Org onto a much higher level.  He also wrote ‘org-info.js’,
  19175      a JavaScript program for displaying webpages derived from Org using
  19176      an Info-like or a folding interface with single-key navigation.
  19177 
  19178    See below for the full list of contributions!  Again, please let me
  19179 know what I am missing here!
  19180 
  19181 B.2 From Bastien
  19182 ================
  19183 
  19184 I (Bastien) have been maintaining Org between 2011 and 2013.  This
  19185 appendix would not be complete without adding a few more acknowledgments
  19186 and thanks.
  19187 
  19188    I am first grateful to Carsten for his trust while handing me over
  19189 the maintainership of Org.  His unremitting support is what really
  19190 helped me getting more confident over time, with both the community and
  19191 the code.
  19192 
  19193    When I took over maintainership, I knew I would have to make Org more
  19194 collaborative than ever, as I would have to rely on people that are more
  19195 knowledgeable than I am on many parts of the code.  Here is a list of
  19196 the persons I could rely on, they should really be considered
  19197 co-maintainers, either of the code or the community:
  19198 
  19199 Eric Schulte
  19200      Eric is maintaining the Babel parts of Org.  His reactivity here
  19201      kept me away from worrying about possible bugs here and let me
  19202      focus on other parts.
  19203 
  19204 Nicolas Goaziou
  19205      Nicolas is maintaining the consistency of the deepest parts of Org.
  19206      His work on ‘org-element.el’ and ‘ox.el’ has been outstanding, and
  19207      it opened the doors for many new ideas and features.  He rewrote
  19208      many of the old exporters to use the new export engine, and helped
  19209      with documenting this major change.  More importantly (if that’s
  19210      possible), he has been more than reliable during all the work done
  19211      for Org 8.0, and always very reactive on the mailing list.
  19212 
  19213 Achim Gratz
  19214      Achim rewrote the building process of Org, turning some _ad hoc_
  19215      tools into a flexible and conceptually clean process.  He patiently
  19216      coped with the many hiccups that such a change can create for
  19217      users.
  19218 
  19219 Nick Dokos
  19220      The Org mode mailing list would not be such a nice place without
  19221      Nick, who patiently helped users so many times.  It is impossible
  19222      to overestimate such a great help, and the list would not be so
  19223      active without him.
  19224 
  19225    I received support from so many users that it is clearly impossible
  19226 to be fair when shortlisting a few of them, but Org’s history would not
  19227 be complete if the ones above were not mentioned in this manual.
  19228 
  19229 B.3 List of Contributions
  19230 =========================
  19231 
  19232    • Russell Adams came up with the idea for drawers.
  19233 
  19234    • Thomas Baumann wrote ‘ol-bbdb.el’ and ‘ol-mhe.el’.
  19235 
  19236    • Christophe Bataillon created the great unicorn logo that we use on
  19237      the Org mode website.
  19238 
  19239    • Alex Bochannek provided a patch for rounding timestamps.
  19240 
  19241    • Jan Böcker wrote ‘ol-docview.el’.
  19242 
  19243    • Brad Bozarth showed how to pull RSS feed data into Org files.
  19244 
  19245    • Tom Breton wrote ‘org-choose.el’.
  19246 
  19247    • Charles Cave’s suggestion sparked the implementation of templates
  19248      for Remember, which are now templates for capture.
  19249 
  19250    • Timothy E Chapman worked on a complete overhaul of the orgmode.org
  19251      website in 2020 and helped fixing various bugs.
  19252 
  19253    • Pavel Chalmoviansky influenced the agenda treatment of items with
  19254      specified time.
  19255 
  19256    • Gregory Chernov patched support for Lisp forms into table
  19257      calculations and improved XEmacs compatibility, in particular by
  19258      porting ‘nouline.el’ to XEmacs.
  19259 
  19260    • Sacha Chua suggested copying some linking code from Planner.
  19261 
  19262    • Baoqiu Cui contributed the DocBook exporter.
  19263 
  19264    • Eddward DeVilla proposed and tested checkbox statistics.  He also
  19265      came up with the idea of properties, and that there should be an
  19266      API for them.
  19267 
  19268    • Nick Dokos tracked down several nasty bugs.
  19269 
  19270    • Kees Dullemond used to edit projects lists directly in HTML and so
  19271      inspired some of the early development, including HTML export.  He
  19272      also asked for a way to narrow wide table columns.
  19273 
  19274    • Thomas S. Dye contributed documentation on Worg and helped
  19275      integrating the Org Babel documentation into the manual.
  19276 
  19277    • Christian Egli converted the documentation into Texinfo format,
  19278      inspired the agenda, patched CSS formatting into the HTML exporter,
  19279      and wrote ‘org-taskjuggler.el’.
  19280 
  19281    • David Emery provided a patch for custom CSS support in exported
  19282      HTML agendas.
  19283 
  19284    • Nic Ferrier contributed mailcap and XOXO support.
  19285 
  19286    • Miguel A. Figueroa-Villanueva implemented hierarchical checkboxes.
  19287 
  19288    • John Foerch figured out how to make incremental search show context
  19289      around a match in a hidden outline tree.
  19290 
  19291    • Raimar Finken wrote ‘org-git-line.el’.
  19292 
  19293    • Mikael Fornius works as a mailing list moderator.
  19294 
  19295    • Austin Frank works as a mailing list moderator.
  19296 
  19297    • Eric Fraga drove the development of Beamer export with ideas and
  19298      testing.
  19299 
  19300    • Barry Gidden did proofreading the manual in preparation for the
  19301      book publication through Network Theory Ltd.
  19302 
  19303    • Niels Giesen had the idea to automatically archive DONE trees.
  19304 
  19305    • Nicolas Goaziou rewrote much of the plain list code.
  19306 
  19307    • Kai Grossjohann pointed out key-binding conflicts with other
  19308      packages.
  19309 
  19310    • Brian Gough of Network Theory Ltd publishes the Org mode manual as
  19311      a book.
  19312 
  19313    • Bernt Hansen has driven much of the support for auto-repeating
  19314      tasks, task state change logging, and the clocktable.  His clear
  19315      explanations have been critical when we started to adopt the Git
  19316      version control system.
  19317 
  19318    • Manuel Hermenegildo has contributed various ideas, small fixes and
  19319      patches.
  19320 
  19321    • Phil Jackson wrote ‘ol-irc.el’.
  19322 
  19323    • Scott Jaderholm proposed footnotes, control over whitespace between
  19324      folded entries, and column view for properties.
  19325 
  19326    • Matt Jones wrote MobileOrg Android.
  19327 
  19328    • Tokuya Kameshima wrote ‘org-wl.el’ and ‘org-mew.el’.
  19329 
  19330    • Shidai Liu (“Leo”) asked for embedded LaTeX and tested it.  He also
  19331      provided frequent feedback and some patches.
  19332 
  19333    • Matt Lundin has proposed last-row references for table formulas and
  19334      named invisible anchors.  He has also worked a lot on the FAQ.
  19335 
  19336    • David Maus wrote ‘org-atom.el’, maintains the issues file for Org,
  19337      and is a prolific contributor on the mailing list with competent
  19338      replies, small fixes and patches.
  19339 
  19340    • Jason F. McBrayer suggested agenda export to CSV format.
  19341 
  19342    • Kyle Meyer helped setting up the public-inbox
  19343      (https://public-inbox.org/) archive of the Org mailing list
  19344      (https://orgmode.org/list/) and has been fixing many bugs.
  19345 
  19346    • Max Mikhanosha came up with the idea of refiling.
  19347 
  19348    • Dmitri Minaev sent a patch to set priority limits on a per-file
  19349      basis.
  19350 
  19351    • Stefan Monnier provided a patch to keep the Emacs Lisp compiler
  19352      happy.
  19353 
  19354    • Richard Moreland wrote MobileOrg for the iPhone.
  19355 
  19356    • Rick Moynihan proposed allowing multiple TODO sequences in a file
  19357      and being able to quickly restrict the agenda to a subtree.
  19358 
  19359    • Todd Neal provided patches for links to Info files and Elisp forms.
  19360 
  19361    • Greg Newman refreshed the unicorn logo into its current form.
  19362 
  19363    • Tim O’Callaghan suggested in-file links, search options for general
  19364      file links, and tags.
  19365 
  19366    • Osamu Okano wrote ‘orgcard2ref.pl’, a Perl program to create a text
  19367      version of the reference card.
  19368 
  19369    • Takeshi Okano translated the manual and David O’Toole’s tutorial
  19370      into Japanese.
  19371 
  19372    • Oliver Oppitz suggested multi-state TODO items.
  19373 
  19374    • Scott Otterson sparked the introduction of descriptive text for
  19375      links, among other things.
  19376 
  19377    • Pete Phillips helped during the development of the TAGS feature,
  19378      and provided frequent feedback.
  19379 
  19380    • Martin Pohlack provided the code snippet to bundle character
  19381      insertion into bundles of 20 for undo.
  19382 
  19383    • Ihor Radchenko helped with fixing bugs and improving the user
  19384      experience regarding Org’s speed.
  19385 
  19386    • T. V. Raman reported bugs and suggested improvements.
  19387 
  19388    • Matthias Rempe (Oelde) provided ideas, Windows support, and quality
  19389      control.
  19390 
  19391    • Paul Rivier provided the basic implementation of named footnotes.
  19392      He also acted as mailing list moderator for some time.
  19393 
  19394    • Kevin Rogers contributed code to access VM files on remote hosts.
  19395 
  19396    • Frank Ruell solved the mystery of the ‘keymapp nil’ bug, a conflict
  19397      with ‘allout.el’.
  19398 
  19399    • Jason Riedy generalized the send-receive mechanism for Orgtbl
  19400      tables with extensive patches.
  19401 
  19402    • Philip Rooke created the Org reference card, provided lots of
  19403      feedback, developed and applied standards to the Org documentation.
  19404 
  19405    • Christian Schlauer proposed angular brackets around links, among
  19406      other things.
  19407 
  19408    • Paul Sexton wrote ‘org-ctags.el’.
  19409 
  19410    • Tom Shannon’s ‘organizer-mode.el’ inspired linking to VM/BBDB/Gnus.
  19411 
  19412    • Ilya Shlyakhter proposed the Archive Sibling, line numbering in
  19413      literal examples, and remote highlighting for referenced code
  19414      lines.
  19415 
  19416    • Stathis Sideris wrote the ‘ditaa.jar’ ASCII to PNG converter that
  19417      is now packaged into the org-contrib
  19418      (https://git.sr.ht/~bzg/org-contrib) repository.
  19419 
  19420    • Daniel Sinder came up with the idea of internal archiving by
  19421      locking subtrees.
  19422 
  19423    • Dale Smith proposed link abbreviations.
  19424 
  19425    • James TD Smith has contributed a large number of patches for useful
  19426      tweaks and features.
  19427 
  19428    • Adam Spiers asked for global linking commands, inspired the link
  19429      extension system, added support for Mairix, and proposed the
  19430      mapping API.
  19431 
  19432    • Ulf Stegemann created the table to translate special symbols to
  19433      HTML, LaTeX, UTF-8, Latin-1 and ASCII.
  19434 
  19435    • Andy Stewart contributed code to ‘ol-w3m.el’, to copy HTML content
  19436      with links transformation to Org syntax.
  19437 
  19438    • David O’Toole wrote ‘org-publish.el’ and drafted the manual chapter
  19439      about publishing.
  19440 
  19441    • Jambunathan K. contributed the ODT exporter.
  19442 
  19443    • Sebastien Vauban reported many issues with LaTeX and Beamer export
  19444      and enabled source code highlighting in Gnus.
  19445 
  19446    • Stefan Vollmar organized a video-recorded talk at the
  19447      Max-Planck-Institute for Neurology.  He also inspired the creation
  19448      of a concept index for HTML export.
  19449 
  19450    • Jürgen Vollmer contributed code generating the table of contents in
  19451      HTML output.
  19452 
  19453    • Samuel Wales has provided important feedback and bug reports.
  19454 
  19455    • Chris Wallace provided a patch implementing the ‘QUOTE’ block.
  19456 
  19457    • David Wainberg suggested archiving, and improvements to the linking
  19458      system.
  19459 
  19460    • Carsten Wimmer suggested some changes and helped fix a bug in
  19461      linking to Gnus.
  19462 
  19463    • Roland Winkler requested additional key bindings to make Org work
  19464      on a TTY.
  19465 
  19466    • Piotr Zielinski wrote ‘org-mouse.el’, proposed agenda blocks and
  19467      contributed various ideas and code snippets.
  19468 
  19469    • Marco Wahl wrote ‘ol-eww.el’.
  19470 
  19471 
  19472 File: org.info,  Node: GNU Free Documentation License,  Next: Main Index,  Prev: History and Acknowledgments,  Up: Top
  19473 
  19474 Appendix C GNU Free Documentation License
  19475 *****************************************
  19476 
  19477                      Version 1.3, 3 November 2008
  19478 
  19479      Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
  19480      <https://fsf.org/>
  19481 
  19482      Everyone is permitted to copy and distribute verbatim copies
  19483      of this license document, but changing it is not allowed.
  19484 
  19485   0. PREAMBLE
  19486 
  19487      The purpose of this License is to make a manual, textbook, or other
  19488      functional and useful document “free” in the sense of freedom: to
  19489      assure everyone the effective freedom to copy and redistribute it,
  19490      with or without modifying it, either commercially or
  19491      noncommercially.  Secondarily, this License preserves for the
  19492      author and publisher a way to get credit for their work, while not
  19493      being considered responsible for modifications made by others.
  19494 
  19495      This License is a kind of “copyleft”, which means that derivative
  19496      works of the document must themselves be free in the same sense.
  19497      It complements the GNU General Public License, which is a copyleft
  19498      license designed for free software.
  19499 
  19500      We have designed this License in order to use it for manuals for
  19501      free software, because free software needs free documentation: a
  19502      free program should come with manuals providing the same freedoms
  19503      that the software does.  But this License is not limited to
  19504      software manuals; it can be used for any textual work, regardless
  19505      of subject matter or whether it is published as a printed book.  We
  19506      recommend this License principally for works whose purpose is
  19507      instruction or reference.
  19508 
  19509   1. APPLICABILITY AND DEFINITIONS
  19510 
  19511      This License applies to any manual or other work, in any medium,
  19512      that contains a notice placed by the copyright holder saying it can
  19513      be distributed under the terms of this License.  Such a notice
  19514      grants a world-wide, royalty-free license, unlimited in duration,
  19515      to use that work under the conditions stated herein.  The
  19516      “Document”, below, refers to any such manual or work.  Any member
  19517      of the public is a licensee, and is addressed as “you”.  You accept
  19518      the license if you copy, modify or distribute the work in a way
  19519      requiring permission under copyright law.
  19520 
  19521      A “Modified Version” of the Document means any work containing the
  19522      Document or a portion of it, either copied verbatim, or with
  19523      modifications and/or translated into another language.
  19524 
  19525      A “Secondary Section” is a named appendix or a front-matter section
  19526      of the Document that deals exclusively with the relationship of the
  19527      publishers or authors of the Document to the Document’s overall
  19528      subject (or to related matters) and contains nothing that could
  19529      fall directly within that overall subject.  (Thus, if the Document
  19530      is in part a textbook of mathematics, a Secondary Section may not
  19531      explain any mathematics.)  The relationship could be a matter of
  19532      historical connection with the subject or with related matters, or
  19533      of legal, commercial, philosophical, ethical or political position
  19534      regarding them.
  19535 
  19536      The “Invariant Sections” are certain Secondary Sections whose
  19537      titles are designated, as being those of Invariant Sections, in the
  19538      notice that says that the Document is released under this License.
  19539      If a section does not fit the above definition of Secondary then it
  19540      is not allowed to be designated as Invariant.  The Document may
  19541      contain zero Invariant Sections.  If the Document does not identify
  19542      any Invariant Sections then there are none.
  19543 
  19544      The “Cover Texts” are certain short passages of text that are
  19545      listed, as Front-Cover Texts or Back-Cover Texts, in the notice
  19546      that says that the Document is released under this License.  A
  19547      Front-Cover Text may be at most 5 words, and a Back-Cover Text may
  19548      be at most 25 words.
  19549 
  19550      A “Transparent” copy of the Document means a machine-readable copy,
  19551      represented in a format whose specification is available to the
  19552      general public, that is suitable for revising the document
  19553      straightforwardly with generic text editors or (for images composed
  19554      of pixels) generic paint programs or (for drawings) some widely
  19555      available drawing editor, and that is suitable for input to text
  19556      formatters or for automatic translation to a variety of formats
  19557      suitable for input to text formatters.  A copy made in an otherwise
  19558      Transparent file format whose markup, or absence of markup, has
  19559      been arranged to thwart or discourage subsequent modification by
  19560      readers is not Transparent.  An image format is not Transparent if
  19561      used for any substantial amount of text.  A copy that is not
  19562      “Transparent” is called “Opaque”.
  19563 
  19564      Examples of suitable formats for Transparent copies include plain
  19565      ASCII without markup, Texinfo input format, LaTeX input format,
  19566      SGML or XML using a publicly available DTD, and standard-conforming
  19567      simple HTML, PostScript or PDF designed for human modification.
  19568      Examples of transparent image formats include PNG, XCF and JPG.
  19569      Opaque formats include proprietary formats that can be read and
  19570      edited only by proprietary word processors, SGML or XML for which
  19571      the DTD and/or processing tools are not generally available, and
  19572      the machine-generated HTML, PostScript or PDF produced by some word
  19573      processors for output purposes only.
  19574 
  19575      The “Title Page” means, for a printed book, the title page itself,
  19576      plus such following pages as are needed to hold, legibly, the
  19577      material this License requires to appear in the title page.  For
  19578      works in formats which do not have any title page as such, “Title
  19579      Page” means the text near the most prominent appearance of the
  19580      work’s title, preceding the beginning of the body of the text.
  19581 
  19582      The “publisher” means any person or entity that distributes copies
  19583      of the Document to the public.
  19584 
  19585      A section “Entitled XYZ” means a named subunit of the Document
  19586      whose title either is precisely XYZ or contains XYZ in parentheses
  19587      following text that translates XYZ in another language.  (Here XYZ
  19588      stands for a specific section name mentioned below, such as
  19589      “Acknowledgements”, “Dedications”, “Endorsements”, or “History”.)
  19590      To “Preserve the Title” of such a section when you modify the
  19591      Document means that it remains a section “Entitled XYZ” according
  19592      to this definition.
  19593 
  19594      The Document may include Warranty Disclaimers next to the notice
  19595      which states that this License applies to the Document.  These
  19596      Warranty Disclaimers are considered to be included by reference in
  19597      this License, but only as regards disclaiming warranties: any other
  19598      implication that these Warranty Disclaimers may have is void and
  19599      has no effect on the meaning of this License.
  19600 
  19601   2. VERBATIM COPYING
  19602 
  19603      You may copy and distribute the Document in any medium, either
  19604      commercially or noncommercially, provided that this License, the
  19605      copyright notices, and the license notice saying this License
  19606      applies to the Document are reproduced in all copies, and that you
  19607      add no other conditions whatsoever to those of this License.  You
  19608      may not use technical measures to obstruct or control the reading
  19609      or further copying of the copies you make or distribute.  However,
  19610      you may accept compensation in exchange for copies.  If you
  19611      distribute a large enough number of copies you must also follow the
  19612      conditions in section 3.
  19613 
  19614      You may also lend copies, under the same conditions stated above,
  19615      and you may publicly display copies.
  19616 
  19617   3. COPYING IN QUANTITY
  19618 
  19619      If you publish printed copies (or copies in media that commonly
  19620      have printed covers) of the Document, numbering more than 100, and
  19621      the Document’s license notice requires Cover Texts, you must
  19622      enclose the copies in covers that carry, clearly and legibly, all
  19623      these Cover Texts: Front-Cover Texts on the front cover, and
  19624      Back-Cover Texts on the back cover.  Both covers must also clearly
  19625      and legibly identify you as the publisher of these copies.  The
  19626      front cover must present the full title with all words of the title
  19627      equally prominent and visible.  You may add other material on the
  19628      covers in addition.  Copying with changes limited to the covers, as
  19629      long as they preserve the title of the Document and satisfy these
  19630      conditions, can be treated as verbatim copying in other respects.
  19631 
  19632      If the required texts for either cover are too voluminous to fit
  19633      legibly, you should put the first ones listed (as many as fit
  19634      reasonably) on the actual cover, and continue the rest onto
  19635      adjacent pages.
  19636 
  19637      If you publish or distribute Opaque copies of the Document
  19638      numbering more than 100, you must either include a machine-readable
  19639      Transparent copy along with each Opaque copy, or state in or with
  19640      each Opaque copy a computer-network location from which the general
  19641      network-using public has access to download using public-standard
  19642      network protocols a complete Transparent copy of the Document, free
  19643      of added material.  If you use the latter option, you must take
  19644      reasonably prudent steps, when you begin distribution of Opaque
  19645      copies in quantity, to ensure that this Transparent copy will
  19646      remain thus accessible at the stated location until at least one
  19647      year after the last time you distribute an Opaque copy (directly or
  19648      through your agents or retailers) of that edition to the public.
  19649 
  19650      It is requested, but not required, that you contact the authors of
  19651      the Document well before redistributing any large number of copies,
  19652      to give them a chance to provide you with an updated version of the
  19653      Document.
  19654 
  19655   4. MODIFICATIONS
  19656 
  19657      You may copy and distribute a Modified Version of the Document
  19658      under the conditions of sections 2 and 3 above, provided that you
  19659      release the Modified Version under precisely this License, with the
  19660      Modified Version filling the role of the Document, thus licensing
  19661      distribution and modification of the Modified Version to whoever
  19662      possesses a copy of it.  In addition, you must do these things in
  19663      the Modified Version:
  19664 
  19665        A. Use in the Title Page (and on the covers, if any) a title
  19666           distinct from that of the Document, and from those of previous
  19667           versions (which should, if there were any, be listed in the
  19668           History section of the Document).  You may use the same title
  19669           as a previous version if the original publisher of that
  19670           version gives permission.
  19671 
  19672        B. List on the Title Page, as authors, one or more persons or
  19673           entities responsible for authorship of the modifications in
  19674           the Modified Version, together with at least five of the
  19675           principal authors of the Document (all of its principal
  19676           authors, if it has fewer than five), unless they release you
  19677           from this requirement.
  19678 
  19679        C. State on the Title page the name of the publisher of the
  19680           Modified Version, as the publisher.
  19681 
  19682        D. Preserve all the copyright notices of the Document.
  19683 
  19684        E. Add an appropriate copyright notice for your modifications
  19685           adjacent to the other copyright notices.
  19686 
  19687        F. Include, immediately after the copyright notices, a license
  19688           notice giving the public permission to use the Modified
  19689           Version under the terms of this License, in the form shown in
  19690           the Addendum below.
  19691 
  19692        G. Preserve in that license notice the full lists of Invariant
  19693           Sections and required Cover Texts given in the Document’s
  19694           license notice.
  19695 
  19696        H. Include an unaltered copy of this License.
  19697 
  19698        I. Preserve the section Entitled “History”, Preserve its Title,
  19699           and add to it an item stating at least the title, year, new
  19700           authors, and publisher of the Modified Version as given on the
  19701           Title Page.  If there is no section Entitled “History” in the
  19702           Document, create one stating the title, year, authors, and
  19703           publisher of the Document as given on its Title Page, then add
  19704           an item describing the Modified Version as stated in the
  19705           previous sentence.
  19706 
  19707        J. Preserve the network location, if any, given in the Document
  19708           for public access to a Transparent copy of the Document, and
  19709           likewise the network locations given in the Document for
  19710           previous versions it was based on.  These may be placed in the
  19711           “History” section.  You may omit a network location for a work
  19712           that was published at least four years before the Document
  19713           itself, or if the original publisher of the version it refers
  19714           to gives permission.
  19715 
  19716        K. For any section Entitled “Acknowledgements” or “Dedications”,
  19717           Preserve the Title of the section, and preserve in the section
  19718           all the substance and tone of each of the contributor
  19719           acknowledgements and/or dedications given therein.
  19720 
  19721        L. Preserve all the Invariant Sections of the Document, unaltered
  19722           in their text and in their titles.  Section numbers or the
  19723           equivalent are not considered part of the section titles.
  19724 
  19725        M. Delete any section Entitled “Endorsements”.  Such a section
  19726           may not be included in the Modified Version.
  19727 
  19728        N. Do not retitle any existing section to be Entitled
  19729           “Endorsements” or to conflict in title with any Invariant
  19730           Section.
  19731 
  19732        O. Preserve any Warranty Disclaimers.
  19733 
  19734      If the Modified Version includes new front-matter sections or
  19735      appendices that qualify as Secondary Sections and contain no
  19736      material copied from the Document, you may at your option designate
  19737      some or all of these sections as invariant.  To do this, add their
  19738      titles to the list of Invariant Sections in the Modified Version’s
  19739      license notice.  These titles must be distinct from any other
  19740      section titles.
  19741 
  19742      You may add a section Entitled “Endorsements”, provided it contains
  19743      nothing but endorsements of your Modified Version by various
  19744      parties—for example, statements of peer review or that the text has
  19745      been approved by an organization as the authoritative definition of
  19746      a standard.
  19747 
  19748      You may add a passage of up to five words as a Front-Cover Text,
  19749      and a passage of up to 25 words as a Back-Cover Text, to the end of
  19750      the list of Cover Texts in the Modified Version.  Only one passage
  19751      of Front-Cover Text and one of Back-Cover Text may be added by (or
  19752      through arrangements made by) any one entity.  If the Document
  19753      already includes a cover text for the same cover, previously added
  19754      by you or by arrangement made by the same entity you are acting on
  19755      behalf of, you may not add another; but you may replace the old
  19756      one, on explicit permission from the previous publisher that added
  19757      the old one.
  19758 
  19759      The author(s) and publisher(s) of the Document do not by this
  19760      License give permission to use their names for publicity for or to
  19761      assert or imply endorsement of any Modified Version.
  19762 
  19763   5. COMBINING DOCUMENTS
  19764 
  19765      You may combine the Document with other documents released under
  19766      this License, under the terms defined in section 4 above for
  19767      modified versions, provided that you include in the combination all
  19768      of the Invariant Sections of all of the original documents,
  19769      unmodified, and list them all as Invariant Sections of your
  19770      combined work in its license notice, and that you preserve all
  19771      their Warranty Disclaimers.
  19772 
  19773      The combined work need only contain one copy of this License, and
  19774      multiple identical Invariant Sections may be replaced with a single
  19775      copy.  If there are multiple Invariant Sections with the same name
  19776      but different contents, make the title of each such section unique
  19777      by adding at the end of it, in parentheses, the name of the
  19778      original author or publisher of that section if known, or else a
  19779      unique number.  Make the same adjustment to the section titles in
  19780      the list of Invariant Sections in the license notice of the
  19781      combined work.
  19782 
  19783      In the combination, you must combine any sections Entitled
  19784      “History” in the various original documents, forming one section
  19785      Entitled “History”; likewise combine any sections Entitled
  19786      “Acknowledgements”, and any sections Entitled “Dedications”.  You
  19787      must delete all sections Entitled “Endorsements.”
  19788 
  19789   6. COLLECTIONS OF DOCUMENTS
  19790 
  19791      You may make a collection consisting of the Document and other
  19792      documents released under this License, and replace the individual
  19793      copies of this License in the various documents with a single copy
  19794      that is included in the collection, provided that you follow the
  19795      rules of this License for verbatim copying of each of the documents
  19796      in all other respects.
  19797 
  19798      You may extract a single document from such a collection, and
  19799      distribute it individually under this License, provided you insert
  19800      a copy of this License into the extracted document, and follow this
  19801      License in all other respects regarding verbatim copying of that
  19802      document.
  19803 
  19804   7. AGGREGATION WITH INDEPENDENT WORKS
  19805 
  19806      A compilation of the Document or its derivatives with other
  19807      separate and independent documents or works, in or on a volume of a
  19808      storage or distribution medium, is called an “aggregate” if the
  19809      copyright resulting from the compilation is not used to limit the
  19810      legal rights of the compilation’s users beyond what the individual
  19811      works permit.  When the Document is included in an aggregate, this
  19812      License does not apply to the other works in the aggregate which
  19813      are not themselves derivative works of the Document.
  19814 
  19815      If the Cover Text requirement of section 3 is applicable to these
  19816      copies of the Document, then if the Document is less than one half
  19817      of the entire aggregate, the Document’s Cover Texts may be placed
  19818      on covers that bracket the Document within the aggregate, or the
  19819      electronic equivalent of covers if the Document is in electronic
  19820      form.  Otherwise they must appear on printed covers that bracket
  19821      the whole aggregate.
  19822 
  19823   8. TRANSLATION
  19824 
  19825      Translation is considered a kind of modification, so you may
  19826      distribute translations of the Document under the terms of section
  19827      4.  Replacing Invariant Sections with translations requires special
  19828      permission from their copyright holders, but you may include
  19829      translations of some or all Invariant Sections in addition to the
  19830      original versions of these Invariant Sections.  You may include a
  19831      translation of this License, and all the license notices in the
  19832      Document, and any Warranty Disclaimers, provided that you also
  19833      include the original English version of this License and the
  19834      original versions of those notices and disclaimers.  In case of a
  19835      disagreement between the translation and the original version of
  19836      this License or a notice or disclaimer, the original version will
  19837      prevail.
  19838 
  19839      If a section in the Document is Entitled “Acknowledgements”,
  19840      “Dedications”, or “History”, the requirement (section 4) to
  19841      Preserve its Title (section 1) will typically require changing the
  19842      actual title.
  19843 
  19844   9. TERMINATION
  19845 
  19846      You may not copy, modify, sublicense, or distribute the Document
  19847      except as expressly provided under this License.  Any attempt
  19848      otherwise to copy, modify, sublicense, or distribute it is void,
  19849      and will automatically terminate your rights under this License.
  19850 
  19851      However, if you cease all violation of this License, then your
  19852      license from a particular copyright holder is reinstated (a)
  19853      provisionally, unless and until the copyright holder explicitly and
  19854      finally terminates your license, and (b) permanently, if the
  19855      copyright holder fails to notify you of the violation by some
  19856      reasonable means prior to 60 days after the cessation.
  19857 
  19858      Moreover, your license from a particular copyright holder is
  19859      reinstated permanently if the copyright holder notifies you of the
  19860      violation by some reasonable means, this is the first time you have
  19861      received notice of violation of this License (for any work) from
  19862      that copyright holder, and you cure the violation prior to 30 days
  19863      after your receipt of the notice.
  19864 
  19865      Termination of your rights under this section does not terminate
  19866      the licenses of parties who have received copies or rights from you
  19867      under this License.  If your rights have been terminated and not
  19868      permanently reinstated, receipt of a copy of some or all of the
  19869      same material does not give you any rights to use it.
  19870 
  19871   10. FUTURE REVISIONS OF THIS LICENSE
  19872 
  19873      The Free Software Foundation may publish new, revised versions of
  19874      the GNU Free Documentation License from time to time.  Such new
  19875      versions will be similar in spirit to the present version, but may
  19876      differ in detail to address new problems or concerns.  See
  19877      <https://www.gnu.org/copyleft/>.
  19878 
  19879      Each version of the License is given a distinguishing version
  19880      number.  If the Document specifies that a particular numbered
  19881      version of this License “or any later version” applies to it, you
  19882      have the option of following the terms and conditions either of
  19883      that specified version or of any later version that has been
  19884      published (not as a draft) by the Free Software Foundation.  If the
  19885      Document does not specify a version number of this License, you may
  19886      choose any version ever published (not as a draft) by the Free
  19887      Software Foundation.  If the Document specifies that a proxy can
  19888      decide which future versions of this License can be used, that
  19889      proxy’s public statement of acceptance of a version permanently
  19890      authorizes you to choose that version for the Document.
  19891 
  19892   11. RELICENSING
  19893 
  19894      “Massive Multiauthor Collaboration Site” (or “MMC Site”) means any
  19895      World Wide Web server that publishes copyrightable works and also
  19896      provides prominent facilities for anybody to edit those works.  A
  19897      public wiki that anybody can edit is an example of such a server.
  19898      A “Massive Multiauthor Collaboration” (or “MMC”) contained in the
  19899      site means any set of copyrightable works thus published on the MMC
  19900      site.
  19901 
  19902      “CC-BY-SA” means the Creative Commons Attribution-Share Alike 3.0
  19903      license published by Creative Commons Corporation, a not-for-profit
  19904      corporation with a principal place of business in San Francisco,
  19905      California, as well as future copyleft versions of that license
  19906      published by that same organization.
  19907 
  19908      “Incorporate” means to publish or republish a Document, in whole or
  19909      in part, as part of another Document.
  19910 
  19911      An MMC is “eligible for relicensing” if it is licensed under this
  19912      License, and if all works that were first published under this
  19913      License somewhere other than this MMC, and subsequently
  19914      incorporated in whole or in part into the MMC, (1) had no cover
  19915      texts or invariant sections, and (2) were thus incorporated prior
  19916      to November 1, 2008.
  19917 
  19918      The operator of an MMC Site may republish an MMC contained in the
  19919      site under CC-BY-SA on the same site at any time before August 1,
  19920      2009, provided the MMC is eligible for relicensing.
  19921 
  19922 C.1 ADDENDUM: How to use this License for your documents
  19923 ========================================================
  19924 
  19925 To use this License in a document you have written, include a copy of
  19926 the License in the document and put the following copyright and license
  19927 notices just after the title page:
  19928 
  19929      Copyright (C)  YEAR  YOUR NAME.
  19930      Permission is granted to copy, distribute and/or modify this document
  19931      under the terms of the GNU Free Documentation License, Version 1.3
  19932      or any later version published by the Free Software Foundation;
  19933      with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
  19934      Texts.  A copy of the license is included in the section entitled ``GNU
  19935      Free Documentation License''.
  19936 
  19937    If you have Invariant Sections, Front-Cover Texts and Back-Cover
  19938 Texts, replace the “with...Texts.” line with this:
  19939 
  19940      with the Invariant Sections being LIST THEIR TITLES, with
  19941      the Front-Cover Texts being LIST, and with the Back-Cover Texts
  19942      being LIST.
  19943 
  19944    If you have Invariant Sections without Cover Texts, or some other
  19945 combination of the three, merge those two alternatives to suit the
  19946 situation.
  19947 
  19948    If your document contains nontrivial examples of program code, we
  19949 recommend releasing these examples in parallel under your choice of free
  19950 software license, such as the GNU General Public License, to permit
  19951 their use in free software.
  19952 
  19953 
  19954 File: org.info,  Node: Main Index,  Next: Key Index,  Prev: GNU Free Documentation License,  Up: Top
  19955 
  19956 D Main Index
  19957 ************
  19958 
  19959   19960 * Menu:
  19961 
  19962 * *this*, in post header argument:       Results of Evaluation.
  19963                                                               (line 271)
  19964 * + suffix, in properties:               Property Syntax.     (line  52)
  19965 * _ALL suffix, in properties:            Property Syntax.     (line  50)
  19966 * abbreviation, links:                   Link Abbreviations.  (line   6)
  19967 * abstract, in LaTeX export:             Special blocks in LaTeX export.
  19968                                                               (line   6)
  19969 * action, for publishing:                Publishing action.   (line   6)
  19970 * activation:                            Activation.          (line   6)
  19971 * active region:                         Structure Editing.   (line  46)
  19972 * add-on packages:                       Add-on Packages.     (line   6)
  19973 * agenda:                                Weekly/daily agenda. (line   6)
  19974 * agenda dispatcher:                     Agenda Dispatcher.   (line   6)
  19975 * agenda files:                          Agenda Files.        (line   6)
  19976 * agenda files, removing buffers:        Agenda Commands.     (line 497)
  19977 * agenda filtering:                      Filtering/limiting agenda items.
  19978                                                               (line  20)
  19979 * agenda views:                          Agenda Views.        (line   6)
  19980 * agenda views, custom:                  Custom Agenda Views. (line   6)
  19981 * agenda views, exporting:               Exporting Agenda Views.
  19982                                                               (line   6)
  19983 * agenda views, exporting <1>:           Exporting Agenda Views.
  19984                                                               (line  13)
  19985 * agenda views, main example:            Storing searches.    (line  11)
  19986 * agenda views, optimization:            Speeding Up Your Agendas.
  19987                                                               (line   6)
  19988 * agenda views, user-defined:            Special Agenda Views.
  19989                                                               (line   6)
  19990 * agenda*, as an agenda views:           Storing searches.    (line  11)
  19991 * agenda, as an agenda views:            Storing searches.    (line  11)
  19992 * agenda, column view:                   Agenda Column View.  (line   6)
  19993 * agenda, pipe:                          Extracting Agenda Information.
  19994                                                               (line   6)
  19995 * agenda, with block views:              Block agenda.        (line   6)
  19996 * alignment in tables:                   Column Width and Alignment.
  19997                                                               (line   6)
  19998 * ALLTAGS, special property:             Special Properties.  (line  13)
  19999 * ALT_TITLE, property:                   Table of Contents.   (line  68)
  20000 * ALT_TITLE, property <1>:               Headings and sectioning structure.
  20001                                                               (line  24)
  20002 * angle bracket links:                   Link Format.         (line   6)
  20003 * angular brackets, around links:        External Links.      (line 136)
  20004 * anniversaries, from BBDB:              Weekly/daily agenda. (line  78)
  20005 * API, for mapping:                      Using the Mapping API.
  20006                                                               (line   6)
  20007 * API, for properties:                   Using the Property API.
  20008                                                               (line   6)
  20009 * APPENDIX, property:                    Headings and sectioning structure.
  20010                                                               (line  20)
  20011 * appointment:                           Timestamps.          (line  14)
  20012 * appointment <1>:                       Weekly/daily agenda. (line 125)
  20013 * appointment reminders:                 Weekly/daily agenda. (line 125)
  20014 * appt.el:                               Weekly/daily agenda. (line 125)
  20015 * APPT_WARNTIME, keyword:                Weekly/daily agenda. (line 125)
  20016 * archive locations:                     Moving subtrees.     (line  25)
  20017 * ARCHIVE, keyword:                      Moving subtrees.     (line  35)
  20018 * ARCHIVE, keyword <1>:                  In-buffer Settings.  (line  16)
  20019 * ARCHIVE, property:                     Property Inheritance.
  20020                                                               (line  33)
  20021 * ARCHIVE, property <1>:                 Moving subtrees.     (line  37)
  20022 * ARCHIVE, tag:                          Internal archiving.  (line   6)
  20023 * archived entries, in agenda views:     Agenda Views.        (line  37)
  20024 * archiving:                             Refiling and Archiving.
  20025                                                               (line   6)
  20026 * archiving <1>:                         Archiving.           (line   6)
  20027 * arguments, in code blocks:             Environment of a Code Block.
  20028                                                               (line   9)
  20029 * ASCII export:                          ASCII/Latin-1/UTF-8 export.
  20030                                                               (line   6)
  20031 * ASCII, keyword:                        ASCII/Latin-1/UTF-8 export.
  20032                                                               (line  63)
  20033 * Atom feeds:                            Capture and Attachments.
  20034                                                               (line   6)
  20035 * Atom feeds <1>:                        RSS Feeds.           (line   6)
  20036 * attach from Dired:                     Attach from Dired.   (line   6)
  20037 * attachment links:                      External Links.      (line   6)
  20038 * attachment links, searching:           Search Options.      (line   6)
  20039 * attachments:                           Capture and Attachments.
  20040                                                               (line   6)
  20041 * attachments <1>:                       Attachments.         (line   6)
  20042 * ATTR_ASCII, keyword:                   ASCII/Latin-1/UTF-8 export.
  20043                                                               (line  74)
  20044 * ATTR_BEAMER, keyword:                  Beamer specific syntax.
  20045                                                               (line  35)
  20046 * ATTR_HTML, keyword:                    Links in HTML export.
  20047                                                               (line  27)
  20048 * ATTR_HTML, keyword <1>:                Tables in HTML export.
  20049                                                               (line  11)
  20050 * ATTR_HTML, keyword <2>:                Images in HTML export.
  20051                                                               (line  28)
  20052 * ATTR_LATEX, keyword:                   Images in LaTeX export.
  20053                                                               (line   6)
  20054 * ATTR_LATEX, keyword <1>:               Plain lists in LaTeX export.
  20055                                                               (line   6)
  20056 * ATTR_LATEX, keyword <2>:               Source blocks in LaTeX export.
  20057                                                               (line   6)
  20058 * ATTR_LATEX, keyword <3>:               Example blocks in LaTeX export.
  20059                                                               (line   6)
  20060 * ATTR_LATEX, keyword <4>:               Special blocks in LaTeX export.
  20061                                                               (line   6)
  20062 * ATTR_LATEX, keyword <5>:               Horizontal rules in LaTeX export.
  20063                                                               (line   6)
  20064 * ATTR_LATEX, keyword <6>:               Verse blocks in LaTeX export.
  20065                                                               (line   6)
  20066 * ATTR_LATEX, keyword <7>:               Quote blocks in LaTeX export.
  20067                                                               (line   6)
  20068 * ATTR_ODT, keyword:                     Tables in ODT export.
  20069                                                               (line  20)
  20070 * ATTR_ODT, keyword <1>:                 Images in ODT export.
  20071                                                               (line  31)
  20072 * ATTR_ODT, keyword <2>:                 Images in ODT export.
  20073                                                               (line  76)
  20074 * ATTR_ODT, keyword <3>:                 Advanced topics in ODT export.
  20075                                                               (line 151)
  20076 * ATTR_TEXINFO, keyword:                 Plain lists in Texinfo export.
  20077                                                               (line  19)
  20078 * ATTR_TEXINFO, keyword <1>:             Tables in Texinfo export.
  20079                                                               (line   6)
  20080 * ATTR_TEXINFO, keyword <2>:             Images in Texinfo export.
  20081                                                               (line   6)
  20082 * ATTR_TEXINFO, keyword <3>:             Quotations in Texinfo export.
  20083                                                               (line   6)
  20084 * ATTR_TEXINFO, keyword <4>:             Special blocks in Texinfo export.
  20085                                                               (line  10)
  20086 * author:                                Feedback.            (line   6)
  20087 * AUTHOR, keyword:                       Export Settings.     (line  25)
  20088 * author, macro:                         Macro Replacement.   (line  41)
  20089 * auto clocking out after idle time:     Resolving idle time. (line  91)
  20090 * auto-save, in code block editing:      Editing Source Code. (line  11)
  20091 * autoload:                              Activation.          (line   6)
  20092 * babel, languages:                      Languages.           (line   6)
  20093 * babel, library of:                     Library of Babel.    (line   6)
  20094 * backslashes, in links:                 Link Format.         (line  17)
  20095 * backtrace of an error:                 Feedback.            (line  77)
  20096 * BBDB links:                            External Links.      (line   6)
  20097 * BBDB, anniversaries:                   Weekly/daily agenda. (line  78)
  20098 * Beamer export:                         Beamer Export.       (line   6)
  20099 * BEAMER, keyword:                       Beamer specific syntax.
  20100                                                               (line  19)
  20101 * BEAMER_ACT, property:                  Frames and Blocks in Beamer.
  20102                                                               (line  41)
  20103 * BEAMER_COL, property:                  Frames and Blocks in Beamer.
  20104                                                               (line  49)
  20105 * BEAMER_ENV, property:                  Frames and Blocks in Beamer.
  20106                                                               (line  14)
  20107 * BEAMER_FONT_THEME, keyword:            Beamer specific export settings.
  20108                                                               (line  17)
  20109 * BEAMER_HEADER, keyword:                Beamer specific export settings.
  20110                                                               (line  26)
  20111 * BEAMER_INNER_THEME, keyword:           Beamer specific export settings.
  20112                                                               (line  20)
  20113 * BEAMER_OPT, property:                  Frames and Blocks in Beamer.
  20114                                                               (line  41)
  20115 * BEAMER_OUTER_THEME, keyword:           Beamer specific export settings.
  20116                                                               (line  23)
  20117 * BEAMER_REF, property:                  Frames and Blocks in Beamer.
  20118                                                               (line  27)
  20119 * BEAMER_THEME, keyword:                 Beamer specific export settings.
  20120                                                               (line  11)
  20121 * BEGIN clocktable:                      The clock table.     (line  36)
  20122 * BEGIN columnview:                      Capturing column view.
  20123                                                               (line  11)
  20124 * BEGIN_CENTER:                          Paragraphs.          (line  32)
  20125 * BEGIN_COMMENT:                         Comment Lines.       (line  10)
  20126 * BEGIN_EXAMPLE:                         Literal Examples.    (line  10)
  20127 * BEGIN_EXPORT ascii:                    ASCII/Latin-1/UTF-8 export.
  20128                                                               (line  63)
  20129 * BEGIN_EXPORT beamer:                   Beamer specific syntax.
  20130                                                               (line  19)
  20131 * BEGIN_EXPORT html:                     Quoting HTML tags.   (line  13)
  20132 * BEGIN_EXPORT latex:                    Quoting LaTeX code.  (line  18)
  20133 * BEGIN_EXPORT texinfo:                  Quoting Texinfo code.
  20134                                                               (line   9)
  20135 * BEGIN_JUSTIFYLEFT:                     ASCII/Latin-1/UTF-8 export.
  20136                                                               (line  84)
  20137 * BEGIN_JUSTIFYRIGHT:                    ASCII/Latin-1/UTF-8 export.
  20138                                                               (line  84)
  20139 * BEGIN_QUOTE:                           Paragraphs.          (line  25)
  20140 * BEGIN_SRC:                             Literal Examples.    (line  38)
  20141 * BEGIN_SRC <1>:                         Structure of Code Blocks.
  20142                                                               (line   6)
  20143 * BEGIN_VERSE:                           Paragraphs.          (line  13)
  20144 * BIND, keyword:                         Export Settings.     (line 210)
  20145 * block agenda:                          Block agenda.        (line   6)
  20146 * BLOCKED, special property:             Special Properties.  (line  13)
  20147 * blocking, of checkboxes:               Checkboxes.          (line  45)
  20148 * blocks, folding:                       Blocks.              (line   6)
  20149 * bold text, markup rules:               Emphasis and Monospace.
  20150                                                               (line   6)
  20151 * boolean logic, for agenda searches:    Matching tags and properties.
  20152                                                               (line  32)
  20153 * bracket links:                         Link Format.         (line   9)
  20154 * bug reports:                           Feedback.            (line   6)
  20155 * C-c C-c, overview:                     The Very Busy C-c C-c Key.
  20156                                                               (line   6)
  20157 * cache results of code evaluation:      Evaluating Code Blocks.
  20158                                                               (line 110)
  20159 * cache, header argument:                Evaluating Code Blocks.
  20160                                                               (line 110)
  20161 * Calc package:                          The Spreadsheet.     (line   6)
  20162 * calc.el:                               Cooperation.         (line   7)
  20163 * calculations, in tables:               Built-in Table Editor.
  20164                                                               (line 181)
  20165 * calculations, in tables <1>:           The Spreadsheet.     (line   6)
  20166 * calendar commands, from agenda:        Agenda Commands.     (line 447)
  20167 * calendar integration:                  Weekly/daily agenda. (line  32)
  20168 * calendar, for selecting date:          The date/time prompt.
  20169                                                               (line  78)
  20170 * CALL, keyword:                         Evaluating Code Blocks.
  20171                                                               (line  28)
  20172 * CAPTION, keyword:                      Captions.            (line   6)
  20173 * CAPTION, keyword <1>:                  Tables in HTML export.
  20174                                                               (line  11)
  20175 * CAPTION, keyword <2>:                  Images in HTML export.
  20176                                                               (line  28)
  20177 * captions, markup rules:                Captions.            (line   6)
  20178 * capture:                               Capture and Attachments.
  20179                                                               (line   6)
  20180 * capture <1>:                           Capture.             (line   6)
  20181 * capture protocol:                      The capture protocol.
  20182                                                               (line   6)
  20183 * capturing, from agenda:                Agenda Commands.     (line 346)
  20184 * category:                              Categories.          (line   6)
  20185 * category filtering, in agenda:         Filtering/limiting agenda items.
  20186                                                               (line  20)
  20187 * category, for tags/property match:     Matching tags and properties.
  20188                                                               (line  65)
  20189 * CATEGORY, keyword:                     Categories.          (line   6)
  20190 * CATEGORY, keyword <1>:                 In-buffer Settings.  (line  20)
  20191 * CATEGORY, property:                    Property Inheritance.
  20192                                                               (line  29)
  20193 * CATEGORY, property <1>:                Categories.          (line  12)
  20194 * CDLaTeX:                               CDLaTeX mode.        (line   6)
  20195 * cdlatex.el:                            Cooperation.         (line  24)
  20196 * center blocks:                         Paragraphs.          (line  32)
  20197 * center image in LaTeX export:          Images in LaTeX export.
  20198                                                               (line  63)
  20199 * change agenda display:                 Agenda Commands.     (line  63)
  20200 * checkbox blocking:                     Checkboxes.          (line  45)
  20201 * checkbox statistics:                   Checkboxes.          (line  29)
  20202 * checkboxes:                            Checkboxes.          (line   6)
  20203 * checkboxes and TODO dependencies:      TODO dependencies.   (line  53)
  20204 * children, subtree visibility state:    Global and local cycling.
  20205                                                               (line   6)
  20206 * CINDEX, keyword:                       Indices.             (line   6)
  20207 * citation:                              Citation handling.   (line   6)
  20208 * CLASS, property:                       iCalendar Export.    (line  51)
  20209 * clean outline view:                    Clean View.          (line   6)
  20210 * clocking time:                         Clocking Work Time.  (line   6)
  20211 * CLOCKSUM, special property:            Special Properties.  (line  13)
  20212 * CLOCKSUM, special property <1>:        Agenda Column View.  (line  32)
  20213 * CLOCKSUM_T, special property:          Special Properties.  (line  13)
  20214 * CLOCKSUM_T, special property <1>:      Agenda Column View.  (line  56)
  20215 * clocktable, dynamic block:             The clock table.     (line   6)
  20216 * CLOCK_MODELINE_TOTAL, property:        Clocking commands.   (line  21)
  20217 * CLOSED, special property:              Special Properties.  (line  13)
  20218 * code block, batch execution:           Batch Execution.     (line   6)
  20219 * code block, editing:                   Editing Source Code. (line   6)
  20220 * code block, evaluating:                Evaluating Code Blocks.
  20221                                                               (line   6)
  20222 * code block, exporting:                 Exporting Code Blocks.
  20223                                                               (line   6)
  20224 * code block, extracting source code:    Extracting Source Code.
  20225                                                               (line   6)
  20226 * code block, key bindings:              Key bindings and Useful Functions.
  20227                                                               (line   6)
  20228 * code block, languages:                 Languages.           (line   6)
  20229 * code block, library:                   Library of Babel.    (line   6)
  20230 * code block, noweb reference:           Noweb Reference Syntax.
  20231                                                               (line   6)
  20232 * code block, results of evaluation:     Results of Evaluation.
  20233                                                               (line   6)
  20234 * code block, structure:                 Structure of Code Blocks.
  20235                                                               (line   6)
  20236 * code line references, markup rules:    Literal Examples.    (line   6)
  20237 * code text, markup rules:               Emphasis and Monospace.
  20238                                                               (line   6)
  20239 * colnames, header argument:             Environment of a Code Block.
  20240                                                               (line  52)
  20241 * column formula:                        Column formulas.     (line   6)
  20242 * column view, for properties:           Defining columns.    (line   6)
  20243 * column view, in agenda:                Agenda Column View.  (line   6)
  20244 * column, of field coordinates:          References.          (line  90)
  20245 * COLUMNS, keyword:                      Scope of column definitions.
  20246                                                               (line  18)
  20247 * COLUMNS, property:                     Property Inheritance.
  20248                                                               (line  22)
  20249 * COLUMNS, property <1>:                 In-buffer Settings.  (line  24)
  20250 * comma escape, in literal examples:     Literal Examples.    (line  14)
  20251 * commands, in agenda buffer:            Agenda Commands.     (line   6)
  20252 * comment block:                         Comment Lines.       (line  10)
  20253 * comment lines:                         Comment Lines.       (line   6)
  20254 * comment trees:                         Comment Lines.       (line  13)
  20255 * commented entries, in agenda views:    Agenda Views.        (line  37)
  20256 * comments, header argument:             Extracting Source Code.
  20257                                                               (line  46)
  20258 * completion, of dictionary words:       Completion.          (line   6)
  20259 * completion, of file names:             Handling Links.      (line  94)
  20260 * completion, of link abbreviations:     Completion.          (line   6)
  20261 * completion, of links:                  Handling Links.      (line  71)
  20262 * completion, of option keywords:        Per-file keywords.   (line  26)
  20263 * completion, of option keywords <1>:    Completion.          (line   6)
  20264 * completion, of property keys:          Completion.          (line   6)
  20265 * completion, of tags:                   Setting Tags.        (line  11)
  20266 * completion, of tags <1>:               Completion.          (line   6)
  20267 * completion, of TeX symbols:            Completion.          (line   6)
  20268 * completion, of TODO keywords:          Workflow states.     (line  17)
  20269 * completion, of TODO keywords <1>:      Completion.          (line   6)
  20270 * concept index, in Texinfo export:      Indices.             (line   6)
  20271 * constants, in calculations:            References.          (line 114)
  20272 * CONSTANTS, keyword:                    References.          (line 114)
  20273 * CONSTANTS, keyword <1>:                In-buffer Settings.  (line  29)
  20274 * constants.el:                          Cooperation.         (line  14)
  20275 * contents, global visibility state:     Global and local cycling.
  20276                                                               (line  20)
  20277 * continuous clocking:                   Resolving idle time. (line  78)
  20278 * control code block evaluation:         Evaluating Code Blocks.
  20279                                                               (line  82)
  20280 * convert:                               Advanced topics in ODT export.
  20281                                                               (line  12)
  20282 * converter:                             Advanced topics in ODT export.
  20283                                                               (line  12)
  20284 * COOKIE_DATA, property:                 Breaking Down Tasks. (line  21)
  20285 * COOKIE_DATA, property <1>:             Checkboxes.          (line  29)
  20286 * coordinates, of field:                 References.          (line  90)
  20287 * copying notes:                         Refiling and Archiving.
  20288                                                               (line   6)
  20289 * copying notes <1>:                     Refile and Copy.     (line   6)
  20290 * copying, of subtrees:                  Structure Editing.   (line   6)
  20291 * COPYING, property:                     Texinfo title and copyright page.
  20292                                                               (line  19)
  20293 * countdown timer:                       Timers.              (line   6)
  20294 * counter, macro:                        Macro Replacement.   (line  75)
  20295 * CREATOR, keyword:                      Export Settings.     (line  28)
  20296 * CSS, for HTML export:                  CSS support.         (line   6)
  20297 * cua.el:                                Conflicts.           (line  17)
  20298 * custom agenda views:                   Custom Agenda Views. (line   6)
  20299 * custom date/time format:               Custom time format.  (line   6)
  20300 * custom search strings:                 Custom Searches.     (line   6)
  20301 * CUSTOM_ID, property:                   Internal Links.      (line  11)
  20302 * CUSTOM_ID, property <1>:               Handling Links.      (line  21)
  20303 * cutting, of subtrees:                  Structure Editing.   (line   6)
  20304 * cycling, in plain lists:               Plain Lists.         (line  70)
  20305 * cycling, of agenda files:              Agenda Files.        (line  26)
  20306 * cycling, of TODO states:               TODO Basics.         (line  14)
  20307 * cycling, visibility:                   Visibility Cycling.  (line   6)
  20308 * daily agenda:                          Weekly/daily agenda. (line   6)
  20309 * dash, special symbol:                  Special Symbols.     (line  36)
  20310 * data type index, in Texinfo export:    Indices.             (line   6)
  20311 * date format, custom:                   Custom time format.  (line   6)
  20312 * date range:                            Timestamps.          (line  44)
  20313 * date stamp:                            Dates and Times.     (line   6)
  20314 * date stamps:                           Timestamps.          (line   6)
  20315 * date tree:                             Template elements.   (line  50)
  20316 * DATE, keyword:                         Export Settings.     (line  32)
  20317 * date, macro:                           Macro Replacement.   (line  49)
  20318 * date, reading in minibuffer:           The date/time prompt.
  20319                                                               (line   6)
  20320 * dates:                                 Dates and Times.     (line   6)
  20321 * DEADLINE marker:                       Deadlines and Scheduling.
  20322                                                               (line  11)
  20323 * DEADLINE, special property:            Special Properties.  (line  13)
  20324 * deadlines:                             Timestamps.          (line   6)
  20325 * debugging, of table formulas:          Editing and debugging formulas.
  20326                                                               (line 132)
  20327 * default header arguments per language: Using Header Arguments.
  20328                                                               (line  56)
  20329 * defining new protocols:                Protocols.           (line  25)
  20330 * demotion, of subtrees:                 Structure Editing.   (line   6)
  20331 * dependencies, of TODO states:          TODO dependencies.   (line   6)
  20332 * DESCRIPTION, keyword:                  Beamer specific export settings.
  20333                                                               (line  30)
  20334 * DESCRIPTION, keyword <1>:              HTML specific export settings.
  20335                                                               (line  10)
  20336 * DESCRIPTION, keyword <2>:              LaTeX specific export settings.
  20337                                                               (line  11)
  20338 * DESCRIPTION, keyword <3>:              ODT specific export settings.
  20339                                                               (line  11)
  20340 * DESCRIPTION, property:                 Headings and sectioning structure.
  20341                                                               (line  24)
  20342 * DESCRIPTION, property <1>:             iCalendar Export.    (line  51)
  20343 * diary entries, creating from agenda:   Agenda Commands.     (line 456)
  20344 * diary integration:                     Weekly/daily agenda. (line  32)
  20345 * diary style timestamps:                Timestamps.          (line  35)
  20346 * dictionary word completion:            Completion.          (line   6)
  20347 * dir file, in Texinfo export:           Info directory file. (line   6)
  20348 * dir, header argument:                  Environment of a Code Block.
  20349                                                               (line 310)
  20350 * DIR, property:                         Attachment defaults and dispatcher.
  20351                                                               (line  68)
  20352 * DIR, property <1>:                     Attachment defaults and dispatcher.
  20353                                                               (line  73)
  20354 * directories, for publishing:           Sources and destinations.
  20355                                                               (line   6)
  20356 * dispatcher, for export commands:       The Export Dispatcher.
  20357                                                               (line   6)
  20358 * dispatching agenda commands:           Agenda Dispatcher.   (line   6)
  20359 * display changing, in agenda:           Agenda Commands.     (line  63)
  20360 * doc, docx, rtf:                        Advanced topics in ODT export.
  20361                                                               (line  12)
  20362 * document structure:                    Document Structure.  (line   6)
  20363 * document title:                        Export Settings.     (line  60)
  20364 * documentation:                         Documentation Access.
  20365                                                               (line   6)
  20366 * DONE, final TODO keyword:              Per-file keywords.   (line  29)
  20367 * drawer, for properties:                Property Syntax.     (line   6)
  20368 * drawer, for state change recording:    Tracking TODO state changes.
  20369                                                               (line   6)
  20370 * drawers:                               Drawers.             (line   6)
  20371 * duration, computing:                   Durations and time values.
  20372                                                               (line   6)
  20373 * dvipng:                                Math formatting in HTML export.
  20374                                                               (line   6)
  20375 * dvipng <1>:                            LaTeX math snippets. (line  50)
  20376 * dvisvgm:                               Math formatting in HTML export.
  20377                                                               (line   6)
  20378 * dvisvgm <1>:                           LaTeX math snippets. (line  50)
  20379 * dynamic blocks:                        Dynamic Blocks.      (line   6)
  20380 * dynamic indentation:                   Clean View.          (line   6)
  20381 * ecomplete.el:                          Conflicts.           (line  32)
  20382 * editing tables:                        Tables.              (line   6)
  20383 * editing, of table formulas:            Editing and debugging formulas.
  20384                                                               (line   6)
  20385 * edits, catching invisible:             Catching invisible edits.
  20386                                                               (line   6)
  20387 * effort estimates:                      Effort Estimates.    (line   6)
  20388 * effort filtering, in agenda:           Filtering/limiting agenda items.
  20389                                                               (line  20)
  20390 * EFFORT, property:                      Effort Estimates.    (line   6)
  20391 * Elisp links:                           External Links.      (line   6)
  20392 * ellipsis, special symbol:              Special Symbols.     (line  36)
  20393 * ELPA:                                  Activation.          (line   6)
  20394 * EMAIL, keyword:                        Export Settings.     (line  35)
  20395 * email, macro:                          Macro Replacement.   (line  41)
  20396 * embedding images in ODT:               Images in ODT export.
  20397                                                               (line   6)
  20398 * entities:                              Special Symbols.     (line   6)
  20399 * enum, Texinfo attribute:               Plain lists in Texinfo export.
  20400                                                               (line   6)
  20401 * epilogue, header argument:             Environment of a Code Block.
  20402                                                               (line 367)
  20403 * escape character:                      Escape Character.    (line   6)
  20404 * escape syntax, for links:              Link Format.         (line  17)
  20405 * eval, header argument:                 Evaluating Code Blocks.
  20406                                                               (line  82)
  20407 * evaluate time range:                   Creating Timestamps. (line  62)
  20408 * example block:                         Literal Examples.    (line  10)
  20409 * example blocks, in LaTeX export:       Example blocks in LaTeX export.
  20410                                                               (line   6)
  20411 * EXCLUDE_TAGS, keyword:                 Export Settings.     (line  52)
  20412 * excluding entries from table of contents: Table of Contents.
  20413                                                               (line  15)
  20414 * export back-end:                       Exporting.           (line  12)
  20415 * export, dispatcher:                    The Export Dispatcher.
  20416                                                               (line   6)
  20417 * export, include files:                 Include Files.       (line   6)
  20418 * export, OpenDocument:                  OpenDocument Text Export.
  20419                                                               (line   6)
  20420 * Export, settings:                      Export Settings.     (line   6)
  20421 * Export, writing back-ends:             Adding Export Back-ends.
  20422                                                               (line   6)
  20423 * exporting:                             Exporting.           (line   6)
  20424 * exporting agenda views:                Exporting Agenda Views.
  20425                                                               (line  13)
  20426 * exporting, not:                        Comment Lines.       (line   6)
  20427 * exports, header argument:              Exporting Code Blocks.
  20428                                                               (line  15)
  20429 * EXPORT_FILE_NAME, keyword:             Export Settings.     (line  64)
  20430 * EXPORT_FILE_NAME, property:            ODT export commands. (line   9)
  20431 * EXPORT_LATEX_CLASS, property:          LaTeX header and sectioning.
  20432                                                               (line  23)
  20433 * EXPORT_LATEX_CLASS_OPTIONS, property:  LaTeX header and sectioning.
  20434                                                               (line  23)
  20435 * extended TODO keywords:                TODO Extensions.     (line   6)
  20436 * external archiving:                    Moving subtrees.     (line   6)
  20437 * external links:                        External Links.      (line   6)
  20438 * external links, in HTML export:        Links in HTML export.
  20439                                                               (line   6)
  20440 * faces, for TODO keywords:              Faces for TODO keywords.
  20441                                                               (line   6)
  20442 * FAQ:                                   Summary.             (line  55)
  20443 * feedback:                              Feedback.            (line   6)
  20444 * field coordinates:                     References.          (line  90)
  20445 * field formula:                         Field and range formulas.
  20446                                                               (line   6)
  20447 * field references:                      References.          (line  15)
  20448 * file links:                            External Links.      (line   6)
  20449 * file links, searching:                 Search Options.      (line   6)
  20450 * file name completion:                  Handling Links.      (line  94)
  20451 * file, header argument:                 Results of Evaluation.
  20452                                                               (line 123)
  20453 * FILE, special property:                Special Properties.  (line  13)
  20454 * file-desc, header argument:            Results of Evaluation.
  20455                                                               (line 144)
  20456 * file-ext, header argument:             Results of Evaluation.
  20457                                                               (line 133)
  20458 * file-mode, header argument:            Results of Evaluation.
  20459                                                               (line 155)
  20460 * files for agenda:                      Agenda Files.        (line   6)
  20461 * files, adding to agenda list:          Agenda Files.        (line  16)
  20462 * files, selecting for publishing:       Selecting files.     (line   6)
  20463 * FILETAGS, keyword:                     Tag Inheritance.     (line  20)
  20464 * FILETAGS, keyword <1>:                 In-buffer Settings.  (line  35)
  20465 * filladapt.el:                          Conflicts.           (line  43)
  20466 * filtering entries, in agenda:          Filtering/limiting agenda items.
  20467                                                               (line  20)
  20468 * Filters, exporting:                    Advanced Export Configuration.
  20469                                                               (line  31)
  20470 * FINDEX, keyword:                       Indices.             (line   6)
  20471 * FLAGGED, tag:                          Pulling from the mobile application.
  20472                                                               (line  18)
  20473 * folded, subtree visibility state:      Global and local cycling.
  20474                                                               (line   6)
  20475 * folding, sparse trees:                 Sparse Trees.        (line   6)
  20476 * following links:                       Handling Links.      (line 104)
  20477 * footers, in code blocks:               Environment of a Code Block.
  20478                                                               (line 359)
  20479 * footnotes:                             Creating Footnotes.  (line   6)
  20480 * format specifier, in spreadsheet:      Formula syntax for Calc.
  20481                                                               (line  17)
  20482 * format, of links:                      Link Format.         (line   6)
  20483 * formatting source code, markup rules:  Literal Examples.    (line  31)
  20484 * formula debugging:                     Editing and debugging formulas.
  20485                                                               (line 132)
  20486 * formula editing:                       Editing and debugging formulas.
  20487                                                               (line   6)
  20488 * formula syntax, Calc:                  Formula syntax for Calc.
  20489                                                               (line   6)
  20490 * formula, for individual table field:   Field and range formulas.
  20491                                                               (line   6)
  20492 * formula, for range of fields:          Field and range formulas.
  20493                                                               (line   6)
  20494 * formula, for table column:             Column formulas.     (line   6)
  20495 * formula, in tables:                    Built-in Table Editor.
  20496                                                               (line 181)
  20497 * function index, in Texinfo export:     Indices.             (line   6)
  20498 * global cycling:                        Global and local cycling.
  20499                                                               (line  20)
  20500 * global key bindings:                   Activation.          (line   6)
  20501 * global TODO list:                      Global TODO list.    (line   6)
  20502 * global visibility states:              Global and local cycling.
  20503                                                               (line  20)
  20504 * Gnus links:                            External Links.      (line   6)
  20505 * graph, in tables:                      Org Plot.            (line   6)
  20506 * group tags:                            Tag Hierarchy.       (line   6)
  20507 * group tags, as regular expressions:    Matching tags and properties.
  20508                                                               (line  58)
  20509 * grouping columns in tables:            Column Groups.       (line   6)
  20510 * habits:                                Tracking your habits.
  20511                                                               (line   6)
  20512 * hacking:                               Hacking.             (line   6)
  20513 * header arguments per language:         Using Header Arguments.
  20514                                                               (line  94)
  20515 * header arguments, in code blocks:      Structure of Code Blocks.
  20516                                                               (line  57)
  20517 * header lines, in tables:               Built-in Table Editor.
  20518                                                               (line   6)
  20519 * header, for LaTeX files:               LaTeX header and sectioning.
  20520                                                               (line   6)
  20521 * HEADER, keyword:                       Using Header Arguments.
  20522                                                               (line 134)
  20523 * headers, in code blocks:               Environment of a Code Block.
  20524                                                               (line 359)
  20525 * headline navigation:                   Motion.              (line   6)
  20526 * headline tagging:                      Tags.                (line   6)
  20527 * headline, promotion and demotion:      Structure Editing.   (line   6)
  20528 * headlines:                             Headlines.           (line   6)
  20529 * headlines, in HTML export:             Headlines in HTML export.
  20530                                                               (line   6)
  20531 * Help links:                            External Links.      (line   6)
  20532 * hide text:                             Visibility Cycling.  (line   6)
  20533 * hiding leading stars:                  Clean View.          (line   6)
  20534 * hlines, header argument:               Results of Evaluation.
  20535                                                               (line  73)
  20536 * hooks:                                 Hooks.               (line   6)
  20537 * horizontal rule, in tables:            Built-in Table Editor.
  20538                                                               (line   6)
  20539 * horizontal rules, in ASCII export:     ASCII/Latin-1/UTF-8 export.
  20540                                                               (line  74)
  20541 * horizontal rules, in LaTeX export:     Horizontal rules in LaTeX export.
  20542                                                               (line   6)
  20543 * horizontal rules, markup rules:        Horizontal Rules.    (line   6)
  20544 * HTML export:                           HTML Export.         (line   6)
  20545 * HTML export, CSS:                      CSS support.         (line   6)
  20546 * HTML, and Orgtbl mode:                 Translator functions.
  20547                                                               (line   6)
  20548 * HTML, keyword:                         Quoting HTML tags.   (line  13)
  20549 * html-style, OPTIONS item:              CSS support.         (line  56)
  20550 * HTML5, export new elements:            HTML doctypes.       (line  25)
  20551 * HTML_CONTAINER, keyword:               HTML specific export settings.
  20552                                                               (line  22)
  20553 * HTML_CONTAINER_CLASS, property:        CSS support.         (line  62)
  20554 * HTML_DOCTYPE, keyword:                 HTML specific export settings.
  20555                                                               (line  19)
  20556 * HTML_HEAD, keyword:                    HTML specific export settings.
  20557                                                               (line  38)
  20558 * HTML_HEAD, keyword <1>:                CSS support.         (line  49)
  20559 * HTML_HEADLINE_CLASS, property:         CSS support.         (line  62)
  20560 * HTML_HEAD_EXTRA, keyword:              HTML specific export settings.
  20561                                                               (line  42)
  20562 * HTML_HEAD_EXTRA, keyword <1>:          CSS support.         (line  49)
  20563 * HTML_INCLUDE_STYLE, keyword:           CSS support.         (line  44)
  20564 * HTML_LINK_HOME, keyword:               HTML specific export settings.
  20565                                                               (line  26)
  20566 * HTML_LINK_UP, keyword:                 HTML specific export settings.
  20567                                                               (line  29)
  20568 * HTML_MATHJAX, keyword:                 HTML specific export settings.
  20569                                                               (line  33)
  20570 * hyperlinks:                            Hyperlinks.          (line   6)
  20571 * hyperlinks, adding new types:          Adding Hyperlink Types.
  20572                                                               (line   6)
  20573 * iCalendar export:                      iCalendar Export.    (line   6)
  20574 * ID, property:                          Handling Links.      (line  21)
  20575 * ID, property <1>:                      Capturing column view.
  20576                                                               (line  34)
  20577 * ID, property <2>:                      iCalendar Export.    (line  26)
  20578 * identify, ImageMagick:                 Images in ODT export.
  20579                                                               (line  34)
  20580 * idle, resolve, dangling:               Resolving idle time. (line   9)
  20581 * image, centering in LaTeX export:      Images in LaTeX export.
  20582                                                               (line  63)
  20583 * ImageMagick:                           Math formatting in HTML export.
  20584                                                               (line   6)
  20585 * ImageMagick <1>:                       LaTeX math snippets. (line  50)
  20586 * images, embedding in ODT:              Images in ODT export.
  20587                                                               (line   6)
  20588 * images, inline in HTML:                Images in HTML export.
  20589                                                               (line   6)
  20590 * images, inline in LaTeX:               Images in LaTeX export.
  20591                                                               (line   6)
  20592 * images, markup rules:                  Images.              (line   6)
  20593 * imenu.el:                              Cooperation.         (line  29)
  20594 * in-buffer settings:                    In-buffer Settings.  (line   6)
  20595 * inactive timestamp:                    Timestamps.          (line  52)
  20596 * include files, during export:          Include Files.       (line   6)
  20597 * INCLUDE, keyword:                      Include Files.       (line   6)
  20598 * Indent mode:                           Org Indent Mode.     (line   6)
  20599 * indentation, in code blocks:           Editing Source Code. (line  32)
  20600 * indentation, in source blocks:         Literal Examples.    (line  81)
  20601 * index, in a publishing project:        Generating an index. (line   6)
  20602 * INDEX, keyword:                        Generating an index. (line  17)
  20603 * INDEX, property:                       Indices.             (line  14)
  20604 * indic, Texinfo attribute:              Plain lists in Texinfo export.
  20605                                                               (line  25)
  20606 * Info:                                  Documentation Access.
  20607                                                               (line   6)
  20608 * Info directory file, in Texinfo export: Info directory file.
  20609                                                               (line   6)
  20610 * Info links:                            External Links.      (line   6)
  20611 * INFOJS_OPT, keyword:                   JavaScript support.  (line  19)
  20612 * inheritance, of properties:            Property Inheritance.
  20613                                                               (line   6)
  20614 * inheritance, of tags:                  Tag Inheritance.     (line   6)
  20615 * inline, in LaTeX export:               Quoting LaTeX code.  (line  10)
  20616 * inlining images:                       Images.              (line   6)
  20617 * inlining images in HTML:               Images in HTML export.
  20618                                                               (line   6)
  20619 * inlining images in LaTeX:              Images in LaTeX export.
  20620                                                               (line   6)
  20621 * input-file, macro:                     Macro Replacement.   (line  64)
  20622 * inserting links:                       Handling Links.      (line  71)
  20623 * insertion, of templates:               Structure Templates. (line   6)
  20624 * insertion, of templates <1>:           Structure Templates. (line  21)
  20625 * install-info, in Texinfo export:       Info directory file. (line   6)
  20626 * installation:                          Installation.        (line   6)
  20627 * Installing Org protocol:               Protocols.           (line  14)
  20628 * internal links:                        Internal Links.      (line   6)
  20629 * internal links, in HTML export:        Links in HTML export.
  20630                                                               (line   6)
  20631 * introduction:                          Introduction.        (line   6)
  20632 * IRC links:                             External Links.      (line   6)
  20633 * italic text, markup rules:             Emphasis and Monospace.
  20634                                                               (line   6)
  20635 * ITEM, special property:                Special Properties.  (line  13)
  20636 * jumping, to headlines:                 Motion.              (line   6)
  20637 * key bindings, global:                  Activation.          (line   6)
  20638 * keystroke index, in Texinfo export:    Indices.             (line   6)
  20639 * keyword options:                       Per-file keywords.   (line   6)
  20640 * keyword, macro:                        Macro Replacement.   (line  41)
  20641 * KEYWORDS, keyword:                     Beamer specific export settings.
  20642                                                               (line  37)
  20643 * KEYWORDS, keyword <1>:                 HTML specific export settings.
  20644                                                               (line  46)
  20645 * KEYWORDS, keyword <2>:                 LaTeX specific export settings.
  20646                                                               (line  61)
  20647 * KEYWORDS, keyword <3>:                 ODT specific export settings.
  20648                                                               (line  16)
  20649 * KINDEX, keyword:                       Indices.             (line   6)
  20650 * language specific default header arguments: Using Header Arguments.
  20651                                                               (line  56)
  20652 * language specific header arguments properties: Using Header Arguments.
  20653                                                               (line  94)
  20654 * language, in code blocks:              Structure of Code Blocks.
  20655                                                               (line  47)
  20656 * LANGUAGE, keyword:                     Export Settings.     (line  38)
  20657 * LANGUAGE, keyword <1>:                 LaTeX specific export settings.
  20658                                                               (line  20)
  20659 * LANGUAGE, keyword <2>:                 LaTeX header and sectioning.
  20660                                                               (line  47)
  20661 * LAST_REPEAT, property:                 Clocking commands.   (line  21)
  20662 * LaTeX class:                           LaTeX header and sectioning.
  20663                                                               (line   6)
  20664 * LaTeX export:                          LaTeX Export.        (line   6)
  20665 * LaTeX fragments:                       LaTeX fragments.     (line   6)
  20666 * LaTeX fragments, preview:              Previewing LaTeX fragments.
  20667                                                               (line   6)
  20668 * LaTeX header:                          LaTeX header and sectioning.
  20669                                                               (line   6)
  20670 * LaTeX interpretation:                  Embedded LaTeX.      (line   6)
  20671 * LaTeX sectioning structure:            LaTeX header and sectioning.
  20672                                                               (line   6)
  20673 * LaTeX, and Orgtbl mode:                A LaTeX example.     (line   6)
  20674 * LATEX, keyword:                        Quoting LaTeX code.  (line  14)
  20675 * LATEX_CLASS, keyword:                  LaTeX specific export settings.
  20676                                                               (line  39)
  20677 * LATEX_CLASS, keyword <1>:              LaTeX header and sectioning.
  20678                                                               (line  23)
  20679 * LATEX_CLASS_OPTIONS, keyword:          LaTeX specific export settings.
  20680                                                               (line  47)
  20681 * LATEX_CLASS_OPTIONS, keyword <1>:      LaTeX header and sectioning.
  20682                                                               (line  23)
  20683 * LATEX_COMPILER, keyword:               LaTeX/PDF export commands.
  20684                                                               (line  25)
  20685 * LATEX_COMPILER, keyword <1>:           LaTeX specific export settings.
  20686                                                               (line  51)
  20687 * LATEX_HEADER, keyword:                 HTML specific export settings.
  20688                                                               (line  51)
  20689 * LATEX_HEADER, keyword <1>:             LaTeX specific export settings.
  20690                                                               (line  56)
  20691 * LATEX_HEADER, keyword <2>:             LaTeX header and sectioning.
  20692                                                               (line  30)
  20693 * LATEX_HEADER_EXTRA, keyword:           LaTeX specific export settings.
  20694                                                               (line  56)
  20695 * LATEX_HEADER_EXTRA, keyword <1>:       LaTeX header and sectioning.
  20696                                                               (line  30)
  20697 * Latin-1 export:                        ASCII/Latin-1/UTF-8 export.
  20698                                                               (line   6)
  20699 * lettered lists, in Texinfo export:     Plain lists in Texinfo export.
  20700                                                               (line   6)
  20701 * level, for tags/property match:        Matching tags and properties.
  20702                                                               (line  65)
  20703 * LibreOffice:                           OpenDocument Text Export.
  20704                                                               (line   6)
  20705 * limits, in agenda:                     Filtering/limiting agenda items.
  20706                                                               (line 129)
  20707 * line breaks, markup rules:             Paragraphs.          (line   9)
  20708 * lines, include:                        Include Files.       (line  36)
  20709 * link abbreviations:                    Link Abbreviations.  (line   6)
  20710 * link abbreviations, completion of:     Completion.          (line   6)
  20711 * link completion:                       Handling Links.      (line  71)
  20712 * link format:                           Link Format.         (line   6)
  20713 * LINK, keyword:                         Link Abbreviations.  (line  49)
  20714 * LINK, keyword <1>:                     In-buffer Settings.  (line  39)
  20715 * links, external:                       External Links.      (line   6)
  20716 * links, finding next/previous:          Handling Links.      (line 153)
  20717 * links, handling:                       Handling Links.      (line   6)
  20718 * links, in HTML export:                 Links in HTML export.
  20719                                                               (line   6)
  20720 * links, in ODT export:                  Links in ODT export. (line   6)
  20721 * links, internal:                       Internal Links.      (line   6)
  20722 * links, publishing:                     Publishing links.    (line   6)
  20723 * links, radio targets:                  Radio Targets.       (line   6)
  20724 * links, returning to:                   Handling Links.      (line 146)
  20725 * linter:                                Org Syntax.          (line  24)
  20726 * Lisp forms, as table formulas:         Formula syntax for Lisp.
  20727                                                               (line   6)
  20728 * list of listings:                      Table of Contents.   (line   6)
  20729 * list of tables:                        Table of Contents.   (line   6)
  20730 * lists, in other modes:                 Tables in Arbitrary Syntax.
  20731                                                               (line   6)
  20732 * lists, ordered:                        Plain Lists.         (line   6)
  20733 * lists, plain:                          Plain Lists.         (line   6)
  20734 * literal examples, markup rules:        Literal Examples.    (line   6)
  20735 * LOCATION, property:                    iCalendar Export.    (line  51)
  20736 * logging, of progress:                  Progress Logging.    (line   6)
  20737 * LOGGING, property:                     Tracking TODO state changes.
  20738                                                               (line  45)
  20739 * LOGGING, property <1>:                 Property Inheritance.
  20740                                                               (line  37)
  20741 * LOG_INTO_DRAWER, property:             Tracking TODO state changes.
  20742                                                               (line   6)
  20743 * LOG_INTO_DRAWER, property <1>:         Clocking commands.   (line   7)
  20744 * lookup functions in tables:            Lookup functions.    (line   6)
  20745 * lualatex:                              LaTeX/PDF export commands.
  20746                                                               (line  25)
  20747 * macro replacement, during export:      Macro Replacement.   (line   6)
  20748 * MACRO, keyword:                        Macro Replacement.   (line   6)
  20749 * maintainer:                            Feedback.            (line   6)
  20750 * mapping entries, API:                  Using the Mapping API.
  20751                                                               (line   6)
  20752 * mappings in open-source protocol:      The open-source protocol.
  20753                                                               (line  67)
  20754 * mark ring:                             Handling Links.      (line 141)
  20755 * Markdown export:                       Markdown Export.     (line   6)
  20756 * marking characters, tables:            Advanced features.   (line  39)
  20757 * match view:                            Matching tags and properties.
  20758                                                               (line   6)
  20759 * matching, of properties:               Matching tags and properties.
  20760                                                               (line   6)
  20761 * matching, of tags:                     Matching tags and properties.
  20762                                                               (line   6)
  20763 * matching, tags:                        Tags.                (line   6)
  20764 * math symbols:                          Special Symbols.     (line   6)
  20765 * MathJax:                               Math formatting in HTML export.
  20766                                                               (line   6)
  20767 * MathML:                                LaTeX math snippets. (line  10)
  20768 * MH-E links:                            External Links.      (line   6)
  20769 * minlevel, include:                     Include Files.       (line  22)
  20770 * minor mode for tables:                 Orgtbl Mode.         (line   6)
  20771 * mkdirp, header argument:               Environment of a Code Block.
  20772                                                               (line 310)
  20773 * mkdirp, header argument <1>:           Extracting Source Code.
  20774                                                               (line  42)
  20775 * mode, for Calc:                        Formula syntax for Calc.
  20776                                                               (line  17)
  20777 * modification-time, macro:              Macro Replacement.   (line  56)
  20778 * motion commands in agenda:             Agenda Commands.     (line  19)
  20779 * motion, between headlines:             Motion.              (line   6)
  20780 * multiple formula lines:                Editing and debugging formulas.
  20781                                                               (line  98)
  20782 * multiple items in Texinfo lists:       Plain lists in Texinfo export.
  20783                                                               (line  30)
  20784 * n, macro:                              Macro Replacement.   (line  75)
  20785 * NAME keyword, in source blocks:        Structure of Code Blocks.
  20786                                                               (line   6)
  20787 * NAME, keyword:                         References.          (line 135)
  20788 * NAME, keyword <1>:                     Internal Links.      (line  21)
  20789 * name, of column or field:              References.          (line 114)
  20790 * name, of column or field <1>:          References.          (line 135)
  20791 * named references:                      References.          (line 114)
  20792 * names as TODO keywords:                TODO types.          (line   6)
  20793 * narrow columns in tables:              Column Width and Alignment.
  20794                                                               (line   6)
  20795 * no-expand, header argument:            Extracting Source Code.
  20796                                                               (line 107)
  20797 * NOBLOCKING, property:                  TODO dependencies.   (line  29)
  20798 * noweb, header argument:                Noweb Reference Syntax.
  20799                                                               (line  18)
  20800 * noweb-ref, header argument:            Noweb Reference Syntax.
  20801                                                               (line   6)
  20802 * noweb-sep, header argument:            Noweb Reference Syntax.
  20803                                                               (line 101)
  20804 * number headlines:                      Dynamic Headline Numbering.
  20805                                                               (line   6)
  20806 * occur, command:                        Sparse Trees.        (line   6)
  20807 * occur-tree:                            Storing searches.    (line  11)
  20808 * odd-levels-only outlines:              Clean View.          (line   6)
  20809 * ODT:                                   OpenDocument Text Export.
  20810                                                               (line   6)
  20811 * ODT, keyword:                          Advanced topics in ODT export.
  20812                                                               (line 120)
  20813 * ODT_STYLES_FILE, keyword:              ODT specific export settings.
  20814                                                               (line  22)
  20815 * ODT_STYLES_FILE, keyword <1>:          Applying custom styles.
  20816                                                               (line  29)
  20817 * only-contents, include:                Include Files.       (line  53)
  20818 * open-source protocol:                  The open-source protocol.
  20819                                                               (line   6)
  20820 * OpenDocument:                          OpenDocument Text Export.
  20821                                                               (line   6)
  20822 * option keyword completion:             Completion.          (line   6)
  20823 * options, for custom agenda views:      Setting options.     (line   6)
  20824 * options, for export:                   Export Settings.     (line   6)
  20825 * options, for publishing:               Publishing options.  (line   6)
  20826 * OPTIONS, keyword:                      Export Settings.     (line   6)
  20827 * ordered lists:                         Plain Lists.         (line   6)
  20828 * ORDERED, property:                     TODO dependencies.   (line   6)
  20829 * ORDERED, property <1>:                 Checkboxes.          (line  45)
  20830 * Org export:                            Org Export.          (line   6)
  20831 * Org mode, turning on:                  Activation.          (line  24)
  20832 * Org Num mode:                          Dynamic Headline Numbering.
  20833                                                               (line   6)
  20834 * Org protocol, set-up:                  Protocols.           (line  14)
  20835 * org-agenda, command:                   Weekly/daily agenda. (line  10)
  20836 * ORG-IMAGE-ACTUAL-WIDTH, property:      Images.              (line  30)
  20837 * org-latex-default-quote-environment:   Quote blocks in LaTeX export.
  20838                                                               (line   6)
  20839 * Orgtbl mode:                           Orgtbl Mode.         (line   6)
  20840 * Orgtbl mode <1>:                       Tables in Arbitrary Syntax.
  20841                                                               (line   6)
  20842 * ORGTBL, keyword:                       Radio tables.        (line  21)
  20843 * outline tree:                          Headlines.           (line   6)
  20844 * output-dir, header argument:           Results of Evaluation.
  20845                                                               (line 123)
  20846 * overview, global visibility state:     Global and local cycling.
  20847                                                               (line  20)
  20848 * packages, interaction with other:      Interaction.         (line   6)
  20849 * padline, header argument:              Extracting Source Code.
  20850                                                               (line  73)
  20851 * paragraphs, markup rules:              Paragraphs.          (line   6)
  20852 * passing arguments to code blocks:      Environment of a Code Block.
  20853                                                               (line   9)
  20854 * pasting, of subtrees:                  Structure Editing.   (line   6)
  20855 * PDF export:                            LaTeX Export.        (line   6)
  20856 * pdflatex:                              LaTeX/PDF export commands.
  20857                                                               (line  25)
  20858 * per-file keywords:                     Per-file keywords.   (line   6)
  20859 * PINDEX, keyword:                       Indices.             (line   6)
  20860 * plain links:                           Link Format.         (line   6)
  20861 * plain lists:                           Plain Lists.         (line   6)
  20862 * plain lists, in LaTeX export:          Plain lists in LaTeX export.
  20863                                                               (line   6)
  20864 * plain text external links:             External Links.      (line 136)
  20865 * plot tables using Gnuplot:             Org Plot.            (line   6)
  20866 * PLOT, keyword:                         Org Plot.            (line  12)
  20867 * post, header argument:                 Results of Evaluation.
  20868                                                               (line 271)
  20869 * presentation, of agenda items:         Presentation and Sorting.
  20870                                                               (line   6)
  20871 * print edition:                         Summary.             (line  60)
  20872 * printing sparse trees:                 Sparse Trees.        (line  52)
  20873 * priorities:                            Priorities.          (line   6)
  20874 * PRIORITIES, keyword:                   Priorities.          (line  52)
  20875 * PRIORITIES, keyword <1>:               In-buffer Settings.  (line  44)
  20876 * priorities, of agenda items:           Sorting of agenda items.
  20877                                                               (line   6)
  20878 * priority cookie:                       Priorities.          (line   6)
  20879 * PRIORITY, special property:            Special Properties.  (line  13)
  20880 * program index, in Texinfo export:      Indices.             (line   6)
  20881 * progress logging:                      Progress Logging.    (line   6)
  20882 * projects, for publishing:              Project alist.       (line   6)
  20883 * prologue, header argument:             Environment of a Code Block.
  20884                                                               (line 359)
  20885 * promotion, of subtrees:                Structure Editing.   (line   6)
  20886 * proof, in LaTeX export:                Special blocks in LaTeX export.
  20887                                                               (line   6)
  20888 * properties:                            Properties and Columns.
  20889                                                               (line   6)
  20890 * properties, API:                       Using the Property API.
  20891                                                               (line   6)
  20892 * properties, column view:               Defining columns.    (line   6)
  20893 * properties, inheritance:               Property Inheritance.
  20894                                                               (line   6)
  20895 * properties, searching:                 Property Searches.   (line   6)
  20896 * properties, special:                   Special Properties.  (line   6)
  20897 * property syntax:                       Property Syntax.     (line   6)
  20898 * PROPERTY, keyword:                     Property Syntax.     (line  50)
  20899 * PROPERTY, keyword <1>:                 In-buffer Settings.  (line  49)
  20900 * property, macro:                       Macro Replacement.   (line  68)
  20901 * protocol, capture:                     The capture protocol.
  20902                                                               (line   6)
  20903 * protocol, new protocol:                Protocols.           (line  25)
  20904 * protocol, open-source:                 The open-source protocol.
  20905                                                               (line   6)
  20906 * protocol, open-source rewritten URL:   The open-source protocol.
  20907                                                               (line  32)
  20908 * protocol, open-source, set-up mapping: The open-source protocol.
  20909                                                               (line  67)
  20910 * protocol, store-link:                  The store-link protocol.
  20911                                                               (line   6)
  20912 * protocols, for external access:        Capture and Attachments.
  20913                                                               (line   6)
  20914 * protocols, for external access <1>:    Protocols.           (line   6)
  20915 * publishing:                            Publishing.          (line   6)
  20916 * publishing options:                    Publishing options.  (line   6)
  20917 * query editing, in agenda:              Filtering/limiting agenda items.
  20918                                                               (line  20)
  20919 * quote blocks:                          Paragraphs.          (line  25)
  20920 * quote blocks, in LaTeX export:         Quote blocks in LaTeX export.
  20921                                                               (line   6)
  20922 * radio button, checkbox as:             Checkboxes.          (line  75)
  20923 * radio tables:                          Radio tables.        (line   6)
  20924 * radio targets:                         Radio Targets.       (line   6)
  20925 * range formula:                         Field and range formulas.
  20926                                                               (line   6)
  20927 * range references:                      References.          (line  64)
  20928 * ranges, time:                          Timestamps.          (line   6)
  20929 * recomputing table fields:              Updating the table.  (line   6)
  20930 * references:                            References.          (line   6)
  20931 * references, named:                     References.          (line 114)
  20932 * references, remote:                    References.          (line 135)
  20933 * references, to a different table:      References.          (line 135)
  20934 * references, to fields:                 References.          (line  15)
  20935 * references, to ranges:                 References.          (line  64)
  20936 * refiling notes:                        Refiling and Archiving.
  20937                                                               (line   6)
  20938 * refiling notes <1>:                    Refile and Copy.     (line   6)
  20939 * refresh set-up:                        In-buffer Settings.  (line  12)
  20940 * region, active:                        Structure Editing.   (line  46)
  20941 * regular expressions syntax:            Regular Expressions. (line   6)
  20942 * regular expressions, in searches:      Regular Expressions. (line   6)
  20943 * regular expressions, with tags search: Matching tags and properties.
  20944                                                               (line  53)
  20945 * relative timer:                        Timers.              (line   6)
  20946 * reminders:                             Weekly/daily agenda. (line 125)
  20947 * remote editing, bulk, from agenda:     Agenda Commands.     (line 353)
  20948 * remote editing, from agenda:           Agenda Commands.     (line 224)
  20949 * remote editing, undo:                  Agenda Commands.     (line 228)
  20950 * remote references:                     References.          (line 135)
  20951 * repeated tasks:                        Repeated tasks.      (line   6)
  20952 * report, of clocked time:               The clock table.     (line   6)
  20953 * reporting a bug:                       Feedback.            (line   6)
  20954 * resolve idle time:                     Resolving idle time. (line   9)
  20955 * results, header argument:              Results of Evaluation.
  20956                                                               (line   6)
  20957 * RESULTS, keyword:                      Evaluating Code Blocks.
  20958                                                               (line   6)
  20959 * results, macro:                        Macro Replacement.   (line  84)
  20960 * revealing context:                     Global and local cycling.
  20961                                                               (line  43)
  20962 * rewritten URL in open-source protocol: The open-source protocol.
  20963                                                               (line  32)
  20964 * Rmail links:                           External Links.      (line   6)
  20965 * row separator, in tables:              Built-in Table Editor.
  20966                                                               (line   6)
  20967 * row, of field coordinates:             References.          (line  90)
  20968 * rownames, header argument:             Environment of a Code Block.
  20969                                                               (line  77)
  20970 * RSS feeds:                             Capture and Attachments.
  20971                                                               (line   6)
  20972 * RSS feeds <1>:                         RSS Feeds.           (line   6)
  20973 * rsync:                                 Uploading Files.     (line   6)
  20974 * SCHEDULED marker:                      Deadlines and Scheduling.
  20975                                                               (line  31)
  20976 * SCHEDULED, special property:           Special Properties.  (line  13)
  20977 * scheduling:                            Timestamps.          (line   6)
  20978 * scripts, for agenda processing:        Extracting Agenda Information.
  20979                                                               (line   6)
  20980 * search option in file links:           Search Options.      (line   6)
  20981 * search strings, custom:                Custom Searches.     (line   6)
  20982 * search view:                           Search view.         (line   6)
  20983 * searching for tags:                    Tag Searches.        (line   6)
  20984 * searching, for text:                   Search view.         (line   6)
  20985 * searching, of properties:              Property Searches.   (line   6)
  20986 * sectioning structure, for LaTeX export: LaTeX header and sectioning.
  20987                                                               (line   6)
  20988 * SELECT_TAGS, keyword:                  Export Settings.     (line  44)
  20989 * sep, header argument:                  Results of Evaluation.
  20990                                                               (line 151)
  20991 * sep, Texinfo attribute:                Plain lists in Texinfo export.
  20992                                                               (line  30)
  20993 * SEQ_TODO, keyword:                     Per-file keywords.   (line   6)
  20994 * SEQ_TODO, keyword <1>:                 In-buffer Settings.  (line 192)
  20995 * session, header argument:              Environment of a Code Block.
  20996                                                               (line 280)
  20997 * setting tags:                          Setting Tags.        (line   6)
  20998 * SETUPFILE, keyword:                    Export Settings.     (line  13)
  20999 * SETUPFILE, keyword <1>:                In-buffer Settings.  (line  54)
  21000 * sexp timestamps:                       Timestamps.          (line  35)
  21001 * shebang, header argument:              Extracting Source Code.
  21002                                                               (line  83)
  21003 * shell links:                           External Links.      (line   6)
  21004 * shift-selection:                       Conflicts.           (line   6)
  21005 * shift-selection-mode:                  Plain Lists.         (line  95)
  21006 * show all, command:                     Global and local cycling.
  21007                                                               (line  40)
  21008 * show all, global visibility state:     Global and local cycling.
  21009                                                               (line  20)
  21010 * show branches, command:                Global and local cycling.
  21011                                                               (line  52)
  21012 * show children, command:                Global and local cycling.
  21013                                                               (line  55)
  21014 * show hidden text:                      Visibility Cycling.  (line   6)
  21015 * shy hyphen, special symbol:            Special Symbols.     (line  36)
  21016 * sitemap, of published pages:           Site map.            (line   6)
  21017 * smartphone:                            Org Mobile.          (line   6)
  21018 * sorting, of agenda items:              Sorting of agenda items.
  21019                                                               (line   6)
  21020 * sorting, of plain list:                Plain Lists.         (line 159)
  21021 * sorting, of subtrees:                  Structure Editing.   (line   6)
  21022 * source block:                          Literal Examples.    (line  38)
  21023 * source blocks, in LaTeX export:        Source blocks in LaTeX export.
  21024                                                               (line   6)
  21025 * source code, batch execution:          Batch Execution.     (line   6)
  21026 * source code, block structure:          Structure of Code Blocks.
  21027                                                               (line   6)
  21028 * source code, editing:                  Editing Source Code. (line   6)
  21029 * source code, evaluating:               Evaluating Code Blocks.
  21030                                                               (line   6)
  21031 * source code, exporting:                Exporting Code Blocks.
  21032                                                               (line   6)
  21033 * source code, extracting:               Extracting Source Code.
  21034                                                               (line   6)
  21035 * source code, inline:                   Structure of Code Blocks.
  21036                                                               (line  24)
  21037 * source code, languages:                Languages.           (line   6)
  21038 * source code, library:                  Library of Babel.    (line   6)
  21039 * source code, noweb reference:          Noweb Reference Syntax.
  21040                                                               (line   6)
  21041 * source code, results of evaluation:    Results of Evaluation.
  21042                                                               (line   6)
  21043 * source code, working with:             Working with Source Code.
  21044                                                               (line   6)
  21045 * sparse tree, for deadlines:            Inserting deadline/schedule.
  21046                                                               (line  26)
  21047 * sparse tree, for TODO:                 TODO Basics.         (line  35)
  21048 * sparse tree, tag based:                Tags.                (line   6)
  21049 * sparse trees:                          Sparse Trees.        (line   6)
  21050 * special blocks, in ASCII export:       ASCII/Latin-1/UTF-8 export.
  21051                                                               (line  84)
  21052 * special blocks, in LaTeX export:       Special blocks in LaTeX export.
  21053                                                               (line   6)
  21054 * special keywords:                      In-buffer Settings.  (line   6)
  21055 * special symbols:                       Special Symbols.     (line   6)
  21056 * special symbols, in-buffer display:    Special Symbols.     (line  27)
  21057 * speed keys:                            Speed Keys.          (line   6)
  21058 * speedbar.el:                           Cooperation.         (line  41)
  21059 * spreadsheet capabilities:              The Spreadsheet.     (line   6)
  21060 * square brackets, around links:         External Links.      (line 136)
  21061 * startup visibility:                    Global and local cycling.
  21062                                                               (line  36)
  21063 * STARTUP, keyword:                      Initial visibility.  (line  11)
  21064 * STARTUP, keyword <1>:                  Blocks.              (line  14)
  21065 * STARTUP, keyword <2>:                  In-buffer Settings.  (line  66)
  21066 * statistics, for checkboxes:            Checkboxes.          (line  29)
  21067 * statistics, for TODO items:            Breaking Down Tasks. (line   6)
  21068 * store-link protocol:                   The store-link protocol.
  21069                                                               (line   6)
  21070 * storing link, in a source code buffer: Literal Examples.    (line 111)
  21071 * storing links:                         Handling Links.      (line   9)
  21072 * strike-through text, markup rules:     Emphasis and Monospace.
  21073                                                               (line   6)
  21074 * structure editing:                     Structure Editing.   (line   6)
  21075 * structure of document:                 Document Structure.  (line   6)
  21076 * STYLE, property:                       Tracking your habits.
  21077                                                               (line   6)
  21078 * styles, custom:                        Applying custom styles.
  21079                                                               (line   6)
  21080 * styles, custom <1>:                    Advanced topics in ODT export.
  21081                                                               (line  34)
  21082 * SUBAUTHOR, keyword:                    Texinfo specific export settings.
  21083                                                               (line  14)
  21084 * SUBAUTHOR, keyword <1>:                Texinfo title and copyright page.
  21085                                                               (line  12)
  21086 * sublevels, inclusion into tags match:  Tag Inheritance.     (line   6)
  21087 * sublevels, inclusion into TODO list:   Global TODO list.    (line  38)
  21088 * subscript:                             Subscripts and Superscripts.
  21089                                                               (line   6)
  21090 * SUBTITLE, keyword:                     ASCII/Latin-1/UTF-8 export.
  21091                                                               (line  46)
  21092 * SUBTITLE, keyword <1>:                 Beamer specific export settings.
  21093                                                               (line  44)
  21094 * SUBTITLE, keyword <2>:                 HTML specific export settings.
  21095                                                               (line  56)
  21096 * SUBTITLE, keyword <3>:                 LaTeX specific export settings.
  21097                                                               (line  70)
  21098 * SUBTITLE, keyword <4>:                 ODT specific export settings.
  21099                                                               (line  26)
  21100 * SUBTITLE, keyword <5>:                 Texinfo specific export settings.
  21101                                                               (line  11)
  21102 * subtree cycling:                       Global and local cycling.
  21103                                                               (line   6)
  21104 * subtree visibility states:             Global and local cycling.
  21105                                                               (line   6)
  21106 * subtree, cut and paste:                Structure Editing.   (line   6)
  21107 * subtree, subtree visibility state:     Global and local cycling.
  21108                                                               (line   6)
  21109 * subtrees, cut and paste:               Structure Editing.   (line   6)
  21110 * summary:                               Summary.             (line   6)
  21111 * SUMMARY, property:                     iCalendar Export.    (line  51)
  21112 * superscript:                           Subscripts and Superscripts.
  21113                                                               (line   6)
  21114 * switches, in code blocks:              Structure of Code Blocks.
  21115                                                               (line  52)
  21116 * syntax checker:                        Org Syntax.          (line  24)
  21117 * syntax, noweb:                         Noweb Reference Syntax.
  21118                                                               (line   6)
  21119 * syntax, of formulas:                   Formula syntax for Calc.
  21120                                                               (line   6)
  21121 * table editor, built-in:                Built-in Table Editor.
  21122                                                               (line   6)
  21123 * table editor, table.el:                Cooperation.         (line  49)
  21124 * table indirection:                     References.          (line 148)
  21125 * table lookup functions:                Lookup functions.    (line   6)
  21126 * table of contents:                     Table of Contents.   (line   6)
  21127 * table of contents, exclude entries:    Table of Contents.   (line  15)
  21128 * table syntax:                          Built-in Table Editor.
  21129                                                               (line   6)
  21130 * table-type, Texinfo attribute:         Plain lists in Texinfo export.
  21131                                                               (line  19)
  21132 * table.el:                              Cooperation.         (line  49)
  21133 * tables:                                Tables.              (line   6)
  21134 * tables, in HTML:                       Tables in HTML export.
  21135                                                               (line   6)
  21136 * tables, in LaTeX export:               Tables in LaTeX export.
  21137                                                               (line   6)
  21138 * tables, in ODT export:                 Tables in ODT export.
  21139                                                               (line   6)
  21140 * tables, in ODT export <1>:             Advanced topics in ODT export.
  21141                                                               (line 151)
  21142 * tables, in other modes:                Tables in Arbitrary Syntax.
  21143                                                               (line   6)
  21144 * tag completion:                        Completion.          (line   6)
  21145 * tag filtering, in agenda:              Filtering/limiting agenda items.
  21146                                                               (line  20)
  21147 * tag inheritance:                       Tag Inheritance.     (line   6)
  21148 * tag searches:                          Tag Searches.        (line   6)
  21149 * tags:                                  Tags.                (line   6)
  21150 * tags hierarchy:                        Tag Hierarchy.       (line   6)
  21151 * tags view:                             Matching tags and properties.
  21152                                                               (line   6)
  21153 * tags, as an agenda view:               Storing searches.    (line  11)
  21154 * tags, groups:                          Tag Hierarchy.       (line   6)
  21155 * TAGS, keyword:                         Setting Tags.        (line  22)
  21156 * TAGS, keyword <1>:                     In-buffer Settings.  (line 187)
  21157 * tags, setting:                         Setting Tags.        (line   6)
  21158 * TAGS, special property:                Special Properties.  (line  13)
  21159 * tags-todo:                             Storing searches.    (line  11)
  21160 * tags-tree:                             Storing searches.    (line  11)
  21161 * tangle, header argument:               Extracting Source Code.
  21162                                                               (line  23)
  21163 * tangle-mode, header argument:          Extracting Source Code.
  21164                                                               (line  89)
  21165 * tangling:                              Extracting Source Code.
  21166                                                               (line   6)
  21167 * targets, for links:                    Internal Links.      (line  17)
  21168 * targets, radio:                        Radio Targets.       (line   6)
  21169 * tasks, breaking down:                  Breaking Down Tasks. (line   6)
  21170 * tasks, repeated:                       Repeated tasks.      (line   6)
  21171 * TBLFM keywords, multiple:              Editing and debugging formulas.
  21172                                                               (line  98)
  21173 * TBLFM, keyword:                        Field and range formulas.
  21174                                                               (line  12)
  21175 * TBLFM, switching:                      Editing and debugging formulas.
  21176                                                               (line  98)
  21177 * template expansion:                    Structure Templates. (line  21)
  21178 * template insertion:                    Structure Templates. (line   6)
  21179 * template, custom:                      Applying custom styles.
  21180                                                               (line   6)
  21181 * template, custom <1>:                  Advanced topics in ODT export.
  21182                                                               (line  34)
  21183 * templates, for Capture:                Capture templates.   (line   6)
  21184 * Tempo:                                 Structure Templates. (line  21)
  21185 * TeX interpretation:                    Embedded LaTeX.      (line   6)
  21186 * TeX symbol completion:                 Completion.          (line   6)
  21187 * TEXINFO, keyword:                      Quoting Texinfo code.
  21188                                                               (line   9)
  21189 * TEXINFO_CLASS, keyword:                Texinfo specific export settings.
  21190                                                               (line  20)
  21191 * TEXINFO_CLASS, keyword <1>:            Texinfo file header. (line  19)
  21192 * TEXINFO_CLASS, keyword <2>:            Headings and sectioning structure.
  21193                                                               (line   6)
  21194 * TEXINFO_DIR_CATEGORY, keyword:         Texinfo specific export settings.
  21195                                                               (line  30)
  21196 * TEXINFO_DIR_CATEGORY, keyword <1>:     Info directory file. (line   6)
  21197 * TEXINFO_DIR_DESC, keyword:             Texinfo specific export settings.
  21198                                                               (line  36)
  21199 * TEXINFO_DIR_DESC, keyword <1>:         Info directory file. (line   6)
  21200 * TEXINFO_DIR_TITLE, keyword:            Texinfo specific export settings.
  21201                                                               (line  33)
  21202 * TEXINFO_DIR_TITLE, keyword <1>:        Info directory file. (line   6)
  21203 * TEXINFO_FILENAME, keyword:             Texinfo specific export settings.
  21204                                                               (line  17)
  21205 * TEXINFO_FILENAME, keyword <1>:         Texinfo file header. (line   6)
  21206 * TEXINFO_HEADER, keyword:               Texinfo specific export settings.
  21207                                                               (line  24)
  21208 * TEXINFO_HEADER, keyword <1>:           Texinfo file header. (line  11)
  21209 * TEXINFO_POST_HEADER, keyword:          Texinfo specific export settings.
  21210                                                               (line  27)
  21211 * TEXINFO_PRINTED_TITLE, keyword:        Texinfo specific export settings.
  21212                                                               (line  39)
  21213 * TEXINFO_PRINTED_TITLE, keyword <1>:    Texinfo title and copyright page.
  21214                                                               (line   6)
  21215 * text areas, in HTML:                   Text areas in HTML export.
  21216                                                               (line   6)
  21217 * text search:                           Search view.         (line   6)
  21218 * time clocking:                         Clocking Work Time.  (line   6)
  21219 * time format, custom:                   Custom time format.  (line   6)
  21220 * time grid:                             Time-of-day specifications.
  21221                                                               (line  31)
  21222 * time, computing:                       Durations and time values.
  21223                                                               (line   6)
  21224 * time, macro:                           Macro Replacement.   (line  56)
  21225 * time, reading in minibuffer:           The date/time prompt.
  21226                                                               (line   6)
  21227 * time-of-day specification:             Time-of-day specifications.
  21228                                                               (line   6)
  21229 * timerange:                             Timestamps.          (line  44)
  21230 * times:                                 Dates and Times.     (line   6)
  21231 * timestamp:                             Dates and Times.     (line   6)
  21232 * timestamp <1>:                         Timestamps.          (line  14)
  21233 * timestamp, inactive:                   Timestamps.          (line  52)
  21234 * TIMESTAMP, special property:           Special Properties.  (line  13)
  21235 * timestamp, with repeater interval:     Timestamps.          (line  25)
  21236 * timestamps:                            Timestamps.          (line   6)
  21237 * TIMESTAMP_IA, special property:        Special Properties.  (line  13)
  21238 * TIMEZONE, property:                    iCalendar Export.    (line  51)
  21239 * TINDEX, keyword:                       Indices.             (line   6)
  21240 * TITLE, keyword:                        Export Settings.     (line  60)
  21241 * title, macro:                          Macro Replacement.   (line  41)
  21242 * toc, in OPTIONS keyword:               Table of Contents.   (line   6)
  21243 * TOC, keyword:                          Table of Contents.   (line  24)
  21244 * TODO dependencies:                     TODO dependencies.   (line   6)
  21245 * TODO dependencies, NOBLOCKING:         TODO dependencies.   (line  29)
  21246 * TODO items:                            TODO Items.          (line   6)
  21247 * TODO keyword matching:                 Global TODO list.    (line  18)
  21248 * TODO keyword matching, with tags search: Matching tags and properties.
  21249                                                               (line  65)
  21250 * TODO keyword sets:                     Multiple sets in one file.
  21251                                                               (line   6)
  21252 * TODO keywords completion:              Completion.          (line   6)
  21253 * TODO list, global:                     Global TODO list.    (line   6)
  21254 * TODO types:                            TODO types.          (line   6)
  21255 * TODO workflow:                         Workflow states.     (line   6)
  21256 * todo, as an agenda view:               Storing searches.    (line  11)
  21257 * TODO, keyword:                         Per-file keywords.   (line   6)
  21258 * TODO, keyword <1>:                     In-buffer Settings.  (line 192)
  21259 * TODO, special property:                Special Properties.  (line  13)
  21260 * todo-tree:                             Storing searches.    (line  11)
  21261 * top headline filtering, in agenda:     Filtering/limiting agenda items.
  21262                                                               (line  20)
  21263 * Top node, in Texinfo export:           Headings and sectioning structure.
  21264                                                               (line  37)
  21265 * transient mark mode:                   Structure Editing.   (line  46)
  21266 * translator function:                   Translator functions.
  21267                                                               (line   6)
  21268 * trees, sparse:                         Sparse Trees.        (line   6)
  21269 * trees, visibility:                     Visibility Cycling.  (line   6)
  21270 * tty key bindings:                      TTY Keys.            (line   6)
  21271 * two-column tables, in Texinfo export:  Plain lists in Texinfo export.
  21272                                                               (line  19)
  21273 * types as TODO keywords:                TODO types.          (line   6)
  21274 * TYP_TODO, keyword:                     Per-file keywords.   (line   6)
  21275 * TYP_TODO, keyword <1>:                 In-buffer Settings.  (line 192)
  21276 * underlined text, markup rules:         Emphasis and Monospace.
  21277                                                               (line   6)
  21278 * undoing remote-editing events:         Agenda Commands.     (line 228)
  21279 * unison:                                Uploading Files.     (line   6)
  21280 * UNNUMBERED, property:                  Export Settings.     (line 149)
  21281 * unoconv:                               Extending ODT export.
  21282                                                               (line  12)
  21283 * updating, table:                       Updating the table.  (line   6)
  21284 * URL links:                             External Links.      (line   6)
  21285 * Usenet links:                          External Links.      (line   6)
  21286 * using sessions in code blocks:         Environment of a Code Block.
  21287                                                               (line 280)
  21288 * UTF-8 export:                          ASCII/Latin-1/UTF-8 export.
  21289                                                               (line   6)
  21290 * var, header argument:                  Environment of a Code Block.
  21291                                                               (line   9)
  21292 * variable index, in Texinfo export:     Indices.             (line   6)
  21293 * vectors, in table calculations:        Formula syntax for Calc.
  21294                                                               (line  14)
  21295 * verbatim blocks, in LaTeX export:      Example blocks in LaTeX export.
  21296                                                               (line   6)
  21297 * verbatim text, markup rules:           Emphasis and Monospace.
  21298                                                               (line   6)
  21299 * verse blocks:                          Paragraphs.          (line  13)
  21300 * verse blocks, in LaTeX export:         Verse blocks in LaTeX export.
  21301                                                               (line   6)
  21302 * view file commands in agenda:          Agenda Commands.     (line  28)
  21303 * VINDEX, keyword:                       Indices.             (line   6)
  21304 * viper.el:                              Conflicts.           (line  51)
  21305 * visibility cycling:                    Visibility Cycling.  (line   6)
  21306 * visibility cycling, drawers:           Drawers.             (line   6)
  21307 * VISIBILITY, property:                  Initial visibility.  (line  20)
  21308 * visible text, printing:                Sparse Trees.        (line  52)
  21309 * VM links:                              External Links.      (line 109)
  21310 * Wanderlust links:                      External Links.      (line 109)
  21311 * weekly agenda:                         Weekly/daily agenda. (line   6)
  21312 * windmove.el:                           Conflicts.           (line  60)
  21313 * workflow states as TODO keywords:      Workflow states.     (line   6)
  21314 * working directory, in a code block:    Environment of a Code Block.
  21315                                                               (line 310)
  21316 * wrap, header argument:                 Results of Evaluation.
  21317                                                               (line 216)
  21318 * xelatex:                               LaTeX/PDF export commands.
  21319                                                               (line  25)
  21320 * yasnippet.el:                          Conflicts.           (line  74)
  21321 * zero width space:                      Escape Character.    (line   6)
  21322 * zip:                                   Pre-requisites for ODT export.
  21323                                                               (line   6)
  21324 
  21325 
  21326 File: org.info,  Node: Key Index,  Next: Command and Function Index,  Prev: Main Index,  Up: Top
  21327 
  21328 E Key Index
  21329 ***********
  21330 
  21331   21332 * Menu:
  21333 
  21334 * !:                                     Setting Tags.        (line 127)
  21335 * ! (Agenda dispatcher):                 Stuck projects.      (line  17)
  21336 * # (Agenda dispatcher):                 Stuck projects.      (line  14)
  21337 * $:                                     Agenda Commands.     (line 266)
  21338 * %:                                     Agenda Commands.     (line 380)
  21339 * ':                                     CDLaTeX mode.        (line  57)
  21340 * *:                                     Agenda Commands.     (line 360)
  21341 * * (Agenda dispatcher):                 Agenda Dispatcher.   (line  55)
  21342 * +:                                     Agenda Commands.     (line 285)
  21343 * ,:                                     Agenda Commands.     (line 280)
  21344 * -:                                     Agenda Commands.     (line 290)
  21345 * .:                                     The date/time prompt.
  21346                                                               (line  84)
  21347 * . <1>:                                 Agenda Commands.     (line 118)
  21348 * / (Agenda dispatcher):                 Agenda Dispatcher.   (line  30)
  21349 * 1..9,0:                                Using column view.   (line  35)
  21350 * ::                                     Agenda Commands.     (line 276)
  21351 * <:                                     Using column view.   (line  67)
  21352 * < <1>:                                 The date/time prompt.
  21353                                                               (line  84)
  21354 * < (Agenda dispatcher):                 Agenda Dispatcher.   (line  43)
  21355 * < < (Agenda dispatcher):               Agenda Dispatcher.   (line  49)
  21356 * >:                                     Using column view.   (line  67)
  21357 * > <1>:                                 The date/time prompt.
  21358                                                               (line  84)
  21359 * > <2>:                                 Agenda Commands.     (line 329)
  21360 * ? (Agenda dispatcher):                 Pulling from the mobile application.
  21361                                                               (line  39)
  21362 * [:                                     Agenda Commands.     (line 142)
  21363 * ^:                                     CDLaTeX mode.        (line  43)
  21364 * _:                                     CDLaTeX mode.        (line  43)
  21365 * `:                                     CDLaTeX mode.        (line  51)
  21366 * a:                                     Using column view.   (line  57)
  21367 * A:                                     Agenda Commands.     (line  64)
  21368 * a <1>:                                 Agenda Commands.     (line 253)
  21369 * a (Agenda dispatcher):                 Weekly/daily agenda. (line  10)
  21370 * b:                                     Agenda Commands.     (line 115)
  21371 * B:                                     Agenda Commands.     (line 384)
  21372 * C:                                     Resolving idle time. (line  46)
  21373 * c:                                     Agenda Commands.     (line 448)
  21374 * c <1>:                                 Agenda Commands.     (line 451)
  21375 * C <1>:                                 Agenda Commands.     (line 482)
  21376 * C (Agenda dispatcher):                 Storing searches.    (line  11)
  21377 * C (Capture menu:                       Capture templates.   (line  11)
  21378 * C-#:                                   Advanced features.   (line  11)
  21379 * C-':                                   Agenda Files.        (line  26)
  21380 * C-,:                                   Agenda Files.        (line  26)
  21381 * C-.:                                   The date/time prompt.
  21382                                                               (line  84)
  21383 * C-0 C-c C-w:                           Refile and Copy.     (line  46)
  21384 * C-2 C-c C-w:                           Refile and Copy.     (line  38)
  21385 * C-3 C-c C-w:                           Refile and Copy.     (line  41)
  21386 * C-c !:                                 Creating Timestamps. (line  25)
  21387 * C-c #:                                 Checkboxes.          (line  98)
  21388 * C-c $:                                 Moving subtrees.     (line  10)
  21389 * C-c %:                                 Handling Links.      (line 141)
  21390 * C-c &:                                 Handling Links.      (line 146)
  21391 * C-c ':                                 Editing and debugging formulas.
  21392                                                               (line  37)
  21393 * C-c ' <1>:                             Literal Examples.    (line 102)
  21394 * C-c ' <2>:                             Include Files.       (line  63)
  21395 * C-c ' <3>:                             Editing Source Code. (line   6)
  21396 * C-c ' <4>:                             Cooperation.         (line  59)
  21397 * C-c *:                                 Structure Editing.   (line 129)
  21398 * C-c * <1>:                             Plain Lists.         (line 143)
  21399 * C-c * <2>:                             Updating the table.  (line  14)
  21400 * C-c +:                                 Built-in Table Editor.
  21401                                                               (line 182)
  21402 * C-c ,:                                 Priorities.          (line  33)
  21403 * C-c -:                                 Plain Lists.         (line 131)
  21404 * C-c - <1>:                             Built-in Table Editor.
  21405                                                               (line 127)
  21406 * C-c .:                                 Creating Timestamps. (line  11)
  21407 * C-c /:                                 Sparse Trees.        (line  16)
  21408 * C-c / <1>:                             Conflicts.           (line  51)
  21409 * C-c / /:                               Sparse Trees.        (line  20)
  21410 * C-c / a:                               Inserting deadline/schedule.
  21411                                                               (line  36)
  21412 * C-c / b:                               Inserting deadline/schedule.
  21413                                                               (line  33)
  21414 * C-c / d:                               Inserting deadline/schedule.
  21415                                                               (line  26)
  21416 * C-c / m:                               Tag Searches.        (line  10)
  21417 * C-c / m <1>:                           Property Searches.   (line  11)
  21418 * C-c / p:                               Property Searches.   (line  29)
  21419 * C-c / r:                               Sparse Trees.        (line  20)
  21420 * C-c / t:                               TODO Basics.         (line  35)
  21421 * C-c ;:                                 Comment Lines.       (line  20)
  21422 * C-c <:                                 Creating Timestamps. (line  32)
  21423 * C-c =:                                 Column formulas.     (line  33)
  21424 * C-c = <1>:                             Editing and debugging formulas.
  21425                                                               (line  14)
  21426 * C-c >:                                 Creating Timestamps. (line  35)
  21427 * C-c ?:                                 Editing and debugging formulas.
  21428                                                               (line  25)
  21429 * C-c @:                                 Structure Editing.   (line  66)
  21430 * C-c C-*:                               Plain Lists.         (line 148)
  21431 * C-c C-,:                               Structure Templates. (line  11)
  21432 * C-c C-a:                               Attachment defaults and dispatcher.
  21433                                                               (line  20)
  21434 * C-c C-a <1>:                           Agenda Commands.     (line 301)
  21435 * C-c C-a a:                             Attachment defaults and dispatcher.
  21436                                                               (line  25)
  21437 * C-c C-a b:                             Attachment defaults and dispatcher.
  21438                                                               (line  35)
  21439 * C-c C-a c:                             Attachment defaults and dispatcher.
  21440                                                               (line  31)
  21441 * C-c C-a d:                             Attachment defaults and dispatcher.
  21442                                                               (line  61)
  21443 * C-c C-a D:                             Attachment defaults and dispatcher.
  21444                                                               (line  64)
  21445 * C-c C-a f:                             Attachment defaults and dispatcher.
  21446                                                               (line  55)
  21447 * C-c C-a F:                             Attachment defaults and dispatcher.
  21448                                                               (line  58)
  21449 * C-c C-a l:                             Attachment defaults and dispatcher.
  21450                                                               (line  31)
  21451 * C-c C-a m:                             Attachment defaults and dispatcher.
  21452                                                               (line  31)
  21453 * C-c C-a n:                             Attachment defaults and dispatcher.
  21454                                                               (line  39)
  21455 * C-c C-a o:                             Attachment defaults and dispatcher.
  21456                                                               (line  46)
  21457 * C-c C-a O:                             Attachment defaults and dispatcher.
  21458                                                               (line  52)
  21459 * C-c C-a s:                             Attachment defaults and dispatcher.
  21460                                                               (line  68)
  21461 * C-c C-a S:                             Attachment defaults and dispatcher.
  21462                                                               (line  73)
  21463 * C-c C-a z:                             Attachment defaults and dispatcher.
  21464                                                               (line  42)
  21465 * C-c C-b:                               Motion.              (line  18)
  21466 * C-c C-b <1>:                           Editing support.     (line  12)
  21467 * C-c C-c:                               Plain Lists.         (line 126)
  21468 * C-c C-c <1>:                           Built-in Table Editor.
  21469                                                               (line  61)
  21470 * C-c C-c <2>:                           Column Width and Alignment.
  21471                                                               (line  17)
  21472 * C-c C-c <3>:                           Editing and debugging formulas.
  21473                                                               (line  45)
  21474 * C-c C-c <4>:                           Editing and debugging formulas.
  21475                                                               (line  91)
  21476 * C-c C-c <5>:                           Editing and debugging formulas.
  21477                                                               (line  98)
  21478 * C-c C-c <6>:                           Checkboxes.          (line  52)
  21479 * C-c C-c <7>:                           Setting Tags.        (line  20)
  21480 * C-c C-c <8>:                           Setting Tags.        (line 131)
  21481 * C-c C-c <9>:                           Property Syntax.     (line 100)
  21482 * C-c C-c <10>:                          Using column view.   (line  26)
  21483 * C-c C-c <11>:                          Using column view.   (line  49)
  21484 * C-c C-c <12>:                          Capturing column view.
  21485                                                               (line  80)
  21486 * C-c C-c <13>:                          Creating Timestamps. (line  29)
  21487 * C-c C-c <14>:                          Clocking commands.   (line  53)
  21488 * C-c C-c <15>:                          The clock table.     (line  20)
  21489 * C-c C-c <16>:                          Creating Footnotes.  (line  65)
  21490 * C-c C-c <17>:                          Evaluating Code Blocks.
  21491                                                               (line  23)
  21492 * C-c C-c <18>:                          Key bindings and Useful Functions.
  21493                                                               (line  11)
  21494 * C-c C-c <19>:                          The Very Busy C-c C-c Key.
  21495                                                               (line   6)
  21496 * C-c C-c (Capture buffer):              Using capture.       (line  15)
  21497 * C-c C-c c:                             Property Syntax.     (line 117)
  21498 * C-c C-c d:                             Property Syntax.     (line 111)
  21499 * C-c C-c D:                             Property Syntax.     (line 114)
  21500 * C-c C-c m m:                           Markdown Export.     (line  17)
  21501 * C-c C-c m M:                           Markdown Export.     (line  21)
  21502 * C-c C-c s:                             Property Syntax.     (line 103)
  21503 * C-c C-d:                               Inserting deadline/schedule.
  21504                                                               (line  10)
  21505 * C-c C-d <1>:                           Agenda Commands.     (line 308)
  21506 * C-c C-e:                               The Export Dispatcher.
  21507                                                               (line  16)
  21508 * C-c C-e c a:                           iCalendar Export.    (line  43)
  21509 * C-c C-e c c:                           iCalendar Export.    (line  47)
  21510 * C-c C-e c f:                           iCalendar Export.    (line  39)
  21511 * C-c C-e C-a:                           The Export Dispatcher.
  21512                                                               (line  28)
  21513 * C-c C-e C-b:                           The Export Dispatcher.
  21514                                                               (line  46)
  21515 * C-c C-e C-s:                           The Export Dispatcher.
  21516                                                               (line  52)
  21517 * C-c C-e C-v:                           Sparse Trees.        (line  52)
  21518 * C-c C-e C-v <1>:                       The Export Dispatcher.
  21519                                                               (line  64)
  21520 * C-c C-e h h:                           HTML export commands.
  21521                                                               (line   7)
  21522 * C-c C-e h H:                           HTML export commands.
  21523                                                               (line  13)
  21524 * C-c C-e h o:                           HTML export commands.
  21525                                                               (line   7)
  21526 * C-c C-e i i:                           Texinfo export commands.
  21527                                                               (line  11)
  21528 * C-c C-e i t:                           Texinfo export commands.
  21529                                                               (line   7)
  21530 * C-c C-e l b:                           Beamer export commands.
  21531                                                               (line   7)
  21532 * C-c C-e l B:                           Beamer export commands.
  21533                                                               (line  12)
  21534 * C-c C-e l l:                           LaTeX/PDF export commands.
  21535                                                               (line   7)
  21536 * C-c C-e l L:                           LaTeX/PDF export commands.
  21537                                                               (line  11)
  21538 * C-c C-e l O:                           Beamer export commands.
  21539                                                               (line  20)
  21540 * C-c C-e l o:                           LaTeX/PDF export commands.
  21541                                                               (line  17)
  21542 * C-c C-e l P:                           Beamer export commands.
  21543                                                               (line  16)
  21544 * C-c C-e l p:                           LaTeX/PDF export commands.
  21545                                                               (line  14)
  21546 * C-c C-e m o:                           Markdown Export.     (line  24)
  21547 * C-c C-e o o:                           ODT export commands. (line   7)
  21548 * C-c C-e o O:                           ODT export commands. (line  23)
  21549 * C-c C-e O o:                           Org Export.          (line  15)
  21550 * C-c C-e O v:                           Org Export.          (line  19)
  21551 * C-c C-e P a:                           Triggering Publication.
  21552                                                               (line  19)
  21553 * C-c C-e P f:                           Triggering Publication.
  21554                                                               (line  16)
  21555 * C-c C-e P p:                           Triggering Publication.
  21556                                                               (line  13)
  21557 * C-c C-e P x:                           Triggering Publication.
  21558                                                               (line   9)
  21559 * C-c C-e t a:                           ASCII/Latin-1/UTF-8 export.
  21560                                                               (line  26)
  21561 * C-c C-e t A:                           ASCII/Latin-1/UTF-8 export.
  21562                                                               (line  35)
  21563 * C-c C-e t l:                           ASCII/Latin-1/UTF-8 export.
  21564                                                               (line  26)
  21565 * C-c C-e t L:                           ASCII/Latin-1/UTF-8 export.
  21566                                                               (line  35)
  21567 * C-c C-e t u:                           ASCII/Latin-1/UTF-8 export.
  21568                                                               (line  26)
  21569 * C-c C-e t U:                           ASCII/Latin-1/UTF-8 export.
  21570                                                               (line  35)
  21571 * C-c C-f:                               Motion.              (line  15)
  21572 * C-c C-j:                               Motion.              (line  24)
  21573 * C-c C-k:                               Global and local cycling.
  21574                                                               (line  52)
  21575 * C-c C-k (Capture buffer):              Using capture.       (line  31)
  21576 * C-c C-l:                               Handling Links.      (line  71)
  21577 * C-c C-M-w:                             Refile and Copy.     (line  55)
  21578 * C-c C-n:                               Motion.              (line   9)
  21579 * C-c C-o:                               Handling Links.      (line 108)
  21580 * C-c C-o <1>:                           Creating Timestamps. (line  40)
  21581 * C-c C-o <2>:                           Agenda Commands.     (line  56)
  21582 * C-c C-o <3>:                           Creating Footnotes.  (line  71)
  21583 * C-c C-o <4>:                           Key bindings and Useful Functions.
  21584                                                               (line  11)
  21585 * C-c C-p:                               Motion.              (line  12)
  21586 * C-c C-q:                               Editing and debugging formulas.
  21587                                                               (line  49)
  21588 * C-c C-q <1>:                           Setting Tags.        (line  11)
  21589 * C-c C-r:                               Global and local cycling.
  21590                                                               (line  43)
  21591 * C-c C-r <1>:                           Editing and debugging formulas.
  21592                                                               (line  52)
  21593 * C-c C-s:                               Inserting deadline/schedule.
  21594                                                               (line  18)
  21595 * C-c C-s <1>:                           Agenda Commands.     (line 304)
  21596 * C-c C-t:                               TODO Basics.         (line  14)
  21597 * C-c C-t <1>:                           Clocking commands.   (line  71)
  21598 * C-c C-TAB:                             Internal archiving.  (line  51)
  21599 * C-c C-u:                               Motion.              (line  21)
  21600 * C-c C-v a:                             Key bindings and Useful Functions.
  21601                                                               (line  20)
  21602 * C-c C-v b:                             Key bindings and Useful Functions.
  21603                                                               (line  20)
  21604 * C-c C-v c:                             Key bindings and Useful Functions.
  21605                                                               (line  20)
  21606 * C-c C-v C-a:                           Key bindings and Useful Functions.
  21607                                                               (line  20)
  21608 * C-c C-v C-b:                           Key bindings and Useful Functions.
  21609                                                               (line  20)
  21610 * C-c C-v C-c:                           Key bindings and Useful Functions.
  21611                                                               (line  20)
  21612 * C-c C-v C-d:                           Key bindings and Useful Functions.
  21613                                                               (line  20)
  21614 * C-c C-v C-e:                           Key bindings and Useful Functions.
  21615                                                               (line  20)
  21616 * C-c C-v C-f:                           Key bindings and Useful Functions.
  21617                                                               (line  20)
  21618 * C-c C-v C-g:                           Key bindings and Useful Functions.
  21619                                                               (line  20)
  21620 * C-c C-v C-h:                           Key bindings and Useful Functions.
  21621                                                               (line  20)
  21622 * C-c C-v C-i:                           Key bindings and Useful Functions.
  21623                                                               (line  20)
  21624 * C-c C-v C-I:                           Key bindings and Useful Functions.
  21625                                                               (line  20)
  21626 * C-c C-v C-j:                           Key bindings and Useful Functions.
  21627                                                               (line  20)
  21628 * C-c C-v C-l:                           Key bindings and Useful Functions.
  21629                                                               (line  20)
  21630 * C-c C-v C-n:                           Key bindings and Useful Functions.
  21631                                                               (line  20)
  21632 * C-c C-v C-o:                           Key bindings and Useful Functions.
  21633                                                               (line  20)
  21634 * C-c C-v C-p:                           Key bindings and Useful Functions.
  21635                                                               (line  20)
  21636 * C-c C-v C-r:                           Key bindings and Useful Functions.
  21637                                                               (line  20)
  21638 * C-c C-v C-s:                           Key bindings and Useful Functions.
  21639                                                               (line  20)
  21640 * C-c C-v C-t:                           Key bindings and Useful Functions.
  21641                                                               (line  20)
  21642 * C-c C-v C-u:                           Key bindings and Useful Functions.
  21643                                                               (line  20)
  21644 * C-c C-v C-v:                           Noweb Reference Syntax.
  21645                                                               (line 219)
  21646 * C-c C-v C-v <1>:                       Key bindings and Useful Functions.
  21647                                                               (line  20)
  21648 * C-c C-v C-x:                           Key bindings and Useful Functions.
  21649                                                               (line  20)
  21650 * C-c C-v C-z:                           Key bindings and Useful Functions.
  21651                                                               (line  20)
  21652 * C-c C-v d:                             Key bindings and Useful Functions.
  21653                                                               (line  20)
  21654 * C-c C-v e:                             Evaluating Code Blocks.
  21655                                                               (line  23)
  21656 * C-c C-v e <1>:                         Key bindings and Useful Functions.
  21657                                                               (line  20)
  21658 * C-c C-v f:                             Extracting Source Code.
  21659                                                               (line 126)
  21660 * C-c C-v f <1>:                         Key bindings and Useful Functions.
  21661                                                               (line  20)
  21662 * C-c C-v g:                             Key bindings and Useful Functions.
  21663                                                               (line  20)
  21664 * C-c C-v h:                             Key bindings and Useful Functions.
  21665                                                               (line  20)
  21666 * C-c C-v i:                             Library of Babel.    (line  12)
  21667 * C-c C-v i <1>:                         Key bindings and Useful Functions.
  21668                                                               (line  20)
  21669 * C-c C-v I:                             Key bindings and Useful Functions.
  21670                                                               (line  20)
  21671 * C-c C-v j:                             Key bindings and Useful Functions.
  21672                                                               (line  20)
  21673 * C-c C-v l:                             Key bindings and Useful Functions.
  21674                                                               (line  20)
  21675 * C-c C-v n:                             Key bindings and Useful Functions.
  21676                                                               (line  20)
  21677 * C-c C-v o:                             Key bindings and Useful Functions.
  21678                                                               (line  20)
  21679 * C-c C-v p:                             Key bindings and Useful Functions.
  21680                                                               (line  20)
  21681 * C-c C-v r:                             Key bindings and Useful Functions.
  21682                                                               (line  20)
  21683 * C-c C-v s:                             Key bindings and Useful Functions.
  21684                                                               (line  20)
  21685 * C-c C-v t:                             Extracting Source Code.
  21686                                                               (line 121)
  21687 * C-c C-v t <1>:                         Key bindings and Useful Functions.
  21688                                                               (line  20)
  21689 * C-c C-v u:                             Key bindings and Useful Functions.
  21690                                                               (line  20)
  21691 * C-c C-v v:                             Noweb Reference Syntax.
  21692                                                               (line 219)
  21693 * C-c C-v v <1>:                         Key bindings and Useful Functions.
  21694                                                               (line  20)
  21695 * C-c C-v x:                             Key bindings and Useful Functions.
  21696                                                               (line  20)
  21697 * C-c C-v z:                             Key bindings and Useful Functions.
  21698                                                               (line  20)
  21699 * C-c C-w:                               Structure Editing.   (line 104)
  21700 * C-c C-w <1>:                           Refile and Copy.     (line  13)
  21701 * C-c C-w <2>:                           Agenda Commands.     (line 250)
  21702 * C-c C-w (Capture buffer):              Using capture.       (line  22)
  21703 * C-c C-x ,:                             Timers.              (line  44)
  21704 * C-c C-x -:                             Timers.              (line  36)
  21705 * C-c C-x .:                             Timers.              (line  32)
  21706 * C-c C-x 0:                             Timers.              (line  13)
  21707 * C-c C-x ;:                             Timers.              (line  23)
  21708 * C-c C-x <:                             Agenda Files.        (line  43)
  21709 * C-c C-x >:                             Agenda Files.        (line  52)
  21710 * C-c C-x > <1>:                         Agenda Commands.     (line 207)
  21711 * C-c C-x @:                             Citations.           (line  14)
  21712 * C-c C-x a:                             Internal archiving.  (line  39)
  21713 * C-c C-x A:                             Internal archiving.  (line  54)
  21714 * C-c C-x a <1>:                         Agenda Commands.     (line 258)
  21715 * C-c C-x A <1>:                         Agenda Commands.     (line 262)
  21716 * C-c C-x b:                             Global and local cycling.
  21717                                                               (line  59)
  21718 * C-c C-x b <1>:                         Agenda Commands.     (line  49)
  21719 * C-c C-x c:                             Structure Editing.   (line  96)
  21720 * C-c C-x C-a:                           Archiving.           (line  12)
  21721 * C-c C-x C-a <1>:                       Agenda Commands.     (line 253)
  21722 * C-c C-x C-b:                           Checkboxes.          (line  58)
  21723 * C-c C-x C-c:                           Using column view.   (line  10)
  21724 * C-c C-x C-c <1>:                       Agenda Commands.     (line 198)
  21725 * C-c C-x C-c <2>:                       Agenda Column View.  (line  12)
  21726 * C-c C-x C-d:                           Clocking commands.   (line  84)
  21727 * C-c C-x C-e:                           Clocking commands.   (line  50)
  21728 * C-c C-x C-e <1>:                       Effort Estimates.    (line  24)
  21729 * C-c C-x C-i:                           Clocking commands.   (line   7)
  21730 * C-c C-x C-j:                           Clocking commands.   (line  79)
  21731 * C-c C-x C-l:                           Previewing LaTeX fragments.
  21732                                                               (line  18)
  21733 * C-c C-x C-n:                           Handling Links.      (line 153)
  21734 * C-c C-x C-o:                           Clocking commands.   (line  36)
  21735 * C-c C-x C-p:                           Handling Links.      (line 153)
  21736 * C-c C-x C-q:                           Clocking commands.   (line  75)
  21737 * C-c C-x C-r:                           Checkboxes.          (line  75)
  21738 * C-c C-x C-s:                           Moving subtrees.     (line  10)
  21739 * C-c C-x C-s <1>:                       Agenda Commands.     (line 266)
  21740 * C-c C-x C-t:                           Custom time format.  (line  13)
  21741 * C-c C-x C-u:                           Capturing column view.
  21742                                                               (line  80)
  21743 * C-c C-x C-u <1>:                       The clock table.     (line  20)
  21744 * C-c C-x C-u <2>:                       Dynamic Blocks.      (line  25)
  21745 * C-c C-x C-v:                           Images.              (line  24)
  21746 * C-c C-x C-w:                           Structure Editing.   (line  70)
  21747 * C-c C-x C-w <1>:                       Built-in Table Editor.
  21748                                                               (line 158)
  21749 * C-c C-x C-x:                           Clocking commands.   (line  44)
  21750 * C-c C-x C-y:                           Structure Editing.   (line  78)
  21751 * C-c C-x C-y <1>:                       Built-in Table Editor.
  21752                                                               (line 162)
  21753 * C-c C-x d:                             Drawers.             (line  18)
  21754 * C-c C-x e:                             Effort Estimates.    (line  19)
  21755 * C-c C-x e <1>:                         Agenda Commands.     (line 293)
  21756 * C-c C-x f:                             Creating Footnotes.  (line  42)
  21757 * C-c C-x g:                             RSS Feeds.           (line  23)
  21758 * C-c C-x G:                             RSS Feeds.           (line  27)
  21759 * C-c C-x I:                             Documentation Access.
  21760                                                               (line   6)
  21761 * C-c C-x M-w:                           Structure Editing.   (line  74)
  21762 * C-c C-x M-w <1>:                       Built-in Table Editor.
  21763                                                               (line 152)
  21764 * C-c C-x o:                             TODO dependencies.   (line  38)
  21765 * C-c C-x o <1>:                         Checkboxes.          (line  90)
  21766 * C-c C-x p:                             Property Syntax.     (line  90)
  21767 * C-c C-x p <1>:                         Using Header Arguments.
  21768                                                               (line  90)
  21769 * C-c C-x q:                             Tag Hierarchy.       (line  87)
  21770 * C-c C-x v:                             Global and local cycling.
  21771                                                               (line  65)
  21772 * C-c C-x x:                             Capturing column view.
  21773                                                               (line  72)
  21774 * C-c C-x x <1>:                         The clock table.     (line  11)
  21775 * C-c C-x x <2>:                         Dynamic Blocks.      (line  10)
  21776 * C-c C-x \:                             Subscripts and Superscripts.
  21777                                                               (line  27)
  21778 * C-c C-x \ <1>:                         Special Symbols.     (line  31)
  21779 * C-c C-x _:                             Timers.              (line  47)
  21780 * C-c C-y:                               Creating Timestamps. (line  62)
  21781 * C-c C-y <1>:                           Clocking commands.   (line  53)
  21782 * C-c C-z:                               Drawers.             (line  40)
  21783 * C-c C-z <1>:                           Agenda Commands.     (line 296)
  21784 * C-c M-w:                               Refile and Copy.     (line  51)
  21785 * C-c RET:                               Built-in Table Editor.
  21786                                                               (line 131)
  21787 * C-c TAB:                               Global and local cycling.
  21788                                                               (line  55)
  21789 * C-c TAB <1>:                           Column Width and Alignment.
  21790                                                               (line  44)
  21791 * C-c [:                                 Agenda Files.        (line  16)
  21792 * C-c \:                                 Tag Searches.        (line  10)
  21793 * C-c \ <1>:                             Property Searches.   (line  11)
  21794 * C-c ]:                                 Agenda Files.        (line  22)
  21795 * C-c ^:                                 Structure Editing.   (line 108)
  21796 * C-c ^ <1>:                             Plain Lists.         (line 159)
  21797 * C-c ^ <2>:                             Built-in Table Editor.
  21798                                                               (line 135)
  21799 * C-c `:                                 Built-in Table Editor.
  21800                                                               (line 203)
  21801 * C-c {:                                 Editing and debugging formulas.
  21802                                                               (line  34)
  21803 * C-c { <1>:                             CDLaTeX mode.        (line  25)
  21804 * C-c |:                                 Built-in Table Editor.
  21805                                                               (line  43)
  21806 * C-c | <1>:                             Built-in Table Editor.
  21807                                                               (line 222)
  21808 * C-c }:                                 Editing and debugging formulas.
  21809                                                               (line  29)
  21810 * C-c } <1>:                             Editing and debugging formulas.
  21811                                                               (line  83)
  21812 * C-c ~:                                 Cooperation.         (line  63)
  21813 * C-g:                                   Setting Tags.        (line 121)
  21814 * C-k:                                   Agenda Commands.     (line 244)
  21815 * C-RET:                                 Structure Editing.   (line  26)
  21816 * C-S-DOWN:                              Clocking commands.   (line  59)
  21817 * C-S-LEFT:                              Multiple sets in one file.
  21818                                                               (line  28)
  21819 * C-S-LEFT <1>:                          Agenda Commands.     (line 241)
  21820 * C-S-RET:                               Structure Editing.   (line  33)
  21821 * C-S-RIGHT:                             Multiple sets in one file.
  21822                                                               (line  28)
  21823 * C-S-RIGHT <1>:                         Agenda Commands.     (line 238)
  21824 * C-S-UP:                                Clocking commands.   (line  59)
  21825 * C-u C-c !:                             Creating Timestamps. (line  25)
  21826 * C-u C-c *:                             Updating the table.  (line  19)
  21827 * C-u C-c .:                             Creating Timestamps. (line  16)
  21828 * C-u C-c =:                             Field and range formulas.
  21829                                                               (line  28)
  21830 * C-u C-c = <1>:                         Editing and debugging formulas.
  21831                                                               (line  14)
  21832 * C-u C-c C-c:                           Updating the table.  (line  19)
  21833 * C-u C-c C-l:                           Handling Links.      (line  94)
  21834 * C-u C-c C-t:                           Progress Logging.    (line  10)
  21835 * C-u C-c C-w:                           Refile and Copy.     (line  32)
  21836 * C-u C-c C-x a:                         Internal archiving.  (line  44)
  21837 * C-u C-c C-x C-s:                       Moving subtrees.     (line  14)
  21838 * C-u C-c C-x C-u:                       Capturing column view.
  21839                                                               (line  84)
  21840 * C-u C-c C-x C-u <1>:                   The clock table.     (line  24)
  21841 * C-u C-c C-x C-u <2>:                   Dynamic Blocks.      (line  28)
  21842 * C-u C-c TAB:                           Column Width and Alignment.
  21843                                                               (line  54)
  21844 * C-u C-u C-c !:                         Creating Timestamps. (line  25)
  21845 * C-u C-u C-c *:                         Updating the table.  (line  24)
  21846 * C-u C-u C-c .:                         Creating Timestamps. (line  21)
  21847 * C-u C-u C-c =:                         Editing and debugging formulas.
  21848                                                               (line  19)
  21849 * C-u C-u C-c C-c:                       Updating the table.  (line  24)
  21850 * C-u C-u C-c C-t:                       Multiple sets in one file.
  21851                                                               (line  28)
  21852 * C-u C-u C-c C-w:                       Refile and Copy.     (line  35)
  21853 * C-u C-u C-c C-x C-s:                   Moving subtrees.     (line  21)
  21854 * C-u C-u C-c TAB:                       Column Width and Alignment.
  21855                                                               (line  57)
  21856 * C-u C-u C-u C-c C-w:                   Refile and Copy.     (line  46)
  21857 * C-u C-u C-u C-u C-c C-t:               TODO dependencies.   (line  46)
  21858 * C-u C-u C-u TAB:                       Global and local cycling.
  21859                                                               (line  40)
  21860 * C-u C-u TAB:                           Global and local cycling.
  21861                                                               (line  36)
  21862 * C-u C-u TAB <1>:                       Initial visibility.  (line  26)
  21863 * C-u TAB:                               Global and local cycling.
  21864                                                               (line  20)
  21865 * C-v:                                   The date/time prompt.
  21866                                                               (line  84)
  21867 * C-x C-s:                               Editing and debugging formulas.
  21868                                                               (line  45)
  21869 * C-x C-s <1>:                           Agenda Commands.     (line 194)
  21870 * C-x C-s <2>:                           Editing Source Code. (line  11)
  21871 * C-x C-w:                               Exporting Agenda Views.
  21872                                                               (line  13)
  21873 * C-x n b:                               Structure Editing.   (line 123)
  21874 * C-x n s:                               Structure Editing.   (line 120)
  21875 * C-x n w:                               Structure Editing.   (line 126)
  21876 * C-y:                                   Structure Editing.   (line  84)
  21877 * C-_:                                   Agenda Commands.     (line 228)
  21878 * d:                                     Agenda Commands.     (line  71)
  21879 * D:                                     Agenda Commands.     (line 127)
  21880 * e:                                     Using column view.   (line  43)
  21881 * E:                                     Agenda Commands.     (line 174)
  21882 * e <1>:                                 Agenda Commands.     (line 293)
  21883 * e (Agenda dispatcher):                 Exporting Agenda Views.
  21884                                                               (line  53)
  21885 * F:                                     Agenda Commands.     (line  42)
  21886 * f:                                     Agenda Commands.     (line 110)
  21887 * g:                                     Using column view.   (line  22)
  21888 * G:                                     Agenda Commands.     (line 182)
  21889 * g <1>:                                 Agenda Commands.     (line 187)
  21890 * H:                                     Agenda Commands.     (line 486)
  21891 * I:                                     Agenda Commands.     (line 333)
  21892 * i:                                     Agenda Commands.     (line 455)
  21893 * j:                                     Agenda Commands.     (line 121)
  21894 * J:                                     Agenda Commands.     (line 124)
  21895 * J <1>:                                 Agenda Commands.     (line 343)
  21896 * k:                                     Resolving idle time. (line  23)
  21897 * K:                                     Resolving idle time. (line  29)
  21898 * k <1>:                                 Agenda Commands.     (line 346)
  21899 * k c (Agenda):                          Using capture.       (line  33)
  21900 * l:                                     Agenda Commands.     (line 131)
  21901 * m:                                     Agenda Commands.     (line 354)
  21902 * M:                                     Agenda Commands.     (line 473)
  21903 * m (Agenda dispatcher):                 Tag Searches.        (line  15)
  21904 * M (Agenda dispatcher):                 Tag Searches.        (line  19)
  21905 * m (Agenda dispatcher) <1>:             Property Searches.   (line  15)
  21906 * M (Agenda dispatcher) <1>:             Property Searches.   (line  18)
  21907 * m (Agenda dispatcher) <2>:             Matching tags and properties.
  21908                                                               (line  13)
  21909 * M (Agenda dispatcher) <2>:             Matching tags and properties.
  21910                                                               (line  21)
  21911 * M-*:                                   Agenda Commands.     (line 376)
  21912 * M-a:                                   Built-in Table Editor.
  21913                                                               (line  79)
  21914 * M-DOWN:                                Structure Editing.   (line  63)
  21915 * M-DOWN <1>:                            Plain Lists.         (line 102)
  21916 * M-DOWN <2>:                            Built-in Table Editor.
  21917                                                               (line 105)
  21918 * M-DOWN <3>:                            Editing and debugging formulas.
  21919                                                               (line  80)
  21920 * M-DOWN <4>:                            Agenda Commands.     (line 218)
  21921 * M-DOWN <5>:                            Key bindings and Useful Functions.
  21922                                                               (line  11)
  21923 * M-e:                                   Built-in Table Editor.
  21924                                                               (line  83)
  21925 * M-g M-n:                               Sparse Trees.        (line  32)
  21926 * M-g M-p:                               Sparse Trees.        (line  35)
  21927 * M-g n:                                 Sparse Trees.        (line  32)
  21928 * M-g p:                                 Sparse Trees.        (line  35)
  21929 * M-LEFT:                                Structure Editing.   (line  44)
  21930 * M-LEFT <1>:                            Plain Lists.         (line 108)
  21931 * M-LEFT <2>:                            Built-in Table Editor.
  21932                                                               (line  89)
  21933 * M-m:                                   Agenda Commands.     (line 372)
  21934 * M-RET:                                 Structure Editing.   (line   7)
  21935 * M-RET <1>:                             Plain Lists.         (line  83)
  21936 * M-RET <2>:                             Built-in Table Editor.
  21937                                                               (line 169)
  21938 * M-RET <3>:                             Timers.              (line  40)
  21939 * M-RIGHT:                               Structure Editing.   (line  44)
  21940 * M-RIGHT <1>:                           Plain Lists.         (line 108)
  21941 * M-RIGHT <2>:                           Built-in Table Editor.
  21942                                                               (line  92)
  21943 * M-S-DOWN:                              Built-in Table Editor.
  21944                                                               (line 123)
  21945 * M-S-DOWN <1>:                          Editing and debugging formulas.
  21946                                                               (line  74)
  21947 * M-S-LEFT:                              Structure Editing.   (line  54)
  21948 * M-S-LEFT <1>:                          Plain Lists.         (line 113)
  21949 * M-S-LEFT <2>:                          Built-in Table Editor.
  21950                                                               (line  95)
  21951 * M-S-LEFT <3>:                          The date/time prompt.
  21952                                                               (line  84)
  21953 * M-S-RET:                               Structure Editing.   (line  29)
  21954 * M-S-RET <1>:                           Plain Lists.         (line  91)
  21955 * M-S-RET <2>:                           Checkboxes.          (line  86)
  21956 * M-S-RIGHT:                             Structure Editing.   (line  57)
  21957 * M-S-RIGHT <1>:                         Plain Lists.         (line 113)
  21958 * M-S-RIGHT <2>:                         Built-in Table Editor.
  21959                                                               (line  98)
  21960 * M-S-RIGHT <3>:                         The date/time prompt.
  21961                                                               (line  84)
  21962 * M-S-UP:                                Built-in Table Editor.
  21963                                                               (line 108)
  21964 * M-S-UP <1>:                            Editing and debugging formulas.
  21965                                                               (line  71)
  21966 * M-TAB:                                 Editing and debugging formulas.
  21967                                                               (line  63)
  21968 * M-TAB <1>:                             Per-file keywords.   (line  26)
  21969 * M-TAB <2>:                             Setting Tags.        (line   6)
  21970 * M-TAB <3>:                             Property Syntax.     (line  86)
  21971 * M-TAB <4>:                             Completion.          (line  15)
  21972 * M-UP:                                  Structure Editing.   (line  60)
  21973 * M-UP <1>:                              Plain Lists.         (line 102)
  21974 * M-UP <2>:                              Built-in Table Editor.
  21975                                                               (line 102)
  21976 * M-UP <3>:                              Editing and debugging formulas.
  21977                                                               (line  77)
  21978 * M-UP <4>:                              Agenda Commands.     (line 211)
  21979 * M-UP <5>:                              Key bindings and Useful Functions.
  21980                                                               (line  11)
  21981 * M-v:                                   The date/time prompt.
  21982                                                               (line  84)
  21983 * mouse-1:                               Handling Links.      (line 133)
  21984 * mouse-1 <1>:                           The date/time prompt.
  21985                                                               (line  84)
  21986 * mouse-1 <2>:                           Creating Footnotes.  (line  71)
  21987 * mouse-2:                               Handling Links.      (line 133)
  21988 * mouse-2 <1>:                           Agenda Commands.     (line  36)
  21989 * mouse-2 <2>:                           Creating Footnotes.  (line  71)
  21990 * mouse-3:                               Handling Links.      (line 137)
  21991 * mouse-3 <1>:                           Agenda Commands.     (line  29)
  21992 * n:                                     Using column view.   (line  39)
  21993 * n <1>:                                 Agenda Commands.     (line  20)
  21994 * o:                                     Agenda Commands.     (line  68)
  21995 * O:                                     Agenda Commands.     (line 337)
  21996 * p:                                     Using column view.   (line  39)
  21997 * p <1>:                                 Agenda Commands.     (line  23)
  21998 * q:                                     Setting Tags.        (line 124)
  21999 * q <1>:                                 Using column view.   (line  26)
  22000 * q <2>:                                 Agenda Commands.     (line 492)
  22001 * r:                                     Using column view.   (line  22)
  22002 * r <1>:                                 Global TODO list.    (line  25)
  22003 * R:                                     Agenda Commands.     (line 154)
  22004 * r <2>:                                 Agenda Commands.     (line 187)
  22005 * RET:                                   Built-in Table Editor.
  22006                                                               (line  74)
  22007 * RET <1>:                               Handling Links.      (line 129)
  22008 * RET <2>:                               Setting Tags.        (line 118)
  22009 * RET <3>:                               The date/time prompt.
  22010                                                               (line  84)
  22011 * RET <4>:                               Agenda Commands.     (line  39)
  22012 * s:                                     Resolving idle time. (line  35)
  22013 * S:                                     Resolving idle time. (line  40)
  22014 * s <1>:                                 Agenda Commands.     (line 194)
  22015 * S <1>:                                 Agenda Commands.     (line 477)
  22016 * s (Agenda dispatcher):                 Agenda Dispatcher.   (line  25)
  22017 * s (Agenda dispatcher) <1>:             Search view.         (line  10)
  22018 * S-DOWN:                                Plain Lists.         (line  95)
  22019 * S-DOWN <1>:                            Built-in Table Editor.
  22020                                                               (line 114)
  22021 * S-DOWN <2>:                            Editing and debugging formulas.
  22022                                                               (line  66)
  22023 * S-DOWN <3>:                            Priorities.          (line  41)
  22024 * S-DOWN <4>:                            Creating Timestamps. (line  50)
  22025 * S-DOWN <5>:                            The date/time prompt.
  22026                                                               (line  84)
  22027 * S-DOWN <6>:                            Agenda Commands.     (line 290)
  22028 * S-LEFT:                                Plain Lists.         (line 154)
  22029 * S-LEFT <1>:                            Built-in Table Editor.
  22030                                                               (line 117)
  22031 * S-LEFT <2>:                            Editing and debugging formulas.
  22032                                                               (line  66)
  22033 * S-LEFT <3>:                            TODO Basics.         (line  28)
  22034 * S-LEFT <4>:                            Multiple sets in one file.
  22035                                                               (line  36)
  22036 * S-LEFT <5>:                            Property Syntax.     (line 108)
  22037 * S-LEFT <6>:                            Using column view.   (line  39)
  22038 * S-LEFT <7>:                            Creating Timestamps. (line  45)
  22039 * S-LEFT <8>:                            The date/time prompt.
  22040                                                               (line  84)
  22041 * S-LEFT <9>:                            The clock table.     (line  29)
  22042 * S-LEFT <10>:                           Agenda Commands.     (line 325)
  22043 * S-M-DOWN:                              Clocking commands.   (line  64)
  22044 * S-M-LEFT:                              Using column view.   (line  73)
  22045 * S-M-RET:                               TODO Basics.         (line  54)
  22046 * S-M-RIGHT:                             Using column view.   (line  70)
  22047 * S-M-UP:                                Clocking commands.   (line  64)
  22048 * S-RET:                                 Built-in Table Editor.
  22049                                                               (line 187)
  22050 * S-RIGHT:                               Plain Lists.         (line 154)
  22051 * S-RIGHT <1>:                           Built-in Table Editor.
  22052                                                               (line 120)
  22053 * S-RIGHT <2>:                           Editing and debugging formulas.
  22054                                                               (line  66)
  22055 * S-RIGHT <3>:                           TODO Basics.         (line  28)
  22056 * S-RIGHT <4>:                           Multiple sets in one file.
  22057                                                               (line  36)
  22058 * S-RIGHT <5>:                           Property Syntax.     (line 108)
  22059 * S-RIGHT <6>:                           Using column view.   (line  39)
  22060 * S-RIGHT <7>:                           Creating Timestamps. (line  45)
  22061 * S-RIGHT <8>:                           The date/time prompt.
  22062                                                               (line  84)
  22063 * S-RIGHT <9>:                           The clock table.     (line  29)
  22064 * S-RIGHT <10>:                          Agenda Commands.     (line 312)
  22065 * S-TAB:                                 Global and local cycling.
  22066                                                               (line  20)
  22067 * S-TAB <1>:                             Built-in Table Editor.
  22068                                                               (line  71)
  22069 * S-UP:                                  Plain Lists.         (line  95)
  22070 * S-UP <1>:                              Built-in Table Editor.
  22071                                                               (line 111)
  22072 * S-UP <2>:                              Editing and debugging formulas.
  22073                                                               (line  66)
  22074 * S-UP <3>:                              Priorities.          (line  41)
  22075 * S-UP <4>:                              Creating Timestamps. (line  50)
  22076 * S-UP <5>:                              The date/time prompt.
  22077                                                               (line  84)
  22078 * S-UP <6>:                              Agenda Commands.     (line 285)
  22079 * SPC:                                   Setting Tags.        (line 115)
  22080 * SPC <1>:                               Agenda Commands.     (line  29)
  22081 * t:                                     Agenda Commands.     (line 232)
  22082 * T:                                     Agenda Commands.     (line 271)
  22083 * t (Agenda dispatcher):                 TODO Basics.         (line  46)
  22084 * t (Agenda dispatcher) <1>:             Global TODO list.    (line  10)
  22085 * T (Agenda dispatcher):                 Global TODO list.    (line  18)
  22086 * TAB:                                   Global and local cycling.
  22087                                                               (line  11)
  22088 * TAB <1>:                               Structure Editing.   (line  37)
  22089 * TAB <2>:                               Plain Lists.         (line  70)
  22090 * TAB <3>:                               Built-in Table Editor.
  22091                                                               (line  64)
  22092 * TAB <4>:                               Editing and debugging formulas.
  22093                                                               (line  56)
  22094 * TAB <5>:                               Setting Tags.        (line 108)
  22095 * TAB <6>:                               Agenda Commands.     (line  36)
  22096 * TAB <7>:                               CDLaTeX mode.        (line  29)
  22097 * u:                                     Agenda Commands.     (line 364)
  22098 * U:                                     Agenda Commands.     (line 368)
  22099 * v:                                     Using column view.   (line  53)
  22100 * v a:                                   Agenda Commands.     (line 146)
  22101 * v A:                                   Agenda Commands.     (line 151)
  22102 * v c:                                   Agenda Commands.     (line 166)
  22103 * v d:                                   Agenda Commands.     (line  71)
  22104 * v E:                                   Agenda Commands.     (line 174)
  22105 * v l:                                   Agenda Commands.     (line 131)
  22106 * v L:                                   Agenda Commands.     (line 131)
  22107 * v m:                                   Agenda Commands.     (line  91)
  22108 * v R:                                   Agenda Commands.     (line 154)
  22109 * v SPC:                                 Agenda Commands.     (line 107)
  22110 * v w:                                   Agenda Commands.     (line  81)
  22111 * v y:                                   Agenda Commands.     (line 101)
  22112 * v [:                                   Agenda Commands.     (line 142)
  22113 * w:                                     Agenda Commands.     (line  81)
  22114 * X:                                     Agenda Commands.     (line 340)
  22115 * x:                                     Agenda Commands.     (line 496)
  22116 * z:                                     Agenda Commands.     (line 296)
  22117 
  22118 
  22119 File: org.info,  Node: Command and Function Index,  Next: Variable Index,  Prev: Key Index,  Up: Top
  22120 
  22121 F Command and Function Index
  22122 ****************************
  22123 
  22124   22125 * Menu:
  22126 
  22127 * lisp-complete-symbol:                  Editing and debugging formulas.
  22128                                                               (line  63)
  22129 * next-error:                            Sparse Trees.        (line  32)
  22130 * or-clock-goto:                         Clocking commands.   (line  79)
  22131 * org-agenda:                            Activation.          (line  13)
  22132 * org-agenda-add-note:                   Agenda Commands.     (line 296)
  22133 * org-agenda-archive:                    Agenda Commands.     (line 266)
  22134 * org-agenda-archive-default-with-confirmation: Agenda Commands.
  22135                                                               (line 253)
  22136 * org-agenda-archive-to-archive-sibling: Agenda Commands.     (line 262)
  22137 * org-agenda-archives-mode:              Agenda Commands.     (line 146)
  22138 * org-agenda-bulk-action:                Agenda Commands.     (line 384)
  22139 * org-agenda-bulk-mark:                  Agenda Commands.     (line 354)
  22140 * org-agenda-bulk-mark-all:              Agenda Commands.     (line 360)
  22141 * org-agenda-bulk-mark-regexp:           Agenda Commands.     (line 380)
  22142 * org-agenda-bulk-remove-all-marks:      Agenda Commands.     (line 368)
  22143 * org-agenda-bulk-toggle:                Agenda Commands.     (line 372)
  22144 * org-agenda-bulk-toggle-all:            Agenda Commands.     (line 376)
  22145 * org-agenda-bulk-unmark:                Agenda Commands.     (line 364)
  22146 * org-agenda-capture:                    Agenda Commands.     (line 346)
  22147 * org-agenda-clock-cancel:               Agenda Commands.     (line 340)
  22148 * org-agenda-clock-goto:                 Agenda Commands.     (line 124)
  22149 * org-agenda-clock-goto <1>:             Agenda Commands.     (line 343)
  22150 * org-agenda-clock-in:                   Agenda Commands.     (line 333)
  22151 * org-agenda-clock-out:                  Agenda Commands.     (line 337)
  22152 * org-agenda-clockreport-mode:           Agenda Commands.     (line 154)
  22153 * org-agenda-columns:                    Agenda Commands.     (line 198)
  22154 * org-agenda-columns <1>:                Agenda Column View.  (line  12)
  22155 * org-agenda-convert-date:               Agenda Commands.     (line 482)
  22156 * org-agenda-date-prompt:                Agenda Commands.     (line 329)
  22157 * org-agenda-day-view:                   Agenda Commands.     (line  71)
  22158 * org-agenda-deadline:                   Agenda Commands.     (line 308)
  22159 * org-agenda-diary-entry:                Agenda Commands.     (line 455)
  22160 * org-agenda-do-date-earlier:            Agenda Commands.     (line 325)
  22161 * org-agenda-do-date-later:              Agenda Commands.     (line 312)
  22162 * org-agenda-drag-line-backward:         Agenda Commands.     (line 211)
  22163 * org-agenda-drag-line-forward:          Agenda Commands.     (line 218)
  22164 * org-agenda-earlier:                    Agenda Commands.     (line 115)
  22165 * org-agenda-entry-text-mode:            Agenda Commands.     (line 174)
  22166 * org-agenda-exit:                       Agenda Commands.     (line 496)
  22167 * org-agenda-file-to-front:              Agenda Files.        (line  16)
  22168 * org-agenda-filter:                     Filtering/limiting agenda items.
  22169                                                               (line  73)
  22170 * org-agenda-filter-by-category:         Filtering/limiting agenda items.
  22171                                                               (line  38)
  22172 * org-agenda-filter-by-effort:           Filtering/limiting agenda items.
  22173                                                               (line  49)
  22174 * org-agenda-filter-by-regexp:           Filtering/limiting agenda items.
  22175                                                               (line  44)
  22176 * org-agenda-filter-by-tag:              Filtering/limiting agenda items.
  22177                                                               (line  28)
  22178 * org-agenda-filter-by-top-headline:     Filtering/limiting agenda items.
  22179                                                               (line  68)
  22180 * org-agenda-follow-mode:                Agenda Commands.     (line  42)
  22181 * org-agenda-goto:                       Agenda Commands.     (line  36)
  22182 * org-agenda-goto-calendar:              Agenda Commands.     (line 448)
  22183 * org-agenda-goto-date:                  Agenda Commands.     (line 121)
  22184 * org-agenda-goto-today:                 Agenda Commands.     (line 118)
  22185 * org-agenda-holidays:                   Agenda Commands.     (line 486)
  22186 * org-agenda-kill:                       Agenda Commands.     (line 244)
  22187 * org-agenda-later:                      Agenda Commands.     (line 110)
  22188 * org-agenda-limit-interactively:        Filtering/limiting agenda items.
  22189                                                               (line 165)
  22190 * org-agenda-list:                       Weekly/daily agenda. (line  10)
  22191 * org-agenda-list-stuck-projects:        Stuck projects.      (line  14)
  22192 * org-agenda-log-mode:                   Agenda Commands.     (line 131)
  22193 * org-agenda-manipulate-query-add:       Agenda Commands.     (line 142)
  22194 * org-agenda-month-view:                 Agenda Commands.     (line  91)
  22195 * org-agenda-next-line:                  Agenda Commands.     (line  20)
  22196 * org-agenda-open-link:                  Agenda Commands.     (line  56)
  22197 * org-agenda-phases-of-moon:             Agenda Commands.     (line 473)
  22198 * org-agenda-previous-line:              Agenda Commands.     (line  23)
  22199 * org-agenda-priority:                   Agenda Commands.     (line 280)
  22200 * org-agenda-priority-down:              Agenda Commands.     (line 290)
  22201 * org-agenda-priority-up:                Agenda Commands.     (line 285)
  22202 * org-agenda-quit:                       Agenda Commands.     (line 492)
  22203 * org-agenda-recenter:                   Agenda Commands.     (line  33)
  22204 * org-agenda-redo:                       Agenda Commands.     (line 187)
  22205 * org-agenda-refile:                     Agenda Commands.     (line 250)
  22206 * org-agenda-remove-restriction-lock:    Agenda Files.        (line  52)
  22207 * org-agenda-remove-restriction-lock <1>: Agenda Files.       (line  65)
  22208 * org-agenda-remove-restriction-lock <2>: Agenda Commands.    (line 207)
  22209 * org-agenda-reset-view:                 Agenda Commands.     (line 107)
  22210 * org-agenda-schedule:                   Agenda Commands.     (line 304)
  22211 * org-agenda-set-effort:                 Agenda Commands.     (line 293)
  22212 * org-agenda-set-restriction-lock:       Agenda Files.        (line  43)
  22213 * org-agenda-set-tags:                   Agenda Commands.     (line 276)
  22214 * org-agenda-show-and-scroll-up:         Agenda Commands.     (line  29)
  22215 * org-agenda-show-tags:                  Agenda Commands.     (line 271)
  22216 * org-agenda-skip-entry-if:              Special Agenda Views.
  22217                                                               (line  41)
  22218 * org-agenda-skip-subtree-if:            Special Agenda Views.
  22219                                                               (line  41)
  22220 * org-agenda-sunrise-sunset:             Agenda Commands.     (line 477)
  22221 * org-agenda-switch-to:                  Agenda Commands.     (line  39)
  22222 * org-agenda-todo:                       Agenda Commands.     (line 232)
  22223 * org-agenda-todo-nextset:               Agenda Commands.     (line 238)
  22224 * org-agenda-toggle-archive-tag:         Agenda Commands.     (line 258)
  22225 * org-agenda-toggle-diary:               Agenda Commands.     (line 127)
  22226 * org-agenda-tree-to-indirect-buffer:    Agenda Commands.     (line  49)
  22227 * org-agenda-undo:                       Agenda Commands.     (line 228)
  22228 * org-agenda-week-view:                  Agenda Commands.     (line  81)
  22229 * org-agenda-write:                      Exporting Agenda Views.
  22230                                                               (line  13)
  22231 * org-agenda-year-view:                  Agenda Commands.     (line 101)
  22232 * org-anniversary:                       Timestamps.          (line  36)
  22233 * org-archive-subtree:                   Moving subtrees.     (line  10)
  22234 * org-archive-subtree-default:           Archiving.           (line  12)
  22235 * org-archive-to-archive-sibling:        Internal archiving.  (line  54)
  22236 * org-ascii-convert-region-to-ascii:     Export in Foreign Buffers.
  22237                                                               (line  11)
  22238 * org-ascii-convert-region-to-utf8:      Export in Foreign Buffers.
  22239                                                               (line  14)
  22240 * org-ascii-export-as-ascii:             ASCII/Latin-1/UTF-8 export.
  22241                                                               (line  35)
  22242 * org-ascii-export-to-ascii:             ASCII/Latin-1/UTF-8 export.
  22243                                                               (line  26)
  22244 * org-attach:                            Attachment defaults and dispatcher.
  22245                                                               (line  20)
  22246 * org-attach <1>:                        Agenda Commands.     (line 301)
  22247 * org-attach-attach:                     Attachment defaults and dispatcher.
  22248                                                               (line  25)
  22249 * org-attach-buffer:                     Attachment defaults and dispatcher.
  22250                                                               (line  35)
  22251 * org-attach-dired-to-subtree:           Attach from Dired.   (line   6)
  22252 * org-attach-new:                        Attachment defaults and dispatcher.
  22253                                                               (line  39)
  22254 * org-attach-open:                       Attachment defaults and dispatcher.
  22255                                                               (line  46)
  22256 * org-attach-open-in-emacs:              Attachment defaults and dispatcher.
  22257                                                               (line  52)
  22258 * org-attach-reveal:                     Attachment defaults and dispatcher.
  22259                                                               (line  55)
  22260 * org-attach-reveal-in-emacs:            Attachment defaults and dispatcher.
  22261                                                               (line  58)
  22262 * org-attach-sync:                       Attachment defaults and dispatcher.
  22263                                                               (line  42)
  22264 * org-babel-check-src-block:             Key bindings and Useful Functions.
  22265                                                               (line  20)
  22266 * org-babel-demarcate-block:             Key bindings and Useful Functions.
  22267                                                               (line  20)
  22268 * org-babel-describe-bindings:           Key bindings and Useful Functions.
  22269                                                               (line  20)
  22270 * org-babel-do-key-sequence-in-edit-buffer: Key bindings and Useful Functions.
  22271                                                               (line  20)
  22272 * org-babel-execute-buffer:              Key bindings and Useful Functions.
  22273                                                               (line  20)
  22274 * org-babel-execute-maybe:               Key bindings and Useful Functions.
  22275                                                               (line  20)
  22276 * org-babel-execute-src-block:           Evaluating Code Blocks.
  22277                                                               (line  23)
  22278 * org-babel-execute-src-block <1>:       Key bindings and Useful Functions.
  22279                                                               (line  11)
  22280 * org-babel-execute-subtree:             Key bindings and Useful Functions.
  22281                                                               (line  20)
  22282 * org-babel-expand-src-block:            Noweb Reference Syntax.
  22283                                                               (line 219)
  22284 * org-babel-expand-src-block <1>:        Key bindings and Useful Functions.
  22285                                                               (line  20)
  22286 * org-babel-goto-named-result:           Key bindings and Useful Functions.
  22287                                                               (line  20)
  22288 * org-babel-goto-named-src-block:        Key bindings and Useful Functions.
  22289                                                               (line  20)
  22290 * org-babel-goto-src-block-head:         Key bindings and Useful Functions.
  22291                                                               (line  20)
  22292 * org-babel-insert-header-arg:           Key bindings and Useful Functions.
  22293                                                               (line  20)
  22294 * org-babel-load-in-session:             Key bindings and Useful Functions.
  22295                                                               (line  11)
  22296 * org-babel-load-in-session <1>:         Key bindings and Useful Functions.
  22297                                                               (line  20)
  22298 * org-babel-lob-ingest:                  Library of Babel.    (line  12)
  22299 * org-babel-lob-ingest <1>:              Key bindings and Useful Functions.
  22300                                                               (line  20)
  22301 * org-babel-next-src-block:              Key bindings and Useful Functions.
  22302                                                               (line  20)
  22303 * org-babel-open-src-block-result:       Key bindings and Useful Functions.
  22304                                                               (line  11)
  22305 * org-babel-open-src-block-result <1>:   Key bindings and Useful Functions.
  22306                                                               (line  20)
  22307 * org-babel-pop-to-session:              Key bindings and Useful Functions.
  22308                                                               (line  11)
  22309 * org-babel-previous-src-block:          Key bindings and Useful Functions.
  22310                                                               (line  20)
  22311 * org-babel-sha1-hash:                   Key bindings and Useful Functions.
  22312                                                               (line  20)
  22313 * org-babel-switch-to-session-with-code: Key bindings and Useful Functions.
  22314                                                               (line  20)
  22315 * org-babel-tangle:                      Extracting Source Code.
  22316                                                               (line 121)
  22317 * org-babel-tangle <1>:                  Key bindings and Useful Functions.
  22318                                                               (line  20)
  22319 * org-babel-tangle-file:                 Extracting Source Code.
  22320                                                               (line 126)
  22321 * org-babel-tangle-file <1>:             Key bindings and Useful Functions.
  22322                                                               (line  20)
  22323 * org-babel-tangle-jump-to-org:          Extracting Source Code.
  22324                                                               (line 152)
  22325 * org-babel-view-src-block-info:         Key bindings and Useful Functions.
  22326                                                               (line  20)
  22327 * org-backward-heading-same-level:       Motion.              (line  18)
  22328 * org-batch-agenda:                      Extracting Agenda Information.
  22329                                                               (line  10)
  22330 * org-batch-agenda-csv:                  Extracting Agenda Information.
  22331                                                               (line  41)
  22332 * org-bbdb-anniversaries:                Weekly/daily agenda. (line  78)
  22333 * org-bbdb-anniversaries-future:         Weekly/daily agenda. (line 109)
  22334 * org-beamer-export-as-latex:            Beamer export commands.
  22335                                                               (line  12)
  22336 * org-beamer-export-to-latex:            Beamer export commands.
  22337                                                               (line   7)
  22338 * org-beamer-export-to-pdf:              Beamer export commands.
  22339                                                               (line  16)
  22340 * org-beamer-select-environment:         Editing support.     (line  12)
  22341 * org-block:                             Timestamps.          (line  36)
  22342 * org-buffer-property-keys:              Using the Property API.
  22343                                                               (line  34)
  22344 * org-calendar-goto-agenda:              Agenda Commands.     (line 451)
  22345 * org-capture:                           Activation.          (line  13)
  22346 * org-capture <1>:                       Using capture.       (line   7)
  22347 * org-capture-finalize:                  Using capture.       (line  15)
  22348 * org-capture-kill:                      Using capture.       (line  31)
  22349 * org-capture-refile:                    Using capture.       (line  22)
  22350 * org-check-after-date:                  Inserting deadline/schedule.
  22351                                                               (line  36)
  22352 * org-check-before-date:                 Inserting deadline/schedule.
  22353                                                               (line  33)
  22354 * org-check-deadlines:                   Inserting deadline/schedule.
  22355                                                               (line  26)
  22356 * org-cite-insert:                       Citations.           (line  14)
  22357 * org-clock-cancel:                      Clocking commands.   (line  75)
  22358 * org-clock-display:                     Clocking commands.   (line  84)
  22359 * org-clock-in:                          Clocking commands.   (line   7)
  22360 * org-clock-in-last:                     Clocking commands.   (line  44)
  22361 * org-clock-modify-effort-estimate:      Clocking commands.   (line  50)
  22362 * org-clock-modify-effort-estimate <1>:  Effort Estimates.    (line  24)
  22363 * org-clock-out:                         Clocking commands.   (line  36)
  22364 * org-clock-report:                      The clock table.     (line  11)
  22365 * org-clock-timestamp-down:              Clocking commands.   (line  64)
  22366 * org-clock-timestamp-up:                Clocking commands.   (line  64)
  22367 * org-clock-timestamps-down:             Clocking commands.   (line  59)
  22368 * org-clock-timestamps-up:               Clocking commands.   (line  59)
  22369 * org-clocktable-try-shift:              The clock table.     (line  29)
  22370 * org-clocktable-write-default:          The clock table.     (line 118)
  22371 * org-clone-subtree-with-time-shift:     Structure Editing.   (line  96)
  22372 * org-columns-delete:                    Using column view.   (line  73)
  22373 * org-columns-edit-allowed:              Using column view.   (line  57)
  22374 * org-columns-edit-value:                Using column view.   (line  43)
  22375 * org-columns-insert-dblock:             Capturing column view.
  22376                                                               (line  72)
  22377 * org-columns-narrow:                    Using column view.   (line  67)
  22378 * org-columns-new:                       Using column view.   (line  70)
  22379 * org-columns-next-allowed-value:        Using column view.   (line  39)
  22380 * org-columns-previous-allowed-value:    Using column view.   (line  39)
  22381 * org-columns-quit:                      Using column view.   (line  26)
  22382 * org-columns-redo:                      Using column view.   (line  22)
  22383 * org-columns-show-value:                Using column view.   (line  53)
  22384 * org-columns-toggle-or-columns-quit:    Using column view.   (line  49)
  22385 * org-columns-widen:                     Using column view.   (line  67)
  22386 * org-compute-property-at-point:         Property Syntax.     (line 117)
  22387 * org-copy-subtree:                      Structure Editing.   (line  74)
  22388 * org-copy-visible:                      Global and local cycling.
  22389                                                               (line  65)
  22390 * org-cut-subtree:                       Structure Editing.   (line  70)
  22391 * org-cycle:                             Global and local cycling.
  22392                                                               (line  11)
  22393 * org-cycle <1>:                         Structure Editing.   (line  37)
  22394 * org-cycle <2>:                         Plain Lists.         (line  70)
  22395 * org-cycle-agenda-files:                Agenda Files.        (line  26)
  22396 * org-cyclic:                            Timestamps.          (line  36)
  22397 * org-date:                              Timestamps.          (line  36)
  22398 * org-date-from-calendar:                Creating Timestamps. (line  32)
  22399 * org-dblock-update:                     Capturing column view.
  22400                                                               (line  80)
  22401 * org-dblock-update <1>:                 The clock table.     (line  20)
  22402 * org-dblock-update <2>:                 Dynamic Blocks.      (line  25)
  22403 * org-deadline:                          Inserting deadline/schedule.
  22404                                                               (line  10)
  22405 * org-delete-property:                   Property Syntax.     (line 111)
  22406 * org-delete-property-globally:          Property Syntax.     (line 114)
  22407 * org-demote:                            Using the Mapping API.
  22408                                                               (line  93)
  22409 * org-demote-subtree:                    Structure Editing.   (line  57)
  22410 * org-do-demote:                         Structure Editing.   (line  44)
  22411 * org-do-promote:                        Structure Editing.   (line  44)
  22412 * org-dynamic-block-insert-dblock:       Dynamic Blocks.      (line  10)
  22413 * org-edit-special:                      Literal Examples.    (line 102)
  22414 * org-edit-special <1>:                  Include Files.       (line  63)
  22415 * org-edit-special <2>:                  Cooperation.         (line  59)
  22416 * org-entities-help:                     Special Symbols.     (line  16)
  22417 * org-entry-add-to-multivalued-property: Using the Property API.
  22418                                                               (line  49)
  22419 * org-entry-delete:                      Using the Property API.
  22420                                                               (line  28)
  22421 * org-entry-get:                         Using the Property API.
  22422                                                               (line  19)
  22423 * org-entry-get-multivalued-property:    Using the Property API.
  22424                                                               (line  45)
  22425 * org-entry-member-in-multivalued-property: Using the Property API.
  22426                                                               (line  58)
  22427 * org-entry-properties:                  Using the Property API.
  22428                                                               (line   9)
  22429 * org-entry-put:                         Using the Property API.
  22430                                                               (line  31)
  22431 * org-entry-put-multivalued-property:    Using the Property API.
  22432                                                               (line  40)
  22433 * org-entry-remove-from-multivalued-property: Using the Property API.
  22434                                                               (line  53)
  22435 * org-evaluate-time-range:               Creating Timestamps. (line  62)
  22436 * org-evaluate-time-range <1>:           Clocking commands.   (line  53)
  22437 * org-export:                            The Export Dispatcher.
  22438                                                               (line  16)
  22439 * org-export-define-backend:             Adding Export Back-ends.
  22440                                                               (line  10)
  22441 * org-export-define-derived-backend:     Adding Export Back-ends.
  22442                                                               (line  10)
  22443 * org-export-to-odt:                     ODT export commands. (line   7)
  22444 * org-forward-heading-same-level:        Motion.              (line  15)
  22445 * org-global-cycle:                      Global and local cycling.
  22446                                                               (line  20)
  22447 * org-goto:                              Motion.              (line  24)
  22448 * org-goto-calendar:                     Creating Timestamps. (line  35)
  22449 * org-html-convert-region-to-html:       Export in Foreign Buffers.
  22450                                                               (line  17)
  22451 * org-html-export-as-html:               HTML export commands.
  22452                                                               (line  13)
  22453 * org-html-export-to-html:               HTML export commands.
  22454                                                               (line   7)
  22455 * org-icalendar-combine-agenda-files:    iCalendar Export.    (line  47)
  22456 * org-icalendar-export-agenda-files:     iCalendar Export.    (line  43)
  22457 * org-icalendar-export-to-ics:           iCalendar Export.    (line  39)
  22458 * org-indent-mode:                       Org Indent Mode.     (line   6)
  22459 * org-info-find-node:                    Documentation Access.
  22460                                                               (line   6)
  22461 * org-insert-drawer:                     Drawers.             (line  18)
  22462 * org-insert-drawer <1>:                 Property Syntax.     (line  94)
  22463 * org-insert-heading:                    Plain Lists.         (line  83)
  22464 * org-insert-heading <1>:                Timers.              (line  40)
  22465 * org-insert-heading-respect-content:    Structure Editing.   (line  26)
  22466 * org-insert-link:                       Handling Links.      (line  71)
  22467 * org-insert-link-global:                Using Links Outside Org.
  22468                                                               (line   6)
  22469 * org-insert-property-drawer:            Using the Property API.
  22470                                                               (line  19)
  22471 * org-insert-property-drawer <1>:        Using the Property API.
  22472                                                               (line  37)
  22473 * org-insert-structure-template:         Structure Templates. (line  11)
  22474 * org-insert-todo-heading:               Structure Editing.   (line  29)
  22475 * org-insert-todo-heading <1>:           TODO Basics.         (line  54)
  22476 * org-insert-todo-heading <2>:           Checkboxes.          (line  86)
  22477 * org-insert-todo-heading-respect-content: Structure Editing. (line  33)
  22478 * org-latex-convert-region-to-latex:     Export in Foreign Buffers.
  22479                                                               (line  20)
  22480 * org-latex-export-as-latex:             LaTeX/PDF export commands.
  22481                                                               (line  11)
  22482 * org-latex-export-to-latex~:            LaTeX/PDF export commands.
  22483                                                               (line   7)
  22484 * org-latex-export-to-pdf:               LaTeX/PDF export commands.
  22485                                                               (line  14)
  22486 * org-latex-preview:                     Previewing LaTeX fragments.
  22487                                                               (line  18)
  22488 * org-link-escape:                       Link Format.         (line  25)
  22489 * org-link-set-parameters:               Adding Hyperlink Types.
  22490                                                               (line  74)
  22491 * org-lint:                              Org Syntax.          (line  24)
  22492 * org-list-checkbox-radio-mode:          Checkboxes.          (line  81)
  22493 * org-lookup-all:                        Lookup functions.    (line  23)
  22494 * org-lookup-first:                      Lookup functions.    (line   9)
  22495 * org-lookup-last:                       Lookup functions.    (line  19)
  22496 * org-map-entries:                       Using the Mapping API.
  22497                                                               (line  12)
  22498 * org-mark-ring-goto:                    Handling Links.      (line 146)
  22499 * org-mark-ring-push:                    Handling Links.      (line 141)
  22500 * org-mark-subtree:                      Structure Editing.   (line  66)
  22501 * org-match-sparse-tree:                 Tag Searches.        (line  10)
  22502 * org-match-sparse-tree <1>:             Property Searches.   (line  11)
  22503 * org-md-convert-region-to-md:           Export in Foreign Buffers.
  22504                                                               (line  26)
  22505 * org-md-export-as-markdown:             Markdown Export.     (line  21)
  22506 * org-md-export-to-markdown:             Markdown Export.     (line  17)
  22507 * org-meta-return:                       Structure Editing.   (line   7)
  22508 * org-mobile-pull:                       Pulling from the mobile application.
  22509                                                               (line   6)
  22510 * org-mobile-push:                       Pushing to the mobile application.
  22511                                                               (line   6)
  22512 * org-move-subtree-down:                 Structure Editing.   (line  63)
  22513 * org-move-subtree-up:                   Structure Editing.   (line  60)
  22514 * org-narrow-to-block:                   Structure Editing.   (line 123)
  22515 * org-narrow-to-block <1>:               Dynamic Blocks.      (line  58)
  22516 * org-narrow-to-subtree:                 Structure Editing.   (line 120)
  22517 * org-next-link:                         Handling Links.      (line 153)
  22518 * org-next-visible-heading:              Motion.              (line   9)
  22519 * org-occur:                             Sparse Trees.        (line  20)
  22520 * org-odt-convert:                       Extending ODT export.
  22521                                                               (line  37)
  22522 * org-open-at-point:                     Handling Links.      (line 108)
  22523 * org-open-at-point <1>:                 Creating Timestamps. (line  40)
  22524 * org-open-at-point-global:              Using Links Outside Org.
  22525                                                               (line   6)
  22526 * org-org-export-to-org:                 Org Export.          (line  15)
  22527 * org-paste-subtree:                     Structure Editing.   (line  78)
  22528 * org-previous-link:                     Handling Links.      (line 153)
  22529 * org-previous-visible-heading:          Motion.              (line  12)
  22530 * org-priority:                          Priorities.          (line  33)
  22531 * org-priority <1>:                      Using the Mapping API.
  22532                                                               (line  81)
  22533 * org-priority-down:                     Priorities.          (line  41)
  22534 * org-priority-up:                       Priorities.          (line  41)
  22535 * org-promote:                           Using the Mapping API.
  22536                                                               (line  90)
  22537 * org-promote-subtree:                   Structure Editing.   (line  54)
  22538 * org-property-action:                   Property Syntax.     (line 100)
  22539 * org-protocol-create:                   The open-source protocol.
  22540                                                               (line  67)
  22541 * org-protocol-create-for-org:           The open-source protocol.
  22542                                                               (line  67)
  22543 * org-publish:                           Triggering Publication.
  22544                                                               (line   9)
  22545 * org-publish-all:                       Triggering Publication.
  22546                                                               (line  19)
  22547 * org-publish-current-file:              Triggering Publication.
  22548                                                               (line  16)
  22549 * org-publish-current-project:           Triggering Publication.
  22550                                                               (line  13)
  22551 * org-publish-find-date:                 Site map.            (line  21)
  22552 * org-publish-find-property:             Site map.            (line  21)
  22553 * org-publish-find-title:                Site map.            (line  21)
  22554 * org-refile:                            Structure Editing.   (line 104)
  22555 * org-refile <1>:                        Refile and Copy.     (line  13)
  22556 * org-refile-cache-clear:                Refile and Copy.     (line  46)
  22557 * org-refile-copy:                       Refile and Copy.     (line  51)
  22558 * org-refile-goto-last-stored:           Refile and Copy.     (line  35)
  22559 * org-refile-reverse:                    Refile and Copy.     (line  55)
  22560 * org-remove-file:                       Agenda Files.        (line  22)
  22561 * org-reveal:                            Global and local cycling.
  22562                                                               (line  43)
  22563 * org-save-all-org-buffers:              Agenda Commands.     (line 194)
  22564 * org-schedule:                          Inserting deadline/schedule.
  22565                                                               (line  18)
  22566 * org-search-view:                       Search view.         (line  10)
  22567 * org-set-effort:                        Effort Estimates.    (line  19)
  22568 * org-set-property:                      Property Syntax.     (line  90)
  22569 * org-set-property <1>:                  Property Syntax.     (line 103)
  22570 * org-set-property <2>:                  Using Header Arguments.
  22571                                                               (line  90)
  22572 * org-set-startup-visibility:            Global and local cycling.
  22573                                                               (line  36)
  22574 * org-set-startup-visibility <1>:        Initial visibility.  (line  26)
  22575 * org-set-tags-command:                  Setting Tags.        (line  11)
  22576 * org-show-all:                          Global and local cycling.
  22577                                                               (line  40)
  22578 * org-show-branches:                     Global and local cycling.
  22579                                                               (line  52)
  22580 * org-show-children:                     Global and local cycling.
  22581                                                               (line  55)
  22582 * org-show-todo-tree:                    TODO Basics.         (line  35)
  22583 * org-sort:                              Structure Editing.   (line 108)
  22584 * org-sparse-tree:                       Sparse Trees.        (line  16)
  22585 * org-speed-command-help:                Speed Keys.          (line  18)
  22586 * org-speedbar-set-agenda-restriction:   Agenda Files.        (line  58)
  22587 * org-store-agenda-views:                Exporting Agenda Views.
  22588                                                               (line  53)
  22589 * org-store-link:                        Activation.          (line  13)
  22590 * org-store-link <1>:                    Handling Links.      (line   9)
  22591 * org-submit-bug-report:                 Feedback.            (line  17)
  22592 * org-switchb:                           Agenda Files.        (line  29)
  22593 * org-table-align:                       Built-in Table Editor.
  22594                                                               (line  61)
  22595 * org-table-align <1>:                   Column Width and Alignment.
  22596                                                               (line  17)
  22597 * org-table-beginning-of-field:          Built-in Table Editor.
  22598                                                               (line  79)
  22599 * org-table-blank-field:                 Built-in Table Editor.
  22600                                                               (line  68)
  22601 * org-table-copy-down:                   Built-in Table Editor.
  22602                                                               (line 187)
  22603 * org-table-copy-region:                 Built-in Table Editor.
  22604                                                               (line 152)
  22605 * org-table-create-or-convert-from-region: Built-in Table Editor.
  22606                                                               (line  43)
  22607 * org-table-create-or-convert-from-region <1>: Built-in Table Editor.
  22608                                                               (line 222)
  22609 * org-table-create-with-table.el:        Cooperation.         (line  63)
  22610 * org-table-cut-region:                  Built-in Table Editor.
  22611                                                               (line 158)
  22612 * org-table-delete-column:               Built-in Table Editor.
  22613                                                               (line  95)
  22614 * org-table-edit-field:                  Built-in Table Editor.
  22615                                                               (line 203)
  22616 * org-table-edit-formulas:               Editing and debugging formulas.
  22617                                                               (line  37)
  22618 * org-table-end-of-field:                Built-in Table Editor.
  22619                                                               (line  83)
  22620 * org-table-eval-formula:                Field and range formulas.
  22621                                                               (line  28)
  22622 * org-table-eval-formula <1>:            Column formulas.     (line  33)
  22623 * org-table-eval-formula <2>:            Editing and debugging formulas.
  22624                                                               (line  14)
  22625 * org-table-eval-formula <3>:            Editing and debugging formulas.
  22626                                                               (line  19)
  22627 * org-table-expand:                      Column Width and Alignment.
  22628                                                               (line  57)
  22629 * org-table-export:                      Built-in Table Editor.
  22630                                                               (line 227)
  22631 * org-table-fedit-abort:                 Editing and debugging formulas.
  22632                                                               (line  49)
  22633 * org-table-fedit-finish:                Editing and debugging formulas.
  22634                                                               (line  45)
  22635 * org-table-fedit-line-down:             Editing and debugging formulas.
  22636                                                               (line  74)
  22637 * org-table-fedit-line-up:               Editing and debugging formulas.
  22638                                                               (line  71)
  22639 * org-table-fedit-lisp-indent:           Editing and debugging formulas.
  22640                                                               (line  56)
  22641 * org-table-fedit-ref-down:              Editing and debugging formulas.
  22642                                                               (line  66)
  22643 * org-table-fedit-ref-left:              Editing and debugging formulas.
  22644                                                               (line  66)
  22645 * org-table-fedit-ref-right:             Editing and debugging formulas.
  22646                                                               (line  66)
  22647 * org-table-fedit-ref-up:                Editing and debugging formulas.
  22648                                                               (line  66)
  22649 * org-table-fedit-scroll-down:           Editing and debugging formulas.
  22650                                                               (line  80)
  22651 * org-table-fedit-scroll-up:             Editing and debugging formulas.
  22652                                                               (line  77)
  22653 * org-table-fedit-toggle-ref-type:       Editing and debugging formulas.
  22654                                                               (line  52)
  22655 * org-table-field-info:                  Editing and debugging formulas.
  22656                                                               (line  25)
  22657 * org-table-header-line-mode:            Built-in Table Editor.
  22658                                                               (line 238)
  22659 * org-table-hline-and-move:              Built-in Table Editor.
  22660                                                               (line 131)
  22661 * org-table-import:                      Built-in Table Editor.
  22662                                                               (line 213)
  22663 * org-table-insert-column:               Built-in Table Editor.
  22664                                                               (line  98)
  22665 * org-table-insert-hline:                Built-in Table Editor.
  22666                                                               (line 127)
  22667 * org-table-insert-row:                  Built-in Table Editor.
  22668                                                               (line 123)
  22669 * org-table-iterate:                     Updating the table.  (line  24)
  22670 * org-table-iterate-buffer-tables:       Updating the table.  (line  32)
  22671 * org-table-kill-row:                    Built-in Table Editor.
  22672                                                               (line 108)
  22673 * org-table-move-cell-down:              Built-in Table Editor.
  22674                                                               (line 114)
  22675 * org-table-move-cell-left:              Built-in Table Editor.
  22676                                                               (line 117)
  22677 * org-table-move-cell-right:             Built-in Table Editor.
  22678                                                               (line 120)
  22679 * org-table-move-cell-up:                Built-in Table Editor.
  22680                                                               (line 111)
  22681 * org-table-move-column-left:            Built-in Table Editor.
  22682                                                               (line  89)
  22683 * org-table-move-column-right:           Built-in Table Editor.
  22684                                                               (line  92)
  22685 * org-table-move-row-down:               Built-in Table Editor.
  22686                                                               (line 105)
  22687 * org-table-move-row-up:                 Built-in Table Editor.
  22688                                                               (line 102)
  22689 * org-table-next-field:                  Built-in Table Editor.
  22690                                                               (line  64)
  22691 * org-table-next-row:                    Built-in Table Editor.
  22692                                                               (line  74)
  22693 * org-table-paste-rectangle:             Built-in Table Editor.
  22694                                                               (line 162)
  22695 * org-table-previous-field:              Built-in Table Editor.
  22696                                                               (line  71)
  22697 * org-table-recalculate:                 Updating the table.  (line  14)
  22698 * org-table-recalculate-buffer-tables:   Updating the table.  (line  29)
  22699 * org-table-rotate-recalc-marks:         Advanced features.   (line  11)
  22700 * org-table-shrink:                      Column Width and Alignment.
  22701                                                               (line  54)
  22702 * org-table-sort-lines:                  Built-in Table Editor.
  22703                                                               (line 135)
  22704 * org-table-sum:                         Built-in Table Editor.
  22705                                                               (line 182)
  22706 * org-table-toggle-column-width:         Column Width and Alignment.
  22707                                                               (line  44)
  22708 * org-table-toggle-coordinate-overlays:  Editing and debugging formulas.
  22709                                                               (line  29)
  22710 * org-table-toggle-coordinate-overlays <1>: Editing and debugging formulas.
  22711                                                               (line  83)
  22712 * org-table-toggle-formula-debugger:     Editing and debugging formulas.
  22713                                                               (line  34)
  22714 * org-table-transpose-table-at-point:    Built-in Table Editor.
  22715                                                               (line 244)
  22716 * org-table-wrap-region:                 Built-in Table Editor.
  22717                                                               (line 169)
  22718 * org-tags-view:                         Tag Searches.        (line  15)
  22719 * org-tags-view <1>:                     Property Searches.   (line  15)
  22720 * org-tags-view <2>:                     Matching tags and properties.
  22721                                                               (line  13)
  22722 * org-tags-view <3>:                     Matching tags and properties.
  22723                                                               (line  21)
  22724 * org-texinfo-convert-region-to-texinfo: Export in Foreign Buffers.
  22725                                                               (line  23)
  22726 * org-texinfo-export-to-info:            Texinfo export commands.
  22727                                                               (line  11)
  22728 * org-texinfo-export-to-texinfo:         Texinfo export commands.
  22729                                                               (line   7)
  22730 * org-time-stamp:                        Creating Timestamps. (line  11)
  22731 * org-time-stamp-inactive:               Creating Timestamps. (line  25)
  22732 * org-timer:                             Timers.              (line  32)
  22733 * org-timer-item:                        Timers.              (line  36)
  22734 * org-timer-pause-or-continue:           Timers.              (line  44)
  22735 * org-timer-set-timer:                   Timers.              (line  23)
  22736 * org-timer-start:                       Timers.              (line  13)
  22737 * org-timer-stop:                        Timers.              (line  47)
  22738 * org-timestamp-down-day:                Creating Timestamps. (line  45)
  22739 * org-timestamp-up-day:                  Creating Timestamps. (line  45)
  22740 * org-todo:                              Clocking commands.   (line  71)
  22741 * org-todo <1>:                          Using the Mapping API.
  22742                                                               (line  77)
  22743 * org-todo-list:                         Global TODO list.    (line  10)
  22744 * org-todo-list <1>:                     Global TODO list.    (line  18)
  22745 * org-toggle-archive-tag:                Internal archiving.  (line  39)
  22746 * org-toggle-checkbox:                   Checkboxes.          (line  52)
  22747 * org-toggle-comment:                    Comment Lines.       (line  20)
  22748 * org-toggle-heading:                    Structure Editing.   (line 129)
  22749 * org-toggle-inline-images:              Images.              (line  24)
  22750 * org-toggle-ordered-property:           TODO dependencies.   (line  38)
  22751 * org-toggle-ordered-property <1>:       Checkboxes.          (line  90)
  22752 * org-toggle-pretty-entities:            Subscripts and Superscripts.
  22753                                                               (line  27)
  22754 * org-toggle-pretty-entities <1>:        Special Symbols.     (line  31)
  22755 * org-toggle-radio-button:               Checkboxes.          (line  75)
  22756 * org-toggle-sticky-agenda:              Agenda Dispatcher.   (line  55)
  22757 * org-toggle-tag:                        Using the Mapping API.
  22758                                                               (line  85)
  22759 * org-toggle-tags-groups:                Tag Hierarchy.       (line  87)
  22760 * org-toggle-time-stamp-overlays:        Custom time format.  (line  13)
  22761 * org-tree-to-indirect-buffer:           Global and local cycling.
  22762                                                               (line  59)
  22763 * org-update-statistics-cookies:         Checkboxes.          (line  98)
  22764 * org-version:                           Feedback.            (line  17)
  22765 * org-yank:                              Structure Editing.   (line  84)
  22766 * orgtbl-ascii-draw:                     Org Plot.            (line 144)
  22767 * orgtbl-mode:                           Orgtbl Mode.         (line   6)
  22768 * orgtbl-to-csv:                         Translator functions.
  22769                                                               (line   6)
  22770 * orgtbl-to-generic:                     Translator functions.
  22771                                                               (line   6)
  22772 * orgtbl-to-html:                        Translator functions.
  22773                                                               (line   6)
  22774 * orgtbl-to-latex:                       Translator functions.
  22775                                                               (line   6)
  22776 * orgtbl-to-orgtbl:                      Translator functions.
  22777                                                               (line   6)
  22778 * orgtbl-to-texinfo:                     Translator functions.
  22779                                                               (line   6)
  22780 * orgtbl-to-tsv:                         Translator functions.
  22781                                                               (line   6)
  22782 * orgtbl-to-unicode:                     Translator functions.
  22783                                                               (line   6)
  22784 * outline-up-heading:                    Motion.              (line  21)
  22785 * pcomplete:                             Property Syntax.     (line  86)
  22786 * previous-error:                        Sparse Trees.        (line  35)
  22787 * widen:                                 Structure Editing.   (line 126)
  22788 
  22789 
  22790 File: org.info,  Node: Variable Index,  Prev: Command and Function Index,  Up: Top
  22791 
  22792 G Variable Index
  22793 ****************
  22794 
  22795 This is not a complete index of variables and faces, only the ones that
  22796 are mentioned in the manual.  For a more complete list, use ‘M-x
  22797 org-customize’ and then click yourself through the tree.
  22798 
  22799   22800 * Menu:
  22801 
  22802 * cdlatex-simplify-sub-super-scripts:    CDLaTeX mode.        (line  43)
  22803 * constants-unit-system:                 References.          (line 121)
  22804 * constants-unit-system <1>:             In-buffer Settings.  (line 152)
  22805 * LaTeX-verbatim-environments:           A LaTeX example.     (line  19)
  22806 * org-adapt-indentation:                 Hard indentation.    (line  16)
  22807 * org-agenda-auto-exclude-function:      Filtering/limiting agenda items.
  22808                                                               (line  99)
  22809 * org-agenda-bulk-custom-functions:      Agenda Commands.     (line 353)
  22810 * org-agenda-bulk-custom-functions <1>:  Agenda Commands.     (line 432)
  22811 * org-agenda-bulk-persistent-marks:      Agenda Commands.     (line 384)
  22812 * org-agenda-category-filter-preset:     Filtering/limiting agenda items.
  22813                                                               (line   6)
  22814 * org-agenda-category-icon-alist:        Categories.          (line  16)
  22815 * org-agenda-clock-consistency-checks:   Agenda Commands.     (line 166)
  22816 * org-agenda-columns-add-appointments-to-effort-sum: Effort Estimates.
  22817                                                               (line  45)
  22818 * org-agenda-confirm-kill:               Agenda Commands.     (line 244)
  22819 * org-agenda-custom-commands:            Sparse Trees.        (line  37)
  22820 * org-agenda-custom-commands <1>:        Storing searches.    (line  11)
  22821 * org-agenda-custom-commands <2>:        Setting options.     (line   6)
  22822 * org-agenda-custom-commands <3>:        Extracting Agenda Information.
  22823                                                               (line  10)
  22824 * org-agenda-custom-commands-contexts:   Setting options.     (line  59)
  22825 * org-agenda-diary-file:                 Agenda Commands.     (line 461)
  22826 * org-agenda-dim-blocked-tasks:          TODO dependencies.   (line  48)
  22827 * org-agenda-dim-blocked-tasks <1>:      Speeding Up Your Agendas.
  22828                                                               (line  15)
  22829 * org-agenda-effort-filter-preset:       Filtering/limiting agenda items.
  22830                                                               (line   6)
  22831 * org-agenda-entry-text-maxlines:        Agenda Commands.     (line 174)
  22832 * org-agenda-exporter-settings:          Exporting Agenda Views.
  22833                                                               (line  14)
  22834 * org-agenda-exporter-settings <1>:      Exporting Agenda Views.
  22835                                                               (line  68)
  22836 * org-agenda-files:                      Agenda Files.        (line   6)
  22837 * org-agenda-files <1>:                  Sorting of agenda items.
  22838                                                               (line   9)
  22839 * org-agenda-ignore-properties:          Speeding Up Your Agendas.
  22840                                                               (line  27)
  22841 * org-agenda-inhibit-startup:            Speeding Up Your Agendas.
  22842                                                               (line  19)
  22843 * org-agenda-log-mode-items:             Agenda Commands.     (line 131)
  22844 * org-agenda-loop-over-headlines-in-active-region: Execute commands in the active region.
  22845                                                               (line  13)
  22846 * org-agenda-max-effort:                 Filtering/limiting agenda items.
  22847                                                               (line 136)
  22848 * org-agenda-max-entries:                Filtering/limiting agenda items.
  22849                                                               (line 133)
  22850 * org-agenda-max-tags:                   Filtering/limiting agenda items.
  22851                                                               (line 142)
  22852 * org-agenda-max-todos:                  Filtering/limiting agenda items.
  22853                                                               (line 139)
  22854 * org-agenda-overriding-header:          Special Agenda Views.
  22855                                                               (line  38)
  22856 * org-agenda-prefix-format:              Presentation and Sorting.
  22857                                                               (line   6)
  22858 * org-agenda-regexp-filter-preset:       Filtering/limiting agenda items.
  22859                                                               (line   6)
  22860 * org-agenda-restore-windows-after-quit: Agenda Views.        (line  42)
  22861 * org-agenda-search-headline-for-time:   Time-of-day specifications.
  22862                                                               (line  16)
  22863 * org-agenda-show-inherited-tags:        Agenda Commands.     (line 271)
  22864 * org-agenda-show-inherited-tags <1>:    Speeding Up Your Agendas.
  22865                                                               (line  23)
  22866 * org-agenda-skip-archived-trees:        Internal archiving.  (line  23)
  22867 * org-agenda-skip-archived-trees <1>:    Agenda Views.        (line  37)
  22868 * org-agenda-skip-comment-trees:         Agenda Views.        (line  37)
  22869 * org-agenda-skip-deadline-prewarning-if-scheduled: Deadlines and Scheduling.
  22870                                                               (line  24)
  22871 * org-agenda-skip-function:              Special Agenda Views.
  22872                                                               (line   6)
  22873 * org-agenda-skip-function <1>:          Special Agenda Views.
  22874                                                               (line  41)
  22875 * org-agenda-skip-function <2>:          Using the Mapping API.
  22876                                                               (line  69)
  22877 * org-agenda-skip-function-global:       Special Agenda Views.
  22878                                                               (line   6)
  22879 * org-agenda-skip-scheduled-delay-if-deadline: Deadlines and Scheduling.
  22880                                                               (line  42)
  22881 * org-agenda-skip-scheduled-if-deadline-is-shown: Repeated tasks.
  22882                                                               (line  80)
  22883 * org-agenda-skip-scheduled-if-done:     Deadlines and Scheduling.
  22884                                                               (line  34)
  22885 * org-agenda-sorting-strategy:           Sorting of agenda items.
  22886                                                               (line  28)
  22887 * org-agenda-span:                       Weekly/daily agenda. (line  15)
  22888 * org-agenda-span <1>:                   Agenda Commands.     (line 107)
  22889 * org-agenda-start-day:                  Weekly/daily agenda. (line  15)
  22890 * org-agenda-start-on-weekday:           Weekly/daily agenda. (line  15)
  22891 * org-agenda-start-with-clockreport-mode: Agenda Commands.    (line 154)
  22892 * org-agenda-start-with-entry-text-mode: Agenda Commands.     (line 174)
  22893 * org-agenda-start-with-follow-mode:     Agenda Commands.     (line  42)
  22894 * org-agenda-sticky:                     Agenda Dispatcher.   (line  55)
  22895 * org-agenda-tag-filter-preset:          Filtering/limiting agenda items.
  22896                                                               (line   6)
  22897 * org-agenda-tags-column:                Presentation and Sorting.
  22898                                                               (line   6)
  22899 * org-agenda-tags-todo-honor-ignore-options: Matching tags and properties.
  22900                                                               (line  21)
  22901 * org-agenda-text-search-extra-files:    Agenda Dispatcher.   (line  30)
  22902 * org-agenda-text-search-extra-files <1>: Search view.        (line  34)
  22903 * org-agenda-time-grid:                  Time-of-day specifications.
  22904                                                               (line  46)
  22905 * org-agenda-time-grid <1>:              Agenda Commands.     (line 182)
  22906 * org-agenda-todo-ignore-deadlines:      Global TODO list.    (line  42)
  22907 * org-agenda-todo-ignore-scheduled:      Global TODO list.    (line  42)
  22908 * org-agenda-todo-ignore-timestamp:      Global TODO list.    (line  42)
  22909 * org-agenda-todo-ignore-with-date:      Global TODO list.    (line  42)
  22910 * org-agenda-todo-list-sublevels:        Breaking Down Tasks. (line   6)
  22911 * org-agenda-todo-list-sublevels <1>:    Global TODO list.    (line  53)
  22912 * org-agenda-use-tag-inheritance:        Tag Inheritance.     (line  32)
  22913 * org-agenda-use-tag-inheritance <1>:    Speeding Up Your Agendas.
  22914                                                               (line  23)
  22915 * org-agenda-use-time-grid:              Time-of-day specifications.
  22916                                                               (line  46)
  22917 * org-agenda-use-time-grid <1>:          Agenda Commands.     (line 182)
  22918 * org-agenda-window-setup:               Agenda Views.        (line  42)
  22919 * org-alphabetical-lists:                Plain Lists.         (line  15)
  22920 * org-archive-default-command:           Archiving.           (line  12)
  22921 * org-archive-default-command <1>:       Agenda Commands.     (line 253)
  22922 * org-archive-location:                  Moving subtrees.     (line  10)
  22923 * org-archive-location <1>:              In-buffer Settings.  (line  16)
  22924 * org-archive-save-context-info:         Moving subtrees.     (line  41)
  22925 * org-archive-subtree-save-file-p:       Moving subtrees.     (line  47)
  22926 * org-ascii-links-to-notes:              ASCII/Latin-1/UTF-8 export.
  22927                                                               (line  16)
  22928 * org-ascii-text-width:                  ASCII/Latin-1/UTF-8 export.
  22929                                                               (line  13)
  22930 * org-attach-archive-delete:             Attachment options.  (line  60)
  22931 * org-attach-auto-tag:                   Attachment options.  (line  64)
  22932 * org-attach-commands:                   Attachment options.  (line  85)
  22933 * org-attach-dir-relative:               Attachment options.  (line  13)
  22934 * org-attach-expert:                     Attachment options.  (line  88)
  22935 * org-attach-id-dir:                     Attachment options.  (line   9)
  22936 * org-attach-id-to-path-function-list:   Attachment options.  (line  68)
  22937 * org-attach-method:                     Attachment defaults and dispatcher.
  22938                                                               (line  25)
  22939 * org-attach-method <1>:                 Attachment options.  (line  49)
  22940 * org-attach-preferred-new-method:       Attachment options.  (line  55)
  22941 * org-attach-store-link-p:               Attachment options.  (line  77)
  22942 * org-attach-use-inheritance:            Attachment options.  (line  18)
  22943 * org-babel-default-header-args:         Using Header Arguments.
  22944                                                               (line  19)
  22945 * org-babel-default-header-args <1>:     Using Header Arguments.
  22946                                                               (line  19)
  22947 * org-babel-default-inline-header-args:  Using Header Arguments.
  22948                                                               (line  31)
  22949 * org-babel-inline-result-wrap:          Evaluating Code Blocks.
  22950                                                               (line  28)
  22951 * org-babel-load-languages:              Languages.           (line  10)
  22952 * org-babel-post-tangle-hook:            Extracting Source Code.
  22953                                                               (line 142)
  22954 * org-babel-pre-tangle-hook:             Extracting Source Code.
  22955                                                               (line 132)
  22956 * org-babel-tangle-body-hook:            Extracting Source Code.
  22957                                                               (line 136)
  22958 * org-babel-tangle-finished-hook:        Extracting Source Code.
  22959                                                               (line 147)
  22960 * org-beamer-environments-default:       Frames and Blocks in Beamer.
  22961                                                               (line  25)
  22962 * org-beamer-environments-extra:         Frames and Blocks in Beamer.
  22963                                                               (line  25)
  22964 * org-beamer-frame-level:                Frames and Blocks in Beamer.
  22965                                                               (line  10)
  22966 * org-beamer-theme:                      Beamer specific export settings.
  22967                                                               (line  11)
  22968 * org-calc-default-modes:                Formula syntax for Calc.
  22969                                                               (line  17)
  22970 * org-capture-bookmark:                  Using capture.       (line  48)
  22971 * org-capture-last-stored:               Using capture.       (line  48)
  22972 * org-capture-templates:                 Capture templates.   (line  11)
  22973 * org-capture-templates-contexts:        Templates in contexts.
  22974                                                               (line   6)
  22975 * org-capture-use-agenda-date:           Agenda Commands.     (line 346)
  22976 * org-clock-auto-clockout-timer:         Resolving idle time. (line  91)
  22977 * org-clock-continuously:                Clocking commands.   (line   7)
  22978 * org-clock-continuously <1>:            Clocking commands.   (line  44)
  22979 * org-clock-continuously <2>:            Resolving idle time. (line  78)
  22980 * org-clock-display-default-range:       The clock table.     (line  80)
  22981 * org-clock-idle-time:                   Resolving idle time. (line  14)
  22982 * org-clock-in-prepare-hook:             Clocking commands.   (line  21)
  22983 * org-clock-into-drawer:                 Clocking commands.   (line   7)
  22984 * org-clock-mode-line-total:             Clocking commands.   (line  21)
  22985 * org-clock-persist:                     Clocking Work Time.  (line  19)
  22986 * org-clock-report-include-clocking-task: Agenda Commands.    (line 154)
  22987 * org-clock-x11idle-program-name:        Resolving idle time. (line  14)
  22988 * org-clocktable-defaults:               The clock table.     (line  39)
  22989 * org-closed-keep-when-no-todo:          Closing items.       (line  11)
  22990 * org-coderef-label-format:              Literal Examples.    (line  88)
  22991 * org-columns:                           Using column view.   (line  10)
  22992 * org-columns-default-format:            Using column view.   (line  10)
  22993 * org-columns-default-format <1>:        Effort Estimates.    (line  35)
  22994 * org-columns-default-format <2>:        Agenda Commands.     (line 198)
  22995 * org-columns-default-format <3>:        Agenda Column View.  (line  19)
  22996 * org-columns-default-format-for-agenda: Agenda Column View.  (line  19)
  22997 * org-columns-skip-archived-trees:       Internal archiving.  (line  33)
  22998 * org-columns-summary-types:             Column attributes.   (line  51)
  22999 * org-complete-tags-always-offer-all-agenda-tags: Setting Tags.
  23000                                                               (line  22)
  23001 * org-confirm-babel-evaluate:            Code Evaluation Security.
  23002                                                               (line  25)
  23003 * org-create-file-search-functions:      Custom Searches.     (line  12)
  23004 * org-crypt-tag-matcher:                 Org Crypt.           (line  11)
  23005 * org-ctrl-k-protect-subtree:            Headlines.           (line   6)
  23006 * org-cycle-emulate-tab:                 Global and local cycling.
  23007                                                               (line  16)
  23008 * org-cycle-global-at-bob:               Global and local cycling.
  23009                                                               (line  31)
  23010 * org-cycle-include-plain-lists:         Plain Lists.         (line  70)
  23011 * org-cycle-inline-images-display:       Images.              (line  45)
  23012 * org-cycle-open-archived-trees:         Internal archiving.  (line  13)
  23013 * org-cycle-separator-lines:             Headlines.           (line  29)
  23014 * org-deadline-warning-days:             Deadlines and Scheduling.
  23015                                                               (line  14)
  23016 * org-deadline-warning-days <1>:         Inserting deadline/schedule.
  23017                                                               (line  26)
  23018 * org-default-notes-file:                Setting up capture.  (line   8)
  23019 * org-default-notes-file <1>:            Template elements.   (line  50)
  23020 * org-directory:                         Template elements.   (line  50)
  23021 * org-display-custom-times:              Custom time format.  (line   6)
  23022 * org-disputed-keys:                     Conflicts.           (line  27)
  23023 * org-done, face:                        Faces for TODO keywords.
  23024                                                               (line   6)
  23025 * org-edit-src-auto-save-idle-delay:     Editing Source Code. (line  11)
  23026 * org-effort-property:                   Effort Estimates.    (line   6)
  23027 * org-enforce-todo-dependencies:         TODO dependencies.   (line   6)
  23028 * org-enforce-todo-dependencies <1>:     TODO dependencies.   (line  53)
  23029 * org-entities-user:                     Special Symbols.     (line  16)
  23030 * org-execute-file-search-functions:     Custom Searches.     (line  12)
  23031 * org-export-allow-bind-keywords:        Export Settings.     (line 210)
  23032 * org-export-async-init-file:            The Export Dispatcher.
  23033                                                               (line  42)
  23034 * org-export-backends:                   Exporting.           (line  33)
  23035 * org-export-before-parsing-hook:        Advanced Export Configuration.
  23036                                                               (line   9)
  23037 * org-export-before-processing-hook:     Advanced Export Configuration.
  23038                                                               (line   9)
  23039 * org-export-creator-string:             HTML preamble and postamble.
  23040                                                               (line   6)
  23041 * org-export-date-timestamp-format:      Export Settings.     (line  32)
  23042 * org-export-default-language:           Export Settings.     (line  38)
  23043 * org-export-default-language <1>:       LaTeX header and sectioning.
  23044                                                               (line  47)
  23045 * org-export-dispatch-use-expert-ui:     The Export Dispatcher.
  23046                                                               (line  10)
  23047 * org-export-exclude-tags:               Export Settings.     (line  52)
  23048 * org-export-global-macros:              Macro Replacement.   (line   6)
  23049 * org-export-headline-levels:            Export Settings.     (line 141)
  23050 * org-export-html-table-tag:             Tables in HTML export.
  23051                                                               (line   6)
  23052 * org-export-html-tag-class-prefix:      CSS support.         (line   6)
  23053 * org-export-html-todo-kwd-class-prefix: CSS support.         (line   6)
  23054 * org-export-html-use-infojs:            JavaScript support.  (line  70)
  23055 * org-export-in-background:              The Export Dispatcher.
  23056                                                               (line  39)
  23057 * org-export-initial-scope:              The Export Dispatcher.
  23058                                                               (line  60)
  23059 * org-export-odt-convert-capabilities:   Advanced topics in ODT export.
  23060                                                               (line  22)
  23061 * org-export-odt-convert-process:        Advanced topics in ODT export.
  23062                                                               (line  28)
  23063 * org-export-odt-convert-processes:      Advanced topics in ODT export.
  23064                                                               (line  17)
  23065 * org-export-odt-preferred-output-format: ODT export commands.
  23066                                                               (line  25)
  23067 * org-export-odt-schema-dir:             Advanced topics in ODT export.
  23068                                                               (line 269)
  23069 * org-export-preserve-breaks:            Export Settings.     (line  93)
  23070 * org-export-select-tags:                Export Settings.     (line  44)
  23071 * org-export-time-stamp-file:            Export Settings.     (line 187)
  23072 * org-export-time-stamp-file <1>:        HTML preamble and postamble.
  23073                                                               (line   6)
  23074 * org-export-use-babel:                  Exporting Code Blocks.
  23075                                                               (line  66)
  23076 * org-export-with-archived-trees:        Internal archiving.  (line  29)
  23077 * org-export-with-archived-trees <1>:    Export Settings.     (line 102)
  23078 * org-export-with-author:                Export Settings.     (line 107)
  23079 * org-export-with-broken-links:          Export Settings.     (line 111)
  23080 * org-export-with-clocks:                Export Settings.     (line 116)
  23081 * org-export-with-creator:               Export Settings.     (line 119)
  23082 * org-export-with-date:                  Export Settings.     (line 127)
  23083 * org-export-with-drawers:               Export Settings.     (line 123)
  23084 * org-export-with-email:                 Export Settings.     (line 134)
  23085 * org-export-with-emphasize:             Export Settings.     (line  79)
  23086 * org-export-with-entities:              Export Settings.     (line 131)
  23087 * org-export-with-fixed-width:           Export Settings.     (line  86)
  23088 * org-export-with-footnotes:             Export Settings.     (line 138)
  23089 * org-export-with-inlinetasks:           Export Settings.     (line 146)
  23090 * org-export-with-latex:                 LaTeX fragments.     (line  38)
  23091 * org-export-with-latex <1>:             Export Settings.     (line 183)
  23092 * org-export-with-planning:              Export Settings.     (line 157)
  23093 * org-export-with-priority:              Export Settings.     (line 163)
  23094 * org-export-with-properties:            Export Settings.     (line 166)
  23095 * org-export-with-section-numbers:       Export Settings.     (line 149)
  23096 * org-export-with-smart-quotes:          Export Settings.     (line  73)
  23097 * org-export-with-special-strings:       Export Settings.     (line  82)
  23098 * org-export-with-statistics-cookies:    Export Settings.     (line 170)
  23099 * org-export-with-sub-superscripts:      Export Settings.     (line  97)
  23100 * org-export-with-tables:                Export Settings.     (line 202)
  23101 * org-export-with-tags:                  Export Settings.     (line 174)
  23102 * org-export-with-tasks:                 Export Settings.     (line 178)
  23103 * org-export-with-timestamps:            Export Settings.     (line  89)
  23104 * org-export-with-title:                 Export Settings.     (line 191)
  23105 * org-export-with-toc:                   Export Settings.     (line 194)
  23106 * org-export-with-toc <1>:               Table of Contents.   (line   6)
  23107 * org-export-with-todo-keywords:         Export Settings.     (line 198)
  23108 * org-expot-creator-string:              Export Settings.     (line  28)
  23109 * org-faces-easy-properties:             Faces for TODO keywords.
  23110                                                               (line  17)
  23111 * org-fast-tag-selection-include-todo:   Fast access to TODO states.
  23112                                                               (line  16)
  23113 * org-fast-tag-selection-single-key:     Setting Tags.        (line 142)
  23114 * org-file-apps:                         Handling Links.      (line 108)
  23115 * org-file-apps <1>:                     Attachment defaults and dispatcher.
  23116                                                               (line  46)
  23117 * org-fold-catch-invisible-edits:        Catching invisible edits.
  23118                                                               (line   6)
  23119 * org-fontify-emphasized-text:           Emphasis and Monospace.
  23120                                                               (line  11)
  23121 * org-footnote-auto-adjust:              Creating Footnotes.  (line  60)
  23122 * org-footnote-auto-adjust <1>:          In-buffer Settings.  (line 158)
  23123 * org-footnote-auto-label:               Creating Footnotes.  (line  32)
  23124 * org-footnote-auto-label <1>:           In-buffer Settings.  (line 158)
  23125 * org-footnote-define-inline:            Creating Footnotes.  (line  45)
  23126 * org-footnote-define-inline <1>:        In-buffer Settings.  (line 158)
  23127 * org-footnote-section:                  Headlines.           (line  18)
  23128 * org-footnote-section <1>:              Creating Footnotes.  (line  45)
  23129 * org-format-latex-header:               LaTeX fragments.     (line   6)
  23130 * org-format-latex-header <1>:           Previewing LaTeX fragments.
  23131                                                               (line  12)
  23132 * org-format-latex-options:              Previewing LaTeX fragments.
  23133                                                               (line  12)
  23134 * org-global-properties:                 Property Syntax.     (line  80)
  23135 * org-global-properties <1>:             Effort Estimates.    (line  35)
  23136 * org-goto-auto-isearch:                 Motion.              (line  24)
  23137 * org-goto-interface:                    Motion.              (line  41)
  23138 * org-group-tags:                        Tag Hierarchy.       (line  87)
  23139 * org-habit-following-days:              Tracking your habits.
  23140                                                               (line  91)
  23141 * org-habit-graph-column:                Tracking your habits.
  23142                                                               (line  82)
  23143 * org-habit-preceding-days:              Tracking your habits.
  23144                                                               (line  87)
  23145 * org-habit-show-habits-only-for-today:  Tracking your habits.
  23146                                                               (line  94)
  23147 * org-hide, face:                        Hard indentation.    (line  21)
  23148 * org-hide-block-startup:                Blocks.              (line   6)
  23149 * org-hide-block-startup <1>:            In-buffer Settings.  (line 171)
  23150 * org-hide-drawer-startup:               In-buffer Settings.  (line 171)
  23151 * org-hide-leading-stars:                Hard indentation.    (line  21)
  23152 * org-hide-leading-stars <1>:            In-buffer Settings.  (line 134)
  23153 * org-hide-macro-markers:                Macro Replacement.   (line  88)
  23154 * org-hierarchical-checkbox-statistics:  Checkboxes.          (line  29)
  23155 * org-hierarchical-todo-statistics:      Breaking Down Tasks. (line  25)
  23156 * org-html-container-element:            HTML specific export settings.
  23157                                                               (line  22)
  23158 * org-html-doctype:                      HTML specific export settings.
  23159                                                               (line  19)
  23160 * org-html-doctype <1>:                  HTML doctypes.       (line   8)
  23161 * org-html-doctype-alist:                HTML doctypes.       (line   8)
  23162 * org-html-head:                         HTML specific export settings.
  23163                                                               (line  38)
  23164 * org-html-head <1>:                     CSS support.         (line  44)
  23165 * org-html-head <2>:                     Bare HTML.           (line   9)
  23166 * org-html-head-extra:                   HTML specific export settings.
  23167                                                               (line  42)
  23168 * org-html-head-extra <1>:               CSS support.         (line  44)
  23169 * org-html-head-extra <2>:               Bare HTML.           (line   9)
  23170 * org-html-head-include-default-style:   CSS support.         (line  52)
  23171 * org-html-head-include-default-style <1>: Bare HTML.         (line   9)
  23172 * org-html-head-include-scripts:         Bare HTML.           (line   9)
  23173 * org-html-html5-elements:               HTML doctypes.       (line  60)
  23174 * org-html-html5-fancy:                  HTML doctypes.       (line  25)
  23175 * org-html-inline-images:                Images in HTML export.
  23176                                                               (line   9)
  23177 * org-html-link-home:                    HTML specific export settings.
  23178                                                               (line  26)
  23179 * org-html-link-org-files-as-html:       Links in HTML export.
  23180                                                               (line  12)
  23181 * org-html-link-up:                      HTML specific export settings.
  23182                                                               (line  29)
  23183 * org-html-mathjax-options:              HTML specific export settings.
  23184                                                               (line  33)
  23185 * org-html-mathjax-options~:             Math formatting in HTML export.
  23186                                                               (line   6)
  23187 * org-html-mathjax-template:             Math formatting in HTML export.
  23188                                                               (line  18)
  23189 * org-html-postamble:                    HTML preamble and postamble.
  23190                                                               (line   6)
  23191 * org-html-postamble <1>:                Bare HTML.           (line   9)
  23192 * org-html-postamble-format:             HTML preamble and postamble.
  23193                                                               (line   6)
  23194 * org-html-preamble:                     HTML preamble and postamble.
  23195                                                               (line   6)
  23196 * org-html-preamble <1>:                 Bare HTML.           (line   9)
  23197 * org-html-preamble-format:              HTML preamble and postamble.
  23198                                                               (line   6)
  23199 * org-html-self-link-headlines:          Headlines in HTML export.
  23200                                                               (line  10)
  23201 * org-html-style-default:                CSS support.         (line  44)
  23202 * org-html-table-align-individual-fields: Tables in HTML export.
  23203                                                               (line  20)
  23204 * org-html-table-caption-above:          Tables in HTML export.
  23205                                                               (line  24)
  23206 * org-html-table-data-tags:              Tables in HTML export.
  23207                                                               (line  27)
  23208 * org-html-table-default-attributes:     Tables in HTML export.
  23209                                                               (line  30)
  23210 * org-html-table-header-tags:            Tables in HTML export.
  23211                                                               (line  33)
  23212 * org-html-table-row-tags:               Tables in HTML export.
  23213                                                               (line  36)
  23214 * org-html-table-use-header-tags-for-first-column: Tables in HTML export.
  23215                                                               (line  39)
  23216 * org-html-use-infojs:                   Bare HTML.           (line   9)
  23217 * org-html-validation-link:              HTML preamble and postamble.
  23218                                                               (line   6)
  23219 * org-icalendar-alarm-time:              iCalendar Export.    (line  20)
  23220 * org-icalendar-categories:              iCalendar Export.    (line  20)
  23221 * org-icalendar-combined-agenda-file:    iCalendar Export.    (line  47)
  23222 * org-icalendar-include-body:            iCalendar Export.    (line  57)
  23223 * org-icalendar-include-todo:            iCalendar Export.    (line  11)
  23224 * org-icalendar-store-UID:               iCalendar Export.    (line  26)
  23225 * org-icalendar-use-deadline:            iCalendar Export.    (line  11)
  23226 * org-icalendar-use-scheduled:           iCalendar Export.    (line  11)
  23227 * org-id-link-to-org-use-id:             Handling Links.      (line  21)
  23228 * org-image-actual-width:                Images.              (line  30)
  23229 * org-imenu-depth:                       Cooperation.         (line  37)
  23230 * org-indent-indentation-per-level:      Org Indent Mode.     (line  11)
  23231 * org-indent-mode-turns-off-org-adapt-indentation: Org Indent Mode.
  23232                                                               (line  15)
  23233 * org-indent-mode-turns-on-hiding-stars: Org Indent Mode.     (line  15)
  23234 * org-infojs-options:                    JavaScript support.  (line  70)
  23235 * org-insert-mode-line-in-empty-file:    Activation.          (line  30)
  23236 * org-irc-links-to-logs:                 Handling Links.      (line  47)
  23237 * org-latex-bibtex-compiler:             LaTeX/PDF export commands.
  23238                                                               (line  25)
  23239 * org-latex-classes:                     LaTeX specific export settings.
  23240                                                               (line  39)
  23241 * org-latex-classes <1>:                 LaTeX specific export settings.
  23242                                                               (line  56)
  23243 * org-latex-classes <2>:                 LaTeX header and sectioning.
  23244                                                               (line  13)
  23245 * org-latex-compiler:                    LaTeX/PDF export commands.
  23246                                                               (line  25)
  23247 * org-latex-compiler <1>:                LaTeX specific export settings.
  23248                                                               (line  51)
  23249 * org-latex-default-class:               LaTeX specific export settings.
  23250                                                               (line  39)
  23251 * org-latex-default-class <1>:           LaTeX header and sectioning.
  23252                                                               (line  13)
  23253 * org-latex-default-packages-alist:      LaTeX/PDF export commands.
  23254                                                               (line  25)
  23255 * org-latex-default-packages-alist <1>:  LaTeX header and sectioning.
  23256                                                               (line  13)
  23257 * org-latex-default-table-environment:   Tables in LaTeX export.
  23258                                                               (line  25)
  23259 * org-latex-default-table-mode:          Tables in LaTeX export.
  23260                                                               (line  12)
  23261 * org-latex-engraved-options:            Source blocks in LaTeX export.
  23262                                                               (line  25)
  23263 * org-latex-hyperref-template:           LaTeX specific export settings.
  23264                                                               (line  11)
  23265 * org-latex-hyperref-template <1>:       LaTeX specific export settings.
  23266                                                               (line  61)
  23267 * org-latex-images-centered:             Images in LaTeX export.
  23268                                                               (line  63)
  23269 * org-latex-language-alist:              LaTeX specific export settings.
  23270                                                               (line  20)
  23271 * org-latex-listings-options:            Source blocks in LaTeX export.
  23272                                                               (line  25)
  23273 * org-latex-minted-options:              Source blocks in LaTeX export.
  23274                                                               (line  25)
  23275 * org-latex-packages-alist:              LaTeX specific export settings.
  23276                                                               (line  20)
  23277 * org-latex-packages-alist <1>:          LaTeX header and sectioning.
  23278                                                               (line  13)
  23279 * org-latex-src-block-backend:           Literal Examples.    (line  31)
  23280 * org-latex-subtitle-format:             LaTeX specific export settings.
  23281                                                               (line  70)
  23282 * org-latex-subtitle-separate:           LaTeX specific export settings.
  23283                                                               (line  70)
  23284 * org-latex-tables-booktabs:             Tables in LaTeX export.
  23285                                                               (line  79)
  23286 * org-latex-tables-centered:             Tables in LaTeX export.
  23287                                                               (line  79)
  23288 * org-latex-title-command:               LaTeX specific export settings.
  23289                                                               (line  11)
  23290 * org-latex-title-command <1>:           LaTeX specific export settings.
  23291                                                               (line  61)
  23292 * org-latex-to-mathml-convert-command:   LaTeX math snippets. (line  20)
  23293 * org-latex-to-mathml-jar-file:          LaTeX math snippets. (line  20)
  23294 * org-link-abbrev-alist:                 Link Abbreviations.  (line  12)
  23295 * org-link-abbrev-alist <1>:             In-buffer Settings.  (line  39)
  23296 * org-link-elisp-confirm-function:       Code Evaluation Security.
  23297                                                               (line  52)
  23298 * org-link-email-description-format:     Handling Links.      (line  33)
  23299 * org-link-frame-setup:                  Handling Links.      (line 123)
  23300 * org-link-from-user-regexp:             Template expansion.  (line 108)
  23301 * org-link-keep-stored-after-insertion:  Handling Links.      (line  71)
  23302 * org-link-parameters:                   Adding Hyperlink Types.
  23303                                                               (line  74)
  23304 * org-link-search-must-match-exact-headline: Internal Links.  (line  31)
  23305 * org-link-shell-confirm-function:       Code Evaluation Security.
  23306                                                               (line  49)
  23307 * org-link-use-indirect-buffer-for-internals: Handling Links. (line 137)
  23308 * org-list-automatic-rules:              Plain Lists.         (line  63)
  23309 * org-list-automatic-rules <1>:          Checkboxes.          (line   6)
  23310 * org-list-demote-modify-bullet:         Plain Lists.         (line  57)
  23311 * org-list-indent-offset:                Plain Lists.         (line  57)
  23312 * org-list-use-circular-motion:          Plain Lists.         (line  95)
  23313 * org-log-done:                          Tracking TODO state changes.
  23314                                                               (line  25)
  23315 * org-log-done <1>:                      Agenda Commands.     (line 131)
  23316 * org-log-done <2>:                      In-buffer Settings.  (line 112)
  23317 * org-log-into-drawer:                   Tracking TODO state changes.
  23318                                                               (line   6)
  23319 * org-log-into-drawer <1>:               Agenda Commands.     (line 296)
  23320 * org-log-note-clock-out:                Clocking commands.   (line  36)
  23321 * org-log-note-clock-out <1>:            In-buffer Settings.  (line 112)
  23322 * org-log-redeadline:                    Inserting deadline/schedule.
  23323                                                               (line  10)
  23324 * org-log-refile:                        Refile and Copy.     (line  13)
  23325 * org-log-repeat:                        Repeated tasks.      (line  40)
  23326 * org-log-repeat <1>:                    In-buffer Settings.  (line 112)
  23327 * org-log-reschedule:                    Inserting deadline/schedule.
  23328                                                               (line  18)
  23329 * org-log-states-order-reversed:         Tracking TODO state changes.
  23330                                                               (line   6)
  23331 * org-loop-over-headlines-in-active-region: Execute commands in the active region.
  23332                                                               (line   6)
  23333 * org-M-RET-may-split-line:              Structure Editing.   (line   7)
  23334 * org-M-RET-may-split-line <1>:          Plain Lists.         (line  83)
  23335 * org-md-headline-style:                 Markdown Export.     (line  29)
  23336 * org-mobile-directory:                  Setting up the staging area.
  23337                                                               (line   6)
  23338 * org-mobile-encryption:                 Setting up the staging area.
  23339                                                               (line  19)
  23340 * org-mobile-files:                      Pushing to the mobile application.
  23341                                                               (line   6)
  23342 * org-mobile-inbox-for-pull:             Pulling from the mobile application.
  23343                                                               (line  12)
  23344 * org-num-face:                          Dynamic Headline Numbering.
  23345                                                               (line  19)
  23346 * org-num-format-function:               Dynamic Headline Numbering.
  23347                                                               (line  19)
  23348 * org-num-max-level:                     Dynamic Headline Numbering.
  23349                                                               (line  10)
  23350 * org-num-skip-commented:                Dynamic Headline Numbering.
  23351                                                               (line  10)
  23352 * org-num-skip-footnotes:                Dynamic Headline Numbering.
  23353                                                               (line  16)
  23354 * org-num-skip-tags:                     Dynamic Headline Numbering.
  23355                                                               (line  10)
  23356 * org-num-skip-unnumbered:               Dynamic Headline Numbering.
  23357                                                               (line  10)
  23358 * org-odd-levels-only:                   Matching tags and properties.
  23359                                                               (line  65)
  23360 * org-odd-levels-only <1>:               Hard indentation.    (line  29)
  23361 * org-odd-levels-only <2>:               In-buffer Settings.  (line 134)
  23362 * org-odd-levels-only <3>:               Special Agenda Views.
  23363                                                               (line  41)
  23364 * org-odt-category-map-alist:            Labels and captions in ODT export.
  23365                                                               (line  21)
  23366 * org-odt-convert-process:               Extending ODT export.
  23367                                                               (line  12)
  23368 * org-odt-create-custom-styles-for-srcblocks: Literal examples in ODT export.
  23369                                                               (line  16)
  23370 * org-odt-fontify-srcblocks:             Literal examples in ODT export.
  23371                                                               (line  13)
  23372 * org-odt-pixels-per-inch:               Images in ODT export.
  23373                                                               (line  34)
  23374 * org-odt-preferred-output-format:       ODT export commands. (line   9)
  23375 * org-odt-preferred-output-format <1>:   Extending ODT export.
  23376                                                               (line  21)
  23377 * org-odt-styles-file:                   ODT specific export settings.
  23378                                                               (line  22)
  23379 * org-odt-styles-file <1>:               Applying custom styles.
  23380                                                               (line  25)
  23381 * org-odt-table-styles:                  Advanced topics in ODT export.
  23382                                                               (line 158)
  23383 * org-odt-table-styles <1>:              Advanced topics in ODT export.
  23384                                                               (line 226)
  23385 * org-outline-path-complete-in-steps:    Refile and Copy.     (line  13)
  23386 * org-plain-list-ordered-item-terminator: Plain Lists.        (line  15)
  23387 * org-plain-list-ordered-item-terminator <1>: Plain Lists.    (line 131)
  23388 * org-popup-calendar-for-date-prompt:    The date/time prompt.
  23389                                                               (line  78)
  23390 * org-pretty-entities:                   Subscripts and Superscripts.
  23391                                                               (line  29)
  23392 * org-pretty-entities <1>:               In-buffer Settings.  (line 180)
  23393 * org-pretty-entities-include-sub-superscripts: Subscripts and Superscripts.
  23394                                                               (line  29)
  23395 * org-preview-latex-default-process:     Previewing LaTeX fragments.
  23396                                                               (line   6)
  23397 * org-priority-default:                  Priorities.          (line  46)
  23398 * org-priority-default <1>:              In-buffer Settings.  (line  44)
  23399 * org-priority-faces:                    Priorities.          (line  13)
  23400 * org-priority-highest:                  Priorities.          (line  46)
  23401 * org-priority-highest <1>:              In-buffer Settings.  (line  44)
  23402 * org-priority-lowest:                   Priorities.          (line  46)
  23403 * org-priority-lowest <1>:               In-buffer Settings.  (line  44)
  23404 * org-priority-start-cycle-with-default: Priorities.          (line  41)
  23405 * org-property-allowed-value-functions:  Using the Property API.
  23406                                                               (line  63)
  23407 * org-protocol-default-template-key:     The capture protocol.
  23408                                                               (line  30)
  23409 * org-protocol-project-alist:            The open-source protocol.
  23410                                                               (line  13)
  23411 * org-publish-project-alist:             Project alist.       (line   6)
  23412 * org-publish-project-alist <1>:         Publishing options.  (line  12)
  23413 * org-publish-use-timestamps-flag:       Triggering Publication.
  23414                                                               (line  21)
  23415 * org-put-time-stamp-overlays:           In-buffer Settings.  (line 146)
  23416 * org-read-date-display-live:            The date/time prompt.
  23417                                                               (line  98)
  23418 * org-read-date-force-compatible-dates:  The date/time prompt.
  23419                                                               (line  62)
  23420 * org-read-date-prefer-future:           The date/time prompt.
  23421                                                               (line   6)
  23422 * org-refile-allow-creating-parent-nodes: Refile and Copy.    (line  13)
  23423 * org-refile-keep:                       Refile and Copy.     (line  41)
  23424 * org-refile-targets:                    Refile and Copy.     (line  13)
  23425 * org-refile-use-cache:                  Refile and Copy.     (line  46)
  23426 * org-refile-use-outline-path:           Refile and Copy.     (line  13)
  23427 * org-remove-highlights-with-change:     Sparse Trees.        (line  20)
  23428 * org-remove-highlights-with-change <1>: Clocking commands.   (line  84)
  23429 * org-replace-disputed-keys:             Conflicts.           (line  17)
  23430 * org-return-follows-link:               Handling Links.      (line 129)
  23431 * org-reverse-note-order:                Refile and Copy.     (line  13)
  23432 * org-scheduled-delay-days:              Deadlines and Scheduling.
  23433                                                               (line  42)
  23434 * org-show-context-detail:               Sparse Trees.        (line   6)
  23435 * org-sort-agenda-noeffort-is-high:      Filtering/limiting agenda items.
  23436                                                               (line  56)
  23437 * org-sparse-tree-open-archived-trees:   Internal archiving.  (line  19)
  23438 * org-special-ctrl-a/e:                  Headlines.           (line   6)
  23439 * org-special-ctrl-k:                    Headlines.           (line   6)
  23440 * org-speed-commands:                    Speed Keys.          (line  18)
  23441 * org-src-ask-before-returning-to-edit-buffer: Editing Source Code.
  23442                                                               (line  40)
  23443 * org-src-block-faces:                   Editing Source Code. (line  43)
  23444 * org-src-fontify-natively:              Editing Source Code. (line  43)
  23445 * org-src-lang-modes:                    Editing Source Code. (line  22)
  23446 * org-src-preserve-indentation:          Editing Source Code. (line  32)
  23447 * org-src-window-setup:                  Editing Source Code. (line  28)
  23448 * org-startup-align-all-tables:          Column Width and Alignment.
  23449                                                               (line  19)
  23450 * org-startup-align-all-tables <1>:      In-buffer Settings.  (line  94)
  23451 * org-startup-folded:                    Initial visibility.  (line   6)
  23452 * org-startup-folded <1>:                In-buffer Settings.  (line  68)
  23453 * org-startup-folded <2>:                Speeding Up Your Agendas.
  23454                                                               (line  19)
  23455 * org-startup-indented:                  Org Indent Mode.     (line  22)
  23456 * org-startup-indented <1>:              In-buffer Settings.  (line  82)
  23457 * org-startup-numerated:                 Dynamic Headline Numbering.
  23458                                                               (line  22)
  23459 * org-startup-numerated <1>:             In-buffer Settings.  (line  88)
  23460 * org-startup-shrink-all-tables:         Column Width and Alignment.
  23461                                                               (line  64)
  23462 * org-startup-shrink-all-tables <1>:     In-buffer Settings.  (line 101)
  23463 * org-startup-with-inline-images:        Images.              (line  24)
  23464 * org-startup-with-inline-images <1>:    In-buffer Settings.  (line 105)
  23465 * org-startup-with-latex-preview:        Previewing LaTeX fragments.
  23466                                                               (line  28)
  23467 * org-store-link-props:                  Template expansion.  (line 106)
  23468 * org-structure-template-alist:          Structure Templates. (line  17)
  23469 * org-stuck-projects:                    Stuck projects.      (line  17)
  23470 * org-support-shift-select:              Plain Lists.         (line  95)
  23471 * org-support-shift-select <1>:          Plain Lists.         (line 154)
  23472 * org-support-shift-select <2>:          Conflicts.           (line   6)
  23473 * org-table-automatic-realign:           Column Width and Alignment.
  23474                                                               (line  10)
  23475 * org-table-copy-increment:              Built-in Table Editor.
  23476                                                               (line 187)
  23477 * org-table-current-column:              References.          (line  90)
  23478 * org-table-current-dline:               References.          (line  90)
  23479 * org-table-duration-custom-format:      Durations and time values.
  23480                                                               (line   6)
  23481 * org-table-export-default-format:       Built-in Table Editor.
  23482                                                               (line 227)
  23483 * org-table-formula:                     In-buffer Settings.  (line  29)
  23484 * org-table-formula-constants:           References.          (line 114)
  23485 * org-table-formula-constants <1>:       In-buffer Settings.  (line  29)
  23486 * org-table-formula-constants <2>:       Cooperation.         (line  14)
  23487 * org-table-header-line-p:               Built-in Table Editor.
  23488                                                               (line 238)
  23489 * org-table-use-standard-references:     Editing and debugging formulas.
  23490                                                               (line   6)
  23491 * org-tag-alist:                         Setting Tags.        (line  22)
  23492 * org-tag-alist <1>:                     In-buffer Settings.  (line 187)
  23493 * org-tag-faces:                         Tags.                (line  10)
  23494 * org-tag-persistent-alist:              Setting Tags.        (line  37)
  23495 * org-tags-column:                       Setting Tags.        (line  11)
  23496 * org-tags-exclude-from-inheritance:     Tag Inheritance.     (line  22)
  23497 * org-tags-match-list-sublevels:         Tag Inheritance.     (line  26)
  23498 * org-tags-match-list-sublevels <1>:     Tag Searches.        (line  19)
  23499 * org-tags-match-list-sublevels <2>:     Property Searches.   (line  18)
  23500 * org-tags-match-list-sublevels <3>:     Matching tags and properties.
  23501                                                               (line  21)
  23502 * org-tempo-keywords-alist:              Structure Templates. (line  21)
  23503 * org-texinfo-classes:                   Texinfo file header. (line  19)
  23504 * org-texinfo-classes <1>:               Headings and sectioning structure.
  23505                                                               (line   6)
  23506 * org-texinfo-coding-system:             Texinfo file header. (line  11)
  23507 * org-texinfo-default-class:             Texinfo specific export settings.
  23508                                                               (line  20)
  23509 * org-texinfo-default-class <1>:         Headings and sectioning structure.
  23510                                                               (line   6)
  23511 * org-texinfo-info-process:              Texinfo export commands.
  23512                                                               (line  11)
  23513 * org-texinfo-table-default-markup:      Plain lists in Texinfo export.
  23514                                                               (line  25)
  23515 * org-time-stamp-custom-formats:         Custom time format.  (line   6)
  23516 * org-time-stamp-overlay-formats:        In-buffer Settings.  (line 146)
  23517 * org-time-stamp-rounding-minutes:       Creating Timestamps. (line  16)
  23518 * org-timer-default-timer:               Timers.              (line  23)
  23519 * org-todo, face:                        Faces for TODO keywords.
  23520                                                               (line   6)
  23521 * org-todo-keyword-faces:                Faces for TODO keywords.
  23522                                                               (line   6)
  23523 * org-todo-keywords:                     TODO Basics.         (line  35)
  23524 * org-todo-keywords <1>:                 TODO Extensions.     (line   6)
  23525 * org-todo-keywords <2>:                 Global TODO list.    (line  18)
  23526 * org-todo-keywords <3>:                 In-buffer Settings.  (line 192)
  23527 * org-todo-repeat-to-state:              Repeated tasks.      (line  22)
  23528 * org-todo-state-tags-triggers:          TODO Basics.         (line  56)
  23529 * org-track-ordered-property-with-tag:   TODO dependencies.   (line  38)
  23530 * org-track-ordered-property-with-tag <1>: Checkboxes.        (line  90)
  23531 * org-treat-insert-todo-heading-as-state-change: Structure Editing.
  23532                                                               (line  29)
  23533 * org-treat-S-cursor-todo-selection-as-state-change: TODO Basics.
  23534                                                               (line  28)
  23535 * org-use-property-inheritance:          Property Inheritance.
  23536                                                               (line   6)
  23537 * org-use-property-inheritance <1>:      Using Header Arguments.
  23538                                                               (line  76)
  23539 * org-use-property-inheritance <2>:      Using the Property API.
  23540                                                               (line  19)
  23541 * org-use-speed-commands:                Speed Keys.          (line  13)
  23542 * org-use-sub-superscripts:              Subscripts and Superscripts.
  23543                                                               (line  13)
  23544 * org-use-tag-inheritance:               Tag Inheritance.     (line  22)
  23545 * org-yank-adjusted-subtrees:            Structure Editing.   (line  84)
  23546 * org-yank-folded-subtrees:              Structure Editing.   (line  84)
  23547 * parse-time-months:                     The date/time prompt.
  23548                                                               (line  58)
  23549 * parse-time-weekdays:                   The date/time prompt.
  23550                                                               (line  58)
  23551 * user-full-name:                        Export Settings.     (line  25)
  23552 * user-mail-address:                     Export Settings.     (line  35)
  23553 
  23554 
  23555 
  23556 Tag Table:
  23557 Node: Top884
  23558 Node: Introduction22994
  23559 Node: Summary23456
  23560 Node: Installation26491
  23561 Ref: Using Emacs packaging system27214
  23562 Ref: Using Org's git repository27722
  23563 Ref: Installing Org's contributed packages28680
  23564 Node: Activation29310
  23565 Ref: Activation-Footnote-130933
  23566 Node: Feedback31061
  23567 Ref: How to create a useful backtrace34092
  23568 Ref: Feedback-Footnote-135244
  23569 Node: Conventions35370
  23570 Ref: TODO keywords tags properties etc35541
  23571 Ref: Key bindings and commands36434
  23572 Node: Document Structure37064
  23573 Node: Headlines38236
  23574 Ref: Headlines-Footnote-139534
  23575 Node: Visibility Cycling39813
  23576 Node: Global and local cycling40203
  23577 Ref: Global and local cycling-Footnote-142908
  23578 Ref: Global and local cycling-Footnote-242970
  23579 Node: Initial visibility43274
  23580 Ref: Initial visibility-Footnote-144458
  23581 Node: Catching invisible edits44651
  23582 Node: Motion45133
  23583 Node: Structure Editing46597
  23584 Node: Sparse Trees53057
  23585 Ref: Sparse Trees-Footnote-155654
  23586 Ref: Sparse Trees-Footnote-255769
  23587 Node: Plain Lists55845
  23588 Ref: Plain Lists-Footnote-163370
  23589 Ref: Plain Lists-Footnote-263734
  23590 Ref: Plain Lists-Footnote-363834
  23591 Ref: Plain Lists-Footnote-464091
  23592 Ref: Plain Lists-Footnote-564268
  23593 Ref: Plain Lists-Footnote-664372
  23594 Ref: Plain Lists-Footnote-764478
  23595 Node: Drawers64548
  23596 Ref: Drawers-Footnote-166243
  23597 Node: Blocks66355
  23598 Node: Tables66948
  23599 Node: Built-in Table Editor67631
  23600 Ref: Creation and conversion69367
  23601 Ref: Re-aligning and field motion70305
  23602 Ref: Column and row editing71240
  23603 Ref: Regions73670
  23604 Ref: Calculations75069
  23605 Ref: Miscellaneous (1)75882
  23606 Ref: Built-in Table Editor-Footnote-178359
  23607 Node: Column Width and Alignment78467
  23608 Node: Column Groups81804
  23609 Node: Orgtbl Mode83371
  23610 Node: The Spreadsheet84186
  23611 Node: References85660
  23612 Ref: Field references86119
  23613 Ref: Range references88558
  23614 Ref: Field coordinates in formulas89817
  23615 Ref: Named references90802
  23616 Ref: Remote references91773
  23617 Ref: References-Footnote-192695
  23618 Ref: References-Footnote-292923
  23619 Ref: References-Footnote-393026
  23620 Node: Formula syntax for Calc93351
  23621 Ref: Formula syntax for Calc-Footnote-199213
  23622 Node: Formula syntax for Lisp99552
  23623 Node: Durations and time values101785
  23624 Node: Field and range formulas103172
  23625 Node: Column formulas105641
  23626 Node: Lookup functions107753
  23627 Node: Editing and debugging formulas109722
  23628 Ref: Using multiple TBLFM lines114239
  23629 Ref: Debugging formulas115082
  23630 Node: Updating the table115500
  23631 Node: Advanced features116872
  23632 Ref: Advanced features-Footnote-1121323
  23633 Node: Org Plot121431
  23634 Ref: Graphical plots using Gnuplot121632
  23635 Ref: Plot options124155
  23636 Ref: ASCII bar plots126947
  23637 Node: Hyperlinks128197
  23638 Node: Link Format129061
  23639 Ref: Link Format-Footnote-1131124
  23640 Ref: Link Format-Footnote-2131356
  23641 Node: Internal Links131488
  23642 Ref: Internal Links-Footnote-1134050
  23643 Ref: Internal Links-Footnote-2134290
  23644 Node: Radio Targets134431
  23645 Node: External Links135148
  23646 Ref: External Links-Footnote-1140632
  23647 Node: Handling Links141056
  23648 Ref: Handling Links-Footnote-1148812
  23649 Ref: Handling Links-Footnote-2149002
  23650 Ref: Handling Links-Footnote-3149298
  23651 Ref: Handling Links-Footnote-4149560
  23652 Ref: Handling Links-Footnote-5149682
  23653 Node: Using Links Outside Org149757
  23654 Node: Link Abbreviations150232
  23655 Node: Search Options153193
  23656 Ref: Search Options-Footnote-1155331
  23657 Node: Custom Searches155412
  23658 Node: TODO Items156446
  23659 Ref: TODO Items-Footnote-1157571
  23660 Node: TODO Basics157685
  23661 Node: TODO Extensions160320
  23662 Node: Workflow states161373
  23663 Ref: Workflow states-Footnote-1162772
  23664 Node: TODO types162888
  23665 Ref: TODO types-Footnote-1164707
  23666 Node: Multiple sets in one file164779
  23667 Node: Fast access to TODO states166724
  23668 Ref: Fast access to TODO states-Footnote-1167607
  23669 Ref: Fast access to TODO states-Footnote-2167714
  23670 Node: Per-file keywords168016
  23671 Ref: Per-file keywords-Footnote-1169486
  23672 Node: Faces for TODO keywords169690
  23673 Node: TODO dependencies170763
  23674 Node: Progress Logging173254
  23675 Node: Closing items174391
  23676 Ref: Closing items-Footnote-1175391
  23677 Ref: Closing items-Footnote-2175465
  23678 Node: Tracking TODO state changes175543
  23679 Ref: Tracking TODO state changes-Footnote-1178678
  23680 Ref: Tracking TODO state changes-Footnote-2178740
  23681 Ref: Tracking TODO state changes-Footnote-3178898
  23682 Node: Tracking your habits179176
  23683 Node: Priorities183596
  23684 Ref: Priorities-Footnote-1186108
  23685 Node: Breaking Down Tasks186181
  23686 Ref: Breaking Down Tasks-Footnote-1188223
  23687 Node: Checkboxes188330
  23688 Ref: Checkboxes-Footnote-1193473
  23689 Ref: Checkboxes-Footnote-2193601
  23690 Ref: Checkboxes-Footnote-3193781
  23691 Node: Tags193895
  23692 Node: Tag Inheritance194988
  23693 Ref: Tag Inheritance-Footnote-1196860
  23694 Ref: Tag Inheritance-Footnote-2196964
  23695 Node: Setting Tags197094
  23696 Ref: Setting Tags-Footnote-1203665
  23697 Ref: Setting Tags-Footnote-2203843
  23698 Node: Tag Hierarchy203921
  23699 Node: Tag Searches207521
  23700 Node: Properties and Columns208832
  23701 Node: Property Syntax210220
  23702 Node: Special Properties214825
  23703 Node: Property Searches216515
  23704 Node: Property Inheritance217990
  23705 Node: Column View219862
  23706 Node: Defining columns221113
  23707 Node: Scope of column definitions221498
  23708 Node: Column attributes222557
  23709 Ref: Column attributes-Footnote-1226968
  23710 Ref: Column attributes-Footnote-2227099
  23711 Ref: Column attributes-Footnote-3227297
  23712 Node: Using column view227436
  23713 Ref: Turning column view on or off227602
  23714 Ref: Editing values228643
  23715 Ref: Modifying column view on-the-fly230046
  23716 Node: Capturing column view230418
  23717 Ref: Capturing column view-Footnote-1234146
  23718 Node: Dates and Times234283
  23719 Node: Timestamps235202
  23720 Ref: Timestamps-Footnote-1237575
  23721 Ref: Timestamps-Footnote-2237871
  23722 Node: Creating Timestamps238654
  23723 Node: The date/time prompt241668
  23724 Ref: The date/time prompt-Footnote-1246629
  23725 Ref: The date/time prompt-Footnote-2246800
  23726 Ref: The date/time prompt-Footnote-3246911
  23727 Ref: The date/time prompt-Footnote-4247166
  23728 Node: Custom time format247264
  23729 Node: Deadlines and Scheduling249033
  23730 Ref: Deadlines and Scheduling-Footnote-1252603
  23731 Node: Inserting deadline/schedule252766
  23732 Ref: Inserting deadline/schedule-Footnote-1254758
  23733 Ref: Inserting deadline/schedule-Footnote-2254919
  23734 Ref: Inserting deadline/schedule-Footnote-3255045
  23735 Node: Repeated tasks255171
  23736 Ref: Repeated tasks-Footnote-1259806
  23737 Ref: Repeated tasks-Footnote-2259889
  23738 Ref: Repeated tasks-Footnote-3260172
  23739 Node: Clocking Work Time260394
  23740 Ref: Clocking Work Time-Footnote-1261599
  23741 Ref: Clocking Work Time-Footnote-2261752
  23742 Node: Clocking commands261894
  23743 Ref: Clocking commands-Footnote-1266999
  23744 Ref: Clocking commands-Footnote-2267114
  23745 Ref: Clocking commands-Footnote-3267196
  23746 Ref: Clocking commands-Footnote-4267259
  23747 Node: The clock table267342
  23748 Ref: The clock table-Footnote-1276160
  23749 Ref: The clock table-Footnote-2276269
  23750 Ref: The clock table-Footnote-3276367
  23751 Node: Resolving idle time276493
  23752 Ref: Resolving idle time (1)276689
  23753 Ref: Continuous clocking279886
  23754 Ref: Clocking out automatically after some idle time280392
  23755 Ref: Resolving idle time-Footnote-1281024
  23756 Node: Effort Estimates281472
  23757 Ref: Effort Estimates-Footnote-1284429
  23758 Node: Timers284540
  23759 Node: Refiling and Archiving286753
  23760 Node: Refile and Copy287316
  23761 Ref: Refile and Copy-Footnote-1290144
  23762 Node: Archiving290258
  23763 Node: Moving subtrees290971
  23764 Node: Internal archiving293097
  23765 Node: Capture and Attachments295826
  23766 Node: Capture296631
  23767 Node: Setting up capture297155
  23768 Node: Using capture297518
  23769 Node: Capture templates299916
  23770 Node: Template elements301955
  23771 Ref: Template elements-Footnote-1310161
  23772 Ref: Template elements-Footnote-2310494
  23773 Ref: Template elements-Footnote-3310777
  23774 Node: Template expansion310872
  23775 Ref: Template expansion-Footnote-1314939
  23776 Ref: Template expansion-Footnote-2315030
  23777 Ref: Template expansion-Footnote-3315220
  23778 Node: Templates in contexts315319
  23779 Node: Attachments316164
  23780 Node: Attachment defaults and dispatcher317194
  23781 Ref: Attachment defaults and dispatcher-Footnote-1320544
  23782 Node: Attachment options320695
  23783 Node: Attachment links324714
  23784 Node: Automatic version-control with Git325353
  23785 Node: Attach from Dired325868
  23786 Node: RSS Feeds327232
  23787 Node: Agenda Views328683
  23788 Node: Agenda Files331090
  23789 Ref: Agenda Files-Footnote-1334001
  23790 Ref: Agenda Files-Footnote-2334145
  23791 Node: Agenda Dispatcher334343
  23792 Ref: Agenda Dispatcher-Footnote-1337220
  23793 Ref: Agenda Dispatcher-Footnote-2337318
  23794 Node: Built-in Agenda Views337424
  23795 Node: Weekly/daily agenda338021
  23796 Ref: Calendar/Diary integration339361
  23797 Ref: Anniversaries from BBDB341437
  23798 Ref: Appointment reminders343228
  23799 Ref: Weekly/daily agenda-Footnote-1343778
  23800 Ref: Weekly/daily agenda-Footnote-2344022
  23801 Node: Global TODO list344242
  23802 Node: Matching tags and properties347093
  23803 Node: Search view354202
  23804 Node: Stuck projects355849
  23805 Node: Presentation and Sorting357986
  23806 Node: Categories358963
  23807 Node: Time-of-day specifications359709
  23808 Ref: Time-of-day specifications-Footnote-1361700
  23809 Node: Sorting of agenda items361823
  23810 Node: Filtering/limiting agenda items363441
  23811 Ref: Filtering in the agenda364146
  23812 Ref: Computed tag filtering368280
  23813 Ref: Setting limits for the agenda369774
  23814 Ref: Filtering/limiting agenda items-Footnote-1371323
  23815 Node: Agenda Commands371875
  23816 Ref: Motion (1)372608
  23817 Ref: View/Go to Org file372811
  23818 Ref: Change display374317
  23819 Ref: Remote editing381874
  23820 Ref: Bulk remote editing selected entries387227
  23821 Ref: Calendar commands390322
  23822 Ref: Quit and exit392203
  23823 Ref: Agenda Commands-Footnote-1392565
  23824 Ref: Agenda Commands-Footnote-2392641
  23825 Ref: Agenda Commands-Footnote-3392745
  23826 Node: Custom Agenda Views392832
  23827 Node: Storing searches393484
  23828 Ref: Storing searches-Footnote-1396436
  23829 Ref: Storing searches-Footnote-2396553
  23830 Node: Block agenda396800
  23831 Node: Setting options398129
  23832 Node: Exporting Agenda Views401743
  23833 Ref: Exporting Agenda Views-Footnote-1406282
  23834 Ref: Exporting Agenda Views-Footnote-2406503
  23835 Ref: Exporting Agenda Views-Footnote-3406653
  23836 Ref: Exporting Agenda Views-Footnote-4406840
  23837 Node: Agenda Column View406922
  23838 Node: Markup for Rich Contents410270
  23839 Node: Paragraphs411568
  23840 Node: Emphasis and Monospace412703
  23841 Node: Subscripts and Superscripts413762
  23842 Node: Special Symbols415380
  23843 Ref: Special Symbols-Footnote-1417293
  23844 Ref: Special Symbols-Footnote-2417458
  23845 Node: Embedded LaTeX417555
  23846 Ref: Embedded LaTeX-Footnote-1418404
  23847 Node: LaTeX fragments418600
  23848 Ref: LaTeX fragments-Footnote-1420757
  23849 Node: Previewing LaTeX fragments420950
  23850 Ref: Previewing LaTeX fragments-Footnote-1422433
  23851 Node: CDLaTeX mode422682
  23852 Ref: CDLaTeX mode-Footnote-1425431
  23853 Node: Literal Examples425578
  23854 Ref: Literal Examples-Footnote-1430689
  23855 Ref: Literal Examples-Footnote-2431145
  23856 Ref: Literal Examples-Footnote-3431323
  23857 Ref: Literal Examples-Footnote-4431508
  23858 Node: Images431606
  23859 Ref: Images-Footnote-1433733
  23860 Ref: Images-Footnote-2433856
  23861 Ref: Images-Footnote-3434017
  23862 Node: Captions434103
  23863 Node: Horizontal Rules434803
  23864 Node: Creating Footnotes435059
  23865 Ref: Creating Footnotes-Footnote-1438188
  23866 Ref: Creating Footnotes-Footnote-2438294
  23867 Node: Exporting438401
  23868 Node: The Export Dispatcher441175
  23869 Node: Export Settings443920
  23870 Ref: Export Settings-Footnote-1452013
  23871 Ref: Export Settings-Footnote-2452125
  23872 Ref: Export Settings-Footnote-3452226
  23873 Node: Table of Contents452424
  23874 Ref: Table of Contents-Footnote-1455098
  23875 Node: Include Files455265
  23876 Ref: Include Files-Footnote-1458202
  23877 Node: Macro Replacement458380
  23878 Ref: Macro Replacement-Footnote-1462261
  23879 Node: Comment Lines462478
  23880 Ref: Comment Lines-Footnote-1463341
  23881 Node: ASCII/Latin-1/UTF-8 export463445
  23882 Ref: ASCII export commands464299
  23883 Ref: ASCII specific export settings464832
  23884 Ref: Header and sectioning structure465276
  23885 Ref: Quoting ASCII text465550
  23886 Ref: ASCII specific attributes465922
  23887 Ref: ASCII special blocks466199
  23888 Node: Beamer Export466546
  23889 Node: Beamer export commands467296
  23890 Node: Beamer specific export settings468001
  23891 Node: Frames and Blocks in Beamer469906
  23892 Ref: Frames and Blocks in Beamer-Footnote-1473264
  23893 Node: Beamer specific syntax473423
  23894 Node: Editing support475402
  23895 Node: A Beamer example475873
  23896 Node: HTML Export477127
  23897 Node: HTML export commands478237
  23898 Node: HTML specific export settings478779
  23899 Node: HTML doctypes480998
  23900 Node: HTML preamble and postamble483173
  23901 Node: Quoting HTML tags484238
  23902 Node: Headlines in HTML export484937
  23903 Node: Links in HTML export485532
  23904 Node: Tables in HTML export487001
  23905 Node: Images in HTML export488458
  23906 Node: Math formatting in HTML export489948
  23907 Ref: Math formatting in HTML export-Footnote-1491338
  23908 Ref: Math formatting in HTML export-Footnote-2491530
  23909 Node: Text areas in HTML export491813
  23910 Node: CSS support492958
  23911 Ref: CSS support-Footnote-1496609
  23912 Node: JavaScript support496789
  23913 Node: LaTeX Export499976
  23914 Node: LaTeX/PDF export commands501896
  23915 Ref: LaTeX/PDF export commands-Footnote-1503399
  23916 Node: LaTeX specific export settings503601
  23917 Node: LaTeX header and sectioning507085
  23918 Node: Quoting LaTeX code510915
  23919 Node: Tables in LaTeX export511711
  23920 Node: Images in LaTeX export516977
  23921 Node: Plain lists in LaTeX export519634
  23922 Node: Source blocks in LaTeX export520654
  23923 Ref: Source blocks in LaTeX export-Footnote-1522310
  23924 Node: Example blocks in LaTeX export522468
  23925 Node: Special blocks in LaTeX export523194
  23926 Node: Horizontal rules in LaTeX export524457
  23927 Node: Verse blocks in LaTeX export524894
  23928 Node: Quote blocks in LaTeX export526908
  23929 Node: Markdown Export528027
  23930 Ref: Markdown export commands528495
  23931 Ref: Header and sectioning structure (1)528932
  23932 Node: OpenDocument Text Export529349
  23933 Ref: OpenDocument Text Export-Footnote-1530455
  23934 Node: Pre-requisites for ODT export530605
  23935 Node: ODT export commands530983
  23936 Node: ODT specific export settings532163
  23937 Node: Extending ODT export533214
  23938 Ref: Automatically exporting to other formats534025
  23939 Ref: Converting between document formats534451
  23940 Node: Applying custom styles534993
  23941 Ref: Applying custom styles the easy way535525
  23942 Ref: Using third-party styles and templates536483
  23943 Node: Links in ODT export536780
  23944 Node: Tables in ODT export537442
  23945 Node: Images in ODT export539452
  23946 Ref: Embedding images539656
  23947 Ref: Embedding clickable images539973
  23948 Ref: Sizing and scaling of embedded images540307
  23949 Ref: Anchoring of images541991
  23950 Node: Math formatting in ODT export542313
  23951 Node: LaTeX math snippets542742
  23952 Ref: LaTeX math snippets-Footnote-1544995
  23953 Ref: LaTeX math snippets-Footnote-2545071
  23954 Node: MathML and OpenDocument formula files545117
  23955 Node: Labels and captions in ODT export545625
  23956 Node: Literal examples in ODT export546901
  23957 Node: Advanced topics in ODT export547742
  23958 Ref: Configuring a document converter548052
  23959 Ref: Working with OpenDocument style files548993
  23960 Ref: x-orgodtstyles-xml549459
  23961 Ref: x-orgodtcontenttemplate-xml549801
  23962 Ref: x-overriding-factory-styles550445
  23963 Ref: Creating one-off styles551689
  23964 Ref: Customizing tables in ODT export553693
  23965 Ref: Validating OpenDocument XML558553
  23966 Ref: Advanced topics in ODT export-Footnote-1559350
  23967 Ref: Advanced topics in ODT export-Footnote-2559455
  23968 Ref: Advanced topics in ODT export-Footnote-3559548
  23969 Node: Org Export559896
  23970 Ref: Org export commands560252
  23971 Node: Texinfo Export560558
  23972 Node: Texinfo export commands561598
  23973 Node: Texinfo specific export settings562223
  23974 Node: Texinfo file header563376
  23975 Node: Texinfo title and copyright page564359
  23976 Node: Info directory file565723
  23977 Node: Headings and sectioning structure566448
  23978 Node: Indices568478
  23979 Node: Quoting Texinfo code569507
  23980 Node: Plain lists in Texinfo export570005
  23981 Node: Tables in Texinfo export574731
  23982 Node: Images in Texinfo export575227
  23983 Node: Quotations in Texinfo export575865
  23984 Node: Key bindings in Texinfo export576817
  23985 Node: Special blocks in Texinfo export577620
  23986 Node: A Texinfo example578455
  23987 Node: iCalendar Export580557
  23988 Node: Other Built-in Back-ends584846
  23989 Node: Advanced Export Configuration585478
  23990 Ref: Export hooks585690
  23991 Ref: Filters586628
  23992 Ref: Defining filters for individual files589137
  23993 Ref: Extending an existing back-end589943
  23994 Node: Export in Foreign Buffers592183
  23995 Node: Bare HTML593424
  23996 Node: Publishing593966
  23997 Node: Configuration594842
  23998 Node: Project alist595624
  23999 Node: Sources and destinations596766
  24000 Node: Selecting files598084
  24001 Node: Publishing action599039
  24002 Ref: Publishing action-Footnote-1600872
  24003 Node: Publishing options601035
  24004 Ref: Generic properties601787
  24005 Ref: ASCII specific properties603674
  24006 Ref: Beamer specific properties605274
  24007 Ref: HTML specific properties605839
  24008 Ref: LaTeX specific properties610322
  24009 Ref: Markdown specific properties613488
  24010 Ref: ODT specific properties613785
  24011 Ref: Texinfo specific properties614717
  24012 Node: Publishing links616139
  24013 Node: Site map617593
  24014 Node: Generating an index620910
  24015 Node: Uploading Files621702
  24016 Node: Sample Configuration623485
  24017 Node: Simple example623983
  24018 Node: Complex example624699
  24019 Node: Triggering Publication626748
  24020 Node: Citation handling627774
  24021 Node: Citations628773
  24022 Node: Citation export processors630466
  24023 Node: Bibliography printing633206
  24024 Node: Bibliography options in the ``biblatex'' and ``csl'' export processors634362
  24025 Node: Working with Source Code636486
  24026 Node: Features Overview638825
  24027 Node: Structure of Code Blocks641584
  24028 Node: Using Header Arguments644093
  24029 Ref: System-wide header arguments644820
  24030 Ref: Header arguments in Org mode properties646491
  24031 Ref: Code block specific header arguments648317
  24032 Ref: Header arguments in function calls649816
  24033 Node: Environment of a Code Block650490
  24034 Ref: Passing arguments650704
  24035 Ref: Using sessions658990
  24036 Ref: Choosing a working directory660389
  24037 Ref: Inserting headers and footers662694
  24038 Node: Evaluating Code Blocks663204
  24039 Ref: How to evaluate source code663659
  24040 Ref: Limit code block evaluation666609
  24041 Ref: Cache results of evaluation667549
  24042 Ref: Evaluating Code Blocks-Footnote-1670062
  24043 Ref: Evaluating Code Blocks-Footnote-2670196
  24044 Node: Results of Evaluation670354
  24045 Ref: Collection671161
  24046 Ref: Type672622
  24047 Ref: Format676565
  24048 Ref: Handling678998
  24049 Ref: Post-processing680383
  24050 Ref: Results of Evaluation-Footnote-1682133
  24051 Node: Exporting Code Blocks682291
  24052 Node: Extracting Source Code685962
  24053 Ref: Header arguments686943
  24054 Ref: Functions691178
  24055 Ref: Tangle hooks691429
  24056 Ref: Jumping between code and Org692205
  24057 Node: Languages692715
  24058 Node: Editing Source Code693716
  24059 Node: Noweb Reference Syntax696446
  24060 Ref: Noweb Reference Syntax-Footnote-1703086
  24061 Node: Library of Babel703177
  24062 Node: Key bindings and Useful Functions703895
  24063 Node: Batch Execution706320
  24064 Node: Miscellaneous707103
  24065 Node: Completion708497
  24066 Node: Structure Templates710422
  24067 Ref: Structure Templates-Footnote-1712172
  24068 Node: Speed Keys712264
  24069 Node: Clean View713433
  24070 Node: Org Indent Mode714635
  24071 Ref: Org Indent Mode-Footnote-1715841
  24072 Node: Hard indentation716065
  24073 Ref: Hard indentation-Footnote-1717548
  24074 Ref: Hard indentation-Footnote-2717654
  24075 Node: Execute commands in the active region717798
  24076 Node: Dynamic Headline Numbering718810
  24077 Node: The Very Busy C-c C-c Key719976
  24078 Node: In-buffer Settings721964
  24079 Ref: In-buffer Settings-Footnote-1731252
  24080 Node: Regular Expressions731450
  24081 Node: Org Syntax732072
  24082 Node: Documentation Access733730
  24083 Node: Escape Character734151
  24084 Node: Code Evaluation Security735012
  24085 Node: Interaction737879
  24086 Node: Cooperation738302
  24087 Node: Conflicts741194
  24088 Node: TTY Keys745796
  24089 Node: Protocols747398
  24090 Node: The store-link protocol748859
  24091 Node: The capture protocol750002
  24092 Node: The open-source protocol751635
  24093 Node: Org Crypt754876
  24094 Node: Org Mobile756755
  24095 Node: Setting up the staging area758111
  24096 Ref: Setting up the staging area-Footnote-1759351
  24097 Ref: Setting up the staging area-Footnote-2759558
  24098 Node: Pushing to the mobile application759730
  24099 Ref: Pushing to the mobile application-Footnote-1760741
  24100 Ref: Pushing to the mobile application-Footnote-2760832
  24101 Ref: Pushing to the mobile application-Footnote-3761199
  24102 Node: Pulling from the mobile application761275
  24103 Ref: Pulling from the mobile application-Footnote-1763588
  24104 Node: Hacking763641
  24105 Node: Hooks764592
  24106 Node: Add-on Packages764916
  24107 Node: Adding Hyperlink Types765385
  24108 Node: Adding Export Back-ends768980
  24109 Node: Tables in Arbitrary Syntax770237
  24110 Node: Radio tables771506
  24111 Node: A LaTeX example773643
  24112 Ref: A LaTeX example-Footnote-1777495
  24113 Ref: A LaTeX example-Footnote-2777538
  24114 Ref: A LaTeX example-Footnote-3777699
  24115 Node: Translator functions778151
  24116 Node: Dynamic Blocks780327
  24117 Node: Special Agenda Views782573
  24118 Ref: Special Agenda Views-Footnote-1786284
  24119 Ref: Special Agenda Views-Footnote-2786491
  24120 Node: Speeding Up Your Agendas786623
  24121 Node: Extracting Agenda Information788014
  24122 Node: Using the Property API791819
  24123 Node: Using the Mapping API795174
  24124 Node: History and Acknowledgments799207
  24125 Ref: From Carsten799405
  24126 Ref: From Bastien802836
  24127 Ref: List of Contributions804968
  24128 Node: GNU Free Documentation License813630
  24129 Ref: ADDENDUM How to use this License for your documents837588
  24130 Node: Main Index838981
  24131 Node: Key Index936806
  24132 Node: Command and Function Index993462
  24133 Node: Variable Index1041072
  24134 
  24135 End Tag Table
  24136 
  24137 
  24138 Local Variables:
  24139 coding: utf-8
  24140 End: