我的问题是几乎在其他帖子中回答:我怀疑 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}