tikz를 사용하여 매개변수에 의해 결정되는 절대 위치 환경 위치를 어떻게 만들 수 있습니까?

tikz를 사용하여 매개변수에 의해 결정되는 절대 위치 환경 위치를 어떻게 만들 수 있습니까?

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}

관련 정보