[RISOLTO]pacchetto ABC – Classe Toptesi – errore

  • Creatore
    Topic
  • #82481
    Up
    0
    Down
    ::


    Ciao,

    ho un problemino (così sembra) tra la classe toptesi e il pacchetto abc. Lo strano è che se uso la classe Report (o anche Suftesi) Latex compila tutto e il problema scompare.

    Per un discorso di continuità con scritti precedenti ci terrei molto a usare ancora toptesi. Qualcuno sa forse come aiutarmi?

    Ecco l’esempio minimo compilabile (funzionante)

    `% !TEX encoding = UTF-8 Unicode
    % !TEX TS-program = pdflatex
    % !TeX spellcheck = it_IT
    \documentclass[a4paper,12pt,openany]{report}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage{lmodern}
    \usepackage[italian]{babel}
    \usepackage[generate,ps2eps]{abc}
    \usepackage{mathptmx}
    \begin{document}
    prova
    \begin{abc}
    X:1
    M:4/4
    L:1/4
    K:C treble
    [I:measurenb 0]
    [I:gchordfont Palatin]
    [I:tempofont Palatin]
    G|”Emin” A G E2|
    [I: vocalfont Palatin 12]
    w:Che| co sa c'è?|
    \end{abc}
    prova
    \end{document}`

    Se uso Toptesi ho invece il seguente errore

    `(c:/texlive/2012/texmf-dist/tex/latex/abc/abc.sty
    Package: abc 2008/03/03 v2.0 Enrico Gregorio

    (c:/texlive/2012/texmf-dist/tex/latex/tools/verbatim.sty
    Package: verbatim 2003/08/22 v1.5q LaTeX2e package for verbatim enhancements
    \every@verbatim=\toks17

    ! LaTeX Error: Missing \begin{document}.

    See the LaTeX manual or LaTeX Companion for explanation.
    Type H for immediate help.

    l.45
    \def\x{\def\@vobeyspaces{\catcode`\ \active\let \@xobeysp}}
    You're in trouble here. Try typing to proceed.
    If that doesn't work, type X
    to quit.

    \verbatim@line=\toks18
    \verbatim@in@stream=\read1
    ) (c:/texlive/2012/texmf-dist/tex/generic/oberdiek/ifpdf.sty
    Package: ifpdf 2011/01/30 v2.3 Provides the ifpdf switch (HO)
    Package ifpdf Info: pdfTeX in PDF mode is detected.
    )
    \c@abc@count=\count93
    \abc@out=\write3
    )`

    Grazie in anticipo per la disponibilità!

    ciao
    Andrea

Visualizzazione 5 filoni di risposte
  • Autore
    Risposte
    • #82482
      Up
      0
      Down
      ::

      And” post=81813Ciao,

      ho un problemino (così sembra) tra la classe toptesi e il pacchetto abc. Lo strano è che se uso la classe Report (o anche Suftesi) Latex compila tutto e il problema scompare.

      Per un discorso di continuità con scritti precedenti ci terrei molto a usare ancora toptesi. Qualcuno sa forse come aiutarmi?

      Ecco l’esempio minimo compilabile (funzionante)

      `% !TEX encoding = UTF-8 Unicode
      % !TEX TS-program = pdflatex
      % !TeX spellcheck = it_IT
      \documentclass[a4paper,12pt,openany]{report}
      \usepackage[T1]{fontenc}
      \usepackage[utf8]{inputenc}
      \usepackage{lmodern}
      \usepackage[italian]{babel}
      \usepackage[generate,ps2eps]{abc}
      \usepackage{mathptmx}
      \begin{document}
      prova
      \begin{abc}
      X:1
      M:4/4
      L:1/4
      K:C treble
      [I:measurenb 0]
      [I:gchordfont Palatin]
      [I:tempofont Palatin]
      G|”Emin” A G E2|
      [I: vocalfont Palatin 12]
      w:Che| co sa c'è?|
      \end{abc}
      prova
      \end{document}`

      Se uso Toptesi ho invece il seguente errore

      `(c:/texlive/2012/texmf-dist/tex/latex/abc/abc.sty
      Package: abc 2008/03/03 v2.0 Enrico Gregorio

      (c:/texlive/2012/texmf-dist/tex/latex/tools/verbatim.sty
      Package: verbatim 2003/08/22 v1.5q LaTeX2e package for verbatim enhancements
      \every@verbatim=\toks17

      ! LaTeX Error: Missing \begin{document}.

      See the LaTeX manual or LaTeX Companion for explanation.
      Type H for immediate help.

      l.45
      \def\x{\def\@vobeyspaces{\catcode`\ \active\let \@xobeysp}}
      You're in trouble here. Try typing to proceed.
      If that doesn't work, type X
      to quit.

      \verbatim@line=\toks18
      \verbatim@in@stream=\read1
      ) (c:/texlive/2012/texmf-dist/tex/generic/oberdiek/ifpdf.sty
      Package: ifpdf 2011/01/30 v2.3 Provides the ifpdf switch (HO)
      Package ifpdf Info: pdfTeX in PDF mode is detected.
      )
      \c@abc@count=\count93
      \abc@out=\write3
      )`

      Grazie in anticipo per la disponibilità!

      ciao
      Andrea

      Il problema non è con abc, naturalmente. 😉

      L’incompatibilità è fra toptesi e il pacchetto verbatim. Dovuta al fatto che toptesi ridefinisce lo spazio attivo (e non dovrebbe). L’errore è in [tt]topcoman.sty[/tt]; posso capire la necessità di modificare lo spazio attivo per il comando [tt]\listing[/tt], ma cambiare globalmente lo spazio attivo non è certamente una buona idea.

      `\documentclass[a4paper]{toptesi}
      %%% correggiamo l'errore di toptesi
      {\catcode`\ =\active\xdef {\space}}
      %%%

      \usepackage[T1]{fontenc}
      \usepackage[utf8]{inputenc}
      \usepackage{lmodern}
      \usepackage[italian]{babel}
      \usepackage[generate,ps2eps]{abc}
      \usepackage{mathptmx}
      \begin{document}
      prova
      \begin{abc}
      X:1
      M:4/4
      L:1/4
      K:C treble
      [I:measurenb 0]
      [I:gchordfont Palatin]
      [I:tempofont Palatin]
      G|”Emin” A G E2|
      [I: vocalfont Palatin 12]
      w:Che| co sa c'è?|
      \end{abc}
      prova
      \end{document}`

      Aggiungo una proposta di modifica di [tt]topcoman.sty[/tt]. Il comando [tt]\obeyspaces[/tt] alla riga 71 dovrebbe essere sostituito da
      `\begingroup\lccode`~=`\ \lowercase{\endgroup\let~}\ %`
      Questo cambierebbe il significato dello spazio attivo solo nell’ambito del gruppo aperto dal comando [tt]\listing[/tt].

      La riga 77 dovrebbe essere rimossa.

      Ciao
      Enrico

    • #82483
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::

        Aggiungo una proposta di modifica di topcoman.sty. Il comando \obeyspaces alla riga 71 dovrebbe essere sostituito da

        \begingroup\lccode`~=`\ \lowercase{\endgroup\let~}\ %

        Questo cambierebbe il significato dello spazio attivo solo nell’ambito del gruppo aperto dal comando \listing.

        La riga 77 dovrebbe essere rimossa.

        Ricevuto. Grazie
        Claudio

      • #82484
        Up
        0
        Down
        ::


        Inutile dire che ora funziona tutto a meraviglia!!!

        Grazie!

        Andrea

      • #82485
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::

          OldClaudio” post=81817

          Aggiungo una proposta di modifica di topcoman.sty. Il comando \obeyspaces alla riga 71 dovrebbe essere sostituito da

          \begingroup\lccode`~=`\ \lowercase{\endgroup\let~}\ %

          Questo cambierebbe il significato dello spazio attivo solo nell’ambito del gruppo aperto dal comando \listing.

          La riga 77 dovrebbe essere rimossa.

          Ho provato a inserire il tuo codice in topcoman.sty, ma funziona e non funziona…:mrgreen:

          funziona nel senso che rispetta gli spazi; non funziona nel senso che inserisce il “visible space”, il carattere 32 del font cmtt??, invece di uno spazio invisibile ma pur sempre presente, come faceva prima.

          Ho provato a creare una macro per far si che il \let~ della tua definizione diventasse equivalente alla macro che inserisce uno fantasma di 0 (zero, la cifra, ma con il tt non c’è differenza con O, la lettera o maiuscola, per quel che riguarda la larghezza dei \pantom). Niente, continua a dare lo spazio visibile.

          Quindi capisco bene che il tuo comando aggiusta ABC, ma, purtroppo da una brutta botta a topcoman che lo rende inutilizzabile. Per retrocompaitbilità non posso elimanre \listing; naturalmente potrei ridefinirlo in termini del pacchetto listing, ma preferirei un tacon che pur mettendo a posto ABC non distrugga tpcoman.

          Ciao e grazie
          Claudio

        • #82486
          Up
          0
          Down
          ::

          OldClaudio” post=81913

          Aggiungo una proposta di modifica di topcoman.sty. Il comando \obeyspaces alla riga 71 dovrebbe essere sostituito da

          \begingroup\lccode`~=`\ \lowercase{\endgroup\let~}\ %

          Questo cambierebbe il significato dello spazio attivo solo nell’ambito del gruppo aperto dal comando \listing.

          La riga 77 dovrebbe essere rimossa.

          Ho provato a inserire il tuo codice in topcoman.sty, ma funziona e non funziona…:mrgreen:

          funziona nel senso che rispetta gli spazi; non funziona nel senso che inserisce il “visible space”, il carattere 32 del font cmtt??, invece di uno spazio invisibile ma pur sempre presente, come faceva prima.

          Ho provato a creare una macro per far si che il \let~ della tua definizione diventasse equivalente alla macro che inserisce uno fantasma di 0 (zero, la cifra, ma con il tt non c’è differenza con O, la lettera o maiuscola, per quel che riguarda la larghezza dei \pantom). Niente, continua a dare lo spazio visibile.

          Quindi capisco bene che il tuo comando aggiusta ABC, ma, purtroppo da una brutta botta a topcoman che lo rende inutilizzabile. Per retrocompaitbilità non posso elimanre \listing; naturalmente potrei ridefinirlo in termini del pacchetto listing, ma preferirei un tacon che pur mettendo a posto ABC non distrugga tpcoman.

          Ciao e grazie
          Claudio

          Sarà, ma il seguente documento funziona perfettamente (chiamalo [tt]toplist.tex[/tt]):
          `\documentclass{toptesi}
          {\obeyspaces\global\let \space}
          \usepackage{etoolbox}
          \tracingpatches
          \patchcmd\programma{\obeyspaces}
          {\obeyspaces\begingroup\lccode`~=`\ \lowercase{\endgroup\let~}\ }
          {}{}

          \begin{document}
          This has
          spaces

          \listing{toplist.tex}
          \end{document}`
          Probabilmente nel mio suggerimento avevo omesso [tt]\obeyspaces[/tt] che certamente serve. Dunque la riga 71 deve diventare
          `\obeyspaces\begingroup\lccode`~=`\ \lowercase{\endgroup\let~}\ %`

          Ciao
          Enrico

        • #82487
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            In effetti nella tua proposta di modifica avevi scritto

            Aggiungo una proposta di modifica di topcoman.sty. Il comando \obeyspaces alla riga 71 dovrebbe essere sostituito da

            Ora, invece, senza lo sostituzione ma con l’aggiunta, il tuo codice funziona liscio come l’olio.

            Grazie mille
            Ciao
            Claudio

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

        Go to top