[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] [PATCH] Revised my #+index preprocessor to fontify index entries
From: |
Carsten Dominik |
Subject: |
Re: [O] [PATCH] Revised my #+index preprocessor to fontify index entries. |
Date: |
Thu, 5 May 2011 10:30:56 +0200 |
On 4.5.2011, at 15:10, Robert Goldman wrote:
> On 5/4/11 May 4 -3:03 AM, Carsten Dominik wrote:
>> Hi Robert,
>>
>> I am rejecting this part of the patch for now. More thinking is needed here,
>> also about special characters etc. No sure yet what the right course will
>> be,
>> but this is much too limited.
>
> Carsten,
>
> I don't fully understand the latex exporter, but I believe that
> somewhere in it, LaTeX contexts are protected from translation.
> Question: would it be possible to somehow mark the argument to \index{}
> as being NOT protected? If we could do that, I suspect the rest of the
> processing would run its course.
>
> I am working on a manual so correct indexing of monospaced entries is
> critical to me! ;-)
I took another look, and your idea actually works, because the function you
used does
do quite complete formatting. I have put this part back into the code.
- Carsten
>
> Best,
> r
>
>>
>> - Carsten
>>
>>
>> On May 1, 2011, at 6:01 PM, address@hidden wrote:
>>
>>> From: Robert P. Goldman <address@hidden>
>>>
>>> ---
>>> The previous patch wasn't quite right because, e.g., it would index
>>> #+INDEX: =Class=
>>> as
>>> \\index{=Class=}
>>> instead of
>>> \\index{\texttt{Class}}
>>> This patch attempts to fix that.
>>>
>>> Question: would you prefer to have this reformulated as some kind of
>>> unified patch
>>> with the earlier one?
>>>
>>> lisp/org-latex.el | 12 +++++++++---
>>> 1 files changed, 9 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/lisp/org-latex.el b/lisp/org-latex.el
>>> index 731d6e6..b8f7019 100644
>>> --- a/lisp/org-latex.el
>>> +++ b/lisp/org-latex.el
>>> @@ -1,4 +1,4 @@
>>> -;;; org-latex.el --- LaTeX exporter for org-mode
>>> +;; org-latex.el --- LaTeX exporter for org-mode
>>> ;;
>>> ;; Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
>>> ;;
>>> @@ -2331,9 +2331,15 @@ The conversion is made depending of STRING-BEFORE
>>> and STRING-AFTER."
>>> (let ((case-fold-search t))
>>> (re-search-forward "^[ \t]*#\\+index:[ \t]*\\(.*?\\)[ \t]*$" nil t))
>>> (> (match-end 1) (match-beginning 1)))
>>> + ;; (message "Found a #+INDEX match...")
>>> (let ((entry (match-string 1)))
>>> -;; (message "Found a #+INDEX match...")
>>> - (replace-match (format "\\index{%s}" entry) t t)))
>>> + (replace-match (format "\\index{%s}" entry) t t)
>>> + ;; now process font directives in the index entry
>>> + (re-search-forward "^[ \t]*\\\\index{\\([^}]\\)}" nil t)
>>> + ;; (message (format "Trying to fontify string %s" (match-string 1)))
>>> + (save-restriction
>>> + (narrow-to-region (match-beginning 1) (match-end 1))
>>> + (org-export-latex-fontify))))
>>>
>>> ;; Convert center
>>> (goto-char (point-min))
>>> --
>>> 1.7.3.5
>>>
>>>
>>
>> - Carsten
>>
>>
>>
>