我有两个表,我想将它们作为子表,其中部分数据有脚注。我发现正确包含子表标题和全局标题的代码如下:
\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}