如何创建一份文档的两个版本?

如何创建一份文档的两个版本?

我读过类似的问题,但我的问题似乎需要更复杂的解决方案。

我有一些笔记,想用作我的讲义和讲义。这两个版本的问题和答案会有所不同。我正在使用 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=buser=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,或者在必要时使用可选参数设置。

属性要么自动设置 - 这只适用于某些预定义属性,如countersubtitle或- 要么必须在相应问题的问题正文中question-body明确设置。\SetQuestionProperties

相关内容