Schattierte Multicols II

Schattierte Multicols II

In Erweiterung einer vorherigen Frage,Schattierte Multicols, wie kann ich in der Multicol-Umgebung abgerundete Ecken für die äußeren 4 Ecken (also die Ecken direkt neben den Seitenrändern) einfügen

Diese Frage ist nur dann wirklich relevant, wenn Multicol-Shading oder Multicol-Ränder verwendet werden; eine Lösung finden Sie in Teil I dieser Frage (siehe Link oben).

Die Hauptsache ist also, dass die Umgebung in der Lage sein muss, einen Seitenumbruch in der Mitte vorzunehmen. David Carlisle hat in einem der Kommentare vorgeschlagen, den Box-Befehl zu patchen, aber wie kann das so gemacht werden, dass bei einer linken Spalte nur die linken beiden Ecken abgerundet werden, bei einer rechten Spalte nur die rechten beiden Ecken und bei einer mittleren Spalte keine Ecken (wenn es 3 oder mehr Spalten gibt).

Antwort1

Bildbeschreibung hier eingeben

Wie in der Frage erwähnt, ersetzt dies im Wesentlichen nur \fcolorboxdurch mdframed(mit Dank an Marco für die Bereitstellung der richtigen mdframedBeschwörung)

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

verwandte Informationen