PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tabelle mit SVMono



Katha1308
09-06-2009, 11:00
Hallo! Ich brauche dringend Hilfe!! Habe bisher noch nicht soviel mit LaTeX gearbeitet und muss nun eine Tabelle mit SVMono schreiben, die genauso aussieht, wie auf dem angehängten dem Bild. Ich kenne mich mit den Befehlen dieser documentclass jedoch überhaupt nicht aus. Hat jemand eine Idee, wie man diesen Rahmen und vor allem auch diese graue Box realisieren könnte (so, dass sie direkt an an den Rahmen anschließt)?
Und kann mir jemand sagen, wie ich die unterschiedlichen Ausrichtungen in den Zellen einstellen kann? Ich habe eine feste Spaltenbreite über b{...} definiert, wie kann ich jetzt noch zusätzlich die Zahl in einer bestimmten Zelle zentrieren?
Für Hilfe und Tipps wäre ich euch sehr dankbar!
Gruß Katha

u_fischer
09-06-2009, 12:01
Ich glaube nicht, dass die Klasse (die ich nicht habe) von Belang ist. Ich würde zwei Tabellen schachteln (aber es gibt sicher auch noch andere Wege):



\documentclass{article}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[table]{xcolor}
\usepackage[T1]{fontenc}
\usepackage{hhline}

\begin{document}
\arrayrulewidth=1.2pt
\begin{tabular}{|c|c}\hhline{-~}
\cellcolor{lightgray}\bfseries Tabelle 1.2 & Ergebnis\\\hline
\multicolumn{2}{|r|}{}\\[-5pt]
\multicolumn{2}{|c|}{%
\arrayrulewidth=0.4pt
\begin{tabular}{|r|r|r|}
\hline
\multicolumn{1}{|c|}{Mn}&
\multicolumn{1}{c|}{BK} &
\multicolumn{1}{c|}{Vm, mon}\\\hline
2020 & 5,76 & 2.021\\\hline
2020 & 5,76 & 2.021\\\hline
\multicolumn{3}{c}{Summe: XY}\\
\multicolumn{3}{c}{}\\[-5pt]
\end{tabular}}\\\hline
\end{tabular}

\end{document}


Ulrike Fischer

Katha1308
09-06-2009, 13:15
Vielen, vielen Dank für die schnelle Antwort!! Ich hab mal versucht, das ganze mit dem, was ich bisher hatte, zusammenzuschmeißen (ich vermute, das ist total umständlich, aber wie gesagt, hab ich kaum Erfahrung mit Latex).
Das Problem ist, dass der Rahmen so komisch verzogen wird - woran liegt das? Und wo kommt dieses "height" in der Ausgabe rechts neben der Tabelle her??? Und nochwas: ich bekomme immer die Fehlermeldung: "Illegal pream-token (\centering): c´used". Was sollte ich denn denn anstatt \centering benutzen?




\documentclass{article}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[table]{xcolor}
\usepackage[T1]{fontenc}
\usepackage{hhline}

\begin{document}

\arrayrulewidth=1.0pt

\begin{tabular}{|c|c} \hhline{-~}
\cellcolor{lightgray}\bfseries Tabelle 1.2 & Ergebnis der ABC-Analyse\\
\hline
\multicolumn{2}{|r|}{}\\[-5pt]
\multicolumn{2}{|c|}{%
\arrayrulewidth=0.4pt
\begin{tabular}{|>{\raggedleft}b{1,2cm}|>{\raggedleft}b{1,3cm}|>{\raggedleft}b{1,6cm}|>{\raggedleft}b{2,1cm}|>{\raggedleft}b{1,9cm}|>{\raggedleft}b{1,8cm}|{\centering}b{1cm}|}
\cline{1-7}
\centering Mn & \centering BK & \centering Vm, mon & \centering Vw & \centering Anteil am Gesamt-Vw & \centering Anteil, kumuliert & \hfill ABC \\
\cline{1-7}
2020 & 5,76 & 2.021 & 171.987,10 & 36,288 & 36,288 & A \\
\cline{1-7}
2019 & 1,52 & 2.501 & 84.583,82 & 17,847 & 54,135 & A \\
\cline{1-7}
2010 & 60,2 & 54.274 & 71.098,94 & 15,002 & 69,137 & A \\
\cline{1-7}
2014 & 0,13 & 9.967 & 52.825,10 & 11,146 & 80,283 & A \\
\cline{1-7}
\multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{Summe:} & \multicolumn{1}{c}{473.944,23} \\
\end{tabular}
}
\hline
\end{tabular}

\end{document}

u_fischer
09-06-2009, 13:41
Bei der inneren Tabelle ist die letzte Spaltendefinition falsch, es fehlt > und \arraybackslash.


>{\centering\arraybackslash}b{1cm}|

Außerdem fehlt zwischen den beiden \end{tabular} ein \\


\end{tabular}
} % Ende des großen multicolumn der äußeren Tabelle
\\ %Zeilenende
\hline
\end{tabular}

Ulrike Fischer

Katha1308
09-06-2009, 13:55
Danke Ulrike! Du bist meine "Retterin in der Not" :)! Den Fehler mit dem Zeilenende hätte ich nie gefunden. Aber wie kommt es, dass die Ränder so komisch sind und nicht zusammen laufen?
Ich hab in der Zwischenzeit auch versucht über \begin{center} die Tabelle zu zentrieren, aber da tut sich gar nichts :confused:?

u_fischer
09-06-2009, 14:07
Aber wie kommt es, dass die Ränder so komisch sind und nicht zusammen laufen?

Falls du von den Seitenrändern sprichst: Deine Tabelle ist breiter als die Textbreite und ragt deswegen natürlich in den Rand. Du kannst sie z.B. mit \hspace*{-2cm}\begin{tabular}... nach links verschieben oder wie unten beschrieben zentrieren.



Ich hab in der Zwischenzeit auch versucht über \begin{center} die Tabelle zu zentrieren, aber da tut sich gar nichts :confused:?

Das geht auch nicht. Zentrieren kannst du sie (die äußere Tabelle) z.B. mit

\noindent\makebox[\textwidth]{\begin{tabular}...\end{tabular}}

Ulrike Fischer

Katha1308
09-06-2009, 14:42
Hach ist das toll - die Tabelle ist so gut, wie perfekt :D!
Das einzige, was mir jetzt noch fehlt, ist der Abstand an den beiden Seiten. Das bekomm ich irgendwie nicht hin. Obwohl ich \noindent\makebox[\textwidth] vor das erste \begin{tabular} gesetzt habe, hat es automatisch die innere Tabelle auf Textbreite gesetzt.
Ist es irgendwie möglich, dass die äußere Tabelle auf Textbreite gesetzt wird, zur inneren Tabelle aber trotzdem noch genügend Abstand hat?
Wenn du mir diese Frage auch noch beantworten kannst, dann hast du mir heut echt den Tag gerettet (und ich hab auch noch einiges dazugelernt)! Auf jeden Fall besten Dank, dass du soviel Zeit für mich geopfert hast!
Liebe Grüße, Katha

u_fischer
09-06-2009, 14:52
Der \makebox-Befehl setzt nicht Breite der Tabelle, er versteckt sie nur und zentriert die Tabelle.

Um die Breite der äußeren Tabelle auf einen festen Wert zu setzen, kannst du einfach den \multicolumn-Befehl um die innere Tabelle benutzen:


\multicolumn{2}{|>{\centering\arraybackslash}p{\textwidth}|}{%
\arrayrulewidth=0.4pt ....


Aber wenn die innere Tabelle breiter ist als \textwidth wird sie danach aus der äußeren Tabelle herausragen.

Ulrike Fischer