From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex/contrib/pagecolor/README | 163 +++ .../latex/contrib/pagecolor/pagecolor-example.pdf | Bin 0 -> 85717 bytes macros/latex/contrib/pagecolor/pagecolor.dtx | 1275 ++++++++++++++++++++ macros/latex/contrib/pagecolor/pagecolor.pdf | Bin 0 -> 320120 bytes 4 files changed, 1438 insertions(+) create mode 100644 macros/latex/contrib/pagecolor/README create mode 100644 macros/latex/contrib/pagecolor/pagecolor-example.pdf create mode 100644 macros/latex/contrib/pagecolor/pagecolor.dtx create mode 100644 macros/latex/contrib/pagecolor/pagecolor.pdf (limited to 'macros/latex/contrib/pagecolor') 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 + + + +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 Binary files /dev/null and b/macros/latex/contrib/pagecolor/pagecolor-example.pdf 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 +% +% 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 +% +%<*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 + +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 +% +%<*ignore> +\fi +% +% +% \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} +% +% \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} +% +% \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} +% +% \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 Binary files /dev/null and b/macros/latex/contrib/pagecolor/pagecolor.pdf differ -- cgit v1.2.3