columneprule 悬垂在类型区域上方

columneprule 悬垂在类型区域上方

相关问题

目的:

我开发了一个 din-a4 问卷,并希望将问题排版为两列布局。出于限制,我不希望测试项目内部出现分列符或分页符。此外,各列应通过规则分隔。

当前状态

不幸的是,它\columnseprule悬垂在类型区域的底部。

以下 MWE 说明了这一点(查看第一个输出页的底部):

平均能量损失

\documentclass{scrartcl}

\usepackage{tikz}
\usepackage{multicol}
\usepackage{adjustbox}
\usepackage{showframe}

\setlength\parindent{0pt}
\setlength\parskip{1.5ex}
\setlength\parsep{1.5\parskip}
\setlength\fboxsep{0pt}

\newcommand{\drawbox}[2][1] {
   \adjustbox{
     minipage=\linewidth,
     padding=1ex #1 0ex #1,
     center,
     bgcolor=red!20,
     cfbox=red
  }{%
     #2
   }%
}

\begin{document}

\setlength\columnseprule{0.4pt}

\begin{multicols*}{2}
   \foreach \i in {1,...,3} {
      \drawbox[17em]{Item \i}\par
   }
\end{multicols*}

\end{document}

输出:

在此处输入图片描述在此处输入图片描述

问题

我怎样才能将其限制\columseprule到类型区域?

答案1

Harrish 展示了使用不同软件包的解决方案,但就您的初始示例而言,只需使用最新版本的multicol。我还没有尝试检查该问题何时得到修复,或者您使用的版本存在什么问题(可能是前几天到达 CTAN 的最新更新导致的),但如果您使用该版本(版本 1.8l),那么您会得到

在此处输入图片描述

答案2

您可以使用tcolorbox代替,adjustbox这样就不会有任何问题。

\documentclass{scrartcl}

\usepackage{multicol,lipsum,pgffor}
\usepackage{tcolorbox}
\usepackage{showframe}

\setlength\parindent{0pt}
\setlength\parskip{1.5ex}
\setlength\parsep{1.5\parskip}

\begin{document}

\setlength\columnseprule{0.4pt}

\begin{multicols*}{2}
   \foreach \i in {1,...,10} {
      \begin{tcolorbox}[colback=red!20,colframe=red,arc=0pt,outer arc=0pt]
        \lipsum[\i]
      \end{tcolorbox}
   }
\end{multicols*}

\end{document}

在此处输入图片描述

有关如何调整盒子样式的详细信息请参阅tcolorbox手册。

相关内容