wie kann ich eine Überschrift über einer langen Tabelle einfügen?

wie kann ich eine Überschrift über einer langen Tabelle einfügen?

Ich möchte einen Longtable wie diesen haben:

\begin{center}
\begin{longtable}{|p{2cm}|p{3cm}|p{7cm}|p{3cm}|}
\caption{my caption}
\hline
1 & 2 & 3 & 4\\ 
\hline 
\hline
1 & 2 & 3 & 4\\
\hline
1 & 2 & 3 & 4\\
\hline
.
.
.
1 & 2 & 3 & 4\\
\hline

\label{variability_impl_mech}
\end{longtable}
\end{center}

aber wenn ich versuche, dies zu kompilieren, erhalte ich diesen Fehler: !Misplaced \noalign

wenn ich die Überschrift nach der letzten \hline schreibe, funktioniert es einwandfrei. Ich möchte die Überschrift oben in meiner Tabelle haben, aber dieser Fehler tritt auf.

Antwort1

\begin{longtable}{|p{2cm}|p{3cm}|p{7cm}|p{3cm}|}
\caption{my caption}\\    %%%%<===
\hline

und Sie sollten \labelnach einfügen \caption, das macht mehr Sinn.

Antwort2

Eine andere Möglichkeit: Verwenden Sie Kopf und ersten Kopf:

\documentclass{article}
\usepackage{longtable}
\begin{document}

\begin{longtable}{|p{2cm}|p{3cm}|p{7cm}|p{3cm}|}
\caption{my caption}
\label{variability_impl_mech}
\endfirsthead
\endhead
\hline
1 & 2 & 3 & 4\\ 
%\hline 
\hline
1 & 2 & 3 & 4\\
\hline
1 & 2 & 3 & 4\\
\hline
.
.
.
1 & 2 & 3 & 4\\
\hline
\end{longtable}

\end{document}

Antwort3

Ich hatte damit ein Problem, da ich meine Tabellen mit der Bibliothek Pandas aus Python erstelle. Auf diese Weise.

print(tabla_1.to_latex(index = False, longtable=True))

Das Problem besteht jedoch darin, dass Pandas meine Longtables folgendermaßen generieren:

\begin{longtable}{lrrr}
\toprule
                  Nombre &  No datos &  P. rango &  total\_isnull \\
\midrule

Ich habe also versucht, \labelund \captionvor zu setzen \toprule, aber es kompiliert nie. Meine Lösung war also, \toprulefür zu ändern \hline, und dann haben Sie Ihre Kompilierung, Beispiel:

\begin{longtable}{lrrr}
\label{YourLabel}
\Caption{YourCaption}
\hline
                  Nombre &  No datos &  P. rango &  total\_isnull \\
\midrule

verwandte Informationen