Altere a cor da página começando na página x

Altere a cor da página começando na página x

Preciso ser capaz de alterar a cor de fundo de um documento e ocor da páginapacote parece ser uma boa opção. No entanto, o que eu também preciso é de um comando que me permita colorir todas as páginas que começam em um determinado número de página (pense em destacar as páginas de um documento que estão acima do limite oficial de N páginas). Provavelmente é um simples comando de duas linhas, mas não entendi. Alguém sabe?

Responder1

Você pode carregar o atbegshipacote e usar a macro desse pacote \AtBeginShipoutpara ativar a coloração da página a partir de uma determinada página.

\documentclass{article}
\usepackage{pagecolor}
\usepackage{atbegshi} % for '\AtBeginShipout' macro
% Make page color "light red" *after* page 2
\AtBeginShipout{\ifnum\value{page}=2\pagecolor{red!20}\fi}
\usepackage{lipsum}
\begin{document}
\lipsum[1-20] % filler text
\end{document}

Responder2

Com base na minha resposta emQuais são as maneiras de posicionar as coisas de forma absoluta na página?, mas usando \AddEverypageHookem vez de \AddThispageHookcolocar uma página inteira \ruleno plano de fundo da página.

\documentclass{article}
\usepackage{everypage}
\usepackage{xcolor}
\usepackage{lipsum}
% THESE ARE LaTeX DEFAULTS; CAN CHANGE IF NEEDED.
\def\PageTopMargin{1in}
\def\PageLeftMargin{1in}
\newcommand\ateveryxy[3]{%
 \AddEverypageHook{\smash{\hspace*{\dimexpr-\PageLeftMargin-\hoffset+#1\relax}%
  \raisebox{\dimexpr\PageTopMargin+\voffset-#2\relax}{#3}}}}
% VERIFIED THAT SETTING \hoffset AND \voffset DO NOT BREAK SOLUTION.
%\hoffset=0.4in
%\voffset=0.2in
\def\BGcolor{red!10}
\begin{document}
\lipsum[1-17]
% COMMENCE COLORED PAGES HERE
\ateveryxy{0in}{\paperheight}{\textcolor{\BGcolor}{\rule{\paperwidth}{\paperheight}}}
\lipsum[17-29]
\def\BGcolor{blue!10}% CHANGE THE COLOR HERE
\lipsum[30-34]
\end{document}

Responder3

A sugestão a seguir só faz sentido se você já usa scrlayer-scrpagecomo pacote para cabeçalho e rodapé. Em seguida, você pode definir uma nova camada de fundo e adicioná-la a todos os estilos de página de camada, incluindo empty.

\documentclass{article}
\usepackage{blindtext}
\usepackage{xcolor}
\usepackage{scrlayer-scrpage}
\DeclareNewLayer[
  background,
  contents={\ifnum\value{page}>3\color{orange!20}\rule{\layerwidth}{\layerheight}\fi}
]{pagecolor}
\AddLayersAtBeginOfPageStyle{@everystyle@}{pagecolor}

\begin{document}
\Blinddocument
\end{document}

Ou você pode usar a opçãoonpsinit

\documentclass{article}
\usepackage{blindtext}
\usepackage{xcolor}
\usepackage{scrlayer-scrpage}
\KOMAoptions{onpsinit={\ifnum\value{page}=3\pagecolor{orange!10}\fi}}
\begin{document}
\Blinddocument
\end{document}

Em ambos os casos o fundo colorido começa na página 4.

informação relacionada