Jerry,
Yes, org-babel opens a whole range of possibilities.
The setup I described produces three documents: 1) LaTeX document, 2)
beamer slide show, and 3) html user manual. 1) and 2) are written
completely in their own sets of source blocks, in native LaTeX and
beamer, and are processed by org-babel-tangle to make files that LaTeX
can typeset. I don't edit these after they have been tangled. 3) is
exported using one of the org-mode facilities and contains, where
appropriate, the source code of various LaTeX and beamer source
blocks, using the :exports header argument. For long bits of LaTeX
code that readers of my user manual would fully understand, I
set :exports none. When the LaTeX code does something more
interesting, I set :exports code, so it appears in the user manual.
The intent of the manual is to show my employees how to solve document
preparation problems that are common in our work.
Of course, document preparation also includes figures as well as
text. org-babel lets me write modular code that queries a MySQL
server, processes the results of the query in R, and writes a graphic
to disk. The LaTex and beamer code in the source blocks can refer to
these graphic files. Of course, I write notes about the various parts
of the figure preparation code as I go. In this way, the org-mode
file approximates a reproducible research document. The modularity
of the code lets me isolate things like SQL queries. In the case
where I have several figures that describe one set of objects and the
definition of the objects changes as a result of the ongoing analysis,
I can change the query in one place and expect that the change will
show up in all of the figures that use that query.
This is the only way I currently move information into the LaTeX and
beamer source blocks from outside them. I'm new to this, however, and
I'm fairly certain my workflow will change as I explore and better
understand the many possibilities offered by org-babel. I'll be
interested to learn the workflow you devise.
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
On Oct 23, 2009, at 2:48 AM, JBash wrote:
Tom,
Thanks very much for pointing this out. I had not taken the time to
investigate org-babel up to now. I didn't know enough about it to
know I needed to find out about it...
I've been looking at the information about it on worg, and it seems
like it opens a whole range of possibilities.
So, if I may inquire further about the process you are using in your
workflow, for clarification. If I understand...
You are using the source blocks to contain the entire document(s),
in separate parts (preamble, intro, chapters, summary, etc.), and
using orgmode outlining functions to capture notes, thoughts,
actions, etc. Some of these subtrees then may be exported and
placed inside the source blocks of one (or both/more) of the
documents, with additional editing (of the source) as needed. Is
that the general idea?
Thanks,
Jerry
On Thu, Oct 22, 2009 at 6:13 PM, Thomas S. Dye <t...@tsdye.com> wrote:
Hi Jerry,
I do this using org-babel. I love being able to write my article
*and* my beamer presentation in the same file. Using the literate
programming facility of org-babel, I'm able to write them each in
pieces, then assemble them at the end for tangling and export. This
means I have to write real LaTeX and beamer code, rather than having
the LaTeX export facility of org-mode do its work, but org-mode
makes this easy with Ctrl-C ', which opens up the source block in a
buffer where auctex and reftex are active.
It looks something like this:
#+srcname: latex-preamble
#+begin_src latex :exports none
\documentclass{article}
\author{A. N. Author}
\title{Article Title}
\newcommand{\attr}[1]{\textbf{#1}}
\begin{document}
\maketitle
#+end_src
#+srcname: beamer-preamble
#+begin_src latex :exports none
\documentclass{beamer}
... (lots of stuff here)
\begin{document}
\maketitle
#+end_src
#+srcname: latex-document
#+begin_src latex :tangle adz_print.tex :exports none
% <<latex-preamble>>
% <<latex-introduction>
...
\end{document}
#+end_src
#+srcname: beamer-document
#+begin_src latex :tangle adz_beamer.tex :exports none
% <<beamer-preamble>>
% <<beamer-introduction>>
...
\end{document}
#+end_src
Calling org-babel-tangle gives me adz_print.tex for my article and
adz_beamer.tex for my beamer presentation.
There are probably other ways to achieve this (org-mode, you know)
that might be simpler.
The text I write outside the source blocks tracks what I hope to
achieve, decisions I've made, etc. and uses the export facilities of
org-mode to create a user manual for my employees. Right now I'm
targeting html for the user manual, but LaTeX export would also work.
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
On Oct 22, 2009, at 11:20 AM, JBash wrote:
Hi,
A question about exporting:
Is it possible to export two different subtrees in the same file to
a different class? There are cases where it would be nice to be
able to generate a document (say an article) from a single subtree
in a file, and have other subtrees that contain short presentations
that could be exported quickly to beamer, for example. Currently,
the exporter seems to find the first #+LaTeX_CLASS in the file and
use that for the entire file export, as well as exporting any
subtree in the file, even if you define a separate LaTeX_CLASS
under a specific subtree. I have looked into using export OPTIONS
in subtrees for this, but have not hit on the right combination.
Is this possible?
Thanks,
Jerry
_______________________________________________
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
_______________________________________________
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