列出后,如何删除 longtable 里面多余的换行符?

列出后,如何删除 longtable 里面多余的换行符?

我有一个列规范设置为p{4in}longtable。出于某种原因,我在此列中不断出现一个额外的空行。

我使用列内列表,因为我需要打破列内的列表。一切正常,除了有一条额外的空白行。

平均能量损失

\documentclass[11pt]{article}

\usepackage{listings}
\lstset{
  breaklines=true,
  basicstyle=\ttfamily\small
}
\usepackage{longtable}
\usepackage{hyperref}
\setlength\parindent{0pt}

\begin{document}

\begin{longtable}[c]{|l|p{4in}|}\hline
\#&ODE and type of ODE\\\hline
\hyperlink{subsection_1}{ODE 1}&$y'(x)=a f(x)$
\begin{lstlisting}
[_quadrature]
\end{lstlisting}
\\\hline
\hyperlink{subsection_2}{ODE 2}&$y'(x)=y(x)+x+\sin (x)$
\begin{lstlisting}
[[_linear, `class A`]]
\end{lstlisting}
\\\hline
\end{longtable}

\end{document}

以下是 PDF

Mathematica 图形

我需要将数学公式放在一行上,并在其下方列出清单。但我不需要在清单下方显示额外的空行。

我尝试了 breaklines=false列表选项,但列表下方仍然有一个空行。如果我删除整个列表部分,那么多余的空行就会消失。所以这似乎是将列表放在那里的副作用?

tex 直播 2016。

答案1

看来lstlistingin的使用longtable并不简单......

如果你没有在文档中使用array包,那么一个粗鲁的解决方案是\vspace{-1.2\baselineskip} \\\hline在后面添加end{lstlisting}

\documentclass[11pt]{article}
\usepackage{listings}
\lstset{
  breaklines=true,
  basicstyle=\ttfamily\small
}
\usepackage{longtable}
\usepackage{hyperref}
\setlength\parindent{0pt}

\begin{document}
    \begin{longtable}{|l|p{4in}|}\hline
\#                              &   ODE and type of ODE \\  \hline
\hyperlink{subsection_1}{ODE 1} &   $y'(x)=a f(x)$
\begin{lstlisting}
[_quadrature]
\end{lstlisting}\vspace{-1.2\baselineskip}  \\\hline
\hyperlink{subsection_2}{ODE 2}&$y'(x)=y(x)+x+\sin (x)$
\begin{lstlisting}
[_linear, `class A`]
\end{lstlisting}\vspace{-1.2\baselineskip}  \\\hline
    \end{longtable}
\end{document}

在此处输入图片描述

相关内容