我有以下问题。
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}