我正在使用 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}