goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Erster Gehversuch mit TikZ

 

Rolli
Forum-Anfänger
Forum-Anfänger

Beiträge: 27
Anmeldedatum: 15.02.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.04.2017, 11:35     Titel: Erster Gehversuch mit TikZ
  Antworten mit Zitat      
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?

Code • Öffne in Overleaf

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

Linux ist ein Betriebssystem.
WinDoof ist ein Zustand!
Private Nachricht senden Benutzer-Profile anzeigen

u_fischer
Forum-Meister
Forum-Meister

Beiträge: 3397
Anmeldedatum: 22.11.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.04.2017, 12:54     Titel:
  Antworten mit Zitat      
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};
_________________

Ulrike Fischer
www.troubleshooting-tex.de
Private Nachricht senden Benutzer-Profile anzeigen

Bartman
Forum-Meister
Forum-Meister


Beiträge: 752
Anmeldedatum: 16.07.09
Wohnort: Hessische Provinz
Version: Windows 7 64 Bit MiKTeX 2.9 32-Bit
     Beitrag Verfasst am: 20.04.2017, 00:54     Titel:
  Antworten mit Zitat      
Zu 1:

Code • Öffne in Overleaf
\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.
Private Nachricht senden Benutzer-Profile anzeigen

Rolli
Forum-Anfänger
Forum-Anfänger

Beiträge: 27
Anmeldedatum: 15.02.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.04.2017, 09:00     Titel:
  Antworten mit Zitat      
Danke Euch! Immer wieder toll, wie einem hier geholfen wird.
_________________

Linux ist ein Betriebssystem.
WinDoof ist ein Zustand!
Private Nachricht senden Benutzer-Profile anzeigen

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de goPCB.de


  Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2017 goLaTeX.de