如何水平分割乳胶页面,并使两半具有不同的颜色背景?

如何水平分割乳胶页面,并使两半具有不同的颜色背景?

我正在写一本书,想把每一页都切成两半,顶部为红色,底部为蓝色(不包括初始封面的封面)。然后在每半页上添加单独的文本(想过 minipage 可以做到这一点?- 想象一下坏建议在上半部分,好建议在下半部分。这可能吗?

答案1

您可以使用eso-pic

以下假设文本字段的一半与纸张的一半高度相同。这不一定正确(对于默认book页面布局也是错误的,文本字段前半部分的最后一行大约有一半位于页面的后半部分)。

我们首先advisepage为彩色页面定义一个环境(如下所示)。此环境只为单个页面着色(上半部分为红色,下半部分为蓝色)。在此环境中,我们使用另一个环境(advise如下所示),该环境本质上只是一个minipage固定高度.5\textheight和宽度的环境\textwidth

代码:

\documentclass[]{book}

\usepackage{xcolor}
\usepackage{environ}
\usepackage{eso-pic}

\makeatletter
\colorlet{goodadviseblue}{blue!25}
\colorlet{badadvisered}{red!25}
\newenvironment{advisepage}
  {%
    \clearpage
    \AddToShipoutPictureBG*
      {%
        \AtPageUpperLeft
          {%
            \color{badadvisered}%
            \raisebox{-.5\paperheight}{\rule{\paperwidth}{.5\paperheight}}%
          }%
        \color{goodadviseblue}%
        \rule{\paperwidth}{.5\paperheight}%
      }%
  }
  {%
    \clearpage
  }
\newenvironment{advise}
  {%
    \noindent
    \begin{minipage}[t][.5\textheight]{\textwidth}
  }
  {%
    \end{minipage}%
  }
\usepackage{duckuments}
%\expandafter\show\csname set@page@color\endcsname

\begin{document}
\begin{advisepage}
  \begin{advise}
    This is my bad advise
  \end{advise}
  \begin{advise}
    This is my good advise
  \end{advise}
\end{advisepage}
Another page
\end{document}

enter image description here

答案2

使用包背景和 tikz 阴影的选项,代码源自:如何更改页面的背景颜色?

结果: enter image description here

梅威瑟:

% arara: pdflatex: {synctex: yes, action: nonstopmode}
% arara: pdflatex: {synctex: yes, action: nonstopmode}

\documentclass{article}
\usepackage[bottom=2cm,top=2cm]{geometry}
\usepackage{fontawesome}
\usepackage{graphicx}
\usepackage[
pages=some,
firstpage=false,
opacity=0.8,
scale=1,
placement=center,
angle=0,
hshift=0,
vshift=0
]{background}
\usepackage{lipsum}
\usepackage{tikz}

\begin{document}
    \backgroundsetup{contents={}}
    \section{First page}
    \lipsum[1-4]

    %Second page
    \newpage
    \backgroundsetup{contents={
                \begin{tikzpicture}
                    \fill[bottom color=black!90, top color=blue!20,middle color=blue!70] (current page.west) rectangle (current page.south east);
                    \fill[bottom color=red!50, top color=black!90,middle color=red] (current page.west) rectangle (current page.north east);
                \end{tikzpicture}
            }
    }
    \vbox{
        \begin{minipage}[t][0.5\textheight][t]{\textwidth}
            \rotatebox{90}{\sf \hspace{2.5cm}\faCopyright\,Just test}
            \begin{tikzpicture}
            \draw[
            draw=white,fill=white, line width =1.5pt,
            path picture={
                \node at (path picture bounding box.center){
                    \includegraphics[height=6cm]{example-image-A}
                };
            }
            ] (0,0) circle (3);
            \end{tikzpicture} \par
            \vspace{2\baselineskip}
            \lipsum[5]
        \end{minipage}

        \nointerlineskip
        \begin{minipage}[b][0.5\textheight][t]{\textwidth}
            \vspace{3\baselineskip}
            \section{Bottom page}
            \lipsum[6-7]

            \textcolor{blue!20}{\section{Change text color} \lipsum[8]}

        \end{minipage}
    }

\newpage

\vbox{
    \begin{minipage}[t][0.5\textheight][t]{\textwidth}
        \vspace{3\baselineskip}
        \lipsum[5-7]
    \end{minipage}

    \nointerlineskip
    \begin{minipage}[b][0.5\textheight][t]{\textwidth}
        \vspace{3\baselineskip}
        \lipsum[8-9]
    \end{minipage}
}
\newpage

\vbox{
    \begin{minipage}[t][0.5\textheight][t]{\textwidth}
        \vspace{3\baselineskip}
        \lipsum[5-7]
    \end{minipage}

    \nointerlineskip
    \begin{minipage}[b][0.5\textheight][t]{\textwidth}
        \vspace{3\baselineskip}
        \lipsum[8-9]
    \end{minipage}
}
\end{document}

相关内容