Seite 1 von 1

Wert evaluieren bevor er in die Index-Datei geschrieben wird

Verfasst: So 21. Jul 2013, 15:58
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

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

Verfasst: So 21. Jul 2013, 16:37
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

Verfasst: So 21. Jul 2013, 19:00
von G-Fire
Ach was, da war ich ja sogar schon auf dem richtigen Weg.

Vielen Dank :D