Daniele Marcozzi

Risposte nei forum create

Stai visualizzando 5 risposte – dal 1 al 5 (di 5 totali)
  • Autore
    Risposte
  • in risposta a: Problemi di “colore” con listings! #80096
    Up
    0
    Down
    ::


    Grazie mille per l’aiuto!
    Con la tua soluzione si risolve il problema della colorazione sballata di altre parti del testo, ma nel mio caso spesso non è utilizzabile perché importo direttamente il codice sorgente senza fare il copia incolla sul documento LaTeX 🙁
    Purtroppo rimane la differenza di colorazione tra il file incluso mediante apici (che usa giustamente la colorazione delle stringhe) e quello incluso mediante < >!
    Sarebbe tutto più semplice se ci fosse un parametro del tipo: colora con questo colore quello che viene dopo questa parola. 8)
    Purtroppo dopo aver riletto più volte la documentazione (in modo veloce ovviamente 😛 ) e aver cercato invano con Google penso di dovermi rassegnare! 🙁

    in risposta a: Problemi di “colore” con listings! #80094
    Up
    0
    Down
    ::


    Ecco il codice richiesto (spero ci sia tutto quello che ti serve)
    `
    \documentclass[10pt,% % corpo del font principale
    a4paper,% % carta A4
    twoside,openright% % fronte-retro (openany)
    ]{book}

    \usepackage[T1]{fontenc} % codifica dei font:
    % NOTA BENE! richiede una distribuzione *completa*
    % di LaTeX

    \usepackage[utf8]{inputenc} % codifica di input; anche [latin1] va bene
    % NOTA BENE! va accordata con le preferenze
    % dell'editor

    \usepackage{listings} % inglobare codici di programmazione

    \usepackage[dvipsnames]{xcolor} % colori

    % gestione delle lettere accentate per il pacchetto listings
    \lstset{
    literate={è}{{\`e}}1
    {é}{{\'e}}1
    {ì}{{\`i}}1
    {à}{{\`a}}1
    {ù}{{\`u}}1
    {ò}{{\`o}}1
    {À}{{\'A}}1
    {È}{{\`E}}1
    {É}{{\`E}}1
    {Ì}{{\`I}}1
    {Ò}{{\`o}}1
    {Ù}{{\`U}}1
    }

    % Impostazioni per C
    \lstloadlanguages{C} % caricamento del linguaggio C

    \lstdefinestyle{c}{% % definizione di un nuovo stile per il C
    language=C, % impostazione del linguaggio
    basicstyle=\scriptsize \ttfamily,% % dimensione e stile del carattere di base
    moredelim=[\color{purple}]{<}{>},
    %moredelim=[\color{purple}]{\#include}{>}, % riga di prova
    %moredelim=[\color{purple}]{\#include}{“}, % riga di prova
    commentstyle=\color{OliveGreen} \itshape,% % dimensione e sitle dei commenti
    %morekeywords={},% % aggiunta di parole chiave non riconosciute
    keywordstyle=\color{RoyalBlue} \bfseries,% % dimensione e stile delle parole chiave
    stringstyle =\color{red},% % dimensione e stile delle stringhe
    showstringspaces=false,% % non segna gli spazi nelle stringhe
    tabsize=4,% % dimensione della tabulazione
    numbers=left,% % posizione numeri riga
    stepnumber=1,% % passo dei numeri di riga
    numberstyle=\tiny,% % stile dei numeri di riga
    numbersep=10pt,% % distanza tra numeri di riga e listato
    breaklines=true,% % mandare a capo le righe troppo lunghe
    breakautoindent=true,% % indenta le righe spezzate
    breakindent=30pt,% % punti di indentazione per le righe spezzate
    frame=single,%
    rulecolor=\color{black},%
    captionpos=t% % posizione dell'etichetta del codice
    }

    \begin{document}
    \begin{lstlisting}[style=c]
    /* Vorrei che il colore del file fosse di un colore diverso sia che sia
    messo tra apici (simile alle stringhe, e quindi prende quel colore) sia
    che sia messo tra < >. */
    #include “pippo.h”
    #include /* Nel caso non fosse possibile farlo mi accontenterei di colorarlo anche
    come se fosse una stringa. Però ho notato questo problema, cioè se nel testo
    incontra il simbolo < listings me lo colora come se fosse compreso tra < > */
    for ( i = 0; i < 6; i ++) { /* Ha iniziato a colorare tutto il testo */ if (a = 0) { /* Se adesso utilizzo il carattere > smette di colorarlo */
    a = 5;
    stringa = “Ciao Mondo!”
    }
    }
    \end{lstlisting}
    \end{document}`
    In pratica vorrei che “pippo.h” e fossero dello stesso colore, ma a loro volta di colore diverso dalla stringa “Ciao Mondo!”
    Per quanto riguarda “l’effetto collaterale” lo puoi osservare nel ciclo for dopo che ho utilizzato il simbolo <, e finisce all'interno del commento dopo aver utilizzato il simbolo >.

    All’interno della definizione del mio stile ci sono due righe commentate, ovvero
    `%moredelim=[\color{purple}]{\#include}{>}, % riga di prova
    %moredelim=[\color{purple}]{\#include}{“}, % riga di prova`
    erano delle prove che avevo fatto, ma non hanno sortito l’effetto voluto! 🙁

    in risposta a: Problemi di “colore” con listings! #80092
    Up
    0
    Down
    ::

    GKT” post=79405

    Ho provato con il parametro morekeywords ma non sono riuscito ad ottenere il risultato sperato; ho provato anche a cercare sulla documentazione, ma sinceramente non so cosa cercare! 😳

    Evidentemente devi aggiungere [tt]<[/tt] e [tt]>[/tt] come delimitatori. Cerca [tt]moredelimiters[/tt] nella guida di Listings.

    Lorenzo

    Ho provato a cercare moredelimiters, ma nel manuale c’è solo moredelim e penso tu ti riferissi a questo perché fa proprio quello che mi consigliavi.
    Il punto è che questo comando fa in parte quello che volevo…
    Mi spiego meglio, con questa opzione posso far colorare il testo all’interno dei delimitatori impostati, invece io volevo sapere se è possibile colorare solo “l’argomento” (se così lo possiamo definire) della direttiva include in modo da far risultare il colore del testo tra apici (e quello tra [tt]< >[/tt]) diverso dal colore utilizzato per le stringhe.

    Ah quasi dimenticavo… grazie per la risposta tempestiva! 😀

    EDIT
    Mi sono accorto adesso che utilizzando l’opzione in questo modo
    `
    moredelim=[\color{brown}]{<}{>},
    `
    all’interno della definizione del mio stile personale (vedi primo post) ottengo quest’effetto collaterale:

    Al che mi domando, ma non dovrebbe colorare solo quello all’interno di [tt]< >[/tt] 😕 😕 😕 😕 😕

    in risposta a: Problemi di “colore” con listings! #80090
    Up
    0
    Down
    ::


    Ho nuovamente un “problema”, se così si può chiamare, con questo fantastico pacchetto! Dato che si tratta sempre di colorazione ho pensato di non aprire un nuovo thread, ma continuare a scrivere qui. Nel caso non sia corretto fatemelo sapere che provvedo ad aprirne un’altro!

    Ed ora veniamo all’insormontabile problema! 😆
    Come già detto, nel documento che sto scrivendo ho del codice C da riportare.
    Mi chiedevo, se possibile, come fare a colorare l’argomento che segue la direttiva #include di un colore particolare?
    Per spiegarmi meglio allego anche qui delle immagini.

    Com’è:

    Come vorrei che fosse:

    Ho provato con il parametro morekeywords ma non sono riuscito ad ottenere il risultato sperato; ho provato anche a cercare sulla documentazione, ma sinceramente non so cosa cercare! 😳

    Per la configurazione del pacchetto listings si può far sempre riferimento al codice che ho riportato nel primo post! 🙂

    Grazie a tutti anticipatamente! 😉

    in risposta a: Problemi di “colore” con listings! #80089
    Up
    0
    Down
    ::

    GKT” post=79286Benvenuto nel forum!
    Per risolvere il problema, aggiungi alle opzioni il colore della cornice, in questo modo:`\lstset{
    […]
    rulecolor=\color{black}
    […]
    }`
    Lorenzo

    Grazie mille, ora tutto funziona perfettamente! 😀

Stai visualizzando 5 risposte – dal 1 al 5 (di 5 totali)

Go to top