`\begin{tabular}{|>{\centering\hspace{0pt}}m{1cm}
|>{\centering\hspace{0pt}}m{1cm}
|>{\centering\hspace{0pt}}m{1cm}|}
\hline
mare & sole & luna \\
\hline
\end{tabular}`Così sarebbe perfetto però a me da un errore di \noalign e non so perché e non so che significa.
…
Il problema, che è esposto chiaramente nella documentazione di array, è che \centering ridefinisce \\ (per ottimi motivi). Hai due alternative. La prima è di scrivere`>{\centering\arraybackslash\hspace{0pt}}m{1cm}`La seconda è di usare \tabularnewline per terminare la cella. Userai la prima se non devi dare “a capo” espliciti nelle celle, dovrai servirti della seconda (leggermente più scomoda) altrimenti.
Naturalmente, se devi usare molti allineamenti di quel tipo, ti conviene definirti un nuovo specificatore di colonne:`\newcolumntype{M}[1]{>{\centering\hspace{0pt}}m{#1}}`in modo da specificare la tabella di prima con`\begin{tabular}{|*{3}{M{1cm}|}}
\hline
mare & sole & luna \tabularnewline
\hline
\end{tabular}`Ciao
Enrico