Frage

In LaTeX, ich bin mit dem listings Paket in einer Tabelle einig Code-Schnipsel anzuzeigen. Aber es scheint, dass, wenn dieses Paket verwenden, die vertikale Ausrichtung der Zellen zu verändern.

Hier ist ein Code:

\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}

und hier ist das, was ich bekommen (man beachte die zentrierte vertikale Ausrichtung der ersten Spalte):

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

Wenn ich mit dem listings Paket in der Tabelle zu vermeiden, die vertikale Ausrichtung unterschiedlich ist (zentrierte):

\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 .

Was ich möchte, ist etwas Code in der Tabelle setzen und hält die vertikale Ausrichtung nach oben für die Zellen.

War es hilfreich?

Lösung

Tells Latex es an der Spitze der Basislinie der Textzeile mit der Option boxpos auszurichten.

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

Das Problem tritt auch mit anderen Boxen

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

Wenn Sie die Positionsparameter t auslassen, wird es beide Boxen ausrichten zueinander zentriert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top