Pagina 1 di 1
Allineare equazione in piú punti con LaTeX
Inviato: 18 set 2015, 21:35
da boiler
Ciao a tutti, vorrei ottenere con LaTeX questo risultato:
Codice: Seleziona tutto
2 + 3 * 2 - 1 + 4 =
2 + 6 - 1 + 4 =
8 - 1 + 4 =
7 + 4 = 11
In sostanza definire piú punti di allineamento (uno per operatore) che spariscono man mano che risolvo le operazioni. Con
align non funziona perché considera il secondo
& come il separatore tra due equazioni distinte.
Idee?
Grazie e ciao Boiler
Re: Allineare equazione in piú punti con LaTeX
Inviato: 18 set 2015, 21:49
da IlGuru
Sicuramente ci sarà un modo migliore, ma usando le tabelle?
Ogni cella, un numero o un operatore
Re: Allineare equazione in piú punti con LaTeX
Inviato: 18 set 2015, 22:33
da DirtyDeeds
Ma ne hai bisogno per il forum (con le sue limitazioni per LaTeX) o per un vero documento LaTeX?
Comunque qui c'è un esempio con array, anche se non ottimale. Se invece ti interessa per un documento LaTeX nei prossimi giorni posso pensare a una soluzione migliore.

Codice: Seleziona tutto
\begin{array}{c@{\hspace{0.25em}}c@{\hspace{0.25em}}c@{\hspace{0.25em}}c@{\hspace{0.25em}}c@{\hspace{0.25em}}c@{\hspace{0.25em}}c@{\hspace{0.25em}}c@{\hspace{0.25em}}c@{\hspace{0.25em}}c@{\hspace{0.25em}}c@{\hspace{0.25em}}}
2 &+ &3 &\times &2 &- &1 &+ &4 &= & \\
2 &+ &\multicolumn{3}{c}{6} &- &1 &+ &4 &= &\\
\multicolumn{5}{c}{8} &- &1 &+ &4 &= &\\
\multicolumn{7}{c}{7} &+ &4 &= &11
\end{array}
Re: Allineare equazione in piú punti con LaTeX
Inviato: 18 set 2015, 22:52
da boiler
DirtyDeeds ha scritto:Se invece ti interessa per un documento LaTeX nei prossimi giorni posso pensare a una soluzione migliore.
È per un documento vero, non per il forum. Se non ti è troppo di disturbo, molto volentieri
Grazie
Boiler
Re: Allineare equazione in piú punti con LaTeX
Inviato: 18 set 2015, 22:54
da DirtyDeeds
Se non hai fretta, perché avrò qualche giorno un po' pieno.
Re: Allineare equazione in piú punti con LaTeX
Inviato: 18 set 2015, 22:55
da boiler
DirtyDeeds ha scritto:Se non hai fretta, perché avrò qualche giorno un po' pieno.
Tranquillo!
Boiler
Re: Allineare equazione in piú punti con LaTeX
Inviato: 21 set 2015, 20:52
da DirtyDeeds
Ho giochicchiato un po' con LaTeX e ho trovato una soluzione che non sarà il top ma è decisamente più soddisfacente della precedente. A parte che è più breve, uno dei motivi per cui mi piace di più è che mantiene la giusta spaziatura tra gli operandi. Il codice è il seguente (esempio minimo compilabile):
Codice: Seleziona tutto
\documentclass{minimal}
\usepackage{mathtools}
\usepackage{calc}
\begin{document}
\begin{align*}
2 + 3 \times 2 - 1 + 4 &= \\
2 + \mathmakebox[\widthof{$3 \times 2$}]{6} - 1 + 4 &= \\
\mathmakebox[\widthof{$2+3 \times 2$}]{8} - 1 + 4 &= \\
\mathmakebox[\widthof{$2+3 \times 2-1$}]{7} + 4 &= 11
\end{align*}
\end{document}
e questo è il risultato:

- fig.jpg (10.54 KiB) Visto 4046 volte
Commenti al codice:
- Vengono usati due package, mathtools e calc: il primo è un'estensione di amsmath e serve per il comando \mathmakebox; il secondo serve per il comando \widthof che restituisce una lunghezza uguale alla larghezza dell'argomento.
- L'argomento di \widthof ad ogni linea è la parte di equazione della linea iniziale che fornisce il risultato parziale dato come argomento di \mathmakebox
Re: Allineare equazione in piú punti con LaTeX
Inviato: 21 set 2015, 21:04
da boiler
Molto chiaro, grazie mille!
Boiler
Re: Allineare equazione in piú punti con LaTeX
Inviato: 21 set 2015, 21:10
da DirtyDeeds
Nota che ho usato un allineamento che forse è un po' diverso da quello da te voluto inizialmente (ho editato il messaggio in [7] perché il secondo punto dei commenti non era corretto), però mi piaceva di più. Se invece vuoi proprio l'allineamento da te proposto in [1], ci ripenso sopra.
Re: Allineare equazione in piú punti con LaTeX
Inviato: 21 set 2015, 21:15
da boiler
Va benissimo! Mi serve per dare una mano a studiare a una persona che conosco e che (ri)comincia praticamente da zero con la matematica. In questo modo è chiaro ad ogni passaggio quale operazione è stata svolta.
Saluti Boiler