<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">% \iffalse meta-comment
%/GitFileInfo=tudscr-texindy.dtx
%
%  TUD-Script -- Corporate Design of Technische UniversitĂ¤t Dresden
% ----------------------------------------------------------------------------
%
%  Copyright (C) Falk Hanisch &lt;hanisch.latex@outlook.com&gt;, 2012-2022
%
% ----------------------------------------------------------------------------
%
%  This work may be distributed and/or modified under the conditions of the
%  LaTeX Project Public License, either version 1.3c of this license or
%  any later version. The latest version of this license is in
%    http://www.latex-project.org/lppl.txt
%  and version 1.3c or later is part of all distributions of
%  LaTeX version 2008-05-04 or later.
%
%  This work has the LPPL maintenance status "maintained".
%
%  The current maintainer and author of this work is Falk Hanisch.
%
% ----------------------------------------------------------------------------
%
% \fi
%
% \iffalse ins:batch + dtx:driver
%&lt;*ins&gt;
\ifx\documentclass\undefined
  \input docstrip.tex
  \ifToplevel{\batchinput{tudscr.ins}}
\else
  \let\endbatchfile\relax
\fi
\endbatchfile
%&lt;/ins&gt;
%&lt;*dtx&gt;
\ProvidesFile{tudscr-texindy.dtx}[2022/08/09]
\RequirePackage{tudscr-gitinfo}
\documentclass[english,ngerman,xindy]{tudscrdoc}
\iftutex
  \usepackage{fontspec}
\else
  \usepackage[T1]{fontenc}
  \usepackage[ngerman=ngerman-x-latest]{hyphsubst}
\fi
\usepackage{babel}
\usepackage{tudscrfonts}
\usepackage[babel]{microtype}

\GitHubBase{\TUDScriptRepository}
\begin{document}
  \author{Falk Hanisch\TUDScriptContactTitle}
  \maketitle
  \tableofcontents
  \DocInput{\filename}
\end{document}
%&lt;/dtx&gt;
% \fi
%
% \selectlanguage{ngerman}
%
%
%
% \section{Stildateien fĂĽr \app{texindy}}
%
% FĂĽr die Dokumentationsklassen und -pakete wird zur Sortierung \app{texindy} 
% verwendet. Da das Programm die die Dateien nicht in einem |TEXPATH| nach den
% Stildateien sucht, werden diese zur Laufzeit im Arbeitsverzeichnis erstellt.
% Nachfolgend werden die erstellten \app{texindy}-Stildateien beschrieben.
%
% \begin{macro}{\@hashchar}
% \changes{v2.05}{2016/04/25}{neu}^^A
% Das Hash-Zeichen wird bei \cls{tudscrdoc} fĂĽr die Befehlsdeklarationen in der 
% Stildatei benĂ¶tigt. Damit dieses beim Erzeugen der Datei nicht als solches
% interpretiert wird, ist dafĂĽr ein separates Makro notwendig.
%    \begin{macrocode}
\edef\tud@res@a{\catcode`\noexpand\#=\the\catcode`\#\relax}%
\@makeother\#
\newcommand*\@hashchar{#}
\tud@res@a
%    \end{macrocode}
% \end{macro}^^A \@hashchar
% \begin{macro}{\tud@xdy@create}
% \changes{v2.05}{2016/04/24}{neu}^^A
% \begin{macro}{\tud@xdy@@create}
% \begin{macro}{\tud@xdy@write}
% \changes{v2.05}{2016/04/24}{neu}^^A
% Dies sind die Hilfsmakros fĂĽr die Erzeugung der nĂ¶tigen Dateien. Mit dem
% \cs{tud@xdy@create} wird angegeben, ob die Stildatei fĂĽr einen Index oder ein 
% Glossar erzeugt wird, was prinzipiell nur fĂĽr die Klasse \cls{tudscrdoc} 
% notwendig ist.
%    \begin{macrocode}
%&lt;doc&gt;\ifdefined\tudxdyflag
%&lt;!doc&gt;\tud@newwrite\tud@xdy@write
\NewDocumentCommand\tud@xdy@create{s}{%
  \begingroup%
    \edef\tud@res@a{\@currname-\IfBooleanTF{#1}{gls}{ind}.xdy}%
    \expandafter\IfFileExists\expandafter{\tud@res@a}{}{%
      \IfBooleanTF{#1}{\@tud@res@swatrue}{\@tud@res@swafalse}%
      \edef\tud@res@b{the\if@tud@res@swa glossary\else index\fi}%
      \edef\tud@res@a{\noexpand\tud@xdy@@create{\tud@res@b}{\tud@res@a}}%
      \tud@res@a%
    }%
  \endgroup%
}
\newcommand*\tud@xdy@@create[2]{%
  \immediate\openout\tud@xdy@write=#2\relax%
%    \end{macrocode}
% Als erstes wird das \LaTeX-Standardmodul geladen.
%    \begin{macrocode}
  \immediate\write\tud@xdy@write{(require "texindy.xdy")}%
%    \end{macrocode}
%
% FĂĽr die Klasse \cls{tudscrdoc} werden in den Stildateien die verwendeten 
% Umgebung definiert, welche fĂĽr die prozessierten Indexdateien zu nutzen sind.
%    \begin{macrocode}
  \immediate\write\tud@xdy@write{%
    (markup-index^^J%
    \@spaces:open^^J%
    "\string\begin{#1}^^J%
%&lt;*doc&gt;
    \space\space\string\makeatletter\@percentchar^^J%
    \space\space\string\providecommand*\string\lettergroupDefault[1]%
        {\string\lettergroup{\string\tud@symbols@name}}\@percentchar^^J%
    \space\space\string\providecommand*\string\lettergroup[1]{\@percentchar^^J%
    \@spaces\string\belowpdfbookmark%
        {\@hashchar1}{#1/\@hashchar1}\@percentchar^^J%
    \@spaces\string\par\string\centerline%
        {\string\normalsize\string\textbf{\string\textsf{\@hashchar1}}}%
        \@percentchar^^J%
    \@spaces\string\par\string\smallskip\string\nopagebreak\@percentchar^^J%
    \space\space}\@percentchar^^J%
    \space\space\string\scan@allowedfalse\@percentchar^^J%
%    \end{macrocode}
% FĂĽr die Ă„nderungsliste erfolgt die Gruppierung anhand der Versionsnummer. Da 
% diese auf der ersten Ebene angegeben ist (\cs{item}) muss das Ganze mit einem 
% terminierten Befehl erfolgen. HierfĂĽr wird \cs{@lettergroup} definiert. 
% AuĂźerdem werden mit \cs{tud@lst@def} die benĂ¶tigten Befehle zur selektiven 
% Anzeige der Ă„nderungseintrĂ¤ge erstellt.
%    \begin{macrocode}
\if@tud@res@swa
    \space\space\string\newcommand*\string\@lettergroup{}\@percentchar^^J%
    \space\space\string\def\string\@lettergroup\@hashchar1\string\relax%
        {\string\lettergroup{\@hashchar1}}\@percentchar^^J%
    \space\space\string\tud@lst@def\@percentchar^^J%
\fi
%&lt;/doc&gt;
    \space\space\string\providecommand*\string\seesep{/}\@percentchar^^J%
%    \end{macrocode}
% Der Abschluss der Umgebungsdefinition.
%    \begin{macrocode}
    "^^J% Ende des Umgebungsbeginns
    \@spaces:close "\string~n\string~n\string\end{#1}\string~n"^^J%
    \@spaces:hierdepth 3^^J%
    )^^J%
%    \end{macrocode}
% FĂĽr die Sortierung des Indexes sollen einzelne Zeichen beachtet werden.
% HierfĂĽr wird |xy-ignore-special| durch |xy-resolve-special| ersetzt.
%    \begin{macrocode}
%&lt;*doc&gt;
    (define-sort-rule-orientations (forward backward forward forward))^^J%
    (use-rule-set :run 0^^J%
    \@spaces:rule-set ("xy-alphabetize" "xy-resolve-special")^^J%
    )^^J%
    (use-rule-set :run 1^^J%
    \@spaces:rule-set ("xy-resolve-diacritics" "xy-resolve-special")^^J%
    )^^J%
    (use-rule-set :run 2^^J%
    \@spaces:rule-set ("xy-resolve-case" "xy-resolve-special")^^J%
    )^^J%
%    \end{macrocode}
% Die Seitenzahlenbereiche fĂĽr die Quelltextdokumentation bestehen aus drei 
% Teilen, um das Verlinken auf Codezeilen zu ermĂ¶glichen~--
% \meta{Target}|:|\meta{DateischlĂĽssel}|-|\meta{Codezeile}|:|\meta{Seitenzahl}
%    \begin{macrocode}
    (define-alphabet "AlphaExtended"^^J%
    \@spaces(^^J%
    \@spaces\@spaces"A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M"^^J%
    \@spaces\@spaces"N" "O" "P" "Q" "R" "S" "T" "U" "V" "W" "X" "Y" "Z"^^J%
    \@spaces\@spaces"a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m"^^J%
    \@spaces\@spaces"n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"^^J%
    \@spaces\@spaces"?"^^J%
    \@spaces)^^J%
    )^^J%
    (define-location-class "hypdoc"^^J%
    \@spaces(^^J%
    \@spaces\@spaces"arabic-numbers" :sep ":"^^J%
    \@spaces\@spaces"AlphaExtended" \space:sep "-" "arabic-numbers" :sep ":"^^J%
    \@spaces\@spaces"arabic-numbers"^^J%
    \@spaces)^^J%
    \@spaces:min-range-length 2^^J%
    )^^J%
%&lt;/doc&gt;
%    \end{macrocode}
% Leider lĂ¤sst sich fĂĽr Seitenzahlbereiche via |:attr| (noch) kein Markup fĂĽr 
% angehĂ¤ngte \enquote*{f.} sowie \enquote*{ff.} einstellen. Diese wĂĽrden deshalb
% bei kursiven oder fetten Seitenzahlen trotzdem in normaler Schrift erscheinen,
% weshalb auf die Auszeichnung folgender Seiten verzichtet wird.
%    \begin{macrocode}
%^^A  (require "ff-ranges.xdy")^^J%
%    \end{macrocode}
% Bereiche mit mehr als zwei Seitenzahlen werden zusammengefasst, wobei als
% Trennzeichen ein Halbgeviertstrich verwendet wird.
%    \begin{macrocode}
    (define-location-class "arabic-page-numbers"^^J%
    \@spaces("arabic-numbers")^^J%
    \@spaces:min-range-length 2^^J%
    )^^J%
%&lt;*doc&gt;
    (define-location-class-order ("hypdoc" "arabic-page-numbers"))^^J%
%&lt;/doc&gt;
    (markup-range :sep "--")^^J%
%    \end{macrocode}
% Alle Argumente in eckigen Klammern werden ignoriert. Dies wird bei einigen
% Indexbefehlen genutzt, um die nicht beachteten RegExp-Regeln auszugleichen, 
% siehe den nĂ¤chsten Absatz. In der Klasse \cls{tudscrdoc} werden auĂźerdem im 
% Befehlsnamen enthaltene |@|"~Zeichen fĂĽr die Sortierung gesondert behandelt.
%    \begin{macrocode}
%&lt;*doc&gt;
    (merge-rule :again^^J%
    \@spaces"(.*)@(.*)"^^J%
    \@spaces"\string\1\string\2\space\string~e"^^J%
    )^^J%
%&lt;/doc&gt;
    (merge-rule :eregexp^^J%
    \@spaces"\string\[(.*)\string\]"^^J%
    \@spaces""^^J%
    )^^J%
%    \end{macrocode}
% Innerhalb ausgewĂ¤hlter Auszeichnungs- und Textbefehle sollten die Befehle
% selbst, nicht jedoch die Argumente verworfen werden. Leider lĂ¤sst sich dies 
% momentan nicht umsetzen, da die manuell erstellten RegExp-Regeln durch 
% \hrfn{http://sourceforge.net/p/xindy/bugs/22/}{\app{texindy} nicht korrekt} 
% genutzt werden.
%    \begin{macrocode}
%&lt;*!doc&gt;
%^^A    (merge-rule "\\hologo\{(.*)\}" "/1" :eregexp)^^J%
%^^A    (merge-rule "\\texttt\{(.*)\}" "/1" :eregexp)^^J%
%^^A    (merge-rule "\\textsbn\{(.*)\}" "/1" :eregexp)^^J%
%^^A    (merge-rule "\\textsbi\{(.*)\}" "/1" :eregexp)^^J%
%&lt;/!doc&gt;
%    \end{macrocode}
% FĂĽr die Ă„nderungsliste im Handbuch werden UntereintrĂ¤ge bis zur vierten Ebene
% unterstĂĽtzt.
%    \begin{macrocode}
%&lt;*!doc&gt;
    (markup-indexentry :depth 3^^J%
    \@spaces:open\space\space"\string~n\string\subsubsubitem\space"^^J%
    )^^J%
%&lt;/!doc&gt;
%    \end{macrocode}
% FĂĽr die Ă„nderungsliste von \cls{tudscrdoc} erfolgt die Gruppierung anhand der
% angegebenen Versionsnummer. Das bedeutet, das das Markup fĂĽr die eigentliche 
% |letter-group| unterdrĂĽckt und die erste Ebene dafĂĽr verwendet wird. 
%    \begin{macrocode}
%&lt;*doc&gt;
\if@tud@res@swa
    (markup-letter-group^^J%
    \@spaces:open-head\space\space"\string~n\space\space\string\@gobble{"^^J%
    \@spaces:close-head "}"^^J%
    )^^J%
%    \end{macrocode}
% Leider gibt es fĂĽr die Eintragsebenen keine SchlĂĽssel |open-head| und
% |close-head|, weshalb fĂĽr die Ă„nderungsliste etwas getrickst werden muss. 
% Zwischen EintrĂ¤gen der ersten Ebene soll Ă¤quivalent zu |letter-group| etwas
% Abstand eingefĂĽgt werden.
%    \begin{macrocode}
    (markup-indexentry-list :depth 0^^J%
    \@spaces:sep\space\space\space%
        "\string~n\string~n\space\space\string\indexspace\string~n"^^J%
    )^^J%
%    \end{macrocode}
% Da jeder Eintrag in der Ă„nderungsliste aus mindestens drei Ebenen besteht, 
% wird vor der ersten Ebene der Beginn des Markupbefehls gesetzt\dots
%    \begin{macrocode}
    (markup-indexentry \@spaces\space:depth 0^^J%
    \@spaces:open\space\space%
        "\string~n\space\space\string\@lettergroup\space"^^J%
    )^^J%
%    \end{macrocode}
% \dots und vor Beginn der zweiten Ebene mit \cs{relax} terminiert. Diese 
% wird mit \cs{item} ausgezeichnet.
%    \begin{macrocode}
    (markup-indexentry-list :depth 1^^J%
    \@spaces:open\space\space"\string\relax"^^J%
    )^^J%
    (markup-indexentry \@spaces\space:depth 1^^J%
    \@spaces:open\space\space"\string~n\space\space\string\item\space"^^J%
    )^^J%
%    \end{macrocode}
% Eine einzelne, nachfolgende Ă„nderungsnotiz fĂĽr den aktuellen Eintrag soll 
% direkt ausgegeben werden. Sind jedoch mehrere nachgelagerte Anmerkungen 
% vorhanden, so sollen diese in der nĂ¤chsten Ebene ausgegeben werden. Da die
% Anzahl aller Anmerkungen zu einem einzelnen Eintrag zu Beginn noch unbekannt
% ist, werden alle dazugehĂ¶rigen Ă„nderungsnotizen zunĂ¤chst mit \cs{tud@lst@add}
% in der~-- zuvor mit dem Makro \cs{tud@lst@init} initialisierten~-- Liste
% \cs{tud@lst@values} gesammelt und diese am Ende des jeweiligen Eintrags durch
% \cs{tud@lst@process} ausgewertet. Sollte eine weitere Unterebene exisitieren, 
% werden entsprechend die Makros \cs{tud@lst@@init}, \cs{tud@lst@@values} und
% \cs{tud@lst@@add} sowie \cs{tud@lst@@process} verwendet.
%    \begin{macrocode}
    (markup-indexentry-list :depth 2^^J%
    \@spaces:open\space\space"\string\tud@lst@init"^^J%
    \@spaces:close "\string~n \@spaces\space\string\tud@lst@process"^^J%
    )^^J%
    (markup-indexentry \@spaces\space:depth 2^^J%
    \@spaces:open%
        \space\space"\string~n\@spaces\space\space\string\tud@lst@add{"^^J%
    \@spaces:close "}"^^J%
    )^^J%
    (markup-indexentry-list :depth 3^^J%
    \@spaces:close "\string~n\@spaces\@spaces\string\tud@lst@@process{"^^J%
    \@spaces:open\space\space"}\string\tud@lst@@init"^^J%
    )^^J%
    (markup-indexentry \@spaces\space:depth 3^^J%
    \@spaces:open%
        \space\space"\string~n\@spaces\@spaces\string\tud@lst@@add{"^^J%
    \@spaces:close "}"^^J%
    )^^J%
%    \end{macrocode}
% FĂĽr den Index aller Eintragstypen ist nur auf zu leere \cs{hbox} zu achten.
%    \begin{macrocode}
\else
    (markup-indexentry-list :open "\string\efil" :depth 1)^^J%
\fi
%&lt;/doc&gt;
%    \end{macrocode}
% Punkte zwischen Eintrag und Seitenzahl. Das schlieĂźende \cs{relax} wird fĂĽr 
% die smarte Definition des Befehls \cs{cleversee} benĂ¶tigt, welcher nach den 
% beiden obligatorischen Argument die nachfolgenden Seitenzahlen sucht und 
% dabei durch \cs{relax} begrenzt wird. FĂĽr die Klasse \cls{tudscrdoc} wird in
% der Ă„nderungsliste der Hyperlink fĂĽr die Seitenzahl respektive die Codezeile 
% direkt erzeugt.
%    \begin{macrocode}
    (markup-locclass-list^^J%
%&lt;!doc&gt;    \@spaces:open\space\space"\string\,\string\dotfill\string\,"^^J%
%&lt;doc&gt;    \@spaces:open\space\space"\string\pfill\space"^^J%
    \@spaces:close "\string\relax"^^J%
    \@spaces:sep\space\space\space",\space"^^J%
    )^^J%
%    \end{macrocode}
% Es werden fĂĽr Handbuch und Tutorials die Attribute \emph{!} fĂĽr deklarierende 
% sowie \emph{?} fĂĽr wichtige EintrĂ¤ge zusĂ¤tzlich zu \emph{default} definiert.
%
% EintrĂ¤ge werden hierarchisch unterschieden. StandardeintrĂ¤ge \val{default}
% werden ggf. von deklarierenden oder wichtigen EintrĂ¤gen ĂĽberschrieben bzw. 
% nicht separat gelistet.
%    \begin{macrocode}
%&lt;*!doc&gt;
    (define-attributes (("!" "default") ("?" "default") ("default")))^^J%
    (markup-attribute-group-list :sep ", ")^^J%
%    \end{macrocode}
% Hier erfolgt die Definition der Auszeichnugen der Attribute. Deklarationen 
% werden fett gedruckt, wichtige EintrĂ¤ge erscheinen kursiv. AuĂźerdem wird ein
% entsprechnder Link auf die Seite eingefĂĽgt.
%    \begin{macrocode}
    (markup-locref :attr "!"^^J%
    \@spaces:open\space\space"\string\textbf{\string\hyperpage{"^^J%
    \@spaces:close "}}"^^J%
    )^^J%
    (markup-locref :attr "?"^^J%
    \@spaces:open\space\space"\string\textit{\string\hyperpage{"^^J%
    \@spaces:close "}}"^^J%
    )^^J%
    (markup-locref :attr "default"^^J%
    \@spaces:open\space\space"\string\hyperpage{"^^J%
    \@spaces:close "}" ^^J%
    )^^J%
%&lt;/!doc&gt;
%    \end{macrocode}
% FĂĽr \cls{tudscrdoc} erfolgen die Auszeichnungen fĂĽr den Index im Stile von
% \pkg{doc} vorallem mit den Attributen \emph{usage} fĂĽr ErlĂ¤uterung sowie
% \emph{main} fĂĽr Codedefinitionen und \emph{code} fĂĽr Verweise auf die 
% Verwendung im Quellcode. ZusĂ¤tzlich wird \emph{change} definiert, um auch
% Ă„nderungseintrĂ¤ge separat zu erfassen. Diese Attribute dienen \app{texindy}
% lediglich fĂĽr die Kategorisierung der EintrĂ¤ge, die Formatierung dieser fĂĽr
% die Ausgabe erfolgt mit \cs{tud@xdy@mapping}\marg{Attribut}\marg{Referenz}.
%    \begin{macrocode}
%&lt;*doc&gt;
    (markup-attribute-group-list :sep ", ")^^J%
    (define-attributes (("usage") ("main") ("code") ("change") ("default")))^^J%
    (markup-locref :attr "change"^^J%
    \@spaces:open"\string\tud@xdy@mapping{change}{"^^J
    \@spaces:close "}"^^J%
    )^^J%
    (markup-locref :attr "code"^^J%
    \@spaces:open "\string\tud@xdy@mapping{code}{"^^J%
    \@spaces:close "}"^^J%
    )^^J%
    (markup-locref :attr "usage"^^J%
    \@spaces:open "\string\tud@xdy@mapping{usage}{"^^J%
    \@spaces:close "}"^^J%
    )^^J%
    (markup-locref :attr "main"^^J%
    \@spaces:open "\string\tud@xdy@mapping{main}{"^^J%
    \@spaces:close "}"^^J%
    )^^J%
%&lt;/doc&gt;
%    \end{macrocode}
% Im Handbuch prĂĽfen, mit \verb+|see+\marg{Eintrag} erzeugte Querverweise im 
% Index, ob auĂźerdem noch Seitenzahlangaben existent sind.
%    \begin{macrocode}
%&lt;*!doc&gt;
    (markup-crossref-list :class "see"^^J%
    \@spaces:open\space\space"\string\cleversee\space"^^J%
    \@spaces:sep\space\space\space"; "^^J%
    \@spaces:close "\@backslashchar\@backslashchar"^^J%
    )^^J%
    (markup-crossref-list :class "seealso"^^J%
    \@spaces:open\space\space"\string\cleverseealso\space"^^J%
    \@spaces:sep\space\space\space"; "^^J%
    \@spaces:close "\@backslashchar\@backslashchar"^^J%
    )^^J%
%    \end{macrocode}
% Um Querverweise ohne PrĂĽfung des Zieleintrags erzeugen zu kĂ¶nnen, wird der 
% passende Typ |seeunverified| definiert.
%    \begin{macrocode}
%&lt;*class&gt;
    (define-crossref-class "seeunverified" :unverified)^^J%
    (markup-crossref-list :class "seeunverified"^^J%
    \@spaces:open\space\space"\string\cleversee\space"^^J%
    \@spaces:sep\space\space\space"; "^^J%
    \@spaces:close "\@backslashchar\@backslashchar"^^J%
    )^^J%
%    \end{macrocode}
% Dieser Querverweistyp wird speziell im allgemeinen Index verwendet, um auf 
% einen Spezialindex zu verweisen. Dabei dient |:unverified| zum UnterdrĂĽcken
% von Warnungen durch \app{texindy} aufgrund eines fehlenden Ziels fĂĽr den
% Querverweis.
%    \begin{macrocode}
    (define-crossref-class "seeidx" :unverified)^^J%
    (markup-crossref-list :class "seeidx"^^J%
    \@spaces:open\space\space"\string\seeidx{"^^J%
    \@spaces:sep\space\space\space"; "^^J%
    \@spaces:close "}{}"^^J%
    )^^J%
%&lt;/class&gt;
%    \end{macrocode}
% Werden mit \verb+|see+\marg{Eintrag!Untereintrag} gezielte Querverweise auf
% UntereintrĂ¤ge im Index erstellt, so werden diese nicht standardmĂ¤Ăźig mit 
% einem Komma sondern mit dem anpassbaren Makro \cs{seesep} getrennt.
%    \begin{macrocode}
    (markup-crossref-layer-list :class "see"%
    \@spaces\space:sep "\string\seesep{}"%
    )^^J%
    (markup-crossref-layer-list :class "seealso"%
    \space:sep "\string\seesep{}"%
    )^^J%
%    \end{macrocode}
% Damit die Makros \cs{cleversee} und \cs{cleverseealso} sowie \cs{seeidx} auf
% nachfolgende Seitenzahlen suchen kĂ¶nnen, mĂĽssen diese vor selbigen im Index
% aufgerufen werden.
%    \begin{macrocode}
    (define-location-class-order^^J%
    \@spaces(^^J%
%&lt;class&gt;    \@spaces"see" "seealso" "seeidx" "seeunverified"^^J%
%&lt;!class&gt;    \@spaces"see" "seealso"^^J%
    \@spaces"roman-page-numbers" "arabic-page-numbers" "alpha-page-numbers"^^J%
    \@spaces"Roman-page-numbers" "Alpha-page-numbers"^^J%
    \@spaces)^^J%
    )^^J%
%&lt;/!doc&gt;
%    \end{macrocode}
% Damit ist die \app{texindy}-Stildatei fertig und kann mit \cs{tud@xdy@create} 
% erstellt werden.
%    \begin{macrocode}
  }%
  \immediate\closeout\tud@xdy@write%
}
\tud@xdy@create
%&lt;doc&gt;\tud@xdy@create*
%&lt;doc&gt;\fi
%    \end{macrocode}
% \end{macro}^^A \tud@xdy@write
% \end{macro}^^A \tud@xdy@@create
% \end{macro}^^A \tud@xdy@create
%
% \PrintBackMatter
%
\endinput
</pre></body></html>