emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: "Thomas S. Dye" <tsd@tsdye.com>
To: Torsten Wagner <torsten.wagner@gmail.com>
Cc: Org Mode Mailing List <emacs-orgmode@gnu.org>
Subject: Re: [babel] noweb does not work (as expected)
Date: Sun, 8 Nov 2009 18:33:09 -1000	[thread overview]
Message-ID: <1521DF86-F0CA-4730-A179-3C6F93C67825@tsdye.com> (raw)
In-Reply-To: <200911091247.48775.torsten.wagner@googlemail.com>


[-- Attachment #1.1: Type: text/plain, Size: 3312 bytes --]

On Nov 8, 2009, at 5:47 PM, Torsten Wagner wrote:

> Hi everyone,
>
> I tried to use the noweb-syntax to tangle all the pieces of source  
> code blocks
> together as proposed by Tom.
>
> However, for some reasons it does not work.
> I notice there are two different syntax for noweb. One propsed on  
> worg and the
> other in examples here in the mailing list. Which one will be  
> correct ? or are
> both correct but with different purpose ?
>
> I used the latest git-version and even tried the branch noweb-evaluate
>
> What I used was a source code block at the end of my org-file like:
> All other blocks are defined above.
>
> #+srcname: makefile()
> #+begin_src python :tangle simulate_ofdm :exports none
>  <<block1>>
>  <<block2>>
>  <<block3>>
>  <<block4>>
>  <<block5>>
> #+end_src
> #+resname: makefile
>
> However
> the tangled file results only in
>
> #!/usr/bin/env python
> # generated by org-babel-tangle
> # [[file:~/test_noweb.org::*Result][makefile]]
>
> # makefile ends here
>
> An execution of block shows nothing on the *Shell output* buffer
> It seems somehow I missunderstand which part of a block will replace a
> <<noweb>>  variable. I thouht it will be replaced by the complete  
> source block
> content during tangle.
>
> Any ideas ?
>
> Thanks,
>
> Torsten
>
>
> _______________________________________________
> Emacs-orgmode mailing list
> Remember: use `Reply All' to send replies to the list.
> Emacs-orgmode@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode

Hi Torsten,

I've been working successfully with your makefile idea.  Here is one  
that works for me:

--------------------------------------

#+begin_src R :noweb :session 135cultural
    <<r-load-libraries>>
    <<r-connect>>
    # run queries
    <<r-135-artifacts-wt-cultural>>
    <<r-135-artifacts-ct-cultural>>
    <<r-135-inverts-cultural>>
    <<r-135-verts-cultural>>
    # reshape query results and run PCA
    <<r-135-reshape>>
    <<r-135-merge>>
    <<r-135-prcomp>>
    # make biplots
    <<r-135-plot-pca-1-2-cultural>>
    <<r-135-plot-pca-2-3-cultural>>
    # segment plot
    <<r-135-stars-cultural>>
    # make tables for LaTeX
   # <<r-135-table-pca>>
    <<r-disconnect>>
#+end_src

-------------------------------------------------

A typical source block looks like this:

-------------------------------------------------

#+srcname: r-load-libraries
#+begin_src R
   library(RMySQL)
   library(reshape)
   library(xtable)
#+end_src

-------------------------------------------------

Note that I don't :tangle this, but use the :noweb feature, instead.   
Also, my "makefile" runs all its :noweb source blocks in a :session,  
where the environment set up by each source block can persist and be  
referenced by other source blocks.  This particular makefile has run  
successfully dozens of times, as I fix little things and add new ones.

I don't know if this is the best way to accomplish this, or if it is  
what you are trying to achieve at the moment.  But, it looks to me as  
if you might want to :noweb instead of :tangle and perhaps establish  
a :session in case your source blocks need to communicate with one  
another.

HTH,
Tom

Thomas S. Dye, Ph.D.
T. S. Dye & Colleagues, Archaeologists, Inc.
Phone: (808) 529-0866 Fax: (808) 529-0884
http://www.tsdye.com



[-- Attachment #1.2: Type: text/html, Size: 6916 bytes --]

[-- Attachment #2: Type: text/plain, Size: 204 bytes --]

_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

  reply	other threads:[~2009-11-09  4:33 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-09  3:47 [babel] noweb does not work (as expected) Torsten Wagner
2009-11-09  4:33 ` Thomas S. Dye [this message]
2009-11-09  7:38   ` Torsten Wagner
2009-11-09 16:32     ` Thomas S. Dye
2009-11-10  1:40       ` Torsten Wagner
2009-11-09  4:41 ` Dan Davison
2009-11-09  7:16   ` Torsten Wagner
2009-11-09 16:04     ` Dan Davison
2009-11-10  1:51       ` Torsten Wagner
2009-11-10  5:33         ` Eric Schulte
2009-11-10  3:02 ` [babel] (solved) " Torsten Wagner

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=1521DF86-F0CA-4730-A179-3C6F93C67825@tsdye.com \
    --to=tsd@tsdye.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=torsten.wagner@gmail.com \
    /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).