リスト パッケージを使用してテキスト/コードからの数字の分離を制御する正しい方法は何ですか?

リスト パッケージを使用してテキスト/コードからの数字の分離を制御する正しい方法は何ですか?

私は、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は逐語的な型環境であり、スペースが保持されることが重要です。コードは 4 つのスペースで始まり、その 4 つのスペースが表示されます。

showspaces=trueを に設定すると\lstset(現在は に設定されていますfalse)、これが明らかになります。

補遺

スペースを削除するには、

gobble=4

\lstset

lstautogobbleというオプションを提供する というパッケージもありますautogobble。このオプションを使用すると、先頭の空白が自動的に削除されます。

関連情報