summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/pagecolor
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/pagecolor
Initial commit
Diffstat (limited to 'macros/latex/contrib/pagecolor')
-rw-r--r--macros/latex/contrib/pagecolor/README163
-rw-r--r--macros/latex/contrib/pagecolor/pagecolor-example.pdfbin0 -> 85717 bytes
-rw-r--r--macros/latex/contrib/pagecolor/pagecolor.dtx1275
-rw-r--r--macros/latex/contrib/pagecolor/pagecolor.pdfbin0 -> 320120 bytes
4 files changed, 1438 insertions, 0 deletions
diff --git a/macros/latex/contrib/pagecolor/README b/macros/latex/contrib/pagecolor/README
new file mode 100644
index 0000000000..a1dc382c79
--- /dev/null
+++ b/macros/latex/contrib/pagecolor/README
@@ -0,0 +1,163 @@
+README for pagecolor package, 2017/05/29, v1.0i
+
+
+TABLE OF CONTENTS
+=================
+
+1 Introduction
+2 Download
+3 Installation
+4 Additional Packages
+5 Package Compatibility
+6 Author/Maintainer
+7 Bug Reports
+8 Known Problems
+
+
+1 INTRODUCTION
+==============
+
+This LaTeX package provides the command \thepagecolor, which gives
+the current page (background) colour, i. e. the argument used with
+the most recent call of \pagecolor{...}.
+The command \thepagecolornone gives the same colour as
+\thepagecolor, except when the page background colour is "none".
+In that case \thepagecolor is white and \thepagecolornone is none.
+When \nopagecolor is unknown (e.g. Xe(La)TeX) or broken (crop package)
+this package provides a replacement.
+Similar to \newgeometry and \restoregeometry of the geometry
+package \newpagecolor{...} and \restorepagecolor are provided.
+
+This material is published under the LPPL 1.3c: 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.
+
+
+2 DOWNLOAD
+==========
+
+`pagecolor' is available on CTAN:
+https://www.ctan.org/pkg/pagecolor
+
+Also a ZIP file is provided that contains the files:
+the manual (pagecolor.pdf), the example (pagecolor-example.tex),
+the compiled example (pagecolor-example.pdf),
+driver (pagecolor.drv), pagecolor.dtx,
+installation file (pagecolor.ins),
+the style file (pagecolor.sty),
+and this README, already sorted in a TDS tree:
+http://mirrors.ctan.org/install/macros/latex/contrib/pagecolor.tds.zip
+
+
+3 INSTALLATION
+==============
+
+Installation with ZIP file in TDS format
+----------------------------------------
+The ZIP file `pagecolor.tds.zip' contains the files
+sorted in a TDS tree. Thus you can directly unpack the
+ZIP file inside a TDS tree.
+See https://www.ctan.org/TDS-guidelines for an explanation
+of TDS.
+Example:
+ cd /...somewhere.../texmf
+ unzip /...downloadpath.../pagecolor.tds.zip
+Do not forget to refresh the file name database of this
+TDS tree.
+Example:
+ texhash /...somewhere.../texmf
+
+Manual installation
+-------------------
+a) Download the pagecolor files from CTAN.
+ If necessary, unpack them.
+b) Generate the package and driver files:
+ tex pagecolor.dtx
+c) Install the file `pagecolor.sty' in your TDS tree:
+ cp pagecolor.sty TDS:tex/latex/pagecolor/
+ Replace `TDS:' by the prefix of your TDS tree
+ (texmf directory).
+d) Create the documentation, if necessary, e.g.
+ pdflatex pagecolor.dtx
+ makeindex -s gind.ist pagecolor.idx
+ pdflatex pagecolor.dtx
+ makeindex -s gind.ist pagecolor.idx
+ pdflatex pagecolor.dtx
+e) Update the databases if necessary, e.g. for teTeX:
+ mktexlsr .../texmf
+f) Create the pagecolor-example.pdf, if necessary, e.g.
+ pdflatex pagecolor-example.tex
+ pdflatex pagecolor-example.tex
+ pdflatex pagecolor-example.tex
+g) Copy the documentation files to
+ "TDS:doc/latex/pagecolor/":
+ README, pagecolor.pdf, pagecolor-example.tex,
+ pagecolor-example.pdf.
+
+
+4 ADDITIONAL PACKAGES
+=====================
+
+pagecolor loads other packages:
+kvoptions, xcolor (if the color package has not been loaded
+before pagecolor), ifpdf, and ifluatex,
+which again load other packages
+(see the result of the \listfiles command in the log-file
+ of the example).
+
+
+5 PACKAGE COMPATIBILITY
+=======================
+
+pagecolor should be loaded quite early, i. e. before
+\pagecolor{...} is used by some other package
+(but can be loaded later using the pagecolor={...} option
+with accordingly chosen value), but must be loaded after
+\nopagecolor is defined (if that is defined in the document
+at all). If the xcolor or the color package shall be used,
+they also should be loaded before pagecolor.
+
+
+6 AUTHOR/MAINTAINER
+=====================
+
+H.-Martin Münch
+
+
+7 BUG REPORTS
+==============
+
+A bug report should contain:
+* Comprehensive problem description. This includes error or
+ warning messages.
+* \errorcontextlines=\maxdimen can be added in the
+ TeX code to get more information in TeX error messages.
+* Minimal test file that shows the problem, but does not
+ contain any unnecessary packages and code.
+* Used drivers/programs.
+* Version information about used packages and programs.
+* If you are using LaTeX, then add "\listfiles". Then
+ a list of version information is printed at the end
+ of the LaTeX run.
+* Please no other files than the minimal test file.
+ The other files .log, .dvi, .ps, .pdf are seldom
+ necessary, so send them only on request.
+* Please .zip or .tar.gz your file(s) before sending them!
+
+Bug address
+-----------
+Bug reports can be send to the maintainer:
+ H.-Martin Münch
+ <Martin [dot] Muench [at] Uni-Bonn [dot] de>
+
+
+8 KNOWN PROBLEMS
+=================
+
+* as yet: none. \ No newline at end of file
diff --git a/macros/latex/contrib/pagecolor/pagecolor-example.pdf b/macros/latex/contrib/pagecolor/pagecolor-example.pdf
new file mode 100644
index 0000000000..dba8dd4f91
--- /dev/null
+++ b/macros/latex/contrib/pagecolor/pagecolor-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/pagecolor/pagecolor.dtx b/macros/latex/contrib/pagecolor/pagecolor.dtx
new file mode 100644
index 0000000000..7df746c450
--- /dev/null
+++ b/macros/latex/contrib/pagecolor/pagecolor.dtx
@@ -0,0 +1,1275 @@
+% \iffalse meta-comment
+%
+% File: pagecolor.dtx
+% Version: 2017/05/29 v1.0i
+%
+% Copyright (C) 2011 - 2017 by
+% H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de>
+%
+% 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.
+%
+% 'pagecolor' is available on CTAN:
+% https://www.ctan.org/pkg/pagecolor
+%
+% Also a TDS.ZIP file is provided that contains all the files
+% already sorted in a TDS tree:
+% http://mirror.ctan.org/install/macros/latex/contrib/pagecolor.tds.zip
+%
+%<*ignore>
+\begingroup
+ \catcode123=1 %
+ \catcode125=2 %
+ \def\x{LaTeX2e}%
+\expandafter\endgroup
+\ifcase 0\ifx\install y1\fi\expandafter
+ \ifx\csname processbatchFile\endcsname\relax\else1\fi
+ \ifx\fmtname\x\else 1\fi\relax
+\else\csname fi\endcsname
+%</ignore>
+%<*install>
+\input docstrip.tex
+\Msg{******************************************************************}
+\Msg{* Installation *}
+\Msg{* Package: pagecolor 2017/05/29 v1.0i Provides thepagecolor (HMM)*}
+\Msg{******************************************************************}
+
+\keepsilent
+\askforoverwritefalse
+
+\let\MetaPrefix\relax
+\preamble
+
+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
+
+\endpreamble
+\let\MetaPrefix\DoubleperCent
+
+\generate{%
+ \file{pagecolor.ins}{\from{pagecolor.dtx}{install}}%
+ \file{pagecolor.drv}{\from{pagecolor.dtx}{driver}}%
+ \usedir{tex/latex/pagecolor}%
+ \file{pagecolor.sty}{\from{pagecolor.dtx}{package}}%
+ \usedir{doc/latex/pagecolor}%
+ \file{pagecolor-example.tex}{\from{pagecolor.dtx}{example}}%
+}
+
+\catcode32=13\relax% active space
+\let =\space%
+\Msg{************************************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* file into a directory searched by TeX:}
+\Msg{*}
+\Msg{* pagecolor.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the file `pagecolor.drv'}
+\Msg{* through (pdf)LaTeX, e.g.}
+\Msg{* pdflatex pagecolor.drv}
+\Msg{* makeindex -s gind.ist pagecolor.idx}
+\Msg{* pdflatex pagecolor.drv}
+\Msg{* makeindex -s gind.ist pagecolor.idx}
+\Msg{* pdflatex pagecolor.drv}
+\Msg{*}
+\Msg{* At least three runs are necessary e.g. to get the}
+\Msg{* references right!}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{*}
+\Msg{************************************************************************}
+
+\endbatchfile
+%</install>
+%<*ignore>
+\fi
+%</ignore>
+%
+% \section{The documentation driver file}
+%
+% The next bit of code contains the documentation driver file for
+% \TeX , i.\,e., the file that will produce the documentation you
+% are currently reading. It will be extracted from this file by the
+% \texttt{docstrip} programme. That is, run \LaTeX{} on \texttt{docstrip}
+% and specify the \texttt{driver} option when \texttt{docstrip}
+% asks for options.
+%
+% \begin{macrocode}
+%<*driver>
+\NeedsTeXFormat{LaTeX2e}[2014/05/01]
+\ProvidesFile{pagecolor.drv}%
+ [2017/05/29 v1.0i Provides thepagecolor (HMM)]
+\documentclass{ltxdoc}[2014/09/29]% v2.0u
+\usepackage{xcolor}[2007/01/21]% v2.11
+\definecolor{darkgreen}{rgb}{0.0, 0.3, 0.0}%
+\usepackage{holtxdoc}[2012/03/21]% v0.24
+%% pagecolor may work with earlier versions of LaTeX2e and those
+%% class and package, but this was not tested.
+%% Please consider updating your LaTeX, class, and package
+%% to the most recent version (if they are not already the most
+%% recent version).
+\hypersetup{%
+ pdfsubject={Providing the thepagecolor command (HMM)},%
+ pdfkeywords={LaTeX, pagecolor, thepagecolor, H.-Martin Muench},%
+ pdfencoding=auto,%
+ pdflang={en},%
+ breaklinks=true,%
+ linktoc=all,%
+ pdfstartview=FitH,%
+ pdfpagelayout=OneColumn,%
+ bookmarksnumbered=true,%
+ bookmarksopen=true,%
+ bookmarksopenlevel=3,%
+ pdfmenubar=true,%
+ pdftoolbar=true,%
+ pdfwindowui=true,%
+ pdfnewwindow=true%
+}
+\CodelineIndex
+\hyphenation{printing docu-ment}
+\gdef\unit#1{\mathord{\thinspace\mathrm{#1}}}%
+\begin{document}
+ \DocInput{pagecolor.dtx}%
+\end{document}
+%</driver>
+% \end{macrocode}
+%
+% \fi
+%
+% \CheckSum{335}
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \GetFileInfo{pagecolor.drv}
+%
+% \begingroup
+% \def\x{\#,\$,\^,\_,\~,\ ,\&,\{,\},\%}%
+% \makeatletter
+% \@onelevel@sanitize\x
+% \expandafter\endgroup
+% \expandafter\DoNotIndex\expandafter{\x}
+% \expandafter\DoNotIndex\expandafter{\string\ }
+% \begingroup
+% \makeatletter
+% \lccode`9=32\relax
+% \lowercase{%^^A
+% \edef\x{\noexpand\DoNotIndex{\@backslashchar9}}%^^A
+% }%^^A
+% \expandafter\endgroup\x
+%
+% \DoNotIndex{\",\-,\,,\\,\noindent}
+% \DoNotIndex{\documentclass,\usepackage,\ProvidesPackage,\begin,\end}
+% \DoNotIndex{\MessageBreak}
+% \DoNotIndex{\NeedsTeXFormat,\DoNotIndex,\verb}
+% \DoNotIndex{\def,\edef,\gdef,\xdef,\global}
+% \DoNotIndex{\ifx,\listfiles,\mathord,\mathrm}
+% \DoNotIndex{\kvoptions,\SetupKeyvalOptions,\ProcessKeyvalOptions}
+% \DoNotIndex{\smallskip,\bigskip,\space,\thinspace,\ldots}
+% \DoNotIndex{\indent,\noindent,\newline,\linebreak,\pagebreak,\newpage}
+% \DoNotIndex{\textbf,\textit,\textsf,\texttt,\textsc}
+% \DoNotIndex{\textquotedblleft,\textquotedblright}
+% \DoNotIndex{\plainTeX,\TeX,\LaTeX,\pdfLaTeX}
+% \DoNotIndex{\section,\color,\pagenumbering}
+% \DoNotIndex{\pagecolourtmpa,\pagecolourtmpb,\pagecolourtmpc}
+%
+% \title{The \xpackage{pagecolor} package}
+% \date{2017/05/29 v1.0i}
+% \author{H.-Martin M\"{u}nch\\\xemail{Martin.Muench at Uni-Bonn.de}}
+%
+% \maketitle
+%
+% \begin{abstract}
+% This \LaTeX{} package provides the command |\thepagecolor|,
+% which gives the current page (background) colour,
+% \hbox{i.\,e. the} argument used with the most recent call of |\pagecolor{...}|.
+% The command |\thepagecolornone| gives the same colour as |\thepagecolor|,
+% except when the page background colour is
+% \textquotedblleft|none|\textquotedblright. In that case |\thepagecolor| is
+% |white| and |\thepagecolornone| is |none|.\\
+% When |\nopagecolor| is unknown (e.\,g. \XeLaTeX ) or broken
+% (\xpackage{crop} package) this package provides a replacement.
+% Similar to |\newgeometry| and |\restoregeometry| of the \xpackage{geometry}
+% package\\
+% |\newpagecolor{<|\textit{some colour} |>}| and |\restorepagecolor|
+% are provided.
+% \end{abstract}
+%
+% \bigskip
+%
+% \noindent Disclaimer for web links: The author is not responsible for any contents
+% referred to in this work unless he has full knowledge of illegal contents.
+% If any damage occurs by the use of information presented there, only the
+% author of the respective pages might be liable, not the one who has referred
+% to these pages.
+%
+% \bigskip
+%
+% \noindent {\color{darkgreen} Save per page about $200\unit{ml}$ water,
+% $2\unit{g}$ CO$_{2}$ and $2\unit{g}$ wood:\\
+% Therefore please print only if this is really necessary.}
+%
+% \newpage
+%
+% \tableofcontents
+%
+% \bigskip
+%
+% \section{Introduction\label{s:Introduction}}
+% \indent This \LaTeX{} package provides the command |\thepagecolor|,
+% which gives the current page (background) colour,
+% \hbox{i.\,e. the} argument used with the most recent call of |\pagecolor{...}|.
+% The package should be loaded before any package sets a page (background)
+% colour, but after \xpackage{xcolor} or \xpackage{color} package.
+% Its option |pagecolor={...}| is used to set the initial |\pagecolor{...}|.\\
+% The command |\thepagecolornone| gives the same colour as |\thepagecolor|,
+% except when the page background colour is
+% \textquotedblleft|none|\textquotedblright (e.\,g. result of using the
+% |\nopagecolor| command). In that case |\thepagecolor| is |white| and\linebreak
+% |\thepagecolornone| is |none|.
+% When |\nopagecolor| is unknown (e.g. \XeLaTeX ) or broken
+% (\xpackage{crop} package) this package provides a replacement
+% depending on option |nopagecolor|.
+% Similar to |\newgeometry| and |\restoregeometry| of the \xpackage{geometry}
+% package
+% |\newpagecolor{<|\textit{some colour}|>}| and |\restorepagecolor|
+% are provided.
+%
+% \newpage
+%
+% \section{Usage}
+%
+% \indent Just load the package placing
+% \begin{quote}
+% |\usepackage[<|\textit{options}|>]{pagecolor}|
+% \end{quote}
+% \noindent in the preamble of your \LaTeXe{} source file.
+% This should be done before another package uses |\pagecolor|.
+% Afterwards |\pagecolor{...}| can be used to change the page (background)
+% colour as usual. Then |\thepagecolor| gives the current page (background)
+% colour (in the same format as given with |\pagecolor{...}|).\\
+% Similar to |\newgeometry| and |\restoregeometry| of the \xpackage{geometry}
+% package\\
+% |\newpagecolor{<|\textit{some colour} |>}| and |\restorepagecolor|
+% are provided:\\
+% |\newpagecolor{<|\textit{some colour} |>}| will execute
+% |\pagecolor{<|\textit{some colour} |>}| and remember the page colour used before.
+% |\restorecolor| (without argument) restores the page colour to the one used before
+% use of the |\newpagecolor{...}| command. When you want to change the colour for
+% just one page and do not want to (or cannot) manually determine where the page ends,\\
+% |\newpagecolor{<|\textit{some colour}|>}\afterpage{\restorepagecolor}|\\
+% does the trick (and requires a |\usepackage{afterpage}| in the document's
+% preamble), or for short\\
+% |\newcommand{\onepagecolor}[1]{%|\\
+% | \newpagecolor{#1}\afterpage{\restorepagecolor}}|\\
+% in the preamble and\\
+% |\onepagecolor{<|\textit{some colour}|>}| in the document.
+%
+% \subsection{Options}
+% \DescribeMacro{options}
+% \indent The \xpackage{pagecolor} package takes the following options:
+%
+% \subsubsection{pagecolor\label{sss:pagecolor}}
+% \DescribeMacro{pagecolor}
+% \indent The option |pagecolor={...}| takes as value a colour. This
+% could be as simple as |black| or |white|, but when \hbox{e.\,g. the}
+% \xpackage{xcolor} package is used (loaded before \xpackage{pagecolor}!),
+% also colours like |red!50!green!20!blue| are possible.
+% The default is |pagecolor={none}|. A |\pagecolor{...}| command with
+% the given colour is used to initialise the pagecolour.
+%
+%
+% \subsubsection{nopagecolor\label{sss:nopagecolor}}
+% \DescribeMacro{nopagecolor}
+% \indent The option |nopagecolor={...}| takes as value a colour. This
+% could be as simple as |white| or |black|, but when \hbox{e.\,g. the}
+% \xpackage{xcolor} package is used (loaded before \xpackage{pagecolor}!),
+% also colours like |red!50!green!20!blue| are possible.
+% The default is |nopagecolor={none}|. When |\nopagecolor| is unknown
+% (e.\,g. \XeLaTeX ) or broken (\xpackage{crop} package) |\nopagecolor|
+% is replaced by a |\pagecolor| command using the colour defined with the
+% |nopagecolor| option. If |\nopagecolor| is not available and
+% |nopagecolor| is |none|, it is used |white| instead of |none|.
+%
+% \newpage
+%
+% \section{Alternatives\label{s:Alternatives}}
+%
+% As I neither know what exactly you want to accomplish
+% when using this package (e.\,g.~hiding text), nor what resources you have
+% (e.\,g.~\pdfTeX{} version), here is a list of possible alternatives:\\
+%
+% \begin{description}
+% \item[-] \xpackage{transparent} package: With it some object can be made
+% (fully or partially) transparent,
+% \url{https://www.ctan.org/pkg/transparent}.
+%
+% \item[-] \xpackage{hrefhide} package: It allows to
+% \textquotedblleft hide\textquotedblright{} some (hyperlinked) text when
+% printing the document while keeping the layout,
+% \url{https://www.ctan.org/pkg/hrefhide}.
+% \end{description}
+%
+% \bigskip
+%
+% \noindent You programmed or found another alternative,
+% which is available at \url{https://www.CTAN.org/}?
+% OK, send an e-mail to me with the name, location at CTAN,
+% and a short notice, and I will probably include it in the list above.
+%
+% \newpage
+%
+% \section{Example}
+%
+% \begin{macrocode}
+%<*example>
+\documentclass[british]{article}[2014/09/29]% v1.4h
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\usepackage[%
+ extension=pdf,%
+ plainpages=false,%
+ pdfpagelabels=true,%
+ hyperindex=false,%
+ pdflang={en},%
+ pdftitle={pagecolor package example},%
+ pdfauthor={H.-Martin Muench},%
+ pdfsubject={Example for the pagecolor package},%
+ pdfkeywords={LaTeX, pagecolor, thepagecolor, page colour,%
+ H.-Martin Muench},%
+ pdfview=Fit,pdfstartview=Fit,%
+ pdfpagelayout=SinglePage%
+]{hyperref}[2012/11/06]% v6.83m
+\usepackage[x11names]{xcolor}[2007/01/21]% v2.11
+ % The xcolor package would not be needed for just using
+ % the base colours. The color package would be sufficient for that.
+\definecolor{darkgreen}{rgb}{0.0, 0.3, 0.0}%
+\usepackage[pagecolor={LightGoldenrod1},%
+ nopagecolor={none}]{pagecolor}[2017/05/29]% v1.0i
+
+\usepackage{afterpage}[2014/10/28]% v1.08
+ % The afterpage package is generally not needed,
+ % but the |\newpagecolor{somecolour}\afterpage{\restorepagecolor}|
+ % construct shall be demonstrated.
+
+\usepackage{lipsum}[2014/07/27]% v1.3
+ % The lipsum package is generally not needed,
+ % but some blind text is needed for the example.
+
+\usepackage{hologo}[2012/04/26]% v1.10
+ % The hologo package is only needed to write
+ % \hologo{pdfTeX}, \hologo{LuaTeX}, and \hologo{XeTeX}.
+
+\gdef\unit#1{\mathord{\thinspace\mathrm{#1}}}%
+\listfiles%
+\begin{document}
+\pagenumbering{arabic}
+\section*{Example for pagecolor}
+
+This example demonstrates the use of package\newline
+\textsf{pagecolor}, v1.0i as of 2017/05/29 (HMM).\newline
+The used options were\newline
+\verb|pagecolor={LightGoldenrod1}| (\verb|pagecolor={none}|
+would be the default), and
+\verb|pagecolor={none}| (which is the default).\newline
+
+\noindent For more details please see the documentation!\newline
+
+\noindent {\color{darkgreen} Save per page about $200\unit{ml}$ water,
+$2\unit{g}$ CO$_{2}$ and $2\unit{g}$ wood:\newline
+Therefore please print only if this is really necessary.}\newline
+
+% \end{macrocode}
+% \pagebreak
+% \begin{macrocode}
+\noindent The current page (background) colour is\newline
+\verb|\thepagecolor|\ =\ \thepagecolor \newline
+(and \verb|\thepagecolornone|\ =\ \thepagecolornone ,
+which would only be different from \verb|\thepagecolor|,
+when the page colour would be \verb|none|).
+
+\pagebreak
+\pagecolor{rgb:-green!40!yellow,3;green!40!yellow,2;red,1}
+
+{\color{white} The current page (background) colour is\newline
+\verb|\thepagecolor|\ =\ \thepagecolor . \newline}
+
+{\color{\thepagecolor} And that makes this text practically invisible.
+\newline}
+
+{\color{white} Which made the preceding line of text practically
+invisible.}
+
+\pagebreak
+\newpagecolor{red}
+
+This page uses \verb|\newpagecolor{red}|.
+
+\pagebreak
+\restorepagecolor
+
+{\color{white}And this page uses \verb|\restorepagecolor| to restore
+the page colour to the value it had before the red page.}
+
+\pagebreak
+\pagecolor{none}
+
+This page uses \verb|\pagecolor{none}|. If the \verb|\nopagecolor|
+command is known (\hologo{pdfTeX} and \hologo{LuaTeX}; not yet for
+dvips, dvipdfm(x) or \hologo{XeTeX}), the page colour is now
+\verb|none| (because option \verb|nopagecolor={none}|), otherwise
+\verb|white| (or the colour given with option \verb|nopagecolor={...}|):
+\verb|\thepagecolor|\ =\ \thepagecolor\ and
+\verb|\thepagecolornone|\ =\ \thepagecolornone .
+
+\pagebreak
+\restorepagecolor
+
+{\color{white}\verb|\restorepagecolor| restored the page colour again.}
+
+\pagebreak
+\pagecolor{green}
+
+This page is green due to \verb|\pagecolor{green}|.
+
+\pagebreak
+\newpagecolor{blue}\afterpage{\restorepagecolor}
+
+{\color{white}\verb|\newpagecolor{blue}\afterpage{\restorepagecolor}|%
+\newline
+was used here, i.\,e.~this page is blue, and the next one will
+automatically have the same page colour before it was changed to blue
+here (i.\,e. green).}
+
+\smallskip
+{\color{red}\textbf{\lipsum[1-11]}}
+\bigskip
+
+The page colour was changed back at the end of the page -
+in mid-sentence!
+
+\end{document}
+%</example>
+% \end{macrocode}
+%
+% \StopEventually{}
+%
+% \newpage
+%
+% \section{The implementation}
+%
+% We start off by checking that we are loading into \LaTeXe{} and
+% announcing the name and version of this package.
+%
+% \begin{macrocode}
+%<*package>
+% \end{macrocode}
+%
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}[2014/05/01]
+\ProvidesPackage{pagecolor}[2017/05/29 v1.0i
+ Provides thepagecolor (HMM)]
+% \end{macrocode}
+%
+% A short description of the \xpackage{pagecolor} package:
+%
+% \begin{macrocode}
+%% Provides the \thepagecolor, \thepagecolornone, \newpagecolor{...},
+%% and \restorepagecolor commands and the a replacement for the
+%% \nopagecolor command, if it is not available.
+% \end{macrocode}
+%
+% We need the \xpackage{kvoptions} package by \textsc{Heiko Oberdiek}:
+%
+% \begin{macrocode}
+\RequirePackage{kvoptions}[2011/06/30]% v3.11
+% \end{macrocode}
+%
+% and either the \xpackage{color} or the \xpackage{xcolor} package:
+%
+% \begin{macrocode}
+%% \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
+% \end{macrocode}
+%
+% as well as the \xpackage{ifpdf} and the \xpackage{ifluatex} package,
+% because only \pdfTeX{} and \LuaTeX{} provide the |\nopagecolor| command:
+%
+% \begin{macrocode}
+\RequirePackage{ifpdf}[2011/01/30]% v2.3
+\RequirePackage{ifluatex}[2010/03/01]% v1.3
+% \end{macrocode}
+%
+% A last information for the user:
+%
+% \begin{macrocode}
+%% 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).
+
+% \end{macrocode}
+%
+% \indent See subsection~\ref{ss:Downloads} about how to get them.\\
+%
+% We process the options:
+%
+% \begin{macrocode}
+\SetupKeyvalOptions{family=pagecolor,prefix=pagecolor@}
+\DeclareStringOption[none]{pagecolor}% \pagecolor@pagecolor
+\DeclareStringOption[none]{nopagecolor}% \pagecolor@nopagecolor
+\ProcessKeyvalOptions*
+
+% \end{macrocode}
+% \begin{macro}{\nopagecolor}\label{nopagecolor}
+% \begin{macrocode}
+%% \nopagecolor is only available for pdf(La)TeX and Lua(La)TeX
+%% but not for dvips, dvipdfm(x), Xe(La)TeX,...
+% \end{macrocode}
+%
+% therefore |pagecolor| and/or |nopagecolor| can only be |none|,
+% if either \pdfTeX{} or \LuaTeX{} is used; otherwise |white| is fine
+% or another colour (other colours) requested by the user with the two options.
+%
+% \begin{macrocode}
+\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%
+
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pagecolor}
+%
+% \pagebreak
+% We save the original |\pagecolor| command,
+%
+% \begin{macrocode}
+\let\origpagecolour\pagecolor
+
+% \end{macrocode}
+%
+% before we redefine it to include a definition of |\thepagecolor|
+% and \linebreak
+% |\thepagecolornone|:
+%
+% \begin{macrocode}
+\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%
+}
+
+% \end{macrocode}
+% \end{macro}
+%
+% |\nopagecolor| is only defined for \pdfTeX{} and \LuaTeX , but not for dvips,
+% dvipdfm(x) or \XeTeX . (We defined a replacement, see page~\pageref{nopagecolor}.)
+% But additionally |\nopagecolor| does not work if the \xpackage{crop} package is used.
+% A workaround needs to be defined:
+%
+% \begin{macrocode}
+\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%
+ }%
+% \end{macrocode}
+% \pagebreak
+% \begin{macrocode}
+ % 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%
+ }%
+ }
+
+
+% \end{macrocode}
+%
+% The (new) |\pagecolor| is now just carried out.
+%
+% \begin{macrocode}
+\pagecolor{\pagecolor@pagecolor}
+
+% \end{macrocode}
+%
+% \pagebreak
+% Now the page (background) colour as well as |\thepagecolor| are\\
+% |\pagecolor@pagecolor|. |\thepagecolornone| is |none|, if that colour is known,
+% otherwise it is |\pagecolor@nopagecolor|, and if that was |none| (but that unknown),
+% it is |white|. If |\pagecolor@pagecolor| was |none|,
+% the page (background) colour is |none|, when known, otherwise
+% |\pagecolor@nopagecolor|, and if that was |none| (but that unknown),
+% it is |white|, and |\thepagecolor| is |\pagecolor@nopagecolor|,
+% and if that was also |none| but |none| unknown, then it is |white|.
+% When the page (background) colour is changed, |\thepagecolor| and
+% |\thepagecolornone| are changed accordingly.
+%
+% \begin{macro}{\newpagecolor}
+% There have been requests (via e-mail and at \\
+% \url{https://tex.stackexchange.com/q/25137/6865}) to change the colour of just one
+% (or two) page(s) only, similar to |\newgeometry| and |\restoregeometry| of the
+% \xpackage{geometry} package (\url{https://www.ctan.org/pkg/geometry}).\\
+% Therefore |\newpagecolor| and |\restorepagecolor| are introduced (as suggested by
+% \textsc{haoyun\_tex}):
+%
+% \begin{macrocode}
+\newcommand{\newpagecolor}[1]{%
+\xdef\pagecolourtmpc{\thepagecolornone}%
+\pagecolor{#1}%
+}
+
+% \end{macrocode}
+% \end{macro}
+%
+% |\newpagecolor{<|\textit{some colour}|>}| will execute |\pagecolor{somecolour}|
+% and remember the page colour used before.
+%
+% \begin{macro}{\restorepagecolor}
+% \begin{macrocode}
+\newcommand{\restorepagecolor}{\pagecolor{\pagecolourtmpc}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% |\restorecolor| (without argument) restores the page colour to the one used before
+% use of the |\newpagecolor{...}| command.
+%
+% \begin{macrocode}
+\gdef\pagecolourtmpc{\thepagecolor}
+
+% \end{macrocode}
+% is just a precaution for |\restorecolor| being used when no |\newpagecolor{...}|
+% was used before it.\\
+%
+% When you want to change the colour for just one page and do not want to
+% (or cannot) manually determine where the page ends,\\
+% |\newpagecolor{<|\textit{some colour}|>}\afterpage{\restorepagecolor}|\\
+% does the trick (and requires an additional |\usepackage{afterpage}| in the
+% document's preamble).\\
+%
+% We checked whether the \xpackage{crop} package had been loaded before
+% the \xpackage{pagecolor} package, but maybe it has been loaded afterwards.
+% This is checked |\AtBeginDocument|:
+%
+% \begin{macrocode}
+\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%
+ }
+
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%
+% \newpage
+%
+% \section{Installation}
+%
+% \subsection{Downloads\label{ss:Downloads}}
+%
+% Everything is available at \url{https://www.ctan.org},
+% but may need additional packages themselves.\\
+%
+% \DescribeMacro{pagecolor.dtx}
+% For unpacking the |pagecolor.dtx| file and constructing the documentation
+% it is required:
+% \begin{description}
+% \item[-] \TeX Format \LaTeXe{}: \url{https://www.CTAN.org}
+%
+% \item[-] document class \xclass{ltxdoc}, 2015/03/26, v2.0w,
+% \url{https://www.ctan.org/pkg/ltxdoc}
+%
+% \item[-] package \xpackage{holtxdoc}, 2012/03/21, v0.24,
+% \url{https://www.ctan.org/pkg/holtxdoc}
+% \end{description}
+%
+% \DescribeMacro{pagecolor.sty}
+% The |pagecolor.sty| for \LaTeXe{} (i.\,e. each document using
+% the \xpackage{pagecolor} package) requires:
+% \begin{description}
+% \item[-] \TeX{} Format \LaTeXe{}, \url{https://www.CTAN.org}
+%
+% \item[-] package \xpackage{kvoptions}, 2011/06/30, v3.11,
+% \url{https://www.ctan.org/pkg/kvoptions}
+%
+% \item[-] package \xpackage{ifpdf}, 2011/01/30, v2.3,
+% \url{https://www.ctan.org/pkg/ifpdf}
+%
+% \item[-] package \xpackage{ifluatex}, 2010/03/01, v1.3,
+% \url{https://www.ctan.org/pkg/ifluatex}
+% \end{description}
+% and either
+% \begin{description}
+% \item[-] package \xpackage{xcolor}, 2007/01/21, v2.11,
+% \url{https://www.ctan.org/pkg/xcolor}
+% \end{description}
+% or
+% \begin{description}
+% \item[-] package \xpackage{color}, 2014/10/28, v1.1a,
+% \url{https://www.ctan.org/pkg/color} (from the\\
+% \xpackage{graphics} package bundle).
+% \end{description}
+%
+% \DescribeMacro{pagecolor-example.tex}
+% The |pagecolor-example.tex| requires the same file as all
+% documents using the \xpackage{pagecolor} package, i.\,e.
+% \begin{description}
+% \item[-] package \xpackage{pagecolor}, 2017/05/29, v1.0i,
+% \url{https://www.ctan.org/pkg/pagecolor}\\
+% (Well, it is the example file for this package, and because you are reading the
+% documentation for the \xpackage{pagecolor} package, it~can be assumed that you already
+% have some version of it -- is it the current one?)
+% \end{description}
+% and additionally:
+% \begin{description}
+% \item[-] class \xpackage{article}, 2014/09/29, v1.4h, from \xpackage{classes}:\\
+% \url{https://www.ctan.org/pkg/classes}
+%
+% \item[-] package \xpackage{xcolor}, 2007/01/21, v2.11,
+% \url{https://www.ctan.org/pkg/xcolor}\\
+% This package would not be needed for the use of just base colours only,
+% the \xpackage{color} package would be sufficient for that.
+%
+% \item[-] package \xpackage{afterpage}, 2014/10/28, v1.08,
+% \url{https://www.ctan.org/pkg/afterpage}\\
+% This package is only needed for demonstrating the\\
+% |\newpagecolor{somecolour}\afterpage{\restorepagecolor}| construct.
+%
+% \item[-] package \xpackage{lipsum}, 2014/07/27, v1.3,
+% \url{https://www.ctan.org/pkg/lipsum}\\
+% This package is only needed for some blind text.
+%
+% \item[-] package \xpackage{hologo}, 2012/04/26, v1.10,
+% \url{https://www.ctan.org/pkg/hologo}\\
+% This package is only needed to write \hologo{pdfTeX}, \hologo{LuaTeX},
+% and \hologo{XeTeX}.
+% \end{description}
+%
+% \DescribeMacro{Alternatives}
+% \DescribeMacro{transparent}
+% \DescribeMacro{hrefhide}
+% As possible alternatives in section~\ref{s:Alternatives}, Alternatives,
+% there are listed (newer versions might be available):
+% \begin{description}
+% \item[-] package \xpackage{transparent}, 2007/01/08, v1.0, \\
+% \url{https://www.ctan.org/pkg/transparent}
+%
+% \item[-] package \xpackage{hrefhide}, 2011/04/29, v1.0h, \\
+% \url{https://www.ctan.org/pkg/hrefhide}
+% \end{description}
+%
+% \DescribeMacro{Oberdiek}
+% \DescribeMacro{hologo}
+% \DescribeMacro{holtxdoc}
+% \DescribeMacro{kvoptions}
+% All packages of \textsc{Heiko Oberdiek's} bundle `oberdiek'
+% (especially \xpackage{hologo}, \xpackage{holtxdoc}, and \xpackage{kvoptions})
+% are also available in a TDS compliant ZIP archive:\\
+% \url{http://mirror.ctan.org/install/macros/latex/contrib/oberdiek.tds.zip}.\\
+% It is probably best to download and use this, because the packages in there
+% are quite probably both recent and compatible among themselves.\\
+%
+% \DescribeMacro{hyperref}
+% \noindent \xpackage{hyperref} is not included in that bundle and needs to be
+% downloaded separately,\\
+% \url{http://mirror.ctan.org/install/macros/latex/contrib/hyperref.tds.zip}.\\
+%
+% \DescribeMacro{M\"{u}nch}
+% A hyperlinked list of my (other) packages can be found at
+% \url{https://www.ctan.org/author/muench-hm}.\\
+%
+% \subsection{Package, unpacking TDS}
+% \paragraph{Package.} This package is available on \url{https://www.CTAN.org}.
+% \begin{description}
+% \item[\url{http://mirror.ctan.org/macros/latex/contrib/pagecolor/pagecolor.dtx}]\hspace*{0.1cm}
+% The source file.
+% \item[\url{http://mirror.ctan.org/macros/latex/contrib/pagecolor/pagecolor.pdf}]\hspace*{0.1cm}
+% The documentation.
+% \item[\url{http://mirror.ctan.org/macros/latex/contrib/pagecolor/pagecolor-example.pdf}]\hspace*{0.1cm}
+% The compiled example file, as it should look like.
+% \item[\url{http://mirror.ctan.org/macros/latex/contrib/pagecolor/README}]\hspace*{0.1cm}\\
+% \hspace*{1em}The README file.
+% \end{description}
+%
+% There is also a |pagecolor.tds.zip| available:
+% \begin{description}
+% \item[\url{http://mirror.ctan.org/install/macros/latex/contrib/pagecolor.tds.zip}]\hspace*{0.1cm}
+% Everything in TDS compliant, compiled format.
+% \end{description}
+% which additionally contains\\
+% \begin{tabular}{ll}
+% pagecolor.ins & The installation file.\\
+% pagecolor.drv & The driver to generate the documentation.\\
+% pagecolor.sty & The \xext{sty}le file.\\
+% pagecolor-example.tex & The example file.
+% \end{tabular}
+%
+% \bigskip
+%
+% \noindent For required other packages, please see the preceding subsection.
+%
+% \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting
+% \docstrip{} archive. The files are extracted by running the
+% \xext{.dtx} through \plainTeX{}:
+% \begin{quote}
+% \verb|tex pagecolor.dtx|
+% \end{quote}
+%
+% About generating the documentation see paragraph~\ref{GenDoc} below.\\
+%
+% \paragraph{TDS.} Now the different files must be moved into
+% the different directories in your installation TDS tree
+% (also known as \xfile{texmf} tree):
+% \begin{quote}
+% \def\t{^^A
+% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
+% pagecolor.sty & tex/latex/pagecolor/pagecolor.sty\\
+% pagecolor.pdf & doc/latex/pagecolor/pagecolor.pdf\\
+% pagecolor-example.tex & doc/latex/pagecolor/pagecolor-example.tex\\
+% pagecolor-example.pdf & doc/latex/pagecolor/pagecolor-example.pdf\\
+% pagecolor.dtx & source/latex/pagecolor/pagecolor.dtx\\
+% \end{tabular}^^A
+% }^^A
+% \sbox0{\t}^^A
+% \ifdim\wd0>\linewidth
+% \begingroup
+% \advance\linewidth by\leftmargin
+% \advance\linewidth by\rightmargin
+% \edef\x{\endgroup
+% \def\noexpand\lw{\the\linewidth}^^A
+% }\x
+% \def\lwbox{^^A
+% \leavevmode
+% \hbox to \linewidth{^^A
+% \kern-\leftmargin\relax
+% \hss
+% \usebox0
+% \hss
+% \kern-\rightmargin\relax
+% }^^A
+% }^^A
+% \ifdim\wd0>\lw
+% \sbox0{\small\t}^^A
+% \ifdim\wd0>\linewidth
+% \ifdim\wd0>\lw
+% \sbox0{\footnotesize\t}^^A
+% \ifdim\wd0>\linewidth
+% \ifdim\wd0>\lw
+% \sbox0{\scriptsize\t}^^A
+% \ifdim\wd0>\linewidth
+% \ifdim\wd0>\lw
+% \sbox0{\tiny\t}^^A
+% \ifdim\wd0>\linewidth
+% \lwbox
+% \else
+% \usebox0
+% \fi
+% \else
+% \lwbox
+% \fi
+% \else
+% \usebox0
+% \fi
+% \else
+% \lwbox
+% \fi
+% \else
+% \usebox0
+% \fi
+% \else
+% \lwbox
+% \fi
+% \else
+% \usebox0
+% \fi
+% \else
+% \lwbox
+% \fi
+% \else
+% \usebox0
+% \fi
+% \end{quote}
+% If you have a \xfile{docstrip.cfg} that configures and enables \docstrip's
+% TDS installing feature, then some files can already be in the right
+% place, see the documentation of \docstrip{}.
+%
+% \subsection{Refresh file name databases}
+%
+% If your \TeX~distribution (\TeX{} Live, \mikTeX, \teTeX, \dots) relies on
+% file name databases, you must refresh these. For example, \teTeX{} users run
+% \verb|texhash| or \verb|mktexlsr|.
+%
+% \subsection{Some details for the interested}
+%
+% \paragraph{Unpacking with \LaTeX{}.}
+% The \xfile{.dtx} chooses its action depending on the format:
+% \begin{description}
+% \item[\plainTeX:] Run \docstrip{} and extract the files.
+% \item[\LaTeX:] Generate the documentation.
+% \end{description}
+% If you insist on using \LaTeX{} for \docstrip{} (really,
+% \docstrip{} does not need \LaTeX ), then inform the autodetect routine
+% about your intention:
+% \begin{quote}
+% \verb|latex \let\install=y\input{pagecolor.dtx}|
+% \end{quote}
+% Do not forget to quote the argument according to the demands
+% of your shell.
+%
+% \paragraph{Generating the documentation.\label{GenDoc}}
+% You can use both the \xfile{.dtx} or the \xfile{.drv} to generate
+% the documentation. The process can be configured by a
+% configuration file \xfile{ltxdoc.cfg}. For instance, put the following
+% line into this file, if you want to have A4 as paper format:
+% \begin{quote}
+% \verb|\PassOptionsToClass{a4paper}{article}|
+% \end{quote}
+%
+% \noindent An example follows how to generate the
+% documentation with \pdfLaTeX :
+%
+% \begin{quote}
+%\begin{verbatim}
+%pdflatex pagecolor.dtx
+%makeindex -s gind.ist pagecolor.idx
+%pdflatex pagecolor.dtx
+%makeindex -s gind.ist pagecolor.idx
+%pdflatex pagecolor.dtx
+%\end{verbatim}
+% \end{quote}
+%
+% \subsection{Compiling the example}
+%
+% The example file, \textsf{pagecolor-example.tex}, can be compiled via\\
+% |(pdf)latex pagecolor-example.tex|.
+%
+% \section{Acknowledgements}
+%
+% I would like to thank \textsc{Heiko Oberdiek} for providing a~lot~(!) of
+% useful packages (from which I also got everything I know about creating
+% a file in \xext{dtx} format, ok, say it: copying), and the
+% \Newsgroup{comp.text.tex} and \Newsgroup{de.comp.text.tex} newsgroups
+% for their help in all things \TeX{}, especially all contributors to the
+% discussion at
+% \url{https://groups.google.com/forum/#!topic/comp.text.tex/UzV26-RNYPY}%
+% \ (\textsc{H.~Oberdiek} \& \textsc{Gouailles}).\\
+% I thank \textsc{haoyun\_tex} for suggesting the |\newpagecolor|/|\restorepagecolor|
+% pair of commands and everyone at \url{https://tex.stackexchange.com/q/25137/6865}
+% for their contributions there. Thanks go to \textsc{Heiner Richter}
+% for finding a bug, to \textsc{Johannes B\"{o}ttcher} for reporting it,
+% and to \textsc{Reuben Thomas} for suggestions for improvements
+% of this documentation.
+%
+% \bigskip
+%
+% \phantomsection
+% \begin{History}\label{History}
+% \begin{Version}{2011/07/16 v1.0a}
+% \item First version discussed at \Newsgroup{comp.text.tex}.
+% \end{Version}
+% \begin{Version}{2011/08/06 v1.0b}
+% \item Changed version uploaded to the CTAN.
+% \end{Version}
+% \begin{Version}{2011/08/08 v1.0c}
+% \item Fixed a |\setkeys|.
+% \end{Version}
+% \begin{Version}{2012/02/01 v1.0d}
+% \item Bugfix: Obsolete installation path given in the documentation, updated.
+% \item New commands: |\newpagecolor{...}|, |\restorepagecolor|.
+% \item Update of documentation, README, and \xfile{dtx} internals.
+% \end{Version}
+% \begin{Version}{2012/02/23 v1.0e}
+% \item Fixed an error in the documentation.
+% \item Check for loading of \xpackage{color} or \xpackage{xcolor} package
+% and their versions has been changed, because \xpackage{xcolor} sets\\
+% |\@namedef{ver@color.sty}{1999/02/16}|\\
+% which gave a warning about old \xpackage{color} package even if a new
+% version was used.
+% \end{Version}
+% \begin{Version}{2015/06/21 v1.0f}
+% \item Fixed the urls in the documentation.
+% \item Handle |\nopagecolor| when it is not defined or broken by \xpackage{crop},
+% new option |nopagecolor| introduced.
+% \item Update of documentation, README, and \xfile{dtx} internals.
+% \end{Version}
+% \begin{Version}{2015/06/22 v1.0g}
+% \item Replaced all error messages by warnings.
+% \end{Version}
+% \begin{Version}{2015/08/30 v1.0h}
+% \item Bugfix: Checking for \xpackage{crop} package done |\AtBeginDocument|,
+% but some of the related code must already be performed earlier.
+% Bug found by \textsc{Heiner Richter} and reported by
+% \textsc{Johannes B\"{o}ttcher}, thanks!
+% \end{Version}
+% \begin{Version}{2017/05/29 v1.0i}
+% \item Documentation update following suggestions for improvements by
+% \textsc{Reuben Thomas}, thanks!
+% \end{Version}
+% \end{History}
+%
+% \bigskip
+%
+% When you find a mistake or have a suggestion for an improvement of this package,
+% please send an e-mail to the maintainer, thanks! (Please see BUG REPORTS in the README.)
+%
+% \newpage
+%
+% \PrintIndex
+%
+% \Finale
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/pagecolor/pagecolor.pdf b/macros/latex/contrib/pagecolor/pagecolor.pdf
new file mode 100644
index 0000000000..d2f611b6ee
--- /dev/null
+++ b/macros/latex/contrib/pagecolor/pagecolor.pdf
Binary files differ