Carsten Dominik 17 anni fa
parent
commit
895d70fff9
7 ha cambiato i file con 1035 aggiunte e 325 eliminazioni
  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
 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
 
@@ -27,7 +27,7 @@ File: org,  Node: Top,  Next: Introduction,  Prev: (dir),  Up: (dir)
 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
 
@@ -193,7 +193,8 @@ Custom agenda views
 * Storing searches::            Type once, use often
 * Block agenda::                All the stuff you need in a single buffer
 * 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
 
@@ -549,7 +550,7 @@ Org-mode uses just two commands, bound to <TAB> and `S-<TAB>' to change
 the visibility in the buffer.
 
 `<TAB>'
-     _Subtree cycling_: Rotate current subtree between the states
+     _Subtree cycling_: Rotate current subtree among the states
 
           ,-> FOLDED -> CHILDREN -> SUBTREE --.
           '-----------------------------------'
@@ -562,7 +563,7 @@ the visibility in the buffer.
 
 `S-<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 --.
           '--------------------------------------'
@@ -1154,6 +1155,11 @@ Miscellaneous
      Any prefix argument is passed on to the converter, which uses it
      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'
      Export the table as a TAB-separated file.  Useful for data
      exchange with, for example, Excel or database programs.
@@ -2309,7 +2315,7 @@ for example:
 The most important commands to work with TODO entries are:
 
 `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 --.
           '--------------------------------'
@@ -3994,6 +4000,17 @@ Calendar commands
      Export a single iCalendar file containing entries from all agenda
      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
 .............
 
@@ -4021,7 +4038,8 @@ dispatcher (*note Agenda dispatcher::), just like the default commands.
 * Storing searches::            Type once, use often
 * Block agenda::                All the stuff you need in a single buffer
 * 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
@@ -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.
 
 
-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
 -----------------------------------------
@@ -4149,7 +4167,8 @@ This would look like this:
            '(("h" "Agenda and Home-related tasks"
               ((agenda)
                (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))))
              ("o" "Agenda and Office-related tasks"
               ((agenda)
@@ -4164,31 +4183,199 @@ value is a string, you need to add the double quotes around the value
 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
 
+   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:
 
      emacs -batch -l ~/.emacs                                      \
         -eval '(org-batch-agenda "a"                               \
-                 org-agenda-ndays 300                              \
+                 org-agenda-ndays 30                               \
                  org-agenda-include-diary nil                      \
                  org-agenda-files (quote ("~/org/project.org")))'  \
         | 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.
 
+   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
 
@@ -6210,12 +6397,16 @@ Index
 * agenda:                                Weekly/Daily agenda. (line   6)
 * agenda dispatcher:                     Agenda dispatcher.   (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, 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.
                                                               (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)
 * align, STARTUP keyword:                In-buffer settings.  (line  29)
 * allout.el:                             Conflicts.           (line   6)
@@ -6316,6 +6507,9 @@ Index
 * evaluate time range:                   Creating timestamps. (line  64)
 * even, STARTUP keyword:                 In-buffer settings.  (line  44)
 * 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)
 * extended TODO keywords:                TODO extensions.     (line   6)
 * extension, third-party:                Extensions.          (line   6)
@@ -6507,6 +6701,8 @@ Index
 * SCHEDULED keyword:                     Time stamps.         (line  40)
 * scheduling:                            Time stamps.         (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 strings, custom:                Custom 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 a:                               Weekly/Daily agenda. (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.
                                                               (line  15)
 * C-c a m:                               Matching headline tags.
@@ -6836,6 +7034,9 @@ Key Index
                                                               (line  18)
 * C-x C-s:                               Editing and debugging formulas.
                                                               (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  69)
 * f:                                     Agenda commands.     (line  42)
@@ -6907,7 +7108,7 @@ Key Index
 * o:                                     Agenda commands.     (line  65)
 * P:                                     Agenda commands.     (line 140)
 * p:                                     Agenda commands.     (line  20)
-* q:                                     Agenda commands.     (line 227)
+* q:                                     Agenda commands.     (line 238)
 * r <1>:                                 Agenda commands.     (line  80)
 * r:                                     Global TODO list.    (line  22)
 * S:                                     Agenda commands.     (line 206)
@@ -6954,194 +7155,197 @@ Key Index
 * T:                                     Agenda commands.     (line 124)
 * t:                                     Agenda commands.     (line 111)
 * w:                                     Agenda commands.     (line  66)
-* x:                                     Agenda commands.     (line 228)
+* x:                                     Agenda commands.     (line 239)
 * X:                                     Agenda commands.     (line 183)
 
 
 
 Tag Table:
 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

+ 3 - 0
org-install.el

@@ -22,6 +22,9 @@
 (autoload 'org-export-icalendar-combine-agenda-files "org"
   "Export all files in `org-agenda-files' to a single combined iCalendar file." t)
 (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-project "org-publish"
   "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
 @settitle Org Mode Manual
 
-@set VERSION 4.72
+@set VERSION 4.74
 @set DATE April 2007
 
 @dircategory Emacs
@@ -224,7 +224,8 @@ Custom agenda views
 * Storing searches::            Type once, use often
 * Block agenda::                All the stuff you need in a single buffer
 * 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
 
@@ -624,7 +625,7 @@ Org-mode uses just two commands, bound to @key{TAB} and
 @table @kbd
 @kindex @key{TAB}
 @item @key{TAB}
-@emph{Subtree cycling}: Rotate current subtree between the states
+@emph{Subtree cycling}: Rotate current subtree among the states
 
 @example
 ,-> FOLDED -> CHILDREN -> SUBTREE --.
@@ -646,7 +647,7 @@ argument (@kbd{C-u @key{TAB}}), global cycling is invoked.
 @kindex S-@key{TAB}
 @item S-@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
 ,-> 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
 then converting the region to a table.  Any prefix argument is passed on
 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
 @item M-x org-table-export
 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
 Your Programs,calc-eval,Calling calc from Your Lisp Programs,calc,GNU
 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.
 @cindex vectors, in table calculations
 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
 @cindex cycling, of TODO states
 @item C-c C-t
-Rotate the TODO state of the current item between
+Rotate the TODO state of the current item among
 
 @example
 ,-> (unmarked) -> TODO -> DONE --.
@@ -4401,6 +4407,18 @@ Show holidays for three month around the cursor date.
 @item C-c C-x C-c
 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}
 @kindex q
 @item q
@@ -4429,7 +4447,8 @@ dispatcher (@pxref{Agenda dispatcher}), just like the default commands.
 * Storing searches::            Type once, use often
 * Block agenda::                All the stuff you need in a single buffer
 * 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
 
 @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.
 
 
-@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
 @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"
          ((agenda)
           (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))))
         ("o" "Agenda and Office-related tasks"
          ((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
 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
 emacs -batch -l ~/.emacs -eval '(org-batch-agenda "t")' | lpr
 @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
 You may also modify parameters on the fly like this:
 
 @example
 emacs -batch -l ~/.emacs                                      \
    -eval '(org-batch-agenda "a"                               \
-            org-agenda-ndays 300                              \
+            org-agenda-ndays 30                               \
             org-agenda-include-diary nil                      \
             org-agenda-files (quote ("~/org/project.org")))'  \
    | lpr
 @end example
 
 @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.
 
+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
 @chapter Embedded LaTeX
 @cindex @TeX{} interpretation

BIN
orgcard.pdf


+ 1 - 1
orgcard.tex

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

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