彩页里面的设置高度和宽度

彩页里面的设置高度和宽度

我正在尝试用 LaTeX 制作彩色页面。但到目前为止,我尝试过的方法都是将整个页面都涂上颜色。我觉得这样看起来不太好看。

\documentclass[10pt,a4paper]{article}
\usepackage{xcolor}
\usepackage{afterpage}
\usepackage{lipsum}
\widowpenalty=300
\clubpenalty=300

\begin{document}

\lipsum[5]

\newpage

\pagecolor{SkyBlue}\afterpage{\nopagecolor}

\lipsum[1]

\newpage

\lipsum[4]

\end{document}

如果能够设置彩色框的高度和宽度就太好了。我还不知道如何让它适合标准边距。

页面输出示例

答案1

可以用以下方法完成tabularx

\documentclass[10pt,a4paper]{article}
\usepackage[table,dvipsnames]{xcolor}
\usepackage{lipsum}
\usepackage{tabularx,xhfill}

\begin{document}

\noindent
\begin{tabularx}{\linewidth}{ X !{\color{white}\vrule width 2pt} X }
\rowcolor{SkyBlue}
\multicolumn{2}{>{\columncolor{SkyBlue}}p{\dimexpr\linewidth-2\tabcolsep\relax}}{%
  \leavevmode\rule[-2ex]{0pt}{6ex}\Large\xrfill{2pt}[white]\sffamily\ 
  Review
  \xrfill{2pt}[white]}\\
%
\rowcolor{SkyBlue}
\lipsum[1] 
&
\lipsum[1]
\end{tabularx}

\end{document}

在此处输入图片描述

答案2

我不确定你到底想要什么。你可以\rule一起使用\textcolor来获得一个彩色矩形:

\documentclass{article}

\usepackage{xcolor}
\usepackage{lipsum}

\begin{document}
\lipsum

\textcolor{green}{\rule{10cm}{9cm}}

\lipsum
\end{document}

如果您想要在背景中绘制一些彩色块,可以使用 TikZ 来实现,当您使用remember picture,overlay页眉中的选项时,或者直接在之后\newpage。如果您想将彩色框绘制到文本区域边缘,请使用我最近的tikzpagenodes包:

\documentclass{article}
\usepackage{tikzpagenodes}
\usepackage{lipsum}

\newcommand*{\newcoloredpage}[1]{%
    \newpage
    \begin{tikzpicture}[overlay,remember picture]%
        \fill [#1] (current page text area.south west) rectangle (current page text area.north east);
    \end{tikzpicture}%
    \vspace{-2.5\baselineskip}%
    \par
}

\begin{document}
\lipsum

\newcoloredpage{blue}
\section*{Review}
\lipsum[1]

\newpage

\lipsum

\end{document}

如果您想要为段落的背景添加颜色,可以使用和adjustbox键(也许还可以添加一些边距):minipagebgcolormargin

\documentclass{article}

\usepackage{xcolor}
\usepackage{adjustbox}
\usepackage{lipsum}

\begin{document}
\lipsum

\begin{adjustbox}{minipage=\textwidth,bgcolor=blue}
\lipsum[1]
\end{adjustbox}

\lipsum
\end{document}

但是,这样的段落不能跨页面拆分。如果您需要这个,framed或者更好的是,更现代的mdframed包将是您的最佳选择。
我正在开发一个基于 TikZ 的装饰包,它也可以在这里使用,但尚未完成。

答案3

值得一提的是,在 ConTeXt 中,您可以使用它\setupbackgrounds来为页面着色。

\setupbackgrounds[page][background=color, backgroundcolor=blue:2]

将会把整个页面变成蓝色。

\setupbackgrounds[text][...]

将为文本区域着色(您想要的颜色)。也可以使用

\setupbackgrounds[text][leftmargin][....]

为文本区域的左边距添加颜色等等。

相反background=color,您可以选择background=...覆盖,然后使用 metapost 来绘制背景。

相关内容