emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Thorsten Jolitz <tjolitz@gmail.com>
To: emacs-orgmode@gnu.org
Subject: Re: [RFC] Rewrite radio tables
Date: Sun, 24 Aug 2014 22:51:08 +0200	[thread overview]
Message-ID: <87a96tharn.fsf@gmail.com> (raw)
In-Reply-To: 87fvglhcas.fsf@gmail.com

Thorsten Jolitz <tjolitz@gmail.com> writes:

> Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:
>
> Hello,
>
>> The following patch implements radio tables and `orgtbl-to-...'
>> functions using Org export engine. The implementation is probably not
>> totally backward compatible, though.

Btw, great job - thats quite a complex part of Org-mode, looks like a
lot of work ...

> funny, I just wrote `org-dp-create-table' (in
> https://github.com/tj64/org-dp) a few hours ago, obviously it is not
> competing with this rather complex framework of Org table creation, but
> it does its job and might be useful for anybody just looking for a
> simple way to create a table programmatically.

Just figured out that I can make the function more generic with a few
changes, now it handles table-formulas and table.el tables too, so FYI: 

,----[ C-h f org-dp-create-table RET ]
| org-dp-create-table is a Lisp function in `org-dp-lib.el'.
| 
| (org-dp-create-table ROW-LST &optional TBLFM TABLE-EL-P)
| 
| Create table with content ROW-LST.
| ROW-LST is an alist of lists with elements that are contents of a
| single row's table cells, e.g.
| 
|  (list
|    (list "col1" "col2" "col3")
|    'hline
|    (list 1 2 3)
|    (list 'x 'y 'z))
| 
| for a table with 3 columns and 4 rows, including one horizontal
| line.
| 
| TBLFM, if given, should be a list containing a table formula as
| string. If TABLE-EL-P is non-nil, the table type will be
| 'table.el, otherwise its is 'org by default.
`----

usage:

#+BEGIN_SRC emacs-lisp :results raw
  (org-dp-create-table
   (list
    ;; rows
    (list "col1" "col2" "col3")
    'hline
    (list "a" "b" "c")
    (list 1 2 3)
    'hline
    (list 'x 'y 'z))
   ;; table-formula 
   (list "x=y")
   ;; table type
   ; t)
#+END_SRC

#+results:
| col1 | col2 | col3 |
|------+------+------|
| a    | b    | c    |
| 1    | 2    | 3    |
|------+------+------|
| x    | y    | z    |
#+TBLFM: x=y


-- 
cheers,
Thorsten

  reply	other threads:[~2014-08-24 20:51 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-24 19:25 [RFC] Rewrite radio tables Nicolas Goaziou
2014-08-24 20:18 ` Thorsten Jolitz
2014-08-24 20:51   ` Thorsten Jolitz [this message]
2014-08-25 16:08 ` Nick Dokos
2014-08-25 16:11   ` Nick Dokos
2014-08-25 19:20   ` Nicolas Goaziou
2014-09-13 13:23     ` Nicolas Goaziou
2014-08-27 14:50 ` AW
2014-08-27 23:33   ` 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=87a96tharn.fsf@gmail.com \
    --to=tjolitz@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    /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).