Seite 1 von 1

tikz plot - pfade ohne kurven

Verfasst: Di 30. Aug 2011, 18:45
von pospiech
Ich habe folgenden Code, der an das Diagramm im LaTeX Companion angelehnt ist (englische Ausgabe, S. 688).

Nun möchte ich aber das alle Linien unter rechten Winkeln verlaufen und nicht abgerundet werden.
Zudem funktioniert das anschließen von Kurven über einen dummy node nicht richtig. Ich wüsste daher gerne auch wie man pfade an andere pfade mittig anbindet.

Hier der Code:
\documentclass[]{beamer}[2007/03/11] % 

\usepackage[latin1]{inputenc}

\usepackage{pgf}
\usepackage{tikz}
\usepgflibrary{arrows}  

\usetikzlibrary{arrows,automata}
\usetikzlibrary{positioning}

\tikzset{ >=triangle 45}
\tikzset{
    tool/.style={
           rectangle,
           rounded corners,
           draw=black, very thick,
           minimum height=2em,
           inner sep=10pt,
           text centered,           
           },
}

\tikzset{
    file/.style={
           minimum height=1em,
           inner sep=3pt,
           text centered,           
           },
}

\begin{document}
\begin{frame}
	\frametitle{Programmaufrufe - Skizze}	

\begin{tikzpicture}[->]

% tex
\node[file] (TEX) {tex};

% LaTeX 1
\node[tool, right of=TEX, node distance=2.5cm, anchor=center]%
(LATEXA) {LaTeX};

% dummy
\node[below of=LATEXA, node distance=1.5cm] (dummy) {};

% Bibtex
\node[tool, right of=dummy, node distance=4cm, anchor=center]% 
(BIBTEX) {BiBTeX};


\node[file, above of=BIBTEX, node distance=1.5cm, anchor=center]%
(BIB) {bib};

% bst
\node[file, right of=BIBTEX, node distance=2.5cm, anchor=east]%
(BST) {bst};

% LaTeX 2
\node[tool, below of=dummy, node distance=1.5cm, anchor=center]%
(LATEXB) {LaTeX};

% LaTeX 3
\node[tool, below of=LATEXB, node distance=3cm, anchor=center]%
(LATEXC) {LaTeX};

% PDF
\node[file, right of=LATEXC, node distance=4.5cm, anchor=east]%
(PDF) {pdf};

% tex -> LaTeX
\path (TEX) edge[bend left=0]  (LATEXA);

% dummy -> Bibtex
\path (dummy) edge[bend left=0]  
	node[anchor=left,above]{aux} (BIBTEX);

% bib -> Bibtex 
\path (BIB) edge[bend left=0]  (BIBTEX);

% bst -> Bibtex
\path (BST) edge[bend left=0]  (BIBTEX);

% Bibtex -> LaTeX
\path (BIBTEX) edge[out=270, in=0] node[anchor=right,below]{bbl} 
	(LATEXB);

% LaTeX -> LaTeX 
\path (LATEXA) edge[bend left=0]  (LATEXB);
 
% LaTeX -> LaTeX 
\path (LATEXB)     edge[bend left=0] 
	node[anchor=right,right]{aux} (LATEXC);

% tex -> LaTeX 
\path (TEX) edge[out=270, in=180] (LATEXB);
\path (TEX) edge[out=270, in=180] (LATEXC);

% LaTeX -> pdf
\path (LATEXC) edge[out=0, in=180] (PDF);
	
\end{tikzpicture}
\end{frame}  
\end{document}

Verfasst: Mi 31. Aug 2011, 18:05
von skater
Da ich ktikz benutze, hier mal ein Vorschlag für den wichtigen Teil:
\usepgflibrary{arrows}
\usetikzlibrary{arrows,automata}
\usetikzlibrary{positioning}

\tikzset{ >=triangle 45}
\tikzset{
	tool/.style={
		rectangle,
		rounded corners,
		draw,thick,
		minimum height=2em,
		inner sep=5pt,
		outer sep=2pt,
		text centered          
		}
	}
\tikzset{
	file/.style={
		minimum height=1em,
		inner sep=1pt,
		outer sep=2pt,
		text centered
		}
	}

\begin{tikzpicture}[-latex]

\node[file] (TEX) {.tex};

\node[tool, right of=TEX, node distance=2cm] (LATEXA) {LaTeX};

\node[below of=LATEXA, node distance=1.5cm] (dummy) {};

\node[tool, right of=dummy, node distance=3cm] (BIBTEX) {BiBTeX};

\node[file, above of=BIBTEX, node distance=1.5cm] (BIB) {.bib};

\node[file, right of=BIBTEX, node distance=2.5cm] (BST) {.bst};

\node[tool, below of=dummy, node distance=1.5cm] (LATEXB) {LaTeX};

\node[tool, below of=LATEXB, node distance=3cm] (LATEXC) {LaTeX};

\node[file, right of=LATEXC, node distance=3cm] (PDF) {.pdf};

\path (TEX) --  (LATEXA);

\draw (dummy) -- node[above]{.aux} (BIBTEX);

\draw (BIB) -- (BIBTEX);

\draw (BST) -- (BIBTEX);

\draw (BIBTEX) |- node[near end,below]{.bbl} (LATEXB);

\draw (LATEXA) -- (LATEXB);
 
\draw (LATEXB) -- node[right]{.aux} (LATEXC);

\draw (TEX) |- (LATEXB);
\draw (TEX) |- (LATEXC);

\draw (LATEXC) -- (PDF);

\end{tikzpicture}