emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: "Eric Schulte" <schulte.eric@gmail.com>
To: "Sébastien Vauban" <wxhgmqzgwmuf@spammotel.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: Re: org-style folding for a .emacs
Date: Thu, 16 Jul 2009 17:31:28 -0600	[thread overview]
Message-ID: <m28wionr1r.fsf@gmail.com> (raw)
In-Reply-To: 87ab35mzhq.fsf@mundaneum.com

Hi Sébastien,

Sébastien Vauban <wxhgmqzgwmuf@spammotel.com> writes:

> Hello Eric,
>
> "Eric Schulte" wrote:
>> I've added some simplifying functions to the literate programming
>> functionality of org-babel.  It should now be easy to embed your elisp
>> initialization into org-mode files.  Specifically there is now a new
>> `org-babel-load-file' function which can load the elisp portions of
>> org-mode files in the same manner as the normal `load-file' command.
>>
>> To use this you need to clone the latest version of org-babel[1], and
>> then add the following to your emacs initialization (this worked for me
>> when a base emacs "emacs -Q").
>>
>> (add-to-list 'load-path "~/path/to/org/lisp")
>> (add-to-list 'load-path "~/path/to/org-babel/lisp")
>> (require 'org-babel-init)
>> ;; now you can load your org-mode files with embedded elisp
>> (org-babel-load-file "~/path/to/org-mode-file.org")
>> ;; for example
>> (org-babel-load-file "~/path/to/org-babel/test-tangle.org")
>>
>> Hopefully this will provide the literate programming functionality
>> without too much trouble.
>
> I'm a heavy user of "literate programming" for rapports I write for clients
> (in fact, for me, first, but I give them to our clients as well).
>
> Up to a couple of months ago, I was doing literate programming via LaTeX and
> nuweb, from Windows as my nuweb binary was just available for that platform.
> So, writing a `.w' file from which I extract a `.tex' one and the source code.
>
> Then, the last time I did it, I switched to doing such reports under Ubuntu,
> with the noweb package. That is a `.nw' file which is "compiled" to a `.tex',
> and which is as well outputting all my code.
>
> This is nice, and works well. But, now, I am trying as hard as possible to
> avoid writing LaTeX directly and let Org do the work for me. So, if I can use
> Org to create my `.tex' file and the source code from it as well (did I
> understand correctly?), then that will be wonderful.
>
> Do you have examples or a tiny tutorial about this?
>

There are two small examples which should be helpful.  First grab a copy
of the org-babel code [1].  Then load org-babel [2].

To demonstrate extraction of code, open "test-tangle.org" file in the
base of the org-babel directory and run `org-babel-tangle'.  This should
create a couple of source-code files in the same directory.

To demonstrate creation of documents, open the "test-export.org" file in
the base of the org-babel directory, and export it as you would any
other org-mode file.  The "exports" header argument controls how
source-code blocks are exported, with the following options

- none :: no part of the source-code block is exported in the document
- results :: only the output of the evaluated block is exported
- code :: the code itself is exported
- both :: both the code and results are exported

>
> Best regards,
>   Seb
>
> PS- Excellent you're looking at this, because I thought I was the latest
>     "literate programmer" on earth. All the mailing lists about that are
>     dying.

While I find the notion of literate programming very appealing, I have
no practical experience with it.  The literate programming functionality
in org-babel was inspired by talking with Eric Neilsen and by the sense
that literate programming fit with org-babel's focus on code blocks.

As you are actually familiar with literate programming and tools like
noweb, I would be very interested to hear your thoughts on the current
and potential future literate programming implementations in org-babel.

Best -- Eric

Footnotes: 
[1]  git clone git://github.com/eschulte/org-babel.git

[2]  
(add-to-list 'load-path "~/path/to/org-babel/lisp")
(require 'org-babel-init)

  reply	other threads:[~2009-07-16 23:31 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-13 21:23 org-style folding for a .emacs Scot Becker
2009-07-13 22:56 ` Eric S Fraga
2009-07-13 23:07 ` Michael Zeller
2009-07-14 11:55   ` Sébastien Vauban
2009-07-15  3:12     ` Michael Zeller
2009-07-15 15:52       ` Sébastien Vauban
2009-07-13 23:26 ` Dan Davison
2009-07-14 11:01   ` Scot Becker
2009-07-15  5:17     ` Eric Schulte
2009-07-15 21:02       ` Sébastien Vauban
2009-07-16 23:31         ` Eric Schulte [this message]
2009-07-28 14:39           ` Sébastien Vauban
2009-07-30  0:51             ` Eric Schulte
2009-07-16  1:02 ` Daniel Clemente
2009-07-16 19:50 ` Bastien

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=m28wionr1r.fsf@gmail.com \
    --to=schulte.eric@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=wxhgmqzgwmuf@spammotel.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).