\NeedsTeXFormat{LaTeX2e} \def\PackageName{bclogo} \def\fileversion{v2.1} \def\filedate{2009/04/01} \ProvidesPackage{bclogo} [\filedate\space\fileversion] \RequirePackage{xkeyval} %% Les options globales du package sont au nombre de 2: tikz ou pstricks \newif\iftikz\tikzfalse% \define@key{bclogo.sty}{pstricks}[]{\tikzfalse}% \define@key{bclogo.sty}{tikz}[]{\tikztrue}% \ProcessOptionsX% \iftikz% \RequirePackage{tikz}% \usetikzlibrary{shadows}% \else% \RequirePackage{pstricks}% \RequirePackage{pst-grad}% \RequirePackage{graphicx}% \fi% % les symboles % ============================================================================== \iftikz% % la fleur \newcommand\bcfleur{\includegraphics[width=17pt]{fleur}} % une note (Thomas Laburussias) \newcommand\bcnote{\includegraphics[width=17pt]{note}} % panneau chantier (Jean-Michel Sarlat) \newcommand\bcpanchant{\includegraphics[width=17pt]{aux-301}} % ours \newcommand\bcours{\includegraphics[width=17pt]{ours}} % etoile \newcommand\bcetoile{\includegraphics[width=17pt]{etoile}} % attention \newcommand\bcattention{\includegraphics[width=17pt]{attention}} % attention P.Fradin \newcommand\bctakecare{\begingroup\input{takecare.pgf}\endgroup} % lampe P.Fradin \newcommand\bclampe{\begingroup\input{lampe.pgf}\endgroup} % coeur \newcommand\bccoeur{\includegraphics[width=17pt]{coeur}} % ornement (tire du site http://openclipart.org ) \newcommand\bcorne{\includegraphics[width=17pt]{orne}} % danger (Francois) \newcommand\bcdanger{\includegraphics[width=17pt]{danger}} % smiley bonne humeur (Francois) \newcommand\bcsmbh{\includegraphics[width=17pt]{smiley_bonnehumeur}} % smiley bonne humeur (Francois) \newcommand\bcsmmh{\includegraphics[width=17pt]{smiley_mauvaisehumeur}} % le trefle \newcommand\bctrefle{\includegraphics[width=17pt]{trefle}} % livre P.Fradin \newcommand\bcbook{\begingroup\input{book.pgf}\endgroup} \else%pstricks % la fleur \newcommand\bcfleur{\begingroup\input{fleur.tex}\endgroup} % une note (Thomas Laburussias) \newcommand\bcnote{\begingroup\input{note.tex}\endgroup} % panneau chantier (Jean-Michel Sarlat) \newcommand\bcpanchant{\includegraphics[width=17pt]{aux-301.eps}} % ours \newcommand\bcours{\begingroup\input{ours.tex}\endgroup} % etoile \newcommand\bcetoile{\begingroup\input{etoile.tex}\endgroup} % attention \newcommand\bcattention{\begingroup\input{attention.tex}\endgroup} % attention P.Fradin \newcommand\bctakecare{\begingroup\input{takecare.pst}\endgroup} % lampe P.Fradin \newcommand\bclampe{\begingroup\input{lampe.pst}\endgroup} % coeur \newcommand\bccoeur{\begingroup\input{coeur.tex}\endgroup} % ornement (tire du site http://openclipart.org ) \newcommand\bcorne{\begingroup\input{orne.tex}\endgroup} % danger (Francois) \newcommand\bcdanger{\begingroup\input{danger.tex}\endgroup} % smiley bonne humeur (Francois) \newcommand\bcsmbh{\begingroup\input{smiley_bonnehumeur.tex}\endgroup} % smiley bonne humeur (Francois) \newcommand\bcsmmh{\begingroup\input{smiley_mauvaisehumeur.tex}\endgroup} % le trefle \newcommand\bctrefle{\begingroup\input{trefle.tex}\endgroup} % livre P.Fradin \newcommand\bcbook{\begingroup\input{book.pst}\endgroup} \fi % =========================== La fonction listable ============================= \newcommand{\titrebclogo}{Liste des \texttt{bclogo}} \newcommand\bccaption[1]{\addcontentsline{bcl}{bclogo}{#1}} \newcommand\listofbclogo{\section*{\titrebclogo}\@starttoc{bcl}} \newcommand\l@bclogo[2]{\par\noindent #1,~\textit{page~#2}} % ======================================= les keys ============================= \define@key{bclogo}{logo}[\bcfleur]{\def\val@logo{#1}} \define@key{bclogo}{couleur}[white]{\def\val@couleur{#1}} \define@key{bclogo}{arrondi}[0]{\def\val@arrondi{#1}} \define@key{bclogo}{epOmbre}[0.125]{\def\val@epOmbre{#1}} \define@key{bclogo}{arrondi}[0]{\def\val@arrondi{#1}} \define@key{bclogo}{couleurOmbre}[black]{\def\val@couleurOmbre{#1}} \define@boolkey{bclogo}{cadretitre}[true]{} \define@boolkey{bclogo}{ombre}[true]{} % selection par defaut \presetkeys{bclogo}{logo, couleur, arrondi, couleurOmbre, epOmbre, ombre=false, cadretitre=false}{}% %=============================================================================== \newsavebox{\envbox} %%% precaution JCC \newcommand*\bclogotitre{} \newlength{\pgfframesep} \setlength{\pgfframesep}{\iftikz3pt\else\psframesep\fi} \newenvironment*{bclogo}[2][]{% \setkeys{bclogo}{#1} %on recupere les options \par\noindent % attention au retrait d'alinea %%% Ajout de JCC : il faut definir les commandes qui seront %%% utilisees dans la deuxieme partie de l'environnement %%% commande titre \renewcommand*\bclogotitre{#2} % La commande pour les coins arrondis \newcommand{\arr}{\val@arrondi} %%% deux types de titres \ifKV@bclogo@cadretitre %si cadretitre = true \newcommand{\structitre}{% \iftikz% cadretitre tizk \hfil \raisebox{-0.0ex}{% \begin{tikzpicture}\node[rectangle, thick, top color=red!60!green!40, bottom color=white,draw]{\large #2}; \end{tikzpicture}} \hfil% \else% cadretitre pstricks \hfil \psframebox[fillstyle=gradient,gradmidpoint=0.2, gradangle=0,gradbegin=red!60!green!40, gradend=white]{\large #2} \hfil% \fi } \else %sinon \newcommand{\structitre}{\large \textbf{#2}}% \fi% \begin{lrbox}{\envbox} \ifKV@bclogo@ombre % si l'ombre, on reduit pour que ca loge sur la % largeur de la page (-\val@epOmbre) \begin{tabular}{@{}c@{}p{\dimexpr\linewidth-2\pgfframesep-4pt-17pt-\val@epOmbre cm}@{}} \else \begin{tabular}{@{}c@{}p{\dimexpr\linewidth-2\pgfframesep-4pt-17pt}@{}} \fi \begin{minipage}{20pt}{\val@logo}\end{minipage}& \begin{minipage}{\dimexpr\linewidth-2\pgfframesep-4pt-17pt}{\structitre}\end{minipage}\\%[0ex] \vrule width 0.05cm&% } {% \bccaption{\bclogotitre} \end{tabular}% \end{lrbox}% % Affiche le texte dans un cadre en couleur. \iftikz% texte tikz \par\noindent \begin{tikzpicture}% \ifKV@bclogo@ombre %cadre ombre \node[fill=\val@couleur,thick, shape=rectangle, inner sep=\pgfframesep, rounded corners=\arr cm,% general shadow={fill=\val@couleurOmbre},shadow xshift=\val@epOmbre cm, shadow yshift=-\val@epOmbre cm, draw]{\usebox{\envbox}}; \else %cadre sans ombre \node[fill=\val@couleur,thick, shape=rectangle, inner sep=\pgfframesep,rounded corners=\arr cm, draw]{\usebox{\envbox}}; \fi \end{tikzpicture} \par% \else% texte pstricks \noindent \ifKV@bclogo@ombre%cadre ombre \rput[tl](-0.21,0){\psframebox[fillstyle=solid, shadow=true, shadowsize=\val@epOmbre cm,% shadowcolor=\val@couleurOmbre, fillcolor=\val@couleur,framearc=\arr]{\usebox{\envbox}}}% \else%cadre sans ombre \rput[tl](-0.21,0){\psframebox[fillstyle=solid, fillcolor=\val@couleur,framearc=\arr]{\usebox{\envbox}}}% \fi% \par\vspace*{\dimexpr\ht\envbox+\dp\envbox+2\psframesep+2\pslinewidth} \fi%fin \ifKV@bclogo@ombre\vspace*{\val@epOmbre cm}\fi }%