我想在一页内用不同的颜色填充区域,我发现了这个问题如何更改页面内的背景颜色。
看了上面问题的答案,我认为格式是这样的:
\fill[<the color I want to use>] ([xshift=<the offset in x dirction>,yshift=<the offset in y dirction>]<one vertex of diagnol of the rectangle>) rectangle ([xshift=<the offset in x dirction>,yshift=<the offset in y dirction>]<another vertex of the same diagnol of the rectangle>);
所以我写了下面的代码
\documentclass{article}
\usepackage{tikz}
\newcommand{\amount}{0.33\paperheight}
\begin{document}
\begin{tikzpicture}[remember picture,overlay]
\fill[green] (current page.north west) rectangle ([yshift=-\amount]current page.north east);
\fill[yellow] ([yshift=-\amount]current page.north west) rectangle ([yshift=-2\amount]current page.north east);
\fill[red]([yshift=-2\amount]current page.north west) rectangle ([yshift=-3\amount]current page.north east);
\end{tikzpicture}
\end{document}
用三种颜色填充页面。但我收到错误“尺寸太大”。
答案1
- 使用
\newlength
而不是\newcommand
定义长度(0.33\paperheight
在你的情况下)。 - 看\def 和 \newlength 之间有什么区别?了解更多信息。