我想将某个特定脚注的脚注符号改为星号“*”,该脚注位于表格中。在文档的其余部分,脚注默认显示,并带有编号,并且将保持这种状态。
注意:表格本身还有其他脚注,默认情况下应保留字母。
示例代码:
\begin{table}[!h]
\begin{tabular}{c|c}
\hline
First Name & Dennis \\ \hline
Last Name & the Menace \footnote{Lettered footnote.} \\ \hline
Age & 12 \footnote{Asterisk footnote!} \\ \hline
Music & Chop Suey \footnote{Second lettered footnote.} \\ \hline
Shoe size & 15 \\ \hline
\end{tabular}
\caption[Denis information.]{Some other description.}
\label{tab:denisInfo}
\end{table}
结果:
答案1
您可以尝试这样做:
\documentclass[a4paper, 12pt]{article}
\usepackage{footnote}
\usepackage{footmisc}
\makesavenoteenv{tabular}
\makesavenoteenv{table}
\renewcommand{\thefootnote}{\alph{footnote}}
\newcommand{\astfootnote}[1]{%
\let\oldthefootnote=\thefootnote%
\setcounter{footnote}{0}%
\renewcommand{\thefootnote}{\fnsymbol{footnote}}%
\footnote{#1}%
\let\thefootnote=\oldthefootnote%
}
\begin{document}
\begin{table}[!h]
\begin{tabular}{c|c}
\hline
First Name & Dennis \\ \hline
Last Name & the Menace \footnote{Lettered footnote.} \\ \hline
Age & 12 \astfootnote{Asterisk footnote!} \\ \hline
Music & Chop Suey \footnote{Second lettered footnote.} \\ \hline
Shoe size & 15 \\ \hline
\end{tabular}
\caption[Denis information.]{Some other description.}
\label{tab:denisInfo}
\end{table}
\end{document}
输出:
答案2
这是改进和修正的版本koleygr 的回答。它允许您混合使用两组脚注。使用\footnote
获取下一个编号脚注(1、2、3、...)。使用\symfootnote
获取下一个符号脚注(*、†、‡、...)。您可以自由使用\label
和\ref
以通常的方式引用这两种脚注。
只是为了好玩,如果您已经用完了其中的 9 个符号,我添加了一行(以 开头\ifnum
),它会环绕到 *、†、‡、... 系列的开头。
\newcounter{savefootnote}
\newcounter{symfootnote}
\newcommand{\symfootnote}[1]{%
\setcounter{savefootnote}{\value{footnote}}%
\setcounter{footnote}{\value{symfootnote}}%
\ifnum\value{footnote}>8\setcounter{footnote}{0}\fi%
\let\oldthefootnote=\thefootnote%
\renewcommand{\thefootnote}{\fnsymbol{footnote}}%
\footnote{#1}%
\let\thefootnote=\oldthefootnote%
\setcounter{symfootnote}{\value{footnote}}%
\setcounter{footnote}{\value{savefootnote}}%
}
您的问题有点复杂,因为您的表格使用了带字母的脚注(a、b、c……)。这可能是因为它属于 minipage。在该环境中,该\footnote
命令使用单独的mpfootnote
计数器(在环境开始时将其设置为零)。因此,下面是一个更完整的解决方案,它使一切在 minipage 环境中也能正常工作。这与我之前的解决方案相同,但现在每行引用计数器的内容都会给出二命令。第一个命令处理普通计数器,第二个命令处理它们的 minipage 对应项。(每行两个命令通常不是好的做法,但在这种情况下,它显示了正在发生的事情的结构,并且可能更容易维护。)
\usepackage{etoolbox}
\newcounter{savefootnote}\newcounter{savempfootnote}
\newcounter{symfootnote}\newcounter{symmpfootnote}
\AtBeginEnvironment{minipage}{\setcounter{symmpfootnote}{0}}
\newcommand{\symfootnote}[1]{%
\setcounter{savefootnote}{\value{footnote}}\setcounter{savempfootnote}{\value{mpfootnote}}%
\setcounter{footnote}{\value{symfootnote}}\setcounter{mpfootnote}{\value{symmpfootnote}}%
\ifnum\value{footnote}>8\setcounter{footnote}{0}\fi\ifnum\value{mpfootnote}>8\setcounter{mpfootnote}{0}\fi%
\let\oldthefootnote=\thefootnote\let\oldthempfootnote=\thempfootnote%
\renewcommand{\thefootnote}{\fnsymbol{footnote}}\renewcommand{\thempfootnote}{\fnsymbol{mpfootnote}}%
\footnote{#1}%
\let\thefootnote=\oldthefootnote\let\thempfootnote=\oldthempfootnote%
\setcounter{symfootnote}{\value{footnote}}\setcounter{symmpfootnote}{\value{mpfootnote}}%
\setcounter{footnote}{\value{savefootnote}}\setcounter{mpfootnote}{\value{savempfootnote}}%
}