diff options
author | Karl Berry <karl@freefriends.org> | 2017-01-27 23:14:08 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-01-27 23:14:08 +0000 |
commit | 953423df3388111af14ec84c79dfa6b10e1e8aac (patch) | |
tree | d91e3ead05751436a0713703f3cae5ffd3174fe9 /Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls | |
parent | 83082c7f9a495b3086e74c09252c4046fdbc6a72 (diff) |
tudscr (27jan17)
git-svn-id: svn://tug.org/texlive/trunk@43067 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls')
-rw-r--r-- | Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls | 1420 |
1 files changed, 925 insertions, 495 deletions
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls index 6e69c932af9..e69668a06f4 100644 --- a/Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls @@ -5,41 +5,37 @@ %% The original source files were: %% %% tudscr-version.dtx (with options: `class,doc') -%% tudscr-doc.dtx (with options: `class,doc') +%% tudscr-base.dtx (with options: `class,doc') +%% tudscr-doc.dtx (with options: `class,doc,option') +%% tudscr-locale.dtx (with options: `class,doc') %% tudscr-manual.dtx (with options: `class,doc') -%% tudscr-misc.dtx (with options: `class,doc,xindy') +%% tudscr-doc.dtx (with options: `class,doc,body') +%% tudscr-texindy.dtx (with options: `class,doc') %% -%% ============================================================================ +%% TUD-Script -- Corporate Design of Technische Universitaet Dresden %% -%% TUD-Script -%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 +%% 2017/01/26 v2.05g TUD-Script %% -%% ============================================================================ -%% -%% 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. +%% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 %% +%% This file was generated from file(s) of the TUD-Script bundle. %% ---------------------------------------------------------------------------- %% -%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz -%% in der Version 1.3c, verteilt und/oder veraendert werden. Die aktuelle -%% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und -%% Version 1.3c oder spaeter ist Teil aller Verteilungen von LaTeX 2005/12/01 -%% oder spaeter 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. +%% 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. %% %%% From File: tudscr-version.dtx \begingroup \catcode`\@11\relax - \ifx\TUD@Version\undefined + \ifx\TUD@Version\@undefined \newcommand*\TUD@Version@Check[1]{% \gdef\TUD@Version{#1}% \gdef\TUDScriptVersion{#1}% @@ -61,24 +57,24 @@ \fi% } \fi - \TUD@Version@Check{2016/10/12 v2.05f TUD-Script} + \TUD@Version@Check{2017/01/26 v2.05g TUD-Script} \endgroup \NeedsTeXFormat{LaTeX2e} \providecommand*\tudscrmail{tudscr@gmail.com} \newcommand*\TUD@ProvidesClass[3]{% \ProvidesClass{#1}[% - 2016/10/12 v2.05f TUD-Script + 2017/01/26 v2.05g TUD-Script ^^J#3 (#2)% ]% \newcommand*\TUD@Class@KOMA{#2}% - \@ifundefined{TUD@Class@Parent}{% + \ifx\TUD@Class@Parent\@undefined% \newcommand*\TUD@Class@Name{#1}% \TUD@Class@Info% - }{}% + \fi% } \providecommand*\TUD@Class@Info{% \typeout{+---------------------------------------------------------------}% - \typeout{| The Corporate Design of Technische Universitaet Dresden}% + \typeout{| Corporate Design of Technische Universitaet Dresden}% \typeout{| Class: \TUD@Class@Name}% \typeout{| Version: \TUD@Version}% \typeout{| Author: Falk Hanisch (\tudscrmail)}% @@ -95,16 +91,23 @@ }\csname xspace\endcsname% }% }{} +%%% From File: tudscr-base.dtx +\RequirePackage{scrlfile}[2013/12/19] +\RequirePackage{etoolbox}[2011/01/03] +\newcommand*\tud@reserved{} +\newcommand*\eaddto@hook[2]{% + \expandafter\addto@hook\expandafter#1\expandafter{#2}% +} +\BeforePackage{tudscrbase}{% + \undef\tud@reserved% + \undef\eaddto@hook% +} +\newcommand*\TUD@UnwindPackage[2]{\AtEndPreamble{\@ifpackageloaded{#1}{}{#2}}} +\BeforePackage{tudscrbase}{\undef\TUD@UnwindPackage} %%% From File: tudscr-doc.dtx -\RequirePackage{scrbase}[2013/12/19]% -\newcommand*\saved@maketitle{}% +\newcommand*\scr@maketitle{}% \PassOptionsToClass{toc=left}{scrartcl}% -\AfterClass{scrartcl}{\let\saved@maketitle\@maketitle}% -\AfterClass{ltxdoc}{% - \let\@maketitle\saved@maketitle% - \codeline@indexfalse% -}% -\AfterPackage{inputenc}{\RequirePackage{csquotes}[2011/10/22]}% +\AfterClass{scrartcl}{\let\scr@maketitle\@maketitle}% \newcommand*\sd@saved@LoadClass{} \let\sd@saved@LoadClass=\LoadClass \renewcommand*\LoadClass[2][]{% @@ -133,28 +136,260 @@ } \LoadClassWithOptions{ltxdoc} \setcounter{IndexColumns}{2} +\setcounter{StandardModuleDepth}{2} \DeclareOption{final}{\let\tudfinalflag\relax} \DeclareOption{texindy}{\let\tudxdyflag\relax} \DeclareOption{xindy}{\let\tudxdyflag\relax} \DeclareOption{xdy}{\let\tudxdyflag\relax} \ProcessOptions\relax -\setlength\topmargin{-1in} -\setlength\headheight{0pt} -\setlength\headsep{30pt} -\setlength\footskip{1.5\headsep} -\setlength\textheight{\dimexpr\paperheight-2.5\headsep-\footskip\relax} -\setlength\marginparwidth{150pt} -\setlength\marginparsep{0pt} -\setlength\oddsidemargin{\dimexpr\marginparwidth+\marginparsep-1in\relax} -\setlength\textwidth{% - \dimexpr\paperwidth-1in-\oddsidemargin-.5\headsep\relax% -} -\RequirePackage{tudscrbase}[\TUD@Version] +%%% From File: tudscr-locale.dtx +\newcommand*\tud@locale@define[1]{% + \providecommand*#1{% + \ClassError{\TUD@Class@Name}{% + `\string#1' not defined for language `\languagename'% + }{% + Currently the class `\TUD@Class@Name' only supports the\MessageBreak% + languages german and english an its dialects. You must\MessageBreak% + define single patterns by yourself, e.g.:\MessageBreak% + `\string\providecaptionname{\languagename}\string#1{<text>}'\MessageBreak% + You can send your definitions to \tudscrmail\space in\MessageBreak% + order to implement support for additional languages.% + }% + }% +} +\tud@locale@define{\tud@general@name} +\tud@locale@define{\tud@implementation@name} +\tud@locale@define{\tud@changes@name} +\tud@locale@define{\tud@todo@name} +\tud@locale@define{\tud@environment@name} +\tud@locale@define{\tud@environments@name} +\tud@locale@define{\tud@option@name} +\tud@locale@define{\tud@options@name} +\tud@locale@define{\tud@pagestyle@name} +\tud@locale@define{\tud@pagestyles@name} +\tud@locale@define{\tud@layer@name} +\tud@locale@define{\tud@layers@name} +\tud@locale@define{\tud@length@name} +\tud@locale@define{\tud@lengths@name} +\tud@locale@define{\tud@counter@name} +\tud@locale@define{\tud@counters@name} +\tud@locale@define{\tud@TUDcolor@name} +\tud@locale@define{\tud@TUDcolors@name} +\tud@locale@define{\tud@locale@name} +\tud@locale@define{\tud@locales@name} +\tud@locale@define{\tud@field@name} +\tud@locale@define{\tud@fields@name} +\tud@locale@define{\tud@KOMAfont@name} +\tud@locale@define{\tud@KOMAfonts@name} +\tud@locale@define{\tud@parameter@name} +\tud@locale@define{\tud@parameters@name} +\tud@locale@define{\tud@index@text} +\newcommand*\tud@locale@german{% + \providecaptionname{% + german,ngerman,austrian,naustrian,swissgerman,nswissgerman% + }% +} +\tud@locale@german{\tud@general@name}{Allgemein}% +\tud@locale@german{\tud@implementation@name}{Implementierung}% +\tud@locale@german{\tud@changes@name}{\"Anderungsliste} +\tud@locale@german{\tud@todo@name}{Liste der noch zu erledigenden Punkte} +\tud@locale@german{\tud@environment@name}{Umg.} +\tud@locale@german{\tud@environments@name}{Umgebungen} +\tud@locale@german{\tud@option@name}{Opt.} +\tud@locale@german{\tud@options@name}{Optionen} +\tud@locale@german{\tud@pagestyle@name}{Seitenstil} +\tud@locale@german{\tud@pagestyles@name}{Seitenstile} +\tud@locale@german{\tud@layer@name}{Layer} +\tud@locale@german{\tud@layers@name}{Layer (Seitenstilebenen)} +\tud@locale@german{\tud@length@name}{L\"ange} +\tud@locale@german{\tud@lengths@name}{L\"angen} +\tud@locale@german{\tud@counter@name}{Z\"ahler} +\tud@locale@german{\tud@counters@name}{Z\"ahler} +\tud@locale@german{\tud@TUDcolor@name}{Farbe} +\tud@locale@german{\tud@TUDcolors@name}{Farben} +\tud@locale@german{\tud@locale@name}{Lok.} +\tud@locale@german{\tud@locales@name}{Lokalisierungsvariablen} +\tud@locale@german{\tud@field@name}{Feld} +\tud@locale@german{\tud@fields@name}{Eingabefelder} +\tud@locale@german{\tud@KOMAfont@name}{Schriftel.} +\tud@locale@german{\tud@KOMAfonts@name}{Schriftelemente} +\tud@locale@german{\tud@parameter@name}{Param.} +\tud@locale@german{\tud@parameters@name}{Parameter} +\tud@locale@german{\tud@index@text}{% + Kursive Zahlen entsprechen der Seite, auf welcher der korrespondierende + Eintrag beschrieben wird. Unterstrichene Zahlen verweisen auf die + \ifcodeline@index Codezeile der \fi Definition. Alle weiteren Eintr\"age sind + \ifcodeline@index Zeilennummern\else Seitenzahlen\fi, wo der jeweilige + Eintrag verwendet wird. +} +\newcommand*\tud@locale@english{% + \providecaptionname{% + american,australian,british,canadian,english,newzealand,UKenglish,USenglish% + }% +} +\tud@locale@english{\tud@general@name}{General}% +\tud@locale@english{\tud@implementation@name}{Implementation}% +\tud@locale@english{\tud@changes@name}{Change History} +\tud@locale@english{\tud@todo@name}{List of ToDos} +\tud@locale@english{\tud@environment@name}{env.} +\tud@locale@english{\tud@environments@name}{environments} +\tud@locale@english{\tud@option@name}{opt.} +\tud@locale@english{\tud@options@name}{options} +\tud@locale@english{\tud@pagestyle@name}{pagestyle} +\tud@locale@english{\tud@pagestyles@name}{pagestyles} +\tud@locale@english{\tud@layer@name}{layer} +\tud@locale@english{\tud@layers@name}{layers (pagestyle)} +\tud@locale@english{\tud@length@name}{length} +\tud@locale@english{\tud@lengths@name}{lengths} +\tud@locale@english{\tud@counter@name}{counter} +\tud@locale@english{\tud@counters@name}{counters} +\tud@locale@english{\tud@TUDcolor@name}{color} +\tud@locale@english{\tud@TUDcolors@name}{colors} +\tud@locale@english{\tud@locale@name}{locale} +\tud@locale@english{\tud@locales@name}{locales} +\tud@locale@english{\tud@field@name}{field} +\tud@locale@english{\tud@fields@name}{input fields} +\tud@locale@english{\tud@KOMAfont@name}{font} +\tud@locale@english{\tud@KOMAfonts@name}{font elements} +\tud@locale@english{\tud@parameter@name}{param.} +\tud@locale@english{\tud@parameters@name}{parameters} +\tud@locale@english{\tud@index@text}{% + Numbers written in italic refer to the page where the corresponding entry is + described. Numbers underlined refer to the + \ifcodeline@index code line of the \fi definition. All additional entries + refer to the \ifcodeline@index code lines \else pages \fi where the entry is + used. +} +%%% From File: tudscr-manual.dtx +\RequirePackage{scrhack}[2014/02/27] +\RequirePackage{xspace}[2009/10/20] +\xspaceaddexceptions{"=} +\newcommand*\vTUDScript{v\TUDScriptVersionNumber} +\newcommand*\vKOMAScript{v\TUD@Version@KOMA} +\newcommand*\tud@english[1]{#1} +\AtBeginDocument{% + \providecommand*\iflanguageloaded[3]{#3}% + \iflanguageloaded{english}{% + \renewcommand*\tud@english[1]{\foreignlanguage{english}{#1}}% + }{}% +} +\RequirePackage{pdftexcmds}[2016/05/21] +\PassOptionsToPackage{hyperindex=false,colorlinks,linkcolor=blue}{hyperref} +\PassOptionsToPackage{open,openlevel=0}{bookmark} +\AfterPackage*{hyperref}{% + \newcommand*\hypersource@def{} + \newcommand*\hypersourcedef[1]{% + \ifstr{#1}{\hypersource@def}{}{% + \Hy@raisedlink{\hyperdef{}{source:#1}{}}% + \xdef\hypersource@def{#1}% + }% + }% + \newcommand*\hypersource@ref@codeline[2][\@firstofone]{% + \begingroup% + \def\@tempa##1{\hyperref{}{}{source:##1}{#1{##1}}}% + \forcsvlist\@tempa{#2}% + \endgroup% + }% + \newcommand*\hypersource@ref@page[2][\@firstofone]{% + \begingroup% + \def\@tempa##1{\hyperlink{page.##1}{#1{##1}}}% + \forcsvlist\@tempa{#2}% + \endgroup% + }% + \renewcommand*\main[1]{% + \ifcodeline@index% + \hypersource@ref@codeline[\underline]{#1}% + \else% + \hypersource@ref@page[\underline]{#1}% + \fi% + }% + \renewcommand*\usage[1]{\hypersource@ref@page[\textit]{#1}}% +} +\TUD@UnwindPackage{hyperref}{% + \providecommand*\hypersetup[1]{}% + \providecommand*\href[3][]{#3}% + \providecommand*\phantomsection{}% + \providecommand*\texorpdfstring[2]{#1}% + \RequirePackage{url}[2013/09/16]% + \providecommand*\nolinkurl[1]{\url{#1}}% + \providecommand*\hypersourcedef[1]{} + \providecommand*\hypersource@def{} + \providecommand*\hypersource@ref@codeline[2][]{} + \providecommand*\hypersource@ref@page[2][]{} +} +\TUD@UnwindPackage{trimspaces}{\providecommand*\trim@spaces[1]{#1}} +\newcommand*\hrfn[2]{% + \href{#1}{\trim@spaces{#2}}% + \footnote{% + \begingroup% + \def\_{_}% + \edef\@tempa{#1}% + \strut\expandafter\url\expandafter{\@tempa}% + \endgroup% + }% +} +\newrobustcmd*\mailto[1]{\href{mailto:#1}{\nolinkurl{#1}}}% +\AfterPackage*{hyperref}{% + \patchcmd{\pdfstringdef}{\csname HyPsd@babel@}{% + \let\bbl@info\@gobble\csname HyPsd@babel@% + }{}{\tud@patch@wrn{pdfstringdef}}% +} +\AfterPackage*{inputenc}{\RequirePackage{csquotes}[2011/10/22]} +\newcommand*\tud@replace[3]{% + \begingroup% + \toks@{\def\@tempa##1}% + \eaddto@hook\toks@{\detokenize{#2}}% + \addto@hook\toks@{##2\@nil{\@tempb{##1}{##2}}}% + \the\toks@% + \def\@tempb##1##2{% + \IfArgIsEmpty{##2}{% + \appto#1{##1}% + \let\@tempc\relax% + }{% + \appto#1{##1#3}% + \def\@tempc{\@tempa##2\@nil}% + }% + \@tempc% + }% + \toks@{\@tempa}% + \edef\@tempc{\expandafter\detokenize\expandafter{#1}}% + \eaddto@hook\toks@{\@tempc}% + \eaddto@hook\toks@{\detokenize{#2}\@nil}% + \def#1{}% + \the\toks@% + \edef\tud@reserved{% + \noexpand\endgroup% + \def\noexpand#1{#1}% + }% + \tud@reserved% +} +\newcommand*\CD{\tud@english{Corporate Design}\xspace} +\newcommand*\CDs{\tud@english{Corporate Designs}\xspace} +\newcommand*\TUD{Technische Universit\"at Dresden\xspace} +\newcommand*\TnUD{Technischen Universit\"at Dresden\xspace} +\newcommand*\TUDCD{\CD der \TnUD} +\newcommand*\TUDCDs{\CDs der \TnUD} +\newrobustcmd*\DDC{% + \mbox{% + D\kern.05em R\kern.05em E\kern.05em S\kern.05em % + D\kern.05em E\kern.05em N\kern.1em-\kern.1em concept% + }\xspace% +} +\AfterPackage*{hyperref}{% + \pdfstringdefDisableCommands{% + \def\DDC{DRESDEN-concept}% + \def\TUDScript{TUD-Script}% + \def\KOMAScript{KOMA-Script}% + }% +} +\newcommand*\Univers{\texorpdfstring{\textubn{Univers}}{Univers}\xspace} +\newcommand*\DIN{\texorpdfstring{\textdbn{DIN~BOLD}}{DIN BOLD}\xspace} +%%% From File: tudscr-doc.dtx \RequirePackage{dox}[2010/12/16] \@ifpackagelater{dox}{2010/12/17}{% \ClassWarning{\TUD@Class@Name}{% Package `dox' was updated so some patches\MessageBreak% - are maybe outdated + are maybe outdated% }% }{}% \CheckCommand\m@cro@[2]{% @@ -192,211 +427,6 @@ \global\advance\c@CodelineNo\m@ne \ignorespaces } -\CheckCommand*\changes@[3]{% - \protected@edef\@tempa{% - \noexpand\glossary{% - #1\levelchar - \ifx\saved@macroname\@empty - \space - \actualchar - \generalname - \else - \saved@indexname - \actualchar - \string\verb\quotechar*% - \verbatimchar\saved@macroname - \verbatimchar - \fi - :\levelchar #3% - }% - }% - \@tempa\endgroup\@esphack% -} -\ifdefined\tudxdyflag% - \renewcommand*\changes@[3]{% - \@tempswatrue% - \ifblank{#1}{\@tempswafalse}{}% - \ifblank{#3}{\@tempswafalse}{}% - \if@tempswa% - \protected@edef\@tempa{% - \noexpand\glossary{% - #1\levelchar% - \ifx\saved@macroname\@empty% - \generalname% - \else% - \implementationname% - \fi% - \levelchar - \ifx\saved@macroname\@empty\else% - \saved@indexname - \ifx\saved@idxtype\@empty\else% - \space\saved@idxtype - \fi% - \actualchar - \string\verb\quotechar*% - \verbatimchar\saved@macroname - \verbatimchar% - \ifx\saved@idxtype\@empty\else% - \space(\saved@idxtype)% - \fi% - :\levelchar - \fi - #2 #3% - \actualchar% - #3% (#2)% - }% - }% - \else% - \let\@tempa\relax% - \fi% - \@tempa\endgroup\@esphack% - }% -\else% - \renewcommand*\changes@[3]{% - \protected@edef\@tempa{% - \noexpand\glossary{% - #1\levelchar - \ifx\saved@macroname\@empty - \quotechar! - \actualchar - \generalname - \else - \saved@indexname - \actualchar - \string\verb\quotechar*% - \verbatimchar\saved@macroname - \verbatimchar - \fi - :\levelchar #3% - }% - }% - \@tempa\endgroup\@esphack% - }% -\fi% -\CheckCommand*\@wrglossary[1]{% - \protected@write\@glossaryfile{}% - {\string\glossaryentry{#1}{\thepage}}% - \endgroup - \@esphack% -} -\def\filesep{?-} -\def\@wrglossary#1{% - \ifx\special@index\index% - \@tempswafalse% - \else% - \@tempswatrue% - \fi% - \ifx\saved@macroname\@empty% - \@tempswafalse% - \fi% - \if@tempswa% - \global\advance\c@CodelineNo\@ne - \protected@write\@glossaryfile{}{% - \string\glossaryentry{#1}{\filesep\number\c@CodelineNo}% - } - \global\advance\c@CodelineNo\m@ne - \else% - \protected@write\@glossaryfile{}{\string\glossaryentry{#1}{\thepage}} - \fi% - \endgroup - \@esphack% -} -\renewcommand*\generalname{Allgemein} -\newcommand*\implementationname{Implementierung} -\newcommand*\hypersourcedef[1]{} -\newcommand*\hypersource@def{} -\newcommand*\hypersourceref[1]{#1} -\newcommand*\hypersource@ref[2][]{} -\PassOptionsToPackage{hyperindex=false}{hyperref} -\AfterPackage{hyperref}{% - \renewcommand*\hypersourcedef[1]{% - \ifstr{#1}{\hypersource@def}{}{% - \Hy@raisedlink{\hyperdef{}{source:#1}{}}% - \xdef\hypersource@def{#1}% - }% - }% - \renewcommand*\hypersourceref[1]{\hypersource@ref{#1}}% - \renewcommand*\main[1]{\hypersource@ref[\underline]{#1}}% - \renewcommand*\hypersource@ref[2][\@firstofone]{% - \begingroup% - \def\@tempa##1-##2\relax{% - \IfArgIsEmpty{##2}{% - \hyperlink{page.\@tempc}{#1{\@tempc}}% - }{% - \hyperref{}{}{source:\@tempc}{#1{\@tempc}}% - }% - }% - \def\@tempb##1{% - \def\@tempc{##1}% - \expandafter\@tempa##1-\relax% - }% - \forcsvlist\@tempb{#2}% - \endgroup% - }% -} -\CheckCommand*\@doxcreatespecialmainindex[3]{% - \expandafter\def\csname SpecialMain#1Index\endcsname##1{% - \@bsphack% - \special@index{##1\actualchar{\string\ttfamily\space##1} (#2) - \encapchar main}% - \special@index{#3:\levelchar##1\actualchar{\string\ttfamily\space##1} - \encapchar main}% - \@esphack% - }% -} -\patchcmd{\@doxcreatespecialmainindex}{\actualchar}{% - \space(#2)\actualchar% -}{}{\tud@patch@wrn{@doxcreatespecialmainindex}} -\patchcmd{\@doxcreatespecialmainindex}{\@esphack}{% - \@esphack\hypersourcedef{\filesep\number\c@CodelineNo}% -}{}{\tud@patch@wrn{@doxcreatespecialmainindex}} -\CheckCommand*\@doxcreatespecialmainmacrolikeindex[3]{% - \expandafter\def\csname SpecialMain#1Index\endcsname##1{% - \@SpecialIndexHelper@##1\@nil - \@bsphack% - \special@index{\@gtempa\actualchar - \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar - \space(#2)\encapchar main}% - \special@index{#3:\levelchar\@gtempa\actualchar% - \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar - \encapchar main}% - \@esphack% - }% -} -\patchcmd{\@doxcreatespecialmainmacrolikeindex}{\actualchar}{% - \space(#2)\actualchar% -}{}{\tud@patch@wrn{@doxcreatespecialmainmacrolikeindex}} -\patchcmd{\@doxcreatespecialmainmacrolikeindex}{\@esphack}{% - \@esphack\hypersourcedef{\filesep\number\c@CodelineNo}% -}{}{\tud@patch@wrn{@doxcreatespecialmainmacrolikeindex}} -\CheckCommand*\@doxcreatespecialindex[3]{% - \expandafter\def\csname Special#1Index\endcsname##1{% - \@bsphack% - \index{##1\actualchar{\protect\ttfamily##1} (#2)\encapchar usage}% - \index{#3:\levelchar##1\actualchar{\protect\ttfamily##1} - \encapchar usage}% - \@esphack% - }% -} -\patchcmd{\@doxcreatespecialindex}{\actualchar}{% - \space(#2)\actualchar% -}{}{\tud@patch@wrn{@doxcreatespecialindex}} -\CheckCommand*\@doxcreatespecialmacrolikeindex[3]{% - \expandafter\def\csname Special#1Index\endcsname##1{% - \@SpecialIndexHelper@##1\@nil - \@bsphack% - \index{\@gtempa\actualchar - \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar - \space(#2)\encapchar usage}% - \index{#3:\levelchar\@gtempa\actualchar - \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar - \encapchar usage}% - \@esphack% - }% -} -\patchcmd{\@doxcreatespecialmacrolikeindex}{\actualchar}{% - \space(#2)\actualchar% -}{}{\tud@patch@wrn{@doxcreatespecialmacrolikeindex}} \CheckCommand\doxitem[4][]{% \@nameuse{dox@macrolike\dox@macrolikedefault}% \def\dox@idxtype{#3}% @@ -432,66 +462,198 @@ \@doxcreatedescribe{#2} \@doxcreateenv{#2}{#3}% } -\CheckCommand\doxitem[4][]{% +\renewcommand*\doxitem[4][]{% \@nameuse{dox@macrolike\dox@macrolikedefault}% \def\dox@idxtype{#3}% - \setkeys{dox}{#1} - \@ifundefined{Print#2Name}{% - \ifdox@macrolike - \expandafter\def\csname Print#2Name\endcsname##1{% - \strut\MacroFont\string ##1\ } - \else - \expandafter\def\csname Print#2Name\endcsname##1{% - \strut\MacroFont ##1\ } - \fi}{} - \ifdox@macrolike + \setkeys{dox}{#1}% + \ifdox@macrolike% \def\@doxexpr{\@doxcreatespecialmainmacrolikeindex{#2}}% - \else + \else% \def\@doxexpr{\@doxcreatespecialmainindex{#2}}% - \fi + \fi% \expandafter\@doxexpr\expandafter{\dox@idxtype}{#4}% - \@ifundefined{PrintDescribe#2}{% - \ifdox@macrolike - \expandafter\def\csname PrintDescribe#2\endcsname##1{% - \strut\MacroFont\string ##1\ } - \else - \expandafter\def\csname PrintDescribe#2\endcsname##1{% - \strut\MacroFont ##1\ } - \fi}{} - \ifdox@macrolike + \ifdox@macrolike% \def\@doxexpr{\@doxcreatespecialmacrolikeindex{#2}}% - \else + \else% \def\@doxexpr{\@doxcreatespecialindex{#2}}% - \fi + \fi% \expandafter\@doxexpr\expandafter{\dox@idxtype}{#4}% - \@doxcreatedescribe{#2} - \@doxcreateenv{#2}{#3}% -} -\CheckCommand*\@doxcreateenv[2]{% - \expandafter\def\csname #2\endcsname{% - \@ifnextchar[%] - {\@doxenv{#1}}{\@doxenv{#1}[]}} - \expandafter\let\csname end#2\endcsname\endtrivlist% -} -\pretocmd{\@doxcreateenv}{% \ifdox@macrolike% - \def\@doxexpr{\@doxcreatemacrolikeindexname{#1}}% + \def\@doxexpr{\@doxcreatemacrolikeprintname{#2}}% + \else% + \def\@doxexpr{\@doxcreateprintname{#2}}% + \fi% + \expandafter\@doxexpr\expandafter{\dox@idxtype}% + \ifdox@macrolike% + \def\@doxexpr{\@doxcreatemacrolikeindexname{#2}}% \else% - \def\@doxexpr{\@doxcreateindexname{#1}}% + \def\@doxexpr{\@doxcreateindexname{#2}}% \fi% \expandafter\@doxexpr\expandafter{\dox@idxtype}% -}{}{\tud@patch@wrn{@doxcreateenv}} -\newcommand*\saved@idxtype{} + \@doxcreatedescribe{#2}% + \@doxcreateenv{#2}{#3}% +} +\newrobustcmd*\index@type[1]{% + \begingroup% + \normalfont\scriptsize\space(#1)% + \endgroup% +} +\CheckCommand*\@doxcreatespecialmainmacrolikeindex[3]{% + \expandafter\def\csname SpecialMain#1Index\endcsname##1{% + \@SpecialIndexHelper@##1\@nil + \@bsphack% + \special@index{\@gtempa\actualchar + \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar + \space(#2)\encapchar main}% + \special@index{#3:\levelchar\@gtempa\actualchar% + \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar + \encapchar main}% + \@esphack% + }% +} +\renewcommand*\@doxcreatespecialmainmacrolikeindex[3]{% + \expandafter\def\csname SpecialMain#1Index\endcsname##1{% + \@SpecialIndexHelper@##1\@nil% + \@bsphack% + \protected@edef\tud@reserved{#2}% + \special@index{% + \@gtempa\space\expandonce\tud@reserved\actualchar% + \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar% + \index@type{\expandonce\tud@reserved}\encapchar main% + }% + \protected@edef\tud@reserved{#3}% + \special@index{% + \expandonce\tud@reserved:\levelchar\@gtempa\actualchar% + \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar% + \encapchar main% + }% + \@esphack% + \let\parameter@parent@changes\relax% + \hypersourcedef{\filesep\number\c@CodelineNo}% + }% +} +\CheckCommand*\@doxcreatespecialmainindex[3]{% + \expandafter\def\csname SpecialMain#1Index\endcsname##1{% + \@bsphack% + \special@index{##1\actualchar{\string\ttfamily\space##1} (#2) + \encapchar main}% + \special@index{#3:\levelchar##1\actualchar{\string\ttfamily\space##1} + \encapchar main}% + \@esphack% + }% +} +\renewcommand*\@doxcreatespecialmainindex[3]{% + \expandafter\def\csname SpecialMain#1Index\endcsname##1{% + \@bsphack% + \protected@edef\tud@reserved{#2}% + \special@index{% + ##1\space\expandonce\tud@reserved\actualchar% + {\string\ttfamily\space##1}\index@type{\expandonce\tud@reserved}% + \encapchar main% + }% + \protected@edef\tud@reserved{#3}% + \special@index{% + \expandonce\tud@reserved:\levelchar##1\actualchar% + {\string\ttfamily\space##1}\encapchar main% + }% + \@esphack% + \let\parameter@parent@changes\relax% + \hypersourcedef{\filesep\number\c@CodelineNo}% + }% +} +\CheckCommand*\@doxcreatespecialmacrolikeindex[3]{% + \expandafter\def\csname Special#1Index\endcsname##1{% + \@SpecialIndexHelper@##1\@nil + \@bsphack% + \index{\@gtempa\actualchar + \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar + \space(#2)\encapchar usage}% + \index{#3:\levelchar\@gtempa\actualchar + \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar + \encapchar usage}% + \@esphack% + }% +} +\renewcommand*\@doxcreatespecialmacrolikeindex[3]{% + \expandafter\def\csname Special#1Index\endcsname##1{% + \@SpecialIndexHelper@##1\@nil% + \@bsphack% + \protected@edef\tud@reserved{#2}% + \index{% + \@gtempa\space\expandonce\tud@reserved\actualchar% + \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar% + \index@type{\expandonce\tud@reserved}\encapchar usage% + }% + \protected@edef\tud@reserved{#3}% + \index{% + \expandonce\tud@reserved:\levelchar\@gtempa\actualchar% + \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar% + \encapchar usage% + }% + \@esphack% + }% +} +\CheckCommand*\@doxcreatespecialindex[3]{% + \expandafter\def\csname Special#1Index\endcsname##1{% + \@bsphack% + \index{##1\actualchar{\protect\ttfamily##1} (#2)\encapchar usage}% + \index{#3:\levelchar##1\actualchar{\protect\ttfamily##1} + \encapchar usage}% + \@esphack% + }% +} +\renewcommand*\@doxcreatespecialindex[3]{% + \expandafter\def\csname Special#1Index\endcsname##1{% + \@bsphack% + \protected@edef\tud@reserved{#2}% + \index{% + ##1\space\expandonce\tud@reserved\actualchar% + {\protect\ttfamily##1}\index@type{\expandonce\tud@reserved}% + \encapchar usage% + }% + \protected@edef\tud@reserved{#3}% + \index{% + \expandonce\tud@reserved:\levelchar##1\actualchar% + {\protect\ttfamily##1}\encapchar usage% + }% + \@esphack% + }% +} +\def\@doxcreatemacrolikeprintname#1#2{% + \@ifundefined{Print#1Name}{% + \expandafter\def\csname Print#1Name\endcsname##1{% + \MacroFont\string##1\index@type{#2}\strut\ % + }% + }{}% + \@ifundefined{PrintDescribe#1}{% + \expandafter\def\csname PrintDescribe#1\endcsname##1{% + \MacroFont\string##1\index@type{#2}\strut\ % + }% + }{}% +} +\def\@doxcreateprintname#1#2{% + \@ifundefined{Print#1Name}{% + \expandafter\def\csname Print#1Name\endcsname##1{% + \MacroFont##1\index@type{#2}\strut\ % + }% + }{}% + \@ifundefined{PrintDescribe#1}{% + \expandafter\def\csname PrintDescribe#1\endcsname##1{% + \MacroFont##1\index@type{#2}\strut\ % + }% + }{}% +} +\newcommand*\saved@indextype{} \def\@doxcreatemacrolikeindexname#1#2{% \expandafter\def\csname Set#1IndexName\endcsname##1{% \edef\saved@indexname{\expandafter\@gobble##1}% - \edef\saved@idxtype{#2}% + \protected@edef\saved@indextype{#2}% }% } \def\@doxcreateindexname#1#2{% \expandafter\def\csname Set#1IndexName\endcsname##1{% \let\saved@indexname##1% - \edef\saved@idxtype{#2}% + \protected@edef\saved@indextype{#2}% }% } \CheckCommand\@@doxenv[2]{% @@ -528,105 +690,354 @@ \patchcmd{\@@doxenv}{\ignorespaces}{% \csname Set#1IndexName\endcsname{\saved@macroname}\ignorespaces% }{}{\tud@patch@wrn{@@doxenv}} -\def\SetMacroIndexName#1{% - \edef\saved@indexname{\expandafter\@gobble#1} - \let\saved@idxtype\@empty% -} -\def\SetEnvIndexName#1{% - \let\saved@indexname#1% - \edef\saved@idxtype{environment}% +\newcommand*\SetMacroIndexName[1]{% + \edef\saved@indexname{\expandafter\@gobble#1}% + \let\saved@indextype\@empty% } \CheckCommand*\SpecialMainMacroIndex[1]{% \SpecialMainIndex{#1}\nobreak% \DoNotIndex{#1}% } \apptocmd{\SpecialMainMacroIndex}{% + \let\parameter@parent@changes\relax% \hypersourcedef{\filesep\number\c@CodelineNo}% }{}{\tud@patch@wrn{SpecialMainMacroIndex}} -\doxitem[idxtype=Umgebung]{Env}{environment}{Umgebungen} -\doxitem[idxtype=Option]{Option}{option}{Optionen} -\doxitem[idxtype=Parameter]{Parameter}{parameter}{Parameter} -\doxitem[idxtype=Seitenstil]{PageStyle}{pagestyle}{Seitenstile} -\doxitem[idxtype=Layer]{Layer}{layer}{Layer (Seitenstilebenen)} -\doxitem[macrolike,idxtype=L\noexpand\"ange]{Length}{length}{L\noexpand\"angen} -\doxitem[idxtype=Z\noexpand\"ahler]{Counter}{counter}{Z\noexpand\"ahler} -\doxitem[idxtype=Farbe]{Color}{color}{Farben} -\doxitem[macrolike,idxtype=Lok.]{Locale}{locale}{Lokalisierungsvariablen} -\doxitem[macrolike,idxtype=Feld]{Field}{field}{Eingabefelder} -\doxitem[idxtype=Schriftelement]{Font}{KOMAfont}{Schriftelemente} +\renewcommand*\tud@reserved[3][]{% + \doxitem[#1,idxtype=\csname tud@#3@name\endcsname]{#2}{#3}{% + \csname tud@#3s@name\endcsname% + }% +} +\undef\PrintEnvName +\undef\PrintDescribeEnv +\tud@reserved{Env}{environment} +\tud@reserved{Option}{option} +\tud@reserved{PageStyle}{pagestyle} +\tud@reserved{Layer}{layer} +\tud@reserved[macrolike]{Length}{length} +\tud@reserved{Counter}{counter} +\tud@reserved{Color}{TUDcolor} +\tud@reserved[macrolike]{Locale}{locale} +\tud@reserved[macrolike]{Field}{field} +\tud@reserved{Font}{KOMAfont} +\tud@reserved{Parameter}{parameter} +\newcommand*\parameter@parent@changes{} +\let\parameter@parent@changes\relax +\newcommand*\parameter@parent@indexname{} +\let\parameter@parent@indexname\relax +\newcommand*\parameter@parent@indexformat{} +\let\parameter@parent@indexformat\relax +\apptocmd\SetMacroIndexName{% + \edef\parameter@parent@indexname{\expandafter\@gobble#1}% + \edef\parameter@parent@indexformat{% + \string\verb\quotechar*\verbatimchar#1\verbatimchar% + }% +}{}{\tud@patch@wrn{SetMacroIndexName}} +\apptocmd\SetEnvIndexName{% + \protected@edef\parameter@parent@indexname{#1\space\saved@indextype}% + \protected@edef\parameter@parent@indexformat{% + \string\verb\quotechar*\verbatimchar#1\verbatimchar% + \index@type{\saved@indextype}% + }% +}{}{\tud@patch@wrn{SetEnvIndexName}} +\renewcommand*\SpecialMainParameterIndex[1]{% + \ifx\parameter@parent@indexname\relax% + \ClassError{\TUD@Class@Name}{No previous macro or environment}{% + Since parameters can only be used for macros or\MessageBreak% + environments, you have to use `parameter' within\MessageBreak% + `macro' or `environment'.% + }% + \fi% + \protected@edef\parameter@parent@changes{% + \parameter@parent@indexname\actualchar% + \parameter@parent@indexformat:\levelchar% + }% + \@bsphack% + \special@index{% + \parameter@parent@indexname\actualchar% + \parameter@parent@indexformat\levelchar% + #1\space\tud@parameter@name\actualchar% + {\string\ttfamily\space#1}\index@type{\tud@parameter@name}% + \encapchar main% + }% + \special@index{% + \tud@parameters@name:\levelchar% + #1\space\parameter@parent@indexname% + \actualchar{\string\ttfamily\space#1}% + \noexpand\,--\noexpand\,\parameter@parent@indexformat% + \encapchar main% + }% + \@esphack% + \hypersourcedef{\filesep\number\c@CodelineNo}% +} +\CheckCommand*\changes@[3]{% + \protected@edef\@tempa{% + \noexpand\glossary{% + #1\levelchar + \ifx\saved@macroname\@empty + \space + \actualchar + \generalname + \else + \saved@indexname + \actualchar + \string\verb\quotechar*% + \verbatimchar\saved@macroname + \verbatimchar + \fi + :\levelchar #3% + }% + }% + \@tempa\endgroup\@esphack% +} +\ifdefined\tudxdyflag% + \renewcommand*\changes@[3]{% + \@tempswatrue% + \ifblank{#1}{\@tempswafalse}{}% + \ifblank{#3}{\@tempswafalse}{}% + \if@tempswa% + \ifx\parameter@parent@changes\relax% + \protected@edef\@tempb{% + \saved@indexname% + \ifx\saved@indextype\@empty\else% + \space\saved@indextype% + \fi% + \actualchar% + \string\verb\quotechar*% + \verbatimchar\saved@macroname% + \verbatimchar% + \ifx\saved@indextype\@empty\else% + \index@type{\saved@indextype}% + \fi% + :\levelchar% + }% + \else% + \protected@edef\@tempb{% + \parameter@parent@changes% + \saved@indexname% + \ifx\saved@indextype\@empty\else% + \space\saved@indextype% + \fi% + \actualchar% + {\noexpand\ttfamily\saved@macroname}% + \ifx\saved@indextype\@empty\else% + \index@type{\saved@indextype}% + \fi% + :\levelchar% + }% + \fi% + \protected@edef\@tempa{% + \noexpand\glossary{% + #1\levelchar% + \ifx\saved@macroname\@empty% + \tud@general@name% + \else% + \tud@implementation@name% + \fi% + \levelchar% + \ifx\saved@macroname\@empty\else% + \@tempb% + \fi% + #2 #3% + \actualchar% + #3% (#2)% + }% + }% + \else% + \let\@tempa\relax% + \fi% + \@tempa\endgroup\@esphack% + }% +\else% + \renewcommand*\changes@[3]{% + \protected@edef\@tempa{% + \noexpand\glossary{% + #1\levelchar% + \ifx\saved@macroname\@empty% + \quotechar!% + \actualchar% + \tud@general@name% + :\levelchar% + \else% + \ifx\parameter@parent@changes\relax\else% + \parameter@parent@changes zzz\space% + \fi% + \saved@indexname% + \ifx\saved@indextype\@empty\else% + \space\saved@indextype% + \fi% + \actualchar% + \string\verb\quotechar*% + \verbatimchar\saved@macroname% + \verbatimchar% + \ifx\saved@indextype\@empty\else% + \index@type{\saved@indextype}% + \fi% + \ifx\parameter@parent@changes\relax% + :\levelchar% + \else% + :\space% + \fi% + \fi% + #3% + }% + }% + \@tempa\endgroup\@esphack% + }% +\fi% +\CheckCommand*\@wrglossary[1]{% + \protected@write\@glossaryfile{}% + {\string\glossaryentry{#1}{\thepage}}% + \endgroup + \@esphack% +} +\def\@wrglossary#1{% + \ifx\saved@macroname\@empty% + \protected@write\@glossaryfile{}{% + \string\glossaryentry{#1|usage}{\thepage}% + }% + \else% + \ifcodeline@index% + \global\advance\c@CodelineNo\@ne% + \protected@write\@glossaryfile{}{% + \string\glossaryentry{#1|main}{\filesep\number\c@CodelineNo}% + }% + \global\advance\c@CodelineNo\m@ne% + \else% + \protected@write\@glossaryfile{}{% + \string\glossaryentry{#1|main}{\thepage}% + }% + \fi% + \fi% + \endgroup% + \@esphack% +} +\newcommand*\tud@lst@subsub{} +\newcommand*\tud@lst@subsubsub{} +\newcommand*\subsubsubitem{\@idxitem\hspace*{35\p@}} +\newcommand*\efil{\hfil\nopagebreak}% +\newcommand*\tud@lst@def{% + \newcommand*\tud@lst@values{}% + \newif\if@tud@lst@multi% + \newcommand*\tud@lst@init{% + \let\tud@lst@values\relax% + \let\tud@lst@subsub\relax% + \@tud@lst@multifalse% + }% + \newcommand*\tud@lst@add[1]{% + \ifx\tud@lst@values\relax\else% + \@tud@lst@multitrue% + \def\tud@lst@subsub{\subsubitem}% + \fi% + \listadd\tud@lst@values{\tud@lst@subsub ##1}% + }% + \newcommand*\tud@lst@process{% + \if@tud@lst@multi% + \preto\tud@lst@values{\efill}% + \fi% + \forlistloop{}{\tud@lst@values}% + \tud@lst@init% + }% + \newcommand*\tud@lst@@values{}% + \newif\if@tud@lst@@multi% + \newcommand*\tud@lst@@init{% + \let\tud@lst@@values\relax% + \def\tud@lst@subsub{\subsubitem}% + \def\tud@lst@subsubsub{\space}% + \@tud@lst@@multifalse% + }% + \newcommand*\tud@lst@@add[1]{% + \@tud@lst@multitrue% + \ifx\tud@lst@@values\relax\else% + \@tud@lst@@multitrue% + \def\tud@lst@subsubsub{\subsubsubitem}% + \fi% + \listadd\tud@lst@@values{##1}% + }% + \newcommand*\tud@lst@@process{% + \if@tud@lst@@multi% + \appto\tud@lst@values{\efill}% + \fi% + \edef\tud@reserved####1{% + \noexpand\listadd\noexpand\tud@lst@values{% + \expandonce\tud@lst@subsubsub####1% + }% + }% + \forlistloop{\tud@reserved}{\tud@lst@@values}% + \tud@lst@@init% + }% +} \ifdefined\tudxdyflag \newcommand*\tud@write@replace{} \newwrite\tud@write@replace \newcommand*\tud@read@replace{} \newread\tud@read@replace - \def\actualchar{<&1&>} - \def\quotechar{<&2&>} - \def\levelchar{<&3&>} + \def\actualchar{<|1|>} + \def\quotechar{<|2|>} + \def\levelchar{<|3|>} \begingroup - \endlinechar=-1\relax% + \endlinechar=\m@ne\relax% \def\tud@reserved#1#2{% - \immediate\openin\tud@read@replace=\jobname.#1\relax% - \immediate\openout\tud@write@replace=\jobname-xdy.#1\relax% - \@tempswafalse% - \loop\unless\ifeof\tud@read@replace% - \readline\tud@read@replace to\tud@line@replace% - \tud@replace\tud@line@replace{"}{""}% - \tud@replace\tud@line@replace{!}{"!}% - \tud@replace\tud@line@replace{:}{":}% - \tud@replace\tud@line@replace{@}{"@}% - \tud@replace\tud@line@replace{\"@}{"\@backslashchar"@}% - \expandafter\tud@replace\expandafter\tud@line@replace% - \expandafter{\actualchar}{@}% - \expandafter\tud@replace\expandafter\tud@line@replace% - \expandafter{\quotechar}{"}% - \expandafter\tud@replace\expandafter\tud@line@replace% - \expandafter{\levelchar}{!}% - \tud@replace\tud@line@replace{" @}{}% - \ifeof\tud@read@replace\else% - \immediate\write\tud@write@replace{% - \unexpanded\expandafter{\tud@line@replace}% - }% - \@tempswatrue% - \fi% - \repeat% - \immediate\closein\tud@read@replace% - \immediate\closeout\tud@write@replace% - \ifnum\pdfshellescape=\@ne\relax% - \if@tempswa% - \immediate\write18{% - texindy\space% - -o \jobname.#2\space% - -M \@currname-#2.xdy\space% - -L german-din\space% - -t \jobname-#2.xlg\space% - \jobname-xdy.#1 - }% - \else% - \immediate\openout\tud@write@replace=\jobname.#2\relax% - \immediate\closeout\tud@write@replace% + \IfFileExists{\jobname.#1}{% + \immediate\openin\tud@read@replace=\jobname.#1\relax% + \immediate\openout\tud@write@replace=\jobname-xdy.#1\relax% + \@tempswafalse% + \loop\unless\ifeof\tud@read@replace% + \readline\tud@read@replace to\tud@line@replace% + \tud@replace\tud@line@replace{"}{""}% + \tud@replace\tud@line@replace{!}{"!}% + \tud@replace\tud@line@replace{:}{":}% + \tud@replace\tud@line@replace{@}{"@}% + \tud@replace\tud@line@replace{\"@}{"\@backslashchar"@}% + \expandafter\tud@replace\expandafter\tud@line@replace% + \expandafter{\actualchar}{@}% + \expandafter\tud@replace\expandafter\tud@line@replace% + \expandafter{\quotechar}{"}% + \expandafter\tud@replace\expandafter\tud@line@replace% + \expandafter{\levelchar}{!}% + \tud@replace\tud@line@replace{" @}{}% + \ifeof\tud@read@replace\else% + \immediate\write\tud@write@replace{% + \unexpanded\expandafter{\tud@line@replace}% + }% + \@tempswatrue% + \fi% + \repeat% + \immediate\closein\tud@read@replace% + \immediate\closeout\tud@write@replace% + \ifnum\pdf@shellescape=\@ne\relax% + \if@tempswa% + \immediate\write18{% + texindy\space% + -o \jobname.#2\space% + -M \@currname-#2.xdy\space% + -t \jobname-#2.xlg\space% + \jobname-xdy.#1% + }% + \else% + \immediate\openout\tud@write@replace=\jobname.#2\relax% + \immediate\closeout\tud@write@replace% + \fi% \fi% - \fi% + }{}% }% \tud@reserved{idx}{ind}% \tud@reserved{glo}{gls}% \endgroup \else - \ifnum\pdfshellescape=\@ne\relax% - \immediate\write18{makeindex -s gglo.ist -o \jobname.gls \jobname.glo}% - \immediate\write18{makeindex -s gind.ist -o \jobname.ind \jobname.idx}% + \ifnum\pdf@shellescape=\@ne\relax% + \immediate\write18{% + makeindex -s gglo.ist -t \jobname.glg -o \jobname.gls \jobname.glo% + }% + \immediate\write18{% + makeindex -s gind.ist -t \jobname.ilg -o \jobname.ind \jobname.idx% + }% \fi% \fi -\IndexPrologue{% - \addsec{Index}% - Unterstrichene Zahlen, die gegebenenfalls mit einem Hyperlink versehen sind, - verweisen auf die \ifcodeline@index Codezeile der \fi Definition, alle - weiteren sind \ifcodeline@index Zeilennummern\else Seitenzahlen\fi, wo der - jeweilige Eintrag verwendet wird. -} -\GlossaryPrologue{\addsec{\"Anderungsliste}} +\IndexPrologue{\addsec{\indexname}\tud@index@text} +\GlossaryPrologue{\addsec{\tud@changes@name}} \DeclareNewTOC[% type=todo,% - listname={Liste der noch zu erledigenden Punkte},% + listname={\tud@todo@name},% name=ToDo,% tocentryindent=\z@,% owner=\@currname,% @@ -662,62 +1073,125 @@ \ifdefined\tudfinalflag\else% \begingroup% \csuse{phantomsection}% - \def\tud@reserved{\ifxblank{#2}{ToDo: ??}{ToDo: #2}}% + \IfArgIsEmpty{#2}{% + \def\tud@reserved{??}% + }{% + \def\tud@reserved{#2}% + }% \endgraf% \hfuzz0.8pt% - \leavevmode\marginpar{\raggedleft\fbox{\tud@reserved\strut}}% + \leavevmode\marginpar{\raggedleft\fbox{ToDo:\space\tud@reserved\strut}}% \fbox{\parbox{\dimexpr\textwidth-2\fboxsep\relax}{#1\strut}}% \endgraf% - \global\advance\c@CodelineNo\@ne - \addxcontentsline{tdo}{todo}{#2:~#1~(\filesep\number\c@CodelineNo)}% - \global\advance\c@CodelineNo\m@ne + \let\@tempa\@empty% + \ifdefined\currentfile% + \def\@tempa{\,--\,\texttt{\currentfile}}% + \fi% + \addxcontentsline{tdo}{todo}{\tud@reserved\@tempa:\space#1}% \endgroup% \fi% } -\AtBeginDocument{% - \@ifpackageloaded{etoolbox}{}{% - \providecommand*\newrobustcmd{\DeclareRobustCommand}% - }% - \newrobustcmd*\app[1]{\mbox{\textsl{\textbf{#1}}}} - \newrobustcmd*\cls[1]{\mbox{\textsf{\textbf{#1}}}} - \newrobustcmd*\pkg[1]{\mbox{\textsf{\textbf{#1}}}} - \newrobustcmd*\opt[1]{\mbox{\texttt{#1}}} - \newrobustcmd*\val[1]{\mbox{\texttt{#1}}} - \newrobustcmd*\pgs[1]{\mbox{\texttt{#1}}} - \newrobustcmd*\env[1]{\mbox{\texttt{#1}}} - \newrobustcmd*\file[1]{\mbox{\texttt{#1}}} - \@ifpackageloaded{hyperref}{% - \pdfstringdefDisableCommands{% - \def\TUDScript{TUD-Script}% - \let\cls\@firstofone% - \let\pkg\@firstofone% +\newcommand*\calculatearea{% + \setlength\topmargin{-1in}% + \setlength\headheight{0pt}% + \setlength\headsep{3em}% + \setlength\footskip{1.5\headsep}% + \setlength\textheight{\dimexpr\paperheight-2.5\headsep-\footskip\relax}% + \settowidth\MacroIndent{\rmfamily\scriptsize 0000\ }% + \begingroup% + \MacroFont\selectfont% + \settowidth\@tempdima{\space}% + \setlength\@tempdima{80\@tempdima}% + \addtolength\@tempdima{\MacroIndent}% + \edef\@tempa{% + \endgroup% + \noexpand\setlength\noexpand\textwidth{\the\@tempdima}% }% - }{% - \RequirePackage{url}[2013/09/16]% - \providecommand*\hypersetup[1]{}% - \providecommand*\phantomsection{}% - \providecommand*\texorpdfstring[2]{#1}% + \@tempa% + \setlength\columnsep{1em}% + \setlength\marginparsep{1em}% + \setlength\marginparwidth{% + \dimexpr\paperwidth-\textwidth-2\marginparsep\relax% }% - \@ifpackageloaded{babel}{}{% - \ClassWarning{\TUD@Class@Name}{Package `babel' not loaded}% - \let\selectlanguage\@gobble% - \let\glqq\relax% - \let\grqq\relax% + \setlength\oddsidemargin{\dimexpr\marginparwidth+\marginparsep-1in\relax}% +} +\AtEndPreamble{\calculatearea} +\AfterPackage{tudscrfonts}{% + \RequirePackage{mweights}[2013/07/21]% + \CheckCommand*\MacroFont{% + \fontencoding\encodingdefault% + \fontfamily\ttdefault% + \fontseries\mddefault% + \fontshape\updefault% + \small% }% - \@ifpackageloaded{csquotes}{}{% - \ClassWarning{\TUD@Class@Name}{Package `csquotes' not loaded}% - \providecommand\enquote[1]{\glqq#1\grqq{}}% + \renewcommand*\MacroFont{% + \fontencoding\encodingdefault% + \fontfamily\ttdefault% + \fontseries\mdseries@tt% + \fontshape\updefault% + \small% + }% + \CheckCommand*\AltMacroFont{% + \fontencoding\encodingdefault% + \fontfamily\ttdefault% + \fontseries\mddefault% + \fontshape\sldefault% + \small% }% - \@ifpackageloaded{tudscrfonts}{% - \RequirePackage{mweights}[2013/07/21]% - \ifnum\tud@cdfont@num>\z@\relax% true/heavy - \def\mddefault{m}% + \renewcommand*\AltMacroFont{% + \fontencoding\encodingdefault% + \fontfamily\ttdefault% + \fontseries\mdseries@tt% + \fontshape\sldefault% + \small% + }% + \newcommand*\saved@calculatearea{}% + \let\saved@calculatearea\calculatearea% + \let\calculatearea\relax% + \appto\tud@font@set{% + \ifcase\tud@cdfont@num\relax\else% true/heavy \def\mdseries@tt{m}% \renewcommand*\@pnumwidth{1.7em}% \renewcommand*\@tocrmarg{2.7em}% \fi% - \setlength\columnsep{10pt}% - }{% + \saved@calculatearea% + }% +} +\newrobustcmd*\app[1]{\mbox{\textsl{\textbf{#1}}}} +\newrobustcmd*\cls[1]{\mbox{\textsf{\textbf{#1}}}} +\newrobustcmd*\pkg[1]{\mbox{\textsf{\textbf{#1}}}} +\newrobustcmd*\opt[1]{\mbox{\texttt{#1}}} +\newrobustcmd*\val[1]{\mbox{\texttt{#1}}} +\newrobustcmd*\pgs[1]{\mbox{\texttt{#1}}} +\newrobustcmd*\env[1]{\mbox{\texttt{#1}}} +\newrobustcmd*\prm[1]{\mbox{\texttt{#1}}} +\newrobustcmd*\file[1]{\mbox{\texttt{#1}}} +\AfterPackage{hyperref}{% + \pdfstringdefDisableCommands{% + \let\app\@firstofone% + \let\cls\@firstofone% + \let\pkg\@firstofone% + \let\opt\@firstofone% + \let\val\@firstofone% + \let\pgs\@firstofone% + \let\env\@firstofone% + \let\prm\@firstofone% + \let\file\@firstofone% + }% +} +\AtEndPreamble{% + \@ifpackageloaded{babel}{}{% + \ClassWarning{\TUD@Class@Name}{Package `babel' not loaded}% + \providecommand*\selectlanguage[1]{}% + \providecommand*\glqq{\relax}% + \providecommand*\grqq{\relax}% + }% + \@ifpackageloaded{csquotes}{}{% + \ClassWarning{\TUD@Class@Name}{Package `csquotes' not loaded}% + \providecommand\enquote[1]{\emph{#1}}% + }% + \@ifpackageloaded{tudscrfonts}{}{% \RequirePackage{lmodern}[2009/10/30]% \providecommand*\ifdin[2]{#2}% \providecommand*\textuln[1]{\textsf{#1}}% @@ -730,69 +1204,11 @@ \providecommand*\textuxs[1]{\textubs{#1}}% \providecommand*\textdbn[1]{\textubn{#1}}% }% - \title{% - \file{\filename}\thanks{% - Dies ist Version \fileversion\nobreakspace{}von Datei \file{\filename}.% - }% - }% - \author{Falk Hanisch\thanks{\tudscrmail}}% - \date{\filedate}% -} -%%% From File: tudscr-manual.dtx -\RequirePackage{scrhack}[2014/02/27] -\RequirePackage{xspace}[2009/10/20] -\xspaceaddexceptions{"=} -\newcommand*\vTUDScript{v\TUDScriptVersionNumber} -\newcommand*\vKOMAScript{v\TUD@Version@KOMA} -\newcommand*\tud@english[1]{#1} -\AtBeginDocument{% - \providecommand*\iflanguageloaded[3]{#3}% - \iflanguageloaded{english}{% - \renewcommand*\tud@english[1]{\foreignlanguage{english}{#1}}% - }{}% } -\newcommand*\CD{\tud@english{Corporate Design}\xspace} -\newcommand*\CDs{\tud@english{Corporate Designs}\xspace} -\newcommand*\TUD{Technische Universit\"at Dresden\xspace} -\newcommand*\TnUD{Technischen Universit\"at Dresden\xspace} -\newcommand*\TUDCD{\CD der \TnUD} -\newcommand*\TUDCDs{\CDs der \TnUD} -\AtBeginDocument{% -\newrobustcmd*\DDC{% - \mbox{% - D\kern.05em R\kern.05em E\kern.05em S\kern.05em % - D\kern.05em E\kern.05em N\kern.1em-\kern.1em concept% - }\xspace% -} -} -\newcommand*\Univers{\texorpdfstring{\textubn{Univers}}{Univers}\xspace} -\newcommand*\DIN{\texorpdfstring{\textdbn{DIN~BOLD}}{DIN BOLD}\xspace} -%%% From File: tudscr-misc.dtx +%%% From File: tudscr-texindy.dtx \catcode`\#=12 \newcommand*\@hashchar{#} \catcode`\#=6 -\newcommand*\tud@lst@def{% - \newcommand*\tud@lst@values{}% - \newif\if@tud@lst@multi% - \newcommand*\tud@lst@init{% - \let\tud@lst@values\relax% - \@tud@lst@multifalse% - }% - \newcommand*\tud@lst@add[1]{% - \ifx\tud@lst@values\relax\else% - \@tud@lst@multitrue% - \fi% - \listadd\tud@lst@values{##1}% - }% - \newcommand*\tud@lst@process{% - \def\tud@reserved{}% - \if@tud@lst@multi% - \def\tud@reserved{\subsubitem}% - \efill% - \fi% - \forlistloop\tud@reserved{\tud@lst@values}% - }% -} \begingroup \ifdef{\tudxdyflag}{% \newcommand*\tud@write@xdy{} @@ -833,16 +1249,25 @@ \space\space\string\tud@lst@def\@percentchar% }% \fi% + \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% \write\tud@write@xdy{% (define-location-class^^J% \space\space"arabic-page-numbers" ("arabic-numbers")% - \space:min-range-length 1^^J% + \space:min-range-length 2^^J% )^^J% (define-alphabet "AlphaExtended"^^J% \space(^^J% @@ -854,25 +1279,12 @@ \space)^^J% )^^J% (define-location-class^^J% - \space\space"part" ("AlphaExtended" :sep "-" "arabic-numbers")% - \space:min-range-length 1^^J% + \space\space"codeline" ("AlphaExtended" :sep "-" "arabic-numbers")% + \space:min-range-length 2^^J% )^^J% + (define-location-class-order ("arabic-page-numbers" "codeline"))^^J% (markup-range :sep "--")% }% - \if@tud@xdy@glo% - \write\tud@write@xdy{% - (markup-locclass-list% - \space:open "\string\pfill\string\hypersourceref{" :close "}\string\relax"% - )% - }% - \else% - \write\tud@write@xdy{% - (markup-locclass-list% - \space:open "\string\pfill\space"% - \space:close "\string\relax"% - )% - }% - \fi% \write\tud@write@xdy{% (merge-rule "\@backslashchar[(.*)\@backslashchar]" "" :eregexp)% ^^J% @@ -900,7 +1312,7 @@ \space"(.*?)(@)([\string^@~n]*)"% \space"\string\1\string~b\string\3"% \space:eregexp :again% - ) + )% }% \if@tud@xdy@glo% \write\tud@write@xdy{% @@ -924,32 +1336,50 @@ :open "\string~n\@spaces\string\subitem\space" :depth 2% )^^J% (markup-indexentry-list^^J% - \space\space:open \space"\string\tud@lst@init"^^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"\string~n\@spaces\space\string\tud@lst@add{"^^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% )% }% \else% \write\tud@write@xdy{% - (markup-indexentry-list :open "\string\efill" :depth 1)% + (markup-indexentry-list :open "\string\efil" :depth 1)% }% \fi% - \if@tud@xdy@glo\else% \write\tud@write@xdy{% - (define-attributes (("main" "usage" "default")))^^J% - (markup-locref :attr "main"% - \space\space:open "\string\main{"\space\space:close "}"% - )^^J% + (markup-locclass-list% + \space:open "\string\pfill\space"% + \space:close "\string\relax"% + \space:sep ",\space"% + )% + }% + \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 "}"% )% }% - \fi% \closeout\tud@write@xdy% }% } |