我想专门为文档中每个“部分”部分创建的页面设置背景颜色(例如第 I 部分 xxx、第 II 部分 xxxx)。我使用的是书籍文档类。设置(和重置)背景颜色的解决方案无法专门为包含第 I 部分 xxxx 的页面着色,但之后也会为页面着色。
梅威瑟:
\documentclass{book}
\usepackage{xcolor}
\begin{document}
First page
\cleardoublepage
\pagecolor{green}
\part{Example for pagecolor}
\pagecolor{white}
Last page
\end{document}
“零件”页面及其后续页面是两个都颜色为绿色。
答案1
您可以修补part
命令以添加页面颜色,而不是手动添加。但由于 a 是在内部newpage
末尾发出的(当使用选项时(默认)),页面颜色也会应用于下一页。这可以通过修补命令来避免。您可以采用困难的方式或巧妙的方式,如以下代码所示。\part
openright
\@endpart
\documentclass{book}
\usepackage{xcolor}
\makeatletter
%%-----------------Hard coding----------------------
%\renewcommand\part{%
% \if@openright
% \cleardoublepage
% \else
% \clearpage
% \fi
% \pagecolor{green} %% Added line here
% \thispagestyle{plain}%
% \if@twocolumn
% \onecolumn
% \@tempswatrue
% \else
% \@tempswafalse
% \fi
% \null\vfil
% \secdef\@part\@spart}
%\renewcommand\@endpart{\vfil\newpage
% \pagecolor{white} %%% Added line here
% \if@twoside
% \if@openright
% \null
% \thispagestyle{empty}%
% \newpage
% \fi
% \fi
% \if@tempswa
% \twocolumn
% \fi}
%%--------- end of hard coding ---------------------
%%---smart coding ----------------------------------
\usepackage{xpatch}
%
\xpatchcmd{\part}{\thispagestyle{plain}}
{\pagecolor{green}\thispagestyle{plain}}{}{}
\xpatchcmd{\@endpart}{\vfil\newpage}{\vfil\newpage
\pagecolor{white}}{}{}
%%--------- end of smart coding ---------------------
\makeatother
\begin{document}
\chapter{One}
First page
\cleardoublepage
\part{Example for pagecolor}
Last page
\end{document}