To define the location of the target table, you first need to create two lines that are comments in the current mode, but contain magic words for Orgtbl mode to find. Orgtbl mode will insert the translated table between these lines, replacing whatever was there before. For example:
/* BEGIN RECEIVE ORGTBL table_name */ /* END RECEIVE ORGTBL table_name */
Just above the source table, we put a special line that tells Orgtbl mode how to translate this table and where to install it. For example:
#+ORGTBL: SEND table_name translation_function arguments....
table_name is the reference name for the table that is also used
in the receiver lines.
translation_function is the Lisp function
that does the translation. Furthermore, the line can contain a list of
arguments (alternating key and value) at the end. The arguments will be
passed as a property list to the translation function for
interpretation. A few standard parameters are already recognized and
acted upon before the translation function is called:
:skipcols (n1 n2 ...)
&%#_^when exporting the table. The default value is nil.
The one problem remaining is how to keep the source table in the buffer without disturbing the normal workings of the file, for example during compilation of a C file or processing of a LaTeX file. There are a number of different solutions: