Image en arrière plan sur chaque page

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

Image en arrière plan sur chaque page

Messagepar Einstein » Vendredi 09 Janvier 2009, 19:28

Bonjour,

Serait-il possible avec LaTeX de mettre une image, un logo en arrière plan sur chaque page en bas à droite par exemple ?

Merci,
Jonathan.
Einstein
Hecto-utilisateur
 
Messages: 98
Inscription: Vendredi 21 Décembre 2007, 21:18
Statut actuel: Lycée | Terminale S

Publicité

Re: Image en arrière plan sur chaque page

Messagepar pg » Samedi 10 Janvier 2009, 00:22

Tu peux utiliser la commande \AddToShipoutPicture du package eso-pic. Voici un exemple de ce que package peut faire :

Code: Tout sélectionner
\documentclass{book}

\usepackage{lipsum}% pour mettre du texte aléatoire via \lipsum

\usepackage[a4paper]{geometry}
\usepackage{graphicx}

\usepackage{eso-pic}

\makeatletter
\newlength\@tempdim@x
\newlength\@tempdim@y
% structure des commandes :
%   #1 = deplacement selon x
%   #2 = deplacement selon y
%   #3 = texte à mettre
\newcommand\AtUpperLeftCorner[3]{%
\begingroup
\@tempdim@x=0cm
\@tempdim@y=\paperheight
\advance\@tempdim@x#1
\advance\@tempdim@y-#2
\put(\LenToUnit{\@tempdim@x},\LenToUnit{\@tempdim@y}){#3}%
\endgroup
}
\newcommand\AtUpperRightCorner[3]{%
\begingroup
\@tempdim@x=\paperwidth
\@tempdim@y=\paperheight
\advance\@tempdim@x-#1
\advance\@tempdim@y-#2
\put(\LenToUnit{\@tempdim@x},\LenToUnit{\@tempdim@y}){#3}%
\endgroup
}
\newcommand\AtLowerLeftCorner[3]{%
\begingroup
\@tempdim@x=0cm
\@tempdim@y=0cm
\advance\@tempdim@x#1
\advance\@tempdim@y#2
\put(\LenToUnit{\@tempdim@x},\LenToUnit{\@tempdim@y}){#3}%
\endgroup
}
\newcommand\AtLowerRightCorner[3]{%
\begingroup
\@tempdim@x=\paperwidth
\@tempdim@y=0cm
\advance\@tempdim@x-#1
\advance\@tempdim@y#2
\put(\LenToUnit{\@tempdim@x},\LenToUnit{\@tempdim@y}){#3}%
\endgroup
}
% ajout de texte ou d'images en haut à gauche, en haut à droite, etc.
\AddToShipoutPicture{%
\AtUpperLeftCorner{1.5cm}{2cm}{en haut \`a gauche}% texte en haut à gauche ; à supprimer si on n'en veut pas
\AtLowerLeftCorner{1.5cm}{2cm}{en bas \`a gauche}% texte en bas à gauche ; à supprimer si on n'en veut pas
\AtUpperRightCorner{3.5cm}{2cm}{en haut \`a droite}% texte en haut à droite ; à supprimer si on n'en veut pas
\AtLowerRightCorner{3.5cm}{2cm}{en bas \`a droite}% texte en bas à droite ; à supprimer si on n'en veut pas
\AtLowerRightCorner{5cm}{5cm}{\includegraphics{image}}% image en bas à droite
}
\makeatother

\begin{document}

\chapter{Titre}

\lipsum\lipsum

\end{document}

Pour inclure le logo, c'est \AtLowerRightCorner{5cm}{5cm}{\includegraphics{image}} qu'il faut utiliser, en ajustant au besoin la position en jouant sur les deux premiers paramètres ; "image" doit bien sûr être remplacé par le nom de l'image.
pg
Modérateur
 
Messages: 2590
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Image en arrière plan sur chaque page

Messagepar Einstein » Jeudi 22 Janvier 2009, 18:50

Je viens de tenter de compiler votre code précédent, mais il semblerait y avoir une erreur.

J'ai essayer simplement de faire ceci :

Code: Tout sélectionner
\documentclass[12pt,a4paper]{book}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{eso-pic}
\AddToShipoutPicture{
\AtLowerRightCorner{5cm}{5cm}{\includegraphics{ferromagnétisme.png}}
}

\begin{document}
test
\end{document}


ça ne fonctionne pas non plus.
Si vous pourriez m'éclairer d'avantages, ce serait sympathique.

Merci.
Einstein
Hecto-utilisateur
 
Messages: 98
Inscription: Vendredi 21 Décembre 2007, 21:18
Statut actuel: Lycée | Terminale S

Re: Image en arrière plan sur chaque page

Messagepar pg » Jeudi 22 Janvier 2009, 20:15

Le code que j'ai donné précédemment fonctionne chez moi ; s'il y a une erreur lors de la compilation, il faudrait donner le message d'erreur exact pour voir ce qui ne va pas. Le contenu complet du fichier .log serait mieux (en rajoutant si possible un \listfiles juste avant le \documentclass).

Sinon, l'exemple que tu as essayé ne risque pas de fonctionner, il manque la définition de la macro \AtLowerRightCorner
pg
Modérateur
 
Messages: 2590
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Image en arrière plan sur chaque page

Messagepar Einstein » Vendredi 23 Janvier 2009, 18:22

merci bien, ça marche.
Einstein
Hecto-utilisateur
 
Messages: 98
Inscription: Vendredi 21 Décembre 2007, 21:18
Statut actuel: Lycée | Terminale S

Re: Image en arrière plan sur chaque page

Messagepar ladgalen » Mercredi 22 Septembre 2010, 14:04

Bonjour

Je fais remonter ce post car j'ai récupéré les différentes commandes et j'aimerais avoir quelques précisions car je ne comprend pas certaines choses.

Si je prend la syntaxe de la commande pour en bas à gauche (origine ?) je peux faire en sorte d'avoir une commande générique pour placer une image ou un texte n'importe où. Mais je ne comprends pas les commandes.

Qu'est ce que veux dire \begingroup ?

Je n'arrive pas à comprendre ce que signifie les commandes avec arobase et ici il y en a 2 ... du coup est ce que tu pourrais expliquer en quelques mots comment ça fonctionne ?

Et enfin, si je fait une image tikz. Est il possible de placer cette image à la place du includegraphics ? Les commandes AtXXXCorner accepte à l'intérieur des environnement du type pspicture ou tikzpicture ?

Merci
ladgalen
Déca-utilisateur
 
Messages: 47
Inscription: Mercredi 19 Août 2009, 15:34
Localisation: Pau
Statut actuel: Actif et salarié | Maître de conférence

Re: Image en arrière plan sur chaque page

Messagepar pg » Mercredi 22 Septembre 2010, 18:31

ladgalen a écrit:Qu'est ce que veux dire \begingroup ?

C'est le commencement d'un groupe, comme son nom l'indique ; cela signifie que les redéfinitions à l'intérieur sont locales. Ici, on change la valeur des deux dimensions \@tempdim@x et \@tempdim@y. Par exemple pour \AtUpperLeftCorner, la dimension x vaut 0cm + le décalage #1 et la dimension y vaut la hauteur du papier - le décalage #2. L'instruction \@tempdim@x=0cm met la dimension à 0 et \advance\@tempdim@x#1 lui rajoute #1 ; de même \@tempdim@y=\paperheight met la dimension y à la hauteur de papier et \advance\@tempdim@y-#2 lui retranche #2. On aurait aussi pu mettre #1 directement dans le \LenToUnit de la première coordonnée de \put(...,...) et \dimexpr\paperheight-#2 (\dimexpr fait un calcul sur les dimensions) dans celui de la seconde, cela aurait un peu allégé le code.

Voici ce que donnerait le code uniquement avec des \dimexpr :

Code: Tout sélectionner
\documentclass{book}

\usepackage{lipsum}% pour mettre du texte aléatoire via \lipsum

\usepackage[a4paper]{geometry}
\usepackage{graphicx}

\usepackage{eso-pic}

\newcommand\AtUpperLeftCorner[3]{%
  \put(\LenToUnit{#1},\LenToUnit{\dimexpr\paperheight-#2}){#3}%
}
\newcommand\AtUpperRightCorner[3]{%
  \put(\LenToUnit{\dimexpr\paperwidth-#1},\LenToUnit{\dimexpr\paperheight-#2}){#3}%
}
\newcommand\AtLowerLeftCorner[3]{%
  \put(\LenToUnit{#1},\LenToUnit{#2}){#3}%
}
\newcommand\AtLowerRightCorner[3]{%
  \put(\LenToUnit{\dimexpr\paperwidth-#1},\LenToUnit{#2}){#3}%
}
% ajout de texte ou d'images en haut à gauche, en haut à droite, etc.
\AddToShipoutPicture{%
\AtUpperLeftCorner{1.5cm}{2cm}{en haut \`a gauche}% texte en haut à gauche ; à supprimer si on n'en veut pas
\AtLowerLeftCorner{1.5cm}{2cm}{en bas \`a gauche}% texte en bas à gauche ; à supprimer si on n'en veut pas
\AtUpperRightCorner{3.5cm}{2cm}{en haut \`a droite}% texte en haut à droite ; à supprimer si on n'en veut pas
\AtLowerRightCorner{3.5cm}{2cm}{en bas \`a droite}% texte en bas à droite ; à supprimer si on n'en veut pas
\AtLowerRightCorner{5cm}{5cm}{\includegraphics{image}}% image en bas à droite
}

\begin{document}

\chapter{Titre}

\lipsum\lipsum

\end{document}


ladgalen a écrit:Et enfin, si je fait une image tikz. Est il possible de placer cette image à la place du includegraphics ? Les commandes AtXXXCorner accepte à l'intérieur des environnement du type pspicture ou tikzpicture ?

On peut mettre un peu ce que l'on veut dans un AtXXXXCorner.
pg
Modérateur
 
Messages: 2590
Inscription: Jeudi 14 Juin 2007, 23:31


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Google [Bot], Grapeshot [Crawler], Yandex [Bot] et 22 invités