Tabellen und Grafiken erstellen und anordnen
AnneMu
Forum-Newbie
Beiträge: 2 Registriert: Mi 9. Mai 2012, 21:18
Beitrag
von AnneMu » Mi 9. Mai 2012, 21:37
Hallo,
ich habe Probleme bei der Formatierung meiner Tabelle. Ich würde die Zahlen gerne an der Kommastelle (bzw. dem Punkt) ausrichten. Das klappt, aber leider wird die Tabelle unnötig breit, mit viel leerem Platz dazwischen. Kann ich es latex sagen, dass es den Ueberschriftentext einfach unabhängig der Zahlen zentriert? Im Moment sieht es so aus, als wäre der Text auch am Komma ausgerichtet, was natürlich unnötig ist.
Meine Tabelle:
\documentclass[a4paper,12pt,titlepage]{scrbook}
\usepackage[automark]{scrpage2}
\usepackage[T1]{fontenc} %ueblich
\usepackage[]{graphicx,float,subfigure} %Alles rund um Grafiken
\usepackage{multirow} %in Tabellen mehrere Zeilen miteinander verbinden
\usepackage{amssymb} % Mathe Symbole
\usepackage{amsmath} % Mathe
\usepackage{booktabs}
\usepackage[font={small,sf},labelfont=bf,labelsep=space,justification=raggedright]{caption}
\usepackage{csquotes}
\usepackage{numprint}
\usepackage{dcolumn}
\begin{document}
\begin{table}[htbp]
\centering
\caption{langer Text}
\begin{tabular}{lcD{.}{.}{-1}D{.}{.}{-1}}
\addlinespace
\toprule
\multirow{2}{*}{\textbf{Text Text}} &\multirow{2}{*}{\textbf{}} & \textbf{Text} & \textbf{etwas laengerer Text} \\
& & (will hier kein kursiv) & (hier auch kein kursiv) \\
\midrule
\textbf{langer langer Text} & & \textbf{p-value} & \textbf{p-value} \\
\textit{langer langer Text} & \multicolumn{1}{c}{D} & <0.001*** & <0.001*** \\
\textit{langer langer Text} & \multicolumn{1}{c}{D} & 0.2 & 0.01** \\
\end{tabular}%
\label{zigzag}
\end{table}%
\end{document}
Danke für eure Hilfe,
Grüße,
Anne[/code]
cgnieder
Forum-Meister
Beiträge: 730 Registriert: Fr 22. Okt 2010, 18:37
Wohnort: Herrenberg
Kontaktdaten:
Beitrag
von cgnieder » Mi 9. Mai 2012, 22:10
Ich würde wohl
siunitx verwenden, dass für das ausrichten an Dezimalpunkten Spalten definiert und mit solchen Tabellen wirklich gut umgehen kann:
\documentclass[a4paper,12pt,titlepage]{scrbook}
\usepackage[automark]{scrpage2}
\usepackage[T1]{fontenc} % ueblich
\usepackage[utf8]{inputenc}
\usepackage{multirow} % in Tabellen mehrere Zeilen miteinander verbinden
\usepackage{booktabs}
\usepackage[font={small,sf},labelfont=bf,labelsep=space,justification=raggedright]{caption}
\usepackage{siunitx}
\begin{document}
\begin{table}[ht]
\centering
\caption{langer Text}
\begin{tabular}{lcSS}
\addlinespace
\toprule
\multirow{2}{*}{\textbf{Text Text}} & \multirow{2}{*}{\textbf{}} & \textbf{Text} & \textbf{etwas laengerer Text} \\
& & {(will hier kein kursiv)} & {(hier auch kein kursiv)} \\
\midrule
\textbf{langer langer Text} & & {\textbf{p-value}} & {\textbf{p-value}} \\
\textit{langer langer Text} & D & <0.001*** & <0.001*** \\
\textit{langer langer Text} & D & 0.2 & 0.01** \\
\end{tabular}
\label{zigzag}
\end{table}
\end{document}
Gruß
Dateianhänge
tabelle_siunitx.png (21.8 KiB) 5528 mal betrachtet
localghost
Forum-Meister
Beiträge: 826 Registriert: Di 8. Jul 2008, 15:40
Wohnort: Braunschweig
Beitrag
von localghost » Mi 9. Mai 2012, 22:19
Das Paket
siunitx geht die Sache etwas intelligenter an.
% !TeX program = pdflatex
\documentclass[
captions=tableabove, % Formatierung für Tabellenüberschriften
ngerman
]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage{selinput} % Halbautomatische Festlegung der Eingabekodierung
\SelectInputMappings{ % mit Hilfe von ausgewählten Glyphen
adieresis={ä}, % siehe: http://partners.adobe.com/public/developer/en/opentype/glyphlist.txt
germandbls={ß},
Euro={€}
}
\usepackage{babel}
\usepackage{booktabs,multirow}
\usepackage{siunitx}
\sisetup{
locale=DE
}
\begin{document}
\begin{table}[!htb]
\caption{langer Text}
\label{tab:zigzag}
\centering
\begin{tabular}{
l
c
S[table-format=1.3,table-comparator=true,table-space-text-post={***}]
S[table-format=1.3,table-comparator=true,table-space-text-post={***}]
}\toprule
\multirow{2}{*}{\textbf{Text Text}} & \multirow{2}{*}{\textbf{}} & {\textbf{Text}} & {\textbf{etwas längerer Text}} \\
& & \multicolumn{1}{c}{(will hier kein kursiv)} & \multicolumn{1}{c}{(hier auch kein kursiv)} \\ \midrule
\textbf{langer langer Text} & & {\textbf{p-value}} & {\textbf{p-value}} \\
\textit{langer langer Text} & D & <0.001*** & <0.001*** \\
\textit{langer langer Text} & D & 0.2 & 0.01** \\
\end{tabular}%
\end{table}%
\end{document}
Was das Paket sonst noch so kann, entnimmst du seiner Anleitung.
Thorsten
(etwas zu langsam für Clemens)
AnneMu
Forum-Newbie
Beiträge: 2 Registriert: Mi 9. Mai 2012, 21:18
Beitrag
von AnneMu » Mi 9. Mai 2012, 22:33
Super! Danke euch für die schnelle und hilfreiche Antwort!
Grüße,
Anne