X-Git-Url: https://melusine.eu.org/syracuse/G/git/?a=blobdiff_plain;f=dev%2Flatex%2Fbclogo.sty;h=c396a09831fa2d8c928bfa6d5c3497547dea1016;hb=ec0d8b0e9d3b853b14c4c3a46eef2d7160e286c2;hp=95a0e7df3763771ea9cce2a8ccf84d10460ec98f;hpb=37429accc7bdcf4c00e0bb0a6dd0b180dacdeece;p=bclogo.git diff --git a/dev/latex/bclogo.sty b/dev/latex/bclogo.sty index 95a0e7d..c396a09 100644 --- a/dev/latex/bclogo.sty +++ b/dev/latex/bclogo.sty @@ -1,27 +1,40 @@ \NeedsTeXFormat{LaTeX2e}% \def\PackageName{bclogo}% -\def\fileversion{v2.27}% +\def\fileversion{v3.0}% \def\filedate{2011/10/01}% -\ProvidesPackage{bclogo}% - [\filedate\space\fileversion]% +\ProvidesPackage{bclogo}[\filedate\space\fileversion]% +% +% Extensions a charger \RequirePackage{xkeyval,ifthen}% +\RequirePackage{graphicx}% +\RequirePackage{mdframed}% +\ifdef{\ifmdf@nobreak}{\relax}{\define@key{mdf}{nobreak}[]{}}% +%l'option nobreak de mdframed vient qu'avec la version 0.9 +% %% Les options globales du package sont au nombre de 2: tikz ou pstricks \newif\ifbclogotikz% \newif\ifbclogoblur% \define@key{bclogo.sty}{tikz}[]{\bclogotikztrue}% \define@key{bclogo.sty}{pstricks}[]{\bclogotikzfalse}% \define@key{bclogo.sty}{blur}[]{\bclogoblurtrue}% -\newlength{\logowidth}\setlength{\logowidth}{17pt}% +% +% quelques dimensions +\newlength{\bc@invboxh}\newlength{\bc@invboxd}% +\newlength{\bc@titleLength}% +\newlength{\logowidth}% +\newlength{\bc@mdfboxwidth}% +\newlength{\bc@mdfboxheight}% +%\newlength{\bc@mdf@ymargin@length} +% +\setlength{\logowidth}{17pt}% \ProcessOptionsX% % -\RequirePackage{graphicx}% \ifbclogotikz% \RequirePackage{tikz}% \usetikzlibrary{shadows}% pour l'ombre - \usetikzlibrary{decorations.pathmorphing} % pour la barre ondulee - \RequirePackage{mdframed}% - \def\mdf@style{1}% - \input{bclogoMdframedTikz}% + \usetikzlibrary{decorations.pathmorphing}% pour la barre ondulee + \def\bc@mdf@style{1}%pour la version 0.6 de mdframed + \input{bclogoMdframedTikz}%redefinition des macros d'affichage \else% \RequirePackage{pstricks}% \RequirePackage{pst-grad}% @@ -31,9 +44,8 @@ \let\pagecolorOLD\pagecolor% modification pour sauvegarde de la couleur du fond \def\pagecolor#1{\gdef\psx@blurbg{#1}\pagecolorOLD{#1}}%suppose l'utilisation: \pagecolor{couleur} \fi% - \RequirePackage{mdframed}% - \def\mdf@style{3}% - \input{bclogoMdframedPst}% + \def\bc@mdf@style{3}%%pour la version 0.6 de mdframed + \input{bclogoMdframedPst}%redefinition des macros d'affichage \fi% \edef\Gin@extensions{.mps,\Gin@extensions}% \RequirePackage{ifpdf}% @@ -173,19 +185,20 @@ \define@boolkey{bclogo}{noborder}[true]{\ifKV@bclogo@noborder\setlength{\bcval@borderWidth}{\z@}\fi}% \define@boolkey{bclogo}{ombre}[true]{}% \define@boolkey{bclogo}{avecBarre}[true]{}% +\define@boolkey{bclogo}{nobreak}[true]{}% \define@boolkey{bclogo}{blur}[true]{\ifKV@bclogo@blur\KV@bclogo@ombretrue\fi}% \define@choicekey{bclogo}{barre}{none,line,snake,motif,zigzag,imageExt,imageClip, wave}[line]{% -\ifthenelse{\equal{#1}{none}}{\KV@bclogo@avecBarrefalse}% +\ifthenelse{\equal{#1}{none}}{\KV@bclogo@avecBarrefalse\gdef\bc@barre{}}% {\gdef\bc@barre{\ifKV@bclogo@avecBarre\@nameuse{bc@barre#1}\fi}}% }% % % selection par defaut \presetkeys{bclogo}{logo,barre,couleur,arrondi,couleurOmbre,couleurTexte,couleurBarre,epOmbre,epBarre,epBord,tailleOndu,ombre=false,cadreTitre=false,% -avecBarre=true,noborder=false,marge,sousTitre, couleurBord,blur=false}{}% +avecBarre=true,noborder=false,marge,sousTitre, couleurBord,blur=false, nobreak=false}{}% % %les differentes commandes de barre verticale a gauche % -\newcommand{\bc@barreline}{% +\newcommand*{\bc@barreline}{% \begin{minipage}{\logowidth}\centering% \ifbclogotikz% \begin{tikzpicture}% @@ -196,19 +209,11 @@ avecBarre=true,noborder=false,marge,sousTitre, couleurBord,blur=false}{}% \psline[linewidth=\bcval@epBarre,linecolor=\bcval@couleurBarre](0,\bc@invboxh)(0,0)% \end{pspicture}% \fi% -\end{minipage}}% -% -\newcommand{\bc@barremotif}{% -\begin{minipage}{\logowidth}\color{\bcval@couleurBarre}\centering% -\vbox to \bc@invboxh{\cleaders\vbox{\vss \bcval@motifBarre \vss}\vfill}% -\end{minipage}}% +\end{minipage}% +}% % -\newcommand{\bc@barrewave}{% -\begin{minipage}{\logowidth}\color{\bcval@couleurBarre}\centering% -\vbox to \bc@invboxh{\cleaders\vbox{\vss $\leftwave\right.$ \vss}\vfill}% -\end{minipage}}% % -\newcommand{\bc@barresnake}{% +\newcommand*{\bc@barresnake}{% \begin{minipage}{\logowidth}\centering% \ifbclogotikz% \begin{tikzpicture}[decoration={snake,segment length=2.66\bcval@tailleOndu, amplitude=\bcval@tailleOndu}]% @@ -219,9 +224,10 @@ avecBarre=true,noborder=false,marge,sousTitre, couleurBord,blur=false}{}% \pszigzag[coilarm=0pt,coilwidth=2\bcval@tailleOndu,linewidth=1pt,linearc=1pt,coilheight=1.33,linecolor=\bcval@couleurBarre](0,\bc@invboxh)(0,0)% \end{pspicture}% \fi% -\end{minipage}}% +\end{minipage}% +}% % -\newcommand{\bc@barrezigzag}{% +\newcommand*{\bc@barrezigzag}{% \begin{minipage}{\logowidth}\centering% \ifbclogotikz% \begin{tikzpicture}[decoration={zigzag,segment length=2.66\bcval@tailleOndu, amplitude=\bcval@tailleOndu}]% @@ -232,28 +238,42 @@ avecBarre=true,noborder=false,marge,sousTitre, couleurBord,blur=false}{}% \pszigzag[coilarm=0pt,coilwidth=2\bcval@tailleOndu,linewidth=1pt,linearc=0pt,coilheight=1.33,linecolor=\bcval@couleurBarre](0,\bc@invboxh)(0,0)% \end{pspicture}% \fi% -\end{minipage}}% +\end{minipage}% +}% % -\newcommand{\bc@barreimageExt}{% l'image est deformee +\newcommand*{\bc@barreimageExt}{% l'image est deformee \begin{minipage}{\logowidth}\centering% \includegraphics[width=\logowidth,height=\bc@invboxh]{\bcval@imageBarre}% -\end{minipage}}% +\end{minipage}% +} +% +\newcommand*{\bc@barreimageClip}{% +\begin{minipage}{\logowidth}\centering% +\includegraphics[viewport=0 0 \logowidth~ \bc@invboxh,clip=true]{\bcval@imageBarre}% +\end{minipage}% +}% +% +\newcommand*{\bc@barremotif}{% +\begin{minipage}{\logowidth}\centering% +\color{\bcval@couleurBarre}% +\vbox to \bc@invboxh{\cleaders\vbox{\vss\bcval@motifBarre\vss}\vfill}% +\end{minipage}% +}% % -\newcommand{\bc@barreimageClip}{% +\newcommand*{\bc@barrewave}{% \begin{minipage}{\logowidth}\centering% -\includegraphics[viewport=0 0 \logowidth~ \bc@invboxh,% -clip=true]{\bcval@imageBarre}% -\end{minipage}}% +\color{\bcval@couleurBarre}% +\vbox to \bc@invboxh{\cleaders\vbox{\vss$\leftwave\right.$\vss}\vfill}% +\end{minipage}% +}% % %======================= Quelques definitions=================================== % boite titre \newsavebox{\bc@envbox}% -% pour la hauteur de la boite -\newlength{\bc@invboxh}\newlength{\bc@invboxd}% -\newlength{\bc@titleLength}% %%% precaution JCC \newcommand*\bclogotitre{}% -\newcommand\styleSousTitre[1]{\normalsize \textit{#1}}% +\newcommand\bcStyleSousTitre[1]{\normalsize \textit{#1}}% +\newcommand\styleSousTitre[1]{\bcStyleSousTitre{#1}}% pour la compatibilit \newcommand\bcStyleTitre[1]{\large \textbf{#1}}% %======================= L'environnement ======================================= % @@ -262,9 +282,9 @@ clip=true]{\bcval@imageBarre}% \renewcommand*\bclogotitre{#2}% % deux types de titres \ifKV@bclogo@cadreTitre% si cadreTitre = true - \def\structitre{% + \def\bc@structitre{% \hfil% - \ifbclogotikz% cadreTitre tizk + \ifbclogotikz% cadreTitre tikz \begin{tikzpicture}% \node[rectangle, thick, top color=red!60!green!40, bottom color=white,draw]{\large #2};% \end{tikzpicture}% @@ -274,7 +294,7 @@ clip=true]{\bcval@imageBarre}% \hfil% }% \else%sinon cadreTitre = false - \def\structitre{\bcStyleTitre{#2} \styleSousTitre{\bcval@sousTitre}}% + \def\bc@structitre{\bcStyleTitre{#2} \bcStyleSousTitre{\bcval@sousTitre}}% \fi% %boite logo+titre \setlength{\bc@titleLength}{% @@ -289,28 +309,33 @@ clip=true]{\bcval@imageBarre}% &% \ifKV@bclogo@cadreTitre% \begin{minipage}{\bc@titleLength}% - \structitre% + \bc@structitre% \end{minipage}% - \else\structitre\fi% + \else\bc@structitre\fi% \end{tabular}% \end{lrbox}% % affichage -\smallskip% ressort +\smallskip% ressort %% Pourquoi ? %%%parce que ça se comprime et ça s'étire! +\def\bcval@nobreak{\ifKV@bclogo@nobreak true\else false\fi}% gestion nobreak \mdframed[% innerleftmargin={\dimexpr\ifKV@bclogo@avecBarre\logowidth\else\z@\fi+\bcval@framesep\relax},% innertopmargin={\dimexpr\ht\bc@envbox+\dp\bc@envbox+\bcval@framesep\relax},%hauteur titre+framesep innerrightmargin=\bcval@framesep,% innerbottommargin=\bcval@framesep,% - rightmargin=\dimexpr\bcval@margeD+\ifKV@bclogo@ombre\bcval@epOmbre cm\else\z@\fi,% + rightmargin={\dimexpr\bcval@margeD+\ifKV@bclogo@ombre\bcval@epOmbre cm\else\z@\fi\relax},% leftmargin=\bcval@margeG,% backgroundcolor=\bcval@couleur,% fontcolor=\bcval@couleurTexte,% linewidth=\bcval@borderWidth,% - roundcorner={\bcval@arrondi cm}]% + roundcorner={\bcval@arrondi cm},% + nobreak=\bcval@nobreak%%l'option nobreak de mdframed vient avec la version 0.9 +]% }% {% \endmdframed\par% \ifKV@bclogo@ombre\vspace*{\bcval@epOmbre cm}\else\smallskip\fi% \goodbreak% }% - +\setkeys{bclogo}{barre=none}%% en cas d'utlisation de l'environnement mdframed +\endinput% +%%%%%%%%%%%%%%%% fin %%%%%%%%%%%%%%%%