
multicol
oder memoir
wäre vorzuziehen. \columnseprule
ist, soviel ich weiß, dafür zuständig, eine durchgezogene vertikale Linie zwischen den Spalten zu zeichnen. Gibt es eine kostengünstige Möglichkeit, Folgendes zu erreichen?
-----pretext---
###### : ######
###### : ######
###### : ######
###### : ######
###### : ######
###### : ######
-----posttext--
Antwort1
Antwort2
Dies ist eine vorläufige Version, die das multicol
Paket wie gewünscht verwendet:
\documentclass{memoir}
\usepackage{multicol}
\usepackage{etoolbox}
\usepackage{tikz}
\usetikzlibrary{tikzmark}
\usepackage{lipsum}
%
\newcounter{mymulticol}
\setlength\columnsep{20pt}
%
\makeatletter
\def\LR@dotcolumn@boxes{%
\process@cols\mult@gfirstbox{%
\ifdim\dp\count@>\dimen\tw@
\global\dimen\tw@\dp\count@ \fi
\mc@col@status@write
\box\count@\hss{\columnseprulecolor\tikzmark{middle-\themymulticol}\vrule
\@width\columnseprule}\hss}%
\ifdim\dp\mult@rightbox>\dimen\tw@
\global\dimen\tw@\dp\mult@rightbox \fi
\mc@lastcol@status@write
\box\mult@rightbox\stepcounter{mymulticol}\tikzmark{end-\themymulticol}%
}
\newcommand\LRdotmulticolcolumns
{\let\mc@align@columns
\LR@dotcolumn@boxes}
\LRdotmulticolcolumns
\AtBeginEnvironment{multicols}{\stepcounter{mymulticol}\tikzmark{start-\themymulticol}}
\AtEndEnvironment{multicols}{%
\raisebox{0pt}[0pt][0pt]{\tikz[remember picture,overlay]{
\draw[dotted]
([yshift=-17pt]{{pic cs:middle-\themymulticol}|-{pic cs:start-\themymulticol}}) --
([yshift=-2pt]{{pic cs:middle-\themymulticol}|-{pic cs:end-\themymulticol}});
}}}
\makeatother
\begin{document}
\lipsum[4]
\begin{multicols}{2}
\lipsum[4]
\end{multicols}
\lipsum[4]
\begin{multicols}{2}
\lipsum[4]
\end{multicols}
\lipsum[4]
\end{document}
Das Ergebnis:
Der Code benötigt zwei Durchläufe, damit die gepunkteten Linien ihre endgültigen Positionen erreichen
Das Ergebnis: