LaTeX中表格的脚注


Answers:


72

这是LaTeX中的经典难题。

问题是如何使用浮点数(图和表格,类似的对象)和脚注进行布局。特别是,很难为浮动元素选择合适的位置以确保为相关脚注腾出空间不会造成麻烦。因此,标准tabularfigure环境甚至都不要尝试。

你能做什么:

  1. 假装。只需在标题底部放置一个硬编码的垂直跳格,然后自己编写脚注即可(用作\footnotesize尺寸)。您还必须管理符号或自己用编号\footnotemark。简单,但不是很吸引人,并且脚注没有出现在页面底部。
  2. 使用tabularxlongtablethreeparttable[x](荣誉给约瑟夫)或ctable支持这种行为。
  3. 手动管理。使用[h!](或[H]与float包一起)控制float出现的位置,并\footnotetext在同一页面上将脚注放在所需的位置。同样,使用\footnotemark来安装符号。易碎,每个实例都需要手工工具。
  4. footnotes软件包提供了savenote可用于执行此操作的环境。
  5. 对其进行微型处理(代码被完全盗用,并在这种情况下阅读有关长标题文本的免责声明):
    \ begin {figure}
      \ begin {minipage} {\ textwidth}
        ...
        \ caption [LOF字幕]%
          {实际标题\脚注{blah}}
      \ end {minipage}
    \ end {图}

附加参考:TeX常见问题解答表中的脚注


texblog.org/2012/02/03/using-footnote-in-a-table在我看来是一个不错的选择
Pio

1
@dmckee是否有可能在xtable中获得threeparttable:类似于print.xtable(df,tabular.environment =“ threeparttable”)的东西?
Anusha 2014年

@Pio链接是一个很好的参考。使用脚注包解决了我的问题。
JOHN

为什么投票最多的答案不在最前面?
Eduardo Reis

59

做到这一点的最佳方法是使用程序包中的 \tablefootnote命令tablefootnote。在您的序言中添加以下内容:

\usepackage{tablefootnote}

它无需其他技巧即可工作。


17
在我的情况下,使用\ tablefootnote可以显示脚注,但不幸的是,该脚注出现在带有表格的脚注之前的页面上。
Nu-hin

您是否有一个示例来演示此行为?
Francesquini

2
有什么方法可以将脚注放在表格的同一页上?
Anusha 2014年

3
这在嵌套表格中对我不起作用(脚注重复嵌套表格的次数很多)
fffred

1
为我使用float包和表格的[H],以便在表格的同一页上添加脚注。
mao95

15

我认为这可能不是那么优雅的方法,只是对其他人所说的进行了变体,只是对其进行了硬编码。许多期刊都有一个模板,该模板以某种方式允许使用表格脚注,因此我尝试使内容保持基础。尽管确实有一些令人难以置信的软件包,但我认为该线程可以很好地指出这一点。

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

以上代码的输出


11

如果您的表已经在使用tabular,那么最简单的方法就是将其切换到longtable,记住要添加

\usepackage{longtable}

例如:

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

2
那对我没用。它仍然没有出现。除了添加该行外,我还有什么要更改的吗?
伊曼纽尔·贝格

2
啊哈,表的开始/结束命令也必须更改。知道了
伊曼纽尔·伯格

1
你能提供一个完整的例子吗?我无法
使它

7

使用小型页面环境。这是一个例子:

\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
就我而言,它两次打印脚注,而不是坐在页面底部,而是位于页面中间的桌子正下方。
kakyo


2

在表中,我使用了\ footnotetext。


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

0

@dmckee说了什么。

编写自己的定制脚注排队代码并不难。您需要做的是:

  1. 编写代码以将Latex代码排队-就像emacs中的钩子一样:这是非常标准的技术,即使不是每个Latex黑客都可以做到这一点;
  2. 暂时重新定义 \footnote以将脚注宏添加到您的队列中;
  3. 确保在表/图形退出时挂钩被调用,并且我们返回常规垂直模式。

如果这很有趣,我将显示一些执行此操作的代码。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.