
Hi,
> inas@mib.harz.de (Andreas Schlechte) wrote on Fri, 14 Mar 1997 15:50:13 +0100 (MET):
> : > \usepackage{german}
> : > results in something like
> : > (indexentry :tkey ( ( \active@dq \dq@prtct{E}uler\errhelp {Use `` for
> : > a simple double quote character.}\errmessage {german: The command ")
> German-Style makes the " an active character which expands to a
> serious of unexpandable tokens... if in expand-only mode. I.e., the
> active " is a `fragile' command (to use LaTeX's words).
Indeed. This caused me to insert an extra handling for german.sty.
But as you mentioned the use of \@santize is a better way to solve
the problem.
> No, Andi, what should be done in your xindy.sty is to ensure that all
> punctuation characters (think of `french.sty' for an active colon ":"
> or `spanish.sty/.ldf' for activated single quotes), which are used as
> part of the generated xindy raw index file, should be read using
> category code `other' ...or should be prefixed by \string.
Well, I thought of this already, but didn't know which chars I had
to regard. I didn't know that \@sanitize is the macro I was looking
for.
> Mmmmh, you should look at the code of \index ("ltidxglo.dtx"), which
> uses \@sanitize before reading its arguments to ensure that all
> characters will have the expected category codes (and which fails each
> time \index{...} is used inside a user-defined macro).
Is there a way, to write a macro which can be used inside user-defined
macros, too? Perhaps, one could support a macro inside xindy.sty,
which can be used to define user-defined macros using \indexindy?
> If the same is done in \indexindy, the currently used \mdqoff and
> \ifx\@undefined\germanTeX switch isn't needed anymore (because
> `german.sty' adds " to the list of characters to be \@sanitize'd).
> I.e., \indexindy should be defined as
> \newcommand{\indexindy}{%
> \@bsphack %% to handle `space factor' etc.
> \begingroup
> \toks@{}%
> \@sanitize \catcode`\\=\active
> \indexindy@
> }
> and after the "\endgroup" of \indexindy@ a "\@esphack" should be added
> for completion, read "ltspace.dtx" for comments about spacing and
> \@bsphack/\@esphack.
Well thanks a lot for this help. I implemented this version in the style
and it's doing fine. BTW: I often search various commands and infos in
the lt*.dtx-files. But there are too much to find the required information
in a tolerant time. Do you now, if there is a overview of the contents
of the dtx-file, somewhere in the net?
I won't post the new version right now, cause I'm currently doing
some minor changes on spacing and the .idx-output. I will post it
as soon as possible.
Best Regards,
Andi