Encadrer une propriété / un théorème

Tout ce qui concerne le langage LaTeX et ses variantes. Ce langage est supporté sur le forum via les balises tex.

Modérateur : gdm_tex

Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
RaphaelM
Utilisateur confirmé
Utilisateur confirmé
Messages : 22
Inscription : jeudi 07 mai 2009, 19:48

Encadrer une propriété / un théorème

Message par RaphaelM »

Bonjour à tous,

Je cherche à encadrer avec un cadre rectangulaire tout simple certaines propriétés et / ou certains théorèmes.

Jusqu'à maintenant j'utilisais le code suivant que j'écrivais à chaque fois que je voulais encadrer une propriété ou un théorème:

Code : Tout sélectionner

\documentclass[11pt]{report}
\newtheorem{prop}{Propriété}
\begin{document}
\fbox{\begin{minipage}{0.95\textwidth}
\begin{prop}\rm\;
Ce résultat est très important
\end{prop}
\end{minipage}}
\end{document}
Or, cette méthode ne me plaît pas vraiment pour les raisons suivantes:

- Je trouve le cadre "trop large" : j'aimerais qu'il soit plus près du texte mais aussi qu'il y ait le même espace de tous les côtés entre le corps du texte et la bordure (je ne sais pas ce qu'il en est pour vous mais j'ai l'impression que le cadre est plus "large" en haut qu'en bas)

- Taper ceci à chaque fois que je veux encadrer un théorème est un peu long donc tant qu'à faire, ce serait super s'il existait une commande que l'on marque une fois pour toutes dans le préambule.
Avez-vous des idées?

Merci d'avance.

Cordialement.

guiguiche
Modérateur global
Modérateur global
Messages : 8074
Inscription : vendredi 06 janvier 2006, 15:32
Statut actuel : Enseignant
Localisation : Le Mans

Re: Encadrer une propriété / un théorème

Message par guiguiche »

J'avais tâtonné un peu avec ntheorem et shadethm à l'époque.
Pas d'aide par MP : les questions sont publiques, les réponses aussi.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.

RaphaelM
Utilisateur confirmé
Utilisateur confirmé
Messages : 22
Inscription : jeudi 07 mai 2009, 19:48

Re: Encadrer une propriété / un théorème

Message par RaphaelM »

Bonjour,

Moi aussi, j'ai appris que le package ntheorem existait mais je ne sais pas comment régler les dimensions du cadre autour du texte avec ce package.

Savez-vous comment faire?

Merci d'avance.

pg
Modérateur
Modérateur
Messages : 2600
Inscription : vendredi 15 juin 2007, 00:31

Re: Encadrer une propriété / un théorème

Message par pg »

j'aimerais qu'il soit plus près du texte mais aussi qu'il y ait le même espace de tous les côtés entre le corps du texte et la bordure (je ne sais pas ce qu'il en est pour vous mais j'ai l'impression que le cadre est plus "large" en haut qu'en bas)
Avec ta façon d'encadrer, c'est juste une illusion optique à cause du fait qu'il y a beaucoup moins de lettres descendantes que de lettres ascendantes. La ligne du bas a donc un effet de creux que n'a pas celle du haut.
je ne sais pas comment régler les dimensions du cadre autour du texte avec ce package
Avec le package framed (utilisé par ntheorem pour encadrer les théorèmes), tu peux jouer sur la longueur \FrameSep pour décider de la distance entre le texte et le cadre. Par exemple :

Code : Tout sélectionner

\setlength{\FrameSep}{2.5pt}
Ensuite, il suffit de définir un environnement encadre pour encadrer tes théorèmes/propriétés. Par exemple :

Code : Tout sélectionner

\documentclass{article}

\usepackage{framed}
\setlength{\FrameSep}{\fboxsep}% séparation entre le texte et le bord

\newenvironment{encadre}{%
  \setlength{\theorempreskipamount}{0pt}%
  \setlength{\theorempostskipamount}{0pt}%
  \begin{framed}%
 }{%
  \vspace{-2pt}% ajustement d'espacement en bas
  \end{framed}%
 }

\usepackage{ntheorem}
\theoremseparator{. ---}
\newtheorem{prop}{Propri\'et\'e}[section]

\usepackage{lipsum}

\begin{document}

\section{Titre}

\lipsum[1]

\begin{encadre}
\begin{prop}
\lipsum[2]
\end{prop}
\end{encadre}

\lipsum[3]

\begin{prop}
\lipsum[4]
\end{prop}

\lipsum[5]

\end{document}

RaphaelM
Utilisateur confirmé
Utilisateur confirmé
Messages : 22
Inscription : jeudi 07 mai 2009, 19:48

Re: Encadrer une propriété / un théorème

Message par RaphaelM »

Merci beaucoup pg, c'est exactement ce que je voulais!