amsmath.faq [2000/03/24] American Mathematical Society % Traduzione dall'inglese a cura di Luca Ferrante . Domande più frequenti sul pacchetto amsmath e i pacchetti collegati. Suggerimenti? Per favore inviate una e-mail a tech-support@ams.org. ------------------------------------------------------------------------ (1) Domanda: Dove devo cercare la documentazione? Risposta: La documentazione per l'utente è costituita dal "Manuale utente per il pacchetto amsmath" (amsldoc.dvi, .pdf, .ps, .tex). Se non lo si trova sul proprio sistema, può essere scaricato da ftp://ftp.ams.org/tex/amslatex/math/amsldoc.tex Quella che segue è la lista completa dei file di documentazione: file TeX amsldoc.tex Manuale utente per il pacchetto amsmath diffs-m.txt Differenze tra le versioni 1.1, 1.2, e 2.0 di amsmath subeqn.tex Documento esemplificativo che mostra l'uso dell'ambiente subequations e l'effetto dell'opzione fleqn technote.tex Discute di alcune questioni tecniche testmath.tex Esempi di molti dei costrutti matematici messi a disposizione dal pacchetto amsmath file non-TeX amsmath.faq Questo file 00readme.txt Quadro generale install.txt Istruzioni per l'installazione ------------------------------------------------------------------------ (2) Domanda: Ottengo uno strano errore che sembra avere a che fare con un titolo di sezione o la didascalia di una figura. Risposta: Si controlli se è stato usato un comando `fragile' all'interno di un argomento `mobile' (titoli di articolo, titoli di sezione, didascalie di figure, didascalie di tavole, ecc.). Bisogna tenere presente che non tutti i comandi matematici sono robusti, e alcuni che sono robusti nel LaTeX normale diventano fragili quando si aggiunge il pacchetto amsmath (per esempio, \bigotimes). Si veda la sezione C.1.3 del libro del LaTeX. La maggior parte dei comandi matematici più comuni è stata resa robusta, ma per ognuno di essi c'è per gli utenti un prezzo nascosto da pagare: rendere un comando robusto comporta l'uso di un nome aggiuntivo nella sequenza di controllo, e questo fa sì che sia più probabile incontrare messaggi di errore come il seguente: TeX capacity exceeded [hash size=3500] A differenza della soluzione `require \protect', quest'ultimo problema può essere molto difficile da risolvere per l'utente medio. ------------------------------------------------------------------------ (3) Domanda: Perchè non posso usare un'abbreviazione per l'ambiente `align'? Risposta: È pratica piuttosto comune usare abbreviazioni come \bal ... \eal per \begin{align} ... \end{align}. Per ragioni tecniche, questo non è possibile con molte delle strutture di equazioni più complesse di amsmath (si veda technote.tex per altri particolari). ------------------------------------------------------------------------ (4) Domanda: Perchè non posso usare \begin{align} ... \end{align} nella definizione di un altro ambiente? Se si desidera creare un ambiente più elaborato usando align o uno degli altri ambienti come base, si può fare come segue: \newenvironment{mioalign}{% % qui materiale aggiuntivo \align }{% \endalign % qui materiale aggiuntivo } Si veda anche technote.tex, che comprende qualche dettaglio in più. ------------------------------------------------------------------------ (5) Domanda: Perchè \matrix, \pmatrix, e \cases hanno smesso di funzionare quando ho aggiunto il pacchetto amsmath? Risposta: La vecchia forma di quei comandi è da considerare obsoleta. Quando LaTeX è stato inizialmente scritto negli anni 1983--1985, quei tre comandi sono stati traslati direttamente da plain.tex, in mancanza di meglio. Quando il pacchetto amsmath è stato portato su LaTeX (la sua origina era in AMS-TeX), ha recato con sè comandi con lo stesso nome ma sintassi differente. Entrambi vanno malamente d'accordo con il resto di LaTeX. L'unica soluzione ragionevole è stata abbandonare sia la sintassi di AMS-TeX che quella del plain TeX. Chi utilizza il pacchetto amsmath deve pertanto seguire la sintassi tipica di un "ambiente" in LaTeX e scrivere \begin{matrix} ... \\ ... \\ ... \end{matrix} (analogamente per pmatrix e cases). ------------------------------------------------------------------------ (6) Domanda: Perchè \over, \atop, \above, ..., \overwithdelims danno degli warning quando aggiungo il pacchetto amsmath? Risposta: Quei comandi sono primitive TeX la cui sintassi insolita è inopportuna in un documento LaTeX. Inoltre usarli a livello visibile in un documento rende molto difficile ottenere certi miglioramenti, che sarebbero altrimenti possibili, nella composizione del testo. Se si usa il pacchetto amsmath i comandi \frac, \binom, e \genfrac forniscono le stesse funzionalità con la sintassi standard di LaTeX. Alcuni particolari in più sono forniti nel file technote.tex. A chi sta scrivendo un pacchetto LaTeX che usa \over o un altro operatore frazionario generalizzato per scopi interni nella costruzione di comandi più complessi, raccomandiamo di usare \@@over, \@@atop, ecc. (effettuando prima un controllo per essere certi che siano definiti) \@ifundefined{@@over}{% \let\@@over\over % ripieghiamo se non è caricato amsmath \let\@@overwithdelims\overwithdelims \let\@@atop\atop \let\@@atopwithdelims\atopwithdelims \let\@@above\above \let\@@abovewithdelims\abovewithdelims }{} ------------------------------------------------------------------------ (7) Domanda: Come faccio ad ottenere che le mie equazioni e miei teoremi condividano la stessa sequenza numerica? Risposta: \numberwithin{equation}{section}% [Se desiderato] \newtheorem{thm}[equation]{Theorem} \newtheorem{prop}[equation]{Proposition} ... ------------------------------------------------------------------------ (8) Domanda: Come faccio a mettere un riquadro attorno a tutta l'equazione, compreso il numero dell'equazione? Risposta: Dipende. Per una semplice equazione si può fare così: \newcommand{\boxedeqn}[1]{% \[\fbox{% \addtolength{\linewidth}{-2\fboxsep}% \addtolength{\linewidth}{-2\fboxrule}% \begin{minipage}{\linewidth}% \begin{equation}#1\end{equation}% \end{minipage}% }\]% } ... Qui c'è del testo che precede l'equazione nel riquadro. \boxedeqn{ X_1(j\omega) = \int\limits^{+\infty}_{-\infty} x_1(t) e^{-j\omega t} dt } E qui c'è del testo che la segue. ------------------------------------------------------------------------ (9) Domanda: Quando modifico \mathindent non vedo alcun effetto. Risposta: Il pacchetto amsmath non usa \mathindent proprio come fa il LaTeX di base. Usa invece una variabile interna \@mathmargin che è una variabile "glue" anzichè una variabile "dimen". Comunque se si aggiorna alla versione 2.0 del pacchetto amsmath si ottengono probabilmente i risultati desiderati, perché in tal caso \mathindent è un alias di \@mathmargin. ------------------------------------------------------------------------ (10) Domanda: Ho provato \raisetag ma non ha avuto alcun risultato evidente. Risposta: L'aggiustamento specificato con \raisetag non è applicato a meno che il numero dell'equazione sia stato spostato dalla sua normale posizione perché LaTeX valuta che non ci sia spazio sufficiente per contenerlo. Per una normale equazione con tanto spazio, l'aggiustamento \raisetag è ignorato. Se si sta cercando di usare \raisetag in simili circostanze, può darsi che l'oggetto da posizionare non sia un vero e proprio numero di equazione; si provi invece ad usare i comandi LaTeX standard per spostare oggetti (\makebox, \raisebox, l'ambiente picture, ecc.). ------------------------------------------------------------------------ (11) Domanda: Voglio qualcosa tipo l'ambiente "cases" che consenta di avere un numero di equazione distinto per ogni riga. Risposta: Si può provare il pacchetto "cases" di Donald Arseneau. È disponibile presso il CTAN, se non già compreso sul proprio sistema. ------------------------------------------------------------------------ (12) Domanda: Il posizionamento verticale dei simboli posti su un simbolo base con \underset e/o \overset non è soddisfacente. Risposta: Si può provare il pacchetto "accents" di Javier Bezos. È disponibile presso il CTAN. ------------------------------------------------------------------------ (13) Domanda: Con \sideset il deponente risulta sovrapposto al materiale adiacente. Risposta: È un bug. Nella versione 2.0 di amsmath non è stato ancora corretto. ------------------------------------------------------------------------ (14) Domanda: Gli estremi inferiori su \iint\nolimits sono posti troppo distanti dal simbolo di integrale. Risposta: È un bug. È stato corretto nella versione 2.0 del pacchetto amsmath. ------------------------------------------------------------------------ (15) Domanda: La spaziatura di \ldots è diversa dai valori normali di LaTeX quando aggiungo il pacchetto amsmath. Risposta: È un bug. È stato corretto nella versione 2.0 del pacchetto amsmath. ------------------------------------------------------------------------ (16) Domanda: In `xalignat' ottengo un errore `Extra & on this line'. Risposta: È un bug. È stato corretto nella versione 2.0 del pacchetto amsmath. ------------------------------------------------------------------------ (17) Domanda: La prima cella vuota nell'ambiente `aligned' porta a un errore di TeX. Risposta: In questa situazione, la tecnica con cui LaTeX scandisce gli argomenti opzionali non funziona in modo affidabile. Un opportuno accorgimento è stato aggiunto nella versione 2.0 del pacchetto amsmath. ------------------------------------------------------------------------ (18) Domanda: `align*' all'interno di `gather' risulta spostato a destra (per esempio in testmath.tex, p. 37). Risposta: È un bug. È stato corretto nella versione 2.0 del pacchetto amsmath. ------------------------------------------------------------------------ (19) Domanda: La numerazione delle equazioni è talvolta posizionata malamente, o spostata su una riga separata benché sembri esserci spazio sufficiente per mantenerla sulla stessa riga. Risposta: Qualora si abbia una versione più vecchia del pacchetto amsmath, si provi ad aggiornarla. Alcuni bug di questo tipo sono stati eliminati nella versione 2.0. ------------------------------------------------------------------------ (20) Domanda: Nonostante le opzioni fleqn + leqno, l'ambiente `align' pone la numerazione sulla destra. Risposta: È un bug. È stato corretto nella versione 2.0 del pacchetto amsmath. ------------------------------------------------------------------------ (21) Domanda: \numberwithin{equation}{chapter} con la classe di documento `report' oppure `book' aggiunge troppi livelli alla numerazione delle equazioni: (1.1.x) invece di (1.x). Risposta: È un bug. È stato corretto nella versione 2.0 del pacchetto amsmath. Se si ha una versione più vecchia, una soluzione di ripiego è semplificare la definizione di \theequation prima di chiamare \numberwithin: \renewcommand{\theequation}{\arabic{equation}} \numberwithin{equation}{chapter} ------------------------------------------------------------------------ (22) Domanda: \accentedsymbol genera il messaggio di errore `Missing number, treated as zero.' Risposta: È un bug. È stato corretto nella versione 1.2c del pacchetto amsxtra. ------------------------------------------------------------------------ (23) Domanda: Usando \ensuremath all'interno di un ambiente di allineamento (aligned, array, ecc.) ottengo un messaggio di errore che mi lascia davvero perplesso: ! Incomplete \ifmmode; all text was ignored after line 9. \fi l.9 } Risposta: Questo non è un problema specifico di amsmath, anzi pone finalmente rimedio ad una mancanza nella definizione di \ensuremath, che è stata corretta in LaTeX a partire dalla versione 1996/06/01. Se non è possibile aggiornare la propria versione di LaTeX per risolvere questo problema, può essere necessario metterci una pezza aggiungendo nei propri documenti la seguente dichiarazione: \DeclareRobustCommand\ensuremath[1]{\ifmmode#1\else{$#1$}\fi} ------------------------------------------------------------------------ (24) Domanda: Voglio mostrare un esempio di alcune righe da scrivere al computer, centrato rispetto a un numero di equazione. amsmath non permette di usare \verb nell'ambiente equation. Come posso creare questo esempio? Risposta: Dalla versione 2.0 di amsmath, questo non è più valido per ambienti equation semplici. Per ambienti speciali come align, gather, split, multline, aligned, alignat, ecc., occorre prima memorizzare il testo usando un ambiente lrbox, e poi richiamarlo con \usebox (se non si sa come usare lrbox e \usebox, si veda il libro del LaTeX (2a edizione) e/o la documentazione usrguide.tex fornita con LaTeX). ------------------------------------------------------------------------ (25) Domanda: In amsmath.sty sono scomparsi @! e @, che erano in amstex.sty. Come faccio ad ottenere lo stesso risultato usando amsmath? Risposta: Per @ bisogna usare \mspace{.3mu}, e per @! \mspace{-.3mu}. Comunque, siccome questi spazi molto piccoli sono normalmente usati in gruppi di tre o più, si tenga presente che è meglio sostituire @!@!@! con \mspace{-.9mu} piuttosto che con tre comandi \mspace separati. ------------------------------------------------------------------------