类定理环境的总数 - 所有章节

类定理环境的总数 - 所有章节

我正在使用以下结构来使用该包定义我的自定义定理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都会增加该计数器,但不会自动重置该计数器。totalprobsProbtotalprobs

将其声明为可以\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}

相关内容