Comportamento del comando \num di siunitx

  • Creatore
    Topic
  • #46814
    Up
    0
    Down
    ::


    Ciao a tutti.
    Com’è noto, il comando \num del pacchetto siunitx serve a stampare correttamente i numeri, inserendo automaticamente la spaziatura sottile ogni tre cifre. Non è l’unico modo per farlo (c’è anche \numprint del pacchetto omonimo, per esempio).

    Scorrendo la documentazione dei due pacchetti, mi sembra di aver capito che nel caso lo stile del proprio documento preveda numeri ascendenti e discendenti \numprint va usato così per averli stampati nel font corrente

    `\numprint{3500000}`

    e così per averli stampati in modo matematico

    `$\numprint{3500000}$`

    Quello che non riesco a capire, invece, riguarda \num. siunitx prevede le opzioni [mode=math] e [mode=text].

    1. Queste opzioni vanno date al pacchetto o, come credo al comando?

    2. Ho notato che anche senza alcuna opzione \num stampa i numeri scritti nel suo argomento sempre in modo matematico, anche caricando un pacchetto come mathpazo o kpfonts con le opzioni per avere i numeri in “vecchio stile”.

    È vero, oppure se si vogliono i numeri in modo matematico bisogna comuque scrivere

    `\num[mode=math]{3500000}`

    ?

    Ciao
    Tommaso

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


      Ho risolto anche questo problema 😀

      Dopo numerose prove, sono giunto alla conclusione che i numeri inseriti nel comando \num del pacchetto siunitx vengono sempre stampati maiuscoli.

      Ciao
      Tommaso

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

        Dopo numerose prove, sono giunto alla conclusione che i numeri inseriti nel comando \num del pacchetto siunitx vengono sempre stampati maiuscoli.

        Non proprio. I numeri stampati con \num vengono (sempre) maiuscoli, se è specificata l’opzione mode=math.

        \numprint, come sai, si comporta in modo diverso: stampa i numeri correttamente spaziati nel modo (testuale o matematico) attivo nel documento.
        `\documentclass{scrreprt}
        \usepackage[italian]{babel}
        \usepackage[osf]{mathpazo}
        \usepackage[mode=math]{siunitx}
        \usepackage{numprint}

        \begin{document}

        1500000 \\
        \numprint{1500000} \\
        $\numprint{1500000}$

        \num{1500000} \\
        $\num{1500000}$

        \num[mode=text]{1500000} \\
        $\num[mode=text]{1500000}$

        \end{document}`
        Problema. L’opzione mode=math è predefinita in siunitx? Mi pare di sì, ma vorrei esserne certo.

        Ciao,
        L.

      • #46817
        Up
        0
        Down
        ::

        Dopo numerose prove, sono giunto alla conclusione che i numeri inseriti nel comando \num del pacchetto siunitx vengono sempre stampati maiuscoli.

        Non proprio. I numeri stampati con \num vengono (sempre) maiuscoli, se è specificata l’opzione mode=math.

        \numprint, come sai, si comporta in modo diverso: stampa i numeri correttamente spaziati nel modo (testuale o matematico) attivo nel documento.
        `\documentclass{scrreprt}
        \usepackage[italian]{babel}
        \usepackage[osf]{mathpazo}
        \usepackage[mode=math]{siunitx}
        \usepackage{numprint}

        \begin{document}

        1500000 \\
        \numprint{1500000} \\
        $\numprint{1500000}$

        \num{1500000} \\
        $\num{1500000}$

        \num[mode=text]{1500000} \\
        $\num[mode=text]{1500000}$

        \end{document}`
        Problema. L’opzione mode=math è predefinita in siunitx? Mi pare di sì, ma vorrei esserne certo.

        Ciao,
        L.

        Questo documento dovrebbe togliere tutti i dubbi. Il comando \num rispetta sempre l’opzione mode attiva.
        `\documentclass[a4paper]{article}
        \usepackage[osf]{mathpazo}
        \usepackage{siunitx}

        \begin{document}

        \num{1234567890}

        \num[mode=text]{1234567890}

        \sisetup{mode=text}

        \num{1234567890}

        $\num{1234567890}$

        \end{document}`
        Nota: versione 1 o 2 si comportano allo stesso modo.

        Ciao
        Enrico

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

    Go to top