::
Diciamocelo francamente: inserire uno spazio calcolato «a mano» o aggiustato per tentativi ed errori non può essere considerata una soluzione ottimale (vedi anche l’«Aggiunta», in fondo). Si può fare molto di meglio caricando il pacchetto mathtools (che carica automaticamente anche amsmath) e quindi usando il suo comando [tt]\newcases[/tt], il quale permette di definire nuovi ambienti «di tipo [tt]cases[/tt]», per definire, appunto, una variante che centri la prima colonna. Il codice mostrato sotto ne definisce quattro, leggermente diverse fra loro.
Sfortunatamente, il comando [tt]\newcases[/tt] è inteso per utenti relativamente esperti negli aspetti di basso livello del TeX; ancor più sfortunatamente, questa sera non sono in vena di dilungarmi in spiegazioni. Spero che siano sufficienti i commenti che ho incluso nel codice:
`
% My standard header for TeX.SX answers:
\documentclass[a4paper]{article} % To avoid confusion, let us explicitly
% declare the paper format.
\usepackage[T1]{fontenc} % Not always necessary, but recommended.
% End of standard header. What follows pertains to the problem at hand.
\usepackage[italian]{babel}
\usepackage{mathtools} % automatically loads “amsmath” too
\makeatletter
% Arguments for the “\newcases” command (from “mathtools.sty”, amended):
% #1 <- name of the new environment;
% #2 <- separation between columns;
% #3 <- alignment preamble (see "The TeXbook", Ch. 22), left column;
% #4 <- alignment preamble, right column;
% #5 <- left delimiter (e.g., "\lbrace" for the standard "cases");
% #6 <- right delimiter (e.g., "." for the standard "cases");
% We'll now define four new "cases-like" environments: in all of them, the left
% column is centered, while the right column is left-aligned; the four
% environments differ in the context their contents are typeset in.
% Left column is math, right column is math:
\newcases{centercases}
{\quad}
{\hfil$\m@th{##}$\hfil} {$\m@th{##}$\hfil}
{\lbrace} {.}
% Left column is math, right column is text:
\newcases{centercases*}
{\quad}
{\hfil$\m@th{##}$\hfil} {{##}\hfil}
{\lbrace} {.}
% Left column is display-style math, right column is display-style math:
\newcases{dcentercases}
{\quad}
{\hfil$\m@th\displaystyle{##}$\hfil} {$\m@th\displaystyle{##}$\hfil}
{\lbrace} {.}
% Left column is display-style math, right column is text:
\newcases{dcentercases*}
{\quad}
{\hfil$\m@th\displaystyle{##}$\hfil} {{##}\hfil}
{\lbrace} {.}
\makeatother
\begin{document}
Quello che serve a te \`{e} \texttt{centercases*}:
\[
\binom{n}{k} =
\begin{centercases*}
\frac{n!}{k!(n-k)!} & se \( 0 \le k \le n \), \\
0 & se \( k < 0 \) o \(k > n \).
\end{centercases*}
\]
Giudica tu se preferire \texttt{dcentercases*}:
\[
\binom{n}{k} =
\begin{dcentercases*}
\frac{n!}{k!(n-k)!} & se \( 0 \le k \le n \), \\
0 & altrimenti.
\end{dcentercases*}
\]
(A me sembra meglio il secondo.)
\end{document}
`
Notare che esiste anche [tt]\renewcases[/tt], per ridefinire un ambiente esistente; gli argomenti sono gli stessi.
Aggiunta: Si noti infine che, però, con la versione originale dell’ambiente [tt]cases[/tt] (che mathtools non ridefinisce!), il trucco banale di inserire [tt]\hfil[/tt] prima di [tt]0[/tt] (che è comunque molto meglio di [tt]\mskip …[/tt] / [tt]\mkern …[/tt]) funziona! Esso, tuttavia, non funziona con le varianti ([tt]cases*[/tt], [tt]dcases[/tt], [tt]dcases*[/tt], …) definite da mathtools stesso, perché sono definite tramite [tt]\newcases[/tt] per mezzo di codice molto simile a quello mostrato sopra, e guardando quest’ultimo attentamente si capisce perché. Si potrebbero apportare, usando [tt]\renewcases[/tt], delle ovvie modifiche alle definizioni di mathtools per far sì che il trucco torni a funzionare, ma non sono sicuro di tutte le implicazioni (perché l’autore di mathtools usa [tt]{##}[/tt] nei preamboli, invece del semplice [tt]##[/tt]?), per cui, per il momento, preferisco lasciare la cosa in sospeso.
Ciao.
—
Gustavo