在附录中自动生成定义列表(用户定义定理环境)

在附录中自动生成定义列表(用户定义定理环境)

在下面的代码中,我定义了一个定理环境definition并写了一张图和一个定义:

\documentclass[12pt]{book}
\usepackage[francais, english]{babel}
\usepackage{amsthm}
\begin{document}

\newtheorem{definition}{Definition}

\tableofcontents
\chapter{Chapter}
\section{Section}
\begin{figure}
a
\caption{haha}
\end{figure}
\begin{definition}[title]
  body
\end{definition}

% ------------------------------------------
% List of figures
\addcontentsline{toc}{chapter}{\protect\numberline{}List of Figures}
\listoffigures
\cleardoublepage
% ------------------------------------------
% List of Definitions
\chapter*{List of Definitions}
\markboth{List of Definitions}{List of Definitions}
\addcontentsline{toc}{chapter}{\numberline{}List of Definitions}

\makeatletter
\@starttoc{lod}
\makeatother
\end{document}

可以List of Figures正确生成的见附录:

在此处输入图片描述

然而,List of Definitions是空的:

在此处输入图片描述

有人知道如何做才能使定义列表的自动生成起作用吗?

编辑1: @egreg 的解决方案对我来说在单独的文件中运行良好。当我将其适配到我的大型 tex 文件时,我在编译时收到以下消息。有人可以帮忙吗?(抱歉我无法使代码更简单并复制到此处)

在此处输入图片描述

答案1

使用thmtoolstocbibind

\documentclass[12pt]{book}
\usepackage[T1]{fontenc}
\usepackage[french,english]{babel}

\usepackage{amsthm,thmtools}
\usepackage[nottoc]{tocbibind}

\declaretheorem[name=Theorem]{theorem}
\declaretheorem[name=Definition]{definition}

\addto\captionsenglish{%
  \renewcommand{\listtheoremname}{List of Definitions}%
}

\begin{document}

\tableofcontents
\chapter{Chapter}
\section{Section}
\begin{figure}
a
\caption{haha}
\end{figure}
\begin{definition}[title]
  body
\end{definition}

\begin{theorem}
Body
\end{theorem}

% List of figures
\listoffigures

% List of Definitions
\listoftheorems[ignoreall,show=definition]

\end{document}

目录页

在此处输入图片描述

定义列表页面

在此处输入图片描述

相关内容