练习提示系统

练习提示系统

几个月前,我读了 Evan Chen 的《数学奥林匹克中的欧几里得几何》,他有一个非常酷的提示系统,我也想加入其中。对于书中的许多问题,他都提供了提示,例如:

然后在书的最后,他按升序列出了所有这些数字。现在,我怀疑他会手动列出这些数字,他宁愿随机生成数字,然后使用一些命令引用它们。但是,我真的不知道该怎么做?有人知道怎么做吗?

答案1

定义提示,使其具有标签。

\documentclass{article}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{xcolor}
\usepackage{hyperref}

\hypersetup{
  colorlinks,
  linkcolor=blue!60,
}

\theoremstyle{definition}
\newtheorem{problem}{Problem}[section]
\newtheorem{hint}{Hint}

\ExplSyntaxOn
\NewDocumentCommand{\addhints}{m}
 {
  \unskip
  \space
  \mbox
   {
    \footnotesize
    \textbf{Hints:}~
    \clist_map_inline:nn { #1 } { \ref{##1}~ }
    \unskip
   }
 }
\ExplSyntaxOff

\begin{document}

\section{Problems}

\begin{problem}
Show that for something we have something else. \addhints{ab,uv}
\end{problem}

\section{Hints}

\begin{hint}\label{ab}
Remember that $1+1=2$
\end{hint}

\begin{hint}\label{cd}
Some complicated and useless hint.
\end{hint}

\begin{hint}\label{uv}
This hint is very useful.
\end{hint}

\end{document}

在此处输入图片描述

相关内容