Re: Bug: Footnotes on Headers and LaTeX export [9.3 (release_9.3 @ /usr/share/emacs/27.1/lisp/org/)]

2020-12-09 Thread Juan Manuel Macías
You're welcome ;-)

Charis Michelakis  writes:

> Thank you :)
>
> On 12/9/20 5:06 PM, Juan Manuel Macías wrote:
>> Hello,
>>
>> Charis Michelakis  writes:
>>
>>> There is a potential bug regarging how footnotes on headers are
>>> converted to LaTeX.
>>>
>>> Consider the following org file:
>>> --start-of-file---
>>>
>>> #+AUTHOR: Me
>>> #+LATEX_HEADER: \usepackage{titlesec}
>>>
>>> * Header1[fn:1]
>>>
>>> * Footnotes
>>>
>>> [fn:1]Lorem ipsum
>> It is a LaTeX problem, as the footnote command is a 'fragile' command and 
>> should not
>> be put in a section. Try this:
>>
>> * Header1[fn:1]
>>:PROPERTIES:
>>:ALT_TITLE: Header1
>>:END:
>>
>> * Footnotes
>> [fn:1]Lorem ipsum
>>
>> in latex it is exported as
>>
>> \section[Header1]{Header1\footnote{Lorem ipsum}}
>>
>> Regards,
>>
>> Juan Manuel
>




Re: Bug: Footnotes on Headers and LaTeX export [9.3 (release_9.3 @ /usr/share/emacs/27.1/lisp/org/)]

2020-12-09 Thread Juan Manuel Macías
Hello,

Charis Michelakis  writes:

> There is a potential bug regarging how footnotes on headers are
> converted to LaTeX.
>
> Consider the following org file:
> --start-of-file---
>
> #+AUTHOR: Me
> #+LATEX_HEADER: \usepackage{titlesec}
>
> * Header1[fn:1]
>
> * Footnotes
>
> [fn:1]Lorem ipsum

It is a LaTeX problem, as the footnote command is a 'fragile' command and 
should not
be put in a section. Try this:

* Header1[fn:1]
  :PROPERTIES:
  :ALT_TITLE: Header1
  :END:

* Footnotes
[fn:1]Lorem ipsum

in latex it is exported as

\section[Header1]{Header1\footnote{Lorem ipsum}}

Regards,

Juan Manuel 



Bug: Footnotes on Headers and LaTeX export [9.3 (release_9.3 @ /usr/share/emacs/27.1/lisp/org/)]

2020-12-09 Thread Charis Michelakis

There is a potential bug regarging how footnotes on headers are
converted to LaTeX.

Consider the following org file:
--start-of-file---
#+AUTHOR: Me
#+LATEX_HEADER: \usepackage{titlesec}
* Header1[fn:1]

* Footnotes

[fn:1]Lorem ipsum
--end-of-file--

When converting to LaTeX the header is exported as:
\section{Header1\footnote{Lorem ipsum}}

I believe the proper output should be:
\section{Header1}\footnote{Lorem ipsum}

Notice that the footnote is placed after the closing bracket segment
instead of being part of the header section. Excuse me for my ignorance of
LaTeX, for I cannot definitively say which one is correct(maybe they
both are) but the second output seems more logical.

Both versions get compiled correctly, however when adding the package
"titlesec" the first version results in failed compilation (the
following error message seems to signify some kind of infinite
recursion/loop):

-error-message-during-compilation-
Package hyperref Warning: Token not allowed in a PDF string 
(PDFDocEncoding):

(hyperref)    removing `\@ifnextchar' on input line 32.

! TeX capacity exceeded, sorry [input stack size=5000].
\reserved@a ->\def \reserved@a
   *{\ttl@assign@i {\@tempskipb }}\reserved@a
l.32 \section{Header1\footnote{Lorem ipsum}}

!  ==> Fatal error occurred, no output PDF file produced!
--

If both versions are correct then the bug obviously lies in the
"titlesec" package. However, as I previously said, I don't know if that
is the case. It is possible that this happens with other packages too. I
have not tested any other packages that deal with headers.

I have also tested this on org version 9.4 and the same output is
produced.

I have attached the org file, the tex output file that leads to the bug
and the output log of the compilation process.

==
Emacs  : GNU Emacs 27.1 (build 1, x86_64-redhat-linux-gnu, X toolkit, 
cairo version 1.16.0, Xaw3d scroll bars)

 of 2020-08-21
Package: Org mode version 9.3 (release_9.3 @ 
/usr/share/emacs/27.1/lisp/org/)


current state:
==
(setq
 org-src-mode-hook '(org-src-babel-configure-edit-buffer 
org-src-mode-configure-edit-buffer)

 org-link-shell-confirm-function 'yes-or-no-p
 org-metadown-hook '(org-babel-pop-to-session-maybe)
 org-clock-out-hook '(org-clock-remove-empty-clock-drawer)
 org-html-format-inlinetask-function 
'org-html-format-inlinetask-default-function

 org-odt-format-headline-function 'org-odt-format-headline-default-function
 org-ascii-format-inlinetask-function 'org-ascii-format-inlinetask-default
 org-mode-hook '(#[0 "\300\301\302\303\304$\207" [add-hook 
change-major-mode-hook org-show-all append local] 5]
         #[0 "\300\301\302\303\304$\207" [add-hook 
change-major-mode-hook org-babel-show-result-all append local] 5]

         org-babel-result-hide-spec org-babel-hide-all-hashes)
 org-odt-format-drawer-function #[514 "\207" [] 3 "\n\n(fn NAME CONTENTS)"]
 org-archive-hook '(org-attach-archive-delete-maybe)
 org-confirm-elisp-link-function 'yes-or-no-p
 org-agenda-before-write-hook '(org-agenda-add-entry-text)
 org-metaup-hook '(org-babel-load-in-session-maybe)
 org-bibtex-headline-format-function #[257 "\300\236A\207" [:title] 3 
"\n\n(fn ENTRY)"]

 org-latex-format-drawer-function #[514 "\207" [] 3 "\n\n(fn _ CONTENTS)"]
 org-babel-pre-tangle-hook '(save-buffer)
 org-tab-first-hook '(org-babel-hide-result-toggle-maybe 
org-babel-header-arg-expand)
 org-ascii-format-drawer-function #[771 "\207" [] 4 "\n\n(fn NAME 
CONTENTS WIDTH)"]

 org-occur-hook '(org-first-headline-recenter)
 org-cycle-hook '(org-cycle-hide-archived-subtrees 
org-cycle-show-empty-lines org-optimize-window-after-visibility-change)
 org-speed-command-hook '(org-speed-command-activate 
org-babel-speed-command-activate)
 org-odt-format-inlinetask-function 
'org-odt-format-inlinetask-default-function

 org-confirm-shell-link-function 'yes-or-no-p
 org-link-parameters '(("attachment" :follow org-attach-open-link 
:export org-attach-export-link :complete org-attach-complete-link)
           ("id" :follow org-id-open) ("eww" :follow eww :store 
org-eww-store-link)

           ("rmail" :follow org-rmail-open :store org-rmail-store-link)
           ("mhe" :follow org-mhe-open :store org-mhe-store-link)
           ("irc" :follow org-irc-visit :store org-irc-store-link 
:export org-irc-export)
           ("info" :follow org-info-open :export org-info-export 
:store org-info-store-link)

           ("gnus" :follow org-gnus-open :store org-gnus-store-link)
           ("docview" :follow org-docview-open :export 
org-docview-export :store org-docview-store-link)
           ("bibtex" :follow org-bibtex-open :store 
org-bibtex-store-link)
           ("bbdb" :follow org-bbdb-open :export org-bbdb-export 
:complete org-bbdb-complete-link :store