我读过类似的问题,但我的问题似乎需要更复杂的解决方案。
我有一些笔记,想用作我的讲义和讲义。这两个版本的问题和答案会有所不同。我正在使用 ExSheets 包并尝试更改问题/打印选项的值。(我不太明白选项和属性之间的区别。所以一开始我假设选项和属性是一样的。)
\documentclass {tufte-book}
\usepackage{exsheets}
\usepackage{ifthen}
\DeclareQuestionClass{user}{users}
\SetupExSheets{use-users={b,t}}
\def \forHandouts {true}
\begin{document}
\ifthenelse{\equal{\forHandouts}{true}} {
\ForEachQuestion {
\ifthenelse{\equal {\GetQuestionClass{user}}{t}}{
\SetQuestionProperties{question/print = false}
% \SetupExSheets{question/print = false} %this or the above
}}}
\begin{question}[user=b] blah, blah...
\end{question}
\end{document}
答案1
你不需要任何复杂的条件。“问题类别”概念和选项use-<classes>=...
实际上就足够了。
如果我理解正确的话,在讲义版本中您只想打印问题,user=b
而在另一个版本中,和user=b
都user=t
可以打印?
\SetupExSheets{use-users={b}}
然后,您可以在讲义版本和\SetupExSheets{use-users={b,t}}
另一个版本中使用。如果您更喜欢开关,我会使用一个简单的\newif\ifhandout
开关,并使设置依赖于它的设置:
\documentclass {tufte-book}
\usepackage{exsheets}
\DeclareQuestionClass{user}{users}
% new switch:
\newif\ifhandout
% set the switch:
\handoutfalse
% \handouttrue
\ifhandout
\SetupExSheets{use-users={b}}
\else
\SetupExSheets{use-users={b,t}}
\fi
\begin{document}
\begin{question}[user=b]
I'm in both versions
\end{question}
\begin{question}[user=t]
I'm not in the handout version
\end{question}
\end{document}
阅读评论后,您可能还想了解其他内容。以下定义了一个新的问题/解决方案对lecture
/,如果讲义开关设置为 true,则lecturesol
该对具有默认选项print=false
,因此相应的练习仅打印在讲义中:
\documentclass {tufte-book}
\usepackage{exsheets}
% new switch:
\newif\ifhandout
% set the switch:
\handoutfalse % this is set by default but doesn't hurt to be set explicitly either
% \handouttrue
\ifhandout
\NewQuSolPair{lecture}[print=false]{lecturesol}
\else
\NewQuSolPair{lecture}{lecturesol}
\fi
\begin{document}
\section{Exercises}
\begin{question}
I'm both in the lecture \emph{and} the handout version.
\end{question}
\begin{solution}
Solution to exercise one.
\end{solution}
\begin{lecture}
I'm only in the lecture version but not in the handout version.
\end{lecture}
\begin{lecturesol}
Solution to exercise two.
\end{lecturesol}
\begin{question}
I'm both in the lecture \emph{and} the handout version.
\end{question}
\begin{solution}
Solution to exercise three.
\end{solution}
\begin{lecture}
I'm only in the lecture version but not in the handout version.
\end{lecture}
\begin{lecturesol}
Solution to exercise four.
\end{lecturesol}
\section{Solutions}
\printsolutions
\end{document}
和\handoutfalse
:
和\handouttrue
:
试图消除混淆:“属性”是不是与选项相同!选项通常使用可选参数设置\SetupExSheets
,或者在必要时使用可选参数设置。
属性要么自动设置 - 这只适用于某些预定义属性,如counter
,subtitle
或- 要么必须在相应问题的问题正文中question-body
明确设置。\SetQuestionProperties