我正在使用该thmtools
软件包,我想修改它\listoftheorems
以仅打印定理的名称。例如,我的文档可能看起来像下面显示的文档。当我编译此文档时,我的“问题列表”的第一行是“1 问题(名称 1)... 1”。但是,我希望它是“1 名称 1 ... 1”。有没有办法做到这一点?我弄清楚了如何更新命令\listtheoremname
以更改问题列表的标题。文档thmtools
说“如果你够大胆,定理类型“引理”的代码就在里面,\l@lemma
等等。”这让我乐观地认为我可以更新命令\l@problem
来做我想做的事情,但我对 TeX 的了解还不够,无法实现这一点。
\documentclass{article}
\usepackage{amsthm}
\usepackage{thmtools}
\declaretheorem{problem}
\renewcommand{\listtheoremname}{List of Problems}
\begin{document}
\listoftheorems
\begin{problem}[Name 1]
description of problem 1
\end{problem}
\begin{problem}[Name 2]
description of problem 2
\end{problem}
\end{document}
答案1
尝试这个:
\makeatletter
%\show\ll@problem gives default definition:
% \protect \numberline {\csname the\thmt@envname \endcsname }\thmt@thmname \ifx
% \@empty \thmt@shortoptarg \else \protect \thmtformatoptarg {\thmt@shortoptarg
% }\fi
\def\ll@problem{%
\protect\numberline{\theproblem}\thmt@shortoptarg%
}
\makeatother
如果没有标题,它将不会留下任何文本,但对于您的情况来说这听起来没问题。