使用列表包控制文本/代码中数字分离的正确方法是什么?

使用列表包控制文本/代码中数字分离的正确方法是什么?

我正在尝试使用 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。使用此选项,将自动删除开头的空格。

相关内容