mdframed 无法减少边距

mdframed 无法减少边距
\documentclass[a4paper,10pt]{article}
\usepackage[framemethod=TikZ]{mdframed}
\usepackage{lipsum}
\usepackage{multicol}

\mdfdefinestyle{graybox}{
    splittopskip=0,%
    splitbottomskip=0,%
    frametitleaboveskip=0,
    frametitlebelowskip=0,
    skipabove=0,%
    skipbelow=0,%
    leftmargin=0,%
    rightmargin=0,%
    innertopmargin=2mm,%
    innerbottommargin=2mm,%
    roundcorner=2mm,%
    backgroundcolor=gray!20}


\begin{document}

\begin{mdframed}[style=graybox]
\begin{multicols}{2}
\lipsum[1]
\columnbreak
\lipsum[2]
\end{multicols}
\end{mdframed}

\end{document}

结果:

在此处输入图片描述

我如何删除 mdframe 内的顶部边距?

已经尝试过这个但是没有用:

\begin{document}
\begin{mdframed}[style=graybox]
\begin{multicols}{2}
\vskip -2\baselineskip
\lipsum[1]
\columnbreak
\vskip -2\baselineskip
\lipsum[2]
\end{multicols}
\end{mdframed}
\end{document}

答案1

您需要调整\multicolsep变量:

示例输出

\documentclass[a4paper,10pt]{article}
\usepackage[framemethod=TikZ]{mdframed}
\usepackage{lipsum}
\usepackage{multicol}

\mdfdefinestyle{graybox}{
    splittopskip=0,%
    splitbottomskip=0,%
    frametitleaboveskip=0,
    frametitlebelowskip=0,
    skipabove=0,%
    skipbelow=0,%
    leftmargin=0,%
    rightmargin=0,%
    innertopmargin=2mm,%
    innerbottommargin=2mm,%
    roundcorner=2mm,%
    backgroundcolor=gray!20}


\begin{document}

\begin{mdframed}[style=graybox]
\setlength{\multicolsep}{2pt}
\begin{multicols}{2}
\lipsum[1]
\columnbreak
\lipsum[2]
\end{multicols}
\end{mdframed}

\end{document}

来自以下文档multicol

作为其第一个动作,multicols 环境测量当前页面以确定是否有足够的空间容纳多列输出的某些部分。这由 ⟨dimen⟩ 变量控制, \premulticols用户可以使用普通的 LATEX 命令更改该变量。如果空间小于,则开始一个新页面。否则,将添加\premulticols\vskip 。\multicolsep

\multicolsep正在启动,这multicols是环境中的第一件事。默认情况下\multicolsep12pt plus 4pt minus 3pt,其数量级与标准文档中的基线跳过/空白行相同。

相关内容