thmtools。我该如何自定义它?

thmtools。我该如何自定义它?

考虑以下 MWE

\documentclass{article}
 
\usepackage[OT2,T1]{fontenc}    % Enable Type 1 font encoding (Cork Encoding)
\usepackage[utf8]{inputenc}
\usepackage[titletoc,toc,title]{appendix}
\usepackage[american,italian]{babel}
\usepackage{soul} % to use \ul{}, underline on more line
\usepackage{hyperref}
\usepackage{amsthm}
\theoremstyle{definition} % use upright lettering
\usepackage{thmtools} 
\declaretheorem[name=Claim,numberwithin=section]{claim}

\newcommand{\cl}[1]{
    \begin{claim}[{#1}] 
        {{\bf{\ul{#1.}}}}\end{claim}
    }
 
\begin{document}
\listoftheorems[show={claim},title={Claims}]
\section{Intro}
\cl{First} FIRST TEXT
\cl{Second} SECOND TEXT
\end{document}

我如何避免我不需要的元素,如下面的屏幕截图所示?

我想要的输出

谢谢。

答案1

可能有更好的方法来实现这一点,但这可能可以作为一个起点。考虑到需要进行大量调整,您选择的包可能不是实现您想要的最佳方法。

例如,调整定理列表中条目的格式似乎不太直接。因此,使用 覆盖定理的名称{}并通过 创建自定义样式\declaretheoremstyle并使用 选项放置定理的名称似乎更容易headformat。可以通过重新定义 来删除定理列表中的括号\thmtformatoptarg

然后,您可以使用您的方法来设计定理的注释。您的方法实际上似乎是最可行的方法,因为在选项\ul内使用headformat(否则使用起来会非常明显)似乎会导致错误。

\documentclass{article}
 
\usepackage{soul} % to use \ul{}, underline on more line
\usepackage{amsthm}
\theoremstyle{definition} % use upright lettering
\usepackage{thmtools} 
\declaretheoremstyle[headformat={Claim \NUMBER}]{claim}
\declaretheorem[name={},numberwithin=section,style=claim]{claim}

\newcommand{\cl}[1]{
    \begin{claim}[#1]\textbf{\ul{#1.}}\end{claim}
}
\renewcommand{\thmtformatoptarg}[1]{#1}

\begin{document}
\listoftheorems[show={claim},title={Claims}]
\section{Intro}
\cl{First} FIRST TEXT
\cl{Second} SECOND TEXT
\end{document}

在此处输入图片描述


编辑

由于 OP 在对这篇文章的评论中添加了一些要求,因此这里是另一个版本,其中定理列表的样式略有不同。要使其正常工作,thmtools需要最新版本的软件包(至少 v0.72),该软件包支持以下swapnumber选项\listoftheorems

\documentclass{article}
 
\usepackage{soul} % to use \ul{}, underline on more line
\usepackage{amsthm}
\theoremstyle{definition} % use upright lettering
\usepackage{thmtools} 
\declaretheoremstyle[headformat={Claim \NUMBER}]{claim}
\declaretheorem[name=Claim,numberwithin=section,style=claim]{claim}

\newcommand{\cl}[1]{
    \begin{claim}[#1]\textbf{\ul{#1.}}\end{claim}
}
\renewcommand{\thmtformatoptarg}[1]{. #1}

\begin{document}
\listoftheorems[show={claim},title={Claims},swapnumber]
\section{Intro}
\cl{First} FIRST TEXT
\cl{Second} SECOND TEXT
\end{document}

在此处输入图片描述

相关内容