====== Boîtes colorées sous forme d'environnement ======
===== Code =====
Le codage suivant est de Jean-Côme Charpentier. Il nécessite ''pstricks'' et le package ''calc''.
\newsavebox{\dangerbox}
% On règle les marges définitivement ici
\newlength{\marge}\setlength{\marge}{5mm}
% Contrôle fin pour le panneau
\newlength{\margehaut}\setlength{\margehaut}{2mm}
\newenvironment{Danger}{%
\par
\begin{lrbox}{\dangerbox}
\begin{minipage}{\linewidth-2\marge-2\pslinewidth}
\par\vspace*{\margehaut}
}
{%
\end{minipage}%
\end{lrbox}
% Affiche le texte dans un cadre en couleur.
\rput[tl](0,0){%
\psframebox[fillstyle=solid, fillcolor=yellow, framesep=\marge]{%
\usebox{\dangerbox}%
}%
}%
% Efface le trait juste ce qu'il faut
\rput(\marge,0){%
\psline[linewidth=2\pslinewidth,linecolor=white](0,0)(2.4em,0)
}
% Affiche le panneau
\rput(2\marge,0){\Large\textdbend}
% Réserve la place verticale pour la suite
\par
\setlength{\marge}{\ht\dangerbox+\dp\dangerbox+2\marge}
\vspace{\marge}
}
===== Utilisation =====
toto va bien :)
\begin{Danger}
Voici un danger : ne pas divulger directement ce que
l'on veut faire. C'est plus facile pour JCC si on lui
dit tout :)
\end{Danger}
Du texte qui suit, suffisamment long pour montrer que
le cadre a une largeur très exactement égale à celle de
l'empagement.
===== Résultat =====
{{:jccdanger1.png}}
===== Une variante =====
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[a4paper]{geometry}
\usepackage{pstricks}
\usepackage{calc}
\usepackage{manfnt}
\usepackage{lmodern}
\usepackage[frenchb]{babel}
\newsavebox{\dangerbox}
% On règle les marges définitivement ici
\newlength{\marge}\setlength{\marge}{4mm}
% Contrôle fin pour le panneau
\newlength{\margehaut}\setlength{\margehaut}{2mm}
\newenvironment{Danger}{%
\par\vspace{2mm} % Ajout pour que le haut du panneau ne touche pas
\noindent % le texte au-dessus.
\begin{lrbox}{\dangerbox}
\begin{minipage}{\linewidth-2\marge-2\pslinewidth}
\par\vspace*{\margehaut}
}
{%
\end{minipage}%
\end{lrbox}%
% Affiche le texte dans un cadre en couleur.
\rput[tl](0,0){%
\psframebox[fillstyle=solid, fillcolor=yellow, framesep=\marge]{%
\usebox{\dangerbox}%
}%
}%
% Les trois lignes de code ci-dessous deviennent inutiles
% % Efface le trait juste ce qu'il faut
% \rput(\marge,0){%
% \psline[linewidth=2\pslinewidth,linecolor=white](0,0)(2.4em,0)
% }
% Affiche le panneau (avec \psframebox* maintenant)
\rput(2\marge,0){\psframebox*{\Large\textdbend}}
% Réserve la place verticale pour la suite
\par
\setlength{\marge}{\ht\dangerbox+\dp\dangerbox+2\marge}
\vspace{\marge}
}
\pagestyle{empty}
\begin{document}
toto va bien :)
\begin{Danger}
Voici un danger : ne pas divulger directement ce que
l'on veut faire. C'est plus facile pour JCC si on lui
dit tout :)
\end{Danger}
Du texte qui suit, suffisamment long pour montrer que
le cadre a une largeur très exactement égale à celle de
l'empagement.
\end{document}
{{ cp:variante_boite_coloree.png }}
===== Disque, rectangle ou ellipse, au choix ! =====
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[a4paper]{geometry}
\usepackage{pstricks}
\usepackage{calc}
\usepackage{manfnt}
\usepackage{lmodern}
\usepackage[frenchb]{babel}
\newsavebox{\dangerbox}
% On règle les marges définitivement ici
\newlength{\marge}\setlength{\marge}{4mm}
% Contrôle fin pour le panneau
\newlength{\margehaut}\setlength{\margehaut}{2mm}
\newenvironment{Danger}{%
\par\vspace{2mm} % Ajout pour que le haut du panneau ne touche pas
% le texte au-dessus.
\noindent
\begin{lrbox}{\dangerbox}
\begin{minipage}{\linewidth-2\marge-2\pslinewidth}
\par\vspace*{\margehaut}
}
{%
\end{minipage}%
\end{lrbox}%
% Affiche le texte dans un cadre en couleur.
\rput[tl](0,0){%
\psframebox[fillstyle=solid, fillcolor=yellow, framesep=\marge]{%
\usebox{\dangerbox}%
}%
}%
%%% Décommenter la ligne voulue pour avoir un rectangle,
%%% un cercle ou une ellipse comme fond.
% Affiche le panneau (dans un rectangle sur fond blanc)
%%% \rput(2\marge,0){\psframebox*{\Large\textdbend}}
% Affiche le panneau (dans un disque sur fond blanc)
%%% \rput(2\marge,0){\pscirclebox*[framesep=1pt]{\Large\textdbend}}
% Affiche le panneau (dans une ellipse sur fond blanc)
\rput(2\marge,0){\psovalbox*[framesep=-2pt]{\Large\textdbend}}
% Réserve la place verticale pour la suite
\par
\setlength{\marge}{\ht\dangerbox+\dp\dangerbox+2\marge}
\vspace{\marge}
}
\pagestyle{empty}
\begin{document}
toto va bien :)
\begin{Danger}
Voici un danger : ne pas divulger directement ce que
l'on veut faire. C'est plus facile pour JCC si on lui
dit tout :)
\end{Danger}
Du texte qui suit, suffisamment long pour montrer que
le cadre a une largeur très exactement égale à celle de
l'empagement.
\end{document}
==== Ellipse ====
{{ cp:variante_boite_coloree_2.png }}
==== Disque ====
{{ cp:variante_boite_coloree_3.png }}