将一个脚注符号从数字更改为星号

将一个脚注符号从数字更改为星号

我想将某个特定脚注的脚注符号改为星号“*”,该脚注位于表格中。在文档的其余部分,脚注默认显示,并带有编号,并且将保持这种状态。

注意:表格本身还有其他脚注,默认情况下应保留字母。

示例代码:

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

相关内容