Anders gerichteter Graph

Anders gerichteter Graph

gewünschter Graph

Ich muss ein Diagramm ähnlich dem im Bild oben erstellen, weiß aber nicht, wie ich die horizontalen Linien ohne Pfeil oder den vertikalen Pfeil erstellen kann. Das Beste, was ich tun kann, ist Folgendes:

\documentclass{amsart}
\usepackage{tikz} 
\begin{document}
\begin{center}
\begin{tikzpicture}
    \node (p1) at ( 0, 0) {}; 
    \node (p2) at ( 1, -0.2) {i};
    \node (p3) at ( 3,0) {};
    \node (p4) at ( 0,1) {};
    \node (p5) at ( 2,1.2) {n+j};
    \node (p6) at ( 3,1) {};
    \begin{scope}[every path/.style={->}]
       \draw (p1) -- (p3); 
       \draw (p4) -- (p6);
       \draw (p2) -- (p5);
    \end{scope}  
\end{tikzpicture}
\end{center}
\end{document}

Ausgabe

Bildbeschreibung hier eingeben

Antwort1

Ist dies das gewünschte Ergebnis:

Bildbeschreibung hier eingeben

Anmerkungen:

  • Wenn Sie keine Pfeilspitzen am Ende von Zeilen haben möchten, ändern Sie entweder den Stil every path/.style={-}oder entfernen Sie diese Option einfach, wie ich es unten getan habe. Zeilen erhalten standardmäßig keine Pfeilspitzen.
  • Der gewünschte Pfeilstil ist -latex. Fügen Sie diese Option also einfach bei Bedarf hinzu (wie es bei der orangefarbenen Linie der Fall ist).
  • Hinzugefügt shorten <=und shorten >=um die orange Linie zu verlängern. Alternativ können Sie manuell Punkte auswählen, dieAndie Linie.
  • Die calcBibliothek wurde verwendet, um den Mittelpunkt coordinates zu berechnen, mit dem die vertikale schwarze Linie gezeichnet wurde.
  • Ich habe die Knotenbeschriftungen durch Hinzufügen so eingerichtet, dass sie im mathematischen Modus sind $.
  • Es wurden Farben hinzugefügt, damit leichter erkennbar ist, welcher Zeichenbefehl was bewirkt.

Code:

\documentclass{amsart}
\usepackage{tikz} 
\usetikzlibrary{calc}
\begin{document}
\begin{center}
\begin{tikzpicture}[thick]
    \node (p1) at ( 0, 0) {}; 
    \node (p2) at ( 1, -0.2) {$i$};
    \node (p3) at ( 3,0) {};
    \node (p4) at ( 0,1) {};
    \node (p5) at ( 2,1.2) {$n+j$};
    \node (p6) at ( 3,1) {};
    \coordinate (p1MidwayP3) at ($(p1)!0.5!(p3)$);
    \coordinate (p4MidwayP6) at ($(p4)!0.5!(p6)$);
    \begin{scope}%[every path/.style={-}]
       \draw [red] (p1) -- (p3); 
       \draw [blue] (p4) -- (p6);
       \draw [orange, shorten <=-0.08cm, shorten >=-0.10cm, -latex](p2) -- (p5);
       \draw  (p1MidwayP3) -- (p4MidwayP6);
    \end{scope}  
\end{tikzpicture}
\end{center}
\end{document}

Antwort2

Eine PSTricks-Lösung, kombiniert mitxfp:

\documentclass{article}

\usepackage{pstricks-add}
\usepackage{xfp}

\begin{document}

\def\Horizontal{5} % length of the horizontal line segments
\def\Vertical{3}   % length of the vertical   line segment
\def\Indent{0.5}   % indentation of the arrow from both sides
\begin{pspicture}(0,-0.4)(\Horizontal,\fpeval{\Vertical+0.45})
  \psline(0,0)(\Horizontal,0)
  \psline(0,\Vertical)(\Horizontal,\Vertical)
  \psline(\fpeval{\Horizontal/2},0)(\fpeval{\Horizontal/2},\Vertical)
  \psline{->}(\Indent,0)(\fpeval{\Horizontal-\Indent},\Vertical)
  \uput[270](\Indent,0){$i$}
  \uput[90](\fpeval{\Horizontal-\Indent},\Vertical){$n+j$}
\end{pspicture}

\end{document}

Ausgabe

Sie müssen lediglich die Werte von \Horizontal, \Vertical, und auswählen \Indentund die Zeichnung wird entsprechend angepasst.

verwandte Informationen