Codice colorato

  • Creatore
    Topic
  • #75785
    Up
    0
    Down
    ::


    Salve ragazzi.

    Io sto usando listings per includere del codice sql nella mia tesi.

    mi piacerebbe se possibile che apparisse con alcune parole che decido io e la punteggiatura colorati di un colore e i numeri di un altro.

    è possibile creare qualche comando del tipo: dal begin all’end ogni volta che trovi una di queste stringhe falla blu e ogni numero rosso?

    grazie 100000 🙂

Visualizzazione 6 filoni di risposte
  • Autore
    Risposte
    • #75786
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Sì, basta leggere la documentazione di listings dando nella finestra terminal il comando texdoc listings

      • #75787
        Up
        0
        Down
        ::


        Potreste gentilmente un esempio 🙂

        nel preambolo ho messo questo:

        `

        %%%%%%%%% Listati%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        \usepackage{listings}
        \lstset{language= sql,%
        basicstyle=\footnotesize\ttfamily,
        breaklines=true,
        captionpos=b,
        commentstyle=
        \footnotesize\ttfamily
        }
        \renewcommand{\lstlistlistingname}{Lista dei Sorgenti}
        \renewcommand{\lstlistingname}{Listato}
        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

        `

        e ogni listato è circa cosi:

        `

        \begin{lstlisting}
        CREATE TABLE ANNO
        (
        IDANNO INTEGER NOT NULL,
        ANNOI INTEGER NULL,
        ANNOF INTEGER NULL
        )
        /
        CREATE UNIQUE INDEX XPKANNO ON ANNO
        (
        IDANNO ASC
        )
        /
        ALTER TABLE ANNO
        ADD CONSTRAINT XPKANNO PRIMARY KEY (IDANNO)
        /
        ALTER TABLE ANNO
        ADD CONSTRAINT CK_ANNO UNIQUE (ANNOI, ANNOF)
        /
        \end{lstlisting}

        `

        Ora se io volessi che le parole CREATE, UNIQUE, INDEX, etc vengano blu e i numeri rossi cosa dovrei fare?

        So che dovrei leggermi semplicemente la documentazione del pacchetto ma non ho tempo perché sono indietro e stretto con i tempi, per questo vi chiedo questa cortesia.

        Grazie 1000000000

      • #75788
        Liverpool
        Partecipante
          Up
          0
          Down
          ::


          `\usepackage{xcolor}
          \usepackage{listings}
          \lstset{language=sql,
          basicstyle=\footnotesize\ttfamily,
          keywordstyle=\color{blue},
          breaklines=true,
          numbers=left,
          numberstyle=\scriptsize\sffamily\color{red},
          stepnumber=3,
          numbersep=10pt,
          captionpos=b,
          commentstyle=\footnotesize\ttfamily}
          \renewcommand{\lstlistlistingname}{Lista dei Sorgenti}
          \renewcommand{\lstlistingname}{Listato}`
          Non so se ho capito bene di che numeri parli, visto che numeri non ce ne sono. Era tutto scritto a pag. 5 e 6 del manuale, che ovviamente ho consultato perché non ricordo a memoria le parole chiave.

          Ciao

        • #75789
          Up
          0
          Down
          ::


          Un esempio di numero che può capitare è:

          varchar(250)

          cioè una stringa di 250 caratteri.

          nelle esempio che hai messo, se ho capito bene, che le keyword devono essere blu ( keywordstyle=\color{blue} ) ma come faccio a definire quali sono queste keyword?
          lo vedo fare per ogni listato oppure nel preambolo?

          Grazie 1000!

        • #75790
          Up
          0
          Down
          ::


          Ma è bellissimo…. lui capisce da solo quali sono le keyword… meraviglioso!!!!

          Comunque ci siamo male interpretati perché io con numeri intendevo numeri nel codice non numeri di linea, ovvero se il codice presenta delle cifre numeriche queste devono essere in rosso 😛

        • #75791
          Liverpool
          Partecipante
            Up
            0
            Down
            ::

            kamet69″ post=74966Comunque ci siamo male interpretati perché io con numeri intendevo numeri nel codice non numeri di linea, ovvero se il codice presenta delle cifre numeriche queste devono essere in rosso 😛

            Tu ti sei spiegato benissimo, sono stato io che, non vedendo numeri nel listato, ho pensato ti riferissi ai numeri di linea.
            `\usepackage{xcolor}
            \usepackage{listings}
            \lstset{language=sql,
            basicstyle=\footnotesize\ttfamily,
            keywordstyle=\color{blue},
            breaklines=true,
            captionpos=b,
            commentstyle=\footnotesize\ttfamily,
            literate=*{0}{{{\color{red}0}}}1
            {1}{{{\color{red}1}}}1
            {2}{{{\color{red}2}}}1
            {3}{{{\color{red}3}}}1
            {4}{{{\color{red}4}}}1
            {5}{{{\color{red}5}}}1
            {6}{{{\color{red}6}}}1
            {7}{{{\color{red}7}}}1
            {8}{{{\color{red}8}}}1
            {9}{{{\color{red}9}}}1}
            \renewcommand{\lstlistlistingname}{Lista dei Sorgenti}
            \renewcommand{\lstlistingname}{Listato}`

            Ciao

          • #75792
            Up
            0
            Down
            ::


            Forse pretendo troppo ma si può far si che solo i numeri tra parentesi vengano fatti rossi?

            perché ho delle righe così:

            VARCHAR2 (2000)

            Come potete capire solo il 2000 dovrebbe essere rosso, invece il 2 del varchar2 esce rosso.

            Vi ringrazio moltissimo della vostra gentilezza, sentitevi pure liberi di mandarvi al quel paese se chiedo troppo 😛

            grazie 😀

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

        Go to top