[Top][All Lists]
[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