Fond de page en LateX

Bonjour, voici une façon de faire pour agrémenter ses pdf avec une ou des images en arrière plan.
Pour ce faire nous avons besoin de deux paquets graphicx qui permet l’usage d’images et eso-pics qui permet de placer ces images en arrière-plan.

On déclare dans son code qu’on va utiliser ses paquets :

\usepackage{graphicx,eso-pic}
%Il est possible de les déclarer séparément de la façon suivante :
\usepackage{graphicx}
\usepackage{eso-pic}

Ensuite, si vous souhaitez mettre un fond de page unique à l’ensemble de votre document, utilisez la commande suivante :

\AddToShipoutPictureBG{\parbox[t]{\paperwidth}{\includegraphics[width=\paperwidth,height=\paperheight]{monImage.eps}
}}

Le format eps est un format vectoriel comme le format svg, à la différence qu’il est plus adapté à l’impression, là ou le svg est plus adapté au web. L’intérêt d’avoir des images vectorielle, est d’avoir une plus grande facilité à modifier leur taille sans se retrouver avec une image pixeliser. Une façon de convertir une image jpg ou png en image vectoriel est d’utiliser le logiciel gratuit Inkscape, ouvrir l’image en question, l’enregistrer sous un format .svg puis .eps .

La commande ajoute à l’arrière plan une boite fixé sur le haut de la page (option t), de la longueur de la page, contenant monImage.eps de la longueur de la page et de la hauteur de la page. Il est possible de spécifier en mm, la longueur et la hauteur de l’image. Si on est sur que la taille de l’image a déjà la taille de la page, on peut raccourcir la commande, de la façon suivante :

\AddToShipoutPictureBG{\parbox[t]{\paperwidth}{\includegraphics{monImage.jpg}}}

Dans le cas où vous souhaitez mettre une image plus petite que la page sans modifier sa taille, vous vous rendrez vite compte que par défaut l’image est placer en arrière plan en bas à gauche. Il est possible de faire bouger l’image avec les commandes raisebox et hspace :

\AddToShipoutPictureBG{\raisebox{.3\paperheight}{
\hspace{.15\paperwidth}{
\parbox[t]{\paperwidth}{\includegraphics{monImage.jpg}
}}}}
%N'hésiter pas à faire varier les valeurs .3 ou .15 pour obtenir le placement recherché.

Un fond de page pour une seul page

Il peut arriver qu’on est besoin de mettre un fond de page pour seulement la page de titre d’un document. Pour ce faire il faut se placer dans le code de la page en question est utiliser cette commande :

\AddToShipoutPictureBG*{\parbox[t]{\paperwidth}{\includegraphics{monImage.jpg}}}

Un fond de page différent des autres

Notamment, lorsqu’on fait une présentation, on peut apprécier le fait de varier les fonds de pages.
Il est possible d’utiliser la commande ci dessus à chaque page afin de spécifier l’image utilisé, selon le nombre de pages ça peut être une mauvaise idée. Sinon, on peut effacer la règle générale sur une page spécifique, puis sur la page suivante redéclarer la règle générale :

%page de titre
Partie 1
\AddToShipoutPictureBG*{\parbox[t]{\paperwidth}{\includegraphics{themeTitre.jpg}}}
%Je profite de ne pas avoir déclarer de règle générale lors de ma première page pour utiliser un fond spécifique
\newpage 
Page 1
\AddToShipoutPictureBG{\parbox[t]{\paperwidth}{\includegraphics{themeOcean.jpg}}}
%Je déclare ma règle générale, qui sera appliqué sur cette page et les suivantes
\newpage
Page2
%Je suis toujours en thème Ocean
\newpage
Partie 2 
\ClearShipoutPictureBG
%J'efface la règle générale à partir de cette page
\AddToShipoutPictureBG*{\parbox[t]{\paperwidth}{\includegraphics{themeTitre.jpg}}}
%Je déclare pour cette page le fond titre
\newpage 
Page 1
\AddToShipoutPictureBG{\parbox[t]{\paperwidth}{\includegraphics{themeOcean.jpg}}}
\newpage 
%Je déclare ma règle générale, qui sera appliqué sur cette page et les suivantes
Page 2
%Je suis toujours en thème Ocean

Une image frontale

Il est possible de mettre une image de front qui recouvrira le fond de page et le texte, il peut y avoir un intérêt avec une image frontale avec des zones de transparence. Il suffit de remplacer BG par FG.
Voici le code :

\AddToShipoutPictureFG*{\parbox[t]{\paperwidth}{\includegraphics[width=\paperwidth,height=\paperheight]{monImage.eps}
}}
%On applique une image frontale sur la page où est écrit le code. Il est possible d’appliquer l'image à l'ensemble du document en enlevant * du code.

Comments

No comments yet. Why don’t you start the discussion?

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *