From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Eric Schulte" Subject: Re: [babel] FEATURE REQUEST: send results into file Date: Wed, 29 Sep 2010 10:22:55 -0600 Message-ID: <87r5gcfrj4.fsf@gmail.com> References: <5AEB6EE1-152E-4DDC-BAB7-5897FE774E51@tsdye.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from [140.186.70.92] (port=43098 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P0zbN-0005K1-Lz for emacs-orgmode@gnu.org; Wed, 29 Sep 2010 12:34:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1P0zQs-0006GH-2s for emacs-orgmode@gnu.org; Wed, 29 Sep 2010 12:23:03 -0400 Received: from mail-pv0-f169.google.com ([74.125.83.169]:60719) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1P0zQr-0006GA-PE for emacs-orgmode@gnu.org; Wed, 29 Sep 2010 12:23:02 -0400 Received: by pvc7 with SMTP id 7so540142pvc.0 for ; Wed, 29 Sep 2010 09:23:00 -0700 (PDT) In-Reply-To: <5AEB6EE1-152E-4DDC-BAB7-5897FE774E51@tsdye.com> (Thomas S. Dye's message of "Wed, 29 Sep 2010 06:02:29 -1000") 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: "Thomas S. Dye" Cc: emacs-orgmode , Rainer M Krug "Thomas S. Dye" writes: > Aloha Rainer, > > Perhaps this will work? Eric Schulte wrote a function to make a LaTeX > table out of an Org-mode table. Ah, thanks for suggesting this Tom, I'd forgotten about that function. If you'll indulge me, I'd like to expound upon the library of babel (lob) as I sometimes feel that it is underutilized among Babel features. The function below is distributed in the lob in the contrib directory of Org-mode, and by putting something like (org-babel-lob-ingest "~/src/org/contrib/babel/library-of-babel.org") into your Emacs initialization all of the many library of Babel functions -- I'd recommend browsing the file as there are some interesting functions -- will be available from any Org-mode file to be called using call lines #+call: booktabs(table=...) or executable noweb references in source blocks as Tom suggests below. This file lives in the contrib directory to ease the process of adding user-contributed functions without the authors having to go through the Emacs assignment process. Best -- Eric > You should be able to call it from within a LaTeX source block that > tangles to a suitably named file. There is an added benefit in the > support for booktabs rules, so you'll need to have the booktabs > package installed. > > hth, > Tom > >> --8<---------------cut here---------------start------------->8--- >> *** booktabs >> This block can be used to wrap a table in the latex =booktabs= >> environment, it takes the following arguments -- all but the first two >> are optional. >> | arg | description | >> |-------+--------------------------------------------| >> | table | a reference to the table | >> | align | optional alignment string | >> | env | optional environment, default to "tabular" | >> | width | optional width specification string | >> >> #+srcname: booktabs >> #+begin_src emacs-lisp :var table='((:head) hline (:body)) :var >> align='() :var env="tabular" :var width='() :noweb yes :results >> latex >> (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 >> " >> \\begin{%env}%width%align >> \\toprule >> %table >> \\bottomrule >> \\end{%env}\n" >> (list >> (cons "env" (or env "table")) >> (cons "width" (if width (format "{%s}" width) "")) >> (cons "align" (if align (format "{%s}" align) "")) >> (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 >> --8<---------------cut here---------------end--------------->8--- >> >> once loaded it can be applied as here >> >> --8<---------------cut here---------------start------------->8--- >> ** booktabs >> #+tblname: months >> | num | Abbrev. | >> |-----+---------| >> | 1 | Jan. | >> | 2 | Feb. | >> | 3 | Mar. | >> >> #+call: booktabs(table=months, align="r|l") :results latex :exports >> results >> --8<---------------cut here---------------end--------------->8--- > > On Sep 28, 2010, at 10:58 PM, Rainer M Krug wrote: > >> Hi >> >> Based on a discussion in the thread "Problem with PROPERTIES >> :OPTIONS: when exporting subtree", The idea came ub by Mathew >> Lundin to be able to "send the results or a source code block >> (either executed code or exported org snippets) via babel to a >> target in an external file.". >> >> The scenario or context in which the idea came up: >> >> I am using org babel for literate programming and I document my >> parameters for simulations in a table in org. Now when writing a >> paper, for which I use a different program (I use LyX), but I still >> would like to include the tables from my original org file in them. >> Therefore I was looking for a possibility to export ONLY the table >> into a .tex file, so that it can be included in the LyX / LaTeX via >> \input{theTable.tex} . Therefore I would need an export of the table >> in LaTeX format, but no preamble or anything. As far as I was told, >> this possibility does not exist in org. >> >> So Mathew's / my question is if it would be possible to include a >> functionality to "send the results or a source code block (either >> executed code or exported org snippets) via babel to a target in an >> external file.". >> >> >> Cheers, >> >> Rainer >> >> >> -- >> NEW GERMAN FAX NUMBER!!! >> >> Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation >> Biology, UCT), Dipl. Phys. (Germany) >> >> Centre of Excellence for Invasion Biology >> Natural Sciences Building >> Office Suite 2039 >> Stellenbosch University >> Main Campus, Merriman Avenue >> Stellenbosch >> South Africa >> >> Cell: +27 - (0)83 9479 042 >> Fax: +27 - (0)86 516 2782 >> Fax: +49 - (0)321 2125 2244 >> email: Rainer@krugs.de >> >> Skype: RMkrug >> Google: R.M.Krug@gmail.com >> >> _______________________________________________ >> Emacs-orgmode mailing list >> Please use `Reply All' to send replies to the list. >> Emacs-orgmode@gnu.org >> http://lists.gnu.org/mailman/listinfo/emacs-orgmode > > _______________________________________________ > Emacs-orgmode mailing list > Please use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode