使用 tikz 在页面底部绘制矩形

使用 tikz 在页面底部绘制矩形

我正在尝试绘制一个简单的矩形并将其放置在页面底部。由于我对 tikz 还很陌生,所以我不太清楚该怎么做。假设我希望它看起来像这个硬编码的三角形:

\tikz \fill[blue] (3,3) -- (18, 3) -- (19,4) -- cycle;

现在,我发现我需要使用节点来获取相对于页面的坐标。所以我必须定义节点并存储坐标,对吗?

\node (A) at (current page.south west) {};
\node (B) at (current page.south east) {};
\coordinate (cA) at (A) ;
\coordinate (cB) at (B);

所以我的问题是,我不知道如何指定第三个坐标,因为它们与页面无关。例如,我想要的是三角形具有给定长度的“高度”(假设为 2 厘米...)

\draw[line width=1mm] (cA) -- (cB) -- (??) -- cycle;

答案1

您缺少的关键见解是,要指定相对坐标,您可以使用++。例如,(current page.south east)如果您想从此点向上绘制一条 2 厘米的线,只需写入(current page.south east)--++(0,2cm)。这意味着,从y上一个坐标向方向移动 2 厘米,方向不变x

为了回到页面上方 2cm 处的坐标,(current page.south west)我使用了-|命令,它告诉 TiZ 找到两个坐标之间的直角交点。请注意,还有一个相反的版本|-,在本例中将返回坐标(current page.south east)

总而言之,这个矩形所需的路径是(current page.south west) -- (current page.south east) --++(0,2cm) -| (current page.south west) -- cycle。所以在一个练习中,你现在已经学习了 Ti 中两个非常有用的绘图命令Z. 当然还有许多其他方法可以做到这一点,其中之一就是使用rectangleJohn Kormylo 的回答中所示的方法。

此外,如果您希望此“页脚”出现在每一页上,那么您可以使用类似这样的方法。

我已经把 Ti我命名的命令中的 Z 代码\Footer,然后使用该包atbegshi按照说明使用该包公告/新闻通讯页面顶部和底部的 TikZ 页眉和页脚

在此处输入图片描述

\documentclass[a4paper]{article}
\usepackage{tikz}
\usepackage{blindtext}
\usepackage{atbegshi}

\newcommand\Footer{%
\begin{tikzpicture}[remember picture,overlay]
\fill [remember picture,overlay,blue] (current page.south west) -- (current page.south east) --++(0,2cm) -| (current page.south west) -- cycle;
\end{tikzpicture}%
}

\pagestyle{empty}
\AtBeginShipout{\Footer}
\AtBeginShipoutFirst{\Footer}

\begin{document}

\blindtext[6]

\end{document}

答案2

不要忘记运行两次。注意:tikzpagenodes 将允许您访问页眉、页脚、文本和边距区域的位置。

\documentclass{article}
\usepackage{tikz}

\begin{document}
\tikz[remember picture, overlay] \fill[blue] (current page.south west) rectangle ++(\paperwidth,2cm);
\end{document}

相关内容