我在 TeX.SE 上看到过几个类似的问题,但似乎都没有解决我的具体问题。我已经使用mdframed
环境一段时间了。我读到旧版本存在一些问题,所以我更新到了最新版本 1.9b,但它似乎引入了一个我以前没有遇到过的间距问题。
\documentclass{article}
\usepackage{amsthm}
\usepackage{mdframed}
\theoremstyle{definition}
\newmdtheoremenv{definition}{Definition}
\begin{document}
\begin{definition}
This is a definition.
\end{definition}
\end{document}
放大后的输出如下所示:
内容上方的垂直空间比下方多。这种情况是在我完全更新 TeX 发行版后才出现的,因此我推测这可能改变了mdframed
工作方式。有什么想法吗?显然我可以手动更改间距来解决这个问题,但我希望诊断问题(如果有的话)。提前致谢。
答案1
罪魁祸首不是mdframed
但是amsthm
。
事实上,下面的例子没有amsthm
\documentclass{article}
\usepackage{mdframed}
\newmdtheoremenv{definition}{Definition}
\begin{document}
\begin{definition}
This is a definition.
\end{definition}
\end{document}
产量
为了获得所需的样式,您可以definition
按照以下方式重新定义样式:
\newtheoremstyle{definition}% <name>
{-\topsep}% <space above>
{}% <space below>
{\normalfont}% <body font>
{}% <indent amount>
{\bfseries}% <theorem head font>
{.}% <punctuation after theorem head>
{.5em}% <space after theorem head>
{}% <theorem head spec>
梅威瑟:
\documentclass{article}
\usepackage{amsthm}
\usepackage{mdframed}
\newtheoremstyle{definition}% <name>
{-\topsep}% <space above>
{}% <space below>
{\normalfont}% <body font>
{}% <indent amount>
{\bfseries}% <theorem head font>
{.}% <punctuation after theorem head>
{.5em}% <space after theorem head>
{}% <theorem head spec>
\theoremstyle{definition}
\newmdtheoremenv{definition}{Definition}
\begin{document}
\begin{definition}
This is a definition.
\end{definition}
\end{document}
输出:
答案2
更新:这似乎是 mdframed 某些版本中的一个错误!
mdframed.sty 2013/03/09 1.8: Good
mdframed.sty 2013/07/01 1.9b: Bad
mdframed.sty 2013/08/18 1.9d: Good
请注意,您可以从以下位置获取 mdframed 的最新版本https://github.com/marcodaniel/mdframed