summaryrefslogtreecommitdiff
path: root/elpa/org-9.5.2/doc/org-guide.org
diff options
context:
space:
mode:
authormattkae <mattkae@protonmail.com>2022-06-07 08:23:47 -0400
committermattkae <mattkae@protonmail.com>2022-06-07 08:23:47 -0400
commitbd18a38c2898548a3664a9ddab9f79c84f2caf4a (patch)
tree95b9933376770381bd8859782ae763be81c2d72b /elpa/org-9.5.2/doc/org-guide.org
parentb07628dddf418d4f47b858e6c35fd3520fbaeed2 (diff)
parentef160dea332af4b4fe5e2717b962936c67e5fe9e (diff)
Merge conflict
Diffstat (limited to 'elpa/org-9.5.2/doc/org-guide.org')
-rw-r--r--elpa/org-9.5.2/doc/org-guide.org2654
1 files changed, 0 insertions, 2654 deletions
diff --git a/elpa/org-9.5.2/doc/org-guide.org b/elpa/org-9.5.2/doc/org-guide.org
deleted file mode 100644
index aa793f1..0000000
--- a/elpa/org-9.5.2/doc/org-guide.org
+++ /dev/null
@@ -1,2654 +0,0 @@
-#+title: Org Mode Compact Guide
-#+subtitle: Release {{{version}}}
-#+author: The Org Mode Developers
-#+language: en
-
-#+texinfo: @insertcopying
-
-* Copying
-:PROPERTIES:
-:copying: t
-:END:
-
-Copyright \copy 2004--2021 Free Software Foundation, Inc.
-
-#+begin_quote
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.3 or
-any later version published by the Free Software Foundation; with no
-Invariant Sections, with the Front-Cover Texts being "A GNU Manual,"
-and with the Back-Cover Texts as in (a) below. A copy of the license
-is included in the section entitled "GNU Free Documentation License."
-in the full Org manual, which is distributed together with this
-compact guide.
-
-(a) The FSF's Back-Cover Text is: "You have the freedom to copy and
-modify this GNU manual."
-#+end_quote
-
-* Introduction
-:PROPERTIES:
-:DESCRIPTION: Welcome!
-:END:
-
-Org is a mode for keeping notes, maintaining TODO lists, and doing
-project planning with a fast and effective plain-text system. It is
-also an authoring and publishing system, and it supports working with
-source code for literal programming and reproducible research.
-
-This document is a much compressed derivative of the [[info:org][comprehensive Org
-mode manual]]. It contains all basic features and commands, along with
-important hints for customization. It is intended for beginners who
-would shy back from a 200 pages manual because of sheer size.
-
-** Installation
-:PROPERTIES:
-:UNNUMBERED: notoc
-:END:
-
-#+attr_texinfo: :tag Important
-#+begin_quote
-If you are using a version of Org that is part of the Emacs
-distribution, please skip this section and go directly to [[*Activation]].
-#+end_quote
-
-If you have downloaded Org from the web, either as a distribution
-=.zip= or =.tar= file, or as a Git archive, it is best to run it
-directly from the distribution directory. You need to add the =lisp/=
-subdirectories to the Emacs load path. To do this, add the following
-line to your Emacs init file:
-
-: (add-to-list 'load-path "~/path/to/orgdir/lisp")
-
-#+texinfo: @noindent
-If you have been using git or a tar ball to get Org, you need to run
-the following command to generate autoload information.
-
-: make autoloads
-
-** Activation
-:PROPERTIES:
-:UNNUMBERED: notoc
-:END:
-
-Add the following lines to your Emacs init file to define /global/
-keys for three commands that are useful in any Emacs buffer, not just
-Org buffers. Please choose suitable keys yourself.
-
-#+begin_src emacs-lisp
-(global-set-key (kbd "C-c l") #'org-store-link)
-(global-set-key (kbd "C-c a") #'org-agenda)
-(global-set-key (kbd "C-c c") #'org-capture)
-#+end_src
-
-Files with extension =.org= will be put into Org mode automatically.
-
-** Feedback
-:PROPERTIES:
-:UNNUMBERED: notoc
-:END:
-
-If you find problems with Org, or if you have questions, remarks, or
-ideas about it, please mail to the Org mailing list
-mailto:emacs-orgmode@gnu.org. For information on how to submit bug
-reports, see the main manual.
-
-* Document Structure
-:PROPERTIES:
-:DESCRIPTION: A tree works like your brain.
-:END:
-
-Org is an outliner. Outlines allow a document to be organized in
-a hierarchical structure, which, least for me, is the best
-representation of notes and thoughts. An overview of this structure
-is achieved by folding, i.e., hiding large parts of the document to
-show only the general document structure and the parts currently being
-worked on. Org greatly simplifies the use of outlines by compressing
-the entire show and hide functionalities into a single command,
-~org-cycle~, which is bound to the {{{kbd(TAB)}}} key.
-
-** Headlines
-:PROPERTIES:
-:DESCRIPTION: How to typeset Org tree nodes.
-:END:
-
-Headlines define the structure of an outline tree. The headlines in
-Org start on the left margin[fn:1] with one or more stars followed by
-a space. For example:
-
-#+begin_example
-,* Top level headline
-,** Second level
-,*** Third level
- some text
-,*** Third level
- more text
-,* Another top level headline
-#+end_example
-
-Note that a headline named after ~org-footnote-section~, which
-defaults to =Footnotes=, is considered as special. A subtree with
-this headline will be silently ignored by exporting functions.
-
-Some people find the many stars too noisy and would prefer an outline
-that has whitespace followed by a single star as headline starters.
-See [[*Miscellaneous]] for a setup to realize this.
-
-** Visibility Cycling
-:PROPERTIES:
-:DESCRIPTION: Show and hide, much simplified.
-:END:
-
-Outlines make it possible to hide parts of the text in the buffer.
-Org uses just two commands, bound to {{{kbd(TAB)}}} and
-{{{kbd{S-TAB)}}} to change the visibility in the buffer.
-
-#+attr_texinfo: :sep ,
-- {{{kbd(TAB)}}} ::
-
- /Subtree cycling/: Rotate current subtree among the states
-
- : ,-> FOLDED -> CHILDREN -> SUBTREE --.
- : '-----------------------------------'
-
- When called with a prefix argument ({{{kbd(C-u TAB)}}}), or with the
- Shift key, global cycling is invoked.
-
-- {{{kbd(S-TAB)}}}, {{{kbd(C-u TAB)}}} ::
-
- /Global cycling/: Rotate the entire buffer among the states
-
- : ,-> OVERVIEW -> CONTENTS -> SHOW ALL --.
- : '--------------------------------------'
-
-- {{{kbd(C-u C-u C-u TAB)}}} ::
-
- Show all, including drawers.
-
-When Emacs first visits an Org file, the global state is set to
-OVERVIEW, i.e., only the top level headlines are visible. This can be
-configured through the variable ~org-startup-folded~, or on a per-file
-basis by adding a =STARTUP= keyword to =overview=, =content=,
-=showall=, =showeverything= or =show<n>levels= (n = 2..5) like this:
-
-: #+STARTUP: content
-
-** Motion
-:PROPERTIES:
-:DESCRIPTION: Jumping to other headlines.
-:END:
-
-The following commands jump to other headlines in the buffer.
-
-- {{{kbd(C-c C-n)}}} :: Next heading.
-
-- {{{kbd(C-c C-p)}}} :: Previous heading.
-
-- {{{kbd(C-c C-f)}}} :: Next heading same level.
-
-- {{{kbd(C-c C-b)}}} :: Previous heading same level.
-
-- {{{kbd(C-c C-u)}}} :: Backward to higher level heading.
-
-** Structure Editing
-:PROPERTIES:
-:DESCRIPTION: Changing sequence and level of headlines.
-:END:
-
-#+attr_texinfo: :sep ,
-- {{{kbd(M-RET)}}} ::
-
- Insert new heading with same level as current. If point is in
- a plain list item, a new item is created (see [[Plain Lists]]). When
- this command is used in the middle of a line, the line is split and
- the rest of the line becomes the new headline[fn:2].
-
-- {{{kbd(M-S-RET)}}} ::
-
- Insert new TODO entry with same level as current heading.
-
-- {{{kbd(TAB)}}} in new, empty entry ::
-
- In a new entry with no text yet, {{{kbd(TAB)}}} cycles through
- reasonable levels.
-
-- {{{kbd(M-LEFT)}}}, {{{kbd(M-RIGHT)}}} ::
-
- Promote or demote current heading by one level.
-
-- {{{kbd(M-UP)}}}, {{{kbd(M-DOWN)}}} ::
-
- Move subtree up or down, i.e., swap with previous or next subtree of
- same level.
-
-- {{{kbd(C-c C-w)}}} ::
-
- Refile entry or region to a different location. See [[*Refile and
- Copy]].
-
-- {{{kbd(C-x n s)}}}, {{{kbd(C-x n w)}}} ::
-
- Narrow buffer to current subtree and widen it again.
-
-When there is an active region (Transient Mark mode), promotion and
-demotion work on all headlines in the region.
-
-** Sparse Trees
-:PROPERTIES:
-:DESCRIPTION: Matches embedded in context.
-:END:
-
-An important feature of Org mode is the ability to construct /sparse
-trees/ for selected information in an outline tree, so that the entire
-document is folded as much as possible, but the selected information
-is made visible along with the headline structure above it[fn:3].
-Just try it out and you will see immediately how it works.
-
-Org mode contains several commands creating such trees, all these
-commands can be accessed through a dispatcher:
-
-- {{{kbd(C-c /)}}} ::
-
- This prompts for an extra key to select a sparse-tree creating
- command.
-
-- {{{kbd(C-c / r)}}} ::
-
- Occur. Prompts for a regexp and shows a sparse tree with all
- matches. Each match is also highlighted; the highlights disappear
- by pressing {{{kbd(C-c C-c)}}}.
-
- The other sparse tree commands select headings based on TODO
- keywords, tags, or properties and will be discussed later in this
- manual.
-
-** Plain Lists
-:PROPERTIES:
-:DESCRIPTION: Additional structure within an entry.
-:END:
-
-Within an entry of the outline tree, hand-formatted lists can provide
-additional structure. They also provide a way to create lists of
-checkboxes (see [[*Checkboxes]]). Org supports editing such lists, and
-every exporter (see [[*Exporting]]) can parse and format them.
-
-Org knows ordered lists, unordered lists, and description lists.
-
-#+attr_texinfo: :indic @bullet
-- /Unordered/ list items start with =-=, =+=, or =*= as bullets.
-
-- /Ordered/ list items start with =1.=, or =1)=.
-
-- /Description/ list use =::= to separate the /term/ from the
- description.
-
-Items belonging to the same list must have the same indentation on the
-first line. An item ends before the next line that is indented like
-its bullet/number, or less. A list ends when all items are closed, or
-before two blank lines. An example:
-
-#+begin_example
-,* Lord of the Rings
- My favorite scenes are (in this order)
- 1. The attack of the Rohirrim
- 2. Eowyn's fight with the witch king
- + this was already my favorite scene in the book
- + I really like Miranda Otto.
- Important actors in this film are:
- - Elijah Wood :: He plays Frodo
- - Sean Astin :: He plays Sam, Frodo's friend.
-#+end_example
-
-The following commands act on items when point is in the first line of
-an item (the line with the bullet or number).
-
-#+attr_texinfo: :sep ,
-- {{{kbd(TAB)}}} ::
-
- Items can be folded just like headline levels.
-
-- {{{kbd(M-RET)}}} ::
-
- Insert new item at current level. With a prefix argument, force
- a new heading (see [[*Structure Editing]]).
-
-- {{{kbd(M-S-RET)}}} ::
-
- Insert a new item with a checkbox (see [[*Checkboxes]]).
-
-- {{{kbd(M-S-UP)}}}, {{{kbd(M-S-DOWN)}}} ::
-
- Move the item including subitems up/down (swap with previous/next
- item of same indentation). If the list is ordered, renumbering is
- automatic.
-
-- {{{kbd(M-LEFT)}}}, {{{kbd(M-RIGHT)}}} ::
-
- Decrease/increase the indentation of an item, leaving children
- alone.
-
-- {{{kbd(M-S-LEFT)}}}, {{{kbd(M-S-RIGHT)}}} ::
-
- Decrease/increase the indentation of the item, including subitems.
-
-- {{{kbd(C-c C-c)}}} ::
-
- If there is a checkbox (see [[*Checkboxes]]) in the item line, toggle
- the state of the checkbox. Also verify bullets and indentation
- consistency in the whole list.
-
-- {{{kbd(C-c -)}}} ::
-
- Cycle the entire list level through the different itemize/enumerate
- bullets (=-=, =+=, =*=, =1.=, =1)=).
-
-* Tables
-:PROPERTIES:
-:DESCRIPTION: Pure magic for quick formatting.
-:END:
-
-Org comes with a fast and intuitive table editor. Spreadsheet-like
-calculations are supported in connection with the Emacs Calc package
-(see [[info:calc][GNU Emacs Calculator Manual]]).
-
-Org makes it easy to format tables in plain ASCII. Any line with =|=
-as the first non-whitespace character is considered part of a table.
-=|= is also the column separator. A table might look like this:
-
-#+begin_example
-| Name | Phone | Age |
-|-------+-------+-----|
-| Peter | 1234 | 17 |
-| Anna | 4321 | 25 |
-#+end_example
-
-A table is re-aligned automatically each time you press {{{kbd(TAB)}}}
-or {{{kbd(RET)}}} or {{{kbd(C-c C-c)}}} inside the table.
-{{{kbd(TAB)}}} also moves to the next field ({{{kbd(RET)}}} to the
-next row) and creates new table rows at the end of the table or before
-horizontal lines. The indentation of the table is set by the first
-line. Any line starting with =|-= is considered as a horizontal
-separator line and will be expanded on the next re-align to span the
-whole table width. So, to create the above table, you would only type
-
-: |Name|Phone|Age|
-: |-
-
-#+texinfo: @noindent
-and then press {{{kbd(TAB)}}} to align the table and start filling in
-fields. Even faster would be to type =|Name|Phone|Age= followed by
-{{{kbd(C-c RET)}}}.
-
-When typing text into a field, Org treats {{{kbd(DEL)}}},
-{{{kbd(Backspace)}}}, and all character keys in a special way, so that
-inserting and deleting avoids shifting other fields. Also, when
-typing /immediately after point was moved into a new field with
-{{{kbd(TAB)}}}, {{{kbd(S-TAB)}}} or {{{kbd(RET)}}}/, the field is
-automatically made blank.
-
-** Creation and conversion
-:PROPERTIES:
-:UNNUMBERED: notoc
-:END:
-
-- {{{kbd(C-c |)}}} ::
-
- Convert the active region to table. If every line contains at least
- one {{{kbd(TAB)}}} character, the function assumes that the material
- is tab separated. If every line contains a comma, comma-separated
- values (CSV) are assumed. If not, lines are split at whitespace
- into fields.
-
- If there is no active region, this command creates an empty Org
- table. But it is easier just to start typing, like {{{kbd(|
- N a m e | P h o n e | A g e RET | - TAB)}}}.
-
-** Re-aligning and field motion
-:PROPERTIES:
-:UNNUMBERED: notoc
-:END:
-
-#+attr_texinfo: :sep ,
-- {{{kbd(C-c C-c)}}} ::
-
- Re-align the table without moving point.
-
-- {{{kbd(TAB)}}} ::
-
- Re-align the table, move to the next field. Creates a new row if
- necessary.
-
-- {{{kbd(S-TAB)}}} ::
-
- Re-align, move to previous field.
-
-- {{{kbd(RET)}}} ::
-
- Re-align the table and move down to next row. Creates a new row if
- necessary.
-
-- {{{kbd(S-UP)}}}, {{{kbd(S-DOWN)}}}, {{{kbd(S-LEFT)}}}, {{{kbd(S-RIGHT)}}} ::
-
- Move a cell up, down, left, and right by swapping with adjacent
- cell.
-
-** Column and row editing
-:PROPERTIES:
-:UNNUMBERED: notoc
-:END:
-
-- {{{kbd(M-LEFT)}}}, {{{kbd(M-RIGHT)}}} ::
-
- Move the current column left/right.
-
-- {{{kbd(M-S-LEFT)}}} ::
-
- Kill the current column.
-
-- {{{kbd(M-S-RIGHT)}}} ::
-
- Insert a new column to the left of point position.
-
-- {{{kbd(M-UP)}}}, {{{kbd(M-DOWN)}}} ::
-
- Move the current row up/down.
-
-- {{{kbd(M-S-UP)}}} ::
-
- Kill the current row or horizontal line.
-
-- {{{kbd(M-S-DOWN)}}} ::
-
- Insert a new row above the current row. With a prefix argument, the
- line is created below the current one.
-
-- {{{kbd(C-c -)}}} ::
-
- Insert a horizontal line below current row. With a prefix argument,
- the line is created above the current line.
-
-- {{{kbd(C-c RET)}}} ::
-
- Insert a horizontal line below current row, and move the point into
- the row below that line.
-
-- {{{kbd(C-c ^)}}} ::
-
- Sort the table lines in the region. The position of point indicates
- the column to be used for sorting, and the range of lines is the
- range between the nearest horizontal separator lines, or the entire
- table.
-
-* Hyperlinks
-:PROPERTIES:
-:DESCRIPTION: Notes in context.
-:END:
-
-Like HTML, Org provides links inside a file, external links to other
-files, Usenet articles, emails, and much more.
-
-Org recognizes plain URIs, possibly wrapped within angle brackets, and
-activate them as clickable links. The general link format, however,
-looks like this:
-
-: [[LINK][DESCRIPTION]]
-
-#+texinfo: @noindent
-or alternatively
-
-: [[LINK]]
-
-Once a link in the buffer is complete, with all brackets present, Org
-changes the display so that =DESCRIPTION= is displayed instead of
-=[[LINK][DESCRIPTION]]= and =LINK= is displayed instead of =[[LINK]]=.
-To edit the invisible {{{var(LINK)}}} part, use {{{kbd(C-c C-l)}}}
-with the point on the link.
-
-** Internal links
-:PROPERTIES:
-:UNNUMBERED: notoc
-:END:
-
-If the link does not look like a URL, it is considered to be internal
-in the current file. The most important case is a link like
-=[[#my-custom-id]]= which links to the entry with the =CUSTOM_ID= property
-=my-custom-id=.
-
-Links such as =[[My Target]]= or =[[My Target][Find my target]]= lead
-to a text search in the current file for the corresponding target,
-which looks like =<<My Target>>=.
-
-** External Links
-:PROPERTIES:
-:UNNUMBERED: notoc
-:END:
-
-Org supports links to files, websites, Usenet and email messages, BBDB
-database entries and links to both IRC conversations and their logs.
-External links are URL-like locators. They start with a short
-identifying string followed by a colon. There can be no space after
-the colon. Here are some examples:
-
-| =http://www.astro.uva.nl/=dominik= | on the web |
-| =file:/home/dominik/images/jupiter.jpg= | file, absolute path |
-| =/home/dominik/images/jupiter.jpg= | same as above |
-| =file:papers/last.pdf= | file, relative path |
-| =./papers/last.pdf= | same as above |
-| =file:projects.org= | another Org file |
-| =docview:papers/last.pdf::NNN= | open in DocView mode at page {{{var(NNN)}}} |
-| =id:B7423F4D-2E8A-471B-8810-C40F074717E9= | link to heading by ID |
-| =news:comp.emacs= | Usenet link |
-| =mailto:adent@galaxy.net= | mail link |
-| =mhe:folder#id= | MH-E message link |
-| =rmail:folder#id= | Rmail message link |
-| =gnus:group#id= | Gnus article link |
-| =bbdb:R.*Stallman= | BBDB link (with regexp) |
-| =irc:/irc.com/#emacs/bob= | IRC link |
-| =info:org#Hyperlinks= | Info node link |
-
-File links can contain additional information to make Emacs jump to
-a particular location in the file when following a link. This can be
-a line number or a search option after a double colon. Here are a few
-examples,, together with an explanation:
-
-| =file:~/code/main.c::255= | Find line 255 |
-| =file:~/xx.org::My Target= | Find =<<My Target>>= |
-| =[[file:~/xx.org::#my-custom-id]]= | Find entry with a custom ID |
-
-** Handling Links
-:PROPERTIES:
-:UNNUMBERED: notoc
-:END:
-
-Org provides methods to create a link in the correct syntax, to insert
-it into an Org file, and to follow the link.
-
-The main function is ~org-store-link~, called with {{{kbd(M-x
-org-store-link)}}}. Because of its importance, we suggest to bind it
-to a widely available key (see [[*Activation]]). It stores a link to the
-current location. The link is stored for later insertion into an Org
-buffer---see below.
-
-From an Org buffer, the following commands create, navigate or, more
-generally, act on links.
-
-#+attr_texinfo: :sep ,
-- {{{kbd(C-c C-l)}}} ::
-
- Insert a link. This prompts for a link to be inserted into the
- buffer. You can just type a link, or use history keys {{{kbd(UP)}}}
- and {{{kbd(DOWN)}}} to access stored links. You will be prompted
- for the description part of the link.
-
- When called with a {{{kbd(C-u)}}} prefix argument, file name
- completion is used to link to a file.
-
-- {{{kbd(C-c C-l)}}} (with point on existing link) ::
-
- When point is on an existing link, {{{kbd(C-c C-l)}}} allows you to
- edit the link and description parts of the link.
-
-- {{{kbd(C-c C-o)}}} ::
-
- Open link at point.
-
-- {{{kbd(C-c &)}}} ::
-
- Jump back to a recorded position. A position is recorded by the
- commands following internal links, and by {{{kbd(C-c %)}}}. Using
- this command several times in direct succession moves through a ring
- of previously recorded positions.
-
-* TODO Items
-:PROPERTIES:
-:DESCRIPTION: Every tree branch can be a TODO item.
-:END:
-
-Org mode does not require TODO lists to live in separate documents.
-Instead, TODO items are part of a notes file, because TODO items
-usually come up while taking notes! With Org mode, simply mark any
-entry in a tree as being a TODO item. In this way, information is not
-duplicated, and TODO items remain in the context from which they
-emerged.
-
-Org mode provides methods to give you an overview of all the things
-that you have to do, collected from many files.
-
-** Basic TODO Functionality
-:PROPERTIES:
-:DESCRIPTION: Marking and displaying TODO entries.
-:ALT_TITLE: TODO Basics
-:END:
-
-Any headline becomes a TODO item when it starts with the word =TODO=,
-for example:
-
-: *** TODO Write letter to Sam Fortune
-
-The most important commands to work with TODO entries are:
-
-#+attr_texinfo: :sep ,
-- {{{kbd(C-c C-t)}}} ::
-
- Rotate the TODO state of the current item among
-
- : ,-> (unmarked) -> TODO -> DONE --.
- : '--------------------------------'
-
- The same rotation can also be done "remotely" from the agenda buffer
- with the {{{kbd(t)}}} command key (see [[*Commands in the Agenda
- Buffer]]).
-
-- {{{kbd(S-RIGHT)}}}, {{{kbd(S-LEFT)}}} ::
-
- Select the following/preceding TODO state, similar to cycling.
-
-- {{{kbd(C-c / t)}}} ::
-
- View TODO items in a /sparse tree/ (see [[*Sparse Trees]]). Folds the
- entire buffer, but shows all TODO items---with not-DONE state---and
- the headings hierarchy above them.
-
-- {{{kbd(M-x org-agenda t)}}} ::
-
- Show the global TODO list. Collects the TODO items (with not-DONE
- states) from all agenda files (see [[*Agenda Views]]) into a single
- buffer. See [[*The Global TODO List]], for more information.
-
-- {{{kbd(S-M-RET)}}} ::
-
- Insert a new TODO entry below the current one.
-
-Changing a TODO state can also trigger tag changes. See the docstring
-of the option ~org-todo-state-tags-triggers~ for details.
-
-** Multi-state Workflow
-:PROPERTIES:
-:DESCRIPTION: More than just on/off.
-:END:
-
-You can use TODO keywords to indicate @emph{sequential} working progress
-states:
-
-#+begin_src emacs-lisp
-(setq org-todo-keywords
- '((sequence "TODO" "FEEDBACK" "VERIFY" "|" "DONE" "DELEGATED")))
-#+end_src
-
-#+texinfo: @noindent
-The vertical bar separates the =TODO= keywords (states that /need
-action/) from the =DONE= states (which need /no further action/). If
-you do not provide the separator bar, the last state is used as the
-=DONE= state. With this setup, the command {{{kbd(C-c C-t)}}} cycles
-an entry from =TODO= to =FEEDBACK=, then to =VERIFY=, and finally to
-=DONE= and =DELEGATED=.
-
-Sometimes you may want to use different sets of TODO keywords in
-parallel. For example, you may want to have the basic =TODO=/=DONE=,
-but also a workflow for bug fixing. Your setup would then look like
-this:
-
-#+begin_src emacs-lisp
-(setq org-todo-keywords
- '((sequence "TODO(t)" "|" "DONE(d)")
- (sequence "REPORT(r)" "BUG(b)" "KNOWNCAUSE(k)" "|" "FIXED(f)")))
-#+end_src
-
-#+texinfo: @noindent
-The keywords should all be different, this helps Org mode to keep
-track of which subsequence should be used for a given entry. The
-example also shows how to define keys for fast access of a particular
-state, by adding a letter in parenthesis after each keyword---you will
-be prompted for the key after {{{kbd(C-c C-t)}}}.
-
-To define TODO keywords that are valid only in a single file, use the
-following text anywhere in the file.
-
-#+begin_example
-,#+TODO: TODO(t) | DONE(d)
-,#+TODO: REPORT(r) BUG(b) KNOWNCAUSE(k) | FIXED(f)
-,#+TODO: | CANCELED(c)
-#+end_example
-
-After changing one of these lines, use {{{kbd(C-c C-c)}}} with the
-cursor still in the line to make the changes known to Org mode.
-
-** Progress Logging
-:PROPERTIES:
-:DESCRIPTION: Dates and notes for progress.
-:END:
-
-To record a timestamp and a note when changing a TODO state, call the
-command ~org-todo~ with a prefix argument.
-
-#+attr_texinfo: :sep ,
-- {{{kbd(C-u C-c C-t)}}} ::
- Prompt for a note and record a the time of the TODO state change.
-
-Org mode can also automatically record a timestamp and optionally a
-note when you mark a TODO item as DONE, or even each time you change
-the state of a TODO item. This system is highly configurable,
-settings can be on a per-keyword basis and can be localized to a file
-or even a subtree. For information on how to clock working time for a
-task, see [[*Clocking Work Time]].
-
-*** Closing items
-:PROPERTIES:
-:UNNUMBERED: notoc
-:END:
-
-The most basic logging is to keep track of /when/ a certain TODO item
-was marked as done. This can be achieved with[fn:4]
-
-#+begin_src emacs-lisp
-(setq org-log-done 'time)
-#+end_src
-
-#+texinfo: @noindent
-Then each time you turn an entry from a TODO (not-done) state into any
-of the DONE states, a line =CLOSED: [timestamp]= is inserted just
-after the headline.
-
-If you want to record a note along with the timestamp, use[fn:5]
-
-#+begin_src emacs-lisp
-(setq org-log-done 'note)
-#+end_src
-
-#+texinfo: @noindent
-You are then be prompted for a note, and that note is stored below the
-entry with a =Closing Note= heading.
-
-*** Tracking TODO state changes
-:PROPERTIES:
-:UNNUMBERED: notoc
-:END:
-
-You might want to keep track of TODO state changes. You can either
-record just a timestamp, or a time-stamped note for a change. These
-records are inserted after the headline as an itemized list. When
-taking a lot of notes, you might want to get the notes out of the way
-into a drawer. Customize the variable ~org-log-into-drawer~ to get
-this behavior.
-
-For state logging, Org mode expects configuration on a per-keyword
-basis. This is achieved by adding special markers =!= (for
-a timestamp) and =@= (for a note) in parentheses after each keyword.
-For example:
-
-: #+TODO: TODO(t) WAIT(w@/!) | DONE(d!) CANCELED(c@)
-
-#+texinfo: @noindent
-defines TODO keywords and fast access keys, and also request that
-a time is recorded when the entry is set to =DONE=, and that a note is
-recorded when switching to =WAIT= or =CANCELED=. The same syntax
-works also when setting ~org-todo-keywords~.
-
-** Priorities
-:PROPERTIES:
-:DESCRIPTION: Some things are more important than others.
-:END:
-
-If you use Org mode extensively, you may end up with enough TODO items
-that it starts to make sense to prioritize them. Prioritizing can be
-done by placing a /priority cookie/ into the headline of a TODO item,
-like this
-
-: *** TODO [#A] Write letter to Sam Fortune
-
-Org mode supports three priorities: =A=, =B=, and =C=. =A= is the
-highest, =B= the default if none is given. Priorities make
-a difference only in the agenda.
-
-#+attr_texinfo: :sep ;
-- {{{kbd(C-c \,)}}} ::
-
- Set the priority of the current headline. Press {{{kbd(A)}}},
- {{{kbd(B)}}} or {{{kbd(C)}}} to select a priority, or {{{kbd(SPC)}}}
- to remove the cookie.
-
-- {{{kbd(S-UP)}}} (~org-priority-up~); {{{kbd(S-DOWN)}}} (~org-priority-down~) ::
-
- Increase/decrease the priority of the current headline.
-
-** Breaking Tasks Down into Subtasks
-:PROPERTIES:
-:DESCRIPTION: Splitting a task into manageable pieces.
-:ALT_TITLE: Breaking Down Tasks
-:END:
-
-It is often advisable to break down large tasks into smaller,
-manageable subtasks. You can do this by creating an outline tree
-below a TODO item, with detailed subtasks on the tree. To keep an
-overview of the fraction of subtasks that have already been marked
-as done, insert either =[/]= or =[%]= anywhere in the headline. These
-cookies are updated each time the TODO status of a child changes, or
-when pressing {{{kbd(C-c C-c)}}} on the cookie. For example:
-
-#+begin_example
-,* Organize Party [33%]
-,** TODO Call people [1/2]
-,*** TODO Peter
-,*** DONE Sarah
-,** TODO Buy food
-,** DONE Talk to neighbor
-#+end_example
-
-** Checkboxes
-:PROPERTIES:
-:DESCRIPTION: Tick-off lists.
-:END:
-
-Every item in a plain list (see [[*Plain Lists]]) can be made into
-a checkbox by starting it with the string =[ ]=. Checkboxes are not
-included into the global TODO list, so they are often great to split
-a task into a number of simple steps.
-
-Here is an example of a checkbox list.
-
-#+begin_example
-,* TODO Organize party [2/4]
- - [-] call people [1/2]
- - [ ] Peter
- - [X] Sarah
- - [X] order food
-#+end_example
-
-Checkboxes work hierarchically, so if a checkbox item has children
-that are checkboxes, toggling one of the children checkboxes makes the
-parent checkbox reflect if none, some, or all of the children are
-checked.
-
-The following commands work with checkboxes:
-
-- {{{kbd(C-c C-c)}}} ::
-
- Toggle checkbox status or---with prefix argument---checkbox presence
- at point.
-
-- {{{kbd(M-S-RET)}}} ::
-
- Insert a new item with a checkbox. This works only if point is
- already in a plain list item (see [[*Plain Lists]]).
-
-* Tags
-:PROPERTIES:
-:DESCRIPTION: Tagging headlines and matching sets of tags.
-:END:
-
-An excellent way to implement labels and contexts for
-cross-correlating information is to assign /tags/ to headlines. Org
-mode has extensive support for tags.
-
-Every headline can contain a list of tags; they occur at the end of
-the headline. Tags are normal words containing letters, numbers, =_=,
-and =@=. Tags must be preceded and followed by a single colon, e.g.,
-=:work:=. Several tags can be specified, as in =:work:urgent:=. Tags
-by default are in bold face with the same color as the headline.
-
-** Tag inheritance
-:PROPERTIES:
-:UNNUMBERED: notoc
-:END:
-
-Tags make use of the hierarchical structure of outline trees. If
-a heading has a certain tag, all subheadings inherit the tag as well.
-For example, in the list
-
-#+begin_example
-,* Meeting with the French group :work:
-,** Summary by Frank :boss:notes:
-,*** TODO Prepare slides for him :action:
-#+end_example
-
-#+texinfo: @noindent
-the final heading has the tags =work=, =boss=, =notes=, and =action=
-even though the final heading is not explicitly marked with those
-tags.
-
-You can also set tags that all entries in a file should inherit just
-as if these tags were defined in a hypothetical level zero that
-surrounds the entire file. Use a line like this[fn:6]:
-
-: #+FILETAGS: :Peter:Boss:Secret:
-
-** Setting tags
-:PROPERTIES:
-:UNNUMBERED: notoc
-:END:
-
-Tags can simply be typed into the buffer at the end of a headline.
-After a colon, {{{kbd(M-TAB)}}} offers completion on tags. There is
-also a special command for inserting tags:
-
-- {{{kbd(C-c C-q)}}} ::
-
- Enter new tags for the current headline. Org mode either offers
- completion or a special single-key interface for setting tags, see
- below.
-
-- {{{kbd(C-c C-c)}}} ::
-
- When point is in a headline, this does the same as {{{kbd(C-c
- C-q)}}}.
-
-Org supports tag insertion based on a /list of tags/. By default this
-list is constructed dynamically, containing all tags currently used in
-the buffer. You may also globally specify a hard list of tags with
-the variable ~org-tag-alist~. Finally you can set the default tags
-for a given file using the =TAGS= keyword, like
-
-: #+TAGS: @work @home @tennisclub
-: #+TAGS: laptop car pc sailboat
-
-By default Org mode uses the standard minibuffer completion facilities
-for entering tags. However, it also implements another, quicker, tag
-selection method called /fast tag selection/. This allows you to
-select and deselect tags with just a single key press. For this to
-work well you should assign unique letters to most of your commonly
-used tags. You can do this globally by configuring the variable
-~org-tag-alist~ in your Emacs init file. For example, you may find
-the need to tag many items in different files with =@home=. In this
-case you can set something like:
-
-#+begin_src emacs-lisp
-(setq org-tag-alist '(("@work" . ?w) ("@home" . ?h) ("laptop" . ?l)))
-#+end_src
-
-If the tag is only relevant to the file you are working on, then you
-can instead set the =TAGS= keyword as:
-
-: #+TAGS: @work(w) @home(h) @tennisclub(t) laptop(l) pc(p)
-
-** Tag groups
-:PROPERTIES:
-:UNNUMBERED: notoc
-:END:
-
-A tag can be defined as a /group tag/ for a set of other tags. The
-group tag can be seen as the "broader term" for its set of tags.
-
-You can set group tags by using brackets and inserting a colon between
-the group tag and its related tags:
-
-: #+TAGS: [ GTD : Control Persp ]
-
-#+texinfo: @noindent
-or, if tags in the group should be mutually exclusive:
-
-: #+TAGS: { Context : @Home @Work }
-
-When you search for a group tag, it return matches for all members in
-the group and its subgroups. In an agenda view, filtering by a group
-tag displays or hide headlines tagged with at least one of the members
-of the group or any of its subgroups.
-
-If you want to ignore group tags temporarily, toggle group tags
-support with ~org-toggle-tags-groups~, bound to {{{kbd(C-c C-x q)}}}.
-
-** Tag searches
-:PROPERTIES:
-:UNNUMBERED: notoc
-:END:
-
-- {{{kbd(C-c / m)}}} or {{{kbd(C-c \)}}} ::
-
- Create a sparse tree with all headlines matching a tags search.
- With a {{{kbd(C-u)}}} prefix argument, ignore headlines that are not
- a TODO line.
-
-- {{{kbd(M-x org-agenda m)}}} ::
-
- Create a global list of tag matches from all agenda files. See
- [[*Matching Tags and Properties]].
-
-- {{{kbd(M-x org-agenda M)}}} ::
-
- Create a global list of tag matches from all agenda files, but check
- only TODO items and force checking subitems (see the option
- ~org-tags-match-list-sublevels~).
-
-These commands all prompt for a match string which allows basic
-Boolean logic like =+boss+urgent-project1=, to find entries with tags
-=boss= and =urgent=, but not =project1=, or =Kathy|Sally= to find
-entries which are tagged, like =Kathy= or =Sally=. The full syntax of
-the search string is rich and allows also matching against TODO
-keywords, entry levels and properties. For a more detailed description
-with many examples, see [[*Matching Tags and Properties]].
-
-* Properties
-:PROPERTIES:
-:DESCRIPTION: Storing information about an entry.
-:END:
-
-Properties are key-value pairs associated with an entry. They live in
-a special drawer with the name =PROPERTIES=. Each property is
-specified on a single line, with the key (surrounded by colons) first,
-and the value after it:
-
-#+begin_example
-,* CD collection
-,** Classic
-,*** Goldberg Variations
- :PROPERTIES:
- :Title: Goldberg Variations
- :Composer: J.S. Bach
- :Publisher: Deutsche Grammophon
- :NDisks: 1
- :END:
-#+end_example
-
-You may define the allowed values for a particular property =Xyz= by
-setting a property =Xyz_ALL=. This special property is /inherited/,
-so if you set it in a level 1 entry, it applies to the entire tree.
-When allowed values are defined, setting the corresponding property
-becomes easier and is less prone to typing errors. For the example
-with the CD collection, we can pre-define publishers and the number of
-disks in a box like this:
-
-#+begin_example
-,* CD collection
- :PROPERTIES:
- :NDisks_ALL: 1 2 3 4
- :Publisher_ALL: "Deutsche Grammophon" Philips EMI
- :END:
-#+end_example
-
-If you want to set properties that can be inherited by any entry in
-a file, use a line like:
-
-: #+PROPERTY: NDisks_ALL 1 2 3 4
-
-The following commands help to work with properties:
-
-- {{{kbd(C-c C-x p)}}} ::
-
- Set a property. This prompts for a property name and a value.
-
-- {{{kbd(C-c C-c d)}}} ::
-
- Remove a property from the current entry.
-
-To create sparse trees and special lists with selection based on
-properties, the same commands are used as for tag searches (see
-[[*Tags]]). The syntax for the search string is described in [[*Matching
-Tags and Properties]].
-
-* Dates and Times
-:PROPERTIES:
-:DESCRIPTION: Making items useful for planning.
-:END:
-
-To assist project planning, TODO items can be labeled with a date
-and/or a time. The specially formatted string carrying the date and
-time information is called a /timestamp/ in Org mode.
-
-** Timestamps
-:PROPERTIES:
-:DESCRIPTION: Assigning a time to a tree entry.
-:END:
-
-A timestamp is a specification of a date---possibly with a time or
-a range of times---in a special format, either =<2003-09-16 Tue>= or
-=<2003-09-16 Tue 09:39>= or =<2003-09-16 Tue 12:00-12:30>=.
-A timestamp can appear anywhere in the headline or body of an Org tree
-entry. Its presence causes entries to be shown on specific dates in
-the agenda (see [[*The Weekly/daily Agenda]]). We distinguish:
-
-- Plain timestamp; Event; Appointment ::
-
- A simple timestamp just assigns a date/time to an item. This is
- just like writing down an appointment or event in a paper agenda.
-
- #+begin_example
- ,* Meet Peter at the movies
- <2006-11-01 Wed 19:15>
- ,* Discussion on climate change
- <2006-11-02 Thu 20:00-22:00>
- #+end_example
-
-- Timestamp with repeater interval ::
-
- A timestamp may contain a /repeater interval/, indicating that it
- applies not only on the given date, but again and again after
- a certain interval of N days (d), weeks (w), months (m), or years
- (y). The following shows up in the agenda every Wednesday:
-
- #+begin_example
- ,* Pick up Sam at school
- <2007-05-16 Wed 12:30 +1w>
- #+end_example
-
-- Diary-style expression entries ::
-
- #+cindex: diary style timestamps
- #+cindex: sexp timestamps
- For more complex date specifications, Org mode supports using the
- special expression diary entries implemented in the Emacs Calendar
- package. For example, with optional time:
-
- #+begin_example
- ,* 22:00-23:00 The nerd meeting on every 2nd Thursday of the month
- <%%(diary-float t 4 2)>
- #+end_example
-
-- Time/Date range ::
-
- Two timestamps connected by =--= denote a range.
-
- #+begin_example
- ,** Meeting in Amsterdam
- <2004-08-23 Mon>--<2004-08-26 Thu>
- #+end_example
-
-- Inactive timestamp ::
-
- Just like a plain timestamp, but with square brackets instead of
- angular ones. These timestamps are inactive in the sense that they
- do /not/ trigger an entry to show up in the agenda.
-
- #+begin_example
- ,* Gillian comes late for the fifth time
- [2006-11-01 Wed]
- #+end_example
-
-** Creating Timestamps
-:PROPERTIES:
-:DESCRIPTION: Commands that insert timestamps.
-:END:
-
-For Org mode to recognize timestamps, they need to be in the specific
-format. All commands listed below produce timestamps in the correct
-format.
-
-#+attr_texinfo: :sep ,
-- {{{kbd(C-c .)}}} ::
-
- Prompt for a date and insert a corresponding timestamp. When point
- is at an existing timestamp in the buffer, the command is used to
- modify this timestamp instead of inserting a new one. When this
- command is used twice in succession, a time range is inserted. With
- a prefix argument, it also adds the current time.
-
-- {{{kbd(C-c !)}}} ::
-
- Like {{{kbd(C-c .)}}}, but insert an inactive timestamp that does
- not cause an agenda entry.
-
-- {{{kbd(S-LEFT)}}}, {{{kbd(S-RIGHT)}}} ::
-
- Change date at point by one day.
-
-- {{{kbd(S-UP)}}}, {{{kbd(S-DOWN)}}} ::
-
- On the beginning or enclosing bracket of a timestamp, change its
- type. Within a timestamp, change the item under point. Point can
- be on a year, month, day, hour or minute. When the timestamp
- contains a time range like =15:30-16:30=, modifying the first time
- also shifts the second, shifting the time block with constant
- length. To change the length, modify the second time.
-
-
-When Org mode prompts for a date/time, it accepts any string
-containing some date and/or time information, and intelligently
-interprets the string, deriving defaults for unspecified information
-from the current date and time. You can also select a date in the
-pop-up calendar. See the manual for more information on how exactly
-the date/time prompt works.
-
-** Deadlines and Scheduling
-:PROPERTIES:
-:DESCRIPTION: Planning your work.
-:END:
-
-A timestamp may be preceded by special keywords to facilitate
-planning:
-
-- {{{kbd(C-c C-d)}}} ::
-
- Insert =DEADLINE= keyword along with a time stamp, in the line
- following the headline.
-
- Meaning: the task---most likely a TODO item, though not
- necessarily---is supposed to be finished on that date.
-
- On the deadline date, the task is listed in the agenda. In
- addition, the agenda for /today/ carries a warning about the
- approaching or missed deadline, starting ~org-deadline-warning-days~
- before the due date, and continuing until the entry is marked as
- done. An example:
-
- #+begin_example
- ,*** TODO write article about the Earth for the Guide
- DEADLINE: <2004-02-29 Sun>
- The editor in charge is [[bbdb:Ford Prefect]]
- #+end_example
-
-- {{{kbd(C-c C-s)}}} ::
-
- Insert =SCHEDULED= keyword along with a stamp, in the line following
- the headline.
-
- Meaning: you are planning to start working on that task on the given
- date[fn:7].
-
- The headline is listed under the given date[fn:8]. In addition,
- a reminder that the scheduled date has passed is present in the
- compilation for /today/, until the entry is marked as done, i.e.,
- the task is automatically forwarded until completed.
-
- #+begin_example
- ,*** TODO Call Trillian for a date on New Years Eve.
- SCHEDULED: <2004-12-25 Sat>
- #+end_example
-
-Some tasks need to be repeated again and again. Org mode helps to
-organize such tasks using a so-called repeater in a =DEADLINE=,
-=SCHEDULED=, or plain timestamps. In the following example:
-
-#+begin_example
-,** TODO Pay the rent
- DEADLINE: <2005-10-01 Sat +1m>
-#+end_example
-
-#+texinfo: @noindent
-the =+1m= is a repeater; the intended interpretation is that the task
-has a deadline on =<2005-10-01>= and repeats itself every (one) month
-starting from that time.
-
-** Clocking Work Time
-:PROPERTIES:
-:DESCRIPTION: Tracking how long you spent on a task.
-:END:
-
-Org mode allows you to clock the time you spend on specific tasks in
-a project.
-
-#+attr_texinfo: :sep ,
-- {{{kbd(C-c C-x C-i)}}} ::
-
- Start the clock on the current item (clock-in). This inserts the
- =CLOCK= keyword together with a timestamp. When called with
- a {{{kbd(C-u)}}} prefix argument, select the task from a list of
- recently clocked tasks.
-
-- {{{kbd(C-c C-x C-o)}}} ::
-
- Stop the clock (clock-out). This inserts another timestamp at the
- same location where the clock was last started. It also directly
- computes the resulting time in inserts it after the time range as
- ==>HH:MM=.
-
-- {{{kbd(C-c C-x C-e)}}} ::
-
- Update the effort estimate for the current clock task.
-
-- {{{kbd(C-c C-x C-q)}}} ::
-
- Cancel the current clock. This is useful if a clock was started by
- mistake, or if you ended up working on something else.
-
-- {{{kbd(C-c C-x C-j)}}} ::
-
- Jump to the headline of the currently clocked in task. With
- a {{{kbd(C-u)}}} prefix argument, select the target task from a list
- of recently clocked tasks.
-
-The {{{kbd(l)}}} key may be used in the agenda (see [[*The Weekly/daily
-Agenda]]) to show which tasks have been worked on or closed during
-a day.
-
-* Capture, Refile, Archive
-:PROPERTIES:
-:DESCRIPTION: The ins and outs for projects.
-:END:
-
-An important part of any organization system is the ability to quickly
-capture new ideas and tasks, and to associate reference material with
-them. Org does this using a process called /capture/. It also can
-store files related to a task (/attachments/) in a special directory.
-Once in the system, tasks and projects need to be moved around.
-Moving completed project trees to an archive file keeps the system
-compact and fast.
-
-** Capture
-:PROPERTIES:
-:DESCRIPTION: Capturing new stuff.
-:END:
-
-Capture lets you quickly store notes with little interruption of your
-work flow. You can define templates for new entries and associate
-them with different targets for storing notes.
-
-*** Setting up capture
-:PROPERTIES:
-:UNNUMBERED: notoc
-:END:
-
-The following customization sets a default target[fn:9] file for notes.
-
-#+begin_src emacs-lisp
-(setq org-default-notes-file (concat org-directory "/notes.org"))
-#+end_src
-
-You may also define a global key for capturing new material (see
-[[*Activation]]).
-
-*** Using capture
-:PROPERTIES:
-:UNNUMBERED: notoc
-:END:
-
-- {{{kbd(M-x org-capture)}}} ::
-
- Start a capture process, placing you into a narrowed indirect buffer
- to edit.
-
-- {{{kbd(C-c C-c)}}} ::
-
- Once you have finished entering information into the capture buffer,
- {{{kbd(C-c C-c)}}} returns you to the window configuration before
- the capture process, so that you can resume your work without
- further distraction.
-
-- {{{kbd(C-c C-w)}}} ::
-
- Finalize the capture process by refiling the note to a different
- place (see [[*Refile and Copy]]).
-
-- {{{kbd(C-c C-k)}}} ::
-
- Abort the capture process and return to the previous state.
-
-*** Capture templates
-:PROPERTIES:
-:UNNUMBERED: notoc
-:END:
-
-You can use templates for different types of capture items, and for
-different target locations. Say you would like to use one template to
-create general TODO entries, and you want to put these entries under
-the heading =Tasks= in your file =~/org/gtd.org=. Also, a date tree
-in the file =journal.org= should capture journal entries. A possible
-configuration would look like:
-
-#+begin_src emacs-lisp
-(setq org-capture-templates
- '(("t" "Todo" entry (file+headline "~/org/gtd.org" "Tasks")
- "* TODO %?\n %i\n %a")
- ("j" "Journal" entry (file+datetree "~/org/journal.org")
- "* %?\nEntered on %U\n %i\n %a")))
-#+end_src
-
-If you then press {{{kbd(t)}}} from the capture menu, Org will prepare
-the template for you like this:
-
-: * TODO
-: [[file:LINK TO WHERE YOU INITIATED CAPTURE]]
-
-#+texinfo: @noindent
-During expansion of the template, special %-escapes[fn:10] allow
-dynamic insertion of content. Here is a small selection of the
-possibilities, consult the manual for more.
-
-| =%a= | annotation, normally the link created with ~org-store-link~ |
-| =%i= | initial content, the region when capture is called with {{{kbd(C-u)}}} |
-| =%t=, =%T= | timestamp, date only, or date and time |
-| =%u=, =%U= | like above, but inactive timestamps |
-| =%?= | after completing the template, position point here |
-
-** Refile and Copy
-:PROPERTIES:
-:DESCRIPTION: Moving/copying a tree from one place to another.
-:END:
-
-When reviewing the captured data, you may want to refile or to copy
-some of the entries into a different list, for example into a project.
-Cutting, finding the right location, and then pasting the note is
-cumbersome. To simplify this process, you can use the following
-special command:
-
-- {{{kbd(C-c C-w)}}} ::
-
- Refile the entry or region at point. This command offers possible
- locations for refiling the entry and lets you select one with
- completion. The item (or all items in the region) is filed below
- the target heading as a subitem.
-
- By default, all level 1 headlines in the current buffer are
- considered to be targets, but you can have more complex definitions
- across a number of files. See the variable ~org-refile-targets~ for
- details.
-
-- {{{kbd(C-u C-c C-w)}}} ::
-
- Use the refile interface to jump to a heading.
-
-- {{{kbd(C-u C-u C-c C-w)}}} ::
-
- Jump to the location where ~org-refile~ last moved a tree to.
-
-- {{{kbd(C-c M-w)}}} ::
-
- Copying works like refiling, except that the original note is not
- deleted.
-
-** Archiving
-:PROPERTIES:
-:DESCRIPTION: What to do with finished products.
-:END:
-
-When a project represented by a (sub)tree is finished, you may want to
-move the tree out of the way and to stop it from contributing to the
-agenda. Archiving is important to keep your working files compact and
-global searches like the construction of agenda views fast.
-
-The most common archiving action is to move a project tree to another
-file, the archive file.
-
-- {{{kbd(C-c C-x C-a)}}} ::
-
- Archive the current entry using the command specified in the
- variable ~org-archive-default-command~.
-
-- {{{kbd(C-c C-x C-s)}}} or short {{{kbd(C-c $)}}} ::
-
- Archive the subtree starting at point position to the location given
- by ~org-archive-location~.
-
-The default archive location is a file in the same directory as the
-current file, with the name derived by appending =_archive= to the
-current file name. You can also choose what heading to file archived
-items under, with the possibility to add them to a datetree in a file.
-For information and examples on how to specify the file and the
-heading, see the documentation string of the variable
-~org-archive-location~.
-
-There is also an in-buffer option for setting this variable, for
-example:
-
-: #+ARCHIVE: %s_done::
-
-* Agenda Views
-:PROPERTIES:
-:DESCRIPTION: Collecting information into views.
-:END:
-
-Due to the way Org works, TODO items, time-stamped items, and tagged
-headlines can be scattered throughout a file or even a number of
-files. To get an overview of open action items, or of events that are
-important for a particular date, this information must be collected,
-sorted and displayed in an organized way.
-
-The extracted information is displayed in a special /agenda buffer/.
-This buffer is read-only, but provides commands to visit the
-corresponding locations in the original Org files, and even to edit
-these files remotely. Remote editing from the agenda buffer means,
-for example, that you can change the dates of deadlines and
-appointments from the agenda buffer. For commands available in the
-Agenda buffer, see [[*Commands in the Agenda Buffer]].
-
-** Agenda Files
-:PROPERTIES:
-:DESCRIPTION: Files being searched for agenda information.
-:END:
-
-The information to be shown is normally collected from all /agenda
-files/, the files listed in the variable ~org-agenda-files~.
-
-#+attr_texinfo: :sep or
-- {{{kbd(C-c [)}}} ::
-
- Add current file to the list of agenda files. The file is added to
- the front of the list. If it was already in the list, it is moved
- to the front. With a prefix argument, file is added/moved to the
- end.
-
-- {{{kbd(C-c ])}}} ::
-
- Remove current file from the list of agenda files.
-
-- {{{kbd(C-')}}} or {{{kbd(C-\,)}}} ::
-
- Cycle through agenda file list, visiting one file after the other.
-
-** The Agenda Dispatcher
-:PROPERTIES:
-:DESCRIPTION: Keyboard access to agenda views.
-:ALT_TITLE: Agenda Dispatcher
-:END:
-
-The views are created through a dispatcher, accessible with {{{kbd(M-x
-org-agenda)}}}, or, better, bound to a global key (see [[*Activation]]).
-It displays a menu from which an additional letter is required to
-execute a command. The dispatcher offers the following default
-commands:
-
-#+attr_texinfo: :sep ,
-- {{{kbd(a)}}} ::
-
- Create the calendar-like agenda (see [[*The Weekly/daily Agenda]]).
-
-- {{{kbd(t)}}}, {{{kbd(T)}}} ::
-
- Create a list of all TODO items (see [[*The Global TODO List]]).
-
-- {{{kbd(m)}}}, {{{kbd(M)}}} ::
-
- Create a list of headlines matching a given expression (see
- [[*Matching Tags and Properties]]).
-
-- {{{kbd(s)}}} ::
-
- #+kindex: s @r{(Agenda dispatcher)}
- Create a list of entries selected by a boolean expression of
- keywords and/or regular expressions that must or must not occur in
- the entry.
-
-** The Weekly/Daily Agenda
-:PROPERTIES:
-:DESCRIPTION: What is available out of the box?
-:ALT_TITLE: Built-in Agenda Views
-:END:
-
-The purpose of the weekly/daily /agenda/ is to act like a page of
-a paper agenda, showing all the tasks for the current week or day.
-
-- {{{kbd(M-x org-agenda a)}}} ::
-
- Compile an agenda for the current week from a list of Org files.
- The agenda shows the entries for each day.
-
-Org mode understands the syntax of the diary and allows you to use
-diary expression entries directly in Org files:
-
-#+begin_example
-,* Holidays
- :PROPERTIES:
- :CATEGORY: Holiday
- :END:
-%%(org-calendar-holiday) ; special function for holiday names
-
-,* Birthdays
- :PROPERTIES:
- :CATEGORY: Ann
- :END:
-%%(org-anniversary 1956 5 14) Arthur Dent is %d years old
-%%(org-anniversary 1869 10 2) Mahatma Gandhi would be %d years old
-#+end_example
-
-Org can interact with Emacs appointments notification facility. To
-add the appointments of your agenda files, use the command
-~org-agenda-to-appt~.
-
-** The Global TODO List
-:PROPERTIES:
-:DESCRIPTION: All unfinished action items.
-:ALT_TITLE: Global TODO List
-:END:
-
-The global TODO list contains all unfinished TODO items formatted and
-collected into a single place. Remote editing of TODO items lets you
-can change the state of a TODO entry with a single key press. For
-commands available in the TODO list, see [[*Commands in the Agenda
-Buffer]].
-
-- {{{kbd(M-x org-agenda t)}}} ::
-
- Show the global TODO list. This collects the TODO items from all
- agenda files (see [[*Agenda Views]]) into a single buffer.
-
-- {{{kbd(M-x org-agenda T)}}} ::
-
- Like the above, but allows selection of a specific TODO keyword.
-
-** Matching Tags and Properties
-:PROPERTIES:
-:DESCRIPTION: Structured information with fine-tuned search.
-:END:
-
-If headlines in the agenda files are marked with /tags/ (see [[*Tags]]),
-or have properties (see [[*Properties]]), you can select headlines based
-on this metadata and collect them into an agenda buffer. The match
-syntax described here also applies when creating sparse trees with
-{{{kbd(C-c / m)}}}.
-
-- {{{kbd(M-x org-agenda m)}}} ::
-
- Produce a list of all headlines that match a given set of tags. The
- command prompts for a selection criterion, which is a boolean logic
- expression with tags, like =+work+urgent-withboss= or =work|home=
- (see [[*Tags]]). If you often need a specific search, define a custom
- command for it (see [[*The Agenda Dispatcher]]).
-
-- {{{kbd(M-x org-agenda M)}}} ::
-
- Like {{{kbd(m)}}}, but only select headlines that are also TODO
- items.
-
-A search string can use Boolean operators =&= for AND and =|= for OR.
-=&= binds more strongly than =|=. Parentheses are currently not
-implemented. Each element in the search is either a tag, a regular
-expression matching tags, or an expression like =PROPERTY OPERATOR
-VALUE= with a comparison operator, accessing a property value. Each
-element may be preceded by =-= to select against it, and =+= is
-syntactic sugar for positive selection. The AND operator =&= is
-optional when =+= or =-= is present. Here are some examples, using
-only tags.
-
-- =+work-boss= ::
-
- Select headlines tagged =work=, but discard those also tagged
- =boss=.
-
-- =work|laptop= ::
-
- Selects lines tagged =work= or =laptop=.
-
-- =work|laptop+night= ::
-
- Like before, but require the =laptop= lines to be tagged also
- =night=.
-
-You may also test for properties at the same time as matching tags,
-see the manual for more information.
-
-** Search View
-:PROPERTIES:
-:DESCRIPTION: Find entries by searching for text.
-:END:
-
-This agenda view is a general text search facility for Org mode
-entries. It is particularly useful to find notes.
-
-- {{{kbd(M-x org-agenda s)}}} (~org-search-view~) ::
-
- #+kindex: s @r{(Agenda dispatcher)}
- #+findex: org-search-view
- This is a special search that lets you select entries by matching
- a substring or specific words using a boolean logic.
-
-For example, the search string =computer equipment= matches entries
-that contain =computer equipment= as a substring.
-
-Search view can also search for specific keywords in the entry, using
-Boolean logic. The search string =+computer
-+wifi -ethernet -{8\.11[bg]}= matches note entries that contain the
-keywords =computer= and =wifi=, but not the keyword =ethernet=, and
-which are also not matched by the regular expression =8\.11[bg]=,
-meaning to exclude both =8.11b= and =8.11g=.
-
-Note that in addition to the agenda files, this command also searches
-the files listed in ~org-agenda-text-search-extra-files~.
-
-** Commands in the Agenda Buffer
-:PROPERTIES:
-:DESCRIPTION: Remote editing of Org trees.
-:ALT_TITLE: Agenda Commands
-:END:
-
-Entries in the agenda buffer are linked back to the Org file or diary
-file where they originate. You are not allowed to edit the agenda
-buffer itself, but commands are provided to show and jump to the
-original entry location, and to edit the Org files "remotely" from the
-agenda buffer. This is just a selection of the many commands, explore
-the agenda menu and the manual for a complete list.
-
-*** Motion
-:PROPERTIES:
-:UNNUMBERED: notoc
-:END:
-
-- {{{kbd(n)}}} ::
-
- Next line (same as {{{kbd(DOWN)}}} and {{{kbd(C-n)}}}).
-
-- {{{kbd(p)}}} ::
-
- Previous line (same as {{{kbd(UP)}}} and {{{kbd(C-p)}}}).
-
-*** View/Go to Org file
-:PROPERTIES:
-:UNNUMBERED: notoc
-:END:
-
-- {{{kbd(SPC)}}} ::
-
- Display the original location of the item in another window.
- With a prefix argument, make sure that drawers stay folded.
-
-- {{{kbd(TAB)}}} ::
-
- Go to the original location of the item in another window.
-
-- {{{kbd(RET)}}} ::
-
- Go to the original location of the item and delete other windows.
-
-*** Change display
-:PROPERTIES:
-:UNNUMBERED: notoc
-:END:
-#+attr_texinfo: :sep ,
-- {{{kbd(o)}}} ::
-
- Delete other windows.
-
-- {{{kbd(v d)}}} or short {{{kbd(d)}}} ::
-
- Switch to day view.
-
-- {{{kbd(v w)}}} or short {{{kbd(w)}}} ::
-
- Switch to week view.
-
-- {{{kbd(f)}}} ::
-
- Go forward in time to display the span following the current one.
- For example, if the display covers a week, switch to the following
- week.
-
-- {{{kbd(b)}}} ::
-
- Go backward in time to display earlier dates.
-
-- {{{kbd(.)}}} ::
-
- Go to today.
-
-- {{{kbd(j)}}} ::
-
- Prompt for a date and go there.
-
-- {{{kbd(v l)}}} or {{{kbd(v L)}}} or short {{{kbd(l)}}} ::
-
- Toggle Logbook mode. In Logbook mode, entries that were marked as
- done while logging was on (see the variable ~org-log-done~) are
- shown in the agenda, as are entries that have been clocked on that
- day. When called with a {{{kbd(C-u)}}} prefix argument, show all
- possible logbook entries, including state changes.
-
-- {{{kbd(r)}}}, {{{kbd(g)}}} ::
-
- Recreate the agenda buffer, for example to reflect the changes after
- modification of the timestamps of items.
-
-- {{{kbd(s)}}} ::
-
- #+kindex: C-x C-s
- #+findex: org-save-all-org-buffers
- #+kindex: s
- Save all Org buffers in the current Emacs session, and also the
- locations of IDs.
-
-*** Remote editing
-:PROPERTIES:
-:UNNUMBERED: notoc
-:END:
-
-- {{{kbd(0--9)}}} ::
-
- Digit argument.
-
-- {{{kbd(t)}}} ::
-
- Change the TODO state of the item, both in the agenda and in the
- original Org file.
-
-- {{{kbd(C-k)}}} ::
-
- Delete the current agenda item along with the entire subtree
- belonging to it in the original Org file.
-
-- {{{kbd(C-c C-w)}}} ::
-
- Refile the entry at point.
-
-- {{{kbd(a)}}} ::
-
- Archive the subtree corresponding to the entry at point using the
- default archiving command set in ~org-archive-default-command~.
-
-- {{{kbd($)}}} ::
-
- Archive the subtree corresponding to the current headline.
-
-- {{{kbd(C-c C-s)}}} ::
-
- Schedule this item. With a prefix argument, remove the
- scheduling timestamp
-
-- {{{kbd(C-c C-d)}}} ::
-
- Set a deadline for this item. With a prefix argument, remove the
- deadline.
-
-- {{{kbd(S-RIGHT)}}} ::
-
- Change the timestamp associated with the current line by one day
- into the future.
-
-- {{{kbd(S-LEFT)}}} ::
-
- Change the timestamp associated with the current line by one day
- into the past.
-
-- {{{kbd(I)}}} ::
-
- Start the clock on the current item.
-
-- {{{kbd(O)}}} ::
-
- Stop the previously started clock.
-
-- {{{kbd(X)}}} ::
-
- Cancel the currently running clock.
-
-- {{{kbd(J)}}} ::
-
- Jump to the running clock in another window.
-
-*** Quit and exit
-:PROPERTIES:
-:UNNUMBERED: notoc
-:END:
-
-- {{{kbd(q)}}} ::
-
- Quit agenda, remove the agenda buffer.
-
-- {{{kbd(x)}}} ::
-
- Exit agenda, remove the agenda buffer and all buffers loaded by
- Emacs for the compilation of the agenda.
-
-** Custom Agenda Views
-:PROPERTIES:
-:DESCRIPTION: Defining special searches and views.
-:END:
-
-The first application of custom searches is the definition of keyboard
-shortcuts for frequently used searches, either creating an agenda
-buffer, or a sparse tree (the latter covering of course only the
-current buffer).
-
-Custom commands are configured in the variable
-~org-agenda-custom-commands~. You can customize this variable, for
-example by pressing {{{kbd(C)}}} from the agenda dispatcher (see [[*The
-Agenda Dispatcher]]). You can also directly set it with Emacs Lisp in
-the Emacs init file. The following example contains all valid agenda
-views:
-
-#+begin_src emacs-lisp
-(setq org-agenda-custom-commands
- '(("w" todo "WAITING")
- ("u" tags "+boss-urgent")
- ("v" tags-todo "+boss-urgent")))
-#+end_src
-
-The initial string in each entry defines the keys you have to press
-after the dispatcher command in order to access the command. Usually
-this is just a single character. The second parameter is the search
-type, followed by the string or regular expression to be used for the
-matching. The example above will therefore define:
-
-- {{{kbd(w)}}} ::
-
- as a global search for TODO entries with =WAITING= as the TODO
- keyword.
-
-- {{{kbd(u)}}} ::
-
- as a global tags search for headlines tagged =boss= but not
- =urgent=.
-
-- {{{kbd(v)}}} ::
-
- The same search, but limiting it to headlines that are also TODO
- items.
-
-* Markup for Rich Contents
-:PROPERTIES:
-:DESCRIPTION: Compose beautiful documents.
-:ALT_TITLE: Markup
-:END:
-
-Org is primarily about organizing and searching through your
-plain-text notes. However, it also provides a lightweight yet robust
-markup language for rich text formatting and more. Used in
-conjunction with the export framework (see [[*Exporting]]), you can author
-beautiful documents in Org.
-
-** Paragraphs
-:PROPERTIES:
-:DESCRIPTION: The basic unit of text.
-:END:
-
-Paragraphs are separated by at least one empty line. If you need to
-enforce a line break within a paragraph, use =\\= at the end of
-a line.
-
-To preserve the line breaks, indentation and blank lines in a region,
-but otherwise use normal formatting, you can use this construct, which
-can also be used to format poetry.
-
-#+begin_example
-,#+BEGIN_VERSE
- Great clouds overhead
- Tiny black birds rise and fall
- Snow covers Emacs
-
- ---AlexSchroeder
-,#+END_VERSE
-#+end_example
-
-When quoting a passage from another document, it is customary to
-format this as a paragraph that is indented on both the left and the
-right margin. You can include quotations in Org documents like this:
-
-#+begin_example
-,#+BEGIN_QUOTE
-Everything should be made as simple as possible,
-but not any simpler ---Albert Einstein
-,#+END_QUOTE
-#+end_example
-
-If you would like to center some text, do it like this:
-
-#+begin_example
-,#+BEGIN_CENTER
-Everything should be made as simple as possible, \\
-but not any simpler
-,#+END_CENTER
-#+end_example
-
-** Emphasis and Monospace
-:PROPERTIES:
-:DESCRIPTION: Bold, italic, etc.
-:END:
-
-You can make words =*bold*=, =/italic/=, =_underlined_=, ==verbatim==
-and =~code~=, and, if you must, =+strike-through+=. Text in the code
-and verbatim string is not processed for Org specific syntax; it is
-exported verbatim.
-
-** Embedded LaTeX
-:PROPERTIES:
-:DESCRIPTION: LaTeX can be freely used inside Org documents.
-:END:
-
-For scientific notes which need to be able to contain mathematical
-symbols and the occasional formula, Org mode supports embedding LaTeX
-code into its files. You can directly use TeX-like syntax for special
-symbols, enter formulas and entire LaTeX environments.
-
-#+begin_example
-The radius of the sun is R_sun = 6.96 x 10^8 m. On the other hand,
-the radius of Alpha Centauri is R_{Alpha Centauri} = 1.28 x R_{sun}.
-
-\begin{equation} % arbitrary environments,
-x=\sqrt{b} % even tables, figures
-\end{equation} % etc
-
-If $a^2=b$ and \( b=2 \), then the solution must be
-either $$ a=+\sqrt{2} $$ or \[ a=-\sqrt{2} \].
-#+end_example
-
-** Literal examples
-:PROPERTIES:
-:DESCRIPTION: Source code examples with special formatting.
-:END:
-
-You can include literal examples that should not be subjected to
-markup. Such examples are typeset in monospace, so this is well
-suited for source code and similar examples.
-
-#+begin_example
-,#+BEGIN_EXAMPLE
- Some example from a text file.
-,#+END_EXAMPLE
-#+end_example
-
-For simplicity when using small examples, you can also start the
-example lines with a colon followed by a space. There may also be
-additional whitespace before the colon:
-
-#+begin_example
-Here is an example
- : Some example from a text file.
-#+end_example
-
-If the example is source code from a programming language, or any
-other text that can be marked up by Font Lock in Emacs, you can ask
-for the example to look like the fontified Emacs buffer.
-
-#+begin_example
-,#+BEGIN_SRC emacs-lisp
- (defun org-xor (a b)
- "Exclusive or."
- (if a (not b) b))
- ,#+END_SRC
-#+end_example
-
-To edit the example in a special buffer supporting this language, use
-{{{kbd(C-c ')}}} to both enter and leave the editing buffer.
-
-** Images
-:PROPERTIES:
-:DESCRIPTION: Display an image.
-:END:
-
-An image is a link to an image file that does not have a description
-part, for example
-
-: ./img/cat.jpg
-
-If you wish to define a caption for the image and maybe a label for
-internal cross references (see [[*Hyperlinks]]), make sure that the
-link is on a line by itself and precede it with =CAPTION= and =NAME=
-keywords as follows:
-
-#+begin_example
-,#+CAPTION: This is the caption for the next figure link (or table)
-,#+NAME: fig:SED-HR4049
-[[./img/a.jpg]]
-#+end_example
-
-** Creating Footnotes
-:PROPERTIES:
-:DESCRIPTION: Edit and read footnotes.
-:END:
-
-A footnote is defined in a paragraph that is started by a footnote
-marker in square brackets in column 0, no indentation allowed. The
-footnote reference is simply the marker in square brackets, inside
-text. For example:
-
-#+begin_example
-The Org homepage[fn:1] now looks a lot better than it used to.
-...
-[fn:1] The link is: https://orgmode.org
-#+end_example
-
-The following commands handle footnotes:
-
-- {{{kbd(C-c C-x f)}}} ::
-
- The footnote action command. When point is on a footnote reference,
- jump to the definition. When it is at a definition, jump to the
- (first) reference. Otherwise, create a new footnote. When this
- command is called with a prefix argument, a menu of additional
- options including renumbering is offered.
-
-- {{{kbd(C-c C-c)}}} ::
-
- Jump between definition and reference.
-
-* Exporting
-:PROPERTIES:
-:DESCRIPTION: Sharing and publishing notes.
-:END:
-
-Org can convert and export documents to a variety of other formats
-while retaining as much structure (see [[*Document Structure]]) and markup
-(see [[*Markup for Rich Contents]]) as possible.
-
-** The Export Dispatcher
-:PROPERTIES:
-:DESCRIPTION: The main interface.
-:END:
-
-The export dispatcher is the main interface for Org's exports.
-A hierarchical menu presents the currently configured export formats.
-Options are shown as easy toggle switches on the same screen.
-
-- {{{kbd(C-c C-e)}}} ::
-
- Invokes the export dispatcher interface.
-
-Org exports the entire buffer by default. If the Org buffer has an
-active region, then Org exports just that region.
-
-** Export Settings
-:PROPERTIES:
-:DESCRIPTION: Common export settings.
-:END:
-
-The exporter recognizes special lines in the buffer which provide
-additional information. These lines may be put anywhere in the file:
-
-: #+TITLE: I'm in the Mood for Org
-
-Most proeminent export options include:
-
-| =TITLE= | the title to be shown |
-| =AUTHOR= | the author (default taken from ~user-full-name~) |
-| =DATE= | a date, fixed, or an Org timestamp |
-| =EMAIL= | email address (default from ~user-mail-address~) |
-| =LANGUAGE= | language code, e.g., =en= |
-
-Option keyword sets can be inserted from the export dispatcher (see
-[[*The Export Dispatcher]]) using the =Insert template= command by
-pressing {{{kbd(#)}}}.
-
-** Table of Contents
-:PROPERTIES:
-:DESCRIPTION: The if and where of the table of contents.
-:END:
-
-The table of contents includes all headlines in the document. Its
-depth is therefore the same as the headline levels in the file. If
-you need to use a different depth, or turn it off entirely, set the
-~org-export-with-toc~ variable accordingly. You can achieve the same
-on a per file basis, using the following =toc= item in =OPTIONS=
-keyword:
-
-#+begin_example
-,#+OPTIONS: toc:2 (only include two levels in TOC)
-,#+OPTIONS: toc:nil (no default TOC at all)
-#+end_example
-
-Org normally inserts the table of contents directly before the first
-headline of the file.
-
-** Include Files
-:PROPERTIES:
-:DESCRIPTION: Include additional files into a document.
-:END:
-
-During export, you can include the content of another file. For
-example, to include your =.emacs= file, you could use:
-
-: #+INCLUDE: "~/.emacs" src emacs-lisp
-
-#+texinfo: @noindent
-The first parameter is the file name to include. The optional second
-parameter specifies the block type: =example=, =export= or =src=. The
-optional third parameter specifies the source code language to use for
-formatting the contents. This is relevant to both =export= and =src=
-block types.
-
-You can visit the included file with {{{kbd(C-c ')}}}.
-
-** Comment Lines
-:PROPERTIES:
-:DESCRIPTION: What will not be exported.
-:END:
-
-Lines starting with zero or more whitespace characters followed by one
-=#= and a whitespace are treated as comments and, as such, are not
-exported.
-
-Likewise, regions surrounded by =#+BEGIN_COMMENT= ... =#+END_COMMENT=
-are not exported.
-
-Finally, a =COMMENT= keyword at the beginning of an entry, but after
-any other keyword or priority cookie, comments out the entire subtree.
-The command below helps changing the comment status of a headline.
-
-- {{{kbd(C-c ;)}}} ::
-
- Toggle the =COMMENT= keyword at the beginning of an entry.
-
-** ASCII/UTF-8 Export
-:PROPERTIES:
-:DESCRIPTION: Exporting to flat files with encoding.
-:END:
-
-ASCII export produces an output file containing only plain ASCII
-characters. This is the simplest and most direct text output. It
-does not contain any Org markup. UTF-8 export uses additional
-characters and symbols available in this encoding standards.
-
-#+attr_texinfo: :sep ,
-- {{{kbd(C-c C-e t a)}}}, {{{kbd(C-c C-e t u)}}} ::
-
- Export as an ASCII file with a =.txt= extension. For =myfile.org=,
- Org exports to =myfile.txt=, overwriting without warning. For
- =myfile.txt=, Org exports to =myfile.txt.txt= in order to prevent
- data loss.
-
-** HTML Export
-:PROPERTIES:
-:DESCRIPTION: Exporting to HTML.
-:END:
-
-Org mode contains an HTML exporter with extensive HTML formatting
-compatible with XHTML 1.0 strict standard.
-
-- {{{kbd(C-c C-e h h)}}} ::
-
- Export as HTML file with a =.html= extension. For =myfile.org=, Org
- exports to =myfile.html=, overwriting without warning. {{{kbd(C-c
- C-e h o)}}} exports to HTML and opens it in a web browser.
-
-The HTML export back-end transforms =<= and =>= to =&lt;= and =&gt;=.
-To include raw HTML code in the Org file so the HTML export back-end
-can insert that HTML code in the output, use this inline syntax:
-=@@html:...@@=. For example:
-
-: @@html:<b>@@bold text@@html:</b>@@
-
-For larger raw HTML code blocks, use these HTML export code blocks:
-
-#+begin_example
-,#+HTML: Literal HTML code for export
-
-,#+BEGIN_EXPORT html
- All lines between these markers are exported literally
-,#+END_EXPORT
-#+end_example
-
-** LaTeX Export
-:PROPERTIES:
-:DESCRIPTION: Exporting to @LaTeX{} and processing to PDF.
-:END:
-
-The LaTeX export back-end can handle complex documents, incorporate
-standard or custom LaTeX document classes, generate documents using
-alternate LaTeX engines, and produce fully linked PDF files with
-indexes, bibliographies, and tables of contents, destined for
-interactive online viewing or high-quality print publication.
-
-By default, the LaTeX output uses the /article/ class. You can change
-this by adding an option like =#+LATEX_CLASS: myclass= in your file.
-The class must be listed in ~org-latex-classes~.
-
-- {{{kbd(C-c C-e l l)}}} ::
-
- Export to a LaTeX file with a =.tex= extension. For =myfile.org=,
- Org exports to =myfile.tex=, overwriting without warning.
-
-- {{{kbd(C-c C-e l p)}}} ::
-
- Export as LaTeX file and convert it to PDF file.
-
-- {{{kbd(C-c C-e l o)}}} ::
-
- Export as LaTeX file and convert it to PDF, then open the PDF using
- the default viewer.
-
-The LaTeX export back-end can insert any arbitrary LaTeX code, see
-[[*Embedded LaTeX]]. There are three ways to embed such code in the Org
-file and they all use different quoting syntax.
-
-Inserting in-line quoted with @ symbols:
-
-: Code embedded in-line @@latex:any arbitrary LaTeX code@@ in a paragraph.
-
-Inserting as one or more keyword lines in the Org file:
-
-: #+LATEX: any arbitrary LaTeX code
-
-Inserting as an export block in the Org file, where the back-end
-exports any code between begin and end markers:
-
-#+begin_example
-,#+BEGIN_EXPORT latex
- any arbitrary LaTeX code
-,#+END_EXPORT
-#+end_example
-
-** iCalendar Export
-:PROPERTIES:
-:DESCRIPTION: Exporting to iCalendar.
-:END:
-
-A large part of Org mode's interoperability success is its ability to
-easily export to or import from external applications. The iCalendar
-export back-end takes calendar data from Org files and exports to the
-standard iCalendar format.
-
-- {{{kbd(C-c C-e c f)}}} ::
-
- Create iCalendar entries from the current Org buffer and store them
- in the same directory, using a file extension =.ics=.
-
-- {{{kbd(C-c C-e c c)}}} ::
-
- Create a combined iCalendar file from Org files in
- ~org-agenda-files~ and write it to
- ~org-icalendar-combined-agenda-file~ file name.
-
-* Publishing
-:PROPERTIES:
-:DESCRIPTION: Create a web site of linked Org files.
-:END:
-
-Org includes a publishing management system that allows you to
-configure automatic HTML conversion of /projects/ composed of
-interlinked Org files. You can also configure Org to automatically
-upload your exported HTML pages and related attachments, such as
-images and source code files, to a web server.
-
-You can also use Org to convert files into PDF, or even combine HTML
-and PDF conversion so that files are available in both formats on the
-server.
-
-For detailed instructions about setup, see the manual. Here is an
-example:
-
-#+begin_src emacs-lisp
-(setq org-publish-project-alist
- '(("org"
- :base-directory "~/org/"
- :publishing-function org-html-publish-to-html
- :publishing-directory "~/public_html"
- :section-numbers nil
- :with-toc nil
- :html-head "<link rel=\"stylesheet\"
- href=\"../other/mystyle.css\"
- type=\"text/css\"/>")))
-#+end_src
-
-- {{{kbd(C-c C-e P x)}}} ::
-
- Prompt for a specific project and publish all files that belong to
- it.
-
-- {{{kbd(C-c C-e P p)}}} ::
-
- Publish the project containing the current file.
-
-- {{{kbd(C-c C-e P f)}}} ::
-
- Publish only the current file.
-
-- {{{kbd(C-c C-e P a)}}} ::
-
- Publish every project.
-
-Org uses timestamps to track when a file has changed. The above
-functions normally only publish changed files. You can override this
-and force publishing of all files by giving a prefix argument to any
-of the commands above.
-
-* Working with Source Code
-:PROPERTIES:
-:DESCRIPTION: Export, evaluate, and tangle code blocks.
-:END:
-
-Org mode provides a number of features for working with source code,
-including editing of code blocks in their native major mode,
-evaluation of code blocks, tangling of code blocks, and exporting code
-blocks and their results in several formats.
-
-A source code block conforms to this structure:
-
-#+begin_example
-,#+NAME: <name>
-,#+BEGIN_SRC <language> <switches> <header arguments>
- <body>
-,#+END_SRC
-#+end_example
-
-#+texinfo: @noindent
-where:
-
-- =<name>= is a string used to uniquely name the code block,
-
-- =<language>= specifies the language of the code block, e.g.,
- =emacs-lisp=, =shell=, =R=, =python=, etc.,
-
-- =<switches>= can be used to control export of the code block,
-
-- =<header arguments>= can be used to control many aspects of code
- block behavior as demonstrated below,
-
-- =<body>= contains the actual source code.
-
-Use {{{kbd(C-c ')}}} to edit the current code block. It opens a new
-major mode edit buffer containing the body of the source code block,
-ready for any edits. Use {{{kbd(C-c ')}}} again to close the buffer
-and return to the Org buffer.
-
-** Using header arguments
-:PROPERTIES:
-:UNNUMBERED: notoc
-:END:
-
-A header argument is specified with an initial colon followed by the
-argument's name in lowercase.
-
-Header arguments can be set in several ways; Org prioritizes them in
-case of overlaps or conflicts by giving local settings a higher
-priority.
-
-- System-wide header arguments ::
-
- Those are specified by customizing ~org-babel-default-header-args~
- variable, or, for a specific language {{{var(LANG)}}}
- ~org-babel-default-header-args:LANG~.
-
-- Header arguments in properties ::
-
- You can set them using =header-args= property (see [[*Properties]])---or
- =header-args:LANG= for language {{{var(LANG)}}}. Header arguments
- set through properties drawers apply at the sub-tree level on down.
-
-- Header arguments in code blocks ::
-
- Header arguments are most commonly set at the source code block
- level, on the =BEGIN_SRC= line:
-
- #+begin_example
- ,#+NAME: factorial
- ,#+BEGIN_SRC haskell :results silent :exports code :var n=0
- fac 0 = 1
- fac n = n * fac (n-1)
- ,#+END_SRC
- #+end_example
-
- Code block header arguments can span multiple lines using =HEADER=
- keyword on each line.
-
-** Evaluating code blocks
-:PROPERTIES:
-:UNNUMBERED: notoc
-:END:
-
-Use {{{kbd(C-c C-c)}}} to evaluate the current code block and insert
-its results in the Org document. By default, evaluation is only
-turned on for =emacs-lisp= code blocks, however support exists for
-evaluating blocks in many languages. For a complete list of supported
-languages see the manual. The following shows a code block and its
-results.
-
-#+begin_example
-,#+BEGIN_SRC emacs-lisp
- (+ 1 2 3 4)
-,#+END_SRC
-
-,#+RESULTS:
-: 10
-#+end_example
-
-The following syntax is used to pass arguments to code blocks using
-the =var= header argument.
-
-: :var NAME=ASSIGN
-
-#+texinfo: @noindent
-{{{var(NAME)}}} is the name of the variable bound in the code block
-body. {{{var(ASSIGN)}}} is a literal value, such as a string,
-a number, a reference to a table, a list, a literal example, another
-code block---with or without arguments---or the results of evaluating
-a code block.
-
-** Results of evaluation
-:PROPERTIES:
-:UNNUMBERED: notoc
-:END:
-
-How Org handles results of a code block execution depends on many
-header arguments working together. The primary determinant, however,
-is the =results= header argument. It controls the /collection/,
-/type/, /format/, and /handling/ of code block results.
-
-- Collection ::
-
- How the results should be collected from the code block. You may
- choose either =output= or =value= (the default).
-
-- Type ::
-
- What result types to expect from the execution of the code block.
- You may choose among =table=, =list=, =scalar=, and =file=. Org
- tries to guess it if you do not provide it.
-
-- Format ::
-
- How Org processes results. Some possible values are =code=,
- =drawer=, =html=, =latex=, =link=, and =raw=.
-
-- Handling ::
-
- How to insert the results once properly formatted. Allowed values
- are =silent=, =replace= (the default), =append=, or =prepend=.
-
-Code blocks which output results to files---e.g.: graphs, diagrams and
-figures---can accept a =:file FILENAME= header argument, in which case
-the results are saved to the named file, and a link to the file is
-inserted into the buffer.
-
-** Exporting code blocks
-:PROPERTIES:
-:UNNUMBERED: notoc
-:END:
-
-It is possible to export the /code/ of code blocks, the /results/ of
-code block evaluation, /both/ the code and the results of code block
-evaluation, or /none/. Org defaults to exporting /code/ for most
-languages.
-
-The =exports= header argument is to specify if that part of the Org
-file is exported to, say, HTML or LaTeX formats. It can be set to
-either =code=, =results=, =both= or =none=.
-
-** Extracting source code
-:PROPERTIES:
-:UNNUMBERED: notoc
-:END:
-
-Use {{{kbd(C-c C-v t)}}} to create pure source code files by
-extracting code from source blocks in the current buffer. This is
-referred to as "tangling"---a term adopted from the literate
-programming community. During tangling of code blocks their bodies
-are expanded using ~org-babel-expand-src-block~, which can expand both
-variable and "Noweb" style references. In order to tangle a code
-block it must have a =tangle= header argument, see the manual for
-details.
-
-* Miscellaneous
-:PROPERTIES:
-:DESCRIPTION: All the rest which did not fit elsewhere.
-:END:
-
-** Completion
-:PROPERTIES:
-:UNNUMBERED: notoc
-:END:
-
-Org has in-buffer completions with {{{kbd(M-TAB)}}}. No minibuffer is
-involved. Type one or more letters and invoke the hot key to complete
-the text in-place.
-
-For example, this command will complete TeX symbols after =\=, TODO
-keywords at the beginning of a headline, and tags after =:= in
-a headline.
-
-
-** Structure Templates
-:PROPERTIES:
-:UNNUMBERED: notoc
-:END:
-
-To quickly insert empty structural blocks, such as =#+BEGIN_SRC=
-... =#+END_SRC=, or to wrap existing text in such a block, use
-
-- {{{kbd(C-c C-\,)}}} ::
-
- Prompt for a type of block structure, and insert the block at point.
- If the region is active, it is wrapped in the block.
-
-** Clean view
-:PROPERTIES:
-:UNNUMBERED: notoc
-:END:
-
-Org's default outline with stars and no indents can become too
-cluttered for short documents. For /book-like/ long documents, the
-effect is not as noticeable. Org provides an alternate stars and
-indentation scheme, as shown on the right in the following table. It
-uses only one star and indents text to line with the heading:
-
-#+begin_example
-,* Top level headline | * Top level headline
-,** Second level | * Second level
-,*** Third level | * Third level
- some text | some text
-,*** Third level | * Third level
- more text | more text
-,* Another top level headline | * Another top level headline
-#+end_example
-
-This kind of view can be achieved dynamically at display time using
-Org Indent mode ({{{kbd(M-x org-indent-mode RET)}}}), which prepends
-intangible space to each line. You can turn on Org Indent mode for
-all files by customizing the variable ~org-startup-indented~, or you
-can turn it on for individual files using
-
-: #+STARTUP: indent
-
-If you want the indentation to be hard space characters so that the
-plain text file looks as similar as possible to the Emacs display, Org
-supports you by helping to indent (with {{{kbd(TAB)}}}) text below
-each headline, by hiding leading stars, and by only using levels 1, 3,
-etc to get two characters indentation for each level. To get this
-support in a file, use
-
-: #+STARTUP: hidestars odd
-
-* Export Setup :noexport:
-
-#+setupfile: doc-setup.org
-
-#+export_file_name: orgguide.texi
-
-#+texinfo_dir_category: Emacs editing modes
-#+texinfo_dir_title: Org Guide: (orgguide)
-#+texinfo_dir_desc: Abbreviated Org mode manual
-
-* Footnotes
-
-[fn:1] See the variable ~org-special-ctrl-a/e~ to configure special
-behavior of {{{kbd(C-a)}}} and {{{kbd(C-e)}}} in headlines.
-
-[fn:2] If you do not want the line to be split, customize the variable
-~org-M-RET-may-split-line~.
-
-[fn:3] See also the variable ~org-show-context-detail~ to decide how
-much context is shown around each match.
-
-[fn:4] The corresponding in-buffer setting is =#+STARTUP: logdone=.
-
-[fn:5] The corresponding in-buffer setting is =#+STARTUP:
-logenotedone=.
-
-[fn:6] As with all these in-buffer settings, pressing {{{kbd(C-c
-C-c)}}} activates any changes in the line.
-
-[fn:7] This is quite different from what is normally understood by
-/scheduling a meeting/, which is done in Org by just inserting a time
-stamp without keyword.
-
-[fn:8] It will still be listed on that date after it has been marked
-as done. If you do not like this, set the variable
-~org-agenda-skip-scheduled-if-done~.
-
-[fn:9] Using capture templates, you get finer control over capture
-locations. See [[*Capture templates]].
-
-[fn:10] If you need one of these sequences literally, escape the =%=
-with a backslash.