Exsheets:按部分打印解决方案失败

Exsheets:按部分打印解决方案失败

我正在使用 exsheets 包在教科书中编写练习和解决方案。我的目的是在每个部分末尾列出一些练习,然后列出相应的解决方案,如以下 MWE 中所述:

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



\begin{document}
\chapter{Chapter A}

\section{Section A}\exlabel{sec:AA}

\subsection{Subsection A}

\subsection*{Exercises}

\begin{question}
Question 1.
\end{question}
\begin{solution}
Answer 1.
\end{solution}

\subsection*{Solutions}
\printsolutions[section=\S{sec:AA}]



\chapter{Chapter B}

\section{Section A}\exlabel{sec:BA}

\subsection{Subsection A}

\subsection*{Exercises}

\begin{question}
Question 2.
\end{question}
\begin{solution}
Answer 2.
\end{solution}

\subsection*{Solutions}
\printsolutions[section=\S{sec:BA}]

Solution 1 shouldn't appear twice!

\end{document}

我的问题是,前几节的解决方案(与当前节的编号相同)在新章节之后重新出现。这尤其适用于 MWE:解决方案 1 同时打印在 A 章 A 节和 B 章 A 节中。我该如何避免这种情况?我错过了什么吗?阅读文档没有帮助。

备注:我exlabel之所以使用 hyperref 是因为我的原始文档中有 hyperref。此外,我可以轻松使用自己的环境而不是 exsheets。但如果我决定在文档末尾打印所有解决方案,我希望能够灵活应对。

答案1

您缺少一副牙套:

\printsolutions[section={\S{sec:AA}}]

但不幸的是,我没有预见到需要在有章节的文档中逐节打印解决方案,所以这行不通......(你可以在Bitbucket,虽然 :) )。问题是,在不同的章节中,章节编号是相同的,因此,在当前的实现中,例如全部具有反值部分的练习的解决方案2将包括在内\printsolutions[section=2]...

如果你只有然后每章解决部分

\printsolutions[chapter]

会做:

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

\begin{document}
\chapter{Chapter A}
\section{Section A}
\subsection{Subsection A}
\subsection*{Exercises}

\begin{question}
Question 1.
\end{question}
\begin{solution}
Answer 1.
\end{solution}

\subsection*{Solutions}
\printsolutions[chapter]

\chapter{Chapter B}
\section{Section A}
\subsection{Subsection A}
\subsection*{Exercises}

\begin{question}
Question 2.
\end{question}
\begin{solution}
Answer 2.
\end{solution}

\subsection*{Solutions}
\printsolutions[chapter]

\end{document}

在此处输入图片描述

目前唯一的选择就是为问题分配 ID,然后通过 ID 打印解决方案。

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

\begin{document}
\chapter{Chapter A}
\section{Section A}
\subsection{Subsection A}
\subsection*{Exercises}

\begin{question}[ID=AA]
Question AA.
\end{question}
\begin{solution}
Answer AA.
\end{solution}

\subsection*{Solutions}
\printsolutions[byID={AA}]

\section{Section B}
\subsection{Subsection B}
\subsection*{Exercises}

\begin{question}[ID=AB]
Question AB.
\end{question}
\begin{solution}
Answer AB.
\end{solution}

\subsection*{Solutions}
\printsolutions[byID={AB}]

\chapter{Chapter B}
\section{Section A}
\subsection{Subsection A}
\subsection*{Exercises}

\begin{question}[ID=BA]
Question BA.
\end{question}
\begin{solution}
Answer BA.
\end{solution}

\subsection*{Solutions}
\printsolutions[byID={BA}]

\section{Section B}
\subsection{Subsection B}
\subsection*{Exercises}

\begin{question}[ID=BB]
Question BB.
\end{question}
\begin{solution}
Answer BB.
\end{solution}

\subsection*{Solutions}
\printsolutions[byID={BB}]

\end{document}

在此处输入图片描述

相关内容