Previous: Définir de nouvelles commandes et de nouveaux environnements Up: Définir de nouvelles commandes et de nouveaux environnements

Définir de nouveaux environnements

Il est possible de définir ses propres environnements grâce à la commande

newenvironment{

nom }[ nombre d'arguments ]{ définition de début }{ définition de fin }

Les définitions d'environnements peuvent se trouver dans le préambule ou dans le corps du document.

Lorsque rencontrera \begin{nom}, il le remplacera par définition de début et lorsqu'il rencontrera \end{nom}, il le remplacera par définition de fin :


\newenvironment{italitemize}{\begin{itemize} \it}{\end{itemize}}

\begin{italitemize} \item mais oui, \item ça marche ! \end{italitemize}

Généralement, les nouveaux environnements sont créés à partir d'environnements existants (comme ici).

Il est possible de créer des environnements avec argument. On en précise le nombre par nombre d'arguments dans \newenvironnement et on y fait référence dans définition de début par #1, #2...


\newenvironment{tab}[1]%
{\begin{tabular}{|#1|}\hline}%
{\hline\end{tabular}}

\begin{tab}{cc} essai & de \ l'environnement & tab \ \end{tab}

Regardez comment j'ai utilisé la commande \newenvironnement. J'ai placé les définitions de début et de fin du nouvel environnement chacune sur une ligne (c'est plus clair). Mais pour cela, j'ai mis un % à la fin des deux premières lignes. Ce % indique un commentaire. Pourtant, je n'ai mis aucun texte après. À quoi sert-il ? Il sert à empêcher de considérer le retour à la ligne comme un espace. De cette façon, je peux mettre la définition de mon nouvel environnement sur plusieurs lignes. Si je n'avais pas mis de %, aurait vu des espaces entre les trois derniers arguments de \newenvironment, ce qui, pour lui, est une erreur de syntaxe.

jmant@loria