[Top] [Contents] [Index] [Search] [Page Top / Page Bottom] [?]

The Org Manual

download this manual file.


1. Introduction    Getting started
2. Document structure    A tree works like your brain
3. Tables    Pure magic for quick formatting
4. Hyperlinks    Notes in context
5. TODO items    Every tree branch can be a TODO item
6. Tags    Tagging headlines and matching sets of tags
7. Properties and columns    Storing information about an entry
8. Dates and times    Making items useful for planning
9. Capture - Refile - Archive    The ins and outs for projects
10. Agenda views    Collecting information into views
11. Markup for rich export    Prepare text for rich export
12. Exporting    Sharing and publishing of notes
13. Publishing    Create a web site of linked Org files
14. Working with source code    Export, evaluate, and tangle code blocks
15. Miscellaneous    All the rest which did not fit elsewhere
A. Hacking    How to hack your way around
B. MobileOrg    Viewing and capture on a mobile device
C. History and acknowledgments    How Org came into being
Concept index    An index of Org's concepts and features
Key index    Key bindings and where they are described
Variable index    Variables mentioned in the manual

 -- The Detailed Node Listing ---


1.1 Summary    Brief summary of what Org does
1.2 Installation    How to install a downloaded version of Org
1.3 Activation    How to activate Org for certain buffers
1.4 Feedback    Bug reports, ideas, patches etc.
1.5 Typesetting conventions used in this manual    Type-setting conventions in the manual

Document structure

2.1 Outlines    Org is based on Outline mode
2.2 Headlines    How to typeset Org tree headlines
2.3 Visibility cycling    Show and hide, much simplified
2.4 Motion    Jumping to other headlines
2.5 Structure editing    Changing sequence and level of headlines
2.6 Sparse trees    Matches embedded in context
2.7 Plain lists    Additional structure within an entry
2.8 Drawers    Tucking stuff away
2.9 Blocks    Folding blocks
2.10 Footnotes    How footnotes are defined in Org's syntax
2.11 The Orgstruct minor mode    Structure editing outside Org


3.1 The built-in table editor    Simple tables
3.2 Column width and alignment    Overrule the automatic settings
3.3 Column groups    Grouping to trigger vertical lines
3.4 The Orgtbl minor mode    The table editor as minor mode
3.5 The spreadsheet    The table editor has spreadsheet capabilities
3.6 Org-Plot    Plotting from org tables

The spreadsheet

3.5.1 References    How to refer to another field or range
3.5.2 Formula syntax for Calc    Using Calc to compute stuff
3.5.3 Emacs Lisp forms as formulas    Writing formulas in Emacs Lisp
3.5.4 Field formulas    Formulas valid for a single field
3.5.5 Column formulas    Formulas valid for an entire column
3.5.6 Editing and debugging formulas    Fixing formulas
3.5.7 Updating the table    Recomputing all dependent fields
3.5.8 Advanced features    Field names, parameters and automatic recalc


4.1 Link format    How links in Org are formatted
4.2 Internal links    Links to other places in the current file
4.3 External links    URL-like links to the world
4.4 Handling links    Creating, inserting and following
4.5 Using links outside Org    Linking from my C source code?
4.6 Link abbreviations    Shortcuts for writing complex links
4.7 Search options in file links    Linking to a specific location
4.8 Custom Searches    When the default search is not enough

Internal links

4.2.1 Radio targets    Make targets trigger links in plain text

TODO items

5.1 Basic TODO functionality    Marking and displaying TODO entries
5.2 Extended use of TODO keywords    Workflow and assignments
5.3 Progress logging    Dates and notes for progress
5.4 Priorities    Some things are more important than others
5.5 Breaking tasks down into subtasks    Splitting a task into manageable pieces
5.6 Checkboxes    Tick-off lists

Extended use of TODO keywords

5.2.1 TODO keywords as workflow states    From TODO to DONE in steps
5.2.2 TODO keywords as types    I do this, Fred does the rest
5.2.3 Multiple keyword sets in one file    Mixing it all, and still finding your way
5.2.4 Fast access to TODO states    Single letter selection of a state
5.2.5 Setting up keywords for individual files    Different files, different requirements
5.2.6 Faces for TODO keywords    Highlighting states
5.2.7 TODO dependencies    When one task needs to wait for others

Progress logging

5.3.1 Closing items    When was this entry marked DONE?
5.3.2 Tracking TODO state changes    When did the status change?
5.3.3 Tracking your habits    How consistent have you been?


6.1 Tag inheritance    Tags use the tree structure of the outline
6.2 Setting tags    How to assign tags to a headline
6.3 Tag searches    Searching for combinations of tags

Properties and columns

7.1 Property syntax    How properties are spelled out
7.2 Special properties    Access to other Org-mode features
7.3 Property searches    Matching property values
7.4 Property Inheritance    Passing values down the tree
7.5 Column view    Tabular viewing and editing
7.6 The Property API    Properties for Lisp programmers

Column view

7.5.1 Defining columns    The COLUMNS format property
7.5.2 Using column view    How to create and use column view
7.5.3 Capturing column view    A dynamic block for column view

Defining columns Scope of column definitions    Where defined, where valid? Column attributes    Appearance and content of a column

Dates and times

8.1 Timestamps, deadlines, and scheduling    Assigning a time to a tree entry
8.2 Creating timestamps    Commands which insert timestamps
8.3 Deadlines and scheduling    Planning your work
8.4 Clocking work time    Tracking how long you spend on a task
8.5 Resolving idle time    Resolving time if you've been idle
8.6 Effort estimates    Planning work effort in advance
8.7 Taking notes with a relative timer    Notes with a running timer

Creating timestamps

8.2.1 The date/time prompt    How Org-mode helps you entering date and time
8.2.2 Custom time format    Making dates look different

Deadlines and scheduling

8.3.1 Inserting deadlines or schedules    Planning items
8.3.2 Repeated tasks    Items that show up again and again

Capture - Refile - Archive

9.1 Capture    Capturing new stuff
9.2 Attachments    Add files to tasks
9.3 RSS feeds    Getting input from RSS feeds
9.4 Protocols for external access    External (e.g. Browser) access to Emacs and Org
9.5 Refiling notes    Moving a tree from one place to another
9.6 Archiving    What to do with finished projects


9.1.1 Setting up capture    Where notes will be stored
9.1.2 Using capture    Commands to invoke and terminate capture
9.1.3 Capture templates    Define the outline of different note types

Capture templates Template elements    What is needed for a complete template entry Template expansion    Filling in information about time and context


9.6.1 Moving a tree to the archive file    Moving a tree to an archive file
9.6.2 Internal archiving    Switch off a tree but keep it in the file

Agenda views

10.1 Agenda files    Files being searched for agenda information
10.2 The agenda dispatcher    Keyboard access to agenda views
10.3 The built-in agenda views    What is available out of the box?
10.4 Presentation and sorting    How agenda items are prepared for display
10.5 Commands in the agenda buffer    Remote editing of Org trees
10.6 Custom agenda views    Defining special searches and views
10.7 Exporting Agenda Views    Writing a view to a file
10.8 Using column view in the agenda    Using column view for collected entries

The built-in agenda views

10.3.1 The weekly/daily agenda    The calendar page with current tasks
10.3.2 The global TODO list    All unfinished action items
10.3.3 Matching tags and properties    Structured information with fine-tuned search
10.3.4 Timeline for a single file    Time-sorted view for single file
10.3.5 Search view    Find entries by searching for text
10.3.6 Stuck projects    Find projects you need to review

Presentation and sorting

10.4.1 Categories    Not all tasks are equal
10.4.2 Time-of-day specifications    How the agenda knows the time
10.4.3 Sorting of agenda items    The order of things

Custom agenda views

10.6.1 Storing searches    Type once, use often
10.6.2 Block agenda    All the stuff you need in a single buffer
10.6.3 Setting options for custom commands    Changing the rules

Markup for rich export

11.1 Structural markup elements    The basic structure as seen by the exporter
11.2 Images and Tables    Tables and Images will be included
11.3 Literal examples    Source code examples with special formatting
11.4 Include files    Include additional files into a document
11.5 Index entries    Making an index
11.6 Macro replacement    Use macros to create complex output
11.7 Embedded LaTeX    LaTeX can be freely used inside Org documents

Structural markup elements

Document title    Where the title is taken from
Headings and sections    The document structure as seen by the exporter
Table of contents    The if and where of the table of contents
Text before the first headline    Text before the first heading?
Paragraphs, line breaks, and quoting    Paragraphs
Footnote markup    Footnotes
Emphasis and monospace    Bold, italic, etc.
Horizontal rules    Make a line
Comment lines    What will *not* be exported

Embedded LaTeX

11.7.1 Special symbols    Greek letters and other symbols
11.7.2 Subscripts and superscripts    Simple syntax for raising/lowering text
11.7.3 LaTeX fragments    Complex formulas made easy
11.7.4 Previewing LaTeX fragments    What will this snippet look like?
11.7.5 Using CDLaTeX to enter math    Speed up entering of formulas


12.1 Selective export    Using tags to select and exclude trees
12.2 Export options    Per-file export settings
12.3 The export dispatcher    How to access exporter commands
12.4 ASCII/Latin-1/UTF-8 export    Exporting to flat files with encoding
12.5 HTML export    Exporting to HTML
12.6 LaTeX and PDF export    Exporting to LaTeX, and processing to PDF
12.7 DocBook export    Exporting to DocBook
12.8 TaskJuggler export    Exporting to TaskJuggler
12.9 Freemind export    Exporting to Freemind mind maps
12.10 XOXO export    Exporting to XOXO
12.11 iCalendar export    Exporting in iCalendar format

HTML export

12.5.1 HTML export commands    How to invoke HTML export
12.5.2 Quoting HTML tags    Using direct HTML in Org-mode
12.5.3 Links in HTML export    How links will be interpreted and formatted
12.5.4 Tables    How to modify the formatting of tables
12.5.5 Images in HTML export    How to insert figures into HTML output
12.5.6 Text areas in HTML export    An alternative way to show an example
12.5.7 CSS support    Changing the appearance of the output
12.5.8 JavaScript supported display of web pages    Info and Folding in a web browser

LaTeX and PDF export

12.6.1 LaTeX export commands    Which key invokes which commands
12.6.2 Header and sectioning structure    Setting up the export file structure
12.6.3 Quoting LaTeX code    Incorporating literal LaTeX code
12.6.4 Tables in LaTeX export    Options for exporting tables to LaTeX
12.6.5 Images in LaTeX export    How to insert figures into LaTeX output
12.6.6 Beamer class export    Turning the file into a presentation

DocBook export

12.7.1 DocBook export commands    How to invoke DocBook export
12.7.2 Quoting DocBook code    Incorporating DocBook code in Org files
12.7.3 Recursive sections    Recursive sections in DocBook
12.7.4 Tables in DocBook export    Tables are exported as HTML tables
12.7.5 Images in DocBook export    How to insert figures into DocBook output
12.7.6 Special characters in DocBook export    How to handle special characters


13.1 Configuration    Defining projects
13.2 Uploading files    How to get files up on the server
13.3 Sample configuration    Example projects
13.4 Triggering publication    Publication commands


13.1.1 The variable org-publish-project-alist    The central configuration variable
13.1.2 Sources and destinations for files    From here to there
13.1.3 Selecting files    What files are part of the project?
13.1.4 Publishing action    Setting the function doing the publishing
13.1.5 Options for the HTML/LaTeX exporters    Tweaking HTML export
13.1.6 Links between published files    Which links keep working after publishing?
13.1.7 Generating a sitemap    Generating a list of all pages
13.1.8 Generating an index    An index that reaches across pages

Sample configuration

13.3.1 Example: simple publishing configuration    One-component publishing
13.3.2 Example: complex publishing configuration    A multi-component publishing example

Working with source code

14.1 Structure of code blocks    Code block syntax described
14.2 Editing source code    Language major-mode editing
14.3 Exporting code blocks    Export contents and/or results
14.4 Extracting source code    Create pure source code files
14.5 Evaluating code blocks    Place results of evaluation in the Org-mode buffer
14.6 Library of Babel    Use and contribute to a library of useful code blocks
14.7 Languages    List of supported code block languages
14.8 Header arguments    Configure code block functionality
14.9 Results of evaluation    How evaluation results are handled
14.10 Noweb reference syntax    Literate programming in Org-mode
14.11 Key bindings and useful functions    Work quickly with code blocks
14.12 Batch execution    Call functions from the command line

Header arguments

14.8.1 Using header arguments    Different ways to set header arguments
14.8.2 Specific header arguments    List of header arguments

Using header arguments

System-wide header arguments    Set global default values
Language-specific header arguments    Set default values by language
Buffer-wide header arguments    Set default values for a specific buffer
Header arguments in Org-mode properties    Set default values for a buffer or heading
Code block specific header arguments    The most common way to set values

Specific header arguments :var    Pass arguments to code blocks :results    Specify the type of results and how they will be collected and handled :file    Specify a path for file output :dir and remote execution    Specify the default directory for code block execution :exports    Export code and/or results :tangle    Toggle tangling and specify file name :no-expand    Turn off variable assignment and noweb expansion during tangling :session    Preserve the state of code evaluation :noweb    Toggle expansion of noweb references :cache    Avoid re-evaluating unchanged code blocks :hlines    Handle horizontal lines in tables :colnames    Handle column names in tables :rownames    Handle row names in tables :shebang    Make tangled files executable


15.1 Completion    M-TAB knows what you need
15.2 Speed keys    Electric commands at the beginning of a headline
15.3 Code evaluation and security issues    Org mode files evaluate inline code
15.4 Customization    Adapting Org to your taste
15.5 Summary of in-buffer settings    Overview of the #+KEYWORDS
15.6 The very busy C-c C-c key    When in doubt, press C-c C-c
15.7 A cleaner outline view    Getting rid of leading stars in the outline
15.8 Using Org on a tty   
15.9 Interaction with other packages    Other Emacs packages

Interaction with other packages

15.9.1 Packages that Org cooperates with    Packages Org cooperates with
15.9.2 Packages that lead to conflicts with Org-mode    Packages that lead to conflicts


A.1 Hooks    Who to reach into Org's internals
A.2 Add-on packages    Available extensions
A.3 Adding hyperlink types    New custom link types
A.4 Context-sensitive commands    How to add functionality to such commands
A.5 Tables and lists in arbitrary syntax    Orgtbl for LaTeX and other programs
A.6 Dynamic blocks    Automatically filled blocks
A.7 Special agenda views    Customized views
A.8 Extracting agenda information    Postprocessing of agenda information
A.9 Using the property API    Writing programs that use entry properties
A.10 Using the mapping API    Mapping over all or selected entries

Tables and lists in arbitrary syntax

A.5.1 Radio tables    Sending and receiving radio tables
A.5.2 A LaTeX example of radio tables    Step by step, almost a tutorial
A.5.3 Translator functions    Copy and modify
A.5.4 Radio lists    Doing the same for lists


B.1 Setting up the staging area    Where to interact with the mobile device
B.2 Pushing to MobileOrg    Uploading Org files and agendas
B.3 Pulling from MobileOrg    Integrating captured and flagged items