Hi Eric, "Eric Schulte" wrote: > Sébastien Vauban <wxhgmqzgw...@spammotel.com> writes: >> "Eric Schulte" wrote: >>> [...] >>> #+srcname: subject >>> #+begin_src org :results org replace :noweb yes >>> Composing letters using *Org mode* and the LaTeX isodoc class >>> >>> <<me>> >>> #+end_src >> >> Question: =:results org replace= (instead of =:results org=) is necessary >> if we wanna see the results expanded in the Org buffer, on key =C-c C-v >> C-e=. Why? > > by default org mode blocks do not insert their results, this was due to > their initial use to wrap results of code blocks. This can be changed in > your personal configuration by customizing the value of the > `org-babel-default-header-args:org' variable.
OK. Clear. >> Asking for Org results, as you mentioned, made me dream about a direct >> export to PDF on =C-c C-v C-e=. However, when the Org results block >> =letter= is surrounded by LaTeX code, items and tables aren't translated >> anymore to their LaTeX counterparts. > > true, your outer-most block would have to be an org-mode block, which could > include LaTeX sections if they were already surrounded in begin/end_latex > blocks. Never thought about having blocks *inside* blocks... Tried things such as the following: --8<---------------cut here---------------start------------->8--- #+OPTIONS: H:3 num:nil toc:nil #+LaTeX_CLASS: isodoc #+LaTeX_HEADER: \setupdocument{ #+LaTeX_HEADER: to = {% #+LaTeX_HEADER: Org mode user group \\ #+LaTeX_HEADER: World Wide Web #+LaTeX_HEADER: }, #+LaTeX_HEADER: subject = {Composing letters using Org mode and the \LaTeX{} isodoc class}, #+LaTeX_HEADER: opening = {Dear Org mode users}, #+LaTeX_HEADER: closing = {Yours Truly} #+LaTeX_HEADER: } #+source: contents #+begin_src org :results silent :exports none My body includes a list: - one - two and a small table: | here | second | | other | last | Not more. #+end_src #+BEGIN_SRC org #+BEGIN_LaTeX \letter{% #+END_LaTeX #+srcname: letter #+begin_src org :results raw :noweb yes Composing letters using *Org mode* and the LaTeX isodoc class <<contents>> #+end_src #+BEGIN_LaTeX } #+END_LaTeX #+END_SRC --8<---------------cut here---------------end--------------->8--- > It may not be possible to export directly to a latex letter using Org-mode's > build latex exporter. I think the tangling solution you mention below may be > preferable. I'm approaching, but am not still where I need to be: the =#+END_SRC= does not seem to be correctly nested... The inner one gets related to the outer =#+BEGIN_SRC=. >> Then, if I understand correctly, the only fallback is the tangling >> solution: > > agreed. > >> Here, the above results is perfectly translated into LaTeX. But trying to >> export this buffer raises the =Args out of range: 0, 0= error. > > This is the same error we discovered earlier, namely trying to export the > body of an Org-mode block to latex in the middle of a latex export. I've > pushed up a more useful error message. Yes. I was re-injecting previous results, to make the overview complete. >> The solution is to tangle it, and launch pdflatex on the tangled file. > > agreed. BTW: I've just pushed up a code block to the library of babel which > makes it possible to include headlines into noweb exports. I imagine this > would be very useful when composing letters in this manner. See the email > where I initially mention this > http://thread.gmane.org/gmane.emacs.orgmode/29926/focus=30667 Thanks. >> - Couldn't =C-c C-v C-e= tangle to files, when the =tangle= parameter is >> present? FYI, I've lost some amount of time (won't tell you how much, I'm >> ashamed) thinking that the tangling process did not work anymore on my >> machine, because I was expecting it on =C-c C-v C-e=. At my discharge, I >> only used tangling once, a couple of months ago, but... >> >> ... and I think I already had once that request in mind, maybe even asked >> on the list. > > =C-c C-v C-e= is already used for executing code blocks, unfortunately > key-bindings are at a premium, so I don't think it is worth re-binding this > -- although I do see how you could be confused I meant: for me, when there is a tangle directive, executing the code block *is* tangling. Or, at least, tangling should be done at the same time as the execution. Maybe, you want to explicitly separate both functions, though. >> Idealistic goal that I have in mind (so that I share upfront which >> directions I would enjoy to be able to follow): >> >> - be able to produce =isodoc= letter in PDF just by =C-c C-v C-e= > > by =C-c C-v C-e= do you mean tangle or execute? I meant, thus, when executing (here, producing the letter). >> - next step: be able to produce /mail merge/ ("publiposting"), having in >> Org the list of recipients and the letter's contents -- both in one >> unique Org file --, and producing all the letters at once (in one PDF), >> just by =C-c C-v C-e=... > > this shouldn't be impossible with the current setup, maybe use sbe to call a > code block on every row of a table with the table holding the recipients. > Certainly wouldn't be trivial though. I'll try to understand all of this in my next work session... Thanks for all help provided so far... Best regards, Seb -- Sébastien Vauban _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode