goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Siuntix: Ausrichtung am Komma und feste Spaltenbreite

 

Hanni
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.01.2018, 13:42     Titel: Siuntix: Ausrichtung am Komma und feste Spaltenbreite
  Antworten mit Zitat      
Liebes Forum,

ich versuche meine Tabellen möglichst gleich breit zu gestalten und trotzdem eine Ausrichtung am Koma hinzubekommen. Wenn ich die Spaltenbreite vorgebe, gelingt mir aber nicht mehr die Ausrichtung. Was mache ich falsch? Ich habe zusätzlich unterschiedliche Anzahlen von Signifikanzsternen hinter den Werten und bin mir nicht sicher wie ich das definieren soll. Soweit ich weiß, kann ich ja eine verschieden Anzahl an Stellen vorgeben, richtig?

Vielen Dank!

Hanni

Hier ein Minimalbeispiel:
Code • Öffne in Overleaf

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[a4paper,lmargin={2.5cm},rmargin={2.5cm},tmargin={3cm},bmargin = {3cm}]{geometry}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{amsmath}
\usepackage{ragged2e}
\usepackage{rotating}}
\usepackage{lscape}
\usepackage{tabularx}
\usepackage{multirow}
\usepackage{booktabs}
\usepackage{array}
\usepackage{siunitx}
\sisetup{input-symbols = ()}

\begin{document}
\begin{sidewaystable}
    \centering
    \caption{XYZ}
    \def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\sisetup{table-space-text-post = \sym{***}}
\begin{tabular}{L{5cm}L{1,9cm}L{1,9cm}L{1,9cm}L{1,9cm}L{1,9cm}L{1,9cm}L{1,9cm}L{1,9cm} SS[table-format=4.2---]SSSSSSSS}
      & {2007} & {2008} & {2009} & {2010} & {2011} & {2012} & {2013} & {2014} \\
\hline
Ergebnis &       &       &       &       &       &       &       &  \\
a & -25,51\sym{***} & -17,14\sym{***} & -26,95\sym{***} & -17,92\sym{***} & -25,00\sym{***} & -14,19\sym{***} & -65,98\sym{***} & -89,15\sym{***} \\
b & -19,13\sym{***} &  -24,98\sym{***} &  -90,50\sym{***} & -55,70\sym{***} &  {-66,07}\sym{***} & -54,80\sym{***} & -76,43 & -14,00\sym{*} \\
c &  {n.a.} &  -49,89 &  130,72 & -120,86 &  59,63 & -29,37 & 12,85 & -34,76 \\
d &  -21,79\sym{***} &  -27,71\sym{***} &  -79,04\sym{***} & -78,42\sym{***} &  -28,10\sym{***} & -55,47\sym{***} & -76,03 & -78,07 \\
e & {n.a.} &  -34,44\sym{***} &  -36,19\sym{**} & -45,28\sym{***} &  {-19,18} & -12,38\sym{***} & -15,67   & -57,98 \\
\bottomrule
\end{tabular}%
    \label{tab:XYZ}
\end{sidewaystable}

\end{document}

Rolli
Forum-Century
Forum-Century

Beiträge: 170
Anmeldedatum: 15.02.17
Wohnort: Mittelfranken
Version: MikTeX 2.9 64-bit
     Beitrag Verfasst am: 21.01.2018, 14:17     Titel:
  Antworten mit Zitat      
Liebe(r) Hanni,

Dein Minimalbeispiel compiliert nicht.

Clicke mal auf "Öffne im Overleaf" und schaue Dir alle Fehler an (es sind mehrere). So muss man raten, was Du meinst, und sieht Dein Problem nicht.

Also bitte: Dein Minimalbeispiel so ändern, dass es a) fehlerfrei compiliert und man b) Dein Problem erkennen kann.

Gruß vom Rolli
_________________

Linux ist ein Betriebssystem.
WinDoof ist ein Zustand!
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.01.2018, 14:43     Titel:
  Antworten mit Zitat      
siunitx kennt übrigens auch eine Option, um die Breite von S-Spalten festzulegen. Siehe dazu das siunitx-Manual.

Hanni
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.01.2018, 15:09     Titel: aktualisierter Code
  Antworten mit Zitat      
Lieber Rollli,

vielen Dank für deinen Kommentar. Leider kompiliert im Overleaf der Code nicht, welcher bei mir in Sharelatex funktioniert. Mir ist auch nicht aufgefallen, dass ein Paket fehlt. Was bisher funktioniert hat ist das:

Code • Öffne in Overleaf
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[a4paper,lmargin={2.5cm},rmargin={2.5cm},tmargin={3cm},bmargin = {3cm}]{geometry}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{amsmath}
\usepackage{ragged2e}
\usepackage{rotating}
\usepackage{lscape}
\usepackage{setspace}
\usepackage{tabularx}
\usepackage{multirow}
\usepackage{booktabs}
\usepackage{array}
\usepackage{siunitx}
\sisetup{input-symbols = ()}

\begin{document}
\begin{sidewaystable}
    \centering
    \caption{XYZ}
    \def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\sisetup{table-space-text-post = \sym{***}}
\begin{tabular}{l*{4}{S[table-align-text-post=false]}}\\
\hline
      & 2007 & 2008 & 2009 & 2010 & 2011 & 2012 & 2013 & 2014 \\
      \hline
a & -25,51\sym{***} & -17,14\sym{***} & -26,95\sym{***} & -17,92\sym{***} & -25,00\sym{***} & -14,19\sym{***} & -65,98\sym{***} & -89,15\sym{***} \\
b & -19,13\sym{***} &  -24,98\sym{***} &  -90,50\sym{***} & -55,70\sym{***} &  {-66,07}\sym{***} & -54,80\sym{***} & -76,43 & -14,00\sym{*} \\
c &  {n.a.} &  -49,89 &  130,72 & -120,86 &  59,63 & -29,37 & 12,85 & -34,76 \\
d &  -21,79\sym{***} &  -27,71\sym{***} &  -79,04\sym{***} & -78,42\sym{***} &  -28,10\sym{***} & -55,47\sym{***} & -76,03 & -78,07 \\
e & {n.a.} &  -34,44\sym{***} &  -36,19\sym{**} & -45,28\sym{***} &  {-19,18} & -12,38\sym{***} & -15,67   & -57,98 \\
\bottomrule
\end{tabular}%
    \label{tab:XYZ}
\end{sidewaystable}

\end{document}
 


Dort kann ich aber keine feste Spaltenbreite festlegen.

Was ich stattdessen dann versucht habe ist erst mit {L{p{1,9cm}S[table-column-width=1,9cm]} als Tabular-Argument die Breite für jede Spalte festzuschreiben. Das ging auch, nur war dann der Inhalt nicht mehr ausgerichtet.

Ich hoffe ihr könnt meiner Darstellung einigermaßen folgen.

Viele Grüße

Hanni

Rolli
Forum-Century
Forum-Century

Beiträge: 170
Anmeldedatum: 15.02.17
Wohnort: Mittelfranken
Version: MikTeX 2.9 64-bit
     Beitrag Verfasst am: 21.01.2018, 15:26     Titel:
  Antworten mit Zitat      
... das compiliert leider immer noch nicht. Du hast die Tabelle mit 4 Spalten angelegt, willst dann aber 9 Spalten dargestellt bekommen ???

Gruß vom Rolli
_________________

Linux ist ein Betriebssystem.
WinDoof ist ein Zustand!
Private Nachricht senden Benutzer-Profile anzeigen

Hanni
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.01.2018, 15:44     Titel:
  Antworten mit Zitat      
Copy-paste Fehler, entschuldige.

Code • Öffne in Overleaf

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[a4paper,lmargin={2.5cm},rmargin={2.5cm},tmargin={3cm},bmargin = {3cm}]{geometry}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{amsmath}
\usepackage{ragged2e}
\usepackage{rotating}
\usepackage{lscape}
\usepackage{setspace}
\usepackage{tabularx}
\usepackage{multirow}
\usepackage{booktabs}
\usepackage{array}
\usepackage{siunitx}
\sisetup{input-symbols = ()}

\begin{document}
\begin{sidewaystable}
    \centering
    \caption{XYZ}
    \def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\sisetup{table-space-text-post = \sym{***}}
\begin{tabular}{l*{9}{S[table-align-text-post=false]}}\\
\hline
      & 2007 & 2008 & 2009 & 2010 & 2011 & 2012 & 2013 & 2014 \\
      \hline
a & -25,51\sym{***} & -17,14\sym{***} & -26,95\sym{***} & -17,92\sym{***} & -25,00\sym{***} & -14,19\sym{***} & -65,98\sym{***} & -89,15\sym{***} \\
b & -19,13\sym{***} &  -24,98\sym{***} &  -90,50\sym{***} & -55,70\sym{***} &  {-66,07}\sym{***} & -54,80\sym{***} & -76,43 & -14,00\sym{*} \\
c &  {n.a.} &  -49,89 &  130,72 & -120,86 &  59,63 & -29,37 & 12,85 & -34,76 \\
d &  -21,79\sym{***} &  -27,71\sym{***} &  -79,04\sym{***} & -78,42\sym{***} &  -28,10\sym{***} & -55,47\sym{***} & -76,03 & -78,07 \\
e & {n.a.} &  -34,44\sym{***} &  -36,19\sym{**} & -45,28\sym{***} &  {-19,18} & -12,38\sym{***} & -15,67   & -57,98 \\
\bottomrule
\end{tabular}%
    \label{tab:XYZ}
\end{sidewaystable}

\end{document}

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.01.2018, 15:50     Titel:
  Antworten mit Zitat      
Erzwingen kann man eine Spaltenbreite, wie bereits oben erwähnt, per Option:
Code • Öffne in Overleaf
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[a4paper,lmargin={2.5cm},rmargin={2.5cm},tmargin={3cm},bmargin = {3cm}]{geometry}
\usepackage{rotating}
\usepackage{booktabs}
\usepackage{array}
\usepackage{siunitx}
\sisetup{input-symbols = ()}

\begin{document}
\begin{sidewaystable}
    \centering
    \caption{XYZ}
    \def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\sisetup{table-space-text-post = \sym{***}}
\begin{tabular}{l*{8}{S[table-align-text-post=false,table-column-width=1.9cm]}}\\
\hline
      & 2007 & 2008 & 2009 & 2010 & 2011 & 2012 & 2013 & 2014 \\
      \hline
a & -25,51\sym{***} & -17,14\sym{***} & -26,95\sym{***} & -17,92\sym{***} & -25,00\sym{***} & -14,19\sym{***} & -65,98\sym{***} & -89,15\sym{***} \\
b & -19,13\sym{***} &  -24,98\sym{***} &  -90,50\sym{***} & -55,70\sym{***} &  {-66,07}\sym{***} & -54,80\sym{***} & -76,43 & -14,00\sym{*} \\
c &  {n.a.} &  -49,89 &  130,72 & -120,86 &  59,63 & -29,37 & 12,85 & -34,76 \\
d &  -21,79\sym{***} &  -27,71\sym{***} &  -79,04\sym{***} & -78,42\sym{***} &  -28,10\sym{***} & -55,47\sym{***} & -76,03 & -78,07 \\
e & {n.a.} &  -34,44\sym{***} &  -36,19\sym{**} & -45,28\sym{***} &  {-19,18} & -12,38\sym{***} & -15,67   & -57,98 \\
\bottomrule
\end{tabular}%
    \label{tab:XYZ}
\end{sidewaystable}

\end{document}

Natürlich sind für die verwendeten 8-Zahlenspalten auch 8 ſ-Spalten zu deklarieren und nicht nur 4. Alles überflüssige habe ich zwecks Übersichtlichkeit gemäß InfoMinimalbeispiel-Anleitung aus der Dokumentpräambel rausgeworfen.

Ein Problem ergibt sich hier aus den Zahlen, die Du in geschweifte Klammern gesetzt hast, beispielsweise {-66.07}. Diese werden nämlich nicht als Zahl, sondern als Text behandelt! Die störenden Klammen sollten also entfernt werden. Ich vermute außerdem, dass die Ausgabe für Deutsch mit Komma erfolgen soll, also wäre es sinnvoll locale=DE zu setzen. Man landet dann bei:
Code • Öffne in Overleaf
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[a4paper,lmargin={2.5cm},rmargin={2.5cm},tmargin={3cm},bmargin = {3cm}]{geometry}
\usepackage{rotating}
\usepackage{booktabs}
\usepackage{array}
\usepackage{siunitx}
\sisetup{locale=DE}

\begin{document}
\begin{sidewaystable}
    \centering
    \caption{XYZ}
    \def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\sisetup{table-space-text-post = \sym{***}}
\begin{tabular}{l*{8}{S[table-align-text-post=false,table-column-width=1.9cm]}}\\
\hline
      & 2007 & 2008 & 2009 & 2010 & 2011 & 2012 & 2013 & 2014 \\
      \hline
a & -25,51\sym{***} & -17,14\sym{***} & -26,95\sym{***} & -17,92\sym{***} & -25,00\sym{***} & -14,19\sym{***} & -65,98\sym{***} & -89,15\sym{***} \\
b & -19,13\sym{***} &  -24,98\sym{***} &  -90,50\sym{***} & -55,70\sym{***} &  -66,07\sym{***} & -54,80\sym{***} & -76,43 & -14,00\sym{*} \\
c &  {n.a.} &  -49,89 &  130,72 & -120,86 &  59,63 & -29,37 & 12,85 & -34,76 \\
d &  -21,79\sym{***} &  -27,71\sym{***} &  -79,04\sym{***} & -78,42\sym{***} &  -28,10\sym{***} & -55,47\sym{***} & -76,03 & -78,07 \\
e & {n.a.} &  -34,44\sym{***} &  -36,19\sym{**} & -45,28\sym{***} &  -19,18 & -12,38\sym{***} & -15,67   & -57,98 \\
\bottomrule
\end{tabular}%
    \label{tab:XYZ}
\end{sidewaystable}

\end{document}

Auch hier gibt es noch Fehler in der Formatierung, die daraus resultieren dürften, dass die 1.9cm für einen zentrierten Punkt einfach zu wenig sind. Also fügen wir noch ein passendes Zahlenformat hinzu:
Code • Öffne in Overleaf
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[a4paper,lmargin={2.5cm},rmargin={2.5cm},tmargin={3cm},bmargin = {3cm}]{geometry}
\usepackage{rotating}
\usepackage{booktabs}
\usepackage{array}
\usepackage{siunitx}
\sisetup{locale=DE}

\begin{document}
\begin{sidewaystable}
    \centering
    \caption{XYZ}
    \def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\sisetup{table-space-text-post = \sym{***}}
\begin{tabular}{l*{8}{S[table-align-text-post=false,table-column-width=1.9cm,table-format=4.2]}}\\
\hline
      & 2007 & 2008 & 2009 & 2010 & 2011 & 2012 & 2013 & 2014 \\
      \hline
a & -25,51\sym{***} & -17,14\sym{***} & -26,95\sym{***} & -17,92\sym{***} & -25,00\sym{***} & -14,19\sym{***} & -65,98\sym{***} & -89,15\sym{***} \\
b & -19,13\sym{***} &  -24,98\sym{***} &  -90,50\sym{***} & -55,70\sym{***} &  -66,07\sym{***} & -54,80\sym{***} & -76,43 & -14,00\sym{*} \\
c &  {n.a.} &  -49,89 &  130,72 & -120,86 &  59,63 & -29,37 & 12,85 & -34,76 \\
d &  -21,79\sym{***} &  -27,71\sym{***} &  -79,04\sym{***} & -78,42\sym{***} &  -28,10\sym{***} & -55,47\sym{***} & -76,03 & -78,07 \\
e & {n.a.} &  -34,44\sym{***} &  -36,19\sym{**} & -45,28\sym{***} &  -19,18 & -12,38\sym{***} & -15,67   & -57,98 \\
\bottomrule
\end{tabular}%
    \label{tab:XYZ}
\end{sidewaystable}

\end{document}

Jetzt werden vier Stellen vor dem Komma und zwei danach reserviert. Das Komma ist nicht mehr in der Spaltenmitte. Die Formatierung ist einheitlich.

Hanni
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.01.2018, 16:21     Titel:
  Antworten mit Zitat      
Super, vielen Dank, das hat mir schon sehr weitergeholfen:)
Was muss ich denn tun, wenn ich die Breite der ersten Spalte auch anpassen möchte? Kann ich einfach L{p{5cm}} vor die {l*{8}{S[table-align-text-post=false,table-column-width=1.9cm]}} setzen oder muss ich da noch etwas anderes beachten?

Ich hatte gehofft, die Klammern kann ich drin lassen. Die hat mir excel2latex automatisch gesetzt und es sind doch recht viele um sie manuell anzupassen, aber da muss ich dann wohl durch.

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.01.2018, 16:45     Titel:
  Antworten mit Zitat      
Da ich nicht weiß, wie bei Dir der Spaltentyp L deklariert ist, kann ich Dir nicht sagen, ob das so geht. Aber natürlich kann man eine normale p-Spalte mit der gewünschten Breite verwenden. Solange der Text darin einzeilig ist, ist er ja automatisch linksbündig. Soll mehrzeiliger Text linksbündig (satt im Blocksatz) gesetzt werden, kann man mit \raggedright oder Paket ragged2e arbeiten. Am besten dann zusammen mit array, um die Anweisung bereits in die Deklaration der Spalten per >-Operator einzubauen. Siehe dazu die array-Anleitung. Dergleichen ist übrigens üblicherweise auch in einer guten LaTeX-Einführung erklärt. Es gibt auch Spezialliteratur zu Tabellen mit LaTeX. Siehe beispielsweise: http://www.dante.de/index/Literatur.html

Hanni
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.01.2018, 17:03     Titel: Vielen Dank!
  Antworten mit Zitat      
Vielen Dank für die hilfreichen Kommentare, jetzt funktioniert alles.
Schönen Sonntag noch!

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de goPCB.de


  Datenschutzerklärung | Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2018 goLaTeX.de