Risposte nei forum create
-
AutoreRisposte
-
18 Febbraio 2012 alle 10:01 in risposta a: Ripetizione di una parte di testo (abstract o simile) #70115::
Non 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
::
Ho provato la tua soluzione e funziona correttamente con un diverso numero di argomenti.Un ultimo dubbio:
Nel caso avessi delle continued fractions all’interno di una continued fraction il tuo comando mi crea un errore che dice che
! TeX capacity exceeded, sorry [input stack size=5000].
Mi riferisco ad un comando del tipo
\contfrac{1, 2, \contfrac{3, 4}}
in cui la macro è all’interno di un’altra macro. E’ possibile superare questo errore con una piccola modifica alla tua soluzione?
Grazie.
-
AutoreRisposte