如何使脚注仅在显示解决方案时出现?

如何使脚注仅在显示解决方案时出现?

我正在尝试为使用该课程编写的考试解决方案添加脚注exam

以下代码显示脚注标记但不显示脚注:

 \documentclass[12pt,a4paper,answers]{exam}
    
    \begin{document}
    
    How are you today?
    
    \begin{solution}
    Fine really\footnote{Except for this footnote issue.}.
    \end{solution}
    
    \end{document}

answers此代码同时显示脚注和脚注,但即使类中没有该选项,脚注仍然存在exam

\documentclass[12pt,a4paper,answers]{exam}
\usepackage{footnote}
\makesavenoteenv{solution}

\begin{document}

How are you today?

\begin{solution}
Fine really\footnote{Except for this footnote issue.}.
\end{solution}

\end{document}

我希望选项answers开启时显示所有内容,选项关闭时不显示任何内容。

任何想法?

答案1

以下似乎有效:

  • 用在环境关闭后\footnote发出的更新版本进行替换。\footnotetext[<num>]{<footnote>}solution

  • 一些技巧用于扩展与脚注相关的值,以允许同一个脚注中有多个脚注solution

在此处输入图片描述

%\documentclass{exam}
\documentclass[answers]{exam}

% Just for this example
\setlength{\textheight}{10\baselineskip}

\usepackage{etextools,etoolbox}

\AtBeginEnvironment{solution}{%
  \let\oldfootnote\footnote% Store original footnote
  \renewcommand{\footnote}[1]{% Update \footnote
    \oldfootnote{#1}% Original footnote
    \ifprintanswers
      \begingroup\edef\x{\endgroup\AfterGroup{\noexpand\footnotetext[\thefootnote]{#1}}}\x%
    \fi
  }%
}

\begin{document}

How are you today?

\begin{solution}
Fine really\footnote{Except for this footnote issue.}.
Or just okay\footnote{No more footnote issues.}.
\end{solution}

\end{document}

相关内容