如何向tikz的“当前页面文本区域”添加几个点?

如何向tikz的“当前页面文本区域”添加几个点?

这是我的代码:

\node[anchor=north east] at (current page text area.north east) {Hello};

它位于页面文本区域的右上角。我想将它的位置稍微低一点(10pt)并且稍微向左一点(15pt)。我该怎么做?

答案1

您可以使用calctikz 的包来执行此操作。包括

\usetikzlibrary{calc}

在文档的序言中,然后用

\node[anchor=north east] at ($(current page text area.north east) - (15pt, 10pt)$) {Hello};

一般语法是

\node at ($(node 1) + (x, y)$) {};

这将x沿从上到下node 1放置一个节点。默认单位是厘米,但您可以通过在数量后y添加来更改为点。pt

查看tikz 手册有关更多详细信息,特别是第 582 页,标题为“Calc Library”的部分。

请注意,您需要加载tikzpagenodes包裹\usepackage{tikzpagenodes}您的序言中可以使用节点current page text area

答案2

shift

\documentclass{article}
\usepackage{tikzpagenodes}
\begin{document}
\begin{tikzpicture}[remember picture,overlay]
\node[anchor=north east] at ([shift={(-15pt,-10pt)}]current page text area.north east) {Hello};
\end{tikzpicture}
\end{document}

或者xshiftyshift

\documentclass{article}
\usepackage{tikzpagenodes}
\begin{document}
\begin{tikzpicture}[remember picture,overlay]
\node[anchor=north east] at ([xshift=-15pt,yshift=-10pt]current page text area.north east) {Hello};
\end{tikzpicture}
\end{document}

感谢 Ignasi 告诉我有关 的信息tikzpagenodes

感谢 Sergio Llorente 指出需要[remember picture,overlay]

为了说明移动有效,这里我将移动后的节点(用红色填充)与原始节点(用黄色填充)进行了比较:

\documentclass{article}
\usepackage{tikzpagenodes}
\begin{document}
\begin{tikzpicture}[remember picture,overlay]
\node[anchor=north east, fill=yellow] at (current page text area.north east) {Hello};
\node[anchor=north east, fill=red] at ([shift={(-15pt,-10pt)}]current page text area.north east) {Hello};
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容