Utilizzo di listing

  • Questo topic ha 7 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 20 anni fa da Debby.
  • Creatore
    Topic
  • #10193
    Up
    0
    Down
    ::


    Buongiorno a tutti,
    sono una ragazza che sta tentando di scrivere la tesi in LaTeX. Sto utilizzando il pacchetto Listing per inserire dei listati in codice C, e siccome ho la necessità di numerare le righe del listato ho utilizzato il comando

    \lstset{numbers=left, numberstyle=\tiny, stepnumber=1, numbersep=10pt}

    Mi vengono però dati i seguenti errori:

    Package keyval Error: numbers undefined
    Package keyval Error: numberstyle undefined
    Package keyval Error: numbersep undefined
    Package keyval Error: stepnumber undefined

    Ho già tentato di risolvere il problema, ma non riesco a venirne a capo.
    C’è qualcuno che può aiutarmi?

Visualizzazione 6 filoni di risposte
  • Autore
    Risposte
    • #10194
      Up
      0
      Down
      ::


      domanda banale: hai caricato l’estensione inserendo \usepackage{listings} nel preambolo?

      in ogni caso ti consiglio di dare una letta alla user’s guide di listings che e’ fatta molto bene..:

      http://www.ctan.org/tex-archive/macros/latex/contrib/listings/listings-1.3.pdf

      ciao
      stefano

    • #10195
      Up
      0
      Down
      ::


      Sì l’ho caricato, e ho caricato anche il pacchetto graphics, che al suo interno contiene il pacchetto keyval. Ho letto anche la guida a listing, e ho controllato di avere una versione del pacchetto keyval più recente della 1.10, così come consigliato… E per maggiore sicurezza ho fatto tutti gli aggiornamenti disponibili! Ma continuo con i soliti errori…

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


        Ciao Debby, come regola generale ti consiglio di postare sempre un esempio minimale compilabile che riproduce il problema. E’ moto meglio di una descrizione incompleta della situazione: vedrai che una soluzione la troviamo. Per quanto riguarda graphics è obsoleto: al suo posto meglio graphicx.

        l.

      • #10197
        Up
        0
        Down
        ::


        Grazie per l’attenzione Lorenzo. Ho seguito il tuo consiglio, ecco un esempio:

        \documentclass[11pt,oneside,a4paper]{book}
        \usepackage{latexsym}
        \usepackage{listings}
        \lstloadlanguages{C, Matlab}
        \usepackage{graphicx}

        \begin{document}
        \lstset{language=C}
        \lstset{basicstyle=\footnotesize\sffamily}
        \lstset{numbers=left,numberstyle=\tiny, stepnumber=1, numbersep=10pt}
        \lstset{morecomment=[l]{//}}
        \begin{lstlisting}

        /* Programma di prova che permette di accendere il led 3 nel caso in cui si prema il */
        /* pulsante S2 e il led 2 nel caso si prema il pulsante S3. */
        /* Nel primo dei due casi viene inoltre attivato il buzzer (per un tempo limitato). */
        /* N.B.: i pulsanti sono attivi bassi. */

        #include #include
        void main (void)
        {
        int i;
        TRISAbits.TRISA4 = 1; //Imposto il pin RA4 come ingresso (e’ collegato al pulsante S2)
        TRISBbits.TRISB3 = 0; //Imposto il pin RB3 come uscita (e’ collegato al Led 3)
        TRISBbits.TRISB0 = 1; //Imposto il pin RB0 come ingresso (e’ collegato al pulsante S3)
        TRISBbits.TRISB2 = 0; //Imposto il pin RB3 come uscita (e’ collegato al Led 2)
        TRISCbits.TRISC2 = 0; //Imposto il pin RC2 come uscita (e’ collegato al buzzer)
        PORTCbits.RC2=0; //Metto inizialmente a 0 il pin RC2 (buzzer spento)

        while(1)
        {
        /***Controllo pulsante S3***/
        if(PORTBbits.RB0 == 1) //Se non premo il pulsante S3…
        PORTBbits.RB2 = 0; //…il led 2 e’ spento

        if(PORTBbits.RB0 == 0) //Se premo il pulsante S3…
        PORTBbits.RB2 = 1; //…si accende il led 2

        /***Controllo pulsante S2 e buzzer***/
        if(PORTAbits.RA4 == 1) //Se non premo il pulsante S2…
        PORTBbits.RB3 = 0; //…il led 3 e’ spento

        if(PORTAbits.RA4 == 0) //Se premo il pulsante S2..
        {PORTBbits.RB3 = 1; //…si accende il led 3…
        for (i=0; i<100; i++)
        PORTCbits.RC2=1; //…e si attiva il buzzer
        PORTCbits.RC2=0;
        }
        }
        }
        \end{lstlisting}
        \end{document}

        Provando a compilarlo ottengo sempre le medesime notifiche di errore.

      • #10198
        Up
        0
        Down
        ::


        Non dovrebbe essere un errore nel sorgente…
        l’ho compilato e funziona, a parte un paio di Overfull \hbox

        prova a cancellare tutti i file che creati da LaTeX prima di ricompilare, in particolare il file *.aux…
        se non è questo cedo la parola a chi ne sa più di me… 🙁

        LuCa

      • #10199
        Up
        0
        Down
        ::


        Grazie Luca, ma purtoppo gli errori continuano ad esserci… Ti ringrazio comunque molto per il tuo consiglio.

      • #10200
        Up
        0
        Down
        ::


        Salve a tutti, ho appena risolto il problema. Sono andata nel MiKteX Package Manager, e nell’elenco dei pacchetti figurava che Listing non era installato (anche se in realtà io avevo controllato da Risorse del Computer e la cartella c’era, e per di più Listing lo avevo già utilizzato, mi dava solo il problema dei numeri). Comunque sia, l’ho installato e adesso mi compaiono i numeri… ❓ ❓ ❓
        Ringrazio comunque tutti quelli che mi hanno dato la loro attenzione.

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

    Go to top