emacs-orgmode
[Top][All Lists]

Re: [O] Export tables as matrices (change tbl-export function on the fly

 From: Rasmus Subject: Re: [O] Export tables as matrices (change tbl-export function on the fly) Date: Sat, 17 Nov 2012 19:29:03 +0100 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2.50 (gnu/linux)

```Nicolas Goaziou <address@hidden> writes:

>> I didn't manage to get your (Nicolas') or my own attempt working
>> correctly for exporting matrices.  I still think it would be nice.
> It's hard to fix this since you're not very explicit here.

Sorry; you posted a code first which didn't work at all for me; I
tried to fix it, and I posted a code which I though worked but in the
end it didn't.  Thus, I though it would be fair to post another
message stating this, if nothing else than for future viewers.

>> I tried to use the regexp
>>    (not (string-match "|[\\+-]+|"  table))
>> to identify tables without heading separators, but it didn't work
>> properly.
>
> It cannot work in filters. These are applied on back-end ouput, in
> this case LaTeX code, not on Org code.

Aha, that explains a lot.  At some point when I don't have so many
assignments I really need to get to know the details of your work.
It's has so many cool features.

> There is no TBLOPTIONS affiliated keyword, but it could go in
> ATTR_LATEX

That a lot more clever.  I just made up TBLOPTIONS since I couldn't
think of anywhere better.  But you are of right.  Such an option would
fit perfectly into ATTR_LATEX.

> If you provide a full description of options and their effect, I
> might try to implement it.

Okay I'll try.  I don't know whether something like the below is what
you are thinking of.  I use matrices all of the time so it would be
nice for me.

- PROPOSAL: New option(s)for ATTR_LATEX
- :type :: options a lisp translation function or key words
associated with a lisp list translation function.
- Default keyword: table; other known keywords: matrix
- table: current exporter
- matrix: exports to LaTeX matrix determined by the variable
org-export-latex-tables-matrix-default-type or :matrix-type.
Default is: bmatrix or pmatrix (probably bmatrix).
- in general array requires more configuration, but for me
array need not be supported.

- Matrix relevant keywords :: are the following
- If the additional variable ALIGN is set to k ∈ {l,r,c} use
the starred version of
org-export-latex-tables-matrix-default-type or :matrix-type
- If the additional keyword :bordered is t use the typeset
the matrix as \borderedmatrix{&col1&
... &colN\\row1&...\\...\\rowN}.  A better example is
here ¹.  Also, the default bordermatrix macro is determined
via org-export-latex-tables-matrix-bordered-type s.t. one
can specify kbordermatrix ² or qbordermatrix ³.  Perhaps
Org automatically add the respective usepackage if this
option is set to something different from bordermatrix
(i.e. org-export-latex-tables-matrix-bordered-type is a
list of lists where the first element of a list is the
macro name and the second is the needed package).
- If :matrix-pre "string" is set "string" is typeset before
the matrix
- If :matrix-post "string" is set then "string" is typeset
after the matrix.
- Alternatively, CAPTION could be used, but it seems weird.
Are they written before or after the matrix?  I'd prefer
CAPTIONs to be ignored typeset when matrices are typeset.
- If the table has a name the matrix is typeset using
equation and given an label.  If not it may be typeset
using equation* or \[·\].
- Potentially: an :inline exists s.t. if inline is t the
matrix is typeset inline [i.e. with \(\)].  Perhaps, it
should be smart and use the small verison of
org-export-latex-tables-matrix-default-type.  I.e. if
bmatrix use bsmallmatrix.  This could be set via
org-export-latex-tables-matrix-inline-small.

Thanks,
Rasmus

Footnotes:
¹   http://www.math.harvard.edu/texman/node25.html
²   https://www.hss.caltech.edu/~kcb/LaTeX.shtml