Orgtbl mode has built-in translator functions:
orgtbl-to-csv (comma-separated values),
orgtbl-to-tsv (TAB-separated values),
orgtbl-to-orgtbl. They use the generic translator,
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."
'(:tstart "!BTBL!" :tend "!ETBL!" :lstart "!BL!" :lend "!EL!" :sep "\t")
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 email@example.com.