Formule con allineamenti particolari

  • Creatore
    Topic
  • #16497
    Up
    0
    Down
    ::


    Sto scrivendo un’equazione. Vi allego il codice

    `
    \newcommand{\mib}{\boldsymbol}
    \newcommand{\dsfrac}[2]{{\displaystyle\frac{#1}{#2}}}
    \newcommand{\Vb}{{\mib V}}
    \newcommand{\Ub}{{\mib U}}
    \newcommand{\vb}{{\mib v}}
    \newcommand{\zerob}{{\mib 0}}
    \newcommand{\Rb}{{\mib R}}

    \begin{equation}
    \begin{array}{r}
    \forall t \in (0,T] \quad \mathrm{trovare} \quad
    (\stackrel{\circ}{\Ub}\!\!(t),P(t)) \in \Vb_\zerob \times Q \,
    :\\[4mm]
    \left\{ \begin{array}{rl} \dsfrac{d}{dt}(\rho
    \stackrel{\circ}{\Ub}\!\!(t),\vb)+c^{\rho}(\stackrel{\circ}{\Ub}\!\!(t),\stackrel{\circ}{\Ub}\!\!(t),\vb)+c^{\rho}(\stackrel{\circ}{\Ub}\!\!(t),\Rb_{\Ub_D},\vb)\\[4mm]
    +c^{\rho}(\Rb_{\Ub_D},\stackrel{\circ}{\Ub}\!\!(t),\vb)+\dsfrac{1}{\mathrm{Re}}a^{\mu}(\stackrel{\circ}{\Ub}\!\!(t),\vb)+b(\vb,P(t))\\[4mm]
    = \mathrm{G}\mathcal{F}^{\rho}(\vb)+\mathcal{F}^{R_1}(\vb) & \forall \vb \in \Vb_\zerob,\\[4mm]
    b(\stackrel{\circ}{\Ub}\!\!(t),q) = \mathcal{F}^{R_2}(q) & \forall q \in Q,\\[4mm]
    \stackrel{\circ}{\Ub}\!\!(0) = \Ub_0, &
    \end{array} \right. \end{array}\label{cap2eq12}
    \end{equation}
    `

    A scanso di equivoci i pacchetti che ho caricato (non sono tutti solo per questa equazione) sono:
    `
    \usepackage[latin1]{inputenc}
    \usepackage[italian]{babel}
    %\usepackage{textcomp}
    \usepackage[T1]{fontenc}
    \usepackage{type1ec}%per i font cmsuper
    \usepackage[pdftex]{graphicx}
    \usepackage{epstopdf}
    \usepackage{fancyhdr}
    \usepackage{color}
    \usepackage{hyperref}
    \usepackage{makeidx}
    \usepackage{amssymb}
    \usepackage{amsfonts}
    \usepackage{amsmath}
    \usepackage{theorem}
    \usepackage{lscape}
    \usepackage{glossary}
    \usepackage{array}
    \usepackage{xtab}
    \usepackage{eufrak} % Per fare la F particolare!
    \usepackage{tocloft}
    `

    Le difficoltà sono queste: la prima riga deve restare allineata a destra e ci sono riuscito. Poi c’è un blocco che deve essere evidenziato a sistema con una graffa, così come sono riuscito a fare, tuttavia il blocco deve avere la prima riga allineata a sinistra, la seconda a destra, la terza a destra la quarta a sinistra e la quinta a sinistra e come vedete questo non riesco a farlo. Tutto è complicato dal fatto che questo blocco è diviso in due colonne che hanno elementi non vuoti per la terza e la quarta riga: questo perchè vorrei che gli elementi della seconda colonna stiano a destra dell’equazione ben allineati.

    AIUTO!!!!!!!!!!!!

    Ho provato ad usare split, multiline shoveleft ecc… ma non riesco a ottenere l’effetto desiderato.
    Potreste mostrarmi come fare? Grazie

Visualizzazione 14 filoni di risposte
  • Autore
    Risposte
    • #16498
      Up
      0
      Down
      ::


      Magari per facilitare la compilazione, fornisci le definizioni dei comandi che ti sei definito (ad esempio \Vb).

    • #16499
      Up
      0
      Down
      ::


      Accidenti scusa! Hai perfettamente ragione…

      \newcommand{\Vb}{{\mib V}}
      \newcommand{\Ub}{{\mib U}}
      \newcommand{\vb}{{\mib v}}
      \newcommand{\zerob}{{\mib 0}}
      \newcommand{\Rb}{{\mib R}}

      dovrebbero esserci tutti.. cmq in ogni caso sono tutti dei bold. Li ho aggiunti anche sopra assieme al codice. Ho aggiunto sopra anche tutti i pacchetti che sto usando in questo momento.

      Grazie per l’aiuto!

    • #16500
      Up
      0
      Down
      ::


      Avete qualche idea su come sistemarlo?

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

        Avete qualche idea su come sistemarlo?

        No, se non ci invii un esempio minimale compilabile.

        Ho provato a compilare il tuo esempio:
        `\documentclass{article}

        \usepackage[latin1]{inputenc}
        \usepackage[italian]{babel}
        %\usepackage{textcomp}
        \usepackage[T1]{fontenc}
        \usepackage{type1ec}%per i font cmsuper
        \usepackage[pdftex]{graphicx}
        \usepackage{epstopdf}
        \usepackage{fancyhdr}
        \usepackage{color}
        \usepackage{hyperref}
        \usepackage{makeidx}
        \usepackage{amssymb}
        \usepackage{amsfonts}
        \usepackage{amsmath}
        \usepackage{theorem}
        \usepackage{lscape}
        \usepackage{glossary}
        \usepackage{array}
        \usepackage{xtab}
        \usepackage{eufrak} % Per fare la F particolare!
        \usepackage{tocloft}

        \newcommand{\Vb}{{\mib V}}
        \newcommand{\Ub}{{\mib U}}
        \newcommand{\vb}{{\mib v}}
        \newcommand{\zerob}{{\mib 0}}
        \newcommand{\Rb}{\mib R}

        \begin{document}

        \begin{equation}
        \begin{array}{r}
        \forall t \in (0,T] \quad \mathrm{trovare} \quad
        (\stackrel{\circ}{\Ub}\!\!(t),P(t)) \in \Vb_\zerob \times Q \,
        :\\[4mm]
        \left\{ \begin{array}{rl} \dsfrac{d}{dt}(\rho
        \stackrel{\circ}{\Ub}\!\!(t),\vb)+c^{\rho}(\stackrel{\circ}{\Ub}\!\!(t),\stackrel{\circ}{\Ub}\!\!(t),\vb)+c^{\rho}(\stackrel{\circ}{\Ub}\!\!(t),\Rb_{\Ub_D},\vb)\\[4mm]
        +c^{\rho}(\Rb_{\Ub_D},\stackrel{\circ}{\Ub}\!\!(t),\vb)+\dsfrac{1}{\mathrm{Re}}a^{\mu}(\stackrel{\circ}{\Ub}\!\!(t),\vb)+b(\vb,P(t))\\[4mm]
        = \mathrm{G}\mathcal{F}^{\rho}(\vb)+\mathcal{F}^{R_1}(\vb) & \forall \vb \in \Vb_\zerob,\\[4mm]
        b(\stackrel{\circ}{\Ub}\!\!(t),q) = \mathcal{F}^{R_2}(q) & \forall q \in Q,\\[4mm]
        \stackrel{\circ}{\Ub}\!\!(0) = \Ub_0, &
        \end{array} \right. \end{array}\label{cap2eq12}
        \end{equation}

        \end{document}`
        ma c’è un errore:
        `! Undefined control sequence.
        \Ub ->{\mib
        U}
        l.36 (\stackrel{\circ}{\Ub}
        \!\!(t),P(t)) \in \Vb_\zerob \times Q \,
        ?
        `
        L.

      • #16502
        DMW
          Up
          0
          Down
          ::


          Per prima cosa, come ti fa notare Lorenzo, non definisci \mib e \dsfrac oppure la classe che usi.

          Per quanto riguarda il tuo problema, carica il pacchetto mathtools e prova a scrivere questo codice:
          `
          \begin{gather}
          \makebox[.8\linewidth]{\hfill$\forall t \in (0,T] \quad \mathrm{trovare} \quad
          (\stackrel{\circ}{\Ub}\!\!(t),P(t)) \in \Vb_\zerob \times Q \,
          :$}\nonumber\\
          \left\{\begin{multlined}
          \shoveleft{\dfrac{d}{dt}(\rho\stackrel{\circ}{\Ub}\!\!(t),\vb)+c^{\rho}(\stackrel{\circ}{\Ub}\!\!(t),
          \stackrel{\circ}{\Ub}\!\!(t),\vb)+c^{\rho}(\stackrel{\circ}{\Ub}\!\!(t),\Rb_{\Ub_D},\vb)}\\[2mm]
          \shoveright{+c^{\rho}(\Rb_{\Ub_D},\stackrel{\circ}{\Ub}\!\!(t),\vb)+\dfrac{1}{\mathrm{Re}}a^{\mu}
          (\stackrel{\circ}{\Ub}\!\!(t),\vb)+b(\vb,P(t))}\\[2mm]
          \shoveright{=\mathrm{G}\mathcal{F}^{\rho}(\vb)+\mathcal{F}^{R_1}(\vb)\quad \forall \vb \in \Vb_\zerob,}\\[2mm]
          \shoveleft[0pt]{b(\stackrel{\circ}{\Ub}\!\!(t),q)=\mathcal{F}^{R_2}(q)\qquad\forall q\in Q,}\\[2mm]
          \shoveleft[-10pt]{\stackrel{\circ}{\Ub}(0)=\Ub_0,\hfill}
          \end{multlined}
          \right.
          \end{gather}`

          e rimetti dsfrac al posto di dfrac, che per fare delle prove l’ho tolto, visto che non ci scrivi la definizione.

          Al posto di gather puoi provare ad usare aligned o alignat ma devi cambiare tutto perché è come una tabella e devi aggiungere un paio di & in più.

          Comunque così come ti ho scritto dovrebbe andare bene anche se ho fatto qualche aggiustamento a mano. Ma nel tuo caso è inevitabile.
          infatti prova a togliere \hfill da
          `\shoveleft[-10pt]{\stackrel{\circ}{\Ub}(0)=\Ub_0,\hfill}`
          e vedi cosa succede.

          Magari il prof. Enrico saprà dare una soluzione migliore.

          Come ultima cosa, nello scrivere le equazioni lasci troppi spazi che io eviterei, non si sa mai, anche se latex di solito li ignora.

          Ciao

          Andrea

        • #16503
          Up
          0
          Down
          ::


          Non mi sono accorto delle due mancanze.. il fatto è che uso una libreria di newcommand che mi aveva “regalato” un professore e quindi alcuni comandi li uso senza far caso al fatto che sono comandi ridefiniti.

          Cmq le due definizioni che mancano sono:

          \newcommand{\mib}{\boldsymbol}
          \newcommand{\dsfrac}[2]{{\displaystyle\frac{#1}{#2}}}

          Ora provo a vedere se i vostri suggerimenti sono risolutivi, altrimenti vi scrivo nuovamente.

          Grazie!! CIAO

        • #16504
          DMW
            Up
            0
            Down
            ::


            A volte le cose sono più semplici di quanto si pensi.:D 😀
            Direi che così ti puoi accontentare senza porsi troppi problemi (non c’è nemmeno bisogno del pacchetto mathtools):
            `
            \begin{gather}
            \makebox[.8\linewidth]{\hfill$\forall t \in \mathopen{(}0,T\mathclose{]} \quad \mathrm{trovare} \quad
            (\stackrel{\circ}{\Ub}\!\!(t),P(t)) \in \Vb_\zerob \times Q \,
            :$}\nonumber\\[2mm]
            \begin{cases}
            \dsfrac{d}{dt}(\rho\stackrel{\circ}{\Ub}\!\!(t),\vb)+c^{\rho}(\stackrel{\circ}{\Ub}\!\!(t),
            \stackrel{\circ}{\Ub}\!\!(t),\vb)+c^{\rho}(\stackrel{\circ}{\Ub}\!\!(t),\Rb_{\Ub_D},\vb)\\[2mm]
            \qquad\qquad+c^{\rho}(\Rb_{\Ub_D},\stackrel{\circ}{\Ub}\!\!(t),\vb)+\dsfrac{1}{\mathrm{Re}}a^{\mu}
            (\stackrel{\circ}{\Ub}\!\!(t),\vb)+b(\vb,P(t))\\[4mm]
            \hspace{4cm}=\mathrm{G}\mathcal{F}^{\rho}(\vb)+\mathcal{F}^{R_1}(\vb)\quad \forall \vb \in \Vb_\zerob,\\[2mm]
            b(\stackrel{\circ}{\Ub}\!\!(t),q)=\mathcal{F}^{R_2}(q)\qquad\forall q\in Q,\\[2mm]
            \stackrel{\circ}{\Ub}\!\!(0)=\Ub_0,
            \end{cases}
            \end{gather}
            \end{gather}
            `

            Ciao

            Andrea

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

              l fatto è che uso una libreria di newcommand che mi aveva “regalato” un professore e quindi alcuni comandi li uso senza far caso al fatto che sono comandi ridefiniti.

              \newcommand{\mib}{\boldsymbol}
              \newcommand{\dsfrac}[2]{{\displaystyle\frac{#1}{#2}}}

              È vero che “a caval donato non si guarda in bocca”, tuttavia il fatto che chi ti ha dato quel codice sembri non sapere che esiste il comando amsmath
              `\dfrac`
              non promette bene…

              Attento anche a \boldsymbol: lo userei solo se è davvero indispensabile e nei casi in cui \mathbf non funziona.
              `
              $\mathbf{v}\ne\boldsymbol{v}$, \textit{$\mathbf{v}\ne\boldsymbol{v}$}`
              Ciao,
              L.

            • #16506
              DMW
                Up
                0
                Down
                ::

                l fatto è che uso una libreria di newcommand che mi aveva “regalato” un professore e quindi alcuni comandi li uso senza far caso al fatto che sono comandi ridefiniti.

                \newcommand{\mib}{\boldsymbol}
                \newcommand{\dsfrac}[2]{{\displaystyle\frac{#1}{#2}}}

                È vero che “a caval donato non si guarda in bocca”, tuttavia il fatto che chi ti ha dato quel codice sembri non sapere che esiste il comando amsmath
                `\dfrac`
                non promette bene…

                Attento anche a \boldsymbol: lo userei solo se è davvero indispensabile e nei casi in cui \mathbf non funziona.
                `\textit{\mathbf{v}\ne\boldsymbol{v}}`
                Ciao,
                L.

                Do un consiglio al nostro mlx82, leggiti la guida di amsmath ed una guida di base.
                Allora ho fatto bene a mettere \dfrac.

                Inoltre Lorenzo ti fa notare la differenza tra \mathbf e \boldsymbol. Se vuoi il simbolo bold dritto conviene scrivere
                `
                \let\mib\mathbf
                \newcommand{\Vb}{\mib{V}}
                ….`
                Se invece vuoi il simbolo bold in corsivo puoi scrivere:
                `
                \let\mib\boldsymbol
                \newcommand{\Vb}{\mib{V}}
                …`

                Oppure usare il pacchetto bm e scivere
                `$\bm{v}$`

                Ciao

                Andrea

              • #16507
                Up
                0
                Down
                ::


                Dunque.. forse ci siamo, nel senso che quello che mi avete mandato va ancora leggermente rivisto perchè devo spostare tutto a destra i due “per ogni v e q” delle righe 3 e 4, tuttavia mi sa che il trucco sta in quell’ \hfill che se non ho capito male serve per riempire tutto il restante spazio orizzontale sulla linea, corretto? Infatti quando avevo provato ad usare \shoveleft nel mio array lui mi espandeva tutto il contenuto di quella “cella” un po’ come fa il “lurido” world di windows quando si usa il giustificato.

                Provo a sistemarlo da solo e se non riesco vi chiederò ancora consiglio..

                Grazie 1000!

                P.S: La persona che mi ha fornito quella libreria sembra che di scrittura latex ne sappia un cifro, nel senso che è molto pignolo (vi dico sono che usa lo spazio negativo tra \nabla e il puntino del prodotto scalare.. che tra le altre cose vuole più grosso di quello standard latex), tuttavia evidentemente quel comando gli è sfuggito. Magari anche perchè è stato inserito da poco tempo (forse?) e quindi si è abituato a fare così.. cmq non importa. Io ho imparato una cosa nuova!

                Grazie!

              • #16508
                DMW
                  Up
                  0
                  Down
                  ::


                  Se vuoi quel tipo di comportamento puoi modificare il tuo metodo che hai scritto all’inizio.

                  Prova così:
                  `
                  \begin{equation}
                  \begin{array}{r}
                  \forall t \in (0,T] \quad \mathrm{trovare} \quad
                  (\stackrel{\circ}{\Ub}\!\!(t),P(t)) \in \Vb_\zerob \times Q \,
                  :\\[4mm]
                  \newsavebox{\tempbox}
                  \sbox{\tempbox}{$\dfrac{d}{dt}(\rho\stackrel{\circ}{\Ub}\!\!(t),\vb)+c^{\rho}(\stackrel{\circ}{\Ub}\!\!(t),
                  \stackrel{\circ}{\Ub}\!\!(t),\vb)+c^{\rho}(\stackrel{\circ}{\Ub}\!\!(t),\Rb_{\Ub_D},\vb)$}
                  \left\{\begin{array}{rl}
                  \usebox{\tempbox}\\[4mm]
                  +c^{\rho}(\Rb_{\Ub_D},\stackrel{\circ}{\Ub}\!\!(t),\vb)+\dfrac{1}{\mathrm{Re}}a^{\mu}(\stackrel{\circ}{\Ub}\!\!(t),\vb)+b(\vb,P(t))\\[4mm]
                  =\mathrm{G}\mathcal{F}^{\rho}(\vb)+\mathcal{F}^{R_1}(\vb) & \forall \vb \in \Vb_\zerob,\\[4mm]
                  \makebox[\wd\tempbox]{$b(\stackrel{\circ}{\Ub}\!\!(t),q)=\mathcal{F}^{R_2}(q)$\hfill} & \forall q \in Q,\\[4mm]
                  \makebox[\wd\tempbox]{$\stackrel{\circ}{\Ub}\!\!(0) = \Ub_0,$\hfill}&
                  \end{array} \right. \end{array}\label{cap2eq12}
                  \end{equation}
                  `

                  Ciao

                  Andrea

                • #16509
                  Up
                  0
                  Down
                  ::


                  PERFETTO!!! Ti ringrazio moltissimo!

                  Grazie anche a tutti gli altri!

                  Ciao

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

                    P.S: La persona che mi ha fornito quella libreria sembra che di scrittura latex ne sappia un cifro, nel senso che è molto pignolo (vi dico sono che usa lo spazio negativo tra \nabla e il puntino del prodotto scalare…

                    Parafrasando una nota massima: da uno che usa lo spazio negativo, ci si può aspettare di tutto… 😉 😀

                  • #16511
                    DMW
                      Up
                      0
                      Down
                      ::

                      P.S: La persona che mi ha fornito quella libreria sembra che di scrittura latex ne sappia un cifro, nel senso che è molto pignolo (vi dico sono che usa lo spazio negativo tra \nabla e il puntino del prodotto scalare…

                      Parafrasando una nota massima: da uno che usa lo spazio negativo, ci si può aspettare di tutto… 😉 😀

                      Ci ho fatto caso solo ora, ma la cosa orrenda non sta tanto nel’uso di tutti quegli spazi negativi, ma sull’uso di stackrel in quel contesto. Diciamo che è molto meglio overset:
                      `
                      \begin{equation}
                      \begin{array}{r}
                      \forall t \in (0,T] \quad \mathrm{trovare} \quad
                      (\overset{\circ}{\Ub}(t),P(t)) \in \Vb_\zerob \times Q \,
                      :\\[4mm]
                      \newsavebox{\tempbox}
                      \sbox{\tempbox}{$\dfrac{d}{dt}(\rho\overset{\circ}{\Ub}(t),\vb)+c^{\rho}(\overset{\circ}{\Ub}(t),
                      \overset{\circ}{\Ub}(t),\vb)+c^{\rho}(\overset{\circ}{\Ub}(t),\Rb_{\Ub_D},\vb)$}
                      \left\{\begin{array}{rl}
                      \usebox{\tempbox}\\[4mm]
                      +c^{\rho}(\Rb_{\Ub_D},\overset{\circ}{\Ub}(t),\vb)+\dfrac{1}{\mathrm{Re}}a^{\mu}(\overset{\circ}{\Ub}(t),\vb)+b(\vb,P(t))\\[4mm]
                      =\mathrm{G}\mathcal{F}^{\rho}(\vb)+\mathcal{F}^{R_1}(\vb) & \forall \vb \in \Vb_\zerob,\\[4mm]
                      \makebox[\wd\tempbox]{$b(\overset{\circ}{\Ub}(t),q)=\mathcal{F}^{R_2}(q)$\hfill} & \forall q \in Q,\\[4mm]
                      \makebox[\wd\tempbox]{$\overset{\circ}{\Ub}(0) = \Ub_0,$\hfill}&
                      \end{array} \right. \end{array}\label{cap2eq12}
                      \end{equation}`

                      Andrea

                    • #16512
                      Up
                      0
                      Down
                      ::


                      Su stackrel è colpa mia.. il fatto è che conoscevo solo quello e per compensare ho di forza dovuto aggiungere i due spazi negativi. Invece con l’altro comando funziona tutto bene senza gli spazi negativi! Ho imparato qualcosa di nuovo.. è che a voi sembreranno erroracci ma alla fine è difficile trovare informazioni a riguardo e se sulle guide uno trova stackrel usa quello..

                      Per il mio professore direi che chi ha scritto “ci si può aspettare un po’ di tutto” ha pienamente ragione.. non lo conoscete e non ne faccio il nome, ma è veramente una persona particolare.

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

                  Go to top