lstlisting environment e doppio segno di uguaglianza.

  • Questo topic ha 2 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 16 anni fa da gatsu71.
  • Creatore
    Topic
  • #48943
    Up
    0
    Down
    ::


    Quando rappresento li doppio segno di uguaglianza nell’ambiente lstlisting, i due segni sono praticamente sovrapposti e ne risulta un antiestetico segno di uguale lungo il doppio.
    Il codice che riproduce il problema è il seguente:
    `
    \documentclass[10pt,a4paper,titlepage,openany,twoside]{book}
    \usepackage{listings}
    \usepackage[italian]{babel}

    \begin{document}

    \lstset{
    language=Verilog,
    basicstyle=\small,
    breaklines=true,
    showstringspaces=false}

    The double equal sign `==', used in many languages as the equality operator does not displays properly under the lstlisting environment.
    What happens is that the two equal symbols are joined together forming a long equal sign.
    Here is the example
    \begin{lstlisting}
    if A==B then
    \end{lstlisting}
    Any hint?
    \end{document}`

    Qulacuno sa dirmi come risovlere il problema?

    Grazie in anticipo?

Visualizzazione 1 filone di risposte
  • Autore
    Risposte
    • #48944
      Up
      0
      Down
      ::

      Quando rappresento li doppio segno di uguaglianza nell’ambiente lstlisting, i due segni sono praticamente sovrapposti e ne risulta un antiestetico segno di uguale lungo il doppio.
      Il codice che riproduce il problema è il seguente:
      `
      \documentclass[10pt,a4paper,titlepage,openany,twoside]{book}
      \usepackage{listings}
      \usepackage[italian]{babel}

      \begin{document}

      \lstset{
      language=Verilog,
      basicstyle=\small,
      breaklines=true,
      showstringspaces=false}

      The double equal sign `==', used in many languages as the equality operator does not displays properly under the lstlisting environment.
      What happens is that the two equal symbols are joined together forming a long equal sign.
      Here is the example
      \begin{lstlisting}
      if A==B then
      \end{lstlisting}
      Any hint?
      \end{document}`

      Qulacuno sa dirmi come risovlere il problema?

      Grazie in anticipo?

      Benvenuto!

      Il problema è nella spaziatura fissa con un font a grandezza proporzionale. Ti suggerisco di aggiungere \ttfamily alle opzioni: “basicstyle=\small\ttfamily” oppure di usare la spaziatura proporzionale con “columns=fullflexible”

      Ciao
      Enrico

    • #48945
      Up
      0
      Down
      ::


      Grazie per la sollecitissima risposta.

      In effetti \small\ttfamily elimina il grassetto dalle keyword del linguaggio.

      Ho quindi aggiunto columns=flexible alle opzioni di lstlisting che, dal manuale, dovrebbe anche tentare di mantenere l’incolonnamento se è possibile.

Visualizzazione 1 filone di risposte
  • Devi essere connesso per rispondere a questo topic.

Go to top