Memore di quanto emerso sul forum, i comandi \left e \tight andrebbero evitati, visto che introducono delle spaziature extra indesiderate. Finora ho usato le seguenti definizioni di valore assoluto e norma:
`\newcommand{\abs}[1]{\left\lvert#1\right\rvert}
\newcommand{\norma}[1]{\left\lVert#1\right\rVert}`
C’è modo di migliorare questi comandi, eventualmente eliminando l’uso di \left e \right? Sulla documentazione di mathtools ho letto qualcosa sulla definizione di abs, ma non mi ha aiutato a trovare un comando ottimale.
`\makeatletter
\newcommand\abs{\@ifstar{\@abs\@firstofone}{\@abs\mathord}}
\newcommand{\@abs}[2]{#1{\left|#2\right|}}
\makeathother`
In questo modo \abs{x} non ha spazi maggiori attorno, mentre \abs*{x} li ha.
Se non hai bisogno di spazi allargati in alcun caso
`\newcommand{\abs}[1]{{\left|#1\right|}}`
Una parola di commento. La definizione di \@firstofone e’
`\def\@firstofone#1{#1}`
Il suo scopo e’ di togliere, se ci sono, le graffe attorno all’argomento. Percio’ \abs{x} diventa \@abs\@firstofone{x} che diventa \left|x\right|. Invece \abs*{x} diventa \@abs\mathord{x} che diventa \mathord{\left|x\right|}.
Dopo \left o \right, si puo’ tranquillamente usare | invece di \lvert o \rvert.
Ciao
Enrico