我正在尝试用 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
键(也许还可以添加一些边距):minipage
bgcolor
margin
\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 来绘制背景。