私は、長方形を描画してその長方形のコンテンツを構築するシステムを開発しています。破線の長方形を描画するために 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
テキストを 1 行以上入力したい場合。テキスト領域は 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}