我正在使用 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}