- Questo topic ha 7 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 15 anni, 3 mesi fa da .
-
Topic
-
È il mio primo messaggio, e ci terrei molto ad avere un aiuto.Leggendo il codice di una macro come \inbox, che incornicia un testo/oggetto, mi pare che quanto nel
codice si riferisce alla cornice preceda l’oggetto e che quindi, visto che i processori TeX funzionano
soltanto con le liste, il \box256 nel creare l’output debba tracciare la cornice prima di conoscere l’oggetto
da incorniciare. Il che sicuramente non è.\def\inbox{\setbox256\hbox{\vbox{\hrule\hbox{\vrule\kern5pt\vbox{\kern3pt\hbox{\Large Testo/Oggetto} \kern3pt}\kern5pt\vrule}\hrule}}}
\inbox
\unhbox256Alcune possibilità:
– la lista di uscita viene rovesciata prima dell’output;
– la memorizzazione del registro 256 avviene in uno stack;
– TeX crea un registro temporaneo per i parametri delle tre misure del box Testo/Oggetto
da passare in fase di output alla cornice.
Rimane il fatto che se si prova a leggere la lista di \tracingcommands si è portati a credere che TeX
possa fare qualsiasi cosa, visto che mette in gioco tanti elementi in più di quelli che noi utenti conosciamo
direttamente; peggio ancora con \tracingmacros, in particolare con lo \@specialoutput .Come si può cercare di capire o magari solo di sapere come stanno le cose?
Meglio se senza andare a fondo di quello che fanno i processori di espansione e di esecuzione.
Che eventualmente mi sembra dovrebbe essere fatto induttivamente studiando i file di lplain.tex e
che, stando a \tracingmacros, è sicuramente fuori dalla mia portata.Grazie
Riccardo
- Devi essere connesso per rispondere a questo topic.