From: Nicolas Goaziou <n.goaziou@gmail.com>
To: Rasmus <rasmus@gmx.us>
Cc: emacs-orgmode@gnu.org
Subject: Re: Export tables as matrices (change tbl-export function on the fly)
Date: Sun, 18 Nov 2012 09:53:22 +0100 [thread overview]
Message-ID: <87fw48lyoj.fsf@gmail.com> (raw)
In-Reply-To: <87d2zc84nk.fsf@pank.eu> (rasmus@gmx.us's message of "Sat, 17 Nov 2012 19:29:03 +0100")
Rasmus <rasmus@gmx.us> writes:
> 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 meant: what is the exact problem with my code (with examples and
expected output if possible)? It shouldn't be hard to fix.
> - PROPOSAL: New option(s)for ATTR_LATEX
> - :type :: options a lisp translation function or key words
> associated with a lisp list translation function.
Forget the lisp translation function. At this level, the function
operates on parsed data. It doesn't use any orgtbl-to-* function. Also,
even if the ATTR_LATEX keyword applies on the table, it also affects how
`table-row' elements and `table-cell' objects are transcoded.
The usual way to define a new transcoder in the new export API is to
create a derived backed using an alternative translation table. It is
easier than it sounds.
> - 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.
I suggest to use a :math-mode t. With this mode, all cells are treated
as raw math code (no transformation is made on any cell). A global
variable can also set it `org-export-latex-table-math-mode' (default to
nil).
Then, the :environment keyword can be set to "tabular", "longtable",
"tabularx", "tabulary", "bmatrix", "pmatrix", "vmatrix", "kbordermatrix"
or "qbordermatrix". "bordermatrix", "array"... It would default to
`org-e-latex-default-table-environment' (default to "tabular").
> - 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
What is the variable ALIGN? You mean :align keyword? Do matrix
environments accept alignment? Also I haven't heard about starred
version of these. What do they do?
> - 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 ³.
From the syntax perspective, I see no difference between bordered
matrices and the others: they just use a different environment, which
can be provided through :environment keyword. Am I missing something?
> 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).
The backend never adds any usepackage automatically. It is a can of
worms (incompatibilities, order of packages...). It's the responsibility
of the user to do so.
> - 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 \[·\].
Good idea.
> - 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.
Do all matrix environments accept a small counterpart?
Regards,
--
Nicolas Goaziou
next prev parent reply other threads:[~2012-11-18 8:57 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-14 14:49 Export tables as matrices (change tbl-export function on the fly) Rasmus
2012-11-14 16:21 ` Nicolas Goaziou
2012-11-14 18:05 ` Rasmus
2012-11-17 13:26 ` Rasmus Pank Roulund
2012-11-17 15:32 ` Nicolas Goaziou
2012-11-17 18:29 ` Rasmus
2012-11-18 8:53 ` Nicolas Goaziou [this message]
2012-11-18 11:50 ` Rasmus
2012-11-18 13:20 ` Nicolas Goaziou
2012-11-18 14:05 ` Rasmus
2012-11-18 19:12 ` Nicolas Goaziou
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87fw48lyoj.fsf@gmail.com \
--to=n.goaziou@gmail.com \
--cc=emacs-orgmode@gnu.org \
--cc=rasmus@gmx.us \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).