multicols.sty 列规则和 \fbox 的长度

multicols.sty 列规则和 \fbox 的长度

如果我排版以下内容:

\documentclass{article}

\usepackage{multicol}
\usepackage{xcolor}
\usepackage{lipsum}

\begin{document}

\renewcommand{\columnseprule}{2pt}

\fcolorbox{black}{yellow!25}{%
    \begin{minipage}[t]{4in}%
        \begin{multicols}{2}%
            \lipsum[1]
        \end{multicols}%
    \end{minipage}%
}

\end{document}

我获得这个输出: 在此处输入图片描述

垂直列规则未接触 的水平线\fbox。可以修复此问题吗?

答案1

两个问题:

  1. 引入multicols了垂直空间,我用负片移除了它\vspace,然后

  2. A\strut应该用在材料的末尾(注意,我需要nopar选择lipsum避免自动添加结尾\par。)

以下是 MWE:

\documentclass{article}
\usepackage{multicol}
\usepackage{xcolor}
\usepackage[nopar]{lipsum}
\begin{document}
\renewcommand{\columnseprule}{2pt}

\fcolorbox{black}{yellow!25}{%
    \begin{minipage}[c]{4in}\vspace{-3pt}%
        \begin{multicols}{2}%
            \lipsum[1]\strut
        \end{multicols}%
    \end{minipage}%
}
\end{document}

在此处输入图片描述

答案2

您可能需要考虑使用tcolorbox比标准更可定制的fbox

\documentclass{article}
\usepackage{tcolorbox}
\usepackage{multicol}
\usepackage{xcolor}
\usepackage{lipsum}

\begin{document}

\renewcommand{\columnseprule}{2pt}

\begin{tcolorbox}[size=tight,width=4in,bottom=2pt,left=5pt,right=5pt]
        \begin{multicols}{2}%
            \lipsum[1]
        \end{multicols}%
\end{tcolorbox}

\end{document}

您可以将框设置为 0 填充(tight),然后在需要的位置添加自定义填充(例如:0 填充时垂直线穿过底部框边框)。

在此处输入图片描述

相关内容