[Tikz] En-tête un peu chiadé (maketitle + tikz + ?)

Tout ce qui concerne le langage LaTeX et ses variantes. Ce langage est supporté sur le forum via les balises tex.

Modérateur : gdm_tex

Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2035
Inscription : lundi 01 octobre 2007, 10:20

[Tikz] En-tête un peu chiadé (maketitle + tikz + ?)

Message par GMaths »

Bonjour,
une question que j'ai posée sur la liste Amitex et que je vais me permettre de doubler ici pour augmenter mes chances (beaucoup de collègues sont en vacances) :

Je sais redéfinir maketitle et utiliser tikz pour faire des entêtes simples d'une ou deux lignes (avec \node[rectangle ... ou \node[rectangle split ...)

mais j'aimerais cette fois faire quelque chose d'un peu plus élaboré :

Image

Mon problème, ce sont bien sûr les traits définissant les colonnes ... Avec tabularx, mon premier essai n'est pas concluant...
Comme je me dis que je ne connais pas 5% de tikz ... il y a peut-être une façon de faire évidente pour quelqu'un qui pratique régulièrement.

D'avance merci. :)

pg
Modérateur
Modérateur
Messages : 2600
Inscription : vendredi 15 juin 2007, 00:31

Re: [Tikz] En-tête un peu chiadé (maketitle + tikz + ?)

Message par pg »

Tu peux faire ce genre de choses sans te casser la tête en plaçant directement les objets à certains endroits puis en traçant les traits voulus. Par exemple :
titre_tikz.png

Code : Tout sélectionner

\documentclass{article}

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[frenchb]{babel}

\usepackage{calc}

\usepackage[a4paper,margin=2.5cm]{geometry}

\usepackage{tikz}

\newlength{\largeurnomprenom}
\def\author#1{}
\makeatletter
\def\classe#1{\def\@classe{#1}}
\def\sujet#1{\def\@sujet{#1}}
\renewcommand{\maketitle}{%
\noindent\begin{tikzpicture}
\useasboundingbox (0cm,0cm) rectangle (\textwidth,2cm);
% baciground du 
\fill[color=gray!20] (\largeurnomprenom,0cm) rectangle (\textwidth-\largeurnomprenom,2cm);
% nom, prénom et spératation entre les deux
\node[right] at (0,1.5cm) {\makebox[\largeurnomprenom-0.2cm]{\sffamily\large\strut Nom~: \dotfill}};
\node[right] at (0,0.5cm) {\makebox[\largeurnomprenom-0.2cm]{\sffamily\large\strut Prénom~: \dotfill}};
\draw[densely dotted,thick] (0,1cm) -- (\largeurnomprenom,1cm);
% classe, date, sujet et séparation
\node[right] at (\textwidth-\largeurnomprenom,0.5cm) {\makebox[0.5\largeurnomprenom-0.2cm]{\centering\sffamily\large\strut Sujet \no \@sujet}};
\node[right] at (\textwidth-\largeurnomprenom,1.5cm) {\makebox[0.5\largeurnomprenom-0.2cm]{\centering\sffamily\large\strut \@classe}};
\node[right] at (\textwidth-0.5\largeurnomprenom,1.5cm) {\makebox[0.5\largeurnomprenom-0.2cm]{\centering\sffamily\large\strut \@date}};
\node[right] at (\textwidth-0.5\largeurnomprenom,0.5cm) {\makebox[0.5\largeurnomprenom-0.2cm]{\centering\sffamily\large\strut \dots/\dots}};
\draw[densely dotted,thick] (\textwidth,1cm) -- (\textwidth-\largeurnomprenom,1cm);
\draw[densely dotted,thick] (\textwidth-0.5\largeurnomprenom,2cm) -- (\textwidth-0.5\largeurnomprenom,0cm);
% premier trait vertical
\fill[color=gray!40] (\largeurnomprenom-1.5pt,0cm) rectangle +(-0.7pt,2cm);
\fill[color=gray] (\largeurnomprenom-1.5pt,0cm) rectangle +(3pt,2cm);
\fill[color=black] (\largeurnomprenom+1.5pt,0cm) rectangle +(0.7pt,2cm);
% second trait vertical
\fill[color=gray!40] (\textwidth-\largeurnomprenom-1.5pt,0cm) rectangle +(-0.7pt,2cm);
\fill[color=gray] (\textwidth-\largeurnomprenom-1.5pt,0cm) rectangle +(3pt,2cm);
\fill[color=black] (\textwidth-\largeurnomprenom+1.5pt,0cm) rectangle +(0.7pt,2cm);
% encadrement du tout
\draw[thick] (0,0) rectangle (\textwidth,2cm);
\draw[line width=3pt] (-2.5pt,-2.5pt) rectangle (\textwidth+2.5pt,2cm+2.5pt);
% texte du titre (ici, I.E.)
\node[right] at (\largeurnomprenom,1cm) {\makebox[\textwidth-2\largeurnomprenom]{\centering\Huge\bfseries \@title}};
\end{tikzpicture}\par\addvspace{12pt}
}
\makeatother

\begin{document}

\setlength{\largeurnomprenom}{5cm}
\title{I.E.}
\date{24/03/04}
\classe{2nde 5}
\sujet{1}
\maketitle

Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.

\end{document}
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.

GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2035
Inscription : lundi 01 octobre 2007, 10:20

Re: [Tikz] En-tête un peu chiadé (maketitle + tikz + ?)

Message par GMaths »

wouah... je demandais juste une piste et encore une fois, tu me donnes quelque chose de fini, abouti : un grand merci, pour le temps que tu m'as fait gagner en espérant que :

1. je ne t'en ai pas trop fait perdre
2. cela puisse servir de modèle à d'autres.

Encore merci. :)

GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2035
Inscription : lundi 01 octobre 2007, 10:20

Re: [Tikz] En-tête un peu chiadé (maketitle + tikz + ?)

Message par GMaths »

( J'allais supprimer mon message doublon mais on m'a pris de vitesse. :lol: )