Significato comandi in ambiente matematico

  • Questo topic ha 3 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 19 anni, 6 mesi fa da DMW.
  • Creatore
    Topic
  • #13714
    DMW
      Up
      0
      Down
      ::


      Salve ancora,

      Vorrei sapere cosa fanno i seguenti comandi:
      1) \mathsurround
      2) \mathrel
      3) \cr
      4) \crcr
      5) \ialign
      6) \noalign

      ed infine questo, che ho trovato spesso

      7) \leaders

      Saluti

      Andrea

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

        Vorrei sapere cosa fanno i seguenti comandi:
        1) \mathsurround
        2) \mathrel
        3) \cr
        4) \crcr
        5) \ialign
        6) \noalign

        ed infine questo, che ho trovato spesso

        7) \leaders

        1) \mathsurround è un parametro dimensionale che dice quanto spazio supplementare TeX deve aggiungere a sinistra e a destra di ogni formula in corpo ($…$). Alcuni stili tipografici vogliono infatti che le formule siano leggermente più spaziate rispetto alle parole. Normalmente \mathsurround è 0pt.

        Legato a \mathsurround c’è il comando interno \m@th: quando si usa il modo matematico per fare qualche costruzione che altrimenti sarebbe più complicata (ce ne sono parecchie in plain.tex, cerca \m@th e lo scopri), si inserisce questo comando per annullare l’eventuale \mathsurround positivo:
        `\def\dots{\relax\ifmmode\ldots\else$\m@th\ldots\,$\fi}`
        \m@th equivale a \mathsurround=0pt; occorre sapere che il valore usato è quello valido alla fine della formula; il valore globale non cambia perché $…$ costituisce un gruppo.

        2) \mathrel ha un argomento; questo, considerato come semplice simbolo, verrà spaziato dal resto usando le regole per i simboli di relazione. Per esempio, il modo corretto di scrivere “a R b” che si usa nei libri di matematica è $a\mathrel{R} b$.

        3) \cr è il comando primitivo che dice a TeX che finisce la riga di un allineamento; si può usare solo dentro un \halign (o un \valign, ma qui andiamo troppo nell’esoterico)

        4) \crcr è un comando primitivo che dice a TeX: se c’è appena stato un \cr, ignorami, altrimenti fa’ finta che io sia \cr

        5) \ialign è basato su \halign: dice di costruire un \halign in cui però il \tabskip iniziale sia nullo e il parametro \everycr sia vuoto

        6) \noalign: serve per inserire materiale fra le righe di un allineamento. Su \noalign è basato, per esempio, \hline di LaTeX

        7) \leaders: è il comando che permette di stampare i puntini di guida nell’indice. La sintassi è \leaders, dove sta a indicare una \hbox, una \vbox, una \vtop oppure una \hrule oppure una \vrule. Esempio:
        `\def\hrulefill{\leaders\hrule\hfill}
        \def\dotfill{\cleaders\hbox{$\m@th \mkern1.5mu.\mkern1.5mu$}\hfill}`
        Il primo riempie uno spazio orizzontale con una linea, prova con
        `\hbox to \hsize{Due \hrulefill\ parole}`
        Il secondo usa \cleaders: la \hbox viene ripetuta fino a riempire lo spazio richiesto, lasciando spazi bianchi uguali all’inizio e alla fine. Invece \leaders allinea le \hbox ripetute a una “griglia invisibile”: negli indici si deve usare \leaders e non \cleaders. Esempi:
        `\catcode`@=11
        \def\mydot{\hbox{$\m@th \mkern1.5mu.\mkern1.5mu$}}
        \catcode`@=12
        \hbox to \hsize{AAA \leaders\mydot\hfill\ AAA}
        \hbox to \hsize{AAAAA \leaders\mydot\hfill\ AAAAA}
        \hbox to \hsize{AAAAA \cleaders\mydot\hfill\ AAAAA}`
        Nelle prime due i puntini sono allineati verticalmente fra di loro, nella terza no.

        Dunque, per scrivere una fila di puntini per indicare uno spazio da riempire in un modulo, si usa \dotfill che è basato su \cleaders (non ci sono allineamenti verticali da rispettare); una macro per i puntini guida nell’indice deve usare \leaders.

        A dire il vero si può usare \leaders anche in modo verticale e ci sarebbe pure \xleaders, ma direi che può bastare.

        Però puoi provare a vedere che succede con questo codice
        `\hbox to 2.5in{\cleaders\vbox to .5in{\cleaders\hbox{\TeX}\vfil}\hfil}`
        Non è carino? (Dal TeXbook, naturalmente.)

        Ciao
        Enrico

      • #13716
        lorenzo.pantieri
        Partecipante
          Up
          0
          Down
          ::

          Il modo corretto di scrivere “a R b” che si usa nei libri di matematica è $a\mathrel{R} b$.

          Buono a sapersi! 😀

          Grazie,
          L.

        • #13717
          DMW
            Up
            0
            Down
            ::


            Enrico,

            grazie tante, come al solito sei stato molto chiaro.

            Ciao

            Andrea

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

        Go to top