我正在写一本书,想把每一页都切成两半,顶部为红色,底部为蓝色(不包括初始封面的封面)。然后在每半页上添加单独的文本(想过 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}
答案2
使用包背景和 tikz 阴影的选项,代码源自:如何更改页面的背景颜色?。
梅威瑟:
% 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}