Вертикальный интервал ячеек, содержащих парбокс

У меня сложный longtable с несколькими уровнями вложенных табличных сред. Однако, чтобы получить перенос текста внутри ячеек и выровнять содержимое по верху, я использую \parbox[t][][t], однако высота парбокса вычисляется без каких-либо полей, так что следующая \hline перекрывается с текстом.

Минимальный пример для воспроизведения этого поведения

\documentclass{article}
\begin{document}

\begin{tabular} {|p{0.2\textwidth}|}
  \hline

  This cell looks good. \\
  \hline

  \parbox[t][][t]{1.0\linewidth}{
    Not so happy with this.
  } \\
  \hline

\end{tabular}

\end{document}

Это приводит к следующему выводу (извините, пока нельзя публиковать изображения): изображение сгенерированного вывода

Конечно, нет причин использовать parbox в приведенном выше примере, но они нужны мне в настоящем документе.

Я хотел бы избежать указания высоты парбокса (например, \parbox[t][5cm][t]). Есть ли чистый способ добавить поле в нижней части парбокса или перед хлайном?

1 ответ

Извините, что отвечаю на мой собственный вопрос, но я нашел решение, добавив vspace к каждой ячейке за пределами parbox.

Вот код:

\documentclass{article}
\begin{document}

\newcommand{\pb}[1]{\parbox[t][][t]{1.0\linewidth}{#1} \vspace{-2pt}}

\begin{tabular} {|p{0.2\textwidth}|}
  \hline

  This cell looks good. \\
  \hline

  \pb{
    Now I'm happy with this.
  } \\
  \hline

\end{tabular}

\end{document}

Вывод: изображение сгенерированного вывода

Я пропустил это раньше, потому что у меня не было пробела между закрывающей скобкой парбокса и vspace. Оказывается, что пространство имеет решающее значение.

Другие вопросы по тегам