在书籍类的章节末尾打印问题,然后打印问题和解决方案

在书籍类的章节末尾打印问题,然后打印问题和解决方案

我的问题是几乎在其他帖子中回答:我怀疑 exsheets 是答案的一部分。我正在写一本书,正文中有考试风格的问题,其解决方案在章节末尾。我知道 exsheets 可以通过使用 \printsolutions[section] 来实现这一点。

我的具体问题:问题(及其子部分)需要连同解决方案一起重新打印。理想情况下,我会创建一个新命令“\printquestionsANDsolutions[section]”来更新 \printsolutions[section]。书中将有 400 多个问题和答案(及其子部分),所以我不想重写这些问题,因为在修订过程中,偏差的风险太大。我可以重写内容,以便问题位于章节末尾,但即使这样,我也不希望在第一次看到问题时显示它们的解决方案。可能有一种使用延迟的替代方法 [https://latex.org/forum/viewtopic.php?t=25501],但我不知道如何正确地将问题/解决方案混合在一起。

愿景:

\documentclass[12pt] {book}
\usepackage{exsheets}

\begin{document}
\chapter{The First Chapter}
 
Chapter Text

\begin{question}
Question 1 text
\end{question}
\begin{solution}
Solution 1
\end{solution}

More chapter text goes here

\begin{question}
Question 2 set-up text
\begin{parts}
\part Question 2a text
\begin{solution}
Solution to (2a)
\end{solution}
\part Question 2b text
\begin{solution}
Solution to (2b)
\end{parts}
\end{question}

Chapter text goes on.

\printquestionsANDsolutions[Chapter]

\chapter{The Second Chapter}
Repeat of above.

\end{document}

输出将是

第一章

章节正文

问题 1 文本

此处有更多章节文本

问题 2 设置文本

问题 2a 文本

问题 2b 文本

章节正文继续。

解决方案

问题 1 文本

问题 1 答案

问题 2 设置文本

问题 2a 文本

2a 的解决方案

问题 2b 文本

2b 的解决方案

第2章

重复上述操作

答案1

最简单的方法是将练习放在单独的文件中,每次需要其内容时都输入它们。

例如,将第 1 章的练习移动到chapter1_exercises.tex包含以下内容的文件中:

\begin{question}
  Question 1 text
\end{question}
\begin{solution}
  Solution 1
\end{solution}
\begin{question}
  Question 2 text
\end{question}
\begin{solution}
  Solution 2
\end{solution}

输入此文件以显示问题,并进行适当的exsheet设置:

\chapter{The First Chapter}

Chapter Text


More chapter text goes here

\SetupExSheets[question]{print=true}
\SetupExSheets[solution]{print=false}
\input{chap1_exercises.tex}

Chapter text goes on.

然后,在章节结束时再次输入文件,并设置exsheet打印解决方案。请注意,您必须重置question计数器才能获得正确的编号。

\SetupExSheets[question]{print=true}
\SetupExSheets[solution]{print=true}
\setcounter{question}{0}
\input{chap1_exercises.tex}

下面是完整示例。该包fancyvrb仅用于演示,以生成子文件。

\documentclass[12pt] {book}
\usepackage{exsheets}

\usepackage{fancyvrb}

\begin{VerbatimOut}{chap1_exercises.tex}
\begin{question}
  Question 1 text
\end{question}
\begin{solution}
  Solution 1
\end{solution}
\begin{question}
  Question 2 text
\end{question}
\begin{solution}
  Solution 2
\end{solution}
\end{VerbatimOut}

\begin{VerbatimOut}{chap2_exercises.tex}
\begin{question}
  Question 1 text
\end{question}
\begin{solution}
  Solution 1
\end{solution}
\end{VerbatimOut}

\SetupExSheets{counter-within={chapter}}

\begin{document}

\chapter{The First Chapter}

Chapter Text


More chapter text goes here

\SetupExSheets[question]{print=true}
\SetupExSheets[solution]{print=false}
\input{chap1_exercises.tex}

Chapter text goes on.

\SetupExSheets[question]{print=true}
\SetupExSheets[solution]{print=true}
\setcounter{question}{0}
\input{chap1_exercises.tex}

\chapter{The Second Chapter}

Chapter Text


More chapter text goes here

\SetupExSheets[question]{print=true}
\SetupExSheets[solution]{print=false}
\input{chap2_exercises.tex}

Chapter text goes on.

\SetupExSheets[question]{print=true}
\SetupExSheets[solution]{print=true}
\setcounter{question}{0}
\input{chap2_exercises.tex}

\end{document}

使用子文件的解决方案

相关内容