PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tabell: Spalten zusammenfassen und zentrieren



Mr.Beaker
13-02-2009, 11:51
Hallo,

Hab mir grade mit Hilfe des Forums und tabsatz eine Tabelle erarbeitet mit der ich auch wirklich zufrieden bin (für evtl. schönere Programmierung bin ich trotzdem immer dankbar;) ). Einziges manko sind jetzt noch die untereinanderliegenden Zellen 1-1 und 2-1, die ich gerne verbunden hätte und "Kriterium" zentriert. Da müsste es doch was ähnliches geben wie \multicolumn, nur halt für Spalten. Hier mein bisheriges Werk


\begin{tabular}{|>{\centering}m{34mm}|>{\centering}m{8mm}|>{\centering}m{10mm}|>{\centering}m{12mm}|>{\centering}m{10mm}|>{\centering}m{12mm}|>{\centering}m{10mm}|>{\centering}m{12mm}|>{\centering}m{10mm}|}\hline
\rowcolor{gray}
\textbf{Kriterium} & \multicolumn{2}{|c|}{\textbf{Gewichtung}} & \multicolumn{2}{|c|}{\textbf{Variante 1}} & \multicolumn{2}{|c|}{\textbf{Variante 2}} & \multicolumn{2}{|c|}{\textbf{Variante 3}} \tabularnewline\hline
& \multicolumn{2}{|c|}{} & Punkte & Wert & Punkte& Wert & Punkte & Wert \tabularnewline\hline
A & \multicolumn{2}{|c|}{8} & 5 & &&&&\tabularnewline\hline
B & \multicolumn{2}{|c|}{3} & 10 & &&&&\tabularnewline\hline
C & \multicolumn{2}{|c|}{4} & 6& &&&&\tabularnewline\hline
D & \multicolumn{2}{|c|}{2} & 7& &&&&\tabularnewline\hline
E & \multicolumn{2}{|c|}{1} & 10&&&&&\tabularnewline\hline
F & \multicolumn{2}{|c|}{2} & 5&&&&&\tabularnewline\hline
\multicolumn{3}{c}{} & &&&&&\tabularnewline
\cline{5-5}\cline{7-7}\cline{9-9}
\end{tabular}%}

Und bei dieser Gelegenheit bräuchte ich noch einen Tipp, wie man eine Tabellenunterschrift macht, allerdings nicht um 90° gedreht. Außerdem noch, wie man Spalten farbig hinterlegt, wie ichs mit der obigen Zeile schon gemacht habe.

Gruß
Georg

PS: Jetzt ist mir ein kleiner Fehler unterlaufen! Hab das mit der 90° Drehung zuvor ja schon geändert.

mechanicus
13-02-2009, 12:17
Hallo,

das ist doch kein Minimalbeispiel ;). Also Spalten zusammenfassen geht mit multirow.
Für Farben gibt es je nachdem, was man genau haben will: rowcolor, columncolor, cellcolor.

Gruß
Marco

Mr.Beaker
13-02-2009, 12:25
Hallo,

das ist doch kein Minimalbeispiel ;)

Gruß
Marco

Asche auf mein Haupt, hast mich erwischt :o Hatte schon ein schlechtes Gewissen beim posten.

Trotzdem danke für deine rasche Hilfe!

Gruß
Georg

PS: Wärst du noch so nett und zeigst mir, wie ich multirow einbinde.

BeniBela
13-02-2009, 21:15
Am Anfang irgendwo: \usepackage{multirow}
In der Tabelle: \multirow{<zeilenzahl>}{*}{<text>}

mechanicus
13-02-2009, 21:44
Hallo,

ich habe nun doch ein Minimalbeispiel erstellt. Und ich muss sagen, die Tabelle sah bescheiden aus. Merke: In Tabellen sollen vertikale Linien vermieden werden und horizontale nicht mehr als nötig. Dies erhöht die Lesbarkeit.


\documentclass{scrreprt}
\usepackage{array,ragged2e,booktabs,multirow,xcolo r,colortbl}
\newcolumntype{M}[1]{>{\Centering}m{#1}}
\def\MCF#1{\multicolumn{2}{c}{\textbf{#1}}}
\def\MC#1{\multicolumn{2}{c}{#1}}
\begin{document}
\renewcommand{\arraystretch}{1.2}
\begin{tabular}{@{} M{34mm} M{8mm} M{10mm} M{12mm} M{10mm} M{12mm} M{10mm} M{12mm} M{10mm}@{} }
\toprule
\multirow{2}{*}{\textbf{Kriterium}} & \MCF{Gewichtung} & \MCF{Variante 1} & \MCF{Variante 2} & \MCF{Variante 3} \tabularnewline
& & & Punkte & Wert & Punkte& Wert & Punkte & Wert \tabularnewline
\midrule
A & \MC{8} & 5 & &&&&\tabularnewline
B & \MC{3} & 10 & &&&&\tabularnewline
C & \MC{4} & 6& &&&&\tabularnewline
D & \MC{2} & 7& &&&&\tabularnewline
E & \MC{1} & 10&&&&&\tabularnewline
F & \MC{2} & 5&&&&&\tabularnewline
&& & &&&&&\tabularnewline\midrule

\multicolumn{3}{c}{\textbf{Fazit}} &&&&&\tabularnewline
\bottomrule
\end{tabular}
\end{document}

Gruß
Marco

Mr.Beaker
16-02-2009, 08:03
hallo Marco,

wegen dem "bescheiden". Bin in der Hinsicht nicht wirklich der kreativste, aber deine tabelle sieht schon Top aus, danke für deine Mühen!


Gruß
Georg

mechanicus
16-02-2009, 08:10
wegen dem "bescheiden". Bin in der Hinsicht nicht wirklich der kreativste
Hallo,

kreativ ist das nicht. Einfach an Richtlinien halten. Schöne Beispiele findest du hier:
http://userpage.fu-berlin.de/~latex/Materialien/tabsatz.pdf

Gruß
Marco

PatrickT
29-11-2009, 14:40
Ich habe gerade Schwierigkeiten bei der Nutzung von Multirow.

Ich versuche eine Tabelle zu erstellen, die so ausschauen soll:




+-----+-----+
| | B |
| A +-----+
| | C |
+-----+-----+


Schaffe es aber nicht, dass "A" nicht durch eine horizontale Linie geteilt wird, wenn ich zwischen "B" und "C" eine \hline mache. Wie bekomme ich das Beispiel von Oben hin?

Grüße,

-p-

voss
29-11-2009, 15:58
Ich habe gerade Schwierigkeiten bei der Nutzung von Multirow.

Ich versuche eine Tabelle zu erstellen, die so ausschauen soll:




+-----+-----+
| | B |
| A +-----+
| | C |
+-----+-----+


Schaffe es aber nicht, dass "A" nicht durch eine horizontale Linie geteilt wird, wenn ich zwischen "B" und "C" eine \hline mache. Wie bekomme ich das Beispiel von Oben hin?



\documentclass{scrreprt}

\begin{document}
\begin{tabular}{|@{} c @{}|@{} c @{}|}\hline
\tabular{c} A \endtabular &
\tabular{c} B\\\hline C \endtabular\\\hline
\end{tabular}
\end{document}


Herbert

PatrickT
30-11-2009, 10:58
\documentclass{scrreprt}

\begin{document}
\begin{tabular}{|@{} c @{}|@{} c @{}|}\hline
\tabular{c} A \endtabular &
\tabular{c} B\\\hline C \endtabular\\\hline
\end{tabular}
\end{document}


Herbert

Vielen Dank für die Hilfe!

Jetzt kämpfe ich aber noch stark mit der Formatierung. (Und ich dachte immer html-Tabellen wären son kompliziert).

Ich habe aber noch ein paar Fragen zum Verständnis der Syntax:

- Was bedeutet dieses @{} in der Zellenbreite?
- Was bedeutet das & hinter \endtabular?
- Warum kommt hinter das \endtabular hinter C nochmal ein \\?

EDIT:

Ich komm jetzt mit der breite der Einträge überhaupt nicht mehr klar. Wie kann ich denn die Tabellenbreite jetzt auf 14cm beschränken? Wenn ich oben meine rechte Spalte mit p={10cm} definiere, schreibt der die Zelleneinträge über das Tabellenende hinaus.

Gott sind Tabellen in Latex ein Krampf.

Am besten ich poste mal ein Snippet der Tabelle, bei der ich einfach nur die horizontalen Linien weghaben will:



\documentclass{scrreprt}
\begin{document}


\begin{table}
\begin{tabular}{ |l|p{10cm}| }
% \multirow {#zeilen}{spaltenbreite}{zeileninhalt}

\hline
\multicolumn{2}{|c|}{Design Evaluation Methods}\\
\hline

\multirow{2}{3,5cm}{
1. Observational
}
& Case Study: Study artifact in depth in business
environment\\
\hline
& Field Study: Monitor use of artifact in multiple projects\\
\hline
2. Analytical
& Static Analysis: Examine structure of artifact for static qualities
(e.g., complexity)\\
\hline
& Architecture Analysis: Study fit of artifact into technical IS
architecture\\
\hline
& Optimization: Demonstrate inherent optimal properties of artifact or
provide optimality bounds on artifact behavior\\
\hline
& Dynamic Analysis: Study artifact in use for dynamic qualities (e.g.,
performance)\\
\hline
3. Experimental
& Controlled Experiment: Study artifact in controlled
environment for qualities (e.g., usability)\\
\hline
& Simulation: Execute artifact with artificial data\\
\hline
4. Testing
& Functional (Black Box) Testing: Execute artifact interfaces to discover
failures and identify defects\\
\hline
& Structural (White Box) Testing: Perform coverage testing of some metric
(e.g., execution paths) in the artifact implementation\\
\hline
5. Descriptive
& Informed Argument: Use information from the knowledge base (e.g.,
relevant research) to build a convincing argument for the artifactís
utility\\
\hline
& Scenarios: Construct detailed scenarios around the artifact to
demonstrate its utility\\
\hline

\end{tabular}
\end{table}

\end{document}

deidre_ann
01-12-2009, 01:27
Jetzt kämpfe ich aber noch stark mit der Formatierung. ... Ich habe aber noch ein paar Fragen zum Verständnis der Syntax:

- Was bedeutet dieses @{} in der Zellenbreite?
- Was bedeutet das & hinter \endtabular?
- Warum kommt hinter das \endtabular hinter C nochmal ein \\?

(...)

Am besten ich poste mal ein Snippet der Tabelle, bei der ich einfach nur die horizontalen Linien weghaben will:

Hi Patrick,

ich lehne mich einmal ganz weit aus dem Fenster und wage zu behaupten, dass alle deine Fragen dieses Posts mit Einführungsdokumentationen hätten beantwortet werden können. ;)

Schau mal hier für Erklärungen:

Latex-Kurzbeschreibungen mit Infos über Tabellen:
http://www.ctan.org/tex-archive/info/lshort/german/l2kurz.pdf
ftp://ftp.fernuni-hagen.de/pub/pdf/urz-broschueren/broschueren/a026.pdf
http://weinelt.de/latex/index.html

Deine Frage mit den @ würde hier beantwortet werden:
http://www.ntg.nl/doc/reichert/gleitobjekte.pdf

Die anderen beiden Fragen sind ganz einfach, wenn man weiß, dass \tabular für \begin{tabular} steht. Für den Unterschied von beiden, schau mal die Erklärung von Markus Kohm hier an http://www.komascript.de/node/784
Voss hatte also 2 Tabellen in einer Tabelle erstellt.

Beachte auch bitte die Hinweise, die mechanicus dir gegeben hatte: keine horizontale Linien und booktabs. Lies dir bitte auf jeden Falle die ersten 3 Seiten dieser Dokumentation durch: ftp://tug.ctan.org/pub/tex-archive/macros/latex/contrib/booktabs/booktabs.pdf

Um aber guten Willen zu zeigen, habe ich hier ein bisschen an deiner Tabelle herumgespielt. Ich hoffe, es ist so, wie du haben wolltest:



\documentclass{scrreprt}
\usepackage{multirow} % Multiple Reihen in Tabellen
\usepackage{booktabs} %Hübschere horizontale Linien in Tabellen

\begin{document}

\begin{table}
\begin{tabular}{lp{10cm} }
%
\toprule
\multicolumn{2}{c}{Design Evaluation Methods}\\
\cmidrule{1-2}
\multirow{2}{*}{1. Observational} & Case Study: Study artifact in depth in business environment\\
& Field Study: Monitor use of artifact in multiple projects\\
\cmidrule{1-2}
\multirow{8}{*}{2. Analytical} & Static Analysis: Examine structure of artifact for static qualities (e.g., complexity)\\
& Architecture Analysis: Study fit of artifact into technical IS architecture\\
& Optimization: Demonstrate inherent optimal properties of artifact or provide optimality bounds on artifact behavior\\
& Dynamic Analysis: Study artifact in use for dynamic qualities (e.g., performance)\\
\cmidrule{1-2}
\multirow{3}{*}{3. Experimental} & Controlled Experiment: Study artifact in controlled environment for qualities (e.g., usability)\\
& Simulation: Execute artifact with artificial data\\
\cmidrule{1-2}
\multirow{5}{*}{4. Testing}
& Functional (Black Box) Testing: Execute artifact interfaces to discover failures and identify defects\\
& Structural (White Box) Testing: Perform coverage testing of some metric (e.g., execution paths) in the artifact implementation\\
\cmidrule{1-2}
\multirow{5}{*}{5. Descriptive}
& Informed Argument: Use information from the knowledge base (e.g., relevant research) to build a convincing argument for the artifactís utility\\
& Scenarios: Construct detailed scenarios around the artifact to demonstrate its utility\\
\bottomrule
%
\end{tabular}
\end{table}

\end{document}


Ansonsten, weil du gemeint hattest, Tabellen seien so schwer: Ja und nein. Ich mache Tabellen immer in OpenOffice, dort kann man zum Schluss einfach eine Spalte mit "&" bzw. "\\" einfügen. Wenn man viele Werte hat (wie du als Wirtschaftsinformatiker vielleicht) , dann könnte das Package CSVTOOLS interessant sein. Es erlaubt, Tabellen im Format *.csv zu hinterlegen und man braucht dann nur noch das Format der Tabelle zu formatieren ohne den Inhalt einzufügen.

Grüße, Ann

PatrickT
01-12-2009, 19:17
Vielen lieben Dank für deine Hilfe Ann!

Du hast natürlich Recht, viele meiner Fragen wären mit einen kurzem Studium der HowTo's usw. beantwortet. Allerdings ist hier ein wenig der Zeitkosten/Nutzen Faktor für mich verschoben. Ich dachte nicht, dass ich länger als ein bis zwei Stunden brauchen würde, nur um ein paar Linien wegzulassen. (Bisher habe ich jedes Problem unter LaTeX in adäquater Zeit lösen können). Ich bin mit der Arbeit etwas unter Zeitdruck, deshalb nehme ich deine für mich formatierte Tabelle liebend gerne an.
Und wenn ich nach der Abgabe wieder Zeit habe, lese ich mich vielleicht mal in die Tabellenlogik von LaTeX ein ;-)

EDIT:

Leider fehlen in der Tabelle die du für mich gemacht hast einige vertikale Linien. :(
Aber ich glaube ich resigniere jetzt, und gebe die Arbeit einfach mit ein paar horizontalen Linien zu viel ab...

deidre_ann
04-12-2009, 11:56
viele meiner Fragen wären mit einen kurzem Studium der HowTo's usw. beantwortet. Allerdings (...) Ich dachte nicht, dass ich länger als ein bis zwei Stunden brauchen würde, nur um ein paar Linien wegzulassen.

EDIT:

Leider fehlen in der Tabelle die du für mich gemacht hast einige vertikale Linien. :(
Aber ich glaube ich (...) gebe die Arbeit einfach mit ein paar horizontalen Linien zu viel ab...

Hi Patrick,

ich bins nochmal. :) Wahrscheinlich hättest du noch nicht einmal 1-2 h, sondern nur 15 min für die Lektüre der HowTo's gebraucht. Man muß sich ja nicht die ganzen Dokumente durchlesen, sondern nur die 1-2 Seiten, welche die Tabellen betreffen... ;-)

also zu deinem Edit:
horizontale Linien macht man mit einem "|"

\begin{tabular}{|c|c|} %das sind 2 centrierte Spalten mit Strichen außen und einem in der Mitte.

horizontale Linien entweder mit \hline oder noch besser mit "\toprule", "\midrule", "\bottomrule" bei Verwendung des booktabs-Packages. Letztere Option korrigiert Abstände unter den Linien und die Linienbreiten.

Allerdings solltest du mit vertikalen Linien sparsam umgehen wie Mechanicus schon gesagt hat und all die Ratgeber auch schreiben. War für mich (weil ich es so von Word gewohnt war) zuerst befremdlich, mit der Zeit mußte ich aber einsehen, daß es so echt besser ausschaut.

ciao, Ann