diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/bclogo/bclogo.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/bclogo/bclogo.sty | 246 |
1 files changed, 163 insertions, 83 deletions
diff --git a/Master/texmf-dist/tex/latex/bclogo/bclogo.sty b/Master/texmf-dist/tex/latex/bclogo/bclogo.sty index 38d107de868..34df91222ed 100644 --- a/Master/texmf-dist/tex/latex/bclogo/bclogo.sty +++ b/Master/texmf-dist/tex/latex/bclogo/bclogo.sty @@ -1,105 +1,185 @@ \NeedsTeXFormat{LaTeX2e} +\def\PackageName{bclogo} +\def\fileversion{v2.1} +\def\filedate{2009/04/01} +\ProvidesPackage{bclogo} + [\filedate\space\fileversion] +\RequirePackage{xkeyval} -\ProvidesPackage{bclogo}[2008/03/12, V1.31] +%% Les options globales du package sont au nombre de 2: tikz ou pstricks -% extensions - -\RequirePackage{pstricks} -\RequirePackage{pst-grad} -\RequirePackage{tabularx} -\RequirePackage{graphicx} -\RequirePackage{ifthen} -%\RequirePackage{xkeyval} -%les symboles -%========================================================================================== -%la fleur -\newcommand\fleur{\begingroup\input{fleur}\endgroup} -%une note (Thomas Laburussias) -\newcommand\note{\begingroup\input{note}\endgroup} -%panneau chantier (Jean-Michel Sarlat) -\newcommand{\panchant}{\includegraphics[width=17pt]{aux-301.eps}} -%ours -\newcommand\ours{\begingroup\input{ours.tex}\endgroup} -%étoile -\newcommand\etoile{\begingroup\input{etoile.tex}\endgroup} -%attention -\newcommand\attention{\begingroup\input{attention.tex}\endgroup} -%coeur -\newcommand\coeur{\begingroup\input{coeur.tex}\endgroup} -%ornement (tiré du site http://openclipart.org ) -\newcommand\orne{\begingroup\input{orne.tex}\endgroup} -%danger (François) -\newcommand\danger{\begingroup\input{danger.tex}\endgroup} -%smiley bonne humeur (François) -\newcommand\smbh{\begingroup\input{smiley_bonnehumeur.tex}\endgroup} -%smiley bonne humeur (François) -\newcommand\smmh{\begingroup\input{smiley_mauvaisehumeur.tex}\endgroup} -%================================================================================= +\newif\iftikz\tikzfalse% +\define@key{bclogo.sty}{pstricks}[]{\tikzfalse}% +\define@key{bclogo.sty}{tikz}[]{\tikztrue}% +\ProcessOptionsX% -%=========================== La fonction listable ================================ + + +\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}} -\makeatletter \newcommand\listofbclogo{\section*{\titrebclogo}\@starttoc{bcl}} \newcommand\l@bclogo[2]{\par\noindent #1,~\textit{page~#2}} -\makeatother -%================================================================================= -\makeatletter -%======================================= les keys ================================ -\ifx\PSTXKeyLoaded\endinput\else\input pst-xkey \fi -\def\fileversion{1.31} -\def\filedate{2008/09/18} -\message{`bclogo' v\fileversion, \filedate} +% ======================================= les keys ============================= -\pst@addfams{bclogo} -\define@key[psset]{bclogo}{logo}{\def\val@logo{#1}} -\define@key[psset]{bclogo}{couleur}{\def\val@couleur{#1}} -\define@key[psset]{bclogo}{arrondi}{\def\val@arrondi{#1}} -\psset[bclogo]{logo=\fleur,couleur=white,arrondi=0} +\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]{} -\define@boolkey[psset]{bclogo}[Pst@]{cadretitre}[false]{} -\psset[bclogo]{cadretitre}% set to the default, which is false +% selection par defaut +\presetkeys{bclogo}{logo, couleur, arrondi, couleurOmbre, epOmbre, ombre=false, cadretitre=false}{}% -%================================================================================= +%=============================================================================== \newsavebox{\envbox} -%%% précaution JCC -\newcommand*\bclogocolor{} +%%% precaution JCC \newcommand*\bclogotitre{} +\newlength{\pgfframesep} +\setlength{\pgfframesep}{\iftikz3pt\else\psframesep\fi} \newenvironment*{bclogo}[2][]{% - \psset[bclogo]{#1} %on récupère les options - \par\noindent % attention au retrait d'alinéa -%%% Ajout de JCC : il faut définir les commandes qui seront untilisées dans la deuxième partie de l'environnement -%%% commande titre - \renewcommand*\bclogotitre{#2} - \renewcommand*\bclogocolor{\val@couleur} -%La commande pour les coins arrondis - \newcommand{\arr}{\val@arrondi} -%%% deux types de titres - \ifPst@cadretitre %si cadretitre = true - \newcommand{\structitre}{ \rput({\dimexpr -17pt+0.5\linewidth},0.1){\psframebox[fillstyle=gradient,gradmidpoint=0.2, gradangle=0,gradbegin=red!60!green!40, gradend=white]{\large #2}}} - \else %sinon - \newcommand{\structitre}{{\large \textbf{#2}}} - \fi -% - \begin{lrbox}{\envbox} - \begin{tabular}{@{}c@{}p{\dimexpr\linewidth-2\psframesep-2\pslinewidth-17pt}@{}} - \raisebox{-3mm}{\val@logo} &\structitre \\[1ex] - \vrule width 0.05cm& + \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}% + \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 - \rput[tl](-0.18,0){% - \psframebox[fillstyle=solid, fillcolor=\bclogocolor,framearc=\arr]{% - \usebox{\envbox}% - }% - }% + \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} -} - -\makeatother + \fi%fin + \ifKV@bclogo@ombre\vspace*{\val@epOmbre cm}\fi +}% |