ContexteJe souhaite mettre des documents au format PDF en annexe de mon document tout en gardant mes numéros de page et marges (j'ai donc renoncé à utiliser le package ProblèmeJ'arrive bien à ajuster les « images » lorsqu'elles sont seules sur leur page mais je n'y arrive pas lorsqu'elles doivent la partager avec un titre : l'image dépasse sur la marge du bas. J'aurais envie d'ajuster l'image à cette marge. Tentative de résolutionJe bloque au moment de calculer la hauteur de mon titre... \documentclass{article} \usepackage[a4paper,showframe]{geometry} \usepackage{graphicx} \usepackage{mwe} \ExplSyntaxOn % #1 : texte optionnel à mettre avant l'image % #2 : arguments optionnels passés à \includegraphics % #3 : chemin vers l'image \NewDocumentCommand \includegraphicsajusted { o o m } { % Variables : % \l_tmpa_dim : hauteur du texte à mettre avant % \l_tmpb_dim : hauteur de l'image % \l_tmpa_box : boîte qui contient le texte à mettre avant % \l_tmpb_box : boîte qui contient l'image % teste s'il y a du texte à mettre en haut de page \IfNoValueTF {#1} {% si non on met sa hauteur à 0 et sa boîte vide \dim_set:Nn \l_tmpa_dim {0pt} \box_set_eq:NN \l_tmpa_box \c_empty_box } {% si oui on la calcule % ICI JE N'ARRIVE PAS À TROUVER DE SOLUTION \dim_set:Nn \l_tmpa_dim {0pt} \box_set_eq:NN \l_tmpa_box \c_empty_box } % on détermine la hauteur de l'image si sa largeur est la même que celle du texte \hbox_set:Nn \l_tmpb_box { \IfNoValueTF {#2} { \includegraphics[width=\textwidth]{#3} } { \includegraphics[width=\textwidth,#2]{#3} } } \dim_set:Nn \l_tmpb_dim { \box_ht:N \l_tmpb_box + \box_dp:N \l_tmpb_box } % on teste si ainsi l'image dépasse dans la marge du bas \dim_compare:nNnTF { \l_tmpa_dim + \l_tmpb_dim } > { \textheight } {% si oui on ajuste l'image sur la hauteur \dim_set:Nn \l_tmpb_dim {\textheight - \dim_use:N \l_tmpa_dim} \hbox_set:Nn \l_tmpb_box { \IfNoValueTF {#2} { \includegraphics[height={\l_tmpb_dim}]{#3} } { \includegraphics[height={\l_tmpb_dim},#2]{#3} } } } { } % affiche le texte avant s'il existe \IfNoValueTF {#1} { } { \par % \box_use:N \l_tmpa_box #1% À SUPPRIMER ET DÉCOMMENTER LA LIGNE DU DESSUS } \par % affiche l'image centrée \noindent \hfill \box_use:N \l_tmpb_box \hfill \hbox{} \par } \ExplSyntaxOff \begin{document} \includegraphicsajusted[\section{Annexe : document x}]{example-image-a4} \includegraphicsajusted{example-image-a4} \end{document} Posée 02 Mai '22, 16:45 YannD |
\documentclass{article} \usepackage[a4paper,showframe]{geometry} \usepackage{graphicx} \NewDocumentCommand \includegraphicsajusted { o O{} m }{% \IfNoValueTF{#1}{% \clearpage\noindent\includegraphics[height=\textheight,width=\textwidth,keepaspectratio,#2]{#3}% }{% \par#1% \nointerlineskip% \noindent\hfill\includegraphics[height=\dimexpr\pagegoal-\pagetotal\relax,#2]{#3}\hfill\mbox{}% }% } \begin{document} \includegraphicsajusted[\section{Annexe : document x}]{example-image-a4}% \includegraphicsajusted{example-image-a4}% \includegraphicsajusted{example-image-a4}% \end{document} Publiée 02 Mai '22, 18:46 samcarter Super, et c'est beaucoup plus élégant, merci beaucoup ! Il manque juste quelques petites modifications à votre exemple pour qu'une image seule soit centrée :)
(02 Mai '22, 20:06)
YannD
|