tikzpicture
node
환경 매개변수에 따라 위치가 지정되는 에 콘텐츠를 배치할 환경을 정의하려고 합니다 . 저는 LaTeX, TikZ 및 PGF를 처음 접했기 때문에 구문이 어려운 것으로 나타났습니다.
현재 나는 다음을 가지고 있습니다 :
\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}
}
그런 다음 다음과 함께 사용하려고합니다.
\begin{absnode}{500 pt}{-10 pt}
Text inside the node positioned relative to the top left corner
\end{absnode}
이건... 작동하지 않아요. 위의 내용은 컴파일되지만 노드는 왼쪽 위 모서리를 제외하고는 위치에 표시되지 않습니다(시프트가 적용되지 않음).
내가 무엇을 놓치고 있나요?
답변1
[remember picture, overlay] arguments to
좋아, 그래서 이것은 \begin{tikzpicture}` 를 잊어버린 것으로 밝혀졌습니다
아래와 같이 예상대로 작동합니다.
\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}
}
답변2
이 결과에 영향을 미치는 방법에는 여러 가지가 있습니다. 두 번 실행하는 것을 잊지 마십시오.
일반적으로 텍스트는 기준선 [anchor=base 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}