以下 mwe 中的s\vfil
似乎不起作用:
\documentclass{article}
\usepackage{tabularx}
\usepackage{lipsum}
\begin{document}
\begin{tabularx}{\linewidth}{XX}
\lipsum[1] & a \vfil b \vfil c\\
\end{tabularx}
\end{document}
有没有办法让它工作?我想要的非常类似于如何在表格环境中使用 vfill 的等效功能?除了我不知道第 1 列的高度是多少(但它始终至少是没有 的第 2 列的高度\vfil
)。我想我可以将第 1 列的高度存储在宏中,但这是最好的方法吗?也欢迎避免使用 tabular(x) 的解决方案。
答案1
您需要测量左边的盒子。
\documentclass{article}
\usepackage{lipsum}
\newsavebox{\doubleleftbox}
\newenvironment{doublebox}
{%
\begin{flushleft}
\begin{lrbox}{\doubleleftbox}
\begin{minipage}[b]{\dimexpr0.5\columnwidth-\tabcolsep}\strut\ignorespaces
}
{\unskip\strut\end{minipage}\end{flushleft}}
\newcommand{\changeside}{%
\unskip\strut\end{minipage}
\end{lrbox}
\usebox{\doubleleftbox}\hfill
\begin{minipage}[b][\ht\doubleleftbox][s]{\dimexpr0.5\columnwidth-\tabcolsep}
\strut\ignorespaces
}
\begin{document}
\lipsum[3][1-3]
\begin{doublebox}
\lipsum[1]
\changeside
\lipsum[2][1-2]\vfil \lipsum[2][3-4]\vfil \lipsum[2][5-6]
\end{doublebox}
\lipsum[4][1-3]
\end{document}