Problema al equilibrar multicols con minipágina dentro

Problema al equilibrar multicols con minipágina dentro

Tengo dos minipáginas, una encima de la otra, con [b]opciones [t]configuradas para tener un salto de línea de base correcto. La segunda minipágina/varwidth está en el entorno multicols y si tiene más de dos líneas, sale de la altura del texto. ¿Qué hacer?

\documentclass{article}

\usepackage[paperwidth=10cm,paperheight=5cm,showframe]{geometry}

\usepackage{varwidth}

\usepackage{multicol}

\premulticols0pt
\postmulticols0pt
\columnsep0pt
\setlength{\multicolsep}{0pt}

\begin{document}

\noindent LABORE ET DOLORE

\vfill

\noindent\begin{minipage}[b]{\linewidth}
\raggedleft
LOREM IPSUM

LOREM IPSUM
\end{minipage}

\begin{multicols}{2}

\null
\vfill

\noindent DOLOR SIT

\columnbreak

\noindent\hfill\begin{varwidth}[t]{.5\textwidth}
\raggedleft
MAGNA ALIQUA

MAGNA ALIQUA

MAGNA ALIQUA

MAGNA ALIQUA
\end{varwidth}
\end{multicols}
\end{document}

Uno de los multicols sale de la altura del texto.

Actualizar

Cambio ligeramente el código @alephzero para vaciar la línea base del texto tabular hacia la parte inferior (con los descendentes fuera de la altura del texto). Sé que no es una buena solución. Pero funciona.

\documentclass{article}

\renewcommand{\arraystretch}{0}

\usepackage[paperwidth=10cm,paperheight=5cm,showframe]{geometry}

\newlength{\myheight}

\begin{document}

\setlength{\myheight}{\fontchardp\font`p}

\noindent LABORE ET DOLORE

\vfill

\noindent\begin{minipage}[b]{\linewidth}
\raggedleft
LOREM IPSUM

LOREM IPSUM
\end{minipage}\strut

\noindent\begin{tabular}{@{}l@{}l@{}}
\parbox[t]{0.5\linewidth}
{DOLOR SIT}
&
\parbox[b]{0.5\linewidth}
{\raggedleft
MAGNA ALIQUA

MAGNA ALIQUA

MAGNA ALIQUA

MAGNA ALIQUA\vphantom{p}}
\end{tabular}

\enlargethispage{\myheight}

\end{document}

Solución de diseño

Respuesta1

Esto parece hacer lo que quieres, sin \multicolo \varwidth.

\documentclass{article}

\usepackage[paperwidth=10cm,paperheight=5cm,showframe]{geometry}

\begin{document}

\noindent LABORE ET DOLORE

\vfill

\noindent\begin{minipage}[b]{\linewidth}
\raggedleft
LOREM IPSUM

LOREM IPSUM
\end{minipage}\strut

\noindent\begin{tabular}{@{}l@{}l@{}}
\parbox[t]{0.5\linewidth}
{DOLOR SIT}
&
\parbox[b]{0.5\linewidth}
{\raggedleft
MAGNA ALIQUA

MAGNA ALIQUA

MAGNA ALIQUA

MAGNA ALIQUA}
\end{tabular}

\end{document}

Lo \strutque sigue a las minipáginas es para dar el salto de línea de base correcto entre LOREM IPSUM y MAGNA ALIQUA, pero en su enlace de ejemplo, parece haber un espacio vertical más grande allí.

Podrías usar minipáginas en lugar de parboxes, pero parboxes más corto de escribir.

información relacionada