LaTeX - правильный вертикальный интервал на многолинейных парбоксах с мультиколами
Я пытаюсь заставить работать набор из двух столбцов со списком элементов. Однако в этом списке есть элементы, состоящие из одной или двух строк, т.е.
Альфа Бета Zeta Альтернатива: Упсилон <- (вторая линия Зетов) Гамма Альтернатива: лямбда Эпсилон Омега Омикрон Альтернатива: Упсилон...
Мне бы хотелось, чтобы этот список располагался в двух столбцах, однако я не хочу, чтобы список заканчивался разделением на две строки (т. Е. "Alternative: xyz" никогда не должен начинать второй столбец).
Моя первая мысль - поместить двухстрочные элементы в 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
решение может быть изменено так, чтобы не было несовместимого расстояния между линиями.
Спасибо за чтение.
Брайан
1 ответ
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}