\relax

  • Creatore
    Topic
  • #39809
    ernded
    Partecipante
      Up
      0
      Down
      ::


      La primitiva di TeX \relax è usata abbastanza spesso. Sui manuali c’è scritto che… non fa niente. Mi chiedo allora quando è necessario dire a LaTeX di non fare niente. Mi viene in mente il comando ` \ifthenelse{condizione}{faiquesto}{\relax}`
      oppure…..

    Visualizzazione 0 filoni di risposte
    • Autore
      Risposte
      • #39810
        Up
        0
        Down
        ::

        La primitiva di TeX \relax è usata abbastanza spesso. Sui manuali c’è scritto che… non fa niente. Mi chiedo allora quando è necessario dire a LaTeX di non fare niente. Mi viene in mente il comando ` \ifthenelse{condizione}{faiquesto}{\relax}`
        oppure…..

        Qui è inutile. In certe situazioni però è molto importante perché, essendo non espandibile, può fermare espansioni che potrebbero andare oltre il desiderato.

        Supponiamo di avere una macro in cui compaia \ifcase\pippo, dove \pippo è una macro la cui espansione è un numero; le regole di TeX dicono che \ifcase provoca l’espansione di tutto ciò che segue fino a che vengono trovati token che possono essere interpretati come cifre.

        Per ovviare al problema di espansioni premature di ciò che appare in in
        `\ifcase\pippo
        \or

        \fi`
        è conveniente mettere \relax dopo \pippo.

        Ma è roba TeXnica. Con le interfacce di LaTeX (per esempio \ifthen), \relax è inutile.

        Ciao
        Enrico

    Visualizzazione 0 filoni di risposte
    • Devi essere connesso per rispondere a questo topic.

    Go to top