Hi Perdo. No, that doesn't fix it. I can see that add-texparse-filter is added to the org-export-filter-final-output-functions, but the text doesn't appear in the exported *Org LATEX Export* buffer.
On Mon, 30 Jun 2025 at 07:49, Pedro Andres Aranda Gutierrez < paag...@gmail.com> wrote: > PS: You can also add the code in your Emacs Lisp test code > > Sorry for the convoluted suggestion... > /PA > > On Sun, 29 Jun 2025 at 19:16, Pedro Andres Aranda Gutierrez > <paag...@gmail.com> wrote: > > > > Last try: > > put the following after the header and before the text in your buffer, > > evaluate the block (C-c C-c) and then export to a buffer C-c C-e l L > > > > --- cut here > > #+BEGIN_SRC emacs-lisp :exports none :results none :eval export > > (defun add-texparse-filter (output backend info) > > "Disable TeX-parse-self." > > (when (eq backend 'latex) > > (concat output > > "\n" > > "%%% Local Variables:\n" > > "%%% TeX-parse-self: nil\n" > > "%%% End:\n" ))) > > > > (make-variable-buffer-local 'org-export-filter-final-output-functions) > > (add-to-list 'org-export-filter-final-output-functions > > 'add-texparse-filter) > > #+END_SRC > > --- cut here > > > > This is a try to see if we can make the configuration of this > > workaround customisable. > > > > Best, /PA > > > > On Sun, 29 Jun 2025 at 14:12, Vangelis Evangelou <evange...@gmail.com> > wrote: > > > > > > Hi Pedro. > > > > > > > This looks more like a side effect of using the auctex package > > > > > > I see. That makes sense. However, the function > org-latex-export-as-latex calls LaTeX-mode, which is an alias for > ‘latex-mode’ in ‘tex-mode.el’ that comes with emacs. However, auctex > defines its own LaTeX-mode. I think org-latex-export-as-latex > *intentionally* calls LaTeX-mode instead of latex-mode to make use of > auctex if that's available. > > > > > > > Just BTW, do you see the problem pop up when you C-c C-e l o? > > > > > > No, it doesn't happen in this case. > > > > > > > What about saving the exported LaTeX to a file and then opening the > file in a separate buffer? > > > > > > I'm not sure what you mean. Do you mean C-c C-e l l? In that case, the > problem doesn't happen after you open the file because the buffer is > associated with a file. > > > > > > > Wasn't it TeX-master that did this... > > > > > > Yes, TeX-master also specifies the master file. TeX-master is part of > auctex. reftex-TeX-master-file is part of reftex that does the same job. > reftex-TeX-master-file uses auctex, if installed, otherwise, it does its > own thing. > > > > > > > Anyhow, after reading the auctex documentation, could you please add > the following at the beginning of your test document? > > > > > > There must be something wrong with your code because after I do export > and check org-export-filter-final-output-functions, I see nil. I also get > an error with that when I open the org file: "Local variables list is not > properly terminated" > > > > > > At the moment my workaround is > > > (use-package org > > > :config > > > (advice-add 'org-latex-export-as-latex :around > > > (lambda (fun &rest args) > > > (cl-letf (((symbol-function 'reftex-TeX-master-file) > > > (and (fboundp 'TeX-master-file) > > > (not (buffer-file-name)) > > > #'(lambda (&rest _) "<none>")))) > > > (apply fun args))))) > > > > > > I think this is harmless as it temporarily overwrites > reftex-TeX-master-file if auctex is used and there is no file associated > with the buffer. In that case the return value is "<none>", which is what > TeX-master-file would return as well. > > > > > > As I said in my previous email, if TeX-parse-self is t, then emacs > scans for usepackage commands. Because the exported org file uses the > amstex package, there are some commands provided by that package that need > reftex, and so it runs reftex-TeX-master-file. However, reftex requires a > file, and so it results in an error. Temporarily changing the behaviour of > reftex-TeX-master-file should be OK. > > > > > > On Sun, 29 Jun 2025 at 07:06, Pedro Andres Aranda Gutierrez < > paag...@gmail.com> wrote: > > >> > > >> Hi > > >> Thx a lot for the explanation... answers inline > > >> > > >> On Sat, 28 Jun 2025 at 18:04, Vangelis Evangelou <evange...@gmail.com> > wrote: > > >> > > > >> > Hi Pedro. > > >> > > > >> > > I don't think this is a bug. It's more of a side effect ... > > >> > > > >> > I'm not sure what you are referring to. I assume that since the > program does not produce the intended output, then it's a bug. > > >> Well, IMHO, a bug is when your code doesn't produce the intended > > >> result standalone. This looks more like a side effect of using the > > >> auctex package, so people not using it will not be affected by it. > > >> > > >> Just BTW, do you see the problem pop up when you C-c C-e l o? What > > >> about saving the exported LaTeX to a file and then opening the file in > > >> a separate buffer? > > >> > > >> > > I'd like to understand what this reftex-TeX-master-file variable > means and what the effect of TeX-parse-self is. > > >> > > > >> > TeX-parse-self instructs emacs to scan the tex file for the > document class, loaded packages and user-defined commands and make the > relevant commands available to the user. For example, the graphicx package > provides the command \includegraphics. Consider a file called file.tex > containing the following > > >> > ===================== > > >> > \documentclass{article} > > >> > \usepackage{graphicx} > > >> > \begin{document} > > >> > > > >> > \end{document} > > >> > ==================== > > >> > With TeX-parse-self set to t (see the code in my original email), > emacs will provide the commands from the article class and the graphicx > package. For example, if you type C-c RET and then type includegraphics it > will ask you a few questions about the image you want to include in the > document. With TeX-parse-self set to nil, it doesn't know about the > includegraphics command. > > >> > > > >> > reftex-TeX-master-file tells emacs which is the master file (so it > assumes that such a file exists). That is, the main file that includes > other files and needs to be compiled to produce a document. So you might > have, e.g., file1.tex and file2.tex with file1.tex being the master file > that includes file2.tex. So the master of file2 is file1. > > >> > > >> I see... Wasn't it TeX-master > > >> ( > https://www.gnu.org/software/emacs/manual/html_node/reftex/Multifile-Documents.html > ) > > >> that did this... > > >> > > >> > > A workaround may be what you propose or to > > >> > > (setq-local TeX-parse-self nil) > > >> > > in your org-mode-hook. Could you try this, please? > > >> > > > >> > This does not solve the problem because it applies the setting to > the org buffer and not the exported latex buffer. > > >> > > > >> > I should add that (setq TeX-parse-self t) is one of the recommended > settings by auctex https://elpa.gnu.org/packages/doc/auctex.html so I > believe others are affected by this issues, though I'm surprised it hasn't > been mentioned before. > > >> > > >> This is the source of my surprise too... > > >> > > >> Anyhow, after reading the auctex documentation, could you please add > > >> the following at the beginning of your test document? > > >> > > >> --- cut here > > >> #+BEGIN_SRC emacs-lisp :exports none :results none :eval export > > >> (defun add-texmaster-filter (output backend info) > > >> "Add `%' to `\\end{minipage}' to allow side by side." > > >> (when (eq backend 'latex) > > >> (message "Adding TeX-master...") > > >> (string-replace "\\end{document}" > > >> "\\end{document}\n\n%%% Local Variables:\n%%% > > >> TeX-master: t\n%%% End:\n" output))) > > >> > > >> (make-variable-buffer-local 'org-export-filter-final-output-functions) > > >> (add-to-list 'org-export-filter-final-output-functions > > >> 'add-texmaster-filter) > > >> #+END_SRC > > >> --- cut here > > >> > > >> Best, /PA > > >> > > > >> > On Sat, 28 Jun 2025 at 06:17, Pedro Andres Aranda Gutierrez < > paag...@gmail.com> wrote: > > >> >> > > >> >> Hi Vangelis... > > >> >> > > >> >> Me and thinking?.. rather difficult... <LoL> > > >> >> > > >> >> Now seriously... > > >> >> I don't think this is a bug. It's more of a side effect and I'd > like > > >> >> to understand what this reftex-TeX-master-file variable means and > > >> >> what the effect of TeX-parse-self is. > > >> >> > > >> >> A workaround may be what you propose or to > > >> >> (setq-local TeX-parse-self nil) > > >> >> in your org-mode-hook. Could you try this, please? > > >> >> > > >> >> IMvvHO, it would be more desirable approach, because you control > your > > >> >> setup for the packages you use. > > >> >> org would just document this "special case" (maybe in the FAQ), > > >> >> instead of "bloating" the package itself. > > >> >> > > >> >> @Ihor WDYT? > > >> >> Best, /PA > > >> >> > > >> >> On Fri, 27 Jun 2025 at 18:31, Vangelis Evangelou < > evange...@gmail.com> wrote: > > >> >> > > > >> >> > Hi Pedro. > > >> >> > > > >> >> > The export works as expected *without* loading auctex. It also > works as expected *with* loading auctex, but with TeX-parse-self to nil. > Perhaps the best solution is to amend org-latex-export-as-latex to set > TeX-parse-self to nil before calling LaTeX-mode, e.g., with (let > ((TeX-parse-self nil)) <rest of the org-latex-export-as-latex code here>). > To be honest, I'm not sure if this is a bug of org or reftex-auc. What do > you think? > > >> >> > > > >> >> > > > >> >> > On Fri, 27 Jun 2025 at 16:41, Pedro Andres Aranda Gutierrez < > paag...@gmail.com> wrote: > > >> >> >> > > >> >> >> Vangelis writes: > > >> >> >> > > >> >> >> > Hello. > > >> >> >> > > > >> >> >> > I started with emacs -q. Then in the scratch buffer, I > evaluated the > > >> >> >> > following code > > >> >> >> > > > >> >> >> > (use-package reftex-auc) > > >> >> >> > (use-package tex > > >> >> >> > :load-path "site-lisp/auctex-14.0.9" > > >> >> >> > :custom > > >> >> >> > (TeX-parse-self t)) > > >> >> >> > > > >> >> >> > Then, I created an org buffer which I exported to latex > buffer (C-c C-e l > > >> >> >> > L). I get the error message > > >> >> >> > > > >> >> >> > reftex-TeX-master-file: Wrong type argument: stringp, nil > > >> >> >> > > >> >> >> Hi, > > >> >> >> > > >> >> >> could you please try the export part again *without* loading > auctex? > > >> >> >> It looks like the LaTeX exporter is not generating that thing, > which I > > >> >> >> guess is a file local variable. > > >> >> >> > > >> >> >> I remember never having time enough to procrastinate to cope > with all > > >> >> >> the quirks of auctex while writing my PhD - some time ago ;-) - > and > > >> >> >> going the "pure" LaTeX way with some yasnippets and a bit of > code to > > >> >> >> emulate the couple of features people loved from auctex as a > viable > > >> >> >> alternative. > > >> >> >> > > >> >> >> Maybe that could be a project once the PDF exporter reaches > master... > > >> >> >> > > >> >> >> Thx, /PA > > >> >> >> > > >> >> >> -- > > >> >> >> Fragen sind nicht da, um beantwortet zu werden, > > >> >> >> Fragen sind da um gestellt zu werden > > >> >> >> Georg Kreisler > > >> >> >> > > >> >> >> Sagen's Paradeiser, write BE! > > >> >> >> Year 1 of the New Koprocracy > > >> >> > > >> >> > > >> >> > > >> >> -- > > >> >> Fragen sind nicht da, um beantwortet zu werden, > > >> >> Fragen sind da um gestellt zu werden > > >> >> Georg Kreisler > > >> >> > > >> >> Sagen's Paradeiser, write BE! > > >> >> Year 1 of the New Koprocracy > > >> > > >> > > >> > > >> -- > > >> Fragen sind nicht da, um beantwortet zu werden, > > >> Fragen sind da um gestellt zu werden > > >> Georg Kreisler > > >> > > >> Sagen's Paradeiser, write BE! > > >> Year 1 of the New Koprocracy > > > > > > > > -- > > Fragen sind nicht da, um beantwortet zu werden, > > Fragen sind da um gestellt zu werden > > Georg Kreisler > > > > Sagen's Paradeiser, write BE! > > Year 1 of the New Koprocracy > > > > -- > Fragen sind nicht da, um beantwortet zu werden, > Fragen sind da um gestellt zu werden > Georg Kreisler > > Sagen's Paradeiser, write BE! > Year 1 of the New Koprocracy >