Tabelle im Landscape Format: Top-Rule zu kurz | Abstände ?

Tabellen und Grafiken erstellen und anordnen


DerArbeitenschreiberling
Forum-Anfänger
Forum-Anfänger
Beiträge: 33
Registriert: Fr 31. Mär 2017, 18:28

Tabelle im Landscape Format: Top-Rule zu kurz | Abstände ?

Beitrag von DerArbeitenschreiberling »

Hallo!

Ich habe mich jetzt einmal an die Tabellen in LaTeX getraut. Folgendes Problem: Ich versuche, die Antworten einer Umfrage in Tabellenform abzubilden. Da es teils viele Antwortmöglichkeiten sind, wird die Tabelle recht breit. Daher nutze ich die Seite im Landscape-Format mittels \usepackage{pdflscape}.

Daraus ergibt sich schon mein erstes Problem: \toprule ist zu kurz. Gibt es da ein bestimmtes Kommando, um diesem Kommando klarzumachen, dass wir nicht mehr auf einer stehenden A4 Seite sitzen?

Außerdem habe ich auch ein Problem bei der Formatierung der Tabelle. Ich konnte den Abstand zwischen Fragen und Antworten mittels einer extra Tabellenspalte vergrößern. Aber auch bei den Zahlen möchte ich nach oben hin einen größeren Abstand haben. Selbst wenn ich jedes Mal per Hand eine extra Spalte über den Zahlen einfüge, kann ich doch nicht kontrollieren, wie HOCH die Spalte am Ende ist.

Als ich die Vorabhilfe gelesen habe, sprang mir \raisebox ins Auge. Ich hätte die c-Zellen in meiner Tabelle mit b-Zellen ersetzen können.. Allerdings müsste ich dann 1. irgendwie spezifizieren, dass sich die Höhe nach der Höhe der Fragen richten soll, 2. müsste ich spezifizieren, dass auch die Breite der Zellen variabel bleiben soll (was ja das Feature von tabularx ist), und 3. scheint das ganze sowieso nicht zu funktionieren! Ersetze ich eines der c's mit b, dann werde ich zuerst nach einer Einheit gefragt, da es sonst zum Fehler kommt. Mit b{2cm} werden die Zahlen überhaupt nicht vom Boden der Zelle aus ausgerichtet.

Mein letztes Problem: Ich möchte der Tabelle natürlich auch eine Caption geben, aber die Umgebung Table dreht meine Tabelle auf die Seite! Das ist natürlich nicht sehr hilfreich. Gibt es eine Möglichkeit, Captions ohne ein Float-Objekt zu vergeben?


Da das Spacing im integrierten Code-Viewer grauenhaft ist, habe ich mein .tex Dokument als TeXdokument angehängt.

Schon einmal vielen Dank im voraus für eure Ideen.
Dateianhänge
tabularx.tex
(1.69 KiB) 245-mal heruntergeladen

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4266
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Du solltest dir deine Gestaltung noch mal überlegen. 19 Spalten, davon mindestens ein mit langem Text ist was viel. Warum setzt du die Fragen nicht als Überschriften?

Abgesehen davon: Nimm \linewidth statt \textwidth. \\[\baselineskip] für vertikale Abstände und z.B. p{3cm}@{\hspace{1cm}}c in der Tabellendefinition für horizontale.

caption außerhalb von table bekomst du z.B. mit dem caption-Paket. Du kannst aber auch sidewaystable aus rotating benutzen.

DerArbeitenschreiberling
Forum-Anfänger
Forum-Anfänger
Beiträge: 33
Registriert: Fr 31. Mär 2017, 18:28

Beitrag von DerArbeitenschreiberling »

u_fischer hat geschrieben:caption außerhalb von table bekomst du z.B. mit dem caption-Paket. Du kannst aber auch sidewaystable aus rotating benutzen.
[/quote]
Kannst du vielleicht genauer ausführen, welche Kommandos mir aus dem Caption-Package helfen würden? Ich habe die Dokumentation kurz überflogen und nichts gefunden, was förmlich schreit: "Hiermit lässt sich eine Caption ohne Float-Umgebung erstellen!".

Die Umgebung "sidewaystable" funktioniert. Sogar die Linien haben die richtige Länge. Sie hat allerdings den Nachteil, dass die Seite nicht im PDF Dokument selbst gedreht ist. Daher muss man selbst den Kopf drehen, was zwar verkraftbar, aber nicht allzu toll ist.
u_fischer hat geschrieben:Nimm \linewidth statt \textwidth. \\[\baselineskip] für vertikale Abstände und z.B. p{3cm}@{\hspace{1cm}}c in der Tabellendefinition für horizontale.
Warum steht \baselineskip in [eckigen Klammern], und was bringt es mir? Meinem Verständnis nach sorgt \baselineskip, welches ja eigentlich die Zeilenabstände definiert, bloß für einen Abstand NACH einer Zeile, nicht aber für jenen über der Zeile. Wo soll ich das Kommando hinschreiben?
u_fischer hat geschrieben:Du solltest dir deine Gestaltung noch mal überlegen. 19 Spalten, davon mindestens ein mit langem Text ist was viel. Warum setzt du die Fragen nicht als Überschriften?
Ich weiß zwar nicht, wo du da 19 Spalten (ich habe nicht mal so viele Zeilen in der Tabelle) siehst, aber du hast recht: Die Gestaltung ist nicht mal ansatzweise Perfekt. Aber ich habe keine weitere Idee, wie ich es effektiv gestalten könnte. Insgesamt habe ich vier solcher Tabellen, die alle genau gleich formatiert werden; einmal diese hier und dann noch drei weitere mit speziellen Altersgruppen.

Du schlägst vor, dass ich die Fragen mit den Antworten tausche? Also horizontal die Fragen, vertikal die Antworten? Ich glaube nicht, dass das gut aussehen würde. Hierzu auch nochmal ein TeXDokument mitgeliefert. Zum einen passt die Tabelle damit gar nicht mehr richtig aus die Seite, und zum anderen sind die Spalten für die Antworten damit zu eng. Es sieht nicht schön aus, wenn jedes zweite Wort mit einem Bindestrich getrennt werden muss. Nur für den Fall, dass du anders gedacht hast: Die Antworten sind bei jeder Frage unterschiedlich, weshalb ich sie auch immer wieder extra schreiben muss.
Dateianhänge
tabularx2.tex
(2.54 KiB) 259-mal heruntergeladen
Zuletzt geändert von DerArbeitenschreiberling am Fr 14. Jul 2017, 20:48, insgesamt 1-mal geändert.

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4266
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Kannst du vielleicht genauer ausführen, welche Kommandos mir aus dem Caption-Package helfen würden?
Aus der englischen Doku:

"Sometimes you want to typeset a caption outside a floating environment..."

Und in der Deutschen:

"Der Befehl \caption funktioniert in der Regel nur innerhalb von gleitenden Umgebungen, manchmal möchte man ihn jedoch auch außerhalb anwenden, etwa um eine Abbildung in eine nicht-gleitende Umgebung wie minipage zu setzen"

DerArbeitenschreiberling
Forum-Anfänger
Forum-Anfänger
Beiträge: 33
Registriert: Fr 31. Mär 2017, 18:28

Beitrag von DerArbeitenschreiberling »

u_fischer hat geschrieben:
Kannst du vielleicht genauer ausführen, welche Kommandos mir aus dem Caption-Package helfen würden?
Aus der englischen Doku:

"Sometimes you want to typeset a caption outside a floating environment..."

Und in der Deutschen:

"Der Befehl \caption funktioniert in der Regel nur innerhalb von gleitenden Umgebungen, manchmal möchte man ihn jedoch auch außerhalb anwenden, etwa um eine Abbildung in eine nicht-gleitende Umgebung wie minipage zu setzen"
Alles klar, habs unter 2.9 Typen gefunden. Die Kommandos \captionsetup{type=table} und \caption{...} gleich zu Beginn der tabularx Umgebung zu setzen bringt mir aber nun den Fehler: "Misplaced \noalign. \end{tabularx}". Würde ich die Caption außerhalb der tabularx-Umgebung würde sie natürlich auf der vorhergehenden Seite stehen, was mir nichts bringt.

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Re: Tabelle im Landscape Format: Top-Rule zu kurz | Abstände

Beitrag von esdd »

DerArbeitenschreiberling hat geschrieben: Da das Spacing im integrierten Code-Viewer grauenhaft ist, habe ich mein .tex Dokument als TeXdokument angehängt.
Ursache sind Deine unsäglich vielen Tabulatoren, die bei der Weitergabe von Code ziemlich stören. Im Editor von anderen kann eine komplett andere Anzahl von Leerzeichen je Tab eingestellt sein.

Eine Möglichkeit wäre:
\documentclass[12pt, a4paper]{report}
\usepackage[left=3cm,right=2.0cm,top=2.5cm,bottom=1.2cm]{geometry}
\usepackage[T1]{fontenc}
\usepackage{txfonts} % Times

\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\usepackage{pdflscape}
\usepackage{caption}
\usepackage{booktabs}
\usepackage{tabularx}
\usepackage[german=quotes]{csquotes}


\begin{document}
\begin{landscape}
\noindent
\captionof{table}{Alle Befragten -- 18 Personen}
\renewcommand\tabularxcolumn[1]{b{#1}}
\begin{tabularx}{\linewidth}{X @{\quad}*{5}{c}}
  \toprule
    & Antwort Eins & Antwort Zwei & Antwort Drei & Antwort Vier & Antwort Fünf\\
    Echt lange Frage Numero Eins?
      & 23 & 18 & 6 & 3 & 1\\
  \midrule
    & Antwort Eins & Antwort Zwei & & &\\
    Noch um einiges und daher etwas größere Frage Numero Eins?
      & 30 & 12 & & & \\
  \midrule
    & Antwort Eins & Antwort Zwei & Antwort Drei & Antwort Vier & \\
    Noch um einiges und daher noch einmal etwas größere Frage Numero Zwei?
      & 8 & 2 & 1 & 3 & \\
  \midrule
    & Antwort Eins & Antwort Zwei & Antwort Drei & & \\
    Noch um einiges und daher noch einmal etwas größere Frage Numero Drei?
      & 12 & 6 & 28 & & \\
  \midrule
    &Antwort Eins & Antwort Zwei & Antwort Drei & & \\
    Mal wieder echt lange Frage Numero Eins?
      & 18 & 15 & & & \\
  \midrule
    & Antwort Eins & Antwort Zwei & Antwort Drei & & \\
    Aller letzte diesmal wieder echt lange Frage über Zeile Numero Zwei?
      & 4 & 12 & 28 & & \\
  \bottomrule
\end{tabularx}
\end{landscape}
\end{document}

DerArbeitenschreiberling
Forum-Anfänger
Forum-Anfänger
Beiträge: 33
Registriert: Fr 31. Mär 2017, 18:28

Re: Tabelle im Landscape Format: Top-Rule zu kurz | Abstände

Beitrag von DerArbeitenschreiberling »

esdd hat geschrieben:
DerArbeitenschreiberling hat geschrieben: Da das Spacing im integrierten Code-Viewer grauenhaft ist, habe ich mein .tex Dokument als TeXdokument angehängt.
Ursache sind Deine unsäglich vielen Tabulatoren, die bei der Weitergabe von Code ziemlich stören. Im Editor von anderen kann eine komplett andere Anzahl von Leerzeichen je Tab eingestellt sein.
Nun, ich hatte mir gedacht der Code wäre besser lesbar, wenn man den Text an den & ausrichtet. Das ist wohl nicht die richtige Lösung dafür.

Das Beispiel was du da hast sieht sehr gut aus; gut genug, dass ich es benutzen kann. Offensichtlich hast du mittels tabularxcolumn alle Zellen auf "Bottom" gestellt.
Könntest du mir vielleicht noch einmal bestätigen, wie genau du die Zellen mit {X @{\quad}*{5}{c}} definiert hast? Meinen Überlegungen nach könnte es heißen, dass du zunächst eine einzelne Zelle als eine X Zelle definierst welche einen Abstand von 1em(\quad) nach rechts hat.. und dann definierst du mittels des Sternchens * aus dem Rest der Tabelle fünf zentrierte c-Zellen?

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Re: Tabelle im Landscape Format: Top-Rule zu kurz | Abstände

Beitrag von esdd »

DerArbeitenschreiberling hat geschrieben: Nun, ich hatte mir gedacht der Code wäre besser lesbar, wenn man den Text an den & ausrichtet. Das ist wohl nicht die richtige Lösung dafür.
Zumindest nicht, wenn Du den Code mit anderen teilst. Dann wären Leerzeichen statt Tabulatoren besser oder eben eine andere lesbare Formatierung.
DerArbeitenschreiberling hat geschrieben: Offensichtlich hast du mittels tabularxcolumn alle Zellen auf "Bottom" gestellt.
Ja, ich habe mit
\renewcommand\tabularxcolumn[1]{b{#1}}
innerhalb der landscape Umgebung - und damit lokal - die Ausrichtung der X Spalten von p zu b geändert.
DerArbeitenschreiberling hat geschrieben: Könntest du mir vielleicht noch einmal bestätigen, wie genau du die Zellen mit {X @{\quad}*{5}{c}} definiert hast? Meinen Überlegungen nach könnte es heißen, dass du zunächst eine einzelne Zelle als eine X Zelle definierst welche einen Abstand von 1em(\quad) nach rechts hat.. und dann definierst du mittels des Sternchens * aus dem Rest der Tabelle fünf zentrierte c-Zellen?
Das ist alles richtig. Mit @{\quad} wird der übliche Spaltenabstand durch einen größeren ersetzt. Damit spare ich die von Dir für den gleichen Zweck verwendete leere Spalte ein.

DerArbeitenschreiberling
Forum-Anfänger
Forum-Anfänger
Beiträge: 33
Registriert: Fr 31. Mär 2017, 18:28

Re: Tabelle im Landscape Format: Top-Rule zu kurz | Abstände

Beitrag von DerArbeitenschreiberling »

Okay, gut.
Dann vielen Dank für eure Antworten! Das Problem ist damit abgehakt :)
Schönen Abend noch!

Antworten