我想在表格中添加多个脚注。但是当我到达第一个脚注时,脚注计数器已经增加太多次了\footnotetext
。如何才能让这个功能正常工作?
\documentclass{article}
\begin{document}
\ \vfill\
\begin{tabular}{|r|l|}
\hline
First & footnote.\footnotemark \\
Second & footnote.\footnotemark \\
Third & footnote.\footnotemark \\
\hline
\end{tabular}
\footnotetext{First} \footnotetext{Second} \footnotetext{Third}
Fourth footnote.\footnote{Four}
\
\end{document}
答案1
确实\footnotemark
会增加计数器的值,但是在使用footnote
时会不同步。\footnotetext
必须重置footnote
计数器后环境tabular
对国家前。这可以手动完成,但如果值发生变化,或者使用虚拟计数器完成,可能会变得乏味,该计数器保存footnote
之前的计数器tabular
,然后恢复为之后的原始数字tabular
(这里使用包中的\AtBeginEnvironment
和\AfterEndEnvironment
命令完成。etoolbox
但是,\footnotetext
不会增加footnote
。请使用pretocmd
-- 方法或使用包装器宏\myfootnotetext
来自动执行此步骤。(或者手动执行。)
\documentclass{article}
\newcommand{\myfootnotetext}[1]{%
\stepcounter{footnote}\footnotetext{#1}%
}
\newcounter{dummycounter}
\usepackage{etoolbox}
\AtBeginEnvironment{tabular}{%
\setcounter{dummycounter}{\value{footnote}}%
}
\AfterEndEnvironment{tabular}{%
\setcounter{footnote}{\value{dummycounter}}%
}
\begin{document}
\begin{tabular}{|r|l|}
\hline
First & footnote.\footnotemark \\
Second & footnote.\footnotemark \\
Third & footnote.\footnotemark \\
\hline
\end{tabular}
\myfootnotetext{First}
\myfootnotetext{Second} \myfootnotetext{Third}
Fourth footnote.\footnote{Four}
%\
\end{document}
答案2
如果您想考虑使用table
环境,该tablefootnote
包可以解决您的问题:
\documentclass[colorlinks]{article}%
\usepackage{footnotebackref}
\usepackage{tablefootnote}
\begin{document}
\mbox{}\vfill
A first footnote\footnote{First}
\begin{table}[htbp]
\renewcommand\arraystretch{1.5}
\begin{tabular}{|r|l|}
\hline
First & footnote.\tablefootnote{Second} \\
Second & footnote.\tablefootnote{Third} \\
Third & footnote.\tablefootnote{Fourth} \\
\hline
\end{tabular}
\end{table}
Fifth footnote.\footnote{Fifth}
\end{document}