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, rpgold...@sift.info wrote: >> >>> From: Robert P. Goldman <rpgold...@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 >> >> >> >