¿Cómo dibujo una línea de puntos vertical que separa dos columnas?

¿Cómo dibujo una línea de puntos vertical que separa dos columnas?

multicolo memoirsería preferible. \columnseprule, según tengo entendido, se encarga de trazar una línea vertical sólida entre columnas. ¿Existe una manera parsimoniosa de lograr lo siguiente?

-----pretext---
###### : ######
###### : ######
###### : ######
###### : ######
###### : ######
###### : ######
-----posttext--

Respuesta1

Aquí hay una solución

\documentclass[twocolumn]{memoir}

\usepackage{xpatch}
\usepackage{graphicx}

\makeatletter
\xpatchcmd{\@outputdblcol}{\vrule\@width\columnseprule}{\rotatebox{90}{\parbox{\textheight}{\dotfill}}}{}{}
\makeatother

\usepackage{lipsum}



\begin{document}
\lipsum
\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

Esta es una versión preliminar que utiliza el multicolpaquete solicitado:

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

El resultado:

ingrese la descripción de la imagen aquí

El código necesita dos ejecuciones para que las líneas de puntos alcancen sus posiciones finales.

El resultado:

información relacionada