我想建立兩列相鄰的列。左側包含兩列文本,使用多列包裹。左側是一些其他內容。
我試過了小型頁面,但結合多列它無法正確垂直對齊兩個小型頁面。最小工作範例:
\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}