在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
我想要的是将一些代码放在表格中,但将垂直对齐保留在单元格的顶部。
答案 0 :(得分:2)
通过选项boxpos
告诉latex使其在文本行的基线顶部对齐。
\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
,它会将两个框相对于彼此对齐。