![Изменить цвет страницы, начиная со страницы x](https://rvso.com/image/328829/%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C%20%D1%86%D0%B2%D0%B5%D1%82%20%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B%2C%20%D0%BD%D0%B0%D1%87%D0%B8%D0%BD%D0%B0%D1%8F%20%D1%81%D0%BE%20%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B%20x.png)
Мне нужно иметь возможность изменять цвет фона документа ицвет страницыpackage кажется подходящим. Однако мне также нужна команда, которая позволяет мне раскрашивать все страницы, которые начинаются с определенного номера страницы (подумайте о выделении страниц документа, которые превышают официальный лимит страниц в N страниц). Вероятно, это простая новая команда из двух строк, но я ее не понимаю. Кто-нибудь знает?
решение1
Вы можете загрузить atbegshi
пакет и использовать макрос этого пакета \AtBeginShipout
для включения раскраски страниц, начиная с определенной страницы.
\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}
решение2
На основании моего ответа наКаковы способы абсолютного позиционирования объектов на странице?, но используя \AddEverypageHook
вместо \AddThispageHook
для размещения полностраничного изображения \rule
на заднем плане страницы.
\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}
решение3
Следующее предложение имеет смысл только если вы уже используете scrlayer-scrpage
as package для заголовка и нижнего колонтитула. Тогда вы можете определить новый фоновый слой и добавить его ко всем стилям страницы слоя, включая 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}
Или вы можете использовать опциюonpsinit
\documentclass{article}
\usepackage{blindtext}
\usepackage{xcolor}
\usepackage{scrlayer-scrpage}
\KOMAoptions{onpsinit={\ifnum\value{page}=3\pagecolor{orange!10}\fi}}
\begin{document}
\Blinddocument
\end{document}
В обоих случаях цветной фон начинается на странице 4.