diff options
| author | Carsten Dominik | 2008-03-13 08:50:59 +0000 |
|---|---|---|
| committer | Carsten Dominik | 2008-03-13 08:50:59 +0000 |
| commit | 28a16a1bf0f8a302d13c30bfe49f785068edde95 (patch) | |
| tree | 9b8d604bb2781ccd0472d2023d930c85bad6296d /doc/misc | |
| parent | 5e97c6261a32edf4052b9194d96b06deacf724b4 (diff) | |
| download | emacs-28a16a1bf0f8a302d13c30bfe49f785068edde95.tar.gz emacs-28a16a1bf0f8a302d13c30bfe49f785068edde95.zip | |
* org.texi (Exporting Agenda Views): Document agenda export to
iCalendar.
(Progress logging): Document the new progress logging
stuff.
Diffstat (limited to 'doc/misc')
| -rw-r--r-- | doc/misc/org.texi | 633 |
1 files changed, 423 insertions, 210 deletions
diff --git a/doc/misc/org.texi b/doc/misc/org.texi index 090749933a6..9c36b39208d 100644 --- a/doc/misc/org.texi +++ b/doc/misc/org.texi | |||
| @@ -3,8 +3,8 @@ | |||
| 3 | @setfilename ../../info/org | 3 | @setfilename ../../info/org |
| 4 | @settitle Org Mode Manual | 4 | @settitle Org Mode Manual |
| 5 | 5 | ||
| 6 | @set VERSION 5.19 | 6 | @set VERSION 5.23 |
| 7 | @set DATE January 2008 | 7 | @set DATE March 2008 |
| 8 | 8 | ||
| 9 | @dircategory Emacs | 9 | @dircategory Emacs |
| 10 | @direntry | 10 | @direntry |
| @@ -90,8 +90,8 @@ Software Foundation raise funds for GNU development.'' | |||
| 90 | * Publishing:: Create a web site of linked Org-mode files | 90 | * Publishing:: Create a web site of linked Org-mode files |
| 91 | * Miscellaneous:: All the rest which did not fit elsewhere | 91 | * Miscellaneous:: All the rest which did not fit elsewhere |
| 92 | * Extensions and Hacking:: It is possible to write add-on code | 92 | * Extensions and Hacking:: It is possible to write add-on code |
| 93 | * History and Acknowledgments:: How Org-mode came into being | 93 | * History and Acknowledgments:: How Org-mode came into being |
| 94 | * Main Index:: | 94 | * Main Index:: |
| 95 | * Key Index:: Key bindings and where they are described | 95 | * Key Index:: Key bindings and where they are described |
| 96 | 96 | ||
| 97 | @detailmenu | 97 | @detailmenu |
| @@ -126,7 +126,7 @@ Archiving | |||
| 126 | Tables | 126 | Tables |
| 127 | 127 | ||
| 128 | * Built-in table editor:: Simple tables | 128 | * Built-in table editor:: Simple tables |
| 129 | * Narrow columns:: Stop wasting space in tables | 129 | * Narrow columns:: Stop wasting space in tables |
| 130 | * Column groups:: Grouping to trigger vertical lines | 130 | * Column groups:: Grouping to trigger vertical lines |
| 131 | * orgtbl-mode:: The table editor as minor mode | 131 | * orgtbl-mode:: The table editor as minor mode |
| 132 | * The spreadsheet:: The table editor has spreadsheet capabilities. | 132 | * The spreadsheet:: The table editor has spreadsheet capabilities. |
| @@ -211,7 +211,7 @@ Dates and Times | |||
| 211 | * Time stamps:: Assigning a time to a tree entry | 211 | * Time stamps:: Assigning a time to a tree entry |
| 212 | * Creating timestamps:: Commands which insert timestamps | 212 | * Creating timestamps:: Commands which insert timestamps |
| 213 | * Deadlines and scheduling:: Planning your work | 213 | * Deadlines and scheduling:: Planning your work |
| 214 | * Clocking work time:: | 214 | * Clocking work time:: |
| 215 | 215 | ||
| 216 | Creating timestamps | 216 | Creating timestamps |
| 217 | 217 | ||
| @@ -245,6 +245,7 @@ The built-in agenda views | |||
| 245 | * Global TODO list:: All unfinished action items | 245 | * Global TODO list:: All unfinished action items |
| 246 | * Matching tags and properties:: Structured information with fine-tuned search | 246 | * Matching tags and properties:: Structured information with fine-tuned search |
| 247 | * Timeline:: Time-sorted view for single file | 247 | * Timeline:: Time-sorted view for single file |
| 248 | * Keyword search:: Finding entries by keyword | ||
| 248 | * Stuck projects:: Find projects you need to review | 249 | * Stuck projects:: Find projects you need to review |
| 249 | 250 | ||
| 250 | Presentation and sorting | 251 | Presentation and sorting |
| @@ -259,7 +260,7 @@ Custom agenda views | |||
| 259 | * Block agenda:: All the stuff you need in a single buffer | 260 | * Block agenda:: All the stuff you need in a single buffer |
| 260 | * Setting Options:: Changing the rules | 261 | * Setting Options:: Changing the rules |
| 261 | * Exporting Agenda Views:: Writing agendas to files. | 262 | * Exporting Agenda Views:: Writing agendas to files. |
| 262 | * Extracting Agenda Information for other programs:: | 263 | * Extracting Agenda Information for other programs:: |
| 263 | 264 | ||
| 264 | Embedded LaTeX | 265 | Embedded LaTeX |
| 265 | 266 | ||
| @@ -290,14 +291,14 @@ LaTeX export | |||
| 290 | 291 | ||
| 291 | * LaTeX export commands:: How to invoke LaTeX export | 292 | * LaTeX export commands:: How to invoke LaTeX export |
| 292 | * Quoting LaTeX code:: Incorporating literal LaTeX code | 293 | * Quoting LaTeX code:: Incorporating literal LaTeX code |
| 293 | * Sectioning structure:: | 294 | * Sectioning structure:: |
| 294 | 295 | ||
| 295 | Text interpretation by the exporter | 296 | Text interpretation by the exporter |
| 296 | 297 | ||
| 297 | * Comment lines:: Some lines will not be exported | 298 | * Comment lines:: Some lines will not be exported |
| 298 | * Initial text:: Text before the first headline | 299 | * Initial text:: Text before the first headline |
| 299 | * Footnotes:: Numbers like [1] | 300 | * Footnotes:: Numbers like [1] |
| 300 | * Quoted examples:: Inserting quoted chnuks of text | 301 | * Quoted examples:: Inserting quoted chnuks of text |
| 301 | * Enhancing text:: Subscripts, symbols and more | 302 | * Enhancing text:: Subscripts, symbols and more |
| 302 | * Export options:: How to influence the export settings | 303 | * Export options:: How to influence the export settings |
| 303 | 304 | ||
| @@ -833,12 +834,14 @@ plain list item, a new item is created (@pxref{Plain lists}). To force | |||
| 833 | creation of a new headline, use a prefix arg, or first press @key{RET} | 834 | creation of a new headline, use a prefix arg, or first press @key{RET} |
| 834 | to get to the beginning of the next line. When this command is used in | 835 | to get to the beginning of the next line. When this command is used in |
| 835 | the middle of a line, the line is split and the rest of the line becomes | 836 | the middle of a line, the line is split and the rest of the line becomes |
| 836 | the new headline. If the command is used at the beginning of a | 837 | the new headline@footnote{If you do not want the line to be split, |
| 837 | headline, the new headline is created before the current line. If at | 838 | customize the variable @code{org-M-RET-may-split-line}.}. If the |
| 838 | the beginning of any other line, the content of that line is made the | 839 | command is used at the beginning of a headline, the new headline is |
| 839 | new heading. If the command is used at the end of a folded subtree | 840 | created before the current line. If at the beginning of any other line, |
| 840 | (i.e. behind the ellipses at the end of a headline), then a headline | 841 | the content of that line is made the new heading. If the command is |
| 841 | like the current one will be inserted after the end of the subtree. | 842 | used at the end of a folded subtree (i.e. behind the ellipses at the end |
| 843 | of a headline), then a headline like the current one will be inserted | ||
| 844 | after the end of the subtree. | ||
| 842 | @kindex C-@key{RET} | 845 | @kindex C-@key{RET} |
| 843 | @item C-@key{RET} | 846 | @item C-@key{RET} |
| 844 | Insert a new heading after the current subtree, same level as the | 847 | Insert a new heading after the current subtree, same level as the |
| @@ -893,6 +896,13 @@ in each entry), by priority, and each of these in reverse order. You | |||
| 893 | can also supply your own function to extract the sorting key. With a | 896 | can also supply your own function to extract the sorting key. With a |
| 894 | @kbd{C-u} prefix, sorting will be case-sensitive. With two @kbd{C-u | 897 | @kbd{C-u} prefix, sorting will be case-sensitive. With two @kbd{C-u |
| 895 | C-u} prefixes, duplicate entries will also be removed. | 898 | C-u} prefixes, duplicate entries will also be removed. |
| 899 | @kindex C-c * | ||
| 900 | @item C-c * | ||
| 901 | Turn a normal line or plain list item into a headline (so that it | ||
| 902 | becomes a subheading at its location). Also turn a headline into a | ||
| 903 | normal line by removing the stars. If there is an active region, turn | ||
| 904 | all lines in the region into headlines. Or, if the first line is a | ||
| 905 | headline, remove the stars from all headlines in the region. | ||
| 896 | @end table | 906 | @end table |
| 897 | 907 | ||
| 898 | @cindex region, active | 908 | @cindex region, active |
| @@ -1015,6 +1025,12 @@ If you would like to have a special ARCHIVE location for a single entry | |||
| 1015 | or a (sub)tree, give the entry an @code{:ARCHIVE:} property with the | 1025 | or a (sub)tree, give the entry an @code{:ARCHIVE:} property with the |
| 1016 | location as the value (@pxref{Properties and columns}). | 1026 | location as the value (@pxref{Properties and columns}). |
| 1017 | 1027 | ||
| 1028 | When a subtree is moved, it receives a number of special properties that | ||
| 1029 | record context information like the file from where the entry came, it's | ||
| 1030 | outline path the archiving time etc. Configure the variable | ||
| 1031 | @code{org-archive-save-context-info} to adjust the amount of information | ||
| 1032 | added. | ||
| 1033 | |||
| 1018 | @node Sparse trees, Plain lists, Archiving, Document structure | 1034 | @node Sparse trees, Plain lists, Archiving, Document structure |
| 1019 | @section Sparse trees | 1035 | @section Sparse trees |
| 1020 | @cindex sparse trees | 1036 | @cindex sparse trees |
| @@ -1129,7 +1145,7 @@ Org-mode supports these lists by tuning filling and wrapping commands to | |||
| 1129 | deal with them correctly@footnote{Org-mode only changes the filling | 1145 | deal with them correctly@footnote{Org-mode only changes the filling |
| 1130 | settings for Emacs. For XEmacs, you should use Kyle E. Jones' | 1146 | settings for Emacs. For XEmacs, you should use Kyle E. Jones' |
| 1131 | @file{filladapt.el}. To turn this on, put into @file{.emacs}: | 1147 | @file{filladapt.el}. To turn this on, put into @file{.emacs}: |
| 1132 | @code{(require 'filladapt)}}. | 1148 | @code{(require 'filladapt)}}. |
| 1133 | 1149 | ||
| 1134 | The following commands act on items when the cursor is in the first line | 1150 | The following commands act on items when the cursor is in the first line |
| 1135 | of an item (the line with the bullet or number). | 1151 | of an item (the line with the bullet or number). |
| @@ -1150,11 +1166,12 @@ fixes the indentation of the curent line in a heuristic way. | |||
| 1150 | Insert new item at current level. With prefix arg, force a new heading | 1166 | Insert new item at current level. With prefix arg, force a new heading |
| 1151 | (@pxref{Structure editing}). If this command is used in the middle of a | 1167 | (@pxref{Structure editing}). If this command is used in the middle of a |
| 1152 | line, the line is @emph{split} and the rest of the line becomes the new | 1168 | line, the line is @emph{split} and the rest of the line becomes the new |
| 1153 | item. If this command is executed in the @emph{whitespace before a bullet or | 1169 | item@footnote{If you do not want the line to be split, customize the |
| 1154 | number}, the new item is created @emph{before} the current item. If the | 1170 | variable @code{org-M-RET-may-split-line}.}. If this command is executed |
| 1155 | command is executed in the white space before the text that is part of | 1171 | in the @emph{whitespace before a bullet or number}, the new item is |
| 1156 | an item but does not contain the bullet, a bullet is added to the | 1172 | created @emph{before} the current item. If the command is executed in |
| 1157 | current line. | 1173 | the white space before the text that is part of an item but does not |
| 1174 | contain the bullet, a bullet is added to the current line. | ||
| 1158 | @kindex M-S-@key{RET} | 1175 | @kindex M-S-@key{RET} |
| 1159 | @item M-S-@key{RET} | 1176 | @item M-S-@key{RET} |
| 1160 | Insert a new item with a checkbox (@pxref{Checkboxes}). | 1177 | Insert a new item with a checkbox (@pxref{Checkboxes}). |
| @@ -1191,6 +1208,10 @@ an ordered list, make sure the numbering is ok. | |||
| 1191 | Cycle the entire list level through the different itemize/enumerate | 1208 | Cycle the entire list level through the different itemize/enumerate |
| 1192 | bullets (@samp{-}, @samp{+}, @samp{*}, @samp{1.}, @samp{1)}). | 1209 | bullets (@samp{-}, @samp{+}, @samp{*}, @samp{1.}, @samp{1)}). |
| 1193 | With prefix arg, select the nth bullet from this list. | 1210 | With prefix arg, select the nth bullet from this list. |
| 1211 | If there is an active region when calling this, all lines will be | ||
| 1212 | converted to list items. If the first line already was a list item, any | ||
| 1213 | item markers will be removed from the list. Finally, even without an | ||
| 1214 | active region, a normal line will be converted into a list item. | ||
| 1194 | @end table | 1215 | @end table |
| 1195 | 1216 | ||
| 1196 | @node Drawers, orgstruct-mode, Plain lists, Document structure | 1217 | @node Drawers, orgstruct-mode, Plain lists, Document structure |
| @@ -1250,9 +1271,9 @@ silently in the shadow. | |||
| 1250 | 1271 | ||
| 1251 | Org-mode comes with a fast and intuitive table editor. Spreadsheet-like | 1272 | Org-mode comes with a fast and intuitive table editor. Spreadsheet-like |
| 1252 | calculations are supported in connection with the Emacs @file{calc} | 1273 | calculations are supported in connection with the Emacs @file{calc} |
| 1253 | package | 1274 | package |
| 1254 | @ifinfo | 1275 | @ifinfo |
| 1255 | (@pxref{Calc,,,calc,Gnu Emacs Calculator Manual}). | 1276 | (@pxref{Top,Calc,,calc,Gnu Emacs Calculator Manual}). |
| 1256 | @end ifinfo | 1277 | @end ifinfo |
| 1257 | @ifnotinfo | 1278 | @ifnotinfo |
| 1258 | (see the Emacs Calculator manual for more information about the Emacs | 1279 | (see the Emacs Calculator manual for more information about the Emacs |
| @@ -1261,7 +1282,7 @@ calculator). | |||
| 1261 | 1282 | ||
| 1262 | @menu | 1283 | @menu |
| 1263 | * Built-in table editor:: Simple tables | 1284 | * Built-in table editor:: Simple tables |
| 1264 | * Narrow columns:: Stop wasting space in tables | 1285 | * Narrow columns:: Stop wasting space in tables |
| 1265 | * Column groups:: Grouping to trigger vertical lines | 1286 | * Column groups:: Grouping to trigger vertical lines |
| 1266 | * orgtbl-mode:: The table editor as minor mode | 1287 | * orgtbl-mode:: The table editor as minor mode |
| 1267 | * The spreadsheet:: The table editor has spreadsheet capabilities. | 1288 | * The spreadsheet:: The table editor has spreadsheet capabilities. |
| @@ -1320,7 +1341,7 @@ If not, lines are split at whitespace into fields. You can use a prefix | |||
| 1320 | argument to force a specific separator: @kbd{C-u} forces CSV, @kbd{C-u | 1341 | argument to force a specific separator: @kbd{C-u} forces CSV, @kbd{C-u |
| 1321 | C-u} forces TAB, and a numeric argument N indicates that at least N | 1342 | C-u} forces TAB, and a numeric argument N indicates that at least N |
| 1322 | consequtive spaces, or alternatively a TAB will be the separator. | 1343 | consequtive spaces, or alternatively a TAB will be the separator. |
| 1323 | @* | 1344 | @* |
| 1324 | If there is no active region, this command creates an empty Org-mode | 1345 | If there is no active region, this command creates an empty Org-mode |
| 1325 | table. But it's easier just to start typing, like | 1346 | table. But it's easier just to start typing, like |
| 1326 | @kbd{|Name|Phone|Age @key{RET} |- @key{TAB}}. | 1347 | @kbd{|Name|Phone|Age @key{RET} |- @key{TAB}}. |
| @@ -1412,7 +1433,9 @@ the table is enlarged as needed. The process ignores horizontal separator | |||
| 1412 | lines. | 1433 | lines. |
| 1413 | @c | 1434 | @c |
| 1414 | @kindex C-c C-q | 1435 | @kindex C-c C-q |
| 1436 | @kindex M-@key{RET} | ||
| 1415 | @item C-c C-q | 1437 | @item C-c C-q |
| 1438 | @itemx M-@kbd{RET} | ||
| 1416 | Wrap several fields in a column like a paragraph. If there is an active | 1439 | Wrap several fields in a column like a paragraph. If there is an active |
| 1417 | region, and both point and mark are in the same column, the text in the | 1440 | region, and both point and mark are in the same column, the text in the |
| 1418 | column is wrapped to minimum width for the given number of lines. A | 1441 | column is wrapped to minimum width for the given number of lines. A |
| @@ -1655,7 +1678,7 @@ the value directly at the hline is used. | |||
| 1655 | 1678 | ||
| 1656 | @samp{0} refers to the current row and column. Also, if you omit | 1679 | @samp{0} refers to the current row and column. Also, if you omit |
| 1657 | either the column or the row part of the reference, the current | 1680 | either the column or the row part of the reference, the current |
| 1658 | row/column is implied. | 1681 | row/column is implied. |
| 1659 | 1682 | ||
| 1660 | Org-mode's references with @emph{unsigned} numbers are fixed references | 1683 | Org-mode's references with @emph{unsigned} numbers are fixed references |
| 1661 | in the sense that if you use the same reference in the formula for two | 1684 | in the sense that if you use the same reference in the formula for two |
| @@ -2126,8 +2149,8 @@ Do not export this line. Useful for lines that contain the narrowing | |||
| 2126 | 2149 | ||
| 2127 | Finally, just to whet your appetite on what can be done with the | 2150 | Finally, just to whet your appetite on what can be done with the |
| 2128 | fantastic @file{calc} package, here is a table that computes the Taylor | 2151 | fantastic @file{calc} package, here is a table that computes the Taylor |
| 2129 | series of degree @code{n} at location @code{x} for a couple of functions | 2152 | series of degree @code{n} at location @code{x} for a couple of |
| 2130 | (homework: try that with Excel :-) | 2153 | functions. |
| 2131 | 2154 | ||
| 2132 | @example | 2155 | @example |
| 2133 | @group | 2156 | @group |
| @@ -2172,7 +2195,7 @@ Org-mode will recognize plain URL-like links and activate them as | |||
| 2172 | clickable links. The general link format, however, looks like this: | 2195 | clickable links. The general link format, however, looks like this: |
| 2173 | 2196 | ||
| 2174 | @example | 2197 | @example |
| 2175 | [[link][description]] @r{or alternatively} [[link]] | 2198 | [[link][description]] @r{or alternatively} [[link]] |
| 2176 | @end example | 2199 | @end example |
| 2177 | 2200 | ||
| 2178 | Once a link in the buffer is complete (all brackets present), Org-mode | 2201 | Once a link in the buffer is complete (all brackets present), Org-mode |
| @@ -2268,6 +2291,7 @@ cursor on or at a target. | |||
| 2268 | @cindex links, external | 2291 | @cindex links, external |
| 2269 | @cindex GNUS links | 2292 | @cindex GNUS links |
| 2270 | @cindex BBDB links | 2293 | @cindex BBDB links |
| 2294 | @cindex IRC links | ||
| 2271 | @cindex URL links | 2295 | @cindex URL links |
| 2272 | @cindex file links | 2296 | @cindex file links |
| 2273 | @cindex VM links | 2297 | @cindex VM links |
| @@ -2280,20 +2304,20 @@ cursor on or at a target. | |||
| 2280 | @cindex elisp links | 2304 | @cindex elisp links |
| 2281 | 2305 | ||
| 2282 | Org-mode supports links to files, websites, Usenet and email messages, | 2306 | Org-mode supports links to files, websites, Usenet and email messages, |
| 2283 | and BBDB database entries. External links are URL-like locators. They | 2307 | BBDB database entries and links to both IRC conversations and their |
| 2284 | start with a short identifying string followed by a colon. There can be | 2308 | logs. External links are URL-like locators. They start with a short |
| 2285 | no space after the colon. The following list shows examples for each | 2309 | identifying string followed by a colon. There can be no space after |
| 2286 | link type. | 2310 | the colon. The following list shows examples for each link type. |
| 2287 | 2311 | ||
| 2288 | @example | 2312 | @example |
| 2289 | http://www.astro.uva.nl/~dominik @r{on the web} | 2313 | http://www.astro.uva.nl/~dominik @r{on the web} |
| 2290 | file:/home/dominik/images/jupiter.jpg @r{file, absolute path} | 2314 | file:/home/dominik/images/jupiter.jpg @r{file, absolute path} |
| 2291 | file:papers/last.pdf @r{file, relative path} | 2315 | file:papers/last.pdf @r{file, relative path} |
| 2292 | news:comp.emacs @r{Usenet link} | 2316 | news:comp.emacs @r{Usenet link} |
| 2293 | mailto:adent@@galaxy.net @r{Mail link} | 2317 | mailto:adent@@galaxy.net @r{Mail link} |
| 2294 | vm:folder @r{VM folder link} | 2318 | vm:folder @r{VM folder link} |
| 2295 | vm:folder#id @r{VM message link} | 2319 | vm:folder#id @r{VM message link} |
| 2296 | vm://myself@@some.where.org/folder#id @r{VM on remote machine} | 2320 | vm://myself@@some.where.org/folder#id @r{VM on remote machine} |
| 2297 | wl:folder @r{WANDERLUST folder link} | 2321 | wl:folder @r{WANDERLUST folder link} |
| 2298 | wl:folder#id @r{WANDERLUST message link} | 2322 | wl:folder#id @r{WANDERLUST message link} |
| 2299 | mhe:folder @r{MH-E folder link} | 2323 | mhe:folder @r{MH-E folder link} |
| @@ -2303,6 +2327,7 @@ rmail:folder#id @r{RMAIL message link} | |||
| 2303 | gnus:group @r{GNUS group link} | 2327 | gnus:group @r{GNUS group link} |
| 2304 | gnus:group#id @r{GNUS article link} | 2328 | gnus:group#id @r{GNUS article link} |
| 2305 | bbdb:Richard Stallman @r{BBDB link} | 2329 | bbdb:Richard Stallman @r{BBDB link} |
| 2330 | irc:/irc.com/#emacs/bob @r{IRC link} | ||
| 2306 | shell:ls *.org @r{A shell command} | 2331 | shell:ls *.org @r{A shell command} |
| 2307 | elisp:(find-file-other-frame "Elisp.org") @r{An elisp form to evaluate} | 2332 | elisp:(find-file-other-frame "Elisp.org") @r{An elisp form to evaluate} |
| 2308 | @end example | 2333 | @end example |
| @@ -2343,18 +2368,23 @@ insert it into an org-mode file, and to follow the link. | |||
| 2343 | Store a link to the current location. This is a @emph{global} command | 2368 | Store a link to the current location. This is a @emph{global} command |
| 2344 | which can be used in any buffer to create a link. The link will be | 2369 | which can be used in any buffer to create a link. The link will be |
| 2345 | stored for later insertion into an Org-mode buffer (see below). For | 2370 | stored for later insertion into an Org-mode buffer (see below). For |
| 2346 | Org-mode files, if there is a @samp{<<target>>} at the cursor, the link | 2371 | Org-mode files, if there is a @samp{<<target>>} at the cursor, the |
| 2347 | points to the target. Otherwise it points to the current headline. For | 2372 | link points to the target. Otherwise it points to the current |
| 2348 | VM, RMAIL, WANDERLUST, MH-E, GNUS and BBDB buffers, the link will | 2373 | headline. For VM, RMAIL, WANDERLUST, MH-E, GNUS and BBDB buffers, the |
| 2349 | indicate the current article/entry. For W3 and W3M buffers, the link | 2374 | link will indicate the current article/entry. For W3 and W3M buffers, |
| 2350 | goes to the current URL. For any other files, the link will point to | 2375 | the link goes to the current URL. For IRC links, if you set the |
| 2351 | the file, with a search string (@pxref{Search options}) pointing to the | 2376 | variable @code{org-irc-link-to-logs} to non-nil then @kbd{C-c l} will |
| 2352 | contents of the current line. If there is an active region, the | 2377 | store a @samp{file:/} style link to the relevant point in the logs for |
| 2353 | selected words will form the basis of the search string. If the | 2378 | the current conversation. Otherwise an @samp{irc:/} style link to the |
| 2354 | automatically created link is not working correctly or accurately | 2379 | user/channel/server under the point will be stored. For any other |
| 2355 | enough, you can write custom functions to select the search string and | 2380 | files, the link will point to the file, with a search string |
| 2356 | to do the search for particular file types - see @ref{Custom searches}. | 2381 | (@pxref{Search options}) pointing to the contents of the current line. |
| 2357 | The key binding @kbd{C-c l} is only a suggestion - see @ref{Installation}. | 2382 | If there is an active region, the selected words will form the basis |
| 2383 | of the search string. If the automatically created link is not | ||
| 2384 | working correctly or accurately enough, you can write custom functions | ||
| 2385 | to select the search string and to do the search for particular file | ||
| 2386 | types - see @ref{Custom searches}. The key binding @kbd{C-c l} is | ||
| 2387 | only a suggestion - see @ref{Installation}. | ||
| 2358 | @c | 2388 | @c |
| 2359 | @kindex C-c C-l | 2389 | @kindex C-c C-l |
| 2360 | @cindex link completion | 2390 | @cindex link completion |
| @@ -2538,7 +2568,7 @@ compatibility, line numbers can also follow a single colon.} colon. For | |||
| 2538 | example, when the command @kbd{C-c l} creates a link (@pxref{Handling | 2568 | example, when the command @kbd{C-c l} creates a link (@pxref{Handling |
| 2539 | links}) to a file, it encodes the words in the current line as a search | 2569 | links}) to a file, it encodes the words in the current line as a search |
| 2540 | string that can be used to find this line back later when following the | 2570 | string that can be used to find this line back later when following the |
| 2541 | link with @kbd{C-c C-o}. | 2571 | link with @kbd{C-c C-o}. |
| 2542 | 2572 | ||
| 2543 | Here is the syntax of the different ways to attach a search to a file | 2573 | Here is the syntax of the different ways to attach a search to a file |
| 2544 | link, together with an explanation: | 2574 | link, together with an explanation: |
| @@ -2654,7 +2684,9 @@ agenda buffers with the @kbd{t} command key (@pxref{Agenda commands}). | |||
| 2654 | @kindex C-u C-c C-t | 2684 | @kindex C-u C-c C-t |
| 2655 | @item C-u C-c C-t | 2685 | @item C-u C-c C-t |
| 2656 | Select a specific keyword using completion or (if it has been set up) | 2686 | Select a specific keyword using completion or (if it has been set up) |
| 2657 | the fast selection interface. | 2687 | the fast selection interface. For the latter, you need to assign keys |
| 2688 | to TODO states, see @ref{Per-file keywords} and @ref{Setting tags} for | ||
| 2689 | more information. | ||
| 2658 | 2690 | ||
| 2659 | @kindex S-@key{right} | 2691 | @kindex S-@key{right} |
| 2660 | @kindex S-@key{left} | 2692 | @kindex S-@key{left} |
| @@ -2663,15 +2695,6 @@ the fast selection interface. | |||
| 2663 | Select the following/preceding TODO state, similar to cycling. Useful | 2695 | Select the following/preceding TODO state, similar to cycling. Useful |
| 2664 | mostly if more than two TODO states are possible (@pxref{TODO | 2696 | mostly if more than two TODO states are possible (@pxref{TODO |
| 2665 | extensions}). | 2697 | extensions}). |
| 2666 | @kindex C-c C-c | ||
| 2667 | @item C-c C-c | ||
| 2668 | Use the fast tag interface to directly select a specific TODO state. | ||
| 2669 | For this you need to assign keys to TODO states, like this: | ||
| 2670 | @example | ||
| 2671 | #+SEQ_TODO: TODO(t) STARTED(s) WAITING(w) | DONE(d) | ||
| 2672 | @end example | ||
| 2673 | @noindent See @ref{Per-file keywords} and @ref{Setting tags} for more | ||
| 2674 | information. | ||
| 2675 | @kindex C-c C-v | 2698 | @kindex C-c C-v |
| 2676 | @kindex C-c / t | 2699 | @kindex C-c / t |
| 2677 | @cindex sparse tree, for TODO | 2700 | @cindex sparse tree, for TODO |
| @@ -2742,10 +2765,12 @@ With this setup, the command @kbd{C-c C-t} will cycle an entry from TODO | |||
| 2742 | to FEEDBACK, then to VERIFY, and finally to DONE and DELEGATED. You may | 2765 | to FEEDBACK, then to VERIFY, and finally to DONE and DELEGATED. You may |
| 2743 | also use a prefix argument to quickly select a specific state. For | 2766 | also use a prefix argument to quickly select a specific state. For |
| 2744 | example @kbd{C-3 C-c C-t} will change the state immediately to VERIFY. | 2767 | example @kbd{C-3 C-c C-t} will change the state immediately to VERIFY. |
| 2745 | If you define many keywords, you can use in-buffer completion (see | 2768 | Or you can use @kbd{S-left} to go backward through the sequence. If you |
| 2746 | @ref{Completion}) to insert these words into the buffer. Changing a | 2769 | define many keywords, you can use in-buffer completion |
| 2747 | todo state can be logged with a timestamp, see @ref{Tracking TODO state | 2770 | (@pxref{Completion}) or even a special one-key selection scheme |
| 2748 | changes} for more information. | 2771 | (@pxref{Fast access to TODO states}) to insert these words into the |
| 2772 | buffer. Changing a todo state can be logged with a timestamp, see | ||
| 2773 | @ref{Tracking TODO state changes} for more information. | ||
| 2749 | 2774 | ||
| 2750 | @node TODO types, Multiple sets in one file, Workflow states, TODO extensions | 2775 | @node TODO types, Multiple sets in one file, Workflow states, TODO extensions |
| 2751 | @subsection TODO keywords as types | 2776 | @subsection TODO keywords as types |
| @@ -2845,7 +2870,8 @@ TODO states a lot, you might want to set the variable | |||
| 2845 | @code{org-use-fast-todo-selection} to @code{t} and make this behavior | 2870 | @code{org-use-fast-todo-selection} to @code{t} and make this behavior |
| 2846 | the default. Check also the variable | 2871 | the default. Check also the variable |
| 2847 | @code{org-fast-tag-selection-include-todo}, it allows to change the TODO | 2872 | @code{org-fast-tag-selection-include-todo}, it allows to change the TODO |
| 2848 | state through the tags interface (@pxref{Setting tags}). | 2873 | state through the tags interface (@pxref{Setting tags}), in case you |
| 2874 | like to mingle the two concepts. | ||
| 2849 | 2875 | ||
| 2850 | @node Per-file keywords, Faces for TODO keywords, Fast access to TODO states, TODO extensions | 2876 | @node Per-file keywords, Faces for TODO keywords, Fast access to TODO states, TODO extensions |
| 2851 | @subsection Setting up keywords for individual files | 2877 | @subsection Setting up keywords for individual files |
| @@ -2908,15 +2934,22 @@ special faces for some of them. This can be done using the variable | |||
| 2908 | ("CANCELED" . (:foreground "blue" :weight bold)))) | 2934 | ("CANCELED" . (:foreground "blue" :weight bold)))) |
| 2909 | @end lisp | 2935 | @end lisp |
| 2910 | 2936 | ||
| 2937 | While using a list with face properties as shown for CANCELED | ||
| 2938 | @emph{should} work, this does not aways seem to be the case. If | ||
| 2939 | necessary, define a special face and use that. | ||
| 2940 | |||
| 2911 | @page | 2941 | @page |
| 2912 | @node Progress logging, Priorities, TODO extensions, TODO items | 2942 | @node Progress logging, Priorities, TODO extensions, TODO items |
| 2913 | @section Progress Logging | 2943 | @section Progress Logging |
| 2914 | @cindex progress logging | 2944 | @cindex progress logging |
| 2915 | @cindex logging, of progress | 2945 | @cindex logging, of progress |
| 2916 | 2946 | ||
| 2917 | Org-mode can automatically record a time stamp and even a note when you | 2947 | Org-mode can automatically record a time stamp and possibly a note when |
| 2918 | mark a TODO item as DONE, or even each time you change the state of | 2948 | you mark a TODO item as DONE, or even each time you change the state of |
| 2919 | a TODO item. | 2949 | a TODO item. This system is highly configurable, settings can be on a |
| 2950 | per-keyword basis and can be localized to a file or even a subtree. For | ||
| 2951 | information on how to clock working time for a task, see @ref{Clocking | ||
| 2952 | work time}. | ||
| 2920 | 2953 | ||
| 2921 | @menu | 2954 | @menu |
| 2922 | * Closing items:: When was this entry marked DONE? | 2955 | * Closing items:: When was this entry marked DONE? |
| @@ -2926,65 +2959,97 @@ a TODO item. | |||
| 2926 | @node Closing items, Tracking TODO state changes, Progress logging, Progress logging | 2959 | @node Closing items, Tracking TODO state changes, Progress logging, Progress logging |
| 2927 | @subsection Closing items | 2960 | @subsection Closing items |
| 2928 | 2961 | ||
| 2929 | If you want to keep track of @emph{when} a certain TODO item was | 2962 | The most basic logging is to keep track of @emph{when} a certain TODO |
| 2930 | finished, turn on logging with@footnote{The corresponding in-buffer | 2963 | item was finished. This is achieved with@footnote{The corresponding |
| 2931 | setting is: @code{#+STARTUP: logdone}. You may also set this for the | 2964 | in-buffer setting is: @code{#+STARTUP: logdone}}. |
| 2932 | scope of a subtree by adding a @code{:LOGGING:} property with one or more | ||
| 2933 | of the logging keywords in the value.} | ||
| 2934 | 2965 | ||
| 2935 | @lisp | 2966 | @lisp |
| 2936 | (setq org-log-done t) | 2967 | (setq org-log-done 'time) |
| 2937 | @end lisp | 2968 | @end lisp |
| 2938 | 2969 | ||
| 2939 | @noindent | 2970 | @noindent |
| 2940 | Then each time you turn a TODO entry into DONE using either @kbd{C-c | 2971 | Then each time you turn an entry from a TODO (not-done) state into any |
| 2941 | C-t} in the Org-mode buffer or @kbd{t} in the agenda buffer, a line | 2972 | of the DONE states, a line @samp{CLOSED: [timestamp]} will be inserted |
| 2942 | @samp{CLOSED: [timestamp]} will be inserted just after the headline. If | 2973 | just after the headline. If you turn the entry back into a TODO item |
| 2943 | you turn the entry back into a TODO item through further state cycling, | 2974 | through further state cycling, that line will be removed again. If you |
| 2944 | that line will be removed again. In the timeline (@pxref{Timeline}) and | 2975 | want to record a note along with the timestamp, use@footnote{The |
| 2945 | in the agenda (@pxref{Weekly/Daily agenda}), you can then use the | 2976 | corresponding in-buffer setting is: @code{#+STARTUP: lognotedone}} |
| 2946 | @kbd{l} key to display the TODO items closed on each day, giving you an | ||
| 2947 | overview of what has been done on a day. If you want to record a note | ||
| 2948 | along with the timestamp, use@footnote{The corresponding in-buffer | ||
| 2949 | setting is: @code{#+STARTUP: lognotedone}} | ||
| 2950 | 2977 | ||
| 2951 | @lisp | 2978 | @lisp |
| 2952 | (setq org-log-done '(done)) | 2979 | (setq org-log-done 'note) |
| 2953 | @end lisp | 2980 | @end lisp |
| 2954 | 2981 | ||
| 2982 | @noindent | ||
| 2983 | You will then be prompted for a note, and that note will be stored below | ||
| 2984 | the entry with a @samp{Closing Note} heading. | ||
| 2985 | |||
| 2986 | In the timeline (@pxref{Timeline}) and in the agenda | ||
| 2987 | (@pxref{Weekly/Daily agenda}), you can then use the @kbd{l} key to | ||
| 2988 | display the TODO items with a @samp{CLOSED} timestamp on each day, | ||
| 2989 | giving you an overview of what has been done. | ||
| 2990 | |||
| 2955 | @node Tracking TODO state changes, , Closing items, Progress logging | 2991 | @node Tracking TODO state changes, , Closing items, Progress logging |
| 2956 | @subsection Tracking TODO state changes | 2992 | @subsection Tracking TODO state changes |
| 2957 | 2993 | ||
| 2958 | When TODO keywords are used as workflow states (@pxref{Workflow | 2994 | When TODO keywords are used as workflow states (@pxref{Workflow |
| 2959 | states}), you might want to keep track of when a state change occurred | 2995 | states}), you might want to keep track of when a state change occurred |
| 2960 | and record a note about this change. With the setting@footnote{The | 2996 | and maybe take a note about this change. Since it is normally too much |
| 2961 | corresponding in-buffer setting is: @code{#+STARTUP: lognotestate}.} | 2997 | to record a note for every state, Org-mode expects configuration on a |
| 2998 | per-keyword basis for this. This is achieved by adding special markers | ||
| 2999 | @samp{!} (for a time stamp) and @samp{@@} (for a note) in parenthesis | ||
| 3000 | after each keyword. For example, with the setting | ||
| 2962 | 3001 | ||
| 2963 | @lisp | 3002 | @lisp |
| 2964 | (setq org-log-done '(state)) | 3003 | (setq org-todo-keywords |
| 3004 | '((sequence "TODO(t)" "WAIT(w@@/!)" "|" "DONE(d!)" "CANCELED(c@@)"))) | ||
| 2965 | @end lisp | 3005 | @end lisp |
| 2966 | 3006 | ||
| 2967 | @noindent | 3007 | @noindent |
| 2968 | each state change will prompt you for a note that will be attached to | 3008 | you not only define global TODO keywords and fast access keys, but also |
| 2969 | the current headline. If you press @kbd{C-c C-c} without typing | 3009 | request that a time is recorded when the entry is turned into |
| 2970 | anything into the note buffer, only the time of the state change will be | 3010 | DONE@footnote{It is possible that Org-mode will record two time stamps |
| 2971 | noted. Very likely you do not want this verbose tracking all the time, | 3011 | when you are using both @code{org-log-done} and state change logging. |
| 2972 | so it is probably better to configure this behavior with in-buffer | 3012 | However, it will never prompt for two notes - if you have configured |
| 2973 | options. For example, if you are tracking purchases, put these into a | 3013 | both, the state change recording note will take precedence and cancel |
| 2974 | separate file that contains: | 3014 | the @samp{Closing Note}.}, and that a note is recorded when switching to |
| 2975 | 3015 | WAIT or CANCELED. The setting for WAIT is even more special: The | |
| 2976 | @example | 3016 | @samp{!} after the slash means that in addition to the note taken when |
| 2977 | #+SEQ_TODO: TODO(t) ORDERED(o) INVOICE(i) PAYED(p) | RECEIVED(r) | 3017 | entering the state, a time stamp should be recorded when @i{leaving} the |
| 2978 | #+STARTUP: lognotestate | 3018 | WAIT state, if and only if the @i{target} state does not configure |
| 3019 | logging for entering it. So it has no effect when switching from WAIT | ||
| 3020 | to DONE, because DONE is configured to record a timestamp only. But | ||
| 3021 | when switching from WAIT back to TODO, the @samp{/!} in the WAIT | ||
| 3022 | setting now triggers a timestamp even though TODO has no logging | ||
| 3023 | configured. | ||
| 3024 | |||
| 3025 | You can use the exact same syntax for setting logging preferences local | ||
| 3026 | to a buffer: | ||
| 3027 | @example | ||
| 3028 | #+SEQ_TODO: TODO(t) WAIT(w@@/!) | DONE(d!) CANCELED(c@@) | ||
| 3029 | @end example | ||
| 3030 | |||
| 3031 | In order to define logging settings that are local to a subtree or a | ||
| 3032 | single item, define a LOGGING property in this entry. Any non-empty | ||
| 3033 | LOGGING property resets all logging settings to nil. You may then turn | ||
| 3034 | on logging for this specific tree using STARTUP keywords like | ||
| 3035 | @code{lognotedone} or @code{logrepeat}, as well as adding state specific | ||
| 3036 | settings like @code{TODO(!)}. For example | ||
| 3037 | |||
| 3038 | @example | ||
| 3039 | * TODO Log each state with only a time | ||
| 3040 | :PROPERTIES: | ||
| 3041 | :LOGGING: TODO(!) WAIT(!) DONE(!) CANCELED(!) | ||
| 3042 | :END: | ||
| 3043 | * TODO Only log when switching to WAIT, and when repeating | ||
| 3044 | :PROPERTIES: | ||
| 3045 | :LOGGING: WAIT(@@) logrepeat | ||
| 3046 | :END: | ||
| 3047 | * TODO No logging at all | ||
| 3048 | :PROPERTIES: | ||
| 3049 | :LOGGING: nil | ||
| 3050 | :END: | ||
| 2979 | @end example | 3051 | @end example |
| 2980 | 3052 | ||
| 2981 | If you only need to take a note for some of the states, mark those | ||
| 2982 | states with an additional @samp{@@}, like this: | ||
| 2983 | |||
| 2984 | @example | ||
| 2985 | #+SEQ_TODO: TODO(t) ORDERED(o@@) INVOICE(i@@) PAYED(p) | RECEIVED(r) | ||
| 2986 | #+STARTUP: lognotestate | ||
| 2987 | @end example | ||
| 2988 | 3053 | ||
| 2989 | @node Priorities, Breaking down tasks, Progress logging, TODO items | 3054 | @node Priorities, Breaking down tasks, Progress logging, TODO items |
| 2990 | @section Priorities | 3055 | @section Priorities |
| @@ -3067,8 +3132,8 @@ use the mouse (thanks to Piotr Zielinski's @file{org-mouse.el}). | |||
| 3067 | Here is an example of a checkbox list. | 3132 | Here is an example of a checkbox list. |
| 3068 | 3133 | ||
| 3069 | @example | 3134 | @example |
| 3070 | * TODO Organize party [3/6] | 3135 | * TODO Organize party [2/4] |
| 3071 | - call people [1/3] | 3136 | - [-] call people [1/3] |
| 3072 | - [ ] Peter | 3137 | - [ ] Peter |
| 3073 | - [X] Sarah | 3138 | - [X] Sarah |
| 3074 | - [ ] Sam | 3139 | - [ ] Sam |
| @@ -3077,9 +3142,14 @@ Here is an example of a checkbox list. | |||
| 3077 | - [X] talk to the neighbors | 3142 | - [X] talk to the neighbors |
| 3078 | @end example | 3143 | @end example |
| 3079 | 3144 | ||
| 3145 | Checkboxes work hierarchically, so if a checkbox item has children that | ||
| 3146 | are checkboxes, toggling one of the children checkboxes will make the | ||
| 3147 | parent checkbox reflect if none, some, or all of the children are | ||
| 3148 | checked. | ||
| 3149 | |||
| 3080 | @cindex statistics, for checkboxes | 3150 | @cindex statistics, for checkboxes |
| 3081 | @cindex checkbox statistics | 3151 | @cindex checkbox statistics |
| 3082 | The @samp{[3/6]} and @samp{[1/3]} in the first and second line are | 3152 | The @samp{[2/4]} and @samp{[1/3]} in the first and second line are |
| 3083 | cookies indicating how many checkboxes present in this entry have been | 3153 | cookies indicating how many checkboxes present in this entry have been |
| 3084 | checked off, and the total number of checkboxes are present. This can | 3154 | checked off, and the total number of checkboxes are present. This can |
| 3085 | give you an idea on how many checkboxes remain, even without opening a | 3155 | give you an idea on how many checkboxes remain, even without opening a |
| @@ -3409,7 +3479,7 @@ application of properties, imagine keeping track of one's music CD's, | |||
| 3409 | where properties could be things such as the album artist, date of | 3479 | where properties could be things such as the album artist, date of |
| 3410 | release, number of tracks, and so on. | 3480 | release, number of tracks, and so on. |
| 3411 | 3481 | ||
| 3412 | Properties can be conveiently edited and viewed in column view | 3482 | Properties can be conveniently edited and viewed in column view |
| 3413 | (@pxref{Column view}). | 3483 | (@pxref{Column view}). |
| 3414 | 3484 | ||
| 3415 | Properties are like tags, but with a value. For example, in a file | 3485 | Properties are like tags, but with a value. For example, in a file |
| @@ -3447,10 +3517,10 @@ first, and the value after it. Here is an example: | |||
| 3447 | :PROPERTIES: | 3517 | :PROPERTIES: |
| 3448 | :Title: Goldberg Variations | 3518 | :Title: Goldberg Variations |
| 3449 | :Composer: J.S. Bach | 3519 | :Composer: J.S. Bach |
| 3450 | :Artist: Glen Gould | 3520 | :Artist: Glen Gould |
| 3451 | :Publisher: Deutsche Grammphon | 3521 | :Publisher: Deutsche Grammphon |
| 3452 | :NDisks: 1 | 3522 | :NDisks: 1 |
| 3453 | :END: | 3523 | :END: |
| 3454 | @end example | 3524 | @end example |
| 3455 | 3525 | ||
| 3456 | You may define the allowed values for a particular property @samp{:Xyz:} | 3526 | You may define the allowed values for a particular property @samp{:Xyz:} |
| @@ -3551,13 +3621,14 @@ properties, the same commands are used as for tag searches (@pxref{Tag | |||
| 3551 | searches}), and the same logic applies. For example, a search string | 3621 | searches}), and the same logic applies. For example, a search string |
| 3552 | 3622 | ||
| 3553 | @example | 3623 | @example |
| 3554 | +work-boss+PRIORITY="A"+Coffee="unlimited"+With=@{Sarah\|Denny@} | 3624 | +work-boss+PRIORITY="A"+Coffee="unlimited"+Effort=""+With=@{Sarah\|Denny@} |
| 3555 | @end example | 3625 | @end example |
| 3556 | 3626 | ||
| 3557 | @noindent | 3627 | @noindent |
| 3558 | finds entries tagged @samp{:work:} but not @samp{:boss:}, which | 3628 | finds entries tagged @samp{:work:} but not @samp{:boss:}, which |
| 3559 | also have a priority value @samp{A}, a @samp{:Coffee:} property with the | 3629 | also have a priority value @samp{A}, a @samp{:Coffee:} property with the |
| 3560 | value @samp{unlimited}, and a @samp{:With:} property that is matched by | 3630 | value @samp{unlimited}, an @samp{Effort} property that is undefined or |
| 3631 | empty, and a @samp{:With:} property that is matched by | ||
| 3561 | the regular expression @samp{Sarah\|Denny}. | 3632 | the regular expression @samp{Sarah\|Denny}. |
| 3562 | 3633 | ||
| 3563 | You can configure Org-mode to use property inheritance during a search, | 3634 | You can configure Org-mode to use property inheritance during a search, |
| @@ -3605,6 +3676,9 @@ applies to the entire subtree. | |||
| 3605 | @item ARCHIVE | 3676 | @item ARCHIVE |
| 3606 | For archiving, the @code{:ARCHIVE:} property may define the archive | 3677 | For archiving, the @code{:ARCHIVE:} property may define the archive |
| 3607 | location for the entire subtree (@pxref{Moving subtrees}). | 3678 | location for the entire subtree (@pxref{Moving subtrees}). |
| 3679 | @item LOGGING | ||
| 3680 | The LOGGING property may define logging settings for an entry or a | ||
| 3681 | subtree (@pxref{Tracking TODO state changes}). | ||
| 3608 | @end table | 3682 | @end table |
| 3609 | 3683 | ||
| 3610 | @node Column view, Property API, Property inheritance, Properties and columns | 3684 | @node Column view, Property API, Property inheritance, Properties and columns |
| @@ -3696,6 +3770,8 @@ property @r{The property that should be edited in this column.} | |||
| 3696 | @{$@} @r{Currency, short for @samp{+;%.2f}.} | 3770 | @{$@} @r{Currency, short for @samp{+;%.2f}.} |
| 3697 | @{:@} @r{Sum times, HH:MM:SS, plain numbers are hours.} | 3771 | @{:@} @r{Sum times, HH:MM:SS, plain numbers are hours.} |
| 3698 | @{X@} @r{Checkbox status, [X] if all children are [X].} | 3772 | @{X@} @r{Checkbox status, [X] if all children are [X].} |
| 3773 | @{X/@} @r{Checkbox status, [n/m].} | ||
| 3774 | @{X%@} @r{Checkbox status, [n%].} | ||
| 3699 | @end example | 3775 | @end example |
| 3700 | 3776 | ||
| 3701 | @noindent | 3777 | @noindent |
| @@ -3712,8 +3788,8 @@ values. | |||
| 3712 | 3788 | ||
| 3713 | The first column, @samp{%25ITEM}, means the first 25 characters of the | 3789 | The first column, @samp{%25ITEM}, means the first 25 characters of the |
| 3714 | item itself, i.e. of the headline. You probably always should start the | 3790 | item itself, i.e. of the headline. You probably always should start the |
| 3715 | column definition with the ITEM specifier. The other specifiers create | 3791 | column definition with the @samp{ITEM} specifier. The other specifiers |
| 3716 | columns @samp{Owner} with a list of names as allowed values, for | 3792 | create columns @samp{Owner} with a list of names as allowed values, for |
| 3717 | @samp{Status} with four different possible values, and for a checkbox | 3793 | @samp{Status} with four different possible values, and for a checkbox |
| 3718 | field @samp{Approved}. When no width is given after the @samp{%} | 3794 | field @samp{Approved}. When no width is given after the @samp{%} |
| 3719 | character, the column will be exactly as wide as it needs to be in order | 3795 | character, the column will be exactly as wide as it needs to be in order |
| @@ -3739,6 +3815,12 @@ the entire tree, starting from the entry that contains the @code{:COLUMNS:} | |||
| 3739 | property. If none is found, the format is taken from the @code{#+COLUMNS} | 3815 | property. If none is found, the format is taken from the @code{#+COLUMNS} |
| 3740 | line or from the variable @code{org-columns-default-format}, and column | 3816 | line or from the variable @code{org-columns-default-format}, and column |
| 3741 | view is established for the current entry and its subtree. | 3817 | view is established for the current entry and its subtree. |
| 3818 | @kindex r | ||
| 3819 | @item r | ||
| 3820 | Recreate the column view, to included hanges happening in the buffer. | ||
| 3821 | @kindex g | ||
| 3822 | @item g | ||
| 3823 | Same as @kbd{r}. | ||
| 3742 | @kindex q | 3824 | @kindex q |
| 3743 | @item q | 3825 | @item q |
| 3744 | Exit column view. | 3826 | Exit column view. |
| @@ -3791,8 +3873,8 @@ Delete the current column. | |||
| 3791 | 3873 | ||
| 3792 | Since column view is just an overlay over a buffer, it cannot be | 3874 | Since column view is just an overlay over a buffer, it cannot be |
| 3793 | exported or printed directly. If you want to capture a column view, use | 3875 | exported or printed directly. If you want to capture a column view, use |
| 3794 | the dynamic block (@pxref{Dynamic blocks}). The frame of this block | 3876 | ths @code{columnview} dynamic block (@pxref{Dynamic blocks}). The frame |
| 3795 | looks like this: | 3877 | of this block looks like this: |
| 3796 | 3878 | ||
| 3797 | @example | 3879 | @example |
| 3798 | * The column view | 3880 | * The column view |
| @@ -3820,6 +3902,12 @@ When @code{t}, insert a hline after every line. When a number N, insert | |||
| 3820 | a hline before each headline with level @code{<= N}. | 3902 | a hline before each headline with level @code{<= N}. |
| 3821 | @item :vlines | 3903 | @item :vlines |
| 3822 | When set to @code{t}, enforce column groups to get vertical lines. | 3904 | When set to @code{t}, enforce column groups to get vertical lines. |
| 3905 | @item :maxlevel | ||
| 3906 | When set to a number, don't capture entries below this level. | ||
| 3907 | @item :skip-empty-rows | ||
| 3908 | When set to @code{t}, skip row where the only non-empty specifier of the | ||
| 3909 | column view is @code{ITEM}. | ||
| 3910 | |||
| 3823 | @end table | 3911 | @end table |
| 3824 | 3912 | ||
| 3825 | @noindent | 3913 | @noindent |
| @@ -3870,7 +3958,7 @@ is used in a much wider sense. | |||
| 3870 | * Time stamps:: Assigning a time to a tree entry | 3958 | * Time stamps:: Assigning a time to a tree entry |
| 3871 | * Creating timestamps:: Commands which insert timestamps | 3959 | * Creating timestamps:: Commands which insert timestamps |
| 3872 | * Deadlines and scheduling:: Planning your work | 3960 | * Deadlines and scheduling:: Planning your work |
| 3873 | * Clocking work time:: | 3961 | * Clocking work time:: |
| 3874 | @end menu | 3962 | @end menu |
| 3875 | 3963 | ||
| 3876 | 3964 | ||
| @@ -4138,7 +4226,7 @@ format does not @emph{replace} the default format - instead it is put | |||
| 4138 | @emph{over} the default format using text properties. This has the | 4226 | @emph{over} the default format using text properties. This has the |
| 4139 | following consequences: | 4227 | following consequences: |
| 4140 | @itemize @bullet | 4228 | @itemize @bullet |
| 4141 | @item | 4229 | @item |
| 4142 | You cannot place the cursor onto a time stamp anymore, only before or | 4230 | You cannot place the cursor onto a time stamp anymore, only before or |
| 4143 | after. | 4231 | after. |
| 4144 | @item | 4232 | @item |
| @@ -4270,21 +4358,23 @@ the scheduling date from the entry. | |||
| 4270 | @subsection Repeated Tasks | 4358 | @subsection Repeated Tasks |
| 4271 | 4359 | ||
| 4272 | Some tasks need to be repeated again and again. Org-mode helps to | 4360 | Some tasks need to be repeated again and again. Org-mode helps to |
| 4273 | organize such tasks using a so-called repeater in a DEADLINE or | 4361 | organize such tasks using a so-called repeater in a DEADLINE, SCHEDULED, |
| 4274 | SCHEDULED time stamp. In the following example | 4362 | or plain time stamp. In the following example |
| 4275 | @example | 4363 | @example |
| 4276 | ** TODO Pay the rent | 4364 | ** TODO Pay the rent |
| 4277 | DEADLINE: <2005-10-01 Sat +1m> | 4365 | DEADLINE: <2005-10-01 Sat +1m> |
| 4278 | @end example | 4366 | @end example |
| 4279 | the @code{+1m} is a repeater; the intended interpretation is that the | 4367 | the @code{+1m} is a repeater; the intended interpretation is that the |
| 4280 | task has a deadline on <2005-10-01> and repeats itself every (one) month | 4368 | task has a deadline on <2005-10-01> and repeats itself every (one) month |
| 4281 | starting from that time. | 4369 | starting from that time. If you need both a repeater and a special |
| 4370 | warning period in a deadline entry, the repeater comes first and the | ||
| 4371 | warning period last: @code{DEADLINE: <2005-10-01 Sat +1m -3d>}. | ||
| 4282 | 4372 | ||
| 4283 | Deadlines and scheduled items produce entries in the agenda when they | 4373 | Deadlines and scheduled items produce entries in the agenda when they |
| 4284 | are over-due, so it is important to be able to mark such an entry as | 4374 | are over-due, so it is important to be able to mark such an entry as |
| 4285 | completed once you have done so. When you mark a DEADLINE or a SCHEDULE | 4375 | completed once you have done so. When you mark a DEADLINE or a SCHEDULE |
| 4286 | with the todo keyword DONE, it will no longer produce entries in the | 4376 | with the todo keyword DONE, it will no longer produce entries in the |
| 4287 | agenda. The problem with this is, however, that then also the | 4377 | agenda. The problem with this is, however, that then also the |
| 4288 | @emph{next} instance of the repeated entry will not be active. Org-mode | 4378 | @emph{next} instance of the repeated entry will not be active. Org-mode |
| 4289 | deals with this in the following way: When you try to mark such an entry | 4379 | deals with this in the following way: When you try to mark such an entry |
| 4290 | DONE (using @kbd{C-c C-t}), it will shift the base date of the repeating | 4380 | DONE (using @kbd{C-c C-t}), it will shift the base date of the repeating |
| @@ -4299,14 +4389,37 @@ actually switch the date like this: | |||
| 4299 | 4389 | ||
| 4300 | You will also be prompted for a note@footnote{You can change this using | 4390 | You will also be prompted for a note@footnote{You can change this using |
| 4301 | the option @code{org-log-repeat}, or the @code{#+STARTUP} options | 4391 | the option @code{org-log-repeat}, or the @code{#+STARTUP} options |
| 4302 | @code{logrepeat} and @code{nologrepeat}.} that will be put under the | 4392 | @code{logrepeat}, @code{lognoterepeat}, and @code{nologrepeat}.} that |
| 4303 | DEADLINE line to keep a record that you actually acted on the previous | 4393 | will be put under the DEADLINE line to keep a record that you actually |
| 4304 | instance of this deadline. | 4394 | acted on the previous instance of this deadline. |
| 4305 | 4395 | ||
| 4306 | As a consequence of shifting the base date, this entry will no longer be | 4396 | As a consequence of shifting the base date, this entry will no longer be |
| 4307 | visible in the agenda when checking past dates, but all future instances | 4397 | visible in the agenda when checking past dates, but all future instances |
| 4308 | will be visible. | 4398 | will be visible. |
| 4309 | 4399 | ||
| 4400 | With the @samp{+1m} cookie, the date shift will always be exactly one | ||
| 4401 | month. So if you have not payed the rent for three months, marking this | ||
| 4402 | entry DONE will still keep it as an overdue deadline. Depending on the | ||
| 4403 | task, this may not be the best way to handle it. For example, if you | ||
| 4404 | forgot to call you father for 3 weeks, it does not make sense to call | ||
| 4405 | her 3 times in a single day to make up for it. Finally, there are tasks | ||
| 4406 | like changing batteries which should always repeat a certain time | ||
| 4407 | @i{after} the last time you did it. For these tasks, Org-mode has | ||
| 4408 | special repeaters markes with @samp{++} and @samp{.+}. For example: | ||
| 4409 | |||
| 4410 | @example | ||
| 4411 | ** TODO Call Father | ||
| 4412 | DEADLINE: <2008-02-10 Sun ++1w> | ||
| 4413 | Marking this DONE will shift the date by at least one week, | ||
| 4414 | but also by as many weeks as it takes to get this date into | ||
| 4415 | the future. However, it stays on a Sunday, even if you called | ||
| 4416 | and marked it done on Saturday. | ||
| 4417 | ** TODO Check the batteries in the smoke detectors | ||
| 4418 | DEADLINE: <2005-11-01 Tue .+1m> | ||
| 4419 | Marking this DONE will shift the date to one month after | ||
| 4420 | today. | ||
| 4421 | @end example | ||
| 4422 | |||
| 4310 | You may have both scheduling and deadline information for a specific | 4423 | You may have both scheduling and deadline information for a specific |
| 4311 | task - just make sure that the repeater intervals on both are the same. | 4424 | task - just make sure that the repeater intervals on both are the same. |
| 4312 | 4425 | ||
| @@ -4326,16 +4439,16 @@ Start the clock on the current item (clock-in). This inserts the CLOCK | |||
| 4326 | keyword together with a timestamp. If this is not the first clocking of | 4439 | keyword together with a timestamp. If this is not the first clocking of |
| 4327 | this item, the multiple CLOCK lines will be wrapped into a | 4440 | this item, the multiple CLOCK lines will be wrapped into a |
| 4328 | @code{:CLOCK:} drawer (see also the variable | 4441 | @code{:CLOCK:} drawer (see also the variable |
| 4329 | @code{org-clock-into-drawer}. | 4442 | @code{org-clock-into-drawer}). |
| 4330 | @kindex C-c C-x C-o | 4443 | @kindex C-c C-x C-o |
| 4331 | @item C-c C-x C-o | 4444 | @item C-c C-x C-o |
| 4332 | Stop the clock (clock-out). The inserts another timestamp at the same | 4445 | Stop the clock (clock-out). The inserts another timestamp at the same |
| 4333 | location where the clock was last started. It also directly computes | 4446 | location where the clock was last started. It also directly computes |
| 4334 | the resulting time in inserts it after the time range as @samp{=> | 4447 | the resulting time in inserts it after the time range as @samp{=> |
| 4335 | HH:MM}. See the variable @code{org-log-done} for the possibility to | 4448 | HH:MM}. See the variable @code{org-log-note-clock-out} for the |
| 4336 | record an additional note together with the clock-out time | 4449 | possibility to record an additional note together with the clock-out |
| 4337 | stamp@footnote{The corresponding in-buffer setting is: @code{#+STARTUP: | 4450 | time stamp@footnote{The corresponding in-buffer setting is: |
| 4338 | lognoteclock-out}}. | 4451 | @code{#+STARTUP: lognoteclock-out}}. |
| 4339 | @kindex C-c C-y | 4452 | @kindex C-c C-y |
| 4340 | @item C-c C-y | 4453 | @item C-c C-y |
| 4341 | Recompute the time interval after changing one of the time stamps. This | 4454 | Recompute the time interval after changing one of the time stamps. This |
| @@ -4393,6 +4506,8 @@ new table. The @samp{BEGIN} line can specify options: | |||
| 4393 | @r{@code{thismonth}, @code{lastmonth}, @code{thisyear}, or @code{lastyear}}. | 4506 | @r{@code{thismonth}, @code{lastmonth}, @code{thisyear}, or @code{lastyear}}. |
| 4394 | :tstart @r{A time string specifying when to start considering times} | 4507 | :tstart @r{A time string specifying when to start considering times} |
| 4395 | :tend @r{A time string specifying when to stop considering times} | 4508 | :tend @r{A time string specifying when to stop considering times} |
| 4509 | :step @r{@code{week} or @code{day}, to split the table into chunks} | ||
| 4510 | :link @r{Link the item headlines in the table to their origins} | ||
| 4396 | @end example | 4511 | @end example |
| 4397 | So to get a clock summary of the current level 1 tree, for the current | 4512 | So to get a clock summary of the current level 1 tree, for the current |
| 4398 | day, you could write | 4513 | day, you could write |
| @@ -4405,7 +4520,7 @@ and to use a specific time range you could write@footnote{Note that all | |||
| 4405 | parameters must be specified in a single line - the line is broken here | 4520 | parameters must be specified in a single line - the line is broken here |
| 4406 | only to fit it onto the manual.} | 4521 | only to fit it onto the manual.} |
| 4407 | @example | 4522 | @example |
| 4408 | #+BEGIN: clocktable :tstart "<2006-08-10 Thu 10:00>" | 4523 | #+BEGIN: clocktable :tstart "<2006-08-10 Thu 10:00>" |
| 4409 | :tend "<2006-08-10 Thu 12:00>" | 4524 | :tend "<2006-08-10 Thu 12:00>" |
| 4410 | 4525 | ||
| 4411 | #+END: clocktable | 4526 | #+END: clocktable |
| @@ -4466,7 +4581,9 @@ suggestion.}. @code{org-remember} basically just calls @code{remember}, | |||
| 4466 | but it makes a few things easier: If there is an active region, it will | 4581 | but it makes a few things easier: If there is an active region, it will |
| 4467 | automatically copy the region into the remember buffer. It also allows | 4582 | automatically copy the region into the remember buffer. It also allows |
| 4468 | to jump to the buffer and location where remember notes are being | 4583 | to jump to the buffer and location where remember notes are being |
| 4469 | stored: Just call @code{org-remember} with a prefix argument. | 4584 | stored: Just call @code{org-remember} with a prefix argument. If you |
| 4585 | use two prefix arguments, Org-mode jumps to the location where the last | ||
| 4586 | remember note was stored. | ||
| 4470 | 4587 | ||
| 4471 | @node Remember templates, Storing notes, Setting up remember, Remember | 4588 | @node Remember templates, Storing notes, Setting up remember, Remember |
| 4472 | @section Remember templates | 4589 | @section Remember templates |
| @@ -4494,6 +4611,26 @@ file (if not present or @code{nil}) defaults to | |||
| 4494 | @code{org-default-notes-file}, the heading to | 4611 | @code{org-default-notes-file}, the heading to |
| 4495 | @code{org-remember-default-headline}. | 4612 | @code{org-remember-default-headline}. |
| 4496 | 4613 | ||
| 4614 | An optional sixth element specifies the contexts in which the user can | ||
| 4615 | select the template. This element can be either a list of major modes | ||
| 4616 | or a function. @code{org-remember} will first check whether the function | ||
| 4617 | returns @code{t} or if we are in any of the listed major mode, and select | ||
| 4618 | the template accordingly. | ||
| 4619 | |||
| 4620 | So for example: | ||
| 4621 | |||
| 4622 | @example | ||
| 4623 | (setq org-remember-templates | ||
| 4624 | '(("Bug" ?b "* BUG %?\n %i\n %a" "~/org/BUGS.org" "Bugs" (emacs-lisp-mode)) | ||
| 4625 | ("Journal" ?j "* %U %?\n\n %i\n %a" "~/org/JOURNAL.org" my-check) | ||
| 4626 | ("Idea" ?i "* %^@{Title@}\n %i\n %a" "~/org/JOURNAL.org" "New Ideas"))) | ||
| 4627 | @end example | ||
| 4628 | |||
| 4629 | The first template will only be available when invoking @code{org-remember} | ||
| 4630 | from an buffer in @code{emacs-lisp-mode}. The second template will only be | ||
| 4631 | available when the function @code{my-check} returns @code{t}. The third | ||
| 4632 | template will be proposed in any context. | ||
| 4633 | |||
| 4497 | When you call @kbd{M-x remember} (or @kbd{M-x org-remember}) to remember | 4634 | When you call @kbd{M-x remember} (or @kbd{M-x org-remember}) to remember |
| 4498 | something, org will prompt for a key to select the template (if you have | 4635 | something, org will prompt for a key to select the template (if you have |
| 4499 | more than one template) and then prepare the buffer like | 4636 | more than one template) and then prepare the buffer like |
| @@ -4541,10 +4678,11 @@ similar way.}: | |||
| 4541 | Link type | Available keywords | 4678 | Link type | Available keywords |
| 4542 | -------------------+---------------------------------------------- | 4679 | -------------------+---------------------------------------------- |
| 4543 | bbdb | %:name %:company | 4680 | bbdb | %:name %:company |
| 4681 | bbdb | %::server %:port %:nick | ||
| 4544 | vm, wl, mh, rmail | %:type %:subject %:message-id | 4682 | vm, wl, mh, rmail | %:type %:subject %:message-id |
| 4545 | | %:from %:fromname %:fromaddress | 4683 | | %:from %:fromname %:fromaddress |
| 4546 | | %:to %:toname %:toaddress | 4684 | | %:to %:toname %:toaddress |
| 4547 | | %:fromto @r{(either "to NAME" or "from NAME")@footnote{This will always be the other, not the user. See the variable @code{org-from-is-user-regexp}.}} | 4685 | | %:fromto @r{(either "to NAME" or "from NAME")@footnote{This will always be the other, not the user. See the variable @code{org-from-is-user-regexp}.}} |
| 4548 | gnus | %:group, @r{for messages also all email fields} | 4686 | gnus | %:group, @r{for messages also all email fields} |
| 4549 | w3, w3m | %:url | 4687 | w3, w3m | %:url |
| 4550 | info | %:file %:node | 4688 | info | %:file %:node |
| @@ -4559,7 +4697,7 @@ To place the cursor after template expansion use: | |||
| 4559 | @end example | 4697 | @end example |
| 4560 | 4698 | ||
| 4561 | @noindent | 4699 | @noindent |
| 4562 | If you change you mind about which template to use, call | 4700 | If you change your mind about which template to use, call |
| 4563 | @code{org-remember} in the remember buffer. You may then select a new | 4701 | @code{org-remember} in the remember buffer. You may then select a new |
| 4564 | template that will be filled with the previous context information. | 4702 | template that will be filled with the previous context information. |
| 4565 | 4703 | ||
| @@ -4633,13 +4771,16 @@ Refile the entry at point. This command offers possible locations for | |||
| 4633 | refiling the entry and lets you select one with completion. The item is | 4771 | refiling the entry and lets you select one with completion. The item is |
| 4634 | filed below the target heading as a subitem. Depending on | 4772 | filed below the target heading as a subitem. Depending on |
| 4635 | @code{org-reverse-note-order}, it will be either the first of last | 4773 | @code{org-reverse-note-order}, it will be either the first of last |
| 4636 | subitem, and you can toggle the value of this variable for the duration | 4774 | subitem.@* By default, all level 1 headlines in the current buffer are |
| 4637 | of the command by using a @kbd{C-u} prefix.@* By default, all level 1 | 4775 | considered to be targets, but you can have more complex definitions |
| 4638 | headlines in the current buffer are considered to be targets, but you | 4776 | across a number of files. See the variable @code{org-refile-targets} |
| 4639 | can have more complex definitions across a number of files. See the | 4777 | for details. |
| 4640 | variable @code{org-refile-targets} for details. The list of targets is | 4778 | @kindex C-u C-c C-w |
| 4641 | compiled upon first use, you can update it by using a double prefix | 4779 | @item C-u C-c C-w |
| 4642 | argument (@kbd{C-u C-u}) to this command. | 4780 | Use the refile interface to jump to a heading. |
| 4781 | @kindex C-u C-u C-c C-w | ||
| 4782 | @item C- C-u C-c C-w | ||
| 4783 | Jump to the location where @code{org-refile} last moved a tree to. | ||
| 4643 | @end table | 4784 | @end table |
| 4644 | 4785 | ||
| 4645 | @node Agenda views, Embedded LaTeX, Remember, Top | 4786 | @node Agenda views, Embedded LaTeX, Remember, Top |
| @@ -4653,7 +4794,7 @@ important for a particular date, this information must be collected, | |||
| 4653 | sorted and displayed in an organized way. | 4794 | sorted and displayed in an organized way. |
| 4654 | 4795 | ||
| 4655 | Org-mode can select items based on various criteria, and display them | 4796 | Org-mode can select items based on various criteria, and display them |
| 4656 | in a separate buffer. Six different view types are provided: | 4797 | in a separate buffer. Seven different view types are provided: |
| 4657 | 4798 | ||
| 4658 | @itemize @bullet | 4799 | @itemize @bullet |
| 4659 | @item | 4800 | @item |
| @@ -4669,6 +4810,9 @@ the tags associated with them, | |||
| 4669 | a @emph{timeline view} that shows all events in a single Org-mode file, | 4810 | a @emph{timeline view} that shows all events in a single Org-mode file, |
| 4670 | in time-sorted view, | 4811 | in time-sorted view, |
| 4671 | @item | 4812 | @item |
| 4813 | a @emph{keyword search view} that shows all entries from multiple files | ||
| 4814 | that contain specified keywords. | ||
| 4815 | @item | ||
| 4672 | a @emph{stuck projects view} showing projects that currently don't move | 4816 | a @emph{stuck projects view} showing projects that currently don't move |
| 4673 | along, and | 4817 | along, and |
| 4674 | @item | 4818 | @item |
| @@ -4680,7 +4824,7 @@ combinations of different views. | |||
| 4680 | The extracted information is displayed in a special @emph{agenda | 4824 | The extracted information is displayed in a special @emph{agenda |
| 4681 | buffer}. This buffer is read-only, but provides commands to visit the | 4825 | buffer}. This buffer is read-only, but provides commands to visit the |
| 4682 | corresponding locations in the original Org-mode files, and even to | 4826 | corresponding locations in the original Org-mode files, and even to |
| 4683 | edit these files remotely. | 4827 | edit these files remotely. |
| 4684 | 4828 | ||
| 4685 | Two variables control how the agenda buffer is displayed and whether the | 4829 | Two variables control how the agenda buffer is displayed and whether the |
| 4686 | window configuration is restored when the agenda exits: | 4830 | window configuration is restored when the agenda exits: |
| @@ -4793,14 +4937,17 @@ Create a list of headlines matching a TAGS expression (@pxref{Matching | |||
| 4793 | tags and properties}). | 4937 | tags and properties}). |
| 4794 | @item L | 4938 | @item L |
| 4795 | Create the timeline view for the current buffer (@pxref{Timeline}). | 4939 | Create the timeline view for the current buffer (@pxref{Timeline}). |
| 4796 | @item # @r{/} ! | 4940 | @item s |
| 4797 | Create a list of stuck projects (@pxref{Stuck projects}). | 4941 | Create a list of entries selected by a boolean expression of keywords |
| 4942 | and/or regular expressions that must or must not occur in the entry. | ||
| 4798 | @item / | 4943 | @item / |
| 4799 | Search for a regular expression in all agenda files and additionally in | 4944 | Search for a regular expression in all agenda files and additionally in |
| 4800 | the files listed in @code{org-agenda-multi-occur-extra-files}. This | 4945 | the files listed in @code{org-agenda-multi-occur-extra-files}. This |
| 4801 | uses the Emacs command @code{multi-occur}. A prefix argument can be | 4946 | uses the Emacs command @code{multi-occur}. A prefix argument can be |
| 4802 | used to specify the number of context lines for each match, default is | 4947 | used to specify the number of context lines for each match, default is |
| 4803 | 1. | 4948 | 1. |
| 4949 | @item # @r{/} ! | ||
| 4950 | Create a list of stuck projects (@pxref{Stuck projects}). | ||
| 4804 | @item < | 4951 | @item < |
| 4805 | Restrict an agenda command to the current buffer@footnote{For backward | 4952 | Restrict an agenda command to the current buffer@footnote{For backward |
| 4806 | compatibility, you can also press @kbd{1} to restrict to the current | 4953 | compatibility, you can also press @kbd{1} to restrict to the current |
| @@ -4830,6 +4977,7 @@ In this section we describe the built-in views. | |||
| 4830 | * Global TODO list:: All unfinished action items | 4977 | * Global TODO list:: All unfinished action items |
| 4831 | * Matching tags and properties:: Structured information with fine-tuned search | 4978 | * Matching tags and properties:: Structured information with fine-tuned search |
| 4832 | * Timeline:: Time-sorted view for single file | 4979 | * Timeline:: Time-sorted view for single file |
| 4980 | * Keyword search:: Finding entries by keyword | ||
| 4833 | * Stuck projects:: Find projects you need to review | 4981 | * Stuck projects:: Find projects you need to review |
| 4834 | @end menu | 4982 | @end menu |
| 4835 | 4983 | ||
| @@ -5003,7 +5151,7 @@ together with a tags match is also possible, see @ref{Tag searches}. | |||
| 5003 | The commands available in the tags list are described in @ref{Agenda | 5151 | The commands available in the tags list are described in @ref{Agenda |
| 5004 | commands}. | 5152 | commands}. |
| 5005 | 5153 | ||
| 5006 | @node Timeline, Stuck projects, Matching tags and properties, Built-in agenda views | 5154 | @node Timeline, Keyword search, Matching tags and properties, Built-in agenda views |
| 5007 | @subsection Timeline for a single file | 5155 | @subsection Timeline for a single file |
| 5008 | @cindex timeline, single file | 5156 | @cindex timeline, single file |
| 5009 | @cindex time-sorted view | 5157 | @cindex time-sorted view |
| @@ -5024,8 +5172,36 @@ When called with a @kbd{C-u} prefix, all unfinished TODO entries | |||
| 5024 | The commands available in the timeline buffer are listed in | 5172 | The commands available in the timeline buffer are listed in |
| 5025 | @ref{Agenda commands}. | 5173 | @ref{Agenda commands}. |
| 5026 | 5174 | ||
| 5175 | @node Keyword search, Stuck projects, Timeline, Built-in agenda views | ||
| 5176 | @subsection Keyword search | ||
| 5177 | @cindex keyword search | ||
| 5178 | @cindex searching, for keywords | ||
| 5179 | |||
| 5180 | This agenda view is a general text search facility for Org-mode entries. | ||
| 5181 | It is particularly useful to find notes. | ||
| 5182 | |||
| 5183 | @table @kbd | ||
| 5184 | @kindex C-c a s | ||
| 5185 | @item C-c a s | ||
| 5186 | This is a special search that lets you select entries by keywords or | ||
| 5187 | regular expression, using a boolean logic. For example, the search | ||
| 5188 | string | ||
| 5189 | |||
| 5190 | @example | ||
| 5191 | +computer +wifi -ethernet -@{8\.11[bg]@} | ||
| 5192 | @end example | ||
| 5027 | 5193 | ||
| 5028 | @node Stuck projects, , Timeline, Built-in agenda views | 5194 | @noindent |
| 5195 | will search for note entries that contain the keywords @code{computer} | ||
| 5196 | and @code{wifi}, but not the keyword @code{ethernet}, and which are also | ||
| 5197 | not matched by the regular expression @code{8\.11[bg]}, meaning to | ||
| 5198 | exclude both 8.11b and 8.11g. | ||
| 5199 | |||
| 5200 | Note that in addition to the agenda files, this command will also search | ||
| 5201 | the files listed in @code{org-agenda-text-search-extra-files}. | ||
| 5202 | @end table | ||
| 5203 | |||
| 5204 | @node Stuck projects, , Keyword search, Built-in agenda views | ||
| 5029 | @subsection Stuck projects | 5205 | @subsection Stuck projects |
| 5030 | 5206 | ||
| 5031 | If you are following a system like David Allen's GTD to organize your | 5207 | If you are following a system like David Allen's GTD to organize your |
| @@ -5181,7 +5357,7 @@ Within each category, items are sorted by priority (@pxref{Priorities}), | |||
| 5181 | which is composed of the base priority (2000 for priority @samp{A}, 1000 | 5357 | which is composed of the base priority (2000 for priority @samp{A}, 1000 |
| 5182 | for @samp{B}, and 0 for @samp{C}), plus additional increments for | 5358 | for @samp{B}, and 0 for @samp{C}), plus additional increments for |
| 5183 | overdue scheduled or deadline items. | 5359 | overdue scheduled or deadline items. |
| 5184 | @item | 5360 | @item |
| 5185 | For the TODO list, items remain in the order of categories, but within | 5361 | For the TODO list, items remain in the order of categories, but within |
| 5186 | each category, sorting takes place according to priority | 5362 | each category, sorting takes place according to priority |
| 5187 | (@pxref{Priorities}). | 5363 | (@pxref{Priorities}). |
| @@ -5281,8 +5457,8 @@ month and year views are slow to create, the do not become the default. | |||
| 5281 | @item D | 5457 | @item D |
| 5282 | Toggle the inclusion of diary entries. See @ref{Weekly/Daily agenda}. | 5458 | Toggle the inclusion of diary entries. See @ref{Weekly/Daily agenda}. |
| 5283 | @c | 5459 | @c |
| 5284 | @kindex g | 5460 | @kindex G |
| 5285 | @item g | 5461 | @item G |
| 5286 | Toggle the time grid on and off. See also the variables | 5462 | Toggle the time grid on and off. See also the variables |
| 5287 | @code{org-agenda-use-time-grid} and @code{org-agenda-time-grid}. | 5463 | @code{org-agenda-use-time-grid} and @code{org-agenda-time-grid}. |
| 5288 | @c | 5464 | @c |
| @@ -5293,6 +5469,9 @@ after modification of the time stamps of items with S-@key{left} and | |||
| 5293 | S-@key{right}. When the buffer is the global todo list, a prefix | 5469 | S-@key{right}. When the buffer is the global todo list, a prefix |
| 5294 | argument is interpreted to create a selective list for a specific TODO | 5470 | argument is interpreted to create a selective list for a specific TODO |
| 5295 | keyword. | 5471 | keyword. |
| 5472 | @kindex g | ||
| 5473 | @item g | ||
| 5474 | Same as @kbd{r}. | ||
| 5296 | @c | 5475 | @c |
| 5297 | @kindex s | 5476 | @kindex s |
| 5298 | @kindex C-x C-s | 5477 | @kindex C-x C-s |
| @@ -5314,6 +5493,23 @@ Display the previous dates. | |||
| 5314 | @item . | 5493 | @item . |
| 5315 | Goto today. | 5494 | Goto today. |
| 5316 | 5495 | ||
| 5496 | @tsubheading{Query editing} | ||
| 5497 | @cindex query editing, in agenda | ||
| 5498 | |||
| 5499 | @kindex [ | ||
| 5500 | @kindex ] | ||
| 5501 | @kindex @{ | ||
| 5502 | @kindex @} | ||
| 5503 | @item [ ] @{ @} | ||
| 5504 | In the @i{search view} (@pxref{Keyword search}), these keys add new | ||
| 5505 | search words (@kbd{[} and @kbd{]}) or new regular expressions (@kbd{@{} | ||
| 5506 | and @kbd{@}}) to the query string. The opening bracket/brace will add a | ||
| 5507 | positive search term prefixed by @samp{+}, indicating that this search | ||
| 5508 | term @i{must} occur/match in the entry. Closing bracket/brace add a | ||
| 5509 | negative search term which @i{must not} occur/match in the entry for it | ||
| 5510 | to be selected. | ||
| 5511 | |||
| 5512 | |||
| 5317 | @tsubheading{Remote editing} | 5513 | @tsubheading{Remote editing} |
| 5318 | @cindex remote editing, from agenda | 5514 | @cindex remote editing, from agenda |
| 5319 | 5515 | ||
| @@ -5508,7 +5704,7 @@ dispatcher (@pxref{Agenda dispatcher}), just like the default commands. | |||
| 5508 | * Block agenda:: All the stuff you need in a single buffer | 5704 | * Block agenda:: All the stuff you need in a single buffer |
| 5509 | * Setting Options:: Changing the rules | 5705 | * Setting Options:: Changing the rules |
| 5510 | * Exporting Agenda Views:: Writing agendas to files. | 5706 | * Exporting Agenda Views:: Writing agendas to files. |
| 5511 | * Extracting Agenda Information for other programs:: | 5707 | * Extracting Agenda Information for other programs:: |
| 5512 | @end menu | 5708 | @end menu |
| 5513 | 5709 | ||
| 5514 | @node Storing searches, Block agenda, Custom agenda views, Custom agenda views | 5710 | @node Storing searches, Block agenda, Custom agenda views, Custom agenda views |
| @@ -5595,11 +5791,11 @@ matching commands discussed above: @code{todo}, @code{tags}, and | |||
| 5595 | @group | 5791 | @group |
| 5596 | (setq org-agenda-custom-commands | 5792 | (setq org-agenda-custom-commands |
| 5597 | '(("h" "Agenda and Home-related tasks" | 5793 | '(("h" "Agenda and Home-related tasks" |
| 5598 | ((agenda) | 5794 | ((agenda "") |
| 5599 | (tags-todo "home") | 5795 | (tags-todo "home") |
| 5600 | (tags "garden"))) | 5796 | (tags "garden"))) |
| 5601 | ("o" "Agenda and Office-related tasks" | 5797 | ("o" "Agenda and Office-related tasks" |
| 5602 | ((agenda) | 5798 | ((agenda "") |
| 5603 | (tags-todo "work") | 5799 | (tags-todo "work") |
| 5604 | (tags "office"))))) | 5800 | (tags "office"))))) |
| 5605 | @end group | 5801 | @end group |
| @@ -5612,7 +5808,6 @@ your agenda for the current week, all TODO items that carry the tag | |||
| 5612 | @samp{home}, and also all lines tagged with @samp{garden}. Finally the | 5808 | @samp{home}, and also all lines tagged with @samp{garden}. Finally the |
| 5613 | command @kbd{C-c a o} provides a similar view for office tasks. | 5809 | command @kbd{C-c a o} provides a similar view for office tasks. |
| 5614 | 5810 | ||
| 5615 | |||
| 5616 | @node Setting Options, Exporting Agenda Views, Block agenda, Custom agenda views | 5811 | @node Setting Options, Exporting Agenda Views, Block agenda, Custom agenda views |
| 5617 | @subsection Setting Options for custom commands | 5812 | @subsection Setting Options for custom commands |
| 5618 | @cindex options, for custom agenda views | 5813 | @cindex options, for custom agenda views |
| @@ -5632,7 +5827,10 @@ right spot in @code{org-agenda-custom-commands}. For example: | |||
| 5632 | (org-agenda-prefix-format " Mixed: "))) | 5827 | (org-agenda-prefix-format " Mixed: "))) |
| 5633 | ("U" tags-tree "+boss-urgent" | 5828 | ("U" tags-tree "+boss-urgent" |
| 5634 | ((org-show-following-heading nil) | 5829 | ((org-show-following-heading nil) |
| 5635 | (org-show-hierarchy-above nil))))) | 5830 | (org-show-hierarchy-above nil))) |
| 5831 | ("N" search "" | ||
| 5832 | ((org-agenda-files '("~org/notes.org")) | ||
| 5833 | (org-agenda-text-search-extra-files nil))))) | ||
| 5636 | @end group | 5834 | @end group |
| 5637 | @end lisp | 5835 | @end lisp |
| 5638 | 5836 | ||
| @@ -5642,7 +5840,8 @@ priority, and the prefix format is modified to just say @samp{ Mixed: } | |||
| 5642 | instead of giving the category of the entry. The sparse tags tree of | 5840 | instead of giving the category of the entry. The sparse tags tree of |
| 5643 | @kbd{C-c a U} will now turn out ultra-compact, because neither the | 5841 | @kbd{C-c a U} will now turn out ultra-compact, because neither the |
| 5644 | headline hierarchy above the match, nor the headline following the match | 5842 | headline hierarchy above the match, nor the headline following the match |
| 5645 | will be shown. | 5843 | will be shown. The command @kbd{C-c a N} will do a text search limited |
| 5844 | to only a single file. | ||
| 5646 | 5845 | ||
| 5647 | For command sets creating a block agenda, | 5846 | For command sets creating a block agenda, |
| 5648 | @code{org-agenda-custom-commands} has two separate spots for setting | 5847 | @code{org-agenda-custom-commands} has two separate spots for setting |
| @@ -5686,8 +5885,8 @@ yourself. | |||
| 5686 | If you are away from your computer, it can be very useful to have a | 5885 | If you are away from your computer, it can be very useful to have a |
| 5687 | printed version of some agenda views to carry around. Org-mode can | 5886 | printed version of some agenda views to carry around. Org-mode can |
| 5688 | export custom agenda views as plain text, HTML@footnote{You need to | 5887 | export custom agenda views as plain text, HTML@footnote{You need to |
| 5689 | install Hrvoje Niksic' @file{htmlize.el}.} and postscript. If you want | 5888 | install Hrvoje Niksic' @file{htmlize.el}.} postscript, and iCalendar |
| 5690 | to do this only occasionally, use the command | 5889 | files. If you want to do this only occasionally, use the command |
| 5691 | 5890 | ||
| 5692 | @table @kbd | 5891 | @table @kbd |
| 5693 | @kindex C-x C-w | 5892 | @kindex C-x C-w |
| @@ -5696,10 +5895,12 @@ to do this only occasionally, use the command | |||
| 5696 | @cindex agenda views, exporting | 5895 | @cindex agenda views, exporting |
| 5697 | Write the agenda view to a file. Depending on the extension of the | 5896 | Write the agenda view to a file. Depending on the extension of the |
| 5698 | selected file name, the view will be exported as HTML (extension | 5897 | selected file name, the view will be exported as HTML (extension |
| 5699 | @file{.html} or @file{.htm}), Postscript (extension @file{.ps}), or | 5898 | @file{.html} or @file{.htm}), Postscript (extension @file{.ps}), |
| 5700 | plain text (any other extension). Use the variable | 5899 | iCalendar (extension @file{.ics}), or plain text (any other extension). |
| 5701 | @code{org-agenda-exporter-settings} to set options for @file{ps-print} | 5900 | Use the variable @code{org-agenda-exporter-settings} to |
| 5702 | and for @file{htmlize} to be used during export, for example | 5901 | set options for @file{ps-print} and for @file{htmlize} to be used during |
| 5902 | export, for example | ||
| 5903 | |||
| 5703 | @lisp | 5904 | @lisp |
| 5704 | (setq org-agenda-exporter-settings | 5905 | (setq org-agenda-exporter-settings |
| 5705 | '((ps-number-of-columns 2) | 5906 | '((ps-number-of-columns 2) |
| @@ -5712,10 +5913,10 @@ If you need to export certain agenda views frequently, you can associate | |||
| 5712 | any custom agenda command with a list of output file names | 5913 | any custom agenda command with a list of output file names |
| 5713 | @footnote{If you want to store standard views like the weekly agenda | 5914 | @footnote{If you want to store standard views like the weekly agenda |
| 5714 | or the global TODO list as well, you need to define custom commands for | 5915 | or the global TODO list as well, you need to define custom commands for |
| 5715 | them in order to be able to specify filenames.}. Here is an example | 5916 | them in order to be able to specify file names.}. Here is an example |
| 5716 | that first does define custom commands for the agenda and the global | 5917 | that first does define custom commands for the agenda and the global |
| 5717 | todo list, together with a number of files to which to export them. | 5918 | todo list, together with a number of files to which to export them. |
| 5718 | Then we define two block agenda commands and specify filenames for them | 5919 | Then we define two block agenda commands and specify file names for them |
| 5719 | as well. File names can be relative to the current working directory, | 5920 | as well. File names can be relative to the current working directory, |
| 5720 | or absolute. | 5921 | or absolute. |
| 5721 | 5922 | ||
| @@ -5725,7 +5926,7 @@ or absolute. | |||
| 5725 | '(("X" agenda "" nil ("agenda.html" "agenda.ps")) | 5926 | '(("X" agenda "" nil ("agenda.html" "agenda.ps")) |
| 5726 | ("Y" alltodo "" nil ("todo.html" "todo.txt" "todo.ps")) | 5927 | ("Y" alltodo "" nil ("todo.html" "todo.txt" "todo.ps")) |
| 5727 | ("h" "Agenda and Home-related tasks" | 5928 | ("h" "Agenda and Home-related tasks" |
| 5728 | ((agenda) | 5929 | ((agenda "") |
| 5729 | (tags-todo "home") | 5930 | (tags-todo "home") |
| 5730 | (tags "garden")) | 5931 | (tags "garden")) |
| 5731 | nil | 5932 | nil |
| @@ -5735,7 +5936,7 @@ or absolute. | |||
| 5735 | (tags-todo "work") | 5936 | (tags-todo "work") |
| 5736 | (tags "office")) | 5937 | (tags "office")) |
| 5737 | nil | 5938 | nil |
| 5738 | ("~/views/office.ps")))) | 5939 | ("~/views/office.ps" "~/calendars/office.ics")))) |
| 5739 | @end group | 5940 | @end group |
| 5740 | @end lisp | 5941 | @end lisp |
| 5741 | 5942 | ||
| @@ -5743,16 +5944,20 @@ The extension of the file name determines the type of export. If it is | |||
| 5743 | @file{.html}, Org-mode will use the @file{htmlize.el} package to convert | 5944 | @file{.html}, Org-mode will use the @file{htmlize.el} package to convert |
| 5744 | the buffer to HTML and save it to this file name. If the extension is | 5945 | the buffer to HTML and save it to this file name. If the extension is |
| 5745 | @file{.ps}, @code{ps-print-buffer-with-faces} is used to produce | 5946 | @file{.ps}, @code{ps-print-buffer-with-faces} is used to produce |
| 5746 | postscript output. Any other extension produces a plain ASCII file. | 5947 | postscript output. If the extension is @file{.ics}, iCalendar export is |
| 5948 | run export over all files that were used to construct the agenda, and | ||
| 5949 | limit the export to entries listed in the agenda now. Any other | ||
| 5950 | extension produces a plain ASCII file. | ||
| 5747 | 5951 | ||
| 5748 | The export files are @emph{not} created when you use one of those | 5952 | The export files are @emph{not} created when you use one of those |
| 5749 | commands interactively. Instead, there is a special command to produce | 5953 | commands interactively because this might use too much overhead. |
| 5750 | @emph{all} specified files in one step: | 5954 | Instead, there is a special command to produce @emph{all} specified |
| 5955 | files in one step: | ||
| 5751 | 5956 | ||
| 5752 | @table @kbd | 5957 | @table @kbd |
| 5753 | @kindex C-c a e | 5958 | @kindex C-c a e |
| 5754 | @item C-c a e | 5959 | @item C-c a e |
| 5755 | Export all agenda views that have export filenames associated with | 5960 | Export all agenda views that have export file names associated with |
| 5756 | them. | 5961 | them. |
| 5757 | @end table | 5962 | @end table |
| 5758 | 5963 | ||
| @@ -5799,7 +6004,7 @@ emacs -eval '(org-batch-store-agenda-views \ | |||
| 5799 | @noindent | 6004 | @noindent |
| 5800 | which will create the agenda views restricted to the file | 6005 | which will create the agenda views restricted to the file |
| 5801 | @file{~/org/project.org}, without diary entries and with 30 days | 6006 | @file{~/org/project.org}, without diary entries and with 30 days |
| 5802 | extent. | 6007 | extent. |
| 5803 | 6008 | ||
| 5804 | @node Extracting Agenda Information for other programs, , Exporting Agenda Views, Custom agenda views | 6009 | @node Extracting Agenda Information for other programs, , Exporting Agenda Views, Custom agenda views |
| 5805 | @subsection Extracting Agenda Information for other programs | 6010 | @subsection Extracting Agenda Information for other programs |
| @@ -5827,7 +6032,7 @@ tags/todo match string. For example, to print your local shopping list | |||
| 5827 | @samp{NewYork}), you could use | 6032 | @samp{NewYork}), you could use |
| 5828 | 6033 | ||
| 5829 | @example | 6034 | @example |
| 5830 | emacs -batch -l ~/.emacs \ | 6035 | emacs -batch -l ~/.emacs \ |
| 5831 | -eval '(org-batch-agenda "+shop-NewYork")' | lpr | 6036 | -eval '(org-batch-agenda "+shop-NewYork")' | lpr |
| 5832 | @end example | 6037 | @end example |
| 5833 | 6038 | ||
| @@ -6175,7 +6380,7 @@ warning. If there is an active region, only the region will be | |||
| 6175 | exported. If the selected region is a single tree, the tree head will | 6380 | exported. If the selected region is a single tree, the tree head will |
| 6176 | become the document title. If the tree head entry has or inherits an | 6381 | become the document title. If the tree head entry has or inherits an |
| 6177 | @code{:EXPORT_FILE_NAME:} property, that name will be used for the | 6382 | @code{:EXPORT_FILE_NAME:} property, that name will be used for the |
| 6178 | export. | 6383 | export. |
| 6179 | @kindex C-c C-e v a | 6384 | @kindex C-c C-e v a |
| 6180 | @item C-c C-e v a | 6385 | @item C-c C-e v a |
| 6181 | Export only the visible part of the document. | 6386 | Export only the visible part of the document. |
| @@ -6387,7 +6592,7 @@ Org-mode contains a La@TeX{} exporter written by Bastien Guerry. | |||
| 6387 | @menu | 6592 | @menu |
| 6388 | * LaTeX export commands:: How to invoke LaTeX export | 6593 | * LaTeX export commands:: How to invoke LaTeX export |
| 6389 | * Quoting LaTeX code:: Incorporating literal LaTeX code | 6594 | * Quoting LaTeX code:: Incorporating literal LaTeX code |
| 6390 | * Sectioning structure:: | 6595 | * Sectioning structure:: |
| 6391 | @end menu | 6596 | @end menu |
| 6392 | 6597 | ||
| 6393 | @node LaTeX export commands, Quoting LaTeX code, LaTeX export, LaTeX export | 6598 | @node LaTeX export commands, Quoting LaTeX code, LaTeX export, LaTeX export |
| @@ -6516,7 +6721,7 @@ Create a single large iCalendar file from all files in | |||
| 6516 | The export will honor SUMMARY, DESCRIPTION and LOCATION properties if | 6721 | The export will honor SUMMARY, DESCRIPTION and LOCATION properties if |
| 6517 | the selected entries have them. If not, the summary will be derived | 6722 | the selected entries have them. If not, the summary will be derived |
| 6518 | from the headline, and the description from the body (limited to | 6723 | from the headline, and the description from the body (limited to |
| 6519 | @code{org-icalendar-include-body} characters). | 6724 | @code{org-icalendar-include-body} characters). |
| 6520 | 6725 | ||
| 6521 | How this calendar is best read and updated, depends on the application | 6726 | How this calendar is best read and updated, depends on the application |
| 6522 | you are using. The FAQ covers this issue. | 6727 | you are using. The FAQ covers this issue. |
| @@ -6532,7 +6737,7 @@ in order to produce better output. | |||
| 6532 | * Comment lines:: Some lines will not be exported | 6737 | * Comment lines:: Some lines will not be exported |
| 6533 | * Initial text:: Text before the first headline | 6738 | * Initial text:: Text before the first headline |
| 6534 | * Footnotes:: Numbers like [1] | 6739 | * Footnotes:: Numbers like [1] |
| 6535 | * Quoted examples:: Inserting quoted chnuks of text | 6740 | * Quoted examples:: Inserting quoted chnuks of text |
| 6536 | * Enhancing text:: Subscripts, symbols and more | 6741 | * Enhancing text:: Subscripts, symbols and more |
| 6537 | * Export options:: How to influence the export settings | 6742 | * Export options:: How to influence the export settings |
| 6538 | @end menu | 6743 | @end menu |
| @@ -6632,7 +6837,7 @@ If a headline starts with the word @samp{QUOTE}, the text below the | |||
| 6632 | headline will be typeset as fixed-width, to allow quoting of computer | 6837 | headline will be typeset as fixed-width, to allow quoting of computer |
| 6633 | codes etc. | 6838 | codes etc. |
| 6634 | @item | 6839 | @item |
| 6635 | Lines starting with @samp{:} are also typeset in fixed-width font. | 6840 | Lines starting with @samp{:} are also typeset in fixed-width font. |
| 6636 | @table @kbd | 6841 | @table @kbd |
| 6637 | @kindex C-c : | 6842 | @kindex C-c : |
| 6638 | @item C-c : | 6843 | @item C-c : |
| @@ -6700,7 +6905,7 @@ separator line will be formatted as table header fields. | |||
| 6700 | If a headline starts with the word @samp{QUOTE}, the text below the | 6905 | If a headline starts with the word @samp{QUOTE}, the text below the |
| 6701 | headline will be typeset as fixed-width, to allow quoting of computer | 6906 | headline will be typeset as fixed-width, to allow quoting of computer |
| 6702 | codes etc. Lines starting with @samp{:} are also typeset in fixed-width | 6907 | codes etc. Lines starting with @samp{:} are also typeset in fixed-width |
| 6703 | font. | 6908 | font. |
| 6704 | @table @kbd | 6909 | @table @kbd |
| 6705 | @kindex C-c : | 6910 | @kindex C-c : |
| 6706 | @item C-c : | 6911 | @item C-c : |
| @@ -6715,7 +6920,7 @@ quoted text | |||
| 6715 | will also be exported in this way. | 6920 | will also be exported in this way. |
| 6716 | 6921 | ||
| 6717 | @cindex linebreak, forced | 6922 | @cindex linebreak, forced |
| 6718 | @item | 6923 | @item |
| 6719 | A double backslash @emph{at the end of a line} enforces a line break at | 6924 | A double backslash @emph{at the end of a line} enforces a line break at |
| 6720 | this position. | 6925 | this position. |
| 6721 | 6926 | ||
| @@ -6865,8 +7070,8 @@ the two following forms: | |||
| 6865 | @lisp | 7070 | @lisp |
| 6866 | ("project-name" :property value :property value ...) | 7071 | ("project-name" :property value :property value ...) |
| 6867 | 7072 | ||
| 6868 | @r{or} | 7073 | @r{or} |
| 6869 | 7074 | ||
| 6870 | ("project-name" :components ("project-name" "project-name" ...)) | 7075 | ("project-name" :components ("project-name" "project-name" ...)) |
| 6871 | 7076 | ||
| 6872 | @end lisp | 7077 | @end lisp |
| @@ -6905,13 +7110,13 @@ run @code{make} for updating files to be published. | |||
| 6905 | 7110 | ||
| 6906 | By default, all files with extension @file{.org} in the base directory | 7111 | By default, all files with extension @file{.org} in the base directory |
| 6907 | are considered part of the project. This can be modified by setting the | 7112 | are considered part of the project. This can be modified by setting the |
| 6908 | properties | 7113 | properties |
| 6909 | @multitable @columnfractions 0.25 0.75 | 7114 | @multitable @columnfractions 0.25 0.75 |
| 6910 | @item @code{:base-extension} | 7115 | @item @code{:base-extension} |
| 6911 | @tab Extension (without the dot!) of source files. This actually is a | 7116 | @tab Extension (without the dot!) of source files. This actually is a |
| 6912 | regular expression. | 7117 | regular expression. |
| 6913 | 7118 | ||
| 6914 | @item @code{:exclude} | 7119 | @item @code{:exclude} |
| 6915 | @tab Regular expression to match file names that should not be | 7120 | @tab Regular expression to match file names that should not be |
| 6916 | published, even though they have been selected on the basis of their | 7121 | published, even though they have been selected on the basis of their |
| 6917 | extension. | 7122 | extension. |
| @@ -7019,7 +7224,7 @@ too. @ref{Complex example} for an example of this usage. | |||
| 7019 | 7224 | ||
| 7020 | Sometime an Org-mode file to be published may contain links that are | 7225 | Sometime an Org-mode file to be published may contain links that are |
| 7021 | only valid in your production environment, but not in the publishing | 7226 | only valid in your production environment, but not in the publishing |
| 7022 | location. In this case, use the property | 7227 | location. In this case, use the property |
| 7023 | 7228 | ||
| 7024 | @multitable @columnfractions 0.4 0.6 | 7229 | @multitable @columnfractions 0.4 0.6 |
| 7025 | @item @code{:link-validation-function} | 7230 | @item @code{:link-validation-function} |
| @@ -7080,12 +7285,12 @@ directory on the local machine. | |||
| 7080 | 7285 | ||
| 7081 | @lisp | 7286 | @lisp |
| 7082 | (setq org-publish-project-alist | 7287 | (setq org-publish-project-alist |
| 7083 | '(("org" | 7288 | '(("org" |
| 7084 | :base-directory "~/org/" | 7289 | :base-directory "~/org/" |
| 7085 | :publishing-directory "~/public_html" | 7290 | :publishing-directory "~/public_html" |
| 7086 | :section-numbers nil | 7291 | :section-numbers nil |
| 7087 | :table-of-contents nil | 7292 | :table-of-contents nil |
| 7088 | :style "<link rel=stylesheet | 7293 | :style "<link rel=stylesheet |
| 7089 | href=\"../other/mystyle.css\" | 7294 | href=\"../other/mystyle.css\" |
| 7090 | type=\"text/css\">"))) | 7295 | type=\"text/css\">"))) |
| 7091 | @end lisp | 7296 | @end lisp |
| @@ -7122,17 +7327,17 @@ right place on the webserver, and publishing images to it. | |||
| 7122 | :headline-levels 3 | 7327 | :headline-levels 3 |
| 7123 | :section-numbers nil | 7328 | :section-numbers nil |
| 7124 | :table-of-contents nil | 7329 | :table-of-contents nil |
| 7125 | :style "<link rel=stylesheet | 7330 | :style "<link rel=stylesheet |
| 7126 | href=\"../other/mystyle.css\" type=\"text/css\">" | 7331 | href=\"../other/mystyle.css\" type=\"text/css\">" |
| 7127 | :auto-preamble t | 7332 | :auto-preamble t |
| 7128 | :auto-postamble nil) | 7333 | :auto-postamble nil) |
| 7129 | 7334 | ||
| 7130 | ("images" | 7335 | ("images" |
| 7131 | :base-directory "~/images/" | 7336 | :base-directory "~/images/" |
| 7132 | :base-extension "jpg\\|gif\\|png" | 7337 | :base-extension "jpg\\|gif\\|png" |
| 7133 | :publishing-directory "/ssh:user@@host:~/html/images/" | 7338 | :publishing-directory "/ssh:user@@host:~/html/images/" |
| 7134 | :publishing-function org-publish-attachment) | 7339 | :publishing-function org-publish-attachment) |
| 7135 | 7340 | ||
| 7136 | ("other" | 7341 | ("other" |
| 7137 | :base-directory "~/other/" | 7342 | :base-directory "~/other/" |
| 7138 | :base-extension "css\\|el" | 7343 | :base-extension "css\\|el" |
| @@ -7145,7 +7350,7 @@ right place on the webserver, and publishing images to it. | |||
| 7145 | @section Triggering publication | 7350 | @section Triggering publication |
| 7146 | 7351 | ||
| 7147 | Once org-publish is properly configured, you can publish with the | 7352 | Once org-publish is properly configured, you can publish with the |
| 7148 | following functions: | 7353 | following functions: |
| 7149 | 7354 | ||
| 7150 | @table @kbd | 7355 | @table @kbd |
| 7151 | @item C-c C-e C | 7356 | @item C-c C-e C |
| @@ -7311,31 +7516,33 @@ showall @r{no folding at all, show everything} | |||
| 7311 | Then there are options for aligning tables upon visiting a file. This | 7516 | Then there are options for aligning tables upon visiting a file. This |
| 7312 | is useful in files containing narrowed table columns. The corresponding | 7517 | is useful in files containing narrowed table columns. The corresponding |
| 7313 | variable is @code{org-startup-align-all-tables}, with a default value | 7518 | variable is @code{org-startup-align-all-tables}, with a default value |
| 7314 | @code{nil}. | 7519 | @code{nil}. |
| 7315 | @cindex @code{align}, STARTUP keyword | 7520 | @cindex @code{align}, STARTUP keyword |
| 7316 | @cindex @code{noalign}, STARTUP keyword | 7521 | @cindex @code{noalign}, STARTUP keyword |
| 7317 | @example | 7522 | @example |
| 7318 | align @r{align all tables} | 7523 | align @r{align all tables} |
| 7319 | noalign @r{don't align tables on startup} | 7524 | noalign @r{don't align tables on startup} |
| 7320 | @end example | 7525 | @end example |
| 7321 | Logging TODO state changes and clock intervals (variables | 7526 | Logging closing and reinstating TODO items, and clock intervals |
| 7322 | @code{org-log-done} and @code{org-log-repeat}) can be configured using | 7527 | (variables @code{org-log-done}, @code{org-log-note-clock-out}, and |
| 7323 | these options. | 7528 | @code{org-log-repeat}) can be configured using these options. |
| 7324 | @cindex @code{logdone}, STARTUP keyword | 7529 | @cindex @code{logdone}, STARTUP keyword |
| 7325 | @cindex @code{nologging}, STARTUP keyword | ||
| 7326 | @cindex @code{lognotedone}, STARTUP keyword | 7530 | @cindex @code{lognotedone}, STARTUP keyword |
| 7531 | @cindex @code{nologdone}, STARTUP keyword | ||
| 7327 | @cindex @code{lognoteclock-out}, STARTUP keyword | 7532 | @cindex @code{lognoteclock-out}, STARTUP keyword |
| 7328 | @cindex @code{lognotestate}, STARTUP keyword | 7533 | @cindex @code{nolognoteclock-out}, STARTUP keyword |
| 7329 | @cindex @code{logrepeat}, STARTUP keyword | 7534 | @cindex @code{logrepeat}, STARTUP keyword |
| 7535 | @cindex @code{lognoterepeat}, STARTUP keyword | ||
| 7330 | @cindex @code{nologrepeat}, STARTUP keyword | 7536 | @cindex @code{nologrepeat}, STARTUP keyword |
| 7331 | @example | 7537 | @example |
| 7332 | logging @r{record a timestamp when an item is marked DONE} | 7538 | logdone @r{record a timestamp when an item is marked DONE} |
| 7333 | nologging @r{don't record when items are marked DONE} | 7539 | lognotedone @r{record timestamp and a note when DONE} |
| 7334 | lognotedone @r{record timestamp and a note when DONE} | 7540 | nologdone @r{don't record when items are marked DONE} |
| 7335 | lognotestate @r{record timestamp and a note when TODO state changes} | 7541 | logrepeat @r{record a time when reinstating a repeating item} |
| 7336 | logrepeat @r{record a note when re-instating a repeating item} | 7542 | lognoterepeat @r{record a note when reinstating a repeating item} |
| 7337 | nologrepeat @r{do not record when re-instating repeating item} | 7543 | nologrepeat @r{do not record when reinstating repeating item} |
| 7338 | lognoteclock-out @r{record timestamp and a note when clocking out} | 7544 | lognoteclock-out @r{record a note when clocking out} |
| 7545 | nolognoteclock-out @r{don't record a note when clocking out} | ||
| 7339 | @end example | 7546 | @end example |
| 7340 | Here are the options for hiding leading stars in outline headings. The | 7547 | Here are the options for hiding leading stars in outline headings. The |
| 7341 | corresponding variables are @code{org-hide-leading-stars} and | 7548 | corresponding variables are @code{org-hide-leading-stars} and |
| @@ -7400,7 +7607,7 @@ tree, or from clock display, remove these highlights. | |||
| 7400 | @item | 7607 | @item |
| 7401 | If the cursor is in one of the special @code{#+KEYWORD} lines, this | 7608 | If the cursor is in one of the special @code{#+KEYWORD} lines, this |
| 7402 | triggers scanning the buffer for these lines and updating the | 7609 | triggers scanning the buffer for these lines and updating the |
| 7403 | information. | 7610 | information. |
| 7404 | @item | 7611 | @item |
| 7405 | If the cursor is inside a table, realign the table. This command | 7612 | If the cursor is inside a table, realign the table. This command |
| 7406 | works even if the automatic table editor has been turned off. | 7613 | works even if the automatic table editor has been turned off. |
| @@ -7616,7 +7823,7 @@ La@TeX{} fragments into Org-mode files. See @ref{CDLaTeX mode}. | |||
| 7616 | Imenu allows menu access to an index of items in a file. Org-mode | 7823 | Imenu allows menu access to an index of items in a file. Org-mode |
| 7617 | supports imenu - all you need to do to get the index is the following: | 7824 | supports imenu - all you need to do to get the index is the following: |
| 7618 | @lisp | 7825 | @lisp |
| 7619 | (add-hook 'org-mode-hook | 7826 | (add-hook 'org-mode-hook |
| 7620 | (lambda () 'imenu-add-to-menubar "Imenu")) | 7827 | (lambda () 'imenu-add-to-menubar "Imenu")) |
| 7621 | @end lisp | 7828 | @end lisp |
| 7622 | By default the index is two levels deep - you can modify the depth using | 7829 | By default the index is two levels deep - you can modify the depth using |
| @@ -7884,7 +8091,7 @@ You would activate this new link type in @file{.emacs} with | |||
| 7884 | @noindent | 8091 | @noindent |
| 7885 | Lets go through the file and see what it does. | 8092 | Lets go through the file and see what it does. |
| 7886 | @enumerate | 8093 | @enumerate |
| 7887 | @item | 8094 | @item |
| 7888 | It does @code{(require 'org)} to make sure that @file{org.el} has been | 8095 | It does @code{(require 'org)} to make sure that @file{org.el} has been |
| 7889 | loaded. | 8096 | loaded. |
| 7890 | @item | 8097 | @item |
| @@ -8005,7 +8212,7 @@ number of different solutions: | |||
| 8005 | The table could be placed in a block comment if that is supported by the | 8212 | The table could be placed in a block comment if that is supported by the |
| 8006 | language. For example, in C-mode you could wrap the table between | 8213 | language. For example, in C-mode you could wrap the table between |
| 8007 | @samp{/*} and @samp{*/} lines. | 8214 | @samp{/*} and @samp{*/} lines. |
| 8008 | @item | 8215 | @item |
| 8009 | Sometimes it is possible to put the table after some kind of @i{END} | 8216 | Sometimes it is possible to put the table after some kind of @i{END} |
| 8010 | statement, for example @samp{\bye} in TeX and @samp{\end@{document@}} | 8217 | statement, for example @samp{\bye} in TeX and @samp{\end@{document@}} |
| 8011 | in La@TeX{}. | 8218 | in La@TeX{}. |
| @@ -8215,7 +8422,7 @@ Use @code{ORGLST} instead of @code{ORGTBL}. | |||
| 8215 | @item | 8422 | @item |
| 8216 | The available translation functions for radio lists don't take | 8423 | The available translation functions for radio lists don't take |
| 8217 | parameters. | 8424 | parameters. |
| 8218 | @item | 8425 | @item |
| 8219 | `C-c C-c' will work when pressed on the first item of the list. | 8426 | `C-c C-c' will work when pressed on the first item of the list. |
| 8220 | @end itemize | 8427 | @end itemize |
| 8221 | 8428 | ||
| @@ -8270,8 +8477,11 @@ Update all dynamic blocks in the current file. | |||
| 8270 | 8477 | ||
| 8271 | Updating a dynamic block means to remove all the text between BEGIN and | 8478 | Updating a dynamic block means to remove all the text between BEGIN and |
| 8272 | END, parse the BEGIN line for parameters and then call the specific | 8479 | END, parse the BEGIN line for parameters and then call the specific |
| 8273 | writer function for this block to insert the new content. For a block | 8480 | writer function for this block to insert the new content. If you want |
| 8274 | with name @code{myblock}, the writer function is | 8481 | to use the original content in the writer function, you can use the |
| 8482 | extra parameter @code{:content}. | ||
| 8483 | |||
| 8484 | For a block with name @code{myblock}, the writer function is | ||
| 8275 | @code{org-dblock-write:myblock} with as only parameter a property list | 8485 | @code{org-dblock-write:myblock} with as only parameter a property list |
| 8276 | with the parameters given in the begin line. Here is a trivial example | 8486 | with the parameters given in the begin line. Here is a trivial example |
| 8277 | of a block that keeps track of when the block update function was last | 8487 | of a block that keeps track of when the block update function was last |
| @@ -8487,6 +8697,8 @@ HTML agendas. | |||
| 8487 | @item | 8697 | @item |
| 8488 | @i{Nic Ferrier} contributed mailcap and XOXO support. | 8698 | @i{Nic Ferrier} contributed mailcap and XOXO support. |
| 8489 | @item | 8699 | @item |
| 8700 | @i{Miguel A. Figueroa-Villanueva} implemented hierarchical checkboxes. | ||
| 8701 | @item | ||
| 8490 | @i{John Foerch} figured out how to make incremental search show context | 8702 | @i{John Foerch} figured out how to make incremental search show context |
| 8491 | around a match in a hidden outline tree. | 8703 | around a match in a hidden outline tree. |
| 8492 | @item | 8704 | @item |
| @@ -8607,3 +8819,4 @@ and contributed various ideas and code snippets. | |||
| 8607 | @ignore | 8819 | @ignore |
| 8608 | arch-tag: 7893d1fe-cc57-4d13-b5e5-f494a1bcc7ac | 8820 | arch-tag: 7893d1fe-cc57-4d13-b5e5-f494a1bcc7ac |
| 8609 | @end ignore | 8821 | @end ignore |
| 8822 | ) | ||