“exsheets”包:使用 \printsolutions[all] 时如何使用“chapter-hook”?

“exsheets”包:使用 \printsolutions[all] 时如何使用“chapter-hook”?

我正在写一本书,书中的练习遍布各章。为了排版练习,我使用了软件包exsheets。我想制作一个附录,列出每章的所有解决方案(我知道这是不可能的,根据Exsheets:如何在同一行打印“解决方案”?)。

我已经看到最新版本exsheets有一个章节钩子根据手册(位于http://ctan.mirrors.hoobly.com/macros/latex/contrib/exsheets/exsheets_en.pdf.):

[chapter-hook = {code}] 每次打印新章节的解决方案时(在打印相应章节的解决方案之前),将“code”添加到解决方案列表中。

问题是,这是唯一提到章节钩子作者没有给出具体的例子,所以我甚至不知道该把选项放在哪里。

我尝试过以下方法:

\chapter{Grouped Exercises I}
\begin{question}
    Integrate $\int \cos{x}\ \mathrm{d}x$
\end{question}
\begin{solution}
    $\sin{x} + C$
\end{solution}
% ...
% more code here
% ...
\appendix
\chapter{Solutions to exercises}
\printsolutions[all,chapter-hook={Chapter}]

但是当使用 pdfLaTeX 进行编译时,它会抛出错误:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! LaTeX error: "kernel/key-choice-unknown"
! 
! Key 'exsheets/exsheets_print_solutions/chapter-hook' accepts only a fixed
! set of choices.
! 
! See the LaTeX3 documentation for further information.
! 
! For immediate help type H <return>.
!...............................................  

l.6 \printsolutions[all,chapter-hook={Chapter}]

该怎么办?正确的使用方法是什么章节钩子在这种情况下,您可以选择什么?

提前致谢!

答案1

您使用 TeX Live 吗?新选项是在 0.13 版(2014/05/11)中引入的,它不是 TL2013 的一部分(我相信它是在冻结后发布的)。您必须exsheets手动更新或等待 TL2014(或使用预测试版本)。

无论哪种方式:下面是如何使用此选项的示例。

在此处输入图片描述

\documentclass{scrbook}
\usepackage{exsheets}[2014/05/11]
\SetupExSheets{
  counter-within = chapter
}
\DeclareQuestionProperty{chapter-number}

\newcommand*\diff[1]{\mathop{}\!\mathrm{d}#1}

\begin{document}

\chapter{Some Chapter}\label{ch:foo}
\section{foo}
\section{Grouped Exercises I}
\begin{question}
  \SetQuestionProperties{chapter-number=\ref{ch:foo}}
  Integrate $\int \cos x \diff{x}$.
\end{question}
\begin{solution}
    $\sin x + C$
\end{solution}

\chapter{Some Other Chapter}\label{ch:bar}
\section{bar}
\section{Grouped Exercises II}
\begin{question}
  \SetQuestionProperties{chapter-number=\ref{ch:bar}}
  Integrate $\int \sin x \diff{x}$.
\end{question}
\begin{solution}
    $-\cos x + C$
\end{solution}

\appendix
\SetupExSheets{
  chapter-hook =
    \section*{Exercises from chapter~\GetQuestionProperty{chapter-number}{\CurrentQuestionID}}
}

\chapter{Solutions to exercises}
\printsolutions

\end{document}

相关内容