从 thmtools 包中自定义“continues”或 \thmcontinues

从 thmtools 包中自定义“continues”或 \thmcontinues

thmtools 包为定理提供了参数“continues”,如示例所示。

\documentclass{article}

\usepackage{amsthm}
\usepackage{thmtools}
\usepackage{hyperref}

\declaretheoremstyle[
    headfont=\bfseries\itshape,
    notefont=\bfseries\itshape
]{foostyle}

\declaretheorem{foo}[
    style=foostyle
]

\begin{document}
    
    \begin{foo}[Bold note]\label{foo}
        This is the first part.
    \end{foo}
    
    \begin{foo}[continues=foo]
        This is the second part.
    \end{foo}
    
\end{document}

我想自定义这个“continues”参数。特别是我想“取消粗体”‘continuing from p. 1’(不删除斜体或其他属性)。我尝试修改\thmcontinues定义为

\providecommand\thmcontinues[1]{%
\ifcsname hyperref\endcsname
\hyperref[#1]{continuing}
\else
    continuing
\fi
from p.\,\pageref{#1}%
}

但是更新不起作用(至少以下情况):

\renewcommand\thmcontinues[1]{
    \mdseries\thmcontinues{#1}
}

有什么解决办法吗?

答案1

的问题\renewcommand是它本质上只允许您使用以前使用的名称定义命令。您希望保留大部分功能\thmcontinues并添加\mdseries。为此,我们创建一个临时命令,称为\thmcontinuesTEMP此处,然后我们将其更新\thmcontinues为该临时值和所需的\mdseries。为此,请使用

\let{\thmcontinuseTEMP}{\thmcontinues}
\renewcommand{\thmcontinues}{\mdseries\thmcontinuseTEMP}

在你的序言中,然后当你运行 MWE 时你应该得到以下输出: 删除了 thmcontinues 中的粗体

相关内容