por que \usepackage{tablefootnote} coloca a nota de rodapé em locais aleatórios

por que \usepackage{tablefootnote} coloca a nota de rodapé em locais aleatórios

Eu queria fazer footnoteuma mesa. Então eu useitablefootnote http://www.ctan.org/tex-archive/macros/latex/contrib/tablefootnotefazer isso conforme sugerido pela pesquisa do Google, já que o normal \footnotenão funciona dentro de tabelas.

No entanto, parece que a nota de rodapé real às vezes aparece na parte inferior da página anterior e às vezes na parte inferior da página seguinte.

Gostaria que a nota de rodapé aparecesse na mesma página.

Exemplo 1, a nota de rodapé aparece na parte inferior da página anterior

\documentclass[12pt,notitlepage]{article}%
\usepackage{float}%
\usepackage{lipsum}
\usepackage{tablefootnote}

\begin{document}
\section{A}
\lipsum[4-10]
\section{B}
\begin{table}[htp]
\begin{center}
\begin{tabular}{|l|l|l|}\hline
$e$                      & 0.97774    & 0.9935      \\ \hline
semimajor axis $a$       & 300000     & 262413      \\ \hline
true anamoly $f$         & 163.76     & 176.08       \\\hline
semimajor axis $a$       & 300000     & 262413  \\ \hline
true anamoly $f$         & 163.76     & 176.08     \\\hline
$r_p$                    & 6678       & 1689
  \tablefootnote{spacecraft will hit earth on way back since $r_p<r_{earth}$} \\\hline
\end{tabular}
\caption{Summary table for non-tangential per and post flyby the moon}
\label{tab:part_3_1_summary}
\end{center}
\end{table}
\end{document}

Gráficos matemáticos

Exemplo 2, nota de rodapé aparece na próxima página

\documentclass[12pt,notitlepage]{article}%
\usepackage{float}%
\usepackage{lipsum}
\usepackage{tablefootnote}

\begin{document}
\section{A}
\lipsum[4-6]
\section{B}
\begin{table}[htp]
\begin{center}
\begin{tabular}{|l|l|l|}\hline
semimajor axis $a$       & 300000  & 262413    \\ \hline
true anamoly $f$         & 163.76   & 176.08   \\\hline
$r_p$                    & 6678 & 1689
 \tablefootnote{spacecraft will hit earth on way back since $r_p<r_{earth}$} \\\hline
\end{tabular}
\caption{Summary table for non-tangential per and post flyby the moon}
\label{tab:part_3_1_summary}
\end{center}
\end{table}
\section{C}
\lipsum[4-10]

\end{document}

Gráficos matemáticos

Miktex 2.9, mais recente.

Responder1

As notas de rodapé na parte inferior da página para um flutuador produzirão esse efeito indesejado, pois o flutuador pode flutuar para outra página. Caso sejam realmente necessárias notas de rodapé para tabelas (ou floats, em geral), é melhor usar notas de rodapé imediatamente após o float que pode ser obtido usando, por exemplo, othreeparttableouctablepacotes.

Um exemplo usando threeparttable:

\documentclass[12pt,notitlepage]{article}%
\usepackage{lipsum}
\usepackage{threeparttable}

\begin{document}

\section{A}
\lipsum[4-6]
\section{B}
\begin{table}
\centering
\begin{threeparttable}
\caption{Summary table for non-tangential per and post flyby the moon}
\label{tab:part_3_1_summary}
\begin{tabular}{|l|l|l|}\hline
semimajor axis $a$       & 300000  & 262413    \\ \hline
true anamoly $f$         & 163.76   & 176.08   \\\hline
$r_p$                    & 6678 & 1689\tnote{1} \\ \hline
\end{tabular}
\begin{tablenotes}
\item[1] spacecraft will hit earth on way back since $r_p<r_{earth}$
\end{tablenotes}
\end{threeparttable}
\end{table}
\section{C}
\lipsum[4-10]

\end{document}

insira a descrição da imagem aqui

E a mesma tabela usando ctable:

\documentclass[12pt,notitlepage]{article}%
\usepackage{lipsum}
\usepackage{ctable}

\begin{document}

\section{A}
\lipsum[4-6]
\section{B}
\ctable[
caption = Summary table for non-tangential per and post flyby the moon.
label={tab:part_3_1_summary}
]{|l|l|l|}
{\tnote[1]{spacecraft will hit earth on way back since $r_p<r_{earth}$}}
{
\hline
semimajor axis $a$       & 300000  & 262413  \\ \hline
true anamoly $f$         & 163.76   & 176.08   \\ \hline
$r_p$ & 6678 & 1689 \\ 
\hline
}
\section{C}
\lipsum[4-10]

\end{document}

insira a descrição da imagem aqui

Ambos os pacotes oferecem algumas possibilidades de customização para a formatação das notas; consulte a documentação dos pacotes

Responder2

Eu segui o conselho emGonzalo Medinaresposta de usando threeparttable, mas tive alguns problemas para centralizar a legenda acima da minha tabela corretamente. Estava ancorado na borda esquerda da mesa, mas como a legenda era bastante longa, estendia-se além da borda esquerda da mesa.

Minha solução foi passar \begin{threeparttable}para baixo da legenda, antes do ambiente tabular. Dessa forma, a legenda fica centralizada dentro do float e utiliza toda a sua largura (que pode ou não ser a que você deseja). A nota de rodapé está abaixo da tabela e se estende apenas por toda a largura da tabela, conforme esperado.

\documentclass[12pt,notitlepage]{article}%
\usepackage{threeparttable}

\begin{document}

\begin{table}
\centering
\caption{Here's my long caption text that I want centered on the page.
\label{tab:simulation_parameters}}
\begin{threeparttable}
\begin{tabular}{lp{1.7in}}
\hline
Material & Index of refraction\\ 
\hline
silicon & 3.47772\\
silicon dioxide & 1.54\\
silicon nitride & 2.217\\
HSQ\tnote{a} & 1.39\\ \hline
\end{tabular}
\begin{tablenotes}
\item[a] Here's my footnote.
\end{tablenotes}
\end{threeparttable}
\end{table}

\end{document}

insira a descrição da imagem aqui

informação relacionada