Re: smallRoman e backref

#91202
OldClaudio
Partecipante
    Up
    0
    Down
    ::


    Corrado, se avessi letto il messaggio dal fondo verso l’alto, avresi visto ce la cosa si manifestava alla riga 50 di qualche file; dirante l’esecuzione di una macro.
    alla riga sopra hai la famosa riga spezzata; la riga viene spezzara nel punto in cui è avvenuto l’arresto, e nella parte di sotto c’è il prossimo token da elaborare cioè \x, ma subito prima dell’interruzione c’è \show\x; chissà cosa cosa vorrà dire?
    Passi alle righe precedenti e trovi che \x è una macro e che il suo significato è [tt]\endgroup \original@abx@aux@backref {1}{Kechris:classical}{0}{IX}{9}.[/tt]
    Nota il punto finale che non fa parte della definizione, ma rappresenta al fine del messaggio.

    Come vedi è chiarissimo; se poi vai in basso dolo la riga che comincia con l..50, nella console troveresti che puoi premere o qualuque degli altri tasti azione, compreso I. Io tavolta se \show mi dicesse che il significato della macro \x è [tt]\protected\x .[/tt] (nota lo spazio subito prima del punto di fine messaggio) avrei avuto poca informazione, Allora sfodererei una di quelle magie alla TeX e iscriveri nella riga in basso `
    I\expandafter\show\csname x \endcsname` (noti gli spazi?) e avrei il significato della macro vera, non quella protetta, in modo che saprei esattamante cosa fa sia la macro vera sia evidentemente quella protetta quando viene eseguitaa per davvero.

    I mi dice di inserire nel flusso dei token all’entata qunto c’è scritto dopo sulla stessa riga della console.
    \exmandafter mi dice di eseguire \show DOPO aver eseguito il token successivo
    \csname “nome control sequence”\endcsname serve per fare riferimento ad un nome di una control sequence costruito con tutti i token anche non letterali che sono compresi dopo \csname e prima di \endcsname (senza contare gli spazi che seguono il comando \csname che non contano mai dopo il nome di un comando)

    Ovviamente l’azione I finisce premendo , questo va da sé, altrimenti come sarebbe terminata la descrizione dell’azione.

    I è utile, specialmente con TeXShop che lavora in errorstopmode anche quando scrivi male il nome di un comando; a me capita di scrivere \amta invece di \meta; bene il compilatore si ferma con un messaggio d’errore spezzando la riga dopo \mata e indicandomi il numero della riga dove ha trovato il comando errato; allora premo mela+L e mi si apre la finestrella il numero della riga; lo scrivo e premo ; correggo \mata in \meta nel file sorgente e NON premo mela+alt+T, ma scrivo nella riga della console [tt]I\meta[/tt] e premo ; la compilazione prosegue con lo stesso file sorgente (anche se alla prossima il file sorgente non conterrà più l’errore) ma avendo sostituito \meta a \mata; se non ci sono altri errori la compilazione arriva alla fine senza ulteriori problemi; se ci sono altri errori non gestibili con la I, allora premo X al primo errore che non posso correggere interattivamente come per \mata, e senza perdere niente in termini di file ausiliari che mi potranno essere utili per le prossime compilazioni. Trovo questo modo di procedere molto efficace. Come noto non cancello mai i file ausiliari; sono troppo utili per cancellarli; per ricrearli in modo corretto di solito ci vogliono da due a tre compilazioni del documento, quindi si spreca un mucchio di tempo.

    Un mucchio? be’ sì; è vero che pdflatex è velocissimo; xelatex non lo è altrettanto e lualatex è ancora più lento; tre compilazioni possono far perdere anche un paio di minuti se si sta lavorando un documento non minimale.

    Go to top