exsheets 和/或 xsim:通过练习列举方程式

exsheets 和/或 xsim:通过练习列举方程式

我正在使用文档类中的exsheets(和xsim) 包scrartcl。我想创建一个包含问题及其各自解决方案的工作表,但这样每个问题中的方程式都会根据它们所在的问题进行枚举(问题及其各自的解决方案使用相同的计数器)。到目前为止(最小示例),这就是我所拥有的:

\documentclass[paper=a4, fontsize=11pt]{scrartcl}

\usepackage[english]{babel}
\usepackage{amsmath}
\usepackage{exsheets}
\SetupExSheets{solution/print = true}

\begin{document}

\begin{question} First exercise with equation
\begin{equation}
  a + b = 1
\end{equation}
\end{question}
\begin{solution} Solution to first exercise with equation
\begin{equation}
  a - b = 1
\end{equation}
\end{solution}

\begin{question} First exercise with equation
\begin{equation}
  a + b = 1
\end{equation}
\end{question}
\begin{solution} Solution to first exercise with equation
\begin{equation}
  a - b = 1
\end{equation}
\end{solution}

\end{document}

得出

在此处输入图片描述

现在,如果我添加指令\numberwithin{equation}{question},那么我就可以通过问题重置计数器,

在此处输入图片描述

但相反,我想要这样的东西:

在此处输入图片描述


编辑:感谢@cgnieder,现在我知道xsim它存在。如果可能(或更方便),我想在这个包中做同样的事情。

答案1

使用最新的 tex 发行版\counterwithin即可使用

\counterwithin{equation}{question}

\counterwithin自 2018 年 4 月起由 LaTeX 内核定义,因此不需要额外的包。

\documentclass{article}

\usepackage{exsheets}
\SetupExSheets{solution/print = true}

\counterwithin{equation}{question}    
\begin{document}

\begin{question}
  First exercise with equation
  \begin{equation}
    a + b = 1
  \end{equation}
\end{question}
\begin{solution}
  Solution to first exercise with equation
  \begin{equation}
    a - b = 1
  \end{equation}
\end{solution}

\begin{question}
  First exercise with equation
  \begin{equation}
    a + b = 1
  \end{equation}
\end{question}
\begin{solution}
  Solution to first exercise with equation
  \begin{equation}
    a - b = 1
  \end{equation}
\end{solution}

\end{document}

在此处输入图片描述

对于旧版本,exsheets你可能需要

\renewcommand*\theequation{\GetQuestionProperty{counter}{\CurrentQuestionID}\arabic{equation}}

2017 年 3 月至 5 月期间,我发布了该软件包xsim作为 的后继版本exsheets。后者只发布了错误修复版本,同时xsim积极开发和改进。

\documentclass{article}
\usepackage[no-files]{xsim}
\xsimsetup{solution/print}
\counterwithin{equation}{exercise}

\begin{document}

\begin{exercise}
  First exercise with equation
  \begin{equation}
    a + b = 1
  \end{equation}
\end{exercise}
\begin{solution}
  Solution to first exercise with equation
  \begin{equation}
    a - b = 1
  \end{equation}
\end{solution}

\begin{exercise}
  First exercise with equation
  \begin{equation}
    a + b = 1
  \end{equation}
\end{exercise}
\begin{solution}
  Solution to first exercise with equation
  \begin{equation}
    a - b = 1
  \end{equation}
\end{solution}

\end{document}

在此处输入图片描述

答案2

\renewcommand{\theequation}{\thequestion.\arabic{equation}}除了 之外,还请尝试\numberwithin{equation}{question}

编辑完全错了。抱歉!\numberwithin也会改变计数器的显示方式, 也是如此\counterwithin

相关内容