
Продолжая предыдущий вопрос,Затененные многоколонкикак можно закруглить углы в многоколоночной среде для внешних 4 углов (т.е. углов, расположенных непосредственно рядом с полями страницы)
Этот вопрос действительно актуален только при использовании многоколоночной заливки или многоколоночных границ, решение содержится в части I этого вопроса (см. ссылку выше).
Итак, главное, чтобы среда могла разрывать страницы посередине. Дэвид Карлайл предложил в одном из комментариев исправить команду box, но как это можно сделать, чтобы округлить только левые 2 угла для левого столбца, правые 2 угла для правого столбца и не округлять углы в среднем столбце (когда столбцов 3 или больше).
решение1
Как отмечено в вопросе, это по сути просто заменяет \fcolorbox
( mdframed
с благодарностью Марко за предоставление правильного mdframed
заклинания)
\documentclass{article}
\usepackage{multicol}
\usepackage[framemethod=tikz]{mdframed}
\makeatletter
\let\old@page@sofar\page@sofar
\let\old@box\box
\let\old@rlap\rlap
\def\page@sofar{%
\let\box\colorcolumn
\def\rlap{\let\box\old@box\old@rlap}%
\old@page@sofar
}
\def\colorcolumn#1{%
\ifnum#1=\mult@rightbox
\def\zz{\begin{mdframed}[middlelinewidth=2pt,roundcorner=5pt,leftline=false,backgroundcolor=yellow]}%
\fi
\ifnum#1=\numexpr\mult@rightbox+2\relax
\def\zz{\begin{mdframed}[middlelinewidth=2pt,roundcorner=5pt,rightline=false,backgroundcolor=yellow]}%
\fi
\ifnum#1=\numexpr\mult@rightbox+4\relax
\def\zz{\begin{mdframed}[middlelinewidth=2pt,roundcorner=5pt,rightline=false,leftline=false,backgroundcolor=yellow]}%
\fi
\kern\dimexpr-15pt\relax
{\let\box\old@box\vtop{%
\zz{%
\hbox{\box#1\llap{\phantom p}}}%
\end{mdframed}}}%
\kern\dimexpr-15pt\relax
}
\makeatother
\def\a{Red blue green yellow black white. }
\def\b{One two three four five six. }
\def\c{\stepcounter{enumi} \Roman{enumi}
\a\a\b\b\a\a\b\a\a\b\b\b\b\b\b\a\a\b}
\begin{document}
\begin{multicols}{3}
\c\c\c\c\c\c\c\c\c\c
\end{multicols}
\end{document}