Does this mean that you will implement my suggestion in my previous email?

> On 30 Jun 2025, at 17:42, Pedro Andres Aranda Gutierrez <paag...@gmail.com> 
> wrote:
> 
> Thanks for trying! I'm just trying to find a flexible solution for
> future requirements like this...
> /PA
> 
>> On Mon, 30 Jun 2025 at 09:54, Vangelis Evangelou <evange...@gmail.com> wrote:
>> 
>> 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
> 
> 
> 
> --
> 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

Reply via email to