Ich versuche, eine Umgebung zu definieren, die den Inhalt in einer Umgebung platziert, tikzpicture
node
die basierend auf Umgebungsparametern positioniert wird. Ich bin sehr neu bei LaTeX, TikZ und PGF, daher ist die Syntax eine Herausforderung.
Zur Zeit habe ich folgendes:
\NewEnviron{absnode}[2]
{
\tikzset{%
XPOS/.style={xshift=#1},
YPOS/.style={yshift=#2}
}
\begin{tikzpicture}
\node[XPOS, YPOS, anchor=north west] at (current page.north west) {%
\BODY
};
\end{tikzpicture}
}
Ich versuche es dann mit Folgendem zu verwenden:
\begin{absnode}{500 pt}{-10 pt}
Text inside the node positioned relative to the top left corner
\end{absnode}
Das... funktioniert nicht. Das obige wird kompiliert, aber der Knoten scheint nur in der oberen linken Ecke positioniert zu sein (ohne angewendete Umschalttaste).
Was vermisse ich?
Antwort1
Ok, also das hier scheint das Vergessen von [remember picture, overlay] arguments to
\begin{tikzpicture}` zu sein.
Mit dem Folgenden funktioniert es wie erwartet:
\NewEnviron{absnode}[2]
{
\tikzset{%
XPOS/.style={xshift=#1},
YPOS/.style={yshift=#2}
}
\begin{tikzpicture}[remember picture, overlay]
\node[XPOS, YPOS, anchor=north west] at (current page.north west) {%
\BODY
};
\end{tikzpicture}
}
Antwort2
Es gibt viele Möglichkeiten, dieses Ergebnis zu erzielen. Denken Sie daran, es zweimal auszuführen.
Normalerweise wird Text an der Grundlinie ausgerichtet [Anker=Basis West].
\documentclass[landscape]{article}
\usepackage{tikz}
\usepackage{environ}
\NewEnviron{absnode}[2]
{\begin{tikzpicture}[remember picture, overlay]
\path (current page.north west) ++(#1,#2) node[anchor=north west] {\BODY};
\end{tikzpicture}}
\begin{document}
\begin{absnode}{500 pt}{-10 pt}
Text inside the node positioned relative to the top left corner
\end{absnode}
\end{document}