web-dev-qa-db-fra.com

Notes de bas de tableau pour LaTeX

Quand je fais \footnote{} pour une valeur dans un tableau, la note de bas de page n'apparaît pas. Comment puis-je le faire apparaître? Aussi, est-il possible de le faire apparaître au bas du tableau plutôt qu'au bas de la page?

77
polk

C'est une difficulté classique dans LaTeX.

Le problème est de savoir comment faire la mise en page avec des flottants (figures et tableaux, des objets similaires) et des notes de bas de page. En particulier, il est difficile de choisir une place pour un char avec la certitude que laisser de la place aux notes de bas de page associées ne causera pas de problèmes. Ainsi, les environnements standard tabular et figure n'essaient même pas.

Que pouvez-vous faire:

  1. Faux. Il suffit de placer un saut vertical codé en dur au bas de la légende, puis d'écrire vous-même la note de bas de page (utilisez \footnotesize pour la taille). Vous devez également gérer les symboles ou vous numéroter vous-même avec \footnotemark. Simple, mais pas très attrayant, et la note de bas de page n’apparaît pas au bas de la page.
  2. Utilisez le tabularx, longtable, threeparttable[x] (bravo à Joseph ) ou ctable qui prennent en charge ce comportement.
  3. le gérer à la main. Utilisez [h!] (ou [H] avec le paquet float) pour contrôler où le float apparaîtra, et \footnotetext sur la même page pour mettre la note de bas de page où vous le souhaitez. Encore une fois, utilisez \footnotemark pour installer le symbole. Fragile et nécessite un outillage à la main chaque fois.
  4. Le paquetage footnotes fournit l'environnement savenote, qui peut être utilisé pour cela.
  5. Minipage-le (code volé carrément , et lisez l'avertissement concernant les textes de légende longue dans ce cas):
\begin {figure} 
\begin {minipage} {\ textwidth} 
 ... 
\caption [Légende pour LOF]% 
 {Légende réelle\note {bla}} 
\End {minipage} 
\End {figure} 

Référence supplémentaire: TeX FAQ item Notes de bas de page dans les tableaux .

68
dmckee

La meilleure façon de le faire sans aucun mal de tête est d'utiliser le \tablefootnote commande du package tablefootnote. Ajoutez ce qui suit à votre préambule:

\usepackage{tablefootnote}

Cela fonctionne sans avoir besoin de trucs supplémentaires.

53
Francesquini

Si votre table fonctionne déjà avec tabular, le plus simple est de passer à longtable, sans oublier d'ajouter

\usepackage{longtable}

Par exemple:

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

Utilisez l'environnement minipage. Voici un exemple:

\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}
7
wgzhao

Une méthode peut-être pas si élégante, qui, je pense, n’est qu’une variante de ce que d’autres ont dit, consiste à la coder en dur. De nombreuses revues ont un modèle qui permet en quelque sorte les notes de bas de tableau, alors j'essaie de garder les choses assez basiques. Bien que, il y ait vraiment des paquets incroyables déjà là-bas, et je pense que ce fil fait un bon travail pour le souligner.

\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}

Output from above code

6
Scott Worland

La meilleure solution est probablement d’examiner les packages threeparttable/threeparttablex.

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

Dans les tableaux, j'ai utilisé\footnotetext.

2
M. S. B.

Ce que @dmckee a dit.

Il n'est pas difficile d'écrire votre propre code sur mesure de mise en file d'attente de notes de bas de page. Ce que vous devez faire c'est:

  1. Écrivez le code pour mettre en file d'attente le code Latex - comme un crochet dans emacs: une technique très standard, sinon chaque pirate informatique Latex peut le faire correctement;
  2. Redéfinir temporairement \footnote pour ajouter une macro de note de bas de page à votre file d'attente;
  3. Assurez-vous que le hook est appelé à la sortie de la table/figure et que vous revenez au mode vertical normal.

Si cela est intéressant, je montre un code qui fait cela.

0
Charles Stewart