从表格内的列表列表中删除顶部空间

从表格内的列表列表中删除顶部空间

我有以下问题。

lstlisting 似乎在代码前后添加了额外的空格。

有办法去除它吗?

我想删除代码前后的空格:“MATCH(n...”

在此处输入图片描述

    \lstset{language=C,
            basicstyle=\small,
            breaklines=true,
            aboveskip=0pt,belowskip=0pt}

    \begin {table}[!h] 
    \noindent
    \begin{tabular}{|c || p{14 cm}|}
    \hline
    \bf Plateforme  & \bf Code \\
    \hline                                        
    \hline      
    Neo4J & 
    \begin{lstlisting}
    MATCH (n {name: 1}) return n
    \end{lstlisting}
    \\ \hline     
    Titan & 
    Code B
    \\ 
    \hline                                                                                                                                          
    \end{tabular} 
    \end {table}

答案1

已编辑。我无法解释它为什么有效,但似乎有效。我将列表放入 中\box0,这样就消除了顶部空白行。\mbox在 之前放置一个空白\box0可以处理下面的行(或者,\leavevmode),出于某种原因,这看起来仍然处于垂直模式。

我已经验证过,对于列出多行内容,它也能起作用。

总结一下列表tabular条目:

\setbox0=\hbox{\begin{lstlisting}
MATCH (n {name: 1}) return n
\end{lstlisting}}\mbox{}\box0

这是 MWE。

\documentclass[12pt]{article}

\usepackage{listings}

\begin{document}

\lstset{language=C,
            basicstyle=\small,
            breaklines=true,
            aboveskip=0pt,belowskip=0pt}

\begin {table}[!h] 
\noindent
\begin{tabular}{|c || p{14 cm}|}
\hline
\bf Plateforme  & \bf Code \\
\hline                                        
\hline      
Neo4J & 
\setbox0=\hbox{\begin{lstlisting}
MATCH (n {name: 1}) return n
\end{lstlisting}}\mbox{}\box0
\\ \hline     
Titan & 
Code B
\\ 
\hline                                                                                                                                          
\end{tabular} 
\end {table}
\end{document}

在此处输入图片描述

相关内容