emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[O] Re: [PATCH] org-latex: Don't append newline to end of footnote


From: Nicolas
Subject: [O] Re: [PATCH] org-latex: Don't append newline to end of footnote
Date: Thu, 31 Mar 2011 00:06:20 +0200

Hello,

Rainer M Krug <address@hidden> 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 <address@hidden> 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

>From ccba9a10dddffb805635ecc10e760e92bf6ca8d2 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <address@hidden>
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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]