Seite 1 von 1

\multirow, \multicolumn und \newcolumntype - alles zusammen

Verfasst: So 17. Feb 2013, 21:59
von firefrog
Hallöchen,

Ich (ver)suche mittlerweile seit Stunden, eine Tabelle für meine Bachelorarbeit in den Rahmen zu bekommen, in dem ich sie haben will, aber irgendwie macht Latex mir regelmäßig wieder einen Strich durch die Rechnung.

Aktuell sieht das Ding so aus:
\documentclass{scrreprt}
\usepackage{
  array,
  booktabs,
  dcolumn,
  german,
  rotating,
  shortvrb,
  tabularx,
  units,
  url,
  multirow,
}


\newcolumntype{c}[1]{>{\centering\arraybackslash}p{#1}}


\begin{document}

\begin{table}[h]
\centering
\begin{tabular}{@{} p{6mm} | p{5cm} | p{2cm} | p{1cm} | p{2cm} | p{2cm}@{} }

Nr.& Anforderung & Werte & Art & \multicolumn{2}{c{4cm}}{Verantwortlich} \\
 & & & & Stelle & Name/§ \\
\midrule
1  & Stabilit\"at &  & M & XXX & \multirow{2}{2cm}{Quelle XX.zzz, Quelle XX.yyy} \\
\hspace{8pt}a && oben 4 &&&\\
\hspace{8pt}b && seitlich 8 &&& \\
\hspace{8pt}c && vorne 16 &&& \\
\hspace{8pt}d && unten 20&&& \\
\hspace{8pt}e && hinten 6&&& \\

\end{tabular}
\end{table}

\end{document}
Ich hoffe, es funktioniert so. Das einzige Problem, das ich aktuell noch habe und partout nicht lösen kann, ist, dass die ersten Einträge der ersten Zeile ("Nr." etc) auf Höhe von "Verantwortlich" stehen und somit so ein hässlicher Zwischenraum zur \hline entsteht (die Linien sind so laut Skript vorgegeben, auch die vertikalen - just in case :P ). Hat jemand eine Idee wie das noch schöner geht? Ich habe schon alle möglichen Kombinationen der Argumente versucht; auch \multicolumn verursacht da einen Fehler... so langsam bin ich mit meinem Latein am Ende, ich hoffe, ihr könnt mir helfen ;)
Ach, und wo ich gerade schon frage: die vertikalen Linien sind an der \hline unterbrochen, bekommt man das noch irgendwie gebogen? Wenn es einfach zu machen wäre, wäre es schön, ansonsten ist es aber auch nicht sooo schlimm.


Vielen Dank schonmal,
der Frosch

Verfasst: Mo 18. Feb 2013, 09:33
von Epllus
So etwa?
\documentclass{scrreprt} 
\usepackage{ 
  array, 
  booktabs, 
  dcolumn, 
  german, 
  rotating, 
  shortvrb, 
  tabularx, 
  units, 
  url, 
  multirow, 
} 


\newcolumntype{c}[1]{>{\centering\arraybackslash}p{#1}} 


\begin{document} 

\begin{table}[h] 
\centering 
\begin{tabular}{@{} m{6mm} | m{5cm} | b{2cm} | m{1cm} | m{2cm} | m{2cm}@{} } 

&  &  &  & \multicolumn{2}{c{4cm}}{Verantwortlich} \\
Nr. & Anforderung&Werte & Art& Stelle & Name/§ \\ 
\midrule 
1  & Stabilit\"at &  & M & XXX & \multirow{2}{2cm}{Quelle XX.zzz, Quelle XX.yyy} \\ 
\hspace{8pt}a && oben 4 &&&\\ 
\hspace{8pt}b && seitlich 8 &&& \\ 
\hspace{8pt}c && vorne 16 &&& \\ 
\hspace{8pt}d && unten 20&&& \\ 
\hspace{8pt}e && hinten 6&&& \\ 

\end{tabular} 
\end{table} 

\end{document} 
Ob die vertikalen Linien wirklich eine gute Idee sind?

Hoffe es hilft
Epllus

Verfasst: Mo 18. Feb 2013, 15:07
von firefrog
Moinmoin,


ja, ungefähr so - auf die Idee, die anderen Daten einfach in die untere Zeile zu schreiben, hätte ich auch mal kommen können *Kopf->Tisch* danke dir ;)

Nunja, die vertikalen Linien sind von der Uni so vorgegeben. Ich hab schon öfters von "euch" gelesen, dass vertikale Linien nicht so der stilistische Bringer sind, aber wie gesagt, das Ding soll wie im Skript aussehen...

Verfasst: Di 19. Feb 2013, 15:56
von christoph88
Bei sehr komplizierten Tabellen, kann es sich auch lohnen, dieses Excel-Add-in zu benutzen:

http://www.ctan.org/tex-archive/support/excel2latex/

Damit kannst du die Tabelle wie gewohnt in Excel basteln und anschließend in LaTeX-Code ausgeben lassen. Mir hat das jedenfalls schon oft geholfen.

Verfasst: Di 19. Feb 2013, 15:57
von firefrog
Das ist auf jeden Fall mal gut zu wissen - ich will zwar lernen, möglichst viel in Latex selber machen zu können, aber bei größeren Tabellen könnte das echt sehr nützlich sein :)