Newsgroup: it.comp.software.tex
Titolo: \iff allineato a sx

Ciao a tutti,
sto preparando delle schede a scopo didattico e quindi vorrei far
apparire il "se e soltanto se" a sinistra dell'equazione in ogni
passaggio della soluzione.
Attualmente lavoro così:
\begin{eqnarray*}
3kx+k & = & k^2\left(1+x\right)-6 \\
\iff 3kx+k & = & k^2 +k^2 x - 6 \\
\iff 3kx - k^2 x & = & k^2 - k -6 \\
\iff \left(3k-k^2\right)x & = & \left(k-3\right)\left(k+2\right) \\
\iff k\left(3-k\right)x & = & \left(k-3\right)\left(k+2\right) 
\end{eqnarray*}
I segni di uguale sono allineati come voglio, ma la posizione del "se
e soltanto se" fa un po' pietà.
Qualcuno ha un consiglio?
Grazie in anticipo
Boiler

 scrive:

Non userei eqnarray, in alcun caso. Meglio gli ambienti di 
allineamento di amsmath, per esempio align.
Nel tuo caso potrebbe andare una cosa come
\begin{align*}
&& 3kx+k &=  k^2(1+x)-6 \\
&\Leftrightarrow & 3kx+k &= k^2+k^2 x-6 \\
&\Leftrightarrow & 3kx - k^2 x &= k^2 - k -6 \\
&\Leftrightarrow & (3k-k^2)x &= (k-3)(k+2) \\
&\Leftrightarrow & k(3-k)x &= (k-3)(k+2) 
\end{align*}
Due annotazioni.
1) \Leftrightarrow è la versione "senza spazi aggiunti" di \iff;
2) i tuoi \left e \right sono perfettamente inutili.
Ciao
Enrico

2) i tuoi \left e \right sono perfettamente inutili.
Sei sicuro? Intendi in quetso caso o sempre? Perché io se faccio solo
( \frac {1} {2} ) ^2
ottengo delle parentesi troppo piccole.
Grazie ancora!
Boiler (un tuo omonimo ;-))

 ottengo delle parentesi troppo piccole.
Enrico è 100 volte più esperto di me, ma questa volta penso che abbia torto.
Il problema è che '(' e ')' sono intesi come simboli a sé stanti e non come
"simboli funzionali", cioè simboli che hanno in questo caso la funzione di
delimitare un'espressione matematica.
Come hai giustamente fatto notare, con "\frac{}{}" l'errore è evidente.
Però prova a compilare questo:
\begin{align*}
&\Leftrightarrow & k(3-k)x &= (k-3)(k+2)\\
&\Leftrightarrow & k\left(3-k\right)x &= \left(k-3\right)\left(k+2\right)
\end{align*}
La noti la differenza tipografica?
Non è vero che i "\left" e "\right" sono inutili...nemmeno in questo caso.
Kiuhnm

La noti la differenza tipografica?
Gli spazi?
Ciao Boiler

 [CUT]
Viene quasi perfetto!
Grazie!
Sarebbe perfetto se l'equazione fosse allineata in centro alla pagina
e il se e soltanto se spostato a sinistra, ma sono finezze delle quali
posso fare a meno.
Ti ringrazio molto
Boiler

 Gli spazi?
Esattamente.
Comunque, se non esiste già, farò un piccolo preprocessore in C che
trasformi on-the-fly espressioni del tipo
(1 + 1/n)^{n+1} = 1 + \sum_{k=1}^n [(1/k!) \prod_{r=0}^{k-1} (1 - r/n)]
in
{\left(1 + \frac{1}{n}\right)}^{n+1}
=
1 + \sum_{k=1}^n\left\{\frac{1}{k!}\prod_{r=0}^{k-1}\left(1 -
\frac{r}{n}\right)\right\}
Le parentesi graffe verranno ignorate, mentre a tutti gli altri delimitatori
verrà aggiunto \left o \right. Per default verranno aggiunte delle graffe
ogni qual volta appaiano delle parentesi. Per stampare delle graffe
bisognerà usare \{ e \}.
Il codice sorgente non verrà modificato, ma verrà copiato e modificato un
attimo prima che venga compilato.
Ai più schizzinosi potrà sembrare una cattiva idea, ma secondo me è comoda.
Kiuhnm

 ottengo delle parentesi troppo piccole.
Naturalmente, \left e \right producono parentesi che "coprono"
la formula che contengono. Inoltre aggiungono, sotto determinate
condizioni, uno spazio prima e dopo.
In una formula come $x(3k-2)y$ questi spazi /non/ vanno.
Ciao
Enrico

Esattamente.
Già che ci siamo: se voglio rappresentare l'intervallo da 2 a 7 aperto
in 7, ovvero
[2,7[
come faccio?
Grazie Boiler

 In una formula come $x(3k-2)y$ questi spazi /non/ vanno.
Perché no?
Kiuhnm

 come faccio?
Se LaTeX non include nessuna macro specifica, si può usare
"\left[2,7\right[".
Kiuhnm

 gridava:

Sembrerebbe funzionare! Grazie mille: il documento va in stampa tra 5
minuti.
Boiler

 scrive:

Premesso che questa notazione è brutta, la soluzione è
[2,7\mathclose{[}
Naturalmente forse è meglio prepararsi una macro, se
si usa questa notazione alcune volte.
\mathclose è una primitiva di TeX che rende il suo argomento
un atomo che obbedisce alle spaziature di una "parentesi chiusa".
Ovviamente esiste il suo corrispondente per le "parentesi aperte",
che è \mathopen.
Ciao
Enrico

 Perché no?
Perché /no/.
Ciao
Enrico

Premesso che questa notazione è brutta, la soluzione è
Tu cosa usi?
[2,7)
Secondo me questa è peggio perché per intervalli aperti hai (2,7) e
diventa ambiguo (ho in giro per il foglio anche delle coppie
ordinate).
Grazie per la risposta!
Boiler

 ordinate).
Per fortuna uso raramente intervalli non chiusi ;-)
Di solito comunque preferisco [2,7); il problema del simbolo
(2,7) che si può confondere con la coppia ordinata è quasi
inesistente se si scrive in modo non criptico, quindi dando
indizi al lettore che può capire la notazione dal contesto:
intervallo (2,7) --- punto (2,7)
Ciao
Enrico

intervallo (2,7) --- punto (2,7)
Hai ragione, difatti io non ho problemi a passare da un sistema
all'altro, gli allievi qualcuno in piú ;-)
Boiler

 \frac{r}{n}\right)\right\}
Oppure puoi usare il pacchetto nath che lo fa automaticamente 
...
-- 
Giuseppe "Oblomov" Bilotta
Can't you see
It all makes perfect sense
Expressed in dollar and cents
Pounds shillings and pence
                  (Roger Waters)

...
Cioè se io dico
\usepackage{nath}
posso lasciar via tutti i \left e \right?
Ha "effetti collaterali"?
Boiler

 ...
Mi sembrava strano che non esistesse qualcosa del genere!
Kiuhnm

 ...
Vedo che per le frazioni č ancora necessario usare \frac.
A me piacerebbe poter usare semplicemente " / ".
Kiuhnm

 Ha "effetti collaterali"?
Sì, non coopera bene con amsmath & co.


Sě, non coopera bene con amsmath & co.
Come dire che una medicina non coopera bene con la vita ;-)
Senza i pacchetti AMS non posso lavorare. Peccato.
Boiler

 Senza i pacchetti AMS non posso lavorare. Peccato.
Allora è più sicuro un bel preprocessore che non dà fastidio a nessuno.
Kiuhnm

 Senza i pacchetti AMS non posso lavorare. Peccato.
C'è da dire che se usi nath magari i pacchetti AMS non ti 
servono, poiché nath fornisce soluzioni estremamente semplici 
ed eleganti dove AMS-LaTeX richiede i vari ambienti split, 
align, aligned, alignat, multline etc.


 align, aligned, alignat, multline etc.
In ConTeXt c'č qualcosa di analogo a nath (nel monolite, intendo)?
Kiuhnm

align, aligned, alignat, multline etc.
A me servono i simboli che i pacchetti AMS mettono a disposizione.
Ciao Boiler

 In ConTeXt c'è qualcosa di analogo a nath (nel monolite, intendo)?
No, ma c'è un modulo t-nath sviluppato dal sottoscritto 
reperibile su CTAN. Ancora imperfetto, ma ci sto lavorando.



Il pacchetto amssym dovresti poterlo caricare.
