%%
%% This is file `pagecolor.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% pagecolor.dtx  (with options: `package')
%% 
%% This is a generated file.
%% 
%% Project: pagecolor
%% Version: 2017/05/29 v1.0i
%% 
%% Copyright (C) 2011 - 2017 by
%%     H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de>
%% 
%% The usual disclaimer applies:
%% If it doesn't work right that's your problem.
%% (Nevertheless, send an e-mail to the maintainer
%%  when you find an error in this package.)
%% 
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
%% version 1.3c of this license or (at your option) any later
%% version. This version of this license is in
%%    http://www.latex-project.org/lppl/lppl-1-3c.txt
%% and 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.
%% 
%% This work has the LPPL maintenance status "maintained".
%% 
%% The Current Maintainer of this work is H.-Martin Muench.
%% 
%% This work consists of the main source file pagecolor.dtx,
%% the README, and the derived files
%%    pagecolor.sty, pagecolor.pdf,
%%    pagecolor.ins, pagecolor.drv,
%%    pagecolor-example.tex, pagecolor-example.pdf.
%% 
%% In memoriam
%%  Claudia Simone Barth + 1996/01/30
%%  Tommy Muench + 2014/01/02
%%  Hans-Klaus Muench + 2014/08/24
%% 
\NeedsTeXFormat{LaTeX2e}[2014/05/01]
\ProvidesPackage{pagecolor}[2017/05/29 v1.0i
            Provides thepagecolor (HMM)]
%% Provides the \thepagecolor, \thepagecolornone, \newpagecolor{...},
%% and \restorepagecolor commands and the a replacement for the
%% \nopagecolor command, if it is not available.
\RequirePackage{kvoptions}[2011/06/30]% v3.11
%% \RequirePackage{ either color or xcolor }:
\@ifpackageloaded{xcolor}{% xcolor loaded
   \@ifpackagelater{xcolor}{2007/01/21}{%
      % 2007/01/21, v2.11, or even more recent: OK
    }{% else: older package version
      \PackageWarning{pagecolor}{%
        It is requested version `2007/01/21' of package\MessageBreak%
        xcolor, but only an older version is available\MessageBreak%
       }%
     }%
 }{% xcolor not loaded
   \@ifpackageloaded{color}{%
      \RequirePackage{color}[2014/10/28]% v1.1a
    }{% \else
      \PackageWarning{pagecolor}{%
        The pagecolor package must be loaded after either\MessageBreak%
        package color or after package xcolor (at your\MessageBreak%
        option). Neither package was loaded before package\MessageBreak%
        pagecolor. Loading of package xcolor will now be\MessageBreak%
        tried automatically.\MessageBreak%
        When the pagecolor package is used with option\MessageBreak%
        pagecolor using a colour requiring e. g. x11names\MessageBreak%
        option for xcolor package, this will not work!\MessageBreak%
       }
     }% \fi
   \RequirePackage{xcolor}[2007/01/21]% v2.11
  }% \fi
\RequirePackage{ifpdf}[2011/01/30]%    v2.3
\RequirePackage{ifluatex}[2010/03/01]% v1.3
%% pagecolor may work with earlier versions of LaTeX and the
%% packages, but this was not tested. Please consider updating
%% your LaTeX and packages to the most recent version
%% (if they are not already the most recent version).

\SetupKeyvalOptions{family=pagecolor,prefix=pagecolor@}
\DeclareStringOption[none]{pagecolor}%   \pagecolor@pagecolor
\DeclareStringOption[none]{nopagecolor}% \pagecolor@nopagecolor
\ProcessKeyvalOptions*

%% \nopagecolor is only available for pdf(La)TeX and Lua(La)TeX
%% but not for dvips, dvipdfm(x), Xe(La)TeX,...
\def\pagecolourtmpa{0}
\ifluatex\def\pagecolourtmpa{1}\fi
\ifpdf\def\pagecolourtmpa{1}\fi
\def\pagecolourtmpb{1}
\ifx\pagecolourtmpa\pagecolourtmpb\relax%
\else%
  \PackageInfo{pagecolor}{\string\nopagecolor\space is undefined}%
  \def\pagecolourtmpb{none}%
  \edef\pagecolourtmpa{\pagecolor@nopagecolor}%
  \ifx\pagecolourtmpa\pagecolourtmpb%
    \PackageWarning{pagecolor}{%
      Option nopagecolor=none requested but \string\nopagecolor\space%
      unknown:\MessageBreak%
      By option nopagecolor the "colour" to be used with%
      \string\nopagecolor\MessageBreak%
      is set. The current value is "none" (maybe by default),%
      \MessageBreak%
      but command \string\nopagecolor\space is undefined.\MessageBreak%
      Therefore the colour cannot be "none".\MessageBreak%
      Please change the option accordingly!\MessageBreak%
      As first aid nopagecolor is now set to white\MessageBreak%
     }%
    \setkeys{pagecolor}{nopagecolor=white}%
  \fi%
  \edef\pagecolourtmpa{\pagecolor@pagecolor}%
  \ifx\pagecolourtmpa\pagecolourtmpb%
    \PackageWarning{pagecolor}{%
      Option pagecolor=none (maybe by default) used,\MessageBreak%
      but \string\nopagecolor\space is unknown.\MessageBreak%
      Please use anotheroption value;\MessageBreak%
      \pagecolor@nopagecolor\space\MessageBreak%
      will be used now\MessageBreak%
     }%
    \setkeys{pagecolor}{pagecolor={\pagecolor@nopagecolor}}%
  \fi%
  \@ifundefined{nopagecolor}{%
     \newcommand{\nopagecolor}{\pagecolor{\pagecolor@nopagecolor}}%
   }{\renewcommand{\nopagecolor}{\pagecolor{\pagecolor@nopagecolor}}%
    }%
\fi%

\let\origpagecolour\pagecolor

\renewcommand{\pagecolor}[1]{\@bsphack%
  \edef\pagecolourtmpa{#1}%
  \def\pagecolourtmpb{none}%
  \ifx\pagecolourtmpa\pagecolourtmpb\relax%
    \@ifundefined{nopagecolor}{%
      \PackageWarning{pagecolor}{%
        pagecolor=none requested but \string\nopagecolor\space%
        unknown:\MessageBreak%
        \string\pagecolor{none} was used, but the command\MessageBreak%
        \string\nopagecolor\space is undefined.\MessageBreak%
        Please use another colour.\MessageBreak%
        pagecolor=\pagecolor@nopagecolor \MessageBreak%
        will be used now\MessageBreak%
       }%
      \xdef\thepagecolor{\pagecolor@nopagecolor}%
      \xdef\thepagecolornone{\pagecolor@nopagecolor}%
                     % although it should be "none"
      \origpagecolour{\pagecolor@nopagecolor}%
    }{\nopagecolor%
    }%
  \else%
    \xdef\thepagecolor{#1}%
    \xdef\thepagecolornone{#1}%
    \origpagecolour{\thepagecolornone}%
  \fi%
  \@esphack%
}

\let\orignopagecolour\nopagecolor\relax%

\gdef\pagecolor@cl{0}%
\@ifpackageloaded{crop}{% crop loaded
  \gdef\pagecolor@cl{1}%
  \@ifpackagelater{crop}{2003/05/21}{%
     % later than 2003/05/20 v1.9 might be OK
     \PackageWarning{pagecolor}{%
       \string\nopagecolor\space did not work with package%
       \MessageBreak%
       crop 2003/05/20 v1.9. A newer version is used, \MessageBreak%
       which the pagecolor package does not know how to handle.%
       \MessageBreak%
       Please contact the maintainer of the pagecolor package!%
       \MessageBreak%
       }%
     % Let us just hope everything got fixed:
     \renewcommand{\nopagecolor}{%
       \xdef\thepagecolor{white}%
       \xdef\thepagecolornone{none}%
       \orignopagecolour%
       % That will not have any effect except when things got fixed!
       }%
    }{% else: older package version
      \PackageWarning{pagecolor}{%
        \string\nopagecolor\space does not work with\MessageBreak%
        the used crop package. Using\MessageBreak%
        \pagecolor@nopagecolor\MessageBreak%
        as nopagecolor now\MessageBreak%
        }%
      \def\pagecolourtmpb{none}%
      \edef\pagecolourtmpa{\pagecolor@nopagecolor}%
      \ifx\pagecolourtmpa\pagecolourtmpb%
        \PackageWarning{pagecolor}{%
          Option nopagecolor=none requested \MessageBreak%
          but this does not work with the crop package.\MessageBreak%
          By option nopagecolor the "colour" to be used with %
          \string\nopagecolor\MessageBreak%
          is set. The current value is "none" (maybe by default),%
          \MessageBreak%
          but the crop package broke \string\nopagecolor .%
          \MessageBreak%
          Therefore the colour cannot be "none".\MessageBreak%
          Please change the option accordingly!\MessageBreak%
          As first aid nopagecolor is now set to white\MessageBreak%
         }%
        \setkeys{pagecolor}{nopagecolor=white}%
      \fi%
      \renewcommand{\nopagecolor}{\pagecolor{\pagecolor@nopagecolor}}%
     }%
 }{% crop not loaded
   \def\pagecolourtmpa{0}%
   \ifluatex\def\pagecolourtmpa{1}\fi%
   \ifpdf\def\pagecolourtmpa{1}\fi%
   \def\pagecolourtmpb{1}%
   \ifx\pagecolourtmpa\pagecolourtmpb\relax%
     \gdef\pagecolourtmpa{none}%
   \else%
     \gdef\pagecolourtmpa{\pagecolor@nopagecolor}%
   \fi%
   \renewcommand{\nopagecolor}{%
     \xdef\thepagecolor{white}%
     \xdef\thepagecolornone{\pagecolourtmpa}%
     \orignopagecolour%
     }%
  }

\pagecolor{\pagecolor@pagecolor}

\newcommand{\newpagecolor}[1]{%
\xdef\pagecolourtmpc{\thepagecolornone}%
\pagecolor{#1}%
}

\newcommand{\restorepagecolor}{\pagecolor{\pagecolourtmpc}}

\gdef\pagecolourtmpc{\thepagecolor}

\AtBeginDocument{%
  \def\pagecolourtmpb{0}%
  \ifx\pagecolor@cl\pagecolourtmpb\relax%
    % crop not loaded before pagecolor, but maybe afterwards:
    \@ifpackageloaded{crop}{% crop indeed loaded afterwards.
      \gdef\pagecolor@cl{1}%
      \@ifpackagelater{crop}{2003/05/21}{%
         % later than 2003/05/20 v1.9 might be OK
         \PackageWarning{pagecolor}{%
           \string\nopagecolor\space did not work with package\MessageBreak%
           crop 2003/05/20 v1.9. A newer version is used, \MessageBreak%
           which the pagecolor package does not know how to handle.%
           \MessageBreak%
           Please contact the maintainer of the pagecolor package!%
           \MessageBreak%
           }%
         % Let us just hope everything got fixed:
         \renewcommand{\nopagecolor}{%
           \xdef\thepagecolor{white}%
           \xdef\thepagecolornone{none}%
           \orignopagecolour%
           % That will not have any effect except when things got fixed!
           }%
        }{% else: older package version
          \PackageWarning{pagecolor}{%
            \string\nopagecolor\space does not work with\MessageBreak%
            the used crop package. Using\MessageBreak%
            \pagecolor@nopagecolor\MessageBreak%
            as nopagecolor now\MessageBreak%
            }%
          \def\pagecolourtmpb{none}%
          \edef\pagecolourtmpa{\pagecolor@nopagecolor}%
          \ifx\pagecolourtmpa\pagecolourtmpb%
            \PackageWarning{pagecolor}{%
              Option nopagecolor=none requested \MessageBreak%
              but this does not work with the crop package.\MessageBreak%
              By option nopagecolor the "colour" to be used with %
              \string\nopagecolor\MessageBreak%
              is set. The current value is "none" (maybe by default),%
              \MessageBreak%
              but the crop package broke \string\nopagecolor .\MessageBreak%
              Therefore the colour cannot be "none".\MessageBreak%
              Please change the option accordingly!\MessageBreak%
              As first aid nopagecolor is now set to white\MessageBreak%
             }%
            \setkeys{pagecolor}{nopagecolor=white}%
          \fi%
          \renewcommand{\nopagecolor}{\pagecolor{\pagecolor@nopagecolor}}%
         }%
     }{% crop neither loaded afterwards.
      }%
  \fi%
  }

\endinput
%%
%% End of file `pagecolor.sty'.
