#+TITLE: Noweb references in LaTeX document #+DATE: 2012-01-30 * Summary ** Problem I use 3 chunks of LaTeX code which I wanna insert in a LaTeX document. While 1 of them is correctly tangled into the LaTeX document, the 2 others generate errors when C-c C-v C-t'ing: "if: reference '<<who' not found in this buffer" and, if I temporarily replace `<<who()>>' by `<<who>>', I get the next error: "if: reference ' <<solde' not found in this buffer" What I don't understand is that there is no -- sorry, I mean: I don't see -- the difference between the 3 noweb references. They all seem correctly written... ** Note Remember that, up to now, such a document *must be first tangled* and then post-processed via =PDFLaTeX=. It can not be exported directly to PDF/HTML (=args out of range= error). * Example ** Part 1 #+name: who #+begin_src org :results latex 1111ToMe #+end_src ** Part 2 #+name: before #+begin_src org :results latex 2222BeforeDate #+end_src ** Part 3 #+name: solde #+begin_src org :results latex 3333Rest #+end_src ** Composed letter #+begin_src latex :noweb yes :tangle yes \documentclass{article} \usepackage[utf8x]{inputenc} \usepackage[T1]{fontenc} \begin{document} \begin{textblock}{85}(98,35) \titlebox{9.4cm}{Foo}{% HERE 1111 <<<< <<who()>> } \end{textblock} \begin{textblock}{110}(25,195) Some sentence <<before()>> \hfill{}% HERE 2222 <<<< <<solde()>> EUR% HERE 3333 <<<< \end{textblock} \end{document} #+end_src Best regards, Seb -- Sebastien Vauban
"Sebastien Vauban" <wxhgmqzgwmuf@spammotel.com> writes: > #+TITLE: Noweb references in LaTeX document > #+DATE: 2012-01-30 > > * Summary > > ** Problem > > I use 3 chunks of LaTeX code which I wanna insert in a LaTeX document. > > While 1 of them is correctly tangled into the LaTeX document, the 2 others > generate errors when C-c C-v C-t'ing: > > "if: reference '<<who' not found in this buffer" > > and, if I temporarily replace `<<who()>>' by `<<who>>', I get the next error: > > "if: reference ' <<solde' not found in this buffer" > > What I don't understand is that there is no -- sorry, I mean: I don't see -- > the difference between the 3 noweb references. They all seem correctly > written... > > ** Note > > Remember that, up to now, such a document *must be first tangled* and then > post-processed via =PDFLaTeX=. It can not be exported directly to PDF/HTML (=args > out of range= error). > > * Example > > ** Part 1 > #+name: who > #+begin_src org :results latex > 1111ToMe > #+end_src > > ** Part 2 > #+name: before > #+begin_src org :results latex > 2222BeforeDate > #+end_src > > ** Part 3 > #+name: solde > #+begin_src org :results latex > 3333Rest > #+end_src > > ** Composed letter > #+begin_src latex :noweb yes :tangle yes > \documentclass{article} > \usepackage[utf8x]{inputenc} > \usepackage[T1]{fontenc} > > \begin{document} > > \begin{textblock}{85}(98,35) > \titlebox{9.4cm}{Foo}{% HERE 1111 <<<< > <<who()>> > } > \end{textblock} > > \begin{textblock}{110}(25,195) > Some sentence > <<before()>> \hfill{}% HERE 2222 <<<< > <<solde()>> EUR% HERE 3333 <<<< > \end{textblock} > > \end{document} > #+end_src > > Best regards, > Seb Currently newlines are allowed in noweb reference names causing the problems you noticed above. I've just pushed up a change which disallows newline characters in noweb references and fixes the odd behavior you describe. Best, -- Eric Schulte http://cs.unm.edu/~eschulte/
Hi Eric, Eric Schulte wrote: > "Sebastien Vauban" <wxhgmqzgwmuf-geNee64TY+gS+FvcfC7Uqw@public.gmane.org> writes: > >> I use 3 chunks of LaTeX code which I wanna insert in a LaTeX document. >> While 1 of them is correctly tangled into the LaTeX document, the 2 others >> generate errors when C-c C-v C-t'ing: >> >> "if: reference '<<who' not found in this buffer" >> >> and, if I temporarily replace `<<who()>>' by `<<who>>', I get the next error: >> >> "if: reference ' <<solde' not found in this buffer" >> >> What I don't understand is that there is no -- sorry, I mean: I don't see -- >> the difference between the 3 noweb references. They all seem correctly >> written... >> >> * Example >> >> ** Part 1 >> #+name: who >> #+begin_src org :results latex >> 1111ToMe >> #+end_src >> >> ** Part 2 >> #+name: before >> #+begin_src org :results latex >> 2222BeforeDate >> #+end_src >> >> ** Part 3 >> #+name: solde >> #+begin_src org :results latex >> 3333Rest >> #+end_src >> >> ** Composed letter >> #+begin_src latex :noweb yes :tangle yes >> \documentclass{article} >> \usepackage[utf8x]{inputenc} >> \usepackage[T1]{fontenc} >> >> \begin{document} >> >> \begin{textblock}{85}(98,35) >> \titlebox{9.4cm}{Foo}{% HERE 1111 <<<< >> <<who()>> >> } >> \end{textblock} >> >> \begin{textblock}{110}(25,195) >> Some sentence >> <<before()>> \hfill{}% HERE 2222 <<<< >> <<solde()>> EUR% HERE 3333 <<<< >> \end{textblock} >> >> \end{document} >> #+end_src > > Currently newlines are allowed in noweb reference names causing the problems > you noticed above. If it does not take you too much time, can you enlighten me on the diffs between the chunks? Why was it well working for the second one? > I've just pushed up a change which disallows newline characters in noweb > references and fixes the odd behavior you describe. References are working well. Thanks a lot! Though, there is an annoying diff in the tangled LaTeX: the first block gets an extra blank line (I don't understand why it differs from the others) which will cause layout problem when compiling the document -- not this one, it's just an not-so-valid ECM, but real ones... #+begin_src latex \documentclass{article} \usepackage[utf8x]{inputenc} \usepackage[T1]{fontenc} \begin{document} \begin{textblock}{85}(98,35) \titlebox{9.4cm}{Foo}{% HERE 1111 <<<< 1111ToMe } \end{textblock} \begin{textblock}{110}(25,195) Some sentence 2222BeforeDate \hfill{}% HERE 2222 <<<< 3333Rest EUR% HERE 3333 <<<< \end{textblock} \end{document} #+end_src Best regards, Seb -- Sebastien Vauban
Sebastien Vauban <wxhgmqzgwmuf@spammotel.com> writes:
[...]
> If it does not take you too much time, can you enlighten me on the diffs
> between the chunks? Why was it well working for the second one?
I think you'll find that the asymmetry is due to the placement of your
comment strings which have the <<<< characters, misinterpreted in this
case to indicate the start of a noweb reference...
--
: Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D) in Emacs 24.0.92.1
: using Org-mode version 7.8.03 (release_7.8.03.283.g171ea)
Hi Eric,
Eric S Fraga wrote:
> Sebastien Vauban <wxhgmqzgwmuf-geNee64TY+gS+FvcfC7Uqw@public.gmane.org> writes:
>> If it does not take you too much time, can you enlighten me on the diffs
>> between the chunks? Why was it well working for the second one?
>
> I think you'll find that the asymmetry is due to the placement of your
> comment strings which have the <<<< characters, misinterpreted in this
> case to indicate the start of a noweb reference...
That must be it. Due to the correct highlighting as comments, it did not occur
to me that the `%<<<<<' I inserted looked like noweb refs...
And Eric's fix does solve this.
Best regards,
Seb
--
Sebastien Vauban
Hi Eric,
"Sebastien Vauban" wrote:
> Though, there is an annoying diff in the tangled LaTeX: the first block gets
> an extra blank line (I don't understand why it differs from the others) which
> will cause layout problem when compiling the document -- not this one, it's
> just an not-so-valid ECM, but real ones...
>
> #+begin_src latex
> \documentclass{article}
> \usepackage[utf8x]{inputenc}
> \usepackage[T1]{fontenc}
>
> \begin{document}
>
> \begin{textblock}{85}(98,35)
> \titlebox{9.4cm}{Foo}{% HERE 1111 <<<<
> 1111ToMe
>
> }
> \end{textblock}
>
> \begin{textblock}{110}(25,195)
> Some sentence
> 2222BeforeDate
> \hfill{}% HERE 2222 <<<<
> 3333Rest
> EUR% HERE 3333 <<<<
> \end{textblock}
>
> \end{document}
> #+end_src
This isn't priority anymore: currently, I'm not hit by that bug/feature in the
real file I'm working on.
Thanks for the fix you've readily made available...
Best regards,
Seb
--
Sebastien Vauban