framed 和 mdframed 封装的间距

framed 和 mdframed 封装的间距

framed我在将该包与环境结合时遇到了一点小问题itemize

\documentclass[parskip]{scrartcl}
\usepackage{fancybox}
\usepackage{framed}

\newenvironment{simpages}%
{\def\FrameCommand{\fboxsep=\FrameSep \shadowbox}\MakeFramed {\FrameRestore}}%
{\endMakeFramed}

\begin{document}
Some text

\begin{simpages}
\begin{itemize}
  \item Foo
  \item Bar
  \item Baz
\end{itemize}
\end{simpages}

Some more text

\end{document}

这导致以下结果:

框架示例

如您所见,项目上方的垂直空间比下方的大得多 - 这就是我想要纠正的。我尝试切换到mdframed正如这里建议的那样,但目前还没有成功:

\documentclass[parskip]{scrartcl}
\usepackage{mdframed}

\newmdenv{simpages}

\begin{document}
Some text

\begin{simpages}
\begin{itemize}
  \item Foo
  \item Bar
  \item Baz
\end{itemize}
\end{simpages}

Some more text

\end{document}

结果几乎相同,只是现在缺少阴影效果......

为什么环境内容上方和下方的垂直空间不同,我该如何调整?

mdframed 示例

答案1

这里有两个选项可以生成阴影框,一个使用mdframed,另一个是tcolorbox

\documentclass[parskip]{scrartcl}
\usepackage[most]{tcolorbox}
\usepackage[framemethod=tikz]{mdframed}
\usetikzlibrary{shadows}

\newmdenv[
shadow=true]
{simpages}
\newtcolorbox{tsimpages}{
enhanced,
breakable,
arc=0pt,
outer arc=0pt,
colback=white,
shadow={1mm}{-1mm}{0mm}{color=black!50,sharp corners},
}

\begin{document}
Some text

\begin{simpages}
\begin{itemize}
  \item Foo
  \item Bar
  \item Baz
\end{itemize}
\end{simpages}
Some more text
\begin{tsimpages}
\begin{itemize}
  \item Foo
  \item Bar
  \item Baz
\end{itemize}
\end{tsimpages}
Some more text

\end{document}

在此处输入图片描述

并且对于framed软件包,进行一些调整以便parskip选项不会干扰:

\documentclass[parskip]{scrartcl}
\usepackage{fancybox}
\usepackage{framed}
\usepackage{etoolbox}

\newenvironment{simpages}%
{\AtBeginEnvironment{itemize}{\parskip=0pt\parsep=0pt\partopsep=0pt}
\def\FrameCommand{\fboxsep=.5\FrameSep\shadowbox}\MakeFramed {\FrameRestore}}%
{\endMakeFramed}

\begin{document}
Some text
\begin{simpages}
\begin{itemize}
  \item Foo
  \item Bar
  \item Baz
\end{itemize}
\end{simpages}
Some more text

\end{document}

在此处输入图片描述

相关内容