这是我的代码:
\node[anchor=north east] at (current page text area.north east) {Hello};
它位于页面文本区域的右上角。我想将它的位置稍微低一点(10pt)并且稍微向左一点(15pt)。我该怎么做?
答案1
您可以使用calc
tikz 的包来执行此操作。包括
\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}
或者xshift
和yshift
:
\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}