使用 amsthm 包的替代定理样式?

使用 amsthm 包的替代定理样式?

我正在写一个包含许多引理、定理和证明的文档。我不喜欢默认的样式,主要是因为它几乎没有在定理和文本(或证明和文本)之间设置任何视觉分隔。

我想要以下内容:

定义环境具有较大的边距和左侧的垂直线,因此我可以通过注意垂直线的起点和终点清楚地看到定义的起点和终点。

是否有任何定理风格可以实现这一点?是否有任何类似的风格至少可以让定理和证明从文本中脱颖而出?

谢谢!

ps 目前,我以 结束定义块,因此\( \qed \)有一些迹象表明定义已结束。

答案1

您可以使用mdframed:

\documentclass{article}
\usepackage{amsthm}
\usepackage[framemethod=tikz]{mdframed}
\usepackage{lipsum}

\theoremstyle{plain}
\newmdtheoremenv[
  linecolor=cyan,
  roundcorner=5pt,
  linewidth=1pt
]{theo}{Theorem}

\theoremstyle{definition}
\newmdtheoremenv[
  hidealllines=true,
  leftline=true,
  innerleftmargin=10pt,
  innerrightmargin=10pt,
  innertopmargin=0pt,
]{defi}{Definition}

\begin{document}

\lipsum[4]
\begin{defi}
\lipsum[4]
\end{defi}
\lipsum[4]
\begin{theo}
\lipsum[4]
\end{theo}

\end{document}

enter image description here

该软件包提供了许多额外的定制选项;请参阅软件包文档,其中也包含许多示例。

如果要将同一种样式用于多个结构,那么最好定义一个要多次使用的样式;该包还提供了一个非常有用的\surroundwithmdframed命令,用于将 mdframed 设置应用于已定义的环境。在下面的示例中,我定义了一种样式,使用此样式为定义构建了一个结构,并使用此样式包围了标准环境proof(来自amsthm):

\documentclass{article}
\usepackage{amsthm}
\usepackage[framemethod=tikz]{mdframed}
\usepackage{lipsum}

\mdfdefinestyle{mystyle}{
  hidealllines=true,
  leftline=true,
  innerleftmargin=10pt,
  innerrightmargin=10pt,
  innertopmargin=0pt,
}
\surroundwithmdframed[style=mystyle]{proof}
\theoremstyle{definition}
\newmdtheoremenv[style=mystyle]{defi}{Definition}

\begin{document}

\lipsum[4]
\begin{defi}
\lipsum[4]
\end{defi}
\lipsum[4]
\begin{proof}
\lipsum*[4]
\end{proof}

\end{document}

enter image description here

相关内容