指定每页颜色

指定每页颜色

我正在尝试使用该leaflet包为文档创建传单。我已NavyBlue为第 、 、 和 页1指定24背景颜色。遗憾的是,默认文本颜色黑色在该背景上难以阅读。为了解决这个问题,我想使用白色。但是,我只能在 第、、和5页上使用该颜色。它不会显示在其他白色页面上。如何在 LaTeX 中实现此目的?1245

以下是示例文件:

\documentclass[letterpaper]{leaflet}
\usepackage[dvipsnames]{xcolor}
\usepackage{blindtext}

\title{Sample Document}
\author{Anonymous}
\date{\today}

\AddToBackground{1}{
  \put(0,0){\textcolor{NavyBlue}{\rule{\paperwidth}{\paperheight}}}}
\AddToBackground{2}{
  \put(0,0){\textcolor{NavyBlue}{\rule{\paperwidth}{\paperheight}}}}
\AddToBackground{4}{
  \put(0,0){\textcolor{NavyBlue}{\rule{\paperwidth}{\paperheight}}}}
\AddToBackground{5}{
  \put(0,0){\textcolor{NavyBlue}{\rule{\paperwidth}{\paperheight}}}}

\begin{document}
\maketitle

\Blinddocument

\end{document}

答案1

tcolorbox包可以对破损框中的每个片段应用不同的选项。然后可以将传单中的所有文本包含在 tcolorbox 中breakable, blankestblankest不会更改段落格式),并且由于每个片段都用特定编号标识,我们可以使用它来修复文本的颜色。

\documentclass[letterpaper]{leaflet}
\usepackage[dvipsnames]{xcolor}
\usepackage{blindtext}
\usepackage[most]{tcolorbox}
\title{Sample Document}
\author{Anonymous}
\date{\today}

\AddToBackground{1}{
  \put(0,0){\textcolor{NavyBlue}{\rule{\paperwidth}{\paperheight}}}}
\AddToBackground{2}{
  \put(0,0){\textcolor{NavyBlue}{\rule{\paperwidth}{\paperheight}}}}
\AddToBackground{4}{
  \put(0,0){\textcolor{NavyBlue}{\rule{\paperwidth}{\paperheight}}}}
\AddToBackground{5}{
  \put(0,0){\textcolor{NavyBlue}{\rule{\paperwidth}{\paperheight}}}}

\begin{document}

% White color for `title` is forced.
{\color{white}\maketitle}

% A breakable blankest colorbox with an `extras` option which is evaluated  
% on each fragment identified by a `\thetcolorboxnumber` 
\begin{tcolorbox}[breakable, blankest, 
      code={\newcommand{\mytextcolor}{%
          \ifnum\thetcolorboxnumber=3 black%
          \else\ifnum\thetcolorboxnumber=6 black%
          \else white\fi\fi}},
      extras = {colupper=\mytextcolor}
]
\Blinddocument
\end{tcolorbox}

\end{document}

在此处输入图片描述

相关内容