emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Orgmode] Re: Composing letters using Org mode and the LaTeX isodoc clas


From: Jambunathan K
Subject: [Orgmode] Re: Composing letters using Org mode and the LaTeX isodoc class
Date: Wed, 08 Sep 2010 10:09:33 +0530
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.91 (windows-nt)

Eric

Thanks for the changes. I believe I need not work (or for all practical
purposes set aside) working on letter writing support.

Jambu>>> Btw, your approach set me thinking. I think there is a strong
Jambu>>> case for making headlines act as babel srcnames with their body
Jambu>>> providing content for noweb expansion [3]. This behaviour could
Jambu>>> be controlled by a buffer local variable.

Is this suggestion considered and set aside or overlooked? Read on down
below.

Jambu>>> Wondering how babel treats srcnames? Can there be spaces? Is
Jambu>>> upper and lower cases treated one and the same ...

Eric> Spaces are now allowed, I'm honestly not sure that it will
Eric> successfully distinguish between upper and lower cases in code
Eric> block names (all of mine are lower-case)

Good. 

Honoring spaces would be a pre-requisite if one were to allow org's
headlines as implicit srcnames. 

Question on case-handling was intended not as a feature request but more
on clarity of the behaviour.

Eric> I've just implemented export of org code blocks to ascii, latex or html,
Eric> so the following should now (if I understood) allow the tangling
Eric> behavior you've described
Eric>
Eric> ** tangle org-mode block
Eric> #+source: org-list
Eric> #+begin_src org :results latex
Eric>   - one
Eric>   - two
Eric>   - three
Eric> #+end_src
Eric>
Eric> #+begin_src emacs-lisp :tangle yes :noweb yes
Eric>   "
Eric>   <<org-list()>>
Eric>   "
Eric> #+end_src
Eric>
Eric> tangles to
Eric>
Eric>
Eric> "
Eric> \begin{itemize}
Eric> \item two
Eric> \item three
Eric> \end{itemize}
Eric>
Eric>
Eric> "
Eric>
Eric> note that the () on the end of the code block name in the noweb syntax
Eric> means to insert the results of evaluating the code block (in this case
Eric> latex) rather than the body of the code block itself.

If babel supports headlines as srcnames, without requiring additional
begin/end directives one could just write,

* org-list
  - one
  - two
  - three

#+begin_src emacs-lisp :tangle yes :noweb yes
  "
  <<org-list(:fmt latex)>>
  "
#+end_src

and achieve similar results.

Based on my earlier efforts at letter-writing, I have the following
observation.

Letters have a To address and they could be pulled from bbdb. So one
could say,

* To
  [[a bbdb link]]


#+begin_src emacs-lisp :tangle yes :noweb yes
  "
  <<To(:fmt custom)>>
  "
#+end_src

The string custom could be a elisp form or a function pointer that takes
the body of the headline as an argument and does the needful.

Specifically in the above example, 'custom' handler would visit the bbdb
record, fetch the address and return the formatted address (with line
breaks etc etc) as the noweb expansion. [Custom handler would be
implemented by the user himself]

Any thoughts on how this could be achieved ...

Jambunathan K.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]