Qual é a maneira correta de controlar a separação de números de texto/código usando o pacote de listagens?

Qual é a maneira correta de controlar a separação de números de texto/código usando o pacote de listagens?

Estou tentando controlar o espaçamento entre os números das linhas e meu código com o pacote de listagens. Abaixo segue o código que estou usando:

\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*}

O resultado que estou obtendo é o seguinte:

insira a descrição da imagem aqui

Não estou satisfeito com o espaçamento entre o código e os números e estou tentando alterá-lo alterando onúmerosepparâmetro, como diz na documentação do pacote, "é a distância entre o número e a listagem". Mesmo quando uso '0pt' não consigo fechar o código e os números.

O que estou perdendo aqui?

Responder1

lstlistingé um ambiente do tipo literal e, crucialmente, os espaços são preservados. Seu código começa com quatro espaços e você vê esses quatro espaços.

Se você definir showspaces=trueem seu \lstset(atualmente está definido como false), isso se tornará óbvio.

Termo aditivo

Para eliminar os espaços, você pode adicionar

gobble=4

para o \lstset.

Há também um pacote chamado lstautogobbleque fornece uma opção chamada autogobble. Com esta opção, os espaços em branco iniciais são removidos automaticamente.

informação relacionada