allineamento formule

  • Creatore
    Topic
  • #111579
    Up
    0
    Down
    ::


    Buonasera, avrei bisogno di un codice che mi allinei le formule come nell’allegato.

    il codice è il seguente:
    `M_{1}=0\,\,\,Nmm \qquad
    M_{2}=4.13\cdot 10^6\,\,\,Nmm \qquad
    M_{3}=8.25\cdot 10^6\,\,\,Nmm \qquad
    M_{4}=1.11\cdot 10^7\,\,\,Nmm \qquad
    M_{5}=1.11\cdot 10^7\,\,\,Nmm \qquad
    M_{6}=1.11\cdot 10^7\,\,\,Nmm \qquad
    M_{7}=1.11\cdot 10^7\,\,\,Nmm \qquad
    M_{8}=1.11\cdot 10^7\,\,\,Nmm`

    Attachments:
    You must be logged in to view attached files.
Visualizzazione 2 filoni di risposte
  • Autore
    Risposte
    • #111580
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Una normale tabella di due righe e 4 colonne.

        Non scrivere le unità di misura in corsivo, ma usa il comandi del pacchetto siunitx che ti permette di evitare quella terna di \,\,\, in ogni indicazione metrica, oltre a metterti le unità di misura in tondo, come prescrivono le norme/
        Documentazione: terminale –> comando texdoc siunitx –> esecuzione del comando premendo il tasto INVIO.

      • #111581
        Up
        0
        Down
        ::


        Ecco un’elaborazione sulla risposta data da @OldClaudio:
        `
        % My standard header for TeX.SX answers:
        \documentclass[a4paper]{article} % To avoid confusion, let us explicitly
        % declare the paper format.

        \usepackage[T1]{fontenc} % Not always necessary, but recommended.
        % End of standard header. What follows pertains to the problem at hand.

        \usepackage[italian]{babel}
        \usepackage{amsmath}
        \usepackage{siunitx}
        \usepackage{xparse} % per “\NewDocumentCommand” e compagnia

        % Per evitare ripetizioni:
        \NewDocumentCommand \miagrand { m o }
        {%
        \IfNoValueTF {#2}{%
        \SI{#1}{\newton\metre}%
        }{%
        \SI{#1e#2}{\newton\metre}%
        }%
        }

        \begin{document}

        Testo che precede le formule. Ne metto solo tre per riga perch\'{e} quattro
        non ci stanno nella giustezza preimpostata dalla classe \texttt{article}.
        %
        \begin{flalign*}
        M_{1} &= \miagrand{0} &
        M_{2} &= \miagrand{4.13}[6] &
        M_{3} &= \miagrand{8.25}[6] \\
        M_{4} &= \miagrand{1.11}[7] &
        M_{5} &= \miagrand{1.11}[7] &
        M_{6} &= \miagrand{1.11}[7] \\
        M_{7} &= \miagrand{1.11}[7] &
        M_{8} &= \miagrand{1.11}[7] &
        M_{9} &= \miagrand{1.2345}[12]
        \end{flalign*}
        %
        Testo che segue le formule.

        \end{document}
        `

        Questa (con [tt]\newton[/tt] e [tt]\metre[/tt]) è la sintassi che io preferisco e raccomando; si può però usare anche una notazione più leggera:
        `
        % My standard header for TeX.SX answers:
        \documentclass[a4paper]{article} % To avoid confusion, let us explicitly
        % declare the paper format.

        \usepackage[T1]{fontenc} % Not always necessary, but recommended.
        % End of standard header. What follows pertains to the problem at hand.

        \usepackage[italian]{babel}
        \usepackage{amsmath}
        \usepackage{siunitx}
        \usepackage{xparse} % per “\NewDocumentCommand” e compagnia

        % Per evitare ripetizioni:
        \NewDocumentCommand \miagrand { m o }
        {%
        \IfNoValueTF {#2}{%
        \SI{#1}{N.m}%
        }{%
        \SI{#1e#2}{N.m}%
        }%
        }

        \begin{document}

        Testo che precede le formule. Ne metto solo tre per riga perch\'{e} quattro
        non ci stanno nella giustezza preimpostata dalla classe \texttt{article}.
        %
        \begin{flalign*}
        M_{1} &= \miagrand{0} &
        M_{2} &= \miagrand{4.13}[6] &
        M_{3} &= \miagrand{8.25}[6] \\
        M_{4} &= \miagrand{1.11}[7] &
        M_{5} &= \miagrand{1.11}[7] &
        M_{6} &= \miagrand{1.11}[7] \\
        M_{7} &= \miagrand{1.11}[7] &
        M_{8} &= \miagrand{1.11}[7] &
        M_{9} &= \miagrand{1.2345}[12]
        \end{flalign*}
        %
        Testo che segue le formule.

        \end{document}
        `

        Chi, come me, ha ormai i capelli bianchi ha vissuto l’era durante la quale caricare un pacchetto, pure pesante come siunitx, per usare un solo suo comando un paio di volte poteva apparire uno spreco, e può ancora subire l’influsso di questa antica sensazione. Per questo, mostro anche come è possibile cavarsela senza usare tale pacchetto, ma usando invece una costruzione ad hoc. Coerentemente, evito anche di caricare xparse e utilizzo soltanto i costrutti per definire i nuovi comandi previsti dal LaTeX2e, il che mi induce a spostare l’argomento opzionale del comando [tt]\miagrand[/tt] al primo posto, per amor di semplicità.
        `
        % My standard header for TeX.SX answers:
        \documentclass[a4paper]{article} % To avoid confusion, let us explicitly
        % declare the paper format.

        \usepackage[T1]{fontenc} % Not always necessary, but recommended.
        % End of standard header. What follows pertains to the problem at hand.

        \usepackage[italian]{babel}
        \usepackage{amsmath}

        % Per evitare ripetizioni:
        \newcommand*{\miagrand}[2][]{%
        #2%
        \if\relax\detokenize{#1}\relax % if #1 is empty
        \else
        \times 10^{#1}%
        \fi
        \mathrm{\,N\,m}%
        }

        \begin{document}

        Testo che precede le formule. Ne metto solo tre per riga perch\'{e} quattro
        non ci stanno nella giustezza preimpostata dalla classe \texttt{article}.
        %
        \begin{flalign*}
        M_{1} &= \miagrand{0} &
        M_{2} &= \miagrand[6]{4.13} &
        M_{3} &= \miagrand[6]{8.25} \\
        M_{4} &= \miagrand[7]{1.11} &
        M_{5} &= \miagrand[7]{1.11} &
        M_{6} &= \miagrand[7]{1.11} \\
        M_{7} &= \miagrand[7]{1.11} &
        M_{8} &= \miagrand[7]{1.11} &
        M_{9} &= \miagrand[12]{1.2345}
        \end{flalign*}
        %
        Testo che segue le formule.

        \end{document}
        `
        Ovviamente, l’uso del pacchetto siunitx rimane caldamente raccomandato per documenti nei quali le unità di misura compaiano in modo appena più che occasionale, o la natura dei quali non permetta di correre alcun rischio di errore circa il rispetto delle norme tipografiche.

        Naturalmente, è anche possibile generare automaticamente i primi membri delle uguaglianze, utilizzando un contatore…

        Ciao.


        Gustavo

      • #111582
        Up
        0
        Down
        ::


        Distratto come sono, ho completamente dimenticato di considerare il problema del separatore delle cifre decimali, che in italiano deve essere la virgola e non il punto. Se si usa siunitx, tutto quello che c’è da fare è aggiungere la seguente riga di codice
        `
        \sisetup{output-decimal-marker={,}}
        `
        nel preambolo; ecco l’esempio completo modificato:
        `
        % My standard header for TeX.SX answers:
        \documentclass[a4paper]{article} % To avoid confusion, let us explicitly
        % declare the paper format.

        \usepackage[T1]{fontenc} % Not always necessary, but recommended.
        % End of standard header. What follows pertains to the problem at hand.

        \usepackage[italian]{babel}
        \usepackage{amsmath}
        \usepackage{siunitx}
        \usepackage{xparse} % per “\NewDocumentCommand” e compagnia

        \sisetup{output-decimal-marker={,}}

        % Per evitare ripetizioni:
        \NewDocumentCommand \miagrand { m o }
        {%
        \IfNoValueTF {#2}{%
        \SI{#1}{\newton\metre}%
        }{%
        \SI{#1e#2}{\newton\metre}%
        }%
        }

        \begin{document}

        Testo che precede le formule. Ne metto solo tre per riga perch\'{e} quattro
        non ci stanno nella giustezza preimpostata dalla classe \texttt{article}.
        %
        \begin{flalign*}
        M_{1} &= \miagrand{0} &
        M_{2} &= \miagrand{4.13}[6] &
        M_{3} &= \miagrand{8.25}[6] \\
        M_{4} &= \miagrand{1.11}[7] &
        M_{5} &= \miagrand{1.11}[7] &
        M_{6} &= \miagrand{1.11}[7] \\
        M_{7} &= \miagrand{1.11}[7] &
        M_{8} &= \miagrand{1.11}[7] &
        M_{9} &= \miagrand{1.2345}[12]
        \end{flalign*}
        %
        Testo che segue le formule.

        \end{document}
        `
        Se non si usa siunitx, si potrebbe pensare di cambiare localmente il [tt]\mathcode[/tt] del carattere [tt],[/tt], ma già questa diventa una modifica antipatica da fare “a mano”: ecco un motivo in più per usare sempre siunitx! 🙂

        Ciao.


        Gustavo

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

    Go to top