定理编号作为子部分和自动解决方案

定理编号作为子部分和自动解决方案

我有一个问题环境,其中计数器与子部分计数器耦合。然而,这不适用于自动化解决方案。我尝试将解决方案与子部分结合起来,但这并没有产生正确的解决方案数字。我该如何解决这个问题。这是一个最小的例子:

\documentclass[a4paper,12pt]{article}

\usepackage{etoolbox}
\usepackage{environ}


\newtheorem{pr}{Problem}[subsection]
\newtheorem{solinn}{ad Problem}[subsection]

\newtoks\prsoltoks

\NewEnviron{Solution}{%
  \global\prsoltoks=\expandafter{\the\prsoltoks\begin{solinn}}%
    \global\prsoltoks=\expandafter{\the\expandafter\prsoltoks\BODY\end{solinn}}%
}


\usepackage{multicol}
\AtEndDocument{\clearpage
  \section{Solutions}
  \setcounter{pr}{0}
  \begin{multicols}{2}
    \the\prsoltoks
  \end{multicols}
}

\begin{document}


\section{Section}

\subsection{Subsection}
\begin{pr}~

 Problem
\end{pr}
\begin{Solution}
  Solution
\end{Solution}

\subsection{Subsection}

\begin{pr}~

 Problem
\end{pr}
\begin{Solution}
  Solution
\end{Solution}

\begin{pr}~

 Problem
\end{pr}
\begin{Solution}
  Solution
\end{Solution}

\section{Section}

\subsection{Subsection}
\begin{pr}~

 Problem
\end{pr}
\begin{Solution}
  Solution
\end{Solution}


\end{document}

输出:

输出

除了将功能添加到上面的代码中之外,还可以使用另一个执行此操作的包,如果可以获得完全相同的输出格式和相同的语法(prSolution)。

我玩过exsheets但没有得到正确的编号。answers提供了另一种语法:问题环境中的解决方案(我不想更改我现有的大型文档;只是标题)。

如果新方案运行良好与 tikz externalize 一起那就更好了(但这不是这个问题的要求)。

答案1

我设法通过正确编号的 exsheets 粗略地重现了我的风格(使用最新的(提交 367bf7b)exsheets 版本编译而成,来自存储库)。我没能将不同的风格应用于问题和解决方案,也没有看到如何像在原始帖子中那样获得缩进。

\documentclass[a4paper,12pt]{article}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage{multicol}

\usepackage{exsheets}
\AddCounterPattern[exsheets]{subsection}{sub}


\DeclareInstance{exsheets-heading}{mystyle}{default}{
points-pre-code = [ ,
points-post-code = ) ,
join = 
{
title[r,B]number[l,B](0.333em,0pt) ;
number[r,B]points[l,B](0.333em,0pt)
} ,
attach = { main[l,vc]title[l,vc](0pt,0pt) }
}

\NewQuSolPair{pr}[name=Problem]{Solution}[name=ad Problem]

\SetupExSheets{
question/pre-body-hook=\itshape,
solution/pre-body-hook=\itshape,
counter-within={subsection},
headings=mystyle,
points/name=Punkt/e,counter-format=se.sub.qu}

\begin{document}


\section{Section}

\subsection{Subsection}
\begin{pr}
 Problem
\end{pr}
\begin{Solution}
  Solution
\end{Solution}

\subsection{Subsection}

\begin{pr}
 Problem
\end{pr}
\begin{Solution}
  Solution
\end{Solution}

\begin{pr}
 Problem
\end{pr}
\begin{Solution}
  Solution
\end{Solution}

\section{Section}

\subsection{Subsection}
\begin{pr}
 Problem
\end{pr}
\begin{Solution}
  Solution
\end{Solution}
\newpage


\section{Solutions}
\begin{multicols}{2}
  \printsolutions
\end{multicols}

\end{document}

输出:

输出

相关内容