Comment mettre en page des théorèmes ?#

Pour présenter des théorèmes, lemmes, propositions ou bien encore axiomes, il existe plusieurs possibilités, présentées ici.

Si vous cherchez à ajouter un carré en fin de texte du théorème, vous pouvez consulter la question « Comment ajouter un carré en fin de démonstration ? ».

1.  Avec les commandes de base#

dispose de la commande \newtheorem qui existe sous deux formes :

\newtheorem{⟨nom⟩}[⟨compteur⟩]{⟨texte⟩}[⟨section⟩]
\newtheorem{⟨nom⟩}[⟨compteur⟩]{⟨texte⟩}

Dans cette définition :

  • ⟨nom⟩ est une clé pour identifier le théorème ;

  • ⟨texte⟩ le titre du théorème qui sera imprimé ;

  • ⟨compteur⟩ permet de référencer un autre type de théorème en suivant le numérotation des théorèmes désignés dont le ⟨nom⟩ est ⟨compteur⟩. La deuxième forme est donc adaptée pour créer des éléments qui incrémentent ;

  • ⟨section⟩ permet de préciser le niveau de numérotation voulu pour la numérotation des théorèmes (cela peut donc valoir chapter, section, subsection).

En voici un exemple :

\documentclass{article}
  \usepackage{lmodern} % Caractères plus lisibles
  \pagestyle{empty}    % N'affiche pas de numéro de page

  \newtheorem{th-imp}{Théorème important}[section]
  \newtheorem{th-u}{Théorème}[subsection]

\begin{document}
\section{Introduction}
\begin{th-imp} \label{th-AA}
    BLA BLA
\end{th-imp}
\subsection{Bases}

\begin{th-u} \label{th-aaa}
   bla bla bla
\end{th-u}

\begin{th-u}
   bla bla
\end{th-u}

\section{Conclusion}

Le théorème important~\ref{th-AA} est à apprendre par c\oe{}ur
tandis que le théorème~\ref{th-aaa} peut être utile.
\end{document}

2.  Avec l’extension ntheorem#

L’extension ntheorem peut générer une liste des théorèmes de la même manière que \listoffigures, est compatible avec mathtools (et donc amsmath), permet d’ajouter des symboles à la fin d’un théorème (carré, q.e.d.), et permet également la référence à d’autres théorèmes. Pour plus de précisions, voir la documentation de l’extension. Voici un exemple d’utilisation.

\documentclass{article}
  \usepackage{lmodern} % Caractères plus lisibles
  \pagestyle{empty}    % N'affiche pas de numéro de page
  \usepackage[thmmarks]{ntheorem}

  {\theoremstyle{changebreak}
  \theoremindent0.5cm
  \theoremnumbering{greek}
  \newtheorem{Lemma}{Lemme}}

  {\theoremheaderfont{\normalfont%
    \bfseries}
  \theorembodyfont{\slshape}
  \theoremsymbol{\ensuremath{%
    \diamondsuit}}
  \theoremseparator{:}
  \newtheorem{Theorem}{Théorème}}

  {\theoremheaderfont{\sc}%
    \theorembodyfont{\upshape}
  \theoremstyle{nonumberplain}
  \theoremseparator{}
  \theoremsymbol{\rule{1ex}{1ex}}
  \newtheorem{Proof}{Preuve}}

\begin{document}
\begin{Theorem}[Théorème complexe]
Voici l'énoncé de mon théorème.

\begin{Lemma}[Equation]
\label{lem=equ}
   Un lemme important :
\begin{equation}
  0+0=\mbox{la t\^ete à toto}
\end{equation}
\end{Lemma}

\begin{Proof}[de rien]
  D'après le lemme $\alpha$, le théorème est évident.
\end{Proof}
Fin du théorème.
\end{Theorem}
\end{document}

3.  Avec l’extension theorem#

L’extension theorem augmente les possibilités de présentation de l’environnement pour les théorèmes que propose par défaut.

4.  Avec l’extension mathtools#

L’extension mathtools (ou amsmath) définit l’environnement proof insérant un carré.

À faire

Présenter amsthm.

5.  Avec l’extension shadethm#

L’extension shadethm permet d’écrire des théorèmes sur fond ombré.

6.  Avec l’extension nccthm#

L’extension nccthm permet de faire à peu près la même chose que ntheorem. Il dispose de compteurs dynamiques, de différents styles, de symboles de fin de preuve, etc. Se reporter à la documentation de l’extension pour plus d’informations.

7.  Récapitulatif#

Extension

amsthm

theorem

ntheorem

Retour à la ligne après le titre

x

x

x

Pas de numérotation d’un théorème

x

x

Position du numéro du théorème

x

x

Style de la numérotation

x

Ponctuation après le titre (:, ., etc.)

x

x

Police du titre ou du corps

x

x

x

Indentation du titre

x

Espace vertical autour du théorème

x

x

x

Symbole de fin de preuve

x

x

À faire

Revoir le tableau du fait des autres extensions évoquées.