我正在使用以下结构来使用该包定义我的自定义定理Prob
环境thmtools
。
我想在介绍中包含问题总数。为此,我使用了totcount
包。此 MWE 显示\total{Prob}
为 3,但应该是 5(2+3)。
请指导我如何定义\theProb
,以便\total{Prob}
可以给出第 1 章和第 2 章的问题总数。
\documentclass{memoir}
\usepackage{amsthm}
\usepackage{thmtools}
\usepackage{totcount}
\declaretheoremstyle[
headfont=\small\bfseries,
notefont=\mdseries, notebraces={(}{)},
bodyfont=\normalfont,
]{probStyle}
\declaretheorem[style=probStyle,name={},numberwithin=chapter]{Prob}
\renewcommand{\theProb}{\thesection.\arabic{Prob}}
\regtotcounter{Prob}
\begin{document}
\frontmatter
\chapter{Introduction}
This book contains \total{Prob} Problems
\mainmatter
\chapter{First}
\section{Exercises}
\begin{Prob}
Problem 1 Chap 1
\end{Prob}
\begin{Prob}
Problem 1 Chap 1
\end{Prob}
\chapter{Second}
\section{Another Exercise}
\begin{Prob}
Problem 1 Chap 2
\end{Prob}
\begin{Prob}
Problem 2 Chap 2
\end{Prob}
\begin{Prob}
Problem 3 Chap 2
\end{Prob}
\end{document}
答案1
计数器的重置功能是totcount
可能失效的一个点。
该xassoccnt
包将第二个计数器与该计数器关联起来,每次增加时Prob
都会增加该计数器,但不会自动重置该计数器。totalprobs
Prob
totalprobs
将其声明为可以\NewTotalDocumentCounter
通过文档主体中任何位置的权限提供值\TotalValue
,因为最后一个值存储在上次运行结束时。
\documentclass{memoir}
\usepackage{amsthm}
\usepackage{thmtools}
\usepackage{xassoccnt}
\declaretheoremstyle[
headfont=\small\bfseries,
notefont=\mdseries, notebraces={(}{)},
bodyfont=\normalfont,
]{probStyle}
\declaretheorem[style=probStyle,name={},numberwithin=chapter]{Prob}
\NewTotalDocumentCounter{totalprobs}
\DeclareAssociatedCounters{Prob}{totalprobs}
\renewcommand{\theProb}{\thesection.\arabic{Prob}}
\begin{document}
\frontmatter
\chapter{Introduction}
This book contains \TotalValue{totalprobs} Problems
\mainmatter
\chapter{First}
\section{Exercises}
\begin{Prob}
Problem 1 Chap 1
\end{Prob}
\begin{Prob}
Problem 1 Chap 1
\end{Prob}
\chapter{Second}
\section{Another Exercise}
\begin{Prob}
Problem 1 Chap 2
\end{Prob}
\begin{Prob}
Problem 2 Chap 2
\end{Prob}
\begin{Prob}
Problem 3 Chap 2
\end{Prob}
\end{document}
答案2
声明一个新的总计数器allprobs
\newtotcounter{allprobs}
每次使用该定理时,通过向中添加以下选项来增加它\declaretheorem
:
\declaretheorem[...,postheadhook=\stepcounter{allprobs}]{Prob}
然后您可以通过 访问这些类定理环境的总数\total{allprobs}
。