Seite 1 von 1

Zahlen an Einheiten ausrichten

Verfasst: Di 17. Mär 2015, 12:03
von Walter12
Hallo!

Ich bin relativ neu in der Latex-Welt und habe ein Problem mit der Erstellung von Tabellen. Ich würde die Werte, die in meinen Zellen stehen, gerne an ihren Einheiten ausrichten, so dass alles schön untereinander steht.

Ich habe schon ein paar mal gesehen, dass Zahlen und die zugehörigen Einheiten in zwei Spalten getrennt werden. Das habe ich mit den passenden s-, bzw. S-Parametern bereits versucht, allerdings nur bedingt erfolgreich.

Hier mein Code:
\begin{table}[htbp]
\caption{Maximale Datenraten für die verschiedenen Transfertypen}
\label{tab:usb-data}
\centering
\sisetup{table-number-alignment=left,table-unit-alignment=left}
	\begin{tabular}{lC{2.5cm}C{4.0cm}srs}
	\toprule
	Transferart & Übertragungen pro Frame & \multicolumn{2}{c}{Maximale Nutzdaten pro Übertragung} & \multicolumn{2}{c}{Maximale Datenrate} \\
	\midrule
	Control     & 13                      & 64   & \byte             & 6,7 & \mega\Bit\per\second   \\
	Interrupt   & 1                       & 64   & \byte              & 512 & \kilo\Bit\per\second      \\
	Isochronous & 1                       & 1023 & \byte            & 10,2 & \mega\Bit\per\second  \\
	Bulk        & 19                      & 64   & \byte              & 9,7  & \mega\Bit\per\second   \\
	\bottomrule
	\end{tabular}
\end{table}
Außerdem habe ich in meiner Präambel stehen:
\usepackage[load-configurations=binary]{siunitx} %Binäreinheiten
\usepackage{booktabs}
\usepackage{tabularx}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}} % linksbündig mit Breitenangabe
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}} % zentriert mit Breitenangabe
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}} % rechtsbündig mit Breitenangabe
Allerdings spuckt er mir Fehlermeldungen aus, dass \byte eine Undefined Control Sequence ist. Aber eigentlich kann ich das doch nutzen, weil die S-Spalten im Mathemodus sind, oder?

Danke schon mal!

Verfasst: Di 17. Mär 2015, 16:52
von Johannes_B
\documentclass{scrartcl}
\usepackage{selinput}
\SelectInputMappings{udieresis={ü}}
\usepackage[binary-units]{siunitx}
\usepackage{booktabs}
\usepackage{tabularx}
\DeclareSIUnit{\datarate}{\mega\bit\per\second}
\DeclareDocumentCommand\Datarate{O{}m}{\SI[#1]{#2}{\datarate}}

\begin{document}

\begin{table}[htbp]
	\caption{Maximale Datenraten für die verschiedenen Transfertypen}
	\label{tab:usb-data}
	\centering
	\sisetup{table-number-alignment=left,table-unit-alignment=left}
	\begin{tabular}{lS[table-format=2.0]S[table-format=4.0]S[table-format=2.3]}
		\toprule
		Transferart & {\parbox{.2\linewidth}{Übertragungen pro
		Frame}} & {\parbox{.3\linewidth}{\raggedright Maximale Nutzdaten
			pro Übertragung in \si{\byte}}} &
			{\parbox{.25\linewidth}{Maximale Datenrate in
				\si{\datarate}}} \\
		\midrule
		Control     & 13 & 64   &  6,7    \\
		Interrupt   & 1  & 64   &  ,512  \\
		Isochronous & 1  & 1023 &  10,2 \\
		Bulk        & 19 & 64   &  9,7    \\
		\bottomrule
	\end{tabular}
\end{table}
\end{document}