J'ai bricolé avec The Gimp un cadre que je souhaite superposer à plusieurs pages contenant du texte ainsi que ce qui s'apparente à un logo:

alt text

Je souhaiterais remplacer le cadre basique formé de deux lignes (créé à l'aide de tcolorbox) par ce cadre qui tente de reproduire l'aspect un peu kitsch de l'original:

alt text

Le pdf résultant doit être aux dimensions (geometry) 4.8in x 6.4 in.

J'ai essayé diverses solutions pour superposer mon fichier cadre (au format jpeg) avec le code latex en utilisant eso-pic, overlay, et tikz sans succès.

Le pdf en sortie de compilation via xelatex est systématiquement aux dimensions US letter, ce qui semble dû à une incompatiblité entre les dimensions de mon jpeg et les dimensions données au pdf via geometry.

Le message suivant est notamment imprimé par xelatex :

Package geometry Warning: Over-specification in `h'-direction. `width' (346.89621pt) is ignored.

(… idem pour le height).

Autre problème :je constate par ailleurs que le texte que j'avais l'intention de superposer au cadre est imprimé sur la page suivante, hors du cadre.

Ce type de présentation n'ayant a priori rien de singulier (il s'agit ici d'exemples de menus intégrés à un livre de technique culinaire datant du milieu du XIXe siècle, mais la même approche serait applicable à moult autres domaines, posters, affiches, etc.) je serais curieux de savoir si quelqu'un ici a connaissance d'un article détaillé qui expliquerait à partir d''un exemple simple comment procéder.

À défaut, quelqu'un ayant déja été confronté à ce type de problème pourrait-il m'indiquer laquelle de méthodes indiquées ci-dessus je devrais rechercher ?

Bien entendu si cela est nécessaire j'ajouterai un exemple de code qui ne fonctionne pas avec l'un quelconque des packages sus-mentionnés.

Modification — 09/20/20 :

Quelques exemples de code minimal (MWE)¹ :

(a) avec le package background :

Ouvrir dans l'éditeur Overleaf
\documentclass{article}
\usepackage[height=6.4in, width=4.8in, margin=0in, inner=0cm]{geometry}
\usepackage[pages=some]{background}

\backgroundsetup{
scale=1,
color=black,
opacity=1,
angle=0,
contents={%
  \includegraphics[width=\paperwidth,height=\paperheight]{images/frame1.jpg}
  }%
}
\begin{document}
 \BgThispage
         ..................
         TeX/LaTeX content
         ..................
 \clearpage
 text
\end{document}

(b) avec eso-pic & graphicx :

Ouvrir dans l'éditeur Overleaf
\documentclass{article}
\usepackage{eso-pic,graphicx}
\usepackage[height=6.4in, width=4.8in, margin=.25in]{geometry}
\begin{document}
       ..................
       TeX/LaTeX content
       .................
\AddToShipoutPictureBG*{\includegraphics[width=\paperwidth,height=\paperheight]{images/frame0.jpg}};
\clearpage
text
\end{document}

(c) avec tikz :

Ouvrir dans l'éditeur Overleaf
\documentclass{article}
\usepackage{tikz}
\usepackage[width=4.8in, height=6.4in, top=2cm, bottom=2cm, outer=0cm, inner=0cm]{geometry}
\begin{document}
 Some content
\tikz[remember picture,overlay] \node[opacity=0.3,inner sep=0pt] at (current page.center){\includegraphics[width=\paperwidth,height=\paperheight]{images/frame0.jpg}};
\clearpage
text
\end{document}

¹ bien entendu, le sous-répertoire ./images/ contient sous le nom de frame0.jpg ou frame1.jpg le cadre représenté dans le post initial aux même dimensions physiques (4.8x6.4 inches) spécifiées en paramètre du package geometry.

Modification — 09/21/20 :

Comme l'indique @mmarkey il suffisait de lire la documentation du package geometry.

En remplaçant width=4.8in, height=6.4in par paperwidth=4.8in, paperheight=6.4in, l'erreur est corrigée et j'obtiens le résultat escompté.

Voici le code :

Ouvrir dans l'éditeur Overleaf
\documentclass{article}

\usepackage[paperheight=6.4in, paperwidth=4.8in, margin=.25in]{geometry}

\usepackage{wallpaper}
\usepackage{adjustbox}
\usepackage{multirow}

\usepackage{array}

\usepackage{blkarray}
\usepackage{booktabs}
\usepackage[usestackEOL]{stackengine}
\usepackage{eqparbox}
\usepackage[normalem]{ulem}
\usepackage{setspace}

\begin{document}

\ULCornerWallPaper{1}{images/frame0.pdf}

\begin{center}
\small
\setstretch{1.1}
\scalebox{0.7}{\parbox{\linewidth}{%
\vspace{2em}
\hspace*{-0.1\textwidth}\includegraphics[width=.3\textwidth]{images/arms/01.png}
\vspace{2em}
\linebreak
\linebreak
\vspace{2em}
\centering\large FAMILLE  IMPÉRIALE  DE  FRANCE
\vspace{-20pt}
\begin{center}
\rule[1ex]{.1\textwidth}{.5pt}
\end{center}
\smallskip
\setlength{\BAextrarowheight}{1pt}
\small
\begin{blockarray}{p{.25\linewidth} p{.50\linewidth}}
\begin{block}{c l}
\textsc{potages.}                  & \enspace  Pot-au-feu. - Pâtes d'Italie.                                  \\
\end{block}                                                                                                                                
\multicolumn{2}{c}{\enspace}                                                                                  \\
\begin{block}{c l}
\textsc{hors-d'œuvre.}             & \enspace  Petits pâtés au naturel.                                       \\
\end{block}                                                                                                                                
\multicolumn{2}{c}{\enspace}                                                                                  \\
\begin{block}{c\{l}
                                   & \enspace  Saumon à la sauce génevoise.                                   \\
\textsc{grosses pièces.}           & \enspace  Pièce de bœuf à la jardinière.                                 \\
                                   & \enspace  Rosbif garni de croquettes.                                    \\
\end{block}                                                                                                                                
\addlinespace
\begin{block}{c\{l}
                                   & \enspace  Tête de veau en tortue.                                        \\
                                   & \enspace  Petites timbales à la Lavallière.                              \\
\textsc{entrées.}                  & \enspace  Grenadins à la chicorée.                                       \\
                                   & \enspace  Suprême de volaille aux pointes d'asperges. \enspace\enspace   \\
                                   & \enspace  Chaufroix de foie-gras.                                        \\
                                   & \enspace  Salade de filets de soles à la ravigote.                       \\
\end{block}                                                                                                                   
\addlinespace
\begin{block}{c l}
\textsc{rôts.}                     & \enspace  Faisans et chapons au cresson.                                 \\
\end{block}                                                                                                                                
\addlinespace
\begin{block}{c\{l}
                                   & \enspace Artichauts frits.                                               \\
                                   & \enspace Choux-fleurs, sauce au beurre.                                  \\
                                   & \enspace Haricots verts sautés.                                          \\
\textsc{entremets.}                & \enspace Épinards, au velouté.                                           \\
                                   & \enspace Charlotte russe au chocolat.                                    \\
                                   & \enspace Timbale de poires à l'Italienne.                                \\
                                   & \enspace Gelée macédoine de fruits.                                      \\
                                   & \enspace Pains la Mecque.                                                \\
\end{block}                                                                                                                   
\addlinespace
\multicolumn{2}{c}{\textsc{dessert.}}                                                                         \\
  \multicolumn{2}{c}{\uwave{\enspace\enspace\enspace\enspace\enspace}}                                        \\
\addlinespace
\multicolumn{2}{c}{\textit{Dîner servi à la cour de France, en 1860,}}                                        \\
\multicolumn{2}{c}{\textit{sous la direction de M. Benoit, avec le concours de MM. Brot, Mongrole, E. Laye,}} \\
\multicolumn{2}{c}{\textit{Al. Ranhoffer, Perrier, Delsart, Lambert, etc.}}                                   \\
                                   & \\                                                     
\end{blockarray}
}}
\end{center}
\newpage

 \clearpage
\end{document}

et voici le résultat obtenu :

alt text

Posée 20 Sep '20, 02:35

Chris%20Jones%20XL's gravatar image

Chris Jones XL
1911918
Taux d'acceptation : 6%

Modifiée 21 Sep '20, 20:35

Avez-vous un ECM ?

(20 Sep '20, 14:01) samcarter samcarter's gravatar image

Est-ce que le cadre doit être aux dimensions de la feuille de papier, ou à celles de la zone de texte?

(20 Sep '20, 14:26) Bernard Bernard's gravatar image

On trouvera, en page 18 de ce document de Jacques André, un tel cadre réalisé avec nos logiciels préférés.

L'installation de la fonte-casseau utilisée, RococoOrnamentsThreeMT, est détaillée ici par le même auteur.

(20 Sep '20, 14:42) Pathe ♦♦ Pathe's gravatar image

@Bernard J'imagine qu'une marge même minimale serait préférable… de manière à mettre en valeur l'esthétique de mon superbe cadre (?). Contexte : les planches reproduisant les menus seront compilées à part et intégrées dans un deuxième temps au document final (par des includes). Le document étant généré via pandoc cela me permet de le compiler avec plusieurs tailles de police sans affecter le cadrage des menus : Suivant la taille de l'écran le lecteur choisira une taille de police adhoc alors que les menus princiers occupant chacun une page seront automatiquement zoomés à la taille de l'écran.

(20 Sep '20, 21:07) Chris Jones XL Chris%20Jones%20XL's gravatar image

@Pathe C'est une autre approche. En théorie du moins je pourrais créer une fonte-JonesXL qui contiendrait des glyphes reproduisant qui les coins de mon cadre, qui les double lignes qui les relient pour créer le cadre. Ce qui reviendrait à faire faire par LaTeX le travail que j'ai fait manuellement avec The Gimp et rendrait inutile la surimpression. Quelque chose néanmoins me dit que cela est un peu au-delà de mes capacités.

(20 Sep '20, 21:13) Chris Jones XL Chris%20Jones%20XL's gravatar image

@Chris Jones XL : cette méthode est proche du fonctionnement de TeX, qui juxtapose des boîtes pour composer une page.

(21 Sep '20, 09:22) Pathe ♦♦ Pathe's gravatar image
Affichage de 5 parmi 6 Afficher 1 commentaire(s) en plus

Il faut utiliser paperheight et paperwidth pour fixer les dimensions de la page.

Ouvrir dans l'éditeur Overleaf
\documentclass{article}
\usepackage[paperheight=6.4in, paperwidth=4.8in, margin=1in]{geometry}
\usepackage[pages=some]{background}
\usepackage{lipsum}
\backgroundsetup{
scale=1,
color=black,
opacity=1,
angle=0,
contents={%
  \includegraphics[width=\paperwidth,height=\paperheight]{frame.png}
  }%
}
\begin{document}
 \BgThispage
\lipsum[1]
 \clearpage
 text
\end{document}

Par ailleurs, il y a aussi le package wallpaper qui permet de faire des choses similaires (mais background a l'air de bien fonctionner aussi...)

Lien permanent

Publiée 21 Sep '20, 02:00

nmarkey's gravatar image

nmarkey
1.4k19
Taux d'acceptation : 44%

Modifiée 21 Sep '20, 02:00

Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.