Seite 1 von 1

Spalte an Bindestrich Ausrichten

Verfasst: Sa 13. Mär 2010, 19:19
von flofli
Hallo Zusammen

ich würde gerne den Inhalt einer Spalte am Bindestrich ausrichten lassen. Ich kenne das dcolumn Paket.

Allerdings soll das Ganze auch für Text funktionieren und Zahlen würde ich gerne mit Hilfe des Numprint Paketes setzen...
  ...
  hallo - morgen \\
  12    - 156 \\
  32,4 - 56,2 \\
  ...
sollte am besten so aussehen:
| hallo - morgen |
| 12 - 156 |
| 32,4 - 56,2 |
leider werden meine Leerzeichen gelöscht :-(
also der Bindestrich soll immer genau untereinander stehen, und die Zahlen sollten sich wie bei numprint am besten am "," ausrichten lassen.

Sollte die doppelte Ausrichtung mit numprint nicht gehen würde ich mich auch schon freuen (also ausrichtung an "-" aber im Textmodus)

Grüße
Florian

Anderer Weg

Verfasst: So 14. Mär 2010, 16:41
von localghost
Den Bindestrich kannst Du in die Tabelle einarbeiten. Formatierung und Ausrichtung der Zahlen erfolgen mit siunitx.
\documentclass{article}
\usepackage{booktabs}
\usepackage[decimalsymbol=comma]{siunitx}

\begin{document}
  \begin{tabular}{%
    S[tabnumalign=right,tabformat=2.1]
    @{\quad--\quad}
    S[tabnumalign=left,tabformat=3.1]
  }\toprule
    {hallo} & {morgen} \\
    12   & 156 \\
    32,4 & 56,2 \\ \bottomrule
  \end{tabular}
\end{document}
Damit wird numprint überflüssig.


MfG
Thorsten

Verfasst: Do 18. Mär 2010, 08:59
von flofli
Danke für den Tipp mit siunitx! wirklich ein sehr sinnvolles Paket.

Ich würde nun noch gerne die Spaltendefinition vereinfachen, aber wenn ich
\newcolumntype{a}{S[tabnumalign=right,tabformat=2.1]}
und die Tabelle dann mit
\begin{tabular}{%
    a
    @{\quad--\quad}
    S[tabnumalign=left,tabformat=3.1]
  }\toprule
    {hallo} & {morgen} \\
    12   & 156 \\
    32,4 & 56,2 \\ \bottomrule
  \end{tabular}
setze bekomme ich den Fehler
Tex capacity exceeded, sorry [input stack size=5000]
das gleiche passiert, wenn ich alle Spaltendefinitonen ersetze. Geht dies hier nicht?

Hat niemand eine Idee wie man den Spaltentyp mit \newcolumntype setzen kann??

Grüße
Florian

[/b]