Errore di compilazione vecchio file

  • Creatore
    Topic
  • #117210
    lavocedilassù
    Partecipante
      Up
      0
      Down
      ::


      Salve a tutti.

      Vado a ricompilare un file.tex senza averlo mai modificato e mi dà inspiegabilmente errore. . Uso MacTeX 2018 su Mac OS 10.11.6

      Nella compilazione l’errore che mi dà e questo:

      187: Missing number, treated as zero

      \tex_let:D
      l.187 {\catcode`\^^
      M=12 \endlinechar=-1 %

      La riga dove mi segnala l’intoppo è commentata.

      Allego il file di log
      [attachment=2369]Prova.pdf[/attachment]

      Grazie per l’aiuto.
      Gianni

      Attachments:
      You must be logged in to view attached files.
    Visualizzazione 5 filoni di risposte
    • Autore
      Risposte
      • #117211
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Il file .log che hai allegato (in formato pdf, perché?) sembra incompleto, perché non contiene il dettaglio del tuo errore, sembra trocato prima.

          Tuttavia, permettimi un’osservazione; Sarebbe desiderabile che ogni file sorgente predisposto in passato rimanga sempre compilabile anche in futuro; tempo però che LaTeX non andrebbe avanti se questa forma di conservazione fremasse ogni sviluppo. Ma se leggi l’articolo do Frank Mittelbach su ArsTeXnica di aprile 2019 o di aprile 2018 (non ricordo bene in quale anno, anche se l’articolo l’ho tradotto in italiano io stesso) parla di “ritorno al passato; spiega come modificare qualche riga del preambolo per usare il nucleo di LaTeX com’era anni prima.

          Personalmente io uso MAcTeX e lo aggiorno settimanalmente; l’ultima vola questa mattina, e non ho riscontrato nessun fallimento o errori strani; Non ho provato a compilare miei vecchi documenti di 20 o 30 anni fa, anche eprché in questo lasso di tempo li ho rivisti e ora il contenuto è lo stesso, meno qualche refuso che ho corretto, quindi non sono nemmeno in grado di ripescare qualcosa che ia davvero così vecchio e sul quale non abbia mai rimesso le mani. Mi spiace, perché potrei darti una mano migliore se se avessi ancora qualche vecchio file.

          Ma il mio consiglio resta sempre quello di lavorare con l’ultima versione, speciamente ora che molte parti vengono sostituite con funzioni in linguaggio L3, che spesso e volentieri, essendo in grado di fare molto di più delle macro TeX e LaTeX tradizionali, talvolta sono però anche più delicate.

          Vedi di trasmettere qui sul forum quelle poche righe di codice che contengono la riga 187; se poi alleghi non tutto il file .log in formato test, ma solo dove c’è il messaggio d’errore che hai segnalto con almeno 20 righe prima e, se ci sono, altrettante righe dopo.

        • #117212
          lavocedilassù
          Partecipante
            Up
            0
            Down
            ::


            OLdClaudio, intanto grazie per l’indicazione dell’articolo sul “concetto di ritorno al passato” (ArsTeXnica n. 27, aprile 2019, pag. 57), che leggerò con molta attenzione quanto prima.

            Come da te suggerito, allego il file di log sfrondato alle 30 riche superiori e inferiori dall’errore che blocca la compilazione. Il file definito vecchio è stato compilato a giugno del 2018. All’epoca, probabilmente, con MacTeX 2016 e Mac OS 10.9.5 (Mavericks); ora sono sul El Capitan (10.11.6) e LaTeX 2018, l’ultima che posso installare sul Mac del lavoro.
            Anch’io, a casa, aggiorno settimanalmente l’ultima versione, la MacTeX 2019, ma al lavoro, purtroppo, sono inchiodato al “passato” 🙄 .

            [attachment=2370]prova.txt[/attachment]

            Grazie ancora,
            Gianni

            Attachments:
            You must be logged in to view attached files.
          • #117213
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::


              Sì, in effetti ala riga 187 del file comment.sty di Victor Eikout c’è quel codice, Ora ^^M rappresenta il codice ASCII del ritorno/fine di riga, ma probabilmente dalla fine del 2018, quando la codifica utf8 è diventata quella ufficiale anche per pdflatex, forse bisognerebbe cambiare quell’assegnazione, che assegna al carattere decimale 13, o esadecimale ^^0e (attento alle minuscole) a coi una volta corrispondeva la scrittura `\^^M un codice diverso;
              prova a copiarti dal definizione dell’ambiente comment, dalla riga 181 alla riga 194 del file comment.sty, nel tuo preambolo; a prima vista mi sembra che quel codice non contenga nessun glifo @, quindi non hai bisogno di racchiudere quel codice nel tuo preambolo fra \makeatletter e \makeatother; poi prova a cambiare \la stringa \catocde `\^^M=12 in \catcode^^0e=12 e poi riprova a compilare.
              Tieni present che il pacchetto comment.sty è del 1998, quindi è vecchissimo. personalmente io non l’ho mai usato, ance se mi rendo conto che un ambiente rende la marcatura del testo più efficace e visibile; Personalmente i brani di file sorgente che voglio escludere dalla compilazione, ma non li voglio cancellare dal file sorgente, o li commento con % (TeXShop: evidenzio il brano da commentare e poi o uso la voce del menu Source Comment, oppure premo command+shift+{ mentre per de=commentare o scelgo Uncomment da quel menù Source, oppure premo command+shift+} — queste scorciatoie sono molto comode). Oppure non uso i commenti ma racchiudo tutto il brano fra \iffalse e \fi. Se procedi in questo modo non hai bisogno di caricare il pacchetto comment.sty.

            • #117214
              lavocedilassù
              Partecipante
                Up
                0
                Down
                ::


                Scusa il ritardo nella risposta. Ho fatto quanto mi hai scritto: copiato dal file comment.sty le righe dalla 181 alla 194:

                `\def\ProcessComment#1% start it all of
                {\def\CurrentComment{#1}%
                \begingroup
                \let\do\makeinnocent \dospecials
                \makeinnocent\^^L% and whatever other special cases
                \endlinechar`\^^M\relax \catcode`\^^M=12\relax \xComment}
                {\catcode`\^^M=12 \endlinechar=-1 %
                \gdef\xComment#1^^M{\ProcessCommentLine}
                \gdef\ProcessCommentLine#1^^M{\def\test{#1}
                \csarg\ifx{End\CurrentComment Test}\test
                \edef\next{\endgroup\noexpand\EndOfComment{\CurrentComment}}%
                \else \ThisComment{#1}\let\next\ProcessCommentLine
                \fi \next}
                }
                `
                inserite nel preambolo del mio sorgente, ho sostituito la stringa (2 occorrenze) \catocde `\^^M=12 con \catocde^^0e=12; mi dà lo stesso errore. Ho provato anche ad aggiungere `\ davanti ^^0e=12 sperando fosse rilevante. Anche così, nulla.

                Nel codice del pacchetto comment vedo tante occorrenze ^^M: vanno sostituite anche quelle con ^^0e?

                Da quando mi hai fatto scoprire `\iffalse……\fi` non uso altro per commentare brani di testo. Grazie ancora per le altre scorciatoie che mi hai suggerito.

                Adesso per questo benedetto sorgente, cos’altro mi consigli di fare?

                Grazie,
                Gianni

              • #117215
                OldClaudio
                Partecipante
                  Up
                  0
                  Down
                  ::


                  Mah, se hai tolto la chiamata al file commen,sty, e se hai tolto il codice compiato e modificato seocndo una cosa che io ho usato spesso, ma che evidentemente interferisce con altre cose, ma \iffale…\fi funziona non saprei consigliarti altro, anche perché non hai mostrato (o mi è sfuggito?) niente né del tuo preambolo né della struttura del tuo documento, ma ho solo visto il tuo file log.

                • #117216
                  lavocedilassù
                  Partecipante
                    Up
                    0
                    Down
                    ::


                    No, non ti è sfuggito. Appena possibile cercherò di postare un EMC che riproduca l’errore.

                    Grazie,
                    Gianni

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

                Go to top