Wie positioniere ich Inhalte innerhalb eines Tikz-Bildes?

Wie positioniere ich Inhalte innerhalb eines Tikz-Bildes?

Ich arbeite an einem System, bei dem ich ein Rechteck zeichnen und den Inhalt dieses Rechtecks ​​erstellen möchte. Ich verwende Tikz, um ein gestricheltes Rechteck zu zeichnen, habe aber große Schwierigkeiten, den Inhalt innerhalb des gezeichneten Rechtecks ​​zu positionieren. Hier ist ein minimales Beispiel für das Problem, auf das ich stoße:

\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}

Das erzeugt Folgendes:

Beispielausgabe

Gibt es eine Möglichkeit, den Inhalt durchgehend oben links im Rahmen zu positionieren, ohne die Koordinaten mit roher Gewalt berechnen zu müssen? In der Dokumentation wird dazu nichts erwähnt. Ich bin offen für Lösungen, die TikZ nicht verwenden, wenn es dafür eine bessere Möglichkeit gibt. Der eigentliche Inhalt, den ich in diese Rechtecke setze, ist viel komplexer, falls das wichtig ist. Insbesondere handelt es sich nicht um ein Bild.

Antwort1

Ich weiß nicht, ob ich Ihr Problem richtig verstanden habe.

So verstehe ich es: In einem Rechteck wird der Knoten, wenn er zwischen die Koordinaten geschrieben wird, immer in die Mitte des Rechtecks ​​(Mitte der Koordinaten) gesetzt. Um ihn neben dem oberen linken Scheitelpunkt zu platzieren, muss dieser Scheitelpunkt nur die erste Koordinate sein.

\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}

Bildbeschreibung hier eingeben

Antwort2

Falls Sie mehr als eine Textzeile wünschen: Beachten Sie, dass der Textbereich 2,25 x 4,4 Zoll groß ist, das gestrichelte Feld jedoch etwas größer ist (0,666em + 0,8pt für das Begrenzungsfeld).

\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}

verwandte Informationen