Problemi definizione linguaggio con Listings [Risolto]

  • Creatore
    Topic
  • #12761
    Up
    0
    Down
    ::


    Ciao.
    Sto provando a creare la definizione di un linguaggio con il pacchetto listings, ma anche col manuale alla mano (precisamente pag.20), non ci salto fuori.
    Quello che ho fatto è stato:`\documentclass[a4paper,12pt]{book}

    \usepackage[latin1]{inputenc}
    \usepackage[italian]{babel}
    \usepackage[T1]{fontenc}
    \usepackage[dvips]{graphicx}
    \usepackage{listings}

    % Definizione del linguaggio JavaScript
    \lstdefinelanguage{JavaScript}
    { keywords={function},
    keywordstyle=\color{red},
    backgroundcolor=\color{yellow},
    sensitive=false,
    showspaces=false,
    showstringspaces=false,%emph={3}
    showtabs=false,
    numbers=left,
    morecomment=[l]{//},
    morecomment={/*}{*/},
    morestring=“,
    basicstyle={\small\ttfamily}
    }

    \begin{document}

    \lstset{language=JavaScript}
    \begin{lstlisting}[firstnumber=1]
    function render_all(view){

    if(view == “view_app”) view_app();
    else if(view == “view_aut”) view_aut();
    else if(view == “view_tipo”) view_tipo();

    return true;
    }

    \end{lstlisting}
    \end{document}
    `Così facendo l’errore che mi riporta è il seguente:`[LaTeX] prova_listings.tex => prova_listings.dvi (latex)
    [LaTeX] concluso con stato di uscita 1
    ./prova_listings.tex:32:Undefined control sequence. function`Mi sembra di aver capito che il problema è dato dalla riga delle keywords (ne ho impostata solo una per prova).
    Se la commento, infatti, non ho problemi e compilo sia con LaTeX che con PDFLaTeX, ma ovviamente non ottengo la formattazione voluta.
    Come posso fare?

Visualizzazione 1 filone di risposte
  • Autore
    Risposte
    • #12762
      Up
      0
      Down
      ::


      L’errore credo che si trovi nell’utilizzare il comando \color senza aver richiamato il pacchetto associato. Il codice qui riportato nel mio caso funziona correttamente:

      `\documentclass[a4paper,12pt]{book}

      \usepackage[latin1]{inputenc}
      \usepackage[italian]{babel}
      \usepackage[T1]{fontenc}
      \usepackage[dvips]{graphicx}
      \usepackage{listings}

      %Richiamo il pacchetto mancante:%%%<------ Correzione \usepackage{color} % Definizione del linguaggio JavaScript % \lstdefinelanguage{JavaScript} {morekeywords={function}, keywordstyle=\color{red}, backgroundcolor=\color{yellow}, sensitive=false, showspaces=false, showstringspaces=false,%emph={3} showtabs=false, numbers=left, morecomment=[l]{//}, morecomment=[s]{/*}{*/}, morestring=[b]", basicstyle={\small\ttfamily} } \begin{document} \lstset{language=JavaScript} \begin{lstlisting}[firstnumber=1] { function render_all(view) if(view == "view_app") view_app(); else if(view == "view_aut") view_aut(); else if(view == "view_tipo") view_tipo(); return true; } \end{lstlisting} \end{document} ` Ho cambiato "keywords" con "morekeywords", ma credo possa funzionare anche con keywords.

    • #12763
      Up
      0
      Down
      ::


      Ok, grazie, adesso funziona.
      Non pensavo che color fosse un pacchetto da richiamare.

Visualizzazione 1 filone di risposte
  • Devi essere connesso per rispondere a questo topic.

Go to top