我该如何修改下面的定义以获得一个周围有粗虚线和圆角的未填充框?我也不希望它被编号。
\newmdtheoremenv[outerlinewidth=2,leftmargin=40,rightmargin=40,%
backgroundcolor=gray!30,outerlinecolor=black,innertopmargin=0pt,%
splittopskip=\topskip,skipbelow=\baselineskip,%
skipabove=\baselineskip,ntheorem,roundcorner=5pt]{case}{Case}[section]
答案1
mdframed
为了获得圆角,您需要使用参数加载包framemethod=tikz
。要获得未填充的框,您只需省略参数
backgroundcolor
。我发现获取虚线的方法是使用
tikzsetting
,您还可以使用参数按照您想要的方式自定义虚线样式,为了制作线条标记,您只需增加与相关的dash pattern
参数的值。line width
tikzsetting
要获得未编号定理环境,如本文所述回答您需要在定义
\theoremstyle{nonumberplain}
之前添加命令。\newmdtheoremenv
以下是代码:
\documentclass{article}
\usepackage[framemethod=tikz]{mdframed}
\usepackage{ntheorem}
\usepackage{xcolor}
\theoremstyle{nonumberplain}
\newmdtheoremenv[linewidth= 1pt,linecolor= white,%
leftmargin=40,rightmargin=40,innertopmargin=5pt,%
tikzsetting = { draw=blue, line width = 3pt,dashed,%
dash pattern = on 4pt off 3pt},%
splittopskip=\topskip,skipbelow=\baselineskip,%
skipabove=\baselineskip,ntheorem,roundcorner=5pt]{Cases}{Cases}[section]
\begin{document}
Some text.
\begin{Cases}
A theorem.
\end{Cases}
\end{document}
\mdfsetup{...}
如果您定义了几个具有一些通用参数的定理环境,您可以使用序言中的命令设置默认参数,而不必担心参数的重复定义,因为默认参数(中的参数\mdfsetup{...}
)将被中的参数覆盖\newmdtheoremenv[...]
,同时定理定义中未定义的默认参数将被继承。
以下是一个例子:
\documentclass{article}
\usepackage[framemethod=tikz]{mdframed}
\usepackage{ntheorem}
\usepackage{xcolor}
\theoremstyle{nonumberplain}
%default parameters
\mdfsetup{linewidth= 2pt,linecolor= black,%
leftmargin=40,rightmargin=10,innertopmargin=5pt}
\newmdtheoremenv{theoremA}{theoremA}[section]
\newmdtheoremenv[linecolor= blue]{theoremB}{theoremB}[section]
\begin{document}
\begin{theoremA}
Using default parameters.
\end{theoremA}
\begin{theoremB}
Using default parameters but with a \textcolor{blue}{blue} line color.
\end{theoremB}
\end{document}