最近一次 LaTeX 更新后,我的exsheets
模板不再编译,所以我认为与其降级 TeX,不如直接升级我的模板。不幸的是,我很难从手册中提取我想要的信息。
我有两件事想实现。
- 该命令的新版本是什么
\PrintSolutionsF{}
?我使用它来记录我分发的作业的提交日期,但不记录模型解决方案的提交日期。我猜这\IfSolutionPrintF{}
是后续操作,但这似乎只在模板环境中有效,在普通文本中无效。 我希望我的问题被编号,但解决方案不需要,因为我将每个解决方案放在其对应的问题之后。代码如下
exsheets
:\DeclareInstance{exsheets-heading}{block-no-nr}{default}{ attach = { main[l,vc]title[l,vc](0pt,0pt) ; main[r,vc]points[l,vc](\marginparsep,0pt) } } \RenewQuSolPair {question}[headings=block-subtitle] {solution}[headings=block-no-nr]
对应的代码是什么xsim
?
编辑:以下应该是我旧exsheets
模板的一个最小工作示例,但我无法确认这一点,因为我无法再编译我的exsheets
文件。我无法提供可编译的代码xsim
,因为这就是我寻求帮助的原因。
\documentclass{article}
\usepackage{exsheets}
% Questions numbered but solutions not numbered
\DeclareInstance{exsheets-heading}{block-no-nr}{default}{
attach = {
main[l,vc]title[l,vc](0pt,0pt) ;
main[r,vc]points[l,vc](\marginparsep,0pt)
}
}
\RenewQuSolPair
{question}[headings=block-subtitle]
{solution}[headings=block-no-nr]
% True to show solutions or comment out/false to hide solutions
\SetupExSheets{solution/print=true}
\begin{document}
%%%Title. Shows due date when not showing solutions%%%%%%%
\hrule\vspace{1mm}
{\bf \PrintSolutionsF{Exercise Sheet No X}
\PrintSolutionsT{Model Solutions Sheet No X} for
XXXX \PrintSolutionsF{\ \\Due XX.XX.XXXX}}
\hrule
\vspace{5mm}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{question}
This is a sample numbered question.
\end{question}
\begin{solution}
This is an unnumbered sample solution.
\end{solution}
\end{document}
答案1
如果打印了解决方案,则没有预定义的测试,因为xsim
允许不同类型的练习类型,每种练习类型都有自己的解决方案集。但可以定义一个检查默认类型的命令(称为exercise
):
\ExplSyntaxOn
\newcommand \ifprintsolution [2]
{ \xsim_if_solution_print:nTF {exercise} {#1} {#2} }
\ExplSyntaxOff
为了获得无编号的解决方案,您需要先定义一个模板。这将执行以下操作:
\DeclareExerciseEnvironmentTemplate{no-number}
{\subsection*{\XSIMmixedcase{\GetExerciseName}}}
{}
您现在可以将它与 一起使用\xsimsetup{solution/template = no-number}
。
完整示例:
\documentclass{article}
\usepackage{xsim}
\ExplSyntaxOn
\newcommand \ifprintsolution [2]
{ \xsim_if_solution_print:nTF {exercise} {#1} {#2} }
\ExplSyntaxOff
\newcommand\handindate[1]{%
\ifprintsolution{}{This homework is due #1.}%
}
\DeclareExerciseEnvironmentTemplate{no-number}
{\subsection*{\XSIMmixedcase{\GetExerciseName}}}
{}
\xsimsetup{
solution/template = no-number ,
% uncomment to see the unnumbered solution (and have the hand-in date
% disappear):
% solution/print = true
}
\begin{document}
\handindate{6.\@ of December 2019}
\begin{exercise}
some exercise
\end{exercise}
\begin{solution}
the solution
\end{solution}
\end{document}
没有...
...或提供解决方案