为什么 \usepackage{tablefootnote} 将脚注放在随机位置

为什么 \usepackage{tablefootnote} 将脚注放在随机位置

我想footnote在表格中创建一个。所以我用了tablefootnote http://www.ctan.org/tex-archive/macros/latex/contrib/tablefootnote按照谷歌搜索的建议去做,因为正常的\footnote操作在表格内不起作用。

但是,实际的脚注似乎有时会出现在上一页的底部,有时会出现在下一页的底部。

我希望脚注显示在同一页面上。

示例 1,脚注显示在上一页的底部

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

Mathematica 图形

示例 2,脚注显示在下一页

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

Mathematica 图形

Miktex 2.9,最新版本。

答案1

页面底部的浮动元素的脚注会产生这种不良效果,因为浮动元素可能会浮动到另一页。如果确实需要表格(或浮动元素,一般来说)的脚注,最好在浮动元素后立即使用脚注,例如,可以使用threeparttable或者ctable包。

使用的示例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}

在此处输入图片描述

同一张表的使用方法如下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}

在此处输入图片描述

这两个软件包都提供了一些自定义注释格式的可能性;请参阅软件包的文档

答案2

我听从了贡萨洛·梅迪纳的答案使用threeparttable,但我在将标题正确置于表格上方时遇到了一些麻烦。它固定在表格的左边缘,但由于标题很长,它超出了表格的左边缘。

我的解决方案是将其移至\begin{threeparttable}标题下方,表格环境之前。这样,标题就会位于浮动内的中心,并占据其整个宽度(这可能是您想要的,也可能不是您想要的)。脚注位于表格下方,并且仅延伸至表格的整个宽度,正如预期的那样。

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

在此处输入图片描述

相关内容