"Thomas S. Dye" <t...@tsdye.com> 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: rai...@krugs.de >> >> Skype: RMkrug >> Google: r.m.k...@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 _______________________________________________ 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