저는 직사각형을 그리고 그 직사각형의 내용을 작성하려는 시스템을 개발 중입니다. 저는 tikz를 사용하여 점선 직사각형을 그리는데, 그려진 직사각형 내부에 내용을 배치하는 데 정말 어려움을 겪고 있습니다. 다음은 내가 겪고 있는 문제의 최소한의 예입니다.
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[dashed] (0, 0) rectangle node{this text is centered but I want it at the top left} (4.4in, 2.25in);
\end{tikzpicture}
\vspace{1cm}
\begin{tikzpicture}
\draw[dashed] (0, 0) rectangle (4.4in, 2.25in);
\node at (0,0) {this text is centered at the bottom left and not fully in the container};
\end{tikzpicture}
\begin{tikzpicture}
\draw[dashed] (0, 0) rectangle (4.4in, 2.25in);
\node at (4,5.5) {this text is where I want it, but this is brute force};
\end{tikzpicture}
\end{document}
다음을 생성합니다.
좌표를 무차별 대입하지 않고도 프레임의 왼쪽 위에서 시작하여 콘텐츠를 일관되게 배치할 수 있는 방법이 있습니까? 이에 대한 문서에는 언급된 내용이 없습니다. 이를 수행하는 더 좋은 방법이 있다면 TikZ를 사용하지 않는 솔루션에 열려 있습니다. 이 직사각형에 넣는 실제 콘텐츠는 훨씬 더 복잡합니다. 참고로 사진은 아닙니다.
답변1
내가 귀하의 문제를 올바르게 이해했는지 모르겠습니다.
내가 이해한 것은 다음과 같습니다. 직사각형에서 좌표 사이에 작성된 노드는 항상 직사각형의 중심(좌표의 중간)에 배치됩니다. 왼쪽 상단 꼭지점 옆에 배치하려면 이 꼭지점이 첫 번째 좌표이면 됩니다.
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[dashed] (0, 2.25in) node[anchor=north west]{this text is centered but I want it at the top left}rectangle (4.4in, 0);
\end{tikzpicture}
\end{document}
답변2
한 줄 이상의 텍스트를 원하는 경우. 텍스트 영역은 2.25인치 x 4.4인치이지만 점선 상자는 약간 더 큽니다(경계 상자의 경우 0.666em + 0.8pt).
\documentclass{article}
\usepackage{tikz}
\usepackage{blindtext}% radnom text
\begin{document}
\begin{tikzpicture}[outline/.style={draw=black,dashed}]
\node[outline]{\parbox[c][2.35in][t]{4.4in}{\blindtext}};
\end{tikzpicture}
\end{document}