Re: Definire un condizionale come alias di un altro

#90748
Up
0
Down
::


Ciao Claudio, grazie della risposta.

OldClaudio” post=90299Mmmm

Non vedo la necessità di definire degli alias, specialmente perché ogni definizione di condizionale [tt]\newif\ifpippo[/tt] definisce in realtà tre control sequence [tt]\ifpippo, \pippotrue, \pippofalse[/tt] quindi i condizionali sono particolarmente fragili se non li manipoli correttamente.

Sì, son d’accordo con te: infatti poi ho risolto diversamente. Però la curiosità mi è rimasta. 🙂

OldClaudio” post=90299È vero i condizionali vengono gestiti nella bocca (o negli occhi?) e i rami falsi vengono eliminati subito, in modo che eliminato input tokens direttamente all’origine; così dice il TeXbook in modo molto più elaborato.

Il fatto è che mi sembra di aver già visto definizioni di condizionali in quel modo, ne ho ritrovato uno sul TeXByTopic all’inizio del paragrafo 13.8.7 (pagina 149):
`\def\ifEqString#1#2%
{\def\csa{#1}\def\csb{#2}\ifx\csa\csb }`
Poco dopo lo ridefinisce ma perché “dal momento che usa [tt]\def[/tt], non è espandibile” (e non perché può creare problemi se annidato in un condizionale falso).

OldClaudio” post=90299Invece di definire alias di condizionali, io ho trovato molto comodo gestire e testare l’esistenza di certi condizionali mediante i test definiti da etoolbox, in particolare quelli che fanno rifermento non alla macro ma al nome della macro( in sostanza non a \ifpippo, ma a ifpippo) le cose si gestiscono molto meglio e i comandi sono robusti, molto più robusti di quelli che si hanno con il pacchetto ifthen (ammesso che esista un grado di robustezza; in realtà un comando o è robusto o non lo è; ma è incerto sapere quando si rompe e quando rimane integro. Le regole ci sono, evidentemente, ma le circostanze le oscurano spesso e volentieri).

Ti riferisci a [tt]\ifbool[/tt] e simili? La sintassi di ifthen non mi è mai piaciuta, quella di etoolbox sembra simile. Se posso evito i condizionali con graffe, che poi possono richiedere anche di metterci i [tt]%[/tt]… Trovo molto più elegante e leggibile la sintassi nativa di TeX.

Go to top