Erster Gehversuch mit TikZ

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Erster Gehversuch mit TikZ

von Rolli » Mo 24. Apr 2017, 09:00

Danke Euch! Immer wieder toll, wie einem hier geholfen wird.

von Bartman » Do 20. Apr 2017, 00:54

Zu 1:
\documentclass[tikz, border=5pt]{standalone}

\usepackage{array}

\usetikzlibrary{
	arrows.meta,% Gemäß Abschnitt 16.1 der Dokumentation soll die arrows-Bibliothek veraltet sein
	positioning,
	shapes
}

\begin{document}
\begin{tikzpicture}[
	every path/.style={
		>/.tip={Triangle[angle=45:8pt]},% Abschnitte 16.4.4 und 16.5
		->,
		shorten >=2pt,
		thick
	}
]
\begin{scope}[
	node distance=4mm and 12mm,
	nodes={
		font=\sffamily\bfseries,
		draw=blue, 
		very thick,
		inner sep=4pt
	},
	ellipse border/.style={
		ellipse, 
		inner ysep=3pt
	}
]
\node [ellipse border] (p1)                     {P1};
\node                  (a)  [below right=of p1] {A};
\node                  (b)  [below left =of p1] {B};
\node [ellipse border] (p2) [below right=of b]  {P2};
\end{scope}

\draw 		   (b.north) -- (p1.west);
\draw [dashed] (p1.east) -- (a.north);
\draw 		   (a.south) -- (p2.east);
\draw [dashed] (p2.west) -- (b.south);

\node [
	right=5mm of a, 
	font=\sffamily\footnotesize
] {
	\renewcommand*{\arraystretch}{1.5}
	\begin{tabular}{ll}
	P1, P2                              & Prozesse                   \\
	A, B                                & Betriebsmittel             \\[3mm]
	\tikz\draw          (0,0) -- (1,0); & Betriebsmittel-Zuweisung   \\
	\tikz\draw [dashed] (0,0) -- (1,0); & Betriebsmittel-Anforderung \\
	\end{tabular}
};
\end{tikzpicture}
\end{document}
Ich bevorzuge eine serifenlose Schrift in solchen Zeichnungen. Entferne einfach die entsprechenden Befehle, wenn Du anderer Meinung bist oder Deine Vorgabe es nicht zulässt.

Als Alternative zu dem Knoten mit einer tabular-Umgebung möchte ich noch die Möglichkeit der Verwendung einer Matrix nennen. In meiner Vorstellung einer Matrix-Variante könnte die Angabe fester Koordinaten für die Pfeile vermieden werden.

von u_fischer » Di 18. Apr 2017, 12:54

2+ 3:

node haben Ränder. Setze inner (x|y)sep auf 0, wenn du die nicht willst.
scale tut da gar nichts, benütze z.B. font um die Schrift zu ändern. Setze den Anker auf base, wenn du entlang der Grundlinie ausrichten willst:

node [anchor=base west, font=\footnotesize,inner xsep=0pt] {P1, P2};

Erster Gehversuch mit TikZ

von Rolli » Di 18. Apr 2017, 11:35

Hallo Community,

nach 2 Monaten steiler Lernkurve mit LaTeX bin ich endlich auch auf TikZ gestoßen. Das Handbuch ist ja riesengroß, vielleicht sogar zu groß, jedenfalls komme ich nicht damit zurecht.
Suche nach "text size" gibt genau 2 Treffer!

Unten mein allererster Gehversuch mit TikZ.

Meine Fragen dazu:

1. Bitte um Tipps, wie ich das evtl. eleganter machen könnte

2. Warum ist in der rechten Legende das P von "P1" und das "A" nicht genau über den Anfängen der darunter stehenden Pfeile? Ich vermute, wegen "scale=0.9"; das habe ich gemacht, um die Schrift etwas kleiner zu bekommen - einen Befehl dafür habe ich nicht gefunden (s.o.)

3. Warum ist die Grundlinie von "P1, P2" etwas höher als die von "Prozesse" (und analog "A, B" und "Betriebsmittel")?

4. Warum brauche ich bei den Quadraten anchor=west, damit "A" und "B" in der Mitte stehen, und bei den Ellipsen keinen anchor?
\documentclass{scrartcl}
\usepackage{tikz}
\usetikzlibrary{arrows}

\begin{document}

\begin{tikzpicture}[>=triangle 45, thick]
   \draw [color=blue, very thick] (-2.3, -0.3) rectangle (-1.7, 0.3) node [anchor=north east]{\color{black}\textbf{B}};
   \draw [color=blue, very thick] (+2.3, -0.3) rectangle (+1.7, 0.3) node [anchor=north west]{\color{black}\textbf{A}};
   \draw [color=blue, very thick] (0.0, +1.0)  ellipse (0.5cm and 0.3cm) node {\color{black}\textbf{P1}}; 
   \draw [color=blue, very thick] (0.0, -1.0)  ellipse (0.5cm and 0.3cm)node {\color{black}\textbf{P2}};
   \draw [->, shorten >=3pt](-2.0, 0.3) -- (-0.5, 1.0);
   \draw [->, shorten >=5pt, dashed](0.5, 1.0) -- (2.0, 0.3);
   \draw [->, shorten >=3pt](2.0, -0.3) -- (0.5, -1.0);
   \draw [->, shorten >=5pt, dashed](-0.5, -1.0) -- (-2.0, -0.3);
   \draw (3.0, 0.9) node [anchor=west, scale=0.9] {P1, P2}; \draw (4.4, 0.9) node [anchor=west, scale=0.9] {Prozesse};
   \draw (3.0, 0.4) node [anchor=west, scale=0.9] {A, B}; \draw (4.4, 0.4) node [anchor=west, scale=0.9] {Betriebsmittel};
   \draw [->] (3.0, -0.4) -- (4.0, -0.4); \draw (4.4, -0.4) node [anchor=west, scale=0.9] {Betriebsmittel-Zuweisung};
   \draw [->, dashed] (3.0, -0.9) -- (4.0, -0.9); \draw (4.4, -0.9) node [anchor=west, scale=0.9] {Betriebsmittel-Anforderung};
\end{tikzpicture}

\end{document}
Ich weiß, viele Fragen ...
Aber TikZ ist wirklich nicht einfach zu verstehen.

Gruß Rolli

Nach oben