从定理列表中删除单词“定理”或 defn

从定理列表中删除单词“定理”或 defn

如何从定理列表中删除定理/定义这个词:

\usepackage{amsthm}
\usepackage{thmtools}

\declaretheorem[numberwithin=section]{defn}

...

\listoftheorems

\begin{defn}[My definition]
  \[a^2 + b^2 = c^2\]
\end{defn}

结果为:

定理列表

1.1 Defn(我的定义)... 1

我想要这个:

1.1 我的定义..........1

有任何想法吗?

答案1

删除添加定理名称的代码:

\documentclass{article}
\usepackage{amsthm}
\usepackage{thmtools}
\usepackage{etoolbox}

\makeatletter
\patchcmd{\thmt@mklistcmd}{\thmt@thmname}{}{}{}
\patchcmd{\thmt@mklistcmd}{\thmt@thmname}{}{}{}
\makeatother
\renewcommand\thmtformatoptarg[1]{#1}

\declaretheorem[numberwithin=section]{defn}

\begin{document}

\listoftheorems

\begin{defn}[My definition]
   \[a^2 + b^2 = c^2\]
\end{defn}

\end{document}

在此处输入图片描述

答案2

Thrmtools\contentsline在 内重新定义\listoftheorems,添加一个额外的参数(定理名称)。因此,我创建了一个新的定理名称,其唯一目的是添加带有 的东西\addcontentsline

\documentclass{article}
\usepackage{amsthm}
\usepackage{thmtools}
\usepackage{xcolor}

\declaretheorem[numberwithin=section]{defn}
\declaretheorem{test}

\begin{document}

\listoftheorems[ignore=defn]

\begin{defn}[My definition]
\addcontentsline{loe}{test}{\string\numberline {\thedefn}My definition}%
   \[a^2 + b^2 = c^2\]
\end{defn}

\end{document}

相关内容