Liste der Theoreme mit nicht funktionierenden thmtools - Fehlender \endcsname eingefügt

Liste der Theoreme mit nicht funktionierenden thmtools - Fehlender \endcsname eingefügt

Ich versuche, eine Liste aller Gleichungen in einem Dokument zu erstellen. Ich habe gesucht und es schien eine gute Lösung zu sein, das zu verwenden thmtools, das eine Liste aller Theoreme erstellen kann (wenn ich richtig liege). Was ich suche, ist (im folgenden Beispiel im Kapitel-Spickzettel) eine Liste mit dem Inhalt aller Gleichungstheoreme als solche (mit LaTeX-Formatierung):

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

Minimales (nicht) funktionierendes Beispiel:

\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}

Dies führt zu den folgenden Fehlern (Zeile 24 ist die Zeile nach \listoftheorems):

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

Ich frage mich, ob dies die Möglichkeit ist, eine solche Liste zu erstellen und wie ich meinen Fehler beheben kann.

Antwort1

Verwenden Sie declaretheoremanstelle von\newtheorem

Die Pakete theoremund thmtoolsverwenden unterschiedliche Mechanismen zum Definieren von Theoremumgebungen: theoremDas Paket von Frank Mittelbach verwendet das LaTeX-Kernel- \newtheoremMakro, während das Paket von Ulrich Schwarz ein Makro thmtoolsbereitstellt .\declaretheorem

Das thmtoolsPaket stellt auch ein \listoftheoremsMakro zur Verfügung, dieses listet jedoch nur die mit deklarierten Theoremumgebungen auf \declaretheorem,nichtdiejenigen, die einfach mit deklariert werden \newtheorem. Wenn Sie also die Vorteile von nutzen möchten \listoftheorems, sollten Sie alle Ihre Theoreme mit deklarieren thmtoolsund \declaretheoremnicht \newtheoremexplizit verwenden.

\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}

Bildbeschreibung hier eingeben

Weitere Details zu den von Ihnen gemeldeten Fehlern

Wenn \declaretheoremes nicht mindestens einmal in der Eingabedatei verwendet wird, \listoftheoremswerden die beiden von Ihnen gemeldeten Fehler generiert. Hier ist ein Mindestcode, der das Problem reproduziert:

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

Es werden keine Fehler generiert, wenn die dritte Zeile des obigen Codes unkommentiert bleibt. Meiner Meinung nach ist dieses Verhalten unbeabsichtigt und stellt einen Fehler dar. Der Autor sollte wahrscheinlich darüber informiert werden.

verwandte Informationen