Ich habe ein Problem mit der node distance. Im folgenden MWE ist der letzte pfeil zwischen start und logs länger als die vorhergehenden. Es liegt offensichtlich daran, das der Text in der node logs nur einzeilig ist bzw. der Text in der node start zweizeilig ist. Wie kann ich das beheben, so dass alle nodes den angegeben Abstand (wie im Beispiel 1.5 cm) haben Öffne in Overleaf
\documentclass{beamer} \usepackage{tikz} \begin{document} \begin{frame} \usetikzlibrary{shapes, arrows} \tikzstyle{block} = [rectangle, draw, text width=15em, text centered, rounded corners, anchor=south] \tikzstyle{line} = [draw, -latex'] \begin{tikzpicture}[node distance = 1.5cm] \node [block] (pit) {Create pit file\\ e.g. peachhter.xml}; \node [block, below of=pit] (agent) {Start agent \\peach -a tcp}; \node [block, below of=agent] (start) {Start peach \\peach peachhter.xml TestHTER}; \node [block, below of=start] (logs) {Examine logs}; \path [line] (pit) -- (agent); \path [line] (agent) -- (start); \path [line] (start) -- (logs); \end{tikzpicture} \end{frame} \end{document} |
TikZ hat eine Library dafür: positioning. In Deinem Code (ohne positioning) war der Abstand zwischen den Zentren der Nodes fix. Mit positioning ist die Syntax marginal anders, man muss das = vor "of" schieben. Öffne in Overleaf
\documentclass{beamer} \usepackage{tikz} \begin{document} \begin{frame} \usetikzlibrary{shapes, arrows,positioning} \tikzstyle{block} = [rectangle, draw, text width=15em, text centered, rounded corners, anchor=south] \tikzstyle{line} = [draw, -latex'] \begin{tikzpicture}[node distance = 0.5cm] \node [block] (pit) {Create pit file\\ e.g. peachhter.xml}; \node [block, below=of pit] (agent) {Start agent \\peach -a tcp}; \node [block, below=of agent] (start) {Start peach \\peach peachhter.xml TestHTER}; \node [block, below=of start] (logs) {Examine logs}; \path [line] (pit) -- (agent); \path [line] (agent) -- (start); \path [line] (start) -- (logs); \end{tikzpicture} \end{frame} \end{document} ADDENDUM: Der obige Code funktioniert, hat aber ein paar unschöne Stellen. Es ist besser, Öffne in Overleaf
\documentclass{beamer} \usepackage{tikz} \usetikzlibrary{shapes, arrows,positioning} \tikzset{block/.style={rectangle, draw, text width=15em, text centered, rounded corners, anchor=south}, line/.style={draw, -latex'}} \begin{document} \begin{frame}{Strategy} \begin{overlayarea}{\textwidth}{8cm} \begin{tikzpicture}[node distance = 0.5cm] \node [block] (pit) {Create pit file\\ e.g. peachhter.xml}; \pause \node [block, below=of pit] (agent) {Start agent \\peach -a tcp}; \path [line] (pit) -- (agent); \pause \node [block, below=of agent] (start) {Start peach \\peach peachhter.xml TestHTER}; \path [line] (agent) -- (start); \pause \node [block, below=of start] (logs) {Examine logs}; \path [line] (start) -- (logs); \end{tikzpicture} \end{overlayarea} \end{frame} \end{document} |
Siehe auch Was ist der Unterschied zwischen right of= und right=of in TikZ?.