SIunitx – Tabelle con numeri complessi

  • Creatore
    Topic
  • #86022
    Up
    0
    Down
    ::


    Buongiorno a tutto il forum,

    riscontro un problema di formattazione di tabelle con SIunitx che contengono numeri reali/complessi. Per prima cosa noto eccessivi spazi tra le varie colonne della tabella quando si usa la notazione + j e poi noto un disallineamento tra gli elementi della stessa colonna quando essi son ad esempio numeri puramente reali o puramente immaginari.
    Per i numeri reali il problema dell’eccessivo spazio tra colonne si risolve con
    `
    \begin{tabular}%
    {S[table-format=3.1]%
    S[table-format=1.6]}
    \toprule
    {$P$} & {$u$} \\
    {(kg)} & {(m)} \\
    \midrule
    269.8 & 0.000674 \\
    421.0 & 0.001035 \\
    640.2 & 0.001565 \\
    \bottomrule
    \end{tabular}
    `
    come viene spiegato nella guida di Pantieri, tuttavia questi comandi sembrano non funzionare quando si hanno combinazioni di numeri reali, puramente immaginari o complessi in genere.

    Risultano anche a voi questa tipologia di errori?

    Vi ringrazio in anticipo per qualisiasi consiglio/aiuto.

    Cordialmente

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

      tornio” post=85483Buongiorno a tutto il forum,

      riscontro un problema di formattazione di tabelle con SIunitx che contengono numeri reali/complessi. Per prima cosa noto eccessivi spazi tra le varie colonne della tabella quando si usa la notazione + j e poi noto un disallineamento tra gli elementi della stessa colonna quando essi son ad esempio numeri puramente reali o puramente immaginari.
      Per i numeri reali il problema dell’eccessivo spazio tra colonne si risolve con
      `
      \begin{tabular}%
      {S[table-format=3.1]%
      S[table-format=1.6]}
      \toprule
      {$P$} & {$u$} \\
      {(kg)} & {(m)} \\
      \midrule
      269.8 & 0.000674 \\
      421.0 & 0.001035 \\
      640.2 & 0.001565 \\
      \bottomrule
      \end{tabular}
      `
      come viene spiegato nella guida di Pantieri, tuttavia questi comandi sembrano non funzionare quando si hanno combinazioni di numeri reali, puramente immaginari o complessi in genere.

      Risultano anche a voi questa tipologia di errori?

      Vi ringrazio in anticipo per qualisiasi consiglio/aiuto.

      Cordialmente

      Non vedo numeri complessi nell’esempio.

      Ciao
      Enrico

    • #86024
      Up
      0
      Down
      ::


      Naturalmente nell’esempio non ci sono in quanto, come ho scritto, era un riporto della guida del Pantieri dove si spiega come risolvere il problema del distanziamentro tra colonne con il pacchetto SIunitx. Come ho fatto presente, questa soluzione pare non funzionare se si inseriscono numeri complessi.

    • #86025
      Up
      0
      Down
      ::

      tornio” post=85486Naturalmente nell’esempio non ci sono in quanto, come ho scritto, era un riporto della guida del Pantieri dove si spiega come risolvere il problema del distanziamentro tra colonne con il pacchetto SIunitx. Come ho fatto presente, questa soluzione pare non funzionare se si inseriscono numeri complessi.

      Speriamo di non aver mai bisogno di farci un riporto con gli stralci dell’Arte. Staremmo malissimo! 😀

      Vorresti far vedere un esempio minimo che riproduce il tuo problema?

      Ciao
      Tommaso

    • #86026
      Up
      0
      Down
      ::


      Naturalmente! Ecco un esempio:
      `
      \begin{tabular}{SSSSS}
      \toprule
      {$k$} & {$s$} & {$a$} & {$b$} & {$c$} \\
      \midrule
      2 & 10.5178 + 2i & 0 & -2.7431i & +2.7431i \\
      1 & 0 & -0.9211 & -0.7401 -0.001i & -0.7401 \\
      0 & 0.1279 + 0.054i & 0 & 0.0537i & -0.0537i\\
      \bottomrule
      \end{tabular}
      `

      Si puo’ notare facilmente il disallineamento della colonna “c” e l’eccessivo spazio tra la prima e la seconda colonna.
      Se si utilizza l’opzione [table-format=.] si ha che la tabella include solo la parte reale del numero.

    • #86027
      Liverpool
      Partecipante
        Up
        0
        Down
        ::


        Ovviamente le colonne S non sono pensate per i numeri complessi (che nella forma rettangolare possono essere visti più che altro come espressioni letterali), di qui il problema. Una possibile soluzione (che ti darà comunque dei badbox) è di giocare manualmente con il formato delle colonne, assegnando alla parte decimale di una colonna solo i decimali della parte reale ed alla parte intera della successiva tutto ciò che segue. Va detto che i segni della parte immaginaria e l’unità immaginaria, non essendo numeri, vanno racchiusi tra parentesi graffe, come spiegato nell’Arte. Nell’esempio che ti propongo, forse sarebbe più corretto scrivere [tt]{$\mathrm{i}$}[/tt] al posto di [tt]{i}[/tt], ma non l’ho fatto per brevità (e non sono sicuro che ci sia una differenza).
        `\documentclass{standalone}
        \usepackage{siunitx}
        \usepackage{booktabs}
        \begin{document}
        \begin{tabular}{S%
        S[table-format=2.4]%
        S[table-format=8.4]%
        S[table-format=2.4]%
        S[table-format=8.4]}
        \toprule
        {$k$} & {$s$} & {$a$} & {$b$} & {$c$} \\
        \midrule
        2 & 10.5178 {$+$} 2{i} & 0 & -2.7431{i} & +2.7431{i} \\
        1 & 0 & -0.9211 & -0.7401 {$-$} 0.001{i} & -0.7401 \\
        0 & 0.1279 {$+$} 0.054{i} & 0 & 0.0537{i} & -0.0537{i} \\
        \bottomrule
        \end{tabular}
        \end{document}`

        [attachment=712]prova_2013-05-25.png[/attachment]

        P.S. Non capisco l’utilità di incolonnare alla virgola quando i numeri non sono dello stesso tipo (vedi colonna c).

        Attachments:
        You must be logged in to view attached files.
      • #86028
        Up
        0
        Down
        ::


        Ringrazio per l’interessante risposta.
        A questo punto pare lecito chiedersi se sia opportuno perseverare sull’utilizzo del pacchetto SIunitx per stampare colonne con numeri complessi, oppure se sia invece meglio utilizzare l’ambiente array (che però da problemi di spaziatura tra la didascalia e la tabella)

      • #86029
        Up
        0
        Down
        ::


        Forse è meglio scrivere qualcosa del genere:
        `
        \begin{table}[htb]
        \caption{tabella di prova}
        \[
        \begin{array}{cc}
        \toprule
        f(x) & g(x) \\
        \midrule
        0.325 & 1.41 + \jmath 6.98 \\
        5 + \jmath 0.9 & \tan x \\
        0 & \jmath 7.9876 \\
        \bottomrule
        \end{array}
        \]
        \end{table}
        `

      • #86030
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Perché \jmath? cioè una i-lunga corsiva senza puntino?

          Le norme ISO consentono l’uso sia di i sia di j, entrambe con il puntino, ma le vuole in tondo, NON in corsivo matematico.

        • #86031
          Up
          0
          Down
          ::

          Le norme ISO consentono l’uso sia di i sia di j, entrambe con il puntino, ma le vuole in tondo, NON in corsivo matematico.

          Ringrazio per il consiglio, pensavo si dovesse usare `\jmath` nelle formule matematiche.

        • #86032
          Liverpool
          Partecipante
            Up
            0
            Down
            ::


            Perché non allineare tutto al segno della parte immaginaria, con le parti reali allineate a destra e quelle immaginarie a sinistra? Qui c’è un esempio.

            Ciao

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

        Go to top