我有一份scrbook
包含章节和节的文档,每个节包含一组问题 + 解决方案(使用exsheets
包,每个节的编号都重置;请参阅下面的 MWE)。每个问题都有一组子问题,由于子问题的数量有时非常大,我想在子问题之后立即打印解决方案(而不是在每个问题之后打印所有解决方案)。我该怎么做?下面的 MWE 在每个问题之后打印解决方案。
PS 我使用enumerate
而不是tasks
来创建子问题,因为该tasks
包给我丢失浮点数错误。
\documentclass{scrbook}
\usepackage[counter-within = section, counter-format=ch.se.qu]{exsheets}
\usepackage{enumitem}
\SetupExSheets{solution/print=true}
\begin{document}
\chapter{first chapter}
first chapter
\section{first section}
first section of first chapter\\
\begin{question}
first question
\begin{enumerate}[label=\alph*)]
\item first subquestion
\item second subquestion
\end{enumerate}
\end{question}
\begin{solution}
\begin{enumerate}[label=\alph*)]
\item solution to first subquestion
\item solution to second subquestion
\end{enumerate}
\end{solution}
\begin{question}
second question
\begin{enumerate}[label=\alph*)]
\item first subquestion
\item second subquestion
\end{enumerate}
\end{question}
\begin{solution}
\begin{enumerate}[label=\alph*)]
\item solution to first subquestion
\item solution to second subquestion
\end{enumerate}
\end{solution}
\end{document}
答案1
一种可能性——我现在能想到的唯一一种——是使用\PrintSolutionT
(手册第 11 节中提到,但那里的解释是错误的……)。
\PrintSolutionT{<true code>}
及其兄弟\PrintSolutionTF{<true code>}{<false code>}
并\PrintSolutionF{<false code>}
检查选项是否solution/print
已设置为 true 或 false,并将相应的代码保留在输入流中。相应的代码将不会被保存(显然),也无法调用,\printsolutions
但如果我理解正确的话,这不是你想要的。
\documentclass{scrbook}
\usepackage[counter-within = section, counter-format=ch.se.qu]{exsheets}
\usepackage{enumitem}
\SetupExSheets{solution/print=true}
% or \SetupExSheets{solution/print=false} to hide the answers
\begin{document}
\chapter{first chapter}
first chapter
\section{first section}
first section of first chapter
\begin{question}
first question
\begin{enumerate}[label=\alph*)]
\item first subquestion
\PrintSolutionsT{\par\emph{solution to first subquestion}}
\item second subquestion
\PrintSolutionsT{\par\emph{solution to second subquestion}}
\end{enumerate}
\end{question}
\begin{question}
second question
\begin{enumerate}[label=\alph*)]
\item first subquestion
\PrintSolutionsT{\par\emph{solution to first subquestion}}
\item second subquestion
\PrintSolutionsT{\par\emph{solution to second subquestion}}
\end{enumerate}
\end{question}
\end{document}
关于你的 PS:你不能在tasks
环境中使用浮点数。原因与脚注在里面不起作用tasks
。但tasks
它(也从来不是)旨在取代enumerate
。在我看来,tasks
只有当您想要一个包含两列或更多列的列表时,列表才有意义。