# Re: More indexing bogosity

Steve Litt wrote:
> Let me refine the concept of "bogus". True, the ERT isn't bogus from a data
> consistency point of view, nor is it bogus from a logical point of view.
>  But it's very bogus from the point of view of the user's workflow. The
>  user must now, twice per index see or seealso entry, press Ctrl+L and type
>  in a curly brace. If the user doesn't use T1 output character set, he has
>  to do something similar with every regular index entry with a range. This
>  significantly slows the user, makes the user think about something other
>  than the content, and can cause temporary failure to an unsophisticated
>  user.

I'd consider everything behind "|" in an index entry "sophisticated", because
it requires LaTeX knowledge. I'd say that unsophisticated users would rather
expect "{" to be typeset as "{" rather than to be verbatim LaTeX.

In LyX, all verbatim LaTeX has to be embraced by ERT. Why should we make an
exception just for indexes? I'd consider that conceptually bogus.

> The point of computer programming is to make things faster and easier for
>  the user. Otherwise, why not just use TeX? This change makes things slower
>  and harder while indexing.

It makes some things harder while making others faster. We considered the gain
bigger than the burden.

> > The gain of this change is that you are not forced to write \"ubergro\ss
> > but can simply write übergroß in all encodings. And you can directly
> > emphasize entries, without the need to write \emph{my entry}.
>
> That's definitely a gain. The trouble is, it comes at the cost of a loss
>  for ranges and sees and seealsos. It also breaks formerly working
>  documents.

It's not supposed to break formerly working documents. In other words: the
braces should be wrapped in ERT by the lyx2lyx converter. I just verified that
this works. If it doesn't for you, please provide a test case.

I know that "|" need to be wrapped as well, and they aren't yet. But you know
that I have already developed a patch to fix this bug.

>  I'm sure there are ways to implement the advantages without the
>  disadvantages. Here are a few:
>
> * Use a dialog box to define each element of an index entry.
> * Have a single character to escape |, { and }
> * Have an option to evaluate indexes the way 1.5.x did

As already stated, the way would be to support "|see" and the like natively.
Unless we do that, it is treated as any other verbatim LaTeX.

However, you can easily restore the 1.5.x behaviour:

copy the file stdinsets.onc from the System directory to the user directory,
and in the entry of InsetLayout Index, add the line

PassThru              true

Then all content of the inset will be treated verbatim (as in ERT). Of course,
you will lose all the 1.6.x index improvements with this change.

> If nothing is done about this, it won't harm me. I write only English so T1
>  is fine with me. I find it better to put see and seealso entries in a
>  separate file so I won't have to ERT twice per entry. Even if things
>  change some more so T1 doesn't work for me, I already have a kludge script
>  to correct the LyX produced LaTeX. But these opportunities aren't
>  available to a lot of users, and they will be slowed by this new method of
>  parsing LyX index entries.

As said, I have proposed a solution for the T1 problem. So no kludge script is
needed.

> StevET
>
> Steve Litt
> Recession Relief Package
> http://www.recession-relief.US