Mon objectif est de construire une commande qui crée une boite avec un titre pour présenter mes cours. J'ai parcouru le web et trouvé différentes solutions. Évidemment aucune ne me convient parfaitement. Donc, en partant, d'un exemple j'ai modifié et complété pour arriver à ce que je voulais :
Code : Tout sélectionner
\documentclass[french,11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{babel}
\usepackage{calc}
\usepackage{pstricks,pst-plot,pst-text,pst-tree,pst-eps,pst-fill,pst-node,pst-math}
\usepackage[a4paper,left=1cm,right=1cm,top=1cm,bottom=2cm]{geometry}
\parindent=0pt
\newpsstyle{boiteinterieure}{framearc=0.2,fillstyle=solid,fillcolor=white,framesep=5mm}
\newpsstyle{boitetitre}{fillstyle=solid,fillcolor=white}
\newsavebox\boitetitre
\newsavebox\boiteint
\def\boite#1#2{%
\sbox\boiteint{\psframebox[style=boiteinterieure]{%
\begin{minipage}{0.95\linewidth}%
#2%
\end{minipage}}}%
\sbox\boitetitre{\psframebox[style=boitetitre]{%
#1%
}}%
%\newlength{\hauteurmax}%
%\setlength{\hauteurmax}{\real{0.5}+\ht\boitetitre*\real{0.5}}%
%\newlength{\yminboitetitre}%
%\setlength{\yminboitetitre}{-\ht\boitetitre}%
\begin{pspicture}(0,-\ht\boiteint)(\wd\boiteint,1.5\ht\boiteint)%\psgrid
\rput[l](0,0){\usebox\boiteint}
\rput[l](5\fboxsep,\ht\boiteint){\usebox\boitetitre}
\end{pspicture}%
}
\begin{document}
\boite{Définition}{
L'écriture $z = x + i y$ est appelée forme algébrique du nombre complexe $z$.
\begin{enumerate}
\item $x$ est appelé partie réelle de $z$ et est noté
\item $y$ est appelé partie imaginaire de $z$ et est noté
\end{enumerate}
}
\boite{Remarque}{\vspace{10cm}\hspace{15cm}}
%\boite{avec saut de lignes}{
%
%Essai avec saut de ligne
%
%}
\end{document}
Le premier est que la taille des arrondis de mes boites dépend des dimensions de celle-ci (lu dans la doc pstricks) et du coup le rendu est très laid. Je souhaiterais un rayon fixe, mais je ne sais pas comment faire.
Le deuxième est que j'aimerais placer finement le titre par rapport à la boite. Pour cela j'utilise le package calc pour faire des calculs savants à partir des dimensions de mes deux boites (le titre et le contenu). Le hic c'est que cela ne marche pas. Là je n'ai aucune certitude mais je pense que cela vient de la commande \ht qui permet de récupérer la hauteur d'une boite mais qui ne doit être reconnu que dans l'environnement pspicture. La question est donc comment récupérer les hauteurs de mes boites définies par \sbox et m'en servir ensuite ?
Le troisième est qu'en utilisant ma commande, je ne peux insérer aucun saut de ligne (voir le dernier essai que j'ai commenté). C'est réellement handicapant pour la lisibilité du fichier tex. Et là soyons franc, je n'ai aucune idée tant sur ce qui pose problème que sur la solution.
Si l'un d'entre vous peut me faire avancer dans mon apprentissage de latex et par la même occasion apporter une nouvelle "boite avec titre" à la communauté, je lui en serai gré.
Cordialement, Benoît.