\documentclass[article, a4paper, 11pt]{article} \usepackage[utf8]{inputenc} \usepackage[garamond]{mathdesign} \usepackage{bclogo} \usepackage{verbatim} \usepackage[margin=2.5cm]{geometry} \usepackage{amsmath} \usepackage[frenchb]{babel} \usepackage{xcolor} \usepackage{multicol} \usepackage{listings} \usepackage{pifont} \lstset{language=[LaTeX]TeX,defaultdialect=[LaTeX]TeX,basicstyle=\sffamily\small,breaklines=true} \newenvironment{enum}{% \begin{dingautolist}{202}} {\end{dingautolist}} \newenvironment{Code}{% \begin{bclogo}[logo = \orne]{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} \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}. \end{abstract} \vspace*{2cm} \begin{bclogo}[couleur = cPG, cadretitre = true, arrondi = 0.1]{Le paquet \texttt{bclogo}} 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 \end{itemize} \begin{itemize} \item Attention : \attention \item Le c\oe ur : \coeur \item Ornement : \danger \item Smiley heureux : \smbh \item Smiley malheureux : \smmh \end{itemize} \end{multicols} \end{bclogo} \newpage \tableofcontents \newpage \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. 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{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} \end{bclogo} \section{Syntaxe générale} Voici le schéma de base pour réaliser une boîte : \begin{Code} \begin{verbatim} \begin{bclogo}[]{Titre} Corps de la boite... \end{bclogo} \end{verbatim} \end{Code} \section{Les options} \subsection{La couleur de fond} On définit la couleur de fond grâce à \texttt{couleur = }, par exemple : \begin{Code} \begin{verbatim} \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 encore et encore pour l'exemple\dots \end{bclogo} \end{verbatim} \end{Code} \bigskip Ce qui donne : \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 encore et encore pour l'exemple\dots \end{bclogo} \bigskip 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 = } : \begin{Code} \begin{verbatim} \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 encore et encore pour l'exemple\dots \end{bclogo} \end{verbatim} \end{Code} \bigskip Ce qui donne : \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 encore et encore pour l'exemple\dots \end{bclogo} \bigskip 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. \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{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 encore et encore pour l'exemple\dots \end{bclogo} \end{verbatim} \end{Code} \bigskip Ce qui donne : \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 encore et encore pour l'exemple\dots \end{bclogo} \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{}\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. Les logos sont définis avec une largeur de 17pt. 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{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}) \end{enumerate} \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} \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 : \listofbclogo \bigskip Le titre de la liste peut alors être modifié par la commande : \begin{verbatim} \renewcommand{\titrebclogo}{Liste des fiches} \end{verbatim} \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] \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{bclogo}[2008/03/12, V1.3] % 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} %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 ===================== \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}} \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 %====================================================================== \newsavebox{\envbox} %%% precaution JCC \newcommand*\bclogocolor{} \newcommand*\bclogotitre{} \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& } {% \bccaption{\bclogotitre} \end{tabular}% \end{lrbox}% % Affiche le texte dans un cadre en couleur. \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 \end{lstlisting} \end{document}