Bemerkungen

Bemerkungen

Ich habe folgendes Tikz-Bild:

 \documentclass{book}
 \usepackage{tikz}

 \begin{document}

 \begin{tikzpicture}
 \node(x1) {$x_1$};
 \node(x2) [right of = x1] {$x_2$};
 \node(x3) [right of = x2]{$x_3$};
 \node(x4) [right of = x3]{$x_4$};

 \draw [->] (x1) -- (x2) ;
 \draw [->] (x2) -- (x3) ;
 \draw [->] (x3) -- (x4) ;


 \node(y1) [below of = x1]{$y_1$};
 \node(y2) [right of = y1] {$y_2$};
 \node(y3) [right of = y2] {$y_3$};
 \node(y4) [right of = y3] {$y_4$};

 \draw [->] (y1) -- (x1) ;
 \draw [->] (y2) -- (x2) ;
 \draw [->] (y3) -- (x3) ;
 \draw [->] (y4) -- (x4) ;

 \end{tikzpicture}

  \end{document}

Ich möchte, dass die Pfeile länger werden. Wenn ich im Zeichenbefehl in den eckigen Klammern beispielsweise "kürzen >= -5pt" verwende, werden die Pfeile zwar länger, gehen aber über die Knoten hinaus. Gibt es eine Möglichkeit, alles geräumiger zu machen, zusätzlich zur Verlängerung der Pfeile?

Gibt es außerdem eine Möglichkeit, links von einem der vertikalen Pfeile einen weiteren Knoten einzufügen? (Oder genauer gesagt, wie gebe ich „unterhalb von“ oder „links von“ usw. für einen Pfeil und nicht für einen Knoten an?) Ich habe versucht, den Pfeil mit \draw(arr1) zu beschriften und dann später einen Knoten links von arr1 einzufügen, aber ich erhalte eine Fehlermeldung.

Antwort1

Sie sollten nicht verwenden below of = node. Es ist veraltet (sieheUnterschied zwischen „right of=“ und „right=of“ in PGF/TikZ). Verwenden Sie stattdessen die positioningBibliothek von tikz. Sie können damit schreiben right = 1.5cm of node. Sie können die Distanz variieren oder weglassen.

Um einen Pfad zu beschriften, fügen Sie einfach node[left] {label 1}hinter das ein --. Sie können pos=valueden Knotenoptionen einen Wert zwischen 0 und 1 hinzufügen, um die Position auf dem Pfad anzugeben.

Beispiel

(Ihr geänderter Code)

\documentclass{article}

\usepackage{tikz}

\usetikzlibrary{positioning}

\begin{document}
    \begin{tikzpicture}
        \node(x1) {$x_1$};
        \node(x2) [right = 1.5cm of x1] {$x_2$};
        \node(x3) [right = 1.5cm of x2]{$x_3$};
        \node(x4) [right = 1.5cm of x3]{$x_4$};

        \draw [->] (x1) -- (x2) ;
        \draw [->] (x2) -- (x3) ;
        \draw [->] (x3) -- (x4) ;


        \node(y1) [below = 2 of x1]{$y_1$};
        \node(y2) [below = 2 of x2] {$y_2$};
        \node(y3) [below = 2 of x3] {$y_3$};
        \node(y4) [below = 2 of x4] {$y_4$};

        \draw [->] (y1) -- node[left, pos=0.2] {beginning} (x1) ;
        \draw [->] (y2) -- node[left, pos=.8] {ending} (x2) ;
        \draw [->] (y3) -- node[left] {label 3} (x3) ;
        \draw [->] (y4) -- node[left] {label 4} (x4) ;
    \end{tikzpicture}
\end{document}

Ergebnisse in:

Ergebnis

Antwort2

Bemerkungen

Mit der Taste können Sie den Standardabstand zwischen Knoten angeben, die mit right of=, , usw. platziert werden .left of=node distance=<length>

Um einen Knoten entlang eines Pfades zu platzieren, fügen Sie ihn einfach nach der Lineto-Operation ein, d. h.

\draw (0,0) -- node {on the path} (4,0);

Wenn Sie möchten, dass der Text mit Ihrem Pfad geneigt ist, verwenden Sie den slopedSchlüssel als Option für den Knoten.

Lesen Sie mehr über die Knotenplatzierung imTikZ-Dokumentationim Abschnitt 16.8 auf Seite 190. Vielleicht interessiert Sie auch das Tutorial „Ein Petri-Netz für Hagen“, das in Knoten untersucht und im Kapitel 3 auf Seite 40 zu finden ist.

Implementierung

\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}[node distance=2.5cm]
    \node(x1) {$x_1$};
    \node(x2) [right of = x1] {$x_2$};
    \node(x3) [right of = x2] {$x_3$};
    \node(x4) [right of = x3] {$x_4$};

    \draw [->] (x1) -- (x2) ;
    \draw [->] (x2) -- (x3) ;
    \draw [->] (x3) -- (x4) ;


    \node(y1) [below of = x1]{$y_1$};
    \node(y2) [right of = y1] {$y_2$};
    \node(y3) [right of = y2] {$y_3$};
    \node(y4) [right of = y3] {$y_4$};

    \draw [->] (y1) -- node[sloped,below] {(y1) $\to$ (x1)} (x1) ;
    \draw [->] (y2) -- node[sloped,below] {(y2) $\to$ (x2)} (x2) ;
    \draw [->] (y3) -- node[sloped,below] {(y3) $\to$ (x3)} (x3) ;
    \draw [->] (y4) -- node[sloped,below] {(y4) $\to$ (x4)} (x4) ;
\end{tikzpicture}
\end{document}

Ausgabe

Bildbeschreibung hier eingeben

verwandte Informationen