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
_______________________________________________
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