emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* [PATCH] Revised my #+index preprocessor to fontify index entries.
@ 2011-05-01 16:01 rpgoldman
  2011-05-04  8:03 ` Carsten Dominik
  0 siblings, 1 reply; 4+ messages in thread
From: rpgoldman @ 2011-05-01 16:01 UTC (permalink / raw)
  To: emacs-orgmode; +Cc: Robert P. Goldman

From: Robert P. Goldman <rpgoldman@real-time.com>

---
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

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

* Re: [PATCH] Revised my #+index preprocessor to fontify index entries.
  2011-05-01 16:01 [PATCH] Revised my #+index preprocessor to fontify index entries rpgoldman
@ 2011-05-04  8:03 ` Carsten Dominik
  2011-05-04 13:10   ` Robert Goldman
  0 siblings, 1 reply; 4+ messages in thread
From: Carsten Dominik @ 2011-05-04  8:03 UTC (permalink / raw)
  To: rpgoldman; +Cc: Robert P. Goldman, emacs-orgmode

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


On May 1, 2011, at 6:01 PM, rpgoldman@sift.info wrote:

> From: Robert P. Goldman <rpgoldman@real-time.com>
> 
> ---
> 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

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

* Re: [PATCH] Revised my #+index preprocessor to fontify index entries.
  2011-05-04  8:03 ` Carsten Dominik
@ 2011-05-04 13:10   ` Robert Goldman
  2011-05-05  8:30     ` Carsten Dominik
  0 siblings, 1 reply; 4+ messages in thread
From: Robert Goldman @ 2011-05-04 13:10 UTC (permalink / raw)
  To: Carsten Dominik; +Cc: emacs-orgmode

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! ;-)

Best,
r

> 
> - Carsten
> 
> 
> On May 1, 2011, at 6:01 PM, rpgoldman@sift.info wrote:
> 
>> From: Robert P. Goldman <rpgoldman@real-time.com>
>>
>> ---
>> 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
> 
> 
> 

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

* Re: [PATCH] Revised my #+index preprocessor to fontify index entries.
  2011-05-04 13:10   ` Robert Goldman
@ 2011-05-05  8:30     ` Carsten Dominik
  0 siblings, 0 replies; 4+ messages in thread
From: Carsten Dominik @ 2011-05-05  8:30 UTC (permalink / raw)
  To: rpgoldman; +Cc: emacs-orgmode


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, rpgoldman@sift.info wrote:
>> 
>>> From: Robert P. Goldman <rpgoldman@real-time.com>
>>> 
>>> ---
>>> 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
>> 
>> 
>> 
> 

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

end of thread, other threads:[~2011-05-05  8:31 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-05-01 16:01 [PATCH] Revised my #+index preprocessor to fontify index entries rpgoldman
2011-05-04  8:03 ` Carsten Dominik
2011-05-04 13:10   ` Robert Goldman
2011-05-05  8:30     ` Carsten Dominik

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).