summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/bclogo/bclogo-doc.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/bclogo/bclogo-doc.tex')
-rw-r--r--Master/texmf-dist/doc/latex/bclogo/bclogo-doc.tex503
1 files changed, 352 insertions, 151 deletions
diff --git a/Master/texmf-dist/doc/latex/bclogo/bclogo-doc.tex b/Master/texmf-dist/doc/latex/bclogo/bclogo-doc.tex
index 3d799b92ae4..f7a24d1a399 100644
--- a/Master/texmf-dist/doc/latex/bclogo/bclogo-doc.tex
+++ b/Master/texmf-dist/doc/latex/bclogo/bclogo-doc.tex
@@ -1,4 +1,4 @@
-\documentclass[article, a4paper, 11pt]{article}
+\documentclass[ a4paper, 11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[garamond]{mathdesign}
\usepackage{bclogo}
@@ -11,30 +11,48 @@
\usepackage{listings}
\usepackage{pifont}
-\lstset{language=[LaTeX]TeX,defaultdialect=[LaTeX]TeX,basicstyle=\sffamily\small,breaklines=true}
+\lstset{% general command to set parameter(s)
+ basicstyle=\small, % print whole listing small
+ keywordstyle=\color{blue}\ttfamily,
+ % underlined bold black keywords
+% identifierstyle=,
+ basicstyle=\ttfamily\footnotesize, % nothing happens
+ commentstyle=\itshape\color{green}, % white comments
+ stringstyle=\ttfamily, % typewriter type for strings
+ showstringspaces=false,
+ language=[LaTeX]TeX,
+ defaultdialect=[LaTeX]TeX
+}
+\lstdefinestyle{numbers}
+ {numbers=left, stepnumber=1, numberstyle=\tiny, numbersep=10pt}
+
\newenvironment{enum}{%
\begin{dingautolist}{202}}
{\end{dingautolist}}
\newenvironment{Code}{%
-\begin{bclogo}[logo = \orne]{Code}%
+\begin{bclogo}[logo = \bcorne]{Code}%
}
{%
\end{bclogo}
}
+
+
+
+
\definecolor{cPG}{RGB}{235, 227, 150}
-\title{\texttt{bclogo} version 1.3}
-\author{Maxime \textsc{Chupin}\footnote{Merci à Jean-Côme \textsc{Charpentier}, Ulrike \textsc{Fischer} et Manuel \textsc{Pégourié-Gonnard}}\\\texttt{notezik@gmail.com}}
-\date{16 Septembre 2008}
+\title{\texttt{bclogo} version 2.1}
+\author{ Maxime \textsc{Chupin} et Patrick \textsc{Fradin} \footnote{Merci à Jean-Côme \textsc{Charpentier}, Ulrike \textsc{Fischer} et Manuel \textsc{Pégourié-Gonnard}}\\\texttt{notezik@gmail.com}}
+\date{4 Janvier 2009}
\begin{document}
\maketitle
\begin{abstract}
-Ce paquet permet la création, via \texttt{Pstricks}, de boîtes colorées avec un logo, un titre et une couleur de fond\footnote{Il y a bien entendu d'autres options}.
+Ce paquet permet la création, via \texttt{Pstricks} ou \texttt{Tikz}, de boîtes colorées avec un logo, un titre et une couleur de fond\footnote{Il y a bien entendu d'autres options}.
\end{abstract}
\vspace*{2cm}
@@ -43,24 +61,27 @@ Voici les logos :
\begin{multicols}{2}
\begin{itemize}
-\item La fleur : \fleur
-\item Le chantier : \panchant
-\item La note : \note
-\item L'étoile : \etoile
-\item L'ourson : \ours
+\item La fleur : \bcfleur
+\item Le chantier : \bcpanchant
+\item La note : \bcnote
+\item L'étoile : \bcetoile
+\item L'ourson : \bcours
+\item Take care : \bctakecare
+\item La lampe : \bclampe
\end{itemize}
\begin{itemize}
-\item Attention : \attention
-\item Le c\oe ur : \coeur
-\item Ornement : \danger
-\item Smiley heureux : \smbh
-\item Smiley malheureux : \smmh
+\item Attention : \bcattention
+\item Le c\oe ur : \bccoeur
+\item Ornement : \bcdanger
+\item Smiley heureux : \bcsmbh
+\item Smiley malheureux : \bcsmmh
+\item Le trêfle : \bctrefle
+\item LE livre : \bcbook
\end{itemize}
\end{multicols}
\end{bclogo}
-
\newpage
\tableofcontents
@@ -68,33 +89,60 @@ Voici les logos :
\section{Introduction}
-Ce paquet a été créé pour faciliter la fabrication de boîtes colorées plus ou moins complexes disposant d'un titre, d'un logo et d'une couleur de fond. \texttt{bclogo} s'appuie principalement sur \texttt{Pstricks} et comme il utilise \texttt{xkeyval}, la \textit{syntaxe} est habituelle pour les utilisateurs du dit language. Ces boîtes permettent de colorer un peu les pages d'un document \LaTeX{} tout en mettant en relief le contenu de la boîte.
+Ce paquet a été créé pour faciliter la fabrication de boîtes colorées plus ou moins complexes disposant d'un titre, d'un logo et d'une couleur de fond. Depuis la version 2.0, \texttt{bclogo} s'appuie principalement sur \texttt{Pstricks} \textbf{ou} sur \texttt{tikz}\footnote{Ceci grâce à Patrick \textsc{Fradin}}. Ce paquet utilise \texttt{xkeyval} pour la gestion des paramètres. Ces boîtes permettent de colorer un peu les pages d'un document \LaTeX{} tout en mettant en relief le contenu de la boîte.
Pour son bon fonctionnement, il est necessaire d'avoir les paquets suivants installés sur votre machine.
-\begin{bclogo}[couleur = cPG, logo = \attention, cadretitre = true, arrondi = 0.1]{Les paquets \textit{indispensables}}
+\begin{bclogo}[couleur = cPG, logo = \bcattention, cadretitre = true, arrondi = 0.1]{Les paquets \textit{indispensables}}
\begin{multicols}{2}
\begin{enum}
\item \verb+Pstricks+
-\item \verb+tabularx+
\item \verb+graphicx+
-\item \verb+ifthen+
\item \verb+pst-grad+
\item \verb+xkeyval+
\end{enum}
\end{multicols}
+et/ou \texttt{tikz} et sa librairie \texttt{shadows}.
+
+\verb+xkeyval+ est nécessaire dans les deux utilisations.
\end{bclogo}
+\section{La chargement du paquet}
+
+Depuis la version 2.0 de \texttt{bclogo}, le chargement s'effectue avec deux options, soit on utilise \texttt{pstricks} (par défaut)\footnote{Ceci est issue d'un conseil d'Herbert \textsc{Voss} qui vérifie à chaque nouvelle version le code, merci à lui.} soit \texttt{tikz}. Ceci s'effectue dans le préambule du document \LaTeX{} :
+
+\begin{Code}
+\begin{lstlisting}
+\usepackage[tikz]{bclogo}
+\end{lstlisting}
+ou
+\begin{lstlisting}
+\usepackage[pstrick]{bclogo}
+\end{lstlisting}
+\end{Code}
+
+\noindent\textbf{Remarque : } Les syntaxes
+\begin{lstlisting}
+\usepackage[pstricks]{bclogo}
+\end{lstlisting}
+et
+\begin{lstlisting}
+\usepackage{bclogo}
+\end{lstlisting}
+sont équivalentes.
\section{Syntaxe générale}
+Quelque soit l'option de chargement choisie, la syntaxe pour la création de boîte est la même.
+\bigskip
+
Voici le schéma de base pour réaliser une boîte :
\begin{Code}
-\begin{verbatim}
+\begin{lstlisting}
\begin{bclogo}[<options>]{Titre}
Corps de la boite...
\end{bclogo}
-\end{verbatim}
+\end{lstlisting}
\end{Code}
\section{Les options}
@@ -103,13 +151,13 @@ Corps de la boite...
On définit la couleur de fond grâce à \texttt{couleur = <macouleur>}, par exemple :
\begin{Code}
-\begin{verbatim}
+\begin{lstlisting}
\begin{bclogo}[couleur = blue!30]{Mon Titre}
- Du texte qui se répète encore et encore pour l'exemple, du texte qui
- se répète encore et encore pour l'exemple, du texte qui se répète
+ 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}
-\end{verbatim}
+\end{lstlisting}
\end{Code}
\bigskip
@@ -126,16 +174,16 @@ Par défaut la couleur est blanche.
\subsection{L'arrondi des coins}
-On commande la taille de l'arrondi dans les options de la manière suivante \texttt{arrondi = <valeur>} :
+On commande la taille de l'arrondi dans les options de la manière suivante \texttt{arrondi = <valeur>} , elle se règle en cm :
\begin{Code}
-\begin{verbatim}
+\begin{lstlisting}
\begin{bclogo}[couleur = blue!30, arrondi = 0.1]{Mon Titre}
- Du texte qui se répète encore et encore pour l'exemple, du texte qui
- se répète encore et encore pour l'exemple, du texte qui se répète
+ 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}
-\end{verbatim}
+\end{lstlisting}
\end{Code}
\bigskip
@@ -152,19 +200,19 @@ Par défaut, l'arrondi est à 0.
\subsection{Le style de titre}
-Il y a deux styles de titre. Un, par défaut ou avec la commande \texttt{cadretitre = false}. Les boîtes précédentes utilise ce style de titre.
+Il y a deux styles de titre. Un, par défaut ou avec la commande \texttt{cadretitre = false}. Les boîtes précédentes utilisent ce style de titre.
\bigskip
Le second style, plus élaboré, est un cadre avec un gradient de couleur \textit{gold}. Ceci s'obtient avec la commande \texttt{cadretitre = true}.
\begin{Code}
-\begin{verbatim}
+\begin{lstlisting}
\begin{bclogo}[couleur = blue!30, arrondi = 0.1, cadretitre = true]{Mon Titre}
- Du texte qui se répète encore et encore pour l'exemple, du texte qui
- se répète encore et encore pour l'exemple, du texte qui se répète
+ 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}
-\end{verbatim}
+\end{lstlisting}
\end{Code}
\bigskip
@@ -178,159 +226,312 @@ Ce qui donne :
\subsection{Les logos}
-C'est là que réside l'originalité de \texttt{bclogo}\dots Pour la plupart, je les ai dessinés avec \textit{Inkscape} et exportés en PSTricks. Chaque logo (dessiné avec \textit{Inkscape}) est contenu dans un fichier \textit{<monlogo>}\texttt{.tex} qui est appelé dans le fichier \texttt{bclogo.sty}. La création de logo est un travail amusant, ceux qui veulent y participer n'ont qu'à me contacter par mail.
+C'est là que réside l'originalité de \texttt{bclogo}\dots{} Pour la plupart, je les ai dessinés avec \textit{Inkscape} et exportés en PSTricks.
+
+Il y a depuis la version 2.0, plusieurs façons de créer des logos, soit au format \texttt{pstricks}, soit au format \texttt{pgf}, soit au format \texttt{eps}, soit au format \texttt{pdf}. Des commandes sont définies appelant les fichiers aux différents formats.
-Les logos sont définis avec une largeur de 17pt.
+La création de logo est un travail amusant, ceux qui veulent y participer n'ont qu'à me contacter par mail (les logos sont définis avec une largeur de 17pt, la hauteur est plus ou moins libre dans la mesure du raisonable). Lors de la création des logos il faut veiller à permettre la double utilisation \texttt{tikz} et \texttt{pstricks}.
-Le \og{}panneau chantier\fg{} est un logo particulier car c'est une image \texttt{.eps}.
Voici la liste des logos :
-\begin{bclogo}[arrondi=0.05, logo=\fleur, couleur= cPG, cadretitre = true]{Les logos}:
+\begin{bclogo}[arrondi=0.05, logo=\bctrefle, couleur= cPG, cadretitre = true]{Les logos}:
\begin{enumerate}
-\item la fleur : commande \verb+\fleur+ \raisebox{-3mm}{\fleur}
-\item \og{}en chantier\fg{} : commande \verb+\panchant+ \raisebox{-3mm}{\panchant} (Jean-Michel \textsc{Sarlat})
-\item la note : commande \verb+\note+ \raisebox{-3mm}{\note} (Thomas \textsc{Labarrusias})
-\item l'étoile : commande \verb+\etoile+ \raisebox{-3mm}{\etoile}
-\item l'ourson : commande \verb+\ours+ \raisebox{-3mm}{\ours}
-\item \og{}attention\fg{} : commande \verb+\attention+ \raisebox{-3mm}{\attention}
-\item le c\oe{}ur : commande \verb+\coeur+ \raisebox{-3mm}{\coeur}
-\item ornement : commande \verb+\orne+ \raisebox{-3mm}{\orne}
-\item danger : commande \verb+\danger+ \raisebox{-3mm}{\danger} (François \textsc{Boerkmann})
-\item smiley heureux : commande \verb+\smbh+ \raisebox{-3mm}{\smbh} (François \textsc{Boerkmann})
-\item smiley malheureux : commande \verb+\smmh+ \raisebox{-3mm}{\smmh} (François \textsc{Boerkmann})
+\item la fleur : commande \verb+\bcfleur+ \raisebox{-3mm}{\bcfleur}
+\item \og{}en chantier\fg{} : commande \verb+\bcpanchant+ \raisebox{-3mm}{\bcpanchant} (Jean-Michel \textsc{Sarlat})
+\item la note : commande \verb+\bcnote+ \raisebox{-3mm}{\bcnote} (Thomas \textsc{Labarrusias})
+\item l'étoile : commande \verb+\bcetoile+ \raisebox{-3mm}{\bcetoile}
+\item l'ourson : commande \verb+\bcours+ \raisebox{-3mm}{\bcours}
+\item \og{}attention\fg{} : commande \verb+\bcattention+ \raisebox{-3mm}{\bcattention}
+\item le c\oe{}ur : commande \verb+\bccoeur+ \raisebox{-3mm}{\bccoeur}
+\item ornement : commande \verb+\bcorne+ \raisebox{-3mm}{\bcorne}
+\item danger : commande \verb+\bcdanger+ \raisebox{-3mm}{\bcdanger} (François \textsc{Boerkmann})
+\item smiley heureux : commande \verb+\bcsmbh+ \raisebox{-3mm}{\bcsmbh} (François \textsc{Boerkmann})
+\item smiley malheureux : commande \verb+\bcsmmh+ \raisebox{-3mm}{\bcsmmh} (François \textsc{Boerkmann})
+\item Take care : commande \verb+\bctakecare+ \raisebox{-3mm}{\bctakecare} (Patrick \textsc{Fradin})
+\item La lampe : commande \verb+\bclampe+ \raisebox{-3mm}{\bclampe} (Patrick \textsc{Fradin})
+\item Le livre : commande \verb+\bcbook+ \raisebox{-3mm}{\bcbook} (Patrick \textsc{Fradin})
+\item Le trêfle : commande \verb+\bctrefle+ \raisebox{-3mm}{\bctrefle}
\end{enumerate}
\end{bclogo}
+Par exemple,
+
+\begin{Code}
+\begin{lstlisting}
+\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}
+\end{lstlisting}
+\end{Code}
+
+produit :
+
+\begin{bclogo}[couleur = blue!30, arrondi = 0.1, logo = \bctrefle]{Mon Titre}
+ Du texte qui se répète encore et encore pour l'exemple, du texte qui
+ se répète encore et encore pour l'exemple, du texte qui se répète
+ encore et encore pour l'exemple\dots
+\end{bclogo}
+
+\subsection{L'ombre}
+
+La gestion de l'ombre se règle comme les autres options. Par défaut, il n'y en a pas (la valeur \texttt{ombre} vaut \texttt{false}). On active l'ombre avec la commande \texttt{ombre = true}. Par exemple :
+
+\begin{Code}
+\begin{lstlisting}
+\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}
+\end{lstlisting}
+\end{Code}
+
+Ce qui produit :
+\begin{bclogo}[couleur = blue!30, arrondi = 0.1, ombre = true]{Mon Titre}
+ Du texte qui se répète encore et encore pour l'exemple, du texte qui
+ se répète encore et encore pour l'exemple, du texte qui se répète
+ encore et encore pour l'exemple\dots
+\end{bclogo}
+
+\subsubsection{Paramètres de l'ombre}
+
+\paragraph{Épaisseur} On règle l'épaisseur de l'ombre avec la commande \texttt{epOmbre = <\textrm{valeur en cm}>}. La valeur par défaut est de 0.125 cm.
+
+\paragraph{Couleur} On régle la couleur avec la commande \texttt{couleurOmbre = <\textrm{couleur}>}. La valeur par défaut est \textit{black}.
+
+Voici un exemple illustrant les deux options :
+
+\begin{Code}
+\begin{lstlisting}[ breaklines=true,breakindent=30pt]
+\begin{bclogo}[couleur = blue!30, arrondi = 0.1, ombre = true, epOmbre = 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}
+\end{lstlisting}
+\end{Code}
+
+produit :
+
+\begin{bclogo}[couleur = blue!30, arrondi = 0.1, ombre = true, epOmbre = 0.25, couleurOmbre = black!30]{Mon Titre}
+ Du texte qui se répète encore et encore pour l'exemple, du texte qui
+ se répète encore et encore pour l'exemple, du texte qui se répète
+ encore et encore pour l'exemple\dots
+\end{bclogo}
+
\section{Liste des boîtes}
On peut, comme avec table of contents, lister les boîtes utilisées dans le document et ce grâce à la commande :
-\begin{verbatim}
+\begin{lstlisting}
\listofbclogo
-\end{verbatim}
-
-Les noms affichés dans la liste sont les différents titres des boîtes. Par exemple dans ce document la liste donne :
+\end{lstlisting}
+Les noms affichés dans la liste sont les différents titres des boîtes. Par exemple dans ce document la liste donne (ici j'utilise un \texttt{multicols} pour l'affichage sur deux colonnes) :
+\begin{multicols}{2}
\listofbclogo
+\end{multicols}
\bigskip
Le titre de la liste peut alors être modifié par la commande :
-\begin{verbatim}
+\begin{lstlisting}
\renewcommand{\titrebclogo}{Liste des fiches}
-\end{verbatim}
+\end{lstlisting}
\section{Le code}
-Voici le code de \texttt{bclogo.sty}, je ne mets pas le code des logos car cela manque d'intérêt.
-
-\begin{lstlisting}[numbers=left]
+\begin{lstlisting}[style=numbers, breaklines=true,breakindent=30pt]
\NeedsTeXFormat{LaTeX2e}
-
-\ProvidesPackage{bclogo}[2008/03/12, V1.3]
-
-% extensions
-
-\RequirePackage{pstricks}
-\RequirePackage{pst-grad}
-\RequirePackage{tabularx}
-\RequirePackage{graphicx}
-\RequirePackage{ifthen}
+\def\PackageName{bclogo}
+\def\fileversion{v2.1}
+\def\filedate{2009/04/01}
+\ProvidesPackage{bclogo}
+ [\filedate\space\fileversion]
\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}
-%etoile
-\newcommand\etoile{\begingroup\input{etoile.tex}\endgroup}
-%attention
-\newcommand\attention{\begingroup\input{attention.tex}\endgroup}
-%coeur
-\newcommand\coeur{\begingroup\input{coeur.tex}\endgroup}
-%ornement (tire du site http://openclipart.org )
-\newcommand\orne{\begingroup\input{orne.tex}\endgroup}
-%danger (Francois)
-\newcommand\danger{\begingroup\input{danger.tex}\endgroup}
-%smiley bonne humeur (Francois)
-\newcommand\smbh{\begingroup\input{smiley_bonnehumeur.tex}\endgroup}
-%smiley bonne humeur (Francois)
-\newcommand\smmh{\begingroup\input{smiley_mauvaisehumeur.tex}\endgroup}
-%======================================================================
-
-%=========================== La fonction listable =====================
+
+%% 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}}
-\makeatletter
\newcommand\listofbclogo{\section*{\titrebclogo}\@starttoc{bcl}}
\newcommand\l@bclogo[2]{\par\noindent #1,~\textit{page~#2}}
-\makeatother
-%======================================================================
-\makeatletter
-%======================================= les keys =====================
-
-\define@key{bclogo}{logo}[\fleur]{\def\val@logo{#1}}
+% ======================================= 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@boolkey{bclogo}{cadretitre}[false]{}
-
-\setkeys{bclogo}{logo, couleur, arrondi} %on recupere les valeur par
- %defaut
-
-%======================================================================
-
+\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*\bclogocolor{}
\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
- %%% untilisees dans la deuxieme 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
- \ifKV@bclogo@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}%
- }%
- }%
- \par\vspace*{\dimexpr\ht\envbox+\dp\envbox+2\psframesep+2\pslinewidth}
-}
-
-\makeatother
-
+ \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
+}%
\end{lstlisting}
-\end{document} \ No newline at end of file
+
+
+\end{document}