Avec la classe Je pourrais faire cela avec TikZ mais je souhaite éviter l'appel à cette extension. Auriez-vous une idée ? Ouvrir dans l'éditeur
\documentclass{article} \usepackage{xcolor} \usepackage[showframe,margin=2.5cm,top=2cm,bottom=2cm,a4paper]{geometry} \makeatletter \renewcommand\maketitle{% \fboxsep=0pt\fboxrule=0pt% \noindent\colorbox{red!5}{\makebox[\paperwidth][c]{\centering\parbox[t][][t]{\linewidth}{\@maketitle}}}\par\vskip-1pt% {\color{red}\noindent\makebox[0pt][t]{\hspace*{-\Gm@lmargin}\rule{\paperwidth}{3pt}}} }% \makeatother \title{Titre}\author{Auteur} \begin{document} \maketitle \section{Intro} Texte \end{document} |
Voici une solution. La position horizontale est réglée par Le problème qui se pose ici est que l'on ne peut utiliser Ici on a défini deux commandes qui permettent de sauvegarder les valeurs initiales des dimensions et puis de les récupérer. Remarque : j'ai remarqué que le code soufre d'une bogue (la récupération des longueurs se fait à chaque page ce que cause problème si on veut changer ses valeurs d'une manière permanente)
la solution est d'ajouter Ouvrir dans l'éditeur
\documentclass{article} \usepackage{xcolor,lipsum} \usepackage[showframe,margin=2.5cm,top=2cm,bottom=2cm,a4paper]{geometry} \newcommand*\mtsavedim[1]{% \expandafter\edef\csname mt#1\endcsname{\expandafter\the\csname#1\endcsname}} \newcommand*\mtrestoredim[1]{% \global\csname#1\endcsname=\csname mt#1\endcsname} \makeatletter \renewcommand\maketitle{% \mtsavedim{topmargin}% \mtsavedim{headheight}% \mtsavedim{headsep}% \mtsavedim{textheight}% \edef\mtbottom{\Gm@bmargin}% \newgeometry{top=0pt,bottom=\mtbottom} \begingroup \fboxsep=0pt\fboxrule=0pt\parindent=0pt% \hspace{-\Gm@lmargin}% \colorbox{red!5}{% % deux options \makebox[\paperwidth][l]{% \hspace{\Gm@lmargin}% %\makebox[\paperwidth][c]{% \parbox{\textwidth}{% \@maketitle% \color{red}\rule{\paperwidth}{3pt} }}} \endgroup}% \let\mt@outputpage\@outputpage \def\@outputpage{% \mt@outputpage% \mtrestoredim{topmargin}% \mtrestoredim{headheight}% \mtrestoredim{headsep}% \mtrestoredim{textheight}% \global \@colht \textheight% \global\let\@outputpage\mt@outputpage} \makeatother \title{Titre}\author{Auteur} \begin{document} \maketitle \section{Intro} Texte \lipsum[1-20] \end{document} Publiée 09 Avr '16, 20:03 touhami Merci. Je veux bien des explication sur le Je vois aussi que quand le titre est long, les marges de
(09 Avr '16, 20:13)
pluton
@pluton OK je vais modifier le code et revenir sur le vôtre (i.e. deux boîtes).
(09 Avr '16, 21:30)
touhami
Il y a un autre problème : le
(09 Avr '16, 21:53)
pluton
2
@pluton : je vais ajouter une autre solution avec
(09 Avr '16, 23:28)
touhami
Ah oui, c'est très sophistiqué ! Incroyable !
(10 Avr '16, 04:03)
pluton
mais la marge de
(10 Avr '16, 05:18)
pluton
Affichage de 5 parmi 7
Afficher 2 commentaire(s) en plus
|
Ouvrir dans l'éditeur Overleaf
\usepackage{tcolorbox} \begin{tcolorbox}\maketitle\end{tcolorbox} (avec les réglages voulus pour tcolorbox) Publiée 10 Nov '17, 22:25 joseph-tux |
Voici une solution utilisant TikZ (pour ceux qui acceptent d'utiliser cette merveilleuse extension) : Ouvrir dans l'éditeur
\documentclass{article} \usepackage{xcolor} \usepackage[showframe,margin=2.5cm,top=2cm,bottom=2cm,a4paper]{geometry} \usepackage{tikz} \usetikzlibrary{backgrounds} \makeatletter \renewcommand\maketitle{% \noindent\begin{tikzpicture}[remember picture,inner sep=0] \node[text width=\linewidth,inner sep=0,line width=0](a){\@maketitle}; \begin{pgfonlayer}{background} \begin{scope}[overlay] \fill[fill=red!5] (current page.north west) rectangle ([yshift=-.5em]a.south east -| current page.east); \end{scope} \end{pgfonlayer} \end{tikzpicture}% }% \makeatother \title{Titre}\author{Auteur} \begin{document} \maketitle \section{Intro} Texte \end{document} Publiée 10 Avr '16, 11:46 Paul Gaborit |
Pourquoi refuser d'utiliser TikZ ?
@Paul Gaborit : par défi, en fait.