Fußnoten für Tabellen in LaTeX


86

Wenn ich \footnote{}für einen Wert in einer Tabelle arbeite, wird die Fußnote nicht angezeigt. Wie kann ich es anzeigen lassen? Ist es auch möglich, dass es am Ende der Tabelle und nicht am Ende der Seite angezeigt wird?


Antworten:


71

Dies ist eine klassische Schwierigkeit in LaTeX.

Das Problem ist, wie das Layout mit Floats (Abbildungen und Tabellen, ähnliche Objekte) und Fußnoten erstellt wird. Insbesondere ist es schwierig, einen Platz für einen Schwimmer mit der Gewissheit zu finden, dass Platz für die zugehörigen Fußnoten keine Probleme verursacht. Der Standard tabularund die figureUmgebungen versuchen es also nicht einmal.

Was kannst du tun:

  1. Fälsche es. Fügen Sie einfach einen fest codierten vertikalen Sprung am unteren Rand der Beschriftung ein und schreiben Sie die Fußnote selbst ( \footnotesizefür die Größe verwenden). Sie müssen die Symbole oder Nummern auch selbst verwalten \footnotemark. Einfach, aber nicht sehr attraktiv, und die Fußnote wird nicht am Ende der Seite angezeigt.
  2. Verwenden Sie die tabularx, longtable, threeparttable[x]( ein großes Lob an Joseph ) oder ctabledie Unterstützung dieses Verhalten.
  3. Verwalten Sie es von Hand. Verwenden Sie [h!](oder [H]mit dem Float-Paket), um zu steuern, wo der Float angezeigt wird, und platzieren Sie \footnotetextauf derselben Seite die Fußnote an der gewünschten Stelle. Verwenden Sie erneut \footnotemark, um das Symbol zu installieren. Zerbrechlich und erfordert Handwerkzeuge für jede Instanz.
  4. Das footnotesPaket bietet die savenoteUmgebung, die dazu verwendet werden kann.
  5. Minipage es (Code direkt gestohlen , und lesen Sie den Haftungsausschluss über lange Untertitel Texte in diesem Fall):
    \ begin {figure}
      \ begin {minipage} {\ textwidth}
        ...
        \ caption [Beschriftung für LOF]%
          {Echte Bildunterschrift \ Fußnote {bla}}
      \ end {minipage}
    \ end {figure}

Zusätzliche Referenz: TeX FAQ item Fußnoten in Tabellen .


texblog.org/2012/02/03/using-footnote-in-a-table scheint mir eine schöne Alternative zu sein
Pio

1
@dmckee Ist es möglich, eine dreiteilige Tabelle in der xtable zu erhalten: etwas wie print.xtable (df, tabular.environment = "threeparttable")?
Anusha

@Pio Link ist eine gute Referenz. Die Verwendung des Fußnotenpakets hat mein Problem gelöst.
JOHN

57

Der beste Weg, dies ohne Kopfschmerzen zu tun, ist die Verwendung des \tablefootnoteBefehls aus dem tablefootnotePaket. Fügen Sie Ihrer Präambel Folgendes hinzu:

\usepackage{tablefootnote}

Es funktioniert einfach ohne zusätzliche Tricks.


17
In meinem Fall wurde mit \ tablefootnote die Fußnote angezeigt, aber leider auf der Seite vor der mit der Tabelle.
Nu-hin

Haben Sie ein Beispiel, um dieses Verhalten zu demonstrieren?
Francesquini

2
Gibt es eine Möglichkeit, die Fußnote auf dieselbe Seite wie die Tabelle zu bringen?
Anusha

2
Dies funktioniert nicht für mich in verschachtelten Tabellen (Fußnoten werden so oft wiederholt wie verschachtelte Tabellen)
25.

1
Ich arbeite für mich mit float package und [H] für die Tabelle, um Fußnoten auf derselben Seite der Tabelle zu haben.
mao95

13

Eine vielleicht nicht so elegante Methode, die meiner Meinung nach nur eine Variation dessen ist, was einige andere Leute gesagt haben, besteht darin, sie einfach fest zu codieren. Viele Zeitschriften haben eine Vorlage, die in gewisser Weise Tabellenfußnoten zulässt, daher versuche ich, die Dinge ziemlich einfach zu halten. Obwohl es wirklich schon einige unglaubliche Pakete gibt, und ich denke, dieser Thread macht einen guten Job, um darauf hinzuweisen.

\documentclass{article}
\begin{document}
\begin{table}[!th]
\renewcommand{\arraystretch}{1.3} % adds row cushion
\caption{Data, level$^a$, and sources$^b$}
\vspace{4mm}
\centering
\begin{tabular}{|l|l|c|c|}
  \hline      
  \textbf{Data}  & \textbf{Description}   & \textbf{Level} & \textbf{Source} \\
  \hline      
  \hline
  Data1  &  Description. . . . . . . . . . . . . . . . . .   &  cnty & USGS \\
  \hline
  Data2  &  Description. . . . . . . . . . . . . . . . . .   &  MSA & USGS \\
  \hline
  Data3  &  Description. . . . . . . . . . . . . . . . . .   &  cnty & Census  \\
  \hline  
\end{tabular}
\end{table}
\footnotesize{$^a$ The smallest spatial unit is county, $^b$ more details in appendix A}\\
\end{document}

Ausgabe vom obigen Code


10

Wenn Ihre Tabelle bereits funktioniert tabular, können Sie sie am einfachsten ändern longtableund daran denken, sie hinzuzufügen

\usepackage{longtable}

Beispielsweise:

\begin{longtable}{ll}
  2014--2015 & Something cool\footnote{first footnote} \\
  2016-- & Something cooler\footnote{second footnote}
\end{longtable}

2
Das hat bei mir nicht funktioniert. Es wird immer noch nicht angezeigt. Muss ich noch etwas ändern, außer diese Zeile hinzuzufügen?
Emanuel Berg

2
Aha, der Start / End-Befehl der Tabelle muss ebenfalls geändert werden. Erwischt.
Emanuel Berg

1
Können Sie bitte ein vollständiges Beispiel geben? Ich kann das nicht zum
Laufen bringen

7

Verwenden Sie eine Minipage-Umgebung. Hier ist ein Beispiel:

\begin{minipage}{6cm}
\begin{tabular}{|l|c|c|}
    \hline
    A & 1 & 2 \footnote{This is a footnote.} \\
    \hline
    B & 2 & 1 \\
    \hline
    C & 3 & 3 \\
    \hline
\end{tabular}
\end{minipage}

1
In meinem Fall wird die Fußnote zweimal gedruckt, und anstatt unten auf der Seite zu sitzen, befindet sie sich direkt unter dem Tisch in der Mitte der Seite.
Kakyo

5

Die wahrscheinlich beste Lösung ist es, sich die Pakete Threeparttable / Threeparttablex anzusehen.


1
Hier finden Sie einige Informationen zur Verwendung von Threeparttable. Es hat bei mir funktioniert! dound.com/2009/06/…
Veridian

2

In Tabellen habe ich \ footnotetext verwendet.


2
\begin{figure}[H]
\centering
{\includegraphics[width=1.0\textwidth]{image}}
\caption{captiontext\protect\footnotemark}
\label{fig:}
\end{figure}
\footnotetext{Footnotetext} 

0

Was @dmckee gesagt hat.

Es ist nicht schwierig, Ihren eigenen maßgeschneiderten Code für Fußnotenwarteschlangen zu schreiben. Was Sie tun müssen, ist:

  1. Schreiben Sie Code, um Latex-Code in die Warteschlange zu stellen - wie ein Hook in Emacs: Sehr Standardtechnik, wenn nicht jeder Latex-Hacker dies tatsächlich richtig machen kann;
  2. Definieren Sie es vorübergehend neu \footnote, um Ihrer Warteschlange ein Fußnotenmakro hinzuzufügen.
  3. Stellen Sie sicher, dass der Hook aufgerufen wird, wenn die Tabelle / Figur beendet wird und wir zum regulären vertikalen Modus zurückkehren.

Wenn dies interessant ist, zeige ich einen Code, der dies tut.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.