summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/koma-script/scrlfile.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-01-27 19:01:38 +0000
committerKarl Berry <karl@freefriends.org>2011-01-27 19:01:38 +0000
commit2b311b90f06b68e1cb123c58c3b380ea6533eea0 (patch)
tree06df1db9ecc0e0557987e581462d056ef498e1ef /Master/texmf-dist/tex/latex/koma-script/scrlfile.sty
parent7d072ac46075608b02b7af6ac92a174183cbcb32 (diff)
koma-script (26jan11)
git-svn-id: svn://tug.org/texlive/trunk@21195 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/koma-script/scrlfile.sty')
-rw-r--r--Master/texmf-dist/tex/latex/koma-script/scrlfile.sty104
1 files changed, 103 insertions, 1 deletions
diff --git a/Master/texmf-dist/tex/latex/koma-script/scrlfile.sty b/Master/texmf-dist/tex/latex/koma-script/scrlfile.sty
index 325d0f5c279..26586957fbf 100644
--- a/Master/texmf-dist/tex/latex/koma-script/scrlfile.sty
+++ b/Master/texmf-dist/tex/latex/koma-script/scrlfile.sty
@@ -41,7 +41,7 @@
%% standard classes created by The LaTeX3 Project 1994-1996.
%%
%%% From File: scrlfile.dtx
-\def\scrlfileversion{2009/03/25 v3.03}
+\def\scrlfileversion{2010/11/05 v3.08}
\ProvidesPackage{scrlfile}[%
\scrlfileversion\space KOMA-Script package (loading files)]
\typeout{Package scrlfile, \csname ver@scrlfile.sty\endcsname%
@@ -155,6 +155,97 @@
\endgroup
{#1}%
}
+\newcommand*{\scrlfile@excludedpackages}{}
+\let\scrlfile@excludedpackages\@empty
+\newcommand*{\scrlfile@saved@RequirePackage}{}
+\newcommand*{\PreventPackageFromLoading}[1]{%
+ \edef\reserved@b{#1}%
+ \ifx \reserved@b\@empty
+ \PackageWarning{scrlfile}{%
+ \string\PreventPackageFromLoading\space with empty argument\MesageBreak
+ ignored%
+ }%
+ \else
+ \ifx\scrlfile@excludedpackages\@empty
+ \let\scrlfile@saved@RequirePackage\RequirePackage
+ \let\RequirePackage\scrlfile@RequirePackage
+ \def\reserved@a#1{%
+ \@latex@error
+ {\noexpand \usepackage before \string\documentclass}%
+ {\noexpand \usepackage may only appear in the document
+ preamble, i.e.,\MessageBreak
+ between \noexpand\documentclass and
+ \string\begin{document}.}%
+ \@gobble}%
+ \ifx\reserved@a\usepackage\else
+ \ifx\usepackage\scrlfile@saved@RequirePackage\else
+ \PackageWarning{scrlfile}{%
+ Maybe serious problem: unexpected definition of\MessageBreak
+ \string\usepackage
+ }%
+ \fi
+ \let\usepackage\RequirePackage
+ \fi
+ \fi
+ \expandafter\@for \expandafter\reserved@a\expandafter:\expandafter=%
+ \reserved@b\do {%
+ \ifx\reserved@a\@empty\else
+ \expandafter\@ifpackageloaded\expandafter{\reserved@a}{%
+ \PackageWarning{scrlfile}{%
+ package `\reserved@a' already loaded.\MessageBreak
+ Cannot prevent it from beeing loaded%
+ }%
+ }{%
+ \edef\scrlfile@excludedpackages{,\reserved@a}%
+ }%
+ \fi
+ }%
+ \ifx\scrlfile@excludedpackages\@empty
+ \ResetPreventPackageFromLoading
+ \fi
+ \fi
+}
+\@onlypreamble\PreventPackageFromLoading
+\newcommand*{\ResetPreventPackageFromLoading}{%
+ \let\scrlfile@excludedpackages\@empty
+ \ifx\RequirePackage\scrlfile@RequirePackage
+ \ifx\usepackage\RequirePackage
+ \let\usepackage\scrlfile@saved@RequirePackage
+ \fi
+ \let\RequirePackage\scrlfile@saved@RequirePackage
+ \fi
+}
+\@onlypreamble\ResetPreventPackageFromLoading
+\newcommand*{\StorePreventPackageFromLoading}[1]{%
+ \let#1\scrlfile@excludedpackages
+}
+\@onlypreamble\StorePreventPackageFromLoading
+\newcommand*{\scrlfile@RequirePackage}[2][]{%
+ \let\reserved@c\@empty
+ \@for\reserved@b:=#2\do {%
+ \begingroup
+ \@tempswatrue
+ \@for\reserved@a:=\scrlfile@excludedpackages\do {%
+ \ifx\reserved@a\reserved@b
+ \PackageInfo{scrlfile}{Excluding package `\reserved@b'\MessageBreak
+ from loading}%
+ \@tempswafalse
+ \fi
+ }%
+ \if@tempswa
+ \xdef\reserved@c{\reserved@c,\reserved@b}%
+ \fi
+ \endgroup
+ }%
+ \ifx\reserved@c\@empty
+ \let\reserved@a\@gobbleopt
+ \else
+ \edef\reserved@a{\noexpand\scrlfile@saved@RequirePackage[#1]{%
+ \expandafter\@gobble\reserved@c\@empty}}%
+ \fi
+ \reserved@a
+}
+\providecommand{\@gobbleopt}[1][]{}
\AtEndDocument{%
\let\scr@saved@checkend=\@checkend
\renewcommand*{\@checkend}[1]{%
@@ -215,6 +306,7 @@
\ifx\scr@hook@bcma\@empty
\gdef\scr@hook@bcma{%
\renewcommand*{\BeforeClosingMainAux}[1]{####1}%
+ \let\protected@write\protected@immediate@write
\scr@redefine@newpage
}%
\fi
@@ -224,10 +316,20 @@
\ifx\scr@hook@acma\@empty
\gdef\scr@hook@acma{%
\renewcommand*{\AfterReadingMainAux}[1]{####1}%
+ \let\protected@write\protected@immediate@write
}%
\fi
\g@addto@macro\scr@hook@acma%
}
+\long\def\protected@immediate@write#1#2#3{%
+ \begingroup
+ #2%
+ \let\protect\@unexpandable@protect
+ \edef\reserved@a{\immediate\write#1{#3}}%
+ \reserved@a
+ \endgroup
+ \if@nobreak\ifvmode\nobreak\fi\fi
+}
%%% From File: scrlogo.dtx
\@ifundefined{KOMAScript}{%
\DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em%