PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Grafik in LaTeX umsetzen; Zeilenbreite in Tabelle verspringt



mermshaus
21-03-2009, 20:59
Hallo!

Ich versuche gerade, diese Grafik (http://tu-dresden.de/die_tu_dresden/fakultaeten/fakultaet_informatik/smt/dil/ib/laendervergleich/oesterreich/oestereich) in LaTeX nachzubauen. Da ich keine bessere Idee hatte, habe ich es mit einer Tabelle probiert:


\documentclass[draft,a4paper,12pt,ngerman,parskip=half,titlepage, fleqn]{scrartcl}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage[babel,german=guillemets]{csquotes}
\usepackage[babel]{microtype}
\usepackage{lmodern}

\usepackage{array}
\usepackage{multirow}
\usepackage{rotating}

\newcommand{\mc}{\multicolumn}
\newcommand{\mr}{\multirow}

\begin{document}

\begin{figure}
\small
\centering
\begin{tabular}{p{0.4cm}*{16}{p{0.4cm}}|p{0.1cm}p{ 0.4cm}p{0.4cm}}
m & m & m & m & m & m & m & m & m & m & m & m & m & m & m & m & m & \, & m & m \\
\cline{2-17}
& \mc{8}{|l|}{Universität} & \mc{4}{l|}{Fachhoch-} & \mc{4}{l|}{Akademie} & & \\
& \mc{8}{|l|}{} & \mc{4}{l|}{schule} & \mc{4}{c|}{} & & \\
& \mc{8}{|l|}{} & \mc{4}{l|}{} & \mc{4}{c|}{} & & \\ \cline{2-17}
\mc{2}{l}{\tiny Schulstufe} & \mc{15}{c}{} & & \mc{2}{l}{\tiny Alter}\\ \cline{4-6}
& \mc{2}{c}{} & \mc{3}{|l|}{Kolleg} & \mc{11}{c}{} & & \\ \cline{5-7}
13 & \mc{2}{c|}{} & & \mc{3}{|l|}{BHS} & \mc{10}{c}{} & & 18 & \\ \cline{2-4} \cline{8-10} \cline{13-15}
12 & \mc{3}{|l}{AHS} & \mc{3}{|l}{- HTL} & \mc{3}{|l|}{BMS} & & & \mc{3}{|l}{Berufs-} & \mc{2}{|c}{} & & 17 & \\ \cline{11-11}
11 & \mc{3}{|l}{Oberstufe} & \mc{3}{|l}{- HAK} & \mc{4}{|l|}{- Fachschule} & & \mc{3}{|l}{schule} & \mc{2}{|c}{} & & 16 & \\ \cline{12-12}
10 & \mc{3}{|c}{} & \mc{3}{|l}{- HLW} & \mc{5}{|l}{- Handelschule} & \mc{3}{|c}{} & \mc{2}{|c}{} & & 15 & \\ \cline{13-17} \cline{19-20}
9 & \mc{3}{|c}{} & \mc{3}{|l}{} & \mc{5}{|c}{} & \mc{4}{|l|}{Poly.} & & & 14 & \mr{9}{*}{\begin{sideways}Unterrichtspflicht\end{s ideways}}\\ \cline{2-16}
8 & \mc{4}{|l|}{AHS} & \mc{11}{l|}{Hauptschule} & & & 13 & \\
7 & \mc{4}{|l|}{Unterstufe} & \mc{11}{c|}{} & & & 12 & \\
6 & \mc{4}{|l|}{} & \mc{11}{c|}{} & & & 11 & \\
5 & \mc{4}{|l|}{} & \mc{11}{c|}{} & & & 10 & \\ \cline{2-16}
4 & \mc{15}{|l|}{Volksschule} & & & 9 & \\
3 & \mc{15}{|l|}{} & & & 8 & \\
2 & \mc{15}{|l|}{} & & & 7 & \\
1 & \mc{15}{|l|}{} & \mr{-9}{*}{\begin{sideways}Sonderschule\end{sideways}} & & 6 & \\ \cline{2-17} \cline{19-20}
& \mc{10}{|l}{Kindergarten} & \mc{6}{|l|}{Vorschule} & & 5 & \\ \cline{12-17}
& \mc{16}{|l|}{} & & 4 & \\
& \mc{16}{|l|}{} & & 3 & \\ \cline{2-17}
\end{tabular}
\caption{Das österreichische Schulsystem}
\end{figure}

\end{document}

Das Resultat sieht prinzipiell einigermaßen okay aus, aber sobald ich die oberste Zeile (die mit den m-Buchstaben) entferne, verspringt alles. Ich denke mal, die Angaben zur Spaltenbreite werden ignoriert. Ich kann mir allerdings nicht erklären, wieso.

Hat da jemand eine Idee?

Oder weiß jemand, wie ich die Grafik geschickter umsetzen könnte? Richtig toll ist es so nicht.

Viele Dank!

Marc

mermshaus
22-03-2009, 01:22
Habe mal meine ersten Gehversuche mit PGF/TikZ gewagt. Es ist nicht perfekt, aber viel schöner als die Tabellenlösung. (Und vor allem einfacher als gedacht. :))

Kommentare/Verbesserungen sind noch immer sehr willkommen.


\documentclass[draft,a4paper,12pt,ngerman,parskip=half,titlepage, fleqn]{scrartcl}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage[babel,german=guillemets]{csquotes}
\usepackage[babel]{microtype}
\usepackage{lmodern}

\usepackage{tikz}
\usepackage{pgfmath}

\usetikzlibrary{decorations.pathreplacing}

\begin{document}

\begin{figure}
\centering
\small
\begin{tikzpicture}
\draw (0,1.5) node[anchor=north west] {Kindergarten} rectangle (11.2,0);
\draw (7,1.5) node[anchor=north west] {Vorschule} rectangle (11.2,1);
\draw (0,3.5) node[anchor=north west] {Volksschule} rectangle (10.5,1.5);
\draw (0,5.5) node[anchor=north west] {\parbox{2cm}{AHS\\Unterstufe}} rectangle (2.8,3.5);
\draw (2.8,5.5) node[anchor=north west] {Hauptschule} rectangle (10.5,3.5);
\draw (0,7.5) node[anchor=north west] {\parbox{2cm}{AHS\\Oberstufe}} rectangle (2.1,5.5);
\draw (2.1,8) node[anchor=north west] {\parbox{4cm}{BHS\\- HTL\\- HAK\\- HLW}} rectangle (4.2,5.5);
\draw (4.2,5.5) -- (4.2,7.5) node[anchor=north west] {\parbox{4cm}{BMS\\- Fachschule\\- Handelschule}} -- (6.3,7.5) -- (6.3,7) -- (7,7) -- (7,6.5) -- (7.7,6.5) -- (7.7,5.5) -- (4.2,5.5);
\draw (7.7,6) node[anchor=north west] {Poly.} rectangle (10.5,5.5);
\draw (7.7,7.5) node[anchor=north west] {\parbox{2cm}{Berufs-\\schule}} rectangle (9.8,6);
\draw (10.5,1.5) node[anchor=north west,rotate=90] {Sonderschule} rectangle (11.2,6);
\draw (1.4,7.5) -- (1.4,8.5) node[anchor=north west] {Kolleg} -- (3.5,8.5) -- (3.5,8) -- (2.1,8) -- (2.1,7.5) -- (1.4,7.5); %Kolleg

\draw (0,10.5) node[anchor=north west] {Universität} rectangle (5.6,9);
\draw (5.6,10.5) node[anchor=north west] {\parbox{2cm}{Fachhoch-\\schule}} rectangle (8.4,9);
\draw (8.4,10.5) node[anchor=north west] {Akademie} rectangle (11.2,9);

\foreach \x in {3,...,18}
{
\pgfmathparse{0.5*(0.5+\x-3)}
\draw (11.55,\pgfmathresult) node {\x};
}

\draw (11.7,0.25) node[anchor=west] {\scriptsize Mindestalter};

\draw[decorate,decoration={brace,mirror},thick] (11.9,1.5) -- (11.9,6);
\draw (12.35,3.75) node[rotate=90] {Unterrichtspflicht};

\foreach \x in {1,...,13}
{
\pgfmathparse{0.5*(0.5+\x+2)}
\draw (-0.35,\pgfmathresult) node {\x};
}

\draw (-0.35,0.7) node[rotate=90] {\scriptsize Schulstufe};
\end{tikzpicture}
\caption{Das österreichische Schulsystem}
\end{figure}

\end{document}