rudycol” post=64095Non so come ringraziarla per la sua infinità disponibilità. Sono un “novizio” di programmazione in LaTeX sebbene uso LaTeX da un pò e mi piacerebbe molto imparare.
Per vedere se ho capito esattamente come ha implementato la procedura, ho fatto dei commenti ai diversi steps preceduti dal simbolo %. Sarei molto grato se potrebbe controllare i vari commenti. Mille grazie.\@for\next:=#1\do{
% Per assegnare l’argomento del comando \contfrac e iniziare il loop\cf@toksa=\expandafter{
% Espande l’argomento e lo assegna al token A\the\expandafter\cf@toksa
% Questo dovrebbe assegnare il numero a sinistra di ogni frazione?\expandafter\cf@start
% Questa dovrebbe essere la frazione a destra di ogni numero nell’argomento di \contfrac\expandafter{\next}
%Ripete la procedura\cf@toksb=\expandafter{\the\cf@toksb\cf@end}
% Assegna al token B il suo corrente valore e conclude\edef\cf@final{\the\cf@toksa\the\cf@toksb}
% NON HO CAPITO COSA FA QUESTO COMANDO\edef\cf@final{\cf@final}\expandafter\@gobblethree\cf@final
% NON HO CAPITO COSA FA QUESTO COMANDO\def\cf@start#1{+\noexpand\cfrac\iftrue{\else}\fi1\iffalse{\else}\fi\iftrue{\else}\fi#1}
% Questa è la definizione di continued fraction\def\cf@end{\iffalse{\else}\fi}
% Definisce \@end per la falsa condizione e ferma il loopAl di là della continued fraction, se mi posso permettere, vorrei chiedere dei suggerimenti su del materiale su cui studiare. Attualmente ho il TeXbook di Knuth ma questo è limitato a un solo capitolo per le macro.
Grazie ancora,
Rudy
Normalmente qui ci si dà del tu.
Temo che la tua analisi sia piuttosto carente. Non preoccuparti: si tratta di macro di livello piuttosto elevato.
• \@for\next=#1\do{…}
Questo prende l’argomento ed esegue un ciclo su tutti gli elementi della lista (con la virgola come separatore). A ogni passo del ciclo viene eseguito il contenuto del gruppo tra graffe che segue \do, la macro \next ha come espansione l’elemento della lista.
• \cf@toksa=\expandafter{…}
Questo è il modo di assegnare un valore al registro token \cf@toksa; \expandafter serve per eseguire un’espansione prima dell’assegnazione effettiva.
Il resto è più difficile. Lettura consigliata, gli Appunti di programmazione in TeX e LaTeX di un noto autore. 🙂
Ciao
Enrico