我正在尝试使用项目列表进行双列排版工作。但是,该列表包含一行或两行的元素,即
Alpha Beta Zeta Alternative: Upsilon <– (second line of the Zeta) Gamma Alternative: Lambda Epsilon Omega Omicron Alternative: Upsilon ...
我想在两列上有这个列表,但是我不希望列表以两行项目的分割结束(即“替代:xyz”应该永远不会开始第二列)。 / p>
我的第一个想法是将两行元素放入parbox
,如下所示:
\documentclass[12pt]{memoir}
\usepackage{multicol,ragged2e}
\begin{document}
\begin{multicols}{2}
\RaggedRight
Alpha\\
Beta\\
\parbox{\columnwidth}{ Zeta\\ \hspace{1em} \textit{Alternative:} Upsilon }
\parbox{\columnwidth}{ Gamma\\ \hspace{1em} \textit{Alternative:} Lambda }
Epsilon\\
Omega\\
\parbox{\columnwidth}{ Omicron\\ \hspace{1em} \textit{Alternative:} Upsilon }
Kappa\\
\parbox{\columnwidth}{ Zeta\\ \hspace{1em} \textit{Alternative:} Upsilon }
\parbox{\columnwidth}{ Zeta\\ \hspace{1em} \textit{Alternative:} Upsilon }
Alpha\\
Beta\\
\parbox{\columnwidth}{ Zeta\\ \hspace{1em} \textit{Alternative:} Upsilon }
\parbox{\columnwidth}{ Gamma\\ \hspace{1em} \textit{Alternative:} Lambda }
Epsilon\\
Omega\\
\parbox{\columnwidth}{ Omicron\\ \hspace{1em} \textit{Alternative:} Upsilon }
Kappa\\
\parbox{\columnwidth}{ Zeta\\ \hspace{1em} \textit{Alternative:} Upsilon }
\parbox{\columnwidth}{ Zeta\\ \hspace{1em} \textit{Alternative:} Upsilon }
Sigma\\
Delta\\
\end{multicols}
\end{document}
我已经做了这个例子,但没有必要强调这个尝试解决方案的不足之处。如果你排版它,元素之间的间距是不均匀的,看起来很糟糕。
我当时想知道:
如果有任何替代方法可以使用\parbox
而不会出现这种不一致的排版。
如果可以更改此\parbox
解决方案,以便不会在行之间产生不一致的间距。
感谢您的阅读。
布赖恩
答案 0 :(得分:3)
1)定义您的宏,例如\colparbox
和\Alt
。
2)查看以下代码。
\def\colparbox#1{\strut \par \vskip -\baselineskip \nointerlineskip
\parbox{\columnwidth}{\strut\ignorespaces#1\unskip\strut}\par}
\def\Alt{\hspace{1em} \textit{Alternative:} }
\begin{multicols}{2}
\RaggedRight
Alpha\\
Beta\\
\colparbox{ Zeta\\ \Alt Upsilon }
\colparbox{ Gamma\\ \Alt Lambda }
Epsilon\\
Omega\\
\colparbox{ Omicron\\ \Alt Upsilon }
Kappa\\
\colparbox{ Zeta\\ \Alt Upsilon }
\colparbox{ Zeta\\ \Alt Upsilon }
Alpha\\
Beta\\
\colparbox{ Zeta\\ \Alt Upsilon }
\colparbox{ Gamma\\ \Alt Lambda }
Epsilon\\
Omega\\
\colparbox{ Omicron\\ \Alt Upsilon }
Kappa\\
\colparbox{ Zeta\\ \Alt Upsilon }
\colparbox{ Zeta\\ \Alt Upsilon }
Sigma\\
Delta\\
\end{multicols}