2010-07-02 2 views
3

LaTeX에서는 listings 패키지를 사용하여 표 안에 일부 코드 스 니펫을 표시합니다. 그러나이 패키지를 사용하면 셀의 수직 정렬이 바뀌고있는 것으로 보입니다. 여기 LaTeX : 목록이 포함 된 표에 수직으로 정렬

일부 코드입니다 : 여기

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

과은 (첫 번째 열의 중앙에 수직 alignement 통지) 내가 무엇을 얻을 수 있습니다 :

http://img820.imageshack.us/img820/8509/image4l.png. I 테이블 안에 listings 패키지를 사용하지 않는 경우

는 수직 alignement는 (중심) 상이한 :

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

나는 테이블에 코드를 넣고 싶지만,은 셀의 세로 정렬을 계속 유지합니다.

답변

2

boxpos 옵션으로 텍스트 줄의 기준선 상단에 라텍스에 정렬하도록 알립니다. 당신이 위치 매개 변수 t을두면

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

으로 발생, 그것은 서로 상대를 중심으로 두 상자를 정렬합니다.

+0

감사합니다. lstlisting 블록에서 옵션을 설정하면 다른 사람에게 영향을주는 이유는 여전히 불분명하지만 훌륭합니다. –

관련 문제