- Questo topic ha 16 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 3 anni, 3 mesi fa da
Sara.
-
CreatoreTopic
-
23 Maggio 2023 alle 23:08 #121642::
Vorrei scrivere una catena di uguaglianze tra espressioni algebriche su più righe allineando il primo simbolo di = di ogni riga con il primo simbolo di = della riga precedente, inoltre vorrei utilizzare le formule in linea e non in display perchè vorrei mantenere l’interlinea “standard” (come nel caso delle formule in linea e non come nel caso delle formule in display) e avere l’allineamento a sinistra.Faccio un esempio:
`x = 4 + 3*2 =
= 4 + 6 =
= 10
`Come posso fare?
-
CreatoreTopic
-
AutoreRisposte
-
-
24 Maggio 2023 alle 13:31 #121643::
vsara” post=122208Vorrei scrivere una catena di uguaglianze tra espressioni algebriche su più righe allineando il primo simbolo di = di ogni riga con il primo simbolo di = della riga precedente, inoltre vorrei utilizzare le formule in linea e non in display perchè vorrei mantenere l’interlinea “standard” (come nel caso delle formule in linea e non come nel caso delle formule in display) e avere l’allineamento a sinistra.
Faccio un esempio:
`x = 4 + 3*2 =
= 4 + 6 =
= 10
`Come posso fare?
Ciao.
Userei un classico ambiente align del pacchetto amsmath.
L’allineamento lo decidi tu inserendo &.
Puoi leggerne la documentazione con il comando da terminale:`texdoc amsmath`
Ciao
Alla prossima
R.
-
24 Maggio 2023 alle 15:03 #121644::
La soluzione che mi hai proposto risolve il problema dell’allineamento dei simboli di = e mantiene le formule allineate a sinistra come volevo.
Tuttavia scrivendo le formule con l’ambiente align* l’interlinea è aumentato rispetto a quello del testo normale e io vorrei mantenerlo uguale, si può fare?Allego un esempio:
`
\documentclass[a4paper,11pt]{book}\usepackage[italian]{babel}
\usepackage[utf8]{inputenc}\usepackage{amsmath}
\begin{document}
\noindent
Qui scrivo una formula usando align*:
\begin{align*}
x+y+z&=x+z+y=y+x+z=\\
&=x+y+z=x+z+y=y+x+z=y+z+x=z+x+y=\\
&=100000000000
\end{align*}
Qui invece scrivo una formula in linea:\\
$x+y+z=x+z+y=y+x+z=100000000000$
Fine del documento\end{document}
`[attachment=2756]formule.pdf[/attachment]
Attachments:
You must be logged in to view attached files. -
24 Maggio 2023 alle 15:25 #121645::
vsara” post=122210La soluzione che mi hai proposto risolve il problema dell’allineamento dei simboli di = e mantiene le formule allineate a sinistra come volevo.
Tuttavia scrivendo le formule con l’ambiente align* l’interlinea è aumentato rispetto a quello del testo normale e io vorrei mantenerlo uguale, si può fare?Allego un esempio:
`
\documentclass[a4paper,11pt]{book}\usepackage[italian]{babel}
\usepackage[utf8]{inputenc}\usepackage{amsmath}
\begin{document}
\noindent
Qui scrivo una formula usando align*:
\begin{align*}
x+y+z&=x+z+y=y+x+z=\\
&=x+y+z=x+z+y=y+x+z=y+z+x=z+x+y=\\
&=100000000000
\end{align*}
Qui invece scrivo una formula in linea:\\
$x+y+z=x+z+y=y+x+z=100000000000$
Fine del documento\end{document}
`[attachment=2756]formule.pdf[/attachment]
Ma cosa intendi per interlinea?
A me pare tutto a posto.Ho modificato il tuo codice, riportando una modifica manuale ma è bruttino.
La regola generale, secondo me, è che se non hai ragioni o necessità che lo giustifichino, non modificare i parametri della composizione impostati dalla classe. Sono stati decisi da esperti. Meglio lasciar fare a LaTeX.
R.
-
25 Maggio 2023 alle 1:20 #121646::
Vorrei che lo spazio che c’è prima e dopo l’elemento align* fosse minore, precisamente vorrei che fosse lo stesso che c’è tra due righe successive di testo.
Invece attualmente prima della prima riga dell’equazione e dopo l’ultima riga dell’equazione c’è uno spazio maggiore.
Inoltre la prima riga dell’equazione non parte esattamente allineata a sinistra come le righe di testo ma leggermente più a destra.
-
25 Maggio 2023 alle 14:05 #121647::
vsara” post=122212Vorrei che lo spazio che c’è prima e dopo l’elemento align* fosse minore, precisamente vorrei che fosse lo stesso che c’è tra due righe successive di testo.
Invece attualmente prima della prima riga dell’equazione e dopo l’ultima riga dell’equazione c’è uno spazio maggiore.
Inoltre la prima riga dell’equazione non parte esattamente allineata a sinistra come le righe di testo ma leggermente più a destra.Ciao.
Ci sono due registri di tipo “lunghezza”, che puoi impostare a zero. SI tratta di \abovedisplayskip e \belowdisplayskip.
Da usare con saggezza.
Alla prossima.
R.
-
26 Maggio 2023 alle 9:07 #121648
-
26 Maggio 2023 alle 19:14 #121649
-
28 Maggio 2023 alle 11:41 #121650::
`
\documentclass[a4paper,11pt]{book}\usepackage[italian]{babel}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{parskip}\begin{document}
\setlength{\abovedisplayskip}{0pt}%
\setlength{\belowdisplayskip}{0pt}%Qui scrivo una formula usando align*:
\begin{align*}%
x+y+z&=x+z+y=y+x+z=\\
&=x+y+z=x+z+y=y+z+x=z+x+y=\\
&=100000000000
\end{align*}%
Fine del documento\end{document}
`Penso che il problema sia che l’ambiente align* centra di default il contenuto, io vorrei che la prima riga della formula fosse allineata a sinistra.
[attachment=2757]formule1.pdf[/attachment]
Attachments:
You must be logged in to view attached files. -
28 Maggio 2023 alle 19:21 #121651::
LaTeX Reference manual commentato; pagina 32, dove si descrive l’opzione flewn e la lunghezza mathindent.Ogni volta che ricevi l’indicazione della pagina di un documento di documentazione, dovresti fare un pensierinino, specialmente se la dicumentazione è il manuale di LaTeX scritto da Leslie Lamport, il papà di LaTeX…
-
29 Maggio 2023 alle 23:38 #121652::
Grazie! Esattamente quello che cercavo!Riguardo la documentazione, ho provato a consultarla per un nuovo dubbio riguardante la spaziatura verticale prima e dopo dell’ambiente itemize ma penso che mi sfugga qualcosa.
Volevo eliminare lo spazio verticale che è presente prima e dopo dell’ambiente itemize, un po come abbiamo fatto settando a 0pt \abovedisplayskip e \belowdisplayskip nel caso dell’ambiente align*.
Ho quindi impostato a 0pt \topsep ma mi sembra che non sia cambiato nulla. Allego un EMC.`
\documentclass[a4paper,11pt]{book}\usepackage[italian]{babel}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{parskip}
\usepackage{enumitem}\setlist{nosep} % elimina lo spazio tra due righe successive dell'ambiente itemize
\begin{document}
\setlength{\topsep}{0pt} % dovrebbe eliminare lo spazio prima della prima riga e dopo l'ultima riga dell'ambiente itemize (?)
Qui scrivo un elenco puntato con l'ambiente itemize:
\begin{itemize}
\item prima voce
\item seconda voce
\item terza voce
\item quarta voce
\end{itemize}
Fine dell'elenco puntato.\end{document}
`[attachment=2758]itemize.pdf[/attachment]
Attachments:
You must be logged in to view attached files. -
30 Maggio 2023 alle 6:33 #121653::
Molto complicato e la documentazione di enumitem sono aiuta per niente.La figura di quel pacchettomostra chiaramante come sono definiti gli spazi all’interno delle liste; sopra e sotto lo spazio è formato da tre addendi, due dei quali possoo essere impostati con le opzioni, ma che comunuqe vengonoannullato con l’opzione nosep;
Il teszo spazio \parskip non fa propriamente parte delle impostazioni della lista,ma è un parametro globale che imposta lo spazio fra i capoversi, in teoria all’interno delle liste, ma che rimane in vigora anche dopo l’esecuzione di \end{}. Lo spazio prima dei itemize può essere annullato con \paskip=0pt messo prima di \begin{itemize}, edelimina anche lo spazio dopo, ma se crei un gruppo che contiene \parskip=0pt, in questomodo `{\parskip=0pt\begin{itemize}[nosep]…\end{itemize}}` lo spazio dopo la lista rimane e il successivo testo non listato appare spaziato. se così ti va ben, questa è le soluzione, se non ti va bene bisogna arrampicarsi sui vetri e memorizzare il valore di \parskip prima di aprirre la lista e rispitristinael \parskip al valore originale, non dopo la lista, ma deopo la fine del capoverso che segue la lista, o almeno dopo la prima parola del capoverso che segue la lista.
Provo segnalare questo inconveniente a Bezos, il curatore di enumitem, ma dubito che faccia qualcosa, persino che mi risponda.
Tutto ciò premesso, tigliere gli spazi prima e dopo le liste sembra una cosa non praticata dalla buona tipografia.
-
30 Maggio 2023 alle 12:36 #121654::
La soluzione che mi hai proposto risolve il problema dell’allineamento dei simboli di = e mantiene le formule allineate a sinistra come volevo.
Tuttavia scrivendo le formule con l’ambiente align* l’interlinea è aumentato rispetto a quello del testo normale e io vorrei mantenerlo uguale, si può fare?Allego un esempio:
`
\documentclass[a4paper,11pt]{book}\usepackage[italian]{babel}
\usepackage[utf8]{inputenc}\usepackage{amsmath}
\begin{document}
\noindent
Qui scrivo una formula usando align*:
\begin{align*}
x+y+z&=x+z+y=y+x+z=\\
&=x+y+z=x+z+y=y+x+z=y+z+x=z+x+y=\\
&=100000000000
\end{align*}
Qui invece scrivo una formula in linea:\\
$x+y+z=x+z+y=y+x+z=100000000000$
Fine del documento\end{document}
`È facilissimo ottenere un pessimo risultato:
`
\documentclass[a4paper,11pt]{book}
\usepackage[T1]{fontenc}
\usepackage[italian]{babel}
\usepackage{amsmath}
\usepackage{parskip}\begin{document}
Qui scrivo una formula usando align*:\\
$\begin{aligned}
x+y+z&=x+z+y=y+x+z=\\
&=x+y+z=x+z+y=y+x+z=y+z+x=z+x+y=\\
&=100000000000
\end{aligned}$Qui invece scrivo una formula in linea:\\
$x+y+z=x+z+y=y+x+z=100000000000$Fine del documento
\end{document}
`Una volta visto che cosa viene fuori, evita.
Ciao
Enrico
-
30 Maggio 2023 alle 19:43 #121655::
Javier Bezos,mi ha risposto e la soluzione è semplice, ma sebbene sia scritta nella documentazione di enumitem, è ben nascosta. Questo esempio minimo compilabile, basato sul tuo, a me funziona.`\documentclass[a4paper,11pt]{book}\usepackage[italian]{babel}
%\usepackage[utf8]{inputenc} %%% La codifica utf8 è quella di default da alcuni anni; non c'è più bisogno di inserire questa riga
\usepackage{amsmath}
\usepackage{parskip}
\usepackage{enumitem}\begin{document}
Qui scrivo un elenco puntato con l'ambiente itemize:
\begin{itemize}[nosep,topsep=-\parskip]
\item prima voce
\item seconda voce
\item terza voce
\item quarta voce
\end{itemize}
Fine dell'elenco puntato.Altro capoverso
\end{document}
`Bene inteso, funziona col tuo preambolo; la pratica di evitare il rientro dei capoversi inserendo invece un \parskio di circa una riga, è pratica da word processor, non da tipografia. Anche l’eliminazione degli spazi sopra, sotto e in mezzo agli \item è una pratica da word processor. In sostanza stai cercando di imitare quello che puoi ottenere con Word, Pages, Writer, e simili word processor, che funzionano come macchine da scrivere intelligenti, ma non hanno nulla a che vedere con la composizione tipografica di LaTeX e dei programmi di impaginazione professionali, come per esempio InDesign.Certo, la decisione è tua; io ti suggerisco solo che cosa bisogna evitare di fare se si vuoie una impaginazione ad alto livello, come LaTeX sa fare.
-
31 Maggio 2023 alle 8:21 #121656::
Ho aggiunto il simbolo $ prima e dopo align* ma mi sembra che la distanza tra righe successive dell’equazione in align* sia sia rimasto maggiore rispetto all’equazione in linea. Allego il codice e il risultato.
`
\documentclass[a4paper,11pt]{book}
\usepackage[T1]{fontenc}
\usepackage[italian]{babel}
\usepackage{amsmath}
\usepackage{parskip}\begin{document}
Qui scrivo una formula con align*:\\
$\begin{aligned}
x x x x x x x x x x x x x x x x x &= x x x x x x x x x x x x x x x x x =\\
&= x x x x x x x x x x x x x x x x x =\\
&= x x x x x x x x x x x x x x x x x =\\
&= x x x x x x x x x x x x x x x x x =\\
&= x x x x x x x x x x x x x x x x x
\end{aligned}$Qui invece scrivo una formula in linea:\\
$x x x x x x x x x x x x x x x x x = x x x x x x x x x x x x x x x x x = x x x x x x x x x x x x x x x x x = x x x x x x x x x x x x x x x x x = x x x x x x x x x x x x x x x x x = x x x x x x x x x x x x x x x x x = x x x x x x x x x x x x x x x x x = x x x x x x x x x x x x x x x x x = x x x x x x x x x x x x x x x x x = x x x x x x x x x x x x x x x x x = x x x x x x x x x x x x x x x x x = x x x x x x x x x x x x x x x x x = x x x x x x x x x x x x x x x x x = x x x x x x x x x x x x x x x x x$\end{document}
`[attachment=2759]formule2.pdf[/attachment]
Grazie mille per questa soluzione! In generale sono d’accordo con te sul fatto che è meglio che sia LaTeX a gestire l’impaginazione, ma in questo caso particolare ritengo che questo risultato sia proprio quello di cui necessitavo!
Attachments:
You must be logged in to view attached files. -
5 Giugno 2023 alle 10:19 #121657::
vsara” post=122222 @egreg9:
Ho aggiunto il simbolo $ prima e dopo align* ma mi sembra che la distanza tra righe successive dell’equazione in align* sia sia rimasto maggiore rispetto all’equazione in linea. Allego il codice e il risultato.
`
\documentclass[a4paper,11pt]{book}
\usepackage[T1]{fontenc}
\usepackage[italian]{babel}
\usepackage{amsmath}
\usepackage{parskip}\begin{document}
Qui scrivo una formula con align*:\\
$\begin{aligned}
x x x x x x x x x x x x x x x x x &= x x x x x x x x x x x x x x x x x =\\
&= x x x x x x x x x x x x x x x x x =\\
&= x x x x x x x x x x x x x x x x x =\\
&= x x x x x x x x x x x x x x x x x =\\
&= x x x x x x x x x x x x x x x x x
\end{aligned}$Qui invece scrivo una formula in linea:\\
$x x x x x x x x x x x x x x x x x = x x x x x x x x x x x x x x x x x = x x x x x x x x x x x x x x x x x = x x x x x x x x x x x x x x x x x = x x x x x x x x x x x x x x x x x = x x x x x x x x x x x x x x x x x = x x x x x x x x x x x x x x x x x = x x x x x x x x x x x x x x x x x = x x x x x x x x x x x x x x x x x = x x x x x x x x x x x x x x x x x = x x x x x x x x x x x x x x x x x = x x x x x x x x x x x x x x x x x = x x x x x x x x x x x x x x x x x = x x x x x x x x x x x x x x x x x$\end{document}
`Non capisco la necessità di scrivere roba del genere. Evidenziare con spazi le formule è il modo giusto. Comunque, [tt]aligned[/tt] aggiunge spaziatura verticale, ma è facile annullarla.
`
\documentclass[a4paper,11pt]{book}
\usepackage[T1]{fontenc}
\usepackage[italian]{babel}
\usepackage{amsmath}\begin{document}
Qui scrivo una formula con align*:\\
$\begin{aligned}
x x x x x x x x x x x x x x x x x &= x x x x x x x x x x x x x x x x x =\\
&= x x x x x x x x x x x x x x x x x =\\
&= x x x x x x x x x x x x x x x x x =\\
&= x x x x x x x x x x x x x x x x x =\\
&= x x x x x x x x x x x x x x x x x
\end{aligned}$Qui scrivo una formula con align*:\\
$\openup-1\jot\begin{aligned}
x x x x x x x x x x x x x x x x x &= x x x x x x x x x x x x x x x x x =\\
&= x x x x x x x x x x x x x x x x x =\\
&= x x x x x x x x x x x x x x x x x =\\
&= x x x x x x x x x x x x x x x x x =\\
&= x x x x x x x x x x x x x x x x x
\end{aligned}$\end{document}
`Non farlo, i tuoi lettori ne saranno grati.
Ciao
Enrico
-
7 Giugno 2023 alle 0:35 #121658::
Esattamente questo intendevo, grazie!In generale evito di modificare l’impaginazione di LaTeX ma in questo caso ne avevo bisogno.
Posso chiederti se anzichè scrivere il comando \openup-1\jot prima di ogni \begin{aligned} posso dire a LaTeX in una volta sola che voglio che tutte le volte che utilizzo l’ambiente aligned in questo documento lui lo consideri automaticamente con il comando \openup-1\jot ?
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.