Multicol 和文本背景颜色

Multicol 和文本背景颜色

我正在寻找创建multicol文档的方法,其中每列都有背景颜色,如下图所示。彩色区域(红色矩形)应填充背景颜色。由于文档有很多列(示例中为 4 列,但实际上有 10 列),将文本拆分为小页面或类似内容不是我喜欢的选项。

在此处输入图片描述

答案1

如果我们假设你正在使用不平衡列并希望将列边框放在全部然后,您可以使用以下方式将它们作为覆盖的一部分插入到背景中:eso-pic(或其他一些包;有多个选项):

在此处输入图片描述

\documentclass{article}

\usepackage{lipsum,multicol}
\usepackage[paper=a3paper,margin=1in]{geometry}

\usepackage{xcolor,eso-pic}
\newlength{\columnwidths}
\AtBeginDocument{\setlength{\columnwidths}{\dimexpr.25\textwidth-.75\columnsep}}
\AddToShipoutPictureBG{% Add to *all* pages in the BackGround
  \AtTextLowerLeft{%
    \hspace{\dimexpr-\fboxsep-\fboxrule}%
    \fcolorbox{red}{white}{\rule{\columnwidths}{0pt}\rule{0pt}{\textheight}}% First column
    \hspace{\dimexpr\columnsep-2\fboxsep-2\fboxrule}%
    \fcolorbox{red}{white}{\rule{\columnwidths}{0pt}\rule{0pt}{\textheight}}% Second column
    \hspace{\dimexpr\columnsep-2\fboxsep-2\fboxrule}%
    \fcolorbox{red}{white}{\rule{\columnwidths}{0pt}\rule{0pt}{\textheight}}% Third column
    \hspace{\dimexpr\columnsep-2\fboxsep-2\fboxrule}%
    \fcolorbox{red}{white}{\rule{\columnwidths}{0pt}\rule{0pt}{\textheight}}% Fourth column
  }%
}

\begin{document}

\sloppy% Just for this example
\begin{multicols*}{4}
\lipsum[1-50]
\lipsum[1-9]
\end{multicols*}

\end{document}

相关内容