summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls')
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls2134
1 files changed, 1189 insertions, 945 deletions
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls
index 2a54c9987d2..88f3e7e0b6c 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls
@@ -4,19 +4,21 @@
%%
%% The original source files were:
%%
-%% tudscr-version.dtx (with options: `class,doc')
+%% tudscr-version.dtx (with options: `class,doc,identify')
%% tudscr-base.dtx (with options: `class,doc,load')
+%% tudscr-misc.dtx (with options: `class,doc,option')
%% tudscr-doc.dtx (with options: `class,doc,option')
%% tudscr-localization.dtx (with options: `class,doc')
-%% tudscr-manual.dtx (with options: `class,doc')
+%% tudscr-misc.dtx (with options: `class,doc,body')
%% tudscr-doc.dtx (with options: `class,doc,body')
%% tudscr-texindy.dtx (with options: `class,doc')
%%
%% TUD-Script -- Corporate Design of Technische Universitaet Dresden
+%% 2022/08/09 v2.06o TUD-Script
%%
-%% 2021/07/15 v2.06n TUD-Script
-%%
-%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2021
+%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2022
+%% https://github.com/tud-cd/tudscr
+%% https://latex.wcms-file3.tu-dresden.de/phpBB3/
%%
%% This file was generated from file(s) of the TUD-Script bundle.
%% ----------------------------------------------------------------------------
@@ -32,92 +34,180 @@
%%
%% The current maintainer and author of this work is Falk Hanisch.
%%
-%%% From File: tudscr-version.dtx
+%%%% From File: tudscr-version.dtx (no git version info was found)
+\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\begingroup
- \catcode`\@11\relax
- \ifx\TUD@Version\@undefined
- \newcommand*\TUD@Version@Check[1]{%
+ \catcode`\@11\relax%
+ \ifx\TUD@Version\@undefined%
+ \newcommand*\TUD@@Version[2]{%
\gdef\TUD@Version{#1}%
- \gdef\TUDScriptVersion{#1}%
- \def\@tempb##1 v##2 ##3\relax##4\relax{\gdef\TUDScriptVersionNumber{##2}}%
- \edef\@tempa{\TUD@Version}%
- \expandafter\@tempb\@tempa\relax? ? \relax\relax%
- \gdef\TUD@Version@KOMA{3.32}%
- }
- \else
- \newcommand*\TUD@Version@Check[1]{%
+ \gdef\TUD@KOMAVersion{#2}%
+ }%
+ \else%
+ \newcommand*\TUD@@Version[2]{%
\def\@tempa{#1}%
\ifx\TUD@Version\@tempa\else%
\@latex@warning@no@line{%
\noexpand\TUD@Version\space is `\TUD@Version',\MessageBreak%
but `#1' was expected!\MessageBreak%
You should not use classes, packages or files from\MessageBreak%
- different TUD-Script-Bundle versions%
+ different TUD-Script bundle versions%
}%
\fi%
- }
- \fi
- \TUD@Version@Check{2021/07/15 v2.06n TUD-Script}
+ }%
+ \fi%
+ \TUD@@Version{2022/08/09 v2.06o TUD-Script}{2022/05/01 v3.36 KOMA-Script}%
+ \ifx\TUDScriptVersion\@undefined%
+ \xdef\TUDScriptVersion{\TUD@Version}%
+ \def\@tempa#1 v#2 #3\relax#4\relax#5{\gdef#5{#2}}%
+ \expandafter\@tempa\TUD@Version ? ?\relax\relax{\TUDScriptVersionNumber}%
+ \expandafter\@tempa\TUD@KOMAVersion ? ?\relax\relax{\TUD@KOMAVersionNumber}%
+ \fi%
\endgroup
-\NeedsTeXFormat{LaTeX2e}[2019/10/01]
-\providecommand*\tudscrmail{hanisch.latex@outlook.com}
-\newcommand*\TUD@ProvidesClass[3]{%
+\@ifundefined{TUDScript}{%
+ \DeclareRobustCommand\TUDScript{%
+ \mbox{%
+ \textsf{%
+ T\kern.05em U\kern.05em D\kern.1em-\kern.1em Script%
+ }%
+ }\ifcsname xspace\endcsname\xspace\fi%
+ }%
+}{}
+\providecommand*\TUDScriptContact{hanisch.latex@outlook.com}
+\providecommand*\TUDScriptRepository{https://github.com/tud-cd/tudscr}
+\providecommand*\TUDScriptForum{https://latex.wcms-file3.tu-dresden.de/phpBB3/}
+\newcommand*\TUD@ProvidesClass[3]
+{%
\ProvidesClass{#1}[%
- 2021/07/15 v2.06n TUD-Script
+ 2022/08/09 v2.06o TUD-Script
#3 (#2)%
]%
\newcommand*\TUD@Class@KOMA{#2}%
\ifx\TUD@Class@Parent\@undefined%
- \newcommand*\TUD@Class@Name{#1}%
- \TUD@Class@Info%
+ \newcommand*\TUD@Class@Name{#1}%
+ \newcommand*\TUDScriptClassName{#1}%
+ \providecommand*\TUDClassName{\TUDScriptClassName}%
+ \TUD@Class@Info%
\fi%
}
\providecommand*\TUD@Class@Info{%
\typeout{+------------------------------------------------------------------}%
\typeout{| Corporate Design of Technische Universitaet Dresden}%
- \typeout{| Class: \TUD@Class@Name}%
- \typeout{| Version: \TUD@Version}%
- \typeout{| Author: Falk Hanisch (\tudscrmail)}%
- \typeout{| Repository: https://github.com/tud-cd/tudscr}%
- \typeout{| Forum: https://latex.wcms-file3.tu-dresden.de}%
+ \typeout{| Class: \TUDScriptClassName}%
+ \typeout{| Version: \TUDScriptVersion}%
+ \typeout{| Author: Falk Hanisch (\TUDScriptContact)}%
+ \typeout{| Repository: \TUDScriptRepository}%
+ \typeout{| Forum: \TUDScriptForum}%
\typeout{+------------------------------------------------------------------}%
}
\TUD@ProvidesClass{tudscrdoc}{scrartcl}{source code documentation class}
-\edef\TUDScriptClassName{\TUD@Class@Name}
-\providecommand*\TUDClassName{\TUDScriptClassName}
-\@ifundefined{TUDScript}{%
- \DeclareRobustCommand\TUDScript{%
- \textsf{%
- T\kern.05em U\kern.05em D\kern.1em-\kern.1em Script%
- }%
- \ifcsname xspace\endcsname%
- \xspace%
- \fi%
- }%
-}{}
-%%% From File: tudscr-base.dtx
-\RequirePackage{tudscrbase}[\TUD@Version]
+%%%% From File: tudscr-base.dtx (no git version info was found)
+\RequirePackage{tudscrbase}[%
+ 2022/08/09 v2.06o TUD-Script
+]
\renewcommand*\TUD@KOMAoptions[1]{\PassOptionsToClass{#1}{\TUD@Class@KOMA}}
\AfterClass{\TUD@Class@KOMA}{\let\TUD@KOMAoptions\KOMAoptions}
-%%% From File: tudscr-doc.dtx
-\newcommand*\scr@maketitle{}%
-\PassOptionsToClass{toc=left,fontsize=10pt}{scrartcl}%
-\AfterClass{scrartcl}{\let\scr@maketitle\@maketitle}%
-\newcommand*\sd@saved@LoadClass{}
-\let\sd@saved@LoadClass=\LoadClass
+%%%% From File: tudscr-misc.dtx (no git version info was found)
+\RequirePackage{scrhack}[%
+ 2022/05/01 v3.36 KOMA-Script
+]
+\RequirePackage{xspace}
+\xspaceaddexceptions{"=}
+\PassOptionsToPackage{quiet}{marginnote}
+\RequirePackage{marginnote}
+\RequirePackage{shellesc}
+\RequirePackage{pdftexcmds}
+\PassOptionsToPackage{hyperindex=false}{hyperref}
+\AfterPackage*{bookmark}{\bookmarksetup{open,openlevel=1}}
+\AfterAtEndOfPackage*{hyperref}{%
+ \@ifpackageloaded{bookmark}{}{\RequirePackage{bookmark}}%
+ \hypersetup{colorlinks,linkcolor=blue}%
+}
+\newcommand*\hrfn[2]{%
+ \href{#1}{\trim@spaces{#2}}%
+ \footnote{\strut\url{#1}}%
+}
+\newrobustcmd*\mailto[1]{\mbox{\href{mailto:#1}{\nolinkurl{#1}}}}
+\TUD@UnwindPackage{hyperref}{%
+ \RequirePackage{url}
+ \providerobustcmd*\url[1]{\texttt{\detokenize{#1}}}%
+ \providerobustcmd*\nolinkurl[1]{\url{#1}}%
+ \providerobustcmd*\href[3][]{#3}%
+ \providecommand*\hypersetup[1]{}%
+ \providecommand*\phantomsection{}%
+ \providecommand*\pdfbookmark[3][]{}%
+ \providecommand*\currentpdfbookmark[2]{}%
+ \providecommand*\subpdfbookmark[2]{}%
+ \providecommand*\belowpdfbookmark[2]{}%
+}
+\AfterPackage*{babel}{\RequirePackage{csquotes}}
+\TUD@UnwindPackage{babel}{%
+ \ClassWarningNoLine{\TUD@Class@Name}{Package `babel' not loaded}%
+ \providecommand*\selectlanguage[1]{}%
+ \providecommand*\glqq{\quotedblbase}%
+ \providecommand*\grqq{\textquotedblleft}%
+ \providecommand*\seename{see}%
+ \providecommand*\alsoname{see\nobreakspace also}%
+}
+\TUD@UnwindPackage{csquotes}{%
+ \ClassWarningNoLine{\TUD@Class@Name}{Package `csquotes' not loaded}%
+ \providecommand\enquote[1]{\emph{#1}}%
+}
+\newcommand*\tud@replace@in[3]{%
+ \begingroup%
+ \edef\tud@res@a{\expandonce{#1}}%
+ \let\tud@res@c\@empty%
+ \def\tud@res@b##1#2##2\@nil{%
+ \IfArgIsEmpty{##2}{%
+ \appto\tud@res@c{##1}%
+ }{%
+ \appto\tud@res@c{##1#3}%
+ \tud@res@b##2\@nil%
+ }%
+ }%
+ \expandafter\tud@res@b\tud@res@a#2\@nil%
+ \edef\tud@res@a{%
+ \endgroup%
+ \unexpanded{\def#1}{\expandonce\tud@res@c}%
+ }%
+ \tud@res@a%
+}
+\newcommand*\tud@replace@@in[3]{%
+ \begingroup%
+ \protected@edef\tud@res@a{#1}%
+ \edef\tud@res@a{\detokenize\expandafter{\tud@res@a}}%
+ \edef\tud@res@b{%
+ \unexpanded{\tud@replace@in\tud@res@a}{\detokenize{#2}}{\detokenize{#3}}%
+ }%
+ \tud@res@b%
+ \edef\tud@res@a{%
+ \endgroup%
+ \unexpanded{\def#1}{\tud@res@a}%
+ }%
+ \tud@res@a%
+}
+%%%% From File: tudscr-doc.dtx (no git version info was found)
+\newcommand*\scr@maketitle{}
+\PassOptionsToClass{toc=left,fontsize=10pt,parskip=half-}{scrartcl}
+\AfterClass{scrartcl}{\let\scr@maketitle\@maketitle}
+\AfterClass{ltxdoc}{\let\@maketitle\scr@maketitle}
+\newcommand*\tud@saved@LoadClass{}
+\let\tud@saved@LoadClass=\LoadClass
\renewcommand*\LoadClass[2][]{%
\begingroup%
\edef\@tempc{#2}\def\@tempb{article}%
\ifx\@tempc\@tempb%
- \let\LoadClass\sd@saved@LoadClass%
+ \let\LoadClass\tud@saved@LoadClass%
\def\@tempc{scrartcl}%
\fi%
\edef\@tempc{%
- \noexpand\endgroup\noexpand\sd@saved@LoadClass[{#1}]{\@tempc}}%
+ \endgroup%
+ \noexpand\tud@saved@LoadClass[{#1}]{\@tempc}%
+ }%
\@tempc%
}
-\newcommand*\sd@saved@PassOptionsToClass{}
-\let\sd@saved@PassOptionsToClass=\PassOptionsToClass
+\newcommand*\tud@saved@PassOptionsToClass{}
+\let\tud@saved@PassOptionsToClass=\PassOptionsToClass
\renewcommand*\PassOptionsToClass[2]{%
\begingroup%
\edef\@tempc{#2}\def\@tempb{article}%
@@ -125,21 +215,30 @@
\def\@tempc{scrartcl}%
\fi%
\edef\@tempc{%
- \noexpand\endgroup\noexpand\sd@saved@PassOptionsToClass{#1}{%
- \@tempc}}%
+ \endgroup%
+ \noexpand\tud@saved@PassOptionsToClass{#1}{\@tempc}%
+ }%
\@tempc%
}
\LoadClassWithOptions{ltxdoc}[2015/03/26]
\setcounter{IndexColumns}{2}
\setcounter{StandardModuleDepth}{2}
+\newcommand*\DisableCrossrefsForced{}
+\let\DisableCrossrefsForced\DisableCrossrefs
\DeclareOption{final}{\let\tudfinalflag\relax}
\DeclareOption{texindy}{\let\tudxdyflag\relax}
\DeclareOption{xindy}{\let\tudxdyflag\relax}
\DeclareOption{xdy}{\let\tudxdyflag\relax}
\ProcessOptions\relax
-\newcommand*\DisableCrossrefsForced{}
-\let\DisableCrossrefsForced\DisableCrossrefs
-%%% From File: tudscr-localization.dtx
+\PassOptionsToPackage{ttfont=lmtt}{tudscrfonts}
+\AfterPackage{tudscrfonts}{%
+ \AtEndPreamble{%
+ \ifnum\tud@ttfont@num>\z@\relax%
+ \edef\mdseries@tt{\tud@ttfont@bf}%
+ \fi%
+ }%
+}
+%%%% From File: tudscr-localization.dtx (no git version info was found)
\newcommand*\tud@localization@define[1]{%
\providecommand*#1{%
\ClassError{\TUD@Class@Name}{%
@@ -149,13 +248,14 @@
languages german and english as well as its dialects. You\MessageBreak%
must 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%
+ You can send your definitions to \TUDScriptContact\space in\MessageBreak%
order to implement support for additional languages.%
}%
}%
}
\tud@localization@define{\tud@general@name}
\tud@localization@define{\tud@implementation@name}
+\tud@localization@define{\tud@symbols@name}
\tud@localization@define{\tud@changes@name}
\tud@localization@define{\tud@todo@name}
\tud@localization@define{\tud@environment@name}
@@ -188,8 +288,9 @@
}
\tud@localization@german{\tud@general@name}{Allgemein}
\tud@localization@german{\tud@implementation@name}{Implementierung}
+\tud@localization@german{\tud@symbols@name}{Symbole}
\tud@localization@german{\tud@changes@name}{\"Anderungsliste}
-\tud@localization@german{\tud@todo@name}{Liste der noch zu erledigenden Punkte}
+\tud@localization@german{\tud@todo@name}{Anstehende Aufgaben}
\tud@localization@german{\tud@environment@name}{Umg.}
\tud@localization@german{\tud@environments@name}{Umgebungen}
\tud@localization@german{\tud@option@name}{Opt.}
@@ -229,8 +330,9 @@
}
\tud@localization@english{\tud@general@name}{General}
\tud@localization@english{\tud@implementation@name}{Implementation}
+\tud@localization@english{\tud@symbols@name}{Symbols}
\tud@localization@english{\tud@changes@name}{Change History}
-\tud@localization@english{\tud@todo@name}{List of ToDos}
+\tud@localization@english{\tud@todo@name}{Pending tasks}
\tud@localization@english{\tud@environment@name}{env.}
\tud@localization@english{\tud@environments@name}{environments}
\tud@localization@english{\tud@option@name}{opt.}
@@ -263,116 +365,43 @@
where the entry is used.%
\fi%
}
-%%% From File: tudscr-manual.dtx
-\RequirePackage{scrhack}[2014/02/27]
-\PassOptionsToPackage{quiet}{marginnote}
-\RequirePackage{marginnote}[2012/03/29]
-\RequirePackage{xspace}[2009/10/20]
-\xspaceaddexceptions{"=}
-\newcommand*\vTUDScript{v\TUDScriptVersionNumber}
-\newcommand*\vKOMAScript{v\TUD@Version@KOMA}
-\newcommand*\tud@english[1]{#1}
-\AtBeginDocument{%
- \iflanguageloaded{english}{%
- \renewcommand*\tud@english[1]{\foreignlanguage{english}{#1}}%
- }{}%
+%%%% From File: tudscr-misc.dtx (no git version info was found)
+\renewcommand*\@pnumwidth{2.1em}
+\renewcommand*\@tocrmarg{3.1em}
+\newcommand*\textsbn{}
+\newrobustcmd*\sbnfont{\sffamily\bfseries\upshape}
+\DeclareTextFontCommand\textsbn{\sbnfont}
+\newcommand*\textsbi{}
+\newrobustcmd*\sbifont{\sffamily\bfseries\itshape}
+\DeclareTextFontCommand\textsbi{\sbifont}
+\newcommand*\textttit{}
+\newrobustcmd*\ttitfont{\ttfamily\itshape}
+\DeclareTextFontCommand\textttit{\ttitfont}
+\newcommand*\tud@english[1]{%
+ \iflanguageloaded{english}{\foreignlanguage{english}{#1}}{#1}%
}
-\RequirePackage{shellesc}[2016/06/07]
-\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}}%
+\AfterPackage*{babel}{%
+ \renewcommand*\tud@english[1]{\foreignlanguage{english}{#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][]{}
-}
-\newcommand*\hrfn[2]{%
- \href{#1}{\trim@spaces{#2}}%
- \footnote{%
- \begingroup%
- \def\_{_}%
- \edef\@tempa{#1}%
- \strut\expandafter\url\expandafter{\@tempa}%
- \endgroup%
- }%
-}
-\newrobustcmd*\mailto[1]{\mbox{\href{mailto:#1}{\nolinkurl{#1}}}}%
+\kernel@make@fragile\KOMAScript
+\edef\KOMAScript{\noexpand\mbox{\expandonce\KOMAScript}\noexpand\xspace}
+\robustify\KOMAScript
+\robustify\TUDScript
\AfterPackage*{hyperref}{%
- \patchcmd{\pdfstringdef}{\csname HyPsd@babel@}{%
- \let\bbl@info\@gobble\csname HyPsd@babel@%
- }{}{\tud@patch@wrn{pdfstringdef}}%
-}
-\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%
+ \pdfstringdefDisableCommands{%
+ \def\KOMAScript{KOMA-Script{}}%
+ \def\TUDScript{TUD-Script{}}%
+ }%
}
-\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*\vTUDScript{v\TUDScriptVersionNumber}
+\newcommand*\vKOMAScript{v\TUD@KOMAVersionNumber}
+\newrobustcmd*\CD{\tud@english{Corporate Design}\xspace}
+\newrobustcmd*\CDs{\tud@english{Corporate Designs}\xspace}
+\newrobustcmd*\TUD{Technische Universit\"at Dresden\xspace}
+\newrobustcmd*\TnUD{Technischen Universit\"at Dresden\xspace}
\newcommand*\TUDCD{\CD der \TnUD}
\newcommand*\TUDCDs{\CDs der \TnUD}
+\newrobustcmd*\TUDForum{\mbox{T\kern.05em U\kern.05em D-\LaTeX-Forum}\xspace}
\newrobustcmd*\DDC{%
\mbox{%
D\kern.05em R\kern.05em E\kern.05em S\kern.05em %
@@ -381,444 +410,654 @@
}
\AfterPackage*{hyperref}{%
\pdfstringdefDisableCommands{%
- \def\DDC{DRESDEN-concept}%
- \def\TUDScript{TUD-Script}%
- \def\KOMAScript{KOMA-Script}%
+ \def\CD{Corporate Design{}}%
+ \def\CDs{Corporate Designs{}}%
+ \def\TUD{Technische Universit\"at Dresden{}}%
+ \def\TnUD{Technischen Universit\"at Dresden{}}%
+ \def\TUDForum{TUD-LaTeX-Forum{}}%
+ \def\DDC{DRESDEN-concept{}}%
}%
}
-\DeclareTextFontCommand\tud@cdfont@texteb{%
- \fontfamily{\tud@cdfont@fam}\fontseries{\tud@cdfont@ebf}\selectfont%
-}
-\newrobustcmd*\OpenSans{%
- \texorpdfstring{\tud@cdfont@texteb{Open~Sans}}{Open Sans}\xspace%
-}
-\newrobustcmd*\Univers{\texorpdfstring{\textcdbi{Univers}}{Univers}\xspace}
-\newrobustcmd*\DIN{\texorpdfstring{\textcdxi{DIN~Bold}}{DIN Bold}\xspace}
-\renewcommand*\@pnumwidth{2.1em}%
-\renewcommand*\@tocrmarg{3.1em}%
-%%% From File: tudscr-doc.dtx
-\RequirePackage{dox}[2010/12/16]
-\@ifpackagelater{dox}{2017/12/07}{%
- \ClassWarning{\TUD@Class@Name}{%
- Package `dox' was updated so some patches\MessageBreak%
- are maybe outdated%
+\newrobustcmd*\OpenSans{\textcdbn{Open\nobreakspace Sans}\xspace}
+\newrobustcmd*\Univers{\textcdbi{Univers}\xspace}
+\newrobustcmd*\DIN{\textcdbi{DIN\nobreakspace Bold}\xspace}
+\AfterPackage*{hyperref}{%
+ \pdfstringdefDisableCommands{%
+ \def\OpenSans{Open Sans{}}%
+ \def\Univers{Univers{}}%
+ \def\DIN{DIN Bold{}}%
}%
-}{}%
-\CheckCommand\m@cro@[2]{%
- \endgroup \topsep\MacroTopsep \trivlist
- \edef\saved@macroname{\string#2}%
- #1
- \let\saved@indexname\saved@macroname
- \else
- \edef\saved@indexname{\expandafter\@gobble\string#2}%
- \fi
- \def\makelabel##1{\llap{##1}}%
- \if@inlabel
- \let\@tempa\@empty \count@\macro@cnt
- \loop \ifnum\count@>\z@
- \edef\@tempa{\@tempa\hbox{\strut}}\advance\count@\m@ne \repeat
- \edef\makelabel##1{\llap{\vtop to\baselineskip
- {\@tempa\hbox{##1}\vss}}}%
- \advance \macro@cnt \@ne
- \else \macro@cnt\@ne \fi
- \edef\@tempa{\noexpand\item[%
- #1%
- \noexpand\PrintMacroName
- \else
- \noexpand\PrintEnvName
- \fi
- {\string#2}]}%
- \@tempa
- \global\advance\c@CodelineNo\@ne
- #1%
- \SpecialMainIndex{#2}\nobreak
- \DoNotIndex{#2}%
- \else
- \SpecialMainEnvIndex{#2}\nobreak
- \fi
- \global\advance\c@CodelineNo\m@ne
- \ignorespaces
-}
-\CheckCommand\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
- \def\@doxexpr{\@doxcreatespecialmainmacrolikeindex{#2}}%
- \else
- \def\@doxexpr{\@doxcreatespecialmainindex{#2}}%
- \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
- \def\@doxexpr{\@doxcreatespecialmacrolikeindex{#2}}%
- \else
- \def\@doxexpr{\@doxcreatespecialindex{#2}}%
- \fi
- \expandafter\@doxexpr\expandafter{\dox@idxtype}{#4}%
- \@doxcreatedescribe{#2}
- \@doxcreateenv{#2}{#3}
- \ifdox@macrolike
- \expandafter\let\csname @Save#2IndexName\endcsname%
- \@doxsavemacrolikeindexname%
- \else
- \expandafter\let\csname @Save#2IndexName\endcsname\@doxsaveindexname%
- \fi
}
-\renewcommand*\doxitem[4][]{%
- \@nameuse{dox@macrolike\dox@macrolikedefault}%
- \def\dox@idxtype{#3}%
- \setkeys{dox}{#1}%
- \ifdox@macrolike%
- \def\@doxexpr{\@doxcreatespecialmainmacrolikeindex{#2}}%
- \else%
- \def\@doxexpr{\@doxcreatespecialmainindex{#2}}%
- \fi%
- \expandafter\@doxexpr\expandafter{\dox@idxtype}{#4}%
- \ifdox@macrolike%
- \def\@doxexpr{\@doxcreatespecialmacrolikeindex{#2}}%
- \else%
- \def\@doxexpr{\@doxcreatespecialindex{#2}}%
- \fi%
- \expandafter\@doxexpr\expandafter{\dox@idxtype}{#4}%
- \ifdox@macrolike%
- \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{#2}}%
- \fi%
- \expandafter\@doxexpr\expandafter{\dox@idxtype}%
- \@doxcreatedescribe{#2}%
- \@doxcreatedescribes{#2}%
- \@doxcreateenv{#2}{#3}%
-}
-\newlength\marginnotevskip
-\newcommand*\@doxcreatedescribes[1]{%
- \expandafter\def\csname Describe#1s\endcsname##1{%
- \setlength\marginnotevskip{\z@}%
- \def\@tempc{##1}%
- \@for\@tempa:=\@tempc\do{%
- \expandafter\ifblank\expandafter{\@tempa}{}{%
- \edef\@tempb{%
- \expandonce{\csname Describe#1\endcsname}{\expandonce{\@tempa}}%
- }%
- \@tempb%
- \addtolength\marginnotevskip{\baselineskip}%
- }%
+\newcommand*\GitHubBase[1]{}
+\NewDocumentCommand\GitHubRepo{!s !t' !O{releases} !D(){tud-cd/tudscr} !d<>}{%
+ \IfBooleanTF{#1}{\toks@{\href}}{\toks@{\hrfn}}%
+ \IfBooleanT{#2}{\toks@{\url}}%
+ \def\@tempa{https://github.com/#4/}%
+ \edef\@tempa{{\@tempa\IfValueTF{#5}{issues/#5}{#3}}}%
+ \addto@hook@expandafter\toks@{\@tempa}%
+ \IfBooleanF{#2}{%
+ \addto@hook\toks@{{\tud@english{GitHub-Repository~\textsbn{#4}}}}%
+ }%
+ \the\toks@\xspace%
+}
+\NewDocumentCommand\CTAN{!s !o !g}{%
+ \IfBooleanTF{#1}{\toks@{\href}}{\toks@{\hrfn}}%
+ \addto@hook\toks@{{http://www.ctan.org/\IfValueT{#2}{#2}}}%
+ \addto@hook\toks@{%
+ {\tud@english{Comprehensive TeX Archive Network (CTAN\IfValueT{#3}{~#3})}}%
+ }%
+ \the\toks@\xspace%
+}
+\NewDocumentCommand\Forum{!s !t' !O{\TUDForum} !d<>}{%
+ \IfBooleanTF{#1}{\toks@{\href}}{\toks@{\hrfn}}%
+ \IfBooleanT{#2}{\toks@{\url}}%
+ \def\@tempa{http://latex.wcms-file3.tu-dresden.de/phpBB3/}%
+ \edef\@tempa{{\@tempa\IfValueT{#4}{viewtopic.php?t=#4}}}%
+ \addto@hook@expandafter\toks@{\@tempa}%
+ \IfBooleanF{#2}{\addto@hook\toks@{{#3}}}%
+ \the\toks@\xspace%
+}
+\newcommand*\Attention[2][\z@]{%
+ \marginnote{%
+ \tud@setdim\fboxsep{0.25em}%
+ \fbox{Achtung!}%
+ }[{#1}]%
+ \emph{\trim@spaces{#2}}%
+}
+\newrobustcmd*\TUDScriptContactTitle{%
+ \ifundef{\emailaddress}{%
+ \qquad\expandafter\mailto\expandafter{\TUDScriptContact}%
+ }{%
+ \expandafter\emailaddress\expandafter{\TUDScriptContact}%
+ }%
+}
+\AfterPackage*{hyperref}{%
+ \pdfstringdefDisableCommands{\let\TUDScriptContactTitle\relax}%
+}
+%%%% From File: tudscr-doc.dtx (no git version info was found)
+\AtEndOfClass{%
+ \@ifpackageloaded{tudscr-gitinfo}{%
+ \GetFileInfo{\jobname}%
+ \title{\file{\filename}}%
+ \date{%
+ \filedate%
+ \ifdefvoid{\fileversion}{}{\nobreakspace\fileversion}%
+ \ifdefvoid{\filerevision}{}{\nobreakspace\texttt{\filerevision}}%
}%
- \setlength\marginnotevskip{\z@}%
- \ignorespaces%
+ }{}%
+ \CodelineIndex%
+ \RecordChanges%
+}
+\AtBeginDocument{%
+ \ifdefvoid{\filename}{%
+ \IfFileExists{\jobname.dtx}{%
+ \edef\filename{\jobname.dtx}%
+ }{%
+ \edef\filename{\jobname.tex}%
+ }%
+ \undef\filedate%
+ \undef\fileversion%
+ \undef\filerevision%
+ \undef\fileinfo%
+ \expandafter\GetFileInfo\expandafter{\filename}%
+ }{}%
+ \ifdefvoid{\filerevision}{\let\filerevision\@empty}{}%
+}
+\pretocmd\@docinclude{%
+ \GetFileInfo{#1}\pagestyle{tudscrdoc}%
+}{}{\tud@patch@wrn{@docinclude}}
+\def\ps@tudscrdoc{%
+ \let\@mkboth\@gobbletwo%
+ \let\@oddhead\@empty%
+ \let\@evenhead\@empty%
+ \def\@oddfoot{%
+ File\ifnum\c@part>\z@\nobreakspace\thepart\fi:%
+ \nobreakspace\texttt{\ifdefvoid{\filename}{?}{\filename}}%
+ \enskip Version:\nobreakspace\ifdefvoid{\filedate}{?}{\filedate}%
+ \ifdefvoid{\fileversion}{}{\nobreakspace\fileversion}%
+ \ifdefvoid{\filerevision}{}{\enskip\texttt{\filerevision}}%
+ \hfill\thepage%
}%
+ \def\@evenfoot{\@oddfoot}%
}
-\@doxcreatedescribes{Macro}
+\pagestyle{tudscrdoc}%
+\let\ps@titlepage\ps@tudscrdoc%
+\tud@newdim\tud@dim@marginnotevskip
\AfterPackage*{marginnote}{%
\renewcommand*\marginpar[2][]{%
\IfArgIsEmpty{#1}{%
- \marginnote{#2}[\marginnotevskip]%
+ \marginnote{#2}[\tud@dim@marginnotevskip]%
}{%
- \marginnote[{#1}]{#2}[\marginnotevskip]%
+ \marginnote[{#1}]{#2}[\tud@dim@marginnotevskip]%
}%
}%
}
-\newrobustcmd*\index@type[1]{%
+\newcommand*\doc@createdescribes[1]{%
+ \expandafter\newcommand\expandafter*\csname Describe#1s\endcsname[2][]{%
+ \tud@setdim\tud@dim@marginnotevskip{\z@}%
+ \def\@tempc{##2}%
+ \@for\@tempa:=\@tempc\do{%
+ \trim@spaces@in\@tempa%
+ \ifx\@tempa\@empty\else%
+ \def\@tempb{\@nameuse{Describe#1}[{##1}]}%
+ \expandafter\@tempb\expandafter{\@tempa}%
+ \tud@addtodim\tud@dim@marginnotevskip{1\baselineskip}%
+ \fi%
+ }%
+ \tud@setdim\tud@dim@marginnotevskip{\z@}%
+ \ignorespaces%
+ }%
+}
+\NewDocumentCommand{\tud@idx@typemarkup}{r()}{%
\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%
+\AtBeginDocument{\let\PrintMacroName\@@PrintMacroName}
+\apptocmd\@NewDocElement{%
+ \doc@createdescribes{#2}%
+ \csletcs{@@PrintDescribe#2}{PrintDescribe#2}%
+ \csletcs{@@Print#2Name}{Print#2Name}%
+ \csletcs{@@SpecialMain#2Index}{SpecialMain#2Index}%
+ \csletcs{@@Special#2Index}{Special#2Index}%
+}{}{\tud@patch@wrn{@NewDocElement}}
+\patchcmd\@NewDocElement{%
+ \@temptokena\expandafter{%
+ \expandafter\textnormal\expandafter{%
+ \expandafter\space\expandafter(\doc@printtype)%
}%
- \protected@edef\tud@reserved{#3}%
- \special@index{%
- \expandonce\tud@reserved:\levelchar\@gtempa\actualchar%
- \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar%
- \encapchar main%
+ }%
+}{%
+ \@temptokena\expandafter{%
+ \expandafter\textnormal\expandafter{%
+ \expandafter\tud@idx@typemarkup\expandafter(\doc@printtype)\strut%
}%
- \@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%
+}{}{\tud@patch@wrn{@NewDocElement}}
+\newcommand*\tud@idx@sortkey{}
+\let\tud@idx@sortkey\relax
+\newcommand*\tud@idx@format{}
+\let\tud@idx@format\relax
+\newcommand*\tud@idx@element{}
+\let\tud@idx@element\relax
+\newcommand*\tud@idx@parent{}
+\let\tud@idx@parent\relax
+\CheckCommand*\doc@createspecialindexes[3]{%
+ \@temptokena{\space (#2)}%
+ \@temptokenb{#3:}%
+ \@nameedef{SpecialMain#1Index}##1{%
+ \noexpand\@bsphack
+ \ifdoc@toplevel
+ \noexpand\special@index{%
+ ##1\noexpand\actualchar{\string\ttfamily\space##1}%
+ \ifx\@nil#2\@nil\else\the\@temptokena\fi
+ \noexpand\encapchar main%
+ }%
+ \fi
+ \ifx\@nil#3\@nil\else
+ \noexpand\special@index{%
+ \the\@temptokenb\noexpand\levelchar
+ ##1\noexpand\actualchar{\string\ttfamily\space##1}%
+ \noexpand\encapchar main%
+ }%
+ \fi
+ \noexpand\@esphack%
+ }%
+ \@nameedef{Special#1Index}##1{%
+ \noexpand\@bsphack
+ \ifdoc@toplevel
+ \noexpand\doc@providetarget
+ \noexpand\index{%
+ ##1\noexpand\actualchar{\string\ttfamily\space##1}%
+ \ifx\@nil#2\@nil\else\the\@temptokena\fi
+ \noexpand\doc@handleencap{usage}%
+ }%
+ \fi
+ \ifx\@nil#3\@nil\else
+ \noexpand\index{%
+ \the\@temptokenb\noexpand\levelchar
+ ##1\noexpand\actualchar{\string\ttfamily\space##1}%
+ \noexpand\doc@handleencap{usage}%
+ }%
+ \fi
+ \noexpand\@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%
+\renewcommand*\doc@createspecialindexes[3]{%
+ \@temptokena{\space (#2)}%
+ \@temptokenb{#3:}%
+ \@nameedef{SpecialMain#1Index}##1{%
+ \noexpand\@bsphack
+ \ifdoc@toplevel
+ \noexpand\special@index{%
+ % PATCH: add `\the\@temptokena' to sorting argument
+ ##1\ifx\@nil#2\@nil\else\the\@temptokena\fi
+ \noexpand\actualchar{\string\ttfamily\space##1}%
+ % PATCH: add `\tud@idx@typemarkup' for markup
+ \ifx\@nil#2\@nil\else\noexpand\tud@idx@typemarkup\the\@temptokena\fi
+ \noexpand\encapchar main%
+ }%
+ \fi
+ \ifx\@nil#3\@nil\else
+ \noexpand\special@index{%
+ \the\@temptokenb\noexpand\levelchar
+ % PATCH: add `\the\@temptokena' to sorting argument
+ ##1\ifx\@nil#2\@nil\else\the\@temptokena\fi
+ \noexpand\actualchar{\string\ttfamily\space##1}%
+ \noexpand\encapchar main%
+ }%
+ \fi
+ \noexpand\@esphack%
+ % PATCH: assign used sort key and formatted entry to dedicated macros
+ \gdef\noexpand\tud@idx@sortkey{##1\ifx\@nil#2\@nil\else\the\@temptokena\fi}%
+ \gdef\noexpand\tud@idx@format{%
+ {\string\ttfamily\space##1}%
+ \ifx\@nil#2\@nil\else\noexpand\tud@idx@typemarkup\the\@temptokena\fi
}%
- \protected@edef\tud@reserved{#3}%
- \special@index{%
- \expandonce\tud@reserved:\levelchar##1\actualchar%
- {\string\ttfamily\space##1}\encapchar main%
+ % PATCH: reset settings for nested index and changelog entries
+ \gdef\noexpand\tud@idx@element{#1}%
+ \global\let\noexpand\tud@idx@parent\relax%
+ }%
+ \@nameedef{Special#1Index}##1{%
+ \noexpand\@bsphack
+ \ifdoc@toplevel
+ \noexpand\doc@providetarget
+ \noexpand\index{%
+ % PATCH: add `\the\@temptokena' to sorting argument
+ ##1\ifx\@nil#2\@nil\else\the\@temptokena\fi
+ \noexpand\actualchar{\string\ttfamily\space##1}%
+ % PATCH: add `\tud@idx@typemarkup' for markup
+ \ifx\@nil#2\@nil\else\noexpand\tud@idx@typemarkup\the\@temptokena\fi
+ \noexpand\doc@handleencap{usage}%
+ }%
+ \fi
+ \ifx\@nil#3\@nil\else
+ \noexpand\index{%
+ \the\@temptokenb\noexpand\levelchar
+ % PATCH: add `\the\@temptokena' to sorting argument
+ ##1\ifx\@nil#2\@nil\else\the\@temptokena\fi
+ \noexpand\actualchar{\string\ttfamily\space##1}%
+ \noexpand\doc@handleencap{usage}%
+ }%
+ \fi
+ \noexpand\@esphack%
+ % PATCH: assign used sort key and formatted entry to dedicated macros
+ \gdef\noexpand\tud@idx@sortkey{##1\ifx\@nil#2\@nil\else\the\@temptokena\fi}%
+ \gdef\noexpand\tud@idx@format{%
+ {\string\ttfamily\space##1}%
+ \ifx\@nil#2\@nil\else\noexpand\tud@idx@typemarkup\the\@temptokena\fi
}%
- \@esphack%
- \let\parameter@parent@changes\relax%
- \hypersourcedef{\filesep\number\c@CodelineNo}%
+ % PATCH: reset settings for nested index and changelog entries
+ \gdef\noexpand\tud@idx@element{#1}%
+ \global\let\noexpand\tud@idx@parent\relax%
}%
}
-\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%
+\CheckCommand*\doc@createspecialmacrolikeindexes[3]{%
+ \@temptokena{\space (#2)}%
+ \@temptokenb{#3:}%
+ \@nameedef{Code#1Index}##1##2{%
+ \noexpand\@SpecialIndexHelper@##2\noexpand\@nil
+ \noexpand\@bsphack
+ \noexpand\ifdoc@noindex\noexpand\else
+ \ifdoc@toplevel
+ \noexpand\special@index{%
+ \noexpand\@gtempa\noexpand\actualchar
+ \string\verb% % to fool emacs highlighting
+ \noexpand\quotechar*\noexpand\verbatimchar
+ \noexpand\bslash\noexpand\@gtempa\noexpand\verbatimchar
+ \ifx\@nil#2\@nil\else \the\@temptokena \fi
+ \noexpand\encapchar ##1%
+ }%
+ \fi
+ \ifx\@nil#3\@nil\else
+ \noexpand\special@index{%
+ \the\@temptokenb\noexpand\levelchar
+ \noexpand\@gtempa\noexpand\actualchar
+ \string\verb% % to fool emacs highlighting
+ \noexpand\quotechar*\noexpand\verbatimchar
+ \noexpand\bslash\noexpand\@gtempa\noexpand\verbatimchar
+ \noexpand\encapchar ##1%
+ }%
+ \fi
+ \noexpand\fi
+ \noexpand\@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%
+ \@nameedef{SpecialMain#1Index}##1{%
+ \expandafter\noexpand\csname Code#1Index\endcsname{main}{##1}%
}%
-}
-\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%
+ \@nameedef{Special#1Index}##1{%
+ \noexpand\@SpecialIndexHelper@##1\noexpand\@nil
+ \noexpand\@bsphack
+ \noexpand\ifdoc@noindex\noexpand\else
+ \ifdoc@toplevel
+ \noexpand\doc@providetarget
+ \noexpand\index{%
+ \noexpand\@gtempa\noexpand\actualchar
+ \string\verb% % to fool emacs highlighting
+ \noexpand\quotechar*\noexpand\verbatimchar
+ \noexpand\bslash\noexpand\@gtempa\noexpand\verbatimchar
+ \ifx\@nil#2\@nil\else \the\@temptokena \fi
+ \noexpand\doc@handleencap{usage}%
+ }%
+ \fi
+ \ifx\@nil#3\@nil\else
+ \noexpand\index{%
+ \the\@temptokenb\noexpand\levelchar
+ \noexpand\@gtempa\noexpand\actualchar
+ \string\verb% % to fool emacs highlighting
+ \noexpand\quotechar*\noexpand\verbatimchar
+ \noexpand\bslash\noexpand\@gtempa\noexpand\verbatimchar
+ \noexpand\doc@handleencap{usage}%
+ }%
+ \fi
+ \noexpand\fi
+ \noexpand\@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%
+\renewcommand*\doc@createspecialmacrolikeindexes[3]{%
+ \@temptokena{\space (#2)}%
+ \@temptokenb{#3:}%
+ \@nameedef{Code#1Index}##1##2{%
+ \noexpand\@SpecialIndexHelper@##2\noexpand\@nil
+ \noexpand\@bsphack
+ \noexpand\ifdoc@noindex\noexpand\else
+ \ifdoc@toplevel
+ \noexpand\special@index{%
+ % PATCH: add `\the\@temptokena' to sorting argument
+ \noexpand\@gtempa\ifx\@nil#2\@nil\else\the\@temptokena\fi
+ \noexpand\actualchar
+ \string\verb% % to fool emacs highlighting
+ \noexpand\quotechar*\noexpand\verbatimchar
+ \noexpand\bslash\noexpand\@gtempa\noexpand\verbatimchar
+ % PATCH: add `\tud@idx@typemarkup' for markup
+ \ifx\@nil#2\@nil\else\noexpand\tud@idx@typemarkup\the\@temptokena\fi
+ \noexpand\encapchar ##1%
+ }%
+ \fi
+ \ifx\@nil#3\@nil\else
+ \noexpand\special@index{%
+ \the\@temptokenb\noexpand\levelchar
+ % PATCH: add `\the\@temptokena' to sorting argument
+ \noexpand\@gtempa\ifx\@nil#2\@nil\else\the\@temptokena\fi
+ \noexpand\actualchar
+ \string\verb% % to fool emacs highlighting
+ \noexpand\quotechar*\noexpand\verbatimchar
+ \noexpand\bslash\noexpand\@gtempa\noexpand\verbatimchar
+ \noexpand\encapchar ##1%
+ }%
+ \fi
+ \noexpand\fi
+ \noexpand\@esphack%
+ }%
+ \@nameedef{SpecialMain#1Index}##1{%
+ \expandafter\noexpand\csname Code#1Index\endcsname{main}{##1}%
+ % PATCH: assign used sort key and formatted entry to dedicated macros
+ \xdef\noexpand\tud@idx@sortkey{%
+ \noexpand\expandonce\noexpand\@gtempa%
+ \ifx\@nil#2\@nil\else\noexpand\unexpanded{\the\@temptokena}\fi%
}%
- \protected@edef\tud@reserved{#3}%
- \index{%
- \expandonce\tud@reserved:\levelchar##1\actualchar%
- {\protect\ttfamily##1}\encapchar usage%
+ \xdef\noexpand\tud@idx@format{%
+ \unexpanded{\noexpand\string\noexpand\verb}%
+ \unexpanded{\noexpand\quotechar*\noexpand\verbatimchar}%
+ \unexpanded{\noexpand\bslash}\noexpand\expandonce\noexpand\@gtempa%
+ \unexpanded{\noexpand\verbatimchar}%
+ \ifx\@nil#2\@nil\else
+ \noexpand\unexpanded{\noexpand\tud@idx@typemarkup\the\@temptokena}%
+ \fi
}%
- \@esphack%
+ % PATCH: reset settings for nested index and changelog entries
+ \gdef\noexpand\tud@idx@element{#1}%
+ \global\let\noexpand\tud@idx@parent\relax
}%
-}
-\def\@doxcreatemacrolikeprintname#1#2{%
- \ifcsundef{Print#1Name}{%
- \expandafter\def\csname Print#1Name\endcsname##1{%
- \MacroFont\string##1\index@type{#2}\strut\ %
+ \@nameedef{Special#1Index}##1{%
+ \noexpand\@SpecialIndexHelper@##1\noexpand\@nil
+ \noexpand\@bsphack
+ \noexpand\ifdoc@noindex\noexpand\else
+ \ifdoc@toplevel
+ \noexpand\doc@providetarget
+ \noexpand\index{%
+ % PATCH: add `\the\@temptokena' to sorting argument
+ \noexpand\@gtempa\ifx\@nil#2\@nil\else\the\@temptokena\fi
+ \noexpand\actualchar
+ \string\verb% % to fool emacs highlighting
+ \noexpand\quotechar*\noexpand\verbatimchar
+ \noexpand\bslash\noexpand\@gtempa\noexpand\verbatimchar
+ % PATCH: add `\tud@idx@typemarkup' for markup
+ \ifx\@nil#2\@nil\else\noexpand\tud@idx@typemarkup\the\@temptokena\fi
+ \noexpand\doc@handleencap{usage}%
+ }%
+ \fi
+ \ifx\@nil#3\@nil\else
+ \noexpand\index{%
+ \the\@temptokenb\noexpand\levelchar
+ % PATCH: add `\the\@temptokena' to sorting argument
+ \noexpand\@gtempa\ifx\@nil#2\@nil\else\the\@temptokena\fi
+ \noexpand\actualchar
+ \string\verb% % to fool emacs highlighting
+ \noexpand\quotechar*\noexpand\verbatimchar
+ \noexpand\bslash\noexpand\@gtempa\noexpand\verbatimchar
+ \noexpand\doc@handleencap{usage}%
+ }%
+ \fi
+ \noexpand\fi
+ \noexpand\@esphack%
+ % PATCH: assign used sort key and formatted entry to dedicated macros
+ \xdef\noexpand\tud@idx@sortkey{%
+ \noexpand\expandonce\noexpand\@gtempa%
+ \ifx\@nil#2\@nil\else\noexpand\unexpanded{\the\@temptokena}\fi%
}%
- }{}%
- \ifcsundef{PrintDescribe#1}{%
- \expandafter\def\csname PrintDescribe#1\endcsname##1{%
- \MacroFont\string##1\index@type{#2}\strut\ %
+ \xdef\noexpand\tud@idx@format{%
+ \unexpanded{\noexpand\string\noexpand\verb}%
+ \unexpanded{\noexpand\quotechar*\noexpand\verbatimchar}%
+ \unexpanded{\noexpand\bslash}\noexpand\expandonce\noexpand\@gtempa%
+ \unexpanded{\noexpand\verbatimchar}%
+ \ifx\@nil#2\@nil\else
+ \noexpand\unexpanded{\noexpand\tud@idx@typemarkup\the\@temptokena}%
+ \fi
}%
- }{}%
+ % PATCH: reset settings for nested index and changelog entries
+ \gdef\noexpand\tud@idx@element{#1}%
+ \global\let\noexpand\tud@idx@parent\relax
+ }%
}
-\def\@doxcreateprintname#1#2{%
- \ifcsundef{Print#1Name}{%
- \expandafter\def\csname Print#1Name\endcsname##1{%
- \MacroFont##1\index@type{#2}\strut\ %
- }%
- }{}%
- \ifcsundef{PrintDescribe#1}{%
- \expandafter\def\csname PrintDescribe#1\endcsname##1{%
- \MacroFont##1\index@type{#2}\strut\ %
- }%
- }{}%
+\def\tud@res@a#1{%
+ \kernel@ifnextchar[%]
+ {\tud@res@b{#1}}{\tud@res@b{#1}[]}%
}
-\newcommand*\saved@indextype{}
-\def\@doxcreatemacrolikeindexname#1#2{%
- \expandafter\def\csname @Save#1IndexName\endcsname##1{%
- \edef\saved@indexname{\expandafter\@gobble##1}%
- \protected@edef\saved@indextype{#2}%
- }%
+\def\tud@res@b#1[#2]#3#4{%
+ #1[{%
+ idxgroup=\csname tud@#4s@name\endcsname,%
+ idxtype=\csname tud@#4@name\endcsname,%
+ printtype=\csname tud@#4@name\endcsname,%
+ #2%
+ }]{#3}{#4}%
}
-\def\@doxcreateindexname#1#2{%
- \expandafter\def\csname @Save#1IndexName\endcsname##1{%
- \let\saved@indexname##1%
- \protected@edef\saved@indextype{#2}%
- }%
+\tud@res@a\RenewDocElement[macrolike,idxgroup,idxtype,printtype]{Macro}{macro}
+\tud@res@a\RenewDocElement{Env}{environment}
+\tud@res@a\NewDocElement{Option}{option}
+\tud@res@a\NewDocElement{LayerPageStyle}{layerpagestyle}
+\tud@res@a\NewDocElement{Layer}{layer}
+\tud@res@a\NewDocElement[macrolike]{Length}{length}
+\tud@res@a\NewDocElement{Counter}{counter}
+\tud@res@a\NewDocElement{Color}{TUDcolor}
+\tud@res@a\NewDocElement[macrolike]{Localization}{localization}
+\tud@res@a\NewDocElement[macrolike]{Field}{field}
+\tud@res@a\NewDocElement{Font}{KOMAfont}
+\tud@res@a\NewDocElement{Parameter}{parameter}
+\newcommand*\DescribeMacroParameters{}
+\def\DescribeMacroParameters{%
+ \kernel@ifnextchar[%]
+ {\Describe@Parameters{Macro}}{\Describe@Parameters{Macro}[]}%
}
-\CheckCommand*\@SaveMacroIndexName[1]{%
- \edef\saved@indexname{\expandafter\@gobble#1}%
-}
-\CheckCommand*\@SaveEnvIndexName[1]{\let\saved@indexname#1}
-\apptocmd{\@SaveMacroIndexName}{%
- \let\saved@indextype\@empty%
-}{}{\tud@patch@wrn{@SaveMacroIndexName}}
-\CheckCommand*\SpecialMainMacroIndex[1]{%
- \SpecialMainIndex{#1}\nobreak%
- \DoNotIndex{#1}%
-}
-\apptocmd{\SpecialMainMacroIndex}{%
- \let\parameter@parent@changes\relax%
- \hypersourcedef{\filesep\number\c@CodelineNo}%
-}{}{\tud@patch@wrn{SpecialMainMacroIndex}}
-\renewcommand*\tud@reserved[3][]{%
- \doxitem[#1,idxtype=\csname tud@#3@name\endcsname]{#2}{#3}{%
- \csname tud@#3s@name\endcsname%
- }%
+\newcommand*\DescribeEnvParameters{}
+\def\DescribeEnvParameters{%
+ \kernel@ifnextchar[%]
+ {\Describe@Parameters{Env}}{\Describe@Parameters{Env}[]}%
}
-\undef\PrintEnvName
-\undef\PrintDescribeEnv
-\tud@reserved{Env}{environment}
-\tud@reserved{Option}{option}
-\tud@reserved{LayerPageStyle}{layerpagestyle}
-\tud@reserved{Layer}{layer}
-\tud@reserved[macrolike]{Length}{length}
-\tud@reserved{Counter}{counter}
-\tud@reserved{Color}{TUDcolor}
-\tud@reserved[macrolike]{Localization}{localization}
-\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{\@SaveMacroIndexName}{%
- \edef\parameter@parent@indexname{\expandafter\@gobble#1}%
- \edef\parameter@parent@indexformat{%
- \string\verb\quotechar*\verbatimchar#1\verbatimchar%
+\newcommand*\Describe@Parameters{}
+\def\Describe@Parameters#1[#2]#3#4{%
+ \begingroup%
+ \csname keys_set:nn\endcsname{doc}{#2}%
+ \ifdoc@noindex%
+ \aftergroup\@gobble%
+ \else%
+ \aftergroup\@firstofone%
+ \fi%
+ \endgroup{%
+ \def\@tempc{#3}%
+ \@for\@tempa:=\@tempc\do{%
+ \trim@spaces@in\@tempa%
+ \ifx\@tempa\@empty\else%
+ \begingroup%
+ \let\index\@gobble%
+ \def\@tempb{\@nameuse{Describe#1}[noprint]}%
+ \expandafter\@tempb\expandafter{\@tempa}%
+ \xdef\tud@idx@parent{%
+ {\expandonce\tud@idx@sortkey}{\expandonce\tud@idx@format}%
+ }%
+ \endgroup%
+ \DescribeParameters[{#2,noprint}]{#4}%
+ \fi%
+ }%
}%
-}{}{\tud@patch@wrn{@SaveMacroIndexName}}
-\apptocmd{\@SaveEnvIndexName}{%
- \protected@edef\parameter@parent@indexname{#1\space\saved@indextype}%
- \protected@edef\parameter@parent@indexformat{%
- \string\verb\quotechar*\verbatimchar#1\verbatimchar%
- \index@type{\saved@indextype}%
+ \begingroup%
+ \csname keys_set:nn\endcsname{doc}{#2}%
+ \ifdoc@noprint%
+ \aftergroup\@gobble%
+ \else%
+ \aftergroup\@firstofone%
+ \fi%
+ \endgroup{%
+ \DescribeParameters[{#2,noindex}]{#4}%
}%
-}{}{\tud@patch@wrn{@SaveEnvIndexName}}
+ \global\let\tud@idx@parent\relax%
+}
\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'.%
+ \ifx\tud@idx@parent\relax%
+ \@expandtwoargs\in@{\tud@idx@element}{Macro,Env}%
+ \ifin@%
+ \xdef\tud@idx@parent{%
+ {\expandonce\tud@idx@sortkey}{\expandonce\tud@idx@format}%
+ }%
+ \else%
+ \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%
+ \fi%
+ \ifx\tud@idx@parent\relax\else%
+ \gdef\tud@idx@sortkey{#1\space(\tud@parameter@name)}%
+ \gdef\tud@idx@format{%
+ {\string\ttfamily\space#1}%
+ \tud@idx@typemarkup\space(\tud@parameter@name)%
}%
+ \@bsphack%
+ \special@index{%
+ \expandafter\@firstoftwo\tud@idx@parent\actualchar%
+ \expandafter\@secondoftwo\tud@idx@parent\levelchar%
+ \tud@idx@sortkey\actualchar\tud@idx@format%
+ \encapchar main%
+ }%
+ \@esphack%
\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}%
}
-\newenvironment{DescribeParameterParent}[2]{%
- \@nameuse{@Save#1IndexName}{\string#2}%
-}{}
\renewcommand*\SpecialParameterIndex[1]{%
- \ifx\parameter@parent@indexname\relax%
- \ClassError{\TUD@Class@Name}{No previous macro or environment}{%
+ \ifx\tud@idx@parent\relax%
+ \ClassError{\TUD@Class@Name}{No macro or environment given}{%
Since parameters can only be used for macros or\MessageBreak%
- environments, you have to use macro\MessageBreak%
- `\string\DescribeParameter' only within the environment\MessageBreak%
- `DescribeParameterParent'.%
+ environments, you have to use an appropriate command like\MessageBreak%
+ `\string\DescribeMacroParameters' or `\string\DescribeEnvParameters'.%
+ }%
+ \else%
+ \gdef\tud@idx@sortkey{#1\space(\tud@parameter@name)}%
+ \gdef\tud@idx@format{%
+ {\string\ttfamily\space#1}%
+ \tud@idx@typemarkup\space(\tud@parameter@name)%
+ }%
+ \@bsphack%
+ \index{%
+ \expandafter\@firstoftwo\tud@idx@parent\actualchar%
+ \expandafter\@secondoftwo\tud@idx@parent\levelchar%
+ \tud@idx@sortkey\actualchar\tud@idx@format%
+ \encapchar usage%
}%
+ \@esphack%
\fi%
- \@bsphack%
- \index{%
- \parameter@parent@indexname\actualchar%
- \parameter@parent@indexformat\levelchar%
- #1\space\tud@parameter@name\actualchar%
- {\protect\ttfamily#1}\index@type{\tud@parameter@name}%
- \encapchar usage%
- }%
- \index{%
- \tud@parameters@name:\levelchar#1\space\parameter@parent@indexname%
- \actualchar{\protect\ttfamily#1}%
- \noexpand\,--\noexpand\,\parameter@parent@indexformat%
- \encapchar usage%
+}
+\ifdefined\tudxdyflag
+\newcommand*\tud@xdy@filesep{?-}
+\newcommand*\tud@xdy@reference[1]{0:\filesep#1:\thepage}
+\newcommand*\tud@xdy@destination[3]{%
+ #1\if#2\expandafter\@car\tud@xdy@filesep\@nil\else\mbox{--}#2\fi%
+ \ifnum#3>\z@\textsubscript{\kern.1em#3}\fi%
+}
+\newcommand*\tud@xdy@mapping[2]{\tud@xdy@@mapping{#1}#2\@nil}
+\newcommand*\tud@xdy@@mapping{}
+\def\tud@xdy@@mapping#1#2:#3-#4:#5\@nil{%
+ \begingroup%
+ \ifundef{\hyperlink}{\let\tud@res@a\@gobble}{\let\tud@res@a\@firstofone}%
+ \csname\ifx\\#1\\relax\else#1\fi\endcsname{%
+ \tud@res@a{\hyperlink{page.#5}}{\tud@xdy@destination{#5}{#3}{#4}}%
+ }%
+ \endgroup%
+}
+\AfterPackage*{hypdoc}{%
+ \renewcommand*\tud@xdy@reference[1]{\the\c@HD@hypercount:\filesep#1:\thepage}%
+ \def\tud@xdy@@mapping#1#2:#3-#4:#5\@nil{%
+ \ifnum#2>\z@\relax
+ \hdclindex{#2}{#1}{\tud@xdy@destination{#5}{#3}{#4}}%
+ \else
+ \csname\ifx\\#1\\relax\else#1\fi\endcsname{%
+ \hyperlink{page.#5}{\tud@xdy@destination{#5}{#3}{#4}}%
+ }%
+ \fi
}%
+}
+\fi
+\ifdefined\tudxdyflag
+\newcommand*\tud@xdy@wrindex[1]{%
+ \protected@write\@indexfile{}{%
+ \string\indexentry{#1}{\tud@xdy@reference{0}}%
+ }%
+ \endgroup%
\@esphack%
}
+\newcommand*\tud@xdy@page@wrindex[1]{%
+ \begingroup
+ \let\@wrindex\tud@xdy@wrindex%
+ \index{#1}%
+ \endgroup
+}
+\AfterPackage*{hypdoc}{%
+ \renewcommand*\tud@xdy@page@wrindex[1]{%
+ \begingroup
+ \let\@wrindex\tud@xdy@wrindex%
+ \HDorg@index{#1}%
+ \endgroup
+ }
+}
+\newcommand*\tud@xdy@codeline@wrindex[1]{%
+ \if@filesw
+ \begingroup
+ \let\protect\noexpand
+ \immediate\write\@indexfile{%
+ \string\indexentry{#1}{\tud@xdy@reference{\number\c@CodelineNo}}%
+ }%
+ \endgroup
+ \fi
+}
+\fi
+\def\changehistoryname{\tud@changes@name}
\CheckCommand*\changes@[3]{%
\protected@edef\@tempa{%
\noexpand\glossary{%
- #1\levelchar
+ #1%
+ \ifdoc@reportchangedates\space -- #2\fi
+ \levelchar
\ifx\saved@macroname\@empty
- \space
+ \quotechar!%
\actualchar
\generalname
\else
@@ -833,146 +1072,93 @@
}%
\@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)%
- }%
+\renewcommand*\changes@[3]{%
+ \ifnum\@parse@version@1993/01/01\@nil<\expandafter\@parse@version@#2//00\@nil%
+ \expandafter\@gobble%
+ \else%
+ \expandafter\@firstofone%
+ \fi{\ClassWarning{\TUD@Class@Name}{The given date `#2' seems to be invalid}}%
+ \changes@@{#1}{#2}{#3}%
+}
+\ifdefined\tudxdyflag
+ \newcommand*\changes@@[3]{%
+ \protected@edef\@tempa{%
+ \noexpand\glossary{%
+ #1\ifdoc@reportchangedates\space -- #2\fi
+ \levelchar
+ \ifx\saved@macroname\@empty
+ \string~\actualchar\tud@general@name%
+ \else
+ \ifx\tud@idx@parent\relax\else
+ \expandafter\@firstoftwo\tud@idx@parent\actualchar
+ \expandafter\@secondoftwo\tud@idx@parent:\levelchar
+ \fi
+ \tud@idx@sortkey\actualchar\tud@idx@format%
+ \fi
+ :\levelchar
+ #2\space\protecting{#3}\actualchar\protecting{#3}%
}%
- \else%
- \let\@tempa\relax%
- \fi%
+ }%
\@tempa\endgroup\@esphack%
}%
-\else%
+\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%
+ #1\ifdoc@reportchangedates\space -- #2\fi
+ \levelchar
+ \ifx\saved@macroname\@empty
+ \quotechar!\actualchar\tud@general@name%
+ \else
+ \ifx\tud@idx@parent\relax\else
+ \expandafter\@firstoftwo\tud@idx@parent\space--\space%
+ \fi
+ \tud@idx@sortkey\actualchar
+ \ifx\tud@idx@parent\relax\else
+ \expandafter\@secondoftwo\tud@idx@parent\noexpand\,--\noexpand\,%
+ \fi
+ \tud@idx@format%
+ \fi
+ :\levelchar
+ #2\space\protecting{#3}\actualchar\protecting{#3}%
}%
}%
\@tempa\endgroup\@esphack%
}%
-\fi%
-\CheckCommand*\@wrglossary[1]{%
- \protected@write\@glossaryfile{}%
- {\string\glossaryentry{#1}{\thepage}}%
- \endgroup
- \@esphack%
-}
-\def\@wrglossary#1{%
- \ifx\saved@macroname\@empty%
+\fi
+\ifdefined\tudxdyflag
+\newcommand*\tud@xdy@wrglossary[1]{%
+ \@tud@res@swafalse%
+ \ifx\special@index\@gobble\else\ifcodeline@index
+ \ifx\saved@macroname\@empty\else\@tud@res@swatrue\fi
+ \fi\fi
+ \global\advance\c@CodelineNo\@ne%
\protected@write\@glossaryfile{}{%
- \string\glossaryentry{#1|usage}{\thepage}%
+ \string\glossaryentry{#1|change}%
+ {\tud@xdy@reference{\if@tud@res@swa\number\c@CodelineNo\else0\fi}}%
}%
- \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%
+ \global\advance\c@CodelineNo\m@ne%
\endgroup%
\@esphack%
}
-\newcommand*\tud@lst@subsub{}
-\newcommand*\tud@lst@subsubsub{}
-\newcommand*\subsubsubitem{\@idxitem\hspace*{35\p@}}
+\fi
+\newcommand*\tud@lst@@sub{}
+\newcommand*\tud@lst@@@sub{}
\newcommand*\efil{\hfil\nopagebreak}%
\newcommand*\tud@lst@def{%
\newcommand*\tud@lst@values{}%
- \newif\if@tud@lst@multi%
+ \tud@newif\if@tud@lst@multi%
\newcommand*\tud@lst@init{%
\let\tud@lst@values\relax%
- \let\tud@lst@subsub\relax%
+ \let\tud@lst@@sub\relax%
\@tud@lst@multifalse%
}%
\newcommand*\tud@lst@add[1]{%
\ifx\tud@lst@values\relax\else%
\@tud@lst@multitrue%
- \def\tud@lst@subsub{\subsubitem}%
+ \def\tud@lst@@sub{\subitem}%
\fi%
- \listadd\tud@lst@values{\tud@lst@subsub ##1}%
+ \listadd\tud@lst@values{\tud@lst@@sub ##1}%
}%
\newcommand*\tud@lst@process{%
\if@tud@lst@multi%
@@ -982,18 +1168,18 @@
\tud@lst@init%
}%
\newcommand*\tud@lst@@values{}%
- \newif\if@tud@lst@@multi%
+ \tud@newif\if@tud@lst@@multi%
\newcommand*\tud@lst@@init{%
\let\tud@lst@@values\relax%
- \def\tud@lst@subsub{\subsubitem}%
- \def\tud@lst@subsubsub{\space}%
+ \def\tud@lst@@sub{\subitem}%
+ \def\tud@lst@@@sub{\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}%
+ \def\tud@lst@@@sub{\subsubitem}%
\fi%
\listadd\tud@lst@@values{##1}%
}%
@@ -1001,20 +1187,100 @@
\if@tud@lst@@multi%
\appto\tud@lst@values{\efill}%
\fi%
- \edef\tud@reserved####1{%
+ \protected@edef\tud@reserved####1{%
\noexpand\listadd\noexpand\tud@lst@values{%
- \expandonce\tud@lst@subsubsub####1%
+ \expandonce\tud@lst@@@sub####1%
}%
}%
\forlistloop{\tud@reserved}{\tud@lst@@values}%
\tud@lst@@init%
}%
}
+\DeclareHookRule{begindocument/before}{doc/hyperref}{<}{.}
+\AddToHook{begindocument/before}{%
+ \CheckCommand*\@wrindex[1]{%
+ \protected@write\@indexfile{}{\string\indexentry{#1}{\thepage}}%
+ \endgroup
+ \@esphack%
+ }
+ \CheckCommand*\codeline@wrindex[1]{% ltxdoc
+ \if@filesw
+ \begingroup
+ \let\protect\noexpand
+ \immediate\write\@indexfile{%
+ \string\indexentry{#1}{\filesep\number\c@CodelineNo}%
+ }%
+ \endgroup
+ \fi
+ }
+ \@ifpackageloaded{hypdoc}{%
+ \CheckCommand*\filesep{}
+ \CheckCommand*\doc@handleencap[1]{%
+ \encapchar hdclindex{\the\c@HD@hypercount}{#1}%
+ }
+ \CheckCommand*\HD@codeline@wrindex[1]{%
+ \begingroup
+ \let\HDorg@encapchar\encapchar
+ \def\encapchar##1\encapchar##2\@nil{%
+ \HDorg@encapchar
+ hdclindex{\the\c@HD@hypercount}{##1}%
+ }%
+ \codeline@wrindex{#1\encapchar\encapchar\@nil}%
+ \endgroup
+ }
+ \CheckCommand*\HD@page@wrindex[1]{%
+ \begingroup
+ \let\HDorg@encapchar\encapchar
+ \def\encapchar##1\encapchar##2\@nil{%
+ \HDorg@encapchar
+ hdpindex{##1}%
+ }%
+ \HDorg@index{#1\encapchar\encapchar\@nil}%
+ \endgroup
+ }
+ \CheckCommand*\@wrglossary[1]{%
+ \let\HDorg@encapchar\encapchar
+ \def\encapchar##1\encapchar##2\@nil{%
+ \HDorg@encapchar
+ hdpindex{##1}%
+ }%
+ \HDorg@wrglossary{#1\encapchar\encapchar\@nil}%
+ }
+ \CheckCommand*\HDorg@wrglossary[1]{%
+ \protected@write\@glossaryfile{}%
+ {\string\glossaryentry{#1}{\thepage}}%
+ \endgroup
+ \@esphack%
+ }
+ }{%
+ \CheckCommand*\@wrglossary[1]{%
+ \protected@write\@glossaryfile{}%
+ {\string\glossaryentry{#1}{\thepage}}%
+ \endgroup
+ \@esphack%
+ }
+ }
+ \ifdefined\tudxdyflag
+ \ifx\special@index\@gobble\else
+ \ifcodeline@index
+ \let\special@index\tud@xdy@codeline@wrindex
+ \else
+ \let\special@index\tud@xdy@page@wrindex
+ \fi
+ \@ifpackageloaded{hypdoc}{%
+ \let\HD@codeline@wrindex\tud@xdy@codeline@wrindex
+ \let\HD@page@wrindex\tud@xdy@page@wrindex
+ }{}%
+ \fi
+ \let\filesep\tud@xdy@filesep
+ \def\doc@handleencap#1{\encapchar #1}
+ \let\@wrindex\tud@xdy@wrindex
+ \let\@wrglossary\tud@xdy@wrglossary
+ \fi
+}
\ifdefined\tudxdyflag
- \newcommand*\tud@write@replace{}%
- \newwrite\tud@write@replace%
- \newcommand*\tud@read@replace{}%
- \newread\tud@read@replace%
+ \tud@newwrite\tud@xdy@write%
+ \tud@newread\tud@xdy@read%
\def\actualchar{<|1|>}%
\def\quotechar{<|2|>}%
\def\levelchar{<|3|>}%
@@ -1022,44 +1288,57 @@
\endlinechar=\m@ne\relax%
\def\tud@reserved#1#2{%
\IfFileExists{\jobname.#1}{%
- \immediate\openin\tud@read@replace=\jobname.#1\relax%
- \immediate\openout\tud@write@replace=\jobname-xdy.#1\relax%
+ \immediate\openin\tud@xdy@read=\jobname.#1\relax%
+ \immediate\openout\tud@xdy@write=\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%
+ \loop\unless\ifeof\tud@xdy@read%
+ \readline\tud@xdy@read to\tud@line@replace%
+ \expandafter\tud@replace@@in\expandafter\tud@line@replace%
+ \expandafter{\quotechar"}{"}%
+ \expandafter\tud@replace@@in\expandafter\tud@line@replace%
+ \expandafter{\quotechar!}{!}%
+ \expandafter\tud@replace@@in\expandafter\tud@line@replace%
+ \expandafter{\quotechar:}{:}%
+ \expandafter\tud@replace@@in\expandafter\tud@line@replace%
+ \expandafter{\quotechar @}{@}%
+ \tud@replace@@in\tud@line@replace{"}{""}%
+ \tud@replace@@in\tud@line@replace{!}{"!}%
+ \tud@replace@@in\tud@line@replace{:}{":}%
+ \tud@replace@@in\tud@line@replace{@}{"@}%
+ \tud@replace@@in\tud@line@replace{\"@}{"\"@}%
+ \expandafter\tud@replace@@in\expandafter\tud@line@replace%
\expandafter{\actualchar}{@}%
- \expandafter\tud@replace\expandafter\tud@line@replace%
+ \expandafter\tud@replace@@in\expandafter\tud@line@replace%
\expandafter{\quotechar}{"}%
- \expandafter\tud@replace\expandafter\tud@line@replace%
+ \expandafter\tud@replace@@in\expandafter\tud@line@replace%
\expandafter{\levelchar}{!}%
- \tud@replace\tud@line@replace{" @}{}%
- \ifeof\tud@read@replace\else%
- \immediate\write\tud@write@replace{%
+ \tud@replace@@in\tud@line@replace{" @}{}%
+ \ifeof\tud@xdy@read\else%
+ \immediate\write\tud@xdy@write{%
\unexpanded\expandafter{\tud@line@replace}%
}%
\@tempswatrue%
\fi%
\repeat%
- \immediate\closein\tud@read@replace%
- \immediate\closeout\tud@write@replace%
+ \immediate\closein\tud@xdy@read%
+ \immediate\closeout\tud@xdy@write%
\ifnum\pdf@shellescape=\@ne\relax%
\if@tempswa%
\ShellEscape{%
texindy\space%
- -o \jobname.#2\space%
- -M \@currname-#2.xdy\space%
- -t \jobname-#2.xlg\space%
+ -M \@currname-#2.xdy\space%
+ \ifdefvoid{\inputencodingname}{%
+ -C\space utf8%
+ }{%
+ -C\space\inputencodingname%
+ }\space%
+ -t \jobname-#2.xlg\space%
+ -o \jobname.#2\space%
\jobname-xdy.#1%
}%
\else%
- \immediate\openout\tud@write@replace=\jobname.#2\relax%
- \immediate\closeout\tud@write@replace%
+ \immediate\openout\tud@xdy@write=\jobname.#2\relax%
+ \immediate\closeout\tud@xdy@write%
\fi%
\fi%
}{}%
@@ -1077,18 +1356,59 @@
}%
\fi%
\fi
-\IndexPrologue{\addsec{\indexname}\tud@index@text}
-\GlossaryPrologue{\addsec{\tud@changes@name}}
\DeclareNewTOC[%
- type=todo,%
listname={\tud@todo@name},%
- name=ToDo,%
- tocentryindent=\z@,%
owner=\@currname,%
]{tdo}
-\setuptoc{tdo}{totoc}
-\newcommand*\PrintToDos{\ifdefined\tudfinalflag\else\listoftodos\fi}
-\patchcmd{\@docinclude}{%
+\setuptoc{tdo}{totoc,noindent}
+\newcommand*\PrintToDos{\ifdefined\tudfinalflag\else\listoftoc{tdo}\fi}
+\ifdefined\tudfinalflag
+\NewDocumentCommand\ToDo{mo}{}
+\else%
+\NewDocumentCommand\ToDo{mo}{%
+ \begingroup%
+ \csuse{phantomsection}%
+ \IfValueTF{#2}{%
+ \def\tud@reserved{#2}%
+ }{%
+ \def\tud@reserved{??}%
+ }%
+ \endgraf\ifdim\parskip>\z@\else\smallskip\fi\noindent%
+ \hfuzz0.8pt%
+ \leavevmode%
+ \def\@tempa{\raggedleft\fbox{ToDo:\space\tud@reserved\strut}}%
+ \ifundef{\marginnote}{%
+ \expandafter\marginpar\expandafter{\@tempa}%
+ }{%
+ \expandafter\marginnote\expandafter{\@tempa}[%
+ \dimexpr-\fboxsep-\fboxrule\relax%
+ ]%
+ }%
+ \fbox{\parbox{\dimexpr\linewidth-\fboxsep*2\relax}{#1\strut}}%
+ \endgraf\ifdim\parskip>\z@\else\bigskip\fi\noindent%
+ \let\@tempa\@empty%
+ \ifdefvoid{\currentfile}{}{%
+ \def\@tempa{\,--\,\texttt{\currentfile}}%
+ }%
+ \addxcontentsline{tdo}{subsection}{\tud@reserved\@tempa:\space#1}%
+ \endgroup%
+ \ignorespaces%
+}
+\fi
+\newcommand*\tud@index@heading{\addsec}
+\IndexPrologue{\tud@index@heading{\indexname}\tud@index@text}
+\GlossaryPrologue{\tud@index@heading{\tud@changes@name}}
+\NewDocumentCommand\PrintBackMatter{s}{%
+ \begingroup%
+ \@ifpackageloaded{bookmark}{\bookmarksetup{startatroot,open=false}}{}%
+ \IfBooleanT{#1}{\renewcommand*\tud@index@heading{\addpart}}%
+ \deftocheading{tdo}{\tud@index@heading{##1}}%
+ \IfBooleanT{#1}{\cleardoublepage}\PrintIndex%
+ \IfBooleanT{#1}{\cleardoublepage}\PrintChanges%
+ \IfBooleanT{#1}{\cleardoublepage}\PrintToDos%
+ \endgroup%
+}
+\patchcmd\@docinclude{%
\let\@ltxdoc@PrintIndex\PrintIndex
\let\PrintIndex\relax
\let\@ltxdoc@PrintChanges\PrintChanges
@@ -1101,7 +1421,7 @@
\let\@ltxdoc@PrintToDos\PrintToDos
\let\PrintToDos\relax
}{}{\tud@patch@wrn{@docinclude}}
-\patchcmd{\@docinclude}{%
+\patchcmd\@docinclude{%
\let\PrintIndex\@ltxdoc@PrintIndex
\let\PrintChanges\@ltxdoc@PrintChanges
}{%
@@ -1109,53 +1429,19 @@
\let\PrintChanges\@ltxdoc@PrintChanges
\let\PrintToDos\@ltxdoc@PrintToDos
}{}{\tud@patch@wrn{@docinclude}}
-\newcommand*\ToDo[2][]{%
- \kernel@ifnextchar[{\@ToDo{#2}}{\@ToDo{#2}[]}%
-}
-\newcommand*\@ToDo{}
-\def\@ToDo#1[#2]{%
- \ifdefined\tudfinalflag\else%
- \begingroup%
- \csuse{phantomsection}%
- \IfArgIsEmpty{#2}{%
- \def\tud@reserved{??}%
- }{%
- \def\tud@reserved{#2}%
- }%
- \endgraf%
- \hfuzz0.8pt%
- \leavevmode%
- \def\@tempa{\raggedleft\fbox{ToDo:\space\tud@reserved\strut}}%
- \ifdefined\marginnote%
- \expandafter\marginnote\expandafter{\@tempa}[%
- \dimexpr-\fboxsep-\fboxrule\relax%
- ]%
- \else%
- \expandafter\marginpar\expandafter{\@tempa}%
- \fi%
- \fbox{\parbox{\dimexpr\textwidth-2\fboxsep\relax}{#1\strut}}%
- \endgraf%
- \let\@tempa\@empty%
- \ifdefined\currentfile%
- \def\@tempa{\,--\,\texttt{\currentfile}}%
- \fi%
- \addxcontentsline{tdo}{todo}{\tud@reserved\@tempa:\space#1}%
- \endgroup%
- \fi%
-}
-\AfterPackage{mweights}{%
+\AfterPackage*{mweights}{%
\CheckCommand*\MacroFont{%
\fontencoding\encodingdefault%
\fontfamily\ttdefault%
\fontseries\mddefault%
- \fontshape\updefault%
+ \fontshape\shapedefault%
\small%
}%
\renewcommand*\MacroFont{%
\fontencoding\encodingdefault%
\fontfamily\ttdefault%
\fontseries\mdseries@tt%
- \fontshape\updefault%
+ \fontshape\shapedefault%
\small%
}%
\CheckCommand*\AltMacroFont{%
@@ -1176,20 +1462,12 @@
\ifundef{\mdseries@tt}{\edef\mdseries@tt{\mddefault}}{}%
}%
}
-\PassOptionsToPackage{ttfont=lmtt}{tudscrfonts}
-\AfterPackage{tudscrfonts}{%
- \AtEndPreamble{%
- \ifnum\tud@ttfont@num>\z@\relax%
- \edef\mdseries@tt{\tud@ttfont@bf}%
- \fi%
- }%
-}
\newcommand*\tud@setarea{%
- \setlength\topmargin{-1in}%
- \setlength\headheight{0pt}%
- \setlength\headsep{3em}%
- \setlength\footskip{1.5\headsep}%
- \setlength\textheight{\dimexpr\paperheight-2.5\headsep-\footskip\relax}%
+ \tud@setdim\topmargin{-1in}%
+ \tud@setdim\headheight{0pt}%
+ \tud@setdim\headsep{3em}%
+ \tud@setdim\footskip{\headsep}%
+ \tud@setdim\textheight{\paperheight-\headsep*5/2-\footskip*3/2}%
\@colht=\textheight%
\@colroom=\textheight%
\vsize=\textheight%
@@ -1197,254 +1475,220 @@
\begingroup%
\MacroFont\selectfont%
\settowidth\@tempdima{\space}%
- \setlength\@tempdima{80\@tempdima}%
- \addtolength\@tempdima{\MacroIndent}%
+ \tud@setdim\@tempdima{80\@tempdima}%
+ \tud@addtodim\@tempdima{\MacroIndent}%
\edef\@tempa{%
\endgroup%
- \noexpand\setlength\noexpand\textwidth{\the\@tempdima}%
+ \unexpanded{\tud@setdim\textwidth}{\the\@tempdima}%
}%
\@tempa%
\columnwidth=\textwidth%
\hsize=\columnwidth%
\linewidth=\hsize%
- \setlength\columnsep{1em}%
- \setlength\marginparsep{1em}%
- \setlength\marginparwidth{%
- \dimexpr\paperwidth-\textwidth-2\marginparsep\relax%
- }%
- \setlength\oddsidemargin{\dimexpr\marginparwidth+\marginparsep-1in\relax}%
+ \tud@setdim\columnsep{1em}%
+ \tud@setdim\labelsep{1em}%
+ \tud@setdim\marginparsep{\labelsep}%
+ \tud@setdim\oddsidemargin{\paperwidth-\textwidth-\labelsep-1in}%
+ \tud@setdim\marginparwidth{\oddsidemargin+1in-\labelsep-\marginparsep}%
}
\AtBeginDocument{\tud@setarea}
+\TUD@UnwindPackage{tudscrfonts}{%
+ \RequirePackage{lmodern}
+ \providecommand*\textcdln[1]{\textsf{#1}}%
+ \providecommand*\textcdrn[1]{\textcdln{#1}}%
+ \providecommand*\textcdsn[1]{\textcdln{#1}}%
+ \providecommand*\textcdbn[1]{\textbf{\textcdln{#1}}}%
+ \providecommand*\textcdxn[1]{\textcdbn{#1}}%
+ \providecommand*\textcdli[1]{\textsl{\textcdln{#1}}}%
+ \providecommand*\textcdri[1]{\textcdli{#1}}%
+ \providecommand*\textcdsi[1]{\textcdli{#1}}%
+ \providecommand*\textcdbi[1]{\textbf{\textcdli{#1}}}%
+ \providecommand*\textcdxi[1]{\textcdbi{#1}}%
+}
\newrobustcmd*\app[1]{\mbox{\textsl{\textbf{#1}}}}
+\newrobustcmd*\bdl[1]{\mbox{\textsf{\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*\default[1]{\val{\textit{#1}}}
\newrobustcmd*\pgs[1]{\mbox{\texttt{#1}}}
\newrobustcmd*\env[1]{\mbox{\texttt{#1}}}
\newrobustcmd*\prm[1]{\mbox{\texttt{#1}}}
\newrobustcmd*\cnt[1]{\mbox{\texttt{#1}}}
\newrobustcmd*\file[1]{\mbox{\texttt{#1}}}
-\AfterPackage{hyperref}{%
+\AfterPackage*{hyperref}{%
\pdfstringdefDisableCommands{%
\let\app\@firstofone%
+ \let\bdl\@firstofone%
\let\cls\@firstofone%
\let\pkg\@firstofone%
\let\opt\@firstofone%
\let\val\@firstofone%
+ \let\default\@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{}%
- \providecommand*\grqq{}%
- }%
- \@ifpackageloaded{csquotes}{}{%
- \ClassWarning{\TUD@Class@Name}{Package `csquotes' not loaded}%
- \providecommand\enquote[1]{\emph{#1}}%
- }%
- \@ifpackageloaded{tudscrfonts}{}{%
- \RequirePackage{lmodern}[2009/10/30]%
- \providecommand*\textcdln[1]{\textsf{#1}}%
- \providecommand*\textcdrn[1]{\textcdln{#1}}%
- \providecommand*\textcdsn[1]{\textcdln{#1}}%
- \providecommand*\textcdbn[1]{\textbf{\textcdln{#1}}}%
- \providecommand*\textcdxn[1]{\textcdbn{#1}}%
- \providecommand*\textcdli[1]{\textsl{\textcdln{#1}}}%
- \providecommand*\textcdri[1]{\textcdli{#1}}%
- \providecommand*\textcdsi[1]{\textcdli{#1}}%
- \providecommand*\textcdbi[1]{\textbf{\textcdli{#1}}}%
- \providecommand*\textcdxi[1]{\textcdbi{#1}}%
- }%
-}
-%%% From File: tudscr-texindy.dtx
-\catcode`\#=12
+%%%% From File: tudscr-texindy.dtx (no git version info was found)
+\edef\tud@res@a{\catcode`\noexpand\#=\the\catcode`\#\relax}%
+\@makeother\#
\newcommand*\@hashchar{#}
-\catcode`\#=6
-\begingroup
-\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%
- \write\tud@write@xdy{(require "texindy.xdy")}%
- \write\tud@write@xdy{%
+\tud@res@a
+\ifdefined\tudxdyflag
+\NewDocumentCommand\tud@xdy@create{s}{%
+ \begingroup%
+ \edef\tud@res@a{\@currname-\IfBooleanTF{#1}{gls}{ind}.xdy}%
+ \expandafter\IfFileExists\expandafter{\tud@res@a}{}{%
+ \IfBooleanTF{#1}{\@tud@res@swatrue}{\@tud@res@swafalse}%
+ \edef\tud@res@b{the\if@tud@res@swa glossary\else index\fi}%
+ \edef\tud@res@a{\noexpand\tud@xdy@@create{\tud@res@b}{\tud@res@a}}%
+ \tud@res@a%
+ }%
+ \endgroup%
+}
+\newcommand*\tud@xdy@@create[2]{%
+ \immediate\openout\tud@xdy@write=#2\relax%
+ \immediate\write\tud@xdy@write{(require "texindy.xdy")}%
+ \immediate\write\tud@xdy@write{%
(markup-index^^J%
- \space\space:open^^J%
+ \@spaces: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%
- }%
- \if@tud@xdy@glo%
- \write\tud@write@xdy{%
+ \space\space\string\providecommand*\string\lettergroupDefault[1]%
+ {\string\lettergroup{\string\tud@symbols@name}}\@percentchar^^J%
+ \space\space\string\providecommand*\string\lettergroup[1]{\@percentchar^^J%
+ \@spaces\string\belowpdfbookmark%
+ {\@hashchar1}{#1/\@hashchar1}\@percentchar^^J%
+ \@spaces\string\par\string\centerline%
+ {\string\normalsize\string\textbf{\string\textsf{\@hashchar1}}}%
+ \@percentchar^^J%
+ \@spaces\string\par\string\smallskip\string\nopagebreak\@percentchar^^J%
+ \space\space}\@percentchar^^J%
+ \space\space\string\scan@allowedfalse\@percentchar^^J%
+\if@tud@res@swa
\space\space\string\newcommand*\string\@lettergroup{}\@percentchar^^J%
- \space\space%
- \string\def\string\@lettergroup\@hashchar1\string\relax%
- {\string\lettergroup{\@hashchar1}}\@percentchar^^J%
- \space\space\string\tud@lst@def\@percentchar%
- }%
- \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\space\string\def\string\@lettergroup\@hashchar1\string\relax%
+ {\string\lettergroup{\@hashchar1}}\@percentchar^^J%
+ \space\space\string\tud@lst@def\@percentchar^^J%
+\fi
+ \space\space\string\providecommand*\string\seesep{/}\@percentchar^^J%
+ "^^J% Ende des Umgebungsbeginns
+ \@spaces:close "\string~n\string~n\string\end{#1}\string~n"^^J%
+ \@spaces:hierdepth 3^^J%
+ )^^J%
+ (define-sort-rule-orientations (forward backward forward forward))^^J%
+ (use-rule-set :run 0^^J%
+ \@spaces:rule-set ("xy-alphabetize" "xy-resolve-special")^^J%
+ )^^J%
+ (use-rule-set :run 1^^J%
+ \@spaces:rule-set ("xy-resolve-diacritics" "xy-resolve-special")^^J%
+ )^^J%
+ (use-rule-set :run 2^^J%
+ \@spaces:rule-set ("xy-resolve-case" "xy-resolve-special")^^J%
)^^J%
(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%
+ \@spaces(^^J%
+ \@spaces\@spaces"A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M"^^J%
+ \@spaces\@spaces"N" "O" "P" "Q" "R" "S" "T" "U" "V" "W" "X" "Y" "Z"^^J%
+ \@spaces\@spaces"a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m"^^J%
+ \@spaces\@spaces"n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"^^J%
+ \@spaces\@spaces"?"^^J%
+ \@spaces)^^J%
)^^J%
- (define-location-class^^J%
- \space\space"codeline" ("AlphaExtended" :sep "-" "arabic-numbers")%
- \space:min-range-length 2^^J%
+ (define-location-class "hypdoc"^^J%
+ \@spaces(^^J%
+ \@spaces\@spaces"arabic-numbers" :sep ":"^^J%
+ \@spaces\@spaces"AlphaExtended" \space:sep "-" "arabic-numbers" :sep ":"^^J%
+ \@spaces\@spaces"arabic-numbers"^^J%
+ \@spaces)^^J%
+ \@spaces:min-range-length 2^^J%
)^^J%
- (define-location-class-order ("arabic-page-numbers" "codeline"))^^J%
- (markup-range :sep "--")%
- }%
- \write\tud@write@xdy{%
- (merge-rule "\@backslashchar[(.*)\@backslashchar]" "" :eregexp)%
- ^^J%
- (merge-rule%
- \space"\string^(@+)([\string^@~n]*)"%
- \space"\string\2\string~e\string\1"%
- \space:eregexp :again%
+ (define-location-class "arabic-page-numbers"^^J%
+ \@spaces("arabic-numbers")^^J%
+ \@spaces:min-range-length 2^^J%
)^^J%
- (merge-rule%
- \space"(.*)(@@@@)([\string^@~n]*)"%
- \space"\string\1@@@\string\3\string~e"%
- \space:again :eregexp%
+ (define-location-class-order ("hypdoc" "arabic-page-numbers"))^^J%
+ (markup-range :sep "--")^^J%
+ (merge-rule :again^^J%
+ \@spaces"(.*)@(.*)"^^J%
+ \@spaces"\string\1\string\2\space\string~e"^^J%
)^^J%
- (merge-rule%
- \space"(.*)(@@@)([\string^@~n]*)"%
- \space"\string\1@@\string\3\string~e"%
- \space:again :eregexp%
+ (merge-rule :eregexp^^J%
+ \@spaces"\string\[(.*)\string\]"^^J%
+ \@spaces""^^J%
)^^J%
- (merge-rule%
- \space"(.*)(@@)([\string^@~n]*)"%
- \space"\string\1@\string\3\string~e"%
- \space:eregexp :again%
+\if@tud@res@swa
+ (markup-letter-group^^J%
+ \@spaces:open-head\space\space"\string~n\space\space\string\@gobble{"^^J%
+ \@spaces:close-head "}"^^J%
)^^J%
- (merge-rule%
- \space"(.*?)(@)([\string^@~n]*)"%
- \space"\string\1\string~b\string\3"%
- \space:eregexp :again%
- )%
- }%
- \if@tud@xdy@glo%
- \write\tud@write@xdy{%
- (markup-letter-group%
- \space:open-head "\string~n\space\space\string\@gobble{"%
- \space:close-head "}"%
+ (markup-indexentry-list :depth 0^^J%
+ \@spaces:sep\space\space\space%
+ "\string~n\string~n\space\space\string\indexspace\string~n"^^J%
)^^J%
- (markup-indexentry-list%
- \space:sep "\string~n\string~n\space\space\string\indexspace\string~n"%
- \space:depth 0%
+ (markup-indexentry \@spaces\space:depth 0^^J%
+ \@spaces:open\space\space%
+ "\string~n\space\space\string\@lettergroup\space"^^J%
)^^J%
- (markup-indexentry\@spaces\space\space%
- :open "\string~n\space\space\string\@lettergroup\space"\space:depth 0%
+ (markup-indexentry-list :depth 1^^J%
+ \@spaces:open\space\space"\string\relax"^^J%
)^^J%
- (markup-indexentry-list :open "\string\relax" :depth 1)^^J%
- (markup-indexentry\@spaces\space\space%
- :open "\string~n\space\space\string\item\space" :depth 1%
+ (markup-indexentry \@spaces\space:depth 1^^J%
+ \@spaces:open\space\space"\string~n\space\space\string\item\space"^^J%
)^^J%
- (markup-indexentry-list :open "\string\efill" :depth 2)^^J%
- (markup-indexentry\@spaces\space\space%
- :open "\string~n\@spaces\string\subitem\space" :depth 2%
+ (markup-indexentry-list :depth 2^^J%
+ \@spaces:open\space\space"\string\tud@lst@init"^^J%
+ \@spaces:close "\string~n \@spaces\space\string\tud@lst@process"^^J%
)^^J%
- (markup-indexentry-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%
+ (markup-indexentry \@spaces\space:depth 2^^J%
+ \@spaces:open%
+ \space\space"\string~n\@spaces\space\space\string\tud@lst@add{"^^J%
+ \@spaces:close "}"^^J%
)^^J%
- (markup-indexentry^^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%
+ (markup-indexentry-list :depth 3^^J%
+ \@spaces:close "\string~n\@spaces\@spaces\string\tud@lst@@process{"^^J%
+ \@spaces:open\space\space"}\string\tud@lst@@init"^^J%
)^^J%
- (markup-indexentry-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%
+ (markup-indexentry \@spaces\space:depth 3^^J%
+ \@spaces:open%
+ \space\space"\string~n\@spaces\@spaces\string\tud@lst@@add{"^^J%
+ \@spaces:close "}"^^J%
+ )^^J%
+\else
+ (markup-indexentry-list :open "\string\efil" :depth 1)^^J%
+\fi
+ (markup-locclass-list^^J%
+ \@spaces:open\space\space"\string\pfill\space"^^J%
+ \@spaces:close "\string\relax"^^J%
+ \@spaces:sep\space\space\space",\space"^^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\efil" :depth 1)%
- }%
- \fi%
- \write\tud@write@xdy{%
- (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 "}"%
+ (define-attributes (("usage") ("main") ("code") ("change") ("default")))^^J%
+ (markup-locref :attr "change"^^J%
+ \@spaces:open"\string\tud@xdy@mapping{change}{"^^J
+ \@spaces:close "}"^^J%
+ )^^J%
+ (markup-locref :attr "code"^^J%
+ \@spaces:open "\string\tud@xdy@mapping{code}{"^^J%
+ \@spaces:close "}"^^J%
+ )^^J%
+ (markup-locref :attr "usage"^^J%
+ \@spaces:open "\string\tud@xdy@mapping{usage}{"^^J%
+ \@spaces:close "}"^^J%
+ )^^J%
+ (markup-locref :attr "main"^^J%
+ \@spaces:open "\string\tud@xdy@mapping{main}{"^^J%
+ \@spaces:close "}"^^J%
)^^J%
- (markup-locref :attr "main"%
- \space\space:open "\string\main{"\space\space:close "}"%
- )%
- }%
- \closeout\tud@write@xdy%
}%
+ \immediate\closeout\tud@xdy@write%
}
-\tud@xdy@create{ind}
-\tud@xdy@create[theglossary]{gls}
-}{}
-\endgroup
+\tud@xdy@create
+\tud@xdy@create*
+\fi
\endinput
%%
%% End of file `tudscrdoc.cls'.