我正在尝试使用 listings 包来控制行号和代码之间的间距。下面是我使用的代码:
\begin{figure*} [!ht]
\centering
\lstset{showstringspaces=false,
tabsize=1,
breaklines=true,
basicstyle=\footnotesize,
numbers=left,
showspaces=false,
extendedchars=false,
numberstyle=\scriptsize,
numbersep=0pt}
\begin{lstlisting}
INPORT::[name] => [rec.comp.] @ [rec. port]
OUTPORT::[name] <= [orig.comp.] @ [out port]
[PRIMITIVE]::[name]<=[rec.port2]<-[orig.comp1.]@[out port1] [rec.port2]<-[orig.comp2.]@[out port2]...
LUT[n] [logic_func]::[name]<=[rec.port2]<-[orig.comp1.]@[out port1] [rec.port2]<-[orig.comp2.]@[out port2]...
\end{lstlisting}
\caption{single line component netlist of the tiny circuit example.}
\label{fig:netlistSyntax}
\end{figure*}
我得到的结果如下:
我对代码和数字之间的间距不满意,我正尝试通过更改数字参数,正如软件包文档中所述,“是数字和列表之间的距离”。即使我使用“0pt”,我也无法使代码和数字接近。
我在这里遗漏了什么?
答案1
lstlisting
是逐字类型环境,并且关键的是空格被保留。您的代码以四个空格开头,您会看到这四个空格。
如果您设置showspaces=true
(\lstset
您当前已将其设置为false
),这一点就变得显而易见。
附录
要删除空格,您可以添加
gobble=4
到\lstset
。
还有一个名为的包lstautogobble
,它提供了一个名为的选项autogobble
。使用此选项,将自动删除开头的空格。