scrivere formula

  • Questo topic ha 11 risposte, 5 partecipanti ed è stato aggiornato l'ultima volta 12 anni fa da egreg9.
  • Creatore
    Topic
  • #96233
    Up
    0
    Down
    ::


    salve ragazzi, non sono molto pratico di latex e sto cercando un modo di scrivere la formula riportata in figura in latex. ho provato a scriverla come frazione utilizzando \frac, ma il risultato non mi convence molto. Grazie a chi mi aiuterà
    [attachment=1075]guit.PNG[/attachment]

    Attachments:
    You must be logged in to view attached files.
Visualizzazione 10 filoni di risposte
  • Autore
    Risposte
    • #96234
      Up
      0
      Down
      ::

      leon_89″ post=95913salve ragazzi, non sono molto pratico di latex e sto cercando un modo di scrivere la formula riportata in figura in latex. ho provato a scriverla come frazione utilizzando \frac, ma il risultato non mi convence molto. Grazie a chi mi aiuterà
      [attachment=1075]guit.PNG[/attachment]

      Benvenuto!

      Ci mostreresti quello che hai ottenuto con un esempio minimo compilabile?
      La formula è molto semplice e dovresti trovare tutte le informazioni necessarie
      nelle guide disponibili. Alcune le trovi nella sezione “Documentazione” di questo sito.

      Ciao
      Ivan

    • #96235
      Up
      0
      Down
      ::


      allora scrivendo questo codice
      `

      \ensuremath{\frac{P \textbf{sat} S(\textit{tr})} {a \ensuremath{\rightarrow} P \textbf{sat} (\textit{tr} = \ensuremath{\langle}\ensuremath{\rangle} \lor (\textit{tr} = \ensuremath{\langle}a\ensuremath{\rangle} \ensuremath{\frown} \textit{tr'} \ensuremath{\land} S(\textit{tr'})))}}

      `

      il risultato ottenuto è:

      [attachment=1076]guit2.PNG[/attachment]

      più che altro vorrei sapere se c’è un altro modo di inserire la linea orizzontale oltre che con \fract. mi sono letto come guida l’arte di scrivere con latex e non ho trovato risposta. 🙁

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


        Per scrivere un equazione bisogna conoscerne il significato; siccome io non capisco nulla di quello che c’è scritto (non sono digiuno di matematica, anzi, ma non sono un matematico; i simboli che appaiono nelle formula mi sono del tutto ignoti).

        Dunque ti posso dire solo questo: se la volessi ricomporre io userei l’ambiente array specificandone un certo allargamento mediante il comando \arraystretch (guida tematica nella sezione Documentazione del forum Il LaTeX Reference Manual commentato e tradotto in italiano, pagina 93)

        Imposterei i descrittori di colonna entrambi l (L minuscola) e metterei un filetto orizzontale sotto al prima espressione.

        Starei molto attento a (non) usare il neretto per un operatore (sap ???) e starei attento all’operatore tr che va in tondo, non in corsivo, qualunque cosa tr voglia dire. Esistono delle regole cogenti per la matematica usata nelle scienze sperimentali; queste regole non sono generalmente osservate dai matematici puri, ma anche loro seguono delle regole. Trova i riferimenti per le norme ISO che regolano la faccenda per le scienze sperimentali e la tecnologia sia su L’Arte di scrivere con LaTeX sia nella Guida GuIT, entrambe scaricabili dalla sezione documentazione di questo sito.

        Se po Enrico, che è un matematico, ti può dare consigli migliori, seguili con attenzione.

      • #96237
        Up
        0
        Down
        ::

        leon_89″ post=95917allora scrivendo questo codice
        `

        \ensuremath{\frac{P \textbf{sat} S(\textit{tr})} {a \ensuremath{\rightarrow} P \textbf{sat} (\textit{tr} = \ensuremath{\langle}\ensuremath{\rangle} \lor (\textit{tr} = \ensuremath{\langle}a\ensuremath{\rangle} \ensuremath{\frown} \textit{tr'} \ensuremath{\land} S(\textit{tr'})))}}

        `

        il risultato ottenuto è:

        [attachment=1076]guit2.PNG[/attachment]

        più che altro vorrei sapere se c’è un altro modo di inserire la linea orizzontale oltre che con \fract. mi sono letto come guida l’arte di scrivere con latex e non ho trovato risposta. 🙁

        Non hai inviato un esempio minimo compilabile. Ma a parte questo la presenza massiccia di \ensuremath mi fa sospettare.
        Io sono ancor meno matematico di Claudio ma senza dubbio la formula che hai scritto tu è inutilmente complicata.
        In attesa di capire, come ha già detto Claudio, i significati dei simboli che usi, la formula si può semplificare in questo modo.
        sat è stato inteso come simbolo di relazione.
        `
        \documentclass{article}

        \usepackage{amsmath}

        \begin{document}

        Lorem ipsum:
        \begin{equation*}
        \frac{P \mathrel{sat} S(tr)} {a \rightarrow P \mathrel{sat} (tr = \langle\rangle \lor (tr = \langle a \rangle \frown tr' \land S(tr')))}
        \end{equation*}
        dolor sit amet

        \end{document}`
        “tr” è in attesa di ricevere una forma.
        Si potrebbe per esempio definire un nuovo operatore
        `\DeclareMathOperator{\tr}{tr}`
        Se lo vuoi semplicemente in tondo:
        `\text{tr}`
        Ma tutto dipende dal significato dei segni.

        Ciao
        Ivan

      • #96238
        Up
        0
        Down
        ::


        Per gli operatori matematici utilizza il comando [tt]\DeclareMathOperator[/tt] del pacchetto [tt]amsmath[/tt] in questo modo:
        `
        \usepackage{amsmath}

        \DeclareMathOperator{\sat}{sat}
        \DeclareMathOperator{\tr}{tr}
        `
        In tal modo saranno scritti in tondo e verrà posta la corretta spaziatura attorno.

        Per la formula, stai abusando del comando [tt]\ensuremath[/tt] troppo, a mio parere, è inutile metterli uno dentro l’altro. Io la scriverei così (seguendo anche i consigli posti da @OldClaudio).
        `
        \documentclass{article}

        \usepackage{amsmath,booktabs}
        \DeclareMathOperator{\sat}{sat}
        \DeclareMathOperator{\tr}{tr}

        \[
        \begin{array}{l}
        P \sat S(\tr) \\
        \midrule
        a \rightarrow P \sat (\tr = \langle\rangle \lor (\tr = \langle a\rangle \frown \tr' \land S(\tr')))
        \end{array}
        \]
        `
        Ho caricato anche il pacchetto [tt]booktabs[/tt] per usare il filetto orizzontale [tt]\midrule[/tt] 😀

      • #96239
        Up
        0
        Down
        ::

        leon_89″ post=95917allora scrivendo questo codice
        `

        \ensuremath{\frac{P \textbf{sat} S(\textit{tr})} {a \ensuremath{\rightarrow} P \textbf{sat} (\textit{tr} = \ensuremath{\langle}\ensuremath{\rangle} \lor (\textit{tr} = \ensuremath{\langle}a\ensuremath{\rangle} \ensuremath{\frown} \textit{tr'} \ensuremath{\land} S(\textit{tr'})))}}

        `

        il risultato ottenuto è:

        [attachment=1076]guit2.PNG[/attachment]

        più che altro vorrei sapere se c’è un altro modo di inserire la linea orizzontale oltre che con \fract. mi sono letto come guida l’arte di scrivere con latex e non ho trovato risposta. 🙁

        L’uso di tutti quei \ensuremath mi insospettisce. Cerchiamo innanzitutto di semplificare le cose. Se vuoi creare una formula fuori corpo ci sono diverse soluzioni. Una è questa:
        `
        \[
        \frac{P \mathrel{sat} S(tr)}{a \rightarrow P \mathrel{sat} (tr= \langle\rangle \lor (tr = \langle a\rangle\frown tr' \land S(tr')))}
        \]
        `
        Con questo codice ottieni qualcosa di molto simile all’immagine che hai postato. Per aver sat in grassetto basta racchiuderlo in \mathbf.
        Naturalmente questa non è una soluzione universale. Se per esempio usi spesso sat è meglio definirlo una volta per tutte. Ma come definirlo dipende dal significato che gli vuoi attribuire. Nell’esempio ho inteso sat come una relazione (soddisfacibilità?)

        Ciao
        Ivan

      • #96240
        Up
        0
        Down
        ::


        si Ivan, esatto è inteso come relazione di soddisfacibilità. Comunque grazie a tutti per l’aiuto. sono riuscito a risolvere il mio problema.

      • #96241
        Up
        0
        Down
        ::

        leon_89″ post=95933si Ivan, esatto è inteso come relazione di soddisfacibilità

        In questo caso lascerei \mathrel, con il formato di default, corsivo.
        Per quanto riguarda tr, invece, non dovrebbero esserci problemi.
        Mi pare che sia una variabile, non un operatore.

        Ciao
        Ivan

      • #96242
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Io non ho capito la formula, quindi dico delle cose generali.

          che sat sia on operatore di relazione chi lo capisco può confermarlo e @leon_89 l’ha confermato. Detto questo mi pare strano che non esista un simbolo già predisposto e sul quale convengano gli utenti di “soddisfa a”; Nessun altro operatore di relazione appare scritto in lettere nell’antologia genarla dei simboli di Scop Pakin (texdoc symbols)-a4); anzi quata antologia lo riporta come sinonimo di \models che a sua volta è sinonimo di \rightmodels; antologia dei simboli, pagina 33, tabella 76 (che comincia nella pagina 32, ma quel che ci interessa è nella pagina 33).

          tr non può essere una variabile; le variabili sono sì in corsivo ma sono fatte di una sola lettera con quante apposizioni si vuole, di solito le apposizione sono al priede, come dei deponenti e sono scritti in tondo.

          Gli informatici mi hanno coperto di contumelie quando ho scritto una frase del genere in un mio articolo sulla composizione della matematica; evidentemente non hanno l’abitudine di leggere di che cosa si sta parlando, perché è vero che essi usano parole alfanumeriche che chiamano varibaili per rappresentare simbolicamante dei registri della CPU e/o delle parole di memoria, ma quelle non sono variabili matematiche. In matematicha, che si parli di scienze sperimentali o di scienze esatte, la matematica richiede variabili rappresentate da una sola lettera latina o greca, inclinata, e composta con caratteri diversi (con o senza grazie, nere, o chiare, calligrafiche o semplicemnte corsive) con quante apposizioni si vuole, scritte in tedno se rappresentano delle “qualifiche” della variabile, e scritte in cordico se rappresentano quantità che pososno variare e a cui la varibaile è legata.

          Questo è quanto dice ogni manuale di tipografia che parli della composizione della matematica (di cui la logica mi par bene che sia una disciplina che nel forma il copro generale; mi esprimo male, ma come ho detto sono un vilis mechanicus) Le norme ISO impongono altre regole, ma non modificano di certo queste che ho appena detto. (per esempio, le norme ISO richiedono che le costanti matematiche come e, pi greca, gamma, e simili simboli) siano scritti in tondo, per distinguerli da simboli analoghi di cose misurabili, anche se fisicamente parlando sono o dovrebbero essere delle costanti della fisica).

          Tornando alla soddisfacibilità, il comando \satidfies è sininimo di \models che a sua volta è siniimo di rightmodels. Non so se @leon_89, usa sat in quel senso, perché come ho detto non capisco il significato della formula. Colpa mia che non la capisco, ma suggerirei di dare un’occhiata all’antologia dei simboli, prima di inventarne di nuovi.

        • #96243
          Up
          0
          Down
          ::


          Se ho almeno vagamente intuito di che si tratta, S(tr) è inteso come una proprietà che il processo P soddisfa . tr sta per trace, ovvero una particolare sequenza di eventi relativamente a un processo P. Una definizione si trova Qui (p. 64)
          È vero che tr non è un’unica lettera, ma pare proprio che in questo contesto venga trattato come una variabile.
          Siamo nel campo della “sicurezza informatica” 😉

          Ciao
          Ivan

        • #96244
          Up
          0
          Down
          ::

          leon_89″ post=95917allora scrivendo questo codice
          `

          \ensuremath{\frac{P \textbf{sat} S(\textit{tr})} {a \ensuremath{\rightarrow} P \textbf{sat} (\textit{tr} = \ensuremath{\langle}\ensuremath{\rangle} \lor (\textit{tr} = \ensuremath{\langle}a\ensuremath{\rangle} \ensuremath{\frown} \textit{tr'} \ensuremath{\land} S(\textit{tr'})))}}

          `

          il risultato ottenuto è:

          [attachment=1076]guit2.PNG[/attachment]

          più che altro vorrei sapere se c’è un altro modo di inserire la linea orizzontale oltre che con \fract. mi sono letto come guida l’arte di scrivere con latex e non ho trovato risposta. 🙁

          Se LaTeX davvero costringesse a scrivere centinaia di [tt]\ensuremath[/tt] nessuno lo userebbe.

          Usa una tabella in modo matematico; per evitare lungaggini, definisciti comandi per costruzioni di uso frequente:
          `
          \documentclass[a4paper]{article}
          \usepackage{amsmath,booktabs}

          \newcommand{\sat}{\mathrel{\mathbf{sat}}}
          \newcommand{\tie}{\mathbin{^{\frown}}}

          \begin{document}

          \[
          \begin{array}{l}
          P \sat S(\mathit{tr}) \\
          \midrule
          a \rightarrow P \sat (\mathit{tr} = \langle\rangle \lor (\mathit{tr} = \langle a\rangle
          \tie \mathit{tr}' \land S(\mathit{tr}')))
          \end{array}
          \]

          \end{document}
          `

          [attachment=1078]sat.jpg[/attachment]

          Ciao
          Enrico

          Attachments:
          You must be logged in to view attached files.
      Visualizzazione 10 filoni di risposte
      • Devi essere connesso per rispondere a questo topic.

      Go to top