乳胶 - 具有多元醇的多线parbox上的适当垂直间距

时间:2010-07-13 13:51:29

标签: latex typesetting multicol

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

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}

我已经做了这个例子,但没有必要强调这个尝试解决方案的不足之处。如果你排版它,元素之间的间距是不均匀的,看起来很糟糕。

我当时想知道:

  1. 如果有任何替代方法可以使用\parbox而不会出现这种不一致的排版。

  2. 如果可以更改此\parbox解决方案,以便不会在行之间产生不一致的间距。

  3. 感谢您的阅读。

    布赖恩

1 个答案:

答案 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}