emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* [BUG] LaTeX export inserts "ORG-LIST-END-MARKER"
@ 2011-03-29 13:09 Rainer M Krug
  2011-03-29 14:20 ` [PATCH] org-latex: Don't append newline to end of footnote Lawrence Mitchell
  0 siblings, 1 reply; 7+ messages in thread
From: Rainer M Krug @ 2011-03-29 13:09 UTC (permalink / raw)
  To: emacs-orgmode

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi

if I export the fiollowing snippet


* Project Participants
- - Rainer M Krug :: [fn::My email]
My address

I get the following LaTeX code:

################################################
% Created 2011-03-29 Tue 15:06
\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{fixltx2e}
\usepackage{graphicx}
\usepackage{longtable}
\usepackage{float}
\usepackage{wrapfig}
\usepackage{soul}
\usepackage{textcomp}
\usepackage{marvosym}
\usepackage{wasysym}
\usepackage{latexsym}
\usepackage{amssymb}
\usepackage{hyperref}
\tolerance=1000
\usepackage{color}
\usepackage{listings}
\providecommand{\alert}[1]{\textbf{#1}}

\title{test}
\author{Rainer M. Krug}
\date{\today}

\begin{document}

\maketitle

\setcounter{tocdepth}{3}
\tableofcontents
\vspace*{1cm}

\section{Project Participants}
\label{sec-1}

\begin{description}
\item[Rainer M Krug] \footnote{My email
\end{description}
}
ORG-LIST-END-MARKER
My address

\end{document}
################################################

Please look at the "ORG-LIST-END-MARKER" which is not in the original
snippet.

Org-mode version 7.5 (release_7.5.115.g00134)
GNU Emacs 23.3.1 (i686-pc-linux-gnu, GTK+ Version 2.22.0)

Cheers,

Rainer



- -- 
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation
Biology, UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Natural Sciences Building
Office Suite 2039
Stellenbosch University
Main Campus, Merriman Avenue
Stellenbosch
South Africa

Tel:        +33 - (0)9 53 10 27 44
Cell:       +27 - (0)8 39 47 90 42
Fax (SA):   +27 - (0)8 65 16 27 82
Fax (D) :   +49 - (0)3 21 21 25 22 44
Fax (FR):   +33 - (0)9 58 10 27 44
email:      Rainer@krugs.de

Skype:      RMkrug
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk2R2hIACgkQoYgNqgF2egoBpgCeK7BesBCzayI/STcjKJM+99wG
l+oAn2iLgf6J1ir9rWgWQxQkpQtOwAgB
=Y/8z
-----END PGP SIGNATURE-----

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH] org-latex: Don't append newline to end of footnote
  2011-03-29 13:09 [BUG] LaTeX export inserts "ORG-LIST-END-MARKER" Rainer M Krug
@ 2011-03-29 14:20 ` Lawrence Mitchell
  2011-03-29 17:38   ` Nicolas
  0 siblings, 1 reply; 7+ messages in thread
From: Lawrence Mitchell @ 2011-03-29 14:20 UTC (permalink / raw)
  To: emacs-orgmode

* lisp/org-latex.el (org-export-latex-preprocess): Don't add a newline
character to a processed footnote.

The extra newline before the closing } character in a footnote
confuses the list parsing code.  The } appears at the beginning of a
line, so it looks like the end of the list.  LaTeX gobbles the space
anyway, so don't add it.
---
> Hi

> if I export the fiollowing snippet

> * Project Participants
> - Rainer M Krug :: [fn::My email]
> My address

The list is closed incorrectly.  This appears to be a problem in
the interaction between the list parsing and footnote processing
code.  When exporting footnotes, we add a newline at the end, so
in the above example the intermediate file seen by the list
processing code is:

| * Project Participants
| - Rainer M Krug :: \footnote{My email
| }
| ORG-LIST-END-MARKER
| My address

The } at the beginning of the line below the list entry is
considered to end the list, so we get:

| * Project Participants
| \begin{description}
| \item[Rainer M Krug] \footnote{My email
| \end{description}
| }
| ORG-LIST-END-MARKER
| My address

Note how the description list is ended /inside/ the footnote
command.

Since LaTeX gobbles the trailing space in the footnote anyway, it
makes sense not to insert it in the first place, which this patch
does.  Your test case now exports correctly.

Cheers,

Lawrence

 lisp/org-latex.el |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/lisp/org-latex.el b/lisp/org-latex.el
index 0460a84..3eb54b2 100644
--- a/lisp/org-latex.el
+++ b/lisp/org-latex.el
@@ -2432,9 +2432,7 @@ The conversion is made depending of STRING-BEFORE and STRING-AFTER."
 	       (let ((end (save-excursion
 			    (if (re-search-forward "^$\\|^#.*$\\|\\[[0-9]+\\]" nil t)
 				(match-beginning 0) (point-max)))))
-		 (setq footnote (concat (org-trim (buffer-substring (point) end))
-					; last } won't be part of a link or list.
-					"\n"))
+		 (setq footnote (org-trim (buffer-substring (point) end)))
 		 (delete-region (point) end))
 	       (goto-char foot-beg)
 	       (delete-region foot-beg foot-end)
-- 
1.7.4.rc2.18.gb20e9

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] org-latex: Don't append newline to end of footnote
  2011-03-29 14:20 ` [PATCH] org-latex: Don't append newline to end of footnote Lawrence Mitchell
@ 2011-03-29 17:38   ` Nicolas
  2011-03-30  7:49     ` Rainer M Krug
  2011-03-30  9:14     ` Lawrence Mitchell
  0 siblings, 2 replies; 7+ messages in thread
From: Nicolas @ 2011-03-29 17:38 UTC (permalink / raw)
  To: Lawrence Mitchell; +Cc: emacs-orgmode

Hello,

Lawrence Mitchell <wence@gmx.li> writes:

> * lisp/org-latex.el (org-export-latex-preprocess): Don't add a newline
> character to a processed footnote.
>
> The extra newline before the closing } character in a footnote
> confuses the list parsing code.  The } appears at the beginning of a
> line, so it looks like the end of the list.  LaTeX gobbles the space
> anyway, so don't add it.
> ---
>> Hi
>
>> if I export the fiollowing snippet
>
>> * Project Participants
>> - Rainer M Krug :: [fn::My email]
>> My address
>
> The list is closed incorrectly.  This appears to be a problem in
> the interaction between the list parsing and footnote processing
> code.  When exporting footnotes, we add a newline at the end, so
> in the above example the intermediate file seen by the list
> processing code is:
>
> | * Project Participants
> | - Rainer M Krug :: \footnote{My email
> | }
> | ORG-LIST-END-MARKER
> | My address
>
> The } at the beginning of the line below the list entry is
> considered to end the list, so we get:
>
> | * Project Participants
> | \begin{description}
> | \item[Rainer M Krug] \footnote{My email
> | \end{description}
> | }
> | ORG-LIST-END-MARKER
> | My address
>
> Note how the description list is ended /inside/ the footnote
> command.
>
> Since LaTeX gobbles the trailing space in the footnote anyway, it
> makes sense not to insert it in the first place, which this patch
> does.  Your test case now exports correctly.

The analysis is good, but unfortunately the patch has a flaw.

In fact, your patch work in that particular situation, but not if
a footnote definition ends with a list, nor if it ends with a link. To
solve the latter, you need to insert a white-space before the closing
bracket. To solve the former, I thought adding a newline instead of the
white-space was enough, but it now appears it was a bad idea.

Thus, the solution lies elsewhere.

Regards,

-- 
Nicolas

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Re: [PATCH] org-latex: Don't append newline to end of footnote
  2011-03-29 17:38   ` Nicolas
@ 2011-03-30  7:49     ` Rainer M Krug
  2011-03-30  9:14     ` Lawrence Mitchell
  1 sibling, 0 replies; 7+ messages in thread
From: Rainer M Krug @ 2011-03-30  7:49 UTC (permalink / raw)
  To: Lawrence Mitchell, emacs-orgmode

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 29/03/11 19:38, Nicolas wrote:
> Hello,
> 
> Lawrence Mitchell <wence@gmx.li> writes:
> 
>> * lisp/org-latex.el (org-export-latex-preprocess): Don't add a newline
>> character to a processed footnote.
>>
>> The extra newline before the closing } character in a footnote
>> confuses the list parsing code.  The } appears at the beginning of a
>> line, so it looks like the end of the list.  LaTeX gobbles the space
>> anyway, so don't add it.
>> ---
>>> Hi
>>
>>> if I export the fiollowing snippet
>>
>>> * Project Participants
>>> - Rainer M Krug :: [fn::My email]
>>> My address
>>
>> The list is closed incorrectly.  This appears to be a problem in
>> the interaction between the list parsing and footnote processing
>> code.  When exporting footnotes, we add a newline at the end, so
>> in the above example the intermediate file seen by the list
>> processing code is:
>>
>> | * Project Participants
>> | - Rainer M Krug :: \footnote{My email
>> | }
>> | ORG-LIST-END-MARKER
>> | My address
>>
>> The } at the beginning of the line below the list entry is
>> considered to end the list, so we get:
>>
>> | * Project Participants
>> | \begin{description}
>> | \item[Rainer M Krug] \footnote{My email
>> | \end{description}
>> | }
>> | ORG-LIST-END-MARKER
>> | My address
>>
>> Note how the description list is ended /inside/ the footnote
>> command.
>>
>> Since LaTeX gobbles the trailing space in the footnote anyway, it
>> makes sense not to insert it in the first place, which this patch
>> does.  Your test case now exports correctly.
> 
> The analysis is good, but unfortunately the patch has a flaw.
> 
> In fact, your patch work in that particular situation, but not if
> a footnote definition ends with a list, nor if it ends with a link. To
> solve the latter, you need to insert a white-space before the closing
> bracket. To solve the former, I thought adding a newline instead of the
> white-space was enough, but it now appears it was a bad idea.
> 
> Thus, the solution lies elsewhere.

May I just add to my initial report, that it worked on the 22 February
this year? So the problem has creeped in in an update in between.

Rainer

> 
> Regards,
> 


- -- 
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation
Biology, UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Natural Sciences Building
Office Suite 2039
Stellenbosch University
Main Campus, Merriman Avenue
Stellenbosch
South Africa

Tel:        +33 - (0)9 53 10 27 44
Cell:       +27 - (0)8 39 47 90 42
Fax (SA):   +27 - (0)8 65 16 27 82
Fax (D) :   +49 - (0)3 21 21 25 22 44
Fax (FR):   +33 - (0)9 58 10 27 44
email:      Rainer@krugs.de

Skype:      RMkrug
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk2S4H8ACgkQoYgNqgF2egoE+ACdF/oUaZxPhTnuB3eBEM4dHSwH
y9MAn3h6xNQ886Olc33QKgkMkBntxKW1
=Nu2m
-----END PGP SIGNATURE-----

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] org-latex: Don't append newline to end of footnote
  2011-03-29 17:38   ` Nicolas
  2011-03-30  7:49     ` Rainer M Krug
@ 2011-03-30  9:14     ` Lawrence Mitchell
  2011-03-30 14:46       ` Rainer M Krug
  1 sibling, 1 reply; 7+ messages in thread
From: Lawrence Mitchell @ 2011-03-30  9:14 UTC (permalink / raw)
  To: emacs-orgmode

Nicolas wrote:
> Hello,

> Lawrence Mitchell <wence@gmx.li> writes:


[...]

> The analysis is good, but unfortunately the patch has a flaw.

> In fact, your patch work in that particular situation, but not if
> a footnote definition ends with a list, nor if it ends with a link. To
> solve the latter, you need to insert a white-space before the closing
> bracket. To solve the former, I thought adding a newline instead of the
> white-space was enough, but it now appears it was a bad idea.

> Thus, the solution lies elsewhere.

Ugh, indeed.  I wonder whether it would be enough to add the
correct list indent to the beginning of the line with the closing
brace.

ALthough I notice without my patch, the export of a footnote
containing a list which is in a list also does not work:

- Hello [fn:1]

* Footnotes

[fn:1] Goodbye
       - an item

No idea how to fix this though, sorry.

Lawrence

-- 
Lawrence Mitchell <wence@gmx.li>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Re: [PATCH] org-latex: Don't append newline to end of footnote
  2011-03-30  9:14     ` Lawrence Mitchell
@ 2011-03-30 14:46       ` Rainer M Krug
  2011-03-30 22:06         ` Nicolas
  0 siblings, 1 reply; 7+ messages in thread
From: Rainer M Krug @ 2011-03-30 14:46 UTC (permalink / raw)
  To: Lawrence Mitchell; +Cc: n.goaziou, emacs-orgmode

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Additional information: I changed to 7.5 (released version) and it works
there as expected.

Rainer


On 30/03/11 11:14, Lawrence Mitchell wrote:
> Nicolas wrote:
>> Hello,
> 
>> Lawrence Mitchell <wence@gmx.li> writes:
> 
> 
> [...]
> 
>> The analysis is good, but unfortunately the patch has a flaw.
> 
>> In fact, your patch work in that particular situation, but not if
>> a footnote definition ends with a list, nor if it ends with a link. To
>> solve the latter, you need to insert a white-space before the closing
>> bracket. To solve the former, I thought adding a newline instead of the
>> white-space was enough, but it now appears it was a bad idea.
> 
>> Thus, the solution lies elsewhere.
> 
> Ugh, indeed.  I wonder whether it would be enough to add the
> correct list indent to the beginning of the line with the closing
> brace.
> 
> ALthough I notice without my patch, the export of a footnote
> containing a list which is in a list also does not work:
> 
> - Hello [fn:1]
> 
> * Footnotes
> 
> [fn:1] Goodbye
>        - an item
> 
> No idea how to fix this though, sorry.
> 
> Lawrence
> 


- -- 
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation
Biology, UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Natural Sciences Building
Office Suite 2039
Stellenbosch University
Main Campus, Merriman Avenue
Stellenbosch
South Africa

Tel:        +33 - (0)9 53 10 27 44
Cell:       +27 - (0)8 39 47 90 42
Fax (SA):   +27 - (0)8 65 16 27 82
Fax (D) :   +49 - (0)3 21 21 25 22 44
Fax (FR):   +33 - (0)9 58 10 27 44
email:      Rainer@krugs.de

Skype:      RMkrug
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk2TQkkACgkQoYgNqgF2egq+5QCfTwNa+7H/mDa59SJOo65OdtHN
7EsAn3U9Rk8dpDq69BxInxlEZHS6o1Ec
=ObWr
-----END PGP SIGNATURE-----

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] org-latex: Don't append newline to end of footnote
  2011-03-30 14:46       ` Rainer M Krug
@ 2011-03-30 22:06         ` Nicolas
  0 siblings, 0 replies; 7+ messages in thread
From: Nicolas @ 2011-03-30 22:06 UTC (permalink / raw)
  To: Rainer M Krug; +Cc: Lawrence Mitchell, emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 1658 bytes --]

Hello,

Rainer M Krug <r.m.krug@gmail.com> writes:

> Additional information: I changed to 7.5 (released version) and it works
> there as expected.
>
> Rainer
>
>
> On 30/03/11 11:14, Lawrence Mitchell wrote:
>> Nicolas wrote:
>>> Hello,
>> 
>>> Lawrence Mitchell <wence@gmx.li> writes:
>> 
>> 
>> [...]
>> 
>>> The analysis is good, but unfortunately the patch has a flaw.
>> 
>>> In fact, your patch work in that particular situation, but not if
>>> a footnote definition ends with a list, nor if it ends with a link. To
>>> solve the latter, you need to insert a white-space before the closing
>>> bracket. To solve the former, I thought adding a newline instead of the
>>> white-space was enough, but it now appears it was a bad idea.
>> 
>>> Thus, the solution lies elsewhere.
>> 
>> Ugh, indeed.  I wonder whether it would be enough to add the
>> correct list indent to the beginning of the line with the closing
>> brace.
>> 
>> ALthough I notice without my patch, the export of a footnote
>> containing a list which is in a list also does not work:
>> 
>> - Hello [fn:1]
>> 
>> * Footnotes
>> 
>> [fn:1] Goodbye
>>        - an item
>> 
>> No idea how to fix this though, sorry.

Would the attached patch work ? I've tested it successfully on the
following buffer:

--8<---------------cut here---------------start------------->8---
#+title: Test footnotes

* Titre

  Text [fn:1] and a list
  - [fn:2]
  - three
    
    
  Another try [fn:3]

* Footnotes

[fn:1] A definition with
  - a list
  - of two elements

[fn:2] Test

[fn:3] [[file:~/.bashrc][bashrc]]
--8<---------------cut here---------------end--------------->8---

Regards,

-- 
Nicolas


[-- Attachment #2: footnote patch --]
[-- Type: text/plain, Size: 1607 bytes --]

From ccba9a10dddffb805635ecc10e760e92bf6ca8d2 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <n.goaziou@gmail.com>
Date: Wed, 30 Mar 2011 23:52:33 +0200
Subject: [PATCH] org-latex: fix footnotes wrt lists and links

* lisp/org-latex.el: pay attention to end of footnote. Before closing
  the command, ensure that list is properly closed or that last link
  is separated from the curly brace.
---
 lisp/org-latex.el |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/lisp/org-latex.el b/lisp/org-latex.el
index e42b64d..47fdfa7 100644
--- a/lisp/org-latex.el
+++ b/lisp/org-latex.el
@@ -2418,12 +2418,15 @@ The conversion is made depending of STRING-BEFORE and STRING-AFTER."
 		 (replace-match (org-export-latex-protect-string
 				 (concat "$^{" (match-string 1) "}$")))
 	       (replace-match "")
-	       (let ((end (save-excursion
-			    (if (re-search-forward "^$\\|^#.*$\\|\\[[0-9]+\\]" nil t)
-				(match-beginning 0) (point-max)))))
-		 (setq footnote (concat (org-trim (buffer-substring (point) end))
-					; last } won't be part of a link or list.
-					"\n"))
+	       (let* ((end (save-excursion
+			     (if (re-search-forward "^$\\|^#.*$\\|\\[[0-9]+\\]" nil t)
+				 (match-beginning 0) (point-max))))
+		      (body (org-trim (buffer-substring (point) end))))
+		 ;; Fix for footnotes ending on a link or a list.
+		 (setq footnote
+		       (concat body
+			       (if (string-match "ORG-LIST-END-MARKER\\'" body)
+				   "\n" " ")))
 		 (delete-region (point) end))
 	       (goto-char foot-beg)
 	       (delete-region foot-beg foot-end)
-- 
1.7.4.2


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2011-03-30 22:06 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-03-29 13:09 [BUG] LaTeX export inserts "ORG-LIST-END-MARKER" Rainer M Krug
2011-03-29 14:20 ` [PATCH] org-latex: Don't append newline to end of footnote Lawrence Mitchell
2011-03-29 17:38   ` Nicolas
2011-03-30  7:49     ` Rainer M Krug
2011-03-30  9:14     ` Lawrence Mitchell
2011-03-30 14:46       ` Rainer M Krug
2011-03-30 22:06         ` Nicolas

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).