Aloha Eric Fraga,

Is it OK with you to put a modified version of the emacs-lisp code for LaTeX GANTT charts in the Library of Babel?  I agree with Eric S. (see below) that this would be the best location for it in the context of org-article.cls.  

You can see my version of your code here:

http://orgmode.org/worg/org-contrib/babel/examples/article-class.php#sec-3_4_5_1

My changes to your code were minor.

1) I've taken off the header arguments.   AFAICT, header arguments in the Library of Babel aren't used as the defaults when the function is called, so there is no reason to have them there in this context.

2) I've taken out the code that generates #+begin_latex and #+end_latex.  This makes it possible to use the function in the Org-mode buffer:

#+lob: elispgantt(table=gantttesttable) :results output latex

and also within a LaTeX source code block:

#+lob: elispgantt(table=gantttesttable) :results output raw

Thanks very much for the useful code, BTW.  We're writing an annotated bibliography of Hawaiian history at work and I'm pretty sure we can use a GANTT chart to show a timeline of historians over the last century and a half.

All the best,
Tom

On Oct 17, 2010, at 11:25 AM, Eric Schulte wrote:

Hi Tom,

I think this code should live in the main library-of-babel.org file.  I
don't see any reason why it would be overwritten in that file, and that
way it will be available by default for anyone who already loads the
library of babel.

Best -- Eric

"Thomas S. Dye" <tsd@tsdye.com> writes:

Hi Eric,

Thanks for asking about the Library of Babel.  I'm still figuring out
the best way to use it and welcome your advice.

Here is the approach I've drafted.  Do you think this is a reasonable
way to go?

The GANTT Emacs lisp code can either be placed in the buffer with the
GANTT chart table or it can be installed in the
[[http://orgmode.org/manual/Library-of-Babel.html#Library-of-Babel
][Library of Babel]].
Installing local code in the Library of Babel is best accomplished by
establishing one or more Org-mode files for this purpose and keeping
them in a place that won't be overwritten when Org-mode is updated.
For each of these local files, place a line like the following in
=.emacs= to make the source code blocks accessible to the Library:

#+source: load-local-lob
#+begin_src emacs-lisp :exports code
 (org-babel-lob-ingest "~/org/local-lob.org")
#+end_src

If this is off the mark, and the code should go in the main Library,
then I'd want to check with Eric F. first about the changes I made.

All the best,
Tom

On Oct 17, 2010, at 8:22 AM, Eric Schulte wrote:

BTW: Do you still intend to add the elispgantt code to the library of
   babel distributed with Org-mode?  If so I'm happy to handle the
   commit if you send me the code or a patch.