在 mdframed 中更改框架大小

在 mdframed 中更改框架大小

我正在尝试在定义周围放置一个框。使用 mdframed 包,我成功做到了这一点。但是,框太大,特别是太高,它遮住了定义上方和下方的文本。我正在使用

\newenvironment{bdefn}    
  {\begin{mdframed}\begin{defn}}    
  {\end{defn}\end{mdframed}}

创建“盒装定义”环境,然后我使用

\begin{bdefn}    
(text)    
\end{bdefn}

对于定义本身。

我尝试手动创建一个新的 mdframed 样式,该样式具有较小的边距,使用类似

\mdfdefinestyle{style1}{leftmargin=1cm,rightmargin=1cm,skipbelow=1cm,skipabove=1cm}.

该命令\mdfdefinestyle和此格式均取自 mdframed 的文档。但是,当我将此行放入文档的序言中时,我收到了错误消息

"Undefined control sequence: \mdfdefinestyle{stlye1}{..."

有人能告诉我为什么命令\mdfdefinestyle无法被识别吗?或者,有人能建议用其他方法在我的定义周围制作一个尽可能小的框吗?

答案1

style=style1您必须使用类似(而不仅仅是)的样式style1。进一步说,您可以使用\surroundwithmdframed[<options>]{environment}用框架包围现有环境mdframed。因此,要用defn框架覆盖,您需要

\surroundwithmdframed[style=style1]{defn}

这是一个示例。

\documentclass{article}
\usepackage{amsthm}
\newtheorem{defn}{Definition}
\usepackage[framemethod=TikZ]{mdframed}
\mdfdefinestyle{style1}{leftmargin=1cm,rightmargin=1cm,skipbelow=1cm,skipabove=1cm,
   innertopmargin=0pt}
\surroundwithmdframed[style=style1]{defn}
\begin{document}
  \begin{defn}%
(text)
\end{defn}
\end{document}

在此处输入图片描述

相关内容