
Estoy intentando controlar el espacio entre los números de línea y mi código con el paquete de listados. A continuación se muestra el código que estoy 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*}
El resultado que obtengo es el siguiente:
No estoy satisfecho con el espacio entre el código y los números y estoy intentando cambiarlo cambiando elnumerosepEl parámetro, como dice en la documentación del paquete, "es la distancia entre el número y el listado". Incluso cuando uso '0pt' no obtengo el código ni los números cercanos.
¿Que me estoy perdiendo aqui?
Respuesta1
lstlisting
Es un ambiente tipo textual, y fundamentalmente se preservan los espacios. Tu código comienza con cuatro espacios y estás viendo esos cuatro espacios.
Si configura showspaces=true
su \lstset
(actualmente lo tiene configurado en false
), esto se vuelve obvio.
Apéndice
Para quitar los espacios puedes agregar
gobble=4
hacia \lstset
.
También hay un paquete llamado lstautogobble
que proporciona una opción llamada autogobble
. Con esta opción, los espacios en blanco iniciales se eliminan automáticamente.