[-- Attachment #1: Type: text/plain, Size: 664 bytes --] Hi all, This patch fixes the issue I originally described here: http://article.gmane.org/gmane.emacs.orgmode/32281 It preserves math-mode delimiters (e.g. "$" and "\(") in the document title when exporting to LaTeX. (That is, it prevents them from being escaped, by running the title through org-export-preprocess-string, which marks them with the org-protected property.) It should work regardless of whether the title is pulled from a headline, from the text before the first headline, or from an explicit #+TITLE declaration. (This is my first time contributing a patch to a Free Software project -- so please, let me know what you think!) Best, Richard [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: Preserve math environments in title --] [-- Type: text/x-diff, Size: 1436 bytes --] diff --git a/lisp/org-latex.el b/lisp/org-latex.el index 4fcbbb7..f97436c 100644 --- a/lisp/org-latex.el +++ b/lisp/org-latex.el @@ -727,13 +727,33 @@ when PUB-DIR is set, use this as the publishing directory." (org-current-export-file buffer-file-name) (title (or (and subtree-p (org-export-get-title-from-subtree)) (plist-get opt-plist :title) - (and (not - (plist-get opt-plist :skip-before-1st-heading)) - (org-export-grab-title-from-buffer)) + (unless (plist-get opt-plist :skip-before-1st-heading) + (let ((pt (org-export-grab-title-from-buffer))) + (remove-text-properties 0 (length pt) + '(:org-license-to-kill t) pt) + pt)) (and buffer-file-name (file-name-sans-extension (file-name-nondirectory buffer-file-name))) "No Title")) + ; Preprocessing preserves math environments in title + (title + (and title (string-match "\\S-" title) + (org-export-preprocess-string + title + :emph-multiline t + :for-LaTeX t + :comments nil + :tags (plist-get opt-plist :tags) + :priority (plist-get opt-plist :priority) + :footnotes (plist-get opt-plist :footnotes) + :drawers (plist-get opt-plist :drawers) + :timestamps (plist-get opt-plist :timestamps) + :todo-keywords (plist-get opt-plist :todo-keywords) + :add-text nil + :select-tags nil + :exclude-tags nil + :LaTeX-fragments nil))) (filename (and (not to-buffer) (concat [-- Attachment #3: Type: text/plain, Size: 201 bytes --] _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Hi Richard,
I have now applied this patch. I am not entirely sure it will have no
adverse effects, so please, people who do export to LaTeX, check after
the next pull if you see any problems.
Thanks Richard!
- Carsten
On Oct 25, 2010, at 5:41 PM, Richard Lawrence wrote:
> Hi all,
>
> This patch fixes the issue I originally described here:
> http://article.gmane.org/gmane.emacs.orgmode/32281
>
> It preserves math-mode delimiters (e.g. "$" and "\(") in the document
> title when exporting to LaTeX. (That is, it prevents them from being
> escaped, by running the title through org-export-preprocess-string,
> which marks them with the org-protected property.) It should work
> regardless of whether the title is pulled from a headline, from the
> text
> before the first headline, or from an explicit #+TITLE declaration.
>
> (This is my first time contributing a patch to a Free Software project
> -- so please, let me know what you think!)
>
> Best,
> Richard
>
> diff --git a/lisp/org-latex.el b/lisp/org-latex.el
> index 4fcbbb7..f97436c 100644
> --- a/lisp/org-latex.el
> +++ b/lisp/org-latex.el
> @@ -727,13 +727,33 @@ when PUB-DIR is set, use this as the
> publishing directory."
> (org-current-export-file buffer-file-name)
> (title (or (and subtree-p (org-export-get-title-from-subtree))
> (plist-get opt-plist :title)
> - (and (not
> - (plist-get opt-plist :skip-before-1st-heading))
> - (org-export-grab-title-from-buffer))
> + (unless (plist-get opt-plist :skip-before-1st-heading)
> + (let ((pt (org-export-grab-title-from-buffer)))
> + (remove-text-properties 0 (length pt)
> + '(:org-license-to-kill t) pt)
> + pt))
> (and buffer-file-name
> (file-name-sans-extension
> (file-name-nondirectory buffer-file-name)))
> "No Title"))
> + ; Preprocessing preserves math environments in title
> + (title
> + (and title (string-match "\\S-" title)
> + (org-export-preprocess-string
> + title
> + :emph-multiline t
> + :for-LaTeX t
> + :comments nil
> + :tags (plist-get opt-plist :tags)
> + :priority (plist-get opt-plist :priority)
> + :footnotes (plist-get opt-plist :footnotes)
> + :drawers (plist-get opt-plist :drawers)
> + :timestamps (plist-get opt-plist :timestamps)
> + :todo-keywords (plist-get opt-plist :todo-keywords)
> + :add-text nil
> + :select-tags nil
> + :exclude-tags nil
> + :LaTeX-fragments nil)))
> (filename
> (and (not to-buffer)
> (concat
> _______________________________________________
> Emacs-orgmode mailing list
> Please use `Reply All' to send replies to the list.
> Emacs-orgmode@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
On Nov 21, 2010, at 9:54 AM, Carsten Dominik wrote: > Hi Richard, > > I have now applied this patch. I am not entirely sure it will have > no adverse effects, so please, people who do export to LaTeX, check > after the next pull if you see any problems. Actually, I think I have just found a better way to solve this issue, in a way that will also solve it for figure captions. Please, LaTeX export users, test the current git version. THanks - Carsten > > Thanks Richard! > > - Carsten > > On Oct 25, 2010, at 5:41 PM, Richard Lawrence wrote: > >> Hi all, >> >> This patch fixes the issue I originally described here: >> http://article.gmane.org/gmane.emacs.orgmode/32281 >> >> It preserves math-mode delimiters (e.g. "$" and "\(") in the document >> title when exporting to LaTeX. (That is, it prevents them from being >> escaped, by running the title through org-export-preprocess-string, >> which marks them with the org-protected property.) It should work >> regardless of whether the title is pulled from a headline, from the >> text >> before the first headline, or from an explicit #+TITLE declaration. >> >> (This is my first time contributing a patch to a Free Software >> project >> -- so please, let me know what you think!) >> >> Best, >> Richard >> >> diff --git a/lisp/org-latex.el b/lisp/org-latex.el >> index 4fcbbb7..f97436c 100644 >> --- a/lisp/org-latex.el >> +++ b/lisp/org-latex.el >> @@ -727,13 +727,33 @@ when PUB-DIR is set, use this as the >> publishing directory." >> (org-current-export-file buffer-file-name) >> (title (or (and subtree-p (org-export-get-title-from-subtree)) >> (plist-get opt-plist :title) >> - (and (not >> - (plist-get opt-plist :skip-before-1st-heading)) >> - (org-export-grab-title-from-buffer)) >> + (unless (plist-get opt-plist :skip-before-1st-heading) >> + (let ((pt (org-export-grab-title-from-buffer))) >> + (remove-text-properties 0 (length pt) >> + '(:org-license-to-kill t) pt) >> + pt)) >> (and buffer-file-name >> (file-name-sans-extension >> (file-name-nondirectory buffer-file-name))) >> "No Title")) >> + ; Preprocessing preserves math environments in title >> + (title >> + (and title (string-match "\\S-" title) >> + (org-export-preprocess-string >> + title >> + :emph-multiline t >> + :for-LaTeX t >> + :comments nil >> + :tags (plist-get opt-plist :tags) >> + :priority (plist-get opt-plist :priority) >> + :footnotes (plist-get opt-plist :footnotes) >> + :drawers (plist-get opt-plist :drawers) >> + :timestamps (plist-get opt-plist :timestamps) >> + :todo-keywords (plist-get opt-plist :todo-keywords) >> + :add-text nil >> + :select-tags nil >> + :exclude-tags nil >> + :LaTeX-fragments nil))) >> (filename >> (and (not to-buffer) >> (concat >> _______________________________________________ >> Emacs-orgmode mailing list >> Please use `Reply All' to send replies to the list. >> Emacs-orgmode@gnu.org >> http://lists.gnu.org/mailman/listinfo/emacs-orgmode >
On Nov 21, 2010, at 9:54 AM, Carsten Dominik wrote: > Hi Richard, > > I have now applied this patch. I am not entirely sure it will have > no adverse effects, so please, people who do export to LaTeX, check > after the next pull if you see any problems. Actually, I think I have just found a better way to solve this issue, in a way that will also solve it for figure captions. Please, LaTeX export users, test the current git version. THanks - Carsten > > Thanks Richard! > > - Carsten > > On Oct 25, 2010, at 5:41 PM, Richard Lawrence wrote: > >> Hi all, >> >> This patch fixes the issue I originally described here: >> http://article.gmane.org/gmane.emacs.orgmode/32281 >> >> It preserves math-mode delimiters (e.g. "$" and "\(") in the document >> title when exporting to LaTeX. (That is, it prevents them from being >> escaped, by running the title through org-export-preprocess-string, >> which marks them with the org-protected property.) It should work >> regardless of whether the title is pulled from a headline, from the >> text >> before the first headline, or from an explicit #+TITLE declaration. >> >> (This is my first time contributing a patch to a Free Software >> project >> -- so please, let me know what you think!) >> >> Best, >> Richard >> >> diff --git a/lisp/org-latex.el b/lisp/org-latex.el >> index 4fcbbb7..f97436c 100644 >> --- a/lisp/org-latex.el >> +++ b/lisp/org-latex.el >> @@ -727,13 +727,33 @@ when PUB-DIR is set, use this as the >> publishing directory." >> (org-current-export-file buffer-file-name) >> (title (or (and subtree-p (org-export-get-title-from-subtree)) >> (plist-get opt-plist :title) >> - (and (not >> - (plist-get opt-plist :skip-before-1st-heading)) >> - (org-export-grab-title-from-buffer)) >> + (unless (plist-get opt-plist :skip-before-1st-heading) >> + (let ((pt (org-export-grab-title-from-buffer))) >> + (remove-text-properties 0 (length pt) >> + '(:org-license-to-kill t) pt) >> + pt)) >> (and buffer-file-name >> (file-name-sans-extension >> (file-name-nondirectory buffer-file-name))) >> "No Title")) >> + ; Preprocessing preserves math environments in title >> + (title >> + (and title (string-match "\\S-" title) >> + (org-export-preprocess-string >> + title >> + :emph-multiline t >> + :for-LaTeX t >> + :comments nil >> + :tags (plist-get opt-plist :tags) >> + :priority (plist-get opt-plist :priority) >> + :footnotes (plist-get opt-plist :footnotes) >> + :drawers (plist-get opt-plist :drawers) >> + :timestamps (plist-get opt-plist :timestamps) >> + :todo-keywords (plist-get opt-plist :todo-keywords) >> + :add-text nil >> + :select-tags nil >> + :exclude-tags nil >> + :LaTeX-fragments nil))) >> (filename >> (and (not to-buffer) >> (concat >> _______________________________________________ >> Emacs-orgmode mailing list >> Please use `Reply All' to send replies to the list. >> Emacs-orgmode@gnu.org >> http://lists.gnu.org/mailman/listinfo/emacs-orgmode >
Aloha Richard and Carsten,
Thanks very much for this improvement. Math appears to work as
expected in the title and in figure captions. I haven't noticed any
adverse effects yet, but I've spent most of my time admiring the well
typeset titles :)
All the best,
Tom
On Nov 20, 2010, at 11:24 PM, Carsten Dominik wrote:
>
> On Nov 21, 2010, at 9:54 AM, Carsten Dominik wrote:
>
>> Hi Richard,
>>
>> I have now applied this patch. I am not entirely sure it will have
>> no adverse effects, so please, people who do export to LaTeX, check
>> after the next pull if you see any problems.
>
> Actually, I think I have just found a better way to solve this issue,
> in a way that will also solve it for figure captions.
>
> Please, LaTeX export users, test the current git version.
>
> THanks
>
> - Carsten
>
>>
>> Thanks Richard!
>>
>> - Carsten
>>
>> On Oct 25, 2010, at 5:41 PM, Richard Lawrence wrote:
>>
>>> Hi all,
>>>
>>> This patch fixes the issue I originally described here:
>>> http://article.gmane.org/gmane.emacs.orgmode/32281
>>>
>>> It preserves math-mode delimiters (e.g. "$" and "\(") in the
>>> document
>>> title when exporting to LaTeX. (That is, it prevents them from
>>> being
>>> escaped, by running the title through org-export-preprocess-string,
>>> which marks them with the org-protected property.) It should work
>>> regardless of whether the title is pulled from a headline, from
>>> the text
>>> before the first headline, or from an explicit #+TITLE declaration.
>>>
>>> (This is my first time contributing a patch to a Free Software
>>> project
>>> -- so please, let me know what you think!)
>>>
>>> Best,
>>> Richard
>>>
>>> diff --git a/lisp/org-latex.el b/lisp/org-latex.el
>>> index 4fcbbb7..f97436c 100644
>>> --- a/lisp/org-latex.el
>>> +++ b/lisp/org-latex.el
>>> @@ -727,13 +727,33 @@ when PUB-DIR is set, use this as the
>>> publishing directory."
>>> (org-current-export-file buffer-file-name)
>>> (title (or (and subtree-p (org-export-get-title-from-subtree))
>>> (plist-get opt-plist :title)
>>> - (and (not
>>> - (plist-get opt-plist :skip-before-1st-heading))
>>> - (org-export-grab-title-from-buffer))
>>> + (unless (plist-get opt-plist :skip-before-1st-heading)
>>> + (let ((pt (org-export-grab-title-from-buffer)))
>>> + (remove-text-properties 0 (length pt)
>>> + '(:org-license-to-kill t) pt)
>>> + pt))
>>> (and buffer-file-name
>>> (file-name-sans-extension
>>> (file-name-nondirectory buffer-file-name)))
>>> "No Title"))
>>> + ; Preprocessing preserves math environments in title
>>> + (title
>>> + (and title (string-match "\\S-" title)
>>> + (org-export-preprocess-string
>>> + title
>>> + :emph-multiline t
>>> + :for-LaTeX t
>>> + :comments nil
>>> + :tags (plist-get opt-plist :tags)
>>> + :priority (plist-get opt-plist :priority)
>>> + :footnotes (plist-get opt-plist :footnotes)
>>> + :drawers (plist-get opt-plist :drawers)
>>> + :timestamps (plist-get opt-plist :timestamps)
>>> + :todo-keywords (plist-get opt-plist :todo-keywords)
>>> + :add-text nil
>>> + :select-tags nil
>>> + :exclude-tags nil
>>> + :LaTeX-fragments nil)))
>>> (filename
>>> (and (not to-buffer)
>>> (concat
>>> _______________________________________________
>>> Emacs-orgmode mailing list
>>> Please use `Reply All' to send replies to the list.
>>> Emacs-orgmode@gnu.org
>>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>>
>
>
> _______________________________________________
> Emacs-orgmode mailing list
> Please use `Reply All' to send replies to the list.
> Emacs-orgmode@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
On Nov 21, 2010, at 6:14 PM, Thomas S. Dye wrote: > Aloha Richard and Carsten, > > Thanks very much for this improvement. Math appears to work as > expected in the title and in figure captions. I haven't noticed any > adverse effects yet, but I've spent most of my time admiring the > well typeset titles :) Hi Thomas, thank you for being such a reliable member here. Cheers - Carsten > > All the best, > Tom > > On Nov 20, 2010, at 11:24 PM, Carsten Dominik wrote: > >> >> On Nov 21, 2010, at 9:54 AM, Carsten Dominik wrote: >> >>> Hi Richard, >>> >>> I have now applied this patch. I am not entirely sure it will >>> have no adverse effects, so please, people who do export to LaTeX, >>> check after the next pull if you see any problems. >> >> Actually, I think I have just found a better way to solve this issue, >> in a way that will also solve it for figure captions. >> >> Please, LaTeX export users, test the current git version. >> >> THanks >> >> - Carsten >> >>> >>> Thanks Richard! >>> >>> - Carsten >>> >>> On Oct 25, 2010, at 5:41 PM, Richard Lawrence wrote: >>> >>>> Hi all, >>>> >>>> This patch fixes the issue I originally described here: >>>> http://article.gmane.org/gmane.emacs.orgmode/32281 >>>> >>>> It preserves math-mode delimiters (e.g. "$" and "\(") in the >>>> document >>>> title when exporting to LaTeX. (That is, it prevents them from >>>> being >>>> escaped, by running the title through org-export-preprocess-string, >>>> which marks them with the org-protected property.) It should work >>>> regardless of whether the title is pulled from a headline, from >>>> the text >>>> before the first headline, or from an explicit #+TITLE declaration. >>>> >>>> (This is my first time contributing a patch to a Free Software >>>> project >>>> -- so please, let me know what you think!) >>>> >>>> Best, >>>> Richard >>>> >>>> diff --git a/lisp/org-latex.el b/lisp/org-latex.el >>>> index 4fcbbb7..f97436c 100644 >>>> --- a/lisp/org-latex.el >>>> +++ b/lisp/org-latex.el >>>> @@ -727,13 +727,33 @@ when PUB-DIR is set, use this as the >>>> publishing directory." >>>> (org-current-export-file buffer-file-name) >>>> (title (or (and subtree-p (org-export-get-title-from-subtree)) >>>> (plist-get opt-plist :title) >>>> - (and (not >>>> - (plist-get opt-plist :skip-before-1st-heading)) >>>> - (org-export-grab-title-from-buffer)) >>>> + (unless (plist-get opt-plist :skip-before-1st-heading) >>>> + (let ((pt (org-export-grab-title-from-buffer))) >>>> + (remove-text-properties 0 (length pt) >>>> + '(:org-license-to-kill t) pt) >>>> + pt)) >>>> (and buffer-file-name >>>> (file-name-sans-extension >>>> (file-name-nondirectory buffer-file-name))) >>>> "No Title")) >>>> + ; Preprocessing preserves math environments in title >>>> + (title >>>> + (and title (string-match "\\S-" title) >>>> + (org-export-preprocess-string >>>> + title >>>> + :emph-multiline t >>>> + :for-LaTeX t >>>> + :comments nil >>>> + :tags (plist-get opt-plist :tags) >>>> + :priority (plist-get opt-plist :priority) >>>> + :footnotes (plist-get opt-plist :footnotes) >>>> + :drawers (plist-get opt-plist :drawers) >>>> + :timestamps (plist-get opt-plist :timestamps) >>>> + :todo-keywords (plist-get opt-plist :todo-keywords) >>>> + :add-text nil >>>> + :select-tags nil >>>> + :exclude-tags nil >>>> + :LaTeX-fragments nil))) >>>> (filename >>>> (and (not to-buffer) >>>> (concat >>>> _______________________________________________ >>>> Emacs-orgmode mailing list >>>> Please use `Reply All' to send replies to the list. >>>> Emacs-orgmode@gnu.org >>>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode >>> >> >> >> _______________________________________________ >> Emacs-orgmode mailing list >> Please use `Reply All' to send replies to the list. >> Emacs-orgmode@gnu.org >> http://lists.gnu.org/mailman/listinfo/emacs-orgmode >
Carsten Dominik <carsten.dominik@gmail.com> writes:
> On Nov 21, 2010, at 9:54 AM, Carsten Dominik wrote:
>
>> Hi Richard,
>>
>> I have now applied this patch. I am not entirely sure it will have
>> no adverse effects, so please, people who do export to LaTeX, check
>> after the next pull if you see any problems.
>
> Actually, I think I have just found a better way to solve this issue,
> in a way that will also solve it for figure captions.
>
> Please, LaTeX export users, test the current git version.
Hi Carsten,
I've just tried the latest version, and it works for me, at least on the
case I was having trouble with before.
Thanks!
Richard
Carsten Dominik <carsten.dominik@gmail.com> writes:
> On Nov 21, 2010, at 9:54 AM, Carsten Dominik wrote:
>
>> Hi Richard,
>>
>> I have now applied this patch. I am not entirely sure it will have
>> no adverse effects, so please, people who do export to LaTeX, check
>> after the next pull if you see any problems.
>
> Actually, I think I have just found a better way to solve this issue,
> in a way that will also solve it for figure captions.
>
> Please, LaTeX export users, test the current git version.
Carsten,
just one more positive data point: although I'm not using maths in
captions or titles, everything else still seems to be working just fine,
both for a simple document and for a large set of slides that I have
been working on all weekend. No adverse effects due to your changes
have been observed.
--
: Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D) in Emacs 23.2.1
: using Org-mode version 7.3 (release_7.3.110.g02494)
Dear Eric, and dear everyone else, thanks for the feedback.
- Carsten
On Nov 22, 2010, at 10:36 AM, Eric S Fraga wrote:
> Carsten Dominik <carsten.dominik@gmail.com> writes:
>
>> On Nov 21, 2010, at 9:54 AM, Carsten Dominik wrote:
>>
>>> Hi Richard,
>>>
>>> I have now applied this patch. I am not entirely sure it will have
>>> no adverse effects, so please, people who do export to LaTeX, check
>>> after the next pull if you see any problems.
>>
>> Actually, I think I have just found a better way to solve this issue,
>> in a way that will also solve it for figure captions.
>>
>> Please, LaTeX export users, test the current git version.
>
> Carsten,
>
> just one more positive data point: although I'm not using maths in
> captions or titles, everything else still seems to be working just
> fine,
> both for a simple document and for a large set of slides that I have
> been working on all weekend. No adverse effects due to your changes
> have been observed.
>
> --
> : Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D) in Emacs 23.2.1
> : using Org-mode version 7.3 (release_7.3.110.g02494)