emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Nicolas Berthier <nberth@member.fsf.org>
To: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Cc: emacs-orgmode@gnu.org
Subject: Re: formatted index entries
Date: Wed, 18 Jun 2014 14:18:56 +0200	[thread overview]
Message-ID: <vp0oha3iv2a7.fsf@epicea.irisa.fr> (raw)
In-Reply-To: 87oaxqlft4.fsf@nicolasgoaziou.fr

You wrote:

> Hello,
>
> Nicolas Berthier <nberth@member.fsf.org> writes:
>
>> In an org file, I would like to add formatted index entries "=word=",
>> "!word" or similar things, possibly in a hierarchical way as sub entries
>> (I know it's a very peculiar use case, but it turns out that I would
>> appreciate having this feature for writing a technical manual). e.g,
>> something in the spirit of:
>>
>> # verbatim entry:
>> #+INDEX: =word=
>> #+INDEX: category!=word=
>> # # verbatim entry with an exclamation mark:
>> #+INDEX: =!word=
>> #+INDEX: category!=!word=
>> # # or even, let's be audacious: formatted code as an entry:
>> #+INDEX: src_emacs-list[:exports code](let)
>>
>> Using the current development branch of Org mode, exporting to HTML
>> works fine for the verbatim case, yet index entries do not seem to be
>> treated as Org elements when exporting to LaTeX: index entries are named
>> "=word=". Also, exclamation marks are category delimiters (as in LaTeX),
>> hence the cases makes Org insert extra categories named "=", and adds
>> entries "word=" in them (both in HTML and LaTeX).
>>
>> This topic has already been discussed on this list before
>> ( http://thread.gmane.org/gmane.emacs.orgmode/41442 ), but apparently
>> this feature is not (yet?) available in org ≥ 8.0.
>>
>> Has it already been implemented by somebody somewhere? Any further
>> thoughts on that point?
>
> LaTeX provides its own processor for index entries, so Org just lets it
> handle #+INDEX keywords. Therefore "#+INDEX: something" becomes
> "\index{something}" (see `org-latex-keyword'). You could write, e.g.,
>
>
>   #+INDEX: \texttt{word}
>
> in order to get what you want.
>
> OTOH, every other back-end relies on
> `org-publish-index-generate-theindex', which creates a file containing
> a list of links. So "#+INDEX: something" becomes
>
>   - [[file:...][something]]
>
> Thus, Org syntax is perfectly allowed, including "src_emacs-lisp{...}",
> the only problem being that exclamation marks are separators in
> "something".  A workaround could be to make " ! " as a  separator
> instead:
>
>
>   #+INDEX: word ! !word
>
> but that would break #+INDEX keywords currently used.

Putting the question of the separator aside, my objective is to be able
to export the same Org document both as HTML and as LaTeX (at least).
I think, as was discussed in the thread I mentioned, that being able to
use Org markups in index entries could be a nice feature to do that.

I understand the contents coming after `#+INDEX:' is used as is in every
case (except in non-LaTeX exports for entries with `!' in them), but are
handled differently: for HTML, they are put in `theindex.inc' to be
handled later when this file is parsed by Org, and for LaTeX they are
passed directly as argument to the `\index' command.

> Note that the current set-up allows to preserve compatibility between
> LaTeX and other back-ends in simple cases.

IMHO, the handling of Org markups (at least) by the LaTeX exporter (and
maybe others) would suffice to implement this feature (with a few tricks
to still allow sorting by makeindex). Am I right?

Regards,

  Nicolas

-- 
Nicolas Berthier                                        FSF Member #7975

  reply	other threads:[~2014-06-18 12:19 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-18  8:00 formatted index entries Nicolas Berthier
2014-06-18  9:36 ` Nicolas Goaziou
2014-06-18 12:18   ` Nicolas Berthier [this message]
2014-06-18 13:16     ` Nicolas Goaziou
2014-06-18 14:02       ` Nicolas Berthier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=vp0oha3iv2a7.fsf@epicea.irisa.fr \
    --to=nberth@member.fsf.org \
    --cc=emacs-orgmode@gnu.org \
    --cc=mail@nicolasgoaziou.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).