summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/bclogo/bclogo.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/bclogo/bclogo.sty')
-rw-r--r--Master/texmf-dist/tex/latex/bclogo/bclogo.sty246
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
+}%