答案这个问题指示我进行编辑\thmt@mklistcmd
以更改定理列表的外观,这似乎是解决方案,因为它定义了\csname ll@\thmt@envname\endcsname
(例如,\ll@definame
如果我说\newtheorem{defi}{Definizione}
),那么它就是导致该外观的原因。但以下 MWE 显示编辑该命令是无用的:
\documentclass[a4paper]{report}
\usepackage{amsthm,thmtools,amsmath,amssymb,amsfonts}
\newtheorem{teor}{Theorem}[section]
\makeatletter
\renewcommand\thmt@mklistcmd{%
\@xa\protected@edef\csname l@\thmt@envname\endcsname{% CHECK: why p@edef?
\@nx\@dottedtocline{1}{1.5em}{\@nx\thmt@listnumwidth}{\thmt@thmname}{mu}%
}%
\ifthmt@isstarred
\@xa\def\csname ll@\thmt@envname\endcsname{%
\protect\numberline{\thmt@thmname\protect\let\protect\autodot\protect:}%
\ifx\@empty\thmt@shortoptarg\else\protect\thmtformatoptarg{\thmt@shortoptarg}\fi
}%
\else
\@xa\def\csname ll@\thmt@envname\endcsname{%
\thmt@thmname\ \csname the\thmt@envname\endcsname:\hfil%
\ifx\@empty\thmt@shortoptarg\else\thmt@shortoptarg\fi
}%
\fi
\@xa\gdef\csname thmt@contentsline@\thmt@envname\endcsname{%
\thmt@contentslineShow% default:show
}%
}
\makeatother
\begin{document}
\chapter{Measures}
\begin{teor}[name=$\sigma$-subadditivity of a measure]
If $(X,\mathcal{E},\mu)$ is a measure space, then for any countable collection of measurable sets $\{A_n\}_{n\in\mathbb{N}}$ we have:
\[\mu\!\left(\bigcup_{n\in\mathbb{N}}A_n\right)\leq\!\sum_{n=1}^\infty\mu(A_n).\]
\end{teor}
\listoftheorems
\end{document}
编译它任意多次,你(或者至少我)总是会得到与没有重新定义相同的结果\thmt@mklistcmd
。但是,重新定义\ll@<envname>
(例如\ll@definame
)做工作。因此显然,无论是否\thmt@mklistcmd
使用,一定有其他东西定义该控制序列。因此:
- 这是否
\thmt@mklistcmd
与定理列表的出现有关,或者尽管看起来有关系,但实际上没有关系? - 什么负责定义
\ll@<envname>
每个定理? - 也许存在一些需要重新定义的东西
\ll@<envname>
,或者\thmt@mklistcmd
在某个点上超出了我的重新定义?
编辑:
问题已经准备好结束了:),因为正如@UlrikeFischer 指出的那样,我需要改变的只是必须进行重新定义后 \newtheorem{defi}{Definition}[section]
。抱歉问了这么愚蠢的问题,感谢@Ulrike 的评论。
答案1
由于这个问题还没有解决,所以让我来回答一下。
正如 Ulrike Fischer 所评论的那样,
我不知道您到底想改变什么,但首先我会将重新定义移到之前
\newtheorem{teor}{Theorem}[section]
。
这就是你必须要做的全部。显然,在重新定义之前定义定理mklistcmd
会使定理具有旧的定理mklistcmd
,而在重新定义之后定义定理会使定理具有所需的新的定理mklistcmd
。