aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorCarsten Dominik2010-12-11 17:42:53 +0100
committerCarsten Dominik2010-12-11 17:42:53 +0100
commitacedf35ce08b9df4a0dcbcd1413e7d85f1182034 (patch)
tree240e26f10d2feb66e8c0cd0634082fcb7bd577e5 /doc
parent39321b94bfa4e50401e30caedfd09a06629f5bd2 (diff)
downloademacs-acedf35ce08b9df4a0dcbcd1413e7d85f1182034.tar.gz
emacs-acedf35ce08b9df4a0dcbcd1413e7d85f1182034.zip
Update to Org mode 7.4
Diffstat (limited to 'doc')
-rw-r--r--doc/misc/ChangeLog22
-rw-r--r--doc/misc/org.texi2053
2 files changed, 1063 insertions, 1012 deletions
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog
index b1b3b440767..174d3015291 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,3 +1,25 @@
12010-12-11 Carsten Dominik <carsten.dominik@gmail.com>
2
3 * org.texi (Using capture): Document using prefix arguments for
4 finalizing capture.
5 (Agenda commands): Document prefix argument for the bulk scatter
6 command.
7 (Beamer class export): Document that also overlay arguments can be
8 passed to the column environment.
9 (Template elements): Document the new entry type.
10
112010-12-11 Puneeth Chaganti <punchagan@gmail.com>
12
13 * org.texi (Include files): Document :minlevel.
14
152010-12-11 Julien Danjou <julien@danjou.info>
16
17 * org.texi (Categories): Document category icons.
18
192010-12-11 Eric Schulte <schulte.eric@gmail.com>
20
21 * org.texi (noweb): Fix typo.
22
12010-12-06 Tassilo Horn <tassilo@member.fsf.org> 232010-12-06 Tassilo Horn <tassilo@member.fsf.org>
2 24
3 * gnus.texi (Server Commands): Point to the rest of the server 25 * gnus.texi (Server Commands): Point to the rest of the server
diff --git a/doc/misc/org.texi b/doc/misc/org.texi
index af7a4b48032..5a676786fdd 100644
--- a/doc/misc/org.texi
+++ b/doc/misc/org.texi
@@ -4,8 +4,8 @@
4@setfilename ../../info/org 4@setfilename ../../info/org
5@settitle The Org Manual 5@settitle The Org Manual
6 6
7@set VERSION 7.3 7@set VERSION 7.4
8@set DATE November 2010 8@set DATE December 2010
9 9
10@c Use proper quote and backtick for code sections in PDF output 10@c Use proper quote and backtick for code sections in PDF output
11@c Cf. Texinfo manual 14.2 11@c Cf. Texinfo manual 14.2
@@ -21,41 +21,237 @@
21@c %**end of header 21@c %**end of header
22@finalout 22@finalout
23 23
24@c Macro definitions 24
25@c -----------------------------------------------------------------------------
26
27@c Macro definitions for commands and keys
28@c =======================================
29
30@c The behavior of the key/command macros will depend on the flag cmdnames
31@c When set, commands names are shown. When clear, they are not shown.
32
33@set cmdnames
34
35@c Below we define the following macros for Org key tables:
36
37@c orgkey{key} A key item
38@c orgcmd{key,cmd} Key with command name
39@c xorgcmd{key,cmmand} Key with command name as @itemx
40@c orgcmdnki{key,cmd} Like orgcmd, but do not index the key
41@c orgcmdtkc{text,key,cmd} Like orgcmd,special text instead of key
42@c orgcmdkkc{key1,key2,cmd} Two keys with one command name, use "or"
43@c orgcmdkxkc{key1,key2,cmd} Two keys with one command name, but
44@c different functions, so format as @itemx
45@c orgcmdkskc{key1,key2,cmd} Same as orgcmdkkc, but use "or short"
46@c xorgcmdkskc{key1,key2,cmd} Same as previous, but use @itemx
47@c orgcmdkkcc{key1,key2,cmd1,cmd2} Two keys and two commands
48
49@c a key but no command
50@c Inserts: @item key
51@macro orgkey{key}
52@kindex \key\
53@item @kbd{\key\}
54@end macro
55
56@macro xorgkey{key}
57@kindex \key\
58@itemx @kbd{\key\}
59@end macro
60
61@c one key with a command
62@c Inserts: @item KEY COMMAND
25@macro orgcmd{key,command} 63@macro orgcmd{key,command}
26@iftex 64@ifset cmdnames
27@kindex \key\ 65@kindex \key\
28@findex \command\ 66@findex \command\
67@iftex
29@item @kbd{\key\} @hskip 0pt plus 1filll @code{\command\} 68@item @kbd{\key\} @hskip 0pt plus 1filll @code{\command\}
30@end iftex 69@end iftex
31@ifnottex 70@ifnottex
71@item @kbd{\key\} @tie{}@tie{}@tie{}@tie{}(@code{\command\})
72@end ifnottex
73@end ifset
74@ifclear cmdnames
75@kindex \key\
76@item @kbd{\key\}
77@end ifclear
78@end macro
79
80@c One key with one command, formatted using @itemx
81@c Inserts: @itemx KEY COMMAND
82@macro xorgcmd{key,command}
83@ifset cmdnames
84@kindex \key\
85@findex \command\
86@iftex
87@itemx @kbd{\key\} @hskip 0pt plus 1filll @code{\command\}
88@end iftex
89@ifnottex
90@itemx @kbd{\key\} @tie{}@tie{}@tie{}@tie{}(@code{\command\})
91@end ifnottex
92@end ifset
93@ifclear cmdnames
32@kindex \key\ 94@kindex \key\
95@itemx @kbd{\key\}
96@end ifclear
97@end macro
98
99@c one key with a command, bit do not index the key
100@c Inserts: @item KEY COMMAND
101@macro orgcmdnki{key,command}
102@ifset cmdnames
33@findex \command\ 103@findex \command\
104@iftex
105@item @kbd{\key\} @hskip 0pt plus 1filll @code{\command\}
106@end iftex
107@ifnottex
34@item @kbd{\key\} @tie{}@tie{}@tie{}@tie{}(@code{\command\}) 108@item @kbd{\key\} @tie{}@tie{}@tie{}@tie{}(@code{\command\})
35@end ifnottex 109@end ifnottex
110@end ifset
111@ifclear cmdnames
112@item @kbd{\key\}
113@end ifclear
36@end macro 114@end macro
37 115
38@macro orgkey{key} 116@c one key with a command, and special text to replace key in item
117@c Inserts: @item TEXT COMMAND
118@macro orgcmdtkc{text,key,command}
119@ifset cmdnames
39@kindex \key\ 120@kindex \key\
40@item @kbd{\key\} 121@findex \command\
122@iftex
123@item @kbd{\text\} @hskip 0pt plus 1filll @code{\command\}
124@end iftex
125@ifnottex
126@item @kbd{\text\} @tie{}@tie{}@tie{}@tie{}(@code{\command\})
127@end ifnottex
128@end ifset
129@ifclear cmdnames
130@kindex \key\
131@item @kbd{\text\}
132@end ifclear
41@end macro 133@end macro
42 134
135@c two keys with one command
136@c Inserts: @item KEY1 or KEY2 COMMAND
137@macro orgcmdkkc{key1,key2,command}
138@ifset cmdnames
139@kindex \key1\
140@kindex \key2\
141@findex \command\
43@iftex 142@iftex
44@c @hyphenation{time-stamp time-stamps time-stamp-ing time-stamp-ed} 143@item @kbd{\key1\} @ @r{or} @ @kbd{\key2\} @hskip 0pt plus 1filll @code{\command\}
45@end iftex 144@end iftex
46@macro Ie {} 145@ifnottex
47I.e., 146@item @kbd{\key1\} @ @r{or} @ @kbd{\key2\} @tie{}@tie{}@tie{}@tie{}(@code{\command\})
147@end ifnottex
148@end ifset
149@ifclear cmdnames
150@kindex \key1\
151@kindex \key2\
152@item @kbd{\key1\} @ @r{or} @ @kbd{\key2\}
153@end ifclear
48@end macro 154@end macro
49@macro ie {} 155
50i.e., 156@c Two keys with one command name, but different functions, so format as
157@c @itemx
158@c Inserts: @item KEY1
159@c @itemx KEY2 COMMAND
160@macro orgcmdkxkc{key1,key2,command}
161@ifset cmdnames
162@kindex \key1\
163@kindex \key2\
164@findex \command\
165@iftex
166@item @kbd{\key1\}
167@itemx @kbd{\key2\} @hskip 0pt plus 1filll @code{\command\}
168@end iftex
169@ifnottex
170@item @kbd{\key1\}
171@itemx @kbd{\key2\} @tie{}@tie{}@tie{}@tie{}(@code{\command\})
172@end ifnottex
173@end ifset
174@ifclear cmdnames
175@kindex \key1\
176@kindex \key2\
177@item @kbd{\key1\}
178@itemx @kbd{\key2\}
179@end ifclear
51@end macro 180@end macro
52@macro Eg {} 181
53E.g., 182@c Same as previous, but use "or short"
183@c Inserts: @item KEY1 or short KEY2 COMMAND
184@macro orgcmdkskc{key1,key2,command}
185@ifset cmdnames
186@kindex \key1\
187@kindex \key2\
188@findex \command\
189@iftex
190@item @kbd{\key1\} @ @r{or short} @ @kbd{\key2\} @hskip 0pt plus 1filll @code{\command\}
191@end iftex
192@ifnottex
193@item @kbd{\key1\} @ @r{or short} @ @kbd{\key2\} @tie{}@tie{}@tie{}@tie{}(@code{\command\})
194@end ifnottex
195@end ifset
196@ifclear cmdnames
197@kindex \key1\
198@kindex \key2\
199@item @kbd{\key1\} @ @r{or short} @ @kbd{\key2\}
200@end ifclear
54@end macro 201@end macro
55@macro eg {} 202
56e.g., 203@c Same as previous, but use @itemx
204@c Inserts: @itemx KEY1 or short KEY2 COMMAND
205@macro xorgcmdkskc{key1,key2,command}
206@ifset cmdnames
207@kindex \key1\
208@kindex \key2\
209@findex \command\
210@iftex
211@itemx @kbd{\key1\} @ @r{or short} @ @kbd{\key2\} @hskip 0pt plus 1filll @code{\command\}
212@end iftex
213@ifnottex
214@itemx @kbd{\key1\} @ @r{or short} @ @kbd{\key2\} @tie{}@tie{}@tie{}@tie{}(@code{\command\})
215@end ifnottex
216@end ifset
217@ifclear cmdnames
218@kindex \key1\
219@kindex \key2\
220@itemx @kbd{\key1\} @ @r{or short} @ @kbd{\key2\}
221@end ifclear
57@end macro 222@end macro
58 223
224@c two keys with two commands
225@c Inserts: @item KEY1 COMMAND1
226@c @itemx KEY2 COMMAND2
227@macro orgcmdkkcc{key1,key2,command1,command2}
228@ifset cmdnames
229@kindex \key1\
230@kindex \key2\
231@findex \command1\
232@findex \command2\
233@iftex
234@item @kbd{\key1\} @hskip 0pt plus 1filll @code{\command1\}
235@itemx @kbd{\key2\} @hskip 0pt plus 1filll @code{\command2\}
236@end iftex
237@ifnottex
238@item @kbd{\key1\} @tie{}@tie{}@tie{}@tie{}(@code{\command1\})
239@itemx @kbd{\key2\} @tie{}@tie{}@tie{}@tie{}(@code{\command2\})
240@end ifnottex
241@end ifset
242@ifclear cmdnames
243@kindex \key1\
244@kindex \key2\
245@item @kbd{\key1\}
246@itemx @kbd{\key2\}
247@end ifclear
248@end macro
249@c -----------------------------------------------------------------------------
250
251@iftex
252@c @hyphenation{time-stamp time-stamps time-stamp-ing time-stamp-ed}
253@end iftex
254
59@c Subheadings inside a table. 255@c Subheadings inside a table.
60@macro tsubheading{text} 256@macro tsubheading{text}
61@ifinfo 257@ifinfo
@@ -260,7 +456,6 @@ Dates and times
260* Creating timestamps:: Commands which insert timestamps 456* Creating timestamps:: Commands which insert timestamps
261* Deadlines and scheduling:: Planning your work 457* Deadlines and scheduling:: Planning your work
262* Clocking work time:: Tracking how long you spend on a task 458* Clocking work time:: Tracking how long you spend on a task
263* Resolving idle time:: Resolving time if you've been idle
264* Effort estimates:: Planning work effort in advance 459* Effort estimates:: Planning work effort in advance
265* Relative timer:: Notes with a running timer 460* Relative timer:: Notes with a running timer
266* Countdown timer:: Starting a countdown timer for a task 461* Countdown timer:: Starting a countdown timer for a task
@@ -275,6 +470,12 @@ Deadlines and scheduling
275* Inserting deadline/schedule:: Planning items 470* Inserting deadline/schedule:: Planning items
276* Repeated tasks:: Items that show up again and again 471* Repeated tasks:: Items that show up again and again
277 472
473Clocking work time
474
475* Clocking commands:: Starting and stopping a clock
476* The clock table:: Detailed reports
477* Resolving idle time:: Resolving time when you've been idle
478
278Capture - Refile - Archive 479Capture - Refile - Archive
279 480
280* Capture:: Capturing new stuff 481* Capture:: Capturing new stuff
@@ -355,7 +556,7 @@ Structural markup elements
355* Horizontal rules:: Make a line 556* Horizontal rules:: Make a line
356* Comment lines:: What will *not* be exported 557* Comment lines:: What will *not* be exported
357 558
358Embedded La@TeX{} 559Embedded @LaTeX{}
359 560
360* Special symbols:: Greek letters and other symbols 561* Special symbols:: Greek letters and other symbols
361* Subscripts and superscripts:: Simple syntax for raising/lowering text 562* Subscripts and superscripts:: Simple syntax for raising/lowering text
@@ -370,7 +571,7 @@ Exporting
370* The export dispatcher:: How to access exporter commands 571* The export dispatcher:: How to access exporter commands
371* ASCII/Latin-1/UTF-8 export:: Exporting to flat files with encoding 572* ASCII/Latin-1/UTF-8 export:: Exporting to flat files with encoding
372* HTML export:: Exporting to HTML 573* HTML export:: Exporting to HTML
373* LaTeX and PDF export:: Exporting to La@TeX{}, and processing to PDF 574* LaTeX and PDF export:: Exporting to @LaTeX{}, and processing to PDF
374* DocBook export:: Exporting to DocBook 575* DocBook export:: Exporting to DocBook
375* TaskJuggler export:: Exporting to TaskJuggler 576* TaskJuggler export:: Exporting to TaskJuggler
376* Freemind export:: Exporting to Freemind mind maps 577* Freemind export:: Exporting to Freemind mind maps
@@ -389,13 +590,13 @@ HTML export
389* CSS support:: Changing the appearance of the output 590* CSS support:: Changing the appearance of the output
390* JavaScript support:: Info and Folding in a web browser 591* JavaScript support:: Info and Folding in a web browser
391 592
392La@TeX{} and PDF export 593@LaTeX{} and PDF export
393 594
394* LaTeX/PDF export commands:: Which key invokes which commands 595* LaTeX/PDF export commands:: Which key invokes which commands
395* Header and sectioning:: Setting up the export file structure 596* Header and sectioning:: Setting up the export file structure
396* Quoting LaTeX code:: Incorporating literal La@TeX{} code 597* Quoting LaTeX code:: Incorporating literal @LaTeX{} code
397* Tables in LaTeX export:: Options for exporting tables to La@TeX{} 598* Tables in LaTeX export:: Options for exporting tables to @LaTeX{}
398* Images in LaTeX export:: How to insert figures into La@TeX{} output 599* Images in LaTeX export:: How to insert figures into @LaTeX{} output
399* Beamer class export:: Turning the file into a presentation 600* Beamer class export:: Turning the file into a presentation
400 601
401DocBook export 602DocBook export
@@ -506,7 +707,7 @@ Hacking
506* Add-on packages:: Available extensions 707* Add-on packages:: Available extensions
507* Adding hyperlink types:: New custom link types 708* Adding hyperlink types:: New custom link types
508* Context-sensitive commands:: How to add functionality to such commands 709* Context-sensitive commands:: How to add functionality to such commands
509* Tables in arbitrary syntax:: Orgtbl for La@TeX{} and other programs 710* Tables in arbitrary syntax:: Orgtbl for @LaTeX{} and other programs
510* Dynamic blocks:: Automatically filled blocks 711* Dynamic blocks:: Automatically filled blocks
511* Special agenda views:: Customized views 712* Special agenda views:: Customized views
512* Extracting agenda information:: Postprocessing of agenda information 713* Extracting agenda information:: Postprocessing of agenda information
@@ -567,14 +768,14 @@ As a project planning environment, Org works by adding metadata to outline
567nodes. Based on this data, specific entries can be extracted in queries and 768nodes. Based on this data, specific entries can be extracted in queries and
568create dynamic @i{agenda views}. 769create dynamic @i{agenda views}.
569 770
570Org mode contains the Org Babel environment which allows to work with 771Org mode contains the Org Babel environment which allows you to work with
571embedded source code block in a file, to facilitate code evaluation, 772embedded source code blocks in a file, to facilitate code evaluation,
572documentation, and tangling. 773documentation, and tangling.
573 774
574Org's automatic, context-sensitive table editor with spreadsheet 775Org's automatic, context-sensitive table editor with spreadsheet
575capabilities can be integrated into any major mode by activating the 776capabilities can be integrated into any major mode by activating the
576minor Orgtbl mode. Using a translation step, it can be used to maintain 777minor Orgtbl mode. Using a translation step, it can be used to maintain
577tables in arbitrary file types, for example in La@TeX{}. The structure 778tables in arbitrary file types, for example in @LaTeX{}. The structure
578editing and list creation capabilities can be used outside Org with 779editing and list creation capabilities can be used outside Org with
579the minor Orgstruct mode. 780the minor Orgstruct mode.
580 781
@@ -591,7 +792,7 @@ ends, for example:
591@r{@bullet{} a full agenda and planner with deadlines and work scheduling} 792@r{@bullet{} a full agenda and planner with deadlines and work scheduling}
592@pindex GTD, Getting Things Done 793@pindex GTD, Getting Things Done
593@r{@bullet{} an environment in which to implement David Allen's GTD system} 794@r{@bullet{} an environment in which to implement David Allen's GTD system}
594@r{@bullet{} a simple hypertext system, with HTML and La@TeX{} export} 795@r{@bullet{} a simple hypertext system, with HTML and @LaTeX{} export}
595@r{@bullet{} a publishing tool to create a set of interlinked webpages} 796@r{@bullet{} a publishing tool to create a set of interlinked webpages}
596@r{@bullet{} an environment for literate programming} 797@r{@bullet{} an environment for literate programming}
597@end example 798@end example
@@ -742,7 +943,7 @@ to the mailing list, in order to minimize the work the mailing list
742moderators have to do.}. 943moderators have to do.}.
743 944
744For bug reports, please first try to reproduce the bug with the latest 945For bug reports, please first try to reproduce the bug with the latest
745version of Org available - if you are running an outdated version, it is 946version of Org available---if you are running an outdated version, it is
746quite possible that the bug has been fixed already. If the bug persists, 947quite possible that the bug has been fixed already. If the bug persists,
747prepare a report and provide as much information as possible, including the 948prepare a report and provide as much information as possible, including the
748version information of Emacs (@kbd{M-x emacs-version @key{RET}}) and Org 949version information of Emacs (@kbd{M-x emacs-version @key{RET}}) and Org
@@ -819,6 +1020,18 @@ User-defined properties are capitalized; built-in properties with
819special meaning are written with all capitals. 1020special meaning are written with all capitals.
820@end table 1021@end table
821 1022
1023The manual lists both the keys and the corresponding commands for accessing
1024functionality. Org mode often uses the same key for different functions,
1025depending on context. The command that is bound to such keys has a generic
1026name, like @code{org-metaright}. In the manual we will, wherever possible,
1027give the function that is internally called by the generic command. For
1028example, in the chapter on document structure, @kbd{M-@key{right}} will be
1029listed to call @code{org-do-demote}, while in the chapter on tables, it will
1030be listed to call org-table-move-column-right.
1031
1032If you prefer, you can compile the manual without the command names by
1033unsetting the flag @code{cmdnames} in @file{org.texi}.
1034
822@node Document Structure, Tables, Introduction, Top 1035@node Document Structure, Tables, Introduction, Top
823@chapter Document structure 1036@chapter Document structure
824@cindex document structure 1037@cindex document structure
@@ -1199,8 +1412,7 @@ commands can be accessed through a dispatcher:
1199@table @asis 1412@table @asis
1200@orgcmd{C-c /,org-sparse-tree} 1413@orgcmd{C-c /,org-sparse-tree}
1201This prompts for an extra key to select a sparse-tree creating command. 1414This prompts for an extra key to select a sparse-tree creating command.
1202@kindex C-c / r 1415@orgcmd{C-c / r,org-occur}
1203@item C-c / r
1204@vindex org-remove-highlights-with-change 1416@vindex org-remove-highlights-with-change
1205Occur. Prompts for a regexp and shows a sparse tree with all matches. If 1417Occur. Prompts for a regexp and shows a sparse tree with all matches. If
1206the match is in a headline, the headline is made visible. If the match is in 1418the match is in a headline, the headline is made visible. If the match is in
@@ -1270,7 +1482,7 @@ as bullets.
1270@emph{Ordered} list items start with a numeral followed by either a period or 1482@emph{Ordered} list items start with a numeral followed by either a period or
1271a right parenthesis@footnote{You can filter out any of them by configuring 1483a right parenthesis@footnote{You can filter out any of them by configuring
1272@code{org-plain-list-ordered-item-terminator}.}, such as @samp{1.} or 1484@code{org-plain-list-ordered-item-terminator}.}, such as @samp{1.} or
1273@samp{1)}. If you want a list to start a different value (e.g. 20), start 1485@samp{1)}. If you want a list to start with a different value (e.g. 20), start
1274the text of the item with @code{[@@20]}@footnote{If there's a checkbox in the 1486the text of the item with @code{[@@20]}@footnote{If there's a checkbox in the
1275item, the cookie must be put @emph{before} the checkbox.}. Those constructs 1487item, the cookie must be put @emph{before} the checkbox.}. Those constructs
1276can be used in any item of the list in order to enforce a particular 1488can be used in any item of the list in order to enforce a particular
@@ -1325,7 +1537,7 @@ XEmacs, you should use Kyle E. Jones' @file{filladapt.el}. To turn this on,
1325put into @file{.emacs}: @code{(require 'filladapt)}}, and by exporting them 1537put into @file{.emacs}: @code{(require 'filladapt)}}, and by exporting them
1326properly (@pxref{Exporting}). Since indentation is what governs the 1538properly (@pxref{Exporting}). Since indentation is what governs the
1327structure of these lists, many structural constructs like @code{#+BEGIN_...} 1539structure of these lists, many structural constructs like @code{#+BEGIN_...}
1328blocks can be indented to signal that they should be considered of a list 1540blocks can be indented to signal that they should be considered as a list
1329item. 1541item.
1330 1542
1331@vindex org-list-demote-modify-bullet 1543@vindex org-list-demote-modify-bullet
@@ -1336,7 +1548,7 @@ the current list-level) improves readability, customize the variable
1336@vindex org-list-automatic-rules 1548@vindex org-list-automatic-rules
1337The following commands act on items when the cursor is in the first line of 1549The following commands act on items when the cursor is in the first line of
1338an item (the line with the bullet or number). Some of them imply the 1550an item (the line with the bullet or number). Some of them imply the
1339application of automatic rules to keep list structure in tact. If some of 1551application of automatic rules to keep list structure intact. If some of
1340these actions get in your way, configure @code{org-list-automatic-rules} 1552these actions get in your way, configure @code{org-list-automatic-rules}
1341to disable them individually. 1553to disable them individually.
1342 1554
@@ -1345,8 +1557,9 @@ to disable them individually.
1345@vindex org-cycle-include-plain-lists 1557@vindex org-cycle-include-plain-lists
1346Items can be folded just like headline levels. Normally this works only if 1558Items can be folded just like headline levels. Normally this works only if
1347the cursor is on a plain list item. For more details, see the variable 1559the cursor is on a plain list item. For more details, see the variable
1348@code{org-cycle-include-plain-lists}. to @code{integrate}, plain list items 1560@code{org-cycle-include-plain-lists}. If this variable is set to
1349will be treated like low-level. The level of an item is then given by the 1561@code{integrate}, plain list items will be treated like low-level
1562headlines. The level of an item is then given by the
1350indentation of the bullet/number. Items are always subordinate to real 1563indentation of the bullet/number. Items are always subordinate to real
1351headlines, however; the hierarchies remain completely separated. 1564headlines, however; the hierarchies remain completely separated.
1352@orgcmd{M-@key{RET},org-insert-heading} 1565@orgcmd{M-@key{RET},org-insert-heading}
@@ -1357,7 +1570,7 @@ heading (@pxref{Structure editing}). If this command is used in the middle
1357of a line, the line is @emph{split} and the rest of the line becomes the new 1570of a line, the line is @emph{split} and the rest of the line becomes the new
1358item@footnote{If you do not want the line to be split, customize the variable 1571item@footnote{If you do not want the line to be split, customize the variable
1359@code{org-M-RET-may-split-line}.}. If this command is executed @emph{before 1572@code{org-M-RET-may-split-line}.}. If this command is executed @emph{before
1360item's body}, the new item is created @emph{before} the current item. If the 1573an item's body}, the new item is created @emph{before} the current item. If the
1361command is executed in the white space before the text that is part of an 1574command is executed in the white space before the text that is part of an
1362item but does not contain the bullet, a bullet is added to the current line. 1575item but does not contain the bullet, a bullet is added to the current line.
1363 1576
@@ -1369,7 +1582,7 @@ the structure, or return an error.
1369Insert a new item with a checkbox (@pxref{Checkboxes}). 1582Insert a new item with a checkbox (@pxref{Checkboxes}).
1370@orgcmd{@key{TAB},org-cycle} 1583@orgcmd{@key{TAB},org-cycle}
1371In a new item with no text yet, the first @key{TAB} demotes the item to 1584In a new item with no text yet, the first @key{TAB} demotes the item to
1372become a child of the previous one. Subsequents @key{TAB} move the item to 1585become a child of the previous one. Subsequent @key{TAB}s move the item to
1373meaningful levels in the list and eventually get it back to its initial 1586meaningful levels in the list and eventually get it back to its initial
1374position. 1587position.
1375@kindex S-@key{down} 1588@kindex S-@key{down}
@@ -1475,8 +1688,7 @@ press @key{TAB} there. Org-mode uses the @code{PROPERTIES} drawer for
1475storing properties (@pxref{Properties and Columns}), and you can also arrange 1688storing properties (@pxref{Properties and Columns}), and you can also arrange
1476for state change notes (@pxref{Tracking TODO state changes}) and clock times 1689for state change notes (@pxref{Tracking TODO state changes}) and clock times
1477(@pxref{Clocking work time}) to be stored in a drawer @code{LOGBOOK}. If you 1690(@pxref{Clocking work time}) to be stored in a drawer @code{LOGBOOK}. If you
1478want to store a quick note in the LOGBOOK drawer, in a similar way as this is 1691want to store a quick note in the LOGBOOK drawer, in a similar way to state changes, use
1479done by state changes, use
1480 1692
1481@table @kbd 1693@table @kbd
1482@kindex C-c C-z 1694@kindex C-c C-z
@@ -1513,7 +1725,7 @@ larger document, not only for one-off documents like emails. The basic
1513syntax is similar to the one used by @file{footnote.el}, i.e. a footnote is 1725syntax is similar to the one used by @file{footnote.el}, i.e. a footnote is
1514defined in a paragraph that is started by a footnote marker in square 1726defined in a paragraph that is started by a footnote marker in square
1515brackets in column 0, no indentation allowed. If you need a paragraph break 1727brackets in column 0, no indentation allowed. If you need a paragraph break
1516inside a footnote, use the La@TeX{} idiom @samp{\par}. The footnote reference 1728inside a footnote, use the @LaTeX{} idiom @samp{\par}. The footnote reference
1517is simply the marker in square brackets, inside text. For example: 1729is simply the marker in square brackets, inside text. For example:
1518 1730
1519@example 1731@example
@@ -1525,7 +1737,7 @@ The Org homepage[fn:1] now looks a lot better than it used to.
1525Org-mode extends the number-based syntax to @emph{named} footnotes and 1737Org-mode extends the number-based syntax to @emph{named} footnotes and
1526optional inline definition. Using plain numbers as markers (as 1738optional inline definition. Using plain numbers as markers (as
1527@file{footnote.el} does) is supported for backward compatibility, but not 1739@file{footnote.el} does) is supported for backward compatibility, but not
1528encouraged because of possible conflicts with La@TeX{} snippets (@pxref{Embedded 1740encouraged because of possible conflicts with @LaTeX{} snippets (@pxref{Embedded
1529LaTeX}). Here are the valid references: 1741LaTeX}). Here are the valid references:
1530 1742
1531@table @code 1743@table @code
@@ -1537,7 +1749,7 @@ snippet.
1537A named footnote reference, where @code{name} is a unique label word, or, for 1749A named footnote reference, where @code{name} is a unique label word, or, for
1538simplicity of automatic creation, a number. 1750simplicity of automatic creation, a number.
1539@item [fn:: This is the inline definition of this footnote] 1751@item [fn:: This is the inline definition of this footnote]
1540A La@TeX{}-like anonymous footnote where the definition is given directly at the 1752A @LaTeX{}-like anonymous footnote where the definition is given directly at the
1541reference point. 1753reference point.
1542@item [fn:name: a definition] 1754@item [fn:name: a definition]
1543An inline definition of a footnote, which also specifies a name for the note. 1755An inline definition of a footnote, which also specifies a name for the note.
@@ -1548,7 +1760,7 @@ Since Org allows multiple references to the same note, you can then use
1548@vindex org-footnote-auto-label 1760@vindex org-footnote-auto-label
1549Footnote labels can be created automatically, or you can create names yourself. 1761Footnote labels can be created automatically, or you can create names yourself.
1550This is handled by the variable @code{org-footnote-auto-label} and its 1762This is handled by the variable @code{org-footnote-auto-label} and its
1551corresponding @code{#+STARTUP} keywords, see the docstring of that variable 1763corresponding @code{#+STARTUP} keywords. See the docstring of that variable
1552for details. 1764for details.
1553 1765
1554@noindent The following command handles footnotes: 1766@noindent The following command handles footnotes:
@@ -1631,7 +1843,7 @@ When this mode is active and the cursor is on a line that looks to Org like a
1631headline or the first line of a list item, most structure editing commands 1843headline or the first line of a list item, most structure editing commands
1632will work, even if the same keys normally have different functionality in the 1844will work, even if the same keys normally have different functionality in the
1633major mode you are using. If the cursor is not in one of those special 1845major mode you are using. If the cursor is not in one of those special
1634lines, Orgstruct mode lurks silently in the shadow. When you use 1846lines, Orgstruct mode lurks silently in the shadows. When you use
1635@code{orgstruct++-mode}, Org will also export indentation and autofill 1847@code{orgstruct++-mode}, Org will also export indentation and autofill
1636settings into that mode, and detect item context after the first line of an 1848settings into that mode, and detect item context after the first line of an
1637item. 1849item.
@@ -1642,8 +1854,7 @@ item.
1642@cindex editing tables 1854@cindex editing tables
1643 1855
1644Org comes with a fast and intuitive table editor. Spreadsheet-like 1856Org comes with a fast and intuitive table editor. Spreadsheet-like
1645calculations are supported in connection with the Emacs @file{calc} 1857calculations are supported using the Emacs @file{calc} package
1646package
1647@ifinfo 1858@ifinfo
1648(@pxref{Top,Calc,,Calc,Gnu Emacs Calculator Manual}). 1859(@pxref{Top,Calc,,Calc,Gnu Emacs Calculator Manual}).
1649@end ifinfo 1860@end ifinfo
@@ -1722,70 +1933,55 @@ table. But it's easier just to start typing, like
1722@kbd{|Name|Phone|Age @key{RET} |- @key{TAB}}. 1933@kbd{|Name|Phone|Age @key{RET} |- @key{TAB}}.
1723 1934
1724@tsubheading{Re-aligning and field motion} 1935@tsubheading{Re-aligning and field motion}
1725@orgcmd{C-c C-c,org-ctrl-c-ctrl-c} 1936@orgcmd{C-c C-c,org-table-align}
1726Re-align the table without moving the cursor. 1937Re-align the table without moving the cursor.
1727@c 1938@c
1728@orgcmd{<TAB>,org-cycle} 1939@orgcmd{<TAB>,org-table-next-field}
1729Re-align the table, move to the next field. Creates a new row if 1940Re-align the table, move to the next field. Creates a new row if
1730necessary. 1941necessary.
1731@c 1942@c
1732@orgcmd{S-@key{TAB},org-shifttab} 1943@orgcmd{S-@key{TAB},org-table-previous-field}
1733Re-align, move to previous field. 1944Re-align, move to previous field.
1734@c 1945@c
1735@orgcmd{@key{RET},org-return} 1946@orgcmd{@key{RET},org-table-next-row}
1736Re-align the table and move down to next row. Creates a new row if 1947Re-align the table and move down to next row. Creates a new row if
1737necessary. At the beginning or end of a line, @key{RET} still does 1948necessary. At the beginning or end of a line, @key{RET} still does
1738NEWLINE, so it can be used to split a table. 1949NEWLINE, so it can be used to split a table.
1739@c 1950@c
1740@kindex M-a 1951@orgcmd{M-a,org-table-beginning-of-field}
1741@item M-a
1742Move to beginning of the current table field, or on to the previous field. 1952Move to beginning of the current table field, or on to the previous field.
1743@kindex M-e 1953@orgcmd{M-e,org-table-end-of-field}
1744@item M-e
1745Move to end of the current table field, or on to the next field. 1954Move to end of the current table field, or on to the next field.
1746 1955
1747@tsubheading{Column and row editing} 1956@tsubheading{Column and row editing}
1748@kindex M-@key{left} 1957@orgcmdkkcc{M-@key{left},M-@key{right},org-table-move-column-left,org-table-move-column-right}
1749@kindex M-@key{right}
1750@item M-@key{left}
1751@itemx M-@key{right}
1752Move the current column left/right. 1958Move the current column left/right.
1753@c 1959@c
1754@kindex M-S-@key{left} 1960@orgcmd{M-S-@key{left},org-table-delete-column}
1755@item M-S-@key{left}
1756Kill the current column. 1961Kill the current column.
1757@c 1962@c
1758@kindex M-S-@key{right} 1963@orgcmd{M-S-@key{right},org-table-insert-column}
1759@item M-S-@key{right}
1760Insert a new column to the left of the cursor position. 1964Insert a new column to the left of the cursor position.
1761@c 1965@c
1762@kindex M-@key{up} 1966@orgcmdkkcc{M-@key{up},M-@key{down},org-table-move-row-up,org-table-move-row-down}
1763@kindex M-@key{down}
1764@item M-@key{up}
1765@itemx M-@key{down}
1766Move the current row up/down. 1967Move the current row up/down.
1767@c 1968@c
1768@kindex M-S-@key{up} 1969@orgcmd{M-S-@key{up},org-table-kill-row}
1769@item M-S-@key{up}
1770Kill the current row or horizontal line. 1970Kill the current row or horizontal line.
1771@c 1971@c
1772@kindex M-S-@key{down} 1972@orgcmd{M-S-@key{down},org-table-insert-row}
1773@item M-S-@key{down}
1774Insert a new row above the current row. With a prefix argument, the line is 1973Insert a new row above the current row. With a prefix argument, the line is
1775created below the current one. 1974created below the current one.
1776@c 1975@c
1777@kindex C-c - 1976@orgcmd{C-c -,org-table-insert-hline}
1778@item C-c -
1779Insert a horizontal line below current row. With a prefix argument, the line 1977Insert a horizontal line below current row. With a prefix argument, the line
1780is created above the current line. 1978is created above the current line.
1781@c 1979@c
1782@kindex C-c @key{RET} 1980@orgcmd{C-c @key{RET},org-table-hline-and-move}
1783@item C-c @key{RET}
1784Insert a horizontal line below current row, and move the cursor into the row 1981Insert a horizontal line below current row, and move the cursor into the row
1785below that line. 1982below that line.
1786@c 1983@c
1787@kindex C-c ^ 1984@orgcmd{C-c ^,org-table-sort-lines}
1788@item C-c ^
1789Sort the table lines in the region. The position of point indicates the 1985Sort the table lines in the region. The position of point indicates the
1790column to be used for sorting, and the range of lines is the range 1986column to be used for sorting, and the range of lines is the range
1791between the nearest horizontal separator lines, or the entire table. If 1987between the nearest horizontal separator lines, or the entire table. If
@@ -1797,35 +1993,30 @@ included into the sorting. The command prompts for the sorting type
1797argument, alphabetic sorting will be case-sensitive. 1993argument, alphabetic sorting will be case-sensitive.
1798 1994
1799@tsubheading{Regions} 1995@tsubheading{Regions}
1800@kindex C-c C-x M-w 1996@orgcmd{C-c C-x M-w,org-table-copy-region}
1801@item C-c C-x M-w
1802Copy a rectangular region from a table to a special clipboard. Point and 1997Copy a rectangular region from a table to a special clipboard. Point and
1803mark determine edge fields of the rectangle. If there is no active region, 1998mark determine edge fields of the rectangle. If there is no active region,
1804copy just the current field. The process ignores horizontal separator lines. 1999copy just the current field. The process ignores horizontal separator lines.
1805@c 2000@c
1806@kindex C-c C-x C-w 2001@orgcmd{C-c C-x C-w,org-table-cut-region}
1807@item C-c C-x C-w
1808Copy a rectangular region from a table to a special clipboard, and 2002Copy a rectangular region from a table to a special clipboard, and
1809blank all fields in the rectangle. So this is the ``cut'' operation. 2003blank all fields in the rectangle. So this is the ``cut'' operation.
1810@c 2004@c
1811@kindex C-c C-x C-y 2005@orgcmd{C-c C-x C-y,org-table-paste-rectangle}
1812@item C-c C-x C-y
1813Paste a rectangular region into a table. 2006Paste a rectangular region into a table.
1814The upper left corner ends up in the current field. All involved fields 2007The upper left corner ends up in the current field. All involved fields
1815will be overwritten. If the rectangle does not fit into the present table, 2008will be overwritten. If the rectangle does not fit into the present table,
1816the table is enlarged as needed. The process ignores horizontal separator 2009the table is enlarged as needed. The process ignores horizontal separator
1817lines. 2010lines.
1818@c 2011@c
1819@kindex M-@key{RET} 2012@orgcmd{M-@key{RET},org-table-wrap-region}
1820@itemx M-@kbd{RET} 2013Split the current field at the cursor position and move the rest to the line
1821Wrap several fields in a column like a paragraph. If there is an active 2014below. If there is an active region, and both point and mark are in the same
1822region, and both point and mark are in the same column, the text in the 2015column, the text in the column is wrapped to minimum width for the given
1823column is wrapped to minimum width for the given number of lines. A numeric 2016number of lines. A numeric prefix argument may be used to change the number
1824prefix argument may be used to change the number of desired lines. If there 2017of desired lines. If there is no region, but you specify a prefix argument,
1825is no region, the current field is split at the cursor position and the text 2018the current field is made blank, and the content is appended to the field
1826fragment to the right of the cursor is prepended to the field one line 2019above.
1827down. If there is no region, but you specify a prefix argument, the current
1828field is made blank, and the content is appended to the field above.
1829 2020
1830@tsubheading{Calculations} 2021@tsubheading{Calculations}
1831@cindex formula, in tables 2022@cindex formula, in tables
@@ -1833,14 +2024,12 @@ field is made blank, and the content is appended to the field above.
1833@cindex region, active 2024@cindex region, active
1834@cindex active region 2025@cindex active region
1835@cindex transient mark mode 2026@cindex transient mark mode
1836@kindex C-c + 2027@orgcmd{C-c +,org-table-sum}
1837@item C-c +
1838Sum the numbers in the current column, or in the rectangle defined by 2028Sum the numbers in the current column, or in the rectangle defined by
1839the active region. The result is shown in the echo area and can 2029the active region. The result is shown in the echo area and can
1840be inserted with @kbd{C-y}. 2030be inserted with @kbd{C-y}.
1841@c 2031@c
1842@kindex S-@key{RET} 2032@orgcmd{S-@key{RET},org-table-copy-down}
1843@item S-@key{RET}
1844@vindex org-table-copy-increment 2033@vindex org-table-copy-increment
1845When current field is empty, copy from first non-empty field above. When not 2034When current field is empty, copy from first non-empty field above. When not
1846empty, copy current field down to next row and move cursor along with it. 2035empty, copy current field down to next row and move cursor along with it.
@@ -1851,8 +2040,7 @@ increment. This key is also used by shift-selection and related modes
1851(@pxref{Conflicts}). 2040(@pxref{Conflicts}).
1852 2041
1853@tsubheading{Miscellaneous} 2042@tsubheading{Miscellaneous}
1854@kindex C-c ` 2043@orgcmd{C-c `,org-table-edit-field}
1855@item C-c `
1856Edit the current field in a separate window. This is useful for fields that 2044Edit the current field in a separate window. This is useful for fields that
1857are not fully visible (@pxref{Column width and alignment}). When called with 2045are not fully visible (@pxref{Column width and alignment}). When called with
1858a @kbd{C-u} prefix, just make the full field visible, so that it can be 2046a @kbd{C-u} prefix, just make the full field visible, so that it can be
@@ -1866,12 +2054,13 @@ TAB-separated text files. This command works by inserting the file into
1866the buffer and then converting the region to a table. Any prefix 2054the buffer and then converting the region to a table. Any prefix
1867argument is passed on to the converter, which uses it to determine the 2055argument is passed on to the converter, which uses it to determine the
1868separator. 2056separator.
1869@item C-c | 2057@orgcmd{C-c |,org-table-create-or-convert-from-region}
1870Tables can also be imported by pasting tabular text into the Org 2058Tables can also be imported by pasting tabular text into the Org
1871buffer, selecting the pasted text with @kbd{C-x C-x} and then using the 2059buffer, selecting the pasted text with @kbd{C-x C-x} and then using the
1872@kbd{C-c |} command (see above under @i{Creation and conversion}). 2060@kbd{C-c |} command (see above under @i{Creation and conversion}).
1873@c 2061@c
1874@item M-x org-table-export 2062@item M-x org-table-export
2063@findex org-table-export
1875@vindex org-table-export-default-format 2064@vindex org-table-export-default-format
1876Export the table, by default as a TAB-separated file. Use for data 2065Export the table, by default as a TAB-separated file. Use for data
1877exchange with, for example, spreadsheet or database programs. The format 2066exchange with, for example, spreadsheet or database programs. The format
@@ -1926,7 +2115,7 @@ will then set the width of this column to this value.
1926 2115
1927@noindent 2116@noindent
1928Fields that are wider become clipped and end in the string @samp{=>}. 2117Fields that are wider become clipped and end in the string @samp{=>}.
1929Note that the full text is still in the buffer, it is only invisible. 2118Note that the full text is still in the buffer but is hidden.
1930To see the full text, hold the mouse over the field---a tool-tip window 2119To see the full text, hold the mouse over the field---a tool-tip window
1931will show the full content. To edit such a field, use the command 2120will show the full content. To edit such a field, use the command
1932@kbd{C-c `} (that is @kbd{C-c} followed by the backquote). This will 2121@kbd{C-c `} (that is @kbd{C-c} followed by the backquote). This will
@@ -1947,7 +2136,7 @@ on a per-file basis with:
1947@end example 2136@end example
1948 2137
1949If you would like to overrule the automatic alignment of number-rich columns 2138If you would like to overrule the automatic alignment of number-rich columns
1950to the right and of string-rich column to the left, you and use @samp{<r>}, 2139to the right and of string-rich column to the left, you can use @samp{<r>},
1951@samp{c}@footnote{Centering does not work inside Emacs, but it does have an 2140@samp{c}@footnote{Centering does not work inside Emacs, but it does have an
1952effect when exporting to HTML.} or @samp{<l>} in a similar fashion. You may 2141effect when exporting to HTML.} or @samp{<l>} in a similar fashion. You may
1953also combine alignment and field width like this: @samp{<l10>}. 2142also combine alignment and field width like this: @samp{<l10>}.
@@ -2007,7 +2196,7 @@ example in mail mode, use
2007 2196
2008Furthermore, with some special setup, it is possible to maintain tables 2197Furthermore, with some special setup, it is possible to maintain tables
2009in arbitrary syntax with Orgtbl mode. For example, it is possible to 2198in arbitrary syntax with Orgtbl mode. For example, it is possible to
2010construct La@TeX{} tables with the underlying ease and power of 2199construct @LaTeX{} tables with the underlying ease and power of
2011Orgtbl mode, including spreadsheet capabilities. For details, see 2200Orgtbl mode, including spreadsheet capabilities. For details, see
2012@ref{Tables in arbitrary syntax}. 2201@ref{Tables in arbitrary syntax}.
2013 2202
@@ -2280,7 +2469,7 @@ tan($1);Dp3s1 @r{Compute in degrees, precision 3, display SCI 1}
2280sin($1);Dp3%.1e @r{Same, but use printf specifier for display} 2469sin($1);Dp3%.1e @r{Same, but use printf specifier for display}
2281vmean($2..$7) @r{Compute column range mean, using vector function} 2470vmean($2..$7) @r{Compute column range mean, using vector function}
2282vmean($2..$7);EN @r{Same, but treat empty fields as 0} 2471vmean($2..$7);EN @r{Same, but treat empty fields as 0}
2283taylor($3,x=7,2) @r{taylor series of $3, at x=7, second degree} 2472taylor($3,x=7,2) @r{Taylor series of $3, at x=7, second degree}
2284@end example 2473@end example
2285 2474
2286Calc also contains a complete set of logical operations. For example 2475Calc also contains a complete set of logical operations. For example
@@ -2293,24 +2482,23 @@ if($1<20,teen,string("")) @r{``teen'' if age $1 less than 20, else empty}
2293@subsection Emacs Lisp forms as formulas 2482@subsection Emacs Lisp forms as formulas
2294@cindex Lisp forms, as table formulas 2483@cindex Lisp forms, as table formulas
2295 2484
2296It is also possible to write a formula in Emacs Lisp; this can be useful 2485It is also possible to write a formula in Emacs Lisp; this can be useful for
2297for string manipulation and control structures, if Calc's 2486string manipulation and control structures, if Calc's functionality is not
2298functionality is not enough. If a formula starts with a single-quote 2487enough. If a formula starts with a single-quote followed by an opening
2299followed by an opening parenthesis, then it is evaluated as a Lisp form. 2488parenthesis, then it is evaluated as a Lisp form. The evaluation should
2300The evaluation should return either a string or a number. Just as with 2489return either a string or a number. Just as with @file{calc} formulas, you
2301@file{calc} formulas, you can specify modes and a printf format after a 2490can specify modes and a printf format after a semicolon. With Emacs Lisp
2302semicolon. With Emacs Lisp forms, you need to be conscious about the way 2491forms, you need to be conscious about the way field references are
2303field references are interpolated into the form. By default, a 2492interpolated into the form. By default, a reference will be interpolated as
2304reference will be interpolated as a Lisp string (in double-quotes) 2493a Lisp string (in double-quotes) containing the field. If you provide the
2305containing the field. If you provide the @samp{N} mode switch, all 2494@samp{N} mode switch, all referenced elements will be numbers (non-number
2306referenced elements will be numbers (non-number fields will be zero) and 2495fields will be zero) and interpolated as Lisp numbers, without quotes. If
2307interpolated as Lisp numbers, without quotes. If you provide the 2496you provide the @samp{L} flag, all fields will be interpolated literally,
2308@samp{L} flag, all fields will be interpolated literally, without quotes. 2497without quotes. I.e., if you want a reference to be interpreted as a string
2309I.e., if you want a reference to be interpreted as a string by the Lisp 2498by the Lisp form, enclose the reference operator itself in double-quotes,
2310form, enclose the reference operator itself in double-quotes, like 2499like @code{"$3"}. Ranges are inserted as space-separated fields, so you can
2311@code{"$3"}. Ranges are inserted as space-separated fields, so you can 2500+embed them in list or vector syntax. Here are a few examples---note how the
2312embed them in list or vector syntax. A few examples, note how the 2501@samp{N} mode is used when we do computations in Lisp:
2313@samp{N} mode is used when we do computations in Lisp.
2314 2502
2315@example 2503@example
2316@r{Swap the first two characters of the content of column 1} 2504@r{Swap the first two characters of the content of column 1}
@@ -2334,7 +2522,7 @@ evaluated, and the current field replaced with the result.
2334 2522
2335@cindex #+TBLFM 2523@cindex #+TBLFM
2336Formulas are stored in a special line starting with @samp{#+TBLFM:} 2524Formulas are stored in a special line starting with @samp{#+TBLFM:}
2337directly below the table. If you typed the equation in the 4th field of 2525directly below the table. If you type the equation in the 4th field of
2338the 3rd data line in the table, the formula will look like 2526the 3rd data line in the table, the formula will look like
2339@samp{@@3$4=$1+$2}. When inserting/deleting/swapping column and rows 2527@samp{@@3$4=$1+$2}. When inserting/deleting/swapping column and rows
2340with the appropriate commands, @i{absolute references} (but not relative 2528with the appropriate commands, @i{absolute references} (but not relative
@@ -2348,8 +2536,7 @@ Instead of typing an equation into the field, you may also use the
2348following command 2536following command
2349 2537
2350@table @kbd 2538@table @kbd
2351@kindex C-u C-c = 2539@orgcmd{C-u C-c =,org-table-eval-formula}
2352@item C-u C-c =
2353Install a new formula for the current field. The command prompts for a 2540Install a new formula for the current field. The command prompts for a
2354formula with default taken from the @samp{#+TBLFM:} line, applies 2541formula with default taken from the @samp{#+TBLFM:} line, applies
2355it to the current field, and stores it. 2542it to the current field, and stores it.
@@ -2382,8 +2569,7 @@ Instead of typing an equation into the field, you may also use the
2382following command: 2569following command:
2383 2570
2384@table @kbd 2571@table @kbd
2385@kindex C-c = 2572@orgcmd{C-c =,org-table-eval-formula}
2386@item C-c =
2387Install a new formula for the current column and replace current field with 2573Install a new formula for the current column and replace current field with
2388the result of the formula. The command prompts for a formula, with default 2574the result of the formula. The command prompts for a formula, with default
2389taken from the @samp{#+TBLFM} line, applies it to the current field and 2575taken from the @samp{#+TBLFM} line, applies it to the current field and
@@ -2406,32 +2592,29 @@ if possible. If you prefer to only work with the internal format (like
2406@code{org-table-use-standard-references}. 2592@code{org-table-use-standard-references}.
2407 2593
2408@table @kbd 2594@table @kbd
2409@kindex C-c = 2595@orgcmdkkc{C-c =,C-u C-c =,org-table-eval-formula}
2410@kindex C-u C-c =
2411@item C-c =
2412@itemx C-u C-c =
2413Edit the formula associated with the current column/field in the 2596Edit the formula associated with the current column/field in the
2414minibuffer. See @ref{Column formulas}, and @ref{Field formulas}. 2597minibuffer. See @ref{Column formulas}, and @ref{Field formulas}.
2415@kindex C-u C-u C-c = 2598@orgcmd{C-u C-u C-c =,org-table-eval-formula}
2416@item C-u C-u C-c =
2417Re-insert the active formula (either a 2599Re-insert the active formula (either a
2418field formula, or a column formula) into the current field, so that you 2600field formula, or a column formula) into the current field, so that you
2419can edit it directly in the field. The advantage over editing in the 2601can edit it directly in the field. The advantage over editing in the
2420minibuffer is that you can use the command @kbd{C-c ?}. 2602minibuffer is that you can use the command @kbd{C-c ?}.
2421@kindex C-c ? 2603@orgcmd{C-c ?,org-table-field-info}
2422@item C-c ?
2423While editing a formula in a table field, highlight the field(s) 2604While editing a formula in a table field, highlight the field(s)
2424referenced by the reference at the cursor position in the formula. 2605referenced by the reference at the cursor position in the formula.
2425@kindex C-c @} 2606@kindex C-c @}
2607@findex org-table-toggle-coordinate-overlays
2426@item C-c @} 2608@item C-c @}
2427Toggle the display of row and column numbers for a table, using 2609Toggle the display of row and column numbers for a table, using overlays
2428overlays. These are updated each time the table is aligned; you can 2610(@command{org-table-toggle-coordinate-overlays}). These are updated each
2429force it with @kbd{C-c C-c}. 2611time the table is aligned; you can force it with @kbd{C-c C-c}.
2430@kindex C-c @{ 2612@kindex C-c @{
2613@findex org-table-toggle-formula-debugger
2431@item C-c @{ 2614@item C-c @{
2432Toggle the formula debugger on and off. See below. 2615Toggle the formula debugger on and off
2433@kindex C-c ' 2616(@command{org-table-toggle-formula-debugger}). See below.
2434@item C-c ' 2617@orgcmd{C-c ',org-table-edit-formulas}
2435Edit all formulas for the current table in a special buffer, where the 2618Edit all formulas for the current table in a special buffer, where the
2436formulas will be displayed one per line. If the current field has an 2619formulas will be displayed one per line. If the current field has an
2437active formula, the cursor in the formula editor will mark it. 2620active formula, the cursor in the formula editor will mark it.
@@ -2439,46 +2622,40 @@ While inside the special buffer, Org will automatically highlight
2439any field or range reference at the cursor position. You may edit, 2622any field or range reference at the cursor position. You may edit,
2440remove and add formulas, and use the following commands: 2623remove and add formulas, and use the following commands:
2441@table @kbd 2624@table @kbd
2442@kindex C-c C-c 2625@orgcmdkkc{C-c C-c,C-x C-s,org-table-fedit-finish}
2443@kindex C-x C-s
2444@item C-c C-c
2445@itemx C-x C-s
2446Exit the formula editor and store the modified formulas. With @kbd{C-u} 2626Exit the formula editor and store the modified formulas. With @kbd{C-u}
2447prefix, also apply the new formulas to the entire table. 2627prefix, also apply the new formulas to the entire table.
2448@kindex C-c C-q 2628@orgcmd{C-c C-q,org-table-fedit-abort}
2449@item C-c C-q
2450Exit the formula editor without installing changes. 2629Exit the formula editor without installing changes.
2451@kindex C-c C-r 2630@orgcmd{C-c C-r,org-table-fedit-toggle-ref-type}
2452@item C-c C-r
2453Toggle all references in the formula editor between standard (like 2631Toggle all references in the formula editor between standard (like
2454@code{B3}) and internal (like @code{@@3$2}). 2632@code{B3}) and internal (like @code{@@3$2}).
2455@kindex @key{TAB} 2633@orgcmd{@key{TAB},org-table-fedit-lisp-indent}
2456@item @key{TAB}
2457Pretty-print or indent Lisp formula at point. When in a line containing 2634Pretty-print or indent Lisp formula at point. When in a line containing
2458a Lisp formula, format the formula according to Emacs Lisp rules. 2635a Lisp formula, format the formula according to Emacs Lisp rules.
2459Another @key{TAB} collapses the formula back again. In the open 2636Another @key{TAB} collapses the formula back again. In the open
2460formula, @key{TAB} re-indents just like in Emacs Lisp mode. 2637formula, @key{TAB} re-indents just like in Emacs Lisp mode.
2461@kindex M-@key{TAB} 2638@orgcmd{M-@key{TAB},lisp-complete-symbol}
2462@item M-@key{TAB}
2463Complete Lisp symbols, just like in Emacs Lisp mode. 2639Complete Lisp symbols, just like in Emacs Lisp mode.
2464@kindex S-@key{up} 2640@kindex S-@key{up}
2465@kindex S-@key{down} 2641@kindex S-@key{down}
2466@kindex S-@key{left} 2642@kindex S-@key{left}
2467@kindex S-@key{right} 2643@kindex S-@key{right}
2644@findex org-table-fedit-ref-up
2645@findex org-table-fedit-ref-down
2646@findex org-table-fedit-ref-left
2647@findex org-table-fedit-ref-right
2468@item S-@key{up}/@key{down}/@key{left}/@key{right} 2648@item S-@key{up}/@key{down}/@key{left}/@key{right}
2469Shift the reference at point. For example, if the reference is 2649Shift the reference at point. For example, if the reference is
2470@code{B3} and you press @kbd{S-@key{right}}, it will become @code{C3}. 2650@code{B3} and you press @kbd{S-@key{right}}, it will become @code{C3}.
2471This also works for relative references and for hline references. 2651This also works for relative references and for hline references.
2472@kindex M-S-@key{up} 2652@orgcmdkkcc{M-S-@key{up},M-S-@key{down},org-table-fedit-line-up,org-table-fedit-line-down}
2473@kindex M-S-@key{down}
2474@item M-S-@key{up}/@key{down}
2475Move the test line for column formulas in the Org buffer up and 2653Move the test line for column formulas in the Org buffer up and
2476down. 2654down.
2477@kindex M-@key{up} 2655@orgcmdkkcc{M-@key{up},M-@key{down},org-table-fedit-scroll-down,org-table-fedit-scroll-up}
2478@kindex M-@key{down}
2479@item M-@key{up}/@key{down}
2480Scroll the window displaying the table. 2656Scroll the window displaying the table.
2481@kindex C-c @} 2657@kindex C-c @}
2658@findex org-table-toggle-coordinate-overlays
2482@item C-c @} 2659@item C-c @}
2483Turn the coordinate grid in the table on and off. 2660Turn the coordinate grid in the table on and off.
2484@end table 2661@end table
@@ -2518,8 +2695,7 @@ In order to recalculate a line of a table or the entire table, use the
2518following commands: 2695following commands:
2519 2696
2520@table @kbd 2697@table @kbd
2521@kindex C-c * 2698@orgcmd{C-c *,org-table-recalculate}
2522@item C-c *
2523Recalculate the current row by first applying the stored column formulas 2699Recalculate the current row by first applying the stored column formulas
2524from left to right, and all field formulas in the current row. 2700from left to right, and all field formulas in the current row.
2525@c 2701@c
@@ -2530,16 +2706,15 @@ from left to right, and all field formulas in the current row.
2530Recompute the entire table, line by line. Any lines before the first 2706Recompute the entire table, line by line. Any lines before the first
2531hline are left alone, assuming that these are part of the table header. 2707hline are left alone, assuming that these are part of the table header.
2532@c 2708@c
2533@kindex C-u C-u C-c * 2709@orgcmdkkc{C-u C-u C-c *,C-u C-u C-c C-c,org-table-iterate}
2534@kindex C-u C-u C-c C-c
2535@item C-u C-u C-c *
2536@itemx C-u C-u C-c C-c
2537Iterate the table by recomputing it until no further changes occur. 2710Iterate the table by recomputing it until no further changes occur.
2538This may be necessary if some computed fields use the value of other 2711This may be necessary if some computed fields use the value of other
2539fields that are computed @i{later} in the calculation sequence. 2712fields that are computed @i{later} in the calculation sequence.
2540@item M-x org-table-recalculate-buffer-tables 2713@item M-x org-table-recalculate-buffer-tables
2714@findex org-table-recalculate-buffer-tables
2541Recompute all tables in the current buffer. 2715Recompute all tables in the current buffer.
2542@item M-x org-table-iterate-buffer-tables 2716@item M-x org-table-iterate-buffer-tables
2717@findex org-table-iterate-buffer-tables
2543Iterate all tables in the current buffer, in order to converge table-to-table 2718Iterate all tables in the current buffer, in order to converge table-to-table
2544dependencies. 2719dependencies.
2545@end table 2720@end table
@@ -2551,8 +2726,7 @@ If you want the recalculation of fields to happen automatically, or if
2551you want to be able to assign @i{names} to fields and columns, you need 2726you want to be able to assign @i{names} to fields and columns, you need
2552to reserve the first column of the table for special marking characters. 2727to reserve the first column of the table for special marking characters.
2553@table @kbd 2728@table @kbd
2554@kindex C-# 2729@orgcmd{C-#,org-table-rotate-recalc-marks}
2555@item C-#
2556Rotate the calculation mark in first column through the states @samp{ }, 2730Rotate the calculation mark in first column through the states @samp{ },
2557@samp{#}, @samp{*}, @samp{!}, @samp{$}. When there is an active region, 2731@samp{#}, @samp{*}, @samp{!}, @samp{$}. When there is an active region,
2558change all marks in the region. 2732change all marks in the region.
@@ -2708,8 +2882,8 @@ Defaults to @code{lines}.
2708If you want to plot to a file, specify @code{"@var{path/to/desired/output-file}"}. 2882If you want to plot to a file, specify @code{"@var{path/to/desired/output-file}"}.
2709 2883
2710@item labels 2884@item labels
2711List of labels to be used for the deps (defaults to the column headers if 2885List of labels to be used for the @code{deps} (defaults to the column headers
2712they exist). 2886if they exist).
2713 2887
2714@item line 2888@item line
2715Specify an entire line to be inserted in the Gnuplot script. 2889Specify an entire line to be inserted in the Gnuplot script.
@@ -2821,7 +2995,7 @@ a link targeting a headline, in-buffer completion can be used. Just type a
2821star followed by a few optional letters into the buffer and press 2995star followed by a few optional letters into the buffer and press
2822@kbd{M-@key{TAB}}. All headlines in the current buffer will be offered as 2996@kbd{M-@key{TAB}}. All headlines in the current buffer will be offered as
2823completions.}. In non-Org files, the search will look for the words in the 2997completions.}. In non-Org files, the search will look for the words in the
2824link text, in the above example the search would be for @samp{my target}. 2998link text. In the above example the search would be for @samp{my target}.
2825 2999
2826Following a link pushes a mark onto Org's own mark ring. You can 3000Following a link pushes a mark onto Org's own mark ring. You can
2827return to the previous position with @kbd{C-c &}. Using this command 3001return to the previous position with @kbd{C-c &}. Using this command
@@ -2939,9 +3113,8 @@ Org provides methods to create a link in the correct syntax, to
2939insert it into an Org file, and to follow the link. 3113insert it into an Org file, and to follow the link.
2940 3114
2941@table @kbd 3115@table @kbd
2942@kindex C-c l 3116@orgcmd{C-c l,org-store-link}
2943@cindex storing links 3117@cindex storing links
2944@item C-c l
2945Store a link to the current location. This is a @emph{global} command (you 3118Store a link to the current location. This is a @emph{global} command (you
2946must create the key binding yourself) which can be used in any buffer to 3119must create the key binding yourself) which can be used in any buffer to
2947create a link. The link will be stored for later insertion into an Org 3120create a link. The link will be stored for later insertion into an Org
@@ -2997,11 +3170,10 @@ When the cursor is in an agenda view, the created link points to the
2997entry referenced by the current line. 3170entry referenced by the current line.
2998 3171
2999@c 3172@c
3000@kindex C-c C-l 3173@orgcmd{C-c C-l,org-insert-link}
3001@cindex link completion 3174@cindex link completion
3002@cindex completion, of links 3175@cindex completion, of links
3003@cindex inserting links 3176@cindex inserting links
3004@item C-c C-l
3005@vindex org-keep-stored-link-after-insertion 3177@vindex org-keep-stored-link-after-insertion
3006Insert a link@footnote{ Note that you don't have to use this command to 3178Insert a link@footnote{ Note that you don't have to use this command to
3007insert a link. Links in Org are plain text, and you can type or paste them 3179insert a link. Links in Org are plain text, and you can type or paste them
@@ -3031,10 +3203,9 @@ calling a special function @code{org-PREFIX-complete-link}.} For
3031example, if you type @kbd{file @key{RET}}, file name completion (alternative 3203example, if you type @kbd{file @key{RET}}, file name completion (alternative
3032access: @kbd{C-u C-c C-l}, see below) will be offered, and after @kbd{bbdb 3204access: @kbd{C-u C-c C-l}, see below) will be offered, and after @kbd{bbdb
3033@key{RET}} you can complete contact names. 3205@key{RET}} you can complete contact names.
3034@kindex C-u C-c C-l 3206@orgkey C-u C-c C-l
3035@cindex file name completion 3207@cindex file name completion
3036@cindex completion, of file names 3208@cindex completion, of file names
3037@item C-u C-c C-l
3038When @kbd{C-c C-l} is called with a @kbd{C-u} prefix argument, a link to 3209When @kbd{C-c C-l} is called with a @kbd{C-u} prefix argument, a link to
3039a file will be inserted and you may use file name completion to select 3210a file will be inserted and you may use file name completion to select
3040the name of the file. The path to the file is inserted relative to the 3211the name of the file. The path to the file is inserted relative to the
@@ -3049,9 +3220,7 @@ When the cursor is on an existing link, @kbd{C-c C-l} allows you to edit the
3049link and description parts of the link. 3220link and description parts of the link.
3050@c 3221@c
3051@cindex following links 3222@cindex following links
3052@kindex C-c C-o 3223@orgcmd{C-c C-o,org-open-at-point}
3053@kindex @key{RET}
3054@item C-c C-o @ @r{(or, if @code{org-return-follows-link} is set, also} @key{RET}
3055@vindex org-file-apps 3224@vindex org-file-apps
3056Open link at point. This will launch a web browser for URLs (using 3225Open link at point. This will launch a web browser for URLs (using
3057@command{browse-url-at-point}), run VM/MH-E/Wanderlust/Rmail/Gnus/BBDB for 3226@command{browse-url-at-point}), run VM/MH-E/Wanderlust/Rmail/Gnus/BBDB for
@@ -3067,13 +3236,17 @@ visit the file with Emacs, use a @kbd{C-u} prefix. If you want to avoid
3067opening in Emacs, use a @kbd{C-u C-u} prefix.@* 3236opening in Emacs, use a @kbd{C-u C-u} prefix.@*
3068If the cursor is on a headline, but not on a link, offer all links in the 3237If the cursor is on a headline, but not on a link, offer all links in the
3069headline and entry text. 3238headline and entry text.
3239@orgkey @key{RET}
3240@vindex org-return-follows-link
3241When @code{org-return-follows-link} is set, @kbd{@key{RET}} will also follow
3242the link at point.
3070@c 3243@c
3071@kindex mouse-2 3244@kindex mouse-2
3072@kindex mouse-1 3245@kindex mouse-1
3073@item mouse-2 3246@item mouse-2
3074@itemx mouse-1 3247@itemx mouse-1
3075On links, @kbd{mouse-2} will open the link just as @kbd{C-c C-o} 3248On links, @kbd{mouse-2} will open the link just as @kbd{C-c C-o}
3076would. Under Emacs 22, @kbd{mouse-1} will also follow a link. 3249would. Under Emacs 22 and later, @kbd{mouse-1} will also follow a link.
3077@c 3250@c
3078@kindex mouse-3 3251@kindex mouse-3
3079@item mouse-3 3252@item mouse-3
@@ -3082,13 +3255,12 @@ Like @kbd{mouse-2}, but force file links to be opened with Emacs, and
3082internal links to be displayed in another window@footnote{See the 3255internal links to be displayed in another window@footnote{See the
3083variable @code{org-display-internal-link-with-indirect-buffer}}. 3256variable @code{org-display-internal-link-with-indirect-buffer}}.
3084@c 3257@c
3258@orgcmd{C-c C-x C-v,org-toggle-inline-images}
3085@cindex inlining images 3259@cindex inlining images
3086@cindex images, inlining 3260@cindex images, inlining
3087@kindex C-c C-x C-v
3088@vindex org-startup-with-inline-images 3261@vindex org-startup-with-inline-images
3089@cindex @code{inlineimages}, STARTUP keyword 3262@cindex @code{inlineimages}, STARTUP keyword
3090@cindex @code{noinlineimages}, STARTUP keyword 3263@cindex @code{noinlineimages}, STARTUP keyword
3091@item C-c C-x C-v
3092Toggle the inline display of linked images. Normally this will only inline 3264Toggle the inline display of linked images. Normally this will only inline
3093images that have no description part in the link, i.e. images that will also 3265images that have no description part in the link, i.e. images that will also
3094be inlined during export. When called with a prefix argument, also display 3266be inlined during export. When called with a prefix argument, also display
@@ -3096,28 +3268,23 @@ images that do have a link description. You can ask for inline images to be
3096displayed at startup by configuring the variable 3268displayed at startup by configuring the variable
3097@code{org-startup-with-inline-images}@footnote{with corresponding 3269@code{org-startup-with-inline-images}@footnote{with corresponding
3098@code{#+STARTUP} keywords @code{inlineimages} and @code{inlineimages}}. 3270@code{#+STARTUP} keywords @code{inlineimages} and @code{inlineimages}}.
3271@orgcmd{C-c %,org-mark-ring-push}
3099@cindex mark ring 3272@cindex mark ring
3100@kindex C-c %
3101@item C-c %
3102Push the current position onto the mark ring, to be able to return 3273Push the current position onto the mark ring, to be able to return
3103easily. Commands following an internal link do this automatically. 3274easily. Commands following an internal link do this automatically.
3104@c 3275@c
3276@orgcmd{C-c &,org-mark-ring-goto}
3105@cindex links, returning to 3277@cindex links, returning to
3106@kindex C-c &
3107@item C-c &
3108Jump back to a recorded position. A position is recorded by the 3278Jump back to a recorded position. A position is recorded by the
3109commands following internal links, and by @kbd{C-c %}. Using this 3279commands following internal links, and by @kbd{C-c %}. Using this
3110command several times in direct succession moves through a ring of 3280command several times in direct succession moves through a ring of
3111previously recorded positions. 3281previously recorded positions.
3112@c 3282@c
3113@kindex C-c C-x C-n 3283@orgcmdkkcc{C-c C-x C-n,C-c C-x C-p,org-next-link,org-previous-link}
3114@kindex C-c C-x C-p
3115@cindex links, finding next/previous 3284@cindex links, finding next/previous
3116@item C-c C-x C-n
3117@itemx C-c C-x C-p
3118Move forward/backward to the next link in the buffer. At the limit of 3285Move forward/backward to the next link in the buffer. At the limit of
3119the buffer, the search fails once, and then wraps around. The key 3286the buffer, the search fails once, and then wraps around. The key
3120bindings for this are really too long, you might want to bind this also 3287bindings for this are really too long; you might want to bind this also
3121to @kbd{C-n} and @kbd{C-p} 3288to @kbd{C-n} and @kbd{C-p}
3122@lisp 3289@lisp
3123(add-hook 'org-load-hook 3290(add-hook 'org-load-hook
@@ -3316,9 +3483,8 @@ Any headline becomes a TODO item when it starts with the word
3316The most important commands to work with TODO entries are: 3483The most important commands to work with TODO entries are:
3317 3484
3318@table @kbd 3485@table @kbd
3319@kindex C-c C-t 3486@orgcmd{C-c C-t,org-todo}
3320@cindex cycling, of TODO states 3487@cindex cycling, of TODO states
3321@item C-c C-t
3322Rotate the TODO state of the current item among 3488Rotate the TODO state of the current item among
3323 3489
3324@example 3490@example
@@ -3329,8 +3495,7 @@ Rotate the TODO state of the current item among
3329The same rotation can also be done ``remotely'' from the timeline and 3495The same rotation can also be done ``remotely'' from the timeline and
3330agenda buffers with the @kbd{t} command key (@pxref{Agenda commands}). 3496agenda buffers with the @kbd{t} command key (@pxref{Agenda commands}).
3331 3497
3332@kindex C-u C-c C-t 3498@orgkey{C-u C-c C-t}
3333@item C-u C-c C-t
3334Select a specific keyword using completion or (if it has been set up) 3499Select a specific keyword using completion or (if it has been set up)
3335the fast selection interface. For the latter, you need to assign keys 3500the fast selection interface. For the latter, you need to assign keys
3336to TODO states, see @ref{Per-file keywords}, and @ref{Setting tags}, for 3501to TODO states, see @ref{Per-file keywords}, and @ref{Setting tags}, for
@@ -3338,17 +3503,15 @@ more information.
3338 3503
3339@kindex S-@key{right} 3504@kindex S-@key{right}
3340@kindex S-@key{left} 3505@kindex S-@key{left}
3506@item S-@key{right} @ @r{/} @ S-@key{left}
3341@vindex org-treat-S-cursor-todo-selection-as-state-change 3507@vindex org-treat-S-cursor-todo-selection-as-state-change
3342@item S-@key{right}
3343@itemx S-@key{left}
3344Select the following/preceding TODO state, similar to cycling. Useful 3508Select the following/preceding TODO state, similar to cycling. Useful
3345mostly if more than two TODO states are possible (@pxref{TODO 3509mostly if more than two TODO states are possible (@pxref{TODO
3346extensions}). See also @ref{Conflicts}, for a discussion of the interaction 3510extensions}). See also @ref{Conflicts}, for a discussion of the interaction
3347with @code{shift-selection-mode}. See also the variable 3511with @code{shift-selection-mode}. See also the variable
3348@code{org-treat-S-cursor-todo-selection-as-state-change}. 3512@code{org-treat-S-cursor-todo-selection-as-state-change}.
3349@kindex C-c / t 3513@orgcmd{C-c / t,org-show-todo-key}
3350@cindex sparse tree, for TODO 3514@cindex sparse tree, for TODO
3351@itemx C-c / t
3352@vindex org-todo-keywords 3515@vindex org-todo-keywords
3353View TODO items in a @emph{sparse tree} (@pxref{Sparse trees}). Folds the 3516View TODO items in a @emph{sparse tree} (@pxref{Sparse trees}). Folds the
3354entire buffer, but shows all TODO items (with not-DONE state) and the 3517entire buffer, but shows all TODO items (with not-DONE state) and the
@@ -3359,15 +3522,13 @@ entries that match any one of these keywords. With numeric prefix argument
3359N, show the tree for the Nth keyword in the variable 3522N, show the tree for the Nth keyword in the variable
3360@code{org-todo-keywords}. With two prefix arguments, find all TODO states, 3523@code{org-todo-keywords}. With two prefix arguments, find all TODO states,
3361both un-done and done. 3524both un-done and done.
3362@kindex C-c a t 3525@orgcmd{C-c a t,org-todo-list}
3363@item C-c a t
3364Show the global TODO list. Collects the TODO items (with not-DONE states) 3526Show the global TODO list. Collects the TODO items (with not-DONE states)
3365from all agenda files (@pxref{Agenda Views}) into a single buffer. The new 3527from all agenda files (@pxref{Agenda Views}) into a single buffer. The new
3366buffer will be in @code{agenda-mode}, which provides commands to examine and 3528buffer will be in @code{agenda-mode}, which provides commands to examine and
3367manipulate the TODO entries from the new buffer (@pxref{Agenda commands}). 3529manipulate the TODO entries from the new buffer (@pxref{Agenda commands}).
3368@xref{Global TODO list}, for more information. 3530@xref{Global TODO list}, for more information.
3369@kindex S-M-@key{RET} 3531@orgcmd{S-M-@key{RET},org-insert-todo-heading}
3370@item S-M-@key{RET}
3371Insert a new TODO entry below the current one. 3532Insert a new TODO entry below the current one.
3372@end table 3533@end table
3373 3534
@@ -3644,8 +3805,7 @@ example:
3644@end example 3805@end example
3645 3806
3646@table @kbd 3807@table @kbd
3647@kindex C-c C-x o 3808@orgcmd{C-c C-x o,org-toggle-ordered-property}
3648@item C-c C-x o
3649@vindex org-track-ordered-property-with-tag 3809@vindex org-track-ordered-property-with-tag
3650@cindex property, ORDERED 3810@cindex property, ORDERED
3651Toggle the @code{ORDERED} property of the current entry. A property is used 3811Toggle the @code{ORDERED} property of the current entry. A property is used
@@ -3653,8 +3813,7 @@ for this behavior because this should be local to the current entry, not
3653inherited like a tag. However, if you would like to @i{track} the value of 3813inherited like a tag. However, if you would like to @i{track} the value of
3654this property with a tag for better visibility, customize the variable 3814this property with a tag for better visibility, customize the variable
3655@code{org-track-ordered-property-with-tag}. 3815@code{org-track-ordered-property-with-tag}.
3656@kindex C-u C-u C-u C-c C-t 3816@orgkey{C-u C-u C-u C-c C-t}
3657@item C-u C-u C-u C-c C-t
3658Change TODO state, circumventing any state blocking. 3817Change TODO state, circumventing any state blocking.
3659@end table 3818@end table
3660 3819
@@ -3698,7 +3857,7 @@ work time}.
3698 3857
3699The most basic logging is to keep track of @emph{when} a certain TODO 3858The most basic logging is to keep track of @emph{when} a certain TODO
3700item was finished. This is achieved with@footnote{The corresponding 3859item was finished. This is achieved with@footnote{The corresponding
3701in-buffer setting is: @code{#+STARTUP: logdone}}. 3860in-buffer setting is: @code{#+STARTUP: logdone}}
3702 3861
3703@lisp 3862@lisp
3704(setq org-log-done 'time) 3863(setq org-log-done 'time)
@@ -3928,18 +4087,16 @@ Priorities can be attached to any outline node; they do not need to be TODO
3928items. 4087items.
3929 4088
3930@table @kbd 4089@table @kbd
3931@kindex @kbd{C-c ,}
3932@item @kbd{C-c ,} 4090@item @kbd{C-c ,}
3933Set the priority of the current headline. The command prompts for a 4091@kindex @kbd{C-c ,}
3934priority character @samp{A}, @samp{B} or @samp{C}. When you press 4092@findex org-priority
3935@key{SPC} instead, the priority cookie is removed from the headline. 4093Set the priority of the current headline (@command{org-priority}). The
3936The priorities can also be changed ``remotely'' from the timeline and 4094command prompts for a priority character @samp{A}, @samp{B} or @samp{C}.
3937agenda buffer with the @kbd{,} command (@pxref{Agenda commands}). 4095When you press @key{SPC} instead, the priority cookie is removed from the
4096headline. The priorities can also be changed ``remotely'' from the timeline
4097and agenda buffer with the @kbd{,} command (@pxref{Agenda commands}).
3938@c 4098@c
3939@kindex S-@key{up} 4099@orgcmdkkcc{S-@key{up},S-@key{down},org-priority-up,org-priority-down}
3940@kindex S-@key{down}
3941@item S-@key{up}
3942@itemx S-@key{down}
3943@vindex org-priority-start-cycle-with-default 4100@vindex org-priority-start-cycle-with-default
3944Increase/decrease priority of current headline@footnote{See also the option 4101Increase/decrease priority of current headline@footnote{See also the option
3945@code{org-priority-start-cycle-with-default}.}. Note that these keys are 4102@code{org-priority-start-cycle-with-default}.}. Note that these keys are
@@ -4089,13 +4246,11 @@ off a box while there are unchecked boxes above it.
4089@noindent The following commands work with checkboxes: 4246@noindent The following commands work with checkboxes:
4090 4247
4091@table @kbd 4248@table @kbd
4092@kindex C-c C-c 4249@orgcmd{C-c C-c,org-toggle-checkbox}
4093@item C-c C-c
4094Toggle checkbox status or (with prefix arg) checkbox presence at point. With 4250Toggle checkbox status or (with prefix arg) checkbox presence at point. With
4095double prefix argument, set it to @samp{[-]}, which is considered to be an 4251double prefix argument, set it to @samp{[-]}, which is considered to be an
4096intermediate state. 4252intermediate state.
4097@kindex C-c C-x C-b 4253@orgcmd{C-c C-x C-b,org-toggle-checkbox}
4098@item C-c C-x C-b
4099Toggle checkbox status or (with prefix arg) checkbox presence at point. With 4254Toggle checkbox status or (with prefix arg) checkbox presence at point. With
4100double prefix argument, set it to @samp{[-]}, which is considered to be an 4255double prefix argument, set it to @samp{[-]}, which is considered to be an
4101intermediate state. 4256intermediate state.
@@ -4110,13 +4265,11 @@ this headline and the next (so @emph{not} the entire subtree).
4110@item 4265@item
4111If there is no active region, just toggle the checkbox at point. 4266If there is no active region, just toggle the checkbox at point.
4112@end itemize 4267@end itemize
4113@kindex M-S-@key{RET} 4268@orgcmd{M-S-@key{RET},org-insert-todo-heading}
4114@item M-S-@key{RET}
4115Insert a new item with a checkbox. 4269Insert a new item with a checkbox.
4116This works only if the cursor is already in a plain list item 4270This works only if the cursor is already in a plain list item
4117(@pxref{Plain lists}). 4271(@pxref{Plain lists}).
4118@kindex C-c C-x o 4272@orgcmd{C-c C-x o,org-toggle-ordered-property}
4119@item C-c C-x o
4120@vindex org-track-ordered-property-with-tag 4273@vindex org-track-ordered-property-with-tag
4121@cindex property, ORDERED 4274@cindex property, ORDERED
4122Toggle the @code{ORDERED} property of the entry, to toggle if checkboxes must 4275Toggle the @code{ORDERED} property of the entry, to toggle if checkboxes must
@@ -4125,8 +4278,7 @@ this should be local to the current entry, not inherited like a tag.
4125However, if you would like to @i{track} the value of this property with a tag 4278However, if you would like to @i{track} the value of this property with a tag
4126for better visibility, customize the variable 4279for better visibility, customize the variable
4127@code{org-track-ordered-property-with-tag}. 4280@code{org-track-ordered-property-with-tag}.
4128@kindex C-c # 4281@orgcmd{C-c #,org-update-statistics-cookies}
4129@item C-c #
4130Update the statistics cookie in the current outline entry. When called with 4282Update the statistics cookie in the current outline entry. When called with
4131a @kbd{C-u} prefix, update the entire file. Checkbox statistic cookies are 4283a @kbd{C-u} prefix, update the entire file. Checkbox statistic cookies are
4132updated automatically if you toggle checkboxes with @kbd{C-c C-c} and make 4284updated automatically if you toggle checkboxes with @kbd{C-c C-c} and make
@@ -4220,8 +4372,7 @@ After a colon, @kbd{M-@key{TAB}} offers completion on tags. There is
4220also a special command for inserting tags: 4372also a special command for inserting tags:
4221 4373
4222@table @kbd 4374@table @kbd
4223@kindex C-c C-q 4375@orgcmd{C-c C-q,org-set-tags-command}
4224@item C-c C-q
4225@cindex completion, of tags 4376@cindex completion, of tags
4226@vindex org-tags-column 4377@vindex org-tags-column
4227Enter new tags for the current headline. Org-mode will either offer 4378Enter new tags for the current headline. Org-mode will either offer
@@ -4231,8 +4382,7 @@ to @code{org-tags-column}. When called with a @kbd{C-u} prefix, all
4231tags in the current buffer will be aligned to that column, just to make 4382tags in the current buffer will be aligned to that column, just to make
4232things look nice. TAGS are automatically realigned after promotion, 4383things look nice. TAGS are automatically realigned after promotion,
4233demotion, and TODO state changes (@pxref{TODO basics}). 4384demotion, and TODO state changes (@pxref{TODO basics}).
4234@kindex C-c C-c 4385@orgcmd{C-c C-c,org-set-tags-command}
4235@item C-c C-c
4236When the cursor is in a headline, this does the same as @kbd{C-c C-q}. 4386When the cursor is in a headline, this does the same as @kbd{C-c C-q}.
4237@end table 4387@end table
4238 4388
@@ -4399,18 +4549,13 @@ Once a system of tags has been set up, it can be used to collect related
4399information into special lists. 4549information into special lists.
4400 4550
4401@table @kbd 4551@table @kbd
4402@kindex C-c \ 4552@orgcmdkkc{C-c / m,C-c \,org-match-sparse-tree}
4403@kindex C-c / m
4404@item C-c \
4405@itemx C-c / m
4406Create a sparse tree with all headlines matching a tags search. With a 4553Create a sparse tree with all headlines matching a tags search. With a
4407@kbd{C-u} prefix argument, ignore headlines that are not a TODO line. 4554@kbd{C-u} prefix argument, ignore headlines that are not a TODO line.
4408@kindex C-c a m 4555@orgcmd{C-c a m,org-tags-view}
4409@item C-c a m
4410Create a global list of tag matches from all agenda files. 4556Create a global list of tag matches from all agenda files.
4411@xref{Matching tags and properties}. 4557@xref{Matching tags and properties}.
4412@kindex C-c a M 4558@orgcmd{C-c a M,org-tags-view}
4413@item C-c a M
4414@vindex org-tags-match-list-sublevels 4559@vindex org-tags-match-list-sublevels
4415Create a global list of tag matches from all agenda files, but check 4560Create a global list of tag matches from all agenda files, but check
4416only TODO items and force checking subitems (see variable 4561only TODO items and force checking subitems (see variable
@@ -4511,33 +4656,29 @@ Org files.
4511The following commands help to work with properties: 4656The following commands help to work with properties:
4512 4657
4513@table @kbd 4658@table @kbd
4514@kindex M-@key{TAB} 4659@orgcmd{M-@key{TAB},org-complete}
4515@item M-@key{TAB}
4516After an initial colon in a line, complete property keys. All keys used 4660After an initial colon in a line, complete property keys. All keys used
4517in the current file will be offered as possible completions. 4661in the current file will be offered as possible completions.
4518@kindex C-c C-x p 4662@orgcmd{C-c C-x p,org-set-property}
4519@item C-c C-x p
4520Set a property. This prompts for a property name and a value. If 4663Set a property. This prompts for a property name and a value. If
4521necessary, the property drawer is created as well. 4664necessary, the property drawer is created as well.
4522@item M-x org-insert-property-drawer 4665@item M-x org-insert-property-drawer
4666@findex org-insert-property-drawer
4523Insert a property drawer into the current entry. The drawer will be 4667Insert a property drawer into the current entry. The drawer will be
4524inserted early in the entry, but after the lines with planning 4668inserted early in the entry, but after the lines with planning
4525information like deadlines. 4669information like deadlines.
4526@kindex C-c C-c 4670@orgcmd{C-c C-c,org-property-action}
4527@item C-c C-c
4528With the cursor in a property drawer, this executes property commands. 4671With the cursor in a property drawer, this executes property commands.
4529@item C-c C-c s 4672@orgcmd{C-c C-c s,org-set-property}
4530Set a property in the current entry. Both the property and the value 4673Set a property in the current entry. Both the property and the value
4531can be inserted using completion. 4674can be inserted using completion.
4532@kindex S-@key{right} 4675@orgcmdkkcc{S-@key{right},S-@key{left},org-property-next-allowed-value,org-property-previous-allowed-value}
4533@kindex S-@key{left}
4534@item S-@key{left}/@key{right}
4535Switch property at point to the next/previous allowed value. 4676Switch property at point to the next/previous allowed value.
4536@item C-c C-c d 4677@orgcmd{C-c C-c d,org-delete-property}
4537Remove a property from the current entry. 4678Remove a property from the current entry.
4538@item C-c C-c D 4679@orgcmd{C-c C-c D,org-delete-property-globally}
4539Globally remove a property, from all entries in the current file. 4680Globally remove a property, from all entries in the current file.
4540@item C-c C-c c 4681@orgcmd{C-c C-c c,org-compute-property-at-point}
4541Compute the property at point, using the operator and scope from the 4682Compute the property at point, using the operator and scope from the
4542nearest column format definition. 4683nearest column format definition.
4543@end table 4684@end table
@@ -4592,18 +4733,13 @@ ITEM @r{The content of the entry.}
4592To create sparse trees and special lists with selection based on properties, 4733To create sparse trees and special lists with selection based on properties,
4593the same commands are used as for tag searches (@pxref{Tag searches}). 4734the same commands are used as for tag searches (@pxref{Tag searches}).
4594@table @kbd 4735@table @kbd
4595@kindex C-c \ 4736@orgcmdkkc{C-c / m,C-c \,org-match-sparse-tree}
4596@kindex C-c / m
4597@item C-c \
4598@itemx C-c / m
4599Create a sparse tree with all matching entries. With a 4737Create a sparse tree with all matching entries. With a
4600@kbd{C-u} prefix argument, ignore headlines that are not a TODO line. 4738@kbd{C-u} prefix argument, ignore headlines that are not a TODO line.
4601@kindex C-c a m 4739@orgcmd{C-c a m,org-tags-view}
4602@item C-c a m
4603Create a global list of tag/property matches from all agenda files. 4740Create a global list of tag/property matches from all agenda files.
4604@xref{Matching tags and properties}. 4741@xref{Matching tags and properties}.
4605@kindex C-c a M 4742@orgcmd{C-c a M,org-tags-view}
4606@item C-c a M
4607@vindex org-tags-match-list-sublevels 4743@vindex org-tags-match-list-sublevels
4608Create a global list of tag matches from all agenda files, but check 4744Create a global list of tag matches from all agenda files, but check
4609only TODO items and force checking of subitems (see variable 4745only TODO items and force checking of subitems (see variable
@@ -4617,12 +4753,11 @@ There is also a special command for creating sparse trees based on a
4617single property: 4753single property:
4618 4754
4619@table @kbd 4755@table @kbd
4620@kindex C-c / p 4756@orgkey{C-c / p}
4621@item C-c / p
4622Create a sparse tree based on the value of a property. This first 4757Create a sparse tree based on the value of a property. This first
4623prompts for the name of a property, and then for a value. A sparse tree 4758prompts for the name of a property, and then for a value. A sparse tree
4624is created with all entries that define this property with the given 4759is created with all entries that define this property with the given
4625value. If you enclose the value into curly braces, it is interpreted as 4760value. If you enclose the value in curly braces, it is interpreted as
4626a regular expression and matched against the property values. 4761a regular expression and matched against the property values.
4627@end table 4762@end table
4628 4763
@@ -4632,7 +4767,7 @@ a regular expression and matched against the property values.
4632@cindex inheritance, of properties 4767@cindex inheritance, of properties
4633 4768
4634@vindex org-use-property-inheritance 4769@vindex org-use-property-inheritance
4635The outline structure of Org-mode documents lends itself for an 4770The outline structure of Org-mode documents lends itself to an
4636inheritance model of properties: if the parent in a tree has a certain 4771inheritance model of properties: if the parent in a tree has a certain
4637property, the children can inherit this property. Org-mode does not 4772property, the children can inherit this property. Org-mode does not
4638turn this on by default, because it can slow down property searches 4773turn this on by default, because it can slow down property searches
@@ -4642,7 +4777,7 @@ useful, you can turn it on by setting the variable
4642all properties inherited from the parent, to a list of properties 4777all properties inherited from the parent, to a list of properties
4643that should be inherited, or to a regular expression that matches 4778that should be inherited, or to a regular expression that matches
4644inherited properties. If a property has the value @samp{nil}, this is 4779inherited properties. If a property has the value @samp{nil}, this is
4645interpreted as an explicit undefine of he property, so that inheritance 4780interpreted as an explicit undefine of the property, so that inheritance
4646search will stop at this value and return @code{nil}. 4781search will stop at this value and return @code{nil}.
4647 4782
4648Org-mode has a few properties for which inheritance is hard-coded, at 4783Org-mode has a few properties for which inheritance is hard-coded, at
@@ -4784,7 +4919,7 @@ same summary information.
4784The @code{est+} summary type requires further explanation. It is used for 4919The @code{est+} summary type requires further explanation. It is used for
4785combining estimates, expressed as low-high ranges. For example, instead 4920combining estimates, expressed as low-high ranges. For example, instead
4786of estimating a particular task will take 5 days, you might estimate it as 4921of estimating a particular task will take 5 days, you might estimate it as
47875-6 days if you're fairly confident you know how much woark is required, or 49225-6 days if you're fairly confident you know how much work is required, or
47881-10 days if you don't really know what needs to be done. Both ranges 49231-10 days if you don't really know what needs to be done. Both ranges
4789average at 5.5 days, but the first represents a more predictable delivery. 4924average at 5.5 days, but the first represents a more predictable delivery.
4790 4925
@@ -4829,8 +4964,7 @@ in the subtree.
4829 4964
4830@table @kbd 4965@table @kbd
4831@tsubheading{Turning column view on and off} 4966@tsubheading{Turning column view on and off}
4832@kindex C-c C-x C-c 4967@orgcmd{C-c C-x C-c,org-columns}
4833@item C-c C-x C-c
4834@vindex org-columns-default-format 4968@vindex org-columns-default-format
4835Turn on column view. If the cursor is before the first headline in the file, 4969Turn on column view. If the cursor is before the first headline in the file,
4836column view is turned on for the entire file, using the @code{#+COLUMNS} 4970column view is turned on for the entire file, using the @code{#+COLUMNS}
@@ -4841,14 +4975,11 @@ for the tree starting at the entry that contains the @code{:COLUMNS:}
4841property. If no such property is found, the format is taken from the 4975property. If no such property is found, the format is taken from the
4842@code{#+COLUMNS} line or from the variable @code{org-columns-default-format}, 4976@code{#+COLUMNS} line or from the variable @code{org-columns-default-format},
4843and column view is established for the current entry and its subtree. 4977and column view is established for the current entry and its subtree.
4844@kindex r 4978@orgcmd{r,org-columns-redo}
4845@item r
4846Recreate the column view, to include recent changes made in the buffer. 4979Recreate the column view, to include recent changes made in the buffer.
4847@kindex g 4980@orgcmd{g,org-columns-redo}
4848@item g
4849Same as @kbd{r}. 4981Same as @kbd{r}.
4850@kindex q 4982@orgcmd{q,org-columns-quit}
4851@item q
4852Exit column view. 4983Exit column view.
4853@tsubheading{Editing values} 4984@tsubheading{Editing values}
4854@item @key{left} @key{right} @key{up} @key{down} 4985@item @key{left} @key{right} @key{up} @key{down}
@@ -4859,40 +4990,30 @@ Move through the column view from field to field.
4859Switch to the next/previous allowed value of the field. For this, you 4990Switch to the next/previous allowed value of the field. For this, you
4860have to have specified allowed values for a property. 4991have to have specified allowed values for a property.
4861@item 1..9,0 4992@item 1..9,0
4862Directly select the nth allowed value, @kbd{0} selects the 10th value. 4993Directly select the Nth allowed value, @kbd{0} selects the 10th value.
4863@kindex n 4994@orgcmdkkcc{n,p,org-columns-next-allowed-value,org-columns-previous-allowed-value}
4864@kindex p
4865@itemx n / p
4866Same as @kbd{S-@key{left}/@key{right}} 4995Same as @kbd{S-@key{left}/@key{right}}
4867@kindex e 4996@orgcmd{e,org-columns-edit-value}
4868@item e
4869Edit the property at point. For the special properties, this will 4997Edit the property at point. For the special properties, this will
4870invoke the same interface that you normally use to change that 4998invoke the same interface that you normally use to change that
4871property. For example, when editing a TAGS property, the tag completion 4999property. For example, when editing a TAGS property, the tag completion
4872or fast selection interface will pop up. 5000or fast selection interface will pop up.
4873@kindex C-c C-c 5001@orgcmd{C-c C-c,org-columns-set-tags-or-toggle}
4874@item C-c C-c
4875When there is a checkbox at point, toggle it. 5002When there is a checkbox at point, toggle it.
4876@kindex v 5003@orgcmd{v,org-columns-show-value}
4877@item v
4878View the full value of this property. This is useful if the width of 5004View the full value of this property. This is useful if the width of
4879the column is smaller than that of the value. 5005the column is smaller than that of the value.
4880@kindex a 5006@orgcmd{a,org-columns-edit-allowed}
4881@item a
4882Edit the list of allowed values for this property. If the list is found 5007Edit the list of allowed values for this property. If the list is found
4883in the hierarchy, the modified values is stored there. If no list is 5008in the hierarchy, the modified values is stored there. If no list is
4884found, the new value is stored in the first entry that is part of the 5009found, the new value is stored in the first entry that is part of the
4885current column view. 5010current column view.
4886@tsubheading{Modifying the table structure} 5011@tsubheading{Modifying the table structure}
4887@kindex < 5012@orgcmdkkcc{<,>,org-columns-narrow,org-columns-widen}
4888@kindex >
4889@item < / >
4890Make the column narrower/wider by one character. 5013Make the column narrower/wider by one character.
4891@kindex S-M-@key{right} 5014@orgcmd{S-M-@key{right},org-columns-new}
4892@item S-M-@key{right}
4893Insert a new column, to the left of the current column. 5015Insert a new column, to the left of the current column.
4894@kindex S-M-@key{left} 5016@orgcmd{S-M-@key{left},org-columns-delete}
4895@item S-M-@key{left}
4896Delete the current column. 5017Delete the current column.
4897@end table 5018@end table
4898 5019
@@ -4948,20 +5069,16 @@ column view is @code{ITEM}.
4948The following commands insert or update the dynamic block: 5069The following commands insert or update the dynamic block:
4949 5070
4950@table @kbd 5071@table @kbd
4951@kindex C-c C-x i 5072@orgcmd{C-c C-x i,org-insert-columns-dblock}
4952@item C-c C-x i
4953Insert a dynamic block capturing a column view. You will be prompted 5073Insert a dynamic block capturing a column view. You will be prompted
4954for the scope or ID of the view. 5074for the scope or ID of the view.
4955@kindex C-c C-c 5075@orgcmdkkc{C-c C-c,C-c C-x C-u,org-dblock-update}
4956@item C-c C-c
4957@kindex C-c C-x C-u
4958@itemx C-c C-x C-u
4959Update dynamic block at point. The cursor needs to be in the 5076Update dynamic block at point. The cursor needs to be in the
4960@code{#+BEGIN} line of the dynamic block. 5077@code{#+BEGIN} line of the dynamic block.
4961@kindex C-u C-c C-x C-u 5078@orgcmd{C-u C-c C-x C-u,org-update-all-dblocks}
4962@item C-u C-c C-x C-u
4963Update all dynamic blocks (@pxref{Dynamic blocks}). This is useful if 5079Update all dynamic blocks (@pxref{Dynamic blocks}). This is useful if
4964you have several clock table blocks in a buffer. 5080you have several clock table blocks, column-capturing blocks or other dynamic
5081blocks in a buffer.
4965@end table 5082@end table
4966 5083
4967You can add formulas to the column view table and you may add plotting 5084You can add formulas to the column view table and you may add plotting
@@ -5006,7 +5123,6 @@ is used in a much wider sense.
5006* Creating timestamps:: Commands which insert timestamps 5123* Creating timestamps:: Commands which insert timestamps
5007* Deadlines and scheduling:: Planning your work 5124* Deadlines and scheduling:: Planning your work
5008* Clocking work time:: Tracking how long you spend on a task 5125* Clocking work time:: Tracking how long you spend on a task
5009* Resolving idle time:: Resolving time if you've been idle
5010* Effort estimates:: Planning work effort in advance 5126* Effort estimates:: Planning work effort in advance
5011* Relative timer:: Notes with a running timer 5127* Relative timer:: Notes with a running timer
5012* Countdown timer:: Starting a countdown timer for a task 5128* Countdown timer:: Starting a countdown timer for a task
@@ -5130,17 +5246,11 @@ instead.
5130Access the agenda for the date given by the timestamp or -range at 5246Access the agenda for the date given by the timestamp or -range at
5131point (@pxref{Weekly/daily agenda}). 5247point (@pxref{Weekly/daily agenda}).
5132@c 5248@c
5133@kindex S-@key{left} 5249@orgcmdkkcc{S-@key{left},S-@key{right},org-timestamp-down-day,org-timestamp-up-day}
5134@kindex S-@key{right}
5135@item S-@key{left}
5136@itemx S-@key{right}
5137Change date at cursor by one day. These key bindings conflict with 5250Change date at cursor by one day. These key bindings conflict with
5138shift-selection and related modes (@pxref{Conflicts}). 5251shift-selection and related modes (@pxref{Conflicts}).
5139@c 5252@c
5140@kindex S-@key{up} 5253@orgcmdkkcc{S-@key{up},S-@key{down},org-timestamp-up,org-timestamp-down-down}
5141@kindex S-@key{down}
5142@item S-@key{up}
5143@itemx S-@key{down}
5144Change the item under the cursor in a timestamp. The cursor can be on a 5254Change the item under the cursor in a timestamp. The cursor can be on a
5145year, month, day, hour or minute. When the timestamp contains a time range 5255year, month, day, hour or minute. When the timestamp contains a time range
5146like @samp{15:30-16:30}, modifying the first time will also shift the second, 5256like @samp{15:30-16:30}, modifying the first time will also shift the second,
@@ -5150,9 +5260,8 @@ timestamp, these same keys modify the priority of an item.
5150(@pxref{Priorities}). The key bindings also conflict with shift-selection and 5260(@pxref{Priorities}). The key bindings also conflict with shift-selection and
5151related modes (@pxref{Conflicts}). 5261related modes (@pxref{Conflicts}).
5152@c 5262@c
5153@kindex C-c C-y 5263@orgcmd{C-c C-y,org-evaluate-time-range}
5154@cindex evaluate time range 5264@cindex evaluate time range
5155@item C-c C-y
5156Evaluate a time range by computing the difference between start and end. 5265Evaluate a time range by computing the difference between start and end.
5157With a prefix argument, insert result after the time range (in a table: into 5266With a prefix argument, insert result after the time range (in a table: into
5158the following column). 5267the following column).
@@ -5215,7 +5324,7 @@ letter ([dwmy]) to indicate change in days, weeks, months, or years. With a
5215single plus or minus, the date is always relative to today. With a 5324single plus or minus, the date is always relative to today. With a
5216double plus or minus, it is relative to the default date. If instead of 5325double plus or minus, it is relative to the default date. If instead of
5217a single letter, you use the abbreviation of day name, the date will be 5326a single letter, you use the abbreviation of day name, the date will be
5218the nth such day. E.g. 5327the Nth such day. E.g.
5219 5328
5220@example 5329@example
5221+0 --> today 5330+0 --> today
@@ -5234,7 +5343,7 @@ you want to use unabbreviated names and/or other languages, configure
5234the variables @code{parse-time-months} and @code{parse-time-weekdays}. 5343the variables @code{parse-time-months} and @code{parse-time-weekdays}.
5235 5344
5236You can specify a time range by giving start and end times or by giving a 5345You can specify a time range by giving start and end times or by giving a
5237start time and a duration (in HH:MM format). Use '-' or '--' as the separator 5346start time and a duration (in HH:MM format). Use `-' or `-@{@}-' as the separator
5238in the former case and use '+' as the separator in the latter case. E.g. 5347in the former case and use '+' as the separator in the latter case. E.g.
5239 5348
5240@example 5349@example
@@ -5298,8 +5407,7 @@ customizing the variables @code{org-display-custom-times} and
5298@code{org-time-stamp-custom-formats}. 5407@code{org-time-stamp-custom-formats}.
5299 5408
5300@table @kbd 5409@table @kbd
5301@kindex C-c C-x C-t 5410@orgcmd{C-c C-x C-t,org-toggle-time-stamp-overlays}
5302@item C-c C-x C-t
5303Toggle the display of custom formats for dates and times. 5411Toggle the display of custom formats for dates and times.
5304@end table 5412@end table
5305 5413
@@ -5320,7 +5428,7 @@ just like @kbd{S-@key{left}/@key{right}}. At the end of the stamp, the
5320time will be changed by one minute. 5428time will be changed by one minute.
5321@item 5429@item
5322If the timestamp contains a range of clock times or a repeater, these 5430If the timestamp contains a range of clock times or a repeater, these
5323will not be overlayed, but remain in the buffer as they were. 5431will not be overlaid, but remain in the buffer as they were.
5324@item 5432@item
5325When you delete a timestamp character-by-character, it will only 5433When you delete a timestamp character-by-character, it will only
5326disappear from the buffer after @emph{all} (invisible) characters 5434disappear from the buffer after @emph{all} (invisible) characters
@@ -5372,8 +5480,8 @@ The headline will be listed under the given date@footnote{It will still
5372be listed on that date after it has been marked DONE. If you don't like 5480be listed on that date after it has been marked DONE. If you don't like
5373this, set the variable @code{org-agenda-skip-scheduled-if-done}.}. In 5481this, set the variable @code{org-agenda-skip-scheduled-if-done}.}. In
5374addition, a reminder that the scheduled date has passed will be present 5482addition, a reminder that the scheduled date has passed will be present
5375in the compilation for @emph{today}, until the entry is marked DONE. 5483in the compilation for @emph{today}, until the entry is marked DONE, i.e.
5376I.e. the task will automatically be forwarded until completed. 5484the task will automatically be forwarded until completed.
5377 5485
5378@example 5486@example
5379*** TODO Call Trillian for a date on New Years Eve. 5487*** TODO Call Trillian for a date on New Years Eve.
@@ -5415,8 +5523,7 @@ an item:
5415 5523
5416@table @kbd 5524@table @kbd
5417@c 5525@c
5418@kindex C-c C-d 5526@orgcmd{C-c C-d,org-deadline}
5419@item C-c C-d
5420Insert @samp{DEADLINE} keyword along with a stamp. The insertion will happen 5527Insert @samp{DEADLINE} keyword along with a stamp. The insertion will happen
5421in the line directly following the headline. When called with a prefix arg, 5528in the line directly following the headline. When called with a prefix arg,
5422an existing deadline will be removed from the entry. Depending on the 5529an existing deadline will be removed from the entry. Depending on the
@@ -5426,8 +5533,7 @@ and @code{nologredeadline}}, a note will be taken when changing an existing
5426deadline. 5533deadline.
5427@c FIXME Any CLOSED timestamp will be removed.???????? 5534@c FIXME Any CLOSED timestamp will be removed.????????
5428@c 5535@c
5429@kindex C-c C-s 5536@orgcmd{C-c C-s,org-schedule}
5430@item C-c C-s
5431Insert @samp{SCHEDULED} keyword along with a stamp. The insertion will 5537Insert @samp{SCHEDULED} keyword along with a stamp. The insertion will
5432happen in the line directly following the headline. Any CLOSED timestamp 5538happen in the line directly following the headline. Any CLOSED timestamp
5433will be removed. When called with a prefix argument, remove the scheduling 5539will be removed. When called with a prefix argument, remove the scheduling
@@ -5437,18 +5543,16 @@ keywords @code{logredeadline}, @code{lognoteredeadline}, and
5437@code{nologredeadline}}, a note will be taken when changing an existing 5543@code{nologredeadline}}, a note will be taken when changing an existing
5438scheduling time. 5544scheduling time.
5439@c 5545@c
5440@kindex C-c C-x C-k 5546@orgcmd{C-c C-x C-k,org-mark-entry-for-agenda-action}
5441@kindex k a 5547@kindex k a
5442@kindex k s 5548@kindex k s
5443@item C-c C-x C-k
5444Mark the current entry for agenda action. After you have marked the entry 5549Mark the current entry for agenda action. After you have marked the entry
5445like this, you can open the agenda or the calendar to find an appropriate 5550like this, you can open the agenda or the calendar to find an appropriate
5446date. With the cursor on the selected date, press @kbd{k s} or @kbd{k d} to 5551date. With the cursor on the selected date, press @kbd{k s} or @kbd{k d} to
5447schedule the marked item. 5552schedule the marked item.
5448@c 5553@c
5449@kindex C-c / d 5554@orgcmd{C-c / d,org-check-deadlines}
5450@cindex sparse tree, for deadlines 5555@cindex sparse tree, for deadlines
5451@item C-c / d
5452@vindex org-deadline-warning-days 5556@vindex org-deadline-warning-days
5453Create a sparse tree with all deadlines that are either past-due, or 5557Create a sparse tree with all deadlines that are either past-due, or
5454which will become due within @code{org-deadline-warning-days}. 5558which will become due within @code{org-deadline-warning-days}.
@@ -5456,12 +5560,10 @@ With @kbd{C-u} prefix, show all deadlines in the file. With a numeric
5456prefix, check that many days. For example, @kbd{C-1 C-c / d} shows 5560prefix, check that many days. For example, @kbd{C-1 C-c / d} shows
5457all deadlines due tomorrow. 5561all deadlines due tomorrow.
5458@c 5562@c
5459@kindex C-c / b 5563@orgcmd{C-c / b,org-check-before-date}
5460@item C-c / b
5461Sparse tree for deadlines and scheduled items before a given date. 5564Sparse tree for deadlines and scheduled items before a given date.
5462@c 5565@c
5463@kindex C-c / a 5566@orgcmd{C-c / a,org-check-after-date}
5464@item C-c / a
5465Sparse tree for deadlines and scheduled items after a given date. 5567Sparse tree for deadlines and scheduled items after a given date.
5466@end table 5568@end table
5467 5569
@@ -5520,11 +5622,11 @@ With the @samp{+1m} cookie, the date shift will always be exactly one
5520month. So if you have not paid the rent for three months, marking this 5622month. So if you have not paid the rent for three months, marking this
5521entry DONE will still keep it as an overdue deadline. Depending on the 5623entry DONE will still keep it as an overdue deadline. Depending on the
5522task, this may not be the best way to handle it. For example, if you 5624task, this may not be the best way to handle it. For example, if you
5523forgot to call you father for 3 weeks, it does not make sense to call 5625forgot to call your father for 3 weeks, it does not make sense to call
5524him 3 times in a single day to make up for it. Finally, there are tasks 5626him 3 times in a single day to make up for it. Finally, there are tasks
5525like changing batteries which should always repeat a certain time 5627like changing batteries which should always repeat a certain time
5526@i{after} the last time you did it. For these tasks, Org-mode has 5628@i{after} the last time you did it. For these tasks, Org-mode has
5527special repeaters markers with @samp{++} and @samp{.+}. For example: 5629special repeaters @samp{++} and @samp{.+}. For example:
5528 5630
5529@example 5631@example
5530** TODO Call Father 5632** TODO Call Father
@@ -5547,8 +5649,10 @@ subtree, with dates shifted in each copy. The command @kbd{C-c C-x c} was
5547created for this purpose, it is described in @ref{Structure editing}. 5649created for this purpose, it is described in @ref{Structure editing}.
5548 5650
5549 5651
5550@node Clocking work time, Resolving idle time, Deadlines and scheduling, Dates and Times 5652@node Clocking work time, Effort estimates, Deadlines and scheduling, Dates and Times
5551@section Clocking work time 5653@section Clocking work time
5654@cindex clocking time
5655@cindex time clocking
5552 5656
5553Org-mode allows you to clock the time you spend on specific tasks in a 5657Org-mode allows you to clock the time you spend on specific tasks in a
5554project. When you start working on an item, you can start the clock. 5658project. When you start working on an item, you can start the clock.
@@ -5569,9 +5673,17 @@ on this task while outside Emacs, use @code{(setq org-clock-persist t)}.}
5569will be found (@pxref{Resolving idle time}) and you will be prompted about 5673will be found (@pxref{Resolving idle time}) and you will be prompted about
5570what to do with it. 5674what to do with it.
5571 5675
5676@menu
5677* Clocking commands:: Starting and stopping a clock
5678* The clock table:: Detailed reports
5679* Resolving idle time:: Resolving time when you've been idle
5680@end menu
5681
5682@node Clocking commands, The clock table, Clocking work time, Clocking work time
5683@subsection Clocking commands
5684
5572@table @kbd 5685@table @kbd
5573@kindex C-c C-x C-i 5686@orgcmd{C-c C-x C-i,org-clock-in}
5574@item C-c C-x C-i
5575@vindex org-clock-into-drawer 5687@vindex org-clock-into-drawer
5576Start the clock on the current item (clock-in). This inserts the CLOCK 5688Start the clock on the current item (clock-in). This inserts the CLOCK
5577keyword together with a timestamp. If this is not the first clocking of 5689keyword together with a timestamp. If this is not the first clocking of
@@ -5601,8 +5713,8 @@ show all time clocked on this tasks today (see also the variable
5601@code{auto} which is the default@footnote{See also the variable 5713@code{auto} which is the default@footnote{See also the variable
5602@code{org-clock-modeline-total}.}.@* Clicking with @kbd{mouse-1} onto the 5714@code{org-clock-modeline-total}.}.@* Clicking with @kbd{mouse-1} onto the
5603mode line entry will pop up a menu with clocking options. 5715mode line entry will pop up a menu with clocking options.
5604@kindex C-c C-x C-o 5716@c
5605@item C-c C-x C-o 5717@orgcmd{C-c C-x C-o,org-clock-out}
5606@vindex org-log-note-clock-out 5718@vindex org-log-note-clock-out
5607Stop the clock (clock-out). This inserts another timestamp at the same 5719Stop the clock (clock-out). This inserts another timestamp at the same
5608location where the clock was last started. It also directly computes 5720location where the clock was last started. It also directly computes
@@ -5611,29 +5723,24 @@ HH:MM}. See the variable @code{org-log-note-clock-out} for the
5611possibility to record an additional note together with the clock-out 5723possibility to record an additional note together with the clock-out
5612timestamp@footnote{The corresponding in-buffer setting is: 5724timestamp@footnote{The corresponding in-buffer setting is:
5613@code{#+STARTUP: lognoteclock-out}}. 5725@code{#+STARTUP: lognoteclock-out}}.
5614@kindex C-c C-x C-e 5726@orgcmd{C-c C-x C-e,org-clock-modify-effort-estimate}
5615@item C-c C-x C-e
5616Update the effort estimate for the current clock task. 5727Update the effort estimate for the current clock task.
5617@kindex C-c C-y 5728@kindex C-c C-y
5618@kindex C-c C-c 5729@kindex C-c C-c
5619@item C-c C-y @ @ @r{or}@ @ C-c C-c 5730@orgcmdkkc{C-c C-c,C-c C-y,org-evaluate-time-range}
5620Recompute the time interval after changing one of the timestamps. This 5731Recompute the time interval after changing one of the timestamps. This
5621is only necessary if you edit the timestamps directly. If you change 5732is only necessary if you edit the timestamps directly. If you change
5622them with @kbd{S-@key{cursor}} keys, the update is automatic. 5733them with @kbd{S-@key{cursor}} keys, the update is automatic.
5623@kindex C-c C-t 5734@orgcmd{C-c C-t,org-todo}
5624@item C-c C-t
5625Changing the TODO state of an item to DONE automatically stops the clock 5735Changing the TODO state of an item to DONE automatically stops the clock
5626if it is running in this same item. 5736if it is running in this same item.
5627@kindex C-c C-x C-x 5737@orgcmd{C-c C-x C-x,org-clock-cancel}
5628@item C-c C-x C-x
5629Cancel the current clock. This is useful if a clock was started by 5738Cancel the current clock. This is useful if a clock was started by
5630mistake, or if you ended up working on something else. 5739mistake, or if you ended up working on something else.
5631@kindex C-c C-x C-j 5740@orgcmd{C-c C-x C-j,org-clock-goto}
5632@item C-c C-x C-j
5633Jump to the headline of the currently clocked in task. With a @kbd{C-u} 5741Jump to the headline of the currently clocked in task. With a @kbd{C-u}
5634prefix arg, select the target task from a list of recently clocked tasks. 5742prefix arg, select the target task from a list of recently clocked tasks.
5635@kindex C-c C-x C-d 5743@orgcmd{C-c C-x C-d,org-clock-display}
5636@item C-c C-x C-d
5637@vindex org-remove-highlights-with-change 5744@vindex org-remove-highlights-with-change
5638Display time summaries for each subtree in the current buffer. This 5745Display time summaries for each subtree in the current buffer. This
5639puts overlays at the end of each headline, showing the total time 5746puts overlays at the end of each headline, showing the total time
@@ -5641,24 +5748,60 @@ recorded under that heading, including the time of any subheadings. You
5641can use visibility cycling to study the tree, but the overlays disappear 5748can use visibility cycling to study the tree, but the overlays disappear
5642when you change the buffer (see variable 5749when you change the buffer (see variable
5643@code{org-remove-highlights-with-change}) or press @kbd{C-c C-c}. 5750@code{org-remove-highlights-with-change}) or press @kbd{C-c C-c}.
5644@kindex C-c C-x C-r 5751@end table
5645@item C-c C-x C-r 5752
5753The @kbd{l} key may be used in the timeline (@pxref{Timeline}) and in
5754the agenda (@pxref{Weekly/daily agenda}) to show which tasks have been
5755worked on or closed during a day.
5756
5757@node The clock table, Resolving idle time, Clocking commands, Clocking work time
5758@subsection The clock table
5759@cindex clocktable, dynamic block
5760@cindex report, of clocked time
5761
5762Org mode can produce quite complex reports based on the time clocking
5763information. Such a report is called a @emph{clock table}, because it is
5764formatted as one or several Org tables.
5765
5766@table @kbd
5767@orgcmd{C-c C-x C-r,org-clock-report}
5646Insert a dynamic block (@pxref{Dynamic blocks}) containing a clock 5768Insert a dynamic block (@pxref{Dynamic blocks}) containing a clock
5647report as an Org-mode table into the current file. When the cursor is 5769report as an Org-mode table into the current file. When the cursor is
5648at an existing clock table, just update it. When called with a prefix 5770at an existing clock table, just update it. When called with a prefix
5649argument, jump to the first clock report in the current document and 5771argument, jump to the first clock report in the current document and
5650update it. 5772update it.
5773@orgcmdkkc{C-c C-c,C-c C-x C-u,org-dblock-update}
5774Update dynamic block at point. The cursor needs to be in the
5775@code{#+BEGIN} line of the dynamic block.
5776@orgkey{C-u C-c C-x C-u}
5777Update all dynamic blocks (@pxref{Dynamic blocks}). This is useful if
5778you have several clock table blocks in a buffer.
5779@orgcmdkxkc{S-@key{left},S-@key{right},org-clocktable-try-shift}
5780Shift the current @code{:block} interval and update the table. The cursor
5781needs to be in the @code{#+BEGIN: clocktable} line for this command. If
5782@code{:block} is @code{today}, it will be shifted to @code{today-1} etc.
5783@end table
5784
5785
5786Here is an example of the frame for a clock table as it is inserted into the
5787buffer with the @kbd{C-c C-x C-r} command:
5788
5651@cindex #+BEGIN, clocktable 5789@cindex #+BEGIN, clocktable
5652@example 5790@example
5653#+BEGIN: clocktable :maxlevel 2 :emphasize nil :scope file 5791#+BEGIN: clocktable :maxlevel 2 :emphasize nil :scope file
5654#+END: clocktable 5792#+END: clocktable
5655@end example 5793@end example
5656@noindent 5794@noindent
5657If such a block already exists at point, its content is replaced by the 5795@vindex org-clocktable-defaults
5658new table. The @samp{BEGIN} line can specify options: 5796The @samp{BEGIN} line and specify a number of options to define the scope,
5797structure, and formatting of the report. Defaults for all these options can
5798be configured in the variable @code{org-clocktable-defaults}.
5799
5800@noindent First there are options that determine which clock entries are to
5801be selected:
5659@example 5802@example
5660:maxlevel @r{Maximum level depth to which times are listed in the table.} 5803:maxlevel @r{Maximum level depth to which times are listed in the table.}
5661:emphasize @r{When @code{t}, emphasize level one and level two items.} 5804 @r{Clocks at deeper levels will be summed into the upper level.}
5662:scope @r{The scope to consider. This can be any of the following:} 5805:scope @r{The scope to consider. This can be any of the following:}
5663 nil @r{the current buffer or narrowed region} 5806 nil @r{the current buffer or narrowed region}
5664 file @r{the full current buffer} 5807 file @r{the full current buffer}
@@ -5675,6 +5818,7 @@ new table. The @samp{BEGIN} line can specify options:
5675 2007-12-31 @r{New year eve 2007} 5818 2007-12-31 @r{New year eve 2007}
5676 2007-12 @r{December 2007} 5819 2007-12 @r{December 2007}
5677 2007-W50 @r{ISO-week 50 in 2007} 5820 2007-W50 @r{ISO-week 50 in 2007}
5821 2007-Q2 @r{2nd quarter in 2007}
5678 2007 @r{the year 2007} 5822 2007 @r{the year 2007}
5679 today, yesterday, today-@var{N} @r{a relative day} 5823 today, yesterday, today-@var{N} @r{a relative day}
5680 thisweek, lastweek, thisweek-@var{N} @r{a relative week} 5824 thisweek, lastweek, thisweek-@var{N} @r{a relative week}
@@ -5685,15 +5829,33 @@ new table. The @samp{BEGIN} line can specify options:
5685:tend @r{A time string specifying when to stop considering times.} 5829:tend @r{A time string specifying when to stop considering times.}
5686:step @r{@code{week} or @code{day}, to split the table into chunks.} 5830:step @r{@code{week} or @code{day}, to split the table into chunks.}
5687 @r{To use this, @code{:block} or @code{:tstart}, @code{:tend} are needed.} 5831 @r{To use this, @code{:block} or @code{:tstart}, @code{:tend} are needed.}
5688:stepskip0 @r{Don't show steps that have zero time} 5832:stepskip0 @r{Do not show steps that have zero time.}
5689:tags @r{A tags match to select entries that should contribute} 5833:fileskip0 @r{Do not show table sections from files which did not contribute.}
5834:tags @r{A tags match to select entries that should contribute}.
5835@end example
5836
5837Then there are options which determine the formatting of the table. There
5838options are interpreted by the function @code{org-clocktable-write-default},
5839but you can specify your own function using the @code{:formatter} parameter.
5840@example
5841:emphasize @r{When @code{t}, emphasize level one and level two items.}
5690:link @r{Link the item headlines in the table to their origins.} 5842:link @r{Link the item headlines in the table to their origins.}
5843:narrow @r{An integer to limit the width of the headline column in}
5844 @r{the org table. If you write it like @samp{50!}, then the}
5845 @r{headline will also be shortened in export.}
5846:indent @r{Indent each headline field according to its level.}
5847:tcolumns @r{Number of columns to be used for times. If this is smaller}
5848 @r{than @code{:maxlevel}, lower levels will be lumped into one column.}
5849:level @r{Should a level number column be included?}
5850:compact @r{Abbreviation for @code{:level nil :indent t :narrow 40! :tcolumns 1}}
5851 @r{All are overwritten except if there is an explicit @code{:narrow}}
5852:timestamp @r{A timestamp for the entry, when available. Look for SCHEDULED,}
5853 @r{DEADLINE, TIMESTAMP and TIMESTAMP_IA, in this order.}
5691:formula @r{Content of a @code{#+TBLFM} line to be added and evaluated.} 5854:formula @r{Content of a @code{#+TBLFM} line to be added and evaluated.}
5692 @r{As a special case, @samp{:formula %} adds a column with % time.} 5855 @r{As a special case, @samp{:formula %} adds a column with % time.}
5693 @r{If you do not specify a formula here, any existing formula.} 5856 @r{If you do not specify a formula here, any existing formula}
5694 @r{below the clock table will survive updates and be evaluated.} 5857 @r{below the clock table will survive updates and be evaluated.}
5695:timestamp @r{A timestamp for the entry, when available. Look for SCHEDULED,} 5858:formatter @r{A function to format clock data and insert it into the buffer.}
5696 @r{DEADLINE, TIMESTAMP and TIMESTAMP_IA, in this order.}
5697@end example 5859@end example
5698To get a clock summary of the current level 1 tree, for the current 5860To get a clock summary of the current level 1 tree, for the current
5699day, you could write 5861day, you could write
@@ -5715,31 +5877,15 @@ A summary of the current subtree with % times would be
5715#+BEGIN: clocktable :scope subtree :link t :formula % 5877#+BEGIN: clocktable :scope subtree :link t :formula %
5716#+END: clocktable 5878#+END: clocktable
5717@end example 5879@end example
5718@kindex C-c C-c 5880A horizontally compact representation of everything clocked during last week
5719@item C-c C-c 5881would be
5720@kindex C-c C-x C-u 5882@example
5721@itemx C-c C-x C-u 5883#+BEGIN: clocktable :scope agenda :block lastweek :compact t
5722Update dynamic block at point. The cursor needs to be in the 5884#+END: clocktable
5723@code{#+BEGIN} line of the dynamic block. 5885@end example
5724@kindex C-u C-c C-x C-u
5725@item C-u C-c C-x C-u
5726Update all dynamic blocks (@pxref{Dynamic blocks}). This is useful if
5727you have several clock table blocks in a buffer.
5728@kindex S-@key{left}
5729@kindex S-@key{right}
5730@item S-@key{left}
5731@itemx S-@key{right}
5732Shift the current @code{:block} interval and update the table. The cursor
5733needs to be in the @code{#+BEGIN: clocktable} line for this command. If
5734@code{:block} is @code{today}, it will be shifted to @code{today-1} etc.
5735@end table
5736
5737The @kbd{l} key may be used in the timeline (@pxref{Timeline}) and in
5738the agenda (@pxref{Weekly/daily agenda}) to show which tasks have been
5739worked on or closed during a day.
5740 5886
5741@node Resolving idle time, Effort estimates, Clocking work time, Dates and Times 5887@node Resolving idle time, , The clock table, Clocking work time
5742@section Resolving idle time 5888@subsection Resolving idle time
5743@cindex resolve idle time 5889@cindex resolve idle time
5744 5890
5745@cindex idle, resolve, dangling 5891@cindex idle, resolve, dangling
@@ -5800,13 +5946,13 @@ If you restart Emacs and clock into any task, Org will notice that you have a
5800dangling clock which was never clocked out from your last session. Using 5946dangling clock which was never clocked out from your last session. Using
5801that clock's starting time as the beginning of the unaccounted-for period, 5947that clock's starting time as the beginning of the unaccounted-for period,
5802Org will ask how you want to resolve that time. The logic and behavior is 5948Org will ask how you want to resolve that time. The logic and behavior is
5803identical to dealing with away time due to idleness, it's just happening due 5949identical to dealing with away time due to idleness; it's just happening due
5804to a recovery event rather than a set amount of idle time. 5950to a recovery event rather than a set amount of idle time.
5805 5951
5806You can also check all the files visited by your Org agenda for dangling 5952You can also check all the files visited by your Org agenda for dangling
5807clocks at any time using @kbd{M-x org-resolve-clocks}. 5953clocks at any time using @kbd{M-x org-resolve-clocks}.
5808 5954
5809@node Effort estimates, Relative timer, Resolving idle time, Dates and Times 5955@node Effort estimates, Relative timer, Clocking work time, Dates and Times
5810@section Effort estimates 5956@section Effort estimates
5811@cindex effort estimates 5957@cindex effort estimates
5812 5958
@@ -5822,13 +5968,11 @@ used with the variable @code{org-effort-property}.}. You can set the effort
5822for an entry with the following commands: 5968for an entry with the following commands:
5823 5969
5824@table @kbd 5970@table @kbd
5825@kindex C-c C-x e 5971@orgcmd{C-c C-x e,org-set-effort}
5826@item C-c C-x e
5827Set the effort estimate for the current entry. With a numeric prefix 5972Set the effort estimate for the current entry. With a numeric prefix
5828argument, set it to the NTH allowed value (see below). This command is also 5973argument, set it to the Nth allowed value (see below). This command is also
5829accessible from the agenda with the @kbd{e} key. 5974accessible from the agenda with the @kbd{e} key.
5830@kindex C-c C-x C-e 5975@orgcmd{C-c C-x C-e,org-clock-modify-effort-estimate}
5831@item C-c C-x C-e
5832Modify the effort estimate of the item currently being clocked. 5976Modify the effort estimate of the item currently being clocked.
5833@end table 5977@end table
5834 5978
@@ -5880,29 +6024,27 @@ be useful to have access to times relative to a starting time. Org provides
5880such a relative timer and make it easy to create timed notes. 6024such a relative timer and make it easy to create timed notes.
5881 6025
5882@table @kbd 6026@table @kbd
5883@kindex C-c C-x . 6027@orgcmd{C-c C-x .,org-timer}
5884@item C-c C-x .
5885Insert a relative time into the buffer. The first time you use this, the 6028Insert a relative time into the buffer. The first time you use this, the
5886timer will be started. When called with a prefix argument, the timer is 6029timer will be started. When called with a prefix argument, the timer is
5887restarted. 6030restarted.
5888@kindex C-c C-x - 6031@orgcmd{C-c C-x -,org-timer-item}
5889@item C-c C-x -
5890Insert a description list item with the current relative time. With a prefix 6032Insert a description list item with the current relative time. With a prefix
5891argument, first reset the timer to 0. 6033argument, first reset the timer to 0.
5892@kindex M-@key{RET} 6034@orgcmd{M-@key{RET},org-insert-heading}
5893@item M-@key{RET}
5894Once the timer list is started, you can also use @kbd{M-@key{RET}} to insert 6035Once the timer list is started, you can also use @kbd{M-@key{RET}} to insert
5895new timer items. 6036new timer items.
6037@c for key sequences with a comma, command name macros fail :(
5896@kindex C-c C-x , 6038@kindex C-c C-x ,
5897@item C-c C-x , 6039@item C-c C-x ,
5898Pause the timer, or continue it if it is already paused. 6040Pause the timer, or continue it if it is already paused
6041(@command{org-timer-pause-or-continue}).
5899@c removed the sentence because it is redundant to the following item 6042@c removed the sentence because it is redundant to the following item
5900@kindex C-u C-c C-x , 6043@kindex C-u C-c C-x ,
5901@item C-u C-c C-x , 6044@item C-u C-c C-x ,
5902Stop the timer. After this, you can only start a new timer, not continue the 6045Stop the timer. After this, you can only start a new timer, not continue the
5903old one. This command also removes the timer from the mode line. 6046old one. This command also removes the timer from the mode line.
5904@kindex C-c C-x 0 6047@orgcmd{C-c C-x 0,org-timer-start}
5905@item C-c C-x 0
5906Reset the timer without inserting anything into the buffer. By default, the 6048Reset the timer without inserting anything into the buffer. By default, the
5907timer is reset to 0. When called with a @kbd{C-u} prefix, reset the timer to 6049timer is reset to 0. When called with a @kbd{C-u} prefix, reset the timer to
5908specific starting offset. The user is prompted for the offset, with a 6050specific starting offset. The user is prompted for the offset, with a
@@ -5994,31 +6136,31 @@ suggestion.} for capturing new material.
5994@subsection Using capture 6136@subsection Using capture
5995 6137
5996@table @kbd 6138@table @kbd
5997@kindex C-c c 6139@orgcmd{C-c c,org-capture}
5998@item C-c c 6140Call the command @code{org-capture}. Note that this keybinding is global and
5999Call the command @code{org-capture}. If you have templates defined 6141not active by default - you need to install it. If you have templates
6000@pxref{Capture templates}, it will offer these templates for selection or use 6142defined @pxref{Capture templates}, it will offer these templates for
6001a new Org outline node as the default template. It will insert the template 6143selection or use a new Org outline node as the default template. It will
6002into the target file and switch to an indirect buffer narrowed to this new 6144insert the template into the target file and switch to an indirect buffer
6003node. You may then insert the information you want. 6145narrowed to this new node. You may then insert the information you want.
6004 6146
6005@kindex C-c C-c 6147@orgcmd{C-c C-c,org-capture-finalize}
6006@item C-c C-c 6148Once you have finished entering information into the capture buffer, @kbd{C-c
6007Once you have finished entering information into the capture buffer, 6149C-c} will return you to the window configuration before the capture process,
6008@kbd{C-c C-c} will return you to the window configuration before the capture 6150so that you can resume your work without further distraction. When called
6009process, so that you can resume your work without further distraction. 6151with a prefix arg, finalize and then jump to the captured item.
6010 6152
6011@kindex C-c C-w 6153@orgcmd{C-c C-w,org-capture-refile}
6012@item C-c C-w
6013Finalize the capture process by refiling (@pxref{Refiling notes}) the note to 6154Finalize the capture process by refiling (@pxref{Refiling notes}) the note to
6014a different place. Please realize that this is a normal refiling command 6155a different place. Please realize that this is a normal refiling command
6015that will be executed - so the cursor position at the moment you run this 6156that will be executed---so the cursor position at the moment you run this
6016command is important. If you have inserted a tree with a parent and 6157command is important. If you have inserted a tree with a parent and
6017children, first move the cursor back to the parent. 6158children, first move the cursor back to the parent. Any prefix argument
6159given to this command will be passed on to the @code{org-refile} command.
6018 6160
6019@kindex C-c C-k 6161@orgcmd{C-c C-k,org-capture-kill}
6020@item C-c C-k
6021Abort the capture process and return to the previous state. 6162Abort the capture process and return to the previous state.
6163
6022@end table 6164@end table
6023 6165
6024You can also call @code{org-capture} in a special way from the agenda, using 6166You can also call @code{org-capture} in a special way from the agenda, using
@@ -6026,6 +6168,17 @@ the @kbd{k c} key combination. With this access, any timestamps inserted by
6026the selected capture template will default to the cursor date in the agenda, 6168the selected capture template will default to the cursor date in the agenda,
6027rather than to the current date. 6169rather than to the current date.
6028 6170
6171To find the locations of the last stored capture, use @code{org-capture} with
6172prefix commands:
6173
6174@table @kbd
6175@orgkey{C-u C-c c}
6176Visit the target location of a cpature template. You get to select the
6177template in the usual way.
6178@orgkey{C-u C-u C-c c}
6179Visit the last stored capture item in its buffer.
6180@end table
6181
6029@node Capture templates, , Using capture, Capture 6182@node Capture templates, , Using capture, Capture
6030@subsection Capture templates 6183@subsection Capture templates
6031@cindex templates, for Capture 6184@cindex templates, for Capture
@@ -6035,8 +6188,7 @@ for different target locations. The easiest way to create such templates is
6035through the customize interface. 6188through the customize interface.
6036 6189
6037@table @kbd 6190@table @kbd
6038@kindex C-c c C 6191@orgkey{C-c c C}
6039@item C-c c C
6040Customize the variable @code{org-capture-templates}. 6192Customize the variable @code{org-capture-templates}.
6041@end table 6193@end table
6042 6194
@@ -6124,7 +6276,7 @@ Text to be inserted as it is.
6124@vindex org-default-notes-file 6276@vindex org-default-notes-file
6125Specification of where the captured item should be placed. In Org-mode 6277Specification of where the captured item should be placed. In Org-mode
6126files, targets usually define a node. Entries will become children of this 6278files, targets usually define a node. Entries will become children of this
6127node, other types will be added to the table or list in the body of this 6279node. Other types will be added to the table or list in the body of this
6128node. Most target specifications contain a file name. If that file name is 6280node. Most target specifications contain a file name. If that file name is
6129the empty string, it defaults to @code{org-default-notes-file}. 6281the empty string, it defaults to @code{org-default-notes-file}.
6130 6282
@@ -6146,7 +6298,10 @@ For non-unique headings, the full path is safer.
6146Use a regular expression to position the cursor. 6298Use a regular expression to position the cursor.
6147 6299
6148@item (file+datetree "path/to/file") 6300@item (file+datetree "path/to/file")
6149Will create a heading in a date tree. 6301Will create a heading in a date tree for today's date.
6302
6303@item (file+datetree+prompt "path/to/file")
6304Will create a heading in a date tree, but will prompt for the date.
6150 6305
6151@item (file+function "path/to/file" function-finding-location) 6306@item (file+function "path/to/file" function-finding-location)
6152A function to find the right location in the file. 6307A function to find the right location in the file.
@@ -6302,15 +6457,13 @@ directory.
6302 6457
6303@table @kbd 6458@table @kbd
6304 6459
6305@kindex C-c C-a 6460@orgcmd{C-c C-a,org-attach}
6306@item C-c C-a
6307The dispatcher for commands related to the attachment system. After these 6461The dispatcher for commands related to the attachment system. After these
6308keys, a list of commands is displayed and you must press an additional key 6462keys, a list of commands is displayed and you must press an additional key
6309to select a command: 6463to select a command:
6310 6464
6311@table @kbd 6465@table @kbd
6312@kindex C-c C-a a 6466@orgcmdtkc{a,C-c C-a a,org-attach-attach}
6313@item a
6314@vindex org-attach-method 6467@vindex org-attach-method
6315Select a file and move it into the task's attachment directory. The file 6468Select a file and move it into the task's attachment directory. The file
6316will be copied, moved, or linked, depending on @code{org-attach-method}. 6469will be copied, moved, or linked, depending on @code{org-attach-method}.
@@ -6323,52 +6476,42 @@ Note that hard links are not supported on all systems.
6323Attach a file using the copy/move/link method. 6476Attach a file using the copy/move/link method.
6324Note that hard links are not supported on all systems. 6477Note that hard links are not supported on all systems.
6325 6478
6326@kindex C-c C-a n 6479@orgcmdtkc{n,C-c C-a n,org-attach-new}
6327@item n
6328Create a new attachment as an Emacs buffer. 6480Create a new attachment as an Emacs buffer.
6329 6481
6330@kindex C-c C-a z 6482@orgcmdtkc{z,C-c C-a z,org-attach-sync}
6331@item z
6332Synchronize the current task with its attachment directory, in case you added 6483Synchronize the current task with its attachment directory, in case you added
6333attachments yourself. 6484attachments yourself.
6334 6485
6335@kindex C-c C-a o 6486@orgcmdtkc{p,C-c C-a o,org-attach-open}
6336@item o
6337@vindex org-file-apps 6487@vindex org-file-apps
6338Open current task's attachment. If there is more than one, prompt for a 6488Open current task's attachment. If there is more than one, prompt for a
6339file name first. Opening will follow the rules set by @code{org-file-apps}. 6489file name first. Opening will follow the rules set by @code{org-file-apps}.
6340For more details, see the information on following hyperlinks 6490For more details, see the information on following hyperlinks
6341(@pxref{Handling links}). 6491(@pxref{Handling links}).
6342 6492
6343@kindex C-c C-a O 6493@orgcmdtkc{O,C-c C-a O,org-attach-open-in-emacs}
6344@item O
6345Also open the attachment, but force opening the file in Emacs. 6494Also open the attachment, but force opening the file in Emacs.
6346 6495
6347@kindex C-c C-a f 6496@orgcmdtkc{f,C-c C-a f,org-attach-reveal}
6348@item f
6349Open the current task's attachment directory. 6497Open the current task's attachment directory.
6350 6498
6351@kindex C-c C-a F 6499@orgcmdtkc{F,C-c C-a F,org-attach-reveal-in-emacs}
6352@item F
6353Also open the directory, but force using @command{dired} in Emacs. 6500Also open the directory, but force using @command{dired} in Emacs.
6354 6501
6355@kindex C-c C-a d 6502@orgcmdtkc{d,C-c C-a d,org-attach-delete-one}
6356@item d
6357Select and delete a single attachment. 6503Select and delete a single attachment.
6358 6504
6359@kindex C-c C-a D 6505@orgcmdtkc{D,C-c C-a D,org-attach-delete-all}
6360@item D
6361Delete all of a task's attachments. A safer way is to open the directory in 6506Delete all of a task's attachments. A safer way is to open the directory in
6362@command{dired} and delete from there. 6507@command{dired} and delete from there.
6363 6508
6364@kindex C-c C-a s 6509@orgcmdtkc{s,C-c C-a s,org-attach-set-directory}
6365@item C-c C-a s
6366@cindex property, ATTACH_DIR 6510@cindex property, ATTACH_DIR
6367Set a specific directory as the entry's attachment directory. This works by 6511Set a specific directory as the entry's attachment directory. This works by
6368putting the directory path into the @code{ATTACH_DIR} property. 6512putting the directory path into the @code{ATTACH_DIR} property.
6369 6513
6370@kindex C-c C-a i 6514@orgcmdtkc{i,C-c C-a i,org-attach-set-inherit}
6371@item C-c C-a i
6372@cindex property, ATTACH_DIR_INHERIT 6515@cindex property, ATTACH_DIR_INHERIT
6373Set the @code{ATTACH_DIR_INHERIT} property, so that children will use the 6516Set the @code{ATTACH_DIR_INHERIT} property, so that children will use the
6374same directory for attachments as the parent does. 6517same directory for attachments as the parent does.
@@ -6401,12 +6544,11 @@ will configure that new items from the feed provided by
6401the following command is used: 6544the following command is used:
6402 6545
6403@table @kbd 6546@table @kbd
6404@kindex C-c C-x g 6547@orgcmd{C-c C-x g,org-feed-update-all}
6405@item C-c C-x g 6548@item C-c C-x g
6406Collect items from the feeds configured in @code{org-feed-alist} and act upon 6549Collect items from the feeds configured in @code{org-feed-alist} and act upon
6407them. 6550them.
6408@kindex C-c C-x G 6551@orgcmd{C-c C-x G,org-feed-goto-inbox}
6409@item C-c C-x G
6410Prompt for a feed name and go to the inbox configured for this feed. 6552Prompt for a feed name and go to the inbox configured for this feed.
6411@end table 6553@end table
6412 6554
@@ -6446,8 +6588,7 @@ right location, and then pasting the note is cumbersome. To simplify this
6446process, you can use the following special command: 6588process, you can use the following special command:
6447 6589
6448@table @kbd 6590@table @kbd
6449@kindex C-c C-w 6591@orgcmd{C-c C-w,org-refile}
6450@item C-c C-w
6451@vindex org-reverse-note-order 6592@vindex org-reverse-note-order
6452@vindex org-refile-targets 6593@vindex org-refile-targets
6453@vindex org-refile-use-outline-path 6594@vindex org-refile-use-outline-path
@@ -6472,17 +6613,18 @@ When the variable @code{org-log-refile}@footnote{with corresponding
6472@code{#+STARTUP} keywords @code{logrefile}, @code{lognoterefile}, 6613@code{#+STARTUP} keywords @code{logrefile}, @code{lognoterefile},
6473and @code{nologrefile}} is set, a time stamp or a note will be 6614and @code{nologrefile}} is set, a time stamp or a note will be
6474recorded when an entry has been refiled. 6615recorded when an entry has been refiled.
6475@kindex C-u C-c C-w 6616@orgkey{C-u C-c C-w}
6476@item C-u C-c C-w
6477Use the refile interface to jump to a heading. 6617Use the refile interface to jump to a heading.
6478@kindex C-u C-u C-c C-w 6618@orgcmd{C-u C-u C-c C-w,org-refile-goto-last-stored}
6479@item C-u C-u C-c C-w
6480Jump to the location where @code{org-refile} last moved a tree to. 6619Jump to the location where @code{org-refile} last moved a tree to.
6481@item C-2 C-c C-w 6620@item C-2 C-c C-w
6482Refile as the child of the item currently being clocked. 6621Refile as the child of the item currently being clocked.
6483@item C-0 C-c C-w @ @r{or} @ C-u C-u C-u C-c C-w 6622@item C-0 C-c C-w @ @r{or} @ C-u C-u C-u C-c C-w
6623
6624@orgcmdtkc{C-0 C-c C-w @ @r{or} @ C-u C-u C-u C-c C-w,C-0 C-c C-w,org-refile-cache-clear}
6625
6484Clear the target cache. Caching of refile targets can be turned on by 6626Clear the target cache. Caching of refile targets can be turned on by
6485setting @code{org-refile-use-cache}. To make the command seen new possible 6627setting @code{org-refile-use-cache}. To make the command see new possible
6486targets, you have to clear the cache with this command. 6628targets, you have to clear the cache with this command.
6487@end table 6629@end table
6488 6630
@@ -6496,8 +6638,7 @@ agenda. Archiving is important to keep your working files compact and global
6496searches like the construction of agenda views fast. 6638searches like the construction of agenda views fast.
6497 6639
6498@table @kbd 6640@table @kbd
6499@kindex C-c C-x C-a 6641@orgcmd{C-c C-x C-a,org-archive-subtree-default}
6500@item C-c C-x C-a
6501@vindex org-archive-default-command 6642@vindex org-archive-default-command
6502Archive the current entry using the command specified in the variable 6643Archive the current entry using the command specified in the variable
6503@code{org-archive-default-command}. 6644@code{org-archive-default-command}.
@@ -6516,14 +6657,11 @@ The most common archiving action is to move a project tree to another file,
6516the archive file. 6657the archive file.
6517 6658
6518@table @kbd 6659@table @kbd
6519@kindex C-c $ 6660@orgcmdkskc{C-c C-x C-s,C-c $,org-archive-subtree}
6520@kindex C-c C-x C-s
6521@item C-c C-x C-s@ @r{or short} @ C-c $
6522@vindex org-archive-location 6661@vindex org-archive-location
6523Archive the subtree starting at the cursor position to the location 6662Archive the subtree starting at the cursor position to the location
6524given by @code{org-archive-location}. 6663given by @code{org-archive-location}.
6525@kindex C-u C-c C-x C-s 6664@orgkey{C-u C-c C-x C-s}
6526@item C-u C-c C-x C-s
6527Check if any direct children of the current headline could be moved to 6665Check if any direct children of the current headline could be moved to
6528the archive. To do this, each subtree is checked for open TODO entries. 6666the archive. To do this, each subtree is checked for open TODO entries.
6529If none are found, the command offers to move it to the archive 6667If none are found, the command offers to move it to the archive
@@ -6606,23 +6744,19 @@ Archived trees are excluded from column view unless the variable
6606The following commands help manage the ARCHIVE tag: 6744The following commands help manage the ARCHIVE tag:
6607 6745
6608@table @kbd 6746@table @kbd
6609@kindex C-c C-x a 6747@orgcmd{C-c C-x a,org-toggle-archive-tag}
6610@item C-c C-x a
6611Toggle the ARCHIVE tag for the current headline. When the tag is set, 6748Toggle the ARCHIVE tag for the current headline. When the tag is set,
6612the headline changes to a shadowed face, and the subtree below it is 6749the headline changes to a shadowed face, and the subtree below it is
6613hidden. 6750hidden.
6614@kindex C-u C-c C-x a 6751@orgkey{C-u C-c C-x a}
6615@item C-u C-c C-x a
6616Check if any direct children of the current headline should be archived. 6752Check if any direct children of the current headline should be archived.
6617To do this, each subtree is checked for open TODO entries. If none are 6753To do this, each subtree is checked for open TODO entries. If none are
6618found, the command offers to set the ARCHIVE tag for the child. If the 6754found, the command offers to set the ARCHIVE tag for the child. If the
6619cursor is @emph{not} on a headline when this command is invoked, the 6755cursor is @emph{not} on a headline when this command is invoked, the
6620level 1 trees will be checked. 6756level 1 trees will be checked.
6621@kindex C-@kbd{TAB} 6757@orgcmd{C-@kbd{TAB},org-force-cycle-archived}
6622@item C-@kbd{TAB}
6623Cycle a tree even if it is tagged with ARCHIVE. 6758Cycle a tree even if it is tagged with ARCHIVE.
6624@kindex C-c C-x A 6759@orgcmd{C-c C-x A,org-archive-to-archive-sibling}
6625@item C-c C-x A
6626Move the current entry to the @emph{Archive Sibling}. This is a sibling of 6760Move the current entry to the @emph{Archive Sibling}. This is a sibling of
6627the entry with the heading @samp{Archive} and the tag @samp{ARCHIVE}. The 6761the entry with the heading @samp{Archive} and the tag @samp{ARCHIVE}. The
6628entry becomes a child of that sibling and in this way retains a lot of its 6762entry becomes a child of that sibling and in this way retains a lot of its
@@ -6715,18 +6849,15 @@ the easiest way to maintain it is through the following commands
6715 6849
6716@cindex files, adding to agenda list 6850@cindex files, adding to agenda list
6717@table @kbd 6851@table @kbd
6718@kindex C-c [ 6852@orgcmd{C-c [,org-agenda-to-front}
6719@item C-c [
6720Add current file to the list of agenda files. The file is added to 6853Add current file to the list of agenda files. The file is added to
6721the front of the list. If it was already in the list, it is moved to 6854the front of the list. If it was already in the list, it is moved to
6722the front. With a prefix argument, file is added/moved to the end. 6855the front. With a prefix argument, file is added/moved to the end.
6723@kindex C-c ] 6856@orgcmd{C-c ],org-remove-file}
6724@item C-c ]
6725Remove current file from the list of agenda files. 6857Remove current file from the list of agenda files.
6726@kindex C-, 6858@kindex C-,
6727@kindex C-' 6859@orgcmd{C-',org-cycle-agenda-files}
6728@item C-, 6860@itemx C-,
6729@itemx C-'
6730Cycle through agenda file list, visiting one file after the other. 6861Cycle through agenda file list, visiting one file after the other.
6731@kindex M-x org-iswitchb 6862@kindex M-x org-iswitchb
6732@item M-x org-iswitchb 6863@item M-x org-iswitchb
@@ -6746,16 +6877,14 @@ you may press @kbd{<} once or several times in the dispatcher
6746extended period, use the following commands: 6877extended period, use the following commands:
6747 6878
6748@table @kbd 6879@table @kbd
6749@kindex C-c C-x < 6880@orgcmd{C-c C-x <,org-agenda-set-restriction-lock}
6750@item C-c C-x <
6751Permanently restrict the agenda to the current subtree. When with a 6881Permanently restrict the agenda to the current subtree. When with a
6752prefix argument, or with the cursor before the first headline in a file, 6882prefix argument, or with the cursor before the first headline in a file,
6753the agenda scope is set to the entire file. This restriction remains in 6883the agenda scope is set to the entire file. This restriction remains in
6754effect until removed with @kbd{C-c C-x >}, or by typing either @kbd{<} 6884effect until removed with @kbd{C-c C-x >}, or by typing either @kbd{<}
6755or @kbd{>} in the agenda dispatcher. If there is a window displaying an 6885or @kbd{>} in the agenda dispatcher. If there is a window displaying an
6756agenda view, the new restriction takes effect immediately. 6886agenda view, the new restriction takes effect immediately.
6757@kindex C-c C-x > 6887@orgcmd{C-c C-x >,org-agenda-remove-restriction-lock}
6758@item C-c C-x >
6759Remove the permanent restriction created by @kbd{C-c C-x <}. 6888Remove the permanent restriction created by @kbd{C-c C-x <}.
6760@end table 6889@end table
6761 6890
@@ -6763,14 +6892,12 @@ Remove the permanent restriction created by @kbd{C-c C-x <}.
6763When working with @file{speedbar.el}, you can use the following commands in 6892When working with @file{speedbar.el}, you can use the following commands in
6764the Speedbar frame: 6893the Speedbar frame:
6765@table @kbd 6894@table @kbd
6766@kindex < 6895@orgcmdtkc{< @r{in the speedbar frame},<,org-speedbar-set-agenda-restriction}
6767@item < @r{in the speedbar frame}
6768Permanently restrict the agenda to the item---either an Org file or a subtree 6896Permanently restrict the agenda to the item---either an Org file or a subtree
6769in such a file---at the cursor in the Speedbar frame. 6897in such a file---at the cursor in the Speedbar frame.
6770If there is a window displaying an agenda view, the new restriction takes 6898If there is a window displaying an agenda view, the new restriction takes
6771effect immediately. 6899effect immediately.
6772@kindex > 6900@orgcmdtkc{> @r{in the speedbar frame},>,org-agenda-remove-restriction-lock}
6773@item > @r{in the speedbar frame}
6774Lift the restriction. 6901Lift the restriction.
6775@end table 6902@end table
6776 6903
@@ -6850,18 +6977,23 @@ paper agenda, showing all the tasks for the current week or day.
6850 6977
6851@table @kbd 6978@table @kbd
6852@cindex org-agenda, command 6979@cindex org-agenda, command
6853@kindex C-c a a 6980@orgcmd{C-c a a,org-agenda-list}
6854@item C-c a a
6855@vindex org-agenda-ndays
6856Compile an agenda for the current week from a list of Org files. The agenda 6981Compile an agenda for the current week from a list of Org files. The agenda
6857shows the entries for each day. With a numeric prefix@footnote{For backward 6982shows the entries for each day. With a numeric prefix@footnote{For backward
6858compatibility, the universal prefix @kbd{C-u} causes all TODO entries to be 6983compatibility, the universal prefix @kbd{C-u} causes all TODO entries to be
6859listed before the agenda. This feature is deprecated, use the dedicated TODO 6984listed before the agenda. This feature is deprecated, use the dedicated TODO
6860list, or a block agenda instead (@pxref{Block agenda}).} (like @kbd{C-u 2 1 6985list, or a block agenda instead (@pxref{Block agenda}).} (like @kbd{C-u 2 1
6861C-c a a}) you may set the number of days to be displayed (see also the 6986C-c a a}) you may set the number of days to be displayed.
6862variable @code{org-agenda-ndays})
6863@end table 6987@end table
6864 6988
6989@vindex org-agenda-span
6990@vindex org-agenda-ndays
6991The default number of days displayed in the agenda is set by the variable
6992@code{org-agenda-span} (or the obsolete @code{org-agenda-ndays}). This
6993variable can be set to any number of days you want to see by default in the
6994agenda, or to a span name, such a @code{day}, @code{week}, @code{month} or
6995@code{year}.
6996
6865Remote editing from the agenda buffer means, for example, that you can 6997Remote editing from the agenda buffer means, for example, that you can
6866change the dates of deadlines and appointments from the agenda buffer. 6998change the dates of deadlines and appointments from the agenda buffer.
6867The commands available in the Agenda buffer are listed in @ref{Agenda 6999The commands available in the Agenda buffer are listed in @ref{Agenda
@@ -6972,22 +7104,20 @@ The global TODO list contains all unfinished TODO items formatted and
6972collected into a single place. 7104collected into a single place.
6973 7105
6974@table @kbd 7106@table @kbd
6975@kindex C-c a t 7107@orgcmd{C-c a t,org-todo-list}
6976@item C-c a t
6977Show the global TODO list. This collects the TODO items from all agenda 7108Show the global TODO list. This collects the TODO items from all agenda
6978files (@pxref{Agenda Views}) into a single buffer. By default, this lists 7109files (@pxref{Agenda Views}) into a single buffer. By default, this lists
6979items with a state the is not a DONE state. The buffer is in 7110items with a state the is not a DONE state. The buffer is in
6980@code{agenda-mode}, so there are commands to examine and manipulate the TODO 7111@code{agenda-mode}, so there are commands to examine and manipulate the TODO
6981entries directly from that buffer (@pxref{Agenda commands}). 7112entries directly from that buffer (@pxref{Agenda commands}).
6982@kindex C-c a T 7113@orgcmd{C-c a T,org-todo-list}
6983@item C-c a T
6984@cindex TODO keyword matching 7114@cindex TODO keyword matching
6985@vindex org-todo-keywords 7115@vindex org-todo-keywords
6986Like the above, but allows selection of a specific TODO keyword. You can 7116Like the above, but allows selection of a specific TODO keyword. You can
6987also do this by specifying a prefix argument to @kbd{C-c a t}. You are 7117also do this by specifying a prefix argument to @kbd{C-c a t}. You are
6988prompted for a keyword, and you may also specify several keywords by 7118prompted for a keyword, and you may also specify several keywords by
6989separating them with @samp{|} as the boolean OR operator. With a numeric 7119separating them with @samp{|} as the boolean OR operator. With a numeric
6990prefix, the nth keyword in @code{org-todo-keywords} is selected. 7120prefix, the Nth keyword in @code{org-todo-keywords} is selected.
6991@kindex r 7121@kindex r
6992The @kbd{r} key in the agenda buffer regenerates it, and you can give 7122The @kbd{r} key in the agenda buffer regenerates it, and you can give
6993a prefix argument to this command to change the selected TODO keyword, 7123a prefix argument to this command to change the selected TODO keyword,
@@ -7009,13 +7139,15 @@ it more compact:
7009@item 7139@item
7010@vindex org-agenda-todo-ignore-scheduled 7140@vindex org-agenda-todo-ignore-scheduled
7011@vindex org-agenda-todo-ignore-deadlines 7141@vindex org-agenda-todo-ignore-deadlines
7142@vindex org-agenda-todo-ignore-timestamp
7012@vindex org-agenda-todo-ignore-with-date 7143@vindex org-agenda-todo-ignore-with-date
7013Some people view a TODO item that has been @emph{scheduled} for execution or 7144Some people view a TODO item that has been @emph{scheduled} for execution or
7014have a @emph{deadline} (@pxref{Timestamps}) as no longer @emph{open}. 7145have a @emph{deadline} (@pxref{Timestamps}) as no longer @emph{open}.
7015Configure the variables @code{org-agenda-todo-ignore-scheduled}, 7146Configure the variables @code{org-agenda-todo-ignore-scheduled},
7016@code{org-agenda-todo-ignore-deadlines}, and/or 7147@code{org-agenda-todo-ignore-deadlines},
7017@code{org-agenda-todo-ignore-with-date} to exclude such items from the 7148@code{org-agenda-todo-ignore-timestamp} and/or
7018global TODO list. 7149@code{org-agenda-todo-ignore-with-date} to exclude such items from the global
7150TODO list.
7019@item 7151@item
7020@vindex org-agenda-todo-list-sublevels 7152@vindex org-agenda-todo-list-sublevels
7021TODO items may have sublevels to break up the task into subtasks. In 7153TODO items may have sublevels to break up the task into subtasks. In
@@ -7038,15 +7170,13 @@ syntax described here also applies when creating sparse trees with @kbd{C-c /
7038m}. 7170m}.
7039 7171
7040@table @kbd 7172@table @kbd
7041@kindex C-c a m 7173@orgcmd{C-c a m,org-tags-view}
7042@item C-c a m
7043Produce a list of all headlines that match a given set of tags. The 7174Produce a list of all headlines that match a given set of tags. The
7044command prompts for a selection criterion, which is a boolean logic 7175command prompts for a selection criterion, which is a boolean logic
7045expression with tags, like @samp{+work+urgent-withboss} or 7176expression with tags, like @samp{+work+urgent-withboss} or
7046@samp{work|home} (@pxref{Tags}). If you often need a specific search, 7177@samp{work|home} (@pxref{Tags}). If you often need a specific search,
7047define a custom command for it (@pxref{Agenda dispatcher}). 7178define a custom command for it (@pxref{Agenda dispatcher}).
7048@kindex C-c a M 7179@orgcmd{C-c a M,org-tags-view}
7049@item C-c a M
7050@vindex org-tags-match-list-sublevels 7180@vindex org-tags-match-list-sublevels
7051@vindex org-agenda-tags-todo-honor-ignore-options 7181@vindex org-agenda-tags-todo-honor-ignore-options
7052Like @kbd{C-c a m}, but only select headlines that are also TODO items in a 7182Like @kbd{C-c a m}, but only select headlines that are also TODO items in a
@@ -7197,8 +7327,7 @@ file in a @emph{time-sorted view}. The main purpose of this command is
7197to give an overview over events in a project. 7327to give an overview over events in a project.
7198 7328
7199@table @kbd 7329@table @kbd
7200@kindex C-c a L 7330@orgcmd{C-c a L,org-timeline}
7201@item C-c a L
7202Show a time-sorted view of the Org file, with all time-stamped items. 7331Show a time-sorted view of the Org file, with all time-stamped items.
7203When called with a @kbd{C-u} prefix, all unfinished TODO entries 7332When called with a @kbd{C-u} prefix, all unfinished TODO entries
7204(scheduled or not) are also listed under the current date. 7333(scheduled or not) are also listed under the current date.
@@ -7218,8 +7347,7 @@ This agenda view is a general text search facility for Org-mode entries.
7218It is particularly useful to find notes. 7347It is particularly useful to find notes.
7219 7348
7220@table @kbd 7349@table @kbd
7221@kindex C-c a s 7350@orgcmd{C-c a s,org-search-view}
7222@item C-c a s
7223This is a special search that lets you select entries by matching a substring 7351This is a special search that lets you select entries by matching a substring
7224or specific words using a boolean logic. 7352or specific words using a boolean logic.
7225@end table 7353@end table
@@ -7250,8 +7378,7 @@ Org-mode produces. During the review, you need to identify such
7250projects and define next actions for them. 7378projects and define next actions for them.
7251 7379
7252@table @kbd 7380@table @kbd
7253@kindex C-c a # 7381@orgcmd{C-c a #,org-agenda-list-stuck-projects}
7254@item C-c a #
7255List projects that are stuck. 7382List projects that are stuck.
7256@kindex C-c a ! 7383@kindex C-c a !
7257@item C-c a ! 7384@item C-c a !
@@ -7336,6 +7463,10 @@ special category you want to apply as the value.
7336The display in the agenda buffer looks best if the category is not 7463The display in the agenda buffer looks best if the category is not
7337longer than 10 characters. 7464longer than 10 characters.
7338 7465
7466@noindent
7467You can set up icons for category by customizing the
7468@code{org-agenda-category-icon-alist} variable.
7469
7339@node Time-of-day specifications, Sorting of agenda items, Categories, Presentation and sorting 7470@node Time-of-day specifications, Sorting of agenda items, Categories, Presentation and sorting
7340@subsection Time-of-day specifications 7471@subsection Time-of-day specifications
7341@cindex time-of-day specification 7472@cindex time-of-day specification
@@ -7438,40 +7569,26 @@ the other commands, the cursor needs to be in the desired line.
7438@table @kbd 7569@table @kbd
7439@tsubheading{Motion} 7570@tsubheading{Motion}
7440@cindex motion commands in agenda 7571@cindex motion commands in agenda
7441@kindex n 7572@orgcmd{n,org-agenda-next-line}
7442@item n
7443Next line (same as @key{up} and @kbd{C-p}). 7573Next line (same as @key{up} and @kbd{C-p}).
7444@kindex p 7574@orgcmd{p,org-agenda-previous-line}
7445@item p
7446Previous line (same as @key{down} and @kbd{C-n}). 7575Previous line (same as @key{down} and @kbd{C-n}).
7447@tsubheading{View/Go to Org file} 7576@tsubheading{View/Go to Org file}
7448@kindex mouse-3 7577@orgcmdkkc{@key{SPC},mouse-3,org-agenda-show-and-scroll-up}
7449@kindex @key{SPC}
7450@item mouse-3
7451@itemx @key{SPC}
7452Display the original location of the item in another window. 7578Display the original location of the item in another window.
7453With prefix arg, make sure that the entire entry is made visible in the 7579With prefix arg, make sure that the entire entry is made visible in the
7454outline, not only the heading. 7580outline, not only the heading.
7455@c 7581@c
7456@kindex L 7582@orgcmd{L,org-agenda-recenter}
7457@item L
7458Display original location and recenter that window. 7583Display original location and recenter that window.
7459@c 7584@c
7460@kindex mouse-2 7585@orgcmdkkc{@key{TAB},mouse-2,org-agenda-goto}
7461@kindex mouse-1 7586Go to the original location of the item in another window.
7462@kindex @key{TAB}
7463@item mouse-2
7464@itemx mouse-1
7465@itemx @key{TAB}
7466Go to the original location of the item in another window. Under Emacs
746722, @kbd{mouse-1} will also works for this.
7468@c 7587@c
7469@kindex @key{RET} 7588@orgcmd{@key{RET},org-agenda-switch-to}
7470@itemx @key{RET}
7471Go to the original location of the item and delete other windows. 7589Go to the original location of the item and delete other windows.
7472@c 7590@c
7473@kindex F 7591@orgcmd{F,org-agenda-follow-mode}
7474@item F
7475@vindex org-agenda-start-with-follow-mode 7592@vindex org-agenda-start-with-follow-mode
7476Toggle Follow mode. In Follow mode, as you move the cursor through 7593Toggle Follow mode. In Follow mode, as you move the cursor through
7477the agenda buffer, the other window always shows the corresponding 7594the agenda buffer, the other window always shows the corresponding
@@ -7479,15 +7596,13 @@ location in the Org file. The initial setting for this mode in new
7479agenda buffers can be set with the variable 7596agenda buffers can be set with the variable
7480@code{org-agenda-start-with-follow-mode}. 7597@code{org-agenda-start-with-follow-mode}.
7481@c 7598@c
7482@kindex C-c C-x b 7599@orgcmd{C-c C-x b,org-agenda-tree-to-indirect-buffer}
7483@item C-c C-x b
7484Display the entire subtree of the current item in an indirect buffer. With a 7600Display the entire subtree of the current item in an indirect buffer. With a
7485numeric prefix argument N, go up to level N and then take that tree. If N is 7601numeric prefix argument N, go up to level N and then take that tree. If N is
7486negative, go up that many levels. With a @kbd{C-u} prefix, do not remove the 7602negative, go up that many levels. With a @kbd{C-u} prefix, do not remove the
7487previously used indirect buffer. 7603previously used indirect buffer.
7488 7604
7489@kindex C-c C-o 7605@orgcmd{C-c C-o,org-agenda-open-link}
7490@item C-c C-o
7491Follow a link in the entry. This will offer a selection of any links in the 7606Follow a link in the entry. This will offer a selection of any links in the
7492text belonging to the referenced Org node. If there is only one link, it 7607text belonging to the referenced Org node. If there is only one link, it
7493will be followed without a selection prompt. 7608will be followed without a selection prompt.
@@ -7498,16 +7613,20 @@ will be followed without a selection prompt.
7498@item o 7613@item o
7499Delete other windows. 7614Delete other windows.
7500@c 7615@c
7501@kindex v d 7616@c @kindex v d
7502@kindex d 7617@c @kindex d
7503@kindex v w 7618@c @kindex v w
7504@kindex w 7619@c @kindex w
7505@kindex v m 7620@c @kindex v m
7506@kindex v y 7621@c @kindex v y
7507@item v d @ @r{or short} @ d 7622@c @item v d @ @r{or short} @ d
7508@itemx v w @ @r{or short} @ w 7623@c @itemx v w @ @r{or short} @ w
7509@itemx v m 7624@c @itemx v m
7510@itemx v y 7625@c @itemx v y
7626@orgcmdkskc{v d,d,org-aganda-day-view}
7627@xorgcmdkskc{v w,w,org-aganda-day-view}
7628@xorgcmd{v m,org-agenda-month-view}
7629@xorgcmd{v y,org-agenda-month-year}
7511Switch to day/week/month/year view. When switching to day or week view, 7630Switch to day/week/month/year view. When switching to day or week view,
7512this setting becomes the default for subsequent agenda commands. Since 7631this setting becomes the default for subsequent agenda commands. Since
7513month and year views are slow to create, they do not become the default. 7632month and year views are slow to create, they do not become the default.
@@ -7519,37 +7638,28 @@ argument as well. For example, @kbd{200712 w} will jump to week 12 in
75192007. If such a year specification has only one or two digits, it will 76382007. If such a year specification has only one or two digits, it will
7520be mapped to the interval 1938-2037. 7639be mapped to the interval 1938-2037.
7521@c 7640@c
7522@kindex f 7641@orgcmd{f,org-agenda-later}
7523@item f 7642Go forward in time to display the following @code{org-agenda-current-span} days.
7524@vindex org-agenda-ndays
7525Go forward in time to display the following @code{org-agenda-ndays} days.
7526For example, if the display covers a week, switch to the following week. 7643For example, if the display covers a week, switch to the following week.
7527With prefix arg, go forward that many times @code{org-agenda-ndays} days. 7644With prefix arg, go forward that many times @code{org-agenda-current-span} days.
7528@c 7645@c
7529@kindex b 7646@orgcmd{b,org-agenda-earlier}
7530@item b
7531Go backward in time to display earlier dates. 7647Go backward in time to display earlier dates.
7532@c 7648@c
7533@kindex . 7649@orgcmd{.,org-agenda-goto-today}
7534@item .
7535Go to today. 7650Go to today.
7536@c 7651@c
7537@kindex j 7652@orgcmd{j,org-agenda-goto-date}
7538@item j
7539Prompt for a date and go there. 7653Prompt for a date and go there.
7540@c 7654@c
7541@kindex J 7655@orgcmd{J,org-agenda-clock-goto}
7542@item J 7656Go to the currently clocked-in task @i{in the agenda buffer}.
7543Go to the currently clocked in task in the agenda buffer.
7544@c 7657@c
7545@kindex D 7658@orgcmd{D,org-agenda-toggle-diary}
7546@item D
7547Toggle the inclusion of diary entries. See @ref{Weekly/daily agenda}. 7659Toggle the inclusion of diary entries. See @ref{Weekly/daily agenda}.
7548@c 7660@c
7549@kindex v l 7661@orgcmdkskc{v l,l,org-agenda-log-mode}
7550@kindex v L 7662@kindex v L
7551@kindex l
7552@item v l @ @r{or short} @ l
7553@vindex org-log-done 7663@vindex org-log-done
7554@vindex org-agenda-log-mode-items 7664@vindex org-agenda-log-mode-items
7555Toggle Logbook mode. In Logbook mode, entries that were marked DONE while 7665Toggle Logbook mode. In Logbook mode, entries that were marked DONE while
@@ -7561,34 +7671,29 @@ all possible logbook entries, including state changes. When called with two
7561prefix args @kbd{C-u C-u}, show only logging information, nothing else. 7671prefix args @kbd{C-u C-u}, show only logging information, nothing else.
7562@kbd{v L} is equivalent to @kbd{C-u v l}. 7672@kbd{v L} is equivalent to @kbd{C-u v l}.
7563@c 7673@c
7564@kindex v [ 7674@orgcmdkskc{v [,[,org-agenda-manipulate-query-add}
7565@kindex [
7566@item v [ @ @r{or short} @ [
7567Include inactive timestamps into the current view. Only for weekly/daily 7675Include inactive timestamps into the current view. Only for weekly/daily
7568agenda and timeline views. 7676agenda and timeline views.
7569@c 7677@c
7570@kindex v a 7678@orgcmd{v a,org-agenda-archives-mode}
7571@kindex v A 7679@xorgcmd{v A,org-agenda-archives-mode 'files}
7572@item v a
7573@itemx v A
7574Toggle Archives mode. In Archives mode, trees that are marked 7680Toggle Archives mode. In Archives mode, trees that are marked
7575@code{ARCHIVED} are also scanned when producing the agenda. When you use the 7681@code{ARCHIVED} are also scanned when producing the agenda. When you use the
7576capital @kbd{A}, even all archive files are included. To exit archives mode, 7682capital @kbd{A}, even all archive files are included. To exit archives mode,
7577press @kbd{v a} again. 7683press @kbd{v a} again.
7578@c 7684@c
7579@kindex v R 7685@orgcmdkskc{v R,R,org-agenda-clockreport-mode}
7580@kindex R
7581@item v R @ @r{or short} @ R
7582@vindex org-agenda-start-with-clockreport-mode 7686@vindex org-agenda-start-with-clockreport-mode
7583Toggle Clockreport mode. In Clockreport mode, the daily/weekly agenda will 7687Toggle Clockreport mode. In Clockreport mode, the daily/weekly agenda will
7584always show a table with the clocked times for the timespan and file scope 7688always show a table with the clocked times for the timespan and file scope
7585covered by the current agenda view. The initial setting for this mode in new 7689covered by the current agenda view. The initial setting for this mode in new
7586agenda buffers can be set with the variable 7690agenda buffers can be set with the variable
7587@code{org-agenda-start-with-clockreport-mode}. 7691@code{org-agenda-start-with-clockreport-mode}. By using a prefix argument
7692when toggling this mode (i.e. @kbd{C-u R}), the clock table will not show
7693contributions from entries that are hidden by agenda filtering@footnote{Only
7694tags filtering will be respected here, effort filtering is ignored.}.
7588@c 7695@c
7589@kindex v E 7696@orgcmdkskc{v E,E,org-agenda-entry-text-mode}
7590@kindex E
7591@item v E @ @r{or short} @ E
7592@vindex org-agenda-start-with-entry-text-mode 7697@vindex org-agenda-start-with-entry-text-mode
7593@vindex org-agenda-entry-text-maxlines 7698@vindex org-agenda-entry-text-maxlines
7594Toggle entry text mode. In entry text mode, a number of lines from the Org 7699Toggle entry text mode. In entry text mode, a number of lines from the Org
@@ -7597,33 +7702,26 @@ The maximum number of lines is given by the variable
7597@code{org-agenda-entry-text-maxlines}. Calling this command with a numeric 7702@code{org-agenda-entry-text-maxlines}. Calling this command with a numeric
7598prefix argument will temporarily modify that number to the prefix value. 7703prefix argument will temporarily modify that number to the prefix value.
7599@c 7704@c
7600@kindex G 7705@orgcmd{G,org-agenda-toggle-time-grid}
7601@item G
7602@vindex org-agenda-use-time-grid 7706@vindex org-agenda-use-time-grid
7603@vindex org-agenda-time-grid 7707@vindex org-agenda-time-grid
7604Toggle the time grid on and off. See also the variables 7708Toggle the time grid on and off. See also the variables
7605@code{org-agenda-use-time-grid} and @code{org-agenda-time-grid}. 7709@code{org-agenda-use-time-grid} and @code{org-agenda-time-grid}.
7606@c 7710@c
7607@kindex r 7711@orgcmd{r,org-agenda-rodo}
7608@item r
7609Recreate the agenda buffer, for example to reflect the changes after 7712Recreate the agenda buffer, for example to reflect the changes after
7610modification of the timestamps of items with @kbd{S-@key{left}} and 7713modification of the timestamps of items with @kbd{S-@key{left}} and
7611@kbd{S-@key{right}}. When the buffer is the global TODO list, a prefix 7714@kbd{S-@key{right}}. When the buffer is the global TODO list, a prefix
7612argument is interpreted to create a selective list for a specific TODO 7715argument is interpreted to create a selective list for a specific TODO
7613keyword. 7716keyword.
7614@kindex g 7717@orgcmd{g,org-agenda-rodo}
7615@item g
7616Same as @kbd{r}. 7718Same as @kbd{r}.
7617@c 7719@c
7618@kindex s 7720@orgcmdkskc{C-x C-s,s,org-save-all-org-buffers}
7619@kindex C-x C-s
7620@item s
7621@itemx C-x C-s
7622Save all Org buffers in the current Emacs session, and also the locations of 7721Save all Org buffers in the current Emacs session, and also the locations of
7623IDs. 7722IDs.
7624@c 7723@c
7625@kindex C-c C-x C-c 7724@orgcmd{C-c C-x C-c,org-agenda-columns}
7626@item C-c C-x C-c
7627@vindex org-columns-default-format 7725@vindex org-columns-default-format
7628Invoke column view (@pxref{Column view}) in the agenda buffer. The column 7726Invoke column view (@pxref{Column view}) in the agenda buffer. The column
7629view format is taken from the entry at point, or (if there is no entry at 7727view format is taken from the entry at point, or (if there is no entry at
@@ -7632,8 +7730,7 @@ that entry would be in the original buffer (taken from a property, from a
7632@code{#+COLUMNS} line, or from the default variable 7730@code{#+COLUMNS} line, or from the default variable
7633@code{org-columns-default-format}), will be used in the agenda. 7731@code{org-columns-default-format}), will be used in the agenda.
7634 7732
7635@kindex C-c C-x > 7733@orgcmd{C-c C-x >,org-agenda-remove-restriction-lock}
7636@item C-c C-x >
7637Remove the restriction lock on the agenda, if it is currently restricted to a 7734Remove the restriction lock on the agenda, if it is currently restricted to a
7638file or subtree (@pxref{Agenda files}). 7735file or subtree (@pxref{Agenda files}).
7639 7736
@@ -7643,20 +7740,19 @@ file or subtree (@pxref{Agenda files}).
7643@cindex effort filtering, in agenda 7740@cindex effort filtering, in agenda
7644@cindex query editing, in agenda 7741@cindex query editing, in agenda
7645 7742
7646@kindex / 7743@orgcmd{/,org-agenda-filter-by-tag}
7647@item /
7648@vindex org-agenda-filter-preset 7744@vindex org-agenda-filter-preset
7649Filter the current agenda view with respect to a tag and/or effort estimates. 7745Filter the current agenda view with respect to a tag and/or effort estimates.
7650The difference between this and a custom agenda command is that filtering is 7746The difference between this and a custom agenda command is that filtering is
7651very fast, so that you can switch quickly between different filters without 7747very fast, so that you can switch quickly between different filters without
7652having to recreate the agenda@footnote{Custom commands can preset a filter by 7748having to recreate the agenda.@footnote{Custom commands can preset a filter by
7653binding the variable @code{org-agenda-filter-preset} as an option. This 7749binding the variable @code{org-agenda-filter-preset} as an option. This
7654filter will then be applied to the view and persist as a basic filter through 7750filter will then be applied to the view and persist as a basic filter through
7655refreshes and more secondary filtering. The filter is a global property of 7751refreshes and more secondary filtering. The filter is a global property of
7656the entire agenda view - in a block agenda, you should only set this in the 7752the entire agenda view---in a block agenda, you should only set this in the
7657global options section, not in the section of an individual block.} 7753global options section, not in the section of an individual block.}
7658 7754
7659You will be prompted for a tag selection letter, SPC will mean any tag at 7755You will be prompted for a tag selection letter; @key{SPC} will mean any tag at
7660all. Pressing @key{TAB} at that prompt will offer use completion to select a 7756all. Pressing @key{TAB} at that prompt will offer use completion to select a
7661tag (including any tags that do not have a selection character). The command 7757tag (including any tags that do not have a selection character). The command
7662then hides all entries that do not contain or inherit this tag. When called 7758then hides all entries that do not contain or inherit this tag. When called
@@ -7668,7 +7764,7 @@ Instead of pressing @kbd{+} or @kbd{-} after @kbd{/}, you can also
7668immediately use the @kbd{\} command. 7764immediately use the @kbd{\} command.
7669 7765
7670@vindex org-sort-agenda-noeffort-is-high 7766@vindex org-sort-agenda-noeffort-is-high
7671In order to filter for effort estimates, you should set-up allowed 7767In order to filter for effort estimates, you should set up allowed
7672efforts globally, for example 7768efforts globally, for example
7673@lisp 7769@lisp
7674(setq org-global-properties 7770(setq org-global-properties
@@ -7711,13 +7807,13 @@ Internet, and outside of business hours, with something like this:
7711@end group 7807@end group
7712@end lisp 7808@end lisp
7713 7809
7714@kindex \ 7810@orgcmd{\,org-agenda-filter-by-tag-refine}
7715@item \
7716Narrow the current agenda filter by an additional condition. When called with 7811Narrow the current agenda filter by an additional condition. When called with
7717prefix arg, remove the entries that @emph{do} have the tag, or that do match 7812prefix arg, remove the entries that @emph{do} have the tag, or that do match
7718the effort criterion. You can achieve the same effect by pressing @kbd{+} or 7813the effort criterion. You can achieve the same effect by pressing @kbd{+} or
7719@kbd{-} as the first key after the @kbd{/} command. 7814@kbd{-} as the first key after the @kbd{/} command.
7720 7815
7816@c
7721@kindex [ 7817@kindex [
7722@kindex ] 7818@kindex ]
7723@kindex @{ 7819@kindex @{
@@ -7733,7 +7829,6 @@ negative search term which @i{must not} occur/match in the entry for it to be
7733selected. 7829selected.
7734@end table 7830@end table
7735 7831
7736@page
7737@tsubheading{Remote editing} 7832@tsubheading{Remote editing}
7738@cindex remote editing, from agenda 7833@cindex remote editing, from agenda
7739 7834
@@ -7742,115 +7837,89 @@ Digit argument.
7742@c 7837@c
7743@cindex undoing remote-editing events 7838@cindex undoing remote-editing events
7744@cindex remote editing, undo 7839@cindex remote editing, undo
7745@kindex C-_ 7840@orgcmd{C-_,org-agenda-undo}
7746@item C-_
7747Undo a change due to a remote editing command. The change is undone 7841Undo a change due to a remote editing command. The change is undone
7748both in the agenda buffer and in the remote buffer. 7842both in the agenda buffer and in the remote buffer.
7749@c 7843@c
7750@kindex t 7844@orgcmd{t,org-agenda-todo}
7751@item t
7752Change the TODO state of the item, both in the agenda and in the 7845Change the TODO state of the item, both in the agenda and in the
7753original org file. 7846original org file.
7754@c 7847@c
7755@kindex C-S-@key{right} 7848@orgcmd{C-S-@key{right},org-agenda-todo-nextset}
7756@kindex C-S-@key{left} 7849@orgcmd{C-S-@key{left},org-agenda-todo-previousset}
7757@item C-S-@key{right}@r{/}@key{left}
7758Switch to the next/previous set of TODO keywords. 7850Switch to the next/previous set of TODO keywords.
7759@c 7851@c
7760@kindex C-k 7852@orgcmd{C-k,org-agenda-kill}
7761@item C-k
7762@vindex org-agenda-confirm-kill 7853@vindex org-agenda-confirm-kill
7763Delete the current agenda item along with the entire subtree belonging 7854Delete the current agenda item along with the entire subtree belonging
7764to it in the original Org file. If the text to be deleted remotely 7855to it in the original Org file. If the text to be deleted remotely
7765is longer than one line, the kill needs to be confirmed by the user. See 7856is longer than one line, the kill needs to be confirmed by the user. See
7766variable @code{org-agenda-confirm-kill}. 7857variable @code{org-agenda-confirm-kill}.
7767@c 7858@c
7768@kindex C-c C-w 7859@orgcmd{C-c C-w,org-agenda-refile}
7769@item C-c C-w
7770Refile the entry at point. 7860Refile the entry at point.
7771@c 7861@c
7772@kindex C-c C-x C-a 7862@orgcmdkskc{C-c C-x C-a,a,org-agenda-archive-default-with-confirmation}
7773@kindex a
7774@item C-c C-x C-a @ @r{or short} @ a
7775@vindex org-archive-default-command 7863@vindex org-archive-default-command
7776Archive the subtree corresponding to the entry at point using the default 7864Archive the subtree corresponding to the entry at point using the default
7777archiving command set in @code{org-archive-default-command}. When using the 7865archiving command set in @code{org-archive-default-command}. When using the
7778@code{a} key, confirmation will be required. 7866@code{a} key, confirmation will be required.
7779@c 7867@c
7780@kindex C-c C-x a 7868@orgcmd{C-c C-x a,org-agenda-toggle-archive-tag}
7781@item C-c C-x a
7782Toggle the ARCHIVE tag for the current headline. 7869Toggle the ARCHIVE tag for the current headline.
7783@c 7870@c
7784@kindex C-c C-x A 7871@orgcmd{C-c C-x A,org-agenda-archive-to-archive-sibling}
7785@item C-c C-x A
7786Move the subtree corresponding to the current entry to its @emph{archive 7872Move the subtree corresponding to the current entry to its @emph{archive
7787sibling}. 7873sibling}.
7788@c 7874@c
7789@kindex $ 7875@orgcmdkskc{C-c C-x C-s,$,org-agenda-archive}
7790@kindex C-c C-x C-s
7791@item C-c C-x C-s @ @r{or short} @ $
7792Archive the subtree corresponding to the current headline. This means the 7876Archive the subtree corresponding to the current headline. This means the
7793entry will be moved to the configured archive location, most likely a 7877entry will be moved to the configured archive location, most likely a
7794different file. 7878different file.
7795@c 7879@c
7796@kindex T 7880@orgcmd{T,org-agenda-show-tags}
7797@item T
7798@vindex org-agenda-show-inherited-tags 7881@vindex org-agenda-show-inherited-tags
7799Show all tags associated with the current item. This is useful if you have 7882Show all tags associated with the current item. This is useful if you have
7800turned off @code{org-agenda-show-inherited-tags}, but still want to see all 7883turned off @code{org-agenda-show-inherited-tags}, but still want to see all
7801tags of a headline occasionally. 7884tags of a headline occasionally.
7802@c 7885@c
7803@kindex : 7886@orgcmd{:,org-agenda-set-tags}
7804@item :
7805Set tags for the current headline. If there is an active region in the 7887Set tags for the current headline. If there is an active region in the
7806agenda, change a tag for all headings in the region. 7888agenda, change a tag for all headings in the region.
7807@c 7889@c
7808@kindex , 7890@kindex ,
7809@item , 7891@item ,
7810Set the priority for the current item. Org-mode prompts for the 7892Set the priority for the current item (@command{org-agenda-priority}).
7811priority character. If you reply with @key{SPC}, the priority cookie 7893Org-mode prompts for the priority character. If you reply with @key{SPC}, the
7812is removed from the entry. 7894priority cookie is removed from the entry.
7813@c 7895@c
7814@kindex P 7896@orgcmd{P,org-agenda-show-priority}
7815@item P
7816Display weighted priority of current item. 7897Display weighted priority of current item.
7817@c 7898@c
7818@kindex + 7899@orgcmdkkc{+,S-@key{up},org-agenda-priority-up}
7819@kindex S-@key{up}
7820@item +
7821@itemx S-@key{up}
7822Increase the priority of the current item. The priority is changed in 7900Increase the priority of the current item. The priority is changed in
7823the original buffer, but the agenda is not resorted. Use the @kbd{r} 7901the original buffer, but the agenda is not resorted. Use the @kbd{r}
7824key for this. 7902key for this.
7825@c 7903@c
7826@kindex - 7904@orgcmdkkc{-,S-@key{down},org-agenda-priority-down}
7827@kindex S-@key{down}
7828@item -
7829@itemx S-@key{down}
7830Decrease the priority of the current item. 7905Decrease the priority of the current item.
7831@c 7906@c
7832@kindex C-c C-z 7907@orgcmdkkc{z,C-c C-z,org-agenda-add-note}
7833@kindex z
7834@item z @ @r{or also} @ C-c C-z
7835@vindex org-log-into-drawer 7908@vindex org-log-into-drawer
7836Add a note to the entry. This note will be recorded, and then files to the 7909Add a note to the entry. This note will be recorded, and then filed to the
7837same location where state change notes are put. Depending on 7910same location where state change notes are put. Depending on
7838@code{org-log-into-drawer}, this maybe inside a drawer. 7911@code{org-log-into-drawer}, this may be inside a drawer.
7839@c 7912@c
7840@kindex C-c C-a 7913@orgcmd{C-c C-a,org-attach}
7841@item C-c C-a
7842Dispatcher for all command related to attachments. 7914Dispatcher for all command related to attachments.
7843@c 7915@c
7844@kindex C-c C-s 7916@orgcmd{C-c C-s,org-agenda-schedule}
7845@item C-c C-s 7917Schedule this item. With prefix arg remove the scheduling timestamp
7846Schedule this item, with prefix arg remove the scheduling timestamp
7847@c 7918@c
7848@kindex C-c C-d 7919@orgcmd{C-c C-d,org-agenda-deadline}
7849@item C-c C-d 7920Set a deadline for this item. With prefix arg remove the deadline.
7850Set a deadline for this item, with prefix arg remove the deadline.
7851@c 7921@c
7852@kindex k 7922@orgcmd{k,org-agenda-action}
7853@item k
7854Agenda actions, to set dates for selected items to the cursor date. 7923Agenda actions, to set dates for selected items to the cursor date.
7855This command also works in the calendar! The command prompts for an 7924This command also works in the calendar! The command prompts for an
7856additional key: 7925additional key:
@@ -7865,8 +7934,7 @@ r @r{Call @code{org-capture} with the cursor date as default date.}
7865Press @kbd{r} afterward to refresh the agenda and see the effect of the 7934Press @kbd{r} afterward to refresh the agenda and see the effect of the
7866command. 7935command.
7867@c 7936@c
7868@kindex S-@key{right} 7937@orgcmd{S-@key{right},org-agenda-do-date-later}
7869@item S-@key{right}
7870Change the timestamp associated with the current line by one day into the 7938Change the timestamp associated with the current line by one day into the
7871future. With a numeric prefix argument, change it by that many days. For 7939future. With a numeric prefix argument, change it by that many days. For
7872example, @kbd{3 6 5 S-@key{right}} will change it by a year. With a 7940example, @kbd{3 6 5 S-@key{right}} will change it by a year. With a
@@ -7876,57 +7944,48 @@ a double @kbd{C-u C-u} prefix, do the same for changing minutes. The stamp
7876is changed in the original Org file, but the change is not directly reflected 7944is changed in the original Org file, but the change is not directly reflected
7877in the agenda buffer. Use @kbd{r} or @kbd{g} to update the buffer. 7945in the agenda buffer. Use @kbd{r} or @kbd{g} to update the buffer.
7878@c 7946@c
7879@kindex S-@key{left} 7947@orgcmd{S-@key{left},org-agenda-do-date-earlier}
7880@item S-@key{left}
7881Change the timestamp associated with the current line by one day 7948Change the timestamp associated with the current line by one day
7882into the past. 7949into the past.
7883@c 7950@c
7884@kindex > 7951@orgcmd{>,org-agenda-date-prompt}
7885@item >
7886Change the timestamp associated with the current line. The key @kbd{>} has 7952Change the timestamp associated with the current line. The key @kbd{>} has
7887been chosen, because it is the same as @kbd{S-.} on my keyboard. 7953been chosen, because it is the same as @kbd{S-.} on my keyboard.
7888@c 7954@c
7889@kindex I 7955@orgcmd{I,org-agenda-clock-in}
7890@item I
7891Start the clock on the current item. If a clock is running already, it 7956Start the clock on the current item. If a clock is running already, it
7892is stopped first. 7957is stopped first.
7893@c 7958@c
7894@kindex O 7959@orgcmd{O,org-agenda-clock-out}
7895@item O
7896Stop the previously started clock. 7960Stop the previously started clock.
7897@c 7961@c
7898@kindex X 7962@orgcmd{X,org-agenda-clock-cancel}
7899@item X
7900Cancel the currently running clock. 7963Cancel the currently running clock.
7901 7964@c
7902@kindex J 7965@orgcmd{J,org-agenda-clock-goto}
7903@item J
7904Jump to the running clock in another window. 7966Jump to the running clock in another window.
7905 7967
7906@tsubheading{Bulk remote editing selected entries} 7968@tsubheading{Bulk remote editing selected entries}
7907@cindex remote editing, bulk, from agenda 7969@cindex remote editing, bulk, from agenda
7908 7970
7909@kindex m 7971@orgcmd{m,org-agenda-bulk-mark}
7910@item m 7972Mark the entry at point for bulk action. With prefix arg, mark that many
7911Mark the entry at point for bulk action. 7973successive entries.
7912 7974@c
7913@kindex u 7975@orgcmd{u,org-agenda-bulk-unmark}
7914@item u
7915Unmark entry for bulk action. 7976Unmark entry for bulk action.
7916 7977@c
7917@kindex U 7978@orgcmd{U,org-agenda-bulk-remove-all-marks}
7918@item U
7919Unmark all marked entries for bulk action. 7979Unmark all marked entries for bulk action.
7920 7980@c
7921@kindex B 7981@orgcmd{B,org-agenda-bulk-action}
7922@item B
7923Bulk action: act on all marked entries in the agenda. This will prompt for 7982Bulk action: act on all marked entries in the agenda. This will prompt for
7924another key to select the action to be applied. The prefix arg to @kbd{B} 7983another key to select the action to be applied. The prefix arg to @kbd{B}
7925will be passed through to the @kbd{s} and @kbd{d} commands, to bulk-remove 7984will be passed through to the @kbd{s} and @kbd{d} commands, to bulk-remove
7926these special timestamps. 7985these special timestamps.
7927@example 7986@example
7928r @r{Prompt for a single refile target and move all entries. The entries} 7987r @r{Prompt for a single refile target and move all entries. The entries}
7929 @r{will no longer be in the agenda, refresh (@kbd{g}) to bring them back.} 7988 @r{will no longer be in the agenda; refresh (@kbd{g}) to bring them back.}
7930$ @r{Archive all selected entries.} 7989$ @r{Archive all selected entries.}
7931A @r{Archive entries by moving them to their respective archive siblings.} 7990A @r{Archive entries by moving them to their respective archive siblings.}
7932t @r{Change TODO state. This prompts for a single TODO keyword and} 7991t @r{Change TODO state. This prompts for a single TODO keyword and}
@@ -7937,23 +7996,24 @@ t @r{Change TODO state. This prompts for a single TODO keyword and}
7937s @r{Schedule all items to a new date. To shift existing schedule dates} 7996s @r{Schedule all items to a new date. To shift existing schedule dates}
7938 @r{by a fixed number of days, use something starting with double plus} 7997 @r{by a fixed number of days, use something starting with double plus}
7939 @r{at the prompt, for example @samp{++8d} or @samp{++2w}.} 7998 @r{at the prompt, for example @samp{++8d} or @samp{++2w}.}
7999S @r{Reschedule randomly by N days. N will be prompted for. With prefix}
8000 @r{arg (@kbd{C-u B S}), scatter only accross weekdays.}
7940d @r{Set deadline to a specific date.} 8001d @r{Set deadline to a specific date.}
7941@end example 8002@end example
7942 8003
7943 8004
7944@tsubheading{Calendar commands} 8005@tsubheading{Calendar commands}
7945@cindex calendar commands, from agenda 8006@cindex calendar commands, from agenda
7946@kindex c 8007
7947@item c 8008@orgcmd{c,org-agenda-goto-calendar}
7948Open the Emacs calendar and move to the date at the agenda cursor. 8009Open the Emacs calendar and move to the date at the agenda cursor.
7949@c 8010@c
7950@item c 8011@orgcmd{c,org-calendar-goto-agenda}
7951When in the calendar, compute and show the Org-mode agenda for the 8012When in the calendar, compute and show the Org-mode agenda for the
7952date at the cursor. 8013date at the cursor.
7953@c 8014@c
7954@cindex diary entries, creating from agenda 8015@cindex diary entries, creating from agenda
7955@kindex i 8016@orgcmd{i,org-agenda-diary-entry}
7956@item i
7957@vindex org-agenda-diary-file 8017@vindex org-agenda-diary-file
7958Insert a new entry into the diary, using the date at the cursor and (for 8018Insert a new entry into the diary, using the date at the cursor and (for
7959block entries) the date at the mark. This will add to the Emacs diary 8019block entries) the date at the mark. This will add to the Emacs diary
@@ -7967,28 +8027,24 @@ Org will create entries (in org-mode syntax) in that file instead. Most
7967entries will be stored in a date-based outline tree that will later make it 8027entries will be stored in a date-based outline tree that will later make it
7968easy to archive appointments from previous months/years. The tree will be 8028easy to archive appointments from previous months/years. The tree will be
7969built under an entry with a @code{DATE_TREE} property, or else with years as 8029built under an entry with a @code{DATE_TREE} property, or else with years as
7970top-level entries. Emacs will prompt you for the entry text - if you specify 8030top-level entries. Emacs will prompt you for the entry text---if you specify
7971it, the entry will be created in @code{org-agenda-diary-file} without further 8031it, the entry will be created in @code{org-agenda-diary-file} without further
7972interaction. If you directly press @key{RET} at the prompt without typing 8032interaction. If you directly press @key{RET} at the prompt without typing
7973text, the target file will be shown in another window for you to finish the 8033text, the target file will be shown in another window for you to finish the
7974entry there. See also the @kbd{k r} command. 8034entry there. See also the @kbd{k r} command.
7975@c 8035@c
7976@kindex M 8036@orgcmd{M,org-agenda-phases-of-moon}
7977@item M
7978Show the phases of the moon for the three months around current date. 8037Show the phases of the moon for the three months around current date.
7979@c 8038@c
7980@kindex S 8039@orgcmd{S,org-agenda-sunrise-sunset}
7981@item S
7982Show sunrise and sunset times. The geographical location must be set 8040Show sunrise and sunset times. The geographical location must be set
7983with calendar variables, see the documentation for the Emacs calendar. 8041with calendar variables, see the documentation for the Emacs calendar.
7984@c 8042@c
7985@kindex C 8043@orgcmd{C,org-agenda-convert-date}
7986@item C
7987Convert the date at cursor into many other cultural and historic 8044Convert the date at cursor into many other cultural and historic
7988calendars. 8045calendars.
7989@c 8046@c
7990@kindex H 8047@orgcmd{H,org-agenda-holidays}
7991@item H
7992Show holidays for three months around the cursor date. 8048Show holidays for three months around the cursor date.
7993 8049
7994@item M-x org-export-icalendar-combine-agenda-files 8050@item M-x org-export-icalendar-combine-agenda-files
@@ -7996,8 +8052,7 @@ Export a single iCalendar file containing entries from all agenda files.
7996This is a globally available command, and also available in the agenda menu. 8052This is a globally available command, and also available in the agenda menu.
7997 8053
7998@tsubheading{Exporting to a file} 8054@tsubheading{Exporting to a file}
7999@kindex C-x C-w 8055@orgcmd{C-x C-w,org-write-agenda}
8000@item C-x C-w
8001@cindex exporting agenda views 8056@cindex exporting agenda views
8002@cindex agenda views, exporting 8057@cindex agenda views, exporting
8003@vindex org-agenda-exporter-settings 8058@vindex org-agenda-exporter-settings
@@ -8010,13 +8065,11 @@ argument, immediately open the newly created file. Use the variable
8010for @file{htmlize} to be used during export. 8065for @file{htmlize} to be used during export.
8011 8066
8012@tsubheading{Quit and Exit} 8067@tsubheading{Quit and Exit}
8013@kindex q 8068@orgcmd{q,org-agenda-quit}
8014@item q
8015Quit agenda, remove the agenda buffer. 8069Quit agenda, remove the agenda buffer.
8016@c 8070@c
8017@kindex x
8018@cindex agenda files, removing buffers 8071@cindex agenda files, removing buffers
8019@item x 8072@orgcmd{x,org-agenda-exit}
8020Exit agenda, remove the agenda buffer and all buffers loaded by Emacs 8073Exit agenda, remove the agenda buffer and all buffers loaded by Emacs
8021for the compilation of the agenda. Buffers created by the user to 8074for the compilation of the agenda. Buffers created by the user to
8022visit Org files will not be removed. 8075visit Org files will not be removed.
@@ -8182,7 +8235,7 @@ For command sets creating a block agenda,
8182@code{org-agenda-custom-commands} has two separate spots for setting 8235@code{org-agenda-custom-commands} has two separate spots for setting
8183options. You can add options that should be valid for just a single 8236options. You can add options that should be valid for just a single
8184command in the set, and options that should be valid for all commands in 8237command in the set, and options that should be valid for all commands in
8185the set. The former are just added to the command entry, the latter 8238the set. The former are just added to the command entry; the latter
8186must come after the list of command entries. Going back to the block 8239must come after the list of command entries. Going back to the block
8187agenda example (@pxref{Block agenda}), let's change the sorting strategy 8240agenda example (@pxref{Block agenda}), let's change the sorting strategy
8188for the @kbd{C-c a h} commands to @code{priority-down}, but let's sort 8241for the @kbd{C-c a h} commands to @code{priority-down}, but let's sort
@@ -8226,8 +8279,7 @@ a PDF file with also create the postscript file.}, and iCalendar files. If
8226you want to do this only occasionally, use the command 8279you want to do this only occasionally, use the command
8227 8280
8228@table @kbd 8281@table @kbd
8229@kindex C-x C-w 8282@orgcmd{C-x C-w,org-write-agenda}
8230@item C-x C-w
8231@cindex exporting agenda views 8283@cindex exporting agenda views
8232@cindex agenda views, exporting 8284@cindex agenda views, exporting
8233@vindex org-agenda-exporter-settings 8285@vindex org-agenda-exporter-settings
@@ -8297,8 +8349,7 @@ Instead, there is a special command to produce @emph{all} specified
8297files in one step: 8349files in one step:
8298 8350
8299@table @kbd 8351@table @kbd
8300@kindex C-c a e 8352@orgcmd{C-c a e,org-store-agenda-views}
8301@item C-c a e
8302Export all agenda views that have export file names associated with 8353Export all agenda views that have export file names associated with
8303them. 8354them.
8304@end table 8355@end table
@@ -8338,7 +8389,7 @@ or, if you need to modify some parameters@footnote{Quoting depends on the
8338system you use, please check the FAQ for examples.} 8389system you use, please check the FAQ for examples.}
8339@example 8390@example
8340emacs -eval '(org-batch-store-agenda-views \ 8391emacs -eval '(org-batch-store-agenda-views \
8341 org-agenda-ndays 30 \ 8392 org-agenda-span month \
8342 org-agenda-start-day "2007-11-01" \ 8393 org-agenda-start-day "2007-11-01" \
8343 org-agenda-include-diary nil \ 8394 org-agenda-include-diary nil \
8344 org-agenda-files (quote ("~/org/project.org")))' \ 8395 org-agenda-files (quote ("~/org/project.org")))' \
@@ -8365,8 +8416,7 @@ quite useful to use column view also from the agenda, where entries are
8365collected by certain criteria. 8416collected by certain criteria.
8366 8417
8367@table @kbd 8418@table @kbd
8368@kindex C-c C-x C-c 8419@orgcmd{C-c C-x C-c,org-agenda-columns}
8369@item C-c C-x C-c
8370Turn on column view in the agenda. 8420Turn on column view in the agenda.
8371@end table 8421@end table
8372 8422
@@ -8393,7 +8443,7 @@ turning on column view in the agenda will visit all relevant agenda files and
8393make sure that the computations of this property are up to date. This is 8443make sure that the computations of this property are up to date. This is
8394also true for the special @code{CLOCKSUM} property. Org will then sum the 8444also true for the special @code{CLOCKSUM} property. Org will then sum the
8395values displayed in the agenda. In the daily/weekly agenda, the sums will 8445values displayed in the agenda. In the daily/weekly agenda, the sums will
8396cover a single day, in all other views they cover the entire block. It is 8446cover a single day; in all other views they cover the entire block. It is
8397vital to realize that the agenda may show the same entry @emph{twice} (for 8447vital to realize that the agenda may show the same entry @emph{twice} (for
8398example as scheduled and as a deadline), and it may show two entries from the 8448example as scheduled and as a deadline), and it may show two entries from the
8399same hierarchy (for example a @emph{parent} and its @emph{child}). In these 8449same hierarchy (for example a @emph{parent} and its @emph{child}). In these
@@ -8416,7 +8466,7 @@ the agenda).
8416 8466
8417When exporting Org-mode documents, the exporter tries to reflect the 8467When exporting Org-mode documents, the exporter tries to reflect the
8418structure of the document as accurately as possible in the backend. Since 8468structure of the document as accurately as possible in the backend. Since
8419export targets like HTML, La@TeX{}, or DocBook allow much richer formatting, 8469export targets like HTML, @LaTeX{}, or DocBook allow much richer formatting,
8420Org-mode has rules on how to prepare text for rich export. This section 8470Org-mode has rules on how to prepare text for rich export. This section
8421summarizes the markup rules used in an Org-mode buffer. 8471summarizes the markup rules used in an Org-mode buffer.
8422 8472
@@ -8512,7 +8562,7 @@ the table of contents entirely, by configuring the variable
8512 8562
8513Org-mode normally exports the text before the first headline, and even uses 8563Org-mode normally exports the text before the first headline, and even uses
8514the first line as the document title. The text will be fully marked up. If 8564the first line as the document title. The text will be fully marked up. If
8515you need to include literal HTML, La@TeX{}, or DocBook code, use the special 8565you need to include literal HTML, @LaTeX{}, or DocBook code, use the special
8516constructs described below in the sections for the individual exporters. 8566constructs described below in the sections for the individual exporters.
8517 8567
8518@vindex org-export-skip-text-before-1st-heading 8568@vindex org-export-skip-text-before-1st-heading
@@ -8605,7 +8655,7 @@ different backends support this to varying degrees.
8605You can make words @b{*bold*}, @i{/italic/}, _underlined_, @code{=code=} 8655You can make words @b{*bold*}, @i{/italic/}, _underlined_, @code{=code=}
8606and @code{~verbatim~}, and, if you must, @samp{+strike-through+}. Text 8656and @code{~verbatim~}, and, if you must, @samp{+strike-through+}. Text
8607in the code and verbatim string is not processed for Org-mode specific 8657in the code and verbatim string is not processed for Org-mode specific
8608syntax, it is exported verbatim. 8658syntax; it is exported verbatim.
8609 8659
8610@node Horizontal rules, Comment lines, Emphasis and monospace, Structural markup elements 8660@node Horizontal rules, Comment lines, Emphasis and monospace, Structural markup elements
8611@subheading Horizontal rules 8661@subheading Horizontal rules
@@ -8653,7 +8703,7 @@ the object with @code{\ref@{tab:basic-data@}}:
8653@end example 8703@end example
8654 8704
8655@cindex inlined images, markup rules 8705@cindex inlined images, markup rules
8656Some backends (HTML, La@TeX{}, and DocBook) allow you to directly include 8706Some backends (HTML, @LaTeX{}, and DocBook) allow you to directly include
8657images into the exported document. Org does this, if a link to an image 8707images into the exported document. Org does this, if a link to an image
8658files does not have a description part, for example @code{[[./img/a.jpg]]}. 8708files does not have a description part, for example @code{[[./img/a.jpg]]}.
8659If you wish to define a caption for the image and maybe a label for internal 8709If you wish to define a caption for the image and maybe a label for internal
@@ -8704,7 +8754,7 @@ If the example is source code from a programming language, or any other text
8704that can be marked up by font-lock in Emacs, you can ask for the example to 8754that can be marked up by font-lock in Emacs, you can ask for the example to
8705look like the fontified Emacs buffer@footnote{This works automatically for 8755look like the fontified Emacs buffer@footnote{This works automatically for
8706the HTML backend (it requires version 1.34 of the @file{htmlize.el} package, 8756the HTML backend (it requires version 1.34 of the @file{htmlize.el} package,
8707which is distributed with Org.) Fontified code chunks in LaTeX can be 8757which is distributed with Org). Fontified code chunks in LaTeX can be
8708achieved using either the listings or the 8758achieved using either the listings or the
8709@url{http://code.google.com/p/minted, minted,} package. To use listings, turn 8759@url{http://code.google.com/p/minted, minted,} package. To use listings, turn
8710on the variable @code{org-export-latex-listings} and ensure that the listings 8760on the variable @code{org-export-latex-listings} and ensure that the listings
@@ -8773,7 +8823,7 @@ switching to a temporary buffer with the source code. You need to exit by
8773pressing @kbd{C-c '} again@footnote{Upon exit, lines starting with @samp{*} 8823pressing @kbd{C-c '} again@footnote{Upon exit, lines starting with @samp{*}
8774or @samp{#} will get a comma prepended, to keep them from being interpreted 8824or @samp{#} will get a comma prepended, to keep them from being interpreted
8775by Org as outline nodes or special comments. These commas will be stripped 8825by Org as outline nodes or special comments. These commas will be stripped
8776for editing with @kbd{C-c '}, and also for export.}, the edited version will 8826for editing with @kbd{C-c '}, and also for export.}. The edited version will
8777then replace the old version in the Org buffer. Fixed-width regions 8827then replace the old version in the Org buffer. Fixed-width regions
8778(where each line starts with a colon followed by a space) will be edited 8828(where each line starts with a colon followed by a space) will be edited
8779using @code{artist-mode}@footnote{You may select a different-mode with the 8829using @code{artist-mode}@footnote{You may select a different-mode with the
@@ -8783,7 +8833,7 @@ fixed-width region.
8783@kindex C-c l 8833@kindex C-c l
8784@item C-c l 8834@item C-c l
8785Calling @code{org-store-link} while editing a source code example in a 8835Calling @code{org-store-link} while editing a source code example in a
8786temporary buffer created with @kbd{C-c '} will prompt for a label, make sure 8836temporary buffer created with @kbd{C-c '} will prompt for a label. Make sure
8787that it is unique in the current buffer, and insert it with the proper 8837that it is unique in the current buffer, and insert it with the proper
8788formatting like @samp{(ref:label)} at the end of the current line. Then the 8838formatting like @samp{(ref:label)} at the end of the current line. Then the
8789label is stored as a link @samp{(label)}, for retrieval with @kbd{C-c C-l}. 8839label is stored as a link @samp{(label)}, for retrieval with @kbd{C-c C-l}.
@@ -8804,12 +8854,14 @@ include your @file{.emacs} file, you could use:
8804@noindent 8854@noindent
8805The optional second and third parameter are the markup (e.g. @samp{quote}, 8855The optional second and third parameter are the markup (e.g. @samp{quote},
8806@samp{example}, or @samp{src}), and, if the markup is @samp{src}, the 8856@samp{example}, or @samp{src}), and, if the markup is @samp{src}, the
8807language for formatting the contents. The markup is optional, if it is not 8857language for formatting the contents. The markup is optional; if it is not
8808given, the text will be assumed to be in Org-mode format and will be 8858given, the text will be assumed to be in Org-mode format and will be
8809processed normally. The include line will also allow additional keyword 8859processed normally. The include line will also allow additional keyword
8810parameters @code{:prefix1} and @code{:prefix} to specify prefixes for the 8860parameters @code{:prefix1} and @code{:prefix} to specify prefixes for the
8811first line and for each following line, as well as any options accepted by 8861first line and for each following line, @code{:minlevel} in order to get
8812the selected markup. For example, to include a file as an item, use 8862org-mode content demoted to a specified level, as well as any options
8863accepted by the selected markup. For example, to include a file as an item,
8864use
8813 8865
8814@example 8866@example
8815#+INCLUDE: "~/snippets/xx" :prefix1 " + " :prefix " " 8867#+INCLUDE: "~/snippets/xx" :prefix1 " + " :prefix " "
@@ -8865,20 +8917,19 @@ construct complex HTML code.
8865 8917
8866 8918
8867@node Embedded LaTeX, , Macro replacement, Markup 8919@node Embedded LaTeX, , Macro replacement, Markup
8868@section Embedded La@TeX{} 8920@section Embedded @LaTeX{}
8869@cindex @TeX{} interpretation 8921@cindex @TeX{} interpretation
8870@cindex La@TeX{} interpretation 8922@cindex @LaTeX{} interpretation
8871 8923
8872Plain ASCII is normally sufficient for almost all note taking. One 8924Plain ASCII is normally sufficient for almost all note taking. Exceptions
8873exception, however, are scientific notes which need to be able to contain 8925include scientific notes, which often require mathematical symbols and the
8874mathematical symbols and the occasional formula. La@TeX{}@footnote{La@TeX{} 8926occasional formula. @LaTeX{}@footnote{@LaTeX{} is a macro system based on
8875is a macro system based on Donald E. Knuth's @TeX{} system. Many of the 8927Donald E. Knuth's @TeX{} system. Many of the features described here as
8876features described here as ``La@TeX{}'' are really from @TeX{}, but for 8928``@LaTeX{}'' are really from @TeX{}, but for simplicity I am blurring this
8877simplicity I am blurring this distinction.} is widely used to typeset 8929distinction.} is widely used to typeset scientific documents. Org-mode
8878scientific documents. Org-mode supports embedding La@TeX{} code into its 8930supports embedding @LaTeX{} code into its files, because many academics are
8879files, because many academics are used to writing and reading La@TeX{} source 8931used to writing and reading @LaTeX{} source code, and because it can be
8880code, and because it can be readily processed to produce pretty output for a 8932readily processed to produce pretty output for a number of export backends.
8881number of export backends.
8882 8933
8883@menu 8934@menu
8884* Special symbols:: Greek letters and other symbols 8935* Special symbols:: Greek letters and other symbols
@@ -8893,14 +8944,14 @@ number of export backends.
8893@cindex math symbols 8944@cindex math symbols
8894@cindex special symbols 8945@cindex special symbols
8895@cindex @TeX{} macros 8946@cindex @TeX{} macros
8896@cindex La@TeX{} fragments, markup rules 8947@cindex @LaTeX{} fragments, markup rules
8897@cindex HTML entities 8948@cindex HTML entities
8898@cindex La@TeX{} entities 8949@cindex @LaTeX{} entities
8899 8950
8900You can use La@TeX{} macros to insert special symbols like @samp{\alpha} to 8951You can use @LaTeX{} macros to insert special symbols like @samp{\alpha} to
8901indicate the Greek letter, or @samp{\to} to indicate an arrow. Completion 8952indicate the Greek letter, or @samp{\to} to indicate an arrow. Completion
8902for these macros is available, just type @samp{\} and maybe a few letters, 8953for these macros is available, just type @samp{\} and maybe a few letters,
8903and press @kbd{M-@key{TAB}} to see possible completions. Unlike La@TeX{} 8954and press @kbd{M-@key{TAB}} to see possible completions. Unlike @LaTeX{}
8904code, Org-mode allows these macros to be present without surrounding math 8955code, Org-mode allows these macros to be present without surrounding math
8905delimiters, for example: 8956delimiters, for example:
8906 8957
@@ -8911,13 +8962,13 @@ Angles are written as Greek letters \alpha, \beta and \gamma.
8911@vindex org-entities 8962@vindex org-entities
8912During export, these symbols will be transformed into the native format of 8963During export, these symbols will be transformed into the native format of
8913the exporter backend. Strings like @code{\alpha} will be exported as 8964the exporter backend. Strings like @code{\alpha} will be exported as
8914@code{&alpha;} in the HTML output, and as @code{$\alpha$} in the La@TeX{} 8965@code{&alpha;} in the HTML output, and as @code{$\alpha$} in the @LaTeX{}
8915output. Similarly, @code{\nbsp} will become @code{&nbsp;} in HTML and 8966output. Similarly, @code{\nbsp} will become @code{&nbsp;} in HTML and
8916@code{~} in La@TeX{}. If you need such a symbol inside a word, terminate it 8967@code{~} in @LaTeX{}. If you need such a symbol inside a word, terminate it
8917like this: @samp{\Aacute@{@}stor}. 8968like this: @samp{\Aacute@{@}stor}.
8918 8969
8919A large number of entities is provided, with names taken from both HTML and 8970A large number of entities is provided, with names taken from both HTML and
8920La@TeX{}, see the variable @code{org-entities} for the complete list. 8971@LaTeX{}; see the variable @code{org-entities} for the complete list.
8921@samp{\-} is treated as a shy hyphen, and @samp{--}, @samp{---}, and 8972@samp{\-} is treated as a shy hyphen, and @samp{--}, @samp{---}, and
8922@samp{...} are all converted into special commands creating hyphens of 8973@samp{...} are all converted into special commands creating hyphens of
8923different lengths or a compact set of dots. 8974different lengths or a compact set of dots.
@@ -8930,8 +8981,8 @@ variable @code{org-pretty-entities}, or on a per-file base with the
8930@table @kbd 8981@table @kbd
8931@kindex C-c C-x \ 8982@kindex C-c C-x \
8932@item C-c C-x \ 8983@item C-c C-x \
8933Toggle display of entities as UTF8 characters. This does not change the 8984Toggle display of entities as UTF-8 characters. This does not change the
8934buffer content which remains plain ASCII, but it overlays the UTF8 character 8985buffer content which remains plain ASCII, but it overlays the UTF-8 character
8935for display purposes only. 8986for display purposes only.
8936@end table 8987@end table
8937 8988
@@ -8940,14 +8991,14 @@ for display purposes only.
8940@cindex subscript 8991@cindex subscript
8941@cindex superscript 8992@cindex superscript
8942 8993
8943Just like in La@TeX{}, @samp{^} and @samp{_} are used to indicate super- 8994Just like in @LaTeX{}, @samp{^} and @samp{_} are used to indicate super-
8944and subscripts. Again, these can be used without embedding them in 8995and subscripts. Again, these can be used without embedding them in
8945math-mode delimiters. To increase the readability of ASCII text, it is 8996math-mode delimiters. To increase the readability of ASCII text, it is
8946not necessary (but OK) to surround multi-character sub- and superscripts 8997not necessary (but OK) to surround multi-character sub- and superscripts
8947with curly braces. For example 8998with curly braces. For example
8948 8999
8949@example 9000@example
8950The mass if the sun is M_sun = 1.989 x 10^30 kg. The radius of 9001The mass of the sun is M_sun = 1.989 x 10^30 kg. The radius of
8951the sun is R_@{sun@} = 6.96 x 10^8 m. 9002the sun is R_@{sun@} = 6.96 x 10^8 m.
8952@end example 9003@end example
8953 9004
@@ -8969,42 +9020,43 @@ subscript, but @samp{a_@{b@}} will.
8969@table @kbd 9020@table @kbd
8970@kindex C-c C-x \ 9021@kindex C-c C-x \
8971@item C-c C-x \ 9022@item C-c C-x \
8972In addition to showing entities as UTF8 characters, this command will also 9023In addition to showing entities as UTF-8 characters, this command will also
8973format sub- and superscripts in a WYSIWYM way. 9024format sub- and superscripts in a WYSIWYM way.
8974@end table 9025@end table
8975 9026
8976@node LaTeX fragments, Previewing LaTeX fragments, Subscripts and superscripts, Embedded LaTeX 9027@node LaTeX fragments, Previewing LaTeX fragments, Subscripts and superscripts, Embedded LaTeX
8977@subsection La@TeX{} fragments 9028@subsection @LaTeX{} fragments
8978@cindex La@TeX{} fragments 9029@cindex @LaTeX{} fragments
8979 9030
8980@vindex org-format-latex-header 9031@vindex org-format-latex-header
8981Going beyond symbols and sub- and superscripts, a full formula language is 9032Going beyond symbols and sub- and superscripts, a full formula language is
8982needed. Org-mode can contain La@TeX{} math fragments, and it supports ways 9033needed. Org-mode can contain @LaTeX{} math fragments, and it supports ways
8983to process these for several export backends. When exporting to La@TeX{}, 9034to process these for several export backends. When exporting to @LaTeX{},
8984the code is obviously left as it is. When exporting to HTML, Org invokes the 9035the code is obviously left as it is. When exporting to HTML, Org invokes the
8985@uref{http://www.mathjax.org, MathJax library} (@pxref{Math formatting in 9036@uref{http://www.mathjax.org, MathJax library} (@pxref{Math formatting in
8986HTML export}) to process and display the math@footnote{If you plan to use 9037HTML export}) to process and display the math@footnote{If you plan to use
8987this regularly or on pages with significant page views, you should install 9038this regularly or on pages with significant page views, you should install
8988@file{MathJax} on your own server in order to limit the load of our server.}. 9039@file{MathJax} on your own
8989Finally, it can also process the mathematical expressions into 9040server in order to limit the load of our server.}. Finally, it can also
8990images@footnote{For this to work you need to be on a system with a working 9041process the mathematical expressions into images@footnote{For this to work
8991La@TeX{} installation. You also need the @file{dvipng} program, available at 9042you need to be on a system with a working @LaTeX{} installation. You also
8992@url{http://sourceforge.net/projects/dvipng/}. The La@TeX{} header that will 9043need the @file{dvipng} program, available at
9044@url{http://sourceforge.net/projects/dvipng/}. The @LaTeX{} header that will
8993be used when processing a fragment can be configured with the variable 9045be used when processing a fragment can be configured with the variable
8994@code{org-format-latex-header}.} that can be displayed in a browser or in 9046@code{org-format-latex-header}.} that can be displayed in a browser or in
8995DocBook documents. 9047DocBook documents.
8996 9048
8997La@TeX{} fragments don't need any special marking at all. The following 9049@LaTeX{} fragments don't need any special marking at all. The following
8998snippets will be identified as La@TeX{} source code: 9050snippets will be identified as @LaTeX{} source code:
8999@itemize @bullet 9051@itemize @bullet
9000@item 9052@item
9001Environments of any kind@footnote{When @file{MathJax} is used, only the 9053Environments of any kind@footnote{When @file{MathJax} is used, only the
9002environment recognized by @file{MathJax} will be processed. When dvipng is 9054environment recognized by @file{MathJax} will be processed. When
9003used to create images, any La@TeX{} environments will be handled.}. The only 9055@file{dvipng} is used to create images, any @LaTeX{} environments will be
9004requirement is that the @code{\begin} statement appears on a new line, 9056handled.}. The only requirement is that the @code{\begin} statement appears
9005preceded by only whitespace. 9057on a new line, preceded by only whitespace.
9006@item 9058@item
9007Text within the usual La@TeX{} math delimiters. To avoid conflicts with 9059Text within the usual @LaTeX{} math delimiters. To avoid conflicts with
9008currency specifications, single @samp{$} characters are only recognized as 9060currency specifications, single @samp{$} characters are only recognized as
9009math delimiters if the enclosed text contains at most two line breaks, is 9061math delimiters if the enclosed text contains at most two line breaks, is
9010directly attached to the @samp{$} characters with no whitespace in between, 9062directly attached to the @samp{$} characters with no whitespace in between,
@@ -9028,7 +9080,7 @@ either $$ a=+\sqrt@{2@} $$ or \[ a=-\sqrt@{2@} \].
9028@vindex org-format-latex-options 9080@vindex org-format-latex-options
9029If you need any of the delimiter ASCII sequences for other purposes, you 9081If you need any of the delimiter ASCII sequences for other purposes, you
9030can configure the option @code{org-format-latex-options} to deselect the 9082can configure the option @code{org-format-latex-options} to deselect the
9031ones you do not wish to have interpreted by the La@TeX{} converter. 9083ones you do not wish to have interpreted by the @LaTeX{} converter.
9032 9084
9033@vindex org-export-with-LaTeX-fragments 9085@vindex org-export-with-LaTeX-fragments
9034LaTeX processing can be configured with the variable 9086LaTeX processing can be configured with the variable
@@ -9040,7 +9092,7 @@ of these lines:
9040@example 9092@example
9041#+OPTIONS: LaTeX:t @r{Do the right thing automatically (MathJax)} 9093#+OPTIONS: LaTeX:t @r{Do the right thing automatically (MathJax)}
9042#+OPTIONS: LaTeX:dvipng @r{Force using dvipng images} 9094#+OPTIONS: LaTeX:dvipng @r{Force using dvipng images}
9043#+OPTIONS: LaTeX:nil @r{Do not process La@TeX{} fragments at all} 9095#+OPTIONS: LaTeX:nil @r{Do not process @LaTeX{} fragments at all}
9044#+OPTIONS: LaTeX:verbatim @r{Verbatim export, for jsMath or so} 9096#+OPTIONS: LaTeX:verbatim @r{Verbatim export, for jsMath or so}
9045@end example 9097@end example
9046 9098
@@ -9048,13 +9100,13 @@ of these lines:
9048@subsection Previewing LaTeX fragments 9100@subsection Previewing LaTeX fragments
9049@cindex LaTeX fragments, preview 9101@cindex LaTeX fragments, preview
9050 9102
9051If you have @file{dvipng} installed, La@TeX{} fragments can be processed to 9103If you have @file{dvipng} installed, @LaTeX{} fragments can be processed to
9052produce preview images of the typeset expressions: 9104produce preview images of the typeset expressions:
9053 9105
9054@table @kbd 9106@table @kbd
9055@kindex C-c C-x C-l 9107@kindex C-c C-x C-l
9056@item C-c C-x C-l 9108@item C-c C-x C-l
9057Produce a preview image of the La@TeX{} fragment at point and overlay it 9109Produce a preview image of the @LaTeX{} fragment at point and overlay it
9058over the source code. If there is no fragment at point, process all 9110over the source code. If there is no fragment at point, process all
9059fragments in the current entry (between two headlines). When called 9111fragments in the current entry (between two headlines). When called
9060with a prefix argument, process the entire subtree. When called with 9112with a prefix argument, process the entire subtree. When called with
@@ -9076,7 +9128,7 @@ preview images.
9076@cindex CDLa@TeX{} 9128@cindex CDLa@TeX{}
9077 9129
9078CDLa@TeX{} mode is a minor mode that is normally used in combination with a 9130CDLa@TeX{} mode is a minor mode that is normally used in combination with a
9079major La@TeX{} mode like AUC@TeX{} in order to speed-up insertion of 9131major @LaTeX{} mode like AUC@TeX{} in order to speed-up insertion of
9080environments and math templates. Inside Org-mode, you can make use of 9132environments and math templates. Inside Org-mode, you can make use of
9081some of the features of CDLa@TeX{} mode. You need to install 9133some of the features of CDLa@TeX{} mode. You need to install
9082@file{cdlatex.el} and @file{texmathp.el} (the latter comes also with 9134@file{cdlatex.el} and @file{texmathp.el} (the latter comes also with
@@ -9099,7 +9151,7 @@ Environment templates can be inserted with @kbd{C-c @{}.
9099@item 9151@item
9100@kindex @key{TAB} 9152@kindex @key{TAB}
9101The @key{TAB} key will do template expansion if the cursor is inside a 9153The @key{TAB} key will do template expansion if the cursor is inside a
9102La@TeX{} fragment@footnote{Org-mode has a method to test if the cursor is 9154@LaTeX{} fragment@footnote{Org-mode has a method to test if the cursor is
9103inside such a fragment, see the documentation of the function 9155inside such a fragment, see the documentation of the function
9104@code{org-inside-LaTeX-fragment-p}.}. For example, @key{TAB} will 9156@code{org-inside-LaTeX-fragment-p}.}. For example, @key{TAB} will
9105expand @code{fr} to @code{\frac@{@}@{@}} and position the cursor 9157expand @code{fr} to @code{\frac@{@}@{@}} and position the cursor
@@ -9113,7 +9165,7 @@ To get a list of all abbreviations, type @kbd{M-x cdlatex-command-help}.
9113@kindex _ 9165@kindex _
9114@kindex ^ 9166@kindex ^
9115@vindex cdlatex-simplify-sub-super-scripts 9167@vindex cdlatex-simplify-sub-super-scripts
9116Pressing @kbd{_} and @kbd{^} inside a La@TeX{} fragment will insert these 9168Pressing @kbd{_} and @kbd{^} inside a @LaTeX{} fragment will insert these
9117characters together with a pair of braces. If you use @key{TAB} to move 9169characters together with a pair of braces. If you use @key{TAB} to move
9118out of the braces, and if the braces surround only a single character or 9170out of the braces, and if the braces surround only a single character or
9119macro, they are removed again (depending on the variable 9171macro, they are removed again (depending on the variable
@@ -9121,14 +9173,14 @@ macro, they are removed again (depending on the variable
9121@item 9173@item
9122@kindex ` 9174@kindex `
9123Pressing the backquote @kbd{`} followed by a character inserts math 9175Pressing the backquote @kbd{`} followed by a character inserts math
9124macros, also outside La@TeX{} fragments. If you wait more than 1.5 seconds 9176macros, also outside @LaTeX{} fragments. If you wait more than 1.5 seconds
9125after the backquote, a help window will pop up. 9177after the backquote, a help window will pop up.
9126@item 9178@item
9127@kindex ' 9179@kindex '
9128Pressing the single-quote @kbd{'} followed by another character modifies 9180Pressing the single-quote @kbd{'} followed by another character modifies
9129the symbol before point with an accent or a font. If you wait more than 9181the symbol before point with an accent or a font. If you wait more than
91301.5 seconds after the backquote, a help window will pop up. Character 91821.5 seconds after the single-quote, a help window will pop up. Character
9131modification will work only inside La@TeX{} fragments, outside the quote 9183modification will work only inside @LaTeX{} fragments; outside the quote
9132is normal. 9184is normal.
9133@end itemize 9185@end itemize
9134 9186
@@ -9140,8 +9192,8 @@ Org-mode documents can be exported into a variety of other formats. For
9140printing and sharing of notes, ASCII export produces a readable and simple 9192printing and sharing of notes, ASCII export produces a readable and simple
9141version of an Org file. HTML export allows you to publish a notes file on 9193version of an Org file. HTML export allows you to publish a notes file on
9142the web, while the XOXO format provides a solid base for exchange with a 9194the web, while the XOXO format provides a solid base for exchange with a
9143broad range of other applications. La@TeX{} export lets you use Org-mode and 9195broad range of other applications. @LaTeX{} export lets you use Org-mode and
9144its structured editing functions to easily create La@TeX{} files. DocBook 9196its structured editing functions to easily create @LaTeX{} files. DocBook
9145export makes it possible to convert Org files to many other formats using 9197export makes it possible to convert Org files to many other formats using
9146DocBook tools. For project management you can create gantt and resource 9198DocBook tools. For project management you can create gantt and resource
9147charts by using TaskJuggler export. To incorporate entries with associated 9199charts by using TaskJuggler export. To incorporate entries with associated
@@ -9158,7 +9210,7 @@ enabled (default in Emacs 23).
9158* The export dispatcher:: How to access exporter commands 9210* The export dispatcher:: How to access exporter commands
9159* ASCII/Latin-1/UTF-8 export:: Exporting to flat files with encoding 9211* ASCII/Latin-1/UTF-8 export:: Exporting to flat files with encoding
9160* HTML export:: Exporting to HTML 9212* HTML export:: Exporting to HTML
9161* LaTeX and PDF export:: Exporting to La@TeX{}, and processing to PDF 9213* LaTeX and PDF export:: Exporting to @LaTeX{}, and processing to PDF
9162* DocBook export:: Exporting to DocBook 9214* DocBook export:: Exporting to DocBook
9163* TaskJuggler export:: Exporting to TaskJuggler 9215* TaskJuggler export:: Exporting to TaskJuggler
9164* Freemind export:: Exporting to Freemind mind maps 9216* Freemind export:: Exporting to Freemind mind maps
@@ -9205,8 +9257,7 @@ In particular, note that you can place commonly-used (export) options in
9205a separate file which can be included using @code{#+SETUPFILE}. 9257a separate file which can be included using @code{#+SETUPFILE}.
9206 9258
9207@table @kbd 9259@table @kbd
9208@kindex C-c C-e t 9260@orgcmd{C-c C-e t,org-insert-export-options-template}
9209@item C-c C-e t
9210Insert template with export options, see example below. 9261Insert template with export options, see example below.
9211@end table 9262@end table
9212 9263
@@ -9232,7 +9283,7 @@ Insert template with export options, see example below.
9232@example 9283@example
9233#+TITLE: the title to be shown (default is the buffer name) 9284#+TITLE: the title to be shown (default is the buffer name)
9234#+AUTHOR: the author (default taken from @code{user-full-name}) 9285#+AUTHOR: the author (default taken from @code{user-full-name})
9235#+DATE: a date, fixed, of a format string for @code{format-time-string} 9286#+DATE: a date, fixed, or a format string for @code{format-time-string}
9236#+EMAIL: his/her email address (default from @code{user-mail-address}) 9287#+EMAIL: his/her email address (default from @code{user-mail-address})
9237#+DESCRIPTION: the page description, e.g. for the XHTML meta tag 9288#+DESCRIPTION: the page description, e.g. for the XHTML meta tag
9238#+KEYWORDS: the page keywords, e.g. for the XHTML meta tag 9289#+KEYWORDS: the page keywords, e.g. for the XHTML meta tag
@@ -9252,8 +9303,8 @@ Insert template with export options, see example below.
9252 9303
9253@noindent 9304@noindent
9254The OPTIONS line is a compact@footnote{If you want to configure many options 9305The OPTIONS line is a compact@footnote{If you want to configure many options
9255this way, you can use several OPTIONS lines.} form to specify export settings. Here 9306this way, you can use several OPTIONS lines.} form to specify export
9256you can: 9307settings. Here you can:
9257@cindex headline levels 9308@cindex headline levels
9258@cindex section-numbers 9309@cindex section-numbers
9259@cindex table of contents 9310@cindex table of contents
@@ -9266,7 +9317,7 @@ you can:
9266@cindex special strings 9317@cindex special strings
9267@cindex emphasized text 9318@cindex emphasized text
9268@cindex @TeX{} macros 9319@cindex @TeX{} macros
9269@cindex La@TeX{} fragments 9320@cindex @LaTeX{} fragments
9270@cindex author info, in export 9321@cindex author info, in export
9271@cindex time info, in export 9322@cindex time info, in export
9272@example 9323@example
@@ -9288,7 +9339,7 @@ tags: @r{turn on/off inclusion of tags, may also be @code{not-in-toc}}
9288<: @r{turn on/off inclusion of any time/date stamps like DEADLINES} 9339<: @r{turn on/off inclusion of any time/date stamps like DEADLINES}
9289*: @r{turn on/off emphasized text (bold, italic, underlined)} 9340*: @r{turn on/off emphasized text (bold, italic, underlined)}
9290TeX: @r{turn on/off simple @TeX{} macros in plain text} 9341TeX: @r{turn on/off simple @TeX{} macros in plain text}
9291LaTeX: @r{configure export of La@TeX{} fragments. Default @code{auto}} 9342LaTeX: @r{configure export of @LaTeX{} fragments. Default @code{auto}}
9292skip: @r{turn on/off skipping the text before the first heading} 9343skip: @r{turn on/off skipping the text before the first heading}
9293author: @r{turn on/off inclusion of author name/email into exported file} 9344author: @r{turn on/off inclusion of author name/email into exported file}
9294email: @r{turn on/off inclusion of author email into exported file} 9345email: @r{turn on/off inclusion of author email into exported file}
@@ -9297,9 +9348,12 @@ timestamp: @r{turn on/off inclusion creation time into exported file}
9297d: @r{turn on/off inclusion of drawers} 9348d: @r{turn on/off inclusion of drawers}
9298@end example 9349@end example
9299@noindent 9350@noindent
9300These options take effect in both the HTML and La@TeX{} export, except 9351These options take effect in both the HTML and @LaTeX{} export, except for
9301for @code{TeX} and @code{LaTeX}, which are respectively @code{t} and 9352@code{TeX} and @code{LaTeX}, which are respectively @code{t} and @code{nil}
9302@code{nil} for the La@TeX{} export. 9353for the @LaTeX{} export. The default values for these and many other options
9354are given by a set of variables. For a list of such variables, the
9355corresponding OPTIONS keys and also the publishing keys (@pxref{Project
9356alist}), see the constant @code{org-export-plist-vars}.
9303 9357
9304When exporting only a single subtree by selecting it with @kbd{C-c @@} before 9358When exporting only a single subtree by selecting it with @kbd{C-c @@} before
9305calling an export command, the subtree can overrule some of the file's export 9359calling an export command, the subtree can overrule some of the file's export
@@ -9318,8 +9372,7 @@ contains one outline tree, the first heading is used as document title and
9318the subtrees are exported. 9372the subtrees are exported.
9319 9373
9320@table @kbd 9374@table @kbd
9321@kindex C-c C-e 9375@orgcmd{C-c C-e,org-export}
9322@item C-c C-e
9323@vindex org-export-run-in-background 9376@vindex org-export-run-in-background
9324Dispatcher for export and publishing commands. Displays a help-window 9377Dispatcher for export and publishing commands. Displays a help-window
9325listing the additional key(s) needed to launch an export or publishing 9378listing the additional key(s) needed to launch an export or publishing
@@ -9327,14 +9380,12 @@ command. The prefix arg is passed through to the exporter. A double prefix
9327@kbd{C-u C-u} causes most commands to be executed in the background, in a 9380@kbd{C-u C-u} causes most commands to be executed in the background, in a
9328separate Emacs process@footnote{To make this behavior the default, customize 9381separate Emacs process@footnote{To make this behavior the default, customize
9329the variable @code{org-export-run-in-background}.}. 9382the variable @code{org-export-run-in-background}.}.
9330@kindex C-c C-e v 9383@orgcmd{C-c C-e v,org-export-visible}
9331@item C-c C-e v
9332Like @kbd{C-c C-e}, but only export the text that is currently visible 9384Like @kbd{C-c C-e}, but only export the text that is currently visible
9333(i.e. not hidden by outline visibility). 9385(i.e. not hidden by outline visibility).
9334@kindex C-u C-u C-c C-e 9386@orgcmd{C-u C-u C-c C-e,org-export}
9335@item C-u C-u C-c C-e
9336@vindex org-export-run-in-background 9387@vindex org-export-run-in-background
9337Call an the exporter, but reverse the setting of 9388Call the exporter, but reverse the setting of
9338@code{org-export-run-in-background}, i.e. request background processing if 9389@code{org-export-run-in-background}, i.e. request background processing if
9339not set, or force processing in the current Emacs process if set. 9390not set, or force processing in the current Emacs process if set.
9340@end table 9391@end table
@@ -9353,8 +9404,7 @@ with special characters and symbols available in these encodings.
9353@cindex active region 9404@cindex active region
9354@cindex transient-mark-mode 9405@cindex transient-mark-mode
9355@table @kbd 9406@table @kbd
9356@kindex C-c C-e a 9407@orgcmd{C-c C-e a,org-export-as-ascii}
9357@item C-c C-e a
9358@cindex property, EXPORT_FILE_NAME 9408@cindex property, EXPORT_FILE_NAME
9359Export as ASCII file. For an Org file, @file{myfile.org}, the ASCII file 9409Export as ASCII file. For an Org file, @file{myfile.org}, the ASCII file
9360will be @file{myfile.txt}. The file will be overwritten without 9410will be @file{myfile.txt}. The file will be overwritten without
@@ -9365,21 +9415,15 @@ current subtree, use @kbd{C-c @@}.}, the tree head will
9365become the document title. If the tree head entry has or inherits an 9415become the document title. If the tree head entry has or inherits an
9366@code{EXPORT_FILE_NAME} property, that name will be used for the 9416@code{EXPORT_FILE_NAME} property, that name will be used for the
9367export. 9417export.
9368@kindex C-c C-e A 9418@orgcmd{C-c C-e A,org-export-as-ascii-to-buffer}
9369@item C-c C-e A 9419Export to a temporary buffer. Do not create a file.
9370Export to a temporary buffer, do not create a file. 9420@orgcmd{C-c C-e n,org-export-as-latin1}
9371@kindex C-c C-e n 9421@xorgcmd{C-c C-e N,org-export-as-latin1-to-buffer}
9372@kindex C-c C-e N
9373@item C-c C-e n @ @ @r{and} @ @ C-c C-e N
9374Like the above commands, but use Latin-1 encoding. 9422Like the above commands, but use Latin-1 encoding.
9375@kindex C-c C-e u 9423@orgcmd{C-c C-e u,org-export-as-utf8}
9376@kindex C-c C-e U 9424@xorgcmd{C-c C-e U,org-export-as-utf8-to-buffer}
9377@item C-c C-e u @ @ @r{and} @ @ C-c C-e U
9378Like the above commands, but use UTF-8 encoding. 9425Like the above commands, but use UTF-8 encoding.
9379@kindex C-c C-e v a 9426@item C-c C-e v a/n/u
9380@kindex C-c C-e v n
9381@kindex C-c C-e v u
9382@item C-c C-e v a @ @ @r{and} @ @ C-c C-e v n @ @ @r{and} @ @ C-c C-e v u
9383Export only the visible part of the document. 9427Export only the visible part of the document.
9384@end table 9428@end table
9385 9429
@@ -9434,8 +9478,7 @@ language, but with additional support for tables.
9434@cindex active region 9478@cindex active region
9435@cindex transient-mark-mode 9479@cindex transient-mark-mode
9436@table @kbd 9480@table @kbd
9437@kindex C-c C-e h 9481@orgcmd{C-c C-e h,org-export-as-html}
9438@item C-c C-e h
9439@cindex property, EXPORT_FILE_NAME 9482@cindex property, EXPORT_FILE_NAME
9440Export as HTML file @file{myfile.html}. For an Org file @file{myfile.org}, 9483Export as HTML file @file{myfile.html}. For an Org file @file{myfile.org},
9441the ASCII file will be @file{myfile.html}. The file will be overwritten 9484the ASCII file will be @file{myfile.html}. The file will be overwritten
@@ -9445,25 +9488,15 @@ exported. If the selected region is a single tree@footnote{To select the
9445current subtree, use @kbd{C-c @@}.}, the tree head will become the document 9488current subtree, use @kbd{C-c @@}.}, the tree head will become the document
9446title. If the tree head entry has, or inherits, an @code{EXPORT_FILE_NAME} 9489title. If the tree head entry has, or inherits, an @code{EXPORT_FILE_NAME}
9447property, that name will be used for the export. 9490property, that name will be used for the export.
9448@kindex C-c C-e b 9491@orgcmd{C-c C-e b,org-export-as-html-and-open}
9449@item C-c C-e b
9450Export as HTML file and immediately open it with a browser. 9492Export as HTML file and immediately open it with a browser.
9451@kindex C-c C-e H 9493@orgcmd{C-c C-e H,org-export-as-html-to-buffer}
9452@item C-c C-e H 9494Export to a temporary buffer. Do not create a file.
9453Export to a temporary buffer, do not create a file. 9495@orgcmd{C-c C-e R,org-export-region-as-html}
9454@kindex C-c C-e R
9455@item C-c C-e R
9456Export the active region to a temporary buffer. With a prefix argument, do 9496Export the active region to a temporary buffer. With a prefix argument, do
9457not produce the file header and footer, but just the plain HTML section for 9497not produce the file header and footer, but just the plain HTML section for
9458the region. This is good for cut-and-paste operations. 9498the region. This is good for cut-and-paste operations.
9459@kindex C-c C-e v h 9499@item C-c C-e v h/b/H/R
9460@kindex C-c C-e v b
9461@kindex C-c C-e v H
9462@kindex C-c C-e v R
9463@item C-c C-e v h
9464@item C-c C-e v b
9465@item C-c C-e v H
9466@item C-c C-e v R
9467Export only the visible part of the document. 9500Export only the visible part of the document.
9468@item M-x org-export-region-as-html 9501@item M-x org-export-region-as-html
9469Convert the region to HTML under the assumption that it was Org-mode 9502Convert the region to HTML under the assumption that it was Org-mode
@@ -9599,16 +9632,18 @@ and you could use @code{http} addresses just as well.
9599@cindex MathJax 9632@cindex MathJax
9600@cindex dvipng 9633@cindex dvipng
9601 9634
9602La@TeX{} math snippets (@pxref{LaTeX fragments}) can be displayed in two 9635@LaTeX{} math snippets (@pxref{LaTeX fragments}) can be displayed in two
9603different ways on HTML pages. The default is to use the 9636different ways on HTML pages. The default is to use the
9604@uref{http://www.mathjax.org, MathJax system} which should work out of the 9637@uref{http://www.mathjax.org, MathJax system} which should work out of the
9605box with Org mode installation because @code{http://orgmode.org} serves 9638box with Org mode installation because @code{http://orgmode.org} serves
9606@file{MathJax} for Org-mode users for small applications and for testing 9639@file{MathJax} for Org-mode users for small applications and for testing
9607purposes. @b{If you plan to use this regularly or on pages with significant 9640purposes. @b{If you plan to use this regularly or on pages with significant
9608page views, you should install MathJax on your own server in order to limit 9641page views, you should install@footnote{Installation instructions can be
9609the load of our server.} To configure @file{MathJax}, use the variable 9642found on the MathJax website, see
9610@code{org-export-html-mathjax-options} or insert something like the following 9643@uref{http://www.mathjax.org/resources/docs/?installation.html}.} MathJax on
9611into the buffer: 9644your own server in order to limit the load of our server.} To configure
9645@file{MathJax}, use the variable @code{org-export-html-mathjax-options} or
9646insert something like the following into the buffer:
9612 9647
9613@example 9648@example
9614#+MATHJAX: align:"left" mathml:t path:"/MathJax/MathJax.js" 9649#+MATHJAX: align:"left" mathml:t path:"/MathJax/MathJax.js"
@@ -9618,11 +9653,11 @@ into the buffer:
9618@code{org-export-html-mathjax-options} for the meaning of the parameters in 9653@code{org-export-html-mathjax-options} for the meaning of the parameters in
9619this line. 9654this line.
9620 9655
9621If you prefer, you can also request that La@TeX{} are processed into small 9656If you prefer, you can also request that @LaTeX{} fragments are processed
9622images that will be inserted into the browser page. Before the availability 9657into small images that will be inserted into the browser page. Before the
9623of MathJax, this was the default method for Org files. This method requires 9658availability of MathJax, this was the default method for Org files. This
9624that the @file{dvipng} program is available on your system. You can still 9659method requires that the @file{dvipng} program is available on your system.
9625get this processing with 9660You can still get this processing with
9626 9661
9627@example 9662@example
9628#+OPTIONS: LaTeX:dvipng 9663#+OPTIONS: LaTeX:dvipng
@@ -9705,7 +9740,7 @@ inclusion of these defaults off, customize
9705@code{org-export-html-style-include-default}}. You may overwrite these 9740@code{org-export-html-style-include-default}}. You may overwrite these
9706settings, or add to them by using the variables @code{org-export-html-style} 9741settings, or add to them by using the variables @code{org-export-html-style}
9707(for Org-wide settings) and @code{org-export-html-style-extra} (for more 9742(for Org-wide settings) and @code{org-export-html-style-extra} (for more
9708granular settings, like file-local settings). To set the latter variable 9743fine-grained settings, like file-local settings). To set the latter variable
9709individually for each file, you can use 9744individually for each file, you can use
9710 9745
9711@cindex #+STYLE 9746@cindex #+STYLE
@@ -9773,11 +9808,11 @@ sdepth: @r{Maximum headline level that will still become an independent}
9773 @r{@code{org-export-headline-levels} (= the @code{H} switch in @code{#+OPTIONS}).} 9808 @r{@code{org-export-headline-levels} (= the @code{H} switch in @code{#+OPTIONS}).}
9774 @r{If this is smaller than in @code{org-export-headline-levels}, each} 9809 @r{If this is smaller than in @code{org-export-headline-levels}, each}
9775 @r{info/folding section can still contain child headlines.} 9810 @r{info/folding section can still contain child headlines.}
9776toc: @r{Should the table of content @emph{initially} be visible?} 9811toc: @r{Should the table of contents @emph{initially} be visible?}
9777 @r{Even when @code{nil}, you can always get to the "toc" with @kbd{i}.} 9812 @r{Even when @code{nil}, you can always get to the "toc" with @kbd{i}.}
9778tdepth: @r{The depth of the table of contents. The defaults are taken from} 9813tdepth: @r{The depth of the table of contents. The defaults are taken from}
9779 @r{the variables @code{org-export-headline-levels} and @code{org-export-with-toc}.} 9814 @r{the variables @code{org-export-headline-levels} and @code{org-export-with-toc}.}
9780ftoc: @r{Does the css of the page specify a fixed position for the "toc"?} 9815ftoc: @r{Does the CSS of the page specify a fixed position for the "toc"?}
9781 @r{If yes, the toc will never be displayed as a section.} 9816 @r{If yes, the toc will never be displayed as a section.}
9782ltoc: @r{Should there be short contents (children) in each section?} 9817ltoc: @r{Should there be short contents (children) in each section?}
9783 @r{Make this @code{above} if the section should be above initial text.} 9818 @r{Make this @code{above} if the section should be above initial text.}
@@ -9794,41 +9829,40 @@ You can choose default values for these options by customizing the variable
9794pages, configure the variable @code{org-export-html-use-infojs}. 9829pages, configure the variable @code{org-export-html-use-infojs}.
9795 9830
9796@node LaTeX and PDF export, DocBook export, HTML export, Exporting 9831@node LaTeX and PDF export, DocBook export, HTML export, Exporting
9797@section La@TeX{} and PDF export 9832@section @LaTeX{} and PDF export
9798@cindex La@TeX{} export 9833@cindex @LaTeX{} export
9799@cindex PDF export 9834@cindex PDF export
9800@cindex Guerry, Bastien 9835@cindex Guerry, Bastien
9801 9836
9802Org-mode contains a La@TeX{} exporter written by Bastien Guerry. With 9837Org-mode contains a @LaTeX{} exporter written by Bastien Guerry. With
9803further processing@footnote{The default LaTeX output is designed for 9838further processing@footnote{The default LaTeX output is designed for
9804processing with pdftex or latex. It includes packages that are not 9839processing with pdftex or latex. It includes packages that are not
9805compatible with xetex and possibly luatex. See the variables 9840compatible with xetex and possibly luatex. See the variables
9806@code{org-export-latex-default-packages-alist} and 9841@code{org-export-latex-default-packages-alist} and
9807@code{org-export-latex-packages-alist}.}, this backend is also used to 9842@code{org-export-latex-packages-alist}.}, this backend is also used to
9808produce PDF output. Since the La@TeX{} output uses @file{hyperref} to 9843produce PDF output. Since the @LaTeX{} output uses @file{hyperref} to
9809implement links and cross references, the PDF output file will be fully 9844implement links and cross references, the PDF output file will be fully
9810linked. 9845linked.
9811 9846
9812@menu 9847@menu
9813* LaTeX/PDF export commands:: Which key invokes which commands 9848* LaTeX/PDF export commands:: Which key invokes which commands
9814* Header and sectioning:: Setting up the export file structure 9849* Header and sectioning:: Setting up the export file structure
9815* Quoting LaTeX code:: Incorporating literal La@TeX{} code 9850* Quoting LaTeX code:: Incorporating literal @LaTeX{} code
9816* Tables in LaTeX export:: Options for exporting tables to La@TeX{} 9851* Tables in LaTeX export:: Options for exporting tables to @LaTeX{}
9817* Images in LaTeX export:: How to insert figures into La@TeX{} output 9852* Images in LaTeX export:: How to insert figures into @LaTeX{} output
9818* Beamer class export:: Turning the file into a presentation 9853* Beamer class export:: Turning the file into a presentation
9819@end menu 9854@end menu
9820 9855
9821@node LaTeX/PDF export commands, Header and sectioning, LaTeX and PDF export, LaTeX and PDF export 9856@node LaTeX/PDF export commands, Header and sectioning, LaTeX and PDF export, LaTeX and PDF export
9822@subsection La@TeX{} export commands 9857@subsection @LaTeX{} export commands
9823 9858
9824@cindex region, active 9859@cindex region, active
9825@cindex active region 9860@cindex active region
9826@cindex transient-mark-mode 9861@cindex transient-mark-mode
9827@table @kbd 9862@table @kbd
9828@kindex C-c C-e l 9863@orgcmd{C-c C-e l,org-export-as-latex}
9829@item C-c C-e l
9830@cindex property EXPORT_FILE_NAME 9864@cindex property EXPORT_FILE_NAME
9831Export as La@TeX{} file @file{myfile.tex}. For an Org file 9865Export as @LaTeX{} file @file{myfile.tex}. For an Org file
9832@file{myfile.org}, the ASCII file will be @file{myfile.tex}. The file will 9866@file{myfile.org}, the ASCII file will be @file{myfile.tex}. The file will
9833be overwritten without warning. If there is an active region@footnote{This 9867be overwritten without warning. If there is an active region@footnote{This
9834requires @code{transient-mark-mode} be turned on.}, only the region will be 9868requires @code{transient-mark-mode} be turned on.}, only the region will be
@@ -9836,27 +9870,21 @@ exported. If the selected region is a single tree@footnote{To select the
9836current subtree, use @kbd{C-c @@}.}, the tree head will become the document 9870current subtree, use @kbd{C-c @@}.}, the tree head will become the document
9837title. If the tree head entry has or inherits an @code{EXPORT_FILE_NAME} 9871title. If the tree head entry has or inherits an @code{EXPORT_FILE_NAME}
9838property, that name will be used for the export. 9872property, that name will be used for the export.
9839@kindex C-c C-e L 9873@orgcmd{C-c C-e L,org-export-as-latex-to-buffer}
9840@item C-c C-e L 9874Export to a temporary buffer. Do not create a file.
9841Export to a temporary buffer, do not create a file. 9875@item C-c C-e v l/L
9842@kindex C-c C-e v l
9843@kindex C-c C-e v L
9844@item C-c C-e v l
9845@item C-c C-e v L
9846Export only the visible part of the document. 9876Export only the visible part of the document.
9847@item M-x org-export-region-as-latex 9877@item M-x org-export-region-as-latex
9848Convert the region to La@TeX{} under the assumption that it was Org-mode 9878Convert the region to @LaTeX{} under the assumption that it was Org-mode
9849syntax before. This is a global command that can be invoked in any 9879syntax before. This is a global command that can be invoked in any
9850buffer. 9880buffer.
9851@item M-x org-replace-region-by-latex 9881@item M-x org-replace-region-by-latex
9852Replace the active region (assumed to be in Org-mode syntax) by La@TeX{} 9882Replace the active region (assumed to be in Org-mode syntax) by @LaTeX{}
9853code. 9883code.
9854@kindex C-c C-e p 9884@orgcmd{C-c C-e p,org-export-as-pdf}
9855@item C-c C-e p 9885Export as @LaTeX{} and then process to PDF.
9856Export as La@TeX{} and then process to PDF. 9886@orgcmd{C-c C-e d,org-export-as-pdf-and-open}
9857@kindex C-c C-e d 9887Export as @LaTeX{} and then process to PDF, then open the resulting PDF file.
9858@item C-c C-e d
9859Export as La@TeX{} and then process to PDF, then open the resulting PDF file.
9860@end table 9888@end table
9861 9889
9862@cindex headline levels, for exporting 9890@cindex headline levels, for exporting
@@ -9879,13 +9907,13 @@ creates two levels of headings and does the rest as items.
9879 9907
9880@node Header and sectioning, Quoting LaTeX code, LaTeX/PDF export commands, LaTeX and PDF export 9908@node Header and sectioning, Quoting LaTeX code, LaTeX/PDF export commands, LaTeX and PDF export
9881@subsection Header and sectioning structure 9909@subsection Header and sectioning structure
9882@cindex La@TeX{} class 9910@cindex @LaTeX{} class
9883@cindex La@TeX{} sectioning structure 9911@cindex @LaTeX{} sectioning structure
9884@cindex La@TeX{} header 9912@cindex @LaTeX{} header
9885@cindex header, for LaTeX files 9913@cindex header, for LaTeX files
9886@cindex sectioning structure, for LaTeX export 9914@cindex sectioning structure, for LaTeX export
9887 9915
9888By default, the La@TeX{} output uses the class @code{article}. 9916By default, the @LaTeX{} output uses the class @code{article}.
9889 9917
9890@vindex org-export-latex-default-class 9918@vindex org-export-latex-default-class
9891@vindex org-export-latex-classes 9919@vindex org-export-latex-classes
@@ -9912,12 +9940,12 @@ header. See the docstring of @code{org-export-latex-classes} for more
9912information. 9940information.
9913 9941
9914@node Quoting LaTeX code, Tables in LaTeX export, Header and sectioning, LaTeX and PDF export 9942@node Quoting LaTeX code, Tables in LaTeX export, Header and sectioning, LaTeX and PDF export
9915@subsection Quoting La@TeX{} code 9943@subsection Quoting @LaTeX{} code
9916 9944
9917Embedded La@TeX{} as described in @ref{Embedded LaTeX}, will be correctly 9945Embedded @LaTeX{} as described in @ref{Embedded LaTeX}, will be correctly
9918inserted into the La@TeX{} file. This includes simple macros like 9946inserted into the @LaTeX{} file. This includes simple macros like
9919@samp{\ref@{LABEL@}} to create a cross reference to a figure. Furthermore, 9947@samp{\ref@{LABEL@}} to create a cross reference to a figure. Furthermore,
9920you can add special code that should only be present in La@TeX{} export with 9948you can add special code that should only be present in @LaTeX{} export with
9921the following constructs: 9949the following constructs:
9922 9950
9923@cindex #+LaTeX 9951@cindex #+LaTeX
@@ -9937,10 +9965,10 @@ All lines between these markers are exported literally
9937 9965
9938 9966
9939@node Tables in LaTeX export, Images in LaTeX export, Quoting LaTeX code, LaTeX and PDF export 9967@node Tables in LaTeX export, Images in LaTeX export, Quoting LaTeX code, LaTeX and PDF export
9940@subsection Tables in La@TeX{} export 9968@subsection Tables in @LaTeX{} export
9941@cindex tables, in La@TeX{} export 9969@cindex tables, in @LaTeX{} export
9942 9970
9943For La@TeX{} export of a table, you can specify a label and a caption 9971For @LaTeX{} export of a table, you can specify a label and a caption
9944(@pxref{Images and tables}). You can also use the @code{ATTR_LaTeX} line to 9972(@pxref{Images and tables}). You can also use the @code{ATTR_LaTeX} line to
9945request a @code{longtable} environment for the table, so that it may span 9973request a @code{longtable} environment for the table, so that it may span
9946several pages, or provide the @code{multicolumn} keyword that will make the 9974several pages, or provide the @code{multicolumn} keyword that will make the
@@ -9960,13 +9988,13 @@ Finally, you can set the alignment string:
9960 9988
9961 9989
9962@node Images in LaTeX export, Beamer class export, Tables in LaTeX export, LaTeX and PDF export 9990@node Images in LaTeX export, Beamer class export, Tables in LaTeX export, LaTeX and PDF export
9963@subsection Images in La@TeX{} export 9991@subsection Images in @LaTeX{} export
9964@cindex images, inline in La@TeX{} 9992@cindex images, inline in @LaTeX{}
9965@cindex inlining images in La@TeX{} 9993@cindex inlining images in @LaTeX{}
9966 9994
9967Images that are linked to without a description part in the link, like 9995Images that are linked to without a description part in the link, like
9968@samp{[[file:img.jpg]]} or @samp{[[./img.jpg]]} will be inserted into the PDF 9996@samp{[[file:img.jpg]]} or @samp{[[./img.jpg]]} will be inserted into the PDF
9969output file resulting from La@TeX{} processing. Org will use an 9997output file resulting from @LaTeX{} processing. Org will use an
9970@code{\includegraphics} macro to insert the image. If you have specified a 9998@code{\includegraphics} macro to insert the image. If you have specified a
9971caption and/or a label as described in @ref{Images and tables}, the figure 9999caption and/or a label as described in @ref{Images and tables}, the figure
9972will be wrapped into a @code{figure} environment and thus become a floating 10000will be wrapped into a @code{figure} environment and thus become a floating
@@ -9997,7 +10025,7 @@ for @code{\includegraphics} and @code{wrapfigure}.
9997@end example 10025@end example
9998 10026
9999If you need references to a label created in this way, write 10027If you need references to a label created in this way, write
10000@samp{\ref@{fig:SED-HR4049@}} just like in La@TeX{}. 10028@samp{\ref@{fig:SED-HR4049@}} just like in @LaTeX{}.
10001 10029
10002@node Beamer class export, , Images in LaTeX export, LaTeX and PDF export 10030@node Beamer class export, , Images in LaTeX export, LaTeX and PDF export
10003@subsection Beamer class export 10031@subsection Beamer class export
@@ -10014,7 +10042,7 @@ exportable as a beamer presentation. By default, the top-level entries (or
10014the first level below the selected subtree heading) will be turned into 10042the first level below the selected subtree heading) will be turned into
10015frames, and the outline structure below this level will become itemize lists. 10043frames, and the outline structure below this level will become itemize lists.
10016You can also configure the variable @code{org-beamer-frame-level} to a 10044You can also configure the variable @code{org-beamer-frame-level} to a
10017different level - then the hierarchy above frames will produce the sectioning 10045different level---then the hierarchy above frames will produce the sectioning
10018structure of the presentation. 10046structure of the presentation.
10019 10047
10020A template for useful in-buffer settings or properties can be inserted into 10048A template for useful in-buffer settings or properties can be inserted into
@@ -10037,7 +10065,8 @@ The beamer-special arguments that should be used for the environment, like
10037@code{[t]} or @code{[<+->]} of @code{<2-3>}. If the @code{BEAMER_col} 10065@code{[t]} or @code{[<+->]} of @code{<2-3>}. If the @code{BEAMER_col}
10038property is also set, something like @code{C[t]} can be added here as well to 10066property is also set, something like @code{C[t]} can be added here as well to
10039set an options argument for the implied @code{columns} environment. 10067set an options argument for the implied @code{columns} environment.
10040@code{c[t]} will set an option for the implied @code{column} environment. 10068@code{c[t]} or @code{c<2->} will set an options for the implied @code{column}
10069environment.
10041@item BEAMER_col 10070@item BEAMER_col
10042The width of a column that should start with this entry. If this property is 10071The width of a column that should start with this entry. If this property is
10043set, the entry will also get a @code{:BMCOL:} property to make this visible. 10072set, the entry will also get a @code{:BMCOL:} property to make this visible.
@@ -10076,8 +10105,7 @@ support with
10076@end example 10105@end example
10077 10106
10078@table @kbd 10107@table @kbd
10079@kindex C-c C-b 10108@orgcmd{C-c C-b,org-beamer-select-environment}
10080@item C-c C-b
10081In @code{org-beamer-mode}, this key offers fast selection of a beamer 10109In @code{org-beamer-mode}, this key offers fast selection of a beamer
10082environment or the @code{BEAMER_col} property. 10110environment or the @code{BEAMER_col} property.
10083@end table 10111@end table
@@ -10155,8 +10183,7 @@ Currently DocBook exporter only supports DocBook V5.0.
10155@cindex active region 10183@cindex active region
10156@cindex transient-mark-mode 10184@cindex transient-mark-mode
10157@table @kbd 10185@table @kbd
10158@kindex C-c C-e D 10186@orgcmd{C-c C-e D,org-export-as-docbook}
10159@item C-c C-e D
10160@cindex property EXPORT_FILE_NAME 10187@cindex property EXPORT_FILE_NAME
10161Export as DocBook file. For an Org file, @file{myfile.org}, the DocBook XML 10188Export as DocBook file. For an Org file, @file{myfile.org}, the DocBook XML
10162file will be @file{myfile.xml}. The file will be overwritten without 10189file will be @file{myfile.xml}. The file will be overwritten without
@@ -10166,8 +10193,7 @@ exported. If the selected region is a single tree@footnote{To select the
10166current subtree, use @kbd{C-c @@}.}, the tree head will become the document 10193current subtree, use @kbd{C-c @@}.}, the tree head will become the document
10167title. If the tree head entry has, or inherits, an @code{EXPORT_FILE_NAME} 10194title. If the tree head entry has, or inherits, an @code{EXPORT_FILE_NAME}
10168property, that name will be used for the export. 10195property, that name will be used for the export.
10169@kindex C-c C-e V 10196@orgcmd{C-c C-e V,org-export-as-docbook-pdf-and-open}
10170@item C-c C-e V
10171Export as DocBook file, process to PDF, then open the resulting PDF file. 10197Export as DocBook file, process to PDF, then open the resulting PDF file.
10172 10198
10173@vindex org-export-docbook-xslt-proc-command 10199@vindex org-export-docbook-xslt-proc-command
@@ -10184,8 +10210,7 @@ variable @code{org-export-docbook-xslt-stylesheet}, which needs to be set by
10184the user. You can also overrule this global setting on a per-file basis by 10210the user. You can also overrule this global setting on a per-file basis by
10185adding an in-buffer setting @code{#+XSLT:} to the Org file. 10211adding an in-buffer setting @code{#+XSLT:} to the Org file.
10186 10212
10187@kindex C-c C-e v D 10213@orgkey{C-c C-e v D}
10188@item C-c C-e v D
10189Export only the visible part of the document. 10214Export only the visible part of the document.
10190@end table 10215@end table
10191 10216
@@ -10220,7 +10245,7 @@ exported DocBook XML files invalid by not quoting DocBook code correctly.
10220#+BEGIN_DOCBOOK 10245#+BEGIN_DOCBOOK
10221<warning> 10246<warning>
10222 <para>You should know what you are doing when quoting DocBook XML code 10247 <para>You should know what you are doing when quoting DocBook XML code
10223 in your Org file. Invalid DocBook XML file may be generated by 10248 in your Org file. Invalid DocBook XML may be generated by
10224 DocBook exporter if you are not careful!</para> 10249 DocBook exporter if you are not careful!</para>
10225</warning> 10250</warning>
10226#+END_DOCBOOK 10251#+END_DOCBOOK
@@ -10349,12 +10374,10 @@ all the nodes.
10349@subsection TaskJuggler export commands 10374@subsection TaskJuggler export commands
10350 10375
10351@table @kbd 10376@table @kbd
10352@kindex C-c C-e j 10377@orgcmd{C-c C-e j,org-export-as-taskjuggler}
10353@item C-c C-e j
10354Export as TaskJuggler file. 10378Export as TaskJuggler file.
10355 10379
10356@kindex C-c C-e J 10380@orgcmd{C-c C-e J,org-export-as-taskjuggler-and-open}
10357@item C-c C-e J
10358Export as TaskJuggler file and then open the file with TaskJugglerUI. 10381Export as TaskJuggler file and then open the file with TaskJugglerUI.
10359@end table 10382@end table
10360 10383
@@ -10381,7 +10404,7 @@ with @code{:taskjuggler_resource:} (or whatever you customized
10381identifier (named @samp{resource_id}) to the resources (using the standard 10404identifier (named @samp{resource_id}) to the resources (using the standard
10382Org properties commands, @pxref{Property syntax}) or you can let the exporter 10405Org properties commands, @pxref{Property syntax}) or you can let the exporter
10383generate identifiers automatically (the exporter picks the first word of the 10406generate identifiers automatically (the exporter picks the first word of the
10384headline as the identifier as long as it is unique, see the documentation of 10407headline as the identifier as long as it is unique---see the documentation of
10385@code{org-taskjuggler-get-unique-id}). Using that identifier you can then 10408@code{org-taskjuggler-get-unique-id}). Using that identifier you can then
10386allocate resources to tasks. This is again done with the @samp{allocate} 10409allocate resources to tasks. This is again done with the @samp{allocate}
10387property on the tasks. Do this in column view or when on the task type 10410property on the tasks. Do this in column view or when on the task type
@@ -10407,7 +10430,7 @@ resource or resource node which is known to TaskJuggler, such as
10407 10430
10408The exporter will handle dependencies that are defined in the tasks either 10431The exporter will handle dependencies that are defined in the tasks either
10409with the @samp{ORDERED} attribute (@pxref{TODO dependencies}), with the 10432with the @samp{ORDERED} attribute (@pxref{TODO dependencies}), with the
10410@samp{BLOCKER} attribute (see org-depend.el) or alternatively with a 10433@samp{BLOCKER} attribute (see @file{org-depend.el}) or alternatively with a
10411@samp{depends} attribute. Both the @samp{BLOCKER} and the @samp{depends} 10434@samp{depends} attribute. Both the @samp{BLOCKER} and the @samp{depends}
10412attribute can be either @samp{previous-sibling} or a reference to an 10435attribute can be either @samp{previous-sibling} or a reference to an
10413identifier (named @samp{task_id}) which is defined for another task in the 10436identifier (named @samp{task_id}) which is defined for another task in the
@@ -10464,8 +10487,7 @@ For more information and examples see the Org-taskjuggler tutorial at
10464The Freemind exporter was written by Lennart Borgman. 10487The Freemind exporter was written by Lennart Borgman.
10465 10488
10466@table @kbd 10489@table @kbd
10467@kindex C-c C-e m 10490@orgcmd{C-c C-e m,org-export-as-freemind}
10468@item C-c C-e m
10469Export as Freemind mind map @file{myfile.mm}. 10491Export as Freemind mind map @file{myfile.mm}.
10470@end table 10492@end table
10471 10493
@@ -10478,11 +10500,9 @@ Currently, this exporter only handles the general outline structure and
10478does not interpret any additional Org-mode features. 10500does not interpret any additional Org-mode features.
10479 10501
10480@table @kbd 10502@table @kbd
10481@kindex C-c C-e x 10503@orgcmd{C-c C-e x,org-export-as-xoxo}
10482@item C-c C-e x
10483Export as XOXO file @file{myfile.html}. 10504Export as XOXO file @file{myfile.html}.
10484@kindex C-c C-e v 10505@orgkey{C-c C-e v x}
10485@item C-c C-e v x
10486Export only the visible part of the document. 10506Export only the visible part of the document.
10487@end table 10507@end table
10488 10508
@@ -10525,18 +10545,15 @@ In this way the UID remains unique, but a synchronization program can still
10525figure out from which entry all the different instances originate. 10545figure out from which entry all the different instances originate.
10526 10546
10527@table @kbd 10547@table @kbd
10528@kindex C-c C-e i 10548@orgcmd{C-c C-e i,org-export-icalendar-this-file}
10529@item C-c C-e i
10530Create iCalendar entries for the current file and store them in the same 10549Create iCalendar entries for the current file and store them in the same
10531directory, using a file extension @file{.ics}. 10550directory, using a file extension @file{.ics}.
10532@kindex C-c C-e I 10551@orgcmd{C-c C-e I, org-export-icalendar-all-agenda-files}
10533@item C-c C-e I
10534@vindex org-agenda-files 10552@vindex org-agenda-files
10535Like @kbd{C-c C-e i}, but do this for all files in 10553Like @kbd{C-c C-e i}, but do this for all files in
10536@code{org-agenda-files}. For each of these files, a separate iCalendar 10554@code{org-agenda-files}. For each of these files, a separate iCalendar
10537file will be written. 10555file will be written.
10538@kindex C-c C-e c 10556@orgcmd{C-c C-e c,org-export-icalendar-combine-agenda-files}
10539@item C-c C-e c
10540@vindex org-combined-agenda-icalendar-file 10557@vindex org-combined-agenda-icalendar-file
10541Create a single large iCalendar file from all files in 10558Create a single large iCalendar file from all files in
10542@code{org-agenda-files} and write it to the file given by 10559@code{org-agenda-files} and write it to the file given by
@@ -10674,6 +10691,9 @@ extension.
10674@item @code{:include} 10691@item @code{:include}
10675@tab List of files to be included regardless of @code{:base-extension} 10692@tab List of files to be included regardless of @code{:base-extension}
10676and @code{:exclude}. 10693and @code{:exclude}.
10694
10695@item @code{:recursive}
10696@tab Non-nil means, check base-directory recursively for files to publish.
10677@end multitable 10697@end multitable
10678 10698
10679@node Publishing action, Publishing options, Selecting files, Configuration 10699@node Publishing action, Publishing options, Selecting files, Configuration
@@ -10694,10 +10714,10 @@ produce @file{file.org} and @file{file.org.html} in the publishing
10694directory@footnote{@file{file-source.org} and @file{file-source.org.html} if 10714directory@footnote{@file{file-source.org} and @file{file-source.org.html} if
10695source and publishing directories are equal. Note that with this kind of 10715source and publishing directories are equal. Note that with this kind of
10696setup, you need to add @code{:exclude "-source\\.org"} to the project 10716setup, you need to add @code{:exclude "-source\\.org"} to the project
10697definition in @code{org-publish-project-alist} to avoid that the published 10717definition in @code{org-publish-project-alist} to prevent the published
10698source files will be considered as new org files the next time the project is 10718source files from being considered as new org files the next time the project
10699published.}. Other files like images only need to be copied to the 10719is published.}. Other files like images only need to be copied to the
10700publishing destination, for this you may use @code{org-publish-attachment}. 10720publishing destination; for this you may use @code{org-publish-attachment}.
10701For non-Org files, you always need to specify the publishing function: 10721For non-Org files, you always need to specify the publishing function:
10702 10722
10703@multitable @columnfractions 0.3 0.7 10723@multitable @columnfractions 0.3 0.7
@@ -10717,11 +10737,11 @@ should take the specified file, make the necessary transformation (if any)
10717and place the result into the destination folder. 10737and place the result into the destination folder.
10718 10738
10719@node Publishing options, Publishing links, Publishing action, Configuration 10739@node Publishing options, Publishing links, Publishing action, Configuration
10720@subsection Options for the HTML/La@TeX{} exporters 10740@subsection Options for the HTML/@LaTeX{} exporters
10721@cindex options, for publishing 10741@cindex options, for publishing
10722 10742
10723The property list can be used to set many export options for the HTML 10743The property list can be used to set many export options for the HTML
10724and La@TeX{} exporters. In most cases, these properties correspond to user 10744and @LaTeX{} exporters. In most cases, these properties correspond to user
10725variables in Org. The table below lists these properties along 10745variables in Org. The table below lists these properties along
10726with the variable they belong to. See the documentation string for the 10746with the variable they belong to. See the documentation string for the
10727respective variable for details. 10747respective variable for details.
@@ -10826,9 +10846,9 @@ respective variable for details.
10826@end multitable 10846@end multitable
10827 10847
10828Most of the @code{org-export-with-*} variables have the same effect in 10848Most of the @code{org-export-with-*} variables have the same effect in
10829both HTML and La@TeX{} exporters, except for @code{:TeX-macros} and 10849both HTML and @LaTeX{} exporters, except for @code{:TeX-macros} and
10830@code{:LaTeX-fragments}, respectively @code{nil} and @code{t} in the 10850@code{:LaTeX-fragments}, respectively @code{nil} and @code{t} in the
10831La@TeX{} export. 10851@LaTeX{} export.
10832 10852
10833@vindex org-publish-project-alist 10853@vindex org-publish-project-alist
10834When a property is given a value in @code{org-publish-project-alist}, 10854When a property is given a value in @code{org-publish-project-alist},
@@ -11048,17 +11068,13 @@ right place on the web server, and publishing images to it.
11048Once properly configured, Org can publish with the following commands: 11068Once properly configured, Org can publish with the following commands:
11049 11069
11050@table @kbd 11070@table @kbd
11051@kindex C-c C-e C 11071@orgcmd{C-c C-e X,org-publish}
11052@item C-c C-e C
11053Prompt for a specific project and publish all files that belong to it. 11072Prompt for a specific project and publish all files that belong to it.
11054@kindex C-c C-e P 11073@orgcmd{C-c C-e P,org-publish-current-project}
11055@item C-c C-e P
11056Publish the project containing the current file. 11074Publish the project containing the current file.
11057@kindex C-c C-e F 11075@orgcmd{C-c C-e F,org-publish-current-file}
11058@item C-c C-e F
11059Publish only the current file. 11076Publish only the current file.
11060@kindex C-c C-e E 11077@orgcmd{C-c C-e E,org-publish-all}
11061@item C-c C-e E
11062Publish every project. 11078Publish every project.
11063@end table 11079@end table
11064 11080
@@ -11192,7 +11208,7 @@ can be used to map arbitrary language names to existing major modes.
11192Controls the way Emacs windows are rearranged when the edit buffer is created. 11208Controls the way Emacs windows are rearranged when the edit buffer is created.
11193@item org-src-preserve-indentation 11209@item org-src-preserve-indentation
11194This variable is especially useful for tangling languages such as 11210This variable is especially useful for tangling languages such as
11195python, in which whitespace indentation in the output is critical. 11211Python, in which whitespace indentation in the output is critical.
11196@item org-src-ask-before-returning-to-edit-buffer 11212@item org-src-ask-before-returning-to-edit-buffer
11197By default, Org will ask before returning to an open edit buffer. Set 11213By default, Org will ask before returning to an open edit buffer. Set
11198this variable to nil to switch without asking. 11214this variable to nil to switch without asking.
@@ -11234,7 +11250,7 @@ Neither the code block nor its results will be exported.
11234@end table 11250@end table
11235 11251
11236It is possible to inhibit the evaluation of code blocks during export. 11252It is possible to inhibit the evaluation of code blocks during export.
11237Setting the the @code{org-export-babel-evaluate} variable to @code{nil} will 11253Setting the @code{org-export-babel-evaluate} variable to @code{nil} will
11238ensure that no code blocks are evaluated as part of the export process. This 11254ensure that no code blocks are evaluated as part of the export process. This
11239can be useful in situations where potentially untrusted Org-mode files are 11255can be useful in situations where potentially untrusted Org-mode files are
11240exported in an automated fashion, for example when Org-mode is used as the 11256exported in an automated fashion, for example when Org-mode is used as the
@@ -11361,17 +11377,17 @@ Code blocks in the following languages are supported.
11361@item @b{Language} @tab @b{Identifier} @tab @b{Language} @tab @b{Identifier} 11377@item @b{Language} @tab @b{Identifier} @tab @b{Language} @tab @b{Identifier}
11362@item Asymptote @tab asymptote @tab C @tab C 11378@item Asymptote @tab asymptote @tab C @tab C
11363@item C++ @tab C++ @tab Clojure @tab clojure 11379@item C++ @tab C++ @tab Clojure @tab clojure
11364@item css @tab css @tab ditaa @tab ditaa 11380@item CSS @tab css @tab ditaa @tab ditaa
11365@item Graphviz @tab dot @tab Emacs Lisp @tab emacs-lisp 11381@item Graphviz @tab dot @tab Emacs Lisp @tab emacs-lisp
11366@item gnuplot @tab gnuplot @tab Haskell @tab haskell 11382@item gnuplot @tab gnuplot @tab Haskell @tab haskell
11367@item LaTeX @tab latex @tab Matlab @tab matlab 11383@item LaTeX @tab latex @tab MATLAB @tab matlab
11368@item Mscgen @tab mscgen @tab Objective Caml @tab ocaml 11384@item Mscgen @tab mscgen @tab Objective Caml @tab ocaml
11369@item Octave @tab octave @tab OZ @tab oz 11385@item Octave @tab octave @tab Oz @tab oz
11370@item Perl @tab perl @tab Python @tab python 11386@item Perl @tab perl @tab Python @tab python
11371@item R @tab R @tab Ruby @tab ruby 11387@item R @tab R @tab Ruby @tab ruby
11372@item Sass @tab sass @tab GNU Screen @tab screen 11388@item Sass @tab sass @tab GNU Screen @tab screen
11373@item shell @tab sh @tab SQL @tab sql 11389@item shell @tab sh @tab SQL @tab sql
11374@item Sqlite @tab sqlite 11390@item SQLite @tab sqlite
11375@end multitable 11391@end multitable
11376 11392
11377Language-specific documentation is available for some languages. If 11393Language-specific documentation is available for some languages. If
@@ -11771,8 +11787,8 @@ another by commas, as shown in the following example.
11771@node results, file, var, Specific header arguments 11787@node results, file, var, Specific header arguments
11772@subsubsection @code{:results} 11788@subsubsection @code{:results}
11773 11789
11774There are three classes of @code{:results} header argument. Only one option of 11790There are three classes of @code{:results} header argument. Only one option
11775each type may be supplied per code block. 11791per class may be supplied per code block.
11776 11792
11777@itemize @bullet 11793@itemize @bullet
11778@item 11794@item
@@ -11795,7 +11811,7 @@ should be collected from the code block.
11795@item @code{value} 11811@item @code{value}
11796This is the default. The result is the value of the last statement in the 11812This is the default. The result is the value of the last statement in the
11797code block. This header argument places the evaluation in functional 11813code block. This header argument places the evaluation in functional
11798mode. Note that in some languages, e.g., python, use of this result type 11814mode. Note that in some languages, e.g., Python, use of this result type
11799requires that a @code{return} statement be included in the body of the source 11815requires that a @code{return} statement be included in the body of the source
11800code block. E.g., @code{:results value}. 11816code block. E.g., @code{:results value}.
11801@item @code{output} 11817@item @code{output}
@@ -11815,6 +11831,9 @@ table or scalar depending on their value.
11815The results should be interpreted as an Org-mode table. If a single value is 11831The results should be interpreted as an Org-mode table. If a single value is
11816returned, it will be converted into a table with one row and one column. 11832returned, it will be converted into a table with one row and one column.
11817E.g., @code{:results value table}. 11833E.g., @code{:results value table}.
11834@item @code{list}
11835The results should be interpreted as an Org-mode list. If a single scalar
11836value is returned it will be converted into a list with only one element.
11818@item @code{scalar}, @code{verbatim} 11837@item @code{scalar}, @code{verbatim}
11819The results should be interpreted literally---they will not be 11838The results should be interpreted literally---they will not be
11820converted into a table. The results will be inserted into the Org-mode 11839converted into a table. The results will be inserted into the Org-mode
@@ -11837,7 +11856,7 @@ Result are assumed to be parseable code and are enclosed in a code block.
11837E.g., @code{:results value code}. 11856E.g., @code{:results value code}.
11838@item @code{pp} 11857@item @code{pp}
11839The result is converted to pretty-printed code and is enclosed in a code 11858The result is converted to pretty-printed code and is enclosed in a code
11840block. This option currently supports Emacs Lisp, python, and ruby. E.g., 11859block. This option currently supports Emacs Lisp, Python, and Ruby. E.g.,
11841@code{:results value pp}. 11860@code{:results value pp}.
11842@end itemize 11861@end itemize
11843 11862
@@ -11875,7 +11894,7 @@ Note that for some languages, including R, gnuplot, LaTeX and ditaa,
11875graphical output is sent to the specified file without the file being 11894graphical output is sent to the specified file without the file being
11876referenced explicitly in the code block. See the documentation for the 11895referenced explicitly in the code block. See the documentation for the
11877individual languages for details. In contrast, general purpose languages such 11896individual languages for details. In contrast, general purpose languages such
11878as python and ruby require that the code explicitly create output 11897as Python and Ruby require that the code explicitly create output
11879corresponding to the path indicated by @code{:file}. 11898corresponding to the path indicated by @code{:file}.
11880 11899
11881 11900
@@ -11894,8 +11913,8 @@ When using @code{:dir}, you should supply a relative path for file output
11894(e.g. @code{:file myfile.jpg} or @code{:file results/myfile.jpg}) in which 11913(e.g. @code{:file myfile.jpg} or @code{:file results/myfile.jpg}) in which
11895case that path will be interpreted relative to the default directory. 11914case that path will be interpreted relative to the default directory.
11896 11915
11897In other words, if you want your plot to go into a folder called Work in your 11916In other words, if you want your plot to go into a folder called @file{Work}
11898home directory, you could use 11917in your home directory, you could use
11899 11918
11900@example 11919@example
11901#+begin_src R :file myplot.png :dir ~/Work 11920#+begin_src R :file myplot.png :dir ~/Work
@@ -11928,7 +11947,7 @@ and a link of the following form will be inserted in the org buffer:
11928Most of this functionality follows immediately from the fact that @code{:dir} 11947Most of this functionality follows immediately from the fact that @code{:dir}
11929sets the value of the Emacs variable @code{default-directory}, thanks to 11948sets the value of the Emacs variable @code{default-directory}, thanks to
11930tramp. Those using XEmacs, or GNU Emacs prior to version 23 may need to 11949tramp. Those using XEmacs, or GNU Emacs prior to version 23 may need to
11931install tramp separately in order for the these features to work correctly. 11950install tramp separately in order for these features to work correctly.
11932 11951
11933@subsubheading Further points 11952@subsubheading Further points
11934 11953
@@ -11974,7 +11993,7 @@ The @code{:tangle} header argument specifies whether or not the code
11974block should be included in tangled extraction of source code files. 11993block should be included in tangled extraction of source code files.
11975 11994
11976@itemize @bullet 11995@itemize @bullet
11977@item @code{yes} 11996@item @code{tangle}
11978The code block is exported to a source code file named after the 11997The code block is exported to a source code file named after the
11979basename (name w/o extension) of the Org-mode file. E.g., @code{:tangle 11998basename (name w/o extension) of the Org-mode file. E.g., @code{:tangle
11980yes}. 11999yes}.
@@ -12047,7 +12066,7 @@ expanded before the block is evaluated, tangled or exported.
12047The default. No ``noweb'' syntax specific action is taken on evaluating 12066The default. No ``noweb'' syntax specific action is taken on evaluating
12048code blocks, However, noweb references will still be expanded during 12067code blocks, However, noweb references will still be expanded during
12049tangling. 12068tangling.
12050@item @code{yes} 12069@item @code{tangle}
12051All ``noweb'' syntax references in the body of the code block will be 12070All ``noweb'' syntax references in the body of the code block will be
12052expanded before the block is tangled, however ``noweb'' references will not 12071expanded before the block is tangled, however ``noweb'' references will not
12053be expanded when the block is evaluated or exported. 12072be expanded when the block is evaluated or exported.
@@ -12091,7 +12110,7 @@ values: @code{yes} or @code{no}.
12091The default. No caching takes place, and the code block will be evaluated 12110The default. No caching takes place, and the code block will be evaluated
12092every time it is called. 12111every time it is called.
12093@item @code{yes} 12112@item @code{yes}
12094Every time the code block is run a sha1 hash of the code and arguments 12113Every time the code block is run a SHA1 hash of the code and arguments
12095passed to the block will be generated. This hash is packed into the 12114passed to the block will be generated. This hash is packed into the
12096@code{#+results:} line and will be checked on subsequent 12115@code{#+results:} line and will be checked on subsequent
12097executions of the code block. If the code block has not 12116executions of the code block. If the code block has not
@@ -12269,9 +12288,9 @@ vector of strings or numbers) when appropriate.
12269This is the default. Internally, the value is obtained by wrapping the code 12288This is the default. Internally, the value is obtained by wrapping the code
12270in a function definition in the external language, and evaluating that 12289in a function definition in the external language, and evaluating that
12271function. Therefore, code should be written as if it were the body of such a 12290function. Therefore, code should be written as if it were the body of such a
12272function. In particular, note that python does not automatically return a 12291function. In particular, note that Python does not automatically return a
12273value from a function unless a @code{return} statement is present, and so a 12292value from a function unless a @code{return} statement is present, and so a
12274@samp{return} statement will usually be required in python. 12293@samp{return} statement will usually be required in Python.
12275 12294
12276This is the only one of the four evaluation contexts in which the code is 12295This is the only one of the four evaluation contexts in which the code is
12277automatically wrapped in a function definition. 12296automatically wrapped in a function definition.
@@ -12282,12 +12301,12 @@ contents of the standard output stream are returned as text. (In certain
12282languages this also contains the error output stream; this is an area for 12301languages this also contains the error output stream; this is an area for
12283future work.) 12302future work.)
12284 12303
12285@subsection @code{:session} 12304@subsection Session
12286@subsubsection @code{:results value} 12305@subsubsection @code{:results value}
12287The code is passed to the interpreter running as an interactive Emacs 12306The code is passed to the interpreter running as an interactive Emacs
12288inferior process. The result returned is the result of the last evaluation 12307inferior process. The result returned is the result of the last evaluation
12289performed by the interpreter. (This is obtained in a language-specific 12308performed by the interpreter. (This is obtained in a language-specific
12290manner: the value of the variable @code{_} in python and ruby, and the value 12309manner: the value of the variable @code{_} in Python and Ruby, and the value
12291of @code{.Last.value} in R). 12310of @code{.Last.value} in R).
12292 12311
12293@subsubsection @code{:results output} 12312@subsubsection @code{:results output}
@@ -12310,7 +12329,7 @@ process. For example, compare the following two blocks:
12310: bye 12329: bye
12311@end example 12330@end example
12312 12331
12313In non-session mode, the '2' is not printed and does not appear. 12332In non-session mode, the `2' is not printed and does not appear.
12314@example 12333@example
12315#+begin_src python :results output :session 12334#+begin_src python :results output :session
12316 print "hello" 12335 print "hello"
@@ -12324,8 +12343,8 @@ In non-session mode, the '2' is not printed and does not appear.
12324: bye 12343: bye
12325@end example 12344@end example
12326 12345
12327But in @code{:session} mode, the interactive interpreter receives input '2' 12346But in @code{:session} mode, the interactive interpreter receives input `2'
12328and prints out its value, '2'. (Indeed, the other print statements are 12347and prints out its value, `2'. (Indeed, the other print statements are
12329unnecessary here). 12348unnecessary here).
12330 12349
12331@node Noweb reference syntax, Key bindings and useful functions, Results of evaluation, Working With Source Code 12350@node Noweb reference syntax, Key bindings and useful functions, Results of evaluation, Working With Source Code
@@ -12573,7 +12592,7 @@ For example, on an empty line, typing "<e" and then pressing TAB, will expand
12573into a complete EXAMPLE template. 12592into a complete EXAMPLE template.
12574 12593
12575You can install additional templates by customizing the variable 12594You can install additional templates by customizing the variable
12576@code{org-structure-template-alist}. Refer docstring of the variable for 12595@code{org-structure-template-alist}. See the docstring of the variable for
12577additional details. 12596additional details.
12578 12597
12579@node Speed keys, Code evaluation security, Easy Templates, Miscellaneous 12598@node Speed keys, Code evaluation security, Easy Templates, Miscellaneous
@@ -12588,7 +12607,7 @@ beginning of a headline, i.e. before the first star. Configure the variable
12588pre-defined list of commands, and you can add more such commands using the 12607pre-defined list of commands, and you can add more such commands using the
12589variable @code{org-speed-commands-user}. Speed keys do not only speed up 12608variable @code{org-speed-commands-user}. Speed keys do not only speed up
12590navigation and other commands, but they also provide an alternative way to 12609navigation and other commands, but they also provide an alternative way to
12591execute commands bound to keys that are not or not easily available on a tty, 12610execute commands bound to keys that are not or not easily available on a TTY,
12592or on a small mobile device with a limited keyboard. 12611or on a small mobile device with a limited keyboard.
12593 12612
12594To see which commands are available, activate the feature and press @kbd{?} 12613To see which commands are available, activate the feature and press @kbd{?}
@@ -12617,7 +12636,7 @@ Source code blocks can be evaluated during export, or when pressing @kbd{C-c
12617C-c} in the block. The most important thing to realize here is that Org mode 12636C-c} in the block. The most important thing to realize here is that Org mode
12618files which contain code snippets are, in a certain sense, like executable 12637files which contain code snippets are, in a certain sense, like executable
12619files. So you should accept them and load them into Emacs only from trusted 12638files. So you should accept them and load them into Emacs only from trusted
12620sources - just like you would do with a program you install on your computer. 12639sources---just like you would do with a program you install on your computer.
12621 12640
12622Make sure you know what you are doing before customizing the variables 12641Make sure you know what you are doing before customizing the variables
12623which take off the default security brakes. 12642which take off the default security brakes.
@@ -12692,7 +12711,7 @@ applies.
12692@vindex org-table-formula-constants 12711@vindex org-table-formula-constants
12693@vindex org-table-formula 12712@vindex org-table-formula
12694Set file-local values for constants to be used in table formulas. This 12713Set file-local values for constants to be used in table formulas. This
12695line set the local variable @code{org-table-formula-constants-local}. 12714line sets the local variable @code{org-table-formula-constants-local}.
12696The global version of this variable is 12715The global version of this variable is
12697@code{org-table-formula-constants}. 12716@code{org-table-formula-constants}.
12698@item #+FILETAGS: :tag1:tag2:tag3: 12717@item #+FILETAGS: :tag1:tag2:tag3:
@@ -12713,7 +12732,7 @@ These lines (several are allowed) specify link abbreviations.
12713@vindex org-default-priority 12732@vindex org-default-priority
12714This line sets the limits and the default for the priorities. All three 12733This line sets the limits and the default for the priorities. All three
12715must be either letters A-Z or numbers 0-9. The highest priority must 12734must be either letters A-Z or numbers 0-9. The highest priority must
12716have a lower ASCII number that the lowest priority. 12735have a lower ASCII number than the lowest priority.
12717@item #+PROPERTY: Property_Name Value 12736@item #+PROPERTY: Property_Name Value
12718This line sets a default inheritance value for entries in the current 12737This line sets a default inheritance value for entries in the current
12719buffer, most useful for specifying the allowed values of a property. 12738buffer, most useful for specifying the allowed values of a property.
@@ -12894,12 +12913,12 @@ hideblocks @r{Hide all begin/end blocks on startup}
12894nohideblocks @r{Do not hide blocks on startup} 12913nohideblocks @r{Do not hide blocks on startup}
12895@end example 12914@end example
12896@cindex org-pretty-entities 12915@cindex org-pretty-entities
12897The the display of entities as UTF8 characters is governed by the variable 12916The display of entities as UTF-8 characters is governed by the variable
12898@code{org-pretty-entities} and the keywords 12917@code{org-pretty-entities} and the keywords
12899@cindex @code{entitiespretty}, STARTUP keyword 12918@cindex @code{entitiespretty}, STARTUP keyword
12900@cindex @code{entitiesplain}, STARTUP keyword 12919@cindex @code{entitiesplain}, STARTUP keyword
12901@example 12920@example
12902entitiespretty @r{Show entities as UTF8 characters where possible} 12921entitiespretty @r{Show entities as UTF-8 characters where possible}
12903entitiesplain @r{Leave entities plain} 12922entitiesplain @r{Leave entities plain}
12904@end example 12923@end example
12905@item #+TAGS: TAG1(c1) TAG2(c2) 12924@item #+TAGS: TAG1(c1) TAG2(c2)
@@ -13023,7 +13042,7 @@ individual files using
13023#+STARTUP: indent 13042#+STARTUP: indent
13024@end example 13043@end example
13025 13044
13026If you want a similar effect in earlier version of Emacs and/or Org, or if 13045If you want a similar effect in an earlier version of Emacs and/or Org, or if
13027you want the indentation to be hard space characters so that the plain text 13046you want the indentation to be hard space characters so that the plain text
13028file looks as similar as possible to the Emacs display, Org supports you in 13047file looks as similar as possible to the Emacs display, Org supports you in
13029the following way: 13048the following way:
@@ -13181,7 +13200,7 @@ setup. See the installation instructions in the file
13181@cindex @file{cdlatex.el} 13200@cindex @file{cdlatex.el}
13182@cindex Dominik, Carsten 13201@cindex Dominik, Carsten
13183Org-mode can make use of the CDLa@TeX{} package to efficiently enter 13202Org-mode can make use of the CDLa@TeX{} package to efficiently enter
13184La@TeX{} fragments into Org files. See @ref{CDLaTeX mode}. 13203@LaTeX{} fragments into Org files. See @ref{CDLaTeX mode}.
13185@item @file{imenu.el} by Ake Stenhoff and Lars Lindberg 13204@item @file{imenu.el} by Ake Stenhoff and Lars Lindberg
13186@cindex @file{imenu.el} 13205@cindex @file{imenu.el}
13187Imenu allows menu access to an index of items in a file. Org-mode 13206Imenu allows menu access to an index of items in a file. Org-mode
@@ -13221,12 +13240,10 @@ these tables directly in the buffer. Instead, you need to use the command
13221@kbd{C-c '} to edit them, similar to source code snippets. 13240@kbd{C-c '} to edit them, similar to source code snippets.
13222 13241
13223@table @kbd 13242@table @kbd
13224@kindex C-c ' 13243@orgcmd{C-c ',org-edit-special}
13225@item C-c '
13226Edit a @file{table.el} table. Works when the cursor is in a table.el table. 13244Edit a @file{table.el} table. Works when the cursor is in a table.el table.
13227@c 13245@c
13228@kindex C-c ~ 13246@orgcmd{C-c ~,org-table-create-with-table.el}
13229@item C-c ~
13230Insert a @file{table.el} table. If there is already a table at point, this 13247Insert a @file{table.el} table. If there is already a table at point, this
13231command converts it between the @file{table.el} format and the Org-mode 13248command converts it between the @file{table.el} format and the Org-mode
13232format. See the documentation string of the command 13249format. See the documentation string of the command
@@ -13288,7 +13305,7 @@ to have other replacement keys, look at the variable
13288@item @file{yasnippet.el} 13305@item @file{yasnippet.el}
13289@cindex @file{yasnippet.el} 13306@cindex @file{yasnippet.el}
13290The way Org-mode binds the TAB key (binding to @code{[tab]} instead of 13307The way Org-mode binds the TAB key (binding to @code{[tab]} instead of
13291@code{"\t"}) overrules yasnippets' access to this key. The following code 13308@code{"\t"}) overrules YASnippet's access to this key. The following code
13292fixed this problem: 13309fixed this problem:
13293 13310
13294@lisp 13311@lisp
@@ -13341,7 +13358,7 @@ Org.
13341* Add-on packages:: Available extensions 13358* Add-on packages:: Available extensions
13342* Adding hyperlink types:: New custom link types 13359* Adding hyperlink types:: New custom link types
13343* Context-sensitive commands:: How to add functionality to such commands 13360* Context-sensitive commands:: How to add functionality to such commands
13344* Tables in arbitrary syntax:: Orgtbl for La@TeX{} and other programs 13361* Tables in arbitrary syntax:: Orgtbl for @LaTeX{} and other programs
13345* Dynamic blocks:: Automatically filled blocks 13362* Dynamic blocks:: Automatically filled blocks
13346* Special agenda views:: Customized views 13363* Special agenda views:: Customized views
13347* Extracting agenda information:: Postprocessing of agenda information 13364* Extracting agenda information:: Postprocessing of agenda information
@@ -13470,7 +13487,7 @@ can also set the @code{:description} property to provide a default for
13470the link description when the link is later inserted into an Org 13487the link description when the link is later inserted into an Org
13471buffer with @kbd{C-c C-l}. 13488buffer with @kbd{C-c C-l}.
13472 13489
13473When is makes sense for your new link type, you may also define a function 13490When it makes sense for your new link type, you may also define a function
13474@code{org-PREFIX-complete-link} that implements special (e.g. completion) 13491@code{org-PREFIX-complete-link} that implements special (e.g. completion)
13475support for inserting such a link with @kbd{C-c C-l}. Such a function should 13492support for inserting such a link with @kbd{C-c C-l}. Such a function should
13476not accept any arguments, and return the full link with prefix. 13493not accept any arguments, and return the full link with prefix.
@@ -13521,7 +13538,7 @@ contexts. If the function finds it should do nothing locally, it returns @code{
13521 13538
13522Since Orgtbl mode can be used as a minor mode in arbitrary buffers, a 13539Since Orgtbl mode can be used as a minor mode in arbitrary buffers, a
13523frequent feature request has been to make it work with native tables in 13540frequent feature request has been to make it work with native tables in
13524specific languages, for example La@TeX{}. However, this is extremely 13541specific languages, for example @LaTeX{}. However, this is extremely
13525hard to do in a general way, would lead to a customization nightmare, 13542hard to do in a general way, would lead to a customization nightmare,
13526and would take away much of the simplicity of the Orgtbl-mode table 13543and would take away much of the simplicity of the Orgtbl-mode table
13527editor. 13544editor.
@@ -13536,7 +13553,7 @@ for a very flexible system.
13536Bastien added the ability to do the same with lists, in Orgstruct mode. You 13553Bastien added the ability to do the same with lists, in Orgstruct mode. You
13537can use Org's facilities to edit and structure lists by turning 13554can use Org's facilities to edit and structure lists by turning
13538@code{orgstruct-mode} on, then locally exporting such lists in another format 13555@code{orgstruct-mode} on, then locally exporting such lists in another format
13539(HTML, La@TeX{} or Texinfo.) 13556(HTML, @LaTeX{} or Texinfo.)
13540 13557
13541 13558
13542@menu 13559@menu
@@ -13594,7 +13611,7 @@ additional columns.
13594@noindent 13611@noindent
13595The one problem remaining is how to keep the source table in the buffer 13612The one problem remaining is how to keep the source table in the buffer
13596without disturbing the normal workings of the file, for example during 13613without disturbing the normal workings of the file, for example during
13597compilation of a C file or processing of a La@TeX{} file. There are a 13614compilation of a C file or processing of a @LaTeX{} file. There are a
13598number of different solutions: 13615number of different solutions:
13599 13616
13600@itemize @bullet 13617@itemize @bullet
@@ -13605,7 +13622,7 @@ language. For example, in C mode you could wrap the table between
13605@item 13622@item
13606Sometimes it is possible to put the table after some kind of @i{END} 13623Sometimes it is possible to put the table after some kind of @i{END}
13607statement, for example @samp{\bye} in @TeX{} and @samp{\end@{document@}} 13624statement, for example @samp{\bye} in @TeX{} and @samp{\end@{document@}}
13608in La@TeX{}. 13625in @LaTeX{}.
13609@item 13626@item
13610You can just comment the table line-by-line whenever you want to process 13627You can just comment the table line-by-line whenever you want to process
13611the file, and uncomment it whenever you need to edit the table. This 13628the file, and uncomment it whenever you need to edit the table. This
@@ -13615,14 +13632,14 @@ key.
13615@end itemize 13632@end itemize
13616 13633
13617@node A LaTeX example, Translator functions, Radio tables, Tables in arbitrary syntax 13634@node A LaTeX example, Translator functions, Radio tables, Tables in arbitrary syntax
13618@subsection A La@TeX{} example of radio tables 13635@subsection A @LaTeX{} example of radio tables
13619@cindex La@TeX{}, and Orgtbl mode 13636@cindex @LaTeX{}, and Orgtbl mode
13620 13637
13621The best way to wrap the source table in La@TeX{} is to use the 13638The best way to wrap the source table in @LaTeX{} is to use the
13622@code{comment} environment provided by @file{comment.sty}. It has to be 13639@code{comment} environment provided by @file{comment.sty}. It has to be
13623activated by placing @code{\usepackage@{comment@}} into the document 13640activated by placing @code{\usepackage@{comment@}} into the document
13624header. Orgtbl mode can insert a radio table skeleton@footnote{By 13641header. Orgtbl mode can insert a radio table skeleton@footnote{By
13625default this works only for La@TeX{}, HTML, and Texinfo. Configure the 13642default this works only for @LaTeX{}, HTML, and Texinfo. Configure the
13626variable @code{orgtbl-radio-tables} to install templates for other 13643variable @code{orgtbl-radio-tables} to install templates for other
13627modes.} with the command @kbd{M-x orgtbl-insert-radio-table}. You will 13644modes.} with the command @kbd{M-x orgtbl-insert-radio-table}. You will
13628be prompted for a table name, let's say we use @samp{salesfigures}. You 13645be prompted for a table name, let's say we use @samp{salesfigures}. You
@@ -13639,13 +13656,13 @@ will then get the following template:
13639@end example 13656@end example
13640 13657
13641@noindent 13658@noindent
13642@vindex La@TeX{}-verbatim-environments 13659@vindex @LaTeX{}-verbatim-environments
13643The @code{#+ORGTBL: SEND} line tells Orgtbl mode to use the function 13660The @code{#+ORGTBL: SEND} line tells Orgtbl mode to use the function
13644@code{orgtbl-to-latex} to convert the table into La@TeX{} and to put it 13661@code{orgtbl-to-latex} to convert the table into @LaTeX{} and to put it
13645into the receiver location with name @code{salesfigures}. You may now 13662into the receiver location with name @code{salesfigures}. You may now
13646fill in the table, feel free to use the spreadsheet features@footnote{If 13663fill in the table---feel free to use the spreadsheet features@footnote{If
13647the @samp{#+TBLFM} line contains an odd number of dollar characters, 13664the @samp{#+TBLFM} line contains an odd number of dollar characters,
13648this may cause problems with font-lock in La@TeX{} mode. As shown in the 13665this may cause problems with font-lock in @LaTeX{} mode. As shown in the
13649example you can fix this by adding an extra line inside the 13666example you can fix this by adding an extra line inside the
13650@code{comment} environment that is used to balance the dollar 13667@code{comment} environment that is used to balance the dollar
13651expressions. If you are using AUC@TeX{} with the font-latex library, a 13668expressions. If you are using AUC@TeX{} with the font-latex library, a
@@ -13695,7 +13712,7 @@ Month & \multicolumn@{1@}@{c@}@{Days@} & Nr.\ sold & per day\\
13695\end@{comment@} 13712\end@{comment@}
13696@end example 13713@end example
13697 13714
13698The La@TeX{} translator function @code{orgtbl-to-latex} is already part of 13715The @LaTeX{} translator function @code{orgtbl-to-latex} is already part of
13699Orgtbl mode. It uses a @code{tabular} environment to typeset the table 13716Orgtbl mode. It uses a @code{tabular} environment to typeset the table
13700and marks horizontal lines with @code{\hline}. Furthermore, it 13717and marks horizontal lines with @code{\hline}. Furthermore, it
13701interprets the following parameters (see also @pxref{Translator functions}): 13718interprets the following parameters (see also @pxref{Translator functions}):
@@ -13759,7 +13776,7 @@ As you can see, the properties passed into the function (variable
13759@var{PARAMS}) are combined with the ones newly defined in the function 13776@var{PARAMS}) are combined with the ones newly defined in the function
13760(variable @var{PARAMS2}). The ones passed into the function (i.e. the 13777(variable @var{PARAMS2}). The ones passed into the function (i.e. the
13761ones set by the @samp{ORGTBL SEND} line) take precedence. So if you 13778ones set by the @samp{ORGTBL SEND} line) take precedence. So if you
13762would like to use the La@TeX{} translator, but wanted the line endings to 13779would like to use the @LaTeX{} translator, but wanted the line endings to
13763be @samp{\\[2mm]} instead of the default @samp{\\}, you could just 13780be @samp{\\[2mm]} instead of the default @samp{\\}, you could just
13764overrule the default with 13781overrule the default with
13765 13782
@@ -13768,7 +13785,7 @@ overrule the default with
13768@end example 13785@end example
13769 13786
13770For a new language, you can either write your own converter function in 13787For a new language, you can either write your own converter function in
13771analogy with the La@TeX{} translator, or you can use the generic function 13788analogy with the @LaTeX{} translator, or you can use the generic function
13772directly. For example, if you have a language where a table is started 13789directly. For example, if you have a language where a table is started
13773with @samp{!BTBL!}, ended with @samp{!ETBL!}, and where table lines are 13790with @samp{!BTBL!}, ended with @samp{!ETBL!}, and where table lines are
13774started with @samp{!BL!}, ended with @samp{!EL!}, and where the field 13791started with @samp{!BL!}, ended with @samp{!EL!}, and where the field
@@ -13802,9 +13819,9 @@ others can benefit from your work.
13802@cindex radio lists 13819@cindex radio lists
13803@cindex org-list-insert-radio-list 13820@cindex org-list-insert-radio-list
13804 13821
13805Sending and receiving radio lists works exactly the same way than sending and 13822Sending and receiving radio lists works exactly the same way as sending and
13806receiving radio tables (@pxref{Radio tables}). As for radio tables, you can 13823receiving radio tables (@pxref{Radio tables}). As for radio tables, you can
13807insert radio lists templates in HTML, La@TeX{} and Texinfo modes by calling 13824insert radio list templates in HTML, @LaTeX{} and Texinfo modes by calling
13808@code{org-list-insert-radio-list}. 13825@code{org-list-insert-radio-list}.
13809 13826
13810Here are the differences with radio tables: 13827Here are the differences with radio tables:
@@ -13821,8 +13838,8 @@ parameters.
13821@kbd{C-c C-c} will work when pressed on the first item of the list. 13838@kbd{C-c C-c} will work when pressed on the first item of the list.
13822@end itemize 13839@end itemize
13823 13840
13824Here is a La@TeX{} example. Let's say that you have this in your 13841Here is a @LaTeX{} example. Let's say that you have this in your
13825La@TeX{} file: 13842@LaTeX{} file:
13826 13843
13827@cindex #+ORGLST 13844@cindex #+ORGLST
13828@example 13845@example
@@ -13839,7 +13856,7 @@ La@TeX{} file:
13839@end example 13856@end example
13840 13857
13841Pressing `C-c C-c' on @code{a new house} and will insert the converted 13858Pressing `C-c C-c' on @code{a new house} and will insert the converted
13842La@TeX{} list between the two marker lines. 13859@LaTeX{} list between the two marker lines.
13843 13860
13844@node Dynamic blocks, Special agenda views, Tables in arbitrary syntax, Hacking 13861@node Dynamic blocks, Special agenda views, Tables in arbitrary syntax, Hacking
13845@section Dynamic blocks 13862@section Dynamic blocks
@@ -13850,11 +13867,11 @@ specially marked regions that are updated by some user-written function.
13850A good example for such a block is the clock table inserted by the 13867A good example for such a block is the clock table inserted by the
13851command @kbd{C-c C-x C-r} (@pxref{Clocking work time}). 13868command @kbd{C-c C-x C-r} (@pxref{Clocking work time}).
13852 13869
13853Dynamic block are enclosed by a BEGIN-END structure that assigns a name 13870Dynamic blocks are enclosed by a BEGIN-END structure that assigns a name
13854to the block and can also specify parameters for the function producing 13871to the block and can also specify parameters for the function producing
13855the content of the block. 13872the content of the block.
13856 13873
13857#+BEGIN:dynamic block 13874@cindex #+BEGIN:dynamic block
13858@example 13875@example
13859#+BEGIN: myblock :parameter1 value1 :parameter2 value2 ... 13876#+BEGIN: myblock :parameter1 value1 :parameter2 value2 ...
13860 13877
@@ -13864,11 +13881,9 @@ the content of the block.
13864Dynamic blocks are updated with the following commands 13881Dynamic blocks are updated with the following commands
13865 13882
13866@table @kbd 13883@table @kbd
13867@kindex C-c C-x C-u 13884@orgcmd{C-c C-x C-u,org-dblock-update}
13868@item C-c C-x C-u
13869Update dynamic block at point. 13885Update dynamic block at point.
13870@kindex C-u C-c C-x C-u 13886@orgkey{C-u C-c C-x C-u}
13871@item C-u C-c C-x C-u
13872Update all dynamic blocks in the current file. 13887Update all dynamic blocks in the current file.
13873@end table 13888@end table
13874 13889
@@ -14037,7 +14052,7 @@ You may also modify parameters on the fly like this:
14037@example 14052@example
14038emacs -batch -l ~/.emacs \ 14053emacs -batch -l ~/.emacs \
14039 -eval '(org-batch-agenda "a" \ 14054 -eval '(org-batch-agenda "a" \
14040 org-agenda-ndays 30 \ 14055 org-agenda-span month \
14041 org-agenda-include-diary nil \ 14056 org-agenda-include-diary nil \
14042 org-agenda-files (quote ("~/org/project.org")))' \ 14057 org-agenda-files (quote ("~/org/project.org")))' \
14043 | lpr 14058 | lpr
@@ -14115,7 +14130,7 @@ properties.
14115Get all properties of the entry at point-or-marker POM.@* 14130Get all properties of the entry at point-or-marker POM.@*
14116This includes the TODO keyword, the tags, time strings for deadline, 14131This includes the TODO keyword, the tags, time strings for deadline,
14117scheduled, and clocking, and any additional properties defined in the 14132scheduled, and clocking, and any additional properties defined in the
14118entry. The return value is an alist, keys may occur multiple times 14133entry. The return value is an alist. Keys may occur multiple times
14119if the property key was used several times.@* 14134if the property key was used several times.@*
14120POM may also be nil, in which case the current entry is used. 14135POM may also be nil, in which case the current entry is used.
14121If WHICH is nil or `all', get all properties. If WHICH is 14136If WHICH is nil or `all', get all properties. If WHICH is
@@ -14173,7 +14188,7 @@ values and check if VALUE is in this list.
14173@end defun 14188@end defun
14174 14189
14175@defopt org-property-allowed-value-functions 14190@defopt org-property-allowed-value-functions
14176Hook for functions supplying allowed values for specific. 14191Hook for functions supplying allowed values for a specific property.
14177The functions must take a single argument, the name of the property, and 14192The functions must take a single argument, the name of the property, and
14178return a flat list of allowed values. If @samp{:ETC} is one of 14193return a flat list of allowed values. If @samp{:ETC} is one of
14179the values, use the values as completion help, but allow also other values 14194the values, use the values as completion help, but allow also other values
@@ -14252,12 +14267,12 @@ information about the entry, or in order to change metadata in the entry.
14252Here are a couple of functions that might be handy: 14267Here are a couple of functions that might be handy:
14253 14268
14254@defun org-todo &optional arg 14269@defun org-todo &optional arg
14255Change the TODO state of the entry, see the docstring of the functions for 14270Change the TODO state of the entry. See the docstring of the functions for
14256the many possible values for the argument ARG. 14271the many possible values for the argument ARG.
14257@end defun 14272@end defun
14258 14273
14259@defun org-priority &optional action 14274@defun org-priority &optional action
14260Change the priority of the entry, see the docstring of this function for the 14275Change the priority of the entry. See the docstring of this function for the
14261possible values for ACTION. 14276possible values for ACTION.
14262@end defun 14277@end defun
14263 14278
@@ -14325,7 +14340,7 @@ in-buffer settings, but it will understand the logistics of TODO state
14325@node Setting up the staging area, Pushing to MobileOrg, MobileOrg, MobileOrg 14340@node Setting up the staging area, Pushing to MobileOrg, MobileOrg, MobileOrg
14326@section Setting up the staging area 14341@section Setting up the staging area
14327 14342
14328MobileOrg needs to interact with Emacs through directory on a server. If you 14343MobileOrg needs to interact with Emacs through a directory on a server. If you
14329are using a public server, you should consider to encrypt the files that are 14344are using a public server, you should consider to encrypt the files that are
14330uploaded to the server. This can be done with Org-mode 7.02 and with 14345uploaded to the server. This can be done with Org-mode 7.02 and with
14331@i{MobileOrg 1.5} (iPhone version), and you need an @file{openssl} 14346@i{MobileOrg 1.5} (iPhone version), and you need an @file{openssl}
@@ -14340,8 +14355,7 @@ variable. Note that encryption will apply only to the contents of the
14340The easiest way to create that directory is to use a free 14355The easiest way to create that directory is to use a free
14341@uref{http://dropbox.com,Dropbox.com} account@footnote{If you cannot use 14356@uref{http://dropbox.com,Dropbox.com} account@footnote{If you cannot use
14342Dropbox, or if your version of MobileOrg does not support it, you can use a 14357Dropbox, or if your version of MobileOrg does not support it, you can use a
14343webdav server. For more information, check out the the documentation of 14358webdav server. For more information, check out the documentation of MobileOrg and also this
14344MobileOrg and also this
14345@uref{http://orgmode.org/worg/org-faq.php#mobileorg_webdav, FAQ entry}.}. 14359@uref{http://orgmode.org/worg/org-faq.php#mobileorg_webdav, FAQ entry}.}.
14346When MobileOrg first connects to your Dropbox, it will create a directory 14360When MobileOrg first connects to your Dropbox, it will create a directory
14347@i{MobileOrg} inside the Dropbox. After the directory has been created, tell 14361@i{MobileOrg} inside the Dropbox. After the directory has been created, tell
@@ -14361,7 +14375,7 @@ This operation copies all files currently listed in @code{org-mobile-files}
14361to the directory @code{org-mobile-directory}. By default this list contains 14375to the directory @code{org-mobile-directory}. By default this list contains
14362all agenda files (as listed in @code{org-agenda-files}), but additional files 14376all agenda files (as listed in @code{org-agenda-files}), but additional files
14363can be included by customizing @code{org-mobiles-files}. File names will be 14377can be included by customizing @code{org-mobiles-files}. File names will be
14364staged with path relative to @code{org-directory}, so all files should be 14378staged with paths relative to @code{org-directory}, so all files should be
14365inside this directory. The push operation also creates a special Org file 14379inside this directory. The push operation also creates a special Org file
14366@file{agendas.org} with all custom agenda view defined by the 14380@file{agendas.org} with all custom agenda view defined by the
14367user@footnote{While creating the agendas, Org-mode will force ID properties 14381user@footnote{While creating the agendas, Org-mode will force ID properties
@@ -14415,7 +14429,7 @@ another window and also push it onto the kill ring. So you could use @kbd{?
14415z C-y C-c C-c} to store that flagging note as a normal note in the entry. 14429z C-y C-c C-c} to store that flagging note as a normal note in the entry.
14416Pressing @kbd{?} twice in succession will offer to remove the 14430Pressing @kbd{?} twice in succession will offer to remove the
14417@code{:FLAGGED:} tag along with the recorded flagging note (which is stored 14431@code{:FLAGGED:} tag along with the recorded flagging note (which is stored
14418in a property). In this way you indicate, that the intended processing for 14432in a property). In this way you indicate that the intended processing for
14419this flagged entry is finished. 14433this flagged entry is finished.
14420@end table 14434@end table
14421@end enumerate 14435@end enumerate
@@ -14475,12 +14489,12 @@ Eric and Dan are jointly responsible for the Org-babel system, which turns
14475Org into a multi-language environment for evaluating code and doing literate 14489Org into a multi-language environment for evaluating code and doing literate
14476programming and reproducible research. 14490programming and reproducible research.
14477@item John Wiegley 14491@item John Wiegley
14478John has also contributed a number of great ideas and patches 14492John has contributed a number of great ideas and patches directly to Org,
14479directly to Org, including the attachment system (@file{org-attach.el}), 14493including the attachment system (@file{org-attach.el}), integration with
14480integration with Apple Mail (@file{org-mac-message.el}), hierarchical 14494Apple Mail (@file{org-mac-message.el}), hierarchical dependencies of TODO
14481dependencies of TODO items, habit tracking (@file{org-habits.el}), and 14495items, habit tracking (@file{org-habits.el}), and encryption
14482encryption (@file{org-crypt.el}). Also, the capture system is really an 14496(@file{org-crypt.el}). Also, the capture system is really an extended copy
14483extended copy of his great @file{remember.el}. 14497of his great @file{remember.el}.
14484@item Sebastian Rose 14498@item Sebastian Rose
14485Without Sebastian, the HTML/XHTML publishing of Org would be the pitiful work 14499Without Sebastian, the HTML/XHTML publishing of Org would be the pitiful work
14486of an ignorant amateur. Sebastian has pushed this part of Org onto a much 14500of an ignorant amateur. Sebastian has pushed this part of Org onto a much
@@ -14537,8 +14551,9 @@ asked for a way to narrow wide table columns.
14537@i{Thomas S. Dye} contributed documentation on Worg and helped integrating 14551@i{Thomas S. Dye} contributed documentation on Worg and helped integrating
14538the Org-Babel documentation into the manual. 14552the Org-Babel documentation into the manual.
14539@item 14553@item
14540@i{Christian Egli} converted the documentation into Texinfo format, 14554@i{Christian Egli} converted the documentation into Texinfo format, inspired
14541patched CSS formatting into the HTML exporter, and inspired the agenda. 14555the agenda, patched CSS formatting into the HTML exporter, and wrote
14556@file{org-taskjuggler.el}.
14542@item 14557@item
14543@i{David Emery} provided a patch for custom CSS support in exported 14558@i{David Emery} provided a patch for custom CSS support in exported
14544HTML agendas. 14559HTML agendas.
@@ -14556,12 +14571,21 @@ around a match in a hidden outline tree.
14556@item 14571@item
14557@i{Austin Frank} works as a mailing list moderator. 14572@i{Austin Frank} works as a mailing list moderator.
14558@item 14573@item
14574@i{Eric Fraga} drove the development of BEAMER export with ideas and
14575testing.
14576@item
14577@i{Barry Gidden} did proofreading the manual in preparation for the book
14578publication through Network Theory Ltd.
14579@item
14559@i{Niels Giesen} had the idea to automatically archive DONE trees. 14580@i{Niels Giesen} had the idea to automatically archive DONE trees.
14560@item 14581@item
14561@i{Nicolas Goaziou} rewrote much of the plain list code. 14582@i{Nicolas Goaziou} rewrote much of the plain list code.
14562@item 14583@item
14563@i{Kai Grossjohann} pointed out key-binding conflicts with other packages. 14584@i{Kai Grossjohann} pointed out key-binding conflicts with other packages.
14564@item 14585@item
14586@i{Brian Gough} of Network Theory Ltd publishes the Org mode manual as a
14587book.
14588@item
14565@i{Bernt Hansen} has driven much of the support for auto-repeating tasks, 14589@i{Bernt Hansen} has driven much of the support for auto-repeating tasks,
14566task state change logging, and the clocktable. His clear explanations have 14590task state change logging, and the clocktable. His clear explanations have
14567been critical when we started to adopt the Git version control system. 14591been critical when we started to adopt the Git version control system.
@@ -14578,7 +14602,7 @@ folded entries, and column view for properties.
14578@item 14602@item
14579@i{Tokuya Kameshima} wrote @file{org-wl.el} and @file{org-mew.el}. 14603@i{Tokuya Kameshima} wrote @file{org-wl.el} and @file{org-mew.el}.
14580@item 14604@item
14581@i{Shidai Liu} ("Leo") asked for embedded La@TeX{} and tested it. He also 14605@i{Shidai Liu} ("Leo") asked for embedded @LaTeX{} and tested it. He also
14582provided frequent feedback and some patches. 14606provided frequent feedback and some patches.
14583@item 14607@item
14584@i{Matt Lundin} has proposed last-row references for table formulas and named 14608@i{Matt Lundin} has proposed last-row references for table formulas and named
@@ -14610,7 +14634,7 @@ and being able to quickly restrict the agenda to a subtree.
14610@i{Tim O'Callaghan} suggested in-file links, search options for general 14634@i{Tim O'Callaghan} suggested in-file links, search options for general
14611file links, and TAGS. 14635file links, and TAGS.
14612@item 14636@item
14613@i{Osamu Okano} wrote @file{orgcard2ref.pl}, a perl program to create a text 14637@i{Osamu Okano} wrote @file{orgcard2ref.pl}, a Perl program to create a text
14614version of the reference card. 14638version of the reference card.
14615@item 14639@item
14616@i{Takeshi Okano} translated the manual and David O'Toole's tutorial 14640@i{Takeshi Okano} translated the manual and David O'Toole's tutorial
@@ -14680,6 +14704,9 @@ with links transformation to Org syntax.
14680@i{David O'Toole} wrote @file{org-publish.el} and drafted the manual 14704@i{David O'Toole} wrote @file{org-publish.el} and drafted the manual
14681chapter about publishing. 14705chapter about publishing.
14682@item 14706@item
14707@i{Sebastien Vauban} reported many issues with LaTeX and BEAMER export and
14708enabled source code highlighling in Gnus.
14709@item
14683@i{Stefan Vollmar} organized a video-recorded talk at the 14710@i{Stefan Vollmar} organized a video-recorded talk at the
14684Max-Planck-Institute for Neurology. He also inspired the creation of a 14711Max-Planck-Institute for Neurology. He also inspired the creation of a
14685concept index for HTML export. 14712concept index for HTML export.
@@ -14739,6 +14766,8 @@ org-customize @key{RET}} and then click yourself through the tree.
14739@c Local variables: 14766@c Local variables:
14740@c fill-column: 77 14767@c fill-column: 77
14741@c indent-tabs-mode: nil 14768@c indent-tabs-mode: nil
14769@c paragraph-start: "\\|^@[a-zA-Z]*[ \n]\\|^@x?org\\(key\\|cmd\\)\\|\f\\|[ ]*$"
14770@c paragraph-separate: "\\|^@[a-zA-Z]*[ \n]\\|^@x?org\\(key\\|cmd\\)\\|[ \f]*$"
14742@c End: 14771@c End:
14743 14772
14744 14773