Mercurial > emacs
comparison man/org.texi @ 73874:3d54d97a0181
(ARCHIVE tag): Document C-TAB for forcing cycling of
archived trees.
(Checkboxes): Section moved to chapter 5, and extended.
(The date/time prompt): New section.
(Link abbreviations): New section.
(Presentation and sorting): New section.
(Custom agenda views): Section completely rewritten.
(Summary): Compare with Planner.
(Feedback): More info about creating backtraces.
(Plain lists): Modified example.
(Breaking down tasks): New section.
(Custom time format): New section.
(Time stamps): Document inactive timestamps.
(Setting tags): More details about fast tag selection.
(Block agenda): New section.
(Custom agenda views): Section rewritten.
(Block agenda): New section.
author | Carsten Dominik <dominik@science.uva.nl> |
---|---|
date | Fri, 10 Nov 2006 08:53:49 +0000 |
parents | d688b3faf96b |
children | 8aa00b07ec99 |
comparison
equal
deleted
inserted
replaced
73873:346d5a94aa47 | 73874:3d54d97a0181 |
---|---|
1 \input texinfo | 1 \input texinfo |
2 @c %**start of header | 2 @c %**start of header |
3 @setfilename ../info/org | 3 @setfilename ../info/org |
4 @settitle Org Mode Manual | 4 @settitle Org Mode Manual |
5 | 5 |
6 @set VERSION 4.44 | 6 @set VERSION 4.54 |
7 @set DATE August 2006 | 7 @set DATE November 2006 |
8 | 8 |
9 @dircategory Emacs | 9 @dircategory Emacs |
10 @direntry | 10 @direntry |
11 * Org Mode: (org). outline-based notes management and organizer | 11 * Org Mode: (org). outline-based notes management and organizer |
12 @end direntry | 12 @end direntry |
13 | 13 |
14 @c Version and Contact Info | 14 @c Version and Contact Info |
15 @set MAINTAINERSITE @uref{http://www.astro.uva.nl/~dominik/Tools/org/,maintainers webpage} | 15 @set MAINTAINERSITE @uref{http://www.astro.uva.nl/~dominik/Tools/org/,maintainers webpage} |
16 @set AUTHOR Carsten Dominik | 16 @set AUTHOR Carsten Dominik |
17 @set MAINTAINER Carsten Dominik | 17 @set MAINTAINER Carsten Dominik |
18 @set MAINTAINEREMAIL @email{dominik@@science.uva.nl} | 18 @set MAINTAINEREMAIL @email{dominik at science dot uva dot nl} |
19 @set MAINTAINERCONTACT @uref{mailto:dominik@@science.uva.nl,contact the maintainer} | 19 @set MAINTAINERCONTACT @uref{mailto:dominik at science dot uva dot nl,contact the maintainer} |
20 @c %**end of header | 20 @c %**end of header |
21 @finalout | 21 @finalout |
22 | 22 |
23 @c Macro definitions | 23 @c Macro definitions |
24 | 24 |
109 * Visibility cycling:: Show and hide, much simplified | 109 * Visibility cycling:: Show and hide, much simplified |
110 * Motion:: Jumping to other headlines | 110 * Motion:: Jumping to other headlines |
111 * Structure editing:: Changing sequence and level of headlines | 111 * Structure editing:: Changing sequence and level of headlines |
112 * Archiving:: Move done task trees to a different place | 112 * Archiving:: Move done task trees to a different place |
113 * Sparse trees:: Matches embedded in context | 113 * Sparse trees:: Matches embedded in context |
114 * Plain lists:: Editing hand-formatted lists | 114 * Plain lists:: Additional structure within an entry |
115 * Checkboxes:: Easily checking off things. | |
116 | 115 |
117 Archiving | 116 Archiving |
118 | 117 |
119 * ARCHIVE tag:: Marking a tree as inactive | 118 * ARCHIVE tag:: Marking a tree as inactive |
120 * Moving subtrees:: Moving a tree to an archive file | 119 * Moving subtrees:: Moving a tree to an archive file |
141 | 140 |
142 * Link format:: How links in Org-mode are formatted | 141 * Link format:: How links in Org-mode are formatted |
143 * Internal links:: Links to other places in the current file | 142 * Internal links:: Links to other places in the current file |
144 * External links:: URL-like links to the world | 143 * External links:: URL-like links to the world |
145 * Handling links:: Creating, inserting and following | 144 * Handling links:: Creating, inserting and following |
145 * Link abbreviations:: Shortcuts for writing complex links | |
146 * Search options:: Linking to a specific location | 146 * Search options:: Linking to a specific location |
147 * Custom searches:: When the default search is not enough | 147 * Custom searches:: When the default search is not enough |
148 * Remember:: Org-trees store quick notes | 148 * Remember:: Org-trees store quick notes |
149 | 149 |
150 Internal links | 150 Internal links |
155 TODO items | 155 TODO items |
156 | 156 |
157 * TODO basics:: Marking and displaying TODO entries | 157 * TODO basics:: Marking and displaying TODO entries |
158 * TODO extensions:: Workflow and assignments | 158 * TODO extensions:: Workflow and assignments |
159 * Priorities:: Some things are more important than others | 159 * Priorities:: Some things are more important than others |
160 * Breaking down tasks:: Splitting a task into managable pieces | |
161 * Checkboxes:: Tick-off lists | |
160 | 162 |
161 Extended use of TODO keywords | 163 Extended use of TODO keywords |
162 | 164 |
163 * Workflow states:: From TODO to DONE in steps | 165 * Workflow states:: From TODO to DONE in steps |
164 * TODO types:: I do this, Fred the rest | 166 * TODO types:: I do this, Fred the rest |
166 | 168 |
167 Timestamps | 169 Timestamps |
168 | 170 |
169 * Time stamps:: Assigning a time to a tree entry | 171 * Time stamps:: Assigning a time to a tree entry |
170 * Creating timestamps:: Commands which insert timestamps | 172 * Creating timestamps:: Commands which insert timestamps |
173 * Custom time format:: If you cannot work with the ISO format | |
171 * Progress logging:: Documenting when what work was done. | 174 * Progress logging:: Documenting when what work was done. |
175 | |
176 Creating timestamps | |
177 | |
178 * The date/time prompt:: How org-mode helps you entring date and time | |
172 | 179 |
173 Progress Logging | 180 Progress Logging |
174 | 181 |
175 * Closing items:: When was this entry marked DONE? | 182 * Closing items:: When was this entry marked DONE? |
176 * Clocking work time:: When exactly did you work on this item? | 183 * Clocking work time:: When exactly did you work on this item? |
187 * Agenda dispatcher:: Keyboard access to agenda views | 194 * Agenda dispatcher:: Keyboard access to agenda views |
188 * Weekly/Daily agenda:: The calendar page with current tasks | 195 * Weekly/Daily agenda:: The calendar page with current tasks |
189 * Global TODO list:: All unfinished action items | 196 * Global TODO list:: All unfinished action items |
190 * Matching headline tags:: Structured information with fine-tuned search | 197 * Matching headline tags:: Structured information with fine-tuned search |
191 * Timeline:: Time-sorted view for single file | 198 * Timeline:: Time-sorted view for single file |
199 * Presentation and sorting:: How agenda items are prepared for display | |
192 * Agenda commands:: Remote editing of org trees | 200 * Agenda commands:: Remote editing of org trees |
201 * Custom agenda views:: Defining special searches and views | |
193 | 202 |
194 The weekly/daily agenda | 203 The weekly/daily agenda |
204 | |
205 * Calendar/Diary integration:: Integrating Anniversaries and more | |
206 | |
207 Presentation and sorting | |
195 | 208 |
196 * Categories:: Not all tasks are equal | 209 * Categories:: Not all tasks are equal |
197 * Time-of-day specifications:: How the agenda knows the time | 210 * Time-of-day specifications:: How the agenda knows the time |
198 * Calendar/Diary integration:: Integrating Anniversaries and more | |
199 * Sorting of agenda items:: The order of things | 211 * Sorting of agenda items:: The order of things |
212 | |
213 Custom agenda views | |
214 | |
215 * Storing searches:: Type once, use often | |
216 * Block agenda:: All the stuff you need in a single buffer | |
217 * Setting Options:: Changing the rules | |
218 * Batch processing:: Agenda views from the command line | |
200 | 219 |
201 Embedded LaTeX | 220 Embedded LaTeX |
202 | 221 |
203 * Math symbols:: TeX macros for symbols and Greek letters | 222 * Math symbols:: TeX macros for symbols and Greek letters |
204 * Subscripts and Superscripts:: Simple syntax for raising/lowering text | 223 * Subscripts and Superscripts:: Simple syntax for raising/lowering text |
296 printing and sharing of notes, an Org-mode file can be exported as a | 315 printing and sharing of notes, an Org-mode file can be exported as a |
297 structured ASCII file, as HTML, or (todo and agenda items only) as an | 316 structured ASCII file, as HTML, or (todo and agenda items only) as an |
298 iCalendar file. It can also serve as a publishing tool for a set of | 317 iCalendar file. It can also serve as a publishing tool for a set of |
299 linked webpages. | 318 linked webpages. |
300 | 319 |
320 An important design aspect that distinguishes Org-mode from other | |
321 packages like Planner/Muse is that it encougages to store every piece of | |
322 information only once. In Planner, you have project pages, day pages | |
323 and possibly other files, duplicating some information such as tasks. | |
324 In Org-mode, you only have notes files. In your notes you mark entries | |
325 as tasks, label them with tags and timestamps. All necessary lists like | |
326 a schedule for the day, the agenda for a meeting, tasks lists selected | |
327 by tags etc are created dynamically when you need them. | |
328 | |
301 Org-mode keeps simple things simple. When first fired up, it should | 329 Org-mode keeps simple things simple. When first fired up, it should |
302 feel like a straightforward, easy to use outliner. Complexity is not | 330 feel like a straightforward, easy to use outliner. Complexity is not |
303 imposed, but a large amount of functionality is available when you need | 331 imposed, but a large amount of functionality is available when you need |
304 it. Org-mode can be used on different levels and in different ways, for | 332 it. Org-mode can be used on different levels and in different ways, for |
305 example: | 333 example: |
308 @r{@bullet{} as an outline extension with visibility cycling and structure editing} | 336 @r{@bullet{} as an outline extension with visibility cycling and structure editing} |
309 @r{@bullet{} as an ASCII system and table editor for taking structured notes} | 337 @r{@bullet{} as an ASCII system and table editor for taking structured notes} |
310 @r{@bullet{} as an ASCII table editor with spreadsheet-like capabilities} | 338 @r{@bullet{} as an ASCII table editor with spreadsheet-like capabilities} |
311 @r{@bullet{} as a TODO list editor} | 339 @r{@bullet{} as a TODO list editor} |
312 @r{@bullet{} as a full agenda and planner with deadlines and work scheduling} | 340 @r{@bullet{} as a full agenda and planner with deadlines and work scheduling} |
341 @r{@bullet{} as an environment to implement David Allen's GTD system} | |
313 @r{@bullet{} as a simple hypertext system, with HTML export} | 342 @r{@bullet{} as a simple hypertext system, with HTML export} |
314 @r{@bullet{} as a publishing tool to create a set of interlinked webpages} | 343 @r{@bullet{} as a publishing tool to create a set of interlinked webpages} |
315 @end example | 344 @end example |
316 | 345 |
317 The Org-mode table editor can be integrated into any major mode by | 346 Org-mode's automatic, context sensitive table editor can be integrated |
318 activating the minor Orgtbl-mode. | 347 into any major mode by activating the minor Orgtbl-mode. |
319 | 348 |
320 @cindex FAQ | 349 @cindex FAQ |
321 There is a website for Org-mode which provides links to the newest | 350 There is a website for Org-mode which provides links to the newest |
322 version of Org-mode, as well as additional information, frequently asked | 351 version of Org-mode, as well as additional information, frequently asked |
323 questions (FAQ), links to tutorials etc. This page is located at | 352 questions (FAQ), links to tutorials etc. This page is located at |
430 | 459 |
431 For bug reports, please provide as much information as possible, | 460 For bug reports, please provide as much information as possible, |
432 including the version information of Emacs (@kbd{C-h v emacs-version | 461 including the version information of Emacs (@kbd{C-h v emacs-version |
433 @key{RET}}) and Org-mode (@kbd{C-h v org-version @key{RET}}), as well as | 462 @key{RET}}) and Org-mode (@kbd{C-h v org-version @key{RET}}), as well as |
434 the Org-mode related setup in @file{.emacs}. If an error occurs, a | 463 the Org-mode related setup in @file{.emacs}. If an error occurs, a |
435 traceback can be very useful. Often a small example file helps, along | 464 backtrace can be very useful (see below on how to create one). Often a |
436 with clear information about: | 465 small example file helps, along with clear information about: |
437 | 466 |
438 @enumerate | 467 @enumerate |
439 @item What exactly did you do? | 468 @item What exactly did you do? |
440 @item What did you expect to happen? | 469 @item What did you expect to happen? |
441 @item What happened instead? | 470 @item What happened instead? |
442 @end enumerate | 471 @end enumerate |
443 @noindent Thank you for helping to improve this mode. | 472 @noindent Thank you for helping to improve this mode. |
473 | |
474 @subsubheading How to create a useful backtrace | |
475 | |
476 @cindex backtrace of an error | |
477 If working with Org-mode produces an error with a message you don't | |
478 understand, you may have hit a bug. The best way to report this is by | |
479 providing, in addition to what was mentioned above, a @emph{Backtrace}. | |
480 This is information from the built-in debugger about where and how the | |
481 error occurred. Here is how to produce a useful backtrace: | |
482 | |
483 @enumerate | |
484 @item | |
485 Start a fresh Emacs or XEmacs, and make sure that it will load the | |
486 original Lisp code in @file{org.el} instead of the compiled version in | |
487 @file{org.elc}. The backtrace contains much more information if it is | |
488 produced with uncompiled code. To do this, either rename @file{org.elc} | |
489 to something else before starting Emacs, or ask Emacs explicitly to load | |
490 @file{org.el} by using the command line | |
491 @example | |
492 emacs -l /path/to/org.el | |
493 @end example | |
494 @item | |
495 Go to the @code{Options} menu and select @code{Enter Debugger on Error} | |
496 (XEmacs has this option in the @code{Troubleshooting} sub-menu). | |
497 @item | |
498 Do whatever you have to do to hit the error. Don't forget to to | |
499 document the steps you take. | |
500 @item | |
501 When you hit the error, a @file{*Backtrace*} buffer will appear on the | |
502 screen. Safe this buffer to a file (for example using @kbd{C-x C-w} and | |
503 attach) it to your bug report. | |
504 @end enumerate | |
444 | 505 |
445 @node Document structure, Tables, Introduction, Top | 506 @node Document structure, Tables, Introduction, Top |
446 @chapter Document Structure | 507 @chapter Document Structure |
447 @cindex document structure | 508 @cindex document structure |
448 @cindex structure of document | 509 @cindex structure of document |
456 * Visibility cycling:: Show and hide, much simplified | 517 * Visibility cycling:: Show and hide, much simplified |
457 * Motion:: Jumping to other headlines | 518 * Motion:: Jumping to other headlines |
458 * Structure editing:: Changing sequence and level of headlines | 519 * Structure editing:: Changing sequence and level of headlines |
459 * Archiving:: Move done task trees to a different place | 520 * Archiving:: Move done task trees to a different place |
460 * Sparse trees:: Matches embedded in context | 521 * Sparse trees:: Matches embedded in context |
461 * Plain lists:: Editing hand-formatted lists | 522 * Plain lists:: Additional structure within an entry |
462 * Checkboxes:: Easily checking off things. | |
463 @end menu | 523 @end menu |
464 | 524 |
465 @node Outlines, Headlines, Document structure, Document structure | 525 @node Outlines, Headlines, Document structure, Document structure |
466 @section Outlines | 526 @section Outlines |
467 @cindex outlines | 527 @cindex outlines |
553 | 613 |
554 @cindex show all, command | 614 @cindex show all, command |
555 @kindex C-c C-a | 615 @kindex C-c C-a |
556 @item C-c C-a | 616 @item C-c C-a |
557 Show all. | 617 Show all. |
618 @kindex C-c C-r | |
619 @item C-c C-r | |
620 Reveal context around point, showing the current entry, the following | |
621 heading and the hierarchy above. Useful for working near a location | |
622 exposed by a sparse tree command (@pxref{Sparse trees}) or an agenda | |
623 command (@pxref{Agenda commands}). | |
558 @end table | 624 @end table |
559 | 625 |
560 When Emacs first visits an Org-mode file, the global state is set to | 626 When Emacs first visits an Org-mode file, the global state is set to |
561 OVERVIEW, i.e. only the top level headlines are visible. This can be | 627 OVERVIEW, i.e. only the top level headlines are visible. This can be |
562 configured through the variable @code{org-startup-folded}, or on a | 628 configured through the variable @code{org-startup-folded}, or on a |
623 to get to the beginning of the next line. When this command is used in | 689 to get to the beginning of the next line. When this command is used in |
624 the middle of a line, the line is split and the rest of the line becomes | 690 the middle of a line, the line is split and the rest of the line becomes |
625 the new headline. If the command is used at the beginning of a | 691 the new headline. If the command is used at the beginning of a |
626 headline, the new headline is created before the current line. If at | 692 headline, the new headline is created before the current line. If at |
627 the beginning of any other line, the content of that line is made the | 693 the beginning of any other line, the content of that line is made the |
628 new heading. | 694 new heading. If the command is used at the end of a folded subtree |
695 (i.e. behind the ellipses at the end of a headline), then a headline | |
696 like the current one will be inserted after the end of the subtree. | |
629 @kindex M-S-@key{RET} | 697 @kindex M-S-@key{RET} |
630 @item M-S-@key{RET} | 698 @item M-S-@key{RET} |
631 Insert new TODO entry with same level as current heading. | 699 Insert new TODO entry with same level as current heading. |
632 @kindex M-@key{left} | 700 @kindex M-@key{left} |
633 @item M-@key{left} | 701 @item M-@key{left} |
697 A headline that is marked with the ARCHIVE tag (@pxref{Tags}) stays at | 765 A headline that is marked with the ARCHIVE tag (@pxref{Tags}) stays at |
698 its location in the outline tree, but behaves in the following way: | 766 its location in the outline tree, but behaves in the following way: |
699 @itemize @minus | 767 @itemize @minus |
700 @item | 768 @item |
701 It does not open when you attempt to do so with a visibility cycling | 769 It does not open when you attempt to do so with a visibility cycling |
702 command (@pxref{Visibility cycling}). You can still open it with a | 770 command (@pxref{Visibility cycling}). You can force cycling archived |
703 normal outline command like @code{show-all}. Or you can modify the | 771 subtrees with @kbd{C-@key{TAB}}, or by setting the option |
704 option @code{org-cycle-open-archived-trees}. | 772 @code{org-cycle-open-archived-trees}. Also normal outline commands like |
773 @code{show-all} will open archived subtrees. | |
705 @item | 774 @item |
706 During sparse tree construction (@pxref{Sparse trees}), matches in | 775 During sparse tree construction (@pxref{Sparse trees}), matches in |
707 archived subtrees are not exposed, unless you configure the option | 776 archived subtrees are not exposed, unless you configure the option |
708 @code{org-sparse-tree-open-archived-trees}. | 777 @code{org-sparse-tree-open-archived-trees}. |
709 @item | 778 @item |
714 Archived trees are not exported (@pxref{Exporting}), only the headline | 783 Archived trees are not exported (@pxref{Exporting}), only the headline |
715 is. Configure the details using the variable | 784 is. Configure the details using the variable |
716 @code{org-export-with-archived-trees}. | 785 @code{org-export-with-archived-trees}. |
717 @end itemize | 786 @end itemize |
718 | 787 |
719 The following commands allow to set or clear the ARCHIVE tag: | 788 The following commands help managing the ARCHIVE tag: |
720 | 789 |
721 @table @kbd | 790 @table @kbd |
722 @kindex C-c C-x C-a | 791 @kindex C-c C-x C-a |
723 @item C-c C-x C-a | 792 @item C-c C-x C-a |
724 Toggle the ARCHIVE tag for the current headline. When the tag is set, | 793 Toggle the ARCHIVE tag for the current headline. When the tag is set, |
729 Check if any direct children of the current headline should be archived. | 798 Check if any direct children of the current headline should be archived. |
730 To do this, each subtree is checked for open TODO entries. If none are | 799 To do this, each subtree is checked for open TODO entries. If none are |
731 found, the command offers to set the ARCHIVE tag for the child. If the | 800 found, the command offers to set the ARCHIVE tag for the child. If the |
732 cursor is @emph{not} on a headline when this command is invoked, the | 801 cursor is @emph{not} on a headline when this command is invoked, the |
733 level 1 trees will be checked. | 802 level 1 trees will be checked. |
803 @kindex C-@kbd{TAB} | |
804 @item C-@kbd{TAB} | |
805 Cycle a tree even if it is tagged with ARCHIVE. | |
734 @end table | 806 @end table |
735 | 807 |
736 @node Moving subtrees, , ARCHIVE tag, Archiving | 808 @node Moving subtrees, , ARCHIVE tag, Archiving |
737 @subsection Moving subtrees | 809 @subsection Moving subtrees |
738 @cindex external archiving | 810 @cindex external archiving |
788 If the match is in a headline, the headline is made visible. If the | 860 If the match is in a headline, the headline is made visible. If the |
789 match is in the body of an entry, headline and body are made visible. | 861 match is in the body of an entry, headline and body are made visible. |
790 In order to provide minimal context, also the full hierarchy of | 862 In order to provide minimal context, also the full hierarchy of |
791 headlines above the match is shown, as well as the headline following | 863 headlines above the match is shown, as well as the headline following |
792 the match. Each match is also highlighted; the highlights disappear | 864 the match. Each match is also highlighted; the highlights disappear |
793 when the buffer is changed with an editing command. | 865 when the bufer is changes an editing command, or by pressing @kbd{C-c |
866 C-c}. When called with a @kbd{C-u} prefix argument, previous highlights | |
867 are kept, so several calls to this command can be stacked. | |
794 @end table | 868 @end table |
795 @noindent | 869 @noindent |
796 For frequently used sparse trees of specific search strings, you can | 870 For frequently used sparse trees of specific search strings, you can |
797 use the variable @code{org-agenda-custom-commands} to define fast | 871 use the variable @code{org-agenda-custom-commands} to define fast |
798 keyboard access to specific sparse trees. These commands will then be | 872 keyboard access to specific sparse trees. These commands will then be |
818 of the document @footnote{This does not work under XEmacs, because | 892 of the document @footnote{This does not work under XEmacs, because |
819 XEmacs uses selective display for outlining, not text properties.}. | 893 XEmacs uses selective display for outlining, not text properties.}. |
820 Or you can use the command @kbd{C-c C-e v} to export only the visible | 894 Or you can use the command @kbd{C-c C-e v} to export only the visible |
821 part of the document and print the resulting file. | 895 part of the document and print the resulting file. |
822 | 896 |
823 | 897 @node Plain lists, , Sparse trees, Document structure |
824 @node Plain lists, Checkboxes, Sparse trees, Document structure | |
825 @section Plain lists | 898 @section Plain lists |
826 @cindex plain lists | 899 @cindex plain lists |
827 @cindex lists, plain | 900 @cindex lists, plain |
828 @cindex lists, ordered | 901 @cindex lists, ordered |
829 @cindex ordered lists | 902 @cindex ordered lists |
830 | 903 |
831 Headlines define both the structure of the Org-mode file, and also lists | 904 Within an entry of the outline tree, hand-formatted lists can provide |
832 (for example, TODO items (@pxref{TODO items}) should be created using | 905 additional structure. They also provide a way to create lists of |
833 headline levels). When taking notes, however, the plain text is | 906 checkboxes (@pxref{Checkboxes}). Org-mode supports editing such lists, |
834 sometimes easier to read with hand-formatted lists. Org-mode supports | 907 and the HTML exporter (@pxref{Exporting}) does parse and format them. |
835 editing such lists, and the HTML exporter (@pxref{Exporting}) does | |
836 parse and format them. | |
837 | 908 |
838 Org-mode knows ordered and unordered lists. Unordered list items start | 909 Org-mode knows ordered and unordered lists. Unordered list items start |
839 with @samp{-}, @samp{+}, or @samp{*}@footnote{When using @samp{*} as a | 910 with @samp{-}, @samp{+}, or @samp{*}@footnote{When using @samp{*} as a |
840 bullet, lines must be indented or they will be seen as top-level | 911 bullet, lines must be indented or they will be seen as top-level |
841 headlines. Also, when you are hiding leading stars to get a clean | 912 headlines. Also, when you are hiding leading stars to get a clean |
851 less. For example: | 922 less. For example: |
852 | 923 |
853 @example | 924 @example |
854 @group | 925 @group |
855 ** Lord of the Rings | 926 ** Lord of the Rings |
856 My favorite scenes are (in this order) | 927 My favorite scenes are (in this order) |
857 1. Eowyns fight with the witch king | 928 1. The attack of the Rohirrim |
858 + this was already my favorite scene in the book | 929 2. Eowyns fight with the witch king |
859 + I really like Miranda Otto. | 930 + this was already my favorite scene in the book |
860 2. The attack of the Rohirrim | 931 + I really like Miranda Otto. |
861 3. Peter Jackson being shot by Legolas | 932 3. Peter Jackson being shot by Legolas |
862 - on DVD only | 933 - on DVD only |
863 He makes a really funny face when it happens. | 934 He makes a really funny face when it happens. |
864 But in the end, not individual scenes matter but the film as a whole. | 935 But in the end, not individual scenes matter but the film as a whole. |
865 @end group | 936 @end group |
866 @end example | 937 @end example |
867 | 938 |
868 Org-mode supports these lists by tuning filling and wrapping commands to | 939 Org-mode supports these lists by tuning filling and wrapping commands to |
869 deal with them correctly@footnote{Org-mode only changes the filling | 940 deal with them correctly@footnote{Org-mode only changes the filling |
925 If there is a checkbox (@pxref{Checkboxes}) in the item line, toggle the | 996 If there is a checkbox (@pxref{Checkboxes}) in the item line, toggle the |
926 state of the checkbox. Otherwise, if this is an ordered list, renumber | 997 state of the checkbox. Otherwise, if this is an ordered list, renumber |
927 the ordered list at the cursor. | 998 the ordered list at the cursor. |
928 @end table | 999 @end table |
929 | 1000 |
930 @page | |
931 @node Checkboxes, , Plain lists, Document structure | |
932 @section Checkboxes | |
933 @cindex checkboxes | |
934 | |
935 Every item in a plain list (ordered and unordered) can be made a | |
936 checkbox by starting it with the string @samp{[ ]}. This feature is | |
937 similar to TODO items (@pxref{TODO items}), but more lightweight. | |
938 Checkboxes are not included into the global TODO list, so they are often | |
939 great to split a task into a number of simple steps. Or you can use | |
940 them in a shopping list to select the items you need to buy. To toggle | |
941 a checkbox, use @kbd{C-c C-c}, or try Piotr Zielinski's | |
942 @file{org-mouse.el}. Here is an example of a checkbox list. | |
943 | |
944 @example | |
945 * Avoid stupid mistakes when distributing a new version | |
946 - [ ] update also Emacs CVS | |
947 - [X] forget to update index.html on the website | |
948 - [X] leaving a `(debug)' form in the code | |
949 @end example | |
950 | |
951 @noindent The following commands work with checkboxes: | |
952 | |
953 @table @kbd | |
954 @kindex C-c C-c | |
955 @item C-c C-c | |
956 Toggle checkbox at point. | |
957 @kindex C-c C-x C-b | |
958 @item C-c C-x C-b | |
959 Toggle checkbox at point. | |
960 @itemize @minus | |
961 @item | |
962 If there is an active region, toggle the first checkbox in the region | |
963 and set all remaining boxes to the same status as the first. If you | |
964 want to toggle all boxes in the region independently, use a prefix | |
965 argument. | |
966 @item | |
967 If the cursor is in a headline, toggle checkboxes in the region between | |
968 this headline and the next. This does @emph{not} act on the entire | |
969 subtree, just the current entry. | |
970 @item | |
971 If no active region, just toggle the checkbox at point. | |
972 @end itemize | |
973 @kindex M-S-@key{RET} | |
974 @item M-S-@key{RET} | |
975 Insert a new item with a checkbox. | |
976 This works only if the cursor is already in a plain list item | |
977 (@pxref{Plain lists}). | |
978 @end table | |
979 | |
980 @node Tables, Hyperlinks, Document structure, Top | 1001 @node Tables, Hyperlinks, Document structure, Top |
981 @chapter Tables | 1002 @chapter Tables |
982 @cindex tables | 1003 @cindex tables |
983 @cindex editing tables | 1004 @cindex editing tables |
984 | 1005 |
1018 @samp{|-} is considered as a horizontal separator line and will be | 1039 @samp{|-} is considered as a horizontal separator line and will be |
1019 expanded on the next re-align to span the whole table width. So, to | 1040 expanded on the next re-align to span the whole table width. So, to |
1020 create the above table, you would only type | 1041 create the above table, you would only type |
1021 | 1042 |
1022 @example | 1043 @example |
1023 |Name|Phone|Age | 1044 |Name|Phone|Age| |
1024 |- | 1045 |- |
1025 @end example | 1046 @end example |
1026 | 1047 |
1027 @noindent and then press @key{TAB} to align the table and start filling in | 1048 @noindent and then press @key{TAB} to align the table and start filling in |
1028 fields. | 1049 fields. |
1634 @menu | 1655 @menu |
1635 * Link format:: How links in Org-mode are formatted | 1656 * Link format:: How links in Org-mode are formatted |
1636 * Internal links:: Links to other places in the current file | 1657 * Internal links:: Links to other places in the current file |
1637 * External links:: URL-like links to the world | 1658 * External links:: URL-like links to the world |
1638 * Handling links:: Creating, inserting and following | 1659 * Handling links:: Creating, inserting and following |
1660 * Link abbreviations:: Shortcuts for writing complex links | |
1639 * Search options:: Linking to a specific location | 1661 * Search options:: Linking to a specific location |
1640 * Custom searches:: When the default search is not enough | 1662 * Custom searches:: When the default search is not enough |
1641 * Remember:: Org-trees store quick notes | 1663 * Remember:: Org-trees store quick notes |
1642 @end menu | 1664 @end menu |
1643 | 1665 |
1674 @node Internal links, External links, Link format, Hyperlinks | 1696 @node Internal links, External links, Link format, Hyperlinks |
1675 @section Internal links | 1697 @section Internal links |
1676 @cindex internal links | 1698 @cindex internal links |
1677 @cindex links, internal | 1699 @cindex links, internal |
1678 @cindex CamelCase links | 1700 @cindex CamelCase links |
1701 @cindex targets, for links | |
1679 | 1702 |
1680 If the link does not look like a URL, it is considered to be internal in | 1703 If the link does not look like a URL, it is considered to be internal in |
1681 the current file. Links such as @samp{[[My Target]]} or @samp{[[My | 1704 the current file. Links such as @samp{[[My Target]]} or @samp{[[My |
1682 Target][Find my target]]} lead to a text search in the current file. | 1705 Target][Find my target]]} lead to a text search in the current file. |
1683 The link can be followed with @kbd{C-c C-o} when the cursor is on the | 1706 The link can be followed with @kbd{C-c C-o} when the cursor is on the |
1724 * CamelCase links:: Activating CamelCase words as links | 1747 * CamelCase links:: Activating CamelCase words as links |
1725 @end menu | 1748 @end menu |
1726 | 1749 |
1727 @node Radio targets, CamelCase links, Internal links, Internal links | 1750 @node Radio targets, CamelCase links, Internal links, Internal links |
1728 @subsection Radio targets | 1751 @subsection Radio targets |
1752 @cindex radio targets | |
1753 @cindex targets, radio | |
1754 @cindex links, radio targets | |
1729 | 1755 |
1730 You can configure Org-mode to link any occurrences of certain target | 1756 You can configure Org-mode to link any occurrences of certain target |
1731 names in normal text. So without explicitly creating a link, the text | 1757 names in normal text. So without explicitly creating a link, the text |
1732 connects to the target radioing its position. Radio targets are | 1758 connects to the target radioing its position. Radio targets are |
1733 enclosed by triple angular brackets. For example, a target | 1759 enclosed by triple angular brackets. For example, a target |
1742 @cindex completion, of CamelCase links | 1768 @cindex completion, of CamelCase links |
1743 @cindex CamelCase links, completion of | 1769 @cindex CamelCase links, completion of |
1744 | 1770 |
1745 Org-mode also supports CamelCase words as links. This feature is not | 1771 Org-mode also supports CamelCase words as links. This feature is not |
1746 turned on by default because of the inconsistencies this system suffers | 1772 turned on by default because of the inconsistencies this system suffers |
1747 from. To activate CamelCase words as links, you need to customize | 1773 from. It is also possible that this feature will disappear entirely in |
1748 the option @code{org-activate-links}. A CamelCase word then leads to a | 1774 a future version of Org-mode. To activate CamelCase words as links, you |
1749 text search such that @samp{CamelCaseLink} is equivalent to | 1775 need to customize the option @code{org-activate-links}. A CamelCase |
1750 @samp{[[camel case link]]}. | 1776 word then leads to a text search such that @samp{CamelCaseLink} is |
1777 equivalent to @samp{[[camel case link]]}. | |
1751 | 1778 |
1752 @node External links, Handling links, Internal links, Hyperlinks | 1779 @node External links, Handling links, Internal links, Hyperlinks |
1753 @section External links | 1780 @section External links |
1754 @cindex links, external | 1781 @cindex links, external |
1755 @cindex external links | 1782 @cindex external links |
1808 Org-mode also finds external links in the normal text and activates them | 1835 Org-mode also finds external links in the normal text and activates them |
1809 as links. If spaces must be part of the link (for example in | 1836 as links. If spaces must be part of the link (for example in |
1810 @samp{bbdb:Richard Stallman}), or you need to remove ambiguities about the end of | 1837 @samp{bbdb:Richard Stallman}), or you need to remove ambiguities about the end of |
1811 the link, enclose them in angular brackets. | 1838 the link, enclose them in angular brackets. |
1812 | 1839 |
1813 @node Handling links, Search options, External links, Hyperlinks | 1840 @node Handling links, Link abbreviations, External links, Hyperlinks |
1814 @section Handling links | 1841 @section Handling links |
1842 @cindex links, handling | |
1815 | 1843 |
1816 Org-mode provides methods to create a link in the correct syntax, to | 1844 Org-mode provides methods to create a link in the correct syntax, to |
1817 insert it into an org-mode file, and to follow the link. | 1845 insert it into an org-mode file, and to follow the link. |
1818 | 1846 |
1819 @table @kbd | 1847 @table @kbd |
1898 On links, @kbd{mouse-2} will open the link just as @kbd{C-c C-o} | 1926 On links, @kbd{mouse-2} will open the link just as @kbd{C-c C-o} |
1899 would. Under Emacs 22, also @kbd{mouse-1} will follow a link. | 1927 would. Under Emacs 22, also @kbd{mouse-1} will follow a link. |
1900 | 1928 |
1901 @kindex mouse-3 | 1929 @kindex mouse-3 |
1902 @item mouse-3 | 1930 @item mouse-3 |
1903 Like @kbd{mouse-2}, but force file links to be opened with Emacs. | 1931 Like @kbd{mouse-2}, but force file links to be opened with Emacs, and |
1932 internal links to be displayed in another window@footnote{See the | |
1933 variable @code{org-display-internal-link-with-indirect-buffer}}. | |
1904 | 1934 |
1905 @cindex mark ring | 1935 @cindex mark ring |
1906 @kindex C-c % | 1936 @kindex C-c % |
1907 @item C-c % | 1937 @item C-c % |
1908 Push the current position onto the mark ring, to be able to return | 1938 Push the current position onto the mark ring, to be able to return |
1915 commands following internal links, and by @kbd{C-c %}. Using this | 1945 commands following internal links, and by @kbd{C-c %}. Using this |
1916 command several times in direct succession moves through a ring of | 1946 command several times in direct succession moves through a ring of |
1917 previously recorded positions. | 1947 previously recorded positions. |
1918 @end table | 1948 @end table |
1919 | 1949 |
1920 | 1950 @node Link abbreviations, Search options, Handling links, Hyperlinks |
1921 @node Search options, Custom searches, Handling links, Hyperlinks | 1951 @section Link abbreviatons |
1952 @cindex link abbreviations | |
1953 @cindex abbreviation, links | |
1954 | |
1955 Long URLs can be cumbersome to type, and often many similar links are | |
1956 needed in a document. For this you can use link abbreviations. An | |
1957 abbreviated link looks like this | |
1958 | |
1959 @example | |
1960 [[linkword::tag][description]] | |
1961 @end example | |
1962 | |
1963 @noindent | |
1964 where the tag is optional. Such abbreviations are resolved according to | |
1965 the information in the variable @code{org-link-abbrev-alist} that | |
1966 relates the linkwords to replacement text. Here is an example: | |
1967 | |
1968 @lisp | |
1969 @group | |
1970 (setq org-link-abbrev-alist | |
1971 '(("bugzilla" . "http://10.1.2.9/bugzilla/show_bug.cgi?id=") | |
1972 ("google" . "http://www.google.com/search?q=") | |
1973 ("ads" . "http://adsabs.harvard.edu/cgi-bin/ | |
1974 nph-abs_connect?author=%s&db_key=AST"))) | |
1975 @end group | |
1976 @end lisp | |
1977 | |
1978 If the replacement text contains the string @samp{%s}, it will be | |
1979 replaced with the tag. Otherwise the tag will be appended to the string | |
1980 in order to create the link. You may also specify a function that will | |
1981 be called with the tag as the only argument to create the link. | |
1982 | |
1983 With the above setting, you could link to a specific bug with | |
1984 @code{[[bugzilla::129]]}, search the web for OrgMode with | |
1985 @code{[[google::OrgMode]]} and find out what the Org-mode author is | |
1986 doing besides Emacs hacking with @code{[[ads::Dominik,C]]}. | |
1987 | |
1988 If you need special abbreviations just for a single Org-mode buffer, you | |
1989 can define them in the file with | |
1990 | |
1991 @example | |
1992 #+LINK: bugzilla http://10.1.2.9/bugzilla/show_bug.cgi?id= | |
1993 #+LINK: google http://www.google.com/search?q=%s | |
1994 @end example | |
1995 | |
1996 @noindent | |
1997 In-buffer completion @pxref{Completion} can be used after @samp{[} to | |
1998 complete link abbreviations. | |
1999 | |
2000 @node Search options, Custom searches, Link abbreviations, Hyperlinks | |
1922 @section Search options in file links | 2001 @section Search options in file links |
1923 @cindex search option in file links | 2002 @cindex search option in file links |
1924 @cindex file links, searching | 2003 @cindex file links, searching |
1925 | 2004 |
1926 File links can contain additional information to make Emacs jump to a | 2005 File links can contain additional information to make Emacs jump to a |
1968 @samp{[[find me]]} would. | 2047 @samp{[[find me]]} would. |
1969 | 2048 |
1970 @node Custom searches, Remember, Search options, Hyperlinks | 2049 @node Custom searches, Remember, Search options, Hyperlinks |
1971 @section Custom Searches | 2050 @section Custom Searches |
1972 @cindex custom search strings | 2051 @cindex custom search strings |
2052 @cindex search strings, custom | |
1973 | 2053 |
1974 The default mechanism for creating search strings and for doing the | 2054 The default mechanism for creating search strings and for doing the |
1975 actual search related to a file link may not work correctly in all | 2055 actual search related to a file link may not work correctly in all |
1976 cases. For example, BibTeX database files have many entries like | 2056 cases. For example, BibTeX database files have many entries like |
1977 @samp{year="1993"} which would not result in good search strings, | 2057 @samp{year="1993"} which would not result in good search strings, |
2099 | 2179 |
2100 @menu | 2180 @menu |
2101 * TODO basics:: Marking and displaying TODO entries | 2181 * TODO basics:: Marking and displaying TODO entries |
2102 * TODO extensions:: Workflow and assignments | 2182 * TODO extensions:: Workflow and assignments |
2103 * Priorities:: Some things are more important than others | 2183 * Priorities:: Some things are more important than others |
2184 * Breaking down tasks:: Splitting a task into managable pieces | |
2185 * Checkboxes:: Tick-off lists | |
2104 @end menu | 2186 @end menu |
2105 | 2187 |
2106 @node TODO basics, TODO extensions, TODO items, TODO items | 2188 @node TODO basics, TODO extensions, TODO items, TODO items |
2107 @section Basic TODO functionality | 2189 @section Basic TODO functionality |
2108 | 2190 |
2262 only one of the two aspects of TODO keywords can be used. After | 2344 only one of the two aspects of TODO keywords can be used. After |
2263 changing one of these lines, use @kbd{C-c C-c} with the cursor still | 2345 changing one of these lines, use @kbd{C-c C-c} with the cursor still |
2264 in the line to make the changes known to Org-mode@footnote{Org-mode | 2346 in the line to make the changes known to Org-mode@footnote{Org-mode |
2265 parses these lines only when Org-mode is activated after visiting a | 2347 parses these lines only when Org-mode is activated after visiting a |
2266 file. @kbd{C-c C-c} with the cursor in a line starting with @samp{#+} | 2348 file. @kbd{C-c C-c} with the cursor in a line starting with @samp{#+} |
2267 is simply restarting Org-mode, making sure that these changes will be | 2349 is simply restarting Org-mode for the current buffer.}. |
2268 respected.}. | |
2269 | 2350 |
2270 If you want to use very many keywords, for example when working with a | 2351 If you want to use very many keywords, for example when working with a |
2271 large group of people, you may split the names over several lines: | 2352 large group of people, you may split the names over several lines: |
2272 | 2353 |
2273 @example | 2354 @example |
2275 #+TYP_TODO: Luis George Jules Jessica | 2356 #+TYP_TODO: Luis George Jules Jessica |
2276 #+TYP_TODO: Kim Arnold Peter | 2357 #+TYP_TODO: Kim Arnold Peter |
2277 #+TYP_TODO: DONE | 2358 #+TYP_TODO: DONE |
2278 @end example | 2359 @end example |
2279 | 2360 |
2280 @node Priorities, , TODO extensions, TODO items | 2361 @node Priorities, Breaking down tasks, TODO extensions, TODO items |
2281 @section Priorities | 2362 @section Priorities |
2282 @cindex priorities | 2363 @cindex priorities |
2283 | 2364 |
2284 If you use Org-mode extensively to organize your work, you may end up | 2365 If you use Org-mode extensively to organize your work, you may end up |
2285 with a number of TODO entries so large that you'd like to prioritize | 2366 with a number of TODO entries so large that you'd like to prioritize |
2312 Increase/decrease priority of current headline. Note that these keys | 2393 Increase/decrease priority of current headline. Note that these keys |
2313 are also used to modify time stamps (@pxref{Creating timestamps}). | 2394 are also used to modify time stamps (@pxref{Creating timestamps}). |
2314 Furthermore, these keys are also used by CUA-mode (@pxref{Conflicts}). | 2395 Furthermore, these keys are also used by CUA-mode (@pxref{Conflicts}). |
2315 @end table | 2396 @end table |
2316 | 2397 |
2398 @node Breaking down tasks, Checkboxes, Priorities, TODO items | |
2399 @section Breaking tasks down into subtasks | |
2400 @cindex tasks, breaking down | |
2401 | |
2402 It is often advisable to break down large tasks into smaller, managable | |
2403 subtasks. You can do this by creating an outline tree below a TODO | |
2404 item, with detailed subtasks on the tree@footnote{To keep subtasks out | |
2405 of the global TODO list, see the | |
2406 @code{org-agenda-todo-list-sublevels}.}. Another possibility is the use | |
2407 of checkboxes to ideantify (a hierarchy of) a large number of subtasks | |
2408 (@pxref{Checkboxes}). | |
2409 | |
2410 | |
2411 @node Checkboxes, , Breaking down tasks, TODO items | |
2412 @section Checkboxes | |
2413 @cindex checkboxes | |
2414 | |
2415 Every item in a plain list (@pxref{Plain lists}) can be made a checkbox | |
2416 by starting it with the string @samp{[ ]}. This feature is similar to | |
2417 TODO items (@pxref{TODO items}), but more lightweight. Checkboxes are | |
2418 not included into the global TODO list, so they are often great to split | |
2419 a task into a number of simple steps. Or you can use them in a shopping | |
2420 list. To toggle a checkbox, use @kbd{C-c C-c}, or try Piotr Zielinski's | |
2421 @file{org-mouse.el}. Here is an example of a checkbox list. | |
2422 | |
2423 @example | |
2424 * TODO Organize party [3/6] | |
2425 - call people [1/3] | |
2426 - [ ] Peter | |
2427 - [X] Sarah | |
2428 - [ ] Sam | |
2429 - [X] order food | |
2430 - [ ] think about what music to play | |
2431 - [X] talk to the neighbors | |
2432 @end example | |
2433 | |
2434 @cindex statistics, for checkboxes | |
2435 @cindex checkbox statistics | |
2436 The @samp{[3/6]} and @samp{[1/3]} in the first and second line are | |
2437 cookies indicating how many checkboxes are present in this entry, and | |
2438 how many of them have been checked off. This can give you an idea on | |
2439 how many checkboxes remain, even without opening a folded entry. The | |
2440 cookies can be placed into a headline or into (the first line of) a | |
2441 plain list item. Each cookie covers all checkboxes structurally below | |
2442 that headline/item. You have to insert the cookie yourself by typing | |
2443 either @samp{[/]} or @samp{[%]}. In the first case you get an @samp{n | |
2444 out of m} result, in the second case you get information about the | |
2445 percentage of checkboxes checked (in the above example, this would be | |
2446 @samp{[50%]} and @samp{[33%], respectively}). | |
2447 | |
2448 @noindent The following commands work with checkboxes: | |
2449 | |
2450 @table @kbd | |
2451 @kindex C-c C-c | |
2452 @item C-c C-c | |
2453 Toggle checkbox at point. | |
2454 @kindex C-c C-x C-b | |
2455 @item C-c C-x C-b | |
2456 Toggle checkbox at point. | |
2457 @itemize @minus | |
2458 @item | |
2459 If there is an active region, toggle the first checkbox in the region | |
2460 and set all remaining boxes to the same status as the first. If you | |
2461 want to toggle all boxes in the region independently, use a prefix | |
2462 argument. | |
2463 @item | |
2464 If the cursor is in a headline, toggle checkboxes in the region between | |
2465 this headline and the next (so @emph{not} the entire subtree). | |
2466 @item | |
2467 If no active region, just toggle the checkbox at point. | |
2468 @end itemize | |
2469 @kindex M-S-@key{RET} | |
2470 @item M-S-@key{RET} | |
2471 Insert a new item with a checkbox. | |
2472 This works only if the cursor is already in a plain list item | |
2473 (@pxref{Plain lists}). | |
2474 @kindex C-c # | |
2475 @item C-c # | |
2476 Update the checkbox statistics in the current outline entry. When | |
2477 called with a @kbd{C-u} prefix, update the entire file. Checkbox | |
2478 statistic cookies are updated automatically if you toggle checkboxes | |
2479 with @kbd{C-c C-c} and make new ones with @kbd{M-S-@key{RET}}. If you | |
2480 delete boxes or add/change them by hand, use this command to get things | |
2481 back into synch. Or simply toggle any checkbox twice with @kbd{C-c C-c}. | |
2482 @end table | |
2483 | |
2317 @node Timestamps, Tags, TODO items, Top | 2484 @node Timestamps, Tags, TODO items, Top |
2318 @chapter Timestamps | 2485 @chapter Timestamps |
2486 @cindex time stamps | |
2487 @cindex date stamps | |
2319 | 2488 |
2320 Items can be labeled with timestamps to make them useful for project | 2489 Items can be labeled with timestamps to make them useful for project |
2321 planning. | 2490 planning. |
2322 | 2491 |
2323 @menu | 2492 @menu |
2324 * Time stamps:: Assigning a time to a tree entry | 2493 * Time stamps:: Assigning a time to a tree entry |
2325 * Creating timestamps:: Commands which insert timestamps | 2494 * Creating timestamps:: Commands which insert timestamps |
2495 * Custom time format:: If you cannot work with the ISO format | |
2326 * Progress logging:: Documenting when what work was done. | 2496 * Progress logging:: Documenting when what work was done. |
2327 @end menu | 2497 @end menu |
2328 | 2498 |
2329 | 2499 |
2330 @node Time stamps, Creating timestamps, Timestamps, Timestamps | 2500 @node Time stamps, Creating timestamps, Timestamps, Timestamps |
2334 @cindex date stamps | 2504 @cindex date stamps |
2335 @cindex deadlines | 2505 @cindex deadlines |
2336 @cindex scheduling | 2506 @cindex scheduling |
2337 | 2507 |
2338 A time stamp is a specification of a date (possibly with time) in a | 2508 A time stamp is a specification of a date (possibly with time) in a |
2339 special format, either @samp{<2003-09-16 Tue>} or @samp{<2003-09-16 | 2509 special format, either @samp{<2003-09-16 Tue>} or @samp{<2003-09-16 Tue |
2340 Tue 09:39>}. A time stamp can appear anywhere in the headline or body | 2510 09:39>}@footnote{This is the standard ISO date/time format. If you |
2341 of an org-tree entry. Its presence allows entries to be shown on specific | 2511 cannot get used to these, see @ref{Custom time format}}. A time stamp |
2342 dates in the agenda (@pxref{Weekly/Daily agenda}). We distinguish: | 2512 can appear anywhere in the headline or body of an org-tree entry. Its |
2513 presence allows entries to be shown on specific dates in the agenda | |
2514 (@pxref{Weekly/Daily agenda}). We distinguish: | |
2343 | 2515 |
2344 @table @var | 2516 @table @var |
2345 @item Plain time stamp | 2517 @item Plain time stamp |
2346 @cindex timestamp | 2518 @cindex timestamp |
2347 A simple time stamp just assigns a date/time to an item. This is just | 2519 A simple time stamp just assigns a date/time to an item. This is just |
2348 like writing down an appointment in a paper agenda, or like writing down | 2520 like writing down an appointment in a paper agenda, or like writing down |
2349 an event in a diary, when you want to take note of when something | 2521 an event in a diary, when you want to take note of when something |
2350 happened. In the timeline and agenda displays, the headline of an entry | 2522 happened. In the timeline and agenda displays, the headline of an entry |
2351 associated with a plain time stamp will be shown exactly on that date. | 2523 associated with a plain time stamp will be shown exactly on that date. |
2524 | |
2525 @example | |
2526 * Meet Peter at the movies <2006-11-01 Wed 19:15> | |
2527 @end example | |
2528 | |
2529 @item Inactive time stamp | |
2530 @cindex timestamp, inactive | |
2531 @cindex inactive timestamp | |
2532 Just like a plain time stamp, but with square brackets instead of | |
2533 angular ones. These time stamps are inactive in the sense that thay do | |
2534 @emph{not} trigger an entry to show up in the agenda. | |
2535 | |
2536 @example | |
2537 * Gillian comes late for the fifth time [2006-11-01 Wed] | |
2538 @end example | |
2352 | 2539 |
2353 @item Time stamp range | 2540 @item Time stamp range |
2354 @cindex timerange | 2541 @cindex timerange |
2355 Two time stamps connected by @samp{--} denote a time range. The | 2542 Two time stamps connected by @samp{--} denote a time range. The |
2356 headline will be shown on the first and last day of the range, and on | 2543 headline will be shown on the first and last day of the range, and on |
2404 items, time ranges preceded by the CLOCK keyword are inserted | 2591 items, time ranges preceded by the CLOCK keyword are inserted |
2405 automatically into the file. The time stamps are enclosed in square | 2592 automatically into the file. The time stamps are enclosed in square |
2406 brackets instead of angular brackets. @xref{Clocking work time}. | 2593 brackets instead of angular brackets. @xref{Clocking work time}. |
2407 @end table | 2594 @end table |
2408 | 2595 |
2409 @node Creating timestamps, Progress logging, Time stamps, Timestamps | 2596 @node Creating timestamps, Custom time format, Time stamps, Timestamps |
2410 @section Creating timestamps | 2597 @section Creating timestamps |
2411 @cindex creating timestamps | 2598 @cindex creating timestamps |
2412 @cindex timestamps, creating | 2599 @cindex timestamps, creating |
2413 | 2600 |
2414 For Org-mode to recognize time stamps, they need to be in the specific | 2601 For Org-mode to recognize time stamps, they need to be in the specific |
2443 timestamp in the current line, goto the corresponding date | 2630 timestamp in the current line, goto the corresponding date |
2444 instead. | 2631 instead. |
2445 | 2632 |
2446 @kindex C-c C-o | 2633 @kindex C-c C-o |
2447 @item C-c C-o | 2634 @item C-c C-o |
2448 Access the agenda for the date given by the time stamp at point | 2635 Access the agenda for the date given by the time stamp or -range at |
2449 (@pxref{Weekly/Daily agenda}). | 2636 point (@pxref{Weekly/Daily agenda}). |
2450 | 2637 |
2451 @kindex C-c C-d | 2638 @kindex C-c C-d |
2452 @item C-c C-d | 2639 @item C-c C-d |
2453 Insert @samp{DEADLINE} keyword along with a stamp. The insertion will | 2640 Insert @samp{DEADLINE} keyword along with a stamp. The insertion will |
2454 happen in the line directly following the headline. | 2641 happen in the line directly following the headline. |
2478 | 2665 |
2479 @kindex S-@key{up} | 2666 @kindex S-@key{up} |
2480 @kindex S-@key{down} | 2667 @kindex S-@key{down} |
2481 @item S-@key{up} | 2668 @item S-@key{up} |
2482 @itemx S-@key{down} | 2669 @itemx S-@key{down} |
2483 Change the item under the cursor in a timestamp. The cursor can be on | 2670 Change the item under the cursor in a timestamp. The cursor can be on a |
2484 a year, month, day, hour or minute. Note that if the cursor is not at | 2671 year, month, day, hour or minute. Note that if the cursor is in a |
2485 a time stamp, these same keys modify the priority of an item. | 2672 headline and not at a time stamp, these same keys modify the priority of |
2486 (@pxref{Priorities}). The key bindings also conflict with CUA-mode | 2673 an item. (@pxref{Priorities}). The key bindings also conflict with |
2487 (@pxref{Conflicts}). | 2674 CUA-mode (@pxref{Conflicts}). |
2488 | 2675 |
2489 | 2676 |
2490 @kindex C-c C-y | 2677 @kindex C-c C-y |
2491 @cindex evaluate time range | 2678 @cindex evaluate time range |
2492 @item C-c C-y | 2679 @item C-c C-y |
2493 Evaluate a time range by computing the difference between start and | 2680 Evaluate a time range by computing the difference between start and |
2494 end. With prefix arg, insert result after the time range (in a table: | 2681 end. With prefix arg, insert result after the time range (in a table: |
2495 into the following column). | 2682 into the following column). |
2496 @end table | 2683 @end table |
2497 | 2684 |
2685 | |
2686 @menu | |
2687 * The date/time prompt:: How org-mode helps you entring date and time | |
2688 @end menu | |
2689 | |
2690 @node The date/time prompt, , Creating timestamps, Creating timestamps | |
2691 @subsection The date/time prompt | |
2498 @cindex date, reading in minibuffer | 2692 @cindex date, reading in minibuffer |
2499 @cindex time, reading in minibuffer | 2693 @cindex time, reading in minibuffer |
2694 | |
2695 When Org-mode prompts for a date/time, the prompt suggests to enter an | |
2696 ISO date. But it will in fact accept any string containing some date | |
2697 and/or time information. You can, for example, use @kbd{C-y} to paste a | |
2698 (possibly multi-line) string copied from an email message. Org-mode | |
2699 will find whatever information is in there and will replace anything not | |
2700 specified with the current date and time. For example: | |
2701 | |
2702 @example | |
2703 3-2-5 --> 2003-02-05 | |
2704 feb 15 --> currentyear-02-15 | |
2705 sep 12 9 --> 2009-09-12 | |
2706 12:45 --> today 12:45 | |
2707 22 sept 0:34 --> currentyear-09-22 0:34 | |
2708 12 --> currentyear-currentmonth-12 | |
2709 Fri --> nearest Friday (today or later) | |
2710 @end example | |
2711 | |
2712 The function understands English month and weekday abbreviations. If | |
2713 you want to use unabbreviated names and/or other languages, configure | |
2714 the variables @code{parse-time-months} and @code{parse-time-weekdays}. | |
2715 | |
2500 @cindex calendar, for selecting date | 2716 @cindex calendar, for selecting date |
2501 When Org-mode prompts for a date/time, the function reading your input | 2717 Parallel to the minibuffer prompt, a calendar is popped up@footnote{If |
2502 will replace anything you choose not to specify with the current date | 2718 you don't need/want the calendar, configure the variable |
2503 and time. For details, see the documentation string of | 2719 @code{org-popup-calendar-for-date-prompt}.}. You can control the |
2504 @command{org-read-date}. Also, a calender will pop up to allow | 2720 calendar fully from the minibuffer: |
2505 selecting a date. The calendar can be fully controlled from the | |
2506 minibuffer, and a date can be selected with the following commands: | |
2507 | 2721 |
2508 @table @kbd | 2722 @table @kbd |
2509 @kindex < | 2723 @kindex < |
2510 @item < | 2724 @item < |
2511 Scroll calendar backwards by one month. | 2725 Scroll calendar backwards by one month. |
2533 @kindex M-S-@key{left} | 2747 @kindex M-S-@key{left} |
2534 @item M-S-@key{left} | 2748 @item M-S-@key{left} |
2535 One month back. | 2749 One month back. |
2536 @kindex @key{RET} | 2750 @kindex @key{RET} |
2537 @item @key{RET} | 2751 @item @key{RET} |
2538 Choose date in calendar (only if nothing typed into minibuffer). | 2752 Choose date in calendar (only if nothing was typed into minibuffer). |
2539 @end table | 2753 @end table |
2540 | 2754 |
2541 @node Progress logging, , Creating timestamps, Timestamps | 2755 @node Custom time format, Progress logging, Creating timestamps, Timestamps |
2756 @section Custom time format | |
2757 @cindex custom date/time format | |
2758 @cindex time format, custom | |
2759 @cindex date format, custom | |
2760 | |
2761 Org-mode uses the standard ISO notation for dates and times as it is | |
2762 defined in ISO 8601. If you cannot get used to this and require another | |
2763 representation of date and time to keep you happy, you can get it by | |
2764 customizing the variables @code{org-display-custom-times} and | |
2765 @code{org-time-stamp-custom-formats}. | |
2766 | |
2767 @table @kbd | |
2768 @kindex C-c C-x C-t | |
2769 @item C-c C-x C-t | |
2770 Toggle the display of custom formats for dates and times. | |
2771 @end table | |
2772 | |
2773 @noindent | |
2774 Org-mode needs the default format for scanning, so the custom date/time | |
2775 format does not @emph{replace} the default format - instead it is put | |
2776 @emph{over} the default format using text properties. This has the | |
2777 following consequences: | |
2778 @itemize @bullet | |
2779 @item | |
2780 You cannot place the cursor onto a time stamp anymore, only before or | |
2781 after. | |
2782 @item | |
2783 The @kbd{S-@key{up}/@key{down}} keys can no longer be used to adjust | |
2784 each component of a time stamp. If the cursor is at the beginning of | |
2785 the stamp, @kbd{S-@key{up}/@key{down}} will change the stamp by one day, | |
2786 just like @kbd{S-@key{left}/@key{right}}. At the end of the stamp, the | |
2787 time will be changed by one minute. | |
2788 @item | |
2789 When you delete a time stamp character-by-character, it will only | |
2790 disappear from the buffer after @emph{all} (invisible) characters | |
2791 belonging to the ISO timestamp have been removed. | |
2792 @item | |
2793 If the custom time stamp format is longer than the default and you are | |
2794 using dates in tables, table alignment will be messed up. If the custom | |
2795 format is shorter, things do work as expected. | |
2796 @end itemize | |
2797 | |
2798 @node Progress logging, , Custom time format, Timestamps | |
2542 @section Progress Logging | 2799 @section Progress Logging |
2543 @cindex progress logging | 2800 @cindex progress logging |
2544 @cindex logging, of progress | 2801 @cindex logging, of progress |
2545 | 2802 |
2546 Org-mode can automatically record a time stamp when you mark a TODO item | 2803 Org-mode can automatically record a time stamp when you mark a TODO item |
2570 If you turn the entry back into a TODO item again through further | 2827 If you turn the entry back into a TODO item again through further |
2571 state cycling, that line will be removed again. In the timeline | 2828 state cycling, that line will be removed again. In the timeline |
2572 (@pxref{Timeline}) and in the agenda (@pxref{Weekly/Daily agenda}), | 2829 (@pxref{Timeline}) and in the agenda (@pxref{Weekly/Daily agenda}), |
2573 you can then use the @kbd{l} key to display the TODO items closed on | 2830 you can then use the @kbd{l} key to display the TODO items closed on |
2574 each day, giving you an overview of what has been done on a day. | 2831 each day, giving you an overview of what has been done on a day. |
2832 See the variable @code{org-log-done} for the possibility to record an | |
2833 additional note together with a timestamp. | |
2575 | 2834 |
2576 @node Clocking work time, , Closing items, Progress logging | 2835 @node Clocking work time, , Closing items, Progress logging |
2577 @subsection Clocking work time | 2836 @subsection Clocking work time |
2578 | 2837 |
2579 Org-mode allows you to clock the time you spent on specific tasks in a | 2838 Org-mode allows you to clock the time you spent on specific tasks in a |
2590 @kindex C-c C-x C-o | 2849 @kindex C-c C-x C-o |
2591 @item C-c C-x C-o | 2850 @item C-c C-x C-o |
2592 Stop the clock (clock-out). The inserts another timestamp at the same | 2851 Stop the clock (clock-out). The inserts another timestamp at the same |
2593 location where the clock was last started. It also directly computes | 2852 location where the clock was last started. It also directly computes |
2594 the resulting time in inserts it after the time range as @samp{=> | 2853 the resulting time in inserts it after the time range as @samp{=> |
2595 HH:MM}. | 2854 HH:MM}. See the variable @code{org-log-done} for the possibility to |
2855 record an additional note together with a the clock-out time stamp. | |
2596 @kindex C-c C-y | 2856 @kindex C-c C-y |
2597 @item C-c C-y | 2857 @item C-c C-y |
2598 Recompute the time interval after changing one of the time stamps. This | 2858 Recompute the time interval after changing one of the time stamps. This |
2599 is only necessary if you edit the time stamps directly. If you change | 2859 is only necessary if you edit the time stamps directly. If you change |
2600 them with @kbd{S-@key{cursor}} keys, the update is automatic. | 2860 them with @kbd{S-@key{cursor}} keys, the update is automatic. |
2610 @item C-c C-x C-d | 2870 @item C-c C-x C-d |
2611 Display time summaries for each subtree in the current buffer. This | 2871 Display time summaries for each subtree in the current buffer. This |
2612 puts overlays at the end of each headline, showing the total time | 2872 puts overlays at the end of each headline, showing the total time |
2613 recorded under that heading, including the time of any subheadings. You | 2873 recorded under that heading, including the time of any subheadings. You |
2614 can use visibility cycling to study the tree, but the overlays disappear | 2874 can use visibility cycling to study the tree, but the overlays disappear |
2615 automatically when the buffer is changed. | 2875 when you change the buffer (see variable |
2876 @code{org-remove-highlights-with-change}) or press @kbd{C-c C-c}. | |
2616 @kindex C-c C-x C-r | 2877 @kindex C-c C-x C-r |
2617 @item C-c C-x C-r | 2878 @item C-c C-x C-r |
2618 Insert a dynamic block (@pxref{Dynamic blocks}) containing a clock | 2879 Insert a dynamic block (@pxref{Dynamic blocks}) containing a clock |
2619 report as an org-mode table into the current file. | 2880 report as an org-mode table into the current file. |
2620 @example | 2881 @example |
2683 @end menu | 2944 @end menu |
2684 | 2945 |
2685 @node Tag inheritance, Setting tags, Tags, Tags | 2946 @node Tag inheritance, Setting tags, Tags, Tags |
2686 @section Tag inheritance | 2947 @section Tag inheritance |
2687 @cindex inheritance, of tags | 2948 @cindex inheritance, of tags |
2949 @cindex sublevels, inclusion into tags match | |
2688 | 2950 |
2689 @i{Tags} make use of the hierarchical structure of outline trees. If a | 2951 @i{Tags} make use of the hierarchical structure of outline trees. If a |
2690 heading has a certain tag, all subheadings will inherit the tag as | 2952 heading has a certain tag, all subheadings will inherit the tag as |
2691 well. For example, in the list | 2953 well. For example, in the list |
2692 | 2954 |
2707 @code{org-tags-match-list-sublevels}. | 2969 @code{org-tags-match-list-sublevels}. |
2708 | 2970 |
2709 @node Setting tags, Tag searches, Tag inheritance, Tags | 2971 @node Setting tags, Tag searches, Tag inheritance, Tags |
2710 @section Setting tags | 2972 @section Setting tags |
2711 @cindex setting tags | 2973 @cindex setting tags |
2974 @cindex tags, setting | |
2712 | 2975 |
2713 @kindex M-@key{TAB} | 2976 @kindex M-@key{TAB} |
2714 Tags can simply be typed into the buffer at the end of a headline. | 2977 Tags can simply be typed into the buffer at the end of a headline. |
2715 After a colon, @kbd{M-@key{TAB}} offers completion on tags. There is | 2978 After a colon, @kbd{M-@key{TAB}} offers completion on tags. There is |
2716 also a special command for inserting tags: | 2979 also a special command for inserting tags: |
2730 | 2993 |
2731 Org will support tag insertion based on a @emph{list of tags}. By | 2994 Org will support tag insertion based on a @emph{list of tags}. By |
2732 default this list is constructed dynamically, containing all tags | 2995 default this list is constructed dynamically, containing all tags |
2733 currently used in the buffer. You may also globally specify a hard list | 2996 currently used in the buffer. You may also globally specify a hard list |
2734 of tags with the variable @code{org-tag-alist}. Finally you can set | 2997 of tags with the variable @code{org-tag-alist}. Finally you can set |
2735 the allowed tags for a given file with lines like | 2998 the default tags for a given file with lines like |
2736 | 2999 |
2737 @example | 3000 @example |
2738 #+TAGS: @@WORK @@HOME @@TENNISCLUB | 3001 #+TAGS: @@WORK @@HOME @@TENNISCLUB |
2739 #+TAGS: Laptop Car PC Sailboat | 3002 #+TAGS: Laptop Car PC Sailboat |
2740 @end example | 3003 @end example |
2741 | 3004 |
2742 The default support method is minibuffer completion. However, Org-mode | 3005 If you have globally defined your preferred set of tags using the |
2743 also implements a much better method: @emph{fast tag selection}. This | 3006 variable @code{org-tag-alist}, but would like to use a dynamic tag list |
2744 method allows to select and deselect tags with a single key per tag. To | 3007 in a specific file: Just add an empty TAGS option line to that file: |
2745 function efficiently, you should assign unique keys to all tags. This | 3008 |
2746 can be done globally with | 3009 @example |
3010 #+TAGS: | |
3011 @end example | |
3012 | |
3013 The default support method for entering tags is minibuffer completion. | |
3014 However, Org-mode also implements a much better method: @emph{fast tag | |
3015 selection}. This method allows to select and deselect tags with a | |
3016 single key per tag. To function efficiently, you should assign unique | |
3017 keys to most tags. This can be done globally with | |
2747 | 3018 |
2748 @lisp | 3019 @lisp |
2749 (setq org-tag-alist '(("@@WORK" . ?w) ("@@HOME" . ?h) ("Laptop" . ?l))) | 3020 (setq org-tag-alist '(("@@WORK" . ?w) ("@@HOME" . ?h) ("Laptop" . ?l))) |
2750 @end lisp | 3021 @end lisp |
2751 | 3022 |
2772 these lines to activate any changes. | 3043 these lines to activate any changes. |
2773 | 3044 |
2774 If at least one tag has a selection key, pressing @kbd{C-c C-c} will | 3045 If at least one tag has a selection key, pressing @kbd{C-c C-c} will |
2775 automatically present you with a special interface, listing inherited | 3046 automatically present you with a special interface, listing inherited |
2776 tags, the tags of the current headline, and a list of all legal tags | 3047 tags, the tags of the current headline, and a list of all legal tags |
2777 with corresponding keys@footnote{Keys will automatically assigned to | 3048 with corresponding keys@footnote{Keys will automatically be assigned to |
2778 tags which have no configured keys.}. Pressing keys for the tags will | 3049 tags which have no configured keys.}. In this interface, you can use |
2779 add or remove them from the list of tags in the current line. Selecting | 3050 the following keys: |
2780 a tag in a group of mutually exclusive tags will turn off any other tags | 3051 |
2781 from that group. @key{SPC} clears all tags for this line, @kbd{RET} | 3052 @table @kbd |
2782 accepts the modified set, and @kbd{C-g} aborts without installing | 3053 @item a-z... |
2783 changes. This method lets you assign tags to a headline with very few | 3054 Pressing keys assigned to tags will add or remove them from the list of |
2784 keys. With the above setup, you could clear the current tags and set | 3055 tags in the current line. Selecting a tag in a group of mutually |
2785 @samp{@@HOME}, @samp{Laptop} and @samp{PC} tags with just the following | 3056 exclusive tags will turn off any other tags from that group. |
2786 keys: @kbd{C-c C-c @key{SPC} h l p @key{RET}}. Switching from | 3057 @kindex @key{TAB} |
2787 @samp{@@HOME} to @samp{@@WORK} would be done with @kbd{C-c C-c w | 3058 @item @key{TAB} |
2788 @key{RET}}. | 3059 Enter a tag in the minibuffer, even if the tag is not in the predefined |
2789 | 3060 list. You will be able to complete on all tags present in the buffer. |
2790 What if you have globally defined your preferred set of tags using the | 3061 @kindex @key{SPC} |
2791 variable @code{org-tag-alist}, but would like to use a dynamic tag list | 3062 @item @key{SPC} |
2792 in a specific file? Just add an empty TAGS option line to that file: | 3063 Clear all tags for this line. |
2793 | 3064 @kindex @key{RET} |
2794 @example | 3065 @item @key{RET} |
2795 #+TAGS: | 3066 Accept the modified set. |
2796 @end example | 3067 @item C-g |
2797 | 3068 Abort without installing changes. |
2798 | 3069 @item q |
3070 If @kbd{q} is not assigned to a tag, it aborts like @kbd{C-g}. | |
3071 @item ! | |
3072 Turn of groups of mutually exclusive tags. Use this to (as an | |
3073 exception) assign several tags from such a group. | |
3074 @item C-c | |
3075 Toggle auto-exit after the next change (see below). | |
3076 @end table | |
3077 | |
3078 @noindent | |
3079 This method lets you assign tags to a headline with very few keys. With | |
3080 the above setup, you could clear the current tags and set @samp{@@HOME}, | |
3081 @samp{Laptop} and @samp{PC} tags with just the following keys: @kbd{C-c | |
3082 C-c @key{SPC} h l p @key{RET}}. Switching from @samp{@@HOME} to | |
3083 @samp{@@WORK} would be done with @kbd{C-c C-c w @key{RET}} or | |
3084 alternatively with @kbd{C-c C-c C-c w}. Adding the non-predefined tag | |
3085 @samp{Sarah} could be done with @kbd{C-c C-c @key{TAB} S a r a h | |
3086 @key{RET} @key{RET}}. | |
3087 | |
3088 If you find that most of the time, you need only a single keypress to | |
3089 modify your list of tags, set the variable | |
3090 @code{org-fast-tag-selection-single-key}. Then you no longer have to | |
3091 press @key{RET} to exit fast tag selection - it will immediately exit | |
3092 after the first change. If you then occasionally need more keys, press | |
3093 @kbd{C-c} to turn off auto-exit for the current tag selection process. | |
2799 | 3094 |
2800 @node Tag searches, , Setting tags, Tags | 3095 @node Tag searches, , Setting tags, Tags |
2801 @section Tag searches | 3096 @section Tag searches |
2802 @cindex tag searches | 3097 @cindex tag searches |
3098 @cindex searching for tags | |
2803 | 3099 |
2804 Once a tags system has been set up, it can be used to collect related | 3100 Once a tags system has been set up, it can be used to collect related |
2805 information into special lists. | 3101 information into special lists. |
2806 | 3102 |
2807 @table @kbd | 3103 @table @kbd |
2817 Create a global list of tag matches from all agenda files, but check | 3113 Create a global list of tag matches from all agenda files, but check |
2818 only TODO items and force checking subitems (see variable | 3114 only TODO items and force checking subitems (see variable |
2819 @code{org-tags-match-list-sublevels}). | 3115 @code{org-tags-match-list-sublevels}). |
2820 @end table | 3116 @end table |
2821 | 3117 |
3118 @cindex Boolean logic, for tag searches | |
2822 A @i{tags} search string can use Boolean operators @samp{&} for AND and | 3119 A @i{tags} search string can use Boolean operators @samp{&} for AND and |
2823 @samp{|} for OR. @samp{&} binds more strongly than @samp{|}. | 3120 @samp{|} for OR. @samp{&} binds more strongly than @samp{|}. |
2824 Parenthesis are currently not implemented. A tag may also be preceded | 3121 Parenthesis are currently not implemented. A tag may also be preceded |
2825 by @samp{-}, to select against it, and @samp{+} is syntactic sugar for | 3122 by @samp{-}, to select against it, and @samp{+} is syntactic sugar for |
2826 positive selection. The AND operator @samp{&} is optional when @samp{+} | 3123 positive selection. The AND operator @samp{&} is optional when @samp{+} |
2827 or @samp{-} is present. For example, @samp{+WORK-BOSS} would select all | 3124 or @samp{-} is present. Examples: |
2828 headlines that are tagged @samp{:WORK:}, but discard those also tagged | 3125 |
2829 @samp{:BOSS:}. The search string @samp{WORK|LAPTOP} selects all lines | 3126 @table @samp |
2830 tagged @samp{:WORK:} or @samp{:LAPTOP:}. The string | 3127 @item +WORK-BOSS |
2831 @samp{WORK|LAPTOP&NIGHT} requires that the @samp{:LAPTOP:} lines are | 3128 Select all headlines that are tagged @samp{:WORK:}, but discard those also tagged |
2832 also tagged @samp{NIGHT}. | 3129 @samp{:BOSS:}. |
3130 @item WORK|LAPTOP | |
3131 Selects lines tagged @samp{:WORK:} or @samp{:LAPTOP:}. | |
3132 @item WORK|LAPTOP&NIGHT | |
3133 Like the previous example, but require the @samp{:LAPTOP:} lines to be | |
3134 tagged also @samp{NIGHT}. | |
3135 @end table | |
3136 | |
3137 @cindex TODO keyword matching, with tags search | |
3138 If you are using multi-state TODO keywords (@pxref{TODO extensions}), it | |
3139 can be useful to also match on the TODO keyword. This can be done by | |
3140 adding a condition after a slash to a tags match. The syntax is similar | |
3141 to the tag matches, but should be applied with consideration: For | |
3142 example, a positive selection on several TODO keywords can not | |
3143 meaningfully be combined with boolean AND. However, @emph{negative | |
3144 selection} combined with AND can be meaningful. Examples: | |
3145 | |
3146 @table @samp | |
3147 @item WORK/WAITING | |
3148 Select @samp{:WORK:}-tagged TODO lines with the specific TODO | |
3149 keyword @samp{WAITING}. | |
3150 @item WORK/-WAITING-NEXT | |
3151 Select @samp{:WORK:}-tagged TODO lines that are neither @samp{WAITING} | |
3152 nor @samp{NEXT} | |
3153 @item WORK/+WAITING|+NEXT | |
3154 Select @samp{:WORK:}-tagged TODO lines that are either @samp{WAITING} or | |
3155 @samp{NEXT}. | |
3156 @end table | |
2833 | 3157 |
2834 @node Agenda views, Embedded LaTeX, Tags, Top | 3158 @node Agenda views, Embedded LaTeX, Tags, Top |
2835 @chapter Agenda Views | 3159 @chapter Agenda Views |
2836 @cindex agenda views | 3160 @cindex agenda views |
2837 | 3161 |
2840 files. To get an overview over open action items, or over events that | 3164 files. To get an overview over open action items, or over events that |
2841 are important for a particular date, this information must be collected, | 3165 are important for a particular date, this information must be collected, |
2842 sorted and displayed in an organized way. | 3166 sorted and displayed in an organized way. |
2843 | 3167 |
2844 Org-mode can select items based on various criteria, and display them | 3168 Org-mode can select items based on various criteria, and display them |
2845 in a separate buffer. Three different views are provided: | 3169 in a separate buffer. Five different view types are provided: |
2846 | 3170 |
2847 @itemize @bullet | 3171 @itemize @bullet |
2848 @item | 3172 @item |
2849 an @emph{agenda} that is like a calendar and shows information | 3173 an @emph{agenda} that is like a calendar and shows information |
2850 for specific dates | 3174 for specific dates |
2851 @item | 3175 @item |
2852 a @emph{TODO list} that covers all unfinished | 3176 a @emph{TODO list} that covers all unfinished |
2853 action items, and | 3177 action items, |
2854 @item | 3178 @item |
2855 a @emph{tags view} that shows information based on | 3179 a @emph{tags view} that shows information based on |
2856 the tags associated with headlines in the outline tree. | 3180 the tags associated with headlines in the outline tree, |
3181 @item | |
3182 a @emph{timeline view} that shows all events in a single Org-mode file, | |
3183 in time-sorted view | |
3184 @item | |
3185 @emph{custom views} that are special tag and keyword searches and | |
3186 combinations of different views. | |
2857 @end itemize | 3187 @end itemize |
2858 | 3188 |
2859 @noindent | 3189 @noindent |
2860 The extracted information is displayed in a special @emph{agenda | 3190 The extracted information is displayed in a special @emph{agenda |
2861 buffer}. This buffer is read-only, but provides commands to visit the | 3191 buffer}. This buffer is read-only, but provides commands to visit the |
2862 corresponding locations in the original Org-mode files, and even to | 3192 corresponding locations in the original Org-mode files, and even to |
2863 edit these files remotely. | 3193 edit these files remotely. |
3194 | |
3195 Two variables control how the agenda buffer is displayed and whether the | |
3196 window configuration is restored when the agenda exits: | |
3197 @code{org-agenda-window-setup} and | |
3198 @code{org-agenda-restore-windows-after-quit}. | |
2864 | 3199 |
2865 @menu | 3200 @menu |
2866 * Agenda files:: Files being searched for agenda information | 3201 * Agenda files:: Files being searched for agenda information |
2867 * Agenda dispatcher:: Keyboard access to agenda views | 3202 * Agenda dispatcher:: Keyboard access to agenda views |
2868 * Weekly/Daily agenda:: The calendar page with current tasks | 3203 * Weekly/Daily agenda:: The calendar page with current tasks |
2869 * Global TODO list:: All unfinished action items | 3204 * Global TODO list:: All unfinished action items |
2870 * Matching headline tags:: Structured information with fine-tuned search | 3205 * Matching headline tags:: Structured information with fine-tuned search |
2871 * Timeline:: Time-sorted view for single file | 3206 * Timeline:: Time-sorted view for single file |
3207 * Presentation and sorting:: How agenda items are prepared for display | |
2872 * Agenda commands:: Remote editing of org trees | 3208 * Agenda commands:: Remote editing of org trees |
3209 * Custom agenda views:: Defining special searches and views | |
2873 @end menu | 3210 @end menu |
2874 | 3211 |
2875 @node Agenda files, Agenda dispatcher, Agenda views, Agenda views | 3212 @node Agenda files, Agenda dispatcher, Agenda views, Agenda views |
2876 @section Agenda files | 3213 @section Agenda files |
3214 @cindex agenda files | |
3215 @cindex files for agenda | |
2877 | 3216 |
2878 The information to be shown is collected from all @emph{agenda files}, | 3217 The information to be shown is collected from all @emph{agenda files}, |
2879 the files listed in the variable @code{org-agenda-files}@footnote{If the | 3218 the files listed in the variable @code{org-agenda-files}@footnote{If the |
2880 value of that variable is not a list, but a single file name, then the | 3219 value of that variable is not a list, but a single file name, then the |
2881 list of agenda files will be maintained in that external file.}. Thus even | 3220 list of agenda files will be maintained in that external file.}. Thus even |
2882 if you only work with a single Org-mode file, this file should be put | 3221 if you only work with a single Org-mode file, this file should be put |
2883 into that list@footnote{When using the dispatcher pressing @kbd{1} | 3222 into that list@footnote{When using the dispatcher, pressing @kbd{1} |
2884 before selecting a command will actually limit the command to the | 3223 before selecting a command will actually limit the command to the |
2885 current file, and ignore @code{org-agenda-files} until the next | 3224 current file, and ignore @code{org-agenda-files} until the next |
2886 dispatcher command.}. You can customize @code{org-agenda-files}, but | 3225 dispatcher command.}. You can customize @code{org-agenda-files}, but |
2887 the easiest way to maintain it is through the following commands | 3226 the easiest way to maintain it is through the following commands |
2888 | 3227 |
2907 | 3246 |
2908 @node Agenda dispatcher, Weekly/Daily agenda, Agenda files, Agenda views | 3247 @node Agenda dispatcher, Weekly/Daily agenda, Agenda files, Agenda views |
2909 @section The agenda dispatcher | 3248 @section The agenda dispatcher |
2910 @cindex agenda dispatcher | 3249 @cindex agenda dispatcher |
2911 @cindex dispatching agenda commands | 3250 @cindex dispatching agenda commands |
2912 @cindex custom agenda commands | |
2913 @cindex agenda commands, custom | |
2914 The views are created through a dispatcher that should be bound to a | 3251 The views are created through a dispatcher that should be bound to a |
2915 global key, for example @kbd{C-c a} (@pxref{Installation}). In the | 3252 global key, for example @kbd{C-c a} (@pxref{Installation}). In the |
2916 following we will assume that @kbd{C-c a} is indeed how the dispatcher | 3253 following we will assume that @kbd{C-c a} is indeed how the dispatcher |
2917 is accessed and list keyboard access to commands accordingly. After | 3254 is accessed and list keyboard access to commands accordingly. After |
2918 pressing @kbd{C-c a}, an additional letter is required to execute a | 3255 pressing @kbd{C-c a}, an additional letter is required to execute a |
2923 @item t / T | 3260 @item t / T |
2924 Create a list of all TODO items (@pxref{Global TODO list}). | 3261 Create a list of all TODO items (@pxref{Global TODO list}). |
2925 @item m / M | 3262 @item m / M |
2926 Create a list of headlines matching a TAGS expression (@pxref{Matching | 3263 Create a list of headlines matching a TAGS expression (@pxref{Matching |
2927 headline tags}). | 3264 headline tags}). |
3265 @item L | |
3266 Create the timeline view for the current buffer (@pxref{Timeline}). | |
3267 @item 1 | |
3268 Restrict an agenda command to the current buffer. After pressing | |
3269 @kbd{1}, you still need to press the character selecting the command. | |
3270 @item 0 | |
3271 If there is an active region, restrict the following agenda command to | |
3272 the region. Otherwise, restrict it to the current subtree. After | |
3273 pressing @kbd{0}, you still need to press the character selecting the | |
3274 command. | |
2928 @end table | 3275 @end table |
2929 | 3276 |
2930 You can also define custom commands that will be accessible through | 3277 You can also define custom commands that will be accessible through the |
2931 the dispatcher, just like the default commands. Custom commands are | 3278 dispatcher, just like the default commands. This includes the |
2932 global searches for tags and specific TODO keywords, or a variety of | 3279 possibility to create extended agenda buffers that contain several |
2933 sparse tree creating commands (@pxref{Sparse trees}). As sparse trees | 3280 blocks together, for example the weekly agenda, the global TODO list and |
2934 are only defined for a single org-mode file, these latter commands act | 3281 a number of special tags matches. @xref{Custom agenda views}. |
2935 on the current buffer instead of the list of agenda files. | |
2936 | |
2937 @kindex C-c a C | |
2938 Custom commands are configured in the variable | |
2939 @code{org-agenda-custom-commands}. You can customize this variable, | |
2940 for example by pressing @kbd{C-c a C}. You can also directly set it | |
2941 with Emacs Lisp in @file{.emacs}. For example: | |
2942 | |
2943 @lisp | |
2944 (setq org-agenda-custom-commands | |
2945 '(("w" todo "WAITING") | |
2946 ("u" tags "+BOSS-URGENT") | |
2947 ("U" tags-tree "+BOSS-URGENT") | |
2948 ("f" occur-tree "\\<FIXME\\>"))) | |
2949 @end lisp | |
2950 | |
2951 @noindent will define @kbd{C-c a w} as a global search for | |
2952 TODO entries with @samp{WAITING} as the TODO keyword, @kbd{C-c a u} as a | |
2953 global tags search for headlines marked @samp{:BOSS:} but not | |
2954 @samp{:URGENT:}, @kbd{C-c a U} to do the same search but only in the | |
2955 current buffer and display the result as a sparse tree, and @kbd{C-c a | |
2956 f} to create a sparse tree with all entries containing the word | |
2957 @samp{FIXME}. For more information, look at the documentation string | |
2958 of the variable @code{org-agenda-custom-commands}. | |
2959 | 3282 |
2960 @node Weekly/Daily agenda, Global TODO list, Agenda dispatcher, Agenda views | 3283 @node Weekly/Daily agenda, Global TODO list, Agenda dispatcher, Agenda views |
2961 @section The weekly/daily agenda | 3284 @section The weekly/daily agenda |
2962 @cindex agenda | 3285 @cindex agenda |
2963 | 3286 @cindex weekly agenda |
2964 The purpose of the weekly/daily @emph{agenda} is to act like a page of | 3287 @cindex daily agenda |
2965 a paper agenda, showing all the tasks for the current week or day. | 3288 |
3289 The purpose of the weekly/daily @emph{agenda} is to act like a page of a | |
3290 paper agenda, showing all the tasks for the current week or day. | |
2966 | 3291 |
2967 @table @kbd | 3292 @table @kbd |
2968 @cindex org-agenda, command | 3293 @cindex org-agenda, command |
2969 @kindex C-c a a | 3294 @kindex C-c a a |
2970 @item C-c a a | 3295 @item C-c a a |
2979 change the dates of deadlines and appointments from the agenda buffer. | 3304 change the dates of deadlines and appointments from the agenda buffer. |
2980 The commands available in the Agenda buffer are listed in @ref{Agenda | 3305 The commands available in the Agenda buffer are listed in @ref{Agenda |
2981 commands}. | 3306 commands}. |
2982 | 3307 |
2983 @menu | 3308 @menu |
2984 * Categories:: Not all tasks are equal | |
2985 * Time-of-day specifications:: How the agenda knows the time | |
2986 * Calendar/Diary integration:: Integrating Anniversaries and more | 3309 * Calendar/Diary integration:: Integrating Anniversaries and more |
2987 * Sorting of agenda items:: The order of things | |
2988 @end menu | 3310 @end menu |
2989 | 3311 |
2990 @node Categories, Time-of-day specifications, Weekly/Daily agenda, Weekly/Daily agenda | 3312 |
2991 @subsection Categories | 3313 @node Calendar/Diary integration, , Weekly/Daily agenda, Weekly/Daily agenda |
2992 | |
2993 @cindex category | |
2994 In the agenda buffer, each entry is preceded by a @emph{category}, | |
2995 which is derived from the file name. The category can also be set | |
2996 with a special line anywhere in the buffer, looking like this: | |
2997 | |
2998 @example | |
2999 #+CATEGORY: Thesis | |
3000 @end example | |
3001 | |
3002 If there are several such lines in a file, each specifies the category | |
3003 for the text below it (but the first category also applies to any text | |
3004 before the first CATEGORY line). The display in the agenda buffer looks | |
3005 best if the category is not longer than 10 characters. | |
3006 | |
3007 @node Time-of-day specifications, Calendar/Diary integration, Categories, Weekly/Daily agenda | |
3008 @subsection Time-of-Day Specifications | |
3009 | |
3010 Org-mode checks each agenda item for a time-of-day specification. The | |
3011 time can be part of the time stamp that triggered inclusion into the | |
3012 agenda, for example as in @w{@samp{<2005-05-10 Tue 19:00>}}. Time | |
3013 ranges can be specified with two time stamps, like | |
3014 @c | |
3015 @w{@samp{<2005-05-10 Tue 20:30>--<2005-05-10 Tue 22:15>}}. | |
3016 | |
3017 In the headline of the entry itself, a time(range) may also appear as | |
3018 plain text (like @samp{12:45} or a @samp{8:30-1pm}. If the agenda | |
3019 integrates the Emacs diary (@pxref{Calendar/Diary integration}), time | |
3020 specifications in diary entries are recognized as well. | |
3021 | |
3022 For agenda display, Org-mode extracts the time and displays it in a | |
3023 standard 24 hour format as part of the prefix. The example times in | |
3024 the previous paragraphs would end up in the agenda like this: | |
3025 | |
3026 @example | |
3027 8:30-13:00 Arthur Dent lies in front of the bulldozer | |
3028 12:45...... Ford Prefect arrives and takes Arthur to the pub | |
3029 19:00...... The Vogon reads his poem | |
3030 20:30-22:15 Marwin escorts the Hitchhikers to the bridge | |
3031 @end example | |
3032 | |
3033 If the agenda is in single-day mode, or for the display of today, the | |
3034 timed entries are embedded in a time grid, like | |
3035 | |
3036 @example | |
3037 8:00...... ------------------ | |
3038 8:30-13:00 Arthur Dent lies in front of the bulldozer | |
3039 10:00...... ------------------ | |
3040 12:00...... ------------------ | |
3041 12:45...... Ford Prefect arrives and takes Arthur to the pub | |
3042 14:00...... ------------------ | |
3043 16:00...... ------------------ | |
3044 18:00...... ------------------ | |
3045 19:00...... The Vogon reads his poem | |
3046 20:00...... ------------------ | |
3047 20:30-22:15 Marwin escorts the Hitchhikers to the bridge | |
3048 @end example | |
3049 | |
3050 The time grid can be turned on and off with the variable | |
3051 @code{org-agenda-use-time-grid}, and can be configured with | |
3052 @code{org-agenda-time-grid}. | |
3053 | |
3054 | |
3055 @node Calendar/Diary integration, Sorting of agenda items, Time-of-day specifications, Weekly/Daily agenda | |
3056 @subsection Calendar/Diary integration | 3314 @subsection Calendar/Diary integration |
3057 @cindex calendar integration | 3315 @cindex calendar integration |
3058 @cindex diary integration | 3316 @cindex diary integration |
3059 | 3317 |
3060 Emacs contains the calendar and diary by Edward M. Reingold. The | 3318 Emacs contains the calendar and diary by Edward M. Reingold. The |
3081 well as the commands @kbd{S}, @kbd{M}, and @kbd{C} to display | 3339 well as the commands @kbd{S}, @kbd{M}, and @kbd{C} to display |
3082 Sunrise/Sunset times, show lunar phases and to convert to other | 3340 Sunrise/Sunset times, show lunar phases and to convert to other |
3083 calendars, respectively. @kbd{c} can be used to switch back and forth | 3341 calendars, respectively. @kbd{c} can be used to switch back and forth |
3084 between calendar and agenda. | 3342 between calendar and agenda. |
3085 | 3343 |
3086 @node Sorting of agenda items, , Calendar/Diary integration, Weekly/Daily agenda | |
3087 @subsection Sorting of agenda items | |
3088 @cindex sorting, of agenda items | |
3089 @cindex priorities, of agenda items | |
3090 The entries for each day are sorted. The default order is to first | |
3091 collect all items containing an explicit time-of-day specification. | |
3092 These entries will be shown at the beginning of the list, as a | |
3093 @emph{schedule} for the day. After that, items remain grouped in | |
3094 categories, in the sequence given by @code{org-agenda-files}. Within | |
3095 each category, items are sorted by priority (@pxref{Priorities}). | |
3096 | |
3097 The priority is a numerical quantity composed of the base priority | |
3098 (2000 for priority @samp{A}, 1000 for @samp{B}, and 0 for @samp{C}), | |
3099 plus additional increments for overdue scheduled or deadline items. | |
3100 | |
3101 Sorting can be customized using the variable | |
3102 @code{org-agenda-sorting-strategy}. | |
3103 | |
3104 | 3344 |
3105 @node Global TODO list, Matching headline tags, Weekly/Daily agenda, Agenda views | 3345 @node Global TODO list, Matching headline tags, Weekly/Daily agenda, Agenda views |
3106 @section The global TODO list | 3346 @section The global TODO list |
3107 @cindex global TODO list | 3347 @cindex global TODO list |
3108 @cindex TODO list, global | 3348 @cindex TODO list, global |
3117 agenda files (@pxref{Agenda views}) into a single buffer. The buffer is in | 3357 agenda files (@pxref{Agenda views}) into a single buffer. The buffer is in |
3118 @code{agenda-mode}, so there are commands to examine and manipulate | 3358 @code{agenda-mode}, so there are commands to examine and manipulate |
3119 the TODO entries directly from that buffer (@pxref{Agenda commands}). | 3359 the TODO entries directly from that buffer (@pxref{Agenda commands}). |
3120 @kindex C-c a T | 3360 @kindex C-c a T |
3121 @item C-c a T | 3361 @item C-c a T |
3362 @cindex TODO keyword matching | |
3122 Like the above, but allows selection of a specific TODO keyword. You can | 3363 Like the above, but allows selection of a specific TODO keyword. You can |
3123 also do this by specifying a prefix argument to @kbd{C-c a t}. With a | 3364 also do this by specifying a prefix argument to @kbd{C-c a t}. With a |
3124 @kbd{C-u} prefix you are prompted for a keyword. With a numeric | 3365 @kbd{C-u} prefix you are prompted for a keyword. With a numeric |
3125 prefix, the Nth keyword in @code{org-todo-keywords} is selected. | 3366 prefix, the Nth keyword in @code{org-todo-keywords} is selected. |
3126 @kindex r | 3367 @kindex r |
3127 The @kbd{r} key in the agenda buffer regenerates it, and you can give | 3368 The @kbd{r} key in the agenda buffer regenerates it, and you can give |
3128 a prefix argument to this command to change the selected TODO keyword, | 3369 a prefix argument to this command to change the selected TODO keyword, |
3129 for example @kbd{3 r}. If you often need a search for a specific | 3370 for example @kbd{3 r}. If you often need a search for a specific |
3130 keyword, define a custom command for it (@pxref{Agenda dispatcher}). | 3371 keyword, define a custom command for it (@pxref{Agenda dispatcher}).@* |
3372 Matching specific TODO keywords can also be done as part of a tags | |
3373 search (@pxref{Tag searches}). | |
3131 @end table | 3374 @end table |
3132 | 3375 |
3133 Remote editing of TODO items means that you can change the state of a | 3376 Remote editing of TODO items means that you can change the state of a |
3134 TODO entry with a single key press. The commands available in the | 3377 TODO entry with a single key press. The commands available in the |
3135 TODO list are described in @ref{Agenda commands}. | 3378 TODO list are described in @ref{Agenda commands}. |
3136 | 3379 |
3137 Nomally the global todo list simply shows all headlines with TODO | 3380 @cindex sublevels, inclusion into todo list |
3381 Normally the global todo list simply shows all headlines with TODO | |
3138 keywords. This list can become very long. There are two ways to keep | 3382 keywords. This list can become very long. There are two ways to keep |
3139 it more compact: | 3383 it more compact: |
3140 @itemize @minus | 3384 @itemize @minus |
3141 @item | 3385 @item |
3142 Some people view a TODO item that has been @emph{scheduled} for | 3386 Some people view a TODO item that has been @emph{scheduled} for |
3147 TODO items may have sublevels to break up the task into subtasks. In | 3391 TODO items may have sublevels to break up the task into subtasks. In |
3148 such cases it may be enough to list only the highest level TODO headline | 3392 such cases it may be enough to list only the highest level TODO headline |
3149 and omit the sublevels from the global list. Configure the variable | 3393 and omit the sublevels from the global list. Configure the variable |
3150 @code{org-agenda-todo-list-sublevels} to get this behavior. | 3394 @code{org-agenda-todo-list-sublevels} to get this behavior. |
3151 @end itemize | 3395 @end itemize |
3152 | |
3153 | 3396 |
3154 @node Matching headline tags, Timeline, Global TODO list, Agenda views | 3397 @node Matching headline tags, Timeline, Global TODO list, Agenda views |
3155 @section Matching headline tags | 3398 @section Matching headline tags |
3156 @cindex matching, of tags | 3399 @cindex matching, of tags |
3157 @cindex tags view | 3400 @cindex tags view |
3170 define a custom command for it (@pxref{Agenda dispatcher}). | 3413 define a custom command for it (@pxref{Agenda dispatcher}). |
3171 @kindex C-c a M | 3414 @kindex C-c a M |
3172 @item C-c a M | 3415 @item C-c a M |
3173 Like @kbd{C-c a m}, but only select headlines that are also TODO items | 3416 Like @kbd{C-c a m}, but only select headlines that are also TODO items |
3174 and force checking subitems (see variable | 3417 and force checking subitems (see variable |
3175 @code{org-tags-match-list-sublevels}. | 3418 @code{org-tags-match-list-sublevels}). Matching specific todo keywords |
3419 together with a tags match is also possible, see @ref{Tag searches}. | |
3176 @end table | 3420 @end table |
3177 | 3421 |
3178 The commands available in the tags list are described in @ref{Agenda | 3422 The commands available in the tags list are described in @ref{Agenda |
3179 commands}. | 3423 commands}. |
3180 | 3424 |
3181 @node Timeline, Agenda commands, Matching headline tags, Agenda views | 3425 @node Timeline, Presentation and sorting, Matching headline tags, Agenda views |
3182 @section Timeline for a single file | 3426 @section Timeline for a single file |
3183 @cindex single file summary | |
3184 @cindex agenda, for single file | |
3185 @cindex timeline, single file | 3427 @cindex timeline, single file |
3186 @cindex time-sorted view | 3428 @cindex time-sorted view |
3187 | 3429 |
3188 The timeline is not really an agenda view, because it only summarizes | 3430 The timeline summarizes all time-stamped items from a single Org-mode |
3189 items from a single Org-mode file. But it also uses the agenda buffer | 3431 file in a @emph{time-sorted view}. The main purpose of this command is |
3190 and provides similar commands, so we discuss it here. The timeline | 3432 to give an overview over events in a project. |
3191 shows all time-stamped items in a single Org-mode file (or the | |
3192 selected part of it), in a @emph{time-sorted view}. The main purpose of | |
3193 this command is to give an overview over events in a project. | |
3194 | 3433 |
3195 @table @kbd | 3434 @table @kbd |
3196 @kindex C-c C-r | 3435 @kindex C-a a L |
3197 @item C-c C-r | 3436 @item C-c a L |
3198 Show a time-sorted view of the org file, with all time-stamped items. | 3437 Show a time-sorted view of the org file, with all time-stamped items. |
3199 When called with a @kbd{C-u} prefix, all unfinished TODO entries | 3438 When called with a @kbd{C-u} prefix, all unfinished TODO entries |
3200 (scheduled or not) are also listed under the current date. | 3439 (scheduled or not) are also listed under the current date. |
3201 @end table | 3440 @end table |
3202 | 3441 |
3203 @noindent | 3442 @noindent |
3204 The commands available in the timeline buffer are listed in | 3443 The commands available in the timeline buffer are listed in |
3205 @ref{Agenda commands}. | 3444 @ref{Agenda commands}. |
3206 | 3445 |
3207 @node Agenda commands, , Timeline, Agenda views | 3446 |
3447 @node Presentation and sorting, Agenda commands, Timeline, Agenda views | |
3448 @section Presentation and sorting | |
3449 @cindex presentation, of agenda items | |
3450 | |
3451 Before displaying items in an agenda view, Org-mode visually prepares | |
3452 the items and sorts them. Each item occupies a single line. The line | |
3453 starts with a @emph{prefix} that contains the @emph{category} | |
3454 (@pxref{Categories}) of the item and other important information. You can | |
3455 customize the prefix using the option @code{org-agenda-prefix-format}. | |
3456 The prefix is followed by a cleaned-up version of the outline headline | |
3457 associated with the item. | |
3458 | |
3459 @menu | |
3460 * Categories:: Not all tasks are equal | |
3461 * Time-of-day specifications:: How the agenda knows the time | |
3462 * Sorting of agenda items:: The order of things | |
3463 @end menu | |
3464 | |
3465 @node Categories, Time-of-day specifications, Presentation and sorting, Presentation and sorting | |
3466 @subsection Categories | |
3467 | |
3468 @cindex category | |
3469 The category is a broad label assigned to each agenda item. By default, | |
3470 the category is simply derived from the file name, but you can also | |
3471 specify it with a special line in the buffer, like this: | |
3472 | |
3473 @example | |
3474 #+CATEGORY: Thesis | |
3475 @end example | |
3476 | |
3477 If there are several such lines in a file, each specifies the category | |
3478 for the text below it (but the first category also applies to any text | |
3479 before the first CATEGORY line). The display in the agenda buffer looks | |
3480 best if the category is not longer than 10 characters. | |
3481 | |
3482 @node Time-of-day specifications, Sorting of agenda items, Categories, Presentation and sorting | |
3483 @subsection Time-of-Day Specifications | |
3484 @cindex time-of-day specification | |
3485 | |
3486 Org-mode checks each agenda item for a time-of-day specification. The | |
3487 time can be part of the time stamp that triggered inclusion into the | |
3488 agenda, for example as in @w{@samp{<2005-05-10 Tue 19:00>}}. Time | |
3489 ranges can be specified with two time stamps, like | |
3490 @c | |
3491 @w{@samp{<2005-05-10 Tue 20:30>--<2005-05-10 Tue 22:15>}}. | |
3492 | |
3493 In the headline of the entry itself, a time(range) may also appear as | |
3494 plain text (like @samp{12:45} or a @samp{8:30-1pm}. If the agenda | |
3495 integrates the Emacs diary (@pxref{Calendar/Diary integration}), time | |
3496 specifications in diary entries are recognized as well. | |
3497 | |
3498 For agenda display, Org-mode extracts the time and displays it in a | |
3499 standard 24 hour format as part of the prefix. The example times in | |
3500 the previous paragraphs would end up in the agenda like this: | |
3501 | |
3502 @example | |
3503 8:30-13:00 Arthur Dent lies in front of the bulldozer | |
3504 12:45...... Ford Prefect arrives and takes Arthur to the pub | |
3505 19:00...... The Vogon reads his poem | |
3506 20:30-22:15 Marwin escorts the Hitchhikers to the bridge | |
3507 @end example | |
3508 | |
3509 @cindex time grid | |
3510 If the agenda is in single-day mode, or for the display of today, the | |
3511 timed entries are embedded in a time grid, like | |
3512 | |
3513 @example | |
3514 8:00...... ------------------ | |
3515 8:30-13:00 Arthur Dent lies in front of the bulldozer | |
3516 10:00...... ------------------ | |
3517 12:00...... ------------------ | |
3518 12:45...... Ford Prefect arrives and takes Arthur to the pub | |
3519 14:00...... ------------------ | |
3520 16:00...... ------------------ | |
3521 18:00...... ------------------ | |
3522 19:00...... The Vogon reads his poem | |
3523 20:00...... ------------------ | |
3524 20:30-22:15 Marwin escorts the Hitchhikers to the bridge | |
3525 @end example | |
3526 | |
3527 The time grid can be turned on and off with the variable | |
3528 @code{org-agenda-use-time-grid}, and can be configured with | |
3529 @code{org-agenda-time-grid}. | |
3530 | |
3531 @node Sorting of agenda items, , Time-of-day specifications, Presentation and sorting | |
3532 @subsection Sorting of agenda items | |
3533 @cindex sorting, of agenda items | |
3534 @cindex priorities, of agenda items | |
3535 Before being inserted into a view, the items are sorted. How this is | |
3536 done depends on the type of view. | |
3537 @itemize @bullet | |
3538 @item | |
3539 For the daily/weekly agenda, the items for each day are sorted. The | |
3540 default order is to first collect all items containing an explicit | |
3541 time-of-day specification. These entries will be shown at the beginning | |
3542 of the list, as a @emph{schedule} for the day. After that, items remain | |
3543 grouped in categories, in the sequence given by @code{org-agenda-files}. | |
3544 Within each category, items are sorted by priority (@pxref{Priorities}), | |
3545 which is composed of the base priority (2000 for priority @samp{A}, 1000 | |
3546 for @samp{B}, and 0 for @samp{C}), plus additional increments for | |
3547 overdue scheduled or deadline items. | |
3548 @item | |
3549 For the TODO list, items remain in the order of categories, but within | |
3550 each category, sorting takes place according to priority | |
3551 (@pxref{Priorities}). | |
3552 @item | |
3553 For tags matches, items are not sorted at all, but just appear in the | |
3554 sequence in which they are found in the agenda files. | |
3555 @end itemize | |
3556 | |
3557 Sorting can be customized using the variable | |
3558 @code{org-agenda-sorting-strategy}. | |
3559 | |
3560 | |
3561 @node Agenda commands, Custom agenda views, Presentation and sorting, Agenda views | |
3208 @section Commands in the agenda buffer | 3562 @section Commands in the agenda buffer |
3209 @cindex commands, in agenda buffer | 3563 @cindex commands, in agenda buffer |
3210 | 3564 |
3211 Entries in the agenda buffer are linked back to the org file or diary | 3565 Entries in the agenda buffer are linked back to the org file or diary |
3212 file where they originate. You are not allowed to edit the agenda | 3566 file where they originate. You are not allowed to edit the agenda |
3218 Some commands can be executed with mouse clicks on agenda lines. For | 3572 Some commands can be executed with mouse clicks on agenda lines. For |
3219 the other commands, the cursor needs to be in the desired line. | 3573 the other commands, the cursor needs to be in the desired line. |
3220 | 3574 |
3221 @table @kbd | 3575 @table @kbd |
3222 @tsubheading{Motion} | 3576 @tsubheading{Motion} |
3577 @cindex motion commands in agenda | |
3223 @kindex n | 3578 @kindex n |
3224 @item n | 3579 @item n |
3225 Next line (same as @key{up}). | 3580 Next line (same as @key{up}). |
3226 @kindex p | 3581 @kindex p |
3227 @item p | 3582 @item p |
3263 Toggle Logbook mode. In Logbook mode, entries that where marked DONE while | 3618 Toggle Logbook mode. In Logbook mode, entries that where marked DONE while |
3264 logging was on (variable @code{org-log-done}) are shown in the agenda, | 3619 logging was on (variable @code{org-log-done}) are shown in the agenda, |
3265 as are entries that have been clocked on that day. | 3620 as are entries that have been clocked on that day. |
3266 | 3621 |
3267 @tsubheading{Change display} | 3622 @tsubheading{Change display} |
3623 @cindex display changing, in agenda | |
3268 @kindex o | 3624 @kindex o |
3269 @item o | 3625 @item o |
3270 Delete other windows. | 3626 Delete other windows. |
3271 | 3627 |
3272 @kindex w | 3628 @kindex w |
3311 @kindex . | 3667 @kindex . |
3312 @item . | 3668 @item . |
3313 Goto today. | 3669 Goto today. |
3314 | 3670 |
3315 @tsubheading{Remote editing} | 3671 @tsubheading{Remote editing} |
3672 @cindex remote editing, from agenda | |
3316 | 3673 |
3317 @item 0-9 | 3674 @item 0-9 |
3318 Digit argument. | 3675 Digit argument. |
3319 | 3676 |
3320 @kindex t | 3677 @kindex t |
3397 @kindex X | 3754 @kindex X |
3398 @item X | 3755 @item X |
3399 Cancel the currently running clock. | 3756 Cancel the currently running clock. |
3400 | 3757 |
3401 @tsubheading{Calendar commands} | 3758 @tsubheading{Calendar commands} |
3759 @cindex calendar commands, from agenda | |
3402 @kindex c | 3760 @kindex c |
3403 @item c | 3761 @item c |
3404 Open the Emacs calendar and move to the date at the agenda cursor. | 3762 Open the Emacs calendar and move to the date at the agenda cursor. |
3405 | 3763 |
3406 @item c | 3764 @item c |
3449 Exit agenda, remove the agenda buffer and all buffers loaded by Emacs | 3807 Exit agenda, remove the agenda buffer and all buffers loaded by Emacs |
3450 for the compilation of the agenda. Buffers created by the user to | 3808 for the compilation of the agenda. Buffers created by the user to |
3451 visit org files will not be removed. | 3809 visit org files will not be removed. |
3452 | 3810 |
3453 @end table | 3811 @end table |
3812 | |
3813 | |
3814 @node Custom agenda views, , Agenda commands, Agenda views | |
3815 @section Custom agenda views | |
3816 @cindex custom agenda views | |
3817 @cindex agenda views, custom | |
3818 | |
3819 Custom agenda commands serve two purposes: to store and quickly access | |
3820 frequently used TODO and tags searches, and to create special composite | |
3821 agenda buffers. Custom agenda commands will be accessible through the | |
3822 dispatcher (@pxref{Agenda dispatcher}), just like the default commands. | |
3823 | |
3824 @menu | |
3825 * Storing searches:: Type once, use often | |
3826 * Block agenda:: All the stuff you need in a single buffer | |
3827 * Setting Options:: Changing the rules | |
3828 * Batch processing:: Agenda views from the command line | |
3829 @end menu | |
3830 | |
3831 @node Storing searches, Block agenda, Custom agenda views, Custom agenda views | |
3832 @subsection Storing searches | |
3833 | |
3834 The first application of custom searches is the definition of keyboard | |
3835 shortcuts for frequently used searches, either creating an agenda | |
3836 buffer, or a sparse tree (the latter covering of course only the current | |
3837 buffer). | |
3838 @kindex C-c a C | |
3839 Custom commands are configured in the variable | |
3840 @code{org-agenda-custom-commands}. You can customize this variable, for | |
3841 example by pressing @kbd{C-c a C}. You can also directly set it with | |
3842 Emacs Lisp in @file{.emacs}. The following example contains all valid | |
3843 search types: | |
3844 | |
3845 @lisp | |
3846 @group | |
3847 (setq org-agenda-custom-commands | |
3848 '(("w" todo "WAITING") | |
3849 ("W" todo-tree "WAITING") | |
3850 ("u" tags "+BOSS-URGENT") | |
3851 ("v" tags-todo "+BOSS-URGENT") | |
3852 ("U" tags-tree "+BOSS-URGENT") | |
3853 ("f" occur-tree "\\<FIXME\\>"))) | |
3854 @end group | |
3855 @end lisp | |
3856 | |
3857 @noindent | |
3858 The initial single-character string in each entry defines the character | |
3859 you have to press after the dispatcher command @kbd{C-c a} in order to | |
3860 access the command. The second parameter is the search type, followed | |
3861 by the string or regular expression to be used for the matching. The | |
3862 example above will therefore define: | |
3863 | |
3864 @table @kbd | |
3865 @item C-c a w | |
3866 as a global search for TODO entries with @samp{WAITING} as the TODO | |
3867 keyword | |
3868 @item C-c a W | |
3869 as the same search, but only in the current buffer and displaying the | |
3870 results as a sparse tree | |
3871 @item C-c a u | |
3872 as a global tags search for headlines marked @samp{:BOSS:} but not | |
3873 @samp{:URGENT:} | |
3874 @item C-c a v | |
3875 as the same search as @kbd{C-c a u}, but limiting the search to | |
3876 headlines that are also TODO items | |
3877 @item C-c a U | |
3878 as the same search as @kbd{C-c a u}, but only in the current buffer and | |
3879 displaying the result as a sparse tree | |
3880 @item C-c a f | |
3881 to create a sparse tree (again: current buffer only) with all entries | |
3882 containing the word @samp{FIXME}. | |
3883 @end table | |
3884 | |
3885 @node Block agenda, Setting Options, Storing searches, Custom agenda views | |
3886 @subsection Block agenda | |
3887 @cindex block agenda | |
3888 @cindex agenda, with block views | |
3889 | |
3890 Another possibility is the construction of agenda views that comprise | |
3891 the results of @emph{several} commands, each of which creates a block in | |
3892 the agenda buffer. The available commands include @code{agenda} for the | |
3893 daily or weekly agenda (as created with @kbd{C-c a a}), @code{alltodo} | |
3894 for the global todo list (as constructed with @kbd{C-c a t}), and the | |
3895 matching commands discussed above: @code{todo}, @code{tags}, and | |
3896 @code{tags-todo}. Here are two examples: | |
3897 | |
3898 @lisp | |
3899 @group | |
3900 (setq org-agenda-custom-commands | |
3901 '(("h" "Agenda and Home-related tasks" | |
3902 ((agenda) | |
3903 (tags-todo "HOME") | |
3904 (tags "GARDEN"))) | |
3905 ("o" "Agenda and Office-related tasks" | |
3906 ((agenda) | |
3907 (tags-todo "WORK") | |
3908 (tags "OFFICE"))))) | |
3909 @end group | |
3910 @end lisp | |
3911 | |
3912 @noindent | |
3913 This will define @kbd{C-c a h} to create a multi-block view for stuff | |
3914 you need to attend to at home. The resulting agenda buffer will contain | |
3915 your agenda for the current week, all TODO items that carry the tag | |
3916 @samp{HOME}, and also all lines tagged with @samp{GARDEN}. Finally the | |
3917 command @kbd{C-c a o} provides a similar view for office tasks. | |
3918 | |
3919 | |
3920 @node Setting Options, Batch processing, Block agenda, Custom agenda views | |
3921 @subsection Setting Options for custom commands | |
3922 @cindex options, for custom agenda views | |
3923 | |
3924 Org-mode contains a number of variables regulating agenda construction | |
3925 and display. The global variables define the behavior for all agenda | |
3926 commands, including the custom commands. However, if you want to change | |
3927 some settings just for a single custom view, you can do so. Setting | |
3928 options requires inserting a list of variable names and values at the | |
3929 right spot in @code{org-agenda-custom-commands}. For example: | |
3930 | |
3931 @lisp | |
3932 @group | |
3933 (setq org-agenda-custom-commands | |
3934 '(("w" todo "WAITING" | |
3935 ((org-agenda-sorting-strategy '(priority-down)) | |
3936 (org-agenda-prefix-format " Mixed: "))) | |
3937 ("U" tags-tree "+BOSS-URGENT" | |
3938 ((org-show-following-heading nil) | |
3939 (org-show-hierarchy-above nil))))) | |
3940 @end group | |
3941 @end lisp | |
3942 | |
3943 @noindent | |
3944 Now the @kbd{C-c a w} command will sort the collected entries only by | |
3945 priority, and the prefix format is modified to just say @samp{ Mixed:} | |
3946 instead of giving the category of the entry. The sparse tags tree of | |
3947 @kbd{C-c a U} will now turn out ultra-compact, because neither the | |
3948 headline hierarchy above the match, nor the headline following the match | |
3949 will be shown. | |
3950 | |
3951 For command sets creating a block agenda, | |
3952 @code{org-agenda-custom-commands} has two separate spots for setting | |
3953 options. You can add options that should be valid for just a single | |
3954 command in the set, and options that should be valid for all commands in | |
3955 the set. The former are just added to the command entry, the latter | |
3956 must come after the list of command entries. Going back to the block | |
3957 agenda example (@pxref{Block agenda}), let's change the sorting strategy | |
3958 for the @kbd{C-c a h} commands to @code{priority-down}, but let's sort | |
3959 the results for GARDEN tags query in the opposite order, | |
3960 @code{priority-up}. This would look like this: | |
3961 | |
3962 @lisp | |
3963 @group | |
3964 (setq org-agenda-custom-commands | |
3965 '(("h" "Agenda and Home-related tasks" | |
3966 ((agenda) | |
3967 (tags-todo "HOME") | |
3968 (tags "GARDEN" ((org-agenda-sorting-strategy '(priority-up))))) | |
3969 ((org-agenda-sorting-strategy '(priority-down)))) | |
3970 ("o" "Agenda and Office-related tasks" | |
3971 ((agenda) | |
3972 (tags-todo "WORK") | |
3973 (tags "OFFICE"))))) | |
3974 @end group | |
3975 @end lisp | |
3976 | |
3977 As you see, the values and parenthesis setting is a little complex. | |
3978 When in doubt, use the customize interface to set this variable - it | |
3979 fully supports its structure. Just one caveat: When setting options in | |
3980 this interface, the @emph{values} are just lisp expressions. So if the | |
3981 value is a string, you need to add the double quotes around the value | |
3982 yourself. | |
3983 | |
3984 @node Batch processing, , Setting Options, Custom agenda views | |
3985 @subsection Creating agenda views in batch processing | |
3986 @cindex agenda, batch production | |
3987 | |
3988 If you want to print or otherwise reprocess agenda views, it can be | |
3989 useful to create an agenda from the command line. This is the purpose | |
3990 of the function @code{org-batch-agenda}. It takes as a parameter one of | |
3991 the strings that are the keys in @code{org-agenda-custom-commands}. For | |
3992 example, to directly print the current TODO list, you could use | |
3993 | |
3994 @example | |
3995 emacs -batch -l ~/.emacs -eval '(org-batch-agenda "t")' | lpr | |
3996 @end example | |
3997 | |
3998 @noindent | |
3999 You may also modify parameters on the fly like this: | |
4000 | |
4001 @example | |
4002 emacs -batch -l ~/.emacs \ | |
4003 -eval '(org-batch-agenda "a" \ | |
4004 org-agenda-ndays 300 \ | |
4005 org-agenda-include-diary nil \ | |
4006 org-agenda-files (quote ("~/org/project.org")))' \ | |
4007 | lpr | |
4008 @end example | |
4009 | |
4010 @noindent | |
4011 which will produce a 300 day agenda, fully restricted to the Org file | |
4012 @file{~/org/projects.org}, not even including the diary. | |
3454 | 4013 |
3455 @node Embedded LaTeX, Exporting, Agenda views, Top | 4014 @node Embedded LaTeX, Exporting, Agenda views, Top |
3456 @chapter Embedded LaTeX | 4015 @chapter Embedded LaTeX |
3457 @cindex @TeX{} interpretation | 4016 @cindex @TeX{} interpretation |
3458 @cindex La@TeX{} interpretation | 4017 @cindex La@TeX{} interpretation |
3480 * CDLaTeX mode:: Speed up entering of formulas | 4039 * CDLaTeX mode:: Speed up entering of formulas |
3481 @end menu | 4040 @end menu |
3482 | 4041 |
3483 @node Math symbols, Subscripts and Superscripts, Embedded LaTeX, Embedded LaTeX | 4042 @node Math symbols, Subscripts and Superscripts, Embedded LaTeX, Embedded LaTeX |
3484 @section Math symbols | 4043 @section Math symbols |
4044 @cindex math symbols | |
4045 @cindex TeX macros | |
3485 | 4046 |
3486 You can use La@TeX{} macros to insert special symbols like @samp{\alpha} | 4047 You can use La@TeX{} macros to insert special symbols like @samp{\alpha} |
3487 to indicate the Greek letter, or @samp{\to} to indicate an arrow. | 4048 to indicate the Greek letter, or @samp{\to} to indicate an arrow. |
3488 Completion for these macros is available, just type @samp{\} and maybe a | 4049 Completion for these macros is available, just type @samp{\} and maybe a |
3489 few letters, and press @kbd{M-@key{TAB}} to see possible completions. | 4050 few letters, and press @kbd{M-@key{TAB}} to see possible completions. |
3498 into the proper syntax for HTML, for the above examples this is | 4059 into the proper syntax for HTML, for the above examples this is |
3499 @samp{α} and @samp{→}, respectively. | 4060 @samp{α} and @samp{→}, respectively. |
3500 | 4061 |
3501 @node Subscripts and Superscripts, LaTeX fragments, Math symbols, Embedded LaTeX | 4062 @node Subscripts and Superscripts, LaTeX fragments, Math symbols, Embedded LaTeX |
3502 @section Subscripts and Superscripts | 4063 @section Subscripts and Superscripts |
4064 @cindex subscript | |
4065 @cindex superscript | |
3503 | 4066 |
3504 Just like in La@TeX{}, @samp{^} and @samp{_} are used to indicate super- | 4067 Just like in La@TeX{}, @samp{^} and @samp{_} are used to indicate super- |
3505 and subscripts. Again, these can be used without embedding them in | 4068 and subscripts. Again, these can be used without embedding them in |
3506 math-mode delimiters. To increase the readability of ASCII text, it is | 4069 math-mode delimiters. To increase the readability of ASCII text, it is |
3507 not necessary (but OK) to surround multi-character sub- and superscripts | 4070 not necessary (but OK) to surround multi-character sub- and superscripts |
3518 During HTML export (@pxref{HTML export}), subscript and superscripts | 4081 During HTML export (@pxref{HTML export}), subscript and superscripts |
3519 are surrounded with @code{<sub>} and @code{<sup>} tags, respectively. | 4082 are surrounded with @code{<sub>} and @code{<sup>} tags, respectively. |
3520 | 4083 |
3521 @node LaTeX fragments, Processing LaTeX fragments, Subscripts and Superscripts, Embedded LaTeX | 4084 @node LaTeX fragments, Processing LaTeX fragments, Subscripts and Superscripts, Embedded LaTeX |
3522 @section LaTeX fragments | 4085 @section LaTeX fragments |
4086 @cindex LaTeX fragments | |
3523 | 4087 |
3524 With symbols, sub- and superscripts, HTML is pretty much at its end when | 4088 With symbols, sub- and superscripts, HTML is pretty much at its end when |
3525 it comes to representing mathematical formulas. More complex | 4089 it comes to representing mathematical formulas@footnote{Yes, there is |
4090 MathML, but that is not yet fully supported by many browsers, and there | |
4091 is no decent converter for turning LaTeX of ASCII representations of | |
4092 formulas into MathML. So for the time being, converting formulas into | |
4093 images seems the way to go.}. More complex | |
3526 expressions need a dedicated formula processor. To this end, Org-mode | 4094 expressions need a dedicated formula processor. To this end, Org-mode |
3527 can contain arbitrary La@TeX{} fragments. It provides commands to | 4095 can contain arbitrary La@TeX{} fragments. It provides commands to |
3528 preview the typeset result of these fragments, and upon export to HTML, | 4096 preview the typeset result of these fragments, and upon export to HTML, |
3529 all fragments will be converted to images and inlined into the HTML | 4097 all fragments will be converted to images and inlined into the HTML |
3530 document. For this to work you need to be on a system with a working | 4098 document. For this to work you need to be on a system with a working |
3564 can configure the option @code{org-format-latex-options} to deselect the | 4132 can configure the option @code{org-format-latex-options} to deselect the |
3565 ones you do not wish to have interpreted by the La@TeX{} converter. | 4133 ones you do not wish to have interpreted by the La@TeX{} converter. |
3566 | 4134 |
3567 @node Processing LaTeX fragments, CDLaTeX mode, LaTeX fragments, Embedded LaTeX | 4135 @node Processing LaTeX fragments, CDLaTeX mode, LaTeX fragments, Embedded LaTeX |
3568 @section Processing LaTeX fragments | 4136 @section Processing LaTeX fragments |
4137 @cindex LaTeX fragments, preview | |
3569 | 4138 |
3570 La@TeX{} fragments can be processed to produce a preview images of the | 4139 La@TeX{} fragments can be processed to produce a preview images of the |
3571 typeset expressions: | 4140 typeset expressions: |
3572 | 4141 |
3573 @table @kbd | 4142 @table @kbd |
3592 (setq org-export-with-LaTeX-fragments t) | 4161 (setq org-export-with-LaTeX-fragments t) |
3593 @end lisp | 4162 @end lisp |
3594 | 4163 |
3595 @node CDLaTeX mode, , Processing LaTeX fragments, Embedded LaTeX | 4164 @node CDLaTeX mode, , Processing LaTeX fragments, Embedded LaTeX |
3596 @section Using CDLaTeX to enter math | 4165 @section Using CDLaTeX to enter math |
4166 @cindex CDLaTeX | |
3597 | 4167 |
3598 CDLaTeX-mode is a minor mode that is normally used in combination with a | 4168 CDLaTeX-mode is a minor mode that is normally used in combination with a |
3599 major LaTeX mode like AUCTeX in order to speed-up insertion of | 4169 major LaTeX mode like AUCTeX in order to speed-up insertion of |
3600 environments and math templates. Inside Org-mode, you can make use of | 4170 environments and math templates. Inside Org-mode, you can make use of |
3601 some of the features of cdlatex-mode. You need to install | 4171 some of the features of cdlatex-mode. You need to install |
4033 @node Publishing, Miscellaneous, Exporting, Top | 4603 @node Publishing, Miscellaneous, Exporting, Top |
4034 @chapter Publishing | 4604 @chapter Publishing |
4035 @cindex publishing | 4605 @cindex publishing |
4036 | 4606 |
4037 Org-mode includes@footnote{@file{org-publish.el} is not yet part of | 4607 Org-mode includes@footnote{@file{org-publish.el} is not yet part of |
4038 emacs, so if you are using @file{org.el} as it comes with Emacs, you | 4608 Emacs, so if you are using @file{org.el} as it comes with Emacs, you |
4039 need to download this file separately. Also make sure org.el is at | 4609 need to download this file separately. Also make sure org.el is at |
4040 least version 4.27.} a publishing management system | 4610 least version 4.27.} a publishing management system |
4041 that allows you to configure automatic HTML conversion of | 4611 that allows you to configure automatic HTML conversion of |
4042 @emph{projects} composed of interlinked org files. This system is | 4612 @emph{projects} composed of interlinked org files. This system is |
4043 called @emph{org-publish}. You can also configure org-publish to | 4613 called @emph{org-publish}. You can also configure org-publish to |
4108 @multitable @columnfractions 0.3 0.7 | 4678 @multitable @columnfractions 0.3 0.7 |
4109 @item @code{:base-directory} | 4679 @item @code{:base-directory} |
4110 @tab Directory containing publishing source files | 4680 @tab Directory containing publishing source files |
4111 @item @code{:publishing-directory} | 4681 @item @code{:publishing-directory} |
4112 @tab Directory (possibly remote) where output files will be published. | 4682 @tab Directory (possibly remote) where output files will be published. |
4683 @item @code{:preparation-function} | |
4684 @tab Function called before starting publishing process, for example to | |
4685 run @code{make} for updating files to be published. | |
4113 @end multitable | 4686 @end multitable |
4114 @noindent | 4687 @noindent |
4115 | 4688 |
4116 @node Selecting files, Publishing action, Sources and destinations, Configuration | 4689 @node Selecting files, Publishing action, Sources and destinations, Configuration |
4117 @subsection Selecting files | 4690 @subsection Selecting files |
4147 to the publishing destination. For non-Org-mode files, you need to | 4720 to the publishing destination. For non-Org-mode files, you need to |
4148 specify the publishing function. | 4721 specify the publishing function. |
4149 | 4722 |
4150 @multitable @columnfractions 0.3 0.7 | 4723 @multitable @columnfractions 0.3 0.7 |
4151 @item @code{:publishing-function} | 4724 @item @code{:publishing-function} |
4152 @tab Function executing the publication of a file. | 4725 @tab Function executing the publication of a file. This may also be a |
4726 list of functions, which will all be called in turn. | |
4153 @end multitable | 4727 @end multitable |
4154 | 4728 |
4155 The function must accept two arguments: a property list containing at | 4729 The function must accept two arguments: a property list containing at |
4156 least a @code{:publishing-directory} property, and the name of the file | 4730 least a @code{:publishing-directory} property, and the name of the file |
4157 to be published. It should take the specified file, make the necessary | 4731 to be published. It should take the specified file, make the necessary |
4352 | 4926 |
4353 @table @kbd | 4927 @table @kbd |
4354 @item C-c C-e c | 4928 @item C-c C-e c |
4355 Prompt for a specific project and publish all files that belong to it. | 4929 Prompt for a specific project and publish all files that belong to it. |
4356 @item C-c C-e p | 4930 @item C-c C-e p |
4357 Publish the project containin the current file. | 4931 Publish the project containing the current file. |
4358 @item C-c C-e f | 4932 @item C-c C-e f |
4359 Publish only the current file. | 4933 Publish only the current file. |
4360 @item C-c C-e a | 4934 @item C-c C-e a |
4361 Publish all projects. | 4935 Publish all projects. |
4362 @end table | 4936 @end table |
4406 @item | 4980 @item |
4407 At the beginning of a headline, complete TODO keywords. | 4981 At the beginning of a headline, complete TODO keywords. |
4408 @item | 4982 @item |
4409 After @samp{\}, complete @TeX{} symbols supported by the exporter. | 4983 After @samp{\}, complete @TeX{} symbols supported by the exporter. |
4410 @item | 4984 @item |
4411 After @samp{*}, complete CamelCase versions of all headlines in the | 4985 After @samp{*}, complete headlines in the current buffer so that they |
4412 buffer. | 4986 can be used in search links like @samp{[[*find this headline]]}. |
4413 @item | 4987 @item |
4414 After @samp{:}, complete tags used elsewhere in the buffer. | 4988 After @samp{:}, complete tags. The list of tags is taken from the |
4989 variable @code{org-tag-alist} (possibly set through the @samp{#+TAGS} | |
4990 in-buffer option, @pxref{Setting tags}), or it is created dynamically | |
4991 from all tags used in the current buffer. | |
4992 @item | |
4993 After @samp{[}, complete link abbreviations (@pxref{Link abbreviations}). | |
4415 @item | 4994 @item |
4416 After @samp{#+}, complete the special keywords like @samp{TYP_TODO} or | 4995 After @samp{#+}, complete the special keywords like @samp{TYP_TODO} or |
4417 @samp{OPTIONS} which set file-specific options for Org-mode. When the | 4996 @samp{OPTIONS} which set file-specific options for Org-mode. When the |
4418 option keyword is already complete, pressing @kbd{M-@key{TAB}} again | 4997 option keyword is already complete, pressing @kbd{M-@key{TAB}} again |
4419 will insert example settings for this keyword. | 4998 will insert example settings for this keyword. |
4999 @item | |
5000 In the line after @samp{#+STARTUP: }, complete startup keywords, | |
5001 i.e. valid keys for this line. | |
4420 @item | 5002 @item |
4421 Elsewhere, complete dictionary words using ispell. | 5003 Elsewhere, complete dictionary words using ispell. |
4422 @end itemize | 5004 @end itemize |
4423 @end table | 5005 @end table |
4424 | 5006 |
4485 hidestars @r{make all but one of the stars starting a headline invisible.} | 5067 hidestars @r{make all but one of the stars starting a headline invisible.} |
4486 showstars @r{show all stars starting a headline} | 5068 showstars @r{show all stars starting a headline} |
4487 odd @r{allow only odd outline levels (1,3,...)} | 5069 odd @r{allow only odd outline levels (1,3,...)} |
4488 oddeven @r{allow all outline levels} | 5070 oddeven @r{allow all outline levels} |
4489 @end example | 5071 @end example |
5072 To turn on custom format overlayes over time stamps (variables | |
5073 @code{org-put-time-stamp-overlays} and | |
5074 @code{org-time-stamp-overlay-formats}), use | |
5075 @example | |
5076 customtime @r{overlay custom time format} | |
5077 @end example | |
4490 @item #+SEQ_TODO: #+TYP_TODO: | 5078 @item #+SEQ_TODO: #+TYP_TODO: |
4491 These lines set the TODO keywords and their interpretation in the | 5079 These lines set the TODO keywords and their interpretation in the |
4492 current file. The corresponding variables are @code{org-todo-keywords} | 5080 current file. The corresponding variables are @code{org-todo-keywords} |
4493 and @code{org-todo-interpretation}. | 5081 and @code{org-todo-interpretation}. |
4494 @item #+TAGS: TAG1(c1) TAG2(c2) | 5082 @item #+TAGS: TAG1(c1) TAG2(c2) |
4495 These lines (several such lines are allowed) specify the legal tags in | 5083 These lines (several such lines are allowed) specify the legal tags in |
4496 this file, and (potentially) the corresponding @emph{fast tag selection} | 5084 this file, and (potentially) the corresponding @emph{fast tag selection} |
4497 keys. The corresponding variable is @code{org-tag-alist}. | 5085 keys. The corresponding variable is @code{org-tag-alist}. |
5086 @item #+LINK: linkword replace | |
5087 These lines (several are allowed) specify link abbreviations. | |
5088 @xref{Link abbreviations}. The corresponding variable is | |
5089 @code{org-link-abbrev-alist}. | |
4498 @item #+CATEGORY: | 5090 @item #+CATEGORY: |
4499 This line sets the category for the agenda file. The category applies | 5091 This line sets the category for the agenda file. The category applies |
4500 for all subsequent lines until the next @samp{#+CATEGORY} line, or the | 5092 for all subsequent lines until the next @samp{#+CATEGORY} line, or the |
4501 end of the file. | 5093 end of the file. |
4502 @item #+TBLFM: | 5094 @item #+TBLFM: |
4507 @end table | 5099 @end table |
4508 | 5100 |
4509 @node The very busy C-c C-c key, Clean view, In-buffer settings, Miscellaneous | 5101 @node The very busy C-c C-c key, Clean view, In-buffer settings, Miscellaneous |
4510 @section The very busy C-c C-c key | 5102 @section The very busy C-c C-c key |
4511 @kindex C-c C-c | 5103 @kindex C-c C-c |
5104 @cindex C-c C-c, overview | |
4512 | 5105 |
4513 The key @kbd{C-c C-c} has many purposes in org-mode, which are all | 5106 The key @kbd{C-c C-c} has many purposes in org-mode, which are all |
4514 mentioned scattered throughout this manual. One specific function of | 5107 mentioned scattered throughout this manual. One specific function of |
4515 this key is to add @emph{tags} to a headline (@pxref{Tags}). In many | 5108 this key is to add @emph{tags} to a headline (@pxref{Tags}). In many |
4516 other circumstances it means something like @emph{Hey Org-mode, look | 5109 other circumstances it means something like @emph{Hey Org-mode, look |
4533 the entire table. | 5126 the entire table. |
4534 @item | 5127 @item |
4535 If the cursor is inside a table created by the @file{table.el} package, | 5128 If the cursor is inside a table created by the @file{table.el} package, |
4536 activate that table. | 5129 activate that table. |
4537 @item | 5130 @item |
4538 If the current buffer is a remember buffer, close note and file it. | 5131 If the current buffer is a remember buffer, close the note and file it. |
4539 with a prefix argument, file it without further interaction to the default | 5132 With a prefix argument, file it, without further interaction, to the |
4540 location. | 5133 default location. |
4541 @item | 5134 @item |
4542 If the cursor is on a @code{<<<target>>>}, update radio targets and | 5135 If the cursor is on a @code{<<<target>>>}, update radio targets and |
4543 corresponding links in this buffer. | 5136 corresponding links in this buffer. |
4544 @item | 5137 @item |
4545 If the cursor is in a plain list item with a checkbox, toggle the status | 5138 If the cursor is in a plain list item with a checkbox, toggle the status |
4695 | 5288 |
4696 @menu | 5289 @menu |
4697 * Cooperation:: Packages Org-mode cooperates with | 5290 * Cooperation:: Packages Org-mode cooperates with |
4698 * Conflicts:: Packages that lead to conflicts | 5291 * Conflicts:: Packages that lead to conflicts |
4699 @end menu | 5292 @end menu |
4700 | |
4701 | 5293 |
4702 @node Cooperation, Conflicts, Interaction, Interaction | 5294 @node Cooperation, Conflicts, Interaction, Interaction |
4703 @subsection Packages that Org-mode cooperates with | 5295 @subsection Packages that Org-mode cooperates with |
4704 | 5296 |
4705 @table @asis | 5297 @table @asis |
4837 @section Third-party extensions for Org-mode | 5429 @section Third-party extensions for Org-mode |
4838 | 5430 |
4839 The following extensions for Org-mode have been written by other people: | 5431 The following extensions for Org-mode have been written by other people: |
4840 | 5432 |
4841 @table @asis | 5433 @table @asis |
4842 @cindex @file{org-mouse.el} | |
4843 @item @file{org-mouse.el} by Piotr Zielinski | |
4844 This package implements extended mouse functionality for Org-mode. It | |
4845 allows you to cycle visibility and to edit the document structure with | |
4846 the mouse. Best of all, it provides a context-sensitive menu on | |
4847 @key{mouse-3} that changes depending on the context of a mouse-click. | |
4848 @file{org-mouse.el} is freely available at @url{http://www.cl.cam.ac.uk/~pz215/files/org-mouse.el}. | |
4849 @cindex @file{org-publish.el} | 5434 @cindex @file{org-publish.el} |
4850 @item @file{org-publish.el} by David O'Toole | 5435 @item @file{org-publish.el} by David O'Toole |
4851 This package provides facilities for publishing related sets of Org-mode | 5436 This package provides facilities for publishing related sets of Org-mode |
4852 files together with linked files like images as a webpages. It is | 5437 files together with linked files like images as a webpages. It is |
4853 highly configurable and can be used for other publishing purposes as | 5438 highly configurable and can be used for other publishing purposes as |
4854 well. As of Org-mode version 4.30, @file{org-publish.el} is part of the | 5439 well. As of Org-mode version 4.30, @file{org-publish.el} is part of the |
4855 Org-mode distribution. It is not yet part of Emacs, however, a delay | 5440 Org-mode distribution. It is not yet part of Emacs, however, a delay |
4856 caused by the preparations for the 22.1 release. In the mean time, | 5441 caused by the preparations for the 22.1 release. In the mean time, |
4857 @file{org-publish.el} can be downloaded from David's site: | 5442 @file{org-publish.el} can be downloaded from David's site: |
4858 @url{http://dto.freeshell.org/e/org-publish.el}. | 5443 @url{http://dto.freeshell.org/e/org-publish.el}. |
5444 @cindex @file{org-mouse.el} | |
5445 @item @file{org-mouse.el} by Piotr Zielinski | |
5446 This package implements extended mouse functionality for Org-mode. It | |
5447 allows you to cycle visibility and to edit the document structure with | |
5448 the mouse. Best of all, it provides a context-sensitive menu on | |
5449 @key{mouse-3} that changes depending on the context of a mouse-click. | |
5450 As of Org-mode version 4.53, @file{org-mouse.el} is part of the | |
5451 Org-mode distribution. It is not yet part of Emacs, however, a delay | |
5452 caused by the preparations for the 22.1 release. In the mean time, | |
5453 @file{org-mouse.el} can be downloaded from Piotr's site: | |
5454 @url{http://www.cl.cam.ac.uk/~pz215/files/org-mouse.el}. | |
4859 @cindex @file{org-blog.el} | 5455 @cindex @file{org-blog.el} |
4860 @item @file{org-blog.el} by David O'Toole | 5456 @item @file{org-blog.el} by David O'Toole |
4861 A blogging plug-in for @file{org-publish.el}.@* | 5457 A blogging plug-in for @file{org-publish.el}.@* |
4862 @url{http://dto.freeshell.org/notebook/OrgMode.html}. | 5458 @url{http://dto.freeshell.org/notebook/OrgMode.html}. |
4863 @cindex @file{org-blogging.el} | 5459 @cindex @file{org-blogging.el} |
4915 | 5511 |
4916 @lisp | 5512 @lisp |
4917 (defun org-dblock-write:block-update-time (params) | 5513 (defun org-dblock-write:block-update-time (params) |
4918 (let ((fmt (or (plist-get params :format) "%d. %m. %Y"))) | 5514 (let ((fmt (or (plist-get params :format) "%d. %m. %Y"))) |
4919 (insert "Last block update at: " | 5515 (insert "Last block update at: " |
4920 (format-time-string fmt (current-time))))) | 5516 (format-time-string fmt (current-time))))) |
4921 @end lisp | 5517 @end lisp |
4922 | 5518 |
4923 If you want to make sure that all dynamic blocks are always up-to-date, | 5519 If you want to make sure that all dynamic blocks are always up-to-date, |
4924 you could add the function @code{org-update-all-dblocks} to a hook, for | 5520 you could add the function @code{org-update-all-dblocks} to a hook, for |
4925 example @code{before-save-hook}. @code{org-update-all-dblocks} is | 5521 example @code{before-save-hook}. @code{org-update-all-dblocks} is |
4926 written in a way that is does nothing in buffers that are not in Org-mode. | 5522 written in a way that is does nothing in buffers that are not in Org-mode. |
4927 | |
4928 | 5523 |
4929 @node History and Acknowledgments, Index, Extensions and Hacking, Top | 5524 @node History and Acknowledgments, Index, Extensions and Hacking, Top |
4930 @appendix History and Acknowledgments | 5525 @appendix History and Acknowledgments |
4931 @cindex acknowledgments | 5526 @cindex acknowledgments |
4932 @cindex history | 5527 @cindex history |
4933 @cindex thanks | 5528 @cindex thanks |
4934 | 5529 |
4935 The beginnings of Org-mode go back to 2003. It was borne out of | 5530 Org-mode was borne in 2003, out of frustration over the user interface |
4936 frustration over the user interface of the emacs outline-mode. All I | 5531 of the Emacs outline-mode. All I wanted was to make working with an |
4937 wanted was to make working with an outline tree possible without having | 5532 outline tree possible without having to remember more than 10 commands |
4938 to remember more than 10 commands just for hiding and unhiding parts of | 5533 just for hiding and unhiding parts of the outline tree, and to allow to |
4939 the outline tree, and to allow to restructure a tree easily. Visibility | 5534 restructure a tree easily. Visibility cycling and structure editing |
4940 cycling and structure editing were originally implemented in the package | 5535 were originally implemented in the package @file{outline-magic.el}, but |
4941 @file{outline-magic.el}, but quickly moved to the more general | 5536 quickly moved to the more general @file{org.el}. TODO entries, basic |
4942 @file{org.el}. TODO entries, basic time stamps, and table support were | 5537 time stamps, and table support were added next, and highlight the two |
4943 added next, and highlight the two main goals that Org-mode still has | 5538 main goals that Org-mode still has today: To create a new, |
4944 today: To create a new, outline-based, plain text mode with innovative | 5539 outline-based, plain text mode with innovative and intuitive editing |
4945 and intuitive editing features, and to incorporate project planning | 5540 features, and to incorporate project planning functionality directly |
4946 functionality directly into a notes file. | 5541 into a notes file. |
4947 | 5542 |
4948 Since the first release, hundreds of emails to me or on | 5543 Since the first release, hundreds of emails to me or on |
4949 @code{emacs-orgmode@@gnu.org} have provided a constant stream of bug | 5544 @code{emacs-orgmode@@gnu.org} have provided a constant stream of bug |
4950 reports, feedback, new ideas, and sometimes even patches and add-on | 5545 reports, feedback, new ideas, and sometimes even patches and add-on |
4951 code. Many thanks to everyone who has helped to improve this package. | 5546 code. Many thanks to everyone who has helped to improve this package. |
4971 calculations and improved XEmacs compatibility, in particular by porting | 5566 calculations and improved XEmacs compatibility, in particular by porting |
4972 @file{nouline.el} to XEmacs. | 5567 @file{nouline.el} to XEmacs. |
4973 @item | 5568 @item |
4974 @i{Sacha Chua} suggested to copy some linking code from Planner. | 5569 @i{Sacha Chua} suggested to copy some linking code from Planner. |
4975 @item | 5570 @item |
5571 @i{Eddward DeVilla} proposed and tested checkbox statistics. | |
5572 @item | |
4976 @i{Kees Dullemond} inspired the use of narrowed tabled columns. | 5573 @i{Kees Dullemond} inspired the use of narrowed tabled columns. |
4977 @item | 5574 @item |
4978 @i{Christian Egli} converted the documentation into TeXInfo format, | 5575 @i{Christian Egli} converted the documentation into TeXInfo format, |
4979 patched CSS formatting into the HTML exporter, and inspired the agenda. | 5576 patched CSS formatting into the HTML exporter, and inspired the agenda. |
4980 @item | 5577 @item |
4981 @i{Nic Ferrier} contributed mailcap and XOXO support. | 5578 @i{Nic Ferrier} contributed mailcap and XOXO support. |
4982 @item | 5579 @item |
4983 @i{Niels Giessen} had the idea to automatically archive DONE trees. | 5580 @i{Niels Giessen} had the idea to automatically archive DONE trees. |
4984 @item | 5581 @item |
4985 @i{Bastien Guerry} provoded extensive feedback. | 5582 @i{Bastien Guerry} provided extensive feedback. |
4986 @item | 5583 @item |
4987 @i{Kai Grossjohann} pointed out key-binding conflicts caused by | 5584 @i{Kai Grossjohann} pointed out key-binding conflicts with other packages. |
4988 Org-mode. | |
4989 @item | 5585 @item |
4990 @i{Leon Liu} asked for embedded LaTeX and tested it. | 5586 @i{Leon Liu} asked for embedded LaTeX and tested it. |
4991 @item | 5587 @item |
4992 @i{Stefan Monnier} provided a patch to keep the Emacs-Lisp compiler | 5588 @i{Stefan Monnier} provided a patch to keep the Emacs-Lisp compiler |
4993 happy. | 5589 happy. |
5000 @i{Oliver Oppitz} suggested multi-state TODO items. | 5596 @i{Oliver Oppitz} suggested multi-state TODO items. |
5001 @item | 5597 @item |
5002 @i{Scott Otterson} sparked the introduction of descriptive text for | 5598 @i{Scott Otterson} sparked the introduction of descriptive text for |
5003 links, among other things. | 5599 links, among other things. |
5004 @item | 5600 @item |
5005 @i{Pete Phillips} helped the development of the TAGS feature. | 5601 @i{Pete Phillips} helped during the development of the TAGS feature, and |
5602 provided frequent feedback. | |
5006 @item | 5603 @item |
5007 @i{T.V. Raman} reported bugs and suggested improvements. | 5604 @i{T.V. Raman} reported bugs and suggested improvements. |
5008 @item | 5605 @item |
5009 @i{Matthias Rempe} (Oelde) provided ideas, Windows support, and quality | 5606 @i{Matthias Rempe} (Oelde) provided ideas, Windows support, and quality |
5010 control. | 5607 control. |
5012 @i{Kevin Rogers} contributed code to access VM files on remote hosts. | 5609 @i{Kevin Rogers} contributed code to access VM files on remote hosts. |
5013 @item | 5610 @item |
5014 @i{Frank Ruell} solved the mystery of the @code{keymapp nil} bug, a | 5611 @i{Frank Ruell} solved the mystery of the @code{keymapp nil} bug, a |
5015 conflict with @file{allout.el}. | 5612 conflict with @file{allout.el}. |
5016 @item | 5613 @item |
5614 @i{Jason Riedy} sent a patch to fix a bug with export of TODO keywerds. | |
5615 @item | |
5017 @i{Philip Rooke} created the Org-mode reference card and provided lots | 5616 @i{Philip Rooke} created the Org-mode reference card and provided lots |
5018 of feedback. | 5617 of feedback. |
5019 @item | 5618 @item |
5020 @i{Christian Schlauer} proposed angular brackets around links, among | 5619 @i{Christian Schlauer} proposed angular brackets around links, among |
5021 other things. | 5620 other things. |
5023 Linking to VM/BBDB/GNUS was inspired by @i{Tom Shannon}'s | 5622 Linking to VM/BBDB/GNUS was inspired by @i{Tom Shannon}'s |
5024 @file{organizer-mode.el}. | 5623 @file{organizer-mode.el}. |
5025 @item | 5624 @item |
5026 @i{Daniel Sinder} came up with the idea of internal archiving by locking | 5625 @i{Daniel Sinder} came up with the idea of internal archiving by locking |
5027 subtrees. | 5626 subtrees. |
5627 @item | |
5628 @i{Dale Smith} proposed link abbreviations. | |
5028 @item | 5629 @item |
5029 @i{David O'Toole} wrote @file{org-publish.el} and drafted the manual | 5630 @i{David O'Toole} wrote @file{org-publish.el} and drafted the manual |
5030 chapter about publishing. | 5631 chapter about publishing. |
5031 @item | 5632 @item |
5032 @i{J@"urgen Vollmer} contributed code generating the table of contents | 5633 @i{J@"urgen Vollmer} contributed code generating the table of contents |
5049 linking to GNUS. | 5650 linking to GNUS. |
5050 @item | 5651 @item |
5051 @i{Roland Winkler} requested additional keybindings to make Org-mode | 5652 @i{Roland Winkler} requested additional keybindings to make Org-mode |
5052 work on a tty. | 5653 work on a tty. |
5053 @item | 5654 @item |
5054 @i{Piotr Zielinski} wrote @file{org-mouse.el} and showed how to follow | 5655 @i{Piotr Zielinski} wrote @file{org-mouse.el}, proposed angenda blocks |
5055 links with mouse-1. | 5656 and contributed various ideas and code snippets. |
5056 @end itemize | 5657 @end itemize |
5057 | 5658 |
5058 | 5659 |
5059 @node Index, Key Index, History and Acknowledgments, Top | 5660 @node Index, Key Index, History and Acknowledgments, Top |
5060 @unnumbered Index | 5661 @unnumbered Index |
5061 | 5662 |
5062 @printindex cp | 5663 @printindex cp |
5063 | 5664 |
5064 @node Key Index, , Index, Top | 5665 @node Key Index, , Index, Top |
5065 @chapter Key Index | 5666 @unnumbered Key Index |
5066 | 5667 |
5067 @printindex ky | 5668 @printindex ky |
5068 | 5669 |
5069 @bye | 5670 @bye |
5070 | 5671 |