Mein Dokument hat Tabellen, und da will ich jetzt Beschriftungen drunter setzen. Vereinfacht sieht das so aus:

\documentclass{article}
\begin{document}
\begin{center}
  \begin{tabular}{rl}
    linke Spalte & rechte Spalte
  \end{tabular}
  \caption{Tabelle}
\end{center}
\end{document}

Jedoch kriege ich hier einen Fehler:

! LaTeX Error: \caption outside float.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...

l.7   \caption
              {Tabelle}

Bei Abbildungen mit \includegraphics kriege ich den gleichen Fehler. Wie kann ich denn Tabellen-Beschriftungen und Bildunterschriften machen?

gefragt 30 Jul '13, 20:34

rde's gravatar image

rde
2098811
Akzeptiert-Rate: 0%

bearbeitet 30 Jul '13, 21:05

cgnieder's gravatar image

cgnieder
22.1k243463


Der Befehl \caption ist nur innerhalb von sogenannten Gleitumgebungen, im englischen Sprachgebrauch floats oder floating environments, erlaubt. Da die {center}-Umgebung keine solche ist, erhältst Du besagten Fehler, der einem tatsächlich genau das mitteilt:

! LaTeX Error: \caption outside float.

Von vornherein sind in der Regel zwei Gleitumgebungen vorhanden1: {table} und {figure}. In Deinem Fall wäre die Wahl also:

\documentclass{article}
\begin{document}
\begin{table}
  \caption{Tabelle}
  \begin{tabular}{rl}
    linke Spalte & rechte Spalte
  \end{tabular}
\end{table}
\end{document}

Du wirst in Deinem tatsächlichen Dokument damit vermutlich feststellen, dass jetzt die Tabelle nicht mehr da erscheint, wo Du sie im Quelltext gesetzt hast. Das ist so gewollt: die Umgebung gleitet an die Stelle, wo LaTeX meint, dass sie am besten passt, daher auch das „Gleit“ in Gleitumgebung. Da man eine Tabelle im Text üblicherweise via \ref referenziert (wenn man nach \caption in der {table}-Umgebung das passende \label gesetzt hat), weiß der Leser dennoch Bescheid und kann die Tabelle dann finden und lesen, wenn er möchte. (Siehe dazu auch @saputellos Kommentar zu dieser Antwort.)

Wie man beeinflusst, wo die Tabelle gesetzt werden soll, ist eine andere Frage wert. Willst Du die Tabelle aber auf jeden Fall hier platzieren, dann dürfte @saputellos Antwort zu Wie kann ich einer Grafik einen Untertitel hinzufügen? für Dich interessant sein.


  1. Das kann von der verwendeten Dokumentenklasse und verwendeten globalen Option abhängen.
Permanenter link

beantwortet 30 Jul '13, 20:46

cgnieder's gravatar image

cgnieder
22.1k243463
Akzeptiert-Rate: 60%

bearbeitet 06 Aug '13, 12:35

Danke, das ist sehr sinnvoll! Damit passieren auch vernünftige Seitenumbrüche.

(30 Jul '13, 21:09) rde
1

Man spricht beim Aufsuchen und Lesen von Gleitobjekten übrigens in der Typografie von konsultieren. Deshalb heißen solche Objekte auch Konsoltationsobjekte oder Konsultationselemente. Tabellen und Abbildungen gehören meist auch dann in diese Kategorie, wenn sie tatsächlich nicht gleiten (dürfen), da der Leser sich davon nicht beeindrucken lässt, sondern selbst entscheidet, wann er sie beachtet. Deshalb bringt es auch eher Nachteile, sie nicht gleiten zu lassen. Weitere Konsultationselemente sind übrigens Fußnoten, Kolumnentitel, Marginalien, teilweise Gleichungen, Sätze, Beweise etc.

(31 Jul '13, 08:29) saputello

Es ist aus verschiedenen Gründen äußerst empfehlenswert, gleich von Anfang an eine entsprechende Klasse aus »KOMA-Script« zu nutzen. Dann ist die notwendige Änderung verhältnismäßig gering.

\documentclass[
  captions=tableabove,
  ngerman
]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{selinput}
\SelectInputMappings{
  adieresis={ä},
  germandbls={ß}
}
\usepackage{babel}

\begin{document}
  \begin{center}
    \captionof{table}{Tabelle}
    \label{tab:dummy}
    \begin{tabular}{rl}
      linke Spalte & rechte Spalte
    \end{tabular}
  \end{center}
\end{document}

Solltest Du auf der Standardklasse article bestehen, ist die Verwendung von »caption« eine Option.

\documentclass[11pt,ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage{selinput}
\SelectInputMappings{
  adieresis={ä},
  germandbls={ß}
}
\usepackage{babel}
\usepackage{caption}

\begin{document}
  \begin{center}
    \captionof{table}{Tabelle}
    \label{tab:dummy}
    \begin{tabular}{rl}
      linke Spalte & rechte Spalte
    \end{tabular}
  \end{center}
\end{document}

Ich bin mir gerade nicht sicher, ob die Verwendung von minipage hier nicht die bessere Lösung darstellt, um einen Seitenumbruch zwischen Tabelle und Beschriftung zu vermeiden.

Permanenter link

beantwortet 30 Jul '13, 20:46

Thorsten's gravatar image

Thorsten
1.6k325
Akzeptiert-Rate: 58%

Danke für den Hinweis, dass bei Tabellen die Beschriftung eher drüber gehört, ich hatte sie bislang untendrunter. KOMA-Script schaue ich mir an.

(30 Jul '13, 20:59) rde

Bei den Beispielen von @Thorsten wird übrigens nicht verhindert, dass zwischen Tabellenüberschrift und Tabelle ein Seitenumbruch stattfinden kann. In meiner von @Clemens bereits referenzierten Antwort auf eine ähnliche Frage habe ich hingegen gezeigt, wie man das einfach verhindern kann.

(31 Jul '13, 08:22) saputello
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×254
×127
×50
×45

gestellte Frage: 30 Jul '13, 20:34

Frage wurde gesehen: 86,359 Mal

zuletzt geändert: 06 Aug '13, 12:35