Wenn es möglich ist das p-Format vom array-package und S-Format vom siunitx-package zu kombinieren, wie sieht die Befehlszeile aus?

Hintergrund:

Meine Zahlenkolonnen brauchen Überschriften und leider bestehen sie aus mehreren Wörtern, also brauche ich einen Zeilenumbruch. Das geht wohl mit dem p-Format. Die Möglichkeit die Wörter in mehreren Zeilen aufzuteilen, hab ich schon ausprobiert. Das funktioniert auch, solange ich nicht \cmidrule benutze. Die zusätzliche Linie hat zur Folge, dass der Abstand zwischen den anderen Wörter vergrößert wird. Das sieht nicht besonders schön aus.

Nachtrag:

Wie bereits gesagt, habe ich die Wörter auf mehrere Zeilen aufgeteilt. Im 1. Beispiel sieht man, dass die Zeilenabstände auch gut aussehen. Wenn ich allerdings im 2. Beispiel die \cmidrule hinzufüge, dann stimmt der Abstand in der 1. Spalte nicht mehr. Es hat den Anschein, als wenn die Wörter auseinander gerissen werden. Im 3. Beispiel hatte ich \cline ausprobiert, allerdings ist dann der Abstand zwischen der Linie und "blablablabla" nicht ausreichen. "

alt text

\documentclass{article}
\usepackage{siunitx,booktabs}
\begin{document}

% Zelle mit \multicolumn überschreiben und dabei gewünschten Spaltentyp wählen:
1. Beispiel
\begin{tabular}{SSS}
  \toprule
    \multicolumn{1}{c}{1. Spalte} & \multicolumn{1}{c}{2. Spalte} &\multicolumn{1}{c}{3. Spalte}\\[3pt]
    \multicolumn{1}{c}{bla-} & \multicolumn{1}{c}{bla} &\multicolumn{1}{c}{bla}\\
    \multicolumn{1}{c}{bla} & \multicolumn{2}{c}{blablablabla}\\
  \midrule
    1.23 & 4.56(7) & 1.23 \\
    8.9  & 0.12(3) & 8.9\\
  \bottomrule
\end{tabular}

2. Beispiel
\begin{tabular}{SSS}
  \toprule
    \multicolumn{1}{c}{1. Spalte} & \multicolumn{1}{c}{2. Spalte} &\multicolumn{1}{c}{3. Spalte}\\[3pt]
    \multicolumn{1}{c}{bla-} & \multicolumn{1}{c}{bla} &\multicolumn{1}{c}{bla}\\ \cmidrule{2-3}
    \multicolumn{1}{c}{bla} & \multicolumn{2}{c}{blablablabla}\\
  \midrule
    1.23 & 4.56(7) & 1.23 \\
    8.9  & 0.12(3) & 8.9\\
  \bottomrule
\end{tabular}

3. Beispiel
\begin{tabular}{SSS}
  \toprule
    \multicolumn{1}{c}{1. Spalte} & \multicolumn{1}{c}{2. Spalte} &\multicolumn{1}{c}{3. Spalte}\\[3pt]
    \multicolumn{1}{c}{bla-} & \multicolumn{1}{c}{bla} &\multicolumn{1}{c}{bla}\\ \cline{2-3}
    \multicolumn{1}{c}{bla} & \multicolumn{2}{c}{blablablabla}\\
  \midrule
    1.23 & 4.56(7) & 1.23 \\
    8.9  & 0.12(3) & 8.9\\
  \bottomrule
\end{tabular}

\end{document}

gefragt 01 Aug '13, 17:51

Bettina's gravatar image

Bettina
665181923
Akzeptiert-Rate: 25%

bearbeitet 02 Aug '13, 15:36

1

Das ergibt keinen Sinn: S-Spalten sind dazu da, Zahlen am Dezimalpunkt auszurichten und mit siunitx' Möglichkeiten zu formatieren, p-Spalten sind für mehrzeiligen Text. Allerdings kann man immer einzelne Zellen mit \multicolumn überschreiben, wenn es das ist, was Du meinst?

(01 Aug '13, 17:54) cgnieder

Anmerkung: Ich bin echt beeindruckt, wie schnell ihr auf Fragen reagiert. Das ist super. Vielen Dank!

(01 Aug '13, 18:08) Bettina
1

Wenn Du deine Frage etwas gezielter stellen und zu dem noch ein ordentliches Minimalbeispiel beifügen würdest, könnte man mehr für dich tun als nur zu spekulieren. Aber vielleicht hat @Clemens ja mit seiner Antwort einen Zufallstreffer gelandet.

(01 Aug '13, 18:25) Thorsten
1

@Bettina ich habe Deinen Kommentar in die Frage hinein editiert -- er ist doch sehr hilfreich um zu verstehen, worauf Du hinauswillst. Ich hoffe, das ist ok für Dich?

(01 Aug '13, 18:38) cgnieder
1

@Bettina Dein Problem mit \cmidrule verstehe ich nicht ganz (obwohl ich einen Verdacht habe). Kannst Du das an einem vollständigen Minimalbeispiel verdeutlichen? Mach das bitte indem Du Deine Frage bearbeitest, nicht indem Du einen Kommentar ergänzt.

(01 Aug '13, 19:32) saputello

Ich nehme an, eine der folgenden Möglichkeiten müsste das sein, was Du brauchst:

alt text

\documentclass{article}
\usepackage{siunitx,booktabs}
\begin{document}

% Zelle mit \multicolumn überschreiben und dabei gewünschten Spaltentyp wählen:
\begin{tabular}{SS}
  \toprule
    bla  & \multicolumn{1}{p{2cm}}{bla\newline bla} \\
  \midrule
    1.23 & 4.56(7) \\
    8.9  & 0.12(3) \\
  \bottomrule
\end{tabular}

% Tabelle in einer Tabelle => größtmögliche Flexibilität, muss mit siunitx' {}-Syntax
% vor dem siunitx-Parser versteckt werden:
\begin{tabular}{SS}
  \toprule
    bla  &
    {\begin{tabular}{c} bla\\bla \end{tabular}}% als Tabellenpräambel wäre wohl `@{}c@{}` noch besser
    \\
  \midrule
    1.23 & 4.56(7) \\
    8.9  & 0.12(3) \\
  \bottomrule
\end{tabular}

\end{document}

Die zweite Variante mit der Tabelle in der Tabelle erlaubt natürlich, in der inneren Tabelle wieder Tabellenlinien zu setzen:

\documentclass{article}
\usepackage{siunitx,booktabs}
\begin{document}

\begin{tabular}{S}
  \toprule
    {\begin{tabular}{@{}c@{}}Laufende\\\midrule Nummer\end{tabular}} \\
  \midrule
     17.5 \\
      8.3 \\
    104.01 \\
  \bottomrule
\end{tabular}

\end{document}

alt text


Die editierte Frage betreffend: vielleicht wäre folgendes für Dich eine Lösung? Ein Problem dabei ist natürlich, dass sie Spalten der Überschrift und die des Rests der Tabelle verschieden breit werden können...

\documentclass{article}
\usepackage{siunitx,booktabs,array}
\sisetup{separate-uncertainty}
\begin{document}

\begin{tabular}{
    S[table-format=1.2]
    S[table-format=1.2(1)]
    S[table-format=1.2]
  }
  \toprule
    {\begin{tabular}[t]{@{}c@{}}1. Spalte\\bla-\\bla\end{tabular}} &
    \multicolumn{2}{c}{
      \begin{tabular}[t]{@{}cc@{}}
        2. Spalte & 3. Spalte \\
        bla       & bla \\
       \midrule
        \multicolumn{2}{c}{blablablabla}
      \end{tabular}
    } \\
  \midrule
    1.23 & 4.56(7) & 1.23 \\
    8.9  & 0.12(3) & 8.9\\
  \bottomrule
\end{tabular}

\end{document}

alt text

Permanenter link

beantwortet 01 Aug '13, 18:18

cgnieder's gravatar image

cgnieder
22.1k253463
Akzeptiert-Rate: 60%

bearbeitet 02 Aug '13, 10:27

Ja, das ist genau, das was ich brauche. Du bist super. :-))))))))

(01 Aug '13, 18:30) Bettina

@Bettina: Gern geschehen. Du darfst übrigens gerne Antworten als richtig/funktionierend akzeptieren (mit dem kleinen Haken, wo man auch die Bewertungen abgibt). Dadurch werden sie aus dem Pool der unbeantworteten Fragen entfernt :)

(01 Aug '13, 18:35) cgnieder

Diese Antwort ist ein gutes Beispiel für eine funktionierende Kristallkugel.

(01 Aug '13, 18:37) Thorsten
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×256
×34
×9

gestellte Frage: 01 Aug '13, 17:51

Frage wurde gesehen: 13,194 Mal

zuletzt geändert: 02 Aug '13, 15:36