%% %% This is file `tudscrbase.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% tudscr-version.dtx (with options: `package') %% tudscr-base.dtx (with options: `package,header') %% tudscr-base.dtx (with options: `package,body') %% %% ====================================================================== %% %% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen %% %% ====================================================================== %% 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 %% version 2005/12/01 or later and of this work. %% This work has the LPPL maintenance status "author-maintained". %% The current maintainer and author of this work is Falk Hanisch. %% ---------------------------------------------------------------------- %% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, %% Version 1.3c, verteilt und/oder veraendert werden. %% Die neuste Version dieser Lizenz ist %% http://www.latex-project.org/lppl.txt %% und Version 1.3c ist Teil aller Verteilungen von LaTeX %% Version 2005/12/01 oder spaeter und dieses Werks. %% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" %% (allein durch den Autor verwaltet). %% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. %% ====================================================================== %% %%% From File: tudscr-version.dtx \begingroup% \makeatletter% \ifx\TUDVersion\undefined% \newcommand*\@TUDVersion[1]{\gdef\TUDVersion{#1}}% \else% \newcommand*\@TUDVersion[1]{% \def\@tempa{#1}% \ifx\TUDVersion\@tempa\else% \@latex@warning@no@line{% \noexpand\TUDVersion\space is `\TUDVersion',\MessageBreak% but `#1' was expected!\MessageBreak% You should not use classes, packages or files from\MessageBreak% different TUD-KOMA-Script-Bundle versions% }% \fi% }% \fi% \@TUDVersion{2014/04/24 v2.01 TUD-KOMA-Script}% \endgroup% %%% From File: tudscr-base.dtx \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{tudscrbase}[% \TUDVersion\space package (TUD-KOMA-Script-dependent basics and keyval usage)% ] %%% From File: tudscr-base.dtx \RequirePackage{scrbase} \RequirePackage{kvsetkeys} \RequirePackage{etoolbox} \newcommand*\ifxblank{\expandafter\ifblank\expandafter} \newcommand*\ifxnumber[1]{% \if\relax\detokenize\expandafter{\romannumeral-0#1}\relax% \expandafter\@firstoftwo% \else% \expandafter\@secondoftwo% \fi% } \DefineFamily{TUD} \newcommand*\TUDProcessOptions{\FamilyProcessOptions{TUD}} \newcommand*\TUDExecuteOptions{\FamilyExecuteOptions{TUD}} \newcommand*\TUDDefaultOptions{cd,cdfont,tudbookmarks} \newcommand*\TUDoptions{\FamilyOptions{TUD}} \newcommand*\TUDoption{\FamilyOption{TUD}} \newcommand*\TUD@noworlater{\AtEndOfClass} \AtEndOfClass{\let\TUD@noworlater\@firstofone} \newcommand*\TUD@key[2][.\@currname.\@currext]{% \DefineFamilyMember{TUD}% \@ifnextchar[%] {\TUD@@key[#1]{#2}}{\TUD@@@key[#1]{#2}}% } \def\TUD@@key[#1]#2[#3]#4{% \DefineFamilyKey[#1]{TUD}{#2}[{#3}]{\TUD@noworlater{#4}}% } \def\TUD@@@key[#1]#2#3{% \DefineFamilyKey[#1]{TUD}{#2}{\TUD@noworlater{#3}}% } \newcommand*\TUD@ifkey[1][.\@currname.\@currext]{% \DefineFamilyMember{TUD}% \FamilyBoolKey[#1]{TUD}% } \newcommand*\TUD@set@ifkey{\FamilySetBool{TUD}} \newcommand*\TUD@numkey[1][.\@currname.\@currext]{% \DefineFamilyMember{TUD}% \FamilyNumericalKey[#1]{TUD}% } \newcommand*\TUD@set@numkey{\FamilySetNumerical{TUD}} \newcommand*\TUD@unknown@keyval{\FamilyUnknownKeyValue{TUD}} \newcommand*\TUD@key@lock[2][.\@currname.\@currext]{% \newbool{@tud@#2@locked}% \TUD@key[{#1}]{#2}% } \newcommand*\TUD@std@ifkey@lock[2]{% \ifbool{@tud@#1@locked}{}{% \TUDoption{#1}{#2}% \boolfalse{@tud@#1@locked}% }% } \let\TUD@std@numkey@lock\TUD@std@ifkey@lock \newcommand*\TUD@set@ifkey@lock[1]{% \booltrue{@tud@#1@locked}% \TUD@set@ifkey{#1}% } \newcommand*\TUD@set@numkey@lock[1]{% \booltrue{@tud@#1@locked}% \TUD@set@numkey{#1}% } \newcommand*\csdef@lock[2]{% \csdef{#1}{#2}% \newbool{#1@locked}% } \newcommand*\csstd@lock[2]{% \ifbool{#1@locked}{}{% \csdef{#1}{#2}% \boolfalse{#1@locked}% }% } \newcommand*\csset@lock[2]{% \csdef{#1}{#2}% \booltrue{#1@locked}% } \newcommand*\newbool@lock[2][false]{% \newbool{#2}% \newbool{#2@locked}% \setbool{#2}{#1}% } \newcommand*\stdbool@lock[2]{% \ifbool{#1@locked}{}{% \setbool{#1}{#2}% \boolfalse{#1@locked}% }% } \newcommand*\setbool@lock[2]{% \setbool{#1}{#2}% \booltrue{#1@locked}% } \newcommand*\tud@cmd@store[1]{% \ifcsdef{@@tud@#1}{}{\csletcs{@@tud@#1}{#1}}% } \newcommand*\tud@cmd@reset[1]{% \ifcsdef{@@tud@#1}{% \csletcs{#1}{@@tud@#1}% }{}% } \newcommand*\tud@cmd@use[1]{% \ifcsdef{@@tud@#1}{\@nameuse{@@tud@#1}}{\@nameuse{#1}}% } \newcommand*\tud@cmd@restore[1]{% \ifcsdef{@@tud@#1}{% \csletcs{#1}{@@tud@#1}% \csundef{@@tud@#1}% }{}% } \newcommand*\tud@patch@wrn[1]{% \ClassWarning{\tudcls@name}{% It wasn't possible to patch '#1'.\MessageBreak% Please contact the author via \filemail.\MessageBreak% Without a bugfix an erroneous output\MessageBreak% may occur. }% } \newcommand*\TUD@parameter@family{}% \newcommand*\TUD@parameter[2]{% \ifxblank{#1}{}{\xdef\TUD@parameter@family{#1}}% #2% \global\let\TUD@parameter@family\relax% } \let\TUD@parameter@family\relax% \newcommand*\TUD@parameter@checkfamily[1]{% \ifx\TUD@parameter@family\relax% \PackageError{tudscrbase}{% No family for keys given. }{% You have to use \string#1\space within the\MessageBreak% second argument of \string\TUD@parameter. The first \MessageBreak% argument of \string\TUD@parameter\space has to be a unique family name. }% \fi% } \newcommand*\TUD@parameter@define[1][]{% \ifxblank{#1}{% \TUD@parameter@checkfamily{\TUD@parameter@define}% \expandafter\define@key\expandafter{\TUD@parameter@family}% }{% \expandafter\define@key\expandafter{#1}% }% } \newcommand*\TUD@parameter@let[3][]{% \ifxblank{#1}{% \TUD@parameter@checkfamily{\TUD@parameter@let}% \@expandtwoargs{\csletcs}% {KV@\TUD@parameter@family @#2}{KV@\TUD@parameter@family @#3}% }{% \@expandtwoargs{\csletcs}{KV@#1@#2}{KV@#1@#3}% }% } \newcommand*\TUD@parameter@sethandler[1][]{% \ifxblank{#1}{% \TUD@parameter@checkfamily{\TUD@parameter@sethandler}% \expandafter\kv@set@family@handler\expandafter{\TUD@parameter@family}% }{% \expandafter\kv@set@family@handler\expandafter{#1}% }% } \newcommand*\TUD@parameter@set[1][]{% \ifxblank{#1}{% \TUD@parameter@checkfamily{\TUD@parameter@set}% \expandafter\kvsetkeys\expandafter{\TUD@parameter@family}% }{% \expandafter\kvsetkeys\expandafter{#1}% }% } \newcommand*\TUD@parameter@wrn[2]{% \ClassWarning{\tudcls@name}{% Parameter '#1' can only be used with these values:\MessageBreak% #2% }% } \endinput %% %% End of file `tudscrbase.sty'.