From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Eric Schulte" Subject: Re: Re: Literate Programming with Org mode Date: Mon, 03 Aug 2009 09:38:22 -0600 Message-ID: References: <87my6ordhh.fsf@mundaneum.com> <87r5vtffv4.fsf@mundaneum.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MXzfx-0004nG-7R for emacs-orgmode@gnu.org; Mon, 03 Aug 2009 11:42:13 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MXzfs-0004kk-5i for emacs-orgmode@gnu.org; Mon, 03 Aug 2009 11:42:12 -0400 Received: from [199.232.76.173] (port=58798 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MXzfr-0004kU-QJ for emacs-orgmode@gnu.org; Mon, 03 Aug 2009 11:42:07 -0400 Received: from mail-pz0-f199.google.com ([209.85.222.199]:50390) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MXzfr-0005Xx-BV for emacs-orgmode@gnu.org; Mon, 03 Aug 2009 11:42:07 -0400 Received: by pzk37 with SMTP id 37so2215710pzk.26 for ; Mon, 03 Aug 2009 08:42:06 -0700 (PDT) In-Reply-To: <87r5vtffv4.fsf@mundaneum.com> (=?utf-8?Q?=22S=C3=A9bastien?= Vauban"'s message of "Mon, 03 Aug 2009 10:42:23 +0200") 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: =?utf-8?Q?S=C3=A9bastien?= Vauban Cc: emacs-orgmode@gnu.org Hi S=C3=A9bastien, Thanks for giving this a try, comments below... S=C3=A9bastien Vauban writes: > Hi Eric, > > "Eric Schulte" wrote: >> "Eric Schulte" writes: [...] >>> As source-code blocks are already named in the current org-babel setup = this >>> wouldn't be a very significant change. Once this is added it shouldn't = be >>> difficult to expand these links/references on export. > > Excellent. > > >>> Under this new setup the example file you described would be analogous >>> to the this org-mode file. >>> >>> Does this sound like it would accomplish most of what you are after? > > I think so, yes. I'll scan all my Nuweb and noweb files over the past yea= rs, > but I am positive you cover all of my needs -- with the exception of one,= but > I guess it's solvable somehow: the fact that the code should be included = via > the LaTeX `listings' package (thus, colored contextually to the programmi= ng > language) and not as verbatim. > I agree fontified code would certainly be preferable to the current approach of inserting source-code as verbatim. This seems to be a general org-mode development issue rather than org-babel specific, so I'm happy to push the buck on this one :). I don't know much about the listings package, but would another possibly be easier to use htmlize.el (used for fontification on html export) along with html -> latex conversion? > > >> With the newest version of org-babel [1] > > Done: `git pull'. > Please do another git pull before trying the steps below so we can be sure we're working off the same code base. > > >> try opening the attached org-mode file [2] which is an org-mode >> translation of S=C3=A9bastien's noweb file from his previous email. > > I wanted to translate it in Org. You've been much quicker than I currentl= y am. > Thanks. > > >> Calling `org-babel-tangle' from within this file will create the >> Payment.sql, Lessons.sql, and Enterprise.sql source-code files. > > Nope... > > Open ~/Personal/Templates/org-babel-lit-prog.org > tangled 0 source-code blocks > > I don't understand why. > Me either... I'm not sure what could be different about our two environments that could be causing this problem. Maybe it has to do with the --8<---------------cut here---------------start------------->8--- (setq org-odd-levels-only t) --8<---------------cut here---------------end--------------->8--- that you mention below. Also note that with org-babel by default source-code blocks are not tangled, only those with a :tangle header argument will be tangled to source-code files. So for example --8<---------------cut here---------------start------------->8--- #+srcname: sql-init #+begin_src sql -- <> SELECT abcID, etpID, etpAssurATPolNum FROM enterprise JOIN record ON (etpAbcID_fk =3D abcID) WHERE etpAbcID_fk -- <> #+end_src --8<---------------cut here---------------end--------------->8--- will not be tangled, while --8<---------------cut here---------------start------------->8--- #+srcname: enterprise #+begin_src sql :tangle Enterprise -- <> SELECT abcID, etpID, etpAssurATPolNum FROM enterprise JOIN record ON (etpAbcID_fk =3D abcID) WHERE etpAbcID_fk -- <> #+end_src --8<---------------cut here---------------end--------------->8--- will be tangled. I have changed the original org-babel-lit-prog.org so that it should work with your configuration of odd levels only and posted it up here [1]. Note that you can grab all of these referenced files by cloning the git repo at git://github.com/eschulte/noweb-example.git. By calling org-babel-tangle from within this org-mode file I was able to generate Enterprise.sql [2], Lessons.sql [3], and Payment.sql [4]. > > Is it normal that you don't include the extension in the tangle property? > Does it add the language extension automatically? > > Yes, org-babel adds the language specific extension automatically. This could be changed/overridden if it proves to limiting. It grew out of the fact that originally source-code files were named based upon the basename of the org-mode file and the language extension. > >> The document can also be exported into html and latex using org-mode's >> standard export functionality. > > I have problems as well... > Again maybe this is the result of conflicting values of org-odd-levels-only? Please try this with the newer org-mode file [1]. I was able to export this to latex resulting in the following tex file [5] and pdf file [6]. I was also able to export this file to html which includes code highlighting [7]. [...] > BTW, what do you think of my proposal to include the Tangle process as a > built-in step of the export to LaTeX (and HTML)? > > That way, we only would export and get both flies caught with one stone. > I like that idea, once this is working as two separate processes it should be relatively trivial to optionally hook org-babel-tangle onto the other export commands. > > Thanks for all! This is seriously a hot topic you've almost solved... > > Seb Sorry I can't be more specific with answers to your problems tangling and exporting. Please do give the new org-mode file [1] a try with the latest version org-babel and let me know if the problems persist. Cheers -- Eric Footnotes:=20 [1] http://github.com/eschulte/noweb-example/raw/a130e165c79c8f6c2f5147330= fe4ae5ab6428c17/w-babel/org-babel-lit-prog.org [2] http://github.com/eschulte/noweb-example/raw/a130e165c79c8f6c2f5147330= fe4ae5ab6428c17/w-babel/Enterprise.sql [3] http://github.com/eschulte/noweb-example/raw/a130e165c79c8f6c2f5147330= fe4ae5ab6428c17/w-babel/Lessons.sql [4] http://github.com/eschulte/noweb-example/raw/a130e165c79c8f6c2f5147330= fe4ae5ab6428c17/w-babel/Payment.sql [5] http://github.com/eschulte/noweb-example/raw/a130e165c79c8f6c2f5147330= fe4ae5ab6428c17/w-babel/org-babel-lit-prog.tex [6] http://github.com/eschulte/noweb-example/raw/a130e165c79c8f6c2f5147330= fe4ae5ab6428c17/w-babel/org-babel-lit-prog.pdf [7] http://github.com/eschulte/noweb-example/raw/a130e165c79c8f6c2f5147330= fe4ae5ab6428c17/w-babel/org-babel-lit-prog.html