我想创建两列并排的文本。左侧包含两列文本,使用多色包。左侧是一些其他内容。
我试过了小页面,但结合多色它无法正确地垂直对齐两个小页面。最小工作示例:
\documentclass{article}
\usepackage{multicol}
\usepackage{blindtext}
\begin{document}
\begin{minipage}[t]{0.5\linewidth}
\noindent
\begin{multicols}{2}
\blindtext
\end{multicols}
\end{minipage}
\begin{minipage}[t]{0.5\linewidth}
\blindtext
\end{minipage}
\end{document}
我在这里做错什么了吗?
答案1
您必须在顶部设置一个锚点才能[t]
生效,因为multicols
环境内的顶行是不是封套中的顶线minipage
:\vspace{0pt}
就足够了。此外,您还需要取消插入一团胶水(我们需要通过\topskip
支柱的高度和之间的差异来支持)并设置一个初始值\strut
以确保基线之间良好对齐。
\documentclass{article}
\usepackage{multicol,calc}
\usepackage{blindtext}
\begin{document}
\noindent % or the indent would apply
\begin{minipage}[t]{0.5\linewidth-0.5em} % some separation
\vspace{0pt} % anchor for [t]
\vspace{\dimexpr\ht\strutbox-\topskip}% remove excess glue
\begin{multicols}{2}
\strut\makebox[0pt][l]{\vrule width 10cm height 0pt depth 0.1pt}%
\blindtext
\end{multicols}
\end{minipage}\hfill
\begin{minipage}[t]{0.5\linewidth-0.5em} % some separation
\vspace{0pt} % anchor for [t]
\strut\blindtext
\end{minipage}
\end{document}
规则显示了对齐。感谢 Frank Mittelbach 发现错误。
答案2
使用 paracol 和 multicol 不是更简单的方法吗?
\documentclass{article}
\usepackage{paracol}
\usepackage{multicol}
\usepackage{mwe}
\begin{document}
\begin{paracol}{2}
\begin{multicols}{2}
\blindtext
\end{multicols}
\switchcolumn
\blindtext
\end{paracol}
\end{document}