
\documentclass[a4paper,twoside]{article}
\usepackage{xypic}
\begin{document}
\xymatrix{
A\ar@{-} [rr] & & D\ar @{-}[r] & E\\
L\ar @{-}[rrr] & & & M \\
P\ar[rrr]\ar[uu] & R\ar[ruu] & S & T\ar @{-}[uu]
}
\end{document}
Es entsteht das folgende Diagramm:
Ich möchte jedoch das folgende Diagramm erstellen:
Wie kann ich dies mit dem Paket tun xypic
?
Antwort1
Hier ist eine xypic-Version Ihres zweiten Diagramms.
\documentclass[a4paper,twoside]{article}
\usepackage{xypic}
\begin{document}
\begin{xy}<1cm,0cm>:
(0,0)="P"; (0,2)="A" **@{-};
(4,2)="E" **@{-}; (4,0)="T" **@{-}; "P" **@{-},
(0,1)="L"; (4,1)="M" **@{-},
(1.3,0)="R"; "R"+(0,0.1) **@{-},
(3,0)="S"; "S"+(0,0.1) **@{-},
(2.6,2)="D"; "D"-(0,0.1) **@{-},
(2.2,0) *{>},
"P"-(0.2,0.2)*{P},
"L"-(0.2,0)*{L},
"A"+(-0.2,0.2)*{A},
"D"+(0,0.2)*{D},
"E"+(0.2,0.2)*{E},
"M"+(0.2,0)*[r]{M},
"T"+(0.2,-0.2)*{T},
"S"-(0,0.2)*{S},
"R"-(0,0.2)*{R}
\end{xy}
\end{document}
Die erste Befehlssammlung zeichnet die Linien und liefert Referenznamen für die Punkte. Die zweite Sammlung druckt den Pfeil und die Beschriftungen. Siehe dieReferenzhandbuch von xypic(oder texdoc xyrefer
auf Ihrem Computer) für weitere Einzelheiten. Dies ist hilfreicher als das Benutzerhandbuch ( texdoc xypic
), das sich hauptsächlich mit der Erstellung sogenannter „kommutativer Diagramme“ befasst.
Beachten Sie die Syntax sorgfältig. Der Linienzeichnungsvorgang **@{-}
verwendet die letzten beiden Punkte auf einem Stapel. Darauf folgt, ;
wenn wir vom letzten Punkt aus fortfahren möchten, aber wenn ,
wir einen völlig neuen Vorgang starten müssen.
Ich nehme an, Sie haben auch gefragt, wie man diesem Diagramm Pfeile hinzufügt, vermutlich von R
nach D
, statt R
nach P
im Kommentar. Eine Möglichkeit wäre
"R"; "D" **@{-} ?(.7)*\dir{>}
Dadurch wird die Pfeilspitze .7
mit der Entfernung von R
nach angezeigt D
. Eine vergleichbare Konstruktion könnte für den Pfeil in der unteren Zeile verwendet werden.
Antwort2
Ich weiß es nicht xy
genau, aber hier ist eine Möglichkeit mitTikZ
:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning,decorations.markings}
\begin{document}
\begin{tikzpicture}[node distance=1cm]
% coordinates for the points
\coordinate (A) ;
\coordinate[right = 2cm of A] (D) ;
\coordinate[right = of D] (E) ;
\coordinate[below = of A] (L) ;
\coordinate[below = of L] (P) ;
\coordinate[right = of P] (R) ;
\coordinate[right = 1.3cm of R] (S) ;
\coordinate[below = of E] (M);
\coordinate[below = of M] (T);
% join some points with straight line segments
\draw (R) -- (P) -- (L) -- (A) -- (D) -- (E) -- (M) -- (T) -- (S);
\draw (L) -- (M);
% draw the segment from R to S with arrow in the middle
\draw[postaction=decorate,decoration={markings,mark=at position 0.5 with {\arrow{>}}}] (R) -- (S);
% draw tick-marks at R,S and D
\draw (R) -- +(0,3pt);
\draw (S) -- +(0,3pt);
\draw (D) -- +(0,-3pt);
% place the labels
\foreach \coor/\posi in {R/below,P/below left,L/left,A/above left,D/above,E/above right,M/right,T/below right,S/below}
\node[\posi] at (\coor) {\coor};
\end{tikzpicture}
\end{document}