diff options
| author | Carsten Dominik | 2006-04-11 08:36:35 +0000 |
|---|---|---|
| committer | Carsten Dominik | 2006-04-11 08:36:35 +0000 |
| commit | 26ca33edc321e8987e2dfa8c4d6c55ec30bc0a6f (patch) | |
| tree | 8f8726f208c695e7147c766c76dc1400fdd9900b | |
| parent | db926d809113fbb185dfc9e400bdf3216a687762 (diff) | |
| download | emacs-26ca33edc321e8987e2dfa8c4d6c55ec30bc0a6f.tar.gz emacs-26ca33edc321e8987e2dfa8c4d6c55ec30bc0a6f.zip | |
(Link format): New section, emphasis on bracket links.
(External links): Document bracket links.
(FAQ): Expanded to cover shell links and the new link format.
| -rw-r--r-- | man/org.texi | 1084 |
1 files changed, 687 insertions, 397 deletions
diff --git a/man/org.texi b/man/org.texi index 2c7a4ef8289..19c0f222c57 100644 --- a/man/org.texi +++ b/man/org.texi | |||
| @@ -4,8 +4,8 @@ | |||
| 4 | @setfilename ../info/org | 4 | @setfilename ../info/org |
| 5 | @settitle Org Mode Manual | 5 | @settitle Org Mode Manual |
| 6 | 6 | ||
| 7 | @set VERSION 4.10 | 7 | @set VERSION 4.21 |
| 8 | @set DATE March 2006 | 8 | @set DATE April 2006 |
| 9 | 9 | ||
| 10 | @dircategory Emacs | 10 | @dircategory Emacs |
| 11 | @direntry | 11 | @direntry |
| @@ -82,6 +82,7 @@ Software Foundation raise funds for GNU development.'' | |||
| 82 | * Hyperlinks:: Notes in context | 82 | * Hyperlinks:: Notes in context |
| 83 | * TODO items:: Every tree branch can be a TODO item | 83 | * TODO items:: Every tree branch can be a TODO item |
| 84 | * Timestamps:: Assign date and time to items | 84 | * Timestamps:: Assign date and time to items |
| 85 | * Tags:: Tagging headlines and matching sets of tags | ||
| 85 | * Agenda Views:: Collecting information into views | 86 | * Agenda Views:: Collecting information into views |
| 86 | * Exporting:: Sharing and publishing of notes | 87 | * Exporting:: Sharing and publishing of notes |
| 87 | * Miscellaneous:: All the rest which did not fit elsewhere | 88 | * Miscellaneous:: All the rest which did not fit elsewhere |
| @@ -94,7 +95,7 @@ Software Foundation raise funds for GNU development.'' | |||
| 94 | Introduction | 95 | Introduction |
| 95 | 96 | ||
| 96 | * Summary:: Brief summary of what Org-mode does | 97 | * Summary:: Brief summary of what Org-mode does |
| 97 | * Installation and Activation:: How to install Org-mode | 98 | * Installation and activation:: How to install Org-mode |
| 98 | * Feedback:: Bug reports, ideas, patches etc. | 99 | * Feedback:: Bug reports, ideas, patches etc. |
| 99 | 100 | ||
| 100 | Document Structure | 101 | Document Structure |
| @@ -106,12 +107,12 @@ Document Structure | |||
| 106 | * Structure editing:: Changing sequence and level of headlines | 107 | * Structure editing:: Changing sequence and level of headlines |
| 107 | * Archiving:: Move done task trees to a different place | 108 | * Archiving:: Move done task trees to a different place |
| 108 | * Sparse trees:: Matches embedded in context | 109 | * Sparse trees:: Matches embedded in context |
| 109 | * Tags:: Tagging headlines and matching sets of tags | ||
| 110 | * Plain Lists:: Editing hand-formatted lists | 110 | * Plain Lists:: Editing hand-formatted lists |
| 111 | 111 | ||
| 112 | Tables | 112 | Tables |
| 113 | 113 | ||
| 114 | * Built-in table editor:: Simple tables | 114 | * Built-in table editor:: Simple tables |
| 115 | * Narrow columns:: Stop wasting space in tables | ||
| 115 | * Table calculations:: Compute a field from other fields | 116 | * Table calculations:: Compute a field from other fields |
| 116 | * orgtbl-mode:: The table editor as minor mode | 117 | * orgtbl-mode:: The table editor as minor mode |
| 117 | * table.el:: Complex tables | 118 | * table.el:: Complex tables |
| @@ -127,13 +128,14 @@ Calculations in tables | |||
| 127 | 128 | ||
| 128 | Hyperlinks | 129 | Hyperlinks |
| 129 | 130 | ||
| 130 | * Internal Links:: Links to other places in the current file | 131 | * Link format:: How links in Org-mode are formatted |
| 131 | * External Links:: URL-like links to the world | 132 | * Internal links:: Links to other places in the current file |
| 133 | * External links:: URL-like links to the world | ||
| 132 | * Managing links:: Creating, inserting and following | 134 | * Managing links:: Creating, inserting and following |
| 133 | * Search Options:: Linking to a specific location | 135 | * Search Options:: Linking to a specific location |
| 134 | * Remember:: Org-trees store quick notes | 136 | * Remember:: Org-trees store quick notes |
| 135 | 137 | ||
| 136 | Internal Links | 138 | Internal links |
| 137 | 139 | ||
| 138 | * Radio targets:: Make targets trigger links in plain text. | 140 | * Radio targets:: Make targets trigger links in plain text. |
| 139 | * CamelCase links:: Activating CamelCase words as links | 141 | * CamelCase links:: Activating CamelCase words as links |
| @@ -141,7 +143,7 @@ Internal Links | |||
| 141 | TODO items | 143 | TODO items |
| 142 | 144 | ||
| 143 | * TODO basics:: Marking and displaying TODO entries | 145 | * TODO basics:: Marking and displaying TODO entries |
| 144 | * Progress Logging:: Document your productivity | 146 | * Progress logging:: Document your productivity |
| 145 | * TODO extensions:: Workflow and assignments | 147 | * TODO extensions:: Workflow and assignments |
| 146 | * Priorities:: Some things are more important than others | 148 | * Priorities:: Some things are more important than others |
| 147 | 149 | ||
| @@ -156,6 +158,12 @@ Timestamps | |||
| 156 | * Time stamps:: Assigning a time to a tree entry | 158 | * Time stamps:: Assigning a time to a tree entry |
| 157 | * Creating timestamps:: Commands which insert timestamps | 159 | * Creating timestamps:: Commands which insert timestamps |
| 158 | 160 | ||
| 161 | Tags | ||
| 162 | |||
| 163 | * Tag inheritance:: Tags use the tree structure of the outline | ||
| 164 | * Setting tags:: How to assign tags to a headline | ||
| 165 | * Tag searches:: Searching for combinations of tags | ||
| 166 | |||
| 159 | Agenda Views | 167 | Agenda Views |
| 160 | 168 | ||
| 161 | * Agenda files:: Files being searched for agenda information | 169 | * Agenda files:: Files being searched for agenda information |
| @@ -189,6 +197,7 @@ Miscellaneous | |||
| 189 | 197 | ||
| 190 | * Completion:: M-TAB knows what you need | 198 | * Completion:: M-TAB knows what you need |
| 191 | * Customization:: Adapting Org-mode to your taste | 199 | * Customization:: Adapting Org-mode to your taste |
| 200 | * Updating settings:: How to tell Org-mode that settings have changed | ||
| 192 | * Clean view:: Getting rid of leading stars in the outline | 201 | * Clean view:: Getting rid of leading stars in the outline |
| 193 | * TTY keys:: Using Org-mode on a tty | 202 | * TTY keys:: Using Org-mode on a tty |
| 194 | * FAQ:: Frequently asked questions | 203 | * FAQ:: Frequently asked questions |
| @@ -205,11 +214,11 @@ Miscellaneous | |||
| 205 | 214 | ||
| 206 | @menu | 215 | @menu |
| 207 | * Summary:: Brief summary of what Org-mode does | 216 | * Summary:: Brief summary of what Org-mode does |
| 208 | * Installation and Activation:: How to install Org-mode | 217 | * Installation and activation:: How to install Org-mode |
| 209 | * Feedback:: Bug reports, ideas, patches etc. | 218 | * Feedback:: Bug reports, ideas, patches etc. |
| 210 | @end menu | 219 | @end menu |
| 211 | 220 | ||
| 212 | @node Summary, Installation and Activation, Introduction, Introduction | 221 | @node Summary, Installation and activation, Introduction, Introduction |
| 213 | @section Summary | 222 | @section Summary |
| 214 | @cindex summary | 223 | @cindex summary |
| 215 | 224 | ||
| @@ -234,7 +243,7 @@ Org-mode keeps simple things simple. When first fired up, it should | |||
| 234 | feel like a simple but easy to use outliner. Complexity is not | 243 | feel like a simple but easy to use outliner. Complexity is not |
| 235 | imposed, but a large amount of functionality is available when you | 244 | imposed, but a large amount of functionality is available when you |
| 236 | need it. Org-mode can be used on different levels and in different | 245 | need it. Org-mode can be used on different levels and in different |
| 237 | ways, for example | 246 | ways, for example: |
| 238 | 247 | ||
| 239 | @example | 248 | @example |
| 240 | @r{@bullet{} as an outline extension with visibility cycling and structure editing} | 249 | @r{@bullet{} as an outline extension with visibility cycling and structure editing} |
| @@ -255,7 +264,7 @@ and example files. This page is located at | |||
| 255 | 264 | ||
| 256 | @page | 265 | @page |
| 257 | 266 | ||
| 258 | @node Installation and Activation, Feedback, Summary, Introduction | 267 | @node Installation and activation, Feedback, Summary, Introduction |
| 259 | @section Installation and Activation | 268 | @section Installation and Activation |
| 260 | @cindex installation | 269 | @cindex installation |
| 261 | @cindex autoload | 270 | @cindex autoload |
| @@ -301,9 +310,9 @@ MY PROJECTS -*- mode: org; -*- | |||
| 301 | 310 | ||
| 302 | @noindent which will select Org-mode for this buffer no matter what | 311 | @noindent which will select Org-mode for this buffer no matter what |
| 303 | the file's name is. See also the variable | 312 | the file's name is. See also the variable |
| 304 | @code{org-insert-mode-line-in-empty-file'}. | 313 | @code{org-insert-mode-line-in-empty-file}. |
| 305 | 314 | ||
| 306 | @node Feedback, , Installation and Activation, Introduction | 315 | @node Feedback, , Installation and activation, Introduction |
| 307 | @section Feedback | 316 | @section Feedback |
| 308 | @cindex feedback | 317 | @cindex feedback |
| 309 | @cindex bug reports | 318 | @cindex bug reports |
| @@ -316,16 +325,17 @@ or ideas about it, please contact the maintainer Carsten Dominik at | |||
| 316 | 325 | ||
| 317 | For bug reports, please provide as much information as possible, | 326 | For bug reports, please provide as much information as possible, |
| 318 | including the version information of Emacs (@kbd{C-h v emacs-version | 327 | including the version information of Emacs (@kbd{C-h v emacs-version |
| 319 | @key{RET}}) and Org-mode (@kbd{M-x org-version}), as well as the | 328 | @key{RET}}) and Org-mode (@kbd{C-h v org-version @key{RET}}), as well as |
| 320 | Org-mode related setup in @file{.emacs}. If an error occurs, a | 329 | the Org-mode related setup in @file{.emacs}. If an error occurs, a |
| 321 | traceback can be very useful. Often a small example file helps, along | 330 | traceback can be very useful. Often a small example file helps, along |
| 322 | with clear information about: | 331 | with clear information about: |
| 332 | |||
| 323 | @enumerate | 333 | @enumerate |
| 324 | @item What exactly did you do? | 334 | @item What exactly did you do? |
| 325 | @item What did you expect to happen? | 335 | @item What did you expect to happen? |
| 326 | @item What happened instead? | 336 | @item What happened instead? |
| 327 | @end enumerate | 337 | @end enumerate |
| 328 | @noindent Thanks for helping to improve this mode. | 338 | @noindent Thank you for helping to improve this mode. |
| 329 | 339 | ||
| 330 | @node Document Structure, Tables, Introduction, Top | 340 | @node Document Structure, Tables, Introduction, Top |
| 331 | @chapter Document Structure | 341 | @chapter Document Structure |
| @@ -343,7 +353,6 @@ edit the structure of the document. | |||
| 343 | * Structure editing:: Changing sequence and level of headlines | 353 | * Structure editing:: Changing sequence and level of headlines |
| 344 | * Archiving:: Move done task trees to a different place | 354 | * Archiving:: Move done task trees to a different place |
| 345 | * Sparse trees:: Matches embedded in context | 355 | * Sparse trees:: Matches embedded in context |
| 346 | * Tags:: Tagging headlines and matching sets of tags | ||
| 347 | * Plain Lists:: Editing hand-formatted lists | 356 | * Plain Lists:: Editing hand-formatted lists |
| 348 | @end menu | 357 | @end menu |
| 349 | 358 | ||
| @@ -367,9 +376,9 @@ key. | |||
| 367 | @cindex headlines | 376 | @cindex headlines |
| 368 | @cindex outline tree | 377 | @cindex outline tree |
| 369 | 378 | ||
| 370 | Headlines define the structure of an outline tree. The Headlines in | 379 | Headlines define the structure of an outline tree. The headlines in |
| 371 | Org-mode start with one or more stars, on the left margin. For | 380 | Org-mode start with one or more stars, on the left margin. For |
| 372 | example | 381 | example: |
| 373 | 382 | ||
| 374 | @example | 383 | @example |
| 375 | * Top level headline | 384 | * Top level headline |
| @@ -380,6 +389,7 @@ example | |||
| 380 | more text | 389 | more text |
| 381 | * Another top level headline | 390 | * Another top level headline |
| 382 | @end example | 391 | @end example |
| 392 | |||
| 383 | @noindent Some people find the many stars too noisy and would prefer an | 393 | @noindent Some people find the many stars too noisy and would prefer an |
| 384 | outline that has whitespace followed by a single star as headline | 394 | outline that has whitespace followed by a single star as headline |
| 385 | starters. @ref{Clean view} describes a setup to realize this. | 395 | starters. @ref{Clean view} describes a setup to realize this. |
| @@ -404,10 +414,12 @@ the visibility in the buffer. | |||
| 404 | @kindex @key{TAB} | 414 | @kindex @key{TAB} |
| 405 | @item @key{TAB} | 415 | @item @key{TAB} |
| 406 | Rotate current subtree between the states | 416 | Rotate current subtree between the states |
| 417 | |||
| 407 | @example | 418 | @example |
| 408 | ,-> FOLDED -> CHILDREN -> SUBTREE --. | 419 | ,-> FOLDED -> CHILDREN -> SUBTREE --. |
| 409 | '-----------------------------------' | 420 | '-----------------------------------' |
| 410 | @end example | 421 | @end example |
| 422 | |||
| 411 | At the beginning of the buffer (or when called with @kbd{C-u}), this does | 423 | At the beginning of the buffer (or when called with @kbd{C-u}), this does |
| 412 | the same as the command @kbd{S-@key{TAB}} below. | 424 | the same as the command @kbd{S-@key{TAB}} below. |
| 413 | 425 | ||
| @@ -418,10 +430,12 @@ the same as the command @kbd{S-@key{TAB}} below. | |||
| 418 | @kindex S-@key{TAB} | 430 | @kindex S-@key{TAB} |
| 419 | @item S-@key{TAB} | 431 | @item S-@key{TAB} |
| 420 | Rotate the entire buffer between the states | 432 | Rotate the entire buffer between the states |
| 433 | |||
| 421 | @example | 434 | @example |
| 422 | ,-> OVERVIEW -> CONTENTS -> SHOW ALL --. | 435 | ,-> OVERVIEW -> CONTENTS -> SHOW ALL --. |
| 423 | '--------------------------------------' | 436 | '--------------------------------------' |
| 424 | @end example | 437 | @end example |
| 438 | |||
| 425 | Note that inside tables, @kbd{S-@key{TAB}} jumps to the previous field. | 439 | Note that inside tables, @kbd{S-@key{TAB}} jumps to the previous field. |
| 426 | 440 | ||
| 427 | @cindex show all, command | 441 | @cindex show all, command |
| @@ -499,23 +513,23 @@ beginning of the next line. | |||
| 499 | Insert new TODO entry with same level as current heading. | 513 | Insert new TODO entry with same level as current heading. |
| 500 | @kindex M-@key{left} | 514 | @kindex M-@key{left} |
| 501 | @item M-@key{left} | 515 | @item M-@key{left} |
| 502 | Promote current heading by one level | 516 | Promote current heading by one level. |
| 503 | @kindex M-@key{right} | 517 | @kindex M-@key{right} |
| 504 | @item M-@key{right} | 518 | @item M-@key{right} |
| 505 | Demote current heading by one level | 519 | Demote current heading by one level. |
| 506 | @kindex M-S-@key{left} | 520 | @kindex M-S-@key{left} |
| 507 | @item M-S-@key{left} | 521 | @item M-S-@key{left} |
| 508 | Promote the current subtree by one level | 522 | Promote the current subtree by one level. |
| 509 | @kindex M-S-@key{right} | 523 | @kindex M-S-@key{right} |
| 510 | @item M-S-@key{right} | 524 | @item M-S-@key{right} |
| 511 | Demote the current subtree by one level | 525 | Demote the current subtree by one level. |
| 512 | @kindex M-S-@key{up} | 526 | @kindex M-S-@key{up} |
| 513 | @item M-S-@key{up} | 527 | @item M-S-@key{up} |
| 514 | Move subtree up (swap with previous subtree of same | 528 | Move subtree up (swap with previous subtree of same |
| 515 | level) | 529 | level). |
| 516 | @kindex M-S-@key{down} | 530 | @kindex M-S-@key{down} |
| 517 | @item M-S-@key{down} | 531 | @item M-S-@key{down} |
| 518 | Move subtree down (swap with next subtree of same level) | 532 | Move subtree down (swap with next subtree of same level). |
| 519 | @kindex C-c C-x C-w | 533 | @kindex C-c C-x C-w |
| 520 | @kindex C-c C-x C-k | 534 | @kindex C-c C-x C-k |
| 521 | @item C-c C-x C-w | 535 | @item C-c C-x C-w |
| @@ -567,7 +581,7 @@ this, see the documentation string of the variable | |||
| 567 | agenda, archiving to a different file is a good way to keep archived | 581 | agenda, archiving to a different file is a good way to keep archived |
| 568 | trees from contributing agenda items. | 582 | trees from contributing agenda items. |
| 569 | 583 | ||
| 570 | @node Sparse trees, Tags, Archiving, Document Structure | 584 | @node Sparse trees, Plain Lists, Archiving, Document Structure |
| 571 | @section Sparse trees | 585 | @section Sparse trees |
| 572 | @cindex sparse trees | 586 | @cindex sparse trees |
| 573 | @cindex trees, sparse | 587 | @cindex trees, sparse |
| @@ -602,11 +616,13 @@ For frequently used sparse trees of specific search strings, you can | |||
| 602 | use the variable @code{org-agenda-custom-commands} to define fast | 616 | use the variable @code{org-agenda-custom-commands} to define fast |
| 603 | keyboard access to specific sparse trees. These commands will then be | 617 | keyboard access to specific sparse trees. These commands will then be |
| 604 | accessible through the agenda dispatcher (@pxref{Agenda dispatcher}). | 618 | accessible through the agenda dispatcher (@pxref{Agenda dispatcher}). |
| 605 | For example | 619 | For example: |
| 620 | |||
| 606 | @lisp | 621 | @lisp |
| 607 | (setq org-agenda-custom-commands | 622 | (setq org-agenda-custom-commands |
| 608 | '(("f" occur-tree "FIXME"))) | 623 | '(("f" occur-tree "FIXME"))) |
| 609 | @end lisp | 624 | @end lisp |
| 625 | |||
| 610 | @noindent will define the key @kbd{C-c a f} as a shortcut for creating | 626 | @noindent will define the key @kbd{C-c a f} as a shortcut for creating |
| 611 | a sparse tree matching the string @samp{FIXME}. | 627 | a sparse tree matching the string @samp{FIXME}. |
| 612 | 628 | ||
| @@ -621,97 +637,20 @@ To print a sparse tree, you can use the Emacs command | |||
| 621 | of the document @footnote{This does not work under XEmacs, because | 637 | of the document @footnote{This does not work under XEmacs, because |
| 622 | XEmacs uses selective display for outlining, not text properties}. | 638 | XEmacs uses selective display for outlining, not text properties}. |
| 623 | Or you can use the command @kbd{C-c C-x v} to copy the visible part of | 639 | Or you can use the command @kbd{C-c C-x v} to copy the visible part of |
| 624 | the document to another file (extension @file{.txt}) which then can be | 640 | the document to another file (extension @file{.txt}) which can then be |
| 625 | printed in any desired way. | 641 | printed in any desired way. |
| 626 | 642 | ||
| 627 | @node Tags, Plain Lists, Sparse trees, Document Structure | ||
| 628 | @section Tags | ||
| 629 | @cindex tags | ||
| 630 | @cindex headline tagging | ||
| 631 | @cindex matching, tags | ||
| 632 | @cindex sparse tree, tag based | ||
| 633 | |||
| 634 | If you wish to implement a tag system to cross-correlate information, | ||
| 635 | this can be done as well in Org-mode. Every headline can contain a | ||
| 636 | list of tags, at the end of the headline. Tags are normal words | ||
| 637 | containing letters, numbers, @samp{_}, and @samp{@@}. Tags must be | ||
| 638 | preceded and followed by a single colon; like @samp{:WORK:}. Several | ||
| 639 | tags can be specified like @samp{:WORK:URGENT:}. | ||
| 640 | |||
| 641 | @cindex inheritance, of tags | ||
| 642 | Tags make use of the hierarchical structure of outline trees. If a | ||
| 643 | heading has a certain tag, all subheadings will inherit the tag as | ||
| 644 | well. For example, in the list | ||
| 645 | |||
| 646 | @example | ||
| 647 | * Meeting with the French group :WORK: | ||
| 648 | ** Summary by Frank :BOSS:NOTES: | ||
| 649 | *** TODO Prepare slides for him :ACTION: | ||
| 650 | @end example | ||
| 651 | @noindent | ||
| 652 | the final heading will have the tags @samp{:WORK:}, @samp{:BOSS:}, | ||
| 653 | @samp{:NOTES:}, and @samp{:ACTION:}. When executing tag searches and | ||
| 654 | Org-mode finds that a certain headline matches the search criterion, | ||
| 655 | it will not check any sublevel headline, assuming that these likely | ||
| 656 | also match, and that the list of matches can become very long. You | ||
| 657 | can influence inheritance and searching using the variables | ||
| 658 | @code{org-use-tag-inheritance} and | ||
| 659 | @code{org-tags-match-list-sublevels}. | ||
| 660 | |||
| 661 | @kindex M-@key{TAB} | ||
| 662 | Tags can simply be typed into the buffer. After a colon, | ||
| 663 | @kbd{M-@key{TAB}} offers completion on all tags being used in the | ||
| 664 | current buffer. There are also special commands for inserting tags, | ||
| 665 | and for executing searches based on tags. | ||
| 666 | |||
| 667 | @table @kbd | ||
| 668 | @kindex C-c C-c | ||
| 669 | @item C-c C-c | ||
| 670 | @cindex completion, of tags | ||
| 671 | Enter new tags for the current headline. The minibuffer will prompt | ||
| 672 | for a list of tags and offer completion with respect to all other tags | ||
| 673 | used in the current buffer. Several tags, separated by colons, may be | ||
| 674 | specified at the prompt. After pressing @key{RET}, the tags will | ||
| 675 | be inserted and aligned to @code{org-tags-column}. When called with a | ||
| 676 | @kbd{C-u} prefix, align all tags in the current buffer to that column, | ||
| 677 | just to make things look nice. TAGS are automatically realigned after | ||
| 678 | promotion, demotion, and TODO state changes (@pxref{TODO basics}). | ||
| 679 | @kindex C-c \ | ||
| 680 | @item C-c \ | ||
| 681 | Create a sparse tree with all headlines matching a tags search. | ||
| 682 | @kindex C-c a m | ||
| 683 | @item C-c a m | ||
| 684 | Create a global list of tag matches from all agenda files. | ||
| 685 | @xref{Matching headline tags}. | ||
| 686 | @kindex C-c a M | ||
| 687 | @item C-c a M | ||
| 688 | Create a global list of tag matches from all agenda files, but check | ||
| 689 | only TODO items and force checking subitems (see variable | ||
| 690 | @code{org-tags-match-list-sublevels}). | ||
| 691 | @end table | ||
| 692 | |||
| 693 | A tags search string can use Boolean operators @samp{&} for AND and | ||
| 694 | @samp{|} for OR. @samp{&} binds more strongly than | ||
| 695 | @samp{|}. Parenthesis are currently no implemented. A tag may also be | ||
| 696 | preceded by @samp{-}, to select against it, and @samp{+} is syntactic | ||
| 697 | sugar for positive selection. The AND operator @samp{&} is optional | ||
| 698 | when @samp{+} or @samp{-} is present. For example, @samp{+WORK-BOSS} | ||
| 699 | would select all headlines that are tagged @samp{:WORK:}, but discard | ||
| 700 | those also tagged @samp{:BOSS:}. The search string @samp{WORK|LAPTOP} | ||
| 701 | selects all lines tagged @samp{:WORK:} or @samp{:LAPTOP:}. The string | ||
| 702 | @samp{WORK|LAPTOP&NIGHT} requires that the @samp{:LAPTOP:} lines are | ||
| 703 | also tagged @samp{NIGHT}. | ||
| 704 | 643 | ||
| 705 | @node Plain Lists, , Tags, Document Structure | 644 | @node Plain Lists, , Sparse trees, Document Structure |
| 706 | @section Plain Lists | 645 | @section Plain Lists |
| 707 | @cindex plain lists | 646 | @cindex plain lists |
| 708 | @cindex lists, plain | 647 | @cindex lists, plain |
| 709 | @cindex lists, ordered | 648 | @cindex lists, ordered |
| 710 | @cindex ordered lists | 649 | @cindex ordered lists |
| 711 | 650 | ||
| 712 | Headlines define the structure of the Org-mode file, and also lists | 651 | Headlines define both the structure of the Org-mode file, and also lists |
| 713 | (for example TODO items (@pxref{TODO items}) should be created using | 652 | (for example, TODO items (@pxref{TODO items}) should be created using |
| 714 | headline levels. However, when taking notes, the plain text is | 653 | headline levels). However, when taking notes, the plain text is |
| 715 | sometimes easier to read with hand-formatted lists. Org-mode supports | 654 | sometimes easier to read with hand-formatted lists. Org-mode supports |
| 716 | editing such lists, and the HTML exporter (@pxref{Exporting}) does | 655 | editing such lists, and the HTML exporter (@pxref{Exporting}) does |
| 717 | parse and format them. | 656 | parse and format them. |
| @@ -721,11 +660,11 @@ with @samp{-}, @samp{+}, or @samp{*}@footnote{When using @samp{*} as a | |||
| 721 | bullet, lines must be indented or they will be seen as top-level | 660 | bullet, lines must be indented or they will be seen as top-level |
| 722 | headlines. Also, when you are hiding leading stars to get a clean | 661 | headlines. Also, when you are hiding leading stars to get a clean |
| 723 | outline view, plain list items starting with a star are visually | 662 | outline view, plain list items starting with a star are visually |
| 724 | indistinguishable from true headlines. In short: Even though @samp{*} | 663 | indistinguishable from true headlines. In short: even though @samp{*} |
| 725 | is supported, it may be better to not use it for plain list items} as | 664 | is supported, it may be better to not use it for plain list items} as |
| 726 | bullets. Ordered list items start with @samp{1.} or @samp{1)}. Items | 665 | bullets. Ordered list items start with @samp{1.} or @samp{1)}. Items |
| 727 | belonging to the same list must have the same indentation on the first | 666 | belonging to the same list must have the same indentation on the first |
| 728 | line. In particular, if an ordered list reaches number @samp{10.}, also | 667 | line. In particular, if an ordered list reaches number @samp{10.}, then |
| 729 | the 2--digit numbers must be written left-aligned with the other numbers | 668 | the 2--digit numbers must be written left-aligned with the other numbers |
| 730 | in the list. Indentation also determines the end of a list item. It | 669 | in the list. Indentation also determines the end of a list item. It |
| 731 | ends before the next line that is indented like the bullet/number, or | 670 | ends before the next line that is indented like the bullet/number, or |
| @@ -792,12 +731,13 @@ Emacs @file{calc} package. | |||
| 792 | 731 | ||
| 793 | @menu | 732 | @menu |
| 794 | * Built-in table editor:: Simple tables | 733 | * Built-in table editor:: Simple tables |
| 734 | * Narrow columns:: Stop wasting space in tables | ||
| 795 | * Table calculations:: Compute a field from other fields | 735 | * Table calculations:: Compute a field from other fields |
| 796 | * orgtbl-mode:: The table editor as minor mode | 736 | * orgtbl-mode:: The table editor as minor mode |
| 797 | * table.el:: Complex tables | 737 | * table.el:: Complex tables |
| 798 | @end menu | 738 | @end menu |
| 799 | 739 | ||
| 800 | @node Built-in table editor, Table calculations, Tables, Tables | 740 | @node Built-in table editor, Narrow columns, Tables, Tables |
| 801 | @section The built-in table editor | 741 | @section The built-in table editor |
| 802 | @cindex table editor, builtin | 742 | @cindex table editor, builtin |
| 803 | 743 | ||
| @@ -826,6 +766,7 @@ create the above table, you would only type | |||
| 826 | |Name|Phone|Age | 766 | |Name|Phone|Age |
| 827 | |- | 767 | |- |
| 828 | @end example | 768 | @end example |
| 769 | |||
| 829 | @noindent and then press @key{TAB} to align the table and start filling in | 770 | @noindent and then press @key{TAB} to align the table and start filling in |
| 830 | fields. | 771 | fields. |
| 831 | 772 | ||
| @@ -840,18 +781,16 @@ unpredictable for you, configure the variables | |||
| 840 | 781 | ||
| 841 | @table @kbd | 782 | @table @kbd |
| 842 | @tsubheading{Creation and conversion} | 783 | @tsubheading{Creation and conversion} |
| 843 | @item M-x org-table-create | 784 | @kindex C-c | |
| 844 | Creates an empty Org-mode table. However, it is much easier to just | 785 | @item C-c | |
| 845 | start typing, like @kbd{|Name|Phone|Age @key{RET} |- @key{TAB}} | 786 | Convert the active region to table. If every line contains at least one |
| 846 | 787 | TAB character, the function assumes that the material is tab separated. | |
| 847 | @kindex C-c C-c | 788 | If not, lines are split at whitespace into fields. You can use a prefix |
| 848 | @item C-c C-c | 789 | argument to indicate the minimum number of consequtive spaces required |
| 849 | Convert region to table. Works when the cursor is not in an existing | 790 | to indentify a field separator (default: just one).@* |
| 850 | table, and when there is a region defined. If every line contains at | 791 | If there is no active region, this command creates an empty Org-mode |
| 851 | least one TAB character, the function assumes that the material is tab | 792 | table. However, it's easier to just start typing, like |
| 852 | separated. If not, lines are split at whitespace into fields. You | 793 | @kbd{|Name|Phone|Age @key{RET} |- @key{TAB}}. |
| 853 | can use a prefix argument to indicate how many consecutive spaces are | ||
| 854 | at least required to indicate a field separator (default: just one). | ||
| 855 | 794 | ||
| 856 | @tsubheading{Re-aligning and field motion} | 795 | @tsubheading{Re-aligning and field motion} |
| 857 | @kindex C-c C-c | 796 | @kindex C-c C-c |
| @@ -878,7 +817,7 @@ NEWLINE, so it can be used to split a table. | |||
| 878 | @kindex M-@key{right} | 817 | @kindex M-@key{right} |
| 879 | @item M-@key{left} | 818 | @item M-@key{left} |
| 880 | @itemx M-@key{right} | 819 | @itemx M-@key{right} |
| 881 | Move the current column left/right | 820 | Move the current column left/right. |
| 882 | 821 | ||
| 883 | @kindex M-S-@key{left} | 822 | @kindex M-S-@key{left} |
| 884 | @item M-S-@key{left} | 823 | @item M-S-@key{left} |
| @@ -892,7 +831,7 @@ Insert a new column to the left of the cursor position. | |||
| 892 | @kindex M-@key{down} | 831 | @kindex M-@key{down} |
| 893 | @item M-@key{up} | 832 | @item M-@key{up} |
| 894 | @itemx M-@key{down} | 833 | @itemx M-@key{down} |
| 895 | Move the current row up/down | 834 | Move the current row up/down. |
| 896 | 835 | ||
| 897 | @kindex M-S-@key{up} | 836 | @kindex M-S-@key{up} |
| 898 | @item M-S-@key{up} | 837 | @item M-S-@key{up} |
| @@ -940,7 +879,7 @@ prefix ARG may be used to change the number of desired lines. If there | |||
| 940 | is no region, the current field is split at the cursor position and the | 879 | is no region, the current field is split at the cursor position and the |
| 941 | text fragment to the right of the cursor is prepended to the field one | 880 | text fragment to the right of the cursor is prepended to the field one |
| 942 | line down. If there is no region, but you specify a prefix ARG, the | 881 | line down. If there is no region, but you specify a prefix ARG, the |
| 943 | current field gets blank, and the content is appended to the field | 882 | current field is made blank, and the content is appended to the field |
| 944 | above. | 883 | above. |
| 945 | 884 | ||
| 946 | @tsubheading{Calculations} | 885 | @tsubheading{Calculations} |
| @@ -1000,36 +939,87 @@ incremented during copy. This key is also used by CUA-mode | |||
| 1000 | (@pxref{Interaction}). | 939 | (@pxref{Interaction}). |
| 1001 | 940 | ||
| 1002 | @tsubheading{Miscellaneous} | 941 | @tsubheading{Miscellaneous} |
| 1003 | @kindex C-c | | 942 | @kindex C-c ` |
| 1004 | @item C-c | | 943 | @item C-c ` |
| 1005 | Toggle the visibility of vertical lines in tables. The lines are | 944 | Edit the current field in a separate window. This is useful for fields |
| 1006 | still there, only made invisible with a text property. Any @samp{|} | 945 | that are not fully visible (@pxref{Narrow columns}). When called with a |
| 1007 | added by hand will become invisible on the next align. | 946 | @kbd{C-u} prefix, just make the full field visible, so that it can be |
| 947 | edited in place. | ||
| 948 | |||
| 949 | @kindex C-c @key{TAB} | ||
| 950 | @item C-c @key{TAB} | ||
| 951 | This is an alias for @kbd{C-u C-c `} to make the current field fully | ||
| 952 | visible. | ||
| 1008 | 953 | ||
| 1009 | @item M-x org-table-import | 954 | @item M-x org-table-import |
| 1010 | Import a file as a table. The table should be TAB- or whitespace | 955 | Import a file as a table. The table should be TAB- or whitespace |
| 1011 | separated. Useful for example to import an Excel table or data from a | 956 | separated. Useful, for example, to import an Excel table or data from a |
| 1012 | database, because these programs generally can write TAB-separated text | 957 | database, because these programs generally can write TAB-separated text |
| 1013 | files. This command works by inserting the file into the buffer and | 958 | files. This command works by inserting the file into the buffer and |
| 1014 | then converting the region to a table. Any prefix argument is passed on | 959 | then converting the region to a table. Any prefix argument is passed on |
| 1015 | to the converter, which uses it to determine the separator. | 960 | to the converter, which uses it to determine the separator. |
| 1016 | 961 | ||
| 1017 | @item M-x org-table-export | 962 | @item M-x org-table-export |
| 1018 | Export the table as a TAB-separated file. Useful for data exchange with | 963 | Export the table as a TAB-separated file. Useful for data exchange with, |
| 1019 | for example Excel or database programs. | 964 | for example, Excel or database programs. |
| 1020 | 965 | ||
| 1021 | @end table | 966 | @end table |
| 1022 | 967 | ||
| 1023 | If you don't like the automatic table editor because it gets into your | 968 | If you don't like the automatic table editor because it gets in your |
| 1024 | way in lines which you would like to start with @samp{|}, you can turn | 969 | way on lines which you would like to start with @samp{|}, you can turn |
| 1025 | it off with | 970 | it off with |
| 971 | |||
| 1026 | @lisp | 972 | @lisp |
| 1027 | (setq org-enable-table-editor nil) | 973 | (setq org-enable-table-editor nil) |
| 1028 | @end lisp | 974 | @end lisp |
| 975 | |||
| 1029 | @noindent The only table command which then still works is | 976 | @noindent The only table command which then still works is |
| 1030 | @kbd{C-c C-c} to do a manual re-align. | 977 | @kbd{C-c C-c} to do a manual re-align. |
| 1031 | 978 | ||
| 1032 | @node Table calculations, orgtbl-mode, Built-in table editor, Tables | 979 | @node Narrow columns, Table calculations, Built-in table editor, Tables |
| 980 | @section Narrow columns | ||
| 981 | @cindex narrow columns in tables | ||
| 982 | |||
| 983 | The width of columns is automatically determined by the table editor. | ||
| 984 | Sometimes a single field or a few fields need to carry more text, | ||
| 985 | leading to unconveniently wide columns. To limit@footnote{This feature | ||
| 986 | does not work on XEmacs.} the width of a column, one field anywhere in | ||
| 987 | the column must carry the string @samp{<N>} where @samp{N} is an integer | ||
| 988 | specifying the width of the column in characters. The next re-align | ||
| 989 | will then set the width of this column to no more than this value. | ||
| 990 | |||
| 991 | @example | ||
| 992 | |---+------------------------------| |---+--------| | ||
| 993 | | | | | | <6> | | ||
| 994 | | 1 | one | | 1 | one | | ||
| 995 | | 2 | two | ----\ | 2 | two | | ||
| 996 | | 3 | This is a long chunk of text | ----/ | 3 | This=> | | ||
| 997 | | 4 | four | | 4 | four | | ||
| 998 | |---+------------------------------| |---+--------| | ||
| 999 | @end example | ||
| 1000 | |||
| 1001 | @noindent | ||
| 1002 | Fields that are wider become clipped and end in the string @samp{=>}. | ||
| 1003 | Note that the full text is still in the buffer, it is only invisible. | ||
| 1004 | To see the full text, hold the mouse over the field - a tooltip window | ||
| 1005 | will show the full content. To edit such a field, use the command | ||
| 1006 | @kbd{C-c `} (that is @kbd{C-c} followed by the backquote). This will | ||
| 1007 | open a new window with the full field. Edit it and finish with @kbd{C-c | ||
| 1008 | C-c}. | ||
| 1009 | |||
| 1010 | When visiting a file containing a table with narrowed columns, the | ||
| 1011 | necessary character hiding has not yet happened, and the table needs to | ||
| 1012 | be aligned before it looks nice. Setting the option | ||
| 1013 | @code{org-startup-align-all-tables} will realign all tables in a file | ||
| 1014 | upon visiting, but also slow down startup. You can also set this option | ||
| 1015 | on a per-file basis with: | ||
| 1016 | |||
| 1017 | @example | ||
| 1018 | #+STARTUP: align | ||
| 1019 | #+STARTUP: noalign | ||
| 1020 | @end example | ||
| 1021 | |||
| 1022 | @node Table calculations, orgtbl-mode, Narrow columns, Tables | ||
| 1033 | @section Calculations in tables | 1023 | @section Calculations in tables |
| 1034 | @cindex calculations, in tables | 1024 | @cindex calculations, in tables |
| 1035 | @cindex spreadsheet capabilities | 1025 | @cindex spreadsheet capabilities |
| @@ -1062,9 +1052,9 @@ recalculation can be automated. | |||
| 1062 | 1052 | ||
| 1063 | A formula can be any algebraic expression understood by the Emacs | 1053 | A formula can be any algebraic expression understood by the Emacs |
| 1064 | @file{calc} package. Note that @file{calc} has the slightly | 1054 | @file{calc} package. Note that @file{calc} has the slightly |
| 1065 | non-standard conversion that @samp{/} has lower precedence than | 1055 | non-standard convention that @samp{/} has lower precedence than |
| 1066 | @samp{*}, so that @samp{a/b*c} is interpreted as @samp{a/(b*c)}. Before | 1056 | @samp{*}, so that @samp{a/b*c} is interpreted as @samp{a/(b*c)}. Before |
| 1067 | evaluation by @code{calc-eval} (@pxref{Calling Calc from Your | 1057 | evaluation by @code{calc-eval} (@pxref{Calling Calc from Your Lisp |
| 1068 | Programs,calc-eval,Calling calc from Your Lisp Programs,calc,GNU Emacs | 1058 | Programs,calc-eval,Calling calc from Your Lisp Programs,calc,GNU Emacs |
| 1069 | Calc Manual}), variable substitution takes place: | 1059 | Calc Manual}), variable substitution takes place: |
| 1070 | 1060 | ||
| @@ -1091,7 +1081,7 @@ constant. Constants are defined globally through the variable | |||
| 1091 | @code{org-table-formula-constants}. If you have the | 1081 | @code{org-table-formula-constants}. If you have the |
| 1092 | @file{constants.el} package, it will also be used to resolve | 1082 | @file{constants.el} package, it will also be used to resolve |
| 1093 | constants, including natural constants like @samp{$h} for Planck's | 1083 | constants, including natural constants like @samp{$h} for Planck's |
| 1094 | constant, units like @samp{$km} for kilometers. Column names and | 1084 | constant, and units like @samp{$km} for kilometers. Column names and |
| 1095 | parameters can be specified in special table lines. These are | 1085 | parameters can be specified in special table lines. These are |
| 1096 | described below, see @ref{Advanced features}. | 1086 | described below, see @ref{Advanced features}. |
| 1097 | 1087 | ||
| @@ -1106,10 +1096,11 @@ The default settings can be configured using the variable | |||
| 1106 | @code{org-calc-default-modes}.} during execution, e.g. @samp{p20} to | 1096 | @code{org-calc-default-modes}.} during execution, e.g. @samp{p20} to |
| 1107 | switch the internal precision to 20 digits, @samp{n3}, @samp{s3}, | 1097 | switch the internal precision to 20 digits, @samp{n3}, @samp{s3}, |
| 1108 | @samp{e2} or @samp{f4} to switch to normal, scientific, engineering, | 1098 | @samp{e2} or @samp{f4} to switch to normal, scientific, engineering, |
| 1109 | or fix display format, respectively, and @samp{D}, @samp{R}, @samp{F}, | 1099 | or fixed display format, respectively, and @samp{D}, @samp{R}, @samp{F}, |
| 1110 | and @samp{S} to turn on degrees, radians, fraction and symbolic modes, | 1100 | and @samp{S} to turn on degrees, radians, fraction and symbolic modes, |
| 1111 | respectively. In addition, you may provide a @code{printf} format | 1101 | respectively. In addition, you may provide a @code{printf} format |
| 1112 | specifier to reformat the final result. A few examples: | 1102 | specifier to reformat the final result. A few examples: |
| 1103 | |||
| 1113 | @example | 1104 | @example |
| 1114 | $1+$2 @r{Sum of first and second field} | 1105 | $1+$2 @r{Sum of first and second field} |
| 1115 | $1+$2;%.2f @r{Same, format result to two decimals} | 1106 | $1+$2;%.2f @r{Same, format result to two decimals} |
| @@ -1120,7 +1111,7 @@ specifier to reformat the final result. A few examples: | |||
| 1120 | tan($1);Dp3s1 @r{Compute in degrees, precision 3, display SCI 1} | 1111 | tan($1);Dp3s1 @r{Compute in degrees, precision 3, display SCI 1} |
| 1121 | sin($1);Dp3%.1e @r{Same, but use printf specifier for display} | 1112 | sin($1);Dp3%.1e @r{Same, but use printf specifier for display} |
| 1122 | vmean($2..$7) @r{Compute column range mean, using vector function} | 1113 | vmean($2..$7) @r{Compute column range mean, using vector function} |
| 1123 | vsum(&III) @r{Sum numbers from 3rd hline above to here} | 1114 | vsum(&III) @r{Sum numbers from 3rd hline above, up to here} |
| 1124 | taylor($3,x=7,2) @r{taylor series of $3, at x=7, second degree} | 1115 | taylor($3,x=7,2) @r{taylor series of $3, at x=7, second degree} |
| 1125 | @end example | 1116 | @end example |
| 1126 | 1117 | ||
| @@ -1164,12 +1155,13 @@ header. | |||
| 1164 | @node Advanced features, Named-field formulas, Column formulas, Table calculations | 1155 | @node Advanced features, Named-field formulas, Column formulas, Table calculations |
| 1165 | @subsection Advanced features | 1156 | @subsection Advanced features |
| 1166 | 1157 | ||
| 1167 | If you want want the recalculation of fields to happen automatically, | 1158 | If you want the recalculation of fields to happen automatically, |
| 1168 | or if you want to be able to assign a formula to an individual field | 1159 | or if you want to be able to assign a formula to an individual field |
| 1169 | (instead of an entire column) you need to reserve the first column of | 1160 | (instead of an entire column) you need to reserve the first column of |
| 1170 | the table for special marking characters. Here is an example of a | 1161 | the table for special marking characters. Here is an example of a |
| 1171 | table that collects exam results of students and makes use of these | 1162 | table that collects exam results of students and makes use of these |
| 1172 | features: | 1163 | features: |
| 1164 | |||
| 1173 | @example | 1165 | @example |
| 1174 | @group | 1166 | @group |
| 1175 | |---+---------+--------+--------+--------+-------+------| | 1167 | |---+---------+--------+--------+--------+-------+------| |
| @@ -1192,7 +1184,7 @@ features: | |||
| 1192 | @end example | 1184 | @end example |
| 1193 | 1185 | ||
| 1194 | @noindent @b{Important}: Please note that for these special tables, | 1186 | @noindent @b{Important}: Please note that for these special tables, |
| 1195 | recalculating the table with @kbd{C-u C-c *} does only affect rows | 1187 | recalculating the table with @kbd{C-u C-c *} will only affect rows |
| 1196 | which are marked @samp{#} or @samp{*}, and named fields. The column | 1188 | which are marked @samp{#} or @samp{*}, and named fields. The column |
| 1197 | formulas are not applied in rows with empty first field. | 1189 | formulas are not applied in rows with empty first field. |
| 1198 | 1190 | ||
| @@ -1209,7 +1201,7 @@ the value @samp{10}. Also, named fields can have their own formula | |||
| 1209 | associated with them. | 1201 | associated with them. |
| 1210 | @item _ | 1202 | @item _ |
| 1211 | Similar to @samp{^}, but defines names for the fields in the row | 1203 | Similar to @samp{^}, but defines names for the fields in the row |
| 1212 | @emph{below}. | 1204 | @emph{below}. |
| 1213 | @item $ | 1205 | @item $ |
| 1214 | Fields in this row can define @emph{parameters} for formulas. For | 1206 | Fields in this row can define @emph{parameters} for formulas. For |
| 1215 | example, if a field in a @samp{$} row contains @samp{max=50}, then | 1207 | example, if a field in a @samp{$} row contains @samp{max=50}, then |
| @@ -1226,8 +1218,8 @@ lines will be left alone by this command. | |||
| 1226 | Selects this line for global recalculation with @kbd{C-u C-c *}, but | 1218 | Selects this line for global recalculation with @kbd{C-u C-c *}, but |
| 1227 | not for automatic recalculation. Use this when automatic | 1219 | not for automatic recalculation. Use this when automatic |
| 1228 | recalculation slows down editing too much. | 1220 | recalculation slows down editing too much. |
| 1229 | @item | 1221 | @item |
| 1230 | Unmarked lines are exempted from recalculation with @kbd{C-u C-c *}. | 1222 | Unmarked lines are exempt from recalculation with @kbd{C-u C-c *}. |
| 1231 | All lines that should be recalculated should be marked with @samp{#} | 1223 | All lines that should be recalculated should be marked with @samp{#} |
| 1232 | or @samp{*}. | 1224 | or @samp{*}. |
| 1233 | @end table | 1225 | @end table |
| @@ -1240,7 +1232,7 @@ or @samp{*}. | |||
| 1240 | A named field can have its own formula associated with it. In the | 1232 | A named field can have its own formula associated with it. In the |
| 1241 | example above, this is used for the @samp{at} field that contains | 1233 | example above, this is used for the @samp{at} field that contains |
| 1242 | the average result of the students. To enter a formula for a named | 1234 | the average result of the students. To enter a formula for a named |
| 1243 | field, just type it onto the buffer, preceded by @samp{:=}. Or use | 1235 | field, just type it into the buffer, preceded by @samp{:=}. Or use |
| 1244 | @kbd{C-u C-c =}. This equation will be stored below the table like | 1236 | @kbd{C-u C-c =}. This equation will be stored below the table like |
| 1245 | @samp{$name=...}. Any recalculation in the table (even if only | 1237 | @samp{$name=...}. Any recalculation in the table (even if only |
| 1246 | requested for the current line) will also update all named field | 1238 | requested for the current line) will also update all named field |
| @@ -1251,9 +1243,9 @@ formulas. | |||
| 1251 | @cindex formula editing | 1243 | @cindex formula editing |
| 1252 | @cindex editing, of table formulas | 1244 | @cindex editing, of table formulas |
| 1253 | 1245 | ||
| 1254 | To edit a column or field formula, you can use the commands @kbd{C-c | 1246 | To edit a column or field formula, use the commands @kbd{C-c |
| 1255 | =} and @kbd{C-u C-c =}, respectively. The currently active expression | 1247 | =} and @kbd{C-u C-c =}, respectively. The currently active expression |
| 1256 | is then presented as default in the minibuffer, were it may be edited. | 1248 | is then presented as default in the minibuffer, where it may be edited. |
| 1257 | 1249 | ||
| 1258 | Note that making a table field blank does not remove the formula | 1250 | Note that making a table field blank does not remove the formula |
| 1259 | associated with the field - during the next recalculation the field | 1251 | associated with the field - during the next recalculation the field |
| @@ -1264,7 +1256,7 @@ give an empty reply when prompted for the formula, or to edit the | |||
| 1264 | @kindex C-c C-c | 1256 | @kindex C-c C-c |
| 1265 | You may edit the @samp{#+TBLFM} directly and re-apply | 1257 | You may edit the @samp{#+TBLFM} directly and re-apply |
| 1266 | the changed equations with @kbd{C-c C-c} in that line, or with the | 1258 | the changed equations with @kbd{C-c C-c} in that line, or with the |
| 1267 | normal recalculation commands in the table. | 1259 | normal recalculation commands in the table. |
| 1268 | 1260 | ||
| 1269 | @kindex C-c ' | 1261 | @kindex C-c ' |
| 1270 | @kindex C-c C-c | 1262 | @kindex C-c C-c |
| @@ -1283,8 +1275,8 @@ installing the changes. | |||
| 1283 | When the evaluation of a formula leads to an error, the field content | 1275 | When the evaluation of a formula leads to an error, the field content |
| 1284 | becomes the string @samp{#ERROR}. If you would like see what is going | 1276 | becomes the string @samp{#ERROR}. If you would like see what is going |
| 1285 | on during variable substitution and calculation in order to find a | 1277 | on during variable substitution and calculation in order to find a |
| 1286 | bug, turn on formula debugging in the menu and repeat the calculation | 1278 | bug, turn on formula debugging in the menu and repeat the calculation, |
| 1287 | by pressing, for example by pressing @kbd{C-c = @key{RET}} in a field. | 1279 | for example by pressing @kbd{C-c = @key{RET}} in a field. |
| 1288 | Detailed information will be displayed. | 1280 | Detailed information will be displayed. |
| 1289 | 1281 | ||
| 1290 | @node Appetizer, , Editing/debugging formulas, Table calculations | 1282 | @node Appetizer, , Editing/debugging formulas, Table calculations |
| @@ -1320,6 +1312,7 @@ might want to use it also in other modes like text-mode or mail-mode. | |||
| 1320 | The minor mode Orgtbl-mode makes this possible. You can always toggle | 1312 | The minor mode Orgtbl-mode makes this possible. You can always toggle |
| 1321 | the mode with @kbd{M-x orgtbl-mode}. To turn it on by default, for | 1313 | the mode with @kbd{M-x orgtbl-mode}. To turn it on by default, for |
| 1322 | example in mail mode, use | 1314 | example in mail mode, use |
| 1315 | |||
| 1323 | @lisp | 1316 | @lisp |
| 1324 | (add-hook 'mail-mode-hook 'turn-on-orgtbl) | 1317 | (add-hook 'mail-mode-hook 'turn-on-orgtbl) |
| 1325 | @end lisp | 1318 | @end lisp |
| @@ -1362,46 +1355,81 @@ Just like HMTL, Org-mode provides links inside a file, and external | |||
| 1362 | links to other files, Usenet articles, emails and much more. | 1355 | links to other files, Usenet articles, emails and much more. |
| 1363 | 1356 | ||
| 1364 | @menu | 1357 | @menu |
| 1365 | * Internal Links:: Links to other places in the current file | 1358 | * Link format:: How links in Org-mode are formatted |
| 1366 | * External Links:: URL-like links to the world | 1359 | * Internal links:: Links to other places in the current file |
| 1360 | * External links:: URL-like links to the world | ||
| 1367 | * Managing links:: Creating, inserting and following | 1361 | * Managing links:: Creating, inserting and following |
| 1368 | * Search Options:: Linking to a specific location | 1362 | * Search Options:: Linking to a specific location |
| 1369 | * Remember:: Org-trees store quick notes | 1363 | * Remember:: Org-trees store quick notes |
| 1370 | @end menu | 1364 | @end menu |
| 1371 | 1365 | ||
| 1372 | @node Internal Links, External Links, Hyperlinks, Hyperlinks | 1366 | @node Link format, Internal links, Hyperlinks, Hyperlinks |
| 1373 | @section Internal Links | 1367 | @section Link format |
| 1368 | @cindex link format | ||
| 1369 | @cindex format, of links | ||
| 1370 | |||
| 1371 | Org-mode will recognize plain URL-like links and activate them as | ||
| 1372 | clickable links. However, the general link format looks like this: | ||
| 1373 | |||
| 1374 | @example | ||
| 1375 | [[link][description]] @r{or alternatively} [[link]] | ||
| 1376 | @end example | ||
| 1377 | |||
| 1378 | Once a link in the buffer is complete (all brackets present), Org-mode | ||
| 1379 | will change the display so that @samp{description} is displayed instead | ||
| 1380 | of @samp{[[link][description]]} and @samp{link} is displayed instead of | ||
| 1381 | @samp{[[link]]}. Links will be highlighted in the face @code{org-link}, | ||
| 1382 | which by default is an underlined face. You can directly edit the | ||
| 1383 | visible part of a link. Note that this can be either the @samp{link} | ||
| 1384 | part (if there is not description) or the @samp{description} part. To | ||
| 1385 | edit also the invisible @samp{link} part, use @kbd{C-c C-l} with the | ||
| 1386 | cursor on the link. | ||
| 1387 | |||
| 1388 | If you place the cursor at the beginning or just behind the end of the | ||
| 1389 | displayed text and press @key{BACKSPACE}, you will remove the | ||
| 1390 | (invisible) bracket at that location. This makes the link incomplete | ||
| 1391 | and the internals are again displayed as plain text. Inserting the | ||
| 1392 | missing bracket does hide the link internals again. To show the | ||
| 1393 | internal structure of all links, use the menu entry | ||
| 1394 | @code{Org->Hyperlinks->Literal links}. | ||
| 1395 | |||
| 1396 | @node Internal links, External links, Link format, Hyperlinks | ||
| 1397 | @section Internal links | ||
| 1374 | @cindex internal links | 1398 | @cindex internal links |
| 1375 | @cindex links, internal | 1399 | @cindex links, internal |
| 1376 | @cindex CamelCase links | 1400 | @cindex CamelCase links |
| 1377 | 1401 | ||
| 1378 | Strings inside double brackets like @samp{[[My Target]]} are links | 1402 | If the link text does not look like a URL, links are considered to be |
| 1379 | that lead to a text search in the current file. The link can be | 1403 | internal in the current file. Links such as @samp{[[My Target]]} or |
| 1380 | followed with @kbd{C-c C-o} or with a mouse click (@pxref{Managing | 1404 | @samp{[[My Target][Find my target]]} lead to a text search in the |
| 1381 | links}). The preferred match for such a link is a dedicated target: | 1405 | current file. The link can be followed with @kbd{C-c C-o} when the |
| 1382 | The same string in double angular brackets. Targets may be located | 1406 | cursor is on the link, or with a mouse click (@pxref{Managing links}). |
| 1383 | anywhere, often it is convenient to put them into a comment line, for | 1407 | The preferred match for such a link is a dedicated target: The same |
| 1384 | example | 1408 | string in double angular brackets. Targets may be located anywhere, |
| 1409 | often it is convenient to put them into a comment line, for example | ||
| 1410 | |||
| 1385 | @example | 1411 | @example |
| 1386 | # <<My Target>> | 1412 | # <<My Target>> |
| 1387 | @end example | 1413 | @end example |
| 1388 | 1414 | ||
| 1389 | If no dedicated target exists, Org-mode will search for the words in | 1415 | If no dedicated target exists, Org-mode will search for the words in the |
| 1390 | the link, in the above example for @samp{my target}. Links starting | 1416 | link, often removing the need for a dedicated target. In the above |
| 1391 | with a star like @samp{*My Target} restrict the search to headlines. | 1417 | example the search would be for @samp{my target}. Links starting with a |
| 1392 | When searching, Org-mode will first try an exact match, but then move | 1418 | star like @samp{*My Target} restrict the search to headlines. When |
| 1393 | on to more and more lenient searches. For example, the link | 1419 | searching, Org-mode will first try an exact match, but then move on to |
| 1394 | @samp{[[*My Targets]]} will find any of the following | 1420 | more and more lenient searches. For example, the link @samp{[[*My |
| 1421 | Targets]]} will find any of the following: | ||
| 1422 | |||
| 1395 | @example | 1423 | @example |
| 1396 | ** My targets | 1424 | ** My targets |
| 1397 | ** TODO my targets are bright | 1425 | ** TODO my targets are bright |
| 1398 | ** my 20 targets are | 1426 | ** my 20 targets are |
| 1399 | @end example | 1427 | @end example |
| 1400 | It is therefore often not necessary to set a dedicated target. To | 1428 | |
| 1401 | insert a link targeting a headline, in-buffer completion can be used. | 1429 | To insert a link targeting a headline, in-buffer completion can be used. |
| 1402 | Just type a star followed by a few optional letters into the buffer | 1430 | Just type a star followed by a few optional letters into the buffer and |
| 1403 | and press @kbd{M-@key{TAB}}. All headlines in the current buffer will | 1431 | press @kbd{M-@key{TAB}}. All headlines in the current buffer will be |
| 1404 | be offered as completions. @xref{Managing links}, for more commands | 1432 | offered as completions. @xref{Managing links}, for more commands |
| 1405 | creating links. | 1433 | creating links. |
| 1406 | 1434 | ||
| 1407 | Following a link pushes a mark onto Org-mode's own mark ring. You can | 1435 | Following a link pushes a mark onto Org-mode's own mark ring. You can |
| @@ -1414,7 +1442,7 @@ earlier. | |||
| 1414 | * CamelCase links:: Activating CamelCase words as links | 1442 | * CamelCase links:: Activating CamelCase words as links |
| 1415 | @end menu | 1443 | @end menu |
| 1416 | 1444 | ||
| 1417 | @node Radio targets, CamelCase links, Internal Links, Internal Links | 1445 | @node Radio targets, CamelCase links, Internal links, Internal links |
| 1418 | @subsection Radio targets | 1446 | @subsection Radio targets |
| 1419 | 1447 | ||
| 1420 | You can configure Org-mode to link any occurrences of certain target | 1448 | You can configure Org-mode to link any occurrences of certain target |
| @@ -1427,24 +1455,20 @@ scanned automatically for radio targets only when the file is first | |||
| 1427 | loaded into Emacs. To update the target list during editing, press | 1455 | loaded into Emacs. To update the target list during editing, press |
| 1428 | @kbd{C-c C-c} with the cursor on or at a target. | 1456 | @kbd{C-c C-c} with the cursor on or at a target. |
| 1429 | 1457 | ||
| 1430 | @node CamelCase links, , Radio targets, Internal Links | 1458 | @node CamelCase links, , Radio targets, Internal links |
| 1431 | @subsection CamelCase words as links | 1459 | @subsection CamelCase words as links |
| 1432 | @cindex completion, of CamelCase links | 1460 | @cindex completion, of CamelCase links |
| 1433 | @cindex CamelCase links, completion of | 1461 | @cindex CamelCase links, completion of |
| 1434 | 1462 | ||
| 1435 | As an alternative to @samp{[[...]]} links, Org-mode also supports | 1463 | Org-mode also supports CamelCase words as links. This feature is not |
| 1436 | CamelCase words as links. This feature is not turned on by default | 1464 | turned on by default because of the inconsistencies this system suffers |
| 1437 | because of the occasional inconsistencies this system suffers from. | 1465 | from. To activate CamelCase words as links, you need to customize |
| 1438 | To activate CamelCase words as links, and to make headline completion | 1466 | the option @code{org-activate-links}. A CamelCase word then leads to a |
| 1439 | offer CamelCase version of headlines, the following customization is | 1467 | text search such that @samp{CamelCaseLink} is equivalent to |
| 1440 | needed: | 1468 | @samp{[[camel case link]]}. |
| 1441 | @lisp | ||
| 1442 | (setq org-activate-camels t | ||
| 1443 | org-file-link-context-use-camel-case t) | ||
| 1444 | @end lisp | ||
| 1445 | 1469 | ||
| 1446 | @node External Links, Managing links, Internal Links, Hyperlinks | 1470 | @node External links, Managing links, Internal links, Hyperlinks |
| 1447 | @section External Links | 1471 | @section External links |
| 1448 | @cindex links, external | 1472 | @cindex links, external |
| 1449 | @cindex external links | 1473 | @cindex external links |
| 1450 | @cindex links, external | 1474 | @cindex links, external |
| @@ -1460,39 +1484,46 @@ needed: | |||
| 1460 | @cindex SHELL links | 1484 | @cindex SHELL links |
| 1461 | 1485 | ||
| 1462 | Org-mode supports links to files, websites, Usenet and email messages; | 1486 | Org-mode supports links to files, websites, Usenet and email messages; |
| 1463 | and BBDB database entries. Links are just plain-text URL-like | 1487 | and BBDB database entries. External links are URL-like locators. The |
| 1464 | locators, optionally enclosed by angular brackets. The following list | 1488 | following list shows examples for each link type. |
| 1465 | shows examples for each link type. | ||
| 1466 | 1489 | ||
| 1467 | @example | 1490 | @example |
| 1468 | <http://www.astro.uva.nl/~dominik> @r{on the web} | 1491 | http://www.astro.uva.nl/~dominik @r{on the web} |
| 1469 | <file:/home/dominik/images/jupiter.jpg> @r{file, absolute path} | 1492 | file:/home/dominik/images/jupiter.jpg @r{file, absolute path} |
| 1470 | <file:papers/last.pdf> @r{file, relative path} | 1493 | file:papers/last.pdf @r{file, relative path} |
| 1471 | <news:comp.emacs> @r{Usenet link} | 1494 | news:comp.emacs @r{Usenet link} |
| 1472 | <mailto:adent@@galaxy.net> @r{Mail link} | 1495 | mailto:adent@@galaxy.net @r{Mail link} |
| 1473 | <vm:folder> @r{VM folder link} | 1496 | vm:folder @r{VM folder link} |
| 1474 | <vm:folder#id> @r{VM message link} | 1497 | vm:folder#id @r{VM message link} |
| 1475 | <vm://myself@@some.where.org/folder#id> @r{VM on remote machine} | 1498 | vm://myself@@some.where.org/folder#id @r{VM on remote machine} |
| 1476 | <wl:folder> @r{WANDERLUST folder link} | 1499 | wl:folder @r{WANDERLUST folder link} |
| 1477 | <wl:folder#id> @r{WANDERLUST message link} | 1500 | wl:folder#id @r{WANDERLUST message link} |
| 1478 | <mhe:folder> @r{MH-E folder link} | 1501 | mhe:folder @r{MH-E folder link} |
| 1479 | <mhe:folder#id> @r{MH-E message link} | 1502 | mhe:folder#id @r{MH-E message link} |
| 1480 | <rmail:folder> @r{RMAIL folder link} | 1503 | rmail:folder @r{RMAIL folder link} |
| 1481 | <rmail:folder#id> @r{RMAIL message link} | 1504 | rmail:folder#id @r{RMAIL message link} |
| 1482 | <gnus:group> @r{GNUS group link} | 1505 | gnus:group @r{GNUS group link} |
| 1483 | <gnus:group#id> @r{GNUS article link} | 1506 | gnus:group#id @r{GNUS article link} |
| 1484 | <bbdb:Richard Stallman> @r{BBDB link} | 1507 | bbdb:Richard Stallman @r{BBDB link} |
| 1485 | <shell:ls *.org>@footnote{Note that @samp{<} and @samp{>} cannot be part of a link, and therefore of a shell command. If you need redirection, use @@@{ and @@@} instead.} @r{A shell command} | 1508 | shell:ls *.org @r{A shell command} |
| 1486 | @end example | 1509 | @end example |
| 1487 | 1510 | ||
| 1488 | A link may contain space characters and is terminated by @samp{>} or by | 1511 | A link should be enclosed in double brackets and may contain a |
| 1489 | the end of a line. In tables, the end of a table field also terminates | 1512 | descriptive text to be displayed instead of the url (@pxref{Link |
| 1490 | a link. Angle brackets around a link are not required, but are | 1513 | format}), for example: |
| 1491 | recommended to avoid problems with punctuation and other text following | 1514 | |
| 1492 | the link. See also the variable @code{org-allow-space-in-links}. | 1515 | @example |
| 1516 | [[http://www.gnu.org/software/emacs/][GNU Emacs]] | ||
| 1517 | @end example | ||
| 1493 | 1518 | ||
| 1519 | @cindex angular brackets, around links | ||
| 1520 | @cindex plain text external links | ||
| 1521 | Org-mode also finds external links in the normal text and activates them | ||
| 1522 | as links. If spaces must be part of the link (for example in | ||
| 1523 | @samp{bbdb:Richard Stallman}) or to remove ambiguities about the end of | ||
| 1524 | the link, enclose them in angular brackets. | ||
| 1494 | 1525 | ||
| 1495 | @node Managing links, Search Options, External Links, Hyperlinks | 1526 | @node Managing links, Search Options, External links, Hyperlinks |
| 1496 | @section Managing links | 1527 | @section Managing links |
| 1497 | 1528 | ||
| 1498 | Org-mode provides methods to create a link in the correct syntax, to | 1529 | Org-mode provides methods to create a link in the correct syntax, to |
| @@ -1504,53 +1535,63 @@ insert it into an org-mode file, and to follow the link. | |||
| 1504 | @item C-c l | 1535 | @item C-c l |
| 1505 | Store a link to the current location. This is a @emph{global} command | 1536 | Store a link to the current location. This is a @emph{global} command |
| 1506 | which can be used in any buffer to create a link. The link will be | 1537 | which can be used in any buffer to create a link. The link will be |
| 1507 | stored for later insertion into an Org-mode buffer (see below). For | 1538 | stored for later insertion into an Org-mode buffer (see below). For VM, |
| 1508 | VM, RMAIL, WANDERLUST, GNUS and BBDB buffers, the link will point to | 1539 | RMAIL, WANDERLUST, MH-E, GNUS and BBDB buffers, the link will point to |
| 1509 | the current article/entry. For W3 and W3M buffer, the link goes to | 1540 | the current article/entry. For W3 and W3M buffers, the link goes to the |
| 1510 | the current URL. For Org-mode files, the current headline is | 1541 | current URL. For Org-mode files, the current headline is targeted. For |
| 1511 | targeted. For any other files, the link will point to the file, with | 1542 | any other files, the link will point to the file, with a search string |
| 1512 | a search string (@pxref{Search Options}) pointing to the | 1543 | (@pxref{Search Options}) pointing to the contents of the current line. |
| 1513 | contents of the current line. If there is an active region, the | 1544 | If there is an active region, the selected words will form the basis of |
| 1514 | selected words will form the basis of the search string. The key | 1545 | the search string. The key binding @kbd{C-c l} is only a suggestion - |
| 1515 | binding @kbd{C-c l} is only a suggestion - see @ref{Installation and | 1546 | see @ref{Installation and activation}. |
| 1516 | Activation}. | ||
| 1517 | 1547 | ||
| 1518 | @kindex C-c C-l | 1548 | @kindex C-c C-l |
| 1519 | @cindex link completion | 1549 | @cindex link completion |
| 1520 | @cindex file name completion | ||
| 1521 | @cindex completion, of links | 1550 | @cindex completion, of links |
| 1522 | @cindex completion, of file names | ||
| 1523 | @cindex inserting links | 1551 | @cindex inserting links |
| 1524 | @item C-c C-l | 1552 | @item C-c C-l |
| 1525 | Insert a link. This prompts for a link to be inserted into the | 1553 | Insert a link. This prompts for a link to be inserted into the buffer. |
| 1526 | buffer. You can just type a link, using one of the link type prefixes | 1554 | You can just type a link, using text for an internal link, or one of the |
| 1527 | mentioned in the examples above. Through completion, all links stored | 1555 | link type prefixes mentioned in the examples above. Through completion, |
| 1528 | during the current session can be accessed. When called with prefix | 1556 | all links stored during the current session can be accessed. The link |
| 1529 | arg, you can use file name completion to enter a file link. The link | ||
| 1530 | will be formatted as given in the variable @code{org-link-format} and | 1557 | will be formatted as given in the variable @code{org-link-format} and |
| 1531 | inserted into the buffer. Note that you don't have to use this | 1558 | inserted into the buffer, along with a descriptive text. Note that you |
| 1532 | command to insert a link. Links in Org-mode are plain text, and you | 1559 | don't have to use this command to insert a link. Links in Org-mode are |
| 1533 | can type or paste them straight into the buffer. | 1560 | plain text, and you can type or paste them straight into the buffer. |
| 1561 | By using this command, the links are automatically enclosed in double | ||
| 1562 | brackets, and you will be asked for the optional descriptive text. | ||
| 1563 | |||
| 1564 | @kindex C-u C-c C-l | ||
| 1565 | @cindex file name completion | ||
| 1566 | @cindex completion, of file names | ||
| 1567 | @item C-u C-c C-l | ||
| 1568 | When @kbd{C-c C-l} is called with a @kbd{C-u} prefix argument, a link to | ||
| 1569 | a file will be inserted and you may use file name completion to select | ||
| 1570 | the name of the file. The path to the file is inserted relative to the | ||
| 1571 | directory of the current org file, if the linked file is in the current | ||
| 1572 | directory or in a subdirectory of it. Otherwise an absolute path, if | ||
| 1573 | possible with @samp{~/} for your home directory is used. You can force | ||
| 1574 | an absolute path with two @kbd{C-u} prefixes. | ||
| 1575 | |||
| 1576 | @item C-c C-l @r{with cursor on existing link} | ||
| 1577 | When the cursor is on an existing link, @kbd{C-c C-l} allows to edit the | ||
| 1578 | link and description parts of the link. | ||
| 1534 | 1579 | ||
| 1535 | @cindex following links | 1580 | @cindex following links |
| 1536 | @kindex C-c C-o | 1581 | @kindex C-c C-o |
| 1537 | @item C-c C-o | 1582 | @item C-c C-o |
| 1538 | Open link at point. This will launch a web browser for URLs (using | 1583 | Open link at point. This will launch a web browser for URLs (using |
| 1539 | @command{browse-url-at-point}), run vm/gnus/bbdb for the corresponding | 1584 | @command{browse-url-at-point}), run vm/mh-e/wanderlust/rmail/gnus/bbdb |
| 1540 | links, and execute the command in a shell link. When the cursor is on | 1585 | for the corresponding links, and execute the command in a shell link. |
| 1541 | a CamelCase link, this commands runs the corresponding search. When | 1586 | When the cursor is on an internal link, this commands runs the |
| 1542 | the cursor is on a TAGS list in a headline, it creates the | 1587 | corresponding search. When the cursor is on a TAGS list in a headline, |
| 1543 | corresponding TAGS view. Furthermore, it will visit text files in | 1588 | it creates the corresponding TAGS view. If the cursor is on a time |
| 1544 | @samp{file:} links with Emacs and select a suitable application for | 1589 | stamp, it compiles the agenda for that date. Furthermore, it will visit |
| 1545 | non-text files. Classification of files is based on file extension | 1590 | text files in @samp{file:} links with Emacs and select a suitable |
| 1546 | only. See option @code{org-file-apps}. If there is no link at point, | 1591 | application for non-text files. Classification of files is based on |
| 1547 | the current subtree will be searched for one. If you want to override | 1592 | file extension only. See option @code{org-file-apps}. If you want to |
| 1548 | the default application and visit the file with Emacs, use a @kbd{C-u} | 1593 | override the default application and visit the file with Emacs, use a |
| 1549 | prefix. If the cursor is on a time stamp, compiles the agenda for | 1594 | @kbd{C-u} prefix. |
| 1550 | that date. | ||
| 1551 | |||
| 1552 | @strong{IMPORTANT}: Be careful not to use any dangerous commands in a | ||
| 1553 | shell link. | ||
| 1554 | 1595 | ||
| 1555 | @kindex mouse-2 | 1596 | @kindex mouse-2 |
| 1556 | @kindex mouse-1 | 1597 | @kindex mouse-1 |
| @@ -1589,12 +1630,14 @@ particular location in the file when following a link. This can be a | |||
| 1589 | line number or a search option after a double@footnote{For backward | 1630 | line number or a search option after a double@footnote{For backward |
| 1590 | compatibility, line numbers can also follow a single colon.} colon. | 1631 | compatibility, line numbers can also follow a single colon.} colon. |
| 1591 | For example: | 1632 | For example: |
| 1633 | |||
| 1592 | @example | 1634 | @example |
| 1593 | <file:~/code/main.c::255> | 1635 | [[file:~/code/main.c::255]] |
| 1594 | <file:~/xx.org::My Target> | 1636 | [[file:~/xx.org::My Target]] |
| 1595 | <file:~/xx.org::*My Target> | 1637 | [[file:~/xx.org::*My Target]] |
| 1596 | <file:~/xx.org::/regexp/> | 1638 | [[file:~/xx.org::/regexp/]] |
| 1597 | @end example | 1639 | @end example |
| 1640 | |||
| 1598 | @noindent Here is what these options do. | 1641 | @noindent Here is what these options do. |
| 1599 | 1642 | ||
| 1600 | @table @code | 1643 | @table @code |
| @@ -1603,7 +1646,7 @@ Jump to line 255. | |||
| 1603 | @item My Target | 1646 | @item My Target |
| 1604 | Search for a link target @samp{<<My Target>>}, or do a text search for | 1647 | Search for a link target @samp{<<My Target>>}, or do a text search for |
| 1605 | @samp{my target}, similar to the search in internal links, see | 1648 | @samp{my target}, similar to the search in internal links, see |
| 1606 | @ref{Internal Links}. | 1649 | @ref{Internal links}. |
| 1607 | @item *My Target | 1650 | @item *My Target |
| 1608 | In an Org-mode file, restrict search to headlines. | 1651 | In an Org-mode file, restrict search to headlines. |
| 1609 | @item /regexp/ | 1652 | @item /regexp/ |
| @@ -1632,29 +1675,65 @@ information. The notes produced by @emph{Remember} can be stored in | |||
| 1632 | different ways, and Org-mode files are a good target. Org-mode allows | 1675 | different ways, and Org-mode files are a good target. Org-mode allows |
| 1633 | to file away notes either to a default file, or directly to the | 1676 | to file away notes either to a default file, or directly to the |
| 1634 | correct location in your Org-mode outline tree. The following | 1677 | correct location in your Org-mode outline tree. The following |
| 1635 | customization@footnote{The two autoload forms are only necessary if | 1678 | customization@footnote{The three autoload forms are only necessary if |
| 1636 | @file{org.el} is not part of the Emacs distribution or an XEmacs | 1679 | @file{org.el} is not part of the Emacs distribution or an XEmacs |
| 1637 | package.} will tell @emph{Remember} to use org files as target, and to | 1680 | package.} will tell @emph{Remember} to use org files as target, and to |
| 1638 | create annotations compatible with Org-mode links. | 1681 | create annotations compatible with Org-mode links. |
| 1639 | 1682 | ||
| 1640 | @example | 1683 | @example |
| 1641 | (autoload 'org-remember-annotation "org") | ||
| 1642 | (autoload 'org-remember-handler "org") | ||
| 1643 | (setq org-directory "~/path/to/my/orgfiles/") | 1684 | (setq org-directory "~/path/to/my/orgfiles/") |
| 1644 | (setq org-default-notes-file "~/.notes") | 1685 | (setq org-default-notes-file "~/.notes") |
| 1686 | (autoload 'org-remember-annotation "org") | ||
| 1687 | (autoload 'org-remember-apply-template "org") | ||
| 1688 | (autoload 'org-remember-handler "org") | ||
| 1645 | (setq remember-annotation-functions '(org-remember-annotation)) | 1689 | (setq remember-annotation-functions '(org-remember-annotation)) |
| 1646 | (setq remember-handler-functions '(org-remember-handler)) | 1690 | (setq remember-handler-functions '(org-remember-handler)) |
| 1691 | (add-hook 'remember-mode-hook 'org-remember-apply-template) | ||
| 1692 | @end example | ||
| 1693 | |||
| 1694 | @cindex templates, for remember | ||
| 1695 | In combination with Org-mode, you can use templates to generate | ||
| 1696 | different types of remember notes. For example, if you would like to | ||
| 1697 | use one template to create general TODO entries, and another one for | ||
| 1698 | journal entries, you could use: | ||
| 1699 | |||
| 1700 | @example | ||
| 1701 | (setq org-remember-templates | ||
| 1702 | '((?t "* TODO %?\n %i\n %a" "~/org/TODO.org") | ||
| 1703 | (?j "* %U %?\n\n %i\n %a" "~/org/JOURNAL.org"))) | ||
| 1647 | @end example | 1704 | @end example |
| 1648 | 1705 | ||
| 1649 | When you compose a note with remember, you have to press @kbd{C-c C-c} | 1706 | @noindent In these entries, the character specifies how to select the |
| 1650 | to exit remember-mode and to file away the note. The handler first | 1707 | template, the first string specifies the template, and the (optional) |
| 1651 | prompts for a target file - if you press @key{RET}, the value of | 1708 | second string specifies a default file (overruling |
| 1709 | @code{org-default-notes-file}) as a target for this note. | ||
| 1710 | |||
| 1711 | When you call @kbd{M-x remember} to remember something, org will prompt | ||
| 1712 | for a key to select the template and then prepare the buffer like | ||
| 1713 | @example | ||
| 1714 | * TODO | ||
| 1715 | <file:link to where you called remember> | ||
| 1716 | @end example | ||
| 1717 | |||
| 1718 | @noindent or | ||
| 1719 | |||
| 1720 | @example | ||
| 1721 | * [2006-03-21 Tue 15:37] | ||
| 1722 | |||
| 1723 | <file:link to where you called remember> | ||
| 1724 | @end example | ||
| 1725 | |||
| 1726 | @noindent See the variable @code{org-remember-templates} for more details. | ||
| 1727 | |||
| 1728 | When you are finished composing a note with remember, you have to press | ||
| 1729 | @kbd{C-c C-c} to file the note away. The handler first prompts for a | ||
| 1730 | target file - if you press @key{RET}, the value of | ||
| 1652 | @code{org-default-notes-file} is used. Then the command offers the | 1731 | @code{org-default-notes-file} is used. Then the command offers the |
| 1653 | headings tree of the selected file. You can either immediately press | 1732 | headings tree of the selected file. You can either immediately press |
| 1654 | @key{RET} to get the note appended to the file. Or you can use | 1733 | @key{RET} to get the note appended to the file. Or you can use vertical |
| 1655 | vertical cursor motion (@key{up} and @key{down}) and visibility | 1734 | cursor motion (@key{up} and @key{down}) and visibility cycling |
| 1656 | cycling (@key{TAB}) to find a better place. Pressing @key{RET} or | 1735 | (@key{TAB}) to find a better place. Pressing @key{RET} or @key{left} or |
| 1657 | @key{left} or @key{right} leads to the following result. | 1736 | @key{right} leads to the following result. |
| 1658 | 1737 | ||
| 1659 | @multitable @columnfractions 0.2 0.1 0.7 | 1738 | @multitable @columnfractions 0.2 0.1 0.7 |
| 1660 | @item @b{Cursor position} @tab @b{Key} @tab @b{Note gets inserted} | 1739 | @item @b{Cursor position} @tab @b{Key} @tab @b{Note gets inserted} |
| @@ -1680,6 +1759,7 @@ additional data. If the variable @code{org-adapt-indentation} is | |||
| 1680 | non-nil, the entire text is also indented so that it starts in the | 1759 | non-nil, the entire text is also indented so that it starts in the |
| 1681 | same column as the headline (after the asterisks). | 1760 | same column as the headline (after the asterisks). |
| 1682 | 1761 | ||
| 1762 | |||
| 1683 | @node TODO items, Timestamps, Hyperlinks, Top | 1763 | @node TODO items, Timestamps, Hyperlinks, Top |
| 1684 | @chapter TODO items | 1764 | @chapter TODO items |
| 1685 | @cindex TODO items | 1765 | @cindex TODO items |
| @@ -1697,16 +1777,16 @@ things you have to do. | |||
| 1697 | 1777 | ||
| 1698 | @menu | 1778 | @menu |
| 1699 | * TODO basics:: Marking and displaying TODO entries | 1779 | * TODO basics:: Marking and displaying TODO entries |
| 1700 | * Progress Logging:: Document your productivity | 1780 | * Progress logging:: Document your productivity |
| 1701 | * TODO extensions:: Workflow and assignments | 1781 | * TODO extensions:: Workflow and assignments |
| 1702 | * Priorities:: Some things are more important than others | 1782 | * Priorities:: Some things are more important than others |
| 1703 | @end menu | 1783 | @end menu |
| 1704 | 1784 | ||
| 1705 | @node TODO basics, Progress Logging, TODO items, TODO items | 1785 | @node TODO basics, Progress logging, TODO items, TODO items |
| 1706 | @section Basic TODO functionality | 1786 | @section Basic TODO functionality |
| 1707 | 1787 | ||
| 1708 | Any headline can become a TODO item by starting it with the word TODO, | 1788 | Any headline can become a TODO item by starting it with the word TODO, |
| 1709 | for example | 1789 | for example: |
| 1710 | 1790 | ||
| 1711 | @example | 1791 | @example |
| 1712 | *** TODO Write letter to Sam Fortune | 1792 | *** TODO Write letter to Sam Fortune |
| @@ -1720,10 +1800,12 @@ The most important commands to work with TODO entries are: | |||
| 1720 | @cindex cycling, of TODO states | 1800 | @cindex cycling, of TODO states |
| 1721 | @item C-c C-t | 1801 | @item C-c C-t |
| 1722 | Rotate the TODO state of the current item between | 1802 | Rotate the TODO state of the current item between |
| 1803 | |||
| 1723 | @example | 1804 | @example |
| 1724 | ,-> (unmarked) -> TODO -> DONE --. | 1805 | ,-> (unmarked) -> TODO -> DONE --. |
| 1725 | '--------------------------------' | 1806 | '--------------------------------' |
| 1726 | @end example | 1807 | @end example |
| 1808 | |||
| 1727 | The same rotation can also be done ``remotely'' from the timeline and | 1809 | The same rotation can also be done ``remotely'' from the timeline and |
| 1728 | agenda buffers with the @kbd{t} command key (@pxref{Agenda commands}). | 1810 | agenda buffers with the @kbd{t} command key (@pxref{Agenda commands}). |
| 1729 | @kindex C-c C-v | 1811 | @kindex C-c C-v |
| @@ -1746,15 +1828,17 @@ If you would like to have all your TODO items listed as part of your | |||
| 1746 | agenda, customize the variable @code{org-agenda-include-all-todo}. | 1828 | agenda, customize the variable @code{org-agenda-include-all-todo}. |
| 1747 | @end table | 1829 | @end table |
| 1748 | 1830 | ||
| 1749 | @node Progress Logging, TODO extensions, TODO basics, TODO items | 1831 | @node Progress logging, TODO extensions, TODO basics, TODO items |
| 1750 | @section Progress Logging | 1832 | @section Progress Logging |
| 1751 | @cindex progress logging | 1833 | @cindex progress logging |
| 1752 | @cindex logging, of progress | 1834 | @cindex logging, of progress |
| 1753 | If you want to keep track of @emph{when} a certain TODO item was | 1835 | If you want to keep track of @emph{when} a certain TODO item was |
| 1754 | finished, turn on logging with | 1836 | finished, turn on logging with |
| 1837 | |||
| 1755 | @lisp | 1838 | @lisp |
| 1756 | (setq org-log-done t) | 1839 | (setq org-log-done t) |
| 1757 | @end lisp | 1840 | @end lisp |
| 1841 | |||
| 1758 | @noindent | 1842 | @noindent |
| 1759 | Then each time you turn a TODO entry into DONE using either @kbd{C-c | 1843 | Then each time you turn a TODO entry into DONE using either @kbd{C-c |
| 1760 | C-t} in the Org-mode buffer or @kbd{t} in the agenda buffer, a line | 1844 | C-t} in the Org-mode buffer or @kbd{t} in the agenda buffer, a line |
| @@ -1765,16 +1849,18 @@ state cycling, that line will be removed again. In the timeline | |||
| 1765 | you can then use the @kbd{L} key to display the TODO items closed on | 1849 | you can then use the @kbd{L} key to display the TODO items closed on |
| 1766 | each day, giving you an overview of what has been done on a day. | 1850 | each day, giving you an overview of what has been done on a day. |
| 1767 | 1851 | ||
| 1768 | @node TODO extensions, Priorities, Progress Logging, TODO items | 1852 | @node TODO extensions, Priorities, Progress logging, TODO items |
| 1769 | @section Extended use of TODO keywords | 1853 | @section Extended use of TODO keywords |
| 1770 | @cindex extended TODO keywords | 1854 | @cindex extended TODO keywords |
| 1771 | 1855 | ||
| 1772 | The default implementation of TODO entries is just two states: TODO | 1856 | The default implementation of TODO entries is just two states: TODO and |
| 1773 | and DONE. You can, however, use the TODO feature for more | 1857 | DONE. You can, however, use the TODO feature for more complicated |
| 1774 | complicated things by configuring the variables | 1858 | things by configuring the variables @code{org-todo-keywords} and |
| 1775 | @code{org-todo-keywords} and @code{org-todo-interpretation}. Using | 1859 | @code{org-todo-interpretation}. Using special setup, you can even use |
| 1776 | special setup, you can even use TODO keywords in different ways in | 1860 | TODO keywords in different ways in different org files. |
| 1777 | different org files. | 1861 | |
| 1862 | Note that @i{tags} are another way to classify headlines in general and | ||
| 1863 | TODO items in particular (@pxref{Tags}). | ||
| 1778 | 1864 | ||
| 1779 | @menu | 1865 | @menu |
| 1780 | * Workflow states:: From TODO to DONE in steps | 1866 | * Workflow states:: From TODO to DONE in steps |
| @@ -1788,7 +1874,7 @@ different org files. | |||
| 1788 | @cindex workflow states as TODO keywords | 1874 | @cindex workflow states as TODO keywords |
| 1789 | 1875 | ||
| 1790 | You can use TODO keywords to indicate different states in the process | 1876 | You can use TODO keywords to indicate different states in the process |
| 1791 | of working on an item, for example | 1877 | of working on an item, for example: |
| 1792 | 1878 | ||
| 1793 | @lisp | 1879 | @lisp |
| 1794 | (setq org-todo-keywords '("TODO" "FEEDBACK" "VERIFY" "DONE") | 1880 | (setq org-todo-keywords '("TODO" "FEEDBACK" "VERIFY" "DONE") |
| @@ -1836,7 +1922,7 @@ Use prefix arguments or completion to quickly select a specific name. | |||
| 1836 | You can also review the items of a specific TODO type in a sparse tree | 1922 | You can also review the items of a specific TODO type in a sparse tree |
| 1837 | by using a numeric prefix to @kbd{C-c C-v}. For example, to see all | 1923 | by using a numeric prefix to @kbd{C-c C-v}. For example, to see all |
| 1838 | things Lucy has to do, you would use @kbd{C-3 C-c C-v}. To collect | 1924 | things Lucy has to do, you would use @kbd{C-3 C-c C-v}. To collect |
| 1839 | collect Lucy's items from all agenda files into a single buffer, you | 1925 | Lucy's items from all agenda files into a single buffer, you |
| 1840 | would use the prefix arg as well when creating the global todo list: | 1926 | would use the prefix arg as well when creating the global todo list: |
| 1841 | @kbd{C-3 C-c t}. | 1927 | @kbd{C-3 C-c t}. |
| 1842 | 1928 | ||
| @@ -1922,7 +2008,7 @@ Furthermore, these keys are also used by CUA-mode | |||
| 1922 | (@pxref{Interaction}). | 2008 | (@pxref{Interaction}). |
| 1923 | @end table | 2009 | @end table |
| 1924 | 2010 | ||
| 1925 | @node Timestamps, Agenda Views, TODO items, Top | 2011 | @node Timestamps, Tags, TODO items, Top |
| 1926 | @chapter Timestamps | 2012 | @chapter Timestamps |
| 1927 | 2013 | ||
| 1928 | Items can be labeled with timestamps to make them useful for project | 2014 | Items can be labeled with timestamps to make them useful for project |
| @@ -1945,7 +2031,7 @@ planning. | |||
| 1945 | A time stamp is a specification of a date (possibly with time) in a | 2031 | A time stamp is a specification of a date (possibly with time) in a |
| 1946 | special format, either @samp{<2003-09-16 Tue>} or @samp{<2003-09-16 | 2032 | special format, either @samp{<2003-09-16 Tue>} or @samp{<2003-09-16 |
| 1947 | Tue 09:39>}. A time stamp can appear anywhere in the headline or body | 2033 | Tue 09:39>}. A time stamp can appear anywhere in the headline or body |
| 1948 | of an org-tree entry. Its presence allows to show entries on specific | 2034 | of an org-tree entry. Its presence allows entries to be shown on specific |
| 1949 | dates in the agenda (@pxref{Weekly/Daily Agenda}). We distinguish: | 2035 | dates in the agenda (@pxref{Weekly/Daily Agenda}). We distinguish: |
| 1950 | 2036 | ||
| 1951 | @table @var | 2037 | @table @var |
| @@ -2011,12 +2097,13 @@ this command is used twice in succession, a time range is inserted. | |||
| 2011 | @kindex C-u C-c . | 2097 | @kindex C-u C-c . |
| 2012 | @item C-u C-c . | 2098 | @item C-u C-c . |
| 2013 | Like @kbd{C-c .}, but use the alternative format which contains date | 2099 | Like @kbd{C-c .}, but use the alternative format which contains date |
| 2014 | and time. | 2100 | and time. The default time can be rounded to multiples of 5 minutes, |
| 2101 | see the option @code{org-time-stamp-rounding-minutes}. | ||
| 2015 | 2102 | ||
| 2016 | @kindex C-c ! | 2103 | @kindex C-c ! |
| 2017 | @item C-c ! | 2104 | @item C-c ! |
| 2018 | Like @kbd{C-c .}, but insert an inactive time stamp not triggering the | 2105 | Like @kbd{C-c .}, but insert an inactive time stamp not triggering the |
| 2019 | agenda. | 2106 | agenda. |
| 2020 | 2107 | ||
| 2021 | @kindex C-c < | 2108 | @kindex C-c < |
| 2022 | @item C-c < | 2109 | @item C-c < |
| @@ -2118,18 +2205,123 @@ One month back. | |||
| 2118 | Choose date in calendar (only if nothing typed into minibuffer). | 2205 | Choose date in calendar (only if nothing typed into minibuffer). |
| 2119 | @end table | 2206 | @end table |
| 2120 | 2207 | ||
| 2121 | @node Agenda Views, Exporting, Timestamps, Top | 2208 | @node Tags, Agenda Views, Timestamps, Top |
| 2209 | @chapter Tags | ||
| 2210 | @cindex tags | ||
| 2211 | @cindex headline tagging | ||
| 2212 | @cindex matching, tags | ||
| 2213 | @cindex sparse tree, tag based | ||
| 2214 | |||
| 2215 | If you wish to implement a system to cross-correlate information, an | ||
| 2216 | excellent way is to assign @i{tags} to headline. Org-mode has | ||
| 2217 | extensive support for using tags. | ||
| 2218 | |||
| 2219 | Every headline can contain a list of tags, at the end of the headline. | ||
| 2220 | Tags are normal words containing letters, numbers, @samp{_}, and | ||
| 2221 | @samp{@@}. Tags must be preceded and followed by a single colon; like | ||
| 2222 | @samp{:WORK:}. Several tags can be specified like @samp{:WORK:URGENT:}. | ||
| 2223 | |||
| 2224 | @menu | ||
| 2225 | * Tag inheritance:: Tags use the tree structure of the outline | ||
| 2226 | * Setting tags:: How to assign tags to a headline | ||
| 2227 | * Tag searches:: Searching for combinations of tags | ||
| 2228 | @end menu | ||
| 2229 | |||
| 2230 | @node Tag inheritance, Setting tags, Tags, Tags | ||
| 2231 | @section Tag inheritance | ||
| 2232 | @cindex inheritance, of tags | ||
| 2233 | |||
| 2234 | @i{Tags} make use of the hierarchical structure of outline trees. If a | ||
| 2235 | heading has a certain tag, all subheadings will inherit the tag as | ||
| 2236 | well. For example, in the list | ||
| 2237 | |||
| 2238 | @example | ||
| 2239 | * Meeting with the French group :WORK: | ||
| 2240 | ** Summary by Frank :BOSS:NOTES: | ||
| 2241 | *** TODO Prepare slides for him :ACTION: | ||
| 2242 | @end example | ||
| 2243 | |||
| 2244 | @noindent | ||
| 2245 | the final heading will have the tags @samp{:WORK:}, @samp{:BOSS:}, | ||
| 2246 | @samp{:NOTES:}, and @samp{:ACTION:}. When executing tag searches and | ||
| 2247 | Org-mode finds that a certain headline matches the search criterion, it | ||
| 2248 | will not check any sublevel headline, assuming that these likely also | ||
| 2249 | match, and that the list of matches can become very long. However, this | ||
| 2250 | may not be what you want, and you can influence inheritance and | ||
| 2251 | searching using the variables @code{org-use-tag-inheritance} and | ||
| 2252 | @code{org-tags-match-list-sublevels}. | ||
| 2253 | |||
| 2254 | @node Setting tags, Tag searches, Tag inheritance, Tags | ||
| 2255 | @section Setting tags | ||
| 2256 | @cindex setting tags | ||
| 2257 | |||
| 2258 | @kindex M-@key{TAB} | ||
| 2259 | As Org-mode deals with plain text files, tags can simply be typed into | ||
| 2260 | the buffer. After a colon, @kbd{M-@key{TAB}} offers completion on all | ||
| 2261 | tags being used in the current buffer. There is also a special command | ||
| 2262 | for inserting tags: | ||
| 2263 | |||
| 2264 | @table @kbd | ||
| 2265 | @kindex C-c C-c | ||
| 2266 | @item C-c C-c | ||
| 2267 | @cindex completion, of tags | ||
| 2268 | Enter new tags for the current headline. The minibuffer will prompt for | ||
| 2269 | a list of tags and offer completion with respect to all other tags used | ||
| 2270 | in the current buffer. Several tags, separated by colons, may be | ||
| 2271 | specified at the prompt. After pressing @key{RET}, the tags will be | ||
| 2272 | inserted and aligned to @code{org-tags-column}. When called with a | ||
| 2273 | @kbd{C-u} prefix, all tags in the current buffer will be aligned to that | ||
| 2274 | column, just to make things look nice. TAGS are automatically realigned | ||
| 2275 | after promotion, demotion, and TODO state changes (@pxref{TODO basics}). | ||
| 2276 | @end table | ||
| 2277 | |||
| 2278 | @node Tag searches, , Setting tags, Tags | ||
| 2279 | @section Tag searches | ||
| 2280 | @cindex tag searches | ||
| 2281 | |||
| 2282 | Once a tags system has been set up, it can be used to collect related | ||
| 2283 | information into special lists. | ||
| 2284 | |||
| 2285 | @table @kbd | ||
| 2286 | @kindex C-c \ | ||
| 2287 | @item C-c \ | ||
| 2288 | Create a sparse tree with all headlines matching a tags search. | ||
| 2289 | @kindex C-c a m | ||
| 2290 | @item C-c a m | ||
| 2291 | Create a global list of tag matches from all agenda files. | ||
| 2292 | @xref{Matching headline tags}. | ||
| 2293 | @kindex C-c a M | ||
| 2294 | @item C-c a M | ||
| 2295 | Create a global list of tag matches from all agenda files, but check | ||
| 2296 | only TODO items and force checking subitems (see variable | ||
| 2297 | @code{org-tags-match-list-sublevels}). | ||
| 2298 | @end table | ||
| 2299 | |||
| 2300 | A @i{tags} search string can use Boolean operators @samp{&} for AND and | ||
| 2301 | @samp{|} for OR. @samp{&} binds more strongly than @samp{|}. | ||
| 2302 | Parenthesis are currently not implemented. A tag may also be preceded | ||
| 2303 | by @samp{-}, to select against it, and @samp{+} is syntactic sugar for | ||
| 2304 | positive selection. The AND operator @samp{&} is optional when @samp{+} | ||
| 2305 | or @samp{-} is present. For example, @samp{+WORK-BOSS} would select all | ||
| 2306 | headlines that are tagged @samp{:WORK:}, but discard those also tagged | ||
| 2307 | @samp{:BOSS:}. The search string @samp{WORK|LAPTOP} selects all lines | ||
| 2308 | tagged @samp{:WORK:} or @samp{:LAPTOP:}. The string | ||
| 2309 | @samp{WORK|LAPTOP&NIGHT} requires that the @samp{:LAPTOP:} lines are | ||
| 2310 | also tagged @samp{NIGHT}. | ||
| 2311 | |||
| 2312 | @node Agenda Views, Exporting, Tags, Top | ||
| 2122 | @chapter Agenda Views | 2313 | @chapter Agenda Views |
| 2123 | @cindex agenda views | 2314 | @cindex agenda views |
| 2124 | 2315 | ||
| 2125 | Due to the way Org-mode works, TODO items and time-stamped items can | 2316 | Due to the way Org-mode works, TODO items, time-stamped items, and |
| 2126 | be scattered throughout a file or even a number of files. To get an | 2317 | tagged headlines can be scattered throughout a file or even a number of |
| 2127 | overview over open action items, or over events that are important for | 2318 | files. To get an overview over open action items, or over events that |
| 2128 | a particular date, this information must be collected, sorted and | 2319 | are important for a particular date, this information must be collected, |
| 2129 | displayed in an organized way. | 2320 | sorted and displayed in an organized way. |
| 2130 | 2321 | ||
| 2131 | Org-mode can select items based on various criteria, and display them | 2322 | Org-mode can select items based on various criteria, and display them |
| 2132 | in a separate buffer. Three different views are provided: | 2323 | in a separate buffer. Three different views are provided: |
| 2324 | |||
| 2133 | @itemize @bullet | 2325 | @itemize @bullet |
| 2134 | @item | 2326 | @item |
| 2135 | an @emph{agenda} that is like a calendar and shows information | 2327 | an @emph{agenda} that is like a calendar and shows information |
| @@ -2141,6 +2333,7 @@ action items, and | |||
| 2141 | a @emph{tags view} that shows information based on | 2333 | a @emph{tags view} that shows information based on |
| 2142 | the tags associated with headlines in the outline tree. | 2334 | the tags associated with headlines in the outline tree. |
| 2143 | @end itemize | 2335 | @end itemize |
| 2336 | |||
| 2144 | @noindent | 2337 | @noindent |
| 2145 | The extracted information is displayed in a special @emph{agenda | 2338 | The extracted information is displayed in a special @emph{agenda |
| 2146 | buffer}. This buffer is read-only, but provides commands to visit the | 2339 | buffer}. This buffer is read-only, but provides commands to visit the |
| @@ -2161,7 +2354,9 @@ edit these files remotely. | |||
| 2161 | @section Agenda files | 2354 | @section Agenda files |
| 2162 | 2355 | ||
| 2163 | The information to be shown is collected from all @emph{agenda files}, | 2356 | The information to be shown is collected from all @emph{agenda files}, |
| 2164 | the files listed in the variable @code{org-agenda-files}. Thus even | 2357 | the files listed in the variable @code{org-agenda-files}@footnote{If the |
| 2358 | value of that variable is not a list, but a single file name, then the | ||
| 2359 | list of agenda files will be maintained in that external file.}. Thus even | ||
| 2165 | if you only work with a single Org-mode file, this file should be put | 2360 | if you only work with a single Org-mode file, this file should be put |
| 2166 | into that list@footnote{When using the dispatcher pressing @kbd{1} | 2361 | into that list@footnote{When using the dispatcher pressing @kbd{1} |
| 2167 | before selecting a command will actually limit the command to the | 2362 | before selecting a command will actually limit the command to the |
| @@ -2181,8 +2376,9 @@ the front. With prefix arg, file is added/moved to the end. | |||
| 2181 | Remove current file from the list of agenda files. | 2376 | Remove current file from the list of agenda files. |
| 2182 | @kindex C-, | 2377 | @kindex C-, |
| 2183 | @item C-, | 2378 | @item C-, |
| 2184 | Cycle through agenda file list. | 2379 | Cycle through agenda file list, visiting one file after the other. |
| 2185 | @end table | 2380 | @end table |
| 2381 | |||
| 2186 | @noindent | 2382 | @noindent |
| 2187 | The Org menu contains the current list of files and can be used | 2383 | The Org menu contains the current list of files and can be used |
| 2188 | to visit any of them. | 2384 | to visit any of them. |
| @@ -2195,7 +2391,7 @@ to visit any of them. | |||
| 2195 | @cindex agenda commands, custom | 2391 | @cindex agenda commands, custom |
| 2196 | The views are created through a dispatcher that should be bound to a | 2392 | The views are created through a dispatcher that should be bound to a |
| 2197 | global key, for example @kbd{C-c a} (@pxref{Installation and | 2393 | global key, for example @kbd{C-c a} (@pxref{Installation and |
| 2198 | Activation}). In the following we will assume that @kbd{C-c a} is | 2394 | activation}). In the following we will assume that @kbd{C-c a} is |
| 2199 | indeed how the dispatcher is accessed and list keyboard access to | 2395 | indeed how the dispatcher is accessed and list keyboard access to |
| 2200 | commands accordingly. After pressing @kbd{C-c a}, an additional | 2396 | commands accordingly. After pressing @kbd{C-c a}, an additional |
| 2201 | letter is required to execute a command. The dispatcher offers the | 2397 | letter is required to execute a command. The dispatcher offers the |
| @@ -2206,7 +2402,7 @@ Create the calendar-like agenda (@pxref{Weekly/Daily Agenda}). | |||
| 2206 | @item t / T | 2402 | @item t / T |
| 2207 | Create a list of all TODO items (@pxref{Global TODO list}). | 2403 | Create a list of all TODO items (@pxref{Global TODO list}). |
| 2208 | @item m / M | 2404 | @item m / M |
| 2209 | Create a list of headline matching a TAGS expression (@pxref{Matching | 2405 | Create a list of headlines matching a TAGS expression (@pxref{Matching |
| 2210 | headline tags}). | 2406 | headline tags}). |
| 2211 | @end table | 2407 | @end table |
| 2212 | 2408 | ||
| @@ -2222,6 +2418,7 @@ Custom commands are configured in the variable | |||
| 2222 | @code{org-agenda-custom-commands}. You can customize this variable, | 2418 | @code{org-agenda-custom-commands}. You can customize this variable, |
| 2223 | for example by pressing @kbd{C-c a C}. You can also directly set it | 2419 | for example by pressing @kbd{C-c a C}. You can also directly set it |
| 2224 | with Emacs Lisp in @file{.emacs}. For example: | 2420 | with Emacs Lisp in @file{.emacs}. For example: |
| 2421 | |||
| 2225 | @lisp | 2422 | @lisp |
| 2226 | (setq org-agenda-custom-commands | 2423 | (setq org-agenda-custom-commands |
| 2227 | '(("w" todo "WAITING") | 2424 | '(("w" todo "WAITING") |
| @@ -2229,8 +2426,9 @@ with Emacs Lisp in @file{.emacs}. For example: | |||
| 2229 | ("U" tags-tree "+BOSS-URGENT") | 2426 | ("U" tags-tree "+BOSS-URGENT") |
| 2230 | ("f" occur-tree "\\<FIXME\\>"))) | 2427 | ("f" occur-tree "\\<FIXME\\>"))) |
| 2231 | @end lisp | 2428 | @end lisp |
| 2429 | |||
| 2232 | @noindent will define @kbd{C-c a w} as a global search for | 2430 | @noindent will define @kbd{C-c a w} as a global search for |
| 2233 | TODO entries with @samp{WAITING} as todo keyword, @kbd{C-c a u} as a | 2431 | TODO entries with @samp{WAITING} as the TODO keyword, @kbd{C-c a u} as a |
| 2234 | global tags search for headlines marked @samp{:BOSS:} but not | 2432 | global tags search for headlines marked @samp{:BOSS:} but not |
| 2235 | @samp{:URGENT:}, @kbd{C-c a U} to do the same search but only in the | 2433 | @samp{:URGENT:}, @kbd{C-c a U} to do the same search but only in the |
| 2236 | current buffer and display the result as a sparse tree, and @kbd{C-c a | 2434 | current buffer and display the result as a sparse tree, and @kbd{C-c a |
| @@ -2252,11 +2450,11 @@ a paper agenda, showing all the tasks for the current week or day. | |||
| 2252 | Compile an agenda for the current week from a list of org files. The | 2450 | Compile an agenda for the current week from a list of org files. The |
| 2253 | agenda shows the entries for each day. With a @kbd{C-u} prefix (or | 2451 | agenda shows the entries for each day. With a @kbd{C-u} prefix (or |
| 2254 | when the variable @code{org-agenda-include-all-todo} is @code{t}), all | 2452 | when the variable @code{org-agenda-include-all-todo} is @code{t}), all |
| 2255 | unfinished TODO items (also those without a date) are also listed at | 2453 | unfinished TODO items (including those without a date) are also listed at |
| 2256 | the beginning of the buffer, before the first date.@* | 2454 | the beginning of the buffer, before the first date.@* |
| 2257 | @end table | 2455 | @end table |
| 2258 | 2456 | ||
| 2259 | Remote editing from the agenda buffer means for example that you can | 2457 | Remote editing from the agenda buffer means, for example, that you can |
| 2260 | change the dates of deadlines and appointments from the agenda buffer. | 2458 | change the dates of deadlines and appointments from the agenda buffer. |
| 2261 | The commands available in the Agenda buffer are listed in @ref{Agenda | 2459 | The commands available in the Agenda buffer are listed in @ref{Agenda |
| 2262 | commands}. | 2460 | commands}. |
| @@ -2275,12 +2473,15 @@ commands}. | |||
| 2275 | In the agenda buffer, each entry is preceded by a @emph{category}, | 2473 | In the agenda buffer, each entry is preceded by a @emph{category}, |
| 2276 | which is derived from the file name. The category can also be set | 2474 | which is derived from the file name. The category can also be set |
| 2277 | with a special line anywhere in the buffer, looking like this: | 2475 | with a special line anywhere in the buffer, looking like this: |
| 2476 | |||
| 2278 | @example | 2477 | @example |
| 2279 | #+CATEGORY: Thesis | 2478 | #+CATEGORY: Thesis |
| 2280 | @end example | 2479 | @end example |
| 2480 | |||
| 2281 | If there are several such lines in a file, each specifies the category | 2481 | If there are several such lines in a file, each specifies the category |
| 2282 | for the text below it. The display in the agenda buffer looks best if | 2482 | for the text below it (but the first category also applies to any text |
| 2283 | the category is not longer than 10 characters. | 2483 | before the first CATEGORY line). The display in the agenda buffer looks |
| 2484 | best if the category is not longer than 10 characters. | ||
| 2284 | 2485 | ||
| 2285 | @node Time-of-day specifications, Calendar/Diary integration, Categories, Weekly/Daily Agenda | 2486 | @node Time-of-day specifications, Calendar/Diary integration, Categories, Weekly/Daily Agenda |
| 2286 | @subsection Time-of-Day Specifications | 2487 | @subsection Time-of-Day Specifications |
| @@ -2337,7 +2538,7 @@ The time grid can be turned on and off with the variable | |||
| 2337 | 2538 | ||
| 2338 | Emacs contains the calendar and diary by Edward M. Reingold. The | 2539 | Emacs contains the calendar and diary by Edward M. Reingold. The |
| 2339 | calendar displays a three-month calendar with holidays from different | 2540 | calendar displays a three-month calendar with holidays from different |
| 2340 | countries and cultures. The diary allows to keep track of | 2541 | countries and cultures. The diary allows you to keep track of |
| 2341 | anniversaries, lunar phases, sunrise/set, recurrent appointments | 2542 | anniversaries, lunar phases, sunrise/set, recurrent appointments |
| 2342 | (weekly, monthly) and more. In this way, it is quite complementary to | 2543 | (weekly, monthly) and more. In this way, it is quite complementary to |
| 2343 | Org-mode. It can be very useful to combine output from Org-mode with | 2544 | Org-mode. It can be very useful to combine output from Org-mode with |
| @@ -2349,13 +2550,12 @@ agenda, you only need to customize the variable | |||
| 2349 | @lisp | 2550 | @lisp |
| 2350 | (setq org-agenda-include-diary t) | 2551 | (setq org-agenda-include-diary t) |
| 2351 | @end lisp | 2552 | @end lisp |
| 2352 | @noindent | ||
| 2353 | 2553 | ||
| 2354 | @noindent After that, everything will happen automatically. All diary | 2554 | @noindent After that, everything will happen automatically. All diary |
| 2355 | entries including holidays, anniversaries etc will be included in the | 2555 | entries including holidays, anniversaries etc will be included in the |
| 2356 | agenda buffer created by Org-mode. @key{SPC}, @key{TAB}, and | 2556 | agenda buffer created by Org-mode. @key{SPC}, @key{TAB}, and |
| 2357 | @key{RET} can be used from the agenda buffer to jump to the diary | 2557 | @key{RET} can be used from the agenda buffer to jump to the diary |
| 2358 | file, in order to edit existing diary entries. The @kbd{i} command to | 2558 | file in order to edit existing diary entries. The @kbd{i} command to |
| 2359 | insert new entries for the current date works in the agenda buffer, as | 2559 | insert new entries for the current date works in the agenda buffer, as |
| 2360 | well as the commands @kbd{S}, @kbd{M}, and @kbd{C} to display | 2560 | well as the commands @kbd{S}, @kbd{M}, and @kbd{C} to display |
| 2361 | Sunrise/Sunset times, show lunar phases and to convert to other | 2561 | Sunrise/Sunset times, show lunar phases and to convert to other |
| @@ -2399,7 +2599,7 @@ the TODO entries directly from that buffer (@pxref{Agenda commands}). | |||
| 2399 | @xref{Global TODO list}, for more information. | 2599 | @xref{Global TODO list}, for more information. |
| 2400 | @kindex C-c a T | 2600 | @kindex C-c a T |
| 2401 | @item C-c a T | 2601 | @item C-c a T |
| 2402 | Like the above, but allow to select a specific TODO keyword. You can | 2602 | Like the above, but allows selection of a specific TODO keyword. You can |
| 2403 | also do this by specifying a prefix argument to @kbd{C-c a t}. With a | 2603 | also do this by specifying a prefix argument to @kbd{C-c a t}. With a |
| 2404 | @kbd{C-u} prefix you are prompted for a keyword. With a numeric | 2604 | @kbd{C-u} prefix you are prompted for a keyword. With a numeric |
| 2405 | prefix, the Nth keyword in @code{org-todo-keywords} is selected. | 2605 | prefix, the Nth keyword in @code{org-todo-keywords} is selected. |
| @@ -2452,7 +2652,7 @@ The timeline is not really an agenda view, because it only summarizes | |||
| 2452 | items from a single Org-mode file. But it also uses the agenda buffer | 2652 | items from a single Org-mode file. But it also uses the agenda buffer |
| 2453 | and provides similar commands, so we discuss it here. The timeline | 2653 | and provides similar commands, so we discuss it here. The timeline |
| 2454 | shows all time-stamped items in a single Org-mode file (or the | 2654 | shows all time-stamped items in a single Org-mode file (or the |
| 2455 | selected part of it), in @emph{time-sorted view}. The main purpose of | 2655 | selected part of it), in a @emph{time-sorted view}. The main purpose of |
| 2456 | this command is to give an overview over events in a project. | 2656 | this command is to give an overview over events in a project. |
| 2457 | 2657 | ||
| 2458 | @table @kbd | 2658 | @table @kbd |
| @@ -2462,8 +2662,8 @@ Show a time-sorted view of the org file, with all time-stamped items. | |||
| 2462 | When called with a @kbd{C-u} prefix, all unfinished TODO entries | 2662 | When called with a @kbd{C-u} prefix, all unfinished TODO entries |
| 2463 | (scheduled or not) are also listed under the current date. | 2663 | (scheduled or not) are also listed under the current date. |
| 2464 | @end table | 2664 | @end table |
| 2465 | @noindent | ||
| 2466 | 2665 | ||
| 2666 | @noindent | ||
| 2467 | The commands available in the timeline buffer are listed in | 2667 | The commands available in the timeline buffer are listed in |
| 2468 | @ref{Agenda commands}. | 2668 | @ref{Agenda commands}. |
| 2469 | 2669 | ||
| @@ -2476,7 +2676,7 @@ file where they originate. You are not allowed to edit the agenda | |||
| 2476 | buffer itself, but commands are provided to show and jump to the | 2676 | buffer itself, but commands are provided to show and jump to the |
| 2477 | original entry location, and to edit the org-files ``remotely'' from | 2677 | original entry location, and to edit the org-files ``remotely'' from |
| 2478 | the agenda buffer. In this way, all information is stored only once, | 2678 | the agenda buffer. In this way, all information is stored only once, |
| 2479 | and you don't risk that your agenda and note files diverge. | 2679 | removing the risk that your agenda and note files may diverge. |
| 2480 | 2680 | ||
| 2481 | Some commands can be executed with mouse clicks on agenda lines. For | 2681 | Some commands can be executed with mouse clicks on agenda lines. For |
| 2482 | the other commands, the cursor needs to be in the desired line. | 2682 | the other commands, the cursor needs to be in the desired line. |
| @@ -2507,7 +2707,7 @@ Display original location and recenter that window. | |||
| 2507 | @itemx mouse-1 | 2707 | @itemx mouse-1 |
| 2508 | @itemx @key{TAB} | 2708 | @itemx @key{TAB} |
| 2509 | Go to the original location of the item in another window. Under Emacs | 2709 | Go to the original location of the item in another window. Under Emacs |
| 2510 | 22, also @kbd{mouse-1} will works for this. | 2710 | 22, @kbd{mouse-1} will also works for this. |
| 2511 | 2711 | ||
| 2512 | @kindex @key{RET} | 2712 | @kindex @key{RET} |
| 2513 | @itemx @key{RET} | 2713 | @itemx @key{RET} |
| @@ -2531,11 +2731,11 @@ Delete other windows. | |||
| 2531 | 2731 | ||
| 2532 | @kindex w | 2732 | @kindex w |
| 2533 | @item w | 2733 | @item w |
| 2534 | Switch to weekly view (7 days displayed together) | 2734 | Switch to weekly view (7 days displayed together). |
| 2535 | 2735 | ||
| 2536 | @kindex d | 2736 | @kindex d |
| 2537 | @item d | 2737 | @item d |
| 2538 | Switch to daily view (just one day displayed) | 2738 | Switch to daily view (just one day displayed). |
| 2539 | 2739 | ||
| 2540 | @kindex D | 2740 | @kindex D |
| 2541 | @item D | 2741 | @item D |
| @@ -2580,7 +2780,7 @@ original org file. | |||
| 2580 | 2780 | ||
| 2581 | @kindex T | 2781 | @kindex T |
| 2582 | @item T | 2782 | @item T |
| 2583 | Show all tags assiciated with the current item. Because of | 2783 | Show all tags associated with the current item. Because of |
| 2584 | inheritance, this may be more than the tags listed in the line itself. | 2784 | inheritance, this may be more than the tags listed in the line itself. |
| 2585 | 2785 | ||
| 2586 | @kindex : | 2786 | @kindex : |
| @@ -2650,7 +2850,7 @@ date at the cursor. | |||
| 2650 | 2850 | ||
| 2651 | @kindex M | 2851 | @kindex M |
| 2652 | @item M | 2852 | @item M |
| 2653 | Show the phases of the moon for three month around current date. | 2853 | Show the phases of the moon for the three months around current date. |
| 2654 | 2854 | ||
| 2655 | @kindex S | 2855 | @kindex S |
| 2656 | @item S | 2856 | @item S |
| @@ -2673,7 +2873,7 @@ Export a single iCalendar file containing entries from all agenda files. | |||
| 2673 | @tsubheading{Quit and Exit} | 2873 | @tsubheading{Quit and Exit} |
| 2674 | @kindex q | 2874 | @kindex q |
| 2675 | @item q | 2875 | @item q |
| 2676 | Quit Agenda, remove the agenda buffer. | 2876 | Quit agenda, remove the agenda buffer. |
| 2677 | 2877 | ||
| 2678 | @kindex x | 2878 | @kindex x |
| 2679 | @cindex agenda files, removing buffers | 2879 | @cindex agenda files, removing buffers |
| @@ -2718,11 +2918,13 @@ warning. | |||
| 2718 | @cindex headline levels, for exporting | 2918 | @cindex headline levels, for exporting |
| 2719 | In the exported version, the first 3 outline levels will become | 2919 | In the exported version, the first 3 outline levels will become |
| 2720 | headlines, defining a general document structure. Additional levels | 2920 | headlines, defining a general document structure. Additional levels |
| 2721 | will be exported as itemize lists. If you want that transition to occur | 2921 | will be exported as itemized lists. If you want that transition to occur |
| 2722 | at a different level, specify it with a prefix argument. For example, | 2922 | at a different level, specify it with a prefix argument. For example, |
| 2923 | |||
| 2723 | @example | 2924 | @example |
| 2724 | @kbd{C-1 C-c C-x a org-export-as-ascii} | 2925 | @kbd{C-1 C-c C-x a org-export-as-ascii} |
| 2725 | @end example | 2926 | @end example |
| 2927 | |||
| 2726 | @noindent | 2928 | @noindent |
| 2727 | creates only top level headlines and does the rest as items. Lines | 2929 | creates only top level headlines and does the rest as items. Lines |
| 2728 | starting with @samp{#} and subtrees starting with the word @samp{COMMENT} | 2930 | starting with @samp{#} and subtrees starting with the word @samp{COMMENT} |
| @@ -2757,11 +2959,13 @@ Toggle fixed-width for entry (QUOTE) or region, see below. | |||
| 2757 | @cindex headline levels, for exporting | 2959 | @cindex headline levels, for exporting |
| 2758 | In the exported version, the first 3 outline levels will become | 2960 | In the exported version, the first 3 outline levels will become |
| 2759 | headlines, defining a general document structure. Additional levels | 2961 | headlines, defining a general document structure. Additional levels |
| 2760 | will be exported as itemize lists. If you want that transition to occur | 2962 | will be exported as itemized lists. If you want that transition to occur |
| 2761 | at a different level, specify it with a prefix argument. For example, | 2963 | at a different level, specify it with a prefix argument. For example, |
| 2964 | |||
| 2762 | @example | 2965 | @example |
| 2763 | @kbd{C-2 C-c C-x b} | 2966 | @kbd{C-2 C-c C-x b} |
| 2764 | @end example | 2967 | @end example |
| 2968 | |||
| 2765 | @noindent | 2969 | @noindent |
| 2766 | creates two levels of headings and does the rest as items. | 2970 | creates two levels of headings and does the rest as items. |
| 2767 | 2971 | ||
| @@ -2851,9 +3055,10 @@ correct is to type @samp{#+} and then use @kbd{M-@key{TAB}} completion | |||
| 2851 | #+TEXT: Several lines may be given. | 3055 | #+TEXT: Several lines may be given. |
| 2852 | #+OPTIONS: H:2 num:t toc:t \n:nil @:t ::t |:t ^:t *:nil TeX:t | 3056 | #+OPTIONS: H:2 num:t toc:t \n:nil @:t ::t |:t ^:t *:nil TeX:t |
| 2853 | @end example | 3057 | @end example |
| 3058 | |||
| 2854 | @noindent | 3059 | @noindent |
| 2855 | The OPTIONS line is a compact form to specify export settings. Here | 3060 | The OPTIONS line is a compact form to specify export settings. Here |
| 2856 | you can | 3061 | you can: |
| 2857 | @cindex headline levels | 3062 | @cindex headline levels |
| 2858 | @cindex section-numbers | 3063 | @cindex section-numbers |
| 2859 | @cindex table of contents | 3064 | @cindex table of contents |
| @@ -2886,7 +3091,7 @@ end of the outline tree. For example: | |||
| 2886 | @example | 3091 | @example |
| 2887 | * COMMENT HTML style specifications | 3092 | * COMMENT HTML style specifications |
| 2888 | 3093 | ||
| 2889 | # Local Variables: | 3094 | # Local Variables: |
| 2890 | # org-export-html-style: " <style type=\"text/css\"> | 3095 | # org-export-html-style: " <style type=\"text/css\"> |
| 2891 | p @{font-weight: normal; color: gray; @} | 3096 | p @{font-weight: normal; color: gray; @} |
| 2892 | h1 @{color: black; @} | 3097 | h1 @{color: black; @} |
| @@ -2895,7 +3100,9 @@ end of the outline tree. For example: | |||
| 2895 | @end example | 3100 | @end example |
| 2896 | 3101 | ||
| 2897 | Remember to execute @kbd{M-x normal-mode} after changing this to make | 3102 | Remember to execute @kbd{M-x normal-mode} after changing this to make |
| 2898 | the new style visible to Emacs. | 3103 | the new style visible to Emacs. This command reastarts org-mode for the |
| 3104 | current buffer and forces Emacs to re-evaluate the loval variables | ||
| 3105 | section in the buffer. | ||
| 2899 | 3106 | ||
| 2900 | @node Comment lines, , Export options, HTML export | 3107 | @node Comment lines, , Export options, HTML export |
| 2901 | @subsection Comment lines | 3108 | @subsection Comment lines |
| @@ -2969,6 +3176,7 @@ to make iCal re-read the calendar files each time a new version of | |||
| 2969 | @menu | 3176 | @menu |
| 2970 | * Completion:: M-TAB knows what you need | 3177 | * Completion:: M-TAB knows what you need |
| 2971 | * Customization:: Adapting Org-mode to your taste | 3178 | * Customization:: Adapting Org-mode to your taste |
| 3179 | * Updating settings:: How to tell Org-mode that settings have changed | ||
| 2972 | * Clean view:: Getting rid of leading stars in the outline | 3180 | * Clean view:: Getting rid of leading stars in the outline |
| 2973 | * TTY keys:: Using Org-mode on a tty | 3181 | * TTY keys:: Using Org-mode on a tty |
| 2974 | * FAQ:: Frequently asked questions | 3182 | * FAQ:: Frequently asked questions |
| @@ -3021,7 +3229,7 @@ Elsewhere, complete dictionary words using ispell. | |||
| 3021 | @end table | 3229 | @end table |
| 3022 | 3230 | ||
| 3023 | 3231 | ||
| 3024 | @node Customization, Clean view, Completion, Miscellaneous | 3232 | @node Customization, Updating settings, Completion, Miscellaneous |
| 3025 | @section Customization | 3233 | @section Customization |
| 3026 | @cindex customization | 3234 | @cindex customization |
| 3027 | @cindex options, for customization | 3235 | @cindex options, for customization |
| @@ -3033,14 +3241,48 @@ describing the variables here. A structured overview of customization | |||
| 3033 | variables is available with @kbd{M-x org-customize}. Or select | 3241 | variables is available with @kbd{M-x org-customize}. Or select |
| 3034 | @code{Browse Org Group} from the @code{Org->Customization} menu. | 3242 | @code{Browse Org Group} from the @code{Org->Customization} menu. |
| 3035 | 3243 | ||
| 3036 | @node Clean view, TTY keys, Customization, Miscellaneous | 3244 | @node Updating settings, Clean view, Customization, Miscellaneous |
| 3245 | @section Updating settings after changes | ||
| 3246 | @cindex updating, after setting changes | ||
| 3247 | @kindex C-c C-c | ||
| 3248 | |||
| 3249 | Org-mode uses special lines in the buffer to set file-local values for a | ||
| 3250 | number of user options. When such settings are changed, you need to | ||
| 3251 | inform Org-mode that something has be modified and that it should | ||
| 3252 | recheck the buffer for setting. This is done with the command @kbd{C-c | ||
| 3253 | C-c} in the following situations: | ||
| 3254 | |||
| 3255 | @itemize @bullet | ||
| 3256 | @item | ||
| 3257 | After changing any of the special buffer lines starting with @samp{#+}, | ||
| 3258 | for example @samp{#+STARTUP}, @samp{#+CATEGORY}. Org-mode will then | ||
| 3259 | read these settings and activate them (see @ref{Visibility cycling}, | ||
| 3260 | @ref{Narrow columns}, @ref{Clean view}, @ref{Per file keywords}, | ||
| 3261 | @ref{Categories}) | ||
| 3262 | @item | ||
| 3263 | After editing by hand a @samp{#+TBLFM} line containing formulas for a | ||
| 3264 | table. When pressing @kbd{C-c C-c} in that line, all formulas are | ||
| 3265 | re-applied to the entire table (@pxref{Editing/debugging formulas}). | ||
| 3266 | @item | ||
| 3267 | In a table, @kbd{C-c C-c} does force a re-align, even if the table | ||
| 3268 | editor is turned off (@pxref{Built-in table editor}) | ||
| 3269 | @item | ||
| 3270 | In an ordered plain list, @kbd{C-c C-c} forces a renumbering of the list | ||
| 3271 | (@pxref{Plain Lists}). | ||
| 3272 | @item | ||
| 3273 | After adding a new radio target @samp{<<<New target>>>}, @kbd{C-c C-c} | ||
| 3274 | must be used with the cursor on that target to activate it throughout | ||
| 3275 | the buffer. | ||
| 3276 | @end itemize | ||
| 3277 | |||
| 3278 | @node Clean view, TTY keys, Updating settings, Miscellaneous | ||
| 3037 | @section A cleaner outline view | 3279 | @section A cleaner outline view |
| 3038 | @cindex hiding leading stars | 3280 | @cindex hiding leading stars |
| 3039 | @cindex clean outline view | 3281 | @cindex clean outline view |
| 3040 | 3282 | ||
| 3041 | Some people find it noisy and distracting that the Org-mode headlines | 3283 | Some people find it noisy and distracting that the Org-mode headlines |
| 3042 | are starting with a potentially large number of stars. For example in | 3284 | are starting with a potentially large number of stars. For example |
| 3043 | the example tree from @ref{Headlines}: | 3285 | the tree from @ref{Headlines}: |
| 3044 | 3286 | ||
| 3045 | @example | 3287 | @example |
| 3046 | * Top level headline | 3288 | * Top level headline |
| @@ -3071,9 +3313,10 @@ the buffer) | |||
| 3071 | #+STARTUP: showstars | 3313 | #+STARTUP: showstars |
| 3072 | #+STARTUP: hidestars | 3314 | #+STARTUP: hidestars |
| 3073 | @end example | 3315 | @end example |
| 3316 | |||
| 3074 | @noindent | 3317 | @noindent |
| 3075 | Press @kbd{C-c C-c} with the cursor in a @samp{STARTUP} line to activate | 3318 | Press @kbd{C-c C-c} with the cursor in a @samp{STARTUP} line to activate |
| 3076 | the modifications. | 3319 | the modifications. |
| 3077 | 3320 | ||
| 3078 | With stars hidden, the tree becomes: | 3321 | With stars hidden, the tree becomes: |
| 3079 | 3322 | ||
| @@ -3129,7 +3372,7 @@ activate changes immediately). | |||
| 3129 | @end example | 3372 | @end example |
| 3130 | 3373 | ||
| 3131 | You can convert an Org-mode file from single-star-per-level to | 3374 | You can convert an Org-mode file from single-star-per-level to |
| 3132 | double-star-per-level convention with @kbd{M-x org-convert-to-odd-levels | 3375 | the double-star-per-level convention with @kbd{M-x org-convert-to-odd-levels |
| 3133 | RET} in that file. There is no command for the back conversion because | 3376 | RET} in that file. There is no command for the back conversion because |
| 3134 | such a command might merge levels and in this way destroy the | 3377 | such a command might merge levels and in this way destroy the |
| 3135 | structure of the tree. | 3378 | structure of the tree. |
| @@ -3179,36 +3422,78 @@ rather use @kbd{C-c .} to re-insert the timestamp. | |||
| 3179 | @enumerate | 3422 | @enumerate |
| 3180 | @item @b{Org-mode seems to be a useful default mode for the various | 3423 | @item @b{Org-mode seems to be a useful default mode for the various |
| 3181 | @file{README} files I have scattered through my directories. How do I | 3424 | @file{README} files I have scattered through my directories. How do I |
| 3182 | turn it on for all @file{README} files?} | 3425 | turn it on for all @file{README} files?}@* |
| 3426 | @c | ||
| 3183 | @example | 3427 | @example |
| 3184 | (add-to-list 'auto-mode-alist '("README$" . org-mode)) | 3428 | (add-to-list 'auto-mode-alist '("README$" . org-mode)) |
| 3185 | @end example | 3429 | @end example |
| 3186 | 3430 | ||
| 3431 | @item @b{Some of my links stopped working after I upgraded to a version | ||
| 3432 | 4.20 or later. Why is this, and how can I fix it?}@* | ||
| 3433 | @c | ||
| 3434 | These must be links in plain text, containing white space, such as | ||
| 3435 | @samp{bbdb:Richard Stallman}. You need to protect these links by | ||
| 3436 | putting double brackets around them, like @samp{[[bbdb:Richard | ||
| 3437 | Stallman]]}. | ||
| 3438 | |||
| 3439 | @item @b{I see that Org-mode now creates links using the double bracket | ||
| 3440 | convention that hides the link part and the brackets, only showing the | ||
| 3441 | description part. How can I convert my old links to this new format?}@* | ||
| 3442 | @c | ||
| 3443 | Execute once in each Org-mode file: @kbd{M-x org-upgrade-old-links}. | ||
| 3444 | The replaces angular brackets with the link format. | ||
| 3445 | |||
| 3446 | @item @b{I don't care if you find the new bracket links great, I am | ||
| 3447 | attached to the old style using angular brackets and no hiding of the | ||
| 3448 | link text. Please give them back to me, don't tell me it is not | ||
| 3449 | possible!}@* | ||
| 3450 | @c | ||
| 3451 | Would I let you down like that? If you must (even if I don't understand | ||
| 3452 | why), you can do this | ||
| 3453 | @lisp | ||
| 3454 | (setq org-link-style 'plain | ||
| 3455 | org-link-format "<%s>") | ||
| 3456 | @end lisp | ||
| 3457 | |||
| 3458 | @item @b{When I am executing shell links I always get a | ||
| 3459 | confirmation prompt and need to type @kbd{yes @key{RET}}, thats 4 key | ||
| 3460 | presses! Can I get rid of this?}@* | ||
| 3461 | @c | ||
| 3462 | @cindex shell links, confirmation | ||
| 3463 | @cindex dangerous commands | ||
| 3464 | The confirmation is there to protect you from unwantingly execute | ||
| 3465 | potentially dangerous commands. For example, imagine a link | ||
| 3466 | @samp{[[shell:rm -rf ~/*][Google Search]]}. In an Org-mode buffer, this | ||
| 3467 | command would look like @samp{Google Search}, but really it would remove | ||
| 3468 | your home directory. If you wish, you can make it easier to respond to | ||
| 3469 | the query by setting @code{org-confirm-shell-links} to @code{y-or-n-p}. | ||
| 3470 | Then a single @kbd{y} keypress will be enough to confirm shell links. | ||
| 3471 | It is also possible to turn off this check entirely, but I do not | ||
| 3472 | recommend to do this. Be warned. | ||
| 3473 | |||
| 3187 | @item @b{All these stars are driving me mad, I just find the Emacs | 3474 | @item @b{All these stars are driving me mad, I just find the Emacs |
| 3188 | outlines unreadable. Can't you just put white space and a single star as a | 3475 | outlines unreadable. Can't you just put white space and a single star as a |
| 3189 | starter for headlines?}@* | 3476 | starter for headlines?}@* |
| 3477 | @c | ||
| 3190 | See @ref{Clean view}. | 3478 | See @ref{Clean view}. |
| 3191 | 3479 | ||
| 3192 | @item @b{I would like to have two windows on the same Org-mode | 3480 | @item @b{I would like to have two windows on the same Org-mode |
| 3193 | file, but with different outline visibility. Is that possible?}@* | 3481 | file, but with different outline visibility. Is that possible?}@* |
| 3482 | @c | ||
| 3194 | @cindex @code{make-indirect-buffer} | 3483 | @cindex @code{make-indirect-buffer} |
| 3195 | @cindex indirect buffers | 3484 | @cindex indirect buffers |
| 3196 | In GNU Emacs, you may use @emph{indirect buffers} which do exactly | 3485 | In GNU Emacs, you may use @emph{indirect buffers} which do exactly this. |
| 3197 | this. See the documentation on the command | 3486 | See the documentation on the command @code{make-indirect-buffer}. In |
| 3198 | @code{make-indirect-buffer}. In XEmacs, this is currently not | 3487 | XEmacs, this is currently not possible because of the different outline |
| 3199 | possible because of the different outline implementation. | 3488 | implementation. |
| 3200 | |||
| 3201 | @item @b{Is there an easy way to insert links to web locations?}@* | ||
| 3202 | @cindex URL, paste into buffer | ||
| 3203 | Sure, just type or paste them into the buffer. A plain-text URL-like | ||
| 3204 | string is directly interpreted as a link. | ||
| 3205 | 3489 | ||
| 3206 | @item @b{When I export my TODO list, every TODO item becomes a | 3490 | @item @b{When I export my TODO list, every TODO item becomes a |
| 3207 | separate section. How do I enforce these items to be exported as an | 3491 | separate section. How do I enforce these items to be exported as an |
| 3208 | itemized list?}@* | 3492 | itemized list?}@* |
| 3493 | @c | ||
| 3209 | If you plan to use ASCII or HTML export, make sure things you want to | 3494 | If you plan to use ASCII or HTML export, make sure things you want to |
| 3210 | be exported as item lists are level 4 at least, even if that does mean | 3495 | be exported as item lists are level 4 at least, even if that does mean |
| 3211 | there is a level jump. For example | 3496 | there is a level jump. For example: |
| 3212 | 3497 | ||
| 3213 | @example | 3498 | @example |
| 3214 | * Todays top priorities | 3499 | * Todays top priorities |
| @@ -3225,27 +3510,22 @@ configure the @samp{H} switch. | |||
| 3225 | +OPTIONS: H:2; ... | 3510 | +OPTIONS: H:2; ... |
| 3226 | @end example | 3511 | @end example |
| 3227 | 3512 | ||
| 3228 | @item @b{I would like to export only a subtree of my file to HTML. How?}@* | 3513 | @item @b{I would like to export only a subtree of my file to HTML. |
| 3514 | How?}@* | ||
| 3515 | @c | ||
| 3229 | @cindex exporting a subtree | 3516 | @cindex exporting a subtree |
| 3230 | If you want to export a subtree, mark the subtree as region and then | 3517 | If you want to export a subtree, mark the subtree as region and then |
| 3231 | export. Marking can be done with @kbd{C-c @@ C-x C-x}, for example. | 3518 | export. Marking can be done with @kbd{C-c @@ C-x C-x}, for example. |
| 3232 | 3519 | ||
| 3233 | @item @b{Org-mode takes over the S-cursor keys. I also want to use | 3520 | @item @b{Org-mode takes over the S-cursor keys. I also want to use |
| 3234 | CUA-mode, is there a way to fix this conflict?}@* | 3521 | CUA-mode, is there a way to fix this conflict?}@* |
| 3235 | Yes, see @ref{Interaction} | 3522 | Yes, see @ref{Interaction}. |
| 3236 | |||
| 3237 | @item @b{Is there an easy way to insert an empty table template with a | ||
| 3238 | default number of rows and columns?}@* | ||
| 3239 | @cindex table, empty template | ||
| 3240 | To insert an empty table template, just type @samp{|-} and use | ||
| 3241 | @key{TAB}. The default size can be changed with the variable | ||
| 3242 | @code{org-table-default-size}. However, just starting to type the | ||
| 3243 | first line is usually much easier. | ||
| 3244 | 3523 | ||
| 3245 | @item @b{One of my table columns has started to fill up with | 3524 | @item @b{One of my table columns has started to fill up with |
| 3246 | @samp{#ERROR}. What is going on?}@* | 3525 | @samp{#ERROR}. What is going on?}@* |
| 3526 | @c | ||
| 3247 | Org-mode tried to compute the column from other fields using a | 3527 | Org-mode tried to compute the column from other fields using a |
| 3248 | formula stored in the @samp{#+TBLFMT:} line just below the table, and | 3528 | formula stored in the @samp{#+TBLFM:} line just below the table, and |
| 3249 | the evaluation of the formula fails. Fix the fields used in the | 3529 | the evaluation of the formula fails. Fix the fields used in the |
| 3250 | formula, or fix the formula, or remove it! | 3530 | formula, or fix the formula, or remove it! |
| 3251 | 3531 | ||
| @@ -3253,23 +3533,26 @@ formula, or fix the formula, or remove it! | |||
| 3253 | horizontal line in the table, pressing TAB creates a new table line | 3533 | horizontal line in the table, pressing TAB creates a new table line |
| 3254 | @i{before} the horizontal line. How can I quickly move to the line | 3534 | @i{before} the horizontal line. How can I quickly move to the line |
| 3255 | @i{below} the horizontal line instead?}@* | 3535 | @i{below} the horizontal line instead?}@* |
| 3536 | @c | ||
| 3256 | Press @key{down} (to get on the separator line) and then @key{TAB}. | 3537 | Press @key{down} (to get on the separator line) and then @key{TAB}. |
| 3257 | Or configure the variable @code{org-table-tab-jumps-over-hlines}. | 3538 | Or configure the variable @code{org-table-tab-jumps-over-hlines}. |
| 3258 | 3539 | ||
| 3259 | @item @b{How can I change the indentation of an entire table without | 3540 | @item @b{How can I change the indentation of an entire table without |
| 3260 | fixing every line by hand?}@* | 3541 | fixing every line by hand?}@* |
| 3542 | @c | ||
| 3261 | @cindex indentation, of tables | 3543 | @cindex indentation, of tables |
| 3262 | The indentation of a table is set by the first line. So just fix the | 3544 | The indentation of a table is set by the first line. So just fix the |
| 3263 | indentation of the first line and realign with @key{TAB}. | 3545 | indentation of the first line and realign with @key{TAB}. |
| 3264 | 3546 | ||
| 3265 | @item @b{Is it possible to include entries from org-mode files into my | 3547 | @item @b{Is it possible to include entries from org-mode files into my |
| 3266 | emacs diary?}@* | 3548 | emacs diary?}@* |
| 3549 | @c | ||
| 3267 | Since the org-mode agenda is much more powerful and can contain the | 3550 | Since the org-mode agenda is much more powerful and can contain the |
| 3268 | diary (@pxref{Calendar/Diary integration}), you should think twice | 3551 | diary (@pxref{Calendar/Diary integration}), you should think twice |
| 3269 | before deciding to do this. Inegrating org-mode information into the | 3552 | before deciding to do this. Integrating Org-mode information into the |
| 3270 | diary is, however, possible. The following steps are necessary: | 3553 | diary is, however, possible. The following steps are necessary: |
| 3271 | Autoload the function @command{org-diary} as shown above under | 3554 | Autoload the function @command{org-diary} as shown above under |
| 3272 | @ref{Installation and Activation}. You also need to use @emph{fancy | 3555 | @ref{Installation and activation}. You also need to use @emph{fancy |
| 3273 | diary display} by setting in @file{.emacs}: | 3556 | diary display} by setting in @file{.emacs}: |
| 3274 | 3557 | ||
| 3275 | @lisp | 3558 | @lisp |
| @@ -3310,10 +3593,10 @@ Org-mode can cooperate with the following packages: | |||
| 3310 | @cindex @file{org-mouse.el} | 3593 | @cindex @file{org-mouse.el} |
| 3311 | @item @file{org-mouse.el} by Piotr Zielinski | 3594 | @item @file{org-mouse.el} by Piotr Zielinski |
| 3312 | This package implements extended mouse functionality for Org-mode. It | 3595 | This package implements extended mouse functionality for Org-mode. It |
| 3313 | allows to cycle visibility and to edit the document structure with the | 3596 | allows you to cycle visibility and to edit the document structure with |
| 3314 | mouse. It also provides a context-sensitive menu that changes depending | 3597 | the mouse. It also provides a context-sensitive menu that changes |
| 3315 | on the context of a mouse-click. Use a search engine to find this | 3598 | depending on the context of a mouse-click. Use a search engine to find |
| 3316 | package on the web. | 3599 | this package on the web. |
| 3317 | @cindex @file{table.el} | 3600 | @cindex @file{table.el} |
| 3318 | @item @file{table.el} by Takaaki Ota | 3601 | @item @file{table.el} by Takaaki Ota |
| 3319 | Org mode cooperates with table.el, see @ref{table.el}. @file{table.el} | 3602 | Org mode cooperates with table.el, see @ref{table.el}. @file{table.el} |
| @@ -3331,7 +3614,7 @@ packages is using calc for embedded calculations. @xref{Embedded Mode, | |||
| 3331 | @cindex @file{constants.el} | 3614 | @cindex @file{constants.el} |
| 3332 | @item @file{constants.el} by Carsten Dominik | 3615 | @item @file{constants.el} by Carsten Dominik |
| 3333 | In a table formula (@pxref{Table calculations}), it is possible to use | 3616 | In a table formula (@pxref{Table calculations}), it is possible to use |
| 3334 | names for natural constants or units. Instead of defining you own | 3617 | names for natural constants or units. Instead of defining your own |
| 3335 | constants in the variable @code{org-table-formula-constants}, install | 3618 | constants in the variable @code{org-table-formula-constants}, install |
| 3336 | the @file{constants} package which defines a large number of constants | 3619 | the @file{constants} package which defines a large number of constants |
| 3337 | and units, and lets you use unit prefixes like @samp{M} for | 3620 | and units, and lets you use unit prefixes like @samp{M} for |
| @@ -3350,38 +3633,40 @@ packages along with Org-mode, configure the variable | |||
| 3350 | @code{org-CUA-compatible}. When set, Org-mode will move the following | 3633 | @code{org-CUA-compatible}. When set, Org-mode will move the following |
| 3351 | keybindings in org-mode files, and in the agenda buffer (but not | 3634 | keybindings in org-mode files, and in the agenda buffer (but not |
| 3352 | during date selection). | 3635 | during date selection). |
| 3636 | |||
| 3353 | @example | 3637 | @example |
| 3354 | S-UP -> M-p S-DOWN -> M-n | 3638 | S-UP -> M-p S-DOWN -> M-n |
| 3355 | S-LEFT -> M-- S-RIGHT -> M-+ | 3639 | S-LEFT -> M-- S-RIGHT -> M-+ |
| 3356 | S-RET -> C-S-RET | 3640 | S-RET -> C-S-RET |
| 3357 | @end example | 3641 | @end example |
| 3642 | |||
| 3358 | Yes, these are unfortunately more difficult to remember. If you want | 3643 | Yes, these are unfortunately more difficult to remember. If you want |
| 3359 | to have other replacement keys, look at the variable | 3644 | to have other replacement keys, look at the variable |
| 3360 | @code{org-disputed-keys}. | 3645 | @code{org-disputed-keys}. |
| 3361 | @item @file{remember.el} by John Wiegley | 3646 | @item @file{remember.el} by John Wiegley |
| 3362 | Org mode cooperates with remember, see @ref{Remember}. | 3647 | Org mode cooperates with remember, see @ref{Remember}. |
| 3363 | @file{Remember.el} is not part of Emacs, find it on the web. | 3648 | @file{Remember.el} is not part of Emacs, find it on the web. |
| 3364 | @cindex @file{planner.el} | ||
| 3365 | @item @file{planner.el} by John Wiegley | ||
| 3366 | Planner is another tool to plan work and keep track of tasks. Planner | ||
| 3367 | uses a multi-file approach with project pages and day pages. Is based | ||
| 3368 | on Emacs-Wiki. If Planner is your primary tool, it can be useful to | ||
| 3369 | display the agenda entries resulting from org files in day-pages of | ||
| 3370 | the planner. This can be done through the diary of the calendar: | ||
| 3371 | Integrate org files into the diary as described above, and then turn | ||
| 3372 | on the diary support of planner. Planner is not part of Emacs, find it | ||
| 3373 | on the web. | ||
| 3374 | @end table | 3649 | @end table |
| 3375 | 3650 | ||
| 3376 | @node Bugs, Acknowledgments, Interaction, Miscellaneous | 3651 | @node Bugs, Acknowledgments, Interaction, Miscellaneous |
| 3377 | @section Bugs | 3652 | @section Bugs |
| 3378 | @cindex bugs | 3653 | @cindex bugs |
| 3379 | 3654 | ||
| 3380 | Here is a list of things which should work differently, but which I | 3655 | Here is a list of things that should work differently, but which I |
| 3381 | have found too hard to fix. | 3656 | have found too hard to fix. |
| 3382 | 3657 | ||
| 3383 | @itemize @bullet | 3658 | @itemize @bullet |
| 3384 | @item | 3659 | @item |
| 3660 | If a table field starts with a link, and if the corresponding table | ||
| 3661 | column is narrowed (@pxref{Narrow columns}) to a width too small to | ||
| 3662 | display the link, the field would look entirely empty even though it is | ||
| 3663 | not. To prevent this, Org-mode throws an error. The work-around is to | ||
| 3664 | make the column wide enough to fit the link, or to add some text (at | ||
| 3665 | least 2 characters) before the link in the same field. | ||
| 3666 | @item | ||
| 3667 | Narrowing table columns does not work on XEmacs, because the | ||
| 3668 | @code{format} function does not transport text properties. | ||
| 3669 | @item | ||
| 3385 | Text in an entry protected with the @samp{QUOTE} keyword should not | 3670 | Text in an entry protected with the @samp{QUOTE} keyword should not |
| 3386 | autowrap. | 3671 | autowrap. |
| 3387 | @item | 3672 | @item |
| @@ -3415,8 +3700,6 @@ several words in a row, each must have the emphasize markers, like in | |||
| 3415 | The exporters work well, but could be made more efficient. | 3700 | The exporters work well, but could be made more efficient. |
| 3416 | @end itemize | 3701 | @end itemize |
| 3417 | 3702 | ||
| 3418 | @page | ||
| 3419 | |||
| 3420 | @node Acknowledgments, , Bugs, Miscellaneous | 3703 | @node Acknowledgments, , Bugs, Miscellaneous |
| 3421 | @section Acknowledgments | 3704 | @section Acknowledgments |
| 3422 | @cindex acknowledgments | 3705 | @cindex acknowledgments |
| @@ -3432,37 +3715,41 @@ Org-mode would not be what it is without your input. | |||
| 3432 | @item | 3715 | @item |
| 3433 | Thomas Baumann contributed the code for links to the MH-E email system. | 3716 | Thomas Baumann contributed the code for links to the MH-E email system. |
| 3434 | @item | 3717 | @item |
| 3435 | Pavel Chalmoviansky reported bugs and suggested improvements | 3718 | Alex Bochannek provided a patch for rounding time stamps. |
| 3436 | related to the agenda treatment of items with specified time. | 3719 | @item |
| 3720 | Charles Caves' suggestion sparked the implementation of templates for | ||
| 3721 | Remember. | ||
| 3722 | @item | ||
| 3723 | Pavel Chalmoviansky influenced the agenda treatment of items with | ||
| 3724 | specified time. | ||
| 3725 | @item | ||
| 3726 | Sacha Chua suggested to copy some linking code from Planner. | ||
| 3437 | @item | 3727 | @item |
| 3438 | Sacha Chua, the current maintainer of Planner, suggested to copy | 3728 | Christian Egli converted the documentation into TeXInfo format, patched |
| 3439 | linking code from Planner (I took code for RMAIL and Wanderlust). | 3729 | CSS formatting into the HTML exporter, and inspired the agenda. |
| 3440 | @item | 3730 | @item |
| 3441 | Christian Egli converted the documentation into TeXInfo format and | 3731 | Nic Ferrier contributed mailcap and XML support. |
| 3442 | patched basic CSS formatting support into the HTML exporter. He also | ||
| 3443 | inspired the agenda by showing me his plans for a multifile summary. | ||
| 3444 | @item | 3732 | @item |
| 3445 | Kai Grossjohann pointed out that a number of key bindings in Org-mode | 3733 | Kai Grossjohann pointed out key-binding conflicts caused by Org-mode. |
| 3446 | conflict with other packages. | ||
| 3447 | @item | 3734 | @item |
| 3448 | Stefan Monnier provided a patch with lots of little fixes to keep the | 3735 | Stefan Monnier provided a patch to keep the Emacs-Lisp compiler happy. |
| 3449 | Emacs-Lisp compiler happy. | ||
| 3450 | @item | 3736 | @item |
| 3451 | Tim O'Callaghan suggested in-file links, search options for | 3737 | Tim O'Callaghan suggested in-file links, search options for |
| 3452 | general file links, and TAGS. | 3738 | general file links, and TAGS. |
| 3453 | @item | 3739 | @item |
| 3454 | Oliver Oppitz suggested multi-state TODO items. | 3740 | Oliver Oppitz suggested multi-state TODO items. |
| 3455 | @item | 3741 | @item |
| 3456 | Pete Phillips helped the development of the TAGS feature with beta | 3742 | Scott Otterson sparked the introduction of descriptive text for links, |
| 3457 | testing and suggestions. | 3743 | among other things. |
| 3458 | @item | 3744 | @item |
| 3459 | Matthias Rempe (Oelde) provided ideas, a patch introducing Windows | 3745 | Pete Phillips helped the development of the TAGS feature. |
| 3460 | NT/2000 support, and quality control. | 3746 | @item |
| 3747 | Matthias Rempe (Oelde) provided ideas, Windows support, and quality | ||
| 3748 | control. | ||
| 3461 | @item | 3749 | @item |
| 3462 | Kevin Rogers contributed code to access VM files on remote hosts. | 3750 | Kevin Rogers contributed code to access VM files on remote hosts. |
| 3463 | @item | 3751 | @item |
| 3464 | Philip Rooke created the Org-mode reference card. He also helped with | 3752 | Philip Rooke created the Org-mode reference card and provided lots of feedback. |
| 3465 | beta testing and contributed a number of very useful ideas. | ||
| 3466 | @item | 3753 | @item |
| 3467 | Christian Schlauer proposed angular brackets around links, among other | 3754 | Christian Schlauer proposed angular brackets around links, among other |
| 3468 | things. | 3755 | things. |
| @@ -3470,28 +3757,31 @@ things. | |||
| 3470 | Linking to VM/BBDB/GNUS was inspired by Tom Shannon's | 3757 | Linking to VM/BBDB/GNUS was inspired by Tom Shannon's |
| 3471 | @file{organizer-mode.el}. | 3758 | @file{organizer-mode.el}. |
| 3472 | @item | 3759 | @item |
| 3473 | Juergen Vollmer contributed code generating the table of contents | 3760 | J@"urgen Vollmer contributed code generating the table of contents |
| 3474 | in HTML output, and other export improvements. | 3761 | in HTML output. |
| 3475 | @item | 3762 | @item |
| 3476 | Chris Wallace provided a patch implementing the @samp{QUOTE} keyword. | 3763 | Chris Wallace provided a patch implementing the @samp{QUOTE} keyword. |
| 3477 | @item | 3764 | @item |
| 3478 | David Wainberg suggested the archiving mechanism and shaped the | 3765 | David Wainberg suggested archiving, and improvements to the linking |
| 3479 | internal link system with many suggestions and ideas. | 3766 | system. |
| 3480 | @item | 3767 | @item |
| 3481 | Scheduling TODO items was inspired by John Wiegley's @file{planner.el}. | 3768 | John Wiegley wrote @file{emacs-wiki.el} and @file{planner.el}. The |
| 3769 | development of Org-mode was fully independent, and both systems are | ||
| 3770 | really different beasts in their basic ideas and implementation details. | ||
| 3771 | However, I have later looked at John's code and learned from his | ||
| 3772 | implementation of (i) links where the link itself is hidden and only a | ||
| 3773 | description is shown, and (ii) popping up a calendar to select a date. | ||
| 3482 | @item | 3774 | @item |
| 3483 | Carsten Wimmer suggested some changes and helped fix a bug in linking | 3775 | Carsten Wimmer suggested some changes and helped fix a bug in linking |
| 3484 | to GNUS. | 3776 | to GNUS. |
| 3485 | @item | ||
| 3486 | Roland Winkler pointed out that additional keybindings are needed to | ||
| 3487 | use Org-mode on a tty. | ||
| 3488 | @item | 3777 | @item |
| 3489 | Piotr Zielinski wrote @file{org-mouse.el} and pointed out to me that | 3778 | Roland Winkler requested additional keybindings to make Org-mode |
| 3490 | Emacs 22 can be made to follow links using mouse-1 clicks. | 3779 | work on a tty. |
| 3491 | @c @item | 3780 | @item |
| 3492 | @c Nic Ferrier and Christian Egli implemented XML export. | 3781 | Piotr Zielinski wrote @file{org-mouse.el} and showed how to follow links |
| 3782 | with mouse-1. | ||
| 3493 | @end itemize | 3783 | @end itemize |
| 3494 | 3784 | ||
| 3495 | @node Index, Key Index, Miscellaneous, Top | 3785 | @node Index, Key Index, Miscellaneous, Top |
| 3496 | @chapter Index | 3786 | @chapter Index |
| 3497 | 3787 | ||