diff options
Diffstat (limited to 'macros/latex/contrib/thesis/makendx.dtx')
-rw-r--r-- | macros/latex/contrib/thesis/makendx.dtx | 307 |
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: |