summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-07-02 22:12:17 +0000
committerKarl Berry <karl@freefriends.org>2015-07-02 22:12:17 +0000
commit586aedcf63ecf6ea7da1c1529e5ea5ba8f5cb426 (patch)
treeb679941add6df7f6b1ee8c135b24181f992dcb65 /Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty
parentfecdcd43eaa7f73e830159293fe22a202803086b (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.sty122
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'.