Comment gérer les espaces entre les colonnes avec array ?
Je suis en train d'écrire un *package* (avec LaTeX3) pour écrire simplement des applications (fonctions en maths). Dans un souci de cohérence, je souhaiterais que les espaces autour des caractères deux-points et flèche soient les mêmes lorsque j'écris une fonction avec ou sans l'environnement *array* `array` (cf. exemple).
Dans ma déclaration de colonnes j'utilise `@{}` pour supprimer l'espace intercolonne et `@{⟨espace⟩}` (p. ex. `@{\quad}` ou `@{\;}`) pour faire une espace intercolonne.
On voit que l'environnement *array* `array` n'a pas le même comportement, envers les espaces en début et en fin de cellule, lorsque l'on charge le *package array* ou non :
* **Sans** le *package array* : les espaces sont **conservées**.
* **Avec** le *package array* : les espaces sont **gobées** (sauf celle devant les deux-points, je suppose que c'est dû à la définition très particulière cette espace dans la commande `\colon`).
---
\documentclass{article}
\usepackage{mathtools}
\usepackage{array} % à commenter et décommenter
\usepackage{xcolor}
\begin{document}
% en noir
$f \colon A \to B$
\vspace{-\baselineskip}\color{red}
% en rouge
$\begin{array}[t]{@{}c@{}c@{\mskip 6muplus1mu}c@{\;}c@{\;}l@{}}
f & \colon & A & \to & B\\
& & x & \mapsto & y
\end{array}$
\end{document}
J'envisage donc de charger le *package array* dans mon *package* pour éviter ces problèmes d'espaces si l'utilisateur a besoin d'utiliser le *package array*.
Voici enfin ma **question** : existe-il d'autres *packages* qui redéfinissent l'environnement *array* `array` et qui pourraient me poser des problèmes d'espaces s'ils sont chargés après le mien ?