diff options
author | Karl Berry <karl@freefriends.org> | 2015-07-02 22:12:17 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-07-02 22:12:17 +0000 |
commit | 586aedcf63ecf6ea7da1c1529e5ea5ba8f5cb426 (patch) | |
tree | b679941add6df7f6b1ee8c135b24181f992dcb65 /Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty | |
parent | fecdcd43eaa7f73e830159293fe22a202803086b (diff) |
tudscr (2jul15)
git-svn-id: svn://tug.org/texlive/trunk@37736 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty | 122 |
1 files changed, 103 insertions, 19 deletions
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty index 7f759137ad7..53be98263f4 100644 --- a/Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty @@ -52,7 +52,7 @@ \fi% }% \fi% - \@TUDVersion{2015/06/11 v2.03a TUD-KOMA-Script}% + \@TUDVersion{2015/07/02 v2.04 TUD-KOMA-Script}% \endgroup% \providecommand*\tudscrmail{tudscr@gmail.com} \@ifundefined{TUDScript}{% @@ -63,9 +63,9 @@ }% }{} %%% From File: tudscr-base.dtx -\NeedsTeXFormat{LaTeX2e}[2011/06/27] +\NeedsTeXFormat{LaTeX2e} \ProvidesPackage{tudscrbase}[% - 2015/06/11 v2.03a TUD-KOMA-Script + 2015/07/02 v2.04 TUD-KOMA-Script package (basics for the bundle)% ] @@ -95,6 +95,43 @@ }% }% } +\providecommand*\protected@expandtwoargs[3]{% + \protected@edef\reserved@a{\noexpand#1{#2}{#3}}\reserved@a% +} +\newcommand*\tud@divide[3]{% + \begingroup% + \@defaultunits\@tempdima #2pt\relax\@nnil% + \@defaultunits\@tempdimb #3pt\relax\@nnil% + \ifdim\@tempdima>\@tempdimb\relax% + \@whiledim\@tempdimb>1pt\relax\do{% + \setlength\@tempdima{.1\@tempdima}% + \setlength\@tempdimb{.1\@tempdimb}% + }% + \setlength\@tempdimc{\@tempdima}% + \else% + \@whiledim\@tempdima>1pt\relax\do{% + \setlength\@tempdima{.1\@tempdima}% + \setlength\@tempdimb{.1\@tempdimb}% + }% + \setlength\@tempdimc{\@tempdimb}% + \fi% + \@tempcnta=1\relax% + \@whiledim\dimexpr\@tempcnta\@tempdimc\relax<.01\maxdimen\do{% + \multiply\@tempcnta by 10\relax% + }% + \setlength{\@tempdimc}{% + \dimexpr(\@tempcnta\@tempdima / \@tempdimb * \p@)\relax% + }% + \setlength{\@tempdimc}{\dimexpr \@tempdimc/\@tempcnta\relax}% + \edef\@tempa{\endgroup\def\noexpand#1{\strip@pt\@tempdimc}}% + \@tempa% +} +\newcommand*\tud@lowerstring[2]{% + \protected@edef#1{#2}% + \lowercase\expandafter{% + \expandafter\def\expandafter #1\expandafter{#1}% + }% +} \DefineFamily{TUD} \newcommand*\TUDProcessOptions{\FamilyProcessOptions{TUD}} \newcommand*\TUDExecuteOptions{\FamilyExecuteOptions{TUD}} @@ -107,9 +144,11 @@ \kernel@ifnextchar[%] {\TUD@@key[#1]{#2}}{\TUD@@@key[#1]{#2}}% } +\newcommand*\TUD@@key{} \def\TUD@@key[#1]#2[#3]#4{% \DefineFamilyKey[#1]{TUD}{#2}[{#3}]{\TUD@noworlater{#4}}% } +\newcommand*\TUD@@@key{} \def\TUD@@@key[#1]#2#3{% \DefineFamilyKey[#1]{TUD}{#2}{\TUD@noworlater{#3}}% } @@ -152,7 +191,7 @@ \TUD@set@numkey{#1}% } \newcommand*\cs@lock[2]{% - \csdef{#1}{#2}% + \expandafter\newcommand\expandafter*\csname#1\endcsname{#2}% \newbool{#1@locked}% } \newcommand*\cs@std@lock[2]{% @@ -181,29 +220,29 @@ \booltrue{#1@locked}% } \newcommand*\tud@cmd@store[1]{% - \ifcsdef{@@tud@#1}{}{% - \tud@cmd@check{#1}% - \csletcs{@@tud@#1}{#1}% - }% -} -\newcommand*\tud@cmd@reset[1]{% - \ifcsdef{@@tud@#1}{% - \tud@cmd@check{#1}% - \csletcs{#1}{@@tud@#1}% - }{}% + \tud@cmd@check{#1}% + \ifcsdef{@@tud@#1}{}{\csletcs{@@tud@#1}{#1}}% } \newcommand*\tud@cmd@restore[1]{% + \tud@cmd@check{#1}% \ifcsdef{@@tud@#1}{% - \tud@cmd@check{#1}% \csletcs{#1}{@@tud@#1}% \csundef{@@tud@#1}% }{}% } +\newcommand*\tud@cmd@reset[1]{% + \tud@cmd@check{#1}% + \ifcsdef{@@tud@#1}{\csletcs{#1}{@@tud@#1}}{}% +} +\newcommand*\tud@cmd@update[1]{% + \tud@cmd@check{#1}% + \ifcsdef{@@tud@#1}{\csletcs{@@tud@#1}{#1}}{}% +} \newcommand*\tud@cmd@use[1]{% + \tud@cmd@check{#1}% \ifcsdef{@@tud@#1}{% \@nameuse{@@tud@#1}% }{% - \tud@cmd@check{#1}% \@nameuse{#1}% }% } @@ -214,10 +253,36 @@ }{% The command `\@backslashchar#1' was never defined.\MessageBreak% Please contact the TUD-KOMA-Script maintainer\MessageBreak% - via \tudscrmail. A bugfix is urgently required + via \tudscrmail. A bugfix is urgently required.% }% }% } +\newcommand*\tud@skip@store[1]{% + \ifcsdef{@@tud@skip@#1}{}{% + \@tempswafalse% + \ifisskip{\csname #1\endcsname}{\@tempswatrue}{}% + \ifisdimen{\csname #1\endcsname}{\@tempswatrue}{}% + \if@tempswa% + \csedef{@@tud@skip@#1}{\expandafter\the\csname #1\endcsname}% + \fi% + }% +} +\newcommand*\tud@skip@restore[1]{% + \ifcsdef{@@tud@skip@#1}{% + \csname #1\endcsname=\csname @@tud@skip@#1\endcsname% + \csundef{@@tud@skip@#1}% + }{}% +} +\newcommand*\tud@skip@set[2]{% + \ifdef{#1}{% + \@tempswafalse% + \ifisskip{#1}{\@tempswatrue}{}% + \ifisdimen{#1}{\@tempswatrue}{}% + \if@tempswa% + \setlength#1{#2}% + \fi% + }{}% +} \newcommand*\tud@patch@wrn[1]{% \PackageWarning{tudscrbase}{% It wasn't possible to patch `\@backslashchar#1'.\MessageBreak% @@ -236,11 +301,11 @@ \newcommand*\TUD@parameter@checkfamily[1]{% \ifx\TUD@parameter@family\relax% \PackageError{tudscrbase}{% - No family for keys given. + 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. + argument of \string\TUD@parameter\space has to be a unique family name.% }% \fi% } @@ -284,6 +349,25 @@ `#1' can only be used with values:\MessageBreak#2% }% } +\newcommand*\TUD@AfterPackage@Set[1]{% + \newbool{@tud@#1@loaded}% + \AfterPackage!{#1}{\booltrue{@tud@#1@loaded}} +} +\newcommand*\TUD@AfterPackage[2]{% + \ifcsdef{if@tud@#1@loaded}{% + \if@atdocument% + \ifbool{@tud@#1@loaded}{#2}{}% + \else% + \AfterPackage!{#1}{#2}% + \fi% + }{% + \PackageError{tudscrbase}{\string\TUD@AfterPackage@Set{#1} missing}{% + You have to set \string\TUD@AfterPackage@Set{#1} before\MessageBreak% + the usage of \string\TUD@AfterPackage{#1}{<code>} is\MessageBreak% + possible.% + }% + }% +} \endinput %% %% End of file `tudscrbase.sty'. |