Mdframed 定理:如何制作类似于 amsthm 的字体并更改标题格式?

Mdframed 定理:如何制作类似于 amsthm 的字体并更改标题格式?

我正在为我的论文制作自定义书籍样式,并且我想出了一种我喜欢的定理环境样式,如下图所示。但是我有两个问题:

  1. 我希望定理的标题放在括号中,就像通常的 amsthm 定理一样
  2. 我希望定理环境与 amsthm 的环境类似。例如,定理的主体将采用斜体,而注释的标题将采用非粗体斜体。

我知道这些问题可以通过使用 thmtools 包来解决,但是我找不到重现这种风格和颜色的方法,特别是我无法让标题出现在这个阴影栏中,而且我还遇到了阴影定理无法沿页面断裂的问题,这对我来说是必须的,因为我将会有一些很长的定理。

有人能告诉我如何才能产生相同的结果,但同时解决我的两个问题吗?

附加问题:我从经验中了解到,当我很难更改乳胶样式时,这样做是有充分理由的,而且更改会产生更糟糕的结果。我想这是一个品味问题,但从排版的角度来看,是否有充分的理由避免进行我在这里要求的更改?

在此处输入图片描述

\documentclass{article}

\usepackage{amsthm}
\usepackage{lipsum} %dummy text
\usepackage[usenames,dvipsnames,table]{xcolor} 
\definecolor{lightblue}{rgb}{.31,.506,.741}
\definecolor{pale}{HTML}{F7F8E0}

\usepackage[framemethod=TikZ]{mdframed}
\usepackage{tikz}

\theoremstyle{theorem}
\mdfdefinestyle{mytheoremstyle}{%
linewidth =0pt, %
frametitlerule =true, %
frametitlebackgroundcolor=lightblue!20,
backgroundcolor=pale,
} 

\theoremstyle{theorem}
\mdfdefinestyle{mytheoremstyle}{%
linewidth =0pt, %
frametitlerule =true, %
frametitlebackgroundcolor=lightblue!20,
backgroundcolor=pale,
} 

\mdtheorem[style=mytheoremstyle]{theorem}{Theorem}[section]

\theoremstyle{remark}
\mdfdefinestyle{myremarkstyle}{%
linewidth =0pt, %
frametitlerule =true, %
frametitlebackgroundcolor=lightblue!20,
backgroundcolor=pale,
} 

\mdtheorem[style=myremarkstyle]{remark}[theorem]{Remark}

\begin{document}
\section{A section}
\lipsum[1]
\begin{theorem}[The theorem's title]
    I would like two things:
    \begin{enumerate}
    \item the theorem's title to appear in parentheses, 
          like ``Theorem 1.1. (The theorem's title.)''
    \item the fonts to be in italics, like the
    amsthm's theorem style
    \end{enumerate}
\end{theorem}
\lipsum[2]

\begin{remark}
I would like the fonts to be as in amsthm's remark
style.
\end{remark}

\end{document}

答案1

Tcolorbox 完成了以下工作:

\usepackage[theorems]{tcolorbox}

\tcbset{
theostyle/.style={
    fonttitle=\bfseries\upshape,
    fontupper=\slshape,
    before skip=\baselineskip,
    arc=0mm, 
    boxrule=0mm, 
    left=0mm,
    right=0mm,
    coltitle=black,
    colback=pale,
    colframe=lightblue!30,
    breakable,
    description delimiters parenthesis,
    separator sign none,
    terminator sign={.}
}}

\newtcbtheorem[number within=section]{theorem}{Theorem}{theostyle}{theorem} 

相关内容