Re: Comando con ciclo

#67324
OldClaudio
Partecipante
    Up
    0
    Down
    ::


    Il pacchetto ifthen (fa parte dei pacchetti essenziali) definisce il comando \whiledo con la sintassi \whiledo(espressione booleana}{cose da fare}; leggine la documentazione con texdoc ifthen cercando nella pagina 2)

    Il pacchetto etoolbox definisce invece una macro \whielboolexpression che ha la sintassi \whileboolexprassion{espressione booleana}{cose da fare}
    Tutto sommato molto simile al caso precedente. Però l’espressione booleana ha una forma diversa e forse permette una maggiore versatilità.

    Il cuore di LaTeX contiene invece il comando \@wilenum verifica numerica\do{cose da fare}; mi pare decisamente più comodo solo che c’è di mezzo il carattere @ che non è valido se non nei file di classe e nei moduli di estensione; aggiri il problema in questo modo`\newcommand\wilenum[2]{\csname @whilenum#1\endcsname\do{#2}}` In modo che la sintassi del tuo nuovo comando diventa \whilenum{verificanumerica}{cose da fare}.

    In tutti i casi (esemplificherò solo con l’ultimo) devi procedere con questo codice`\documentclass[…]{…]

    \newcount \MYcontat
    \newcommand\whilenum[1]{\unless\ifnum \MYcontat>#1}{\includegraphics[…]{\expandafter c\the\MYcontat}\advance\MYcontat by 1}

    \begin{document}

    \MYcontat=1
    \whilenum{24}

    \end{document}`

    Ovviamante questo è solo un esempio che va adattato alle circostanze; Supponi infatti di avere figure che si chimano c1, c2, c3, …,c24; d1, d2, d3,…,d15; e1, e2, e3, e4; e vie di questo passo; La lettera iniziale di numeri è diversa a secodna dei gruppi, quinaid devi prevedere nell’uso di \whilenum delle cose in più in modo da poter adattare la definizione di whilenum in modo che consenta un maggior numero di parametri; per esempio`\newcommand\whilenum[2]{\unless\ifnum\MYcontat>1}{\includegraphics[…]{\expandafter#2\the\MYcontat}\advance \Mycontat by 1}}`
    In sostanza aggiusta le tue definizione a qual che ti pare.

    Go to top