我注意到定理列表对于定义来说没有多大意义,因为我得到的基本上只是1.5 Def
等,这并没有传达任何信息。因此,我添加了如下所示的额外信息,以便我能够进入1.5 Def (Vector Space)
定理列表,这实际上对我有很大帮助。然而,这会让文本变得不那么清晰,因为现在Def. 1.5
我得到的不是Def. 1.5 (Vector Space)
预期的结果。有没有办法从实际文本中删除这些额外信息,但将其显示在定理列表中?
\documentclass[10pt,a4paper]{article}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{thmtools}
\begin{document}
\listoftheorems[ignoreall,show={definition}]
\begin{definition}[Vector Space]
....
\end{defintion}
\end{document}
答案1
这个想法是修改的定义\ll@definition
,但实际上还需要做更多的工作。
\documentclass{article}
\usepackage{amsthm}
\usepackage{thmtools}
\declaretheorem[
style=definition,
name=Definition,
]{innerdefinition}
\makeatletter
\newenvironment{definition}[1][]
{\def\gonenc@thmt@shortoptarg{#1}\innerdefinition}
{\endinnerdefinition}
\def\ll@innerdefinition{%
\protect\numberline{\csname the\thmt@envname\endcsname}%
\thmt@thmname
\ifx\@empty\gonenc@thmt@shortoptarg
\else
\ (\gonenc@thmt@shortoptarg)%
\fi}
\makeatother
\begin{document}
\listoftheorems[ignoreall,show={innerdefinition}]
\begin{definition}[Vector Space]
You know what a \emph{vector space} is, don't you?
\end{definition}
\end{document}