Orgtbl mode has built-in translator functions:
orgtbl-to-tsv (TAB-separated values),
orgtbl-to-orgtbl. They use the generic
orgtbl-to-generic, which delegates translations to
various export back-ends.
Properties passed to the function through the ‘ORGTBL SEND’ line take
precedence over properties defined inside the function. For example,
this overrides the default LaTeX line endings,
#+ORGTBL: SEND test orgtbl-to-latex :lend " \\\\[2mm]"
For a new language translator, define a converter function. It can be a generic function, such as shown in this example. It marks a beginning and ending of a table with ‘!BTBL!’ and ‘!ETBL!’; a beginning and ending of lines with ‘!BL!’ and ‘!EL!’; and uses a TAB for a field separator:
(defun orgtbl-to-language (table params) "Convert the orgtbl-mode TABLE to language." (orgtbl-to-generic table (org-combine-plists '(:tstart "!BTBL!" :tend "!ETBL!" :lstart "!BL!" :lend "!EL!" :sep "\t") params)))
The documentation for the
orgtbl-to-generic function shows
a complete list of parameters, each of which can be passed through to
orgtbl-to-texinfo, and any other function using
that generic function.
For complicated translations the generic translator function could be
replaced by a custom translator function. Such a custom function must
take two arguments and return a single string containing the formatted
table. The first argument is the table whose lines are a list of
fields or the symbol
hline. The second argument is the property
list consisting of parameters specified in the ‘#+ORGTBL: SEND’ line.
Please share your translator functions by posting them to the Org
users mailing list, at firstname.lastname@example.org.