我注意到在表格中的一个单元格中使用breaklines=true
选项lstlisting
会导致同一表格行中的下一个单元格中的文本稍微向下移动,即使下一个单元格lstlisting
根本没有使用。
这是两个表格的示例。第一个breaklines=true
表格在一个单元格中使用,而第二个表格没有。请注意第一个表格中的第三个单元格文本不是从顶部开始的。出于某种原因,似乎那里自动添加了一个新行。
这是代码。使用lualatex
大约 3 周前更新的 textlive 2021 编译。
\documentclass[12pt]{article}
\usepackage{longtable}
\usepackage{lstautogobble}
\usepackage{amsmath}
\usepackage{breqn}
\begin{document}
First table. Using breaklines
\begin{longtable}[c]{|p{0.4in}|p{2in}|p{2in}|p{0.8in}|}\hline
A& {\footnotesize \begin{dmath*}x^{2} \left(2 x^{2}+x +1\right) y^{\prime \prime}+x \left(7 x^{2}+6 x +3\right) y^{\prime}+\left(-3 x^{2}+6 x +1\right) y = 0\end{dmath*}}&
\begin{minipage}{2in}%
\begin{lstlisting}[basicstyle=\footnotesize,breaklines=true]
2nd order, with linear sym
\end{lstlisting}
\end{minipage}
&A\\\hline
\end{longtable}
Second table. not using breaklines
\begin{longtable}[c]{|p{0.4in}|p{2in}|p{2in}|p{0.8in}|}\hline
A& {\footnotesize \begin{dmath*}x^{2} \left(2 x^{2}+x +1\right) y^{\prime \prime}+x \left(7 x^{2}+6 x +3\right) y^{\prime}+\left(-3 x^{2}+6 x +1\right) y = 0\end{dmath*}}&
\begin{minipage}{2in}%
\begin{lstlisting}[basicstyle=\footnotesize]
2nd order, with linear sym
\end{lstlisting}
\end{minipage}
&A\\\hline
\end{longtable}
\end{document}
答案1
它实际上与列表无关,只是您使用了minipage
具有默认[c]
垂直对齐的 a。因此,表格行的基线穿过小页面的垂直中心和 A 的基线。如果您使用,\begin{minipage}[t]
则参考点将位于顶线上,A 的基线将与之对齐。
您会看到更常见的标记,即使用m
列p
而不是嵌套的minipage