diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/koma-script/scrlfile.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/koma-script/scrlfile.sty | 104 |
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% |