Seite 1 von 1

Abstand Tabellenüberschrift ohne Koma Script

Verfasst: Do 6. Feb 2014, 16:45
von colonia_space
Hallo Zusammen,

ich habe folgendes Problem. Meine Tabelle sieht so aus:
\begin{table}[htbp] \footnotesize
\label{MainResults}
 \caption{XXXXXXXXXXXXXXXXXX}
 \begin{tabular}{l*{3}{c}}
  
    \toprule
 bla
   \midrule
bla    
  \bottomrule
 
 \end{tabular}
 \label{tab:meinetabelle}
 \end{table}
Das Problem ist, dass die Tabellenüberschrift direkt an die Tabelle herdrangeklatscht ist.
Alle Lösungen die ich gefunden habe beziehen sich auf KOMA Script Klassen. ich verwende aber ganz normal "article".

Es ist unglaublich wie kompliziert die einfachsten DInge manchmal sind in Latex. (sorry)...

bitte kann mir jemand dabei helfen?

Verfasst: Do 6. Feb 2014, 17:01
von Noch so einer
Am einfachsten dürfte sein, article durch scrartcl zu ersetzen und Option captions=tableheading (oder so ähnliches, genau erfährst Du das in der KOMA-Script-Anleitung) zu verwenden. Alternative wäre das Paket caption. Aber vermutlich wird das mittelfristig bis langfristig nicht Dein einziger Änderungswunsch sein, der mit einer KOMA-Script-Klasse sehr einfach, mit einer Standardklasse aber nur mit einem zusätzlichen Paket oder Code-Hackerei zu erfüllen ist. Deshalb mein Rat: Wechsle jetzt zu KOMA-Script.

Außerdem solltest Du immer ein vollständiges Minimalbeispiel nach Anleitung nicht nur aber auch für Anfänger angeben und bitte Code markieren wie das auch im Hinweis für Code in Beitrag mit Beispiel direkt über dem Nachrichten-Eingabefeld angegeben ist!

Verfasst: Do 6. Feb 2014, 18:05
von Felix
Damit kannst Du z.B. den Abstand über der oberen Linie ändern, mal 1.5ex eingesetzt, was Du ändern kannst:
\setlength{\abovetopsep}{1.5ex}
Das ist ein Feature von booktabs, das Paket verwendest Du offenbar. Das ist nun echt nicht schwer, oder. ;-) Finden muss man es halt, und was man dann tatsächlich schwer nennen kann, bei LaTeX, ist dass man oft in die Doku schauen muss, um einen passenden Befehl oder eine Einstellung zu finden. Hier: texdoc booktabs, kann man auch auf der Kommandozeile seines eigenen Rechners tippen.

Felix

Verfasst: Do 6. Feb 2014, 18:22
von Besserwisser
Das wirkt sich dann aber auch auf jede \toprule aus, auch auf solche, die nicht in einer table-Umgebung stehen oder die nicht auf eine \caption-Anweisung folgen. Daher halte ich es besser, den Abstand nach \caption an \caption zu knüpfen.

Verfasst: Do 6. Feb 2014, 19:45
von Felix
Besserwisser hat geschrieben:Das wirkt sich dann aber auch auf jede \toprule aus
Das kann dert Konsistenz halber gewünscht sein. Wobei man es auch lokal zur table-Umgebung setzen kann.
Besserwisser hat geschrieben:Daher halte ich es besser, den Abstand nach \caption an \caption zu knüpfen.
Den Abstand vor einer \toprule an \toprule zu knüpfen klingt auch nicht unlogisch. Wobei \toprule immer oben ist, hingegen wird \caption bei Bildern gern unten verwendet, und auf einmal will man gar nicht mehr den Abstand danach, weil "dazwischen" nun "davor" ist.

Lass Dich nicht verwirren, colonia_space. :-) Man kann Dinge verschieden anfassen. Also nach \caption beispielsweise
\setlength{\belowcaptionskip}{1.5ex}
Davor:
\setlength{\abovecaptionskip}{1.5ex}
Dennoch empfehle ich sehr, das caption-Paket zu verwenden, damit lässt sich mehr einstellen.

Noch ein wichtiger Hinweis: oben stimmt die Reihenfolge nicht, \label muss nach \caption gesetzt werden, klick auf den Link um zu lesen, warum.

Felix

Verfasst: Do 6. Feb 2014, 19:59
von Besserwisser
Felix hat geschrieben:
Besserwisser hat geschrieben:Das wirkt sich dann aber auch auf jede \toprule aus
Das kann dert Konsistenz halber gewünscht sein.
Warum sollte man über der oberen Linie unabhängig davon, ob darüber noch etwas steht oder nicht, denselben Abstand haben wollen? Halte ich für wenig wahrscheinlich.
Felix hat geschrieben:Wobei man es auch lokal zur table-Umgebung setzen kann.
Bei jeder table-Umgebung? Das ist fehleranfällig und widerspricht dem Prinzip der Trennung von Form und Inhalt.
Felix hat geschrieben:Den Abstand vor einer \toprule an \toprule zu knüpfen klingt auch nicht unlogisch.
Es ist aber nicht der Abstand vor einer \toprule, sondern allenfalls der Abstand vor einer \toprule, wenn man davor eine \caption hat.
Felix hat geschrieben:Wobei \toprule immer oben ist, hingegen wird \caption bei Bildern gern unten verwendet, und auf einmal will man gar nicht mehr den Abstand danach, weil "dazwischen" nun "davor" ist.
Genau deshalb erlauben KOMA-Script und das caption-Paket zwischen \caption in figrue-Umgebungen und caption in table-Umgebungen zu unterscheiden. Was glaubst Du wohl, wofür das table bei captions=tableabove steht?
Felix hat geschrieben:Lass Dich nicht verwirren, colonia_space. :-) Man kann Dinge verschieden anfassen. Also nach \caption beispielsweise
\setlength{\belowcaptionskip}{1.5ex}
Das ist absolut kein guter Rat, weil man damit dann auch in figure-Umgebungen einen Abstand nach \caption einfügt, den man dort gar nicht haben will. Man müsste das also explizit nur in table-Umgebungen setzen, was wiederum den bereits erwähnten Nachteil mit sich bringt.
Felix hat geschrieben:Dennoch empfehle ich sehr, das caption-Paket zu verwenden, damit lässt sich mehr einstellen.
Genau den Rat hat "Noch so einer" bereits in seinem ersten Kommentar für den Fall gegeben, dass man nicht ohnehin bereits eine KOMA-Script-Klasse verwendet oder etwas machen will, was KOMA-Script ausnahmsweise mal nicht bietet. Das Problem der Tabellenüberschrift, beherrscht KOMA-Script jedenfalls seit Jahren. Deine zusätzlichen Hinweise dienen also in erster Linie dazu, den armen OP zu verwirren.

Deshalb halten wir fest: colonia_space wird empfohlen die Hinweise zur Verwendung von KOMA-Script oder caption im allerersten Kommentar auf seine Frage beachten und sich nicht von theoretischen anderen, meist umständlicheren oder mit Nebenwirkungen behafteten Möglichkeiten verwirren zu lassen..[/b]

Verfasst: Do 6. Feb 2014, 20:54
von Felix
Ich halt mich einfach an den Wunsch im Titel und versucht nicht, Anwender zu anderem zu missionieren oder Helfer zu belehren. :-)

Vor einer toprule kann auch Text stehen, oder eine vorangehende Tabelle oder eine Grafik. Keine caption ist nicht gleichbedeutend mit "nichts", und warum sollte anderes nicht auch den Abstand haben.

Und man kann auch was global für alle table-Umgebungen jeweils lokal definieren.

Ich behalte mir auch vor, wenn ich Alternativen erwähne, dass ich dennoch caption als auch meine bevorzugte Option betonen darf, sogar muss, auch wenn "noch so einer" das schon erwähnt hat. Das brauch auch ein Besserwisser nicht weiter zu kommentieren.

Jetzt kann aber auch mal colonia_space zu Wort kommen. Ich hab mal erwähnt, was es noch so gibt, jemand pflückt meine Beiträge besserwisserisch auseinander - willkommen im Internet. :-)

Jetzt noch folgende Besserwisser-Kommentare sind mir egal, betrachte sie als ans Publikum gerichtet, ich lese hier nur noch, wenn der Fragende hier Bemerkungen oder Nachfragen hat.

Felix

Verfasst: Do 6. Feb 2014, 23:05
von esdd
Zusammengefasst schlagt Ihr beide vor, das caption Paket zu verwenden, wenn eine KOMA-Script Klasse nicht in Frage kommt. Das Beispiel mit etwas mehr Text und eingefügten Umbrüchen am Ende einer Tabellenzeile sieht dann so aus:
\documentclass{article}
\usepackage{booktabs}
\usepackage[tableposition=top]{caption}

\begin{document}
\begin{table}[htbp] \footnotesize 
  \caption{XXXXXXXXXXXXXXXXXX}\label{tab:meinetabelle}
  \begin{tabular}{l*{3}{c}} 
    \toprule 
    bla &Text, damit die Tabelle auch ein wenig breit ist& zur Demonstration\\
    \midrule 
    bla \\
   \bottomrule 
  \end{tabular} 
\end{table} 
\end{document}
Gruß
Elke