Список теорем, сгруппированных по разделам

Список теорем, сгруппированных по разделам

Я хочу создать список теорем, сгруппированных в различные разделы, как показано ниже. Я доволен результатом, но по другим причинам, в которые не стоит вдаваться, я хочу узнать, есть ли способ использовать ntheoremкоманды \theorempreworkили \theorempostworkдля достижения того же эффекта без необходимости определять внутреннюю среду, а затем среду-оболочку.

\documentclass{article}
    \usepackage{ntheorem}

    \newtheorem{theoreminner}{}
    \newenvironment{theorem}[1][]
    {
        \begin{theoreminner}[#1]
        \addcontentsline{toc}{subsection}{\protect\numberline{\thetheoreminner}#1}
    }
    {
        \end{theoreminner}
    }

\begin{document}

\tableofcontents

\section{title of section 1}

\begin{theorem}[title of theorem 1.1]
text of theorem 1.1
\end{theorem}

\begin{theorem}[title of theorem 1.2]
text of theorem 1.2
\end{theorem}

\section{title of section 2}

\begin{theorem}[title of theorem 2.1]
text of theorem 2.1
\end{theorem}

\begin{theorem}[title of theorem 2.2]
text of theorem 2.2
\end{theorem}

\end{document}

решение1

Вы можете, но мое решение заменяет среду Theoreminner и все, что с ней связано, путем переопределения Theoremstyles. Идея, грубо говоря, заключается в том, чтобы захватить заголовок теоремы (необязательный )параметр ##3 в команде TeX (\titlethm). Так что замените в преамбуле определения Theorem и Theoreminner на этот код (допустим, вы используете простой стиль):

\makeatletter
\renewtheoremstyle{plain}%
{\item[\hskip\labelsep \theorem@headerfont ##1\ ##2\theorem@separator]}%
{\item[\hskip\labelsep \theorem@headerfont ##1\ ##2\ (##3)\theorem@separator]\def\titlethm{##3}}%
 \makeatother

\theorempostwork{ \addcontentsline{toc}{subsection}{\protect\numberline {\thetheorem}\titlethm}}%
\theoremstyle{plain}
\newtheorem{theorem}{}

Я не стал изменять определение на случай отсутствия необязательного аргумента, поскольку понятия не имею, хотели бы вы, чтобы что-то было написано в оглавлении или нет.

Связанный контент