emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] input data for babel blocks


From: Thomas S. Dye
Subject: Re: [O] input data for babel blocks
Date: Tue, 01 Oct 2013 09:06:25 -1000

Hi Chuck,

Neat. Thanks for sharing.

All the best,
Tom

Charles Berry <address@hidden> writes:

> Alan Schmitt <alan.schmitt <at> polytechnique.org> writes:
>
>> 
>> Hi Charles,
>> 
>> ccberry <at> ucsd.edu writes:
>> 
>> > Lacking that, another alternative to the approach you have crafted is to
>> > use elisp src blocks to set up the commands needed to create the 
>> > objects,
>> > and then place the results of executing the elisp src block in the src
>> > block of your favored language using noweb, for example
>> >
>> > #+BEGIN_SRC mylang :noweb yes
>> >   <<elisp-conversion-to-mylang("arg1","arg2")>>
>> > #+END_SRC
>> >  
>> > might convert 'arg2' to an object of the desired type named 'arg1' in a 
>> > 'mylang' src block.
>> 
>> This looks like a very powerful approach, but it's a bit beyond my
>> understanding of babel (which is limited) and noweb (whose existence I
>> just discovered after reading http://orgmode.org/manual/noweb.html).
>> 
>
> Sorry if it was a bit obtuse. The examples given by others seem to have 
> helped. And I will give one more.
>
> [deleted]
>
>> If you have an example that uses different languages, I'd love to look
>> at it. I'll then try to write an example for ocaml.
>> 
>
>
> Here is what I use for LaTeX thru elisp to R:
>
>
>
> * Quote Blocks 
>
> quote-blks takes two args:
>
> - blk :: a string of comma separated src block names
> - sep :: an optional separator for use when there is more than one
>          block
>
> I usually save it in a file and load it in with  
> (org-babel-lob-ingest file). But you can copy and paste and the example 
> below will still work.
>
> #+name: quote-blks
> #+BEGIN_SRC emacs-lisp :var blk="abc" :var sep="\"\n\""
>     (save-excursion
>       (replace-regexp-in-string "\"\"" ""
>        (mapconcat
>         (lambda (x) 
>           (org-babel-goto-named-src-block x)
>           (format "%S" (cadr  (org-babel-get-src-block-info  t))))
>         (split-string blk "," t)
>         sep)
>        t t))
>       
> #+END_SRC
>
>
> * example of use
>
>
> The LaTeX here can be editted via C-c ' 
> (i.e. org-edit-special --> org-edit-src-code).
>
> #+name: lstuff
> #+BEGIN_SRC latex :eval never :exports none
> Here is a \backslash. And an unmatched quote: '.
> #+END_SRC
>
>
> Here is an example using it on the above block.
>
> The cat statement prints a formatted version.  The str statement shows
> what R sees (but the outer quotes are not part of the string).
>
> #+BEGIN_SRC R :noweb yes :results output
> some.latex <- 
> <<quote-blks("lstuff")>>
> cat(some.latex,"\n")
> str(some.latex)
> #+END_SRC
>
> #+RESULTS:
> : Here is a \backslash. And an unmatched quote: '. 
> :  chr "Here is a \\backslash. And an unmatched quote: '."
>
> HTH,
>
> Chuck
>
>
>

-- 
Thomas S. Dye
http://www.tsdye.com



reply via email to

[Prev in Thread] Current Thread [Next in Thread]