음영 처리된 다중 열 II

음영 처리된 다중 열 II

이전 질문을 확장하면,음영처리된 멀티콜, 외부 4개 모서리(즉, 페이지 여백 바로 옆에 있는 모서리)에 대해 다중 색상 환경에 둥근 모서리를 어떻게 넣을 수 있습니까?

이 질문은 이 질문의 파트 I에 포함된 솔루션인 다중 색상 음영이 사용되거나 다중 색상 테두리가 사용되는 경우에만 실제로 관련이 있습니다(위 링크 참조).

따라서 가장 중요한 것은 환경이 중간에 페이지 나누기를 할 수 있어야 한다는 것입니다. David Carlisle은 의견 중 하나에서 box 명령을 패치하라고 제안했지만 왼쪽 열의 경우 왼쪽 2개 모서리만 둥글게 하고 오른쪽 열의 경우 오른쪽 2개 모서리만 둥글게 하고 중간 열의 모서리는 둥글게 하지 않으려면 어떻게 이 작업을 수행할 수 있습니까( 열이 3개 이상인 경우).

답변1

여기에 이미지 설명을 입력하세요

질문에서 언급했듯이 이것은 본질적으로 (올바른 주문을 제공한 Marco에게 감사드립니다) \fcolorbox로 대체됩니다.mdframedmdframed

\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}

관련 정보