我想知道这个xsim
包是否可以实现以下功能:
- 可以使用以下命令创建的空间
\blank[width=4.8\linewidth,linespread=1.5]{}
(如手册中所述)不是solution/print
若设置为,则打印true
? - 仅当选择了特定标签时,才能打印文档中非问题的部分吗?
换句话说,我想实现以下目标:
\documentclass{article}
\usepackage{xsim}
\xsimsetup{
solution/print = true,
tags = A
}
\begin{document}
% This part would be printed only if the tag A was selected.
\somecommand{Instruction for A}
\begin{exercise}[tags={A, B}]
Tell me your mood
% Those lines would *not* be printed if solution/print is set to true.
\blank[width=4.8\linewidth,linespread=1.5]{}
\end{exercise}
\end{document}
我已阅读过文档但无法弄清楚这是否可行。
答案1
目前没有用户命令来检查是否已设置标签,但添加标签很容易。我会在下一个版本中添加一些内容。
如果您想检查解决方案是否已打印,请使用\IfSolutionPrintTF
或其同类之一:
\documentclass{article}
\usepackage{xsim}
\xsimsetup{
solution/print = true,
tags = A
}
\ExplSyntaxOn
% v0.11 will contain some command like this:
\NewDocumentCommand \IfTagSetTF {m+m+m}
{ \seq_if_in:NnTF \l__xsim_chosen_tags_tags_seq {#1} {#2} {#3} }
\NewDocumentCommand \IfTagSetT {m+m}
{ \IfTagSetTF {#1} {#2} {} }
\NewDocumentCommand \IfTagSetF {m+m}
{ \IfTagSetTF {#1} {} {#2} }
\ExplSyntaxOff
\begin{document}
\IfTagSetT{A}{Instruction for A}
\begin{exercise}[tags={A, B}]
Tell me your mood
\IfSolutionPrintT{\par\blank[width=4.8\linewidth,linespread=1.5]{} }
\end{exercise}
\end{document}