- Questo topic ha 4 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 9 anni, 3 mesi fa da
OldClaudio.
-
CreatoreTopic
-
30 Maggio 2017 alle 13:01 #110668::
Buonasera,Se avvio la compilazione dal documento master, che si chiama “tesi-bozza.tex”, la compilazione si blocca e mi dice che non trova il file specifico:
input/capitoli/prototipo/introduzione/procedimento.texSe vado a controllare, noto che il file è a posto. E’ al punto giusto, nel percorso di cartelle indicate…
Quindi, faccio una seconda compilazione del programma:
Mi appare (allego nell’immagine) questa dichiarazione dopo che mi si blocca la compilazione del documento:[attachment=1896]errorelatex.PNG[/attachment]
La scrivo anche di seguito, casomai non si dovesse vedere nella immagine…
———————————————————————
File ended while scanning use of \@writefile.
\par
l.35 \begin{document}
———————————————————————
Cosa può essere?
Il file procedimento.tex è nel giusto percorso, però mi fa questo scherzo il programma, a partire dalla seconda compilazione…Grazie dell’attenzione
Cordiali Salutimg42
Attachments:
You must be logged in to view attached files. -
CreatoreTopic
-
AutoreRisposte
-
-
30 Maggio 2017 alle 14:16 #110669::
Senza un file sorgente minimo è difficile rispondere. Tuttavia il tipo di diagnostico sembra suggerirmi un non corretto uso di imakeidx quel diagnostico è tipico infatti (anche) proprio di questo. Prova a spostarlo di posizione, a toglierlo, a modificarne le opzioni….. sempre se il caso è questo… Ciao
-
30 Maggio 2017 alle 19:36 #110670::
Come già in questo post, tenterò di usare, con qualche speranza di successo, la mia LaTeX-sfera di cristallo… 😉Un errore come
`
File ended while scanning use of \@writefile.
\par
l.35 \begin{document}
`
non mi fa tanto propendere per qualcosa di legato alla generazione dell’indice analitico, quanto piuttosto all’ordinaria rilettura del file [tt].aux[/tt] che avviene durante il [tt]\begin{document}[/tt]. Molto probabilmente, ciò che succede è semplicemente questo:- @mg42 compila una prima volta e, per una ragione che resta da chiarire, un sorgente [tt].tex[/tt] secondario, che viene richiamato dal sorgente [tt].tex[/tt] principale, non viene trovato;
- quando vede il messaggio di errore circa il file non trovato, @mg42 abortisce la compilazione senza permettere che TeX chiuda ordinatamente i file ausiliari, o magari, semplicemente, “lascia lì” il processo in sospeso, in attesa di risposta;
- in conseguenza di ciò, il file [tt].aux[/tt] rimane in uno stato incompleto, con un comando [tt]\@writefile[/tt] (un tipico comando “da file [tt].aux[/tt]”) scritto solo a metà;
- a partire dalla seconda combinazione, quando il file [tt].aux[/tt] viene riletto al [tt]\begin{document}[/tt], tale comando [tt]\@writefile[/tt] incompleto genera — com’è ovvio che sia — l’errore sopra riportato;
- e così via, il ciclo si ripete.
Ora, è assai probabile che, quando leggerà questa risposta, @mg42 si sarà già resa/o conto di tutto ciò e avrà quindi già capito da sola/o che il problema dell’errore che dà il titolo a questo filone è irrilevante e che il vero problema, piuttosto, è capire come mai non viene trovato il sorgente secondario (verosimilmente, un banale disguido relativo all’impostazione dei percorsi di ricerca); magari, ella o egli scriverà anche, come ha già fatto nell’altro caso, un messaggio di risposta a questo mio per confermare quanto ho appena detto; ebbene, proprio per questo, vi chiedo di perdonare la piccola digressione (o pistolotto? 🙂 ) che segue, di carattere generale, assolutamente non rivolta contro @mg42 e riguardo alla quale prego @mg42 stessa/o di non aversene a male.
Ecco, vorrei semplicemente rinnovare la raccomandazione a non rivolgersi immediatamente a Internet, come prima azione, non appena ci si imbatte in un problema: questo comportamento non aiuta a crescere né sé stessi, né la comunità degli utenti. Si cerchi, innanzitutto, di trovare una soluzione da soli, o anche soltanto di comprendere meglio il problema, studiandolo a fondo e aiutandosi con la consultazione di guide sistematiche, e solo in un secondo momento, e solo se ancora necessario, si affigga una domanda in Rete. Se si farà così, non solo si sarà sfruttata nel migliore dei modi un’opportunità per imparare qualcosa (risolvere problemi è il modo in cui si impara), ma si avrà anche modo di porre una domanda molto migliore, capace anche, magari, di far riflettere chi la legge, insegnandogli a sua volta qualcosa.
Ciao.
—
Gustavo
-
30 Maggio 2017 alle 20:14 #110671
-
31 Maggio 2017 alle 8:47 #110672::
La risposta di Gustavo è esemplare; vorrei avere io le sue doti di comunicazione.Tuttavia vorrei aggiungere qualcosa alle sue parole preziose.
Riguardando il primo messaggio di @mg42, mi pare di capire che egli usi un editor del tipo di TeXstudio o di Texmaker., che mostrano nela finestrina in basso un messaggio d’errore in parte scritto dal programma “TeX” (tra virgolette, perché non mi riferisco in particolare a latex, pdflatex, lualatex, xelatex,…, ma in generale a tutti i programmi di composizione del sistema TeX), e in parte abbellito con un poco di formattazione specifica dell’editor.
Questo modo di mostrare gli errori è comodo per l’utente finale, ma è troppo sintetico in caso di errori difficli come quello mostrato da @mg42.
Io raccomanderei alcune cose che per me stesso trovo molto utili:
1) suggerirei di modificare le impostazioni dell’editor affinché non lavori in scrollmode, ma in errorstopmode; sono opzioni per il programma “TeX” che vanno scritte nella stringa che l’editor invia al sistema operativo per eseguirolo. La sintassi esatta di queste opzioni è descritta nella documentazione di ogni programma, generalmente leggibile con texdoc seguito dal nome del programma, per esempio texdoc pdflatex
2) suggerirei di aggiungere o come prima cosa, prima ancora di \documentclass,, oppure subito dopo \documentclass, oppure subito prima di \begin{document}, oppure, infine, subito dopo \begin{document}, il comando `\errorcontextlines=9`(il numero di righe da mostrare, che o ho indicato col la cifra 9, potrebbe essere un numero maggiore a seconda delle proprie preferenze).
Che cosa succede con questa impostazione avendo specificato l’opzione errorstopmodoe? UNa cosa semplicissima: la compilazione si arresta in corrispondenza dell’errore e mostra nella console il numero di righe che contengono la macro che via via ha dato luogo all’errore; cioè si traccia l’operato del programma.
Tutto ciò potrebbe dare luogo, all’inizio, ad una senso di frustrazione nel leggere questo “tracciato”; tuttavia in casi semplici si scopre che si trattava di un errore di ortografia che può essere immediatamente corretto nel file sorgente, per non dimenticarsi di farlo in una secondo momento. Talvolta si tratta di una mancata chiusura di un ambiente e diventa facilissimo trovare quale ambiente manca del suo specifico comando \end. Talvolta il messaggio è più complesso perché dice che il file è terminato prima di aver completato al lettura degli argomenti di una dato comando, e ciò significa che si è dimenticata una graffa chiusa.
Talvolta come nel caso specifico di @mg42, si tratta di una operazione sbagliata, come quella descritta grazie alla sua LaTeX-sfera-di-cristallo da Gustavo, di un errore presente in un file ausiliario. Spesso questo genere di errori sono innocui e basta rispondere S alla richiesta del programma che si è temporaneamente arrestato; certo il programma prosegue come meglio può dopo avergli dato il comando S, e probabilmente si ferma con una altro messaggio di errore, ma spesso va alla fine senza ulteriori problemi e senza che si ripresentino alla successiva compilazione.
Queste cose, come dice Gustavo, si imparano se si cerca di risolvere i problemi da soli, se si ha l’abitudine di leggere la documentazione; se si fa attenzione ai vari Warning che vengono emessi durante ogni compilazione, eccetera. Insomma usare i programmi del sistema TeX non è facile, anche perché questi programmi fanno milioni di cose che gli altri programmi di videoscrittura non fanno. Sappiamo tutti guidare un’automobile, perché al giorno d’oggi si contano sulle dita coloro che non hanno la patente; tuttavia guidare senza conoscere il mezzo che che si sta guidando è pericoloso, molto più pericoloso che usare il sistema TeX senza conoscerlo. Ma anche nel caso dell’automobile bisogna stare attenti a rumori che fa; bisogna sapere che cosa indicano le varie spie sul cruscotto; bisogna spare se l’indicatore di direzione si trova a destra o a sinistra del volante (non ho mai capito perché i vari costruttori non si mettano d’accordo su queste cose) e via di questo passo; non è necessario andare contro un muro, incapaci di sterzare, perché non ci si è accorti che si è spezzata la cinghia dentata che alimenta la pompa idraulica del servosterzo; è una caso estremo? mica tanto; a me la cinghia dentata si è spezzata 5 volte, ma non ho mai avuto incidenti; ho solo deciso che quella vettura doveva essere gentilmente essere sottoposta alla sua eutanasia, portandola alla demolizione. Anche questo è un esempio di mancato aggiornamento dei mezzi a disposizione; si applica anche al sistema TeX.
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.