子表中的脚注

子表中的脚注

我有两个表,我想将它们作为子表,其中部分数据有脚注。我发现正​​确包含子表标题和全局标题的代码如下:

\begin{table*}[h]
\subfloat[Caption1.\label{tab:subtable1}]{
\centering
\begin{tabular}{|c|c|c|}
  \hline
   A1 & B1 & C1 \\
  \hline
   a11\footnote{\label{fn1}Footnote1} & b11\textsuperscript{\ref{fn1}} & c11 \\
  \hline
   a12 & b12 & c12 \\
  \hline
\end{tabular}
}
\subfloat[Caption2.\label{tab:subtable2}]{
\centering
\begin{tabular}{|c|c|c|}
  \hline
   A2 & B2 & C2 \\
  \hline
   a21\footnote{\label{fn2}Footnote2} & b21\textsuperscript{\ref{fn2}} & c21 \\
  \hline
   a22 & b22 & c22 \\
  \hline
\end{tabular}
}

\caption{Global caption.}
\end{table*}

此代码对于标题(子表的标题以“(a)”和“(b)”开头,全局标题以“表 5.1”开头)运行良好,但脚注(例如上面的“脚注1”和“脚注2”)没有出现在任何地方。

对于脚注,我看到了使用“minipage”的选项,但必须使用它来代替上面的“subfloat”。在这种情况下,脚注列表正确地显示在两个表格下方,但标题不符合预期:子表格的标题以“表 5.1”和“表 5.2”开头,脚注显示在第二个标题下方,在脚注下方,有一个以“表 5.3”开头的全局标题。

如果有人知道如何正确地在同一列中显示正确的标题和脚注列表,我真的很感谢你。另外,有没有办法在两个(或更多)列上显示脚注,而不是在单个列上显示(就像“迷你页面”显示它们一样)?提前感谢你的帮助。

答案1

您无法在浮动内容内创建脚注。您可以将脚注移到\footnotetext浮动内容之外,但浮动内容可能会被移至另一页。不过,您可以在小页面中放置脚注。

需要注意的是,\footnotemark使用\stepcounter而不是\refstepcounter,因此\ref{fn1}实际上会抓取\thesubfigure。此外,minipage 将 的定义更改为\thefootnote使用\alph而不是\arabic,而 tabular 显然将其改回原样。

\documentclass[twocolumn]{article}
\usepackage{subfig}
%\usepackage{tablefootnote}

\newcommand{\footnotelabel}[1]% #1 = label
 {\refstepcounter{footnote}%
  \label{#1}%
  \footnotemark[\value{footnote}]}

\begin{document}
\begin{table*}[h]
\begin{minipage}{\linewidth}
\def\thempfn{\arabic{footnote}}% normal
\centering
\subfloat[Caption1.\label{tab:subtable1}]{

\begin{tabular}{|c|c|c|}
  \hline
   A1 & B1 & C1 \\
  \hline
   a11\footnotelabel{fn1} & b11\textsuperscript{\ref{fn1}} & c11 \\
  \hline
   a12 & b12 & c12 \\
  \hline
\end{tabular}
}\footnotetext[\ref{fn1}]{Footnote1}
\subfloat[Caption2.\label{tab:subtable2}]{
\centering
\begin{tabular}{|c|c|c|}
  \hline
   A2 & B2 & C2 \\
  \hline
   a21\footnotelabel{fn2} & b21\textsuperscript{\ref{fn2}} & c21 \\
  \hline
   a22 & b22 & c22 \\
  \hline
\end{tabular}
}\footnotetext[\ref{fn2}]{Footnote2}

\caption{Global caption.}
\end{minipage}
\end{table*}
\end{document}

演示

答案2

一种解决方法是将表格嵌套在table浮动的另一个表格中并使用该tablefootnote包。

脚注将会起作用。

然后在 parboxes 中的表格下添加标题。标题的位置会比平时低一点,您可能能够优化此代码。

输出

在此处输入图片描述

梅威瑟:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tabularx}
\usepackage{subcaption}
\usepackage{tablefootnote}

\begin{document}

\begin{table}[h!]
\begin{tabular}{p{0.5\columnwidth}  p{0.5\columnwidth} }
\centering
\begin{tabular}{|c|c|c|}
  \hline
   A1 & B1 & C1 \\
  \hline
   a11\tablefootnote{\label{fn1}Footnote1} & b11 & c11 \\
  \hline
   a12 & b12 & c12 \\
  \hline
\end{tabular}\par
&
\centering
\begin{tabular}{|c|c|c|}
  \hline
   A2 & B2 & C2 \\
  \hline
   a21\tablefootnote{\label{fn1}Footnote1} & b21 & c21 \\
  \hline
   a22 & b22 & c22 \\
  \hline
\end{tabular}\\
\end{tabular}
\end{table}
\parbox[b]{0.5\columnwidth}{
\centering
\captionsetup[subtable]{labelformat=parens}
\captionsetup{type=subtable}
\caption{Caption1.\label{tab:subtable1}}
}
\parbox[b]{0.5\columnwidth}{
\centering
\captionsetup[subtable]{labelformat=parens}
\captionsetup{type=subtable}
\caption{Caption2.\label{tab:subtable2}}
}

\captionof{table}{Global caption.}


\end{document}

相关内容