You are on page 1of 22

bclogo version 2.

24
Maxime CHUPIN et Patrick FRADIN

notezik@gmail.com
10 Septembre 2009

Rsum Ce paquet permet la cration, via Pstricks ou Tikz, de botes colores avec un logo, un titre et une couleur de fond 1 .

Le paquet bclogo
La eur : Le chantier : La note : Ltoile : Lourson : Take care : La lampe : Le point dinterrogation : Le crayon : Attention : Le cur : Danger : Smiley heureux : Smiley malheureux : La bombe : Le cube : Le dodecadre : Licosadre : Loctadre : Le ttradre : LAllemagne : La Belgique : Le tre : Le livre : Ornement : Info : La plume : Le pic de
A LT

La France : LItalie : Les Pays Bas :

EX :

Le soleil : Lclaircie : La pluie : La neige : Le sens interdit : Le stop : Le poisson : Lhorlage : Le calendrier :
JAN

La rose des vents : Le ying et le yang : Danger glissant :

Merci tous ceux qui ont particip, entre autres, Jean-Cme CHARPENTIER, Ulrike FISCHER et Manuel P GOURI-GONNARD.. . 1. Il y a bien entendu dautres options

Table des matires


1 Introduction 2 Le chargement du paquet 3 Syntaxe gnrale 4 Les options 4.1 La couleur de fond . . . . . . . . . . . . . . . 4.2 La couleur du trait de bord . . . . . . . . . . 4.3 Larrondi des coins . . . . . . . . . . . . . . . 4.4 Le style de titre . . . . . . . . . . . . . . . . . 4.4.1 Sous-titre . . . . . . . . . . . . . . . . 4.5 Les logos . . . . . . . . . . . . . . . . . . . . . 4.5.1 Taille des logos . . . . . . . . . . . . . 4.6 Lombre . . . . . . . . . . . . . . . . . . . . . . 4.6.1 Paramtres de lombre . . . . . . . . 4.6.2 Le paramtre blur . . . . . . . . . . 4.7 Styles de barre . . . . . . . . . . . . . . . . . . 4.7.1 La barre droite . . . . . . . . . . . . . 4.7.2 La barre zigzag . . . . . . . . . . . 4.7.3 La barre snake . . . . . . . . . . . 4.7.4 Rglage pour snake et zigzag 4.7.5 Rptition dun motif . . . . . . . 4.7.6 Image personnelle tendue . . . 4.7.7 Image personnelle clippe . . . . 4.7.8 Pour les utilisateurs de mathdesign . 4.7.9 Couleur de la barre . . . . . . . . . . 4.7.10 Pas de barre . . . . . . . . . . . . . . . 4.8 Le bordpaisseur . . . . . . . . . . . . . . . . 4.8.1 Option noborder . . . . . . . . . . . 4.9 Les marges . . . . . . . . . . . . . . . . . . . . 5 Liste des botes 6 Avec framed.sty 6.1 Rglage global des paramtres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Le code 3 3 3 3 3 4 4 5 5 6 8 8 9 9 9 10 10 10 11 11 12 12 13 13 14 14 14 15 16 17 17 17

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

1 Introduction
Ce paquet a t cr pour faciliter la fabrication de botes colores plus ou moins complexes disposant dun titre, dun logo et dune couleur de fond. Depuis la version 2.0, bclogo sappuie principalement sur Pstricks ou sur tikz 2 . Ce paquet utilise xkeyval pour la gestion des paramtres. Ces botes permettent A de colorer un peu les pages dun document LTEX tout en mettant en relief le contenu de la bote. Pour son bon fonctionnement, il est ncessaire davoir les paquets suivants installs sur votre machine.

Les paquets indispensables


Pstricks graphicx pst-grad xkeyval pst-coil ifthen pst-blur si lon souhaite utiliser la fonction (voir section ??)

et/ou tikz et ses librairies shadows et decorations.pathmorphing. xkeyval et ifthen sont ncessaires dans les deux utilisations.

2 Le chargement du paquet
Depuis la version 2.0 de bclogo, le chargement seffectue avec deux options, soit on utilise pstricks A (par dfaut) 3 soit tikz. Ceci seffectue dans le prambule du document LTEX :

Code
\ usepackage [ tikz ]{ bclogo}

ou
\ usepackage [ pstricks ]{ bclogo}

Remarque : Les syntaxes


\ usepackage [ pstricks ]{ bclogo }

et
\ usepackage { bclogo}

sont quivalentes.

3 Syntaxe gnrale
Quelque soit loption de chargement choisie, la syntaxe pour la cration de bote est la mme. Voici le schma de base pour raliser une bote :

Code
\ begin { bclogo }[ < options >]{ Titre } Corps de la boite ... \ end { bclogo}

4 Les options
4.1 La couleur de fond
On dnit la couleur de fond grce couleur = <macouleur>, par exemple :
2. Ceci grce Patrick FRADIN 3. sur un conseil dHerbert VOSS qui vrie chaque nouvelle version le code, merci lui.

Code
\ begin { bclogo }[ couleur = blue !30]{ Mon Titre } Du texte qui se r \ ep \ ete encore et encore pour l exemple , du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r \ ep \ ete encore et encore pour l exemple \ dots \ end { bclogo}

Ce qui donne :

Mon Titre
Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . . Par dfaut la couleur est blanche.

4.2 La couleur du trait de bord


Cette nouvelle option a t cre sur la demmande de Philippe FORTEMPS. On commande la couleur du trait de bord par couleurBord=<couleur>. Voici un exemple :

Code
\ begin { bclogo }[ couleur = blue !30 , couleurBord = red !30]{ Mon Titre } Du texte qui se r \ ep \ ete encore et encore pour l exemple , du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r \ ep \ ete encore et encore pour l exemple \ dots \ end { bclogo}

Ce qui donne :

Mon Titre
Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . .

4.3 Larrondi des coins


On commande la taille de larrondi dans les options de la manire suivante arrondi=<valeur>, elle 4 se rgle en cm :

Code
\ begin { bclogo }[ couleur = blue !30 , arrondi = 0.1]{ Mon Titre } Du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r \ ep \ ete encore et encore pour l exemple \ dots \ end { bclogo}

Ce qui donne :

Mon Titre
Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . . Par dfaut, larrondi est 0.
4. Avant la version 2.22, les arrondis pstricks taient relatifs, ils sont maintenant absolus.

4.4 Le style de titre


Il y a deux styles de titre. Un, par dfaut ou avec la commande cadreTitre = false. Les botes prcdentes utilisent ce style de titre. Le second style, plus labor, est un cadre avec un gradient de couleur gold. Ceci sobtient avec la commande cadreTitre = true.

Code
\ begin { bclogo }[ couleur= blue !30 , arrondi =0.1 , cadreTitre = true ]{ Mon Titre } Du texte qui se r \ ep \ ete encore et encore pour l exemple , du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r \ ep \ ete encore et encore pour l exemple \ dots \ end { bclogo}

Ce qui donne :

Mon Titre
Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . .

4.4.1 Sous-titre Si on utilise le style de titre sans cadre (i.e. le style par dfaut) alors on peut dnir un sous-titre grce la commande sousTitre=<Mon sous-titre> 5 . Par exemple :

Code
\ begin { bclogo }[ couleur= blue !30 , arrondi =0.1 , sousTitre = Mon sous - titre ]{ Mon Titre } Du texte qui se r \ ep \ ete encore et encore pour l exemple , du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r \ ep \ ete encore et encore pour l exemple \ dots \ end { bclogo}

Ce qui donne :

Mon Titre Mon sous-titre


Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . .

Le style du sous-titre On peut rednir le style de sous-titre comme ceci :


\ renewcommand \ styleSousTitre [1]{\ textsl {#1}}

On obtient alors

Mon Titre Mon sous-titre


Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . . Dans bclogo, \styleSousTitre est dnie comme ceci :
\ newcommand \ styleSousTitre [1]{\ normalsize \ textit {#1}}
5. Cette option a t mise en place sur la demande de Gatan MARRIS

4.5 Les logos


Cest l que rside loriginalit de bclogo. . . Pour la plupart des logos, je les ai dessins avec Inkscape et exports en PSTricks. Pour dautres, Patrick FRADIN et Alphonse CAPRIANI ont utilis le super TEXgraph. Depuis la version 2.4, deux formats sont utiliss, soit eps, soit pdf. La cration de logo est un travail amusant, ceux qui veulent y participer nont qu me contacter par mail (les logos sont dnis avec une largeur de 17pt, la hauteur est plus ou moins libre dans la mesure du raisonnable). Lors de la cration des logos il faut veiller permettre la double utilisation tikz et pstricks. Je remercie tout ceux qui participent la cration de logo et en particulier Alphonse CAPRIANI qui a doubl la collection (du logo bombe au logo ying). Voici la liste des logos :

Les logos
1. la eur : commande \bcfleur 2. en chantier : commande \bcpanchant (Jean-Michel SARLAT) 24. Licosadre : commande \bcicosaedre 3. la note : commande \bcnote LABARUSSIAS) 4. ltoile : commande \bcetoile 5. lourson : commande \bcours 6. attention : commande \bcattention 7. le cur : commande \bccoeur 8. ornement : commande \bcorne 9. danger : commande \bcdanger ois B OERKMANN) 10. smiley heureux : commande \bcsmbh (Franois B OERKMANN) 11. smiley malheureux : commande \bcsmmh (Franois B OERKMANN) 12. Take care : commande \bctakecare (Patrick FRADIN) 13. La lampe : commande \bclampe trick FRADIN) 14. Le livre : commande \bcbook FRADIN) 15. Le tre : commande \bctrefle 16. Le point dinterrogation : commande 37. Le stop : commande \bcstop 38. Le poisson : commande \bcpoisson 39. Lhorloge : commande \bchorloge 40. Le calendrier : commande \bccalendrier
JAN

22. La cube : commande \bccube 23. La dodcadre : commande \bcdodecaedre

(Thomas 25. Loctadre : commande \bcoctaedre 26. La ttradre : commande \bctetraedre 27. LAllemagne : commande \bcdallemagne (noter le d comme drapeau) 28. La Belgique : commande \bcdbelgique

(Fran29. La France : commande \bcdfrance 30. LItalie : commande \bcditalie 31. Les Pays-Bas : commande \bcdpaysbas

32. Le soleil : commande \bcsoleil (Pa33. Lclaircie : commande \bceclaircie 34. La pluie : commande \bcpluie 35. La neige : commande \bcneige 36. Le sens interdit : commande \bcinterdit

(Patrick

\bcquestion
17. Le crayon : commande \bccrayon (Anne-Sophie PHILIPPE) 18. Le pique de

\bcspadesuit

A LTEX

commande

41. La (Tho-

rose

des

vents

commande

19. Logo info : commande \bcinfo mas LABARUSSIAS) 20. La plume : commande \bcplume 21. La bombe : commande \bcbombe Par exemple,

\bcrosevents
42. Le ying et le yang : commande \bcying

43. Danger glkissant : commande \bcdz (Vincent PANTALONI)

Code
\ begin { bclogo }[ couleur = blue !30 , arrondi = 0.1 , logo = \ bctrefle ]{ Mon Titre } Du texte qui se r \ ep \ ete encore et encore pour l exemple , du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r \ ep \ ete encore et encore pour l exemple \ dots \ end { bclogo}

produit :

Mon Titre
Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . .

Remarque : On peut se dnir soi-mme de nouvelles commandes de logo sans pour autant que ces logos A soient disponibles dans bclogo. Par exemple, pour obtenir le coeur de LTEX , il suft de dnir dans le prambule de document la commande :
\ newcommand \ bcheartsuit {\ centering \ huge $\ heartsuit $}
A Ceci donnera le mme resultat que pour le pique LTEX (attention \bcheartsuit nest pas dnie dans

bclogo).
On peut aussi faire ceci pour un code pstricks, pgf, une image. . . Voici trois exemples illustrant respectivement les trois cas mentionns :

Code
% mon logo code pstricks \ newcommand \ monlogopst {\ begingroup \ input { monlogo . pst }\ endgroup } % mon logo code pgf \ newcommand \ monlogopgf {\ begingroup \ input { monlogo . pgf }\ endgroup } % mon image \ newcommand \ monimage {\ includegraphics [ width =17 pt ]{ monimage }}

4.5.1 Taille des logos On peut rednir la taille des logos en largeur. Par dfaut celle-ci est de 17pt. Cette rednition seffectue de la manire suivante :
\ renewcommand \ logowidth { < valeur > pt }

Par exemple, une redinition 10pt donnera :

Mon Titre
Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . .

4.6 Lombre
La gestion de lombre se rgle comme les autres options. Par dfaut, il ny en a pas (la valeur ombre vaut

false). On active lombre avec la commande ombre = true. Par exemple :

Code
\ begin { bclogo }[ couleur = blue !30 , arrondi = 0.1 , ombre = true ]{ Mon Titre } Du texte qui se r \ ep \ ete encore et encore pour l exemple , du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r \ ep \ ete encore et encore pour l exemple \ dots \ end { bclogo}

Ce qui produit :

Mon Titre
Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . .

4.6.1 Paramtres de lombre paisseur On rgle lpaisseur de lombre avec la commande epOmbre = <valeur en cm>. La valeur par dfaut est de 0.125 cm. Couleur On rgle la couleur avec la commande couleurOmbre = <couleur>. La valeur par dfaut est black. Voici un exemple illustrant les deux options :

Code
\ begin { bclogo }[ couleur = blue !30 , arrondi = 0.1 , ombre = true , epO mbre = 0.25 , couleurOmbre = black !30]{ Mon Titre } Du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r \ ep \ ete encore et encore pour l exemple \ dots \ end { bclogo}

produit :

Mon Titre
Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . .

4.6.2 Le paramtre blur Depuis la version 2.24, on a rajout loption propose par le paquet pst-blur. Lutilisation de celle-ci est lgrement plus complique que celle des autres. Si on utilise pstricks, alors, lors du chargement de bclogo, il faut mettre loption blur qui permet de charger pst-blur.
\ usepackage [ blur ]{ pstricks }

Si on utilise tikz, alors il ny a pas besoin de rajouter loption blur au chargement de bclogo. Lutilisation de cette option ne diffre pas selon tikz ou pstricks. On procde de la faon suivante :

Code
\ begin { bclogo }[ couleur = blue !30 , arrondi = 0.1 , ombre = true , cou leurOmbre = black !60 , blur ]{ Mon Titre } Du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r \ ep \ ete encore et encore pour l exemple \ dots \ end { bclogo}

produit :

Mon Titre
Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . .

4.7 Styles de barre


La syntaxe gnrale de commande du style de barre est barre=<style>.

4.7.1 La barre droite Par dfaut, on a une barre verticale droite comme dans tous les exemples prcdents (la commande est

barre=line).
paisseur On peut rgler lpaisseur de la barre grce la commande epBarre = <valeur en pt>. Par exemple :

Code
\ begin { bclogo }[ couleur = blue !30 , arrondi = 0.1 , logo = \ bcquestion , epBarre = 3.5]{ Mon Titre } Du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r \ ep \ ete encore et encore pour l exemple \ dots \ end { bclogo}

donne :

Mon Titre
Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . . Par dfaut cette valeur est epBarre = 1.5pt. 4.7.2 La barre zigzag Ce style de barre sobtient avec la commande barre=zigzag. Par exemple :

Code
\ begin { bclogo }[ couleur = blue !30 , arrondi = 0.1 , logo = \ bcquestion , barre = zigzag ]{ Mon Titre } Du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r \ ep \ ete encore et encore pour l exemple \ dots \ end { bclogo}

donne

Mon Titre
Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . .

4.7.3 La barre snake Ce style de barre sobtient avec la commande barre=snake. Par exemple :

Code
\ begin { bclogo }[ couleur = blue !30 , arrondi = 0.1 , logo = \ bcquestion , barre = snake ]{ Mon Titre } Du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r \ ep \ ete encore et encore pour l exemple \ dots \ end { bclogo}

donne

Mon Titre
Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . .

10

4.7.4 Rglage pour snake et zigzag Pour ces deux styles de barre, on rgle la taille (ou amplitude) de londulation avec la commande tailleOndu = <valeur en pt>. Cest la taille dune ondulation. Par dfaut la valeur est de 2.5. Par exemple :

Code
\ begin { bclogo }[ couleur = blue !30 , arrondi = 0.1 , logo = \ bcquestion , barre = snake , tailleOndu = 1.5]{ Mon Titre } Du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r \ ep \ ete encore et encore pour l exemple \ dots \ end { bclogo}

donne

Mon Titre
Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . .

4.7.5 Rptition dun motif Cette fonction permet de rpter verticalement un motif quelconque la place de la barre verticale. Ceci sobtient avec la commande barre = motif et ce couple avec la commande motifBarre = <motif>. Par exemple :

Code
\ begin { bclogo }[ couleur = blue !30 , arrondi = 0.1 , logo = \ bcquestion , barre = motif , motifBarre = $\ star $]{ Mon Titre } Du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r \ ep \ ete encore et encore pour l exemple \ dots Du texte qui se r \ ep \ ete encore et encore pour l exemple , du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r \ ep \ ete encore et encore pour l exemple \ dots \ end { bclogo}

donne

Mon Titre
Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . .Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . . , il suft de mettre :

Si je dispose dune image personnelle, par exemple spir.eps 6 motifBarre = \includegraphics{spir}. Ceci donne :

Mon Titre
Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . .Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . . Un autre exemple pour donner des ides. . .
6. Ici, jutilise un .eps mais un utilisateur de pdflatex peut trs bien utiliser un jpg, pdf. . .

11

Mon Titre
Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . .Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . .

4.7.6 Image personnelle tendue Si je dispose dune image, par exemple brace.eps 7

grce la commande barre = imageExt couple avec imageBarre = brace, je lobtiens tire la place de la barre verticale. Par exemple :

Code
\ begin { bclogo }[ couleur = blue !30 , arrondi = 0.1 , logo = \ bcquestion , barre = imageExt , imageBarre = brace ]{ Mon Titre } Du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r \ ep \ ete encore et encore pour l exemple \ dots Du texte qui se r \ ep \ ete encore et encore pour l exemple , du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r \ ep \ ete encore et encore pour l exemple \ dots \ end { bclogo}

donne

Mon Titre
Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . .Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . .

4.7.7 Image personnelle clippe Si on dispose dune image personnelle (assez longue de prfrence), on peut grce la commade barre=imageClip couple encore une fois avec la commande imageBarre = <monimage>. On obtient la place de la barre verticale, limage tronque . Par exmple, si je dispose de limage losanges.eps (image tourne de 90 degrs) : Cet exemple

Code
\ begin { bclogo }[ couleur = blue !30 , arrondi = 0.1 , logo = \ bcquestion , barre = imageClip , imageBarre = losanges ]{ Mon Titre } Du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r \ ep \ ete encore et encore pour l exemple \ dots Du texte qui se r \ ep \ ete encore et encore pour l exemple , du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r \ ep \ ete encore et encore pour l exemple \ dots \ end { bclogo}
A 7. Comme prcdemment, les utilisateurs de pdfLTEX peuvent utiliser une image pdf.

12

donne

Mon Titre
Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . .Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . .

4.7.8 Pour les utilisateurs de mathdesign Si on utilise une police mathdesign, alors on a accs une barre ondule, faite avec un glyph rpt verticalement, grce la commande barre = wave. Voici un exemple :

Code
\ begin { bclogo }[ couleur = blue !30 , arrondi = 0.1 , logo = \ bcquestion , barre = wave ]{ Mon Titre } Du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r \ ep \ ete Du texte qui se r \ ep \ ete encore et encore et encore pour l exemple \ dots encore pour l exemple , du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r \ ep \ ete encore et encore pour l exemple \ dots \ end { bclogo}

Ce qui donne :

Mon Titre
Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . .Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . .

4.7.9 Couleur de la barre Pour les barres line, zigzag, snake, motif et wave (pour motif, seulement si on utilise un motif A provenant de LTEX, caractres, traits. . .), on peut changer la couleur. Pour ce faire, on utilise la commande couleurBarre = <ma couleur>. Par exemple :

Code
\ begin { bclogo }[ couleur = blue !30 , arrondi = 0.1 , logo = \ bcquestion , couleurBarre = green !80! blue !60]{ Mon Titre } Du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r \ ep \ ete Du texte qui se r \ ep \ ete encore et encore et encore pour l exemple \ dots encore pour l exemple , du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r \ ep \ ete encore et encore pour l exemple \ dots \ end { bclogo}

donne

Mon Titre
Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . .Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . . avec barre = snake

13

Mon Titre
Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . .Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . .

4.7.10

Pas de barre

Si on ne veut pas de barre verticale sur le ct, il suft dutiliser la commande barre = none. Par exemple :

Code
\ begin { bclogo }[ couleur = blue !30 , arrondi = 0.1 , logo = \ bcquestion , barre = none ]{ Mon Titre } Du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r \ ep \ ete Du texte qui se r \ ep \ ete encore et encore et encore pour l exemple \ dots encore pour l exemple , du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r \ ep \ ete encore et encore pour l exemple \ dots \ end { bclogo}

donne

Mon Titre
Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . .Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . .

4.8 Le bordpaisseur
On peut (depuis la version 2.24) rgler lpaisseur du trait de bord grce la commande epBord=<valeur> (attention, ne pas mettre dunit). Par exemple :

Code
\ begin { bclogo }[ logo = \ bccrayon , epBord =0.2]{ Mon titre } Du texte qui se r \ ep \ ete encore et encore pour l exemple , du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r\ ep \ ete encore et encore pour l exemple \ dots Du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r \ ep \ ete encore et encore pour l exemple , du texte qui se r \ ep \ ete encore et encore pour l exemple \ dots \ end { bclogo}

Ce qui donne :

Mon titre
Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . .Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . . Par dfaut, lpaisseur est 0.8pt. 4.8.1 Option noborder Par dfaut, il y a un trait pour dlimiter le bord de la bote, on peut cependant choisir de ne pas en mettre avec loption noborder = true (par dfaut elle est false).

14

Par exemple :

Code
\ begin { bclogo }[ logo = \ bccrayon , noborder = true ]{ Mon titre } Du texte qui se r \ ep \ ete encore et encore pour l exemple , du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r\ ep \ ete encore et encore pour l exemple \ dots Du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r \ ep \ ete encore et encore pour l exemple , du texte qui se r \ ep \ ete encore et encore pour l exemple \ dots \ end { bclogo}

donne

Mon titre
Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . .Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . . Cela ne vous dit rien ? Voici un autre exemple, avec de la couleur. . .

Mon titre
Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . .Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . .

4.9 Les marges


On peut aussi rgler les marges entre lintrieur de la bote et le bord. ceci se fait par la commande marge=

<entier>. Elle est dnie en nombre de points, par dfaut marge = 3 (ne pas prciser lunit).
Cette nouvelle commande (due Patrick FRADIN sur une demande de Gatan MARRIS) permet, entre autre, de prolonger le texte jusqu la marge de la page lorsque noborder=true. Par exemple,

Code
\ noindent \ hrule \ begin { bclogo }[ logo = \ bccrayon , noborder = true , marge =0]{ Mon titre } \ lipsum [2] \ end { bclogo} \ noindent \ hrule \ begin { bclogo }[ logo = \ bccrayon , noborder = true , marge =8]{ Mon titre } \ lipsum [2] \ end { bclogo} \ noindent \ hrule

produit ceci.

Mon titre
Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi. Morbi auctor lorem non justo. Nam lacus libero, pretium at, lobortis vitae, ultricies et, tellus. Donec aliquet, tortor sed accumsan bibendum, erat ligula aliquet magna, vitae ornare odio metus a mi. Morbi ac orci et nisl hendrerit mollis. Suspendisse ut massa. Cras nec ante. Pellentesque a nulla. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aliquam tincidunt urna. Nulla ullamcorper vestibulum turpis. Pellentesque cursus luctus mauris.

15

Mon titre
Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi. Morbi auctor lorem non justo. Nam lacus libero, pretium at, lobortis vitae, ultricies et, tellus. Donec aliquet, tortor sed accumsan bibendum, erat ligula aliquet magna, vitae ornare odio metus a mi. Morbi ac orci et nisl hendrerit mollis. Suspendisse ut massa. Cras nec ante. Pellentesque a nulla. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aliquam tincidunt urna. Nulla ullamcorper vestibulum turpis. Pellentesque cursus luctus mauris.

5 Liste des botes


On peut, comme avec \tableofcontents, lister les botes utilises dans le document et ce grce la commande :
\ listofbclogo

Les noms afchs dans la liste sont les diffrents titres des botes, de plus si on utilise le package hyperef, cette liste est cliquable et permet le transport dans le document 8 . Par exemple dans ce document la liste donne (ici jutilise un multicols pour lafchage sur deux colonnes) :

Liste des bclogo


Le paquet bclogo, page 1 Les paquets indispensables, page 3 Code, page 3 Code, page 3 Code, page 4 Mon Titre, page 4 Code, page 4 Mon Titre, page 4 Code, page 4 Mon Titre, page 4 Code, page 5 Mon Titre, page 5 Code, page 5 Mon Titre, page 5 Mon Titre, page 5 Les logos, page 7 Code, page 8 Mon Titre, page 8 Code, page 8 Mon Titre, page 8 Code, page 8 Mon Titre, page 9 Code, page 9 Mon Titre, page 9 Code, page 9 Mon Titre, page 9 Code, page 10 Mon Titre, page 10 Code, page 10

Mon Titre, page 10 Code, page 10 Mon Titre, page 10 Code, page 11 Mon Titre, page 11 Code, page 11 Mon Titre, page 11 Mon Titre, page 11 Mon Titre, page 12 Code, page 12 Mon Titre, page 12 Code, page 12 Mon Titre, page 13 Code, page 13 Mon Titre, page 13 Code, page 13 Mon Titre, page 13 Mon Titre, page 14 Code, page 14 Mon Titre, page 14 Code, page 14 Mon titre, page 14 Code, page 15 Mon titre, page 15 Mon titre, page 15 Code, page 15 Mon titre, page 15 Mon titre, page 16 Code, page 17 Code, page 17 Test avec framed.sty, page 17

Le titre de la liste peut alors tre modi par la commande :


\ renewcommand {\ titrebclogo }{ Liste des fiches }
8. Ce transport est maintenant mieux grer (version 2.21) grce Franois P TIARD

16

6 Avec framed.sty
Je prsente ici une utilisation de bclogo couple avec un environnement crit par Jean-Michel SARLAT utilisant framed.sty. Voici cet environnement :

Code
\ newenvironment { gbar }[1]{ % \ def \ FrameCommand {{\ color {#1}\ vrule width 3 pt }\ colorbox { fbase }} % \ MakeFramed {\ advance\ hsize -\ width \ FrameRestore }} % {\ endMakeFramed }

En disposant cet environnement, on samuser mlanger les deux :

Code
\ begin { bclogo }[ logo =\ bcinfo , barre = none , noborder = true ]{ Test avec \ texttt{ framed. sty }} % \ begin { gbar }{ yellow} Du texte qui se r \ ep \ ete encore et encore pour l exemple , du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r\ ep \ ete encore et encore pour l exemple \ dots Du texte qui se r\ ep \ ete encore et encore pour l exemple , du texte qui se r \ ep \ ete encore et encore pour l exemple , du texte qui se r \ ep \ ete encore et encore pour l exemple \ dots \ end { gbar } \ end { bclogo}

Ce qui donne

Test avec framed.sty


Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . .Du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple, du texte qui se rpte encore et encore pour lexemple. . .

6.1 Rglage global des paramtres


On peut rgler les paramtres pour toutes les botes bclogo. Pour cela on utilise la commande
\ presetkeys { bclogo }{ < liste des parametres >}{}

Par exemple :
\ presetkeys { bclogo }{ ombre = true , epBord =1 pt }{}

7 Le code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

\ NeedsTeXFormat { LaTeX 2e } \ def \ PackageName { bclogo} \ def \ fileversion { v 2.24} \ def \ filedate {2009/09/09} \ ProvidesPackage { bclogo} [\ filedate \ space \ fileversion ] \ RequirePackage { xkeyval , ifthen } %% Les options globales du package sont au nombre de 2: tikz ou pstricks \ newif \ iftikz% \ newif \ ifblur \ define@key { bclogo. sty }{ tikz }[]{\ tikztrue } % \ define@key { bclogo. sty }{ pstricks }[]{\ tikzfalse } % \ define@key { bclogo. sty }{ blur }[]{\ blurtrue } % \ newlength {\ logowidth }\ setlength {\ logowidth }{17 pt } % \ ProcessOptionsX %

17

18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90

\ iftikz% \ RequirePackage { tikz } % \ usetikzlibrary { shadows } % pour l ombre \ usetikzlibrary { decorations . pathmorphing } % pour la barre ondulee \ else % \ ifblur\ RequirePackage { pst - blur }\ fi % \ RequirePackage { graphicx } % \ RequirePackage { pstricks } % \ RequirePackage { pst - grad } % \ RequirePackage { pst - coil } % pour la barre ondulee \ fi % % les symboles % ================ === == === == == === == === == === == === == == === == === == === == == === == === == = % la fleur \ newcommand \ bcfleur {\ includegraphics [ width =\ logowidth ]{ bc - fleur }} % une note ( Thomas Labarussias ) \ newcommand \ bcnote {\ includegraphics [ width =\ logowidth ]{ bc - note }} % panneau chantier ( Jean - Michel Sarlat) \ newcommand \ bcpanchant {\ includegraphics [ width =\ logowidth ]{ bc - aux -301}} % ours %\ newcommand \ bcours {\ begingroup \ input { bc - ours . tex }\ endgroup } \ newcommand \ bcours {\ includegraphics [ width =\ logowidth ]{ bc - ours }} % etoile %\ newcommand \ bcetoile {\ begingroup \ input { bc - etoile. tex }\ endgroup } \ newcommand \ bcetoile {\ includegraphics [ width =\ logowidth ]{ bc - eto ile }} % attention %\ newcommand \ bcattention {\ begingroup \ input {bc - atten tion . tex }\ endgroup } \ newcommand \ bcattention {\ includegraphics [ width =\ logowidth ]{ bc - attention }} % attention P. Fradin \ newcommand \ bctakecare {\ includegraphics [ width =\ logowidth ]{ bc - t akecare }} % lampe P. Fradin \ newcommand \ bclampe {\ includegraphics [ width =\ logowidth ]{ bc - lampe }} % coeur \ newcommand \ bccoeur {\ includegraphics [ width =\ logowidth ]{ bc - coeur }} % ornement ( tire du site http :// openclipart . org ) \ newcommand \ bcorne {\ includegraphics [ width =\ logowidth ]{ bc - orne }} % danger ( Francois ) \ newcommand \ bcdanger {\ includegraphics [ width =\ logowidth ]{ bc - dan ger }} % smiley bonne humeur ( Francois ) \ newcommand \ bcsmbh {\ includegraphics [ width =\ logowidth ]{ bc - smiley - bonnehumeur }} % smiley bonne humeur ( Francois ) \ newcommand \ bcsmmh {\ includegraphics [ width =\ logowidth ]{ bc - smiley - mauvaisehumeur }} % le trefle \ newcommand \ bctrefle {\ includegraphics [ width =\ logowidth ]{ bc - tre fle }} % le livre \ newcommand \ bcbook {\ includegraphics [ width =\ logowidth ]{ bc - book }} % point d interrogation \ newcommand \ bcquestion {\ includegraphics [ width =\ logowidth ]{ bc - inter }} % crayon anne - sophie philippe \ newcommand \ bccrayon {\ includegraphics [ width =\ logowidth ]{ bc - cra yon }} % info ( thomas labarrussias ) \ newcommand \ bcinfo {\ includegraphics [ width =\ logowidth ]{ bc - info }} % plume \ newcommand \ bcplume {\ includegraphics [ width =\ logowidth ]{ bc - plume }} % le pic LaTeX \ newcommand \ bcspadesuit {{\ centering \ huge $\ spadesuit $}} % logos Alphonse Capriani \ newcommand \ bcbombe {\ includegraphics [ width =\ logowidth ]{ bcbombe }} \ newcommand \ bccube {\ includegraphics [ width =\ logowidth ]{ bccube }} \ newcommand \ bcdallemagne {\ includegraphics [ width =\ logowidth ]{ bc dallemagne }} \ newcommand \ bcdbelgique {\ includegraphics [ width =\ logowidth ]{ bcd belgique }} \ newcommand \ bcdfrance {\ includegraphics [ width =\ logowidth ]{ bcdfr ance }} \ newcommand \ bcditalie {\ includegraphics [ width =\ logowidth ]{ bcdit alie }} \ newcommand \ bcdodecaedre {\ includegraphics [ width =\ logowidth ]{ bc dodecaedre }} \ newcommand \ bcdpaysbas {\ includegraphics [ width =\ logowidth ]{ bcdp aysbas }} \ newcommand \ bceclaircie {\ includegraphics [ width =\ logowidth ]{ bce claircie }} \ newcommand \ bcicosaedre {\ includegraphics [ width =\ logowidth ]{ bci cosaedre }} \ newcommand \ bcinterdit {\ includegraphics [ width =\ logowidth ]{ bcin terdit }} \ newcommand \ bcneige {\ includegraphics [ width =\ logowidth ]{ bcneige }}

18

91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114

\ newcommand \ bcoctaedre {\ includegraphics [ width =\ logowidth ]{ bcoc taedre }} \ newcommand \ bcpluie {\ includegraphics [ width =\ logowidth ]{ bcpluie }} \ newcommand \ bcpoisson {\ includegraphics [ width =\ logowidth ]{ bcpoi sson }} \ newcommand \ bcsoleil {\ includegraphics [ width =\ logowidth ]{ bcsole il }} \ newcommand \ bcstop {\ includegraphics [ width =\ logowidth ]{ bcstop }} \ newcommand \ bctetraedre {\ includegraphics [ width =\ logowidth ]{ bct etraedre }} \ newcommand \ bccalendrier {\ includegraphics [ width =\ logowidth ]{ bc calendrier }} \ newcommand \ bchorloge {\ includegraphics [ width =\ logowidth ]{ bchor loge }} \ newcommand \ bcying {\ includegraphics [ width =\ logowidth ]{ bcying }} \ newcommand \ bcrosevents {\ includegraphics [ width =\ logowidth ]{ bcr osevents }} % fin alphonse % Vincent Pantaloni route glissante \ newcommand \ bcdz {\ includegraphics [ width =\ logowidth ]{ bc - dz }} % =========================== 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}} \ newcounter { bclogocompteur } % idee de Francois Petiard % ===================== === ==== === === === == les keys ==== =================== ==== == \ newlength {\ val@epBarre } % on definit une longueur : l epaisseur de la barre en point \ newlength {\ val@framesep } % on definit une longueur : l epaisseur de la marge en point \ newlength {\ val@tailleOndu } % on definit une longueur : taille d une ondulation \ newlength {\ val@borderWidth } % on definit une longueur : epaisseur du bord \ 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@key { bclogo }{ couleurBarre }[ black ]{\ def \ val@couleurBarre {#1}} \ define@key { bclogo }{ couleurBord }[ black ]{\ def \ val@couleurBord {#1}} % modification Philippe Fortemps \ define@key { bclogo }{ imageBarre }[]{\ def \ val@imageBarre {#1}} \ define@key { bclogo }{ motifBarre }[*]{\ def \ val@motifBarre {#1}} \ define@key { bclogo }{ marge }[4]{\ setlength {\ val@frame sep }{#1 pt }\ iftikz\ else \ setlength {\ psframesep }{#1 pt }\ fi } \ define@key { bclogo }{ sousTitre }[]{\ def \ val@sousTitre {#1}} \ define@key { bclogo }{ epBarre }[1.5]{\ setlength {\ val@e pBarre }{#1 pt }} \ define@key { bclogo }{ epBord }[0.8]{\ setlength {\ val@bo rderWidth }{#1 pt }} % \ define@key { bclogo }{ tailleOndu }[2.5]{\ setlength {\ va l@tailleOndu }{#1 pt }} \ define@boolkey { bclogo }{ cadreTitre }[ true ]{} \ define@boolkey { bclogo }{ noborder }[ true ]{} \ define@boolkey { bclogo }{ ombre }[ true ]{} \ define@boolkey { bclogo }{ avecBarre }[ true ]{} \ define@boolkey { bclogo }{ blur }[ true ]{} \ define@choicekey { bclogo }{ barre }{ none , line , snake , motif , zigzag , imageExt , imageClip , wave }[ line ]{ % \ ifthenelse {\ equal {#1}{ none }}{\ KV@bclogo@avecBarref alse } % {\ def \ bc@barre {\ @nameuse { bc@barre #1}}} % }% % selection par defaut \ presetkeys { bclogo }{ logo , barre , couleur , arrondi , coul eurOmbre , couleurBarre , epOmbre , epBarre , epBord , tailleOndu , ombre = false , cadreTitre = false , avecBarre = true , noborder = false , marge , sousTitre , couleurBord , blur = false }{} % % les differente commande de barre vertical a gauche \ newcommand {\ bc@barreline }{\ color {\ val@couleurBarre }\ vrule width \ val@epBarre } % \ newcommand {\ bc@barremotif }{ % \ begin { minipage }{\ logowidth }\ color {\ val@couleurBarre }\ centering % \ vbox to \ invboxh {\ cleaders \ vbox {\ vss \ val@motifBarre \ vss }\ vfill } % \ end { minipage }} \ newcommand {\ bc@barrewave }{ % \ begin { minipage }{\ logowidth }\ color {\ val@couleurBarre }\ centering %

115

116 117 118 119 120 121 122 123 124 125

126 127 128

129 130 131 132 133 134 135 136 137 138

139 140 141 142 143 144

145 146 147 148 149 150 151 152 153 154 155 156

19

157 158 159 160 161 162 163

\ vbox to \ invboxh {\ cleaders \ vbox {\ vss $\ leftwave \ right .$ \ vss }\ vfill }% \ end { minipage }} \ newcommand {\ bc@barresnake }{ % \ begin { minipage }{\ logowidth }\ centering \ iftikz \ begin { tikzpicture }[ decoration ={ snake , segment length =2.66\ val@tailleOndu , amplitude =\ val@tailleOndu }] \ draw [ decorate , line width =1 pt , color =\ val@couleurBarr e ](0 ,\ invboxh ) - -(0 ,0) ;\ end { tikzpicture } % \ else \ psset { unit =1 pt } \ begin { pspicture }(0 ,0) (0 ,\ invboxh ) \ pszigzag [ coilarm =0 pt , coilwidth =2\ val@tailleOndu , li newidth =1 pt , linearc =1 pt , coilheight =1.33 , linecolor =\ val@couleurBarre ](0 ,\ inv boxh) (0 ,0) \ end { pspicture } % \ fi \ end { minipage }} % \ newcommand {\ bc@barrezigzag }{ % \ begin { minipage }{\ logowidth }\ centering \ iftikz \ begin { tikzpicture }[ decoration ={ zigzag , segment length =2.66 \ val@tailleOndu , amplitude =\ val@tailleOndu }] \ draw [ decorate , line width =1 pt , color =\ val@couleurBarr e ](0 ,\ invboxh) - -(0 ,0) ;\ end { tikzpicture } % \ else \ psset { unit =1 pt } \ begin { pspicture }(0 ,0) (0 ,\ invboxh ) \ pszigzag [ coilarm =0 pt , coilwidth =2\ val@tailleOndu , li newidth =1 pt , coilheight =1.33 , linecolor =\ val@couleurBarre ](0 ,\ invboxh ) (0 ,0) \ end { pspicture } % \ fi \ end { minipage }} % \ newcommand {\ bc@barreimageExt }{ % l image est deformee \ begin { minipage }{\ logowidth }\ centering \ includegraphics [ width =\ logowidth , height =\ invboxh ]{\ val@imageBarre } \ end { minipage } }% \ newcommand {\ bc@barreimageClip }{ % \ begin { minipage }{\ logowidth }\ centering \ includegraphics [ viewport =0 0 \ logowidth ~ \ invboxh , % clip = true ]{\ val@imageBarre } % \ end { minipage } }% % ======================= Quelques definitions ======== ============ ==== === === ==== = % boite globale \ newsavebox {\ envbox} % boite interieure la ligne 2 du tableau barre + texte \ newsavebox {\ invbox} % pour la hauteur de la boite \ newlength {\ invboxh }\ newlength {\ invboxd } % %% precaution JCC \ newcommand *\ bclogotitre {} \ newcommand \ styleSousTitre [1]{\ normalsize \ textit {#1}} % ======================= L environnement ============ ======= === === === ==== === === = \ newenvironment *{ bclogo }[2][]{ % \ setkeys{ bclogo }{#1} % on recupere les options % on definit les commandes qui seront utilisees dans la secon de % parti de l environnement % la commande pour le 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

164

165 166 167 168

169 170 171 172 173 174 175 176

177

178 179 180 181

182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223

20

224 225

226 227 228 229 230

231 232 233 234 235 236 237 238

\ hfil \ 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 , gra dangle =0 , gradbegin = red !60! green !40 , gradend = white ]{\ large #2} % \ hfil % \ fi % } \ else % sinon cadreTitre = false \ newcommand {\ structitre }{\ large \ textbf {#2} \ styleSousTitre {\ val@sousTitre }} % \ fi % \ begin { lrbox }{\ invbox} % \ begin { minipage }{\ dimexpr \ linewidth -2\ val@framesep -\ ifKV@bclogo@noborder 0 pt \ else 2\ val@borderWidth \ fi -\ logowidth -\ ifKV@bclogo@ombre \ val@epOmbre cm \ else 0 pt \ fi \ relax } % }% {% \ end { minipage } % \ end { lrbox } % % calcul de la hauteur totale de la boite interieure \ settoheight {\ invboxh }{\ usebox {\ invbox }} % \ settodepth {\ invboxd }{\ usebox {\ invbox }} % \ addtolength {\ invboxh }{\ invboxd } % % on commence la boite interieur ou est le texte et la barre ver tical \ begin { lrbox }{\ envbox} % \ begin { tabular }{ @ {} c@ {} p {\ dimexpr \ linewidth -2\ val@framesep -\ ifKV@bclogo@noborder 0 pt \ else 2\ val@borderWidth \ fi -\ logowidth -\ ifKV@bclogo@ombre \ val@epOmbre cm \ else 0 pt \ fi }@ {}} % \ begin { minipage }{\ logowidth }{\ refstepcounter { bclogocompteur }\ bccaption {\ bclogotitre }\ val@logo }\ end { minipage }& % \ ifKV@bclogo@cadreTitre % \ begin { minipage }{\ dimexpr\ linewidth -2\ val@framesep -\ logowidth -\ ifKV@bclogo@ombre \ val@epOmbre cm \ else 0 pt \ fi }{\ structitre }\ end { minipage } % \ else \ structitre \ fi \ tabularnewline % \ ifKV@bclogo@avecBarre % si il y a une barre verticale \ bc@barre &\ usebox {\ invbox } % \ else \ multicolumn {2}{ c }{\ usebox {\ invbox }}\ fi % \ end { tabular } % \ end { lrbox } % % Affiche l ensemble dans un cadre en couleur. \ iftikz% tikz \ par \ noindent \ begin { tikzpicture } % \ ifKV@bclogo@ombre % cadre ombre \ ifKV@bclogo@blur % blur \ node [ % preaction ={ line width =6 , line join = round , opacity =0.1 , draw =\ val@couleurOmbre , transform canvas ={ xshift =\ val@epOmbre cm , yshift = -\ val @epOmbre cm }} , % preaction ={ line width =5 , line join = round , opacity =0.15 , draw =\ val@couleurOmbre , transform canvas ={ xshift =\ val@epOmbre cm , yshift = -\ val @epOmbre cm }} , % preaction ={ line width =4 , line join = round , opacity =0.2 , draw =\ val@couleurOmbre , transform canvas ={ xshift =\ val@epOmbre cm , yshift = -\ val @epOmbre cm }} , % preaction ={ line width =3 , line join = round , opacity =0.3 , draw =\ val@couleurOmbre , transform canvas ={ xshift =\ val@epOmbre cm , yshift = -\ val @epOmbre cm }} , % preaction ={ line width =2 , line join = round , opacity =0.4 , draw =\ val@couleurOmbre , transform canvas ={ xshift =\ val@epOmbre cm , yshift = -\ val @epOmbre cm }} , % preaction ={ line width =1 , line join = round , opacity =0.5 , draw =\ val@couleurOmbre , transform canvas ={ xshift =\ val@epOmbre cm , yshift = -\ val @epOmbre cm }} , % general shadow ={ fill =\ val@couleurOmbre , opacity =1 , sha dow xshift =\ val@epOmbre cm , shadow yshift = -\ val@epOmbre cm } , % fill =\ val@couleur , shape = rectangle , line width =\ val@bo rderWidth , inner sep =\ val@framesep , rounded corners =\ arr cm , % draw =\ ifKV@bclogo@noborder none \ else \ val@couleurBord \ fi ]{\ usebox {\ envbox }}; \ else % ombre sans blur \ node [ fill =\ val@couleur , shape = rectangle , line width =\ val@borderWidth , inner sep =\ val@framesep , rounded corners =\ arr cm , %

239 240 241 242 243 244 245 246 247 248 249 250 251

252

253 254

255 256 257 258 259 260 261 262 263 264 265 266 267 268 269

270

271

272

273

274

275

276

277 278 279

21

280

281 282 283

284 285 286 287 288 289 290 291

292

293 294

295

296 297 298

299 300 301 302

general shadow ={ fill =\ val@couleurOmbre , shadow xshift =\ val@epOmbre cm , shadow yshift = -\ val@epOmbre cm } , draw =\ ifKV@bclogo@noborder none \ else \ val@couleurBord \ fi ]{\ usebox {\ envbox }}; \ fi % fin ifblur \ else % cadre sans ombre \ node [ fill =\ val@couleur , thick , shape = rectangle , line width =\ val@borderWidth , inner sep =\ val@framesep , rounded corners =\ arr cm , draw =\ ifKV@bclogo@noborder none \ else \ val@couleurBord \ fi ]{\ usebox {\ envbox }}; \ fi \ end { tikzpicture } % %\ par % \ else % pstricks \ noindent \ ifKV@bclogo@ombre % cadre ombre \ ifKV@bclogo@blur % blur \ psframebox [ cornersize = absolute , linearc =\ dimexpr \ arr cm * 2 , fillstyle = solid , shadow= true , blur = true , shadowsize =\ val@epOmbre cm , % shadowcolor =\ val@couleurOmbre , fillcolor =\ val@couleur , linewidth =\ val@borderWidth , linestyle =\ ifKV@bclogo@noborder none \ else solid \ fi , linecolor =\ val@couleurBord ]{\ usebox {\ envbox }} \ else \ psframebox [ cornersize = absolute , linearc =\ dimexpr \ arr cm * 2 , fillstyle = solid , shadow= true , shadowsize =\ val@epOmbre cm , % shadowcolor =\ val@couleurOmbre , fillcolor =\ val@couleur , linewidth =\ val@borderWidth , linestyle =\ ifKV@bclogo@noborder none \ else solid \ fi , linecolor =\ val@couleurBord ]{\ usebox {\ envbox }} \ fi \ else % cadre sans ombre \ psframebox [ cornersize = absolute , linearc =\ dimexpr \ arr cm * 2 , fillstyle = solid , fillcolor =\ val@couleur , linewidth =\ val@borderWidth , l inestyle =\ ifKV@bclogo@noborder none \ else solid \fi , linecolor =\ val@couleurBord ]{\ usebox {\ envbox }} \ fi % \ fi % fin \ ifKV@bclogo@ombre \ vspace *{\ val@epOmbre cm }\ fi }%

22

You might also like