让 tikzpicture 占据页面剩余空间

让 tikzpicture 占据页面剩余空间

我正在尝试使用 tikz 在页面上放置三个矩形,并满足以下要求

  • 前两个框的高度应为 3.5(如我的代码所示)
  • 剩余的框应占据页面的剩余空间
  • 三个框之间的间距应该一致
  • 我应该能够在最下面的框的左下方放置一些文本。

结果看起来应该是这样的;除了盒子应该均匀分布之外。

在此处输入图片描述

我的代码如下所示并产生以下结果

在此处输入图片描述

我对代码有疑问/问题:

  • 我可以将这些框定义为样式吗?
  • 间距是手动调整的,而且代码很丑陋。。
  • 我无法将文本放在右下角
  • 我怎样才能使最后一个框占据页面的剩余空间?

这是我的代码

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{tikz}
\usepackage{xcolor}

\definecolor{maincolorLight}{HTML}{838fbc}
\definecolor{maincolorMedium}{HTML}{425b9b}
\definecolor{maincolorDark}{HTML}{003d80}

\title{atEndTikz}
\author{Øistein Søvik}
\date{May 2019}

\begin{document}

\noindent\pagestyle{empty}
\pgfmathsetmacro{\myscale}{\textwidth/18.85cm}%
\begin{tikzpicture}[nodes={inner sep=0pt,outer sep=0pt},scale=\myscale]
    \fill[maincolorDark]  (0,0) rectangle (18.85,3.25);
    \begin{scope}[shift={(0,-3.5)}]
        \fill[maincolorMedium]  (0,0) rectangle (18.85,3.25);
    \end{scope}
    \begin{scope}[shift={(0,-26)}]
        \fill[maincolorLight]  (0,0) rectangle (18.85,22.25);
    \end{scope}
\end{tikzpicture}

\end{document}

答案1

tikzpagenodes可以填充到文本区域的右下角。

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{tikzpagenodes}

\definecolor{maincolorLight}{HTML}{838fbc}
\definecolor{maincolorMedium}{HTML}{425b9b}
\definecolor{maincolorDark}{HTML}{003d80}

\title{atEndTikz}
\author{Øistein Søvik}
\date{May 2019}

\begin{document}

\noindent\pagestyle{empty}%
\pgfmathsetmacro{\myscale}{\textwidth/18.85cm}%
\begin{tikzpicture}[scale=\myscale,remember picture,overlay]
    \path (current page text area.south east) coordinate (BR);
    \fill[maincolorDark]  (0,0) rectangle (0,-3.25-|BR);
    \fill[maincolorMedium]  (0,-3.5) rectangle (0,-3.5-3.25-|BR);
    \fill[maincolorLight]  (0,-7) rectangle (BR);
\end{tikzpicture}
\clearpage
\end{document}

在此处输入图片描述

如果您\myscale只使用来获得正确的矩形宽度,则可以将其删除,那么垂直尺寸当然也不会缩放。并且可以使用矩形的样式进行定义,insert path但我不确定在这种情况下它能为您带来什么。

baseline如果您想填充更多内容,可能需要使用该选项:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[showframe]{geometry}
\usepackage{tikzpagenodes}

\definecolor{maincolorLight}{HTML}{838fbc}
\definecolor{maincolorMedium}{HTML}{425b9b}
\definecolor{maincolorDark}{HTML}{003d80}

\title{atEndTikz}
\author{Øistein Søvik}
\date{May 2019}

\begin{document}

\noindent\pagestyle{empty}%
\pgfmathsetmacro{\myscale}{\textwidth/18.85cm}%
\begin{tikzpicture}[scale=\myscale,remember
picture,overlay,baseline=-\baselineskip]
    \path (current page text area.south east) coordinate (BR);
    \fill[maincolorDark]  (0,0) rectangle (0,-3.25-|BR);
    \fill[maincolorMedium]  (0,-3.5) rectangle (0,-3.5-3.25-|BR);
    \fill[maincolorLight]  (0,-7) rectangle (BR);
\end{tikzpicture}
\clearpage
\end{document}

在此处输入图片描述

相关内容