Text außerhalb und innerhalb Tabelle nicht auf einer Ebene

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


Lanu

Text außerhalb und innerhalb Tabelle nicht auf einer Ebene

Beitrag von Lanu »

Hallo,

ich erstelle gerade eine Seite mit ein paar Informationen, die aufgelistet werden sollen. Es ist also keine wissenschaftliche Arbeit oder ähnliches.

Hierfür habe ich eine Tabelle und vor dieser Tabelle eine einfache Überschrift:
\documentclass[12pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{longtable}
\begin{document}
\textbf{Überschrift der Tabelle}
\begin{longtable}{p{0.2\linewidth}p{0.8\linewidth}}
Test & Test \\
Test & Test
\end{longtable}
\end{document}
Meine Frage: Wieso ist die Überschrift und der Tabelleninhalt nicht auf einer Ebene, obwohl beides linksbündig ist?

Vielen Dank im Vorraus.

markusv
Forum-Meister
Forum-Meister
Beiträge: 947
Registriert: Do 3. Sep 2015, 17:20
Wohnort: Leipzig

Beitrag von markusv »

Hallo. Im engeren Sinne ist beides nicht linksbündig, was dem Flattersatz entspricht, sondern der Text im Blocksatz gesetzt. Da es ein Absatzbeginn darstellt, kommt hier der Absatzeinzug hinzu, der den Abstand verursacht.
Die Tabelle hat einen Raum für den Rand, der einen anderen Abstand bewirkt.

Den Absatzeinzug verhinderst du mit \noindent (sollte im wiss. Satz nicht eingesetzt werden). Tabellenränder kannst du in der Spaltendefinition selbst definieren mit @{<randbreite>}.

Übrigens: schönes Minimalbeispiel. TOP!

Im Beispiel:
\documentclass[12pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{longtable}
\usepackage{showframe}%für Darstellung d. Satzspiegelkonstruktion
\begin{document}
\textbf{Überschrift der Tabelle}%Absatzeinzug
\begin{longtable}{p{0.2\linewidth}p{0.8\linewidth}}%Raum für Tabellenrand
Test & Test \\
Test & Test
\end{longtable}

\noindent\textbf{Überschrift der Tabelle}%Absatzeinzug ausgeschaltet
\begin{longtable}{@{}p{0.2\linewidth}p{0.8\linewidth}}%Tabellenrand entfernt
Test & Test \\
Test & Test
\end{longtable}
\end{document}
Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen:
Help-LaTeX@web.de

Gast

Beitrag von Gast »

Die Tabelle ist (auch in Markus' Beispielen) breiter als der Text: Jede Spalte, auch die erste und letzte hat vor der Spalte und danach einen Abstand von \tabcolsep. Markus verhindert das in seinem zweiten Beispiel vor der ersten Spalte mit @{}. Gibt man also p{0.2\linewidht}p{0.8\linewidth} als Spaltendeklaration an, so hat man eine Tabelle der Breite \tabcolsep+0.2\linewidth+\tabcolsep+\tabcolsep+0.8\linewidth+\tabcolsep=\linewidth+4\tabcolsep>\linewidth.

Dazu kommt, dass die Überschrift keine Überschrift ist. Eine einfache Überschrift könnte man bei scrartcl beispielsweise mit \minisec setzen:
\documentclass[12pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{longtable}
\begin{document}
\minisec{Überschrift der Tabelle}
\begin{longtable}{@{}p{\dimexpr 0.2\linewidth-\tabcolsep}p{\dimexpr 0.8\linewidth-\tabcolsep}@{}}
\endfirsthead
Test & Test \\
Test & Test
\end{longtable}
\end{document}
Mit @{} vor der ersten und nach der letzten Spalte verhindere ich dabei den Spaltenabstand an dieser Stelle (so wie Markus in seinem zweiten Beispiel vor der ersten Spalte).

Man kann aber auch gleich eine echte Tabellenüberschrift verwenden:
\documentclass[12pt,captions=nooneline,captions=tableheading]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{longtable}
\setkomafont{caption}{\bfseries}
\begin{document}
\begin{longtable}{@{}p{\dimexpr 0.2\linewidth-\tabcolsep}p{\dimexpr 0.8\linewidth-\tabcolsep}@{}}
\caption*{Überschrift der Tabelle}\\
\endfirsthead
Test & Test \\
Test & Test
\end{longtable}
\end{document}
Mit \caption* statt \caption verzichte ich dabei auf die Nummerierung der Tabelle. Mit captions=nooneline verhindere ich, dass einzeilige Tabellenüberschriften zentriert werden. Mit captions=tableheading sorge ich dafür, dass auch wirklich eine Überschrift formatiert wird (also mit kleinem vertikalem Abstand danach statt davor).

Lanu

Beitrag von Lanu »

Hallo,

vielen Dank für die Hilfe und Hinweise zu Tabellen, genau das was ich wollte. Auch das Paket showframe find ich toll.

Noch eine kurze Frage: Wie kann ich den Absatzeinzug für das gesamte Dokument ausschalten?

Danke

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Sieh Dir mal die Klassenoption parskip an.

Als Alternative zur Lösung des Gastes dürfte auch das Paket ltxtable interessant sein.

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

Re: Text außerhalb und innerhalb Tabelle nicht auf einer Ebe

Beitrag von u_fischer »

Lanu hat geschrieben: obwohl beides linksbündig ist?
Dass deine Überschrift nicht linkbündig ist, wurde ja schon erklärt. Aber die longtable ist auch nicht: Es spielt hier zwar keine Rolle, weil die Tabelle so breit ist, aber standardmäßig werden longtable-Tabellen zentriert.

Lanu

Beitrag von Lanu »

Hallo,

danke für den Tiop mit parskip, allerdings hat der wohl keine Option, die ich möchte.
Ich möchte den Absatzeinzug ausschalten, ohne dass zwischen den Absätzen ein gewissen Abstand (half = halbe Zeile, full = ganze Zeile) entsteht.
Ist soetwas möglich?

Danke

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Wie kennzeichnest Du dann die Absätze in Deinem Dokument?

http://texwelt.de/wissen/fragen/9

Lanu

Beitrag von Lanu »

Im Prinzip ist das was ich erstelle kein richtiges Dokument, sondern nur ein paar Informationen in mehren Tabellen und ab und zu eine kurze Beschreibung davor. Kurz gesagt: Mein Dokument braucht einfach keine Absätze, daher möchte ich kein Absatzeinzug haben und keine unnötigen Abstände.
Ist das irgendwie möglich? Ich kann auch dieses \noindent überall davorsetzen, aber es muss doch eine einfachere Möglichkeit geben?

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

Beitrag von u_fischer »

\parindent=0pt

Antworten