Indentazione sballata lstlisting

  • Creatore
    Topic
  • #92619
    Up
    0
    Down
    ::


    Ciao a tutti! Questo è il mio primo post 🙂 A breve mi laureo e devo consegnare la tesi fra pochi giorni. Ho utilizzato il programma Texmaker per scriverla. So poco e niente di latex, giusto qualche istruzione base che mi ha permesso di scrivere una tesi senza troppe pretese (grazie all’aiuto di un amico che ha impostato il template) 🙂
    Ho solo una cosa da correggere, ossia l’indentazione del codice all’interno dei blocchi lstlisting. Io copio-incollo il codice e siccome una volta incollato non mantiene l’esatta indentazione correggo io a mano, solo che dopo la compilazione appare… sfasato. Per il linguaggio Java ho utilizzato questo (trovato in rete):
    `
    \lstset{frame=tb,
    language=Java,
    aboveskip=3mm,
    belowskip=3mm,
    showstringspaces=false,
    columns=flexible,
    basicstyle={\small\ttfamily},
    numbers=none,
    numberstyle=\tiny\color{gray},
    keywordstyle=\color{blue},
    commentstyle=\color{dkgreen},
    stringstyle=\color{mauve},
    breaklines=true,
    breakatwhitespace=true
    tabsize=3
    }
    `

    Poi per mettere il codice faccio semplicemente:

    `
    begin{lstlisting}
    codice
    end{lstlisting}
    `

    Nei casi migliori sono i commenti a risultare shiftati verso destra rispetto al rigo sottostante. Nei casi peggiori.. beh… allego un immagine.
    [attachment=931]indentazione.png[/attachment]

    Un piccolo aiuto, se possibile 🙂

    Attachments:
    You must be logged in to view attached files.
Visualizzazione 3 filoni di risposte
  • Autore
    Risposte
    • #92620
      Up
      0
      Down
      ::


      Aggiungi `breakindent=0pt` oppure `breakautoindent=false` a `lstset`

      Vedi la pagina 35 della documentazione di listings per ulteriori dettagli.

      Ciao,
      Matteo

    • #92621
      Up
      0
      Down
      ::


      Ciao, grazie della risposta! La prima istruzione migliora il risultato di molto, la seconda no. C’è solo un problema:

      [attachment:1]C:\fakepath\indentazione.png[/attachment]

      Va bhe non si vede l’immagine. Comunque compare la scritta “aboveskip” su ogni riga nel punto in cui va a capo.

      Update: ho ricompilato e quelle scritte sono scomparse. Però il codice spesso presenta ancora delle irregolarità..

    • #92622
      Up
      0
      Down
      ::


      Il seguente codice funziona
      `
      \documentclass[a4paper]{article}
      \usepackage{listings}
      \usepackage{color}

      \lstset{frame=tb,
      language=Java,
      aboveskip=3mm,
      belowskip=3mm,
      showstringspaces=false,
      columns=flexible,
      basicstyle={\small\ttfamily},
      numbers=none,
      numberstyle=\tiny\color{gray},
      keywordstyle=\color{blue},
      commentstyle=\color{dkgreen},
      stringstyle=\color{mauve},
      breaklines=true,
      breakatwhitespace=true,
      tabsize=3,
      breakindent=0pt
      }

      \definecolor{dkgreen}{rgb}{0,0.6,0}
      \definecolor{gray}{rgb}{0.5,0.5,0.5}
      \definecolor{mauve}{rgb}{0.58,0,0.82}

      \begin{document}
      \begin{lstlisting}
      // Linea commentata molto lunga che quindi viene spezzata nel file di uscita
      \end{lstlisting}
      \end{document}
      `

      Vedi se riesci a produrre un esempio minimo compilabile che riproduce il problema.

      Ciao,
      Matteo

    • #92623
      Up
      0
      Down
      ::


      Va ancora meglio. Credo di non poter riprodurre lo stesso identico aspetto che ottengo negli ambienti di sviluppo per via di questi spazi ristretti quindi devo accontentarmi. Per ora mi tengo questo ultimo risultato. Ti ringrazio 😀

Visualizzazione 3 filoni di risposte
  • Devi essere connesso per rispondere a questo topic.

Go to top