[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] unfortunate "feature interaction" of org-export and emacs-latex-
From: |
Marcin Borkowski |
Subject: |
Re: [O] unfortunate "feature interaction" of org-export and emacs-latex-auctex mode |
Date: |
Mon, 09 Nov 2015 22:08:17 +0100 |
User-agent: |
mu4e 0.9.15; emacs 25.0.50.1 |
On 2015-11-09, at 21:49, Nick Dokos <address@hidden> wrote:
> Marcin Borkowski <address@hidden> writes:
>
>> On 2015-11-09, at 19:54, Martin Steffen <address@hidden> wrote:
>>
>>> Hi,
>>>
>>> Perhaps it's not really a "fault" of org (nor of auctex), but both
>>> things interact unfortunate.
>>>
>>> The reason is: when I export org to LaTeX, and I visit the latex file
>>> afterwards, I want that auctex/emacs is instructed about some facts. Thus I
>>> like to have some lines such as
>>>
>>> %%% Local Variables:
>>> %%% mode: latex
>>> %%% TeX-master: t
>>> %%% End:
>>>
>>> at the end of the latex file. Org allows that, in that I add the
>>> "LATEX-only" export at the end of the org-file
>>>
>>> #+BEGIN_LATEX
>>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
>>> %%% Local Variables:
>>> %%% mode: latex
>>> %%% TeX-master: t
>>> %%% End:
>>> #+END_LATEX
>>>
>>>
>>> Doing that produces the desired lines at the end of the generated latex, and
>>> if I visit the latex file, emacs/auctex is instructed according to my
>>> wishes.
>>>
>>>
>>> Now the problem: If I refresh the /org/ file, emacs/org thinks that actually
>>> the file is a latex file (due to the line "mode: latex") and switches from
>>> org-mode to latex-mode.
>>>
>>>
>>> It's a minor thing, obviously, but I just wonder if there's an easy
>>> workaround.
>>
>> Note: this is a terrible hack, so use it your own risk, only if there's
>> no sane alternative etc.
>>
>> #+BEGIN_COMMENT
>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
>> %%% Local Variables:
>> %%% mode: org
>> %%% End:
>> #+END_COMMENT
>> #+BEGIN_LATEX
>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
>> %%% Local Variables:
>> %%% mode: latex
>> %%% TeX-master: t
>> %%% End:
>> #+END_LATEX
>>
>
> Is there some rule about what happens when emacs sees two local variable
> blocks in a file? It seems that the first one is enforced and the second
> ignored: the above works in the given order of the two blocks, but not
> if the order is reversed.
I guess this is just implementation detail: the last 3000 characters of
the last page are scanned, and if a file local variables list is found,
it is applied, no matter what happens /after/ it.
> In any case, another solution along the same lines is as follows:
> local variables are only recognized in the last "page" of the file so
> just add a Control-L at the end of the org file:
>
> --8<---------------cut here---------------start------------->8---
> ...
> #+BEGIN_COMMENT
> Insert a control-L here to prevent emacs from interpreting the local
> variables block above - local variables blocks are recognized only on
> the last "page" of the file.
>
> #+END_COMMENT
> --8<---------------cut here---------------end--------------->8---
Still not pretty, but /much/ better than mine!
Best,
--
Marcin Borkowski
http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski
Faculty of Mathematics and Computer Science
Adam Mickiewicz University