Duplikat zu Warum muss in einer table- oder figure-Umgebung label nach caption gesetzt werden?


Im Zuge meiner Doktorarbeit werden einige Tabellen im Querformat ausgegeben. Dafür nutze ich die sideways-Umgebung. Ich habe dafür das Paket rotating eingebunden. Merkwürdig ist, dass ich kein \caption{...} angeben kann, ich habe es einmal zwischen \begin{sideways} und \begin{tabular} geschrieben, einmal direkt vor \end{tabular}. Es kommt die Fehlermeldung: \caption outside float

Könnt ihr euch bitte mal dieses Code-Fragment dazu anschauen?

Open in Online-Editor
\begin{sideways}
\caption{Die Rodriguesformeln der klassischen \q-orthogonalen Polynome}
\begin{tabular}{|c|c|c|c|}
\hline
\q-OPS & Notation & \q-Rodriguesdarstellung& $w$\\\hline
Große \q-Jacobi & \BigqJacobi(n,a,b,c,x,q)& $\frac{a^nc^nq^{n(n+1)}(1-q)^n}{w(x;a,b,c;q)(aq,cq;q)_n}\D^n[w(x;aq^n,bq^n,cq^n;q)]$& $w(x;a,b,c;q):=\frac{\qpochhammer({a^{-1}x,c^{-1}x},q,\infty)}{\qpochhammer({x,bc^{-1}x},q,\infty)}$\\\hline
Diskrete \q-Hermite II & \DiscreteqHermiteII(n,x,q) & $\frac{(q-1)^nq^{-\binomial(n,2)}}{w(x;q)}\D^n[w(x;q)]$& $w(x;q):=\frac{1}{\qpochhammer(-x^2,q^2,\infty)}$\\\hline
\end{tabular}
\end{sideways}

Außerdem habe ich auch eine Seite, auf der ich zwei Tabellen im Querformat untereinander darstelle, da habe ich wieder die sideways-Umgebung genutzt, aber recht manuell die Abstände "hingetrickst". Ob das so gewollt ist? Oder gibt es da noch andere elegantere Möglichkeiten? Außerdem kann ich nicht auf das \label referieren, das wird nicht gefunden. Ich habe die Tabellen gekürzt, damit ihr nicht vom Inhalt abgelenkt werdet

Open in Online-Editor
\begin{sidewaystable}
%\begin{sideways}
\begin{tabular}{|c|c|}
\hline
CDOPS & Drei-Term-Rekursion\\\hline
Charlier& $-C \left( n \right) x= \left( -a-n \right) C \left( n \right) +C
 \left( n+1 \right) a+nC \left( n-1 \right)$ 
\\\hline
\end{tabular}\label{tab:CDOPS_Rekursion}\caption{Die Drei-Term-Rekursionen der klassischen diskreten orthogonalen Polynome}

\begin{tabular}{c c}
 \mbox{  }&\mbox{  }\\
 \mbox{  }&\mbox{  }\\
 \mbox{  }&\mbox{  }\\ 
\end{tabular}

\begin{tabular}{|c|c|}
\hline
CDOPS & Drei-Term-Differenzengleichung\\\hline
Charlier& $-C \left( x \right) n=C \left( x+1 \right) a- \left( a+x \right) C
 \left( x \right) +xC \left( x-1 \right) 
$\\\hline
\end{tabular}\label{tab:CDOPS_DGL}\caption{Die Drei-Term-Differenzengleichungen der klassischen diskreten orthogonalen Polynome}
\end{sidewaystable}

Es wundert mich allgemein, warum ich \label und \caption nicht vor \end{tabular} einfügen kann, sondern danach, damit es überhaupt erscheint.

gefragt 16 Jul '15, 10:01

mathilde's gravatar image

mathilde
0134
Akzeptiert-Rate: 0%

geschlossen 17 Jul '15, 12:52

esdd's gravatar image

esdd
17.7k254256

1

Willkommen auf TeXwelt!

Könntest Du bitte Deine Codeschnipsel zu einem Minimalbeispiel erweitern? Also einem möglichst kurzen, aber kompletten Dokument, von \documentclass{...} bis zu \end{document}, welches das Problem zeigt. Das vereinfacht die Bearbeitung erheblich und ist meist eine Garantie für eine Lösung.

Darüber hinaus habe ich die Formatierung Deines Beitrags korrigiert. Alternativ zu meinem diesbezüglichen Link, kannst Du auch auf das Fragezeichen rechts am Eingabefeld klicken.

(16 Jul '15, 10:31) saputello
2

\caption ist keine Anweisung der tabular-Umgebung, sondern der Gleitumgebungen figure und table. Außerhalb von Gleitumgebungen ist es ohne Zusatzpaket (beispielsweise longtable oder ltablex) nicht definiert. Auch mit den Zusatzpaketen ist es immer an bestimmte Umgebungen gebunden. Bei rotating ist es beispielsweise an sidewaystable und sidewaysfigure gebunden, die quasi als Gleitumgebung dienen. Dagegen braucht man für \caption gar kein tabular und für ein tabular auch kein table o. ä.

(16 Jul '15, 10:37) saputello

Abstände kannst du bestimmt besser mit \vfill hinbekommen.

Wenn mehrere \caption in einer sidwaystable ein Problem sind, probiere mal den Befehl \captionof vom KOMA-Script oder dem Paket caption.

(16 Jul '15, 10:56) sudo

Das Problem konkretisiert sich: wie kann ich in einer! sidewaystable je zwei! Labels und captions an zwei tabular anbringen, auf die dann "von außerhalb" richtig referiert wird? Wahrscheinlich darf ich nur ein Label anbringen, oder? Kennt ihr Alternativen? Habt ihr Ideen?

(16 Jul '15, 12:59) mathilde
2
(16 Jul '15, 13:19) esdd

Die Frage wurde aus folgenden Grund "Duplikat einer anderen Frage" geschlossen esdd 17 Jul '15, 12:52


Du kannst in einer sidewaystable Umgebung problemlos zwei Tabellen einfügen. Vertikalen Abstand zwischen diesen bekommst Du mit \vspace{<abstand>}. Außerdem würde ich die Tabellen mit \centering zentrieren.

Damit Du auf die Tabellen verweisen kannst, musst Du darauf achten, dass der \caption vor dem \label steht. Siehe auch Warum muss in einer table oder figure Umgebung label nach caption gesetzt werden? \caption kann dabei vor oder nach der tabular Umgebung stehen. Wenn Du die Beschriftung oberhalb der Tabelle einfügst, empfiehlt es sich außerdem das Paket caption oder eine KOMA-Script Klasse zu nutzen. Mit beiden lässt sich vorgeben, dass der Abstand zwischen Tabelle und Beschriftung unterhalb der Beschriftung statt oberhalb eingefügt wird.

Open in Online-Editor
\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{rotating}

\title{Tabellen mit sidewaystable}
\author{Unknown}

\newcommand\q{q}% der Befehl war nicht definiert
\begin{document}
\maketitle
\section{Tabelle 1}
\begin{sidewaystable}
\centering
\begin{tabular}{|c|c|c|c|}
\hline
q-OPS & Notation & q-Rodriguesdarstellung& $w$\\\hline
Name & $Func(n,a,b,c,x,q)$& $\frac{a^nc^nq^{n(n+1)}(1-q)^n}{w(x;a,b,c;q)(aq,cq;q)_n}D^n[w(x;aq^n,bq^n,cq^n;q)]$& $w(x;a,b,c;q):=5$\\\hline
\end{tabular}
\caption{Die Drei-Term-Rekursionen der klassischen \q-orthogonalen Polynome}
\label{tab:qCOPS_Rekursion}
\end{sidewaystable}

In Tabelle \ref{tab:qCOPS_Rekursion} sind die Rekursionen gelistet.
Weitere Tabellen sind \ref{tab:CDOPS_Rekursion} und \ref{tab:CDOPS_DGL}

\begin{sidewaystable}
\centering
\begin{tabular}{|c|c|}
\hline
CDOPS & Drei-Term-Rekursion\\\hline
Charlier& $-C \left( n \right) x= \left( -a-n \right) C \left( n \right) +C
 \left( n+1 \right) a+nC \left( n-1 \right)$ 
\\\hline
\end{tabular}
\caption{Die Drei-Term-Rekursionen der klassischen diskreten orthogonalen Polynome}
\label{tab:CDOPS_Rekursion}

\vspace*{2cm}

\begin{tabular}{|c|c|}
\hline
CDOPS & Drei-Term-Differenzengleichung\\\hline
Charlier& $-C \left( x \right) n=C \left( x+1 \right) a- \left( a+x \right) C
 \left( x \right) +xC \left( x-1 \right) 
$\\\hline
\end{tabular}
\caption{Die Drei-Term-Differenzengleichungen der klassischen diskreten orthogonalen Polynome}
\label{tab:CDOPS_DGL}
\end{sidewaystable}
\end{document}
Permanenter link

beantwortet 16 Jul '15, 13:18

esdd's gravatar image

esdd
17.7k254256
Akzeptiert-Rate: 62%

bearbeitet 16 Jul '15, 15:26

Hallo,

wenn ich

\begin{sidewaystable}

\begin{tabular} ... \caption{Drei-Term-Rekursionen der klassischen orthogonalen Polynome} \label{tab:COPS_Rekursion} \end{tabular}

\begin{tabular} ... \caption{Differentialgleichungen der klassischen orthogonalen Polynome} \label{tab:COPS_DGL} \end{tabular} \end{sidewaystable}

eingebe, kommt als Fehlermeldung "missing \endgroup"

(16 Jul '15, 13:59) mathilde
2

@Mathilde Ich habe erneut Deine "Antwort" in einen Kommentar verwandelt. Antworten sind hier immer richtige Antworten auf die ganz oben gestellte Frage. Ansonsten kannst Du unter jeder Frage oder Antwort kurz Kommentare einfügen.

Selbstverständlich muss \caption{...}\label{...} außerhalb der tabular Umgebung stehen!

(16 Jul '15, 14:28) esdd
2

@Mathilde Ich habe Dir in meinem ersten Kommentar zu Deiner ersten Frage oben nicht von ungefähr drei Links gegeben. Die entsprechenden Seiten solltest Du gründlich lesen. Darüber hinaus fällt auf, dass Du wieder etwas falsch zu machen scheinst, was Dir bereits zweimal erklärt bzw. gezeigt wurde. Ich empfehle daher ein Pause und danach noch einmal gründlich und ohne Hetze zu lesen. Das ist sonst wie mit dem billig Kaufen: Wer durch Antworten und Kommentare hetzt, muss mehrfach lesen und leider oft auch mehrfach fragen.

(16 Jul '15, 14:40) saputello

Möchte ja hier niemandem zu nahe treten oder die Zeit rauben: wenn ich zwei tabular-Umgebungen innerhalb sidewaystable habe und bei beiden außerhalb von tabular je captionlabel setze, funktioniert die Referenz von außerhalb nicht eindeutig, da wohl zwei label gesetzt wurden innerhalb einer sidewaystable, das meinte auch mein Chef

(16 Jul '15, 15:14) mathilde

vfill zwischen den tabulars hat nicht funktioniert, die Tabellen klebten aneinander

(16 Jul '15, 15:17) mathilde
2

@Mathilde \vfill war ein Tippfehler im Text. In meinem Beispiel stand auch schon vorher \vspace*{2cm}. Du kannst jetzt entweder Deinem Chef glauben - er wird Dir dann auch sagen können, was zu tun ist - oder Du klickst mal auf "Öffne in Online-Editor" oberhalb meines Beispiels und überzeugst Dich selbst ...

(16 Jul '15, 15:29) esdd
2

@mathilde: Das Beispiel in dieser Antwort von @esdd zeigt, dass \label und \ref funktionieren. Wenn Dein eigener Code dagegen nicht funktioniert, dann muss Du entweder selbst ermitteln, was Du anders gemacht hast, oder endlich ein Minimalbeispiel erstellen, das Du uns zeigen kannst (bitte nicht als Antwort oder Kommentar, sondern direkt in der Frage!). Trotz des funktionierenden Beispiels von @esdd zu behaupten, es könne grundsätzlich nicht funktionieren, wird Dich hingegen nicht weiter bringen.

(16 Jul '15, 15:31) saputello

Entspannt euch, es ist Sommer. Ich muss mich entschuldigen. Ich wusste nicht, dass ihr sozusagen den Code gleich weiterverarbeitet. Ich dachte, das sei meiner, aber der war bearbeitet. Ja, ich bin langsam, aber ich bin neu hier und werde mir jetzt mal in Ruhe die bearbeitete Version ansehen. Danke

(16 Jul '15, 18:46) mathilde

Danke, es hat funktioniert. Eine Kleinigkeit: eine Tabelle wird in der Arbeit sehr spät eingefügt, an dieser Stelle hat bereits ein neues Kapitel begonnen, es passt also thematisch nicht sehr gut. Wie kann man die Position der Tabelle selbst bestimmen?

(16 Jul '15, 19:20) mathilde

Nochmal zur Aufklärung: die Aussage "Darüber hinaus habe ich die Formatierung Deines Beitrags korrigiert." hatte ich so verstanden, dass saputello meinen als puren Text eingegebenen Code-Beitrag wirklich als sichtbaren Code-Einschub hat anzeigen lassen. Ok, jetzt alles in Ordnung.

(16 Jul '15, 19:24) mathilde
1

Das Wort "Formatierung" ist in dem Kommentar oben übrigens ebenfalls mit Absicht ein Link. Und wenn Du selbst auf "Bearbeiten" klickst, sieht Du, wie ich das erreicht habe. Und in dem IMHO Duplikat dieser Frage hat Dir Stefan auch erklärt, wie man den Blockcode ganz einfach erreichen kann.

Ich habe außerdem auch Hallo und Grüße entfernt. Darauf verzichten wir hier nämlich normalerweise ebenso wie auf Hilferufe und Dankesbezeugungen. Letztere ersetzen wir mit einem Klick auf den Daumen hoch und als Fragesteller ggf. auch noch auf den Haken.

(16 Jul '15, 21:42) saputello
Ergebnis 5 von 11 show 6 more comments

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
×6
×5

gestellte Frage: 16 Jul '15, 10:01

Frage wurde gesehen: 8,618 Mal

zuletzt geändert: 17 Jul '15, 12:52