![Exsheets:对一道题有两种解决方案,并分别打印出来](https://linux22.com/image/349623/Exsheets%EF%BC%9A%E5%AF%B9%E4%B8%80%E9%81%93%E9%A2%98%E6%9C%89%E4%B8%A4%E7%A7%8D%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88%EF%BC%8C%E5%B9%B6%E5%88%86%E5%88%AB%E6%89%93%E5%8D%B0%E5%87%BA%E6%9D%A5.png)
我正在使用 exsheets 编写一份包含数学问题的文档,并在文档末尾打印出每个问题的数值解。但是,我还想在另一部分中包含所选问题的计算解。因此,实际上我想要做的是能够为所选问题编写两组解决方案。在一个部分打印出一组解决方案,在另一个部分打印出另一组(计算)解决方案。
我可以手动写下可行的解决方案集,但我相信这可能会在以后的编辑中引起很多麻烦,因为问题计数器会不同步。
我该怎么做呢?
目前我有这样的东西:
\begin{question}%Y11C7G1
Differentiate each function using the quotient rule. Express your answer in fully factored form and state any values of $x$ for which the tangent is horizontal
\begin{tasks}(2)
\task $y=\dfrac{x+1}{x-1}$
\task $y=\dfrac{x^2-1}{x^2+1}$
\task $y=\dfrac{x^2-a}{x^2-b}$
\task $y=\dfrac{x^n-3}{x^n+3}$
\end{tasks}
\end{question}
\begin{solution}
\begin{tasks}(1)
\task TODO
\end{tasks}
\end{solution}
\begin{question}%Y11C7G5
Differentiate, stating any zeroes of the derivative:
\begin{tasks}(2)
\task $\dfrac{\sqrt{x}+1}{\sqrt{x}+2}$
\task $\dfrac{x-3}{\sqrt{x+1}}$
\end{tasks}
\end{question}
\begin{solution}
\begin{tasks}(1)
\task TODO
\end{tasks}
\end{solution}
\newpage
\section*{Solutions}
\printsolutions
答案1
您可以使用布尔开关:
\newif\ifshortsolution
\ifshortsolution{<short>}{<long>}
然后您可以定义在解决方案环境中使用的命令:
\makeatletter
\newcommand\shortlongsolution[2]{%
\ifshortsolution
\expandafter\@firstoftwo
\else
\expandafter\@secondoftwo
\fi
{#1}%
{#2}%
}
\makeatother
\shortsolutionstrue
为了打印解决方案,您可以在以下时间之前或\shortsolutionsfalse
之前设置开关\printsolutions
:
\newpage
\shortsolutiontrue
\section*{Short Solutions}
\printsolutions
\shortsolutionfalse
\section*{Long Solutions}
\printsolutions
完整示例:
\documentclass{article}
\usepackage{exsheets,tasks}
\newif\ifshortsolution
\makeatletter
\newcommand\shortlongsolution[2]{%
\ifshortsolution
\expandafter\@firstoftwo
\else
\expandafter\@secondoftwo
\fi
{#1}%
{#2}%
}
\makeatother
\begin{document}
\begin{question}
\end{question}
\begin{solution}
\begin{tasks}(1)
\task \shortlongsolution{first short}{first long}
\end{tasks}
\end{solution}
\begin{question}
\end{question}
\begin{solution}
\begin{tasks}(1)
\task \shortlongsolution{second short}{second long}
\end{tasks}
\end{solution}
\newpage
\shortsolutiontrue
\section*{Short Solutions}
\printsolutions
\shortsolutionfalse
\section*{Long Solutions}
\printsolutions
\end{document}