diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/tudscr/tudscr-texindy.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/tudscr/tudscr-texindy.dtx | 599 |
1 files changed, 599 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-texindy.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-texindy.dtx new file mode 100644 index 00000000000..07ce4c3ea58 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-texindy.dtx @@ -0,0 +1,599 @@ +% \CheckSum{491} +% \iffalse meta-comment +% +% TUD-Script -- Corporate Design of Technische Universität Dresden +% ---------------------------------------------------------------------------- +% +% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 +% +% ---------------------------------------------------------------------------- +% +% This work may be distributed and/or modified under the conditions of the +% LaTeX Project Public License, version 1.3c of the license. 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 2005/12/01 +% or later and of this work. This work has the LPPL maintenance status +% "author-maintained". The current maintainer and author of this work +% is Falk Hanisch. +% +% ============================================================================ +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz +% in der Version 1.3c, verteilt und/oder verändert werden. Die aktuelle +% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und +% Version 1.3c oder später ist Teil aller Verteilungen von LaTeX 2005/12/01 +% oder später und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status +% "author-maintained", wird somit allein durch den Autor verwaltet. Der +% aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. +% +% ---------------------------------------------------------------------------- +% +% \fi +% +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \iffalse +%%% From File: tudscr-texindy.dtx +%<*driver> +\ifx\ProvidesFile\@undefined\def\ProvidesFile#1[#2]{}\fi +\ProvidesFile{tudscr-texindy.dtx}[% + 2017/01/03 v2.05g TUD-Script (texindy style files)% +] +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman,xindy]{tudscrdoc} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{tudscrfonts} % only load this package, if the fonts are installed +\KOMAoptions{parskip=half-} +\usepackage{bookmark} +\usepackage[babel]{microtype} + +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-texindy.dtx} +\title{\file{\filename}} +\author{Falk Hanisch\qquad\expandafter\mailto\expandafter{\tudscrmail}} +\date{\fileversion\nobreakspace(\filedate)} + +\begin{document} + \maketitle + \tableofcontents + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \section{Stildateien für \texorpdfstring{\app{texindy}}{texindy}} +% +% Für die Dokumentationsklassen und -pakete wird zur Sortierung \app{texindy} +% verwendet. Da das Programm die die Dateien nicht in einem \val{TEXPATH} nach +% den Stildateien sucht, werden diese zur Laufzeit im Arbeitsverzeichnis +% erstellt. Nachfolgend werden die zu erstellenden \app{texindy}-Stildateien +% kurz beschrieben. +% +% \StopEventually{\PrintIndex\PrintChanges\PrintToDos} +% +% \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} +%<*doc> +\catcode`\#=12 +\newcommand*\@hashchar{#} +\catcode`\#=6 +%</doc> +% \end{macrocode} +% \end{macro}^^A \@hashchar +% +% \subsection{Defintion der verwendeten Umgebung} +% +% \begin{macro}{\tud@xdy@create} +% \changes{v2.05}{2016/04/24}{neu}^^A +% \begin{macro}{\tud@write@xdy} +% \changes{v2.05}{2016/04/24}{neu}^^A +% \begin{macro}{\if@tud@xdy@glo} +% \changes{v2.05}{2016/04/25}{neu}^^A +% Dies sind die Hilfsmakros für die Erzeugung der notwendigen Dateien. Mit +% \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} +\begingroup +%<doc>\ifdef{\tudxdyflag}{% +\newcommand*\tud@write@xdy{} +\newwrite\tud@write@xdy +\newif\if@tud@xdy@glo +\newcommand*\tud@xdy@create[2][theindex]{% + \IfFileExists{\@currname-#2.xdy}{}{% + \ifstr{#1}{theglossary}{\@tud@xdy@glotrue}{\@tud@xdy@glofalse}% + \openout\tud@write@xdy=\@currname-#2.xdy\relax% +% \end{macrocode} +% Als erstes wird Standard-\LaTeXe-Modul geladen. +% \begin{macrocode} + \write\tud@write@xdy{(require "texindy.xdy")}% +% \end{macrocode} +% +% \subsection{Befehle zur Gruppierung der Indexeinträge} +% +% \begin{macrocode} +%<*doc> + \write\tud@write@xdy{% + (markup-index^^J% + \space\space:open^^J% + "\string\begin{#1}^^J% + \space\space% + \string\providecommand*\string\lettergroupDefault[1]{\@percentchar^^J% + \@spaces\string\par% + \string\centerline{\string\textbf{\string\textsf{Symbole}}}% + \string\par\@percentchar^^J% + \@spaces\string\nopagebreak\@percentchar^^J% + \space\space}\@percentchar^^J% + \space\space% + \string\providecommand*\string\lettergroup[1]{\@percentchar^^J% + \@spaces\string\par% + \string\centerline{\string\textbf{\string\textsf{\@hashchar1}}}% + \string\par\@percentchar^^J% + \@spaces\string\nopagebreak\@percentchar^^J% + \space\space}\@percentchar^^J% + \space\space\string\makeatletter\@percentchar^^J% + \space\space\string\scan@allowedfalse\@percentchar% + }% +% \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@xdy@glo% + \write\tud@write@xdy{% + \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% + }% + \fi% +% \end{macrocode} +% Der Abschluss der Umgebungsdefinition. +% \begin{macrocode} + \if@tud@xdy@glo% + \write\tud@write@xdy{% + "^^J% + \space\space:close "\string~n\string~n\string\end{#1}\string~n"^^J% + \space\space:hierdepth 4^^J% + )% + }% + \else% + \write\tud@write@xdy{% + "^^J% + \space\space:close "\string~n\string~n\string\end{#1}\string~n"^^J% + \space\space:hierdepth 3^^J% + )% + }% + \fi% +%</doc> +% \end{macrocode} +% +% \subsection{Defintion und Markup der Seitenzahlen} +% +% Leider lässt sich für Seitenzahlbereiche via \val{: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 \write\tud@write@xdy{(require "ff-ranges.xdy")}% +% \end{macrocode} +% Bereiche mit mehr als zwei Seitenzahlen werden zusammengefasst, wobei als +% Trennzeichen ein Halbgeviertstrich verwendet wird. Für \cls{tudscrdoc} werden +% die Seitenzahlen beim Einbinden der einzelnen \file{dtx}-Dateien mit einem +% alphanumerischen Präfix versehen, wofür eine eigene \val{location-class} +% erstellt wird. +% \begin{macrocode} + \write\tud@write@xdy{% + (define-location-class^^J% + \space\space"arabic-page-numbers" ("arabic-numbers")% + \space:min-range-length 2^^J% + )^^J% +%<*doc> + (define-alphabet "AlphaExtended"^^J% + \space(^^J% + \space\space"A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M"^^J% + \space\space"N" "O" "P" "Q" "R" "S" "T" "U" "V" "W" "X" "Y" "Z"^^J% + \space\space"a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m"^^J% + \space\space"n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"^^J% + \space\space"?"^^J% + \space)^^J% + )^^J% + (define-location-class^^J% + \space\space"codeline" ("AlphaExtended" :sep "-" "arabic-numbers")% + \space:min-range-length 2^^J% + )^^J% + (define-location-class-order ("arabic-page-numbers" "codeline"))^^J% +%</doc> + (markup-range :sep "--")% + }% +% \end{macrocode} +% +% \subsection{Ignorieren von bestimmten Anteilen bei der Sortierung} +% +% 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 ein +% oder mehrere vorangestellte \val{@}-Zeichen ignoriert. +% \begin{macrocode} + \write\tud@write@xdy{% + (merge-rule "\@backslashchar[(.*)\@backslashchar]" "" :eregexp)% +%<*doc> + ^^J% + (merge-rule% + \space"\string^(@+)([\string^@~n]*)"% + \space"\string\2\string~e\string\1"% + \space:eregexp :again% + )^^J% + (merge-rule% + \space"(.*)(@@@@)([\string^@~n]*)"% + \space"\string\1@@@\string\3\string~e"% + \space:again :eregexp% + )^^J% + (merge-rule% + \space"(.*)(@@@)([\string^@~n]*)"% + \space"\string\1@@\string\3\string~e"% + \space:again :eregexp% + )^^J% + (merge-rule% + \space"(.*)(@@)([\string^@~n]*)"% + \space"\string\1@\string\3\string~e"% + \space:eregexp :again% + )^^J% + (merge-rule% + \space"(.*?)(@)([\string^@~n]*)"% + \space"\string\1\string~b\string\3"% + \space:eregexp :again% + )% +%</doc> + }% +% \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} +%<*!doc> +%^^A \write\tud@write@xdy{% +%^^A (merge-rule "\\hologo\{(.*)\}" "/1" :eregexp)^^J% +%^^A (merge-rule "\\texttt\{(.*)\}" "/1" :eregexp)^^J% +%^^A (merge-rule "\\textsbn\{(.*)\}" "/1" :eregexp)^^J% +%^^A (merge-rule "\\textsbs\{(.*)\}" "/1" :eregexp)^^J% +%^^A }% +%</!doc> +% \end{macrocode} +% +% \subsection{Markup der einzelnen Einträge} +% +% Für die Änderungsliste im Handbuch werden Untereinträge bis zur vierten Ebene +% unterstützt. +% \begin{macrocode} +%<*!doc&class> + \write\tud@write@xdy{% + (markup-indexentry :open "~n \string\subsubsubitem " :depth 3)% + }% +%</!doc&class> +% \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 +% \val{letter-group} unterdrückt und die erste Ebene dafür verwendet wird. +% \begin{macrocode} +%<*doc> + \if@tud@xdy@glo% + \write\tud@write@xdy{% + (markup-letter-group% + \space:open-head "\string~n\space\space\string\@gobble{"% + \space:close-head "}"% + )^^J% +% \end{macrocode} +% Leider gibt es für die Eintragsebenen keine Schlüssel \val{open-head} und +% \val{close-head}, weshalb für die Änderungsliste etwas getrickst werden muss. +% Zwischen Einträgen der ersten Ebene soll äquivalent zu \val{letter-group} +% etwas Abstand eingefügt werden. +% \begin{macrocode} + (markup-indexentry-list% + \space:sep "\string~n\string~n\space\space\string\indexspace\string~n"% + \space:depth 0% + )^^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\space% + :open "\string~n\space\space\string\@lettergroup\space"\space:depth 0% + )^^J% +% \end{macrocode} +% \dots und vor Beginn der zweiten Ebene mit \cs{relax} terminiert. +% \begin{macrocode} + (markup-indexentry-list :open "\string\relax" :depth 1)^^J% +% \end{macrocode} +% Anschließend werden die zweite sowie die dritte Ebene mit \cs{item} und +% \cs{subitem} ausgezeichnet. +% \begin{macrocode} + (markup-indexentry\@spaces\space\space% + :open "\string~n\space\space\string\item\space" :depth 1% + )^^J% + (markup-indexentry-list :open "\string\efill" :depth 2)^^J% + (markup-indexentry\@spaces\space\space% + :open "\string~n\@spaces\string\subitem\space" :depth 2% + )^^J% +% \end{macrocode} +% Im Implemetierungsteil soll eine einzelne Änderungsnotiz für einen Eintrag +% direkt danach ausgegeben werden. Exisitieren für diesen jedoch mehrere +% Anmerkungen, 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^^J% + \space\space:open\space\space"\string\tud@lst@init"^^J% + \space\space:close "\string~n \@spaces\space\string\tud@lst@process"^^J% + \space\space:depth 3^^J% + )^^J% + (markup-indexentry^^J% + \space\space:open% + \space\space"\string~n\@spaces\space\space\string\tud@lst@add{"^^J% + \space\space:close "}"^^J% + \space\space:depth 3^^J% + )^^J% + (markup-indexentry-list^^J% + \space\space:close "\string~n\@spaces\@spaces\string\tud@lst@@process{"^^J% + \space\space:open\space\space"}\string\tud@lst@@init"^^J% + \space\space:depth 4^^J% + )^^J% + (markup-indexentry^^J% + \space\space:open% + \space\space"\string~n\@spaces\@spaces\string\tud@lst@@add{"^^J% + \space\space:close "}"^^J% + \space\space:depth 4^^J% + )% + }% +% \end{macrocode} +% Für den Index aller Eintragstypen ist nur auf zu leere \cs{hbox} zu achten. +% \begin{macrocode} + \else% + \write\tud@write@xdy{% + (markup-indexentry-list :open "\string\efil" :depth 1)% + }% + \fi% +%</doc> +% \end{macrocode} +% +% \subsection{Markup des Füllbereichs zwischen Eintrag und Seitenzahlen} +% +% 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} + \write\tud@write@xdy{% + (markup-locclass-list% +%<!doc> \space:open "\string\,\string\dotfill\string\,"% +%<doc> \space:open "\string\pfill\space"% + \space:close "\string\relax"% + \space:sep ",\space"% + )% + }% +% \end{macrocode} +% +% \subsection{Attribute für Einträge} +% +% Es werden für Handbuch und Tutorials die Attribute \emph{declare} mit der +% Abkürzung~\emph{!} sowie \emph{important} mit der Abkürzung~\emph{?} und +% \emph{default} definiert, welche hierarchisch gleichgestellt sind. +% +% \iffalse +%<*!doc> +% \fi +% +% \begin{macrocode} + \write\tud@write@xdy{% + (define-attributes (("declare" "!" "important" "?" "default")))^^J% +% \end{macrocode} +% Eine Alternative wäre, diese in der Hierarchie zu unterscheiden, allerdings +% war eine Bildung von zufriedenstellenden Seitenbereichen dabei nicht möglich +% und wurde deshalb verworfen. +% \begin{macrocode} +%^^A (markup-attribute-group-list :sep ", ")^^J% +%^^A (define-attributes (("declare" "!") ("important" "?")("default")))^^J% +% \end{macrocode} +% Einträge, die als wichtig oder als Deklaration festgelegt wurden, könnten +% auch für normale Indexeinträge zur Bereichsbildung verwendet werden. +% Allerdings führt dies auch zur Erzeugung redundanter Einträge, falls es sich +% bei den Sondereinträgen bereits um einen Seitenbereich handelt. +% \begin{macrocode} +%^^A (merge-to "declare" "default")^^J% +%^^A (merge-to "!" "default")^^J% +%^^A (merge-to "important" "default")^^J% +%^^A (merge-to "?" "default")^^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% + \space:attr "declare"\space\space% + \space:open "\string\textbf{\string\hyperpage{"% + \space:close "}}"% + )^^J% + (markup-locref% + \space:attr "!"\@spaces\@spaces% + \space:open "\string\textbf{\string\hyperpage{"% + \space:close "}}"% + )^^J% + (markup-locref% + \space:attr "important"% + \space:open "\string\textsl{\string\hyperpage{"% + \space:close "}}"% + )^^J% + (markup-locref% + \space:attr "?"\@spaces\@spaces% + \space:open "\string\textsl{\string\hyperpage{"% + \space:close "}}"% + )^^J% + (markup-locref% + \space:attr "default"\space\space% + \space:open "\string\hyperpage{"\@spaces\@spaces% + \space:close "}"% + )% + }% +% \end{macrocode} +% +% \iffalse +%</!doc> +%<*doc> +% \fi +% +% Für \cls{tudscrdoc} erfolgen die Auszeichnungen für den Index im Stile von +% \pkg{doc} mit den Attribute \emph{main} und \emph{usage}, wobei hier eine +% Hierarchie verwendet wird. Es werden Einträge mit dem Attribut \emph{usage} +% vor \emph{main} und \emph{default} aufgeführt. +% \begin{macrocode} + \write\tud@write@xdy{% + (markup-attribute-group-list :sep ", ")^^J% + (define-attributes (("usage") ("main") ("default")))^^J% + (markup-locref :attr "usage"% + \space:open "\string\usage{"\space:close "}"% + )^^J% + (markup-locref :attr "main"% + \space\space:open "\string\main{"\space\space:close "}"% + )% + }% +% \end{macrocode} +% +% \iffalse +%</doc> +%<*!doc> +% \fi +% +% \subsection{Querverweise im Index} +% +% Im Handbuch prüfen mit \val{see}\marg{Eintrag} erzeugte Querverweise im +% Index, ob außerdem noch Seitenzahlangaben existent sind. +% \begin{macrocode} + \write\tud@write@xdy{% + (markup-crossref-list :class "see"^^J% + \space\space:open "\string\cleversee{" \@spaces:sep "; " :close "}"^^J% + )^^J% + (markup-crossref-list :class "seealso"^^J% + \space\space:open "\string\cleverseealso{" :sep "; " :close "}"^^J% + )% + }% +% \end{macrocode} +% +% \iffalse +%<*class> +% \fi +% +% Um Querverweise ohne Prüfung des Zieleintrags erzeugen zu können, wird der +% passende Typ \val{seeunverified} definiert. +% \begin{macrocode} + \write\tud@write@xdy{% + (define-crossref-class "seeunverified" :unverified)^^J% + (markup-crossref-list :class "seeunverified"^^J% + \space\space:open "\string\cleversee{" \@spaces:sep "; " :close "}"^^J% + )% + }% +% \end{macrocode} +% Dieser Querverweistyp wird speziell im allgemeinen Index verwendet, um auf +% einen Spezialindex zu verweisen. Dabei dient \val{:unverified} zum +% Unterdrücken von Warnungen durch \app{texindy} aufgrund eines fehlenden +% Ziels für den Querverweis. +% \begin{macrocode} + \write\tud@write@xdy{% + (define-crossref-class "seeidx" :unverified)^^J% + (markup-crossref-list :class "seeidx"^^J% + \space\space:open "\string\seeidx{"\@spaces\@spaces:sep "; "% + \space:close "}{}"^^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} + \write\tud@write@xdy{% + (define-location-class-order^^J% + \space\space(^^J% + \@spaces"see" "seealso" "seeidx" "seeunverified"^^J% + \@spaces"roman-page-numbers" "arabic-page-numbers" "alpha-page-numbers"^^J% + \@spaces"Roman-page-numbers" "Alpha-page-numbers"^^J% + \space\space)^^J% + )% + }% +% \end{macrocode} +% +% \iffalse +%</class> +% \fi +% +% Werden mit \val{see}\marg{Eintrag!Untereintrag} gezielte Querverweise auf +% Untereinträge im Index erstellt, so werden diese nicht standardmäßig mit +% einem Komma sondern mit \enquote{\,\textbar\,} getrennt. +% \begin{macrocode} + \write\tud@write@xdy{% + (markup-crossref-layer-list :class "see"% + \@spaces\space:sep "\string\,\string\textbar\string\,"% + )^^J% + (markup-crossref-layer-list :class "seealso"% + \space:sep "\string\,\string\textbar\string\,"% + )% + }% +% \end{macrocode} +% +% \iffalse +%</!doc> +% \fi +% +% \subsection{Erzeugen der Stildateien} +% +% Damit ist die \app{texindy}-Stildatei fertig und kann mit \cs{tud@xdy@create} +% erstellt werden. +% \begin{macrocode} + \closeout\tud@write@xdy% + }% +} +\tud@xdy@create{ind} +%<doc>\tud@xdy@create[theglossary]{gls} +%<doc>}{} +\endgroup +% \end{macrocode} +% \end{macro}^^A \if@tud@xdy@glo +% \end{macro}^^A \tud@write@xdy +% \end{macro}^^A \tud@xdy@create +% +% \Finale +% +\endinput |