Scrivere codice con listings

  • Creatore
    Topic
  • #67696
    Up
    0
    Down
    ::


    Salve,

    stavo inserendo il codice in appendice nella mia tesi utilizzando il pacchetto listings, ma ho notato che se il codice è indentato molto in profondità la resa visiva non è di certo delle migliori. Conoscete qualche trucco per poter rendere il codice meno obbrobrioso? (magari allargando i margini o restringendo il font).

    Utilizzo classicthesis.

    Ringrazio in anticipo =)

Visualizzazione 15 filoni di risposte
  • Autore
    Risposte
    • #67697
      lorenzo.pantieri
      Partecipante
        Up
        0
        Down
        ::

        Baduel” post=66669Salve,

        stavo inserendo il codice in appendice nella mia tesi utilizzando il pacchetto listings, ma ho notato che se il codice è indentato molto in profondità la resa visiva non è di certo delle migliori. Conoscete qualche trucco per poter rendere il codice meno obbrobrioso? (magari allargando i margini o restringendo il font).

        Utilizzo classicthesis.

        Ringrazio in anticipo =)

        Per modificare il corpo cerca “basicstyle” qui:
        http://www.lorenzopantieri.net/LaTeX_files/Codici.pdf

        Ciao,
        L.

      • #67698
        Up
        0
        Down
        ::


        Ho trovato il seguente comando:

        `\lstset{basicstyle=\small\ttfamily}`

        Ma in classicthesis-preamble c’era già:

        `\lstset{language=[LaTeX]Tex,%C++,
        keywordstyle=\color{RoyalBlue},%\bfseries,
        basicstyle=\small\ttfamily,
        %identifierstyle=\color{NavyBlue},
        commentstyle=\color{Green}\ttfamily,
        stringstyle=\rmfamily,
        numbers=none,%left,%
        numberstyle=\scriptsize,%\tiny
        stepnumber=5,
        numbersep=8pt,
        showstringspaces=false,
        breaklines=true,
        frameround=ftff,
        frame=single,
        belowcaptionskip=.75\baselineskip
        %frame=L
        } `

        Più piccolo non si può?

      • #67699
        Up
        0
        Down
        ::


        \footnotesize?

        Ciao
        Enrico

      • #67700
        Up
        0
        Down
        ::

        Baduel” post=66674Ho trovato il seguente comando:

        `\lstset{basicstyle=\small\ttfamily}`

        Ma in classicthesis-preamble c’era già:

        `\lstset{language=[LaTeX]Tex,%C++,
        keywordstyle=\color{RoyalBlue},%\bfseries,
        basicstyle=\small\ttfamily,
        %identifierstyle=\color{NavyBlue},
        commentstyle=\color{Green}\ttfamily,
        stringstyle=\rmfamily,
        numbers=none,%left,%
        numberstyle=\scriptsize,%\tiny
        stepnumber=5,
        numbersep=8pt,
        showstringspaces=false,
        breaklines=true,
        frameround=ftff,
        frame=single,
        belowcaptionskip=.75\baselineskip
        %frame=L
        } `

        Più piccolo non si può?

        Ciao,

        se il problema è che hai due linguaggi e vuoi definire grandezze diverse ti consiglio di usare alsolanguage (da definirsi in con un secondo \lstset): puoi consultare il manuale di listings (texdoc listings) a pagina 28.

        Ciao
        Claudio

      • #67701
        Up
        0
        Down
        ::



        @Enrico

        Ho provato ma è lo stesso. Il problema principale sembra essere lo “a capo” o il “tab” di Eclipse. Mi sembra troppo largo. Ma sostituirli tutti con degli spazi mi sembra infattibile.


        @Claudio

        No, non penso sia quello il problema. Ho ridefinito il linguaggio nel mio preambolo come “Java”.

      • #67702
        Up
        0
        Down
        ::

        Baduel” post=66682 @Enrico
        Ho provato ma è lo stesso. Il problema principale sembra essere lo “a capo” o il “tab” di Eclipse. Mi sembra troppo largo. Ma sostituirli tutti con degli spazi mi sembra infattibile.


        @Claudio

        No, non penso sia quello il problema. Ho ridefinito il linguaggio nel mio preambolo come “Java”.

        Se ho ben capito il tuo problema, dovresti specificare un tabsize più piccolo:
        `\lstset{tabsize=2}`

        Puoi mettere 2 o 4 o quello che vuoi. Il predefinito dovrebbe essere 8, per questo l’indentazione ti sembra esagerata.

        Ciao,
        Antonio

      • #67703
        Up
        0
        Down
        ::

        antonio.macrì” post=66688Puoi mettere 2 o 4 o quello che vuoi. Il predefinito dovrebbe essere 8, per questo l’indentazione ti sembra esagerata.

        Rientro! Per favore! 🙂

        Ciao
        Enrico

      • #67704
        Up
        0
        Down
        ::

        egreg9″ post=66691

        Puoi mettere 2 o 4 o quello che vuoi. Il predefinito dovrebbe essere 8, per questo l’indentazione ti sembra esagerata.

        Rientro! Per favore! 🙂

        Ciao
        Enrico

        Mi spiegheresti una cosa? Personalmente mi verrebbe difficile parlare di indentazione per significare il rientro di un capoverso. Lì però mi riferivo a un codice e ormai per i codici il termine “indentazione” è quello di gran lunga più usato. Ora, probabilmente il termine è nato con quel significato ricalcando l’inglese “indent”. Però, l’uso ormai così tanto diffuso non potrebbe giustificare questa accezione? Anche perché, in fondo, “indentazione” ha un significato ben preciso in italiano, che mi sembra suggestivo se usato in questo contesto:
        `
        void f() {
        while(i < n) { if(i % 2) { push(i); i+=3; change(i); } } }` Questa forma sembra davvero una "indentazione“… 🙂

        Ciao,
        Antonio

      • #67705
        lorenzo.pantieri
        Partecipante
          Up
          0
          Down
          ::

          antonio.macrì” post=66765Lì però mi riferivo a un codice e ormai per i codici il termine “indentazione” è quello di gran lunga più usato.

          Spero di no: è un barbarismo orrendo, a dir poco. “Rientro” è la parola corretta.

          Il linguaggio di alcuni informatici va venire i brividi: “indentare”, “backuppare”, “hackerare”… Bleah. 🙁

          Ciao,
          L.

        • #67706
          Up
          0
          Down
          ::

          lorenzo.pantieri” post=66767

          Lì però mi riferivo a un codice e ormai per i codici il termine “indentazione” è quello di gran lunga più usato.

          Spero di no: è un barbarismo orrendo, a dir poco. “Rientro” è la parola corretta.

          Il linguaggio di alcuni informatici va venire i brividi: “indentare”, “backuppare”, “hackerare”… Bleah. 🙁

          Ciao,
          L.

          Ormai leggo documentazione quasi sempre in inglese, ma per quel che mi ricordo spesso le traduzioni usano proprio “indentare”, “indentazione” eccetera. Concordo che “indentare” non è il massimo, ma darei una chance a “indentazione”. Non mi sembra male, proprio perché un significato in italiano ce l’ha e mi sembra anzi suggestivo…

          Ciao
          Antonio

        • #67707
          Up
          0
          Down
          ::

          antonio.macrì” post=66765

          [quote=”antonio.macrì” post=66688]Puoi mettere 2 o 4 o quello che vuoi. Il predefinito dovrebbe essere 8, per questo l’indentazione ti sembra esagerata.

          Rientro! Per favore! 🙂

          Ciao
          Enrico

          Mi spiegheresti una cosa? Personalmente mi verrebbe difficile parlare di indentazione per significare il rientro di un capoverso. Lì però mi riferivo a un codice e ormai per i codici il termine “indentazione” è quello di gran lunga più usato. Ora, probabilmente il termine è nato con quel significato ricalcando l’inglese “indent”. Però, l’uso ormai così tanto diffuso non potrebbe giustificare questa accezione? Anche perché, in fondo, “indentazione” ha un significato ben preciso in italiano, che mi sembra suggestivo se usato in questo contesto:
          `
          void f() {
          while(i < n) { if(i % 2) { push(i); i+=3; change(i); } } }` Questa forma sembra davvero una "indentazione“… :)[/quote]
          È vero che la lingua si modifica continuamente; non è però obbligatorio assecondare le spinte verso il peggioramento. Esiste la parola “rientro” che da secoli indica proprio quella cosa lì: usarne un’altra ricalcando la parola inglese è sciocco e denota scarsa padronanza del lessico. Dunque è un impoverimento culturale.

          Ciao
          Enrico

        • #67708
          Up
          0
          Down
          ::


          Ok, capisco!

          Grazie Lorenzo, grazie Enrico!

        • #67709
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            L’inglese è pervasivo, specialmente con le parole con un etimo latino, ma non solo: backuppare non ha niente da spartire con i latino e chi l’ha usato per primo diffondendo la mala semenza ne sconterà il fio in eterno 😈 !

            Ma prendiamone un altro, che per fortuna non ha nulla a che vedere con la tipografia o con l’informatica, quindi per noi è neutro.

            La parola impatto in senso fisico e metaforico oggi significa “urto”, “colpo”, o cose simili. In realtà viene dal participio passato del verbo impingere (quindi radice latina) che vuol dire “schiacciare”, perciò impatto indica “schiacciato” o, sostantivato, “cosa schiacciata”. Infatti sul vecchio Petrocchi della fine dell’ottocento, cerchi impatto e trovi che indica lo strame schiacciato dagli zoccoli di buoi o cavalli nella stalla, senza nessuna menzione agli urti o ai colpi (il cui effetto spesso è quello di uno schiacciamento, d’accordo, ma…); ad usare “impatto” invece di “urto” non c’è nemmeno la brevità della scrittura, quindi perché si usa impatto? Ma certo, per mostrare di conoscere le lingue :mrgreen: !

          • #67710
            Up
            0
            Down
            ::


            http://it.wikipedia.org/wiki/Indentazione

            Sarò anche informatico ma indentazione ha un significato ben preciso, che riguarda per l’appunto i codici. Rientro è molto più generico. Tra le altre cose com’è possibile tradurre “indentazione corretta” con il termine rientro?

            Sono d’accordo con voi quando dite che un termine non debba essere usato a caso (tristemente noto è l’esempio “questo metodo ritorna…” invece che “restituisce”), ma secondo la mia modesta opinione l’indentazione riguarda i rientri nei codici sorgenti.

            Ciao,
            Manuel

          • #67711
            Up
            0
            Down
            ::


            Non mi risulta che Wikipedia sia una fonte così affidabile. Questa voce lo conferma. 🙂

            Ciao
            Enrico

          • #67712
            Up
            0
            Down
            ::

            antonio.macrì” post=66688

            @Enrico
            Ho provato ma è lo stesso. Il problema principale sembra essere lo “a capo” o il “tab” di Eclipse. Mi sembra troppo largo. Ma sostituirli tutti con degli spazi mi sembra infattibile.


            @Claudio

            No, non penso sia quello il problema. Ho ridefinito il linguaggio nel mio preambolo come “Java”.

            Se ho ben capito il tuo problema, dovresti specificare un tabsize più piccolo:
            `\lstset{tabsize=2}`

            Puoi mettere 2 o 4 o quello che vuoi. Il predefinito dovrebbe essere 8, per questo l’indentazione ti sembra esagerata.

            Ciao,
            Antonio

            Perfetto. tabsize è proprio quello che cercavo. Impostato a 4 va più che bene.

            Ancora grazie.

            Ciao,
            Manuel

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

        Go to top