emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Nicolas Goaziou <mail@nicolasgoaziou.fr>
To: Nicolas Berthier <nberth@member.fsf.org>
Cc: emacs-orgmode@gnu.org
Subject: Re: formatted index entries
Date: Wed, 18 Jun 2014 11:36:55 +0200	[thread overview]
Message-ID: <87oaxqlft4.fsf@nicolasgoaziou.fr> (raw)
In-Reply-To: <vp0o7g4ey7ei.fsf@epicea.irisa.fr> (Nicolas Berthier's message of "Wed, 18 Jun 2014 10:00:05 +0200")

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.

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


Regards,

-- 
Nicolas Goaziou

  reply	other threads:[~2014-06-18  9:36 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 [this message]
2014-06-18 12:18   ` Nicolas Berthier
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=87oaxqlft4.fsf@nicolasgoaziou.fr \
    --to=mail@nicolasgoaziou.fr \
    --cc=emacs-orgmode@gnu.org \
    --cc=nberth@member.fsf.org \
    /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).