Латекс: вертикальное выравнивание в таблице, содержащую список

StackOverflow https://stackoverflow.com/questions/3163735

  •  02-10-2019
  •  | 
  •  

Вопрос

В латекс, я использую listings Пакет для отображения некоторых фрагментов кода внутри таблицы. Но кажется, что при использовании этого пакета вертикальное выравнивание клеток меняется.

Вот какой-то код:

\documentclass[a4paper,11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern,textcomp}
\usepackage[frenchb]{babel}
\usepackage{listings}

\begin{document}
\begin{tabular}{ll}
\hline Méthode & Exemple d'utilisation\\
\hline isLetter()&
\begin{lstlisting}
QChar MyChar('x');
bool IsLetter = MyChar.isLetter();
// IsLetter vaut vrai
// bla bla bla
\end{lstlisting}\\
\hline
\end{tabular}
\end{document}

А вот то, что я получаю (обратите внимание на центрированное вертикальное выравнивание первого столбца):

http://img820.imageshack.us/img820/8509/image4l.png.png..

Если я избегаю использования listings Пакет внутри таблицы, вертикальное выравнивание отличается (центрировано):

\begin{tabular}{lp{5cm}}
\hline Méthode & Exemple d'utilisation\\
\hline isLetter()&
QChar MyChar('x');
bool IsLetter = MyChar.isLetter();
// IsLetter vaut vrai
// bla bla bla
\\
\hline
\end{tabular}

http://img691.imageshack.us/img691/8585/image5gy.png.png..

Что я хотел бы поставить код в таблицу но Держите вертикальное выравнивание к тому, чтобы клетки.

Это было полезно?

Решение

Скажите LATEX, чтобы выровнять его в верхней части базовой линии его текстовой линии по опции boxpos.

\begin{lstlisting}[boxpos=t]
QChar MyChar('x');
bool IsLetter = MyChar.isLetter();
// IsLetter vaut vrai
// bla bla bla
\end{lstlisting}

Проблема также происходит с другими коробками

\parbox[t]{3cm}{Hello\\World\\Peace}
\parbox[t]{3cm}{Goodbye}

Если вы выходите из параметра позиции t, он будет выровнять обе коробки, центрированные относительно друг друга.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top