框架环境的垂直间距

框架环境的垂直间距

下面是显示该问题的 MWE:

\documentclass{article}
\usepackage{framed}
\setlength{\FrameSep}{3pt}
\setlength{\parindent}{0pt}
\begin{document}
\fbox{Foo}

\fbox{Foo}

\begin{framed}
  Foo
\end{framed}
\begin{framed}
  Foo
\end{framed}
\end{document}

垂直间距问题


framed包在其参数周围放置了比实际更多的间距\fbox。我可以通过修复将“单元格填充”减少到默认值\FrameSep,但我不知道如何修复框架外的水平间距。文档很少。我读 TeX 不够流利,无法理解,framed.sty但这是一个相当小的文件,所以我期望它很容易做到......

答案1

您可以尝试 mdframed.sty,扩展包 framed.sty。您可以更好地控制参数。查看所有选项的文档(mdframed-doc-en.pdf)框架。调整框内文本的参数有:innerleftmargin、innerrightmargin、innertopmargin 等,并且您可以使用宏\mdfsetup来设置所有这些选项。

\documentclass{article}
\usepackage{mdframed}
\setlength{\parindent}{0pt}
\begin{document}
\fbox{Foo}

\fbox{Foo}

\begin{mdframed}
  Foo
\end{mdframed}
\begin{mdframed}
  Foo
\end{mdframed}
\end{document}

框架

答案2

framed根据添加间距\topsep。尝试

\setlength{\topsep}{0pt}

以查看效果。为避免影响文档的其余部分,请在本地进行调整,即使用您自己的framed类似环境来设置该长度。在您自己的环境中,您可以调用:

\begin{MakeFramed}{%
  \setlength{\topsep}{0pt}%
  \advance\hsize-\width \FrameRestore}
  ...
\end{MakeFramed}

相关内容