如何从定理列表中删除定理/定义这个词:
\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}