当使用lstlisting
环境或listings
包中的类似环境时,实际文本上方和下方会有段落式边距。这在论文中是有意义的,但如果你试图将代码放入 Tikz 节点中(例如,对于 Beamer 演示文稿),就会出现问题:
\node[inner sep=1mm, text width=6cm, draw=green, line width=2pt, rounded corners]
{%
\lstinputlisting[basicstyle=\tiny\ttfamily, columns=fullflexible]{alt1.java}
};
(请忽略我为什么将这段混乱的代码放在节点中的问题……)
如您所见,顶部和底部的边距为节点添加了额外的冗余空间。
我该如何删除这些边距?我想这是某个lstset
选项,但我找不到它。
答案1
列表上方和下方的空间可以用aboveskip
和来设置belowskip
。默认值为\medskipamount
。
\documentclass{article}
\usepackage{tikz}
\usepackage{listings}
\begin{document}
\tikz \node[inner sep=1mm, text width=6cm, draw=green, line width=2pt, rounded corners]
{%
\lstinputlisting[basicstyle=\tiny\ttfamily, columns=fullflexible, breaklines=true,aboveskip=0pt,belowskip=0pt]{data.txt}
};
\end{document}