The Org Mode 7 Reference Manual
by Carsten Dominik and others Paperback (6"x9"), 282 pages ISBN 9781906966089 RRP £9.95 ($14.95) Sales of this book support the Org project! Get a printed copy>>> |

## 15.8 Advanced features

If you want the recalculation of fields to happen automatically, or if
you want to be able to assign *names* to fields and columns, you need
to reserve the first column of the table for special marking characters.

`C-#`-
Rotate the calculation mark in first column through the states
`‘ ’`,`‘#’`,`‘*’`,`‘!’`,`‘$’`. When there is an active region, change all marks in the region.

Here is an example of a table that collects exam results of students and makes use of these features:

|---+---------+--------+--------+--------+-------+------| | | Student | Prob 1 | Prob 2 | Prob 3 | Total | Note | |---+---------+--------+--------+--------+-------+------| | ! | | P1 | P2 | P3 | Tot | | | # | Maximum | 10 | 15 | 25 | 50 | 10.0 | | ^ | | m1 | m2 | m3 | mt | | |---+---------+--------+--------+--------+-------+------| | # | Peter | 10 | 8 | 23 | 41 | 8.2 | | # | Sam | 2 | 4 | 3 | 9 | 1.8 | |---+---------+--------+--------+--------+-------+------| | | Average | | | | 29.7 | | | ^ | | | | | at | | | $ | max=50 | | | | | | |---+---------+--------+--------+--------+-------+------| #+TBLFM: $6=vsum($P1..$P3)::$7=10*$Tot/$max;%.1f::$at=vmean(@-I @wrapped I..@-I);%.1f

**Important**: please note that for these special tables,
recalculating the table with `C-u C-c *` will only affect rows that
are marked `‘#’` or `‘*’`, and fields that have a formula assigned
to the field itself. The column formulas are not applied in rows with
empty first field.

The marking characters have the following meaning:

`‘!’`-
The fields in this line define names for the columns, so that you may
refer to a column as
`‘$Tot’`instead of`‘$6’`. `‘^’`-
This row defines names for the fields
*above*the row. With such a definition, any formula in the table may use`‘$m1’`to refer to the value`‘10’`. Also, if you assign a formula to a names field, it will be stored as`‘$name=...’`. `‘_’`-
Similar to
`‘^’`, but defines names for the fields in the row*below*. `‘$’`-
Fields in this row can define
*parameters*for formulas. For example, if a field in a`‘$’`row contains`‘max=50’`, then formulas in this table can refer to the value 50 using`‘$max’`. Parameters work exactly like constants, only that they can be defined on a per-table basis. `‘#’`-
Fields in this row are automatically recalculated when pressing
`TAB`or`RET`or`S-`in this row. Also, this row is selected for a global recalculation with`TAB``C-u C-c *`. Unmarked lines will be left alone by this command. `‘*’`-
Selects this line for global recalculation with
`C-u C-c *`, but not for automatic recalculation. Use this when automatic recalculation slows down editing too much. `‘’`-
Unmarked lines are exempt from recalculation with
`C-u C-c *`. All lines that should be recalculated should be marked with`‘#’`or`‘*’`. `‘/’`-
Do not export this line. Useful for lines that contain the narrowing
`‘<N>’`markers or column group markers.

Finally, just to whet your appetite for what can be done with the
fantastic `‘calc.el’` package, here is a table that computes the Taylor
series of degree `n`

at location `x`

for a couple of
functions.

|---+-------------+---+-----+--------------------------------------| | | Func | n | x | Result | |---+-------------+---+-----+--------------------------------------| | # | exp(x) | 1 | x | 1 + x | | # | exp(x) | 2 | x | 1 + x + x^2 / 2 | | # | exp(x) | 3 | x | 1 + x + x^2 / 2 + x^3 / 6 | | # | x^2+sqrt(x) | 2 | x=0 | x*(0.5 / 0) + x^2 (2 - 0.25 / 0) / 2 | | # | x^2+sqrt(x) | 2 | x=1 | 2 + 2.5 x - 2.5 + 0.875 (x - 1)^2 | | * | tan(x) | 3 | x | 0.0175 x + 1.77e-6 x^3 | |---+-------------+---+-----+--------------------------------------| #+TBLFM: $5=taylor($2,$4,$3);n3

ISBN 9781906966089 | The Org Mode 7 Reference Manual | See the print edition |