From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeff Horn Subject: [babel] Passing an org table block to Eric Schulte's booktabs function Date: Mon, 21 Feb 2011 14:34:23 -0500 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Return-path: Received: from [140.186.70.92] (port=45496 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PrbWv-00051C-Of for emacs-orgmode@gnu.org; Mon, 21 Feb 2011 14:34:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PrbWu-0008Sd-LK for emacs-orgmode@gnu.org; Mon, 21 Feb 2011 14:34:45 -0500 Received: from mail-fx0-f41.google.com ([209.85.161.41]:34724) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PrbWu-0008Ru-Do for emacs-orgmode@gnu.org; Mon, 21 Feb 2011 14:34:44 -0500 Received: by fxm5 with SMTP id 5so1705733fxm.0 for ; Mon, 21 Feb 2011 11:34:43 -0800 (PST) List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Org-mode ml I've recently tried getting pretty tables in LaTeX export using Eric Schulte's function from Worg: http://orgmode.org/worg/org-contrib/babel/languages/ob-doc-LaTeX.html#sec-5_2 The problem is that passing the table to the function produces an error, specifically "wrong type of argument: listp". Any ideas about what to do differently? Here's a quick example: * Test Table Have a look at Table \ref{tab:example}. #+srcname: es-booktabs #+begin_src emacs-lisp :var table='((:head) hline (:body)) :exports none (flet ((to-tab (tab) (orgtbl-to-generic (mapcar (lambda (lis) (if (listp lis) (mapcar (lambda (el) (if (stringp el) el (format "%S" el))) lis) lis)) tab) (list :lend " \\\\" :sep " & " :hline "\\hline")))) (org-fill-template " \\toprule %table \\bottomrule\n" (list (cons "table" ;; only use \midrule if it looks like there are column headers (if (equal 'hline (second table)) (concat (to-tab (list (first table))) "\n\\midrule\n" (to-tab (cddr table))) (to-tab table)))))) #+end_src #+srcname: tab-example #+begin_src org :results replace :exports none ,| | | Column Player | | ,|------------+---+---------------+-----| ,| / | < | | > | ,| | | A | B | ,| Row Player | A | 1,2 | 3,4 | ,| | B | 5,6 | 7,8 | #+end_src #+begin_src latex :noweb yes \begin{table}[htb!] \centering \caption{A test table} \label{tab:example} \begin{tabular}{rl} <> \end{tabular} \end{table} #+end_src -- Jeffrey Horn http://www.failuretorefrain.com/jeff/