summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/thesis/makendx.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/thesis/makendx.dtx')
-rw-r--r--macros/latex/contrib/thesis/makendx.dtx307
1 files changed, 307 insertions, 0 deletions
diff --git a/macros/latex/contrib/thesis/makendx.dtx b/macros/latex/contrib/thesis/makendx.dtx
new file mode 100644
index 0000000000..560baf7081
--- /dev/null
+++ b/macros/latex/contrib/thesis/makendx.dtx
@@ -0,0 +1,307 @@
+%\iffalse
+%<+package|driver>\def\filename{makendx}
+%<+package|driver>\def\fileversion{1.0}
+%<+package|driver>\def\filedate{1996/05/16}
+%<+package|driver>\def\docdate{1995/05/16}
+%\fi
+% \CheckSum{165}
+%
+% \iffalse This is a META-COMMENT
+%
+% Copyright (C) 1996 by Wenzel Matiaske, mati1831@perform.ww.tu-berlin.de
+%
+% This file is to be used with the LaTeX2e system.
+% ------------------------------------------------
+%
+% This macro is free software; you can redistribute it and/or modify it
+% under the terms of the GNU General Public License as published by the
+% Free Software Foundation; either version 1, or (at your option) any
+% later version.
+%
+% The macros and the documentation are distributed in the hope that they
+% will be useful, but WITHOUT ANY WARRANTY; without even the implied
+% warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
+% the GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program; if not, write to the Free Software
+% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+%
+% There are undoubtably bugs in the macros or the documentation. Should
+% you make improvements, bug fixes, etc., however, I ask you to send
+% improvements back to me for incorporation into the macro for the
+% rest of us.
+%
+% Updates are available via anonymous ftp to host `perform.ww.tu-berlin.de'.
+%
+% ___
+% wenzel matiaske | / /_/-Berlin
+% | mail: Technical University Berlin
+% | Dept. of Economics, WW6
+% | Uhlandstr. 4-5, D-10623 Berlin
+% | phone: +49 30 314-22574
+% | email: mati1831@perform.ww.tu-berlin.de
+%
+% \fi
+%
+% \MakeShortVerb{\|}
+%
+% \ifsolodoc
+% \title{Namensverzeichnis}
+% \author{Wenzel Matiaske\thanks{%
+% TU-Berlin, FB 14, WW 6, Uhlandstr. 4--5, 10623~Berlin,
+% Tel.~030-314\,225\,74, email: mati1831@perform.ww.tu-berlin.de.}}
+% \date{\docdate}
+% \maketitle
+% \selectlanguage{\english}
+% \def\localin{\par}
+% \begin{small}
+% \begin{center}{\bf Abstract}\end{center}
+% \MakePercentComment \input{localndx} \MakePercentIgnore
+% \end{small}
+% \selectlanguage{\german}
+% \section{Namensverzeichnisse}
+% \else
+% \section{Namensverzeichnisse}
+% \fi
+%
+% Das Paket \texttt{makendx} erleichtert die Erstellung eines
+% Namensverzeichnisses. Die Verwendung des Paketes verlangt die
+% Aufnahme folgender Befehle:
+%
+% \begin{itemize}
+% \item \DescribeMacro{\makenameindex} Der Befehl
+% |\makenameindex| ist in die Preamble des Dokumentes aufzunehmen.
+% \item \DescribeMacro{\printnameindex} Der Befehl
+% |\printnameindex| ist an der Stelle zu spezifizieren, an der das
+% Namensverzeichnis erscheinen soll. Vor diesem Befehl sollte man
+% die Bezeichnung des Namensverzeichnisses durch die Definition
+% |\renewcommand{\indexname}{|\emph{name}|}| festlegen.
+% \end{itemize}
+%
+% Ferner werden zwei Befehle zur Verf\"ugung gestellt, die die
+% Eintr\"age in das Verzeichnis
+% \"ubernehmen. \DescribeMacro{\nameindex} Der Befehl
+% |\nameindex{|\emph{name}|}| dient in Analogie zum |\index|-Befehl
+% der Spezifikation eines Eintrages in das Namensverzeichnis.
+% \DescribeMacro{\name} In der Regel soll der Name auch im
+% laufenden Text erscheinen. In diesen F\"allen ist der Befehl
+% |\name{|\emph{name}|}| n\"utzlich. Der spezifizierte Namenseintrag
+% erscheint im Text und im Namensverzeichnis. Wird ein vom Text
+% abweichender Namenseintrag gew\"unscht, kann dieser optional
+% spezifiziert werden, beispielsweise:
+% |\name[Knuth, Donald E.]{Knuth}|.
+% Im laufenden Text erscheint der Name \emph{Knuth},
+% im Namensverzeichnis der Eintrag "`Knuth, Donald E."'.
+% Soll der Verzeichniseintrag unterbleiben, ist die Sternform des
+% Kommandos zu w\"ahlen; |\name*{|\emph{name}|}| erzeugt nur den
+% Namen im laufenden Text.
+%
+% \DescribeMacro{\namefont} Die Schriftart, in welcher der Name im
+% laufenden Text gesetzt wird, kann mittels des Kommandos
+% |\namefont{|\emph{schriftart}|}|
+% ver\"andert werden, beispielsweise:
+% |\namefont{\bfseries}|. Voreingestellt ist die Hervorhebung von
+% Namen durch kursiven Satz.
+%
+% In Anschlu\ss{} an die Formatierung des Dokumentes durch \LaTeX{}
+% erfolgt die Bearbeitung durch \emph{MakeIndex}. Das Programm
+% ist folgenderma\ss{}en aufzurufen:
+%
+% \begin{verbatim}
+% makeindex -s nameind.ist -o myfile.nin myfile.ndx
+% \end{verbatim}
+%
+% Bei einer weiteren Formatierung durch \LaTeX{} wird das
+% Namensverzeichnis eingelesen.
+%
+%
+% \StopEventually{}
+%
+% \ifsolodoc \section{Implementation} \else
+% \subsection{Implementation} \fi
+%
+% \begin{macrocode}
+%<*package>
+% \end{macrocode}
+%
+% Das Makro beginnt mit der Terminalausgabe.
+%
+% \begin{macrocode}
+\ProvidesPackage{makendx}
+ [\filedate\space\fileversion\space%
+ LaTeX2e package (wm)]
+% \end{macrocode}
+%
+% Erweiterung des |\nofiles|-Kommandos.
+% \begin{macrocode}
+\def\nofiles{\@fileswfalse
+ \typeout{No auxiliary output files.^^J}%
+ \long\def\protected@write##1##2##3{}%
+ \let\makeindex\relax
+ \let\makeglossary\relax
+ \let\makenameindex\relax}
+% \end{macrocode}
+%
+% \begin{macro}{\makenameindex}
+% Defintion einer Ausgabedatei.
+%
+% \begin{macrocode}
+ \def\makenameindex{%
+ \newwrite\@nameindexfile
+ \immediate\openout\@nameindexfile=\jobname.ndx
+ \def\nameindex{\@bsphack\begingroup
+ \@sanitize
+ \@wrnameindex}\typeout
+ {Writing nameindex file \jobname.ndx }%
+ }
+ \def\@wrnameindex#1{%
+ \protected@write\@nameindexfile{}%
+ {\string\nameindexentry{#1}{\thepage}}%
+ \endgroup
+ \@esphack
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\nameindex}
+% In Analogie zum |\index|-Kommando wird der Befehlt |\nameindex|
+% definiert.
+%
+% \begin{macrocode}
+\def\nameindex{\@bsphack\begingroup\@sanitize\@index}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\namefont}
+% Befehl zur Einstellung der Schriftart, in der die Namen im
+% laufenden Text erscheinen.
+%
+% \begin{macrocode}
+\providecommand{\namefont}[1]{\def\name@font{#1}}
+\def\name@font{} \namefont{\slshape}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\name}
+% Der Befehl setzt den \"ubergebenen Namen im laufenden Text und
+% erzeugt einen Indexeintrag. Die Sternform unterdr\"uckt den Eintrag
+% ins Namensverzeichnis.
+%
+% \begin{macrocode}
+\def\name{\@ifstar{\@sname[]}{\@ifnextchar [
+ {\@tempswatrue\@name}{\@tempswafalse\@name[]}}}
+\def\@name[#1]#2{{\name@font #2}%
+ \if@tempswa%
+ \nameindex{#1}%
+ \else%
+ \namenindex{#2}%
+ \fi}
+\def\@sname[#1]#2{\emph{#2}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\printnameindex}
+% Das Kommando liest die mittels |makeindex| erzeugte Datei ein.
+%
+% \begin{macrocode}
+%\newcommand{\printglossary}{\@input@{\jobname.gls}}
+%\let\theglossary\theindex
+\newcommand{\printnameindex}{\@input@{\jobname.nin}}
+\let\thenameindex\theindex
+% \end{macrocode}
+% \end{macro}
+%
+% Erweiterung des Inhaltsverzeichnisses.
+% \begin{macrocode}
+\long\def\addtocontents#1#2{%
+ \protected@write\@auxout
+ {\let\label\@gobble \let\index\@gobble%
+ \let\glossary\@gobble \let\makenameindex\@gobble}%
+ {\string\@writefile{#1}{#2}}%
+}
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*ist>
+% \end{macrocode}
+% \begin{macrocode}
+%% MakeIndex style file makendx.ist
+%% 1995/10/29 Wenzel Matiaske
+%%
+%% keyword for nameindex entry
+keyword "\\nameindexentry"
+%% Begin nameindex entries
+preamble "\n \\begin{thenameindex}\n"
+%% End nameindex entries
+postamble "\n \\end{thenameindex}\n"
+% \end{macrocode}
+% \begin{macrocode}
+%</ist>
+% \end{macrocode}
+% \section{Treiber-Datei}
+%
+% Der letzte Abschnitt enth\"alt die Treiberdatei zur Erstellung der
+% Dokumentation.
+% \begin{macrocode}
+%<*driver>
+\typeout{*********************************************}
+\typeout{* Documentation for LaTeX package `makendx' *}
+\typeout{*********************************************}
+
+\documentclass[11pt]{ltxdoc}
+\usepackage{german}
+
+\makeatletter
+\newif\ifsolodoc
+ \@ifundefined{solo}{\solodoctrue}{\solodocfalse}
+\IndexPrologue{\section*{Index}%
+ \markboth{Index}{Index}%
+ Die kursiv gesetzten Seitenzahlen
+ verweisen auf Beschreibungen der Makros,
+ unterstrichene Programmzeilennummern
+ auf deren Definitionen.}
+\GlossaryPrologue{\section*{Neuerungen}%
+ \markboth{Neuerungen}{Neuerungen}}
+\def\saved@macroname{Neuerung}
+\renewenvironment{theglossary}{%
+ \glossary@prologue%
+ \GlossaryParms \let\item\@idxitem \ignorespaces}%
+ {}
+\makeatother
+\setcounter{StandardModuleDepth}{1}
+% \OnlyDescription
+% \CodelineIndex
+\CodelineNumbered
+\RecordChanges
+\setlength{\parindent}{0pt}
+\begin{document}
+\DocInput{makendx.dtx} \newpage \PrintChanges % \newpage \PrintIndex
+\end{document}
+\endinput
+%</driver>
+% \end{macrocode}
+%% \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 \~}
+%%
+% \Finale
+% \endinput
+# Local Variables:
+# mode: latex
+# End: