Lista de teoremas con thmtools que no funcionan: falta \endcsname insertado

Lista de teoremas con thmtools que no funcionan: falta \endcsname insertado

Estoy intentando generar una lista de todas las ecuaciones en un documento. He buscado y me pareció que una buena solución sería utilizar thmtools, que puede generar una lista de todos los teoremas (si estoy en lo cierto). Lo que estoy buscando es (en el siguiente ejemplo, en el capítulo CheatSheet) una lista con el contenido de todos los teoremas de igualdad, como tales (con formato LaTeX):

$Some_{Lowtext}$                                   (1)
$Some^{Hightext}$                                  (2)

Ejemplo mínimo (no) funcional:

\documentclass[a4paper,12pt]{report}
\usepackage{theorem}
\newtheorem{equate}{}
\usepackage{thmtools}
\renewcommand{\listtheoremname}{List of Equations}
\begin{document}
\tableofcontents
\newpage
\chapter{Name of Chapter}
\section{Name of Section}
\subsection{Name of SubSection}
sometext
\begin{equate}
$Some_{Lowtext}$
\end{equate}
    Some other Text
\begin{equate}
$Some^{Hightext}$
\end{equate}
    And some more

\chapter{CheatSheet}

\listoftheorems

\end{document}

Esto me da los siguientes errores (la línea 24 es la línea después \listoftheorems):

test.tex:24: Missing \endcsname inserted. []
test.tex:24: Too many }'s. []

Me pregunto si esta es la manera de producir dicha lista y cómo puedo resolver mi error.

Respuesta1

Usar declaretheoremen lugar de\newtheorem

Los paquetes theoremy thmtoolsutilizan diferentes mecanismos para definir entornos de teoremas: el paquete de Frank Mittelbach theoremutiliza la macro del núcleo LaTeX \newtheorem, mientras que el paquete de Ulrich Schwarz thmtoolsproporciona una \declaretheoremmacro.

El thmtoolspaquete también proporciona una \listoftheoremsmacro, pero esta última solo enumera los entornos de teoremas declarados con \declaretheorem,noaquellos simplemente declarados con \newtheorem. Por lo tanto, si desea aprovechar \listoftheorems, debe declarar todos sus teoremas con thmtoolsy \declaretheoremno usarlos \newtheoremexplícitamente.

\documentclass[a4paper,12pt]{report}

\usepackage{thmtools}
\declaretheorem{equate}
\renewcommand{\listtheoremname}{List of Equations}

\begin{document}
\begin{equate}[Low text]
$Some_{Lowtext}$
\end{equate}
    Some other Text
\begin{equate}[High text]
$Some^{Hightext}$
\end{equate}
\listoftheorems
\end{document}

ingrese la descripción de la imagen aquí

Más detalles sobre los errores que reportas

Si \declaretheoremno se utiliza al menos una vez en el archivo de entrada, \listoftheoremsgenera los dos errores que informa. Aquí hay un código mínimo que reproduce el problema:

\documentclass{report}
\usepackage{thmtools}
%\declaretheorem{foo}
\begin{document}
\listoftheorems
\end{document}

No se generan errores si la tercera línea del código anterior no está comentada. En mi opinión, ese comportamiento no es intencionado y se considera un error; Probablemente debería notificarse al autor al respecto.

información relacionada