Problema con Beamer e Listings

  • Creatore
    Topic
  • #27025
    Up
    0
    Down
    ::


    Ciao a tutti ho un problema che cercando sul forum non sono riuscito a risolvere, sto scrivendo una presentazione in beamer e vorrei inserire un listato di codice in C con il pacchetto listings. Al momento della compilazione di questo sorgente:
    `
    \documentclass{beamer}
    \usepackage[utf8]{inputenc}
    \usepackage[italian]{babel}
    \usepackage[T1]{fontenc}
    \usetheme{Warsaw}
    \setbeamercovered{transparent}
    \usecolortheme{orchid}
    \usepackage{listings}

    \begin{document}
    \begin{frame}
    \begin{block}{Definizione}
    Il termine software è una vocabolo creato a partire da due termini della lingua inglese, soft e ware (manufatto, oggetto) e sta ad indicare un programma in grado di funzionare su un elaboratore. \footnote{\textit{http://it.wikipedia.org/wiki/Software}}
    \end{block}
    \begin{lstlisting} [language=C]

    #include

    int main() {
    printf(“Hello, World!”);
    return 0;
    }
    \end{lstlisting}
    \end{frame}
    \end{document}
    `

    Il log da 15 errori e ovviamente non produce nessun output, questi sono gli errori:
    `
    [PDFLaTeX] Prova.tex => Prova.pdf (pdflatex)
    [PDFLaTeX] concluso con stato di uscita 1
    /usr/share/texmf/tex/latex/beamer/base/beamer.cls:0: Option `pdfpagelabels' is turned off(hyperref) because \thepage is undefined.
    Prova.tex:23:Illegal parameter number in definition of \test. \end{lstlisting}
    Prova.tex:24:Illegal parameter number in definition of \iterate. \end{frame}
    Prova.tex:24:Illegal parameter number in definition of \iterate. \end{frame}
    Prova.tex:24:Illegal parameter number in definition of \beamer@doifinframe. \end{frame}
    Prova.tex:24:Paragraph ended before \\lstlisting@ was complete. \end{frame}
    Prova.tex:24:You can't use `macro parameter character #' in internal vertical mode. \end{frame}
    Prova.tex:24:Package Listings Error: Extra \endlstlisting. \end{frame}
    Prova.tex:24:\begin{lstlisting} on input line 24 ended by \end{beamer@framepauses}. \end{frame}
    Prova.tex:24:Extra }, or forgotten \endgroup. \end{frame}
    Prova.tex:24:\begin{beamer@framepauses} on input line 24 ended by \end{beamer@frameslide}. \end{frame}
    Prova.tex:25:\begin{beamer@frameslide} on input line 24 ended by \end{document}. \end{document}
    Prova.tex:25:You can't use `\end' in internal vertical mode. \end{document}
    Prova.tex:25:\begin{beamer@frameslide} on input line 24 ended by \end{document}. \end{document}
    Prova.tex:25:Missing } inserted. \end{document}
    Prova.tex:0:Emergency stop.
    [PDFLaTeX] 15 errori, 1 avvertimento, 0 fuori misura
    `
    L’errore penso sia in lstlisting dato che se lo commento non da nessun errore e produce il pdf. Cosa c’è che non va?
    C’è qualcosa su listings vs. beamer che non so?

    Sistema operativo: Linux Ubuntu 8.04
    Compilatore: TeXlive
    Editor: Kile

    Ciao Alberto

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

      Ciao a tutti ho un problema che cercando sul forum non sono riuscito a risolvere, sto scrivendo una presentazione in beamer e vorrei inserire un listato di codice in C con il pacchetto listings. Al momento della compilazione di questo sorgente:
      `
      \documentclass{beamer}
      \usepackage[utf8]{inputenc}
      \usepackage[italian]{babel}
      \usepackage[T1]{fontenc}
      \usetheme{Warsaw}
      \setbeamercovered{transparent}
      \usecolortheme{orchid}
      \usepackage{listings}

      \begin{document}
      \begin{frame}
      \begin{block}{Definizione}
      Il termine software è una vocabolo creato a partire da due termini della lingua inglese, soft e ware (manufatto, oggetto) e sta ad indicare un programma in grado di funzionare su un elaboratore. \footnote{\textit{http://it.wikipedia.org/wiki/Software}}
      \end{block}
      \begin{lstlisting} [language=C]

      #include

      int main() {
      printf(“Hello, World!”);
      return 0;
      }
      \end{lstlisting}
      \end{frame}
      \end{document}
      `

      Il log da 15 errori e ovviamente non produce nessun output, questi sono gli errori:
      `
      [PDFLaTeX] Prova.tex => Prova.pdf (pdflatex)
      [PDFLaTeX] concluso con stato di uscita 1
      /usr/share/texmf/tex/latex/beamer/base/beamer.cls:0: Option `pdfpagelabels' is turned off(hyperref) because \thepage is undefined.
      Prova.tex:23:Illegal parameter number in definition of \test. \end{lstlisting}
      Prova.tex:24:Illegal parameter number in definition of \iterate. \end{frame}
      Prova.tex:24:Illegal parameter number in definition of \iterate. \end{frame}
      Prova.tex:24:Illegal parameter number in definition of \beamer@doifinframe. \end{frame}
      Prova.tex:24:Paragraph ended before \\lstlisting@ was complete. \end{frame}
      Prova.tex:24:You can't use `macro parameter character #' in internal vertical mode. \end{frame}
      Prova.tex:24:Package Listings Error: Extra \endlstlisting. \end{frame}
      Prova.tex:24:\begin{lstlisting} on input line 24 ended by \end{beamer@framepauses}. \end{frame}
      Prova.tex:24:Extra }, or forgotten \endgroup. \end{frame}
      Prova.tex:24:\begin{beamer@framepauses} on input line 24 ended by \end{beamer@frameslide}. \end{frame}
      Prova.tex:25:\begin{beamer@frameslide} on input line 24 ended by \end{document}. \end{document}
      Prova.tex:25:You can't use `\end' in internal vertical mode. \end{document}
      Prova.tex:25:\begin{beamer@frameslide} on input line 24 ended by \end{document}. \end{document}
      Prova.tex:25:Missing } inserted. \end{document}
      Prova.tex:0:Emergency stop.
      [PDFLaTeX] 15 errori, 1 avvertimento, 0 fuori misura
      `
      L’errore penso sia in lstlisting dato che se lo commento non da nessun errore e produce il pdf. Cosa c’è che non va?
      C’è qualcosa su listings vs. beamer che non so?

      Sistema operativo: Linux Ubuntu 8.04
      Compilatore: TeXlive
      Editor: Kile

      Quando c’è qualche ambiente verbatim o roba simile, e gli ambienti di listings lo sono, usa \begin{frame}[fragile]

      Ciao
      Enrico

    • #27027
      Up
      0
      Down
      ::


      Che dire: grazie. è bastato seguire la tua indicazione e la compilazione non ha avuto problemi. Alla fine il frame è diventato:
      `
      \begin{frame}[fragile]{Cosa è un software?}
      \begin{lstlisting} [language=C]
      #include
      int main() {
      printf(“Hello,World!”);
      return 0;}
      \end{lstlisting}
      \visible<2->{\begin{block}{}
      Il termine software è una vocabolo creato a partire da due termini della lingua inglese, soft e ware (manufatto, oggetto) e sta ad indicare un programma in grado di funzionare su un elaboratore. \footnote{\textit{http://it.wikipedia.org/wiki/Software}}
      \end{block}}
      \end{frame}
      `

      Dove avrei potuto trovarla la soluzione?
      Te lo chiedo per spirito di conoscenza e per approfondire la questione nel caso ci siano altri ambienti che necessitano di [fragile].

      Grazie mille, Alberto

    • #27028
      Up
      0
      Down
      ::

      Che dire: grazie. è bastato seguire la tua indicazione e la compilazione non ha avuto problemi. Alla fine il frame è diventato:
      `
      \begin{frame}[fragile]{Cosa è un software?}
      \begin{lstlisting} [language=C]
      #include
      int main() {
      printf(“Hello,World!”);
      return 0;}
      \end{lstlisting}
      \visible<2->{\begin{block}{}
      Il termine software è una vocabolo creato a partire da due termini della lingua inglese, soft e ware (manufatto, oggetto) e sta ad indicare un programma in grado di funzionare su un elaboratore. \footnote{\textit{http://it.wikipedia.org/wiki/Software}}
      \end{block}}
      \end{frame}
      `

      Dove avrei potuto trovarla la soluzione?
      Te lo chiedo per spirito di conoscenza e per approfondire la questione nel caso ci siano altri ambienti che necessitano di [fragile].

      Pagina 15 di beameruserguide.pdf:

      Note that you must treat lstlisting environments exactly the same way as you would treat verbatim environments.

      La sezione 2.6 parla di vari pacchetti aggiuntivi e di come risolvere certi problemi.

      Ciao
      Enrico

    • #27029
      Up
      0
      Down
      ::


      Grazie ancora Enrico, ho riletto la guida e ho trovato alla sezione 2.6 quello che mi hai detto:

      Note that you must treat lstlisting environments exactly the same way as you would treat verbatim environments. When using \defverbatim that contains a colored lstlisting, use the colored option of \defverbatim.

      Aggiungo che nella sezione 3.13 dove si parla del testo in verbatim si dice:

      One another frame, Euclid would like to show a listing of an algorithm his friend Eratosthenes has send him (saying he came up with it while reorganizing his sieve collection). Euclid normally uses the verbatim environment and sometimes also similar environments like lstlisting to typeset listings. He can also use them in beamer, but he must add the fragile option to the frame.

      D’ora in poi me lo ricorderò.

      Grazie Alberto

    • #27030
      Up
      0
      Down
      ::


      salve a tutti, scusate se mi intrometto in questa discussione, avevo lo stesso problema iniziale, poi ho provato ad inserire la soluzione proposta, e con il verbatim funziona (ma non mi piace) mentre con il listing no! perchè? vi posto preambolo e frame incriminato

      `
      \documentclass[10pt]{beamer}
      \setbeamertemplate{navigation symbols}{}

      \usetheme{Boadilla}
      \usecolortheme{whale}
      %\usetheme{Warsaw}
      \setbeamercovered{transparent}
      %\setbeamertemplate{block}[default]

      \usepackage[italian]{babel}
      \usepackage[latin1]{inputenc}
      \usepackage{epstopdf}
      \usepackage{pgf}

      \usepackage{beamerfoils}
      \usepackage{fancybox}
      \usepackage{graphicx,color}
      \usepackage{amsmath,amsfonts,latexsym}

      \usepackage{listing}

      \begin{document}

      \begin{frame}[fragile]
      \frametitle{Il PowerSim}
      \framesubtitle{Il file di configurazione}
      \begin{lstlisting}[language=C] ::= { }
      ::= SC_MODULE
      {
      END

      ::= NAME “=”
      ::= OPERATOR “:”
      “;”
      ::= MODEL PARAMETER | { }
      ::= sc_bit | sc_int | // And other data types
      ::= “&” | “|” | “^” | “!” | “+” | “-” | “*” | “\”
      ::= constant | hardware | // Model defined by user
      ::= ” ” { ” ” }
      ::= is the name of the systemc module ::= is the parameter of the power model
      ::= is the eol according to operating system
      \end{lstlisting}
      \end{frame}

      \end{document}
      `

      cosa ho combinato?

      grazie

      Marco

    • #27031
      Up
      0
      Down
      ::

      salve a tutti, scusate se mi intrometto in questa discussione, avevo lo stesso problema iniziale, poi ho provato ad inserire la soluzione proposta, e con il verbatim funziona (ma non mi piace) mentre con il listing no! perchè? vi posto preambolo e frame incriminato

      `
      \documentclass[10pt]{beamer}
      \setbeamertemplate{navigation symbols}{}

      \usetheme{Boadilla}
      \usecolortheme{whale}
      %\usetheme{Warsaw}
      \setbeamercovered{transparent}
      %\setbeamertemplate{block}[default]

      \usepackage[italian]{babel}
      \usepackage[latin1]{inputenc}
      \usepackage{epstopdf}
      \usepackage{pgf}

      \usepackage{beamerfoils}
      \usepackage{fancybox}
      \usepackage{graphicx,color}
      \usepackage{amsmath,amsfonts,latexsym}

      \usepackage{listing}
      …`

      cosa ho combinato?

      Il pacchetto si chiama listings

      Ciao
      Enrico

    • #27032
      Up
      0
      Down
      ::


      perdonami… che errore sciocco!!!!! 😳

      grazie

      Marco

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

Go to top