Die Tabellen sind mit einer expliziten Spaltenbreite von 1,15 cm für die Zahlenspalten nicht vernünftig darstellbar, da beispielsweise die Zahl `4.96665663` nicht in diese Breite passt. Erzwingt man also die Breite, beispielsweise mit `\multicolumn{1}{S[table-column-width=1.15cm]|}{4.96665663}`, so ragt die Zahl in die Nachbarspalte(n). Dadurch wird die Tabelle unlesbar und damit unnütz. Erzwingt man die Breite nicht, sondern verwendet wie im Beispiel `\multicolumn{1}{S|}{4.96665663}`, so wir wird die Spaltenbreite an die für die Zahl notwendige Breite angepasst. angepasst, wobei der Dezimalpunkt entsprechend der Voreinstellung von `S` (in der Mitte der Spalte) positioniert wird. Eine einheitliche Breite über mehrere Tabellen ist dann nicht mehr möglich.
Es gibt nun mehrere Möglichkeiten, das Problem zu lösen. Zunächst einmal ist es sinnvoll, die ganzen `\multicolumn` wegzulassen. Verwendet man sie, sollte man daran denken, dass bei `\multicolumn` die vertikale Linie (außer der Linie vor der allerersten Spalte) grundsätzlich nur rechts von der Spaltendeklaration anzugeben ist. Die linke Linie kommt hingegen entweder von einer `\multicolumn`-Anweisung des linken Spaltennachbarn oder aus der Kopfdeklaration. Links angegebene `|` können in `\multicolumn` zu falsch platzierten Linien führen. Im Beispiel sind sie auch nicht notwendig. Verwendet man `\multicolumn`, so ist außerdem zu beachten, dass die Angabe dann die Kopfdeklaration überschreibt. Bei `S`-Spalten bedeutet das insbesondere, dass Breitenangaben aus dem Kopf ggf. zu wiederholen sind.
Die erste Möglichkeit, feste Spaltenbreiten über mehrere Tabellen zu erhalten ist, das Zahlenformat so zu wählen, dass es für alle Einträge passt:
\documentclass[paper=landscape,DIV=20]{scrartcl}
\usepackage[copy-decimal-marker]{siunitx}
\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\begin{document}
\begin{tabular}{L{6.6cm}L{1.2cm}
S[table-format=2.8]|S[table-format=4.2]|S[table-format=3.2]} \hline
motel & $\sigma$ & 4.96665663 & 135.15 & 30.29 \\ \hline
motel & $\sigma$ & .53 & -147.73 & -25.44 \\ \hline
motel & $\sigma$ & -9.27 & -0.01 & 1.28 \\
\end{tabular}
\bigskip
\begin{tabular}{L{6.6cm}L{1.2cm}
S[table-format=2.8]|S[table-format=4.2]|S[table-format=3.2]} \hline
Haus & $\sigma$ & 4 & 135.15 & 30.29 \\ \hline
Passwort & $\sigma$ & 1 & -147.73 & -25.44 \\ \hline
Motel & $\sigma$ & 7 & -0.01 & 1.28 \\
\end{tabular}
\end{document}
![Zahlenformat vorgegeben][1]
Wie man sieht, ist hier `\multicolumn` überflüssig. Wollte man es verwenden, müsste man auch hier beispielsweise `\multicolumn{1}{S[table-format=2.8]|}{4.96665663}` schreiben.
Die zweite Möglichkeit besteht darin, `siunitx` die Zahlen runden zu lassen, damit sie in die vorgegebene Spaltenbreite passen:
\documentclass[paper=landscape,DIV=20]{scrartcl}
\usepackage[copy-decimal-marker]{siunitx}
\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\begin{document}
\sisetup{round-mode=places,round-precision=2}
\begin{tabular}{L{6.6cm}L{1.2cm}
S[table-column-width=1.15cm]|S[table-column-width=1.15cm]|S[table-column-width=1.15cm]} \hline
motel & $\sigma$ & 4.96665663 & 135.15 & 30.29 \\ \hline
motel & $\sigma$ & .53 & -147.73 & -25.44 \\ \hline
motel & $\sigma$ & -9.27 & -0.01 & 1.28 \\
\end{tabular}
\bigskip
\begin{tabular}{L{6.6cm}L{1.2cm}
S[table-column-width=1.15cm]|S[table-column-width=1.15cm]|S[table-column-width=1.15cm]} \hline
Haus & $\sigma$ & 4 & 135.15 & 30.29 \\ \hline
Passwort & $\sigma$ & 1 & -147.73 & -25.44 \\ \hline
Motel & $\sigma$ & 7 & -0.01 & 1.28 \\
\end{tabular}
\end{document}
Da aber bereits Zahlen wie `-147.73` nicht sauber in die angegebene Spaltenbreite passen, ist in diesem Fall die Ausrichtung der Dezimalpunkte nicht sauber:
![mit Rundung][2]
Besteht man auf die Verwendung von `\muticolumn` bei jedem Eintrag, so ist auch in diesem Fall, die Breite zu wiederholen, also beispielsweise `\multicolumn{1}{S[table-column-width=1.15cm]|}{4.96665663}` zu verwenden. Da ich die Rundung mit `\sisetup` angegeben habe, wird sie für die Zahl übernommen. Hätte ich sie im Tabellenkopf als Spalteneingenschaft angegeben, so wäre sie ebenfalls im zweiten Argument von `\multicolumn` zu wiederholen.
Um die Ausrichtung zu korrigieren, müsste man mit breiteren Spalten arbeiten:
\documentclass[paper=landscape,DIV=20]{scrartcl}
\usepackage[copy-decimal-marker]{siunitx}
\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\begin{document}
\sisetup{round-mode=places,round-precision=2}%,table-format=4.2}
\begin{tabular}{L{6.6cm}L{1.2cm}
S[table-column-width=1.75cm]|S[table-column-width=1.75cm]|S[table-column-width=1.75cm]} \hline
motel & $\sigma$ & 4.96665663 & 135.15 & 30.29 \\ \hline
motel & $\sigma$ & .53 & -147.73 & -25.44 \\ \hline
motel & $\sigma$ & -9.27 & -0.01 & 1.28 \\
\end{tabular}
\bigskip
\begin{tabular}{L{6.6cm}L{1.2cm}
S[table-column-width=1.75cm]|S[table-column-width=1.75cm]|S[table-column-width=1.75cm]} \hline
Haus & $\sigma$ & 4 & 135.15 & 30.29 \\ \hline
Passwort & $\sigma$ & 1 & -147.73 & -25.44 \\ \hline
Motel & $\sigma$ & 7 & -0.01 & 1.28 \\
\end{tabular}
\end{document}
![Rundung und breitere Spalten][3]
Alternativ kann man auch hier ein passendes `table-format` verwenden:
\documentclass[paper=landscape,DIV=20]{scrartcl}
\usepackage[copy-decimal-marker]{siunitx}
\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\begin{document}
\sisetup{round-mode=places,round-precision=2,table-format=4.2}
\begin{tabular}{L{6.6cm}L{1.2cm}S|S|S} \hline
motel & $\sigma$ & 4.96665663 & 135.15 & 30.29 \\ \hline
motel & $\sigma$ & .53 & -147.73 & -25.44 \\ \hline
motel & $\sigma$ & -9.27 & -0.01 & 1.28 \\
\end{tabular}
\bigskip
\begin{tabular}{L{6.6cm}L{1.2cm}S|S|S} \hline
Haus & $\sigma$ & 4 & 135.15 & 30.29 \\ \hline
Passwort & $\sigma$ & 1 & -147.73 & -25.44 \\ \hline
Motel & $\sigma$ & 7 & -0.01 & 1.28 \\
\end{tabular}
\end{document}
![Rundung und Zahlenformat][4]
Da in diesem Beispiel Rundung und Zahlenformat mit `\sisetup` gesetzt wurden, kann man auch unbesorgt für alle Zahleneinträge `\multicolumn{1}{S|}{…}` verwenden. Sinnvoll ist das jedoch nicht.
[1]: http://texwelt.de/wissen/upfiles/test57.png
[2]: http://texwelt.de/wissen/upfiles/test58.png
[3]: http://texwelt.de/wissen/upfiles/test59.png
[4]: http://texwelt.de/wissen/upfiles/test60.png