3

LaTeX では、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 .

テーブル内でパッケージを使用しない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 .

私が望むのは、テーブル内にいくつかのコードを配置することですがセルの垂直方向の配置を上に保つことです。

4

1 に答える 1

2

オプションで、テキスト行のベースラインの上部に配置するように 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}

position パラメータtを省略すると、両方のボックスが互いに中央に配置されます。

于 2010-07-02T06:47:23.287 に答える