Alignat, Minipage & \centering

  • Creatore
    Topic
  • #94693
    Up
    0
    Down
    ::


    Salve a tutti,

    vi allego il codice che ho composto ed il relativo risultato che volevo e sono riuscito ad ottenere dopo un sacco di tentativi.

    Ho un paio di domande:

    1) esiste un modo meno contorto e più semplice per ottenere la stessa cosa?

    2) utilizzando il \centering nel modo “anomalo” che vedete in immagine (e cioè con le graffe limitate solo all’argomento, ovvero la freccia), riesco ad ottenere l’allineamento centrale della stessa.
    Ma se provo ad usare \centering così come i manuali insegnano, ovvero come una dichiarazione – {\centering $\Uparrow$} – non ottengo l’allineamento centrato. Perchè?
    Ho anche provato ad aggiungere un \par dopo $\Uparrow$ (in un post ho trovato scritto che è necessario prima di chiudere la graffa), ma va tutto in errore e non riesco a far nulla.

    Ho ottenuto errore anche utilizzando \multicolumn {1}{c}{$Uparrow$} e non mi spiego il perchè.

    Probabilmente ci saranno dei conflitti strambi con l’ambiente alignat.

    Grazie a chi eventualmente mi aiuterà!

    PS. Cosa devo specificare se nella formuletta per calcolare l’argomento di alignat [(n° di & massimo + 1)/2] non viene un numero intero?

    Codice:
    [attachment=1010]prova1.jpg[/attachment]

    Risultato:
    [attachment=1011]risult1.jpg[/attachment]
    Andrea

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

      AD” post=94324Salve a tutti,

      vi allego il codice che ho composto ed il relativo risultato che volevo e sono riuscito ad ottenere dopo un sacco di tentativi.

      Ho un paio di domande:

      1) esiste un modo meno contorto e più semplice per ottenere la stessa cosa?

      2) utilizzando il \centering nel modo “anomalo” che vedete in immagine (e cioè con le graffe limitate solo all’argomento, ovvero la freccia), riesco ad ottenere l’allineamento centrale della stessa.
      Ma se provo ad usare \centering così come i manuali insegnano, ovvero come una dichiarazione – {\centering $\Uparrow$} – non ottengo l’allineamento centrato. Perchè?
      Ho anche provato ad aggiungere un \par dopo $\Uparrow$ (in un post ho trovato scritto che è necessario prima di chiudere la graffa), ma va tutto in errore e non riesco a far nulla.

      Ho ottenuto errore anche utilizzando \multicolumn {1}{c}{$Uparrow$} e non mi spiego il perchè.

      Probabilmente ci saranno dei conflitti strambi con l’ambiente alignat.

      Grazie a chi eventualmente mi aiuterà!

      PS. Cosa devo specificare se nella formuletta per calcolare l’argomento di alignat [(n° di & massimo + 1)/2] non viene un numero intero?

      Codice:
      [attachment=1010]prova1.jpg[/attachment]

      Risultato:
      [attachment=1011]risult1.jpg[/attachment]
      Andrea

      Ciao,

      per inserire il codice, non metterlo in figura altrimenti chi ti vuole rispondere deve riscriversi tutto. Inseriscilo fra i tag [ code ] e [ / code ] (elimina gli spazi che io ho lasciato apposta).

      Ciao
      Claudio

    • #94695
      Up
      0
      Down
      ::


      Grazie Claudio e scusatemi, ecco:

      `\begin{alignat*}{5}
      &\mathrm{Alimenti\Rightarrow[H^+]}\;+\; && \mathbf{HCO_3^-} && \Rightarrow && \;\mathrm{CO_2+H_20} && \text{ (polmone)}\\
      & && \begin{minipage}{\widthof{$\mathbf{HCO_3^-}$}} \centering {$\Uparrow$} \end{minipage}&& \Leftarrow && && \text{ (rene)}.
      \end{alignat*}`

      (Per utilizzare l’istruzione \widthof ho caricato il pacchetto “calc”).

      Ciao!

    • #94696
      Up
      0
      Down
      ::


      Ci sono diverse alternative, io preferisco TikZ perciò ti propongo di utilizzare le matrici (peraltro i concetti sono del tutto simili alle normali tabelle): `
      \documentclass{article}
      \usepackage[T1]{fontenc}
      \usepackage[utf8]{inputenc}
      \usepackage{amsmath,calc}

      \usepackage{tikz}
      \usetikzlibrary{arrows.meta,calc,matrix}

      \begin{document}

      Originale:

      \begin{alignat*}{5}
      &\mathrm{Alimenti\Rightarrow[H^+]}\;+\; && \mathbf{HCO_3^-} && \Rightarrow && \;\mathrm{CO_2+H_20} && \text{ (polmone)}\\
      & && \begin{minipage}{\widthof{$\mathbf{HCO_3^-}$}} \centering {$\Uparrow$} \end{minipage}&& \Leftarrow && && \text{ (rene)}.
      \end{alignat*}

      Versione A (simile alla tua):

      \begin{tikzpicture}
      \matrix (m) [matrix of math nodes]{
      &\mathrm{Alimenti \Rightarrow[H^+]}& + & \mathbf{HCO_3^-}& \Rightarrow &\mathrm{CO_2+H_20} & \text{ (polmone)}\\
      & & & \Uparrow & \Leftarrow & & \text{(rene).}\\
      };
      \end{tikzpicture}

      Versione B (a me sembra meglio, vedi tu se ha senso):

      \begin{tikzpicture}
      \matrix (m) [matrix of math nodes]{
      &\mathrm{Alimenti \Rightarrow[H^+]}& + & \mathbf{HCO_3^-}& \Rightarrow &\mathrm{CO_2+H_20} & \text{ (polmone)}\\
      & & & \hphantom{\Uparrow} & & & \text{(rene).}\\% \hphantom per avere il riferimento m-2-4, lasciando vuota la cella non verrebbe assegnato nessun nome
      };
      \draw[-{To[length=2.45pt]}] (m-2-7)-|($(m-2-4)+(0,4mm)$);
      \end{tikzpicture}

      \end{document}
      ` Per compilare questo documento, ti serve una distribuzione aggiornata. Il risultato è:

      [attachment=1012]ScreenShot2014-06-14at12.15.01PM.png[/attachment]

      Ciao
      Claudio

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


      Una cosa del genere potrebbe andarti bene? Il pacchetto da caricare nel preambolo è [tt]mhchem[/tt].
      `
      \begin{gather*}
      \cee{Alimenti -> {}[H+] + \mathbf{HCO_3^-} <=>T[polmone][rene] CO2 + H2O}
      \end{gather*}
      `
      Il comando [tt]\cee[/tt] (per maggiori info guarda il manuale del pacchetto) può accettare anche & p \\, che passa da solo all’ambiente che lo circonda. Mette poi tutto in tondo matematico e altre cose legate alla chimica.

      PS Fai attenzione che l’ossigeno dell’acqua lo hai indicato con uno zero. 😉

    • #94698
      Up
      0
      Down
      ::


      Grazie a tutti per le risposte/correzioni,
      cercherò di studiare gli spezzoni di codice che mi avete proposto!

      PS. Per pura curiosità, qualcuno è in grado di chiarirmi le questioni del \centering o del \multicolumn?

      Andrea

    • #94699
      Up
      0
      Down
      ::


      Per quanto riguarda il \centering, non funziona in modalità matematica, devi trovarti nel testo per farlo funzionare, perché modifica delle spaziature laterali rendendole elastiche e infinite. Queste però non sono considerate in modalità matematica, il perché non lo so, ma sarà legato alla diversa spaziatura impiegata nella composizione della matematica.

    • #94700
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Come ti ha spiegato @skevin93, \centering funziona solo in modo testuale e funziona solo alla fine di un capoverso l’ambiente minipage termina anche chiudendo il capoverso che stava componendo.

        \multicolumn è un comando che si usa dentro gli ambienti di incolonnamento, tabular, array, align, allignat, eccetera, sebbene negli ambienti definiti con il pacchetto amsmath sembrerebbe piuttosto insolito doverne fare uso. Di solito viene usato per raggruppare celle adiacenti in orizzontale (che perciò appartengono a colonne diverse) per formare un’unica grande cella per la quale si può specificare il modo di comporne il contenuto; e normalmente viene usato per scrivere le intestazioni delle colonne, quando una intestazione vale per diverse colonna adiacenti.
        Però queste cose sono spiegate nell’Arte di scrivere con LaTeX, che consigliamo sempre di tenere a portata di mano.

      • #94701
        Up
        0
        Down
        ::


        Però, così come l’ho utilizzato, il \centering funziona, sebbene si tratti di matematica!

        E cioè:

        \centering {$\Uparrow$} —> funziona;

        {\centering $\Uparrow$} —> non funziona (nemmeno se racchiudo l’argomento tra graffe).

        Ma sempre matematica è, ecco perchè non capisco.

        Il trattato di Pantieri ce l’ho sempre sotto gli occhi quando scrivo in Latex, ma non ho trovato risposte alla mia domanda (e cioè il perchè, se uso Multicolumn al posto della Minipage, il mio codice non funzioni).

      • #94702
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Nel primo caso \centering e il successivo gruppo funzionano come previsto; funzionerebbe anche senza le graffe del gruppo; nel secondo caso c’è il solito errore di racchiudere la dichiarazione \centering dentro al gruppo che termina prima che sia terminato il capoverso; se proprio uno volesse essere molto barocco potrebbe scrivere`\begin{minipage}{\widthof{$\mathbf{HCO_3^-}$}} {\centering $\Uparrow$ \par}\end{minipage}`ma sarebbe solo una cosa ridondante rispetto a`\begin{minipage}{\widthof{$\mathbf{HCO_3^-}$}} \centering $\Uparrow$ \end{minipage}`

          Per \multicolumn ho dei sospetti ma dovrei fare diversi esperimenti prima di dire “il motivo è questo”.

        • #94703
          Up
          0
          Down
          ::


          `\begin{minipage}{\widthof{$\mathbf{HCO_3^-}$}} {\centering $\Uparrow$ \par}\end{minipage}[…]`

          E’ questo il bello OldClaudio, non funziona, dà un errore, ecco perchè mi scervello.

          PS. Anche in questo caso, per un principiante come me, è giusto chiedersi e scervellarsi col perchè questo accada? Oppure dovrei optare per la forma senza graffe non ponendomi alcun questito?

          Mi sto convincendo che la risposta sia da ricercarsi in qualche conflitto tra gli ambienti utilizzati (alignat, minipage).

        • #94704
          Up
          0
          Down
          ::

          AD” post=94371`\begin{minipage}{\widthof{$\mathbf{HCO_3^-}$}} {\centering $\Uparrow$ \par}\end{minipage}[…]`

          E’ questo il bello OldClaudio, non funziona, dà un errore, ecco perchè mi scervello.

          PS. Anche in questo caso, per un principiante come me, è giusto chiedersi e scervellarsi col perchè questo accada? Oppure dovrei optare per la forma senza graffe non ponendomi alcun questito?

          Mi sto convincendo che la risposta sia da ricercarsi in qualche conflitto tra gli ambienti utilizzati (alignat, minipage).

          Quale errore?

          Non è un gran codice, ma sembra confermare il funzionamento. Nota nel terzo caso ho tolto il [tt]\par[/tt] finale. `
          \documentclass[]{article}
          \usepackage{amsmath,calc}
          \setlength{\fboxsep}{0pt}%
          \begin{document}
          \noindent\fbox{$\mathbf{HCO_3^-}$}\\
          \fbox{\begin{minipage}{\widthof{$\mathbf{HCO_3^-}$}}
          {\centering$\Uparrow$\par}
          \end{minipage}
          }\\
          \fbox{\begin{minipage}{\widthof{$\mathbf{HCO_3^-}$}}
          {\centering$\Uparrow$}
          \end{minipage}
          }

          \noindent$\mathbf{HCO_3^-}$\\
          \begin{minipage}{\widthof{$\mathbf{HCO_3^-}$}}
          {\centering$\Uparrow$\par}
          \end{minipage}
          \end{document}
          ` Il risultato:

          [attachment=1014]ScreenShot2014-06-17at8.54.09AM.png[/attachment]

          Ciao
          Claudio

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


            Ci sono due aspetti da tenere presente; dentro l’ambiente minipage ci va del testo e l’ambiente provvede a terminare il modo orizzontale alla fine del contenuto, che ci sia o non ci sia un fine capoverso esplicito. quindi dentro minipage le graffe che racchiudono [tt]{\centering…\par}[/tt] non servono a niente. L’espressione matematica racchiusa fra dollari semplici vale per essere inserita in linea col testo, quindi, in un certo senso fa parte del testo. L’esempio di @cfiandra lo mostra benesiimo, anche se ha conservato el graffe.

            il secondo punto è che non ho controllato se l’ambiente alignat accetti una scatola, come minipage, che per prima cosa passa in modo orizzontale e rappresenta qualcosa di estraneo alle celle di alignat che sono in modo matematico; in ogni caso se il messaggio d’errore che tu non riporti, e ci lasci indovinare, senza fornirci un esempio minmo compilabile,, potrebbe dire di che tipo di errore si tratta; se fosse davvero che align at non vole minpage al suo interno, racchiudi tutto l’ambiente minipage dentro l’argomento di una [tt]\hbox{…}[/tt].

            Infine ricordati che [tt]{\centering bal bla bla,, bla}[/tt] non produrrà mai il suo testo centrato se non si chiude il capoverso esplicitamente con \par oppure con una riga vuota nel file sorgente; questo succede indipendentemente dal fatto che ci si trovi dentro un allineamanto matematico o in qualunque altra circostanza.

          • #94706
            Up
            0
            Down
            ::


            Grazie a tutti per l’aiuto!

            Per cfiandra: sì, nel tuo esempio funziona tutto, io mi riferivo al mio codice originario, in cui la minipage è utilizzata nell’ambiente alignat.
            E’ lì che ho notato ciò che ho detto.

            Ciao!

          • #94707
            Up
            0
            Down
            ::


            Ecco il codice compilabile:

            `\documentclass [a4paper, oneside]{article}
            \usepackage[T1]{fontenc}
            \usepackage[utf8]{inputenc}
            \usepackage[italian]{babel}
            \usepackage{microtype}
            \usepackage{calc}
            \usepackage{amsmath}

            \begin{document}

            \begin{alignat*}{5}
            &\mathrm{Alimenti\Rightarrow[H^+]}\;+\; && \mathbf{HCO_3^-} && \Rightarrow && \;\mathrm{CO_2+H_20} && \text{ (polmone)}\\
            & && \begin{minipage}{\widthof{$\mathbf{HCO_3^-}$}} \centering{$\Uparrow$} \end{minipage}&& \Leftarrow && && \text{ (rene)}.
            \end{alignat*}

            \end{document}`

            Ricapitolando (al di là delle graffe eventualmente ridondanti):

            1) \centering{$\Uparrow$} —> compilazione ok, freccia centrata
            2) {\centering $\Uparrow$} —> compilazione ok, freccia non centrata

            3) {\centering $\Uparrow$\par} —> compilazione errata

            Di seguito l’errore che viene fuori con (3):

            “! Paragraph ended before \alignat* was complete.

            \par
            l.13 …hbf{HCO_3^-}$}} {\centering $\Uparrow$\par
            } \end{minipage}&& \Leftar…
            I suspect you’ve forgotten a `}’, causing me to apply this
            control sequence to too much text. How can we recover?
            My plan is to forget the whole thing and hope for the best.
            ! Missing $ inserted.

            $
            l.13 …hbf{HCO_3^-}$}} {\centering $\Uparrow$\par
            } \end{minipage}&& \Leftar…
            I’ve inserted a begin-math/end-math symbol since I think
            you left one out. Proceed, with fingers crossed.
            ! Missing \endgroup inserted.

            \endgroup
            l.13 …hbf{HCO_3^-}$}} {\centering $\Uparrow$\par
            } \end{minipage}&& \Leftar…
            I’ve inserted something that you may have forgotten.
            (See the
            above.)
            With luck, this will get me unwedged. But if you
            really didn’t forget anything, try typing `2′ now; then
            my insertion and my current dilemma will both disappear.
            ! Display math should end with $$.

            \par
            l.13 …hbf{HCO_3^-}$}} {\centering $\Uparrow$\par
            } \end{minipage}&& \Leftar…
            The `$’ that I just saw supposedly matches a previous `$$’.
            So I shall assume that you typed `$$’ both times.
            ! Extra }, or forgotten \endgroup.
            l.13 …bf{HCO_3^-}$}} {\centering $\Uparrow$\par}
            \end{minipage}&& \Leftarr…
            I’ve deleted a group-closing symbol because it seems to be
            spurious, as in `$x}$’. But perhaps the } is legitimate and
            you forgot something else, as in `\hbox{$x}’. In such cases
            the way to recover is to insert both the forgotten and the
            deleted material, e.g., by typing `I$}’.
            ! You can’t use `\unskip’ in vertical mode.
            \endminipage ->\par \unskip
            \ifvoid \@mpfootins \else \vskip \skip \@mpfooti…
            l.13 …{\centering $\Uparrow$\par} \end{minipage}
            && \Leftarrow && …
            Sorry…I usually can’t take things from the current page.
            Try `I\vskip-\lastskip’ instead.
            ! Extra }, or forgotten \endgroup.
            \endminipage …pagefalse \color@endgroup \egroup
            \expandafter \@iiiparbox \…
            l.13 …{\centering $\Uparrow$\par} \end{minipage}
            && \Leftarrow && …
            I’ve deleted a group-closing symbol because it seems to be
            spurious, as in `$x}$’. But perhaps the } is legitimate and
            you forgot something else, as in `\hbox{$x}’. In such cases
            the way to recover is to insert both the forgotten and the
            deleted material, e.g., by typing `I$}’.
            ! Undefined control sequence.
            \endminipage …\expandafter \@iiiparbox \@mpargs
            {\unvbox \@tempboxa }
            l.13 …{\centering $\Uparrow$\par} \end{minipage}
            && \Leftarrow && …
            The control sequence at the end of the top line
            of your error message was never \def’ed. If you have
            misspelled it (e.g., `\hobx’), type `I’ and the correct
            spelling (e.g., `I\hbox’). Otherwise just continue,
            and I’ll forget about whatever was undefined.
            )
            Runaway argument?
            \@checkend {minipage}\expandafter \endgroup \if@endpe \@doendpe \fi \if@ignore
            \ETC.
            ! File ended while scanning use of \@iiiparbox.

            \par
            <*> prova.tex
            I suspect you have forgotten a `}’, causing me
            to read past where you wanted me to stop.
            I’ll try to recover; but if the error is serious,
            you’d better type `E’ or `X’ now and fix your file.
            ! Emergency stop.
            <*> prova.tex
            *** (job aborted, no legal \end found)
            Here is how much of TeX’s memory you used:
            3131 strings out of 493921
            44747 string characters out of 3147282
            132482 words of memory out of 3000000
            6429 multiletter control sequences out of 15000+200000
            5075 words of font info for 21 fonts, out of 3000000 for 9000
            841 hyphenation exceptions out of 8191
            30i,2n,35p,205b,106s stack positions out of 5000i,500n,10000p,200000b,50000s
            ! ==> Fatal error occurred, no output PDF file produced!”

            Ciao!

          • #94708
            Up
            0
            Down
            ::

            AD” post=94412Ecco il codice compilabile:

            `\documentclass [a4paper, oneside]{article}
            \usepackage[T1]{fontenc}
            \usepackage[utf8]{inputenc}
            \usepackage[italian]{babel}
            \usepackage{microtype}
            \usepackage{calc}
            \usepackage{amsmath}

            \begin{document}

            \begin{alignat*}{5}
            &\mathrm{Alimenti\Rightarrow[H^+]}\;+\; && \mathbf{HCO_3^-} && \Rightarrow && \;\mathrm{CO_2+H_20} && \text{ (polmone)}\\
            & && \begin{minipage}{\widthof{$\mathbf{HCO_3^-}$}} \centering{$\Uparrow$} \end{minipage}&& \Leftarrow && && \text{ (rene)}.
            \end{alignat*}

            \end{document}`

            Ricapitolando (al di là delle graffe eventualmente ridondanti):

            1) \centering{$\Uparrow$} —> compilazione ok, freccia centrata
            2) {\centering $\Uparrow$} —> compilazione ok, freccia non centrata

            3) {\centering $\Uparrow$\par} —> compilazione errata

            Di seguito l’errore che viene fuori con (3):

            “! Paragraph ended before \alignat* was complete.

            \par
            l.13 …hbf{HCO_3^-}$}} {\centering $\Uparrow$\par
            } \end{minipage}&& \Leftar…
            I suspect you’ve forgotten a `}’, causing me to apply this
            control sequence to too much text. How can we recover?
            My plan is to forget the whole thing and hope for the best.
            ! Missing $ inserted.

            $
            l.13 …hbf{HCO_3^-}$}} {\centering $\Uparrow$\par
            } \end{minipage}&& \Leftar…
            I’ve inserted a begin-math/end-math symbol since I think
            you left one out. Proceed, with fingers crossed.
            ! Missing \endgroup inserted.

            \endgroup
            l.13 …hbf{HCO_3^-}$}} {\centering $\Uparrow$\par
            } \end{minipage}&& \Leftar…
            I’ve inserted something that you may have forgotten.
            (See the
            above.)
            With luck, this will get me unwedged. But if you
            really didn’t forget anything, try typing `2′ now; then
            my insertion and my current dilemma will both disappear.
            ! Display math should end with $$.

            \par
            l.13 …hbf{HCO_3^-}$}} {\centering $\Uparrow$\par
            } \end{minipage}&& \Leftar…
            The `$’ that I just saw supposedly matches a previous `$$’.
            So I shall assume that you typed `$$’ both times.
            ! Extra }, or forgotten \endgroup.
            l.13 …bf{HCO_3^-}$}} {\centering $\Uparrow$\par}
            \end{minipage}&& \Leftarr…
            I’ve deleted a group-closing symbol because it seems to be
            spurious, as in `$x}$’. But perhaps the } is legitimate and
            you forgot something else, as in `\hbox{$x}’. In such cases
            the way to recover is to insert both the forgotten and the
            deleted material, e.g., by typing `I$}’.
            ! You can’t use `\unskip’ in vertical mode.
            \endminipage ->\par \unskip
            \ifvoid \@mpfootins \else \vskip \skip \@mpfooti…
            l.13 …{\centering $\Uparrow$\par} \end{minipage}
            && \Leftarrow && …
            Sorry…I usually can’t take things from the current page.
            Try `I\vskip-\lastskip’ instead.
            ! Extra }, or forgotten \endgroup.
            \endminipage …pagefalse \color@endgroup \egroup
            \expandafter \@iiiparbox \…
            l.13 …{\centering $\Uparrow$\par} \end{minipage}
            && \Leftarrow && …
            I’ve deleted a group-closing symbol because it seems to be
            spurious, as in `$x}$’. But perhaps the } is legitimate and
            you forgot something else, as in `\hbox{$x}’. In such cases
            the way to recover is to insert both the forgotten and the
            deleted material, e.g., by typing `I$}’.
            ! Undefined control sequence.
            \endminipage …\expandafter \@iiiparbox \@mpargs
            {\unvbox \@tempboxa }
            l.13 …{\centering $\Uparrow$\par} \end{minipage}
            && \Leftarrow && …
            The control sequence at the end of the top line
            of your error message was never \def’ed. If you have
            misspelled it (e.g., `\hobx’), type `I’ and the correct
            spelling (e.g., `I\hbox’). Otherwise just continue,
            and I’ll forget about whatever was undefined.
            )
            Runaway argument?
            \@checkend {minipage}\expandafter \endgroup \if@endpe \@doendpe \fi \if@ignore
            \ETC.
            ! File ended while scanning use of \@iiiparbox.

            \par
            <*> prova.tex
            I suspect you have forgotten a `}’, causing me
            to read past where you wanted me to stop.
            I’ll try to recover; but if the error is serious,
            you’d better type `E’ or `X’ now and fix your file.
            ! Emergency stop.
            <*> prova.tex
            *** (job aborted, no legal \end found)
            Here is how much of TeX’s memory you used:
            3131 strings out of 493921
            44747 string characters out of 3147282
            132482 words of memory out of 3000000
            6429 multiletter control sequences out of 15000+200000
            5075 words of font info for 21 fonts, out of 3000000 for 9000
            841 hyphenation exceptions out of 8191
            30i,2n,35p,205b,106s stack positions out of 5000i,500n,10000p,200000b,50000s
            ! ==> Fatal error occurred, no output PDF file produced!”

            Ciao!

            Continuo a non capire come mai tu insista con [tt]alignat[/tt] quando ci sono alternative più semplici. Sicuramente c’è chi conosce il motivo e te lo potrà spiegare bene, quello che ti posso dire è che secondo me in ambienti matematici come [tt]align[/tt], e quindi anche [tt]alignat[/tt] non puoi inserire un comando come [tt]\par[/tt].

            Ciao
            Claudio

          • #94709
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::


              Sì, è vero, non si finisce mai di imparare; anche se \par, il comando di fine capoverso è dentro un gruppo, il quale è dentro un ambiente, esso viene visto anche da alignat durante l’operazione di parsing, ma in matematica non è consentito nessun fine capoerso; non sapevo che anche dentro una serie di gruppi come questo il comando \par venisse visto, di solito non succede così.

              Comuneque nella tua costruzione di questo particolare “diagramma commutativo chimico” la scelta di usare minipage è infelice proprio perché ti obbliga a specificare centering che a sua volta richiede un fine capoverso esplito (non valido in questo caso) o implicito; per giunta \centering è una dichiarazione, non un comando e non vuole argomenti.

              Invece se tu avessi usato `\makebok scrivendo \makebox[\widthof{…}]{%\Uparrow$}` avresti sfruttato in modo naturale il fatto che devi scrivere una sola riga, non un capoverso come ti consentirebbe minipage, e che senza specificare nessuna opzione il suo contento è centrato nella larghezza specificata per la scatola creata con \makebox.

              Grazie per avermi dato l’occasione di imparare qualcosa.

            • #94710
              Up
              0
              Down
              ::


              Ciao cfiandra,
              no, non mi sto impuntando nell’usare “alignat”, sono felice delle soluzioni alternative che mi avete proposto.
              Vorrei solo capire il perché di tutto, pur abbandonandola come soluzione.

              Per tutti:

              ho appreso il discorso di “incompatibilità” tra alignat—>(\centering)—>\par e quindi ho capito (1) il perché venga dato errore se si usa {\centering $Uparrow$ \par}, (2) l’inefficacia di {\centering $Uparrow$}, dato che manca il \par (incompatibile con alignat).

              La cosa che mi sfugge, però, è:

              perchè,

              \centering {$\Uparrow$},

              nonostante una dichiarazione non vada usata in questo modo e nonostante non ci sia \par, funziona?

              Ripeto, sono domande che faccio a scopo di apprendimento e non perché mi stia impuntando ad usare per forza questi ambienti.

              Ciao!

            • #94711
              Up
              0
              Down
              ::

              AD” post=94429Ciao cfiandra,
              no, non mi sto impuntando nell’usare “alignat”, sono felice delle soluzioni alternative che mi avete proposto.
              Vorrei solo capire il perché di tutto, pur abbandonandola come soluzione.

              Per tutti:

              ho appreso il discorso di “incompatibilità” tra alignat—>(\centering)—>\par e quindi ho capito (1) il perché venga dato errore se si usa {\centering $Uparrow$ \par}, (2) l’inefficacia di {\centering $Uparrow$}, dato che manca il \par (incompatibile con alignat).

              La cosa che mi sfugge, però, è:

              perchè,

              \centering {$\Uparrow$},

              nonostante una dichiarazione non vada usata in questo modo e nonostante non ci sia \par, funziona?

              Ripeto, sono domande che faccio a scopo di apprendimento e non perché mi stia impuntando ad usare per forza questi ambienti.

              Ciao!

              Se lo scopo è didattico ha senso 🙂

              [tt]\centering[/tt], come diceva OldClaudio, è una dichiarazione che “allinea” tutto ciò che trova fino ad un fine capoverso esplicito ([tt]\par[/tt]) o implicito. L’ambiente minipage ha molte delle proprietà di una pagina normale, perciò se come unico contenuto hai: `
              \centering $Uparrow$
              ` verrà centrato. Stessa cosa con : `
              \centering{$Uparrow$}
              ` perché racchiudi in un gruppo la freccia, ma la dichiarazione ha comunque effetto perché posta prima dell’apertura del gruppo. Invece, : `
              {\centering $Uparrow$}
              ` non va bene, perché in un gruppo non c’è una definizione di fine capoverso implicita e quindi devi darla tu in modo esplicito. Cosa che dentro alignat non puoi fare.

              Ciao
              Claudio

            • #94712
              OldClaudio
              Partecipante
                Up
                0
                Down
                ::


                Claudio: non potevi spiegarti meglio.
                Claudio

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

            Go to top