[Résolu] Créer un nouvel environnement

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

[Résolu] Créer un nouvel environnement

Messagepar Fabrice Couvreur » Dimanche 10 Juillet 2011, 00:08

Bonsoir à tous,
Le code ci-après crée un nouvel environnement :

Code: Tout sélectionner
\documentclass[a4paper,10pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[upright]{fourier}
\usepackage{xcolor,color}
\usepackage[frenchb]{babel}
\usepackage{amsmath,mathrsfs,amssymb,amsthm}
\newcounter{presentation}
\renewcommand{\thepresentation}{\textcolor{red}{\textbf{\arabic{presentation}}}}
\theoremstyle{definition} \newtheorem{pro}[presentation]{\textcolor{red}{Propriété}}
\newenvironment{presentation}{\begin{pro}\textcolor{red}{\rule{1.0\linewidth}{0.5pt}}}{\end{pro}\noindent\textcolor{red}{\rule{1.0\linewidth}{0.5pt}}}
\begin{document}
\begin{presentation}
Si un triangle ABC est rectangle en A, alors on a :
\[BC^{2}=BA^{2}+AC^{2}.\]
\end{presentation}
\end{document}


Plusieurs "petits" points restent à régler :
a) Comment faire pour que le point après "Propriété 1" soit rouge ?
b) Comment faire pour que le trait du haut s'adapte à la longueur de la ligne courante ?
c) J'ai voulu ajouter un argument à la définition de mon environnement afin de pouvoir l'utiliser pour Théorème, Définition, Lemme ...., mais cela ne fonctionne pas car je pense que les arguments ne sont pris en compte qu'au début :

Code: Tout sélectionner
\newenvironment{presentation}[1]{\begin{#1}\textcolor{red}{\rule{1.0\linewidth}{0.5pt}}}{\end{#1}\noindent\textcolor{red}{\rule{1.0\linewidth}{0.5pt}}}


Merci.
Dernière édition par Fabrice Couvreur le Mardi 12 Juillet 2011, 17:04, édité 1 fois.
Fabrice Couvreur
Giga-utilisateur
 
Messages: 594
Inscription: Samedi 18 Août 2007, 00:55

Publicité

Re: Créer un nouvel environnement.

Messagepar JojoBoulix » Lundi 11 Juillet 2011, 14:15

Bonjour.

Je propose de faire faire plus de choses à newtheorem en utilisant newtheoremstyle au moins pour l'entête du théorème :

Code: Tout sélectionner
\documentclass[a4paper,10pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[upright]{fourier}
\usepackage{xcolor,color}
\usepackage[frenchb]{babel}
\usepackage{amsmath,mathrsfs,amssymb,amsthm}
 
% cf. http://forum.mathematex.net/latex-f6/epaisseur-et-positionnement-de-hrulefill-t9273.html
\renewcommand*{\hrulefill}[1][0.3mm]{\leavevmode \leaders \hbox to 1pt{\rule{1pt}{#1}} \hfill \kern 0pt}
   
\newtheoremstyle{defrouge}{3pt}{}{}{}{\color{red}\bf}{. \hrulefill[0.5pt]}{\newline}{}
\theoremstyle{defrouge}\newtheorem{pro}{Propri\'et\'e}
   
\newenvironment{presentation}{\begin{pro}}{\end{pro}\noindent\textcolor{red}{\rule{1.0\linewidth}{0.5pt}}}
   
\begin{document}
\begin{presentation}
Si un triangle ABC est rectangle en A, alors on a :
\[BC^{2}=BA^{2}+AC^{2}.\]
\end{presentation}
\end{document}


Pour le c), en effet, il faut stocker ce qu'on veut conserver à la clôture de l'environnement dans une variable...

Cordialement,
AB.
JojoBoulix
Déca-utilisateur
 
Messages: 36
Inscription: Lundi 08 Décembre 2008, 15:07
Statut actuel: Actif et salarié | Maître de conférence

Re: Créer un nouvel environnement.

Messagepar Fabrice Couvreur » Mardi 12 Juillet 2011, 09:43

Bonjour,
@ JojoBoulix
Merci pour ton aide, cela répond à mes attentes ; je ne connaissais pas newtheoremstyle.
JojoBoulix a écrit:il faut stocker ce qu'on veut conserver à la clôture de l'environnement dans une variable...

Peux-tu m'en dire un peu plus ?
Fabrice Couvreur
Giga-utilisateur
 
Messages: 594
Inscription: Samedi 18 Août 2007, 00:55

Re: Créer un nouvel environnement.

Messagepar JojoBoulix » Mardi 12 Juillet 2011, 12:29

Bonjour.

Oui : par exemple, ici, j' utilise la "variable" \closePres pour stocker l'environnement qu'on doit fermer.

Code: Tout sélectionner
\documentclass[a4paper,10pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[upright]{fourier}
\usepackage{xcolor,color}
\usepackage[frenchb]{babel}
\usepackage{amsmath,mathrsfs,amssymb,amsthm}
     
% cf. http://forum.mathematex.net/latex-f6/epaisseur-et-positionnement-de-hrulefill-t9273.html
\renewcommand*{\hrulefill}[1][0.3mm]{\leavevmode \leaders \hbox to 1pt{\rule{1pt}{#1}} \hfill \kern 0pt}
   
\newtheoremstyle{defrouge}{3pt}{}{}{}{\color{red}\bf}{. \hrulefill[0.5pt]}{\newline}{}
\theoremstyle{defrouge}
\newtheorem{pro}{Propri\'et\'e}
\newtheorem{defi}{D\'efinition}

\newenvironment{presentation}[1]{\begin{#1}\def\closePres{#1}}{\expandafter\end\expandafter{\closePres}\noindent\textcolor{red}{\rule{1.0\linewidth}{0.5pt}}}
       
\begin{document}
\begin{presentation}{defi}
On appelle triangle un polygone \`a trois c\^ot\'es.
\end{presentation}

\begin{presentation}{pro}
Si un triangle ABC est rectangle en A, alors on a :
\[BC^{2}=BA^{2}+AC^{2}.\]
\end{presentation}

\begin{presentation}{defi}
On appelle quadrilat\`ere un polygone \`a quatre c\^ot\'es.
\end{presentation}
\end{document}


Cordialement,
AB.
JojoBoulix
Déca-utilisateur
 
Messages: 36
Inscription: Lundi 08 Décembre 2008, 15:07
Statut actuel: Actif et salarié | Maître de conférence

Re: Créer un nouvel environnement.

Messagepar Fabrice Couvreur » Mardi 12 Juillet 2011, 17:04

Bonjour,
C'est parfait !
Merci.
Fabrice Couvreur
Giga-utilisateur
 
Messages: 594
Inscription: Samedi 18 Août 2007, 00:55


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Google [Bot], Proximic [Spider] et 27 invités