
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:
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=true
em 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 lstautogobble
que fornece uma opção chamada autogobble
. Com esta opção, os espaços em branco iniciais são removidos automaticamente.