2

我正在尝试使用项目列表进行两列排版。但是,该列表包含一或两行的元素,即

Α
贝塔
泽塔
   替代方案:Upsilon <–(Zeta 的第二行)
伽玛
   替代方案:拉姆达
厄普西隆
欧米茄
奥米克戎
   替代品:Upsilon
...

我想在两列上有这个列表,但是我不希望列表以一个双行项目的拆分结束(即“替代:xyz”不应该从第二列开始)。

我的第一个想法是将两行元素放入 aparbox中,如下所示:

\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}

我已经使这个例子比必要的更长,以强调这个尝试的解决方案的缺陷。如果你这样排版,元素之间的间距是不均匀的,看起来很糟糕。

我当时就纳闷了:

  1. 如果有任何替代使用 a\parbox不会遭受这种不一致的排版。

  2. 如果\parbox可以更改此解决方案,以免行间距不一致。

感谢您的阅读。

布赖恩

4

1 回答 1

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} 
于 2010-07-13T16:03:22.580 回答