PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tabelle benötigt noch Feinschliff



rene22
05-04-2009, 10:51
Hi,

ich hab da mal wieder ein Problemchen. Möchte eine Tabelle erstellen und so soll sie aussehen (mit Word anfangs angefertigt):

Klick für WORD (http://home.arcor.de/rydic/upload/tabelle_word.jpg)


Das ist der Stand, den ich bis jetzt hinbekommen habe:


Klick für LaTex (http://home.arcor.de/rydic/upload/tabelle_latex.jpg)


Wie man sieht, ist es noch nicht ganz so, wie es sein soll, ich bekomm wenn ich eine Spaltenbreite vorgege, die nachfolgenden Zellen nicht mittig. Könnte mir da jmd helfen? Vielleicht auch einen besseren Aufbau der Tabelle, als der meinige ^.^


Hier ein Minimalbeispiel mit dem bisher verwendeten code:


\documentclass[ngerman]{scrreprt}
\usepackage{babel}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{multirow}
\usepackage{booktabs}
\usepackage{array}
\usepackage{graphicx}


\newlength{\tabitemtopsep}
\addtolength{\tabitemtopsep}{\baselineskip}
\newlength{\tabitembottomsep}
\addtolength{\tabitembottomsep}{\baselineskip}
\newenvironment{tabitemize}{%
\hbox{}\vspace{-\tabitemtopsep}\begin{list}{\textbullet}{%
\setlength{\labelsep}{0.2cm}% rückt Text von Aufzählungspunkt ein
\setlength{\leftmargin}{2.0em}%rückt Aufzählung ein
\setlength{\topsep}{3ex}%
\setlength{\parsep}{1ex}% {0.5ex plus0.2ex minus0.9ex}%
\setlength{\itemsep}{0ex}}% {0ex plus0.2ex}}%
}{%
\hbox{}\vspace{-\tabitembottomsep}\end{list}%
}



\begin{document}
\begin{table}[htbp]
\centering

\begin{tabular}{|m{5.2cm}||c|c|m{2cm}|m{1.5cm}|c|m {1.5cm}|}
\hline
Features / Fachgebiet & PGÜ & CPM & Feuerleit- programm & Plant Monitor &Diagnose & Mod. Benutzerf.\\
\hline
\textbf{Fehlerfrüherkennung}&1&2&1&1&1&1\\
\hline
\textbf{Ursachenfindung}&1&2&1&1&1&1\\
\hline
\textbf{Folgenabschätzung}&1&2&1&1&1&1\\
\hline
\textbf{Problemlösungskomp.}&1&2&1&1&1&1\\
\hline

\multirow{1}{*}{\textbf{Erklärungskomponente:}}&&&&&&\\
\begin{tabitemize}\item Erläuterung der Zwischenlösung \end{tabitemize}&1&2&1&1&1&1\\
\cline{2-7}
\begin{tabitemize}\item Verwendete Fakten und Regeln angeben \end{tabitemize}&1&2&1&1&1&1\\
\cline{2-7}
\begin{tabitemize}\item Verworfen Hypothesen angeben \end{tabitemize}&1&2&1&1&1&1\\
\cline{2-7}
\begin{tabitemize}\item Wahrscheinlichkeiten für Lösungen \end{tabitemize}&1&2&1&1&1&1\\
\cline{2-7}
\begin{tabitemize}\item Gründe für keine Lösung\newline \end{tabitemize}&1&2&1&1&1&1\\
\hline

\multirow{1}{*}{\textbf{Plausibilitätsprüfung:}}&&&&&&\\
\begin{tabitemize}\item Anwender überprüft\end{tabitemize}&1&2&1&1&1&1\\
\cline{2-7}
\begin{tabitemize}\item Überprüfung der Anwendereingabe\newline \end{tabitemize}&1&2&1&1&1&1\\

\hline
\textbf{DSL Mechanismus}&1&1&1&1&1&1\\
\hline
\textbf{Folgensimulation}&1&2&1&1&1&1\\
\hline
\textbf{Lernfähigkeit}&1&1&1&1&1&1\\
\hline

\multirow{1}{*}{\textbf{Lehr-/ Übungsfunktion:}}&&&&&&\\
\begin{tabitemize}\item Manuell\end{tabitemize}& 1 & 2&1&1&1&1\\
\cline{2-7}
\begin{tabitemize}\item Automatisch\newline \end{tabitemize}&1&2&1&1&1&1\\
\hline


\textbf{Import- /Exportfunktion}&1&2&1&1&1&1\\
\hline
\textbf{Report/ Dokumentations Erstellung}&1&2&1&1&1&1\\
\hline
\textbf{Grafischer Editor}&1&2&1&1&1&1\\
\hline
\end{tabular}

\caption{Auswertung der Bewertungsfragen zum Fragebogen}
\label{tab:bewertung}
\end{table}\end{document}

klassizist
05-04-2009, 12:37
Halli hallo

ich wenn du booktabs schon als Paket einbindest, würde ich es auch verwenden. Liest man das Manual von Booktabs, findet man einige interessante Hinweise, wie man Tabellen besser lesbar macht. Insbesondere vertikale Linien stören den Lesefluss.

Anbei das Beispiel, wie Booktabs es empfiehlt.


\documentclass[ngerman]{scrreprt}
\usepackage{babel}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{multirow}
\usepackage{booktabs}
\usepackage{array}
\usepackage{graphicx}


\newlength{\tabitemtopsep}
\addtolength{\tabitemtopsep}{\baselineskip}
\newlength{\tabitembottomsep}
\addtolength{\tabitembottomsep}{\baselineskip}
\newenvironment{tabitemize}{%
\hbox{}\vspace{-\tabitemtopsep}\begin{list}{\textbullet}{%
\setlength{\labelsep}{0.2cm}% rückt Text von Aufzählungspunkt ein
\setlength{\leftmargin}{2.0em}%rückt Aufzählung ein
\setlength{\topsep}{3ex}%
\setlength{\parsep}{1ex}% {0.5ex plus0.2ex minus0.9ex}%
\setlength{\itemsep}{0ex}}% {0ex plus0.2ex}}%
}{%
\hbox{}\vspace{-\tabitembottomsep}\end{list}%
}



\begin{document}
\begin{table}[htbp]
\centering

\begin{tabular}{|m{5.2cm}||c|c|m{2cm}|m{1.5cm}|c|m {1.5cm}|}
\hline
Features / Fachgebiet & PGÜ & CPM & Feuerleit- programm & Plant Monitor &Diagnose & Mod. Benutzerf.\\
\hline
\textbf{Fehlerfrüherkennung}&1&2&1&1&1&1\\
\hline
\textbf{Ursachenfindung}&1&2&1&1&1&1\\
\hline
\textbf{Folgenabschätzung}&1&2&1&1&1&1\\
\hline
\textbf{Problemlösungskomp.}&1&2&1&1&1&1\\
\hline

\multirow{1}{*}{\textbf{Erklärungskomponente:}}&&&&&&\\
\begin{tabitemize}\item Erläuterung der Zwischenlösung \end{tabitemize}&1&2&1&1&1&1\\
\cline{2-7}
\begin{tabitemize}\item Verwendete Fakten und Regeln angeben \end{tabitemize}&1&2&1&1&1&1\\
\cline{2-7}
\begin{tabitemize}\item Verworfen Hypothesen angeben \end{tabitemize}&1&2&1&1&1&1\\
\cline{2-7}
\begin{tabitemize}\item Wahrscheinlichkeiten für Lösungen \end{tabitemize}&1&2&1&1&1&1\\
\cline{2-7}
\begin{tabitemize}\item Gründe für keine Lösung\newline \end{tabitemize}&1&2&1&1&1&1\\
\hline

\multirow{1}{*}{\textbf{Plausibilitätsprüfung:}}&&&&&&\\
\begin{tabitemize}\item Anwender überprüft\end{tabitemize}&1&2&1&1&1&1\\
\cline{2-7}
\begin{tabitemize}\item Überprüfung der Anwendereingabe\newline \end{tabitemize}&1&2&1&1&1&1\\

\hline
\textbf{DSL Mechanismus}&1&1&1&1&1&1\\
\hline
\textbf{Folgensimulation}&1&2&1&1&1&1\\
\hline
\textbf{Lernfähigkeit}&1&1&1&1&1&1\\
\hline

\multirow{1}{*}{\textbf{Lehr-/ Übungsfunktion:}}&&&&&&\\
\begin{tabitemize}\item Manuell\end{tabitemize}& 1 & 2&1&1&1&1\\
\cline{2-7}
\begin{tabitemize}\item Automatisch\newline \end{tabitemize}&1&2&1&1&1&1\\
\hline


\textbf{Import- /Exportfunktion}&1&2&1&1&1&1\\
\hline
\textbf{Report/ Dokumentations Erstellung}&1&2&1&1&1&1\\
\hline
\textbf{Grafischer Editor}&1&2&1&1&1&1\\
\hline
\end{tabular}

\caption{Auswertung der Bewertungsfragen zum Fragebogen}
\label{tab:bewertung}
\end{table}\end{document}

rene22
05-04-2009, 13:06
Servus klassizist!

Erstmal Danke für den support!...

Hmm ja, hab das booktabs zwar auch schon ausprobiert und deshalb drinnen aber irgendwie ich es anfangs komisch, wenn da keine vertikalen Linien in der Tabelle auftauchen. Ja in wissenschaftlichen Berichten ist das üblich aber..hmm, nuja, vlt schau ichs mir nochmal an ^^

In deinem angegebenen Beispiel hast du doch aber gar kein booktabs verwendet?


Grüße

rene22
05-04-2009, 21:17
Ich bin immernoch nicht am Ziel angekommen. Wie bekomme ich es hin, dass die Spalten, in denen ich eine breite vorgebe dann auch mittig gesetzt werden?

Gebe ich die breite nicht vor, erstellt LaTex gnadenlos eine Tabelle, in der die Spalte so breit ist wie deren oberste Zelle wie Beispielsweise Feuerleitprogramm. Daraus resultiert dann eine Tabelle, die über den Seitenrand schießt.

localghost
05-04-2009, 22:22
Du kannst den Kopf der Tabelle in diesem Fall auch mit einfachen c-Spalten setzen und die betroffenen Inhalte auf zwei Reihen aufteilen.

\documentclass[11pt,a4paper,ngerman]{report}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{babel}
\usepackage[margin=2cm]{geometry}
\usepackage[font=small,labelfont=bf]{caption}
\usepackage{textcomp}
\usepackage{array,booktabs,multirow}

\newcommand*{\tabitem}[1]{\textbullet\hfill\parbox[t]{4.6cm}{#1}}

\begin{document}
\begin{table}[!ht]
\centering
\begin{tabular}{|m{5cm}||c|c|c|c|c|c|} \hline
Features / Fachgebiet \textrightarrow & PGÜ & CPM & Feuerleit- & Plant & Diagnose & Moderne \\
\textdownarrow & & & programm & Monitor & & Benutzerf. \\ \hline
\textbf{Fehlerfrüherkennung} & 1 & 2 & 1 & 1 & 1 & 1 \\ \hline
\textbf{Ursachenfindung} & 1 & 2 & 1 & 1 & 1 & 1 \\ \hline
\textbf{Folgenabschätzung} & 1 & 2 & 1 & 1 & 1 & 1 \\ \hline
\textbf{Problemlösungskomp.} & 1 & 2 & 1 & 1 & 1 & 1 \\ \hline
\textbf{Erklärungskomponente:}& & & & & & \\
\tabitem{Erläuterung der Zwischenlösung} & 1 & 2 & 1 & 1 & 1 & 1 \\ \cline{2-7}
\tabitem{Verwendete Fakten und Regeln angeben} & 1 & 2 & 1 & 1 & 1 & 1 \\ \cline{2-7}
\tabitem{Verworfene Hypothesen angeben} & 1 & 2 & 1 & 1 & 1 & 1 \\ \cline{2-7}
\tabitem{Wahrscheinlichkeiten für Lösungen} & 1 & 2 & 1 & 1 & 1 & 1 \\ \cline{2-7}
\tabitem{Warum keine Lösung} & 1 & 2 & 1 & 1 & 1 & 1 \\ \hline
\textbf{Plausibilitätsprüfung:} & & & & & & \\
\tabitem{Anwender überprüft} & 1 & 2 & 1 & 1 & 1 & 1 \\ \cline{2-7}
\tabitem{Überprüfung der Anwendereingabe} & 1 & 2 & 1 & 1 & 1 & 1 \\ \hline
\textbf{DSL Mechanismus} & 1 & 1 & 1 & 1 & 1 & 1 \\ \hline
\textbf{Folgensimulation} & 1 & 2 & 1 & 1 & 1 & 1\\ \hline
\textbf{Lernfähigkeit} & 1 & 1 & 1 & 1 & 1 & 1 \\ \hline
\textbf{Lehr-/ Übungsfunktion:} & & & & & & \\
\tabitem{Manuell} & 1 & 2 & 1 & 1 & 1 & 1 \\ \cline{2-7}
\tabitem{Automatisch} & 1 & 2 & 1 & 1 & 1 & 1 \\ \hline
\textbf{Import- /Exportfunktion} & 1 & 2 & 1 & 1 & 1 & 1 \\ \hline
\textbf{Report/ Dokumentations Erstellung} & 1 & 2 & 1 & 1 & 1 & 1 \\ \hline
\textbf{Grafischer Editor} & 1 & 2 & 1 & 1 & 1 & 1 \\ \hline
\end{tabular}
\caption{Auswertung der Bewertungsfragen zum Fragebogen}\label{tab:bewertung}
\end{table}
\end{document}
Damit lässt sich dann auch der Pfeil nach unten echt einfach setzen.


MfG
Thorsten¹

rene22
05-04-2009, 22:34
hrrrrrr, abgefahren...schöner gehts doch nimmer! Und auf die Idee, dass in zwei Spalten aufzuteilen hätte ich ja auch mal selber kommen können ^.^

Danke DIR!

Schönen Abend wünsche ich noch!

klassizist
06-04-2009, 19:13
Hmm ja, hab das booktabs zwar auch schon ausprobiert und deshalb drinnen aber irgendwie ich es anfangs komisch, wenn da keine vertikalen Linien in der Tabelle auftauchen. Ja in wissenschaftlichen Berichten ist das üblich aber..hmm, nuja, vlt schau ichs mir nochmal an ^^

Ein klassisches Problem: Die meisten Papers werden mit Word geschrieben und keiner kümmert sich um einen schönen Satz. Nun soll mit LaTeX ein ähnliches Resultat erzielt werden wie mit Word...



In deinem angegebenen Beispiel hast du doch aber gar kein booktabs verwendet?


Mist, ich habe den falschen Text als Beispiel gebracht. Die Idee von booktabs besteht darin, das erste \hline einer Tabelle durch \toprule zu ersetzen, das letze durch \bottomrule und die dazwischen durch \midrule. Geht mit Suchen und ersetzen ganz einfach. Der Vorteil: Der Text ist somit genau vertikal zentriert zwischen zwei horizontalen Linien.