Wert evaluieren bevor er in die Index-Datei geschrieben wird

Erstellen von Index, Glossar, Symbolverzeichnis, einer Nomenklatur etc. mit MakeIndex oder Xindy


G-Fire
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Mo 16. Mai 2011, 08:16

Wert evaluieren bevor er in die Index-Datei geschrieben wird

Beitrag von G-Fire »

Hi,

ich habe ein Problem, welches mit dem folgenden Minimalbeispiel nachgestellt werden kann:
\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage{imakeidx}
\usepackage[acronym=true]{glossaries}

\makeindex[options=-s indexstyle.mst]
\makeglossaries

\newacronym{GUI}{GUI}{Graphical User Interface}



\begin{document}

Erste Verwendung von \gls{GUI}. 
Ein normaler Index\index{Index}.

GUI\index{\glsentrylong{GUI}} als Index.

\glossarystyle{indexgroup}
\printglossary[type=\acronymtype]
\printindex

\end{document}
Die dazugehörige Styledatei indexstyle.mst besitzt den folgenden Inhalt:
headings_flag 1
heading_prefix "\\textbf\{\\large "
heading_suffix "\}\\nopagebreak"
Wie man sieht verwende ich glossaries für die Akronyme bzw. (i)makeidx für den Index. In der Zeile "GUI\index{\glsentrylong{GUI}} als Index." mische ich glossaries und makeidx. Im dargestellten Index wird dann sichtbar, dass der Index an dieser Stelle in der Gruppe der Symbole auftaucht. Für mich ist das Verhalten nachvollziehbar, da dieser Eintrag ja mit einem "\" beginnt. Nichtdestotrotz soll dort natürlich nicht nach "\glsentrylong{GUI}" sortiert werden sondern nach dem Wert dahinter (also nach "Graphical User Interface").

Im Grunde bin ich mir nicht einmal sicher, ob ich überhaupt im richtigen Unterforum gepostet habe, da die Frage ja eher darauf abzielt, wie ich den Ausdruck, bevor er in die Datei geschrieben wird, auswerte. Ich dachte, dass es etwas mit \expand zu tun haben könnte, habe dabei aber keine Lösung finden können.

Vielen Dank
G-Fire

rais
Forum-Guru
Forum-Guru
Beiträge: 413
Registriert: Di 21. Sep 2010, 00:37

Re: Wert evaluieren bevor er in die Index-Datei geschrieben

Beitrag von rais »

Hallo,
G-Fire hat geschrieben:Im dargestellten Index wird dann sichtbar, dass der Index an dieser Stelle in der Gruppe der Symbole auftaucht. Für mich ist das Verhalten nachvollziehbar, da dieser Eintrag ja mit einem "" beginnt. Nichtdestotrotz soll dort natürlich nicht nach "\glsentrylong{GUI}" sortiert werden sondern nach dem Wert dahinter (also nach "Graphical User Interface").
versuch mal
\documentclass{article}
\begin{filecontents*}{indexstyle.mst}
headings_flag 1
heading_prefix "\\textbf\{\\large "
heading_suffix "\}\\nopagebreak"
\end{filecontents*}
\usepackage[utf8]{inputenc}
\usepackage{imakeidx}
\usepackage[acronym=true]{glossaries}

\makeindex[options=-s indexstyle.mst]
\makeglossaries

\newacronym{GUI}{GUI}{Graphical User Interface}

\newcommand*\eindex[1]{%
  \expandafter\index\expandafter{#1}%
}

\begin{document}

Erste Verwendung von \gls{GUI}.
Ein normaler Index\index{Index}.

GUI\eindex{\glsentrylong{GUI}} als Index.

\glossarystyle{indexgroup}
\printglossary[type=\acronymtype]
\printindex

\end{document}
MfG
Rainer
One of the joys of travel is visiting new towns and meeting new people---G.Khan (Robert Asprin, Another Fine Myth)

G-Fire
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Mo 16. Mai 2011, 08:16

Beitrag von G-Fire »

Ach was, da war ich ja sogar schon auf dem richtigen Weg.

Vielen Dank :D

Antworten