Zwei Zeitleisten mit Tikzpicture?

Zwei Zeitleisten mit Tikzpicture?

Ich versuche, mit tikzpicture zwei Zeitleisten zu erstellen. Die obere sieht so aus, wie ich möchte, aber mit der unteren habe ich Probleme. Statt kleiner vertikaler Markierungen erzeuge ich große Diagonalen.

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usetikzlibrary{snakes}
\usepackage{fullpage}
\usepackage{graphicx}


\begin{document}
\resizebox{\linewidth}{!}{% Resize table to fit within
\begin{tikzpicture}[snake=zigzag, line before snake = 5mm, line after snake = 5mm]
%draw horizontal line
\draw (0,0) -- (19/2,0);
\draw[snake] (19/2,0) -- (25/2,0);
\draw (25/2,0) -- (30/2,0);
\draw[snake] (30/2,0) -- (35/2,0);
\draw (35/2,0) -- (40/2,0);
%draw vertical lines
\foreach \x in {0, 5, 10, 19, 30, 40}{
   \draw (\x/2,3pt) -- (\x/2,-3pt);
}
%draw nodes
\draw (-2,0) node { PHYS1060 };

\draw (0,0) node[below=3pt] { Pre-test published } node[above=3pt] { Jan 4, 2014  };
\draw (5/2,0) node[below=3pt] { Nudge } node[above=3pt] { Jan 9, 2014  };
\draw (10/2,0) node[below=3pt] { First class } node[above=3pt] { Jan 13, 2014  };
\draw (19/2,0) node[below=3pt] { Pre-test due } node[above=3pt] { Jan 22, 2014  };
\draw (30/2,0) node[below=3pt] { Midterm } node[above=3pt] { Feb 17, 2014  };
\draw (40/2,0) node[below=3pt] { Final Exam} node[above=3pt] { May 5, 2014  };


%draw horizontal line
\draw (-2,-2) node { PHYS1050 };
\draw (0,-2) -- (19/2,-2);
\draw[snake] (19/2,-2) -- (25/2,-2);
\draw (25/2,-2) -- (30/2,-2);
\draw[snake] (30/2,-2) -- (35/2,-2);
\draw (35/2,-2) -- (40/2,-2);
draw vertical lines
\foreach \x in {0, 5, 10, 19, 30, 40}{
   \draw (\x/2,-2,3pt) -- (\x/2,-2,-3pt);
}


%draw nodes
\draw (0,-2) node[below=3pt] { Pre-test published } node[above=3pt] { Aug 10, 2014  };
\draw (5/2,-2) node[below=3pt] { First class } node[above=3pt] { Aug 27, 2014  };
\draw (10/2,-2) node[below=3pt] { Nudge } node[above=3pt] { Sept 4, 2014  };
\draw (19/2,-2) node[below=3pt] { Pre-test due } node[above=3pt] { Sept 7, 2014  };
\draw (30/2,-2) node[below=3pt] { Midterm } node[above=3pt] { ?, 2014  };
\draw (40/2,-2) node[below=3pt] { Final Exam} node[above=3pt] { ?, 2014  };

\end{tikzpicture}
}

\end{document}

Was mache ich falsch und wie kann ich es beheben?

Danke!

Antwort1

Ich würde die Koordinaten Ihrer vertikalen Linien explizit definieren.

Ihre ersten vertikalen Linien würden also lauten:

\foreach \x in {0, 5, 10, 19, 30, 40}{
   \draw (\x/2,-0.2) -- (\x/2,0.2);
}

und der zweite Satz wäre

\foreach \x in {0, 5, 10, 19, 30, 40}{
   \draw (\x/2,-2.2) -- (\x/2,-1.8);
}

Bildbeschreibung hier eingeben

Antwort2

Die Berechnung der y-Koordinate für die vertikalen Linien ist im zweiten Fall falsch. Im ersten Fall funktioniert es, da die horizontale Linie auf Höhe liegt 0. Im zweiten Fall muss noch der Offset addiert werden -2, was mit der -Bibliothek erreicht werden kann calc.

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usetikzlibrary{snakes}
\usepackage{fullpage}
\usepackage{graphicx}
\usetikzlibrary{calc}


\begin{document}
\resizebox{\linewidth}{!}{% Resize table to fit within
\begin{tikzpicture}[snake=zigzag, line before snake = 5mm, line after snake = 5mm]
%draw horizontal line
\draw (0,0) -- (19/2,0);
\draw[snake] (19/2,0) -- (25/2,0);
\draw (25/2,0) -- (30/2,0);
\draw[snake] (30/2,0) -- (35/2,0);
\draw (35/2,0) -- (40/2,0);
%draw vertical lines
\foreach \x in {0, 5, 10, 19, 30, 40}{
   \draw (\x/2,3pt) -- (\x/2,-3pt);
}
%draw nodes
\draw (-2,0) node { PHYS1060 };

\draw (0,0) node[below=3pt] { Pre-test published } node[above=3pt] { Jan 4, 2014  };
\draw (5/2,0) node[below=3pt] { Nudge } node[above=3pt] { Jan 9, 2014  };
\draw (10/2,0) node[below=3pt] { First class } node[above=3pt] { Jan 13, 2014  };
\draw (19/2,0) node[below=3pt] { Pre-test due } node[above=3pt] { Jan 22, 2014  };
\draw (30/2,0) node[below=3pt] { Midterm } node[above=3pt] { Feb 17, 2014  };
\draw (40/2,0) node[below=3pt] { Final Exam} node[above=3pt] { May 5, 2014  };


%draw horizontal line
\draw (-2,-2) node { PHYS1050 };
\draw (0,-2) -- (19/2,-2);
\draw[snake] (19/2,-2) -- (25/2,-2);
\draw (25/2,-2) -- (30/2,-2);
\draw[snake] (30/2,-2) -- (35/2,-2);
\draw (35/2,-2) -- (40/2,-2);
draw vertical lines
\foreach \x in {0, 5, 10, 19, 30, 40}{
   \draw ($(0,-2)+(\x/2, 3pt)$) -- ($(0,-2)+(\x/2, -3pt)$);
}


%draw nodes
\draw (0,-2) node[below=3pt] { Pre-test published } node[above=3pt] { Aug 10, 2014  };
\draw (5/2,-2) node[below=3pt] { First class } node[above=3pt] { Aug 27, 2014  };
\draw (10/2,-2) node[below=3pt] { Nudge } node[above=3pt] { Sept 4, 2014  };
\draw (19/2,-2) node[below=3pt] { Pre-test due } node[above=3pt] { Sept 7, 2014  };
\draw (30/2,-2) node[below=3pt] { Midterm } node[above=3pt] { ?, 2014  };
\draw (40/2,-2) node[below=3pt] { Final Exam} node[above=3pt] { ?, 2014  };

\end{tikzpicture}
}

\end{document}

verwandte Informationen