在缩写词的全名中使用脚注

在缩写词的全名中使用脚注

我想在首字母缩略词的全名中使用脚注。以下是最小(不)有效示例:

\documentclass{report} 
\usepackage{acronym} 
\usepackage{footnote}
\begin{document} 
    \begin{acronym}[ABC] 
        \acro{ABC}{Alphabet\footnote{this does not work}}
    \end{acronym} 
    The \ac{ABC}\footnote{this works}.
\end{document} 

我已经在使用首字母缩略词包将首字母缩略词与出版物链接起来:

\acro{ABC}{Alphabet\cite{publication2013abc}}

但有时没有出版物,或者网站更合适:

\acro{ABC}{Alphabet\footnote{\url{http://website-for-abc.example.org}}}

有什么提示吗?


编辑: 根据反馈,这是另一个有效的最小示例:

\documentclass{report}
\usepackage{acronym}
\usepackage{hyperref}

\newcounter{mycount}
\newcounter{savefoot}

\makeatletter
\newcommand\acrofoot[3]{%
  \acro{#1}{#2\protect\footnote{#3}\setcounter{mycount}{\value{footnote}}}%
}
\let\acorig\ac
\renewcommand\ac[1]{%
  \begingroup%
  \setcounter{savefoot}{\value{footnote}}%
  \setcounter{footnote}{\value{mycount}}%
  \addtocounter{footnote}{-1}%
  \renewcommand\@makefntext[1]{}%
  \acorig{#1}%
  \setcounter{footnote}{\value{savefoot}}%
  \endgroup%
}
\makeatother


\begin{document}
    \begin{acronym}[ABC]
        \acrofoot{ABC}{Alphabet}{\url{http://abc.example.org}}
        \acro{XYZ}{The End}
        \acrofoot{Foo}{Bar}{\url{http://foo.example.org}}
    \end{acronym}
    The \ac{ABC}\footnote{this works}. Also see \ac{XYZ} and \ac{Foo}.
\end{document} 

问题:正如您在下图中看到的,脚注编号是错误的。 福

谨致问候,亚历克斯

答案1

如果您不介意创建一个新命令\acfoot\ac在这些情况下使用它,这里有一个解决方案:

\documentclass{report}
\usepackage{acronym}
%\usepackage{footnote}

\newcounter{mycount}
\newcounter{savefoot}

\makeatletter
\newcommand\acfoot[1]{%
  \begingroup%
  \setcounter{savefoot}{\value{footnote}}%
  \setcounter{footnote}{\value{mycount}}%
  \addtocounter{footnote}{-1}%
  \renewcommand\@makefntext[1]{}%
  \ac{#1}%
  \setcounter{footnote}{\value{savefoot}}%
  \endgroup%
}
\makeatother

\begin{document}
    \begin{acronym}[ABC]
        \acro{ABC}{Alphabet\protect\footnote{this works}\setcounter{mycount}{\value{footnote}}}
    \end{acronym}
    The \acfoot{ABC}\footnote{this works, too}.
\end{document} 

输出:

在此处输入图片描述

请注意,您还可以定义一个新命令\acrofoot

\newcommand\acrofoot[3]{%
  \acro{#1}{#2\protect\footnote{#3}\setcounter{mycount}{\value{footnote}}}%
}

并使用它来代替\acro将脚注文本作为第三个参数:

\acrofoot{ABC}{Alphabet}{this works}

附录

该解决方案效果更好,但有其局限性(例如,不能在首字母缩略词定义中使用数字):

\documentclass{report}
\usepackage{acronym}
\usepackage[colorlinks]{hyperref}

\newcounter{savefoot}

\makeatletter
\newcommand\acfoot[1]{%
  \begingroup%
  \setcounter{savefoot}{\value{footnote}}%
  \setcounter{footnote}{\value{#1count}}%
  \addtocounter{footnote}{-1}%
  \renewcommand\@makefntext[1]{}%
  \ac{#1}%
  \setcounter{footnote}{\value{savefoot}}%
  \endgroup%
}
\makeatother

\newcommand\acrofoot[3]{%
  \newcounter{#1count}\acro{#1}{#2\protect\footnote{#3}\setcounter{#1count}{\value{footnote}}}%
}


\begin{document}
    \begin{acronym}[ABC]
        \acrofoot{ABC}{Alphabet}{\url{http://abc.example.org}}
        \acro{XYZ}{The End}
        \acrofoot{Foo}{Bar}{\url{http://foo.example.org}}
    \end{acronym}

    The \acfoot{ABC}\footnote{this works}. Also see \ac{XYZ} and \acfoot{Foo}.
\end{document} 

输出:

在此处输入图片描述

诀窍是为每个定义一个新的计数器\acrofoot,并用它来编号脚注。

相关内容