\documentclass[12pt,twoside,notitlepage,reqno]{amsbook}%
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{xcolor}
\usepackage{thmtools}
\usepackage[framemethod=tikz]{mdframed}
\usepackage{lipsum}% just to generate text for the example
\definecolor{greyframe}{gray}{0.85}
\definecolor{greytitleframe}{gray}{0.80}
\theoremstyle{definition}
\newmdtheoremenv[
backgroundcolor=greyframe,
linecolor=black,
roundcorner=5pt,
linewidth=1pt,
innerleftmargin=1cm,
innerrightmargin=1cm,
skipabove=1cm,
skipbelow=1cm,
frametitleaboveskip=12pt,
frametitlebelowskip=6pt,
frametitlerule=true,
frametitlebackgroundcolor=greytitleframe
]{defn}{Definition}[chapter]
\begin{document}
\lipsum[4]
\begin{defn}[frametitle={Something Something Test}]
\lipsum[4]
\end{defn}
\lipsum[4]
\end{document}
上述命令将产生以下输出:
尽管我在这里和 mdframed 文档中搜索过,但似乎还是有几个问题无法解决。第一个我无法解决的问题是,标题和主题之间没有分隔符。据我了解frametitlerule=true应该生产这样的分离器。
第二个问题是关于跳过空格。上面有空格,但下面没有空格。如果我设置为 skipabove=\topsep,那么我实际上会失去我的空间,而将 skipbelow 设置为那样也不会有任何效果。我知道一次只有一个问题,但我从昨晚开始就一直在尝试完成这些小事。有人有什么见解吗?
答案1
您能接受改为 吗tcolorbox
?
\documentclass[12pt,twoside,notitlepage,reqno]{amsbook}%
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{xcolor}
\usepackage{thmtools}
\usepackage[most]{tcolorbox}
\usepackage{lipsum}% just to generate text for the example
\definecolor{greyframe}{gray}{0.85}
\definecolor{greytitleframe}{gray}{0.80}
\theoremstyle{definition}
\newtcbtheorem[number within=chapter]
{defn}% <- environment name
{Definition}% <- printed name
{
colback=greytitleframe,
colframe=black,
colbacktitle=greytitleframe,
coltitle=black
}%<- box parameters
{def}%<- label prefix
\begin{document}
\lipsum[4]
\begin{defn}{Something Something Test}{abc}
\lipsum[4]
\end{defn}
As can be seen in Definition~\ref{def:abc} \dots
\lipsum[4]
\end{document}