다음 함수 를 사용하여 직사각형을 그렸다고 가정해 보겠습니다 \draw
.
\begin{tikzpicture}
\draw (0,0) rectangle (1,1);
\endtikzpicture}
이 경로 경계 상자의 "기본 측면"(북쪽, 북서쪽, 서쪽 등)에 액세스하는 적절한 방법은 무엇입니까(원, 부드러운 베지어 곡선 등일 수도 있음)? 이상적으로는 다음과 같은 작업을 수행하고 싶습니다.
\begin{tikzpicture}
\draw[name=foo] (0,0) rectangle (1,1);
\node[left=1cm of foo.east] {bar};
\endtikzpicture}
답변1
Schrödinger's cat 덕분에 이를 local bounding box
정의하고 사용하여 원하는 좌표에 액세스할 수 있습니다.
이렇게 하면 다른 항목(이 경우 원)이 그려지고 실제 경계 상자는 그대로 유지됩니다(파란색으로 그리기).
암호:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (1,1) circle (0.5cm);
\begin{scope}[local bounding box=MyRectangle]
\draw (0,0) rectangle (1,1);
\end{scope}
\draw [red, thick] (MyRectangle.south west) -- (MyRectangle.north east);
\draw [blue] (current bounding box.south west) rectangle (current bounding box.north east);
\end{tikzpicture}%
\end{document}
답변2
outer sep=0pt
적절한 minimum width
및 와 함께 노드를 사용할 수 있습니다 minimum height
. 기본 모양은 입니다 rectangle
.
\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
\path (0,0) node[draw,minimum width=1cm,minimum height=1cm,anchor=south
west,outer sep=0pt](foo){};
\draw[dashed,red] (0,0) rectangle (1,1);
\node[left=1cm of foo.east] {bar};
\end{tikzpicture}
\end{document}
빨간색 대시는 경로가 일치한다는 것을 나타냅니다. 정사각형인 경우 를 사용할 수도 있습니다 minimum size
. 유사한 진술이 원 등에 적용됩니다. 라이브러리 shapes.geometric
에는 여러 기하학적 모양이 있으며 다른 shapes
라이브러리도 있습니다.