瀏覽代碼

Release 4.68

Carsten Dominik 17 年之前
父節點
當前提交
de73a94faf
共有 7 個文件被更改,包括 846 次插入546 次删除
  1. 6 0
      Makefile
  2. 336 271
      org
  3. 324 163
      org.el
  4. 二進制
      org.pdf
  5. 121 64
      org.texi
  6. 二進制
      orgcard.pdf
  7. 59 48
      orgcard.tex

+ 6 - 0
Makefile

@@ -74,6 +74,12 @@ install: install-lisp
 
 doc: org.html org.pdf orgcard.pdf
 
+p:
+	make pdf && open org.pdf
+
+c:
+	make card && gv orgcard.ps
+
 install-lisp: $(LISPFILES) $(ELCFILES)
 	if [ ! -d $(lispdir) ]; then $(MKDIR) $(lispdir); else true; fi ;
 	$(CP) $(LISPFILES) $(lispdir)

+ 336 - 271
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.67).
+   This manual is for Org-mode (version 4.68).
 
    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.67).
+This manual is for Org-mode (version 4.68).
 
    Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation
 
@@ -131,7 +131,7 @@ TODO items
 * TODO basics::                 Marking and displaying TODO entries
 * TODO extensions::             Workflow and assignments
 * Priorities::                  Some things are more important than others
-* Breaking down tasks::         Splitting a task into managable pieces
+* Breaking down tasks::         Splitting a task into manageable pieces
 * Checkboxes::                  Tick-off lists
 
 Extended use of TODO keywords
@@ -212,7 +212,7 @@ Exporting
 
 HTML export
 
-* Export commands::             How to invode HTML export
+* Export commands::             How to invoke HTML export
 * Quoting HTML tags::           Using direct HTML in Org-mode
 * Links::                       How hyperlinks get transferred to HTML
 * Images::                      To inline or not to inline?
@@ -338,7 +338,7 @@ example as:
    Org-mode's automatic, context sensitive table editor with spreadsheet
 capabilities can be integrated into any major mode by activating the
 minor Orgtbl-mode.  Using a translation step, it can be used to maintain
-tables in arbitray file types, for example in LaTeX.
+tables in arbitrary file types, for example in LaTeX.
 
    There is a website for Org-mode which provides links to the newest
 version of Org-mode, as well as additional information, frequently asked
@@ -1169,7 +1169,7 @@ to no more than this value.
 
 Fields that are wider become clipped and end in the string `=>'.  Note
 that the full text is still in the buffer, it is only invisible.  To
-see the full text, hold the mouse over the field - a tooltip window
+see the full text, hold the mouse over the field - a tool-tip window
 will show the full content.  To edit such a field, use the command `C-c
 `' (that is `C-c' followed by the backquote).  This will open a new
 window with the full field.  Edit it and finish with `C-c C-c'.
@@ -1205,7 +1205,7 @@ in mail mode, use
    Furthermore, with some special setup, it is possible to maintain
 tables in arbitrary syntax with Orgtbl-mode.  For example, it is
 possible to construct LaTeX tables with the underlying ease and power of
-Orgtbl-mode, including spreadsheet capabulities.  For details, see
+Orgtbl-mode, including spreadsheet capabilities.  For details, see
 *Note Tables in arbitrary syntax::.
 
 
@@ -1216,7 +1216,11 @@ File: org,  Node: The spreadsheet,  Prev: orgtbl-mode,  Up: Tables
 
 The table editor makes use of the Emacs `calc' package to implement
 spreadsheet-like capabilities.  It can also evaluate Emacs Lisp forms to
-derive fields from other fields.
+derive fields from other fields.  While fully featured, Org-mode's
+implementation is not identical to other spreadsheets.  For example,
+Org-mode knows the concept of a _column formula_ that will be applied
+to all non-header fields in a column without having to copy the formula
+to each relevant field.
 
 * Menu:
 
@@ -1238,16 +1242,21 @@ File: org,  Node: References,  Next: Formula syntax for Calc,  Prev: The spreads
 To compute fields in the table from other fields, formulas must
 reference other fields or ranges.  In Org-mode, fields can be referenced
 by name, by absolute coordinates, and by relative coordinates.  To find
-out what the coordinates of a field are, press `C-c ?' in that field.
+out what the coordinates of a field are, press `C-c ?' in that field,
+or press `C-c }' to toggle the display of a grid.
 
 Field references
 ................
 
-Formulas can reference the value of another field with the operator
+Formulas can reference the value of another field in two ways.  Like in
+any other spreadsheet, you may reference fields with a letter/number
+combination like `B3', meaning the 2nd field in the 3rd row.
+
+Org-mode also uses another, more general operator that looks like this:
      @row$column
 
-   Column references can be absolute like `1', `2',...`N', or relative
-to the current column like `+1' or `-2'.
+Column references can be absolute like `1', `2',...`N', or relative to
+the current column like `+1' or `-2'.
 
    The row specification only counts data lines and ignores horizontal
 separator lines (hlines).  You can use absolute row numbers `1'...`N',
@@ -1264,17 +1273,19 @@ the value directly at the hline is used.
 the column or the row part of the reference, the current row/column is
 implied.
 
-   Org-mode's references with _positive_ numbers correspond to fixed
-references in other spreadsheet programs.  For example, `@3$28'
-corresponds to `$AB$3'.  Org-mode's references with _negative_ numbers
-behave similar to non-fixed references in other spreadsheet programs,
-because when the same formula is used in several fields, different
-fields are referenced each time.
+   Org-mode's references with _unsigned_ numbers are fixed references
+in the sense that if you use the same reference in the formula for two
+different fields, the same field will be referenced each time.
+Org-mode's references with _signed_ numbers are floating references
+because the same reference operator can reference different fields
+depending on the field being calculated by the formula.
 
    Here are a few examples:
 
      @2$3      2nd row, 3rd column
+     C2        same as previous
      $5        column 5 in the current row
+     E&        same as previous
      @2        current column, row 2
      @-1$-3    the field one row up, three columns to the left
      @-I$2     field just under hline above current row, column 2
@@ -1292,6 +1303,7 @@ order to be interpreted correctly).  Examples:
      $1..$3        First three fields in the current row.
      $P..$Q        Range, using column names (see under Advanced)
      @2$1..@4$3    6 fields between these two fields.
+     A2..C4        Same as above.
      @-1$-2..@-1   3 numbers from the column to the left, 2 up to current row
 
 Range references return a vector of values that can be fed into Calc
@@ -1307,9 +1319,17 @@ Named references
 Constants are defined globally through the variable
 `org-table-formula-constants'.  If you have the `constants.el' package,
 it will also be used to resolve constants, including natural constants
-like `$h' for Planck's constant, and units like `$km' for kilometers.
-Column names and parameters can be specified in special table lines.
-These are described below, see *Note Advanced features::.
+like `$h' for Planck's constant, and units like `$km' for
+kilometers(1).  Column names and parameters can be specified in special
+table lines.  These are described below, see *Note Advanced features::.
+
+   ---------- Footnotes ----------
+
+   (1) `Constant.el' can supply the values of constants in two
+different unit systems, `SI' and `cgs'.  Which one is used depends on
+the value of the variable `constants-unit-system'.  You can use the
+`#+STARTUP' options `constSI' and `constcgs' to set this value for the
+current buffer.
 
 
 File: org,  Node: Formula syntax for Calc,  Next: Formula syntax for Lisp,  Prev: References,  Up: The spreadsheet
@@ -1348,7 +1368,7 @@ the final result.  A few examples:
      $1+$2                Sum of first and second field
      $1+$2;%.2f           Same, format result to two decimals
      exp($2)+exp($1)      Math functions can be used
-     $;%.1f               Reformat current cell to 1 decimal
+     $0;%.1f              Reformat current cell to 1 decimal
      ($3-32)*5/9          Degrees F -> C conversion
      $c/$1/$cm            Hz -> cm conversion, using `constants.el'
      tan($1);Dp3s1        Compute in degrees, precision 3, display SCI 1
@@ -1357,6 +1377,10 @@ the final result.  A few examples:
      vmean($2..$7);EN     Same, but treat empty fields as 0
      taylor($3,x=7,2)     taylor series of $3, at x=7, second degree
 
+   Calc also contains a complete set of logical operations.  For example
+
+     if($1<20,teen,string(""))  "teen" if age $1 less than 20, else empty
+
 
 File: org,  Node: Formula syntax for Lisp,  Next: Field formulas,  Prev: Formula syntax for Calc,  Up: The spreadsheet
 
@@ -1364,16 +1388,17 @@ File: org,  Node: Formula syntax for Lisp,  Next: Field formulas,  Prev: Formula
 ----------------------------------
 
 It is also possible to write a formula in Emacs Lisp; this can be useful
-for string manipulation and control structures.  If a formula starts
-with a single quote followed by an opening parenthesis, then it is
-evaluated as a lisp form.  The evaluation should return either a string
-or a number.  Just as with `calc' formulas, you can specify modes and a
-printf format after a semicolon.  A reference will be replaced with a
-string (in double quotes) containing the field.  If you provide the `N'
-mode switch, all referenced elements will be numbers.  Ranges are
-inserted as space-separated fields, so you can embed them in list or
-vector syntax.  A few examples, note how the `N' mode is used when we
-do computations in lisp.
+for string manipulation and control structures, if the Calc's
+functionality is not enough.  If a formula starts with a single quote
+followed by an opening parenthesis, then it is evaluated as a lisp form.
+The evaluation should return either a string or a number.  Just as with
+`calc' formulas, you can specify modes and a printf format after a
+semicolon.  A reference will be replaced with a string (in double
+quotes) containing the field.  If you provide the `N' mode switch, all
+referenced elements will be numbers.  Ranges are inserted as
+space-separated fields, so you can embed them in list or vector syntax.
+A few examples, note how the `N' mode is used when we do computations
+in lisp.
 
      Swap the first two characters of the content of column 1
        '(concat (substring $1 1 2) (substring $1 0 1) (substring $1 2))
@@ -1397,11 +1422,11 @@ current field replaced with the result.
    Formulas are stored in a special line starting with `#+TBLFM:'
 directly below the table.  If you typed the equation in the 4th field of
 the 3rd data line in the table, the formula will look like
-`@3$2=$1+$2'.  When inserting/deleting/swapping column and rows with
+`@3$4=$1+$2'.  When inserting/deleting/swapping column and rows with
 the appropriate commands, absolute references (but not relative ones)
 in stored formulas are modified in order to still reference the same
 field.  Of cause this is not true if you edit the table structure with
-normal editing commands - then you must go and fix equations yourself.
+normal editing commands - then you must fix the equations yourself.
 
    Instead of typing an equation into the field, you may also use the
 following command
@@ -1420,7 +1445,9 @@ File: org,  Node: Column formulas,  Next: Editing and debugging formulas,  Prev:
 Often in a table, the same formula should be used for all fields in a
 particular column.  Instead of having to copy the formula to all fields
 in that column, org-mode allows to assign a single formula to an entire
-column.
+column.  If the table contains horizontal separator hlines, everything
+before the first such line is considered part of the table _header_ and
+will not be modified by column formulas.
 
    To assign a formula to a column, type it directly into any field in
 the column, preceded by an equal sign, like `=$1+$2'.  When you press
@@ -1451,7 +1478,11 @@ File: org,  Node: Editing and debugging formulas,  Next: Updating the table,  Pr
 
 You can edit individual formulas in the minibuffer or directly in the
 field.  Org-mode can also prepare a special buffer with all active
-formulas of a table.
+formulas of a table.  When offering a formula for editing, Org-mode
+converts references to the standard format (like `B3' or `D&') if
+possible.  If you prefer to only work with the internal format (like
+`@3$2' or `$4'), configure the variable
+`org-table-use-standard-references'.
 
 `C-c ='
 `C-u C-c ='
@@ -1469,18 +1500,34 @@ formulas of a table.
      While editing a formula in a table field, highlight the field(s)
      referenced by the reference at the cursor position in the formula.  
 
+`C-c }'
+     Toggle the display of row and column numbers for a table, using
+     overlays.  These are updated each time the table is aligned, you
+     can force it with `C-c C-c'.  
+
+`C-c {'
+     Toggle the formula debugger on and off.  See below.  
+
 `C-c ''
      Edit all formulas for the current table in a special buffer, where
-     the formulas will be displayed one per line.  While inside the
-     special buffer, Org-mode will automatically highlight any field or
-     range reference at the cursor position.  You may edit, remove and
-     add formulas, and use the following commands:
+     the formulas will be displayed one per line.  If the current field
+     has an active formula, the cursor in the formula editor will mark
+     it.  While inside the special buffer, Org-mode will automatically
+     highlight any field or range reference at the cursor position.
+     You may edit, remove and add formulas, and use the following
+     commands:
     `C-c C-c'
-          Exit the buffer and store the modified formulas.  With `C-u'
-          prefix, also apply the new formulas to the entire table.  
+    `C-x C-s'
+          Exit the formula editor and store the modified formulas.
+          With `C-u' prefix, also apply the new formulas to the entire
+          table.  
 
     `C-c C-q'
-          Exit the buffer without installing changes.  
+          Exit the formula editor without installing changes.  
+
+    `C-c C-r'
+          Toggle all references in the formula editor between standard
+          (like `B3') and internal (like `@3$2').  
 
     `<TAB>'
           Pretty-print or indent lisp formula at point.  When in a line
@@ -1492,21 +1539,20 @@ formulas of a table.
     `M-<TAB>'
           Complete Lisp symbols, just like in Emacs-lisp-mode.  
 
-    `S-<up>/<down>'
-          Move the reference line in the Org-mode buffer up and down.
-          This is important for highlighting the references of column
-          formulas for different rows.  
+    `S-<up>/<down>/<left>/<right>'
+          Shift the reference at point.  For example, if the reference
+          is `B3' and you press `S-<right>', it will become `C3'.  This
+          also works for relative references, and for hline references.  
+
+    `M-S-<up>/<down>'
+          Move the test line for column formulas in the Org-mode buffer
+          up and down.  
 
     `M-<up>/<down>'
-          Scroll the window displaying the table.
-     
-`C-c }'
-     Toggle the display of row and column numbers for a table, using
-     overlays.  These are uptated each time the table is aligned, you
-     can force it with `C-c C-c'.  
+          Scroll the window displaying the table.  
 
-`C-c {'
-     Toggle the formula debugger on and off.  See below.
+    `C-c }'
+          Turn the coordinate grid in the table on and off.
 
    Making a table field blank does not remove the formula associated
 with the field, because that is stored in a different line (the `TBLFM'
@@ -1525,8 +1571,8 @@ When the evaluation of a formula leads to an error, the field content
 becomes the string `#ERROR'.  If you would like see what is going on
 during variable substitution and calculation in order to find a bug,
 turn on formula debugging in the `Tbl' menu and repeat the calculation,
-for example by pressing `C-c = <RET>' in a field.  Detailed information
-will be displayed.
+for example by pressing `C-u C-u C-c = <RET>' in a field.  Detailed
+information will be displayed.
 
 
 File: org,  Node: Updating the table,  Next: Advanced features,  Prev: Editing and debugging formulas,  Up: The spreadsheet
@@ -2153,7 +2199,7 @@ template has been expanded:
 
 If you change you mind about which template to use, call `org-remember'
 in the remember buffer.  You may then select a new template that will
-be filled with the previoous context information.
+be filled with the previous context information.
 
    ---------- Footnotes ----------
 
@@ -2220,7 +2266,7 @@ overview over all things you have to do.
 * TODO basics::                 Marking and displaying TODO entries
 * TODO extensions::             Workflow and assignments
 * Priorities::                  Some things are more important than others
-* Breaking down tasks::         Splitting a task into managable pieces
+* Breaking down tasks::         Splitting a task into manageable pieces
 * Checkboxes::                  Tick-off lists
 
 
@@ -2423,7 +2469,7 @@ File: org,  Node: Breaking down tasks,  Next: Checkboxes,  Prev: Priorities,  Up
 5.4 Breaking tasks down into subtasks
 =====================================
 
-It is often advisable to break down large tasks into smaller, managable
+It is often advisable to break down large tasks into smaller, manageable
 subtasks.  You can do this by creating an outline tree below a TODO
 item, with detailed subtasks on the tree(1).  Another possibility is
 the use of checkboxes to identify (a hierarchy of) a large number of
@@ -2626,8 +2672,8 @@ format.
      minutes, see the option `org-time-stamp-rounding-minutes'.
 
 `C-c !'
-     Like `C-c .', but insert an inactive time stamp not triggering the
-     agenda.
+     Like `C-c .', but insert an inactive time stamp that will not cause
+     an agenda entry.
 
 `C-c <'
      Insert a time stamp corresponding to the cursor date in the
@@ -4353,7 +4399,7 @@ but with additional support for tables.
 
 * Menu:
 
-* Export commands::             How to invode HTML export
+* Export commands::             How to invoke HTML export
 * Quoting HTML tags::           Using direct HTML in Org-mode
 * Links::                       How hyperlinks get transferred to HTML
 * Images::                      To inline or not to inline?
@@ -5100,6 +5146,10 @@ file is visited again in a new Emacs session.
      `org-put-time-stamp-overlays' and
      `org-time-stamp-overlay-formats'), use 
           customtime overlay custom time format
+     The following options influence the table spreadsheet (variable
+     `constants-unit-system').  
+          constcgs   `constants.el' should use the c-g-s unit system
+          constSI    `constants.el' should use the SI unit system
 
 `#+SEQ_TODO:   #+TYP_TODO:'
      These lines set the TODO keywords and their interpretation in the
@@ -6093,8 +6143,10 @@ Index
 * completion, of TeX symbols:            Completion.          (line   6)
 * completion, of TODO keywords <1>:      Completion.          (line   6)
 * completion, of TODO keywords:          Workflow states.     (line  12)
-* constants, in calculations:            References.          (line  74)
+* constants, in calculations:            References.          (line  82)
 * constants.el:                          Cooperation.         (line  14)
+* constcgs, STARTUP keyword:             In-buffer settings.  (line  52)
+* constSI, STARTUP keyword:              In-buffer settings.  (line  52)
 * content, STARTUP keyword:              In-buffer settings.  (line  22)
 * contents, global visibility state:     Visibility cycling.  (line  22)
 * copying, of subtrees:                  Structure editing.   (line   6)
@@ -6118,7 +6170,7 @@ Index
 * deadlines:                             Time stamps.         (line   6)
 * deadlines, repeating:                  Repeating items.     (line   6)
 * debugging, of table formulas:          Editing and debugging formulas.
-                                                              (line  78)
+                                                              (line  97)
 * demotion, of subtrees:                 Structure editing.   (line   6)
 * diary entries, creating from agenda:   Agenda commands.     (line 198)
 * diary integration:                     Weekly/Daily agenda. (line  24)
@@ -6148,7 +6200,7 @@ Index
 * FAQ:                                   Summary.             (line  53)
 * feedback:                              Feedback.            (line   6)
 * field formula:                         Field formulas.      (line   6)
-* field references:                      References.          (line  14)
+* field references:                      References.          (line  15)
 * file links:                            External links.      (line   6)
 * file links, searching:                 Search options.      (line   6)
 * file name completion:                  Handling links.      (line  43)
@@ -6164,7 +6216,7 @@ Index
                                                               (line  15)
 * format, of links:                      Link format.         (line   6)
 * formula debugging:                     Editing and debugging formulas.
-                                                              (line  78)
+                                                              (line  97)
 * formula editing:                       Editing and debugging formulas.
                                                               (line   6)
 * formula syntax, Calc:                  Formula syntax for Calc.
@@ -6259,8 +6311,8 @@ Index
                                                               (line  15)
 * motion commands in agenda:             Agenda commands.     (line  19)
 * motion, between headlines:             Motion.              (line   6)
-* name, of column or field:              References.          (line  74)
-* named references:                      References.          (line  74)
+* name, of column or field:              References.          (line  82)
+* named references:                      References.          (line  82)
 * names as TODO keywords:                TODO types.          (line   6)
 * narrow columns in tables:              Narrow columns.      (line   6)
 * noalign, STARTUP keyword:              In-buffer settings.  (line  29)
@@ -6306,13 +6358,13 @@ Index
 * quoted HTML tags:                      Export options.      (line  25)
 * radio tables:                          Radio tables.        (line   6)
 * radio targets:                         Radio targets.       (line   6)
-* range references:                      References.          (line  53)
+* range references:                      References.          (line  60)
 * ranges, time:                          Time stamps.         (line   6)
 * recomputing table fields:              Updating the table.  (line   6)
 * references:                            References.          (line   6)
-* references, named:                     References.          (line  74)
-* references, to fields:                 References.          (line  14)
-* references, to ranges:                 References.          (line  53)
+* references, named:                     References.          (line  82)
+* references, to fields:                 References.          (line  15)
+* references, to ranges:                 References.          (line  60)
 * region, active <1>:                    Export commands.     (line   6)
 * region, active <2>:                    ASCII export.        (line   9)
 * region, active <3>:                    Built-in table editor.
@@ -6477,7 +6529,7 @@ Key Index
 * <TAB> <2>:                             Agenda commands.     (line  35)
 * <TAB> <3>:                             Setting tags.        (line  68)
 * <TAB> <4>:                             Editing and debugging formulas.
-                                                              (line  37)
+                                                              (line  57)
 * <TAB> <5>:                             Built-in table editor.
                                                               (line  57)
 * <TAB> <6>:                             Plain lists.         (line  37)
@@ -6502,7 +6554,7 @@ Key Index
 * C-c %:                                 Handling links.      (line  81)
 * C-c &:                                 Handling links.      (line  85)
 * C-c ':                                 Editing and debugging formulas.
-                                                              (line  24)
+                                                              (line  36)
 * C-c *:                                 Updating the table.  (line  13)
 * C-c +:                                 Built-in table editor.
                                                               (line 141)
@@ -6517,11 +6569,11 @@ Key Index
 * C-c <TAB>:                             Built-in table editor.
                                                               (line 163)
 * C-c = <1>:                             Editing and debugging formulas.
-                                                              (line  10)
-* C-c =:                                 Column formulas.     (line  24)
+                                                              (line  14)
+* C-c =:                                 Column formulas.     (line  26)
 * C-c >:                                 Creating timestamps. (line  29)
 * C-c ?:                                 Editing and debugging formulas.
-                                                              (line  20)
+                                                              (line  24)
 * C-c [:                                 Agenda files.        (line  12)
 * C-c \:                                 Tag searches.        (line   9)
 * C-c ]:                                 Agenda files.        (line  15)
@@ -6553,7 +6605,7 @@ Key Index
 * C-c C-c <4>:                           Setting tags.        (line  10)
 * C-c C-c <5>:                           Checkboxes.          (line  37)
 * C-c C-c <6>:                           Editing and debugging formulas.
-                                                              (line  32)
+                                                              (line  46)
 * C-c C-c <7>:                           Built-in table editor.
                                                               (line  54)
 * C-c C-c:                               Plain lists.         (line  74)
@@ -6581,9 +6633,11 @@ Key Index
 * C-c C-o:                               Handling links.      (line  58)
 * C-c C-p:                               Motion.              (line   9)
 * C-c C-q <1>:                           Editing and debugging formulas.
-                                                              (line  34)
+                                                              (line  50)
 * C-c C-q:                               Built-in table editor.
                                                               (line 125)
+* C-c C-r <1>:                           Editing and debugging formulas.
+                                                              (line  53)
 * C-c C-r:                               Visibility cycling.  (line  34)
 * C-c C-s <1>:                           Agenda commands.     (line 155)
 * C-c C-s:                               Creating timestamps. (line  48)
@@ -6623,18 +6677,18 @@ Key Index
 * C-c l:                                 Handling links.      (line   9)
 * C-c { <1>:                             CDLaTeX mode.        (line  21)
 * C-c {:                                 Editing and debugging formulas.
-                                                              (line  60)
+                                                              (line  33)
 * C-c |:                                 Built-in table editor.
                                                               (line  40)
 * C-c }:                                 Editing and debugging formulas.
-                                                              (line  56)
+                                                              (line  28)
 * C-c ~:                                 Cooperation.         (line  50)
 * C-k:                                   Agenda commands.     (line 117)
 * C-TAB:                                 ARCHIVE tag.         (line  38)
 * C-u C-c *:                             Updating the table.  (line  18)
 * C-u C-c .:                             Creating timestamps. (line  16)
 * C-u C-c = <1>:                         Editing and debugging formulas.
-                                                              (line  10)
+                                                              (line  14)
 * C-u C-c =:                             Field formulas.      (line  24)
 * C-u C-c C-c:                           Updating the table.  (line  19)
 * C-u C-c C-l:                           Handling links.      (line  43)
@@ -6644,7 +6698,9 @@ Key Index
 * C-u C-c C-x C-u:                       Clocking work time.  (line  70)
 * C-u C-u C-c *:                         Updating the table.  (line  24)
 * C-u C-u C-c =:                         Editing and debugging formulas.
-                                                              (line  14)
+                                                              (line  18)
+* C-x C-s:                               Editing and debugging formulas.
+                                                              (line  46)
 * D:                                     Agenda commands.     (line  74)
 * d:                                     Agenda commands.     (line  71)
 * f:                                     Agenda commands.     (line  44)
@@ -6656,7 +6712,7 @@ Key Index
 * L:                                     Agenda commands.     (line  32)
 * M:                                     Agenda commands.     (line 204)
 * M-<down> <1>:                          Editing and debugging formulas.
-                                                              (line  52)
+                                                              (line  76)
 * M-<down>:                              Built-in table editor.
                                                               (line  82)
 * M-<left> <1>:                          Built-in table editor.
@@ -6671,14 +6727,16 @@ Key Index
 * M-<TAB> <2>:                           Setting tags.        (line   6)
 * M-<TAB> <3>:                           Per file keywords.   (line  17)
 * M-<TAB>:                               Editing and debugging formulas.
-                                                              (line  44)
+                                                              (line  64)
 * M-<up> <1>:                            Editing and debugging formulas.
-                                                              (line  52)
+                                                              (line  76)
 * M-<up>:                                Built-in table editor.
                                                               (line  82)
-* M-S-<down> <1>:                        Built-in table editor.
+* M-S-<down> <1>:                        Editing and debugging formulas.
+                                                              (line  72)
+* M-S-<down> <2>:                        Built-in table editor.
                                                               (line  89)
-* M-S-<down> <2>:                        Plain lists.         (line  59)
+* M-S-<down> <3>:                        Plain lists.         (line  59)
 * M-S-<down>:                            Structure editing.   (line  36)
 * M-S-<left> <1>:                        The date/time prompt.
                                                               (line  54)
@@ -6695,9 +6753,11 @@ Key Index
                                                               (line  79)
 * M-S-<right> <3>:                       Plain lists.         (line  65)
 * M-S-<right>:                           Structure editing.   (line  30)
-* M-S-<up> <1>:                          Built-in table editor.
+* M-S-<up> <1>:                          Editing and debugging formulas.
+                                                              (line  72)
+* M-S-<up> <2>:                          Built-in table editor.
                                                               (line  86)
-* M-S-<up> <2>:                          Plain lists.         (line  59)
+* M-S-<up> <3>:                          Plain lists.         (line  59)
 * M-S-<up>:                              Structure editing.   (line  33)
 * mouse-1 <1>:                           Agenda commands.     (line  35)
 * mouse-1 <2>:                           The date/time prompt.
@@ -6723,20 +6783,24 @@ Key Index
 * S-<down> <3>:                          Creating timestamps. (line  58)
 * S-<down> <4>:                          Priorities.          (line  25)
 * S-<down> <5>:                          Editing and debugging formulas.
-                                                              (line  47)
+                                                              (line  67)
 * S-<down>:                              Plain lists.         (line  55)
 * S-<left> <1>:                          Agenda commands.     (line 169)
 * S-<left> <2>:                          The date/time prompt.
                                                               (line  42)
 * S-<left> <3>:                          Creating timestamps. (line  53)
-* S-<left>:                              TODO basics.         (line  20)
+* S-<left> <4>:                          TODO basics.         (line  20)
+* S-<left>:                              Editing and debugging formulas.
+                                                              (line  67)
 * S-<RET>:                               Built-in table editor.
                                                               (line 146)
 * S-<right> <1>:                         Agenda commands.     (line 161)
 * S-<right> <2>:                         The date/time prompt.
                                                               (line  39)
 * S-<right> <3>:                         Creating timestamps. (line  53)
-* S-<right>:                             TODO basics.         (line  20)
+* S-<right> <4>:                         TODO basics.         (line  20)
+* S-<right>:                             Editing and debugging formulas.
+                                                              (line  67)
 * S-<TAB> <1>:                           Built-in table editor.
                                                               (line  61)
 * S-<TAB>:                               Visibility cycling.  (line  22)
@@ -6746,7 +6810,7 @@ Key Index
 * S-<up> <3>:                            Creating timestamps. (line  58)
 * S-<up> <4>:                            Priorities.          (line  25)
 * S-<up> <5>:                            Editing and debugging formulas.
-                                                              (line  47)
+                                                              (line  67)
 * S-<up>:                                Plain lists.         (line  55)
 * T:                                     Agenda commands.     (line 126)
 * t:                                     Agenda commands.     (line 113)
@@ -6758,181 +6822,182 @@ Key Index
 
 Tag Table:
 Node: Top970
-Node: Introduction11398
-Node: Summary11813
-Node: Installation14821
-Node: Activation16199
-Node: Feedback17448
-Node: Document structure19524
-Node: Outlines20298
-Node: Headlines20958
-Node: Visibility cycling21581
-Ref: Visibility cycling-Footnote-123795
-Ref: Visibility cycling-Footnote-223853
-Ref: Visibility cycling-Footnote-323903
-Node: Motion24172
-Node: Structure editing24956
-Node: Archiving27782
-Node: ARCHIVE tag28340
-Node: Moving subtrees30133
-Node: Sparse trees31444
-Ref: Sparse trees-Footnote-133576
-Ref: Sparse trees-Footnote-233758
-Node: Plain lists33873
-Ref: Plain lists-Footnote-137398
-Ref: Plain lists-Footnote-237755
-Node: Tables37939
-Node: Built-in table editor38453
-Node: Narrow columns45449
-Ref: Narrow columns-Footnote-147381
-Node: orgtbl-mode47427
-Node: The spreadsheet48231
-Node: References49049
-Node: Formula syntax for Calc52684
-Node: Formula syntax for Lisp55001
-Node: Field formulas56229
-Node: Column formulas57540
-Node: Editing and debugging formulas58963
-Node: Updating the table62328
-Node: Advanced features63359
-Node: Hyperlinks67884
-Node: Link format68657
-Node: Internal links69950
-Ref: Internal links-Footnote-171875
-Node: Radio targets72007
-Node: External links72698
-Node: Handling links75102
-Ref: Handling links-Footnote-180194
-Ref: Handling links-Footnote-280431
-Node: Link abbreviations80505
-Node: Search options82184
-Ref: Search options-Footnote-183964
-Node: Custom searches84045
-Node: Remember85093
-Node: Setting up remember86080
-Node: Remember templates86662
-Ref: Remember templates-Footnote-189977
-Node: Storing notes90075
-Node: TODO items91883
-Node: TODO basics92865
-Node: TODO extensions94392
-Node: Workflow states95187
-Node: TODO types96172
-Ref: TODO types-Footnote-197830
-Node: Per file keywords97912
-Ref: Per file keywords-Footnote-199366
-Node: Priorities99567
-Node: Breaking down tasks100811
-Ref: Breaking down tasks-Footnote-1101330
-Node: Checkboxes101426
-Node: Timestamps104181
-Node: Time stamps104715
-Ref: Time stamps-Footnote-1108209
-Ref: Time stamps-Footnote-2108325
-Node: Creating timestamps108480
-Node: The date/time prompt111106
-Ref: The date/time prompt-Footnote-1113067
-Node: Custom time format113173
-Node: Repeating items114731
-Node: Progress logging116541
-Node: Closing items117187
-Ref: Closing items-Footnote-1118121
-Ref: Closing items-Footnote-2118190
-Node: Tracking TODO state changes118263
-Node: Clocking work time119119
-Ref: Clocking work time-Footnote-1122765
-Ref: Clocking work time-Footnote-2122843
-Node: Tags122969
-Node: Tag inheritance123731
-Node: Setting tags124668
-Ref: Setting tags-Footnote-1129191
-Ref: Setting tags-Footnote-2129303
-Node: Tag searches129386
-Node: Agenda views132097
-Node: Agenda files134042
-Ref: Agenda files-Footnote-1135008
-Ref: Agenda files-Footnote-2135157
-Node: Agenda dispatcher135350
-Node: Built-in agenda views137041
-Node: Weekly/Daily agenda137619
-Node: Global TODO list139748
-Node: Matching headline tags141921
-Node: Timeline142992
-Node: Stuck projects143658
-Node: Presentation and sorting145357
-Node: Categories146148
-Node: Time-of-day specifications146812
-Node: Sorting of agenda items148783
-Node: Agenda commands150065
-Node: Custom agenda views156718
-Node: Storing searches157393
-Node: Block agenda159305
-Node: Setting Options160535
-Node: Batch processing163247
-Node: Embedded LaTeX164377
-Ref: Embedded LaTeX-Footnote-1165469
-Node: Math symbols165659
-Node: Subscripts and Superscripts166424
-Node: LaTeX fragments167268
-Ref: LaTeX fragments-Footnote-1169376
-Node: Processing LaTeX fragments169638
-Node: CDLaTeX mode170584
-Ref: CDLaTeX mode-Footnote-1173068
-Node: Exporting173216
-Node: ASCII export174530
-Node: HTML export175820
-Node: Export commands176439
-Node: Quoting HTML tags177163
-Node: Links177793
-Node: Images178490
-Ref: Images-Footnote-1179361
-Node: CSS support179422
-Ref: CSS support-Footnote-1180741
-Node: XOXO export180854
-Node: iCalendar export181293
-Node: Text interpretation182512
-Node: Comment lines182991
-Node: Enhancing text183462
-Node: Export options185280
-Node: Publishing186977
-Ref: Publishing-Footnote-1187773
-Node: Configuration187969
-Node: Project alist188687
-Node: Sources and destinations189753
-Node: Selecting files190483
-Node: Publishing action191231
-Node: Publishing options192464
-Node: Publishing links194616
-Node: Project page index196129
-Node: Sample configuration196907
-Node: Simple example197399
-Node: Complex example198072
-Node: Triggering publication200148
-Node: Miscellaneous200833
-Node: Completion201467
-Node: Customization202938
-Node: In-buffer settings203521
-Node: The very busy C-c C-c key207761
-Node: Clean view209405
-Node: TTY keys211982
-Node: Interaction213591
-Node: Cooperation213988
-Node: Conflicts216728
-Node: Bugs218320
-Node: Extensions and Hacking219816
-Node: Extensions220412
-Node: Tables in arbitrary syntax222359
-Node: Radio tables223436
-Node: A LaTeX example225939
-Ref: A LaTeX example-Footnote-1229585
-Ref: A LaTeX example-Footnote-2229733
-Node: Translator functions230168
-Ref: Translator functions-Footnote-1233277
-Node: Dynamic blocks233365
-Node: Special agenda views235337
-Ref: Special agenda views-Footnote-1237616
-Node: History and Acknowledgments237876
-Node: Index243665
-Node: Key Index274359
+Node: Introduction11399
+Node: Summary11814
+Node: Installation14823
+Node: Activation16201
+Node: Feedback17450
+Node: Document structure19526
+Node: Outlines20300
+Node: Headlines20960
+Node: Visibility cycling21583
+Ref: Visibility cycling-Footnote-123797
+Ref: Visibility cycling-Footnote-223855
+Ref: Visibility cycling-Footnote-323905
+Node: Motion24174
+Node: Structure editing24958
+Node: Archiving27784
+Node: ARCHIVE tag28342
+Node: Moving subtrees30135
+Node: Sparse trees31446
+Ref: Sparse trees-Footnote-133578
+Ref: Sparse trees-Footnote-233760
+Node: Plain lists33875
+Ref: Plain lists-Footnote-137400
+Ref: Plain lists-Footnote-237757
+Node: Tables37941
+Node: Built-in table editor38455
+Node: Narrow columns45451
+Ref: Narrow columns-Footnote-147384
+Node: orgtbl-mode47430
+Node: The spreadsheet48234
+Node: References49321
+Ref: References-Footnote-153370
+Node: Formula syntax for Calc53659
+Node: Formula syntax for Lisp56125
+Node: Field formulas57394
+Node: Column formulas58702
+Node: Editing and debugging formulas60301
+Node: Updating the table64454
+Node: Advanced features65485
+Node: Hyperlinks70010
+Node: Link format70783
+Node: Internal links72076
+Ref: Internal links-Footnote-174001
+Node: Radio targets74133
+Node: External links74824
+Node: Handling links77228
+Ref: Handling links-Footnote-182320
+Ref: Handling links-Footnote-282557
+Node: Link abbreviations82631
+Node: Search options84310
+Ref: Search options-Footnote-186090
+Node: Custom searches86171
+Node: Remember87219
+Node: Setting up remember88206
+Node: Remember templates88788
+Ref: Remember templates-Footnote-192102
+Node: Storing notes92200
+Node: TODO items94008
+Node: TODO basics94991
+Node: TODO extensions96518
+Node: Workflow states97313
+Node: TODO types98298
+Ref: TODO types-Footnote-199956
+Node: Per file keywords100038
+Ref: Per file keywords-Footnote-1101492
+Node: Priorities101693
+Node: Breaking down tasks102937
+Ref: Breaking down tasks-Footnote-1103457
+Node: Checkboxes103553
+Node: Timestamps106308
+Node: Time stamps106842
+Ref: Time stamps-Footnote-1110336
+Ref: Time stamps-Footnote-2110452
+Node: Creating timestamps110607
+Node: The date/time prompt113243
+Ref: The date/time prompt-Footnote-1115204
+Node: Custom time format115310
+Node: Repeating items116868
+Node: Progress logging118678
+Node: Closing items119324
+Ref: Closing items-Footnote-1120258
+Ref: Closing items-Footnote-2120327
+Node: Tracking TODO state changes120400
+Node: Clocking work time121256
+Ref: Clocking work time-Footnote-1124902
+Ref: Clocking work time-Footnote-2124980
+Node: Tags125106
+Node: Tag inheritance125868
+Node: Setting tags126805
+Ref: Setting tags-Footnote-1131328
+Ref: Setting tags-Footnote-2131440
+Node: Tag searches131523
+Node: Agenda views134234
+Node: Agenda files136179
+Ref: Agenda files-Footnote-1137145
+Ref: Agenda files-Footnote-2137294
+Node: Agenda dispatcher137487
+Node: Built-in agenda views139178
+Node: Weekly/Daily agenda139756
+Node: Global TODO list141885
+Node: Matching headline tags144058
+Node: Timeline145129
+Node: Stuck projects145795
+Node: Presentation and sorting147494
+Node: Categories148285
+Node: Time-of-day specifications148949
+Node: Sorting of agenda items150920
+Node: Agenda commands152202
+Node: Custom agenda views158855
+Node: Storing searches159530
+Node: Block agenda161442
+Node: Setting Options162672
+Node: Batch processing165384
+Node: Embedded LaTeX166514
+Ref: Embedded LaTeX-Footnote-1167606
+Node: Math symbols167796
+Node: Subscripts and Superscripts168561
+Node: LaTeX fragments169405
+Ref: LaTeX fragments-Footnote-1171513
+Node: Processing LaTeX fragments171775
+Node: CDLaTeX mode172721
+Ref: CDLaTeX mode-Footnote-1175205
+Node: Exporting175353
+Node: ASCII export176667
+Node: HTML export177957
+Node: Export commands178576
+Node: Quoting HTML tags179300
+Node: Links179930
+Node: Images180627
+Ref: Images-Footnote-1181498
+Node: CSS support181559
+Ref: CSS support-Footnote-1182878
+Node: XOXO export182991
+Node: iCalendar export183430
+Node: Text interpretation184649
+Node: Comment lines185128
+Node: Enhancing text185599
+Node: Export options187417
+Node: Publishing189114
+Ref: Publishing-Footnote-1189910
+Node: Configuration190106
+Node: Project alist190824
+Node: Sources and destinations191890
+Node: Selecting files192620
+Node: Publishing action193368
+Node: Publishing options194601
+Node: Publishing links196753
+Node: Project page index198266
+Node: Sample configuration199044
+Node: Simple example199536
+Node: Complex example200209
+Node: Triggering publication202285
+Node: Miscellaneous202970
+Node: Completion203604
+Node: Customization205075
+Node: In-buffer settings205658
+Node: The very busy C-c C-c key210135
+Node: Clean view211779
+Node: TTY keys214356
+Node: Interaction215965
+Node: Cooperation216362
+Node: Conflicts219102
+Node: Bugs220694
+Node: Extensions and Hacking222190
+Node: Extensions222786
+Node: Tables in arbitrary syntax224733
+Node: Radio tables225810
+Node: A LaTeX example228313
+Ref: A LaTeX example-Footnote-1231959
+Ref: A LaTeX example-Footnote-2232107
+Node: Translator functions232542
+Ref: Translator functions-Footnote-1235651
+Node: Dynamic blocks235739
+Node: Special agenda views237711
+Ref: Special agenda views-Footnote-1239990
+Node: History and Acknowledgments240250
+Node: Index246039
+Node: Key Index276879
 
 End Tag Table

文件差異過大導致無法顯示
+ 324 - 163
org.el


二進制
org.pdf


+ 121 - 64
org.texi

@@ -3,8 +3,8 @@
 @setfilename ../info/org
 @settitle Org Mode Manual
 
-@set VERSION 4.67
-@set DATE February 2007
+@set VERSION 4.68
+@set DATE March 2007
 
 @dircategory Emacs
 @direntry
@@ -162,7 +162,7 @@ TODO items
 * TODO basics::                 Marking and displaying TODO entries
 * TODO extensions::             Workflow and assignments
 * Priorities::                  Some things are more important than others
-* Breaking down tasks::         Splitting a task into managable pieces
+* Breaking down tasks::         Splitting a task into manageable pieces
 * Checkboxes::                  Tick-off lists
 
 Extended use of TODO keywords
@@ -243,7 +243,7 @@ Exporting
 
 HTML export
 
-* Export commands::             How to invode HTML export
+* Export commands::             How to invoke HTML export
 * Quoting HTML tags::           Using direct HTML in Org-mode
 * Links::                       How hyperlinks get transferred to HTML
 * Images::                      To inline or not to inline?
@@ -370,7 +370,7 @@ example as:
 Org-mode's automatic, context sensitive table editor with spreadsheet
 capabilities can be integrated into any major mode by activating the
 minor Orgtbl-mode.  Using a translation step, it can be used to maintain
-tables in arbitray file types, for example in LaTeX.
+tables in arbitrary file types, for example in LaTeX.
 
 @cindex FAQ
 There is a website for Org-mode which provides links to the newest
@@ -1319,7 +1319,7 @@ value.
 @noindent
 Fields that are wider become clipped and end in the string @samp{=>}.
 Note that the full text is still in the buffer, it is only invisible.
-To see the full text, hold the mouse over the field - a tooltip window
+To see the full text, hold the mouse over the field - a tool-tip window
 will show the full content.  To edit such a field, use the command
 @kbd{C-c `} (that is @kbd{C-c} followed by the backquote).  This will
 open a new window with the full field.  Edit it and finish with @kbd{C-c
@@ -1355,7 +1355,7 @@ example in mail mode, use
 Furthermore, with some special setup, it is possible to maintain tables
 in arbitrary syntax with Orgtbl-mode.  For example, it is possible to
 construct LaTeX tables with the underlying ease and power of
-Orgtbl-mode, including spreadsheet capabulities.  For details, see
+Orgtbl-mode, including spreadsheet capabilities.  For details, see
 @ref{Tables in arbitrary syntax}.
 
 @node The spreadsheet,  , orgtbl-mode, Tables
@@ -1366,7 +1366,12 @@ Orgtbl-mode, including spreadsheet capabulities.  For details, see
 
 The table editor makes use of the Emacs @file{calc} package to implement
 spreadsheet-like capabilities.  It can also evaluate Emacs Lisp forms to
-derive fields from other fields.
+derive fields from other fields.  While fully featured, Org-mode's
+implementation is not identical to other spreadsheets.  For example,
+Org-mode knows the concept of a @emph{column formula} that will be
+applied to all non-header fields in a column without having to copy the
+formula to each relevant field.
+
 @menu
 * References::                  How to refer to another field or range
 * Formula syntax for Calc::     Using Calc to compute stuff
@@ -1386,17 +1391,26 @@ To compute fields in the table from other fields, formulas must
 reference other fields or ranges.  In Org-mode, fields can be referenced
 by name, by absolute coordinates, and by relative coordinates.  To find
 out what the coordinates of a field are, press @kbd{C-c ?} in that
-field.
+field, or press @kbd{C-c @}} to toggle the display of a grid.
 
 @subsubheading Field references
 @cindex field references
 @cindex references, to fields
 
-Formulas can reference the value of another field with the operator
+Formulas can reference the value of another field in two ways.  Like in
+any other spreadsheet, you may reference fields with a letter/number
+combination like @code{B3}, meaning the 2nd field in the 3rd row.
+@c Such references are always fixed to that field, they don't change
+@c when you copy and paste a formula to a different field.  So
+@c Org-mode's @code{B3} behaves like @code{$B$3} in other spreadsheets.
+
+@noindent
+Org-mode also uses another, more general operator that looks like this:
 @example
 @@row$column
 @end example
 
+@noindent
 Column references can be absolute like @samp{1}, @samp{2},...@samp{N},
 or relative to the current column like @samp{+1} or @samp{-2}.
 
@@ -1416,18 +1430,20 @@ directly at the hline is used.
 either the column or the row part of the reference, the current
 row/column is implied. 
 
-Org-mode's references with @emph{positive} numbers correspond to fixed
-references in other spreadsheet programs.  For example, @code{@@3$28}
-corresponds to @code{$AB$3}.  Org-mode's references with @emph{negative}
-numbers behave similar to non-fixed references in other spreadsheet
-programs, because when the same formula is used in several fields,
-different fields are referenced each time.
+Org-mode's references with @emph{unsigned} numbers are fixed references
+in the sense that if you use the same reference in the formula for two
+different fields, the same field will be referenced each time.
+Org-mode's references with @emph{signed} numbers are floating
+references because the same reference operator can reference different
+fields depending on the field being calculated by the formula.
 
 Here are a few examples:
 
 @example
 @@2$3      @r{2nd row, 3rd column}
+C2        @r{same as previous}
 $5        @r{column 5 in the current row}
+E&        @r{same as previous}
 @@2        @r{current column, row 2}
 @@-1$-3    @r{the field one row up, three columns to the left}
 @@-I$2     @r{field just under hline above current row, column 2}
@@ -1448,6 +1464,7 @@ format at least for the first field (i.e the reference must start with
 $1..$3        @r{First three fields in the current row.}
 $P..$Q        @r{Range, using column names (see under Advanced)}
 @@2$1..@@4$3    @r{6 fields between these two fields.}
+A2..C4        @r{Same as above.}
 @@-1$-2..@@-1   @r{3 numbers from the column to the left, 2 up to current row}
 @end example
 
@@ -1465,12 +1482,16 @@ see the @samp{E} mode switch below).  If there are no non-empty fields,
 
 @samp{$name} is interpreted as the name of a column, parameter or
 constant.  Constants are defined globally through the variable
-@code{org-table-formula-constants}.  If you have the
-@file{constants.el} package, it will also be used to resolve
-constants, including natural constants like @samp{$h} for Planck's
-constant, and units like @samp{$km} for kilometers.  Column names and
-parameters can be specified in special table lines.  These are
-described below, see @ref{Advanced features}.
+@code{org-table-formula-constants}.  If you have the @file{constants.el}
+package, it will also be used to resolve constants, including natural
+constants like @samp{$h} for Planck's constant, and units like
+@samp{$km} for kilometers@footnote{@file{Constant.el} can supply the
+values of constants in two different unit systems, @code{SI} and
+@code{cgs}.  Which one is used depends on the value of the variable
+@code{constants-unit-system}.  You can use the @code{#+STARTUP} options
+@code{constSI} and @code{constcgs} to set this value for the current
+buffer.}.  Column names and parameters can be specified in special table
+lines.  These are described below, see @ref{Advanced features}.
 
 @node Formula syntax for Calc, Formula syntax for Lisp, References, The spreadsheet
 @subsection Formula syntax for Calc
@@ -1517,7 +1538,7 @@ reformat the final result.  A few examples:
 $1+$2                @r{Sum of first and second field}
 $1+$2;%.2f           @r{Same, format result to two decimals}
 exp($2)+exp($1)      @r{Math functions can be used}
-$;%.1f               @r{Reformat current cell to 1 decimal}
+$0;%.1f              @r{Reformat current cell to 1 decimal}
 ($3-32)*5/9          @r{Degrees F -> C conversion}
 $c/$1/$cm            @r{Hz -> cm conversion, using @file{constants.el}}
 tan($1);Dp3s1        @r{Compute in degrees, precision 3, display SCI 1}
@@ -1527,21 +1548,28 @@ vmean($2..$7);EN     @r{Same, but treat empty fields as 0}
 taylor($3,x=7,2)     @r{taylor series of $3, at x=7, second degree}
 @end example
 
+Calc also contains a complete set of logical operations.  For example
+
+@example
+if($1<20,teen,string(""))  @r{``teen'' if age $1 less than 20, else empty}
+@end example
+
 @node Formula syntax for Lisp, Field formulas, Formula syntax for Calc, The spreadsheet
 @subsection Emacs Lisp forms as formulas
 @cindex Lisp forms, as table formulas
 
 It is also possible to write a formula in Emacs Lisp; this can be useful
-for string manipulation and control structures.  If a formula starts
-with a single quote followed by an opening parenthesis, then it is
-evaluated as a lisp form.  The evaluation should return either a string
-or a number.  Just as with @file{calc} formulas, you can specify modes
-and a printf format after a semicolon.  A reference will be replaced
-with a string (in double quotes) containing the field.  If you provide
-the @samp{N} mode switch, all referenced elements will be numbers.
-Ranges are inserted as space-separated fields, so you can embed them in
-list or vector syntax.  A few examples, note how the @samp{N} mode is
-used when we do computations in lisp.
+for string manipulation and control structures, if the Calc's
+functionality is not enough.  If a formula starts with a single quote
+followed by an opening parenthesis, then it is evaluated as a lisp form.
+The evaluation should return either a string or a number.  Just as with
+@file{calc} formulas, you can specify modes and a printf format after a
+semicolon.  A reference will be replaced with a string (in double
+quotes) containing the field.  If you provide the @samp{N} mode switch,
+all referenced elements will be numbers.  Ranges are inserted as
+space-separated fields, so you can embed them in list or vector syntax.
+A few examples, note how the @samp{N} mode is used when we do
+computations in lisp.
 
 @example
 @r{Swap the first two characters of the content of column 1}
@@ -1566,12 +1594,11 @@ evaluated, and the current field replaced with the result.
 Formulas are stored in a special line starting with @samp{#+TBLFM:}
 directly below the table.  If you typed the equation in the 4th field of
 the 3rd data line in the table, the formula will look like
-@samp{@@3$2=$1+$2}.  When inserting/deleting/swapping column and rows
+@samp{@@3$4=$1+$2}.  When inserting/deleting/swapping column and rows
 with the appropriate commands, @i{absolute references} (but not relative
-ones) in stored formulas are modified in order to
-still reference the same field.  Of cause this is not true if you edit
-the table structure with normal editing commands - then you must go and
-fix equations yourself.
+ones) in stored formulas are modified in order to still reference the
+same field.  Of cause this is not true if you edit the table structure
+with normal editing commands - then you must fix the equations yourself.
 
 Instead of typing an equation into the field, you may also use the
 following command
@@ -1592,7 +1619,9 @@ it to the current field and stores it.
 Often in a table, the same formula should be used for all fields in a
 particular column.  Instead of having to copy the formula to all fields
 in that column, org-mode allows to assign a single formula to an entire
-column.
+column.  If the table contains horizontal separator hlines, everything
+before the first such line is considered part of the table @emph{header}
+and will not be modified by column formulas.
 
 To assign a formula to a column, type it directly into any field in the
 column, preceded by an equal sign, like @samp{=$1+$2}.  When you press
@@ -1625,7 +1654,11 @@ will apply it to that many consecutive fields in the current column.
 
 You can edit individual formulas in the minibuffer or directly in the
 field.  Org-mode can also prepare a special buffer with all active
-formulas of a table.
+formulas of a table.  When offering a formula for editing, Org-mode
+converts references to the standard format (like @code{B3} or @code{D&})
+if possible.  If you prefer to only work with the internal format (like
+@code{@@3$2} or @code{$4}), configure the variable
+@code{org-table-use-standard-references}.
 
 @table @kbd
 @kindex C-c =
@@ -1644,21 +1677,36 @@ minibuffer is that you can use the command @kbd{C-c ?}.
 @item C-c ?
 While editing a formula in a table field, highlight the field(s)
 referenced by the reference at the cursor position in the formula.
+@kindex C-c @}
+@item C-c @}
+Toggle the display of row and column numbers for a table, using
+overlays.  These are updated each time the table is aligned, you can
+force it with @kbd{C-c C-c}.
+@kindex C-c @{
+@item C-c @{
+Toggle the formula debugger on and off.  See below.
 @kindex C-c '
 @item C-c '
 Edit all formulas for the current table in a special buffer, where the
-formulas will be displayed one per line. 
+formulas will be displayed one per line.  If the current field has an
+active formula, the cursor in the formula editor will mark it.
 While inside the special buffer, Org-mode will automatically highlight
 any field or range reference at the cursor position.  You may edit,
 remove and add formulas, and use the following commands:
 @table @kbd
 @kindex C-c C-c
+@kindex C-x C-s
 @item C-c C-c
-Exit the buffer and store the modified formulas.  With @kbd{C-u} prefix,
-also apply the new formulas to the entire table.
+@itemx C-x C-s
+Exit the formula editor and store the modified formulas.  With @kbd{C-u}
+prefix, also apply the new formulas to the entire table.
 @kindex C-c C-q
 @item C-c C-q
-Exit the buffer without installing changes.
+Exit the formula editor without installing changes.
+@kindex C-c C-r
+@item C-c C-r
+Toggle all references in the formula editor between standard (like
+@code{B3}) and internal (like @code{@@3$2}).
 @kindex @key{TAB}
 @item @key{TAB}
 Pretty-print or indent lisp formula at point.  When in a line containing
@@ -1670,23 +1718,25 @@ formula, @key{TAB} re-indents just like in Emacs-lisp-mode.
 Complete Lisp symbols, just like in Emacs-lisp-mode.
 @kindex S-@key{up}
 @kindex S-@key{down}
-@item S-@key{up}/@key{down}
-Move the reference line in the Org-mode buffer up and down.  This is
-important for highlighting the references of column formulas for
-different rows.
+@kindex S-@key{left}
+@kindex S-@key{right}
+@item S-@key{up}/@key{down}/@key{left}/@key{right}
+Shift the reference at point.  For example, if the reference is
+@code{B3} and you press @kbd{S-@key{right}}, it will become @code{C3}.
+This also works for relative references, and for hline references.
+@kindex M-S-@key{up}
+@kindex M-S-@key{down}
+@item M-S-@key{up}/@key{down}
+Move the test line for column formulas in the Org-mode buffer up and
+down.
 @kindex M-@key{up}
 @kindex M-@key{down}
 @item M-@key{up}/@key{down}
 Scroll the window displaying the table.
-@end table
 @kindex C-c @}
 @item C-c @}
-Toggle the display of row and column numbers for a table, using
-overlays.  These are uptated each time the table is aligned, you can
-force it with @kbd{C-c C-c}.
-@kindex C-c @{
-@item C-c @{
-Toggle the formula debugger on and off.  See below.
+Turn the coordinate grid in the table on and off.
+@end table
 @end table
 
 Making a table field blank does not remove the formula associated with
@@ -1707,8 +1757,8 @@ When the evaluation of a formula leads to an error, the field content
 becomes the string @samp{#ERROR}.  If you would like see what is going
 on during variable substitution and calculation in order to find a bug,
 turn on formula debugging in the @code{Tbl} menu and repeat the
-calculation, for example by pressing @kbd{C-c = @key{RET}} in a field.
-Detailed information will be displayed.
+calculation, for example by pressing @kbd{C-u C-u C-c = @key{RET}} in a
+field.  Detailed information will be displayed.
 
 @node Updating the table, Advanced features, Editing and debugging formulas, The spreadsheet
 @subsection Updating the Table
@@ -1742,7 +1792,6 @@ This may be necessary if some computed fields use the value of other
 fields that are computed @i{later} in the calculation sequence.
 @end table
 
-
 @node Advanced features,  , Updating the table, The spreadsheet
 @subsection Advanced features
 
@@ -2407,7 +2456,7 @@ template has been expanded:
 @noindent
 If you change you mind about which template to use, call
 @code{org-remember} in the remember buffer.  You may then select a new
-template that will be filled with the previoous context information.
+template that will be filled with the previous context information.
 
 @node Storing notes,  , Remember templates, Remember
 @subsection Storing notes
@@ -2466,7 +2515,7 @@ things you have to do.
 * TODO basics::                 Marking and displaying TODO entries
 * TODO extensions::             Workflow and assignments
 * Priorities::                  Some things are more important than others
-* Breaking down tasks::         Splitting a task into managable pieces
+* Breaking down tasks::         Splitting a task into manageable pieces
 * Checkboxes::                  Tick-off lists
 @end menu
 
@@ -2686,7 +2735,7 @@ Furthermore, these keys are also used by CUA-mode (@pxref{Conflicts}).
 @section Breaking tasks down into subtasks
 @cindex tasks, breaking down
 
-It is often advisable to break down large tasks into smaller, managable
+It is often advisable to break down large tasks into smaller, manageable
 subtasks.  You can do this by creating an outline tree below a TODO
 item, with detailed subtasks on the tree@footnote{To keep subtasks out
 of the global TODO list, see the
@@ -2907,8 +2956,8 @@ see the option @code{org-time-stamp-rounding-minutes}.
 
 @kindex C-c !
 @item C-c !
-Like @kbd{C-c .}, but insert an inactive time stamp not triggering the
-agenda.
+Like @kbd{C-c .}, but insert an inactive time stamp that will not cause
+an agenda entry.
 
 @kindex C-c <
 @item C-c <
@@ -4772,7 +4821,7 @@ HTML formatting, in ways similar to John Grubers @emph{markdown}
 language, but with additional support for tables.
 
 @menu
-* Export commands::             How to invode HTML export
+* Export commands::             How to invoke HTML export
 * Quoting HTML tags::           Using direct HTML in Org-mode
 * Links::                       How hyperlinks get transferred to HTML
 * Images::                      To inline or not to inline?
@@ -5611,6 +5660,14 @@ To turn on custom format overlays over time stamps (variables
 @example
 customtime @r{overlay custom time format}
 @end example
+The following options influence the table spreadsheet (variable
+@code{constants-unit-system}).
+@cindex @code{constcgs}, STARTUP keyword
+@cindex @code{constSI}, STARTUP keyword
+@example
+constcgs   @r{@file{constants.el} should use the c-g-s unit system}
+constSI    @r{@file{constants.el} should use the SI unit system}
+@end example
 @item #+SEQ_TODO:   #+TYP_TODO:
 These lines set the TODO keywords and their interpretation in the
 current file.  The corresponding variables are @code{org-todo-keywords}

二進制
orgcard.pdf


+ 59 - 48
orgcard.tex

@@ -1,6 +1,7 @@
 % Reference Card for Org Mode
-\def\orgversionnumber{4.67}
-\def\year{2007}
+\def\orgversionnumber{4.68}
+\def\versionyear{2007}          % latest update
+\def\year{2007}                 % latest copyright year
 %
 %**start of header
 \newcount\columnsperpage
@@ -20,7 +21,7 @@
 
 \columnsperpage=3
 
-% Copyright (c) 2004, 2005, 2006, 2007 Free Software Foundation
+% Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc
 
 % GNU Emacs is free software; you can redistribute it and/or modify
 % it under the terms of the GNU General Public License as published by
@@ -61,14 +62,14 @@
 % for their many good ideas.
 
 \def\shortcopyrightnotice{\vskip 1ex plus 2 fill
-  \centerline{\small \copyright\ 2004, 2005, 2006, 2007\ Free Software Foundation, Inc.
+  \centerline{\small \copyright\ \year\ Free Software Foundation, Inc.
   Permissions on back.  v\orgversionnumber}}
 
 \def\copyrightnotice{
 \vskip 1ex plus 100 fill\begingroup\small
 \centerline{Copyright \copyright\ \year\ Free Software Foundation, Inc.}
-\centerline{v\orgversionnumber{} for Org-Mode \orgversionnumber{}, \year}
-\centerline{Authors: Philip Rooke \& Carsten Dominik}
+\centerline{v\orgversionnumber{} for Org-Mode \orgversionnumber{}, \versionyear}
+\centerline{Author: Philip Rooke}
 \centerline{based on refcard design and format by Stephen Gildea}
 
 Permission is granted to make and distribute copies of
@@ -377,34 +378,6 @@ Outside of tables, the same keys may have other functionality.
 \key{paste rectangular region}{C-c C-x C-y}
 \key{fill paragraph across selected cells}{C-c C-q}
 
-{\bf Calculations} (in combination with Emacs \kbd{calc} package)
-
-\key{set and eval column formula}{C-c =}
-\key{set and eval field formula}{C-u C-c =}
-\key{edit formulas in separate buffer}{C-c '}
-\key{re-apply all stored equations to current line}{C-c *}
-\key{re-apply all stored equations to entire table}{C-u C-c *}
-\key{iterate table to stability}{C-u C-u C-c *}
-
-%\kbd{TAB}, \kbd{RET} and \kbd{C-c C-c} trigger automatic recalculation
-%in lines starting with: {\tt | \# |}.
-
-\key{rotate calculation mark through \# * ! \^ \_ \$}{C-\#}
-
-\key{show line, column, formula reference}{C-c ?}
-\key{sum numbers in current column/rectangle}{C-c +}
-\key{copy down with increment}{S-RET$^3$}
-
-Formulas typed in field are executed by \kbd{TAB},
-\kbd{RET} and \kbd{C-c C-c}.  \kbd{=} introduces a column
-formula, \kbd{:=} a named-field formula.
-
-\key{Example: Add Col1 and Col2}{=\$1+\$2}
-\key{... with printf format specification}{=\$1+\$2;\%.2f}
-\key{... with constants from constants.el}{=\$1/\$c/\$cm}
-\metax{sum from 2nd to 3rd hline}{:=vsum(@II..@III)}
-\key{apply current column formula}{=}
-
 {\bf Miscellaneous}
 
 \key{to limit column width to \kbd{N} characters, use}{...| <N> |...}
@@ -412,6 +385,8 @@ formula, \kbd{:=} a named-field formula.
 \key{make current field fully visible}{C-u TAB}
 \metax{export as tab-separated file}{M-x org-table-export}
 \metax{import tab-separated file}{M-x org-table-import}
+\key{sum numbers in current column/rectangle}{C-c +}
+\key{copy down with increment}{S-RET$^3$}
 
 {\bf Tables created with the \kbd{table.el} package}
 
@@ -419,6 +394,42 @@ formula, \kbd{:=} a named-field formula.
 \key{recognize existing table.el table}{C-c C-c}
 \key{convert table (Org-mode $\leftrightarrow$ table.el)}{C-c ~}
 
+{\bf Spreadsheet}
+
+Formulas typed in field are executed by \kbd{TAB},
+\kbd{RET} and \kbd{C-c C-c}.  \kbd{=} introduces a column
+formula, \kbd{:=} a field formula.
+
+\key{Example: Add Col1 and Col2}{|=\$1+\$2      |}
+\key{... with printf format specification}{|=\$1+\$2;\%.2f|}
+\key{... with constants from constants.el}{|=\$1/\$c/\$cm |}
+\metax{sum from 2nd to 3rd hline}{|:=vsum(@II..@III)|}
+\key{apply current column formula}{| = |}
+
+\key{set and eval column formula}{C-c =}
+\key{set and eval field formula}{C-u C-c =}
+\key{re-apply all stored equations to current line}{C-c *}
+\key{re-apply all stored equations to entire table}{C-u C-c *}
+\key{iterate table to stability}{C-u C-u C-c *}
+\key{rotate calculation mark through \# * ! \^ \_ \$}{C-\#}
+\key{show line, column, formula reference}{C-c ?}
+\key{toggle coordinate grid}{C-c \}}
+\key{toggle formula debugger}{C-c \{}
+
+{\it Formula Editor}
+
+\key{edit formulas in separate buffer}{C-c '}
+\key{exit and install new formulas}{C-c C-c}
+\key{exit, install, and apply new formulas}{C-u C-c C-c}
+\key{abort}{C-c C-q}
+\key{toggle reference style}{C-c C-r}
+\key{pretty-print Lisp formula}{TAB}
+\key{complete Lisp symbol}{M-TAB}
+\key{shift reference point}{S-cursor}
+\key{shift test line for column references}{M-up/down}
+\key{scroll the window showing the table}{M-S-up/down}
+\key{toggle table coordinate grid}{C-c \}}
+
 \section{Links}
 
 \key{globally store link to the current location}{C-c l$^1$}
@@ -465,24 +476,24 @@ formula, \kbd{:=} a named-field formula.
 %\key{\kbd{vm://myself@some.where.org/folder\#id}}{\rm VM remote}
 
 
-\section{Remember-mode Integration}
+% \section{Remember-mode Integration}
 
-See the manual for how to make remember.el use Org-mode links and
-files.  The note-finishing command \kbd{C-c C-c} will first prompt for
-an org file. In the file, find a location with:
+% See the manual for how to make remember.el use Org-mode links and
+% files.  The note-finishing command \kbd{C-c C-c} will first prompt for
+% an org file. In the file, find a location with:
 
-\key{rotate subtree visibility}{TAB}
-\key{next heading}{DOWN}
-\key{previous heading}{UP}
+% \key{rotate subtree visibility}{TAB}
+% \key{next heading}{DOWN}
+% \key{previous heading}{UP}
 
-Insert the note with one of the following: 
+% Insert the note with one of the following: 
 
-\key{as sublevel of heading at cursor}{RET}
-\key{right here (cursor not on heading)}{RET}
-\key{before current heading}{LEFT}
-\key{after current heading}{RIGHT}
-\key{shortcut to end of buffer (cursor at buf-start)}{RET}
-\key{Abort}{q}
+% \key{as sublevel of heading at cursor}{RET}
+% \key{right here (cursor not on heading)}{RET}
+% \key{before current heading}{LEFT}
+% \key{after current heading}{RIGHT}
+% \key{shortcut to end of buffer (cursor at buf-start)}{RET}
+% \key{Abort}{q}
 
 \section{Completion}
 

部分文件因文件數量過多而無法顯示