Domanda

In LaTeX, sto usando il pacchetto listings per visualizzare qualche frammento di codice all'interno di una tabella. Ma sembra che quando si usa questo pacchetto, l'allineamento verticale delle celle sta cambiando.

Ecco il codice:

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

e qui è quello che ottengo (comunicazione della centrato allineamento verticale della prima colonna):

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

Se evito usando il pacchetto listings all'interno della tabella, l'allineamento verticale è differente (centrato):

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

Quello che vorrei è quello di mettere un po 'di codice all'interno della tabella ma mantenere l'allineamento verticale in alto per le cellule.

È stato utile?

Soluzione

lattice dico di allinearlo alla parte superiore della linea di base del suo TextLine dall'opzione boxpos.

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

Il problema si verifica anche con le altre caselle

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

Se si lascia il parametro di posizione t, si allineerà entrambe le caselle centrati l'uno rispetto all'altro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top