- Questo topic ha 6 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 6 anni, 6 mesi fa da
lavocedilassù.
-
CreatoreTopic
-
12 Febbraio 2020 alle 10:43 #117210::
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. -
CreatoreTopic
-
AutoreRisposte
-
-
12 Febbraio 2020 alle 15:16 #117211::
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.
-
13 Febbraio 2020 alle 12:25 #117212::
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. -
13 Febbraio 2020 alle 20:53 #117213::
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.
-
20 Febbraio 2020 alle 13:16 #117214::
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
-
20 Febbraio 2020 alle 15:38 #117215::
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.
-
21 Febbraio 2020 alle 7:03 #117216
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.