Numerazione listings anomala [RISOLTO]

  • Creatore
    Topic
  • #110240
    Up
    0
    Down
    ::


    Sto usando il pacchetto listings per importare delle sequenze di codice, ma ho riscontrato un fatto, a mio avviso, anomalo. Riporto L’EMC e dopo spiego.

    `
    \documentclass[a4paper,11pt]{book}
    \usepackage[german,italian]{babel}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{listings}

    \begin{document}
    \appendix
    \chapter{Listati}
    \lstset{basicstyle=\footnotesize\ttfamily, tabsize=2,showstringspaces=false}

    \begin{lstlisting}
    &MESH IJK=30,30,60 XB=-1.5,-0.5,-1.5,-0.5,0,2,
    COLOR='RED', MPI_PROCESS=0 /
    &MESH IJK=30,30,60 XB=-0.5,0.5,-1.5,-0.5,0,2,
    COLOR='RED', MPI_PROCESS=1 /
    &MESH IJK=30,30,60 XB=0.5,1.5,-1.5,-0.5,0,2,
    COLOR='RED', MPI_PROCESS=2 /
    &MESH IJK=30,30,60 XB=-1.5,-0.5,-0.5,0.5,0,2,
    COLOR='RED', MPI_PROCESS=3 /
    &MESH IJK=30,30,60 XB=-0.5,0.5,-0.5,0.5,0,2,
    COLOR='RED', MPI_PROCESS=4 /
    &MESH IJK=30,30,60 XB=0.5,1.5,-0.5,0.5,0,2,
    COLOR='RED', MPI_PROCESS=5 /
    &MESH IJK=30,30,60 XB=-1.5,-0.5,0.5,1.5,0,2,
    COLOR='RED', MPI_PROCESS=6 /
    &MESH IJK=30,30,60 XB=-0.5,0.5,0.5,1.5,0,2,
    COLOR='RED', MPI_PROCESS=7 /
    &MESH IJK=30,30,60 XB=0.5,1.5,0.5,1.5,0,2,
    COLOR='RED', MPI_PROCESS=7 /
    \end{lstlisting}

    \begin{lstlisting}
    &MESH IJK=40,40,80 XB=-1.5,-0.5,-1.5,-0.5,0,2,
    COLOR='RED', MPI_PROCESS=0 /
    &MESH IJK=40,40,80 XB=-0.5,0.5,-1.5,-0.5,0,2,
    COLOR='RED', MPI_PROCESS=1 /
    &MESH IJK=40,40,80 XB=0.5,1.5,-1.5,-0.5,0,2,
    COLOR='RED', MPI_PROCESS=2 /
    &MESH IJK=40,40,80 XB=-1.5,-0.5,-0.5,0.5,0,2,
    COLOR='RED', MPI_PROCESS=3 /
    &MESH IJK=40,40,80 XB=-0.5,0.5,-0.5,0.5,0,2,
    COLOR='RED', MPI_PROCESS=4 /
    &MESH IJK=40,40,80 XB=0.5,1.5,-0.5,0.5,0,2,
    COLOR='RED', MPI_PROCESS=5 /
    &MESH IJK=40,40,80 XB=-1.5,-0.5,0.5,1.5,0,2,
    COLOR='RED', MPI_PROCESS=6 /
    &MESH IJK=40,40,80 XB=-0.5,0.5,0.5,1.5,0,2,
    COLOR='RED', MPI_PROCESS=7 /
    &MESH IJK=40,40,80 XB=0.5,1.5,0.5,1.5,0,2,
    COLOR='RED', MPI_PROCESS=7 /
    \end{lstlisting}

    \end{document}
    `
    come si può vedere sia nel primo blocco che nel secondo uso le medesime istruzioni opzionali
    `\begin{lstlisting}
    `
    e
    `\begin{lstlisting}
    `
    Ma compilando, nel secondo blocco, invece di numerare come 1 3 5 7 9 ecc numera come 2 4 6 8 ecc
    Qualcuno ha idea del perché succeda questo?

Visualizzazione 7 filoni di risposte
  • Autore
    Risposte
    • #110241
      Up
      0
      Down
      ::


      Sembra che il contatore usato per numerare le righe non venga azzerato correttamente, se aggiungi una riga vuota alla fine del primo listato la numerazione del secondo diventa uguale a quella del primo, con i numeri dispari.

      Ciao
      Matteo

    • #110242
      Up
      0
      Down
      ::


      Grazie mille per la risposta rapida e precisa.
      Va che ci sono pongo anche una domanda ti tipo tipografico/estetico.
      Come da figura, è meglio oltrepassare i limiti della gabbia o andare a capo? Personalmente credo che sia atroce la prima soluzione, ma non conosco le regole quindi potrei tranqullamente sbagliarmi.
      [attachment=1877]Vers.jpg[/attachment]

      Attachments:
      You must be logged in to view attached files.
    • #110243
      Up
      0
      Down
      ::


      Ciao

      Premesso che è un po’ di tempo che non uso quel pacchetto, scarterei la soluzione di uscire dalla gabbia.
      Potresti scegliere di esplicitare il ritorno a capo con un simbolo.
      Vedi questo esempio nella risposta al quesito:

      http://tex.stackexchange.com/questions/116534/lstlisting-line-wrapping

      Marco

    • #110244
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Se oltre alle altre opzioni specifichi il fontsize, dovresti riuscirci facilmente.

        Puoi scegliere \small, oppure \footnotesize, ma se questo è trppo piccolo, assumendo che tu stia usando font continuamente scalabili come i LatinModern, specifica qualcosa come \fontsize{9.5}{11.4}\selectfont.
        Il rpimo numero è il corpo che puoi scegliere come ti pare, il secondo è lo scartamento, di solito il 20% in più del corpo; se non usi il fattore 1.20, usa un fattore non troppo distante da 1.20.

      • #110245
        Up
        0
        Down
        ::


        Ringrazio entrambi per i validi consigli, non ero a conoscenza della possibilità di andare a capo automaticamente del linguaggio. Tuttavia ho optato per la divisione manuale dei comandi perché visivamente è più chiara.
        Per quanto riguarda la dimensione del font, uso già un [tt]\footnotesize[/tt] e credo che vada bene, quindi ho ritenuto opportuno lasciarlo inalterato.

        Mi domando se sia il caso di segnalare comunque agli autori del programma quel problema sul contatore. Ma eventualmente lo lascio fare a chi è più esperto di me.

        Ritengo che tutti i quesiti siano stati risolti e quindi modifico il titolo con RISOLTO.

      • #110246
        Up
        0
        Down
        ::


        Mi fa piacere che tu abbia trovato una soluzione che ti va bene.
        Per chiudere ti farei solo notare un particolare: spezzando il codice manualmente avresti dei problemi a riprenderlo con un semplice copia incolla, nel caso volessi riproporlo o ricompilarlo. Questo è il motivo per cui il codice nelle guide normalmente non si spezza.

        Saluti,

        Marco

      • #110247
        Up
        0
        Down
        ::

        marco_stara” post=110460Mi fa piacere che tu abbia trovato una soluzione che ti va bene.
        Per chiudere ti farei solo notare un particolare: spezzando il codice manualmente avresti dei problemi a riprenderlo con un semplice copia incolla, nel caso volessi riproporlo o ricompilarlo. Questo è il motivo per cui il codice nelle guide normalmente non si spezza.

        Saluti,

        Marco

        Ci avevo pensato, ma il bello di quel codice è proprio che ogni istruzione viene chiusa dal / e gli spazi sono omessi, quindi se qualcuno facesse copia e incolla non avrebbe nessun problema.

      • #110248
        Up
        0
        Down
        ::


        Ho segnalato il bug al maintainer di listings, indicandogli anche questa discussione su tex.stackexchange.

        Ciao
        Matteo

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

    Go to top