Browse Source

Release 4.74

Carsten Dominik 18 years ago
parent
commit
895d70fff9
7 changed files with 1035 additions and 325 deletions
  1. 409 205
      org
  2. 3 0
      org-install.el
  3. 386 101
      org.el
  4. BIN
      org.pdf
  5. 236 18
      org.texi
  6. BIN
      orgcard.pdf
  7. 1 1
      orgcard.tex

+ 409 - 205
org

@@ -5,7 +5,7 @@ START-INFO-DIR-ENTRY
 * Org Mode: (org).      Outline-based notes management and organizer
 * Org Mode: (org).      Outline-based notes management and organizer
 END-INFO-DIR-ENTRY
 END-INFO-DIR-ENTRY
 
 
-   This manual is for Org-mode (version 4.72).
+   This manual is for Org-mode (version 4.74).
 
 
    Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation
    Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation
 
 
@@ -27,7 +27,7 @@ File: org,  Node: Top,  Next: Introduction,  Prev: (dir),  Up: (dir)
 Org Mode Manual
 Org Mode Manual
 ***************
 ***************
 
 
-This manual is for Org-mode (version 4.72).
+This manual is for Org-mode (version 4.74).
 
 
    Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation
    Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation
 
 
@@ -193,7 +193,8 @@ Custom agenda views
 * Storing searches::            Type once, use often
 * Storing searches::            Type once, use often
 * Block agenda::                All the stuff you need in a single buffer
 * Block agenda::                All the stuff you need in a single buffer
 * Setting Options::             Changing the rules
 * Setting Options::             Changing the rules
-* Batch processing::            Agenda views from the command line
+* Exporting Agenda Views::      Writing agendas to files.
+* Extracting Agenda Information for other programs::
 
 
 Embedded LaTeX
 Embedded LaTeX
 
 
@@ -549,7 +550,7 @@ Org-mode uses just two commands, bound to <TAB> and `S-<TAB>' to change
 the visibility in the buffer.
 the visibility in the buffer.
 
 
 `<TAB>'
 `<TAB>'
-     _Subtree cycling_: Rotate current subtree between the states
+     _Subtree cycling_: Rotate current subtree among the states
 
 
           ,-> FOLDED -> CHILDREN -> SUBTREE --.
           ,-> FOLDED -> CHILDREN -> SUBTREE --.
           '-----------------------------------'
           '-----------------------------------'
@@ -562,7 +563,7 @@ the visibility in the buffer.
 
 
 `S-<TAB>'
 `S-<TAB>'
 `C-u <TAB>'
 `C-u <TAB>'
-     _Global cycling_: Rotate the entire buffer between the states
+     _Global cycling_: Rotate the entire buffer among the states
 
 
           ,-> OVERVIEW -> CONTENTS -> SHOW ALL --.
           ,-> OVERVIEW -> CONTENTS -> SHOW ALL --.
           '--------------------------------------'
           '--------------------------------------'
@@ -1154,6 +1155,11 @@ Miscellaneous
      Any prefix argument is passed on to the converter, which uses it
      Any prefix argument is passed on to the converter, which uses it
      to determine the separator.
      to determine the separator.
 
 
+`C-c |'
+     Tables can also be imported by pasting tabular text into the
+     org-mode buffer, selecting the pasted text with `C-x C-x' and then
+     using the `C-c |' command (see above under Creation and conversion.
+
 `M-x org-table-export'
 `M-x org-table-export'
      Export the table as a TAB-separated file.  Useful for data
      Export the table as a TAB-separated file.  Useful for data
      exchange with, for example, Excel or database programs.
      exchange with, for example, Excel or database programs.
@@ -2309,7 +2315,7 @@ for example:
 The most important commands to work with TODO entries are:
 The most important commands to work with TODO entries are:
 
 
 `C-c C-t'
 `C-c C-t'
-     Rotate the TODO state of the current item between
+     Rotate the TODO state of the current item among
 
 
           ,-> (unmarked) -> TODO -> DONE --.
           ,-> (unmarked) -> TODO -> DONE --.
           '--------------------------------'
           '--------------------------------'
@@ -3994,6 +4000,17 @@ Calendar commands
      Export a single iCalendar file containing entries from all agenda
      Export a single iCalendar file containing entries from all agenda
      files.
      files.
 
 
+Exporting to a file
+...................
+
+`C-x C-w'
+     Write the agenda view to a file.  Depending on the extension of the
+     selected file name, the view will be exported as HTML (extension
+     `.html' or `.htm'), Postscript (extension `.ps'), or plain text
+     (any other extension).  Use the variable
+     `org-agenda-exporter-settings' to set options for `ps-print' and
+     for `htmlize' to be used during export.
+
 Quit and Exit
 Quit and Exit
 .............
 .............
 
 
@@ -4021,7 +4038,8 @@ dispatcher (*note Agenda dispatcher::), just like the default commands.
 * Storing searches::            Type once, use often
 * Storing searches::            Type once, use often
 * Block agenda::                All the stuff you need in a single buffer
 * Block agenda::                All the stuff you need in a single buffer
 * Setting Options::             Changing the rules
 * Setting Options::             Changing the rules
-* Batch processing::            Agenda views from the command line
+* Exporting Agenda Views::      Writing agendas to files.
+* Extracting Agenda Information for other programs::
 
 
 
 
 File: org,  Node: Storing searches,  Next: Block agenda,  Prev: Custom agenda views,  Up: Custom agenda views
 File: org,  Node: Storing searches,  Next: Block agenda,  Prev: Custom agenda views,  Up: Custom agenda views
@@ -4107,7 +4125,7 @@ your agenda for the current week, all TODO items that carry the tag
 `C-c a o' provides a similar view for office tasks.
 `C-c a o' provides a similar view for office tasks.
 
 
 
 
-File: org,  Node: Setting Options,  Next: Batch processing,  Prev: Block agenda,  Up: Custom agenda views
+File: org,  Node: Setting Options,  Next: Exporting Agenda Views,  Prev: Block agenda,  Up: Custom agenda views
 
 
 8.6.3 Setting Options for custom commands
 8.6.3 Setting Options for custom commands
 -----------------------------------------
 -----------------------------------------
@@ -4149,7 +4167,8 @@ This would look like this:
            '(("h" "Agenda and Home-related tasks"
            '(("h" "Agenda and Home-related tasks"
               ((agenda)
               ((agenda)
                (tags-todo "HOME")
                (tags-todo "HOME")
-               (tags "GARDEN" ((org-agenda-sorting-strategy '(priority-up)))))
+               (tags "GARDEN"
+                     ((org-agenda-sorting-strategy '(priority-up)))))
               ((org-agenda-sorting-strategy '(priority-down))))
               ((org-agenda-sorting-strategy '(priority-down))))
              ("o" "Agenda and Office-related tasks"
              ("o" "Agenda and Office-related tasks"
               ((agenda)
               ((agenda)
@@ -4164,31 +4183,199 @@ value is a string, you need to add the double quotes around the value
 yourself.
 yourself.
 
 
 
 
-File: org,  Node: Batch processing,  Prev: Setting Options,  Up: Custom agenda views
+File: org,  Node: Exporting Agenda Views,  Next: Extracting Agenda Information for other programs,  Prev: Setting Options,  Up: Custom agenda views
 
 
-8.6.4 Creating agenda views in batch processing
------------------------------------------------
+8.6.4 Exporting Agenda Views
+----------------------------
+
+If you are away from your computer, it can be very useful to have a
+printed version of some agenda views to carry around.  Org-mode can
+export custom agenda views as plain text, HTML(1) and postscript.  If
+you want to do this only occasionally, use the commend
+
+`C-x C-w'
+     Write the agenda view to a file.  Depending on the extension of the
+     selected file name, the view will be exported as HTML (extension
+     `.html' or `.htm'), Postscript (extension `.ps'), or plain text
+     (any other extension).  Use the variable
+     `org-agenda-exporter-settings' to set options for `ps-print' and
+     for `htmlize' to be used during export, for example
+          (setq org-agenda-exporter-settings
+                '((ps-number-of-columns 2)
+                  (ps-landscape-mode t)
+                  (htmlize-output-type 'inline-css)))
+
+   If you need to export certain agenda views frequently, you can
+associate any custom agenda command with a list of output file names
+(2).  Here is an example that first does define custom commands for the
+agenda and the global todo list, together with a number of files to
+which to export them.  Then we define two block agenda commands and
+specify filenames for them as well.  File names can be relative to the
+current working directory, or absolute.
+
+     (setq org-agenda-custom-commands
+           '(("X" agenda "" nil ("agenda.html" "agenda.ps"))
+             ("Y" alltodo "" nil ("todo.html" "todo.txt" "todo.ps"))
+             ("h" "Agenda and Home-related tasks"
+              ((agenda)
+               (tags-todo "HOME")
+               (tags "GARDEN"))
+              nil
+              ("~/views/home.html"))
+             ("o" "Agenda and Office-related tasks"
+              ((agenda)
+               (tags-todo "WORK")
+               (tags "OFFICE"))
+              nil
+              ("~/views/office.ps"))))
+
+   The extension of the file name determines the type of export.  If it
+is `.html', Org-mode will use the `htmlize.el' package to convert the
+buffer to HTML and save it to this file name.  If the extension is
+`.ps', `ps-print-buffer-with-faces' is used to produce postscript
+output.  Any other extension produces a plain ASCII file.
+
+   The export files are _not_ created when you use one of those
+commands interactively.  Instead, there is a special command to produce
+_all_ specified files in one step:
+
+`C-c a e'
+     Export all agenda views that have export filenames associated with
+     them.
+
+   You can use the options section of the custom agenda commands to also
+set options for the export commands.  For example:
 
 
-If you want to print or otherwise reprocess agenda views, it can be
-useful to create an agenda from the command line.  This is the purpose
-of the function `org-batch-agenda'.  It takes as a parameter one of the
-strings that are the keys in `org-agenda-custom-commands'.  For
-example, to directly print the current TODO list, you could use
+     (setq org-agenda-custom-commands
+           '(("X" agenda ""
+              ((ps-number-of-columns 2)
+               (ps-landscape-mode t)
+               (org-agenda-prefix-format " [ ] ")
+               (org-agenda-with-colors nil)
+               (org-agenda-remove-tags t))
+              ("theagenda.ps"))))
+
+This command sets two options for the postscript exporter, to make it
+print in two columns in landscape format - the resulting page can be cut
+in two and then used in a paper agenda.  The remaining settings modify
+the agenda prefix to omit category and scheduling information, and
+instead include a checkbox to check off items.  We also remove the tags
+to make the lines compact, and we don't want to use colors for the
+black-and-white printer.  Settings specified in
+`org-agenda-exporter-settings' will also apply, but the settings in
+`org-agenda-custom-commands' take precedence.
+
+From the command line you may also use
+     emacs -f org-batch-store-agenda-views -kill
+   or, if you need to modify some parameters
+     emacs -eval '(org-batch-store-agenda-views                      \
+                   org-agenda-ndays 30                               \
+                   org-agenda-include-diary nil                      \
+                   org-agenda-files (quote ("~/org/project.org")))'  \
+           -kill
+   which will create the agenda views restricted to the file
+`~/org/project.org', without diary entries and with 30 days extent.
+
+   ---------- Footnotes ----------
+
+   (1) You need to install Hrvoje Niksic' `htmlize.el'.
+
+   (2) If you want to store standard views like the weekly agenda or
+the global TODO list as well, you need to define custom commands for
+them in order to be able to specify filenames.
+
+
+File: org,  Node: Extracting Agenda Information for other programs,  Prev: Exporting Agenda Views,  Up: Custom agenda views
+
+8.6.5 Extracting Agenda Information for other programs
+------------------------------------------------------
+
+Org-mode provides commands to access agenda information for the command
+line in emacs batch mode.  This extracted information can be sent
+directly to a printer, or it can be read by a program that does further
+processing of the data.  The first of these commands is the function
+`org-batch-agenda', that produces an agenda view and sends it as ASCII
+text to STDOUT.  The command takes a single string as parameter.  If
+the string has length 1, it is used as a key to one of the commands you
+have configured in `org-agenda-custom-commands', basically any key you
+can use after `C-c a'.  For example, to directly print the current TODO
+list, you could use
 
 
      emacs -batch -l ~/.emacs -eval '(org-batch-agenda "t")' | lpr
      emacs -batch -l ~/.emacs -eval '(org-batch-agenda "t")' | lpr
 
 
+   If the parameter is a string with 2 or more characters, it is used
+as a tags/todo match string.  For example, to print your local shopping
+list (all items with the tag `shop', but excluding the tag `NewYork'),
+you could use
+
+     emacs -batch -l ~/.emacs                                      \
+           -eval '(org-batch-agenda "+shop-NewYork")' | lpr
+
 You may also modify parameters on the fly like this:
 You may also modify parameters on the fly like this:
 
 
      emacs -batch -l ~/.emacs                                      \
      emacs -batch -l ~/.emacs                                      \
         -eval '(org-batch-agenda "a"                               \
         -eval '(org-batch-agenda "a"                               \
-                 org-agenda-ndays 300                              \
+                 org-agenda-ndays 30                               \
                  org-agenda-include-diary nil                      \
                  org-agenda-include-diary nil                      \
                  org-agenda-files (quote ("~/org/project.org")))'  \
                  org-agenda-files (quote ("~/org/project.org")))'  \
         | lpr
         | lpr
 
 
-which will produce a 300 day agenda, fully restricted to the Org file
+which will produce a 30 day agenda, fully restricted to the Org file
 `~/org/projects.org', not even including the diary.
 `~/org/projects.org', not even including the diary.
 
 
+   If you want to process the agenda data in more sophisticated ways,
+you can use the command `org-batch-agenda-csv' to get a comma-separated
+list of values for each agenda item.  Each line in the output will
+contain a number of fields separated by commas.  The fields in a line
+are:
+
+     category     The category of the item
+     head         The headline, without TODO kwd, TAGS and PRIORITY
+     type         The type of the agenda entry, can be
+                     todo               selected in TODO match
+                     tagsmatch          selected in tags match
+                     diary              imported from diary
+                     deadline           a deadline
+                     scheduled          scheduled
+                     timestamp          appointment, selected by timestamp
+                     closed             entry was closed on date
+                     upcoming-deadline  warning about nearing deadline
+                     past-scheduled     forwarded scheduled item
+                     block              entry has date block including date
+     todo         The todo keyword, if any
+     tags         All tags including inherited ones, separated by colons
+     date         The relevant date, like 2007-2-14
+     time         The time, like 15:00-16:50
+     extra        String with extra planning info
+     priority-l   The priority letter if any was given
+     priority-n   The computed numerical priority
+
+Time and date will only be given if a timestamp (or deadline/scheduled)
+lead to the selection of the item.
+
+   A CSV list like this is very easy to use in a post processing script.
+For example, here is a Perl program that gets the TODO list from
+Emacs/org-mode and prints all the items, preceded by a checkbox:
+
+     #!/usr/bin/perl
+
+     # define the Emacs command to run
+     $cmd = "emacs -batch -l ~/.emacs -eval '(org-batch-agenda-csv \"t\")'";
+
+     # run it and capture the output
+     $agenda = qx{$cmd 2>/dev/null};
+
+     # loop over all lines
+     foreach $line (split(/\n/,$agenda)) {
+
+       # get the individual values
+       ($category,$head,$type,$todo,$tags,$date,$time,$extra,
+        $priority_l,$priority_n) = split(/,/,$line);
+
+       # proccess and print
+       print "[ ] $head\n";
+     }
+
 
 
 File: org,  Node: Embedded LaTeX,  Next: Exporting,  Prev: Agenda views,  Up: Top
 File: org,  Node: Embedded LaTeX,  Next: Exporting,  Prev: Agenda views,  Up: Top
 
 
@@ -6210,12 +6397,16 @@ Index
 * agenda:                                Weekly/Daily agenda. (line   6)
 * agenda:                                Weekly/Daily agenda. (line   6)
 * agenda dispatcher:                     Agenda dispatcher.   (line   6)
 * agenda dispatcher:                     Agenda dispatcher.   (line   6)
 * agenda files:                          Agenda files.        (line   6)
 * agenda files:                          Agenda files.        (line   6)
-* agenda files, removing buffers:        Agenda commands.     (line 228)
+* agenda files, removing buffers:        Agenda commands.     (line 239)
 * agenda views:                          Agenda views.        (line   6)
 * agenda views:                          Agenda views.        (line   6)
 * agenda views, custom:                  Custom agenda views. (line   6)
 * agenda views, custom:                  Custom agenda views. (line   6)
+* agenda views, exporting <1>:           Exporting Agenda Views.
+                                                              (line   6)
+* agenda views, exporting:               Agenda commands.     (line 228)
 * agenda views, user-defined:            Special agenda views.
 * agenda views, user-defined:            Special agenda views.
                                                               (line   6)
                                                               (line   6)
-* agenda, batch production:              Batch processing.    (line   6)
+* agenda, pipe:                          Extracting Agenda Information for other programs.
+                                                              (line   6)
 * agenda, with block views:              Block agenda.        (line   6)
 * agenda, with block views:              Block agenda.        (line   6)
 * align, STARTUP keyword:                In-buffer settings.  (line  29)
 * align, STARTUP keyword:                In-buffer settings.  (line  29)
 * allout.el:                             Conflicts.           (line   6)
 * allout.el:                             Conflicts.           (line   6)
@@ -6316,6 +6507,9 @@ Index
 * evaluate time range:                   Creating timestamps. (line  64)
 * evaluate time range:                   Creating timestamps. (line  64)
 * even, STARTUP keyword:                 In-buffer settings.  (line  44)
 * even, STARTUP keyword:                 In-buffer settings.  (line  44)
 * exporting:                             Exporting.           (line   6)
 * exporting:                             Exporting.           (line   6)
+* exporting agenda views <1>:            Exporting Agenda Views.
+                                                              (line  12)
+* exporting agenda views:                Agenda commands.     (line 228)
 * exporting, not:                        Comment lines.       (line   6)
 * exporting, not:                        Comment lines.       (line   6)
 * extended TODO keywords:                TODO extensions.     (line   6)
 * extended TODO keywords:                TODO extensions.     (line   6)
 * extension, third-party:                Extensions.          (line   6)
 * extension, third-party:                Extensions.          (line   6)
@@ -6507,6 +6701,8 @@ Index
 * SCHEDULED keyword:                     Time stamps.         (line  40)
 * SCHEDULED keyword:                     Time stamps.         (line  40)
 * scheduling:                            Time stamps.         (line   6)
 * scheduling:                            Time stamps.         (line   6)
 * scheduling, repeating:                 Repeating items.     (line   6)
 * scheduling, repeating:                 Repeating items.     (line   6)
+* Scripts, for agenda processing:        Extracting Agenda Information for other programs.
+                                                              (line   6)
 * search option in file links:           Search options.      (line   6)
 * search option in file links:           Search options.      (line   6)
 * search strings, custom:                Custom searches.     (line   6)
 * search strings, custom:                Custom searches.     (line   6)
 * searching for tags:                    Tag searches.        (line   6)
 * searching for tags:                    Tag searches.        (line   6)
@@ -6715,6 +6911,8 @@ Key Index
 * C-c a #:                               Stuck projects.      (line  13)
 * C-c a #:                               Stuck projects.      (line  13)
 * C-c a a:                               Weekly/Daily agenda. (line   9)
 * C-c a a:                               Weekly/Daily agenda. (line   9)
 * C-c a C:                               Storing searches.    (line   9)
 * C-c a C:                               Storing searches.    (line   9)
+* C-c a e:                               Exporting Agenda Views.
+                                                              (line  57)
 * C-c a M:                               Matching headline tags.
 * C-c a M:                               Matching headline tags.
                                                               (line  15)
                                                               (line  15)
 * C-c a m:                               Matching headline tags.
 * C-c a m:                               Matching headline tags.
@@ -6836,6 +7034,9 @@ Key Index
                                                               (line  18)
                                                               (line  18)
 * C-x C-s:                               Editing and debugging formulas.
 * C-x C-s:                               Editing and debugging formulas.
                                                               (line  46)
                                                               (line  46)
+* C-x C-w <1>:                           Exporting Agenda Views.
+                                                              (line  11)
+* C-x C-w:                               Agenda commands.     (line 227)
 * D:                                     Agenda commands.     (line  72)
 * D:                                     Agenda commands.     (line  72)
 * d:                                     Agenda commands.     (line  69)
 * d:                                     Agenda commands.     (line  69)
 * f:                                     Agenda commands.     (line  42)
 * f:                                     Agenda commands.     (line  42)
@@ -6907,7 +7108,7 @@ Key Index
 * o:                                     Agenda commands.     (line  65)
 * o:                                     Agenda commands.     (line  65)
 * P:                                     Agenda commands.     (line 140)
 * P:                                     Agenda commands.     (line 140)
 * p:                                     Agenda commands.     (line  20)
 * p:                                     Agenda commands.     (line  20)
-* q:                                     Agenda commands.     (line 227)
+* q:                                     Agenda commands.     (line 238)
 * r <1>:                                 Agenda commands.     (line  80)
 * r <1>:                                 Agenda commands.     (line  80)
 * r:                                     Global TODO list.    (line  22)
 * r:                                     Global TODO list.    (line  22)
 * S:                                     Agenda commands.     (line 206)
 * S:                                     Agenda commands.     (line 206)
@@ -6954,194 +7155,197 @@ Key Index
 * T:                                     Agenda commands.     (line 124)
 * T:                                     Agenda commands.     (line 124)
 * t:                                     Agenda commands.     (line 111)
 * t:                                     Agenda commands.     (line 111)
 * w:                                     Agenda commands.     (line  66)
 * w:                                     Agenda commands.     (line  66)
-* x:                                     Agenda commands.     (line 228)
+* x:                                     Agenda commands.     (line 239)
 * X:                                     Agenda commands.     (line 183)
 * X:                                     Agenda commands.     (line 183)
 
 
 
 
 
 
 Tag Table:
 Tag Table:
 Node: Top970
 Node: Top970
-Node: Introduction11536
-Node: Summary11951
-Node: Installation14960
-Node: Activation16338
-Node: Feedback17587
-Node: Document structure19663
-Node: Outlines20437
-Node: Headlines21097
-Ref: Headlines-Footnote-122105
-Node: Visibility cycling22204
-Ref: Visibility cycling-Footnote-124418
-Ref: Visibility cycling-Footnote-224476
-Ref: Visibility cycling-Footnote-324526
-Node: Motion24796
-Node: Structure editing25750
-Node: Archiving28576
-Node: ARCHIVE tag29134
-Node: Moving subtrees30927
-Node: Sparse trees32238
-Ref: Sparse trees-Footnote-134370
-Ref: Sparse trees-Footnote-234552
-Node: Plain lists34667
-Ref: Plain lists-Footnote-138436
-Ref: Plain lists-Footnote-238794
-Node: Tables38978
-Node: Built-in table editor39492
-Node: Narrow columns46511
-Ref: Narrow columns-Footnote-148444
-Node: orgtbl-mode48490
-Node: The spreadsheet49294
-Node: References50381
-Ref: References-Footnote-154510
-Node: Formula syntax for Calc54799
-Node: Formula syntax for Lisp57256
-Node: Field formulas58525
-Node: Column formulas59833
-Node: Editing and debugging formulas61432
-Node: Updating the table65585
-Node: Advanced features66620
-Node: Hyperlinks71145
-Node: Link format71918
-Node: Internal links73211
-Ref: Internal links-Footnote-175136
-Node: Radio targets75268
-Node: External links75959
-Node: Handling links78363
-Ref: Handling links-Footnote-183473
-Ref: Handling links-Footnote-283710
-Node: Link abbreviations83784
-Node: Search options85463
-Ref: Search options-Footnote-187243
-Node: Custom searches87324
-Node: Remember88372
-Node: Setting up remember89359
-Node: Remember templates89941
-Ref: Remember templates-Footnote-193233
-Node: Storing notes93331
-Node: TODO items95218
-Node: TODO basics96201
-Node: TODO extensions97900
-Node: Workflow states98719
-Ref: Workflow states-Footnote-199894
-Node: TODO types99987
-Ref: TODO types-Footnote-1101570
-Node: Multiple sets in one file101652
-Node: Per file keywords103263
-Ref: Per file keywords-Footnote-1104552
-Node: Priorities104753
-Node: Breaking down tasks105999
-Ref: Breaking down tasks-Footnote-1106519
-Node: Checkboxes106615
-Node: Timestamps109370
-Node: Time stamps109904
-Ref: Time stamps-Footnote-1113398
-Ref: Time stamps-Footnote-2113514
-Node: Creating timestamps113669
-Node: The date/time prompt116327
-Ref: The date/time prompt-Footnote-1118288
-Node: Custom time format118394
-Node: Repeating items119952
-Node: Progress logging121762
-Node: Closing items122408
-Ref: Closing items-Footnote-1123342
-Ref: Closing items-Footnote-2123411
-Node: Tracking TODO state changes123484
-Node: Clocking work time124340
-Ref: Clocking work time-Footnote-1127986
-Ref: Clocking work time-Footnote-2128064
-Node: Tags128190
-Node: Tag inheritance128952
-Node: Setting tags129889
-Ref: Setting tags-Footnote-1134412
-Ref: Setting tags-Footnote-2134524
-Node: Tag searches134607
-Node: Agenda views137318
-Node: Agenda files139263
-Ref: Agenda files-Footnote-1140229
-Ref: Agenda files-Footnote-2140378
-Node: Agenda dispatcher140571
-Node: Built-in agenda views142262
-Node: Weekly/Daily agenda142840
-Node: Global TODO list144969
-Node: Matching headline tags147241
-Node: Timeline148312
-Node: Stuck projects148978
-Node: Presentation and sorting150829
-Node: Categories151620
-Node: Time-of-day specifications152284
-Node: Sorting of agenda items154255
-Node: Agenda commands155537
-Node: Custom agenda views162266
-Node: Storing searches162941
-Node: Block agenda164853
-Node: Setting Options166083
-Node: Batch processing168795
-Node: Embedded LaTeX169925
-Ref: Embedded LaTeX-Footnote-1171017
-Node: Math symbols171207
-Node: Subscripts and Superscripts171972
-Node: LaTeX fragments172816
-Ref: LaTeX fragments-Footnote-1175050
-Node: Processing LaTeX fragments175312
-Node: CDLaTeX mode176258
-Ref: CDLaTeX mode-Footnote-1178742
-Node: Exporting178890
-Node: ASCII export180204
-Node: HTML export181494
-Node: Export commands182113
-Node: Quoting HTML tags182924
-Node: Links183554
-Node: Images184251
-Ref: Images-Footnote-1185122
-Node: CSS support185183
-Ref: CSS support-Footnote-1186502
-Node: XOXO export186615
-Node: iCalendar export187054
-Node: Text interpretation188273
-Node: Comment lines188815
-Node: Initial text189210
-Node: Enhancing text190884
-Ref: Enhancing text-Footnote-1192746
-Node: Export options192836
-Node: Publishing194729
-Ref: Publishing-Footnote-1195525
-Node: Configuration195721
-Node: Project alist196439
-Node: Sources and destinations197505
-Node: Selecting files198235
-Node: Publishing action198983
-Node: Publishing options200216
-Node: Publishing links202368
-Node: Project page index203881
-Node: Sample configuration204659
-Node: Simple example205151
-Node: Complex example205824
-Node: Triggering publication207900
-Node: Miscellaneous208585
-Node: Completion209219
-Node: Customization210690
-Node: In-buffer settings211273
-Node: The very busy C-c C-c key215899
-Node: Clean view217543
-Node: TTY keys220120
-Node: Interaction221730
-Node: Cooperation222127
-Node: Conflicts224869
-Node: Bugs226432
-Node: Extensions and Hacking227928
-Node: Extensions228524
-Node: Tables in arbitrary syntax230471
-Node: Radio tables231548
-Node: A LaTeX example234051
-Ref: A LaTeX example-Footnote-1237697
-Ref: A LaTeX example-Footnote-2237845
-Node: Translator functions238280
-Ref: Translator functions-Footnote-1241389
-Node: Dynamic blocks241477
-Node: Special agenda views243449
-Ref: Special agenda views-Footnote-1245728
-Node: History and Acknowledgments245988
-Node: Index251848
-Node: Key Index282975
+Node: Introduction11580
+Node: Summary11995
+Node: Installation15004
+Node: Activation16382
+Node: Feedback17631
+Node: Document structure19707
+Node: Outlines20481
+Node: Headlines21141
+Ref: Headlines-Footnote-122149
+Node: Visibility cycling22248
+Ref: Visibility cycling-Footnote-124458
+Ref: Visibility cycling-Footnote-224516
+Ref: Visibility cycling-Footnote-324566
+Node: Motion24836
+Node: Structure editing25790
+Node: Archiving28616
+Node: ARCHIVE tag29174
+Node: Moving subtrees30967
+Node: Sparse trees32278
+Ref: Sparse trees-Footnote-134410
+Ref: Sparse trees-Footnote-234592
+Node: Plain lists34707
+Ref: Plain lists-Footnote-138476
+Ref: Plain lists-Footnote-238834
+Node: Tables39018
+Node: Built-in table editor39532
+Node: Narrow columns46771
+Ref: Narrow columns-Footnote-148704
+Node: orgtbl-mode48750
+Node: The spreadsheet49554
+Node: References50641
+Ref: References-Footnote-154770
+Node: Formula syntax for Calc55059
+Node: Formula syntax for Lisp57516
+Node: Field formulas58785
+Node: Column formulas60093
+Node: Editing and debugging formulas61692
+Node: Updating the table65845
+Node: Advanced features66880
+Node: Hyperlinks71405
+Node: Link format72178
+Node: Internal links73471
+Ref: Internal links-Footnote-175396
+Node: Radio targets75528
+Node: External links76219
+Node: Handling links78623
+Ref: Handling links-Footnote-183733
+Ref: Handling links-Footnote-283970
+Node: Link abbreviations84044
+Node: Search options85723
+Ref: Search options-Footnote-187503
+Node: Custom searches87584
+Node: Remember88632
+Node: Setting up remember89619
+Node: Remember templates90201
+Ref: Remember templates-Footnote-193493
+Node: Storing notes93591
+Node: TODO items95478
+Node: TODO basics96461
+Node: TODO extensions98158
+Node: Workflow states98977
+Ref: Workflow states-Footnote-1100152
+Node: TODO types100245
+Ref: TODO types-Footnote-1101828
+Node: Multiple sets in one file101910
+Node: Per file keywords103521
+Ref: Per file keywords-Footnote-1104810
+Node: Priorities105011
+Node: Breaking down tasks106257
+Ref: Breaking down tasks-Footnote-1106777
+Node: Checkboxes106873
+Node: Timestamps109628
+Node: Time stamps110162
+Ref: Time stamps-Footnote-1113656
+Ref: Time stamps-Footnote-2113772
+Node: Creating timestamps113927
+Node: The date/time prompt116585
+Ref: The date/time prompt-Footnote-1118546
+Node: Custom time format118652
+Node: Repeating items120210
+Node: Progress logging122020
+Node: Closing items122666
+Ref: Closing items-Footnote-1123600
+Ref: Closing items-Footnote-2123669
+Node: Tracking TODO state changes123742
+Node: Clocking work time124598
+Ref: Clocking work time-Footnote-1128244
+Ref: Clocking work time-Footnote-2128322
+Node: Tags128448
+Node: Tag inheritance129210
+Node: Setting tags130147
+Ref: Setting tags-Footnote-1134670
+Ref: Setting tags-Footnote-2134782
+Node: Tag searches134865
+Node: Agenda views137576
+Node: Agenda files139521
+Ref: Agenda files-Footnote-1140487
+Ref: Agenda files-Footnote-2140636
+Node: Agenda dispatcher140829
+Node: Built-in agenda views142520
+Node: Weekly/Daily agenda143098
+Node: Global TODO list145227
+Node: Matching headline tags147499
+Node: Timeline148570
+Node: Stuck projects149236
+Node: Presentation and sorting151087
+Node: Categories151878
+Node: Time-of-day specifications152542
+Node: Sorting of agenda items154513
+Node: Agenda commands155795
+Node: Custom agenda views162949
+Node: Storing searches163668
+Node: Block agenda165580
+Node: Setting Options166810
+Node: Exporting Agenda Views169549
+Ref: Exporting Agenda Views-Footnote-1173840
+Ref: Exporting Agenda Views-Footnote-2173897
+Node: Extracting Agenda Information for other programs174083
+Node: Embedded LaTeX178209
+Ref: Embedded LaTeX-Footnote-1179301
+Node: Math symbols179491
+Node: Subscripts and Superscripts180256
+Node: LaTeX fragments181100
+Ref: LaTeX fragments-Footnote-1183334
+Node: Processing LaTeX fragments183596
+Node: CDLaTeX mode184542
+Ref: CDLaTeX mode-Footnote-1187026
+Node: Exporting187174
+Node: ASCII export188488
+Node: HTML export189778
+Node: Export commands190397
+Node: Quoting HTML tags191208
+Node: Links191838
+Node: Images192535
+Ref: Images-Footnote-1193406
+Node: CSS support193467
+Ref: CSS support-Footnote-1194786
+Node: XOXO export194899
+Node: iCalendar export195338
+Node: Text interpretation196557
+Node: Comment lines197099
+Node: Initial text197494
+Node: Enhancing text199168
+Ref: Enhancing text-Footnote-1201030
+Node: Export options201120
+Node: Publishing203013
+Ref: Publishing-Footnote-1203809
+Node: Configuration204005
+Node: Project alist204723
+Node: Sources and destinations205789
+Node: Selecting files206519
+Node: Publishing action207267
+Node: Publishing options208500
+Node: Publishing links210652
+Node: Project page index212165
+Node: Sample configuration212943
+Node: Simple example213435
+Node: Complex example214108
+Node: Triggering publication216184
+Node: Miscellaneous216869
+Node: Completion217503
+Node: Customization218974
+Node: In-buffer settings219557
+Node: The very busy C-c C-c key224183
+Node: Clean view225827
+Node: TTY keys228404
+Node: Interaction230014
+Node: Cooperation230411
+Node: Conflicts233153
+Node: Bugs234716
+Node: Extensions and Hacking236212
+Node: Extensions236808
+Node: Tables in arbitrary syntax238755
+Node: Radio tables239832
+Node: A LaTeX example242335
+Ref: A LaTeX example-Footnote-1245981
+Ref: A LaTeX example-Footnote-2246129
+Node: Translator functions246564
+Ref: Translator functions-Footnote-1249673
+Node: Dynamic blocks249761
+Node: Special agenda views251733
+Ref: Special agenda views-Footnote-1254012
+Node: History and Acknowledgments254272
+Node: Index260132
+Node: Key Index291936
 
 
 End Tag Table
 End Tag Table

+ 3 - 0
org-install.el

@@ -22,6 +22,9 @@
 (autoload 'org-export-icalendar-combine-agenda-files "org"
 (autoload 'org-export-icalendar-combine-agenda-files "org"
   "Export all files in `org-agenda-files' to a single combined iCalendar file." t)
   "Export all files in `org-agenda-files' to a single combined iCalendar file." t)
 (autoload 'org-batch-agenda "org")
 (autoload 'org-batch-agenda "org")
+(autoload 'org-store-agenda-views "org" "Store agenda views to files" t)
+(autoload 'org-batch-store-agenda-views "org")
+
 (autoload 'org-publish-current-file "org-publish" "Publish current file." t)
 (autoload 'org-publish-current-file "org-publish" "Publish current file." t)
 (autoload 'org-publish-current-project "org-publish"
 (autoload 'org-publish-current-project "org-publish"
   "Publish all files of current project." t)
   "Publish all files of current project." t)

File diff suppressed because it is too large
+ 386 - 101
org.el


BIN
org.pdf


+ 236 - 18
org.texi

@@ -3,7 +3,7 @@
 @setfilename ../info/org
 @setfilename ../info/org
 @settitle Org Mode Manual
 @settitle Org Mode Manual
 
 
-@set VERSION 4.72
+@set VERSION 4.74
 @set DATE April 2007
 @set DATE April 2007
 
 
 @dircategory Emacs
 @dircategory Emacs
@@ -224,7 +224,8 @@ Custom agenda views
 * Storing searches::            Type once, use often
 * Storing searches::            Type once, use often
 * Block agenda::                All the stuff you need in a single buffer
 * Block agenda::                All the stuff you need in a single buffer
 * Setting Options::             Changing the rules
 * Setting Options::             Changing the rules
-* Batch processing::            Agenda views from the command line
+* Exporting Agenda Views::      Writing agendas to files.
+* Extracting Agenda Information for other programs::  
 
 
 Embedded LaTeX
 Embedded LaTeX
 
 
@@ -624,7 +625,7 @@ Org-mode uses just two commands, bound to @key{TAB} and
 @table @kbd
 @table @kbd
 @kindex @key{TAB}
 @kindex @key{TAB}
 @item @key{TAB}
 @item @key{TAB}
-@emph{Subtree cycling}: Rotate current subtree between the states
+@emph{Subtree cycling}: Rotate current subtree among the states
 
 
 @example
 @example
 ,-> FOLDED -> CHILDREN -> SUBTREE --.
 ,-> FOLDED -> CHILDREN -> SUBTREE --.
@@ -646,7 +647,7 @@ argument (@kbd{C-u @key{TAB}}), global cycling is invoked.
 @kindex S-@key{TAB}
 @kindex S-@key{TAB}
 @item S-@key{TAB}
 @item S-@key{TAB}
 @itemx C-u @key{TAB}
 @itemx C-u @key{TAB}
-@emph{Global cycling}: Rotate the entire buffer between the states
+@emph{Global cycling}: Rotate the entire buffer among the states
 
 
 @example
 @example
 ,-> OVERVIEW -> CONTENTS -> SHOW ALL --.
 ,-> OVERVIEW -> CONTENTS -> SHOW ALL --.
@@ -1300,6 +1301,10 @@ database, because these programs generally can write TAB-separated text
 files.  This command works by inserting the file into the buffer and
 files.  This command works by inserting the file into the buffer and
 then converting the region to a table.  Any prefix argument is passed on
 then converting the region to a table.  Any prefix argument is passed on
 to the converter, which uses it to determine the separator.
 to the converter, which uses it to determine the separator.
+@item C-c |
+Tables can also be imported by pasting tabular text into the org-mode
+buffer, selecting the pasted text with @kbd{C-x C-x} and then using the
+@kbd{C-c |} command (see above under @i{Creation and conversion}.
 @c
 @c
 @item M-x org-table-export
 @item M-x org-table-export
 Export the table as a TAB-separated file.  Useful for data exchange with,
 Export the table as a TAB-separated file.  Useful for data exchange with,
@@ -1533,6 +1538,7 @@ non-standard convention that @samp{/} has lower precedence than
 evaluation by @code{calc-eval} (@pxref{Calling Calc from
 evaluation by @code{calc-eval} (@pxref{Calling Calc from
 Your Programs,calc-eval,Calling calc from Your Lisp Programs,calc,GNU
 Your Programs,calc-eval,Calling calc from Your Lisp Programs,calc,GNU
 Emacs Calc Manual}),
 Emacs Calc Manual}),
+@c FIXME:  The link to the calc manual in HTML does not work.
 variable substitution takes place according to the rules described above.
 variable substitution takes place according to the rules described above.
 @cindex vectors, in table calculations
 @cindex vectors, in table calculations
 The range vectors can be directly fed into the calc vector functions
 The range vectors can be directly fed into the calc vector functions
@@ -2570,7 +2576,7 @@ The most important commands to work with TODO entries are:
 @kindex C-c C-t
 @kindex C-c C-t
 @cindex cycling, of TODO states
 @cindex cycling, of TODO states
 @item C-c C-t
 @item C-c C-t
-Rotate the TODO state of the current item between
+Rotate the TODO state of the current item among
 
 
 @example
 @example
 ,-> (unmarked) -> TODO -> DONE --.
 ,-> (unmarked) -> TODO -> DONE --.
@@ -4401,6 +4407,18 @@ Show holidays for three month around the cursor date.
 @item C-c C-x C-c
 @item C-c C-x C-c
 Export a single iCalendar file containing entries from all agenda files.
 Export a single iCalendar file containing entries from all agenda files.
 
 
+@tsubheading{Exporting to a file}
+@kindex C-x C-w
+@item C-x C-w
+@cindex exporting agenda views
+@cindex agenda views, exporting
+Write the agenda view to a file.  Depending on the extension of the
+selected file name, the view will be exported as HTML (extension
+@file{.html} or @file{.htm}), Postscript (extension @file{.ps}), or
+plain text (any other extension).  Use the variable
+@code{org-agenda-exporter-settings} to set options for @file{ps-print}
+and for @file{htmlize} to be used during export.
+
 @tsubheading{Quit and Exit}
 @tsubheading{Quit and Exit}
 @kindex q
 @kindex q
 @item q
 @item q
@@ -4429,7 +4447,8 @@ dispatcher (@pxref{Agenda dispatcher}), just like the default commands.
 * Storing searches::            Type once, use often
 * Storing searches::            Type once, use often
 * Block agenda::                All the stuff you need in a single buffer
 * Block agenda::                All the stuff you need in a single buffer
 * Setting Options::             Changing the rules
 * Setting Options::             Changing the rules
-* Batch processing::            Agenda views from the command line
+* Exporting Agenda Views::      Writing agendas to files.
+* Extracting Agenda Information for other programs::  
 @end menu
 @end menu
 
 
 @node Storing searches, Block agenda, Custom agenda views, Custom agenda views
 @node Storing searches, Block agenda, Custom agenda views, Custom agenda views
@@ -4521,7 +4540,7 @@ your agenda for the current week, all TODO items that carry the tag
 command @kbd{C-c a o} provides a similar view for office tasks.
 command @kbd{C-c a o} provides a similar view for office tasks.
 
 
 
 
-@node Setting Options, Batch processing, Block agenda, Custom agenda views
+@node Setting Options, Exporting Agenda Views, Block agenda, Custom agenda views
 @subsection Setting Options for custom commands
 @subsection Setting Options for custom commands
 @cindex options, for custom agenda views
 @cindex options, for custom agenda views
 
 
@@ -4569,7 +4588,8 @@ the results for GARDEN tags query in the opposite order,
       '(("h" "Agenda and Home-related tasks"
       '(("h" "Agenda and Home-related tasks"
          ((agenda)
          ((agenda)
           (tags-todo "HOME")
           (tags-todo "HOME")
-          (tags "GARDEN" ((org-agenda-sorting-strategy '(priority-up)))))
+          (tags "GARDEN"
+                ((org-agenda-sorting-strategy '(priority-up)))))
          ((org-agenda-sorting-strategy '(priority-down))))
          ((org-agenda-sorting-strategy '(priority-down))))
         ("o" "Agenda and Office-related tasks"
         ("o" "Agenda and Office-related tasks"
          ((agenda)
          ((agenda)
@@ -4585,36 +4605,234 @@ this interface, the @emph{values} are just lisp expressions.  So if the
 value is a string, you need to add the double quotes around the value
 value is a string, you need to add the double quotes around the value
 yourself.
 yourself.
 
 
-@node Batch processing,  , Setting Options, Custom agenda views
-@subsection Creating agenda views in batch processing
-@cindex agenda, batch production
 
 
-If you want to print or otherwise reprocess agenda views, it can be
-useful to create an agenda from the command line.  This is the purpose
-of the function @code{org-batch-agenda}.  It takes as a parameter one of
-the strings that are the keys in @code{org-agenda-custom-commands}.  For
-example, to directly print the current TODO list, you could use
+@node Exporting Agenda Views, Extracting Agenda Information for other programs, Setting Options, Custom agenda views
+@subsection Exporting Agenda Views
+@cindex agenda views, exporting
+
+If you are away from your computer, it can be very useful to have a
+printed version of some agenda views to carry around.  Org-mode can
+export custom agenda views as plain text, HTML@footnote{You need to
+install Hrvoje Niksic' @file{htmlize.el}.} and postscript.  If you want
+to do this only occasionally, use the commend
+
+@table @kbd
+@kindex C-x C-w
+@item C-x C-w
+@cindex exporting agenda views
+@cindex agenda views, exporting
+Write the agenda view to a file.  Depending on the extension of the
+selected file name, the view will be exported as HTML (extension
+@file{.html} or @file{.htm}), Postscript (extension @file{.ps}), or
+plain text (any other extension).  Use the variable
+@code{org-agenda-exporter-settings} to set options for @file{ps-print}
+and for @file{htmlize} to be used during export, for example
+@lisp
+(setq org-agenda-exporter-settings
+      '((ps-number-of-columns 2)
+        (ps-landscape-mode t)
+        (htmlize-output-type 'inline-css)))
+@end lisp
+@end table
+
+If you need to export certain agenda views frequently, you can associate
+any custom agenda command with a list of output file names
+@footnote{If you want to store standard views like the weekly agenda
+or the global TODO list as well, you need to define custom commands for
+them in order to be able to specify filenames.}.  Here is an example
+that first does define custom commands for the agenda and the global
+todo list, together with a number of files to which to export them.
+Then we define two block agenda commands and specify filenames for them
+as well.  File names can be relative to the current working directory,
+or absolute.
+
+@lisp
+@group
+(setq org-agenda-custom-commands
+      '(("X" agenda "" nil ("agenda.html" "agenda.ps"))
+        ("Y" alltodo "" nil ("todo.html" "todo.txt" "todo.ps"))
+        ("h" "Agenda and Home-related tasks"
+         ((agenda)
+          (tags-todo "HOME")
+          (tags "GARDEN"))
+         nil
+         ("~/views/home.html"))
+        ("o" "Agenda and Office-related tasks"
+         ((agenda)
+          (tags-todo "WORK")
+          (tags "OFFICE"))
+         nil
+         ("~/views/office.ps"))))
+@end group
+@end lisp
+
+The extension of the file name determines the type of export.  If it is
+@file{.html}, Org-mode will use the @file{htmlize.el} package to convert
+the buffer to HTML and save it to this file name.  If the extension is
+@file{.ps}, @code{ps-print-buffer-with-faces} is used to produce
+postscript output.  Any other extension produces a plain ASCII file.
+
+The export files are @emph{not} created when you use one of those
+commands interactively.  Instead, there is a special command to produce
+@emph{all} specified files in one step:
+
+@table @kbd
+@kindex C-c a e
+@item C-c a e
+Export all agenda views that have export filenames associated with
+them.
+@end table
+
+You can use the options section of the custom agenda commands to also
+set options for the export commands.  For example:
+
+@lisp
+(setq org-agenda-custom-commands
+      '(("X" agenda ""
+         ((ps-number-of-columns 2)
+          (ps-landscape-mode t)
+          (org-agenda-prefix-format " [ ] ")
+          (org-agenda-with-colors nil)
+          (org-agenda-remove-tags t))
+         ("theagenda.ps"))))
+@end lisp
+
+@noindent
+This command sets two options for the postscript exporter, to make it
+print in two columns in landscape format - the resulting page can be cut
+in two and then used in a paper agenda.  The remaining settings modify
+the agenda prefix to omit category and scheduling information, and
+instead include a checkbox to check off items.  We also remove the tags
+to make the lines compact, and we don't want to use colors for the
+black-and-white printer.  Settings specified in
+@code{org-agenda-exporter-settings} will also apply, but the settings
+in @code{org-agenda-custom-commands} take precedence.
+
+@noindent
+From the command line you may also use
+@example
+emacs -f org-batch-store-agenda-views -kill
+@end example
+@noindent
+or, if you need to modify some parameters
+@example
+emacs -eval '(org-batch-store-agenda-views                      \
+              org-agenda-ndays 30                               \
+              org-agenda-include-diary nil                      \
+              org-agenda-files (quote ("~/org/project.org")))'  \
+      -kill
+@end example
+@noindent
+which will create the agenda views restricted to the file
+@file{~/org/project.org}, without diary entries and with 30 days
+extent. 
+
+@node Extracting Agenda Information for other programs,  , Exporting Agenda Views, Custom agenda views
+@subsection Extracting Agenda Information for other programs
+@cindex agenda, pipe
+@cindex Scripts, for agenda processing
+
+Org-mode provides commands to access agenda information for the command
+line in emacs batch mode.  This extracted information can be sent
+directly to a printer, or it can be read by a program that does further
+processing of the data.  The first of these commands is the function
+@code{org-batch-agenda}, that produces an agenda view and sends it as
+ASCII text to STDOUT.  The command takes a single string as parameter.
+If the string has length 1, it is used as a key to one of the commands
+you have configured in @code{org-agenda-custom-commands}, basically any
+key you can use after @kbd{C-c a}.  For example, to directly print the
+current TODO list, you could use
 
 
 @example
 @example
 emacs -batch -l ~/.emacs -eval '(org-batch-agenda "t")' | lpr
 emacs -batch -l ~/.emacs -eval '(org-batch-agenda "t")' | lpr
 @end example
 @end example
 
 
+If the parameter is a string with 2 or more characters, it is used as a
+tags/todo match string.  For example, to print your local shopping list
+(all items with the tag @samp{shop}, but excluding the tag
+@samp{NewYork}), you could use
+
+@example
+emacs -batch -l ~/.emacs                                      \       
+      -eval '(org-batch-agenda "+shop-NewYork")' | lpr
+@end example
+
 @noindent
 @noindent
 You may also modify parameters on the fly like this:
 You may also modify parameters on the fly like this:
 
 
 @example
 @example
 emacs -batch -l ~/.emacs                                      \
 emacs -batch -l ~/.emacs                                      \
    -eval '(org-batch-agenda "a"                               \
    -eval '(org-batch-agenda "a"                               \
-            org-agenda-ndays 300                              \
+            org-agenda-ndays 30                               \
             org-agenda-include-diary nil                      \
             org-agenda-include-diary nil                      \
             org-agenda-files (quote ("~/org/project.org")))'  \
             org-agenda-files (quote ("~/org/project.org")))'  \
    | lpr
    | lpr
 @end example
 @end example
 
 
 @noindent
 @noindent
-which will produce a 300 day agenda, fully restricted to the Org file
+which will produce a 30 day agenda, fully restricted to the Org file
 @file{~/org/projects.org}, not even including the diary.
 @file{~/org/projects.org}, not even including the diary.
 
 
+If you want to process the agenda data in more sophisticated ways, you
+can use the command @code{org-batch-agenda-csv} to get a comma-separated
+list of values for each agenda item.  Each line in the output will
+contain a number of fields separated by commas.  The fields in a line
+are:
+
+@example
+category     @r{The category of the item}
+head         @r{The headline, without TODO kwd, TAGS and PRIORITY}
+type         @r{The type of the agenda entry, can be}
+                todo               @r{selected in TODO match}
+                tagsmatch          @r{selected in tags match}
+                diary              @r{imported from diary}
+                deadline           @r{a deadline}
+                scheduled          @r{scheduled}
+                timestamp          @r{appointment, selected by timestamp}
+                closed             @r{entry was closed on date}
+                upcoming-deadline  @r{warning about nearing deadline}
+                past-scheduled     @r{forwarded scheduled item}
+                block              @r{entry has date block including date}
+todo         @r{The todo keyword, if any}
+tags         @r{All tags including inherited ones, separated by colons}
+date         @r{The relevant date, like 2007-2-14}
+time         @r{The time, like 15:00-16:50}
+extra        @r{String with extra planning info}
+priority-l   @r{The priority letter if any was given}
+priority-n   @r{The computed numerical priority}
+@end example
+
+@noindent
+Time and date will only be given if a timestamp (or deadline/scheduled)
+lead to the selection of the item.
+
+A CSV list like this is very easy to use in a post processing script.
+For example, here is a Perl program that gets the TODO list from
+Emacs/org-mode and prints all the items, preceded by a checkbox:
+
+@example
+@group
+#!/usr/bin/perl
+
+# define the Emacs command to run
+$cmd = "emacs -batch -l ~/.emacs -eval '(org-batch-agenda-csv \"t\")'";
+
+# run it and capture the output
+$agenda = qx@{$cmd 2>/dev/null@};
+
+# loop over all lines
+foreach $line (split(/\n/,$agenda)) @{
+
+  # get the individual values
+  ($category,$head,$type,$todo,$tags,$date,$time,$extra,
+   $priority_l,$priority_n) = split(/,/,$line);
+
+  # proccess and print
+  print "[ ] $head\n";
+@}
+@end group
+@end example
+
 @node Embedded LaTeX, Exporting, Agenda views, Top
 @node Embedded LaTeX, Exporting, Agenda views, Top
 @chapter Embedded LaTeX
 @chapter Embedded LaTeX
 @cindex @TeX{} interpretation
 @cindex @TeX{} interpretation

BIN
orgcard.pdf


+ 1 - 1
orgcard.tex

@@ -1,5 +1,5 @@
 % Reference Card for Org Mode
 % Reference Card for Org Mode
-\def\orgversionnumber{4.72}
+\def\orgversionnumber{4.74}
 \def\versionyear{2007}          % latest update
 \def\versionyear{2007}          % latest update
 \def\year{2007}                 % latest copyright year
 \def\year{2007}                 % latest copyright year
 %
 %

Some files were not shown because too many files changed in this diff