\newtheorem

Bonjour,

Je voudrais utiliser l'environnement \newtheorem pour écrire, par exemple, des définitions dans mon texte. Je déclare donc au début :

\theorembodyfont{\normalfont}\newtheorem{Def}{Définition}

et après, dans le corps du texte :

\begin{Def}
$(P\ \mathrm{et}\ Q)$ est une nouvelle proposition, vraie lorsque $P$ et $Q$ sont vraies en même temps, fausse dans les autres cas.
\end{Def}

Ce qui me gêne c'est que le corps de la définition apparaît en italique. Comment faire pour que le texte de la définition soit normal ?

Merci d'avance, Michal

Réponses

  • Bonjour,
    Tu trouveras peut-être ton bonheur par ici.
    P.S. C'est quoi la normalité d'un texte? Evite toute ségrégation.
  • Sauf erreur, \theorembodyfont est une commande du package ntheorem. Vérifie que dans ton préambule tu as bien mis :
    \usepackage{ntheorem}
    
  • en fait, je crois qu'il s'agit plutôt de :
    \usepackage{amsthm}
    

    qui est peut-être chargé par ntheorem.
  • Le truc c'est que :

    - si je mets : \theorembodyfont{\normalfont}\newtheorem{Def}{Définition}

    \begin{Def}
    $(P\ \mathrm{et}\ Q)$ est une nouvelle proposition, vraie lorsque $P$ et $Q$ sont vraies en même temps, fausse dans les autres cas.
    \end{Def}

    la définition est en italique

    - si je mets : \theorembodyfont{\normalfont}\theoremstyle{break}\newtheorem{Def}{Définition}

    \begin{Def}
    $(P\ \mathrm{et}\ Q)$ est une nouvelle proposition, vraie lorsque $P$ et $Q$ sont vraies en même temps, fausse dans les autres cas.
    \end{Def}

    il y a un passage à la ligne et la définition est dans une police droite (normale quoi...)
  • il faut lire l'aide. Dans un premier temps, il faut
    définir son style de theorème, par exemple :

    \newtheoremstyle{mystyle}
    {10pt} % espace au-dessus
    {10pt} % espace en-dessous
    {\small} % police du texte
    {} % Indentation
    {\bfseries\sffamily} % police du titre
    {} % ponctuation après titre
    {0.5em} % espace après titre
    {}

    puis associer ce style à un environnement comme votre Def :

    \theoremstyle{mystyle}
    \newtheorem{Def}{Définition}

    Jouez avec les paramètres de mystyle pour obtenir ce que vous souhaitez.
  • Je persiste, c'est ntheorem qui permet d'utiliser la commande \begin{verbatim}\theorembodyfont{\normalfont}\end{verbatim}
    Voir ici un exemple de code "minimal" : https://www.writelatex.com/read/kzbvtqykjfxf

    Pour la doc de ntheorem, voir ici : http://bay.uchicago.edu/tex-archive/macros/latex/contrib/ntheorem/ntheorem.pdf
  • En effet. Bon, ceci dit, amsthm, qui est plus simple devrait suffire pour les besoin du fil. Mais ce que j'ai raconté ne répond pas directement à la demande.
  • Merci, je crois que j'ai obtenu ce que je voulais :
    - avant je mettais \usepackage[amsmath,amsthm,thmmarks]{ntheorem}
    - maintenant \usepackage[thmmarks]{ntheorem} et ça ne met plus tout en italique
Connectez-vous ou Inscrivez-vous pour répondre.