Problème de placement absolu

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.
ladgalen
Utilisateur confirmé
Utilisateur confirmé
Messages : 47
Inscription : mercredi 19 août 2009, 16:34
Localisation : Pau

Problème de placement absolu

Message par ladgalen »

Bonjour

Dans un package (voir plus bas) j'essaye de placer de façon absolue une image avec des coordonnées x et y. J'ai voulu m'inspirer de cette méthode viewtopic.php?p=80258#p80258 mais je n'ai pas vraiment réussi, il me dit que je n'ai pas le droit de faire un raise en mode vertical. J'ai donc utiliser le code suivant :

Code : Tout sélectionner

	\ifthenelse{\equal{\@logo}{}}{  }{ 
		\begingroup
		\newlength\coordx
		\newlength\coordy
		\coordx=\leftmargin
		\coordy=\topmargin
		\advance\coordy+\headheight
		\advance\coordy+\headsep
		\advance\coordx+4mm
		\advance\coordy+15mm
		\begin{textblock*}{3cm}(\coordx,\coordy)
			\includegraphics[height=2cm]{\@logo}
		\end{textblock*}
		\endgroup
	}
Le problème c'est que si je change l'option du documentclass de 10pt à 11pt et 12pt, le placement de l'image change !! Je ne comprend pas pourquoi ?

Merci pour votre coup de main.

Le package au complet (c'est mon premier soyez indulgent :p ) :

Code : Tout sélectionner

%% LaTeX package examenUPPA.sty
%%
%% Libre d'utiliser, modifier, distribuer
%% Germain Vallverdu <germain.vallverdu@univ-pau.fr>
%% 20 Octobre 2010
%%
%% Le logo UPPA est téléchargeable ici :
%% 		http://communication.univ-pau.fr/live/boite-a-outils/charte-graphique
%%
%%
\ProvidesPackage{examenUPPA}[20/10/2010 entete pour examen de l'UPPPA]

% * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
% * 
% * paquets requis
% * 
% * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

\PassOptionsToPackage{table}{xcolor}
\PassOptionsToPackage{absolute}{textpos}
\AtBeginDocument{%
	\@ifpackageloaded{xcolor}{}{\usepackage[table]{xcolor}}
	\@ifpackageloaded{graphicx}{}{\usepackage{graphicx}}
	\@ifpackageloaded{hhline}{}{\usepackage{hhline}}
	\@ifpackageloaded{ifthen}{}{\usepackage{ifthen}}
	\@ifpackageloaded{tabularx}{}{\usepackage{tabularx}}
	\@ifpackageloaded{textpos}{}{\usepackage{textpos}}
	\@ifpackageloaded{fancyhdr}{}{\usepackage{fancyhdr}}
}

% * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
% * 
% * nouveau parametres intervenant dans l'entete
% * 
% * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

\newcommand{\logo}[1]{\def\@logo{#1}}
\newcommand{\diplome}[1]{\def\@diplome{#1}}
\newcommand{\filiere}[1]{\def\@filiere{#1}}
\newcommand{\duree}[1]{\def\@duree{#1}}
\newcommand{\examen}[1]{\def\@examen{#1}}
\newcommand{\module}[1]{\def\@module{#1}}
\newcommand{\docs}[1]{\def\@docs{#1}}	 		% 0 = vrai, 1 = faux
\newcommand{\docdetails}[1]{\def\@docdetails{#1}}
\newcommand{\calculatrice}[1]{\def\@calculatrice{#1}}	% 0 = vrai, 1 = faux

% initialisation des parametres de l'entete
\logo{}
\title{}
\date{\today}
\author{}
\diplome{}
\filiere{}
\duree{}
\examen{}
\module{}
\docs{1}
\docdetails{}
\calculatrice{0}

% * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
% * 
% * Commande pour afficher nom prenom groupe
% * 
% * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

\newcommand{\nomPrenomGroupe}{
\parbox{0.44\textwidth}{\bfseries NOM :}
\parbox{0.44\textwidth}{\bfseries Prénom :}
\parbox{0.11\textwidth}{\bfseries groupe :}

\vspace{1.5\baselineskip}
}

% * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
% * 
% * Commande pour l'entete
% * 
% * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

% case coché et non cochée
\newcommand{\cocher}{\framebox{\bfseries\textsf{X}}}
\newcommand{\noncocher}{\framebox{\color{white}\bfseries\textsf{X}}}

\newcommand{\makeentete}{%
	{
	% formatage de l'entete
	\sffamily
	\fontsize{10}{12}\selectfont
	\renewcommand{\arraystretch}{1.4}
	\thispagestyle{plain}
	\setlength\fboxsep{1mm}
	\setlength\fboxrule{1pt}

	% couleur de la ligne grisee
	\definecolor{gris}{rgb}{0.8 0.8 0.8}

	% logo UPPA ou autre
	\ifthenelse{\equal{\@logo}{}}{  }{ 
		\begingroup
		\newlength\coordx
		\newlength\coordy
		\coordx=\leftmargin
		\coordy=\topmargin
		\advance\coordy+\headheight
		\advance\coordy+\headsep
		\advance\coordx+4mm
		\advance\coordy+15mm
		\begin{textblock*}{3cm}(\coordx,\coordy)
			\includegraphics[height=2cm]{\@logo}
		\end{textblock*}
		\endgroup
	}

	\noindent
	\begin{tabularx}{\textwidth}{|>{\centering}m{0.16\textwidth}|X|>{\centering}m{0.27\textwidth}|X|>{\centering}m{0.38\textwidth}|}

		\hhline{~~|-|~|-|}
		\multicolumn{1}{c}{} & ~ &
		\cellcolor{gris} \textbf{SESSION D'EXAMENS :} & ~ &
		\cellcolor{gris} \textbf{DIPLOME ET FILIERE :} \tabularnewline

		\hhline{~~|-|~|-|}
		\multicolumn{1}{c}{} & & \textbf{\@examen} & &
		\hspace*{\stretch{1}}\textbf{\@diplome} 
		\hspace*{\stretch{1}} \textbf{\@filiere} 
		\hspace*{\stretch{1}} \tabularnewline

		\hhline{-~|-|~|-|}
		\cellcolor{gris} \textbf{DATE} & &  
		\cellcolor{gris} \textbf{MODULE :}  & &
		\cellcolor{gris} \textbf{COMPOSITION DE :} \tabularnewline

		\hhline{|-|~|-|~|-|}
		\textbf{\@date} & & \textbf{\@module} & & \textbf{\@title} \tabularnewline

		\hhline{|-|~|-|~|-|}
		\multicolumn{1}{c}{} & & \cellcolor{gris} \textbf{DUREE DE L'EPREUVE :} & &
		\cellcolor{gris} \textbf{NOM DES ENSEIGNANTS :} \tabularnewline

		\hhline{~~|-|~|-|}
		\multicolumn{1}{c}{} & & \textbf{\@duree} & & \textbf{\@author} \tabularnewline

		\hhline{~~|-|~|-|}
	\end{tabularx}

	\vspace{\baselineskip}

	\noindent
	\begin{tabularx}{\textwidth}{X}
		\rowcolor{gris} \centering \large\textbf{DOCUMENTS AUTORISES :} \tabularnewline
	\end{tabularx}

	\vspace{0.5\baselineskip}

	\noindent
	\begin{tabularx}{\textwidth}{m{6cm}m{2cm}m{2cm}m{2cm}m{2cm}X}
		\textbf{Calculatrice {\small(portant le logo UPPA)}} &
			\centering \textbf{OUI} & \ifthenelse{\equal{\@calculatrice}{oui}}{\cocher}{\noncocher} &
			\centering \textbf{NON} & \ifthenelse{\equal{\@calculatrice}{non}}{\cocher}{\noncocher} \tabularnewline
		\textbf{Autres documents} & 
			\centering \textbf{OUI} & \ifthenelse{\equal{\@docs}{oui}}{\cocher}{\noncocher} &
			\centering \textbf{NON} & \ifthenelse{\equal{\@docs}{non}}{\cocher}{\noncocher} \tabularnewline
		\\
		\textbf{\textit{Si oui, documents autorisés :}} &
		\multicolumn{5}{l}{
		\ifthenelse{\equal{\@docs}{oui}}{ \fbox{\parbox{10cm}{\@docdetails}} }{  }
		} \\
	\end{tabularx}

	\vspace{0.5\baselineskip}

	\noindent
	\begin{tabularx}{\textwidth}{X}
		\rowcolor{gris} \centering \large\textbf{SUJET :} \tabularnewline
	\end{tabularx}
	}

	\vspace{1.5\baselineskip}
}

% * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
% * 
% * Commande pour l'entete
% * 
% * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

% active le style fancy
\RequirePackage{fancyhdr}
\pagestyle{fancy}

\fancyhf{}                     			% supprime toutes les entêtes et pieds de page
\fancyhead[L]{\itshape\sffamily \@title} 	% le titre à gauche
\fancyhead[R]{\itshape\sffamily \@date}          			% la date à droite

\fancyfoot[LE,RO]{\thepage}  		        % le numero de page en bas à droite ou gauche
\renewcommand{\headrulewidth}{0.4pt} % eppaisseur du trait de l'entete
\renewcommand{\footrulewidth}{0pt}

% redéfini le style plain utilisé pour la premiere page
\fancypagestyle{plain}{%
	\fancyhf{}
	\fancyfoot[RE,RO]{\thepage}
	\renewcommand{\headrulewidth}{0pt}
	\renewcommand{\footrulewidth}{0pt}
}
Et un fichier de test :

Code : Tout sélectionner

\documentclass[a4paper,fleqn]{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[francais]{babel}
\usepackage{lipsum}

\usepackage[left=1.5cm,right=1.5cm,top=2cm,bottom=2cm]{geometry}

\usepackage{examenUPPA}

% exemple de donnees
\title{Atomistique et liaisons chimiques}
\date{8 Octobre 2010}
\author{Mme Baraille / M Vallverdu}
\diplome{Licence}
\filiere{LSPC2}
\duree{1h30}
\examen{Contrôle Continu}
\module{TCTL01U}
\docs{oui}
\docdetails{
\begin{itemize}
	\item formulaire
	\item tableau périodique
	\item règle de slater
\end{itemize}
}
\calculatrice{oui}
\logo{UPPAblanc}

% * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

\begin{document}

\makeentete

\nomPrenomGroupe

\lipsum[1-20]

\end{document}

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

Re: Problème de placement absolu

Message par pg »

ladgalen a écrit :Le problème c'est que si je change l'option du documentclass de 10pt à 11pt et 12pt, le placement de l'image change !! Je ne comprend pas pourquoi ?
Probablement une histoire de \baselineskip. Par ailleurs, les marges gauche et droite ne sont pas \leftmargin et \rightmargin (ces longueurs désignes les marges {itemize} et autres {enumerate}) mais \oddsidemargin et \evensidemargin.

Ici, je ne comprend pas bien pourquoi tu veux utiliser un package de positionnement absolu alors que tu veux (si j'ai bien compris) que l'image soit centrée au dessus de la date, donc dans la case du tableau au-dessus de la date. Un moyen est d'utiliser des \hbox et \vbox avec des \hss et \vss bien placés (voir code ci-dessous).

Concernant le code du package, c'est mieux de mettre un \endinput à la fin et il faut banaliser l'accent sur "Si oui, documents autorisés" en "Si oui, documents autoris\'es". Il manque aussi des accents sur les majuscules, accents qui doivent subir le même traitement pour que le package soit indépendant de l'encodage choisi.

Code : Tout sélectionner

%% LaTeX package examenUPPA.sty
%%
%% Libre d'utiliser, modifier, distribuer
%% Germain Vallverdu <germain.vallverdu@univ-pau.fr>
%% 20 Octobre 2010
%%
%% Le logo UPPA est téléchargeable ici :
%%       http://communication.univ-pau.fr/live/boite-a-outils/charte-graphique
%%
%%
\ProvidesPackage{examenUPPA}[20/10/2010 entete pour examen de l'UPPPA]

% * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
% *
% * paquets requis
% *
% * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

\PassOptionsToPackage{table}{xcolor}
\PassOptionsToPackage{absolute}{textpos}
\AtBeginDocument{%
   \@ifpackageloaded{xcolor}{}{\usepackage[table]{xcolor}}
   \@ifpackageloaded{graphicx}{}{\usepackage{graphicx}}
   \@ifpackageloaded{hhline}{}{\usepackage{hhline}}
   \@ifpackageloaded{ifthen}{}{\usepackage{ifthen}}
   \@ifpackageloaded{tabularx}{}{\usepackage{tabularx}}
   \@ifpackageloaded{textpos}{}{\usepackage{textpos}}
   \@ifpackageloaded{fancyhdr}{}{\usepackage{fancyhdr}}
}

% * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
% *
% * nouveau parametres intervenant dans l'entete
% *
% * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

\newcommand{\logo}[1]{\def\@logo{#1}}
\newcommand{\diplome}[1]{\def\@diplome{#1}}
\newcommand{\filiere}[1]{\def\@filiere{#1}}
\newcommand{\duree}[1]{\def\@duree{#1}}
\newcommand{\examen}[1]{\def\@examen{#1}}
\newcommand{\module}[1]{\def\@module{#1}}
\newcommand{\docs}[1]{\def\@docs{#1}}          % 0 = vrai, 1 = faux
\newcommand{\docdetails}[1]{\def\@docdetails{#1}}
\newcommand{\calculatrice}[1]{\def\@calculatrice{#1}}   % 0 = vrai, 1 = faux

% initialisation des parametres de l'entete
\logo{}
\title{}
\date{\today}
\author{}
\diplome{}
\filiere{}
\duree{}
\examen{}
\module{}
\docs{1}
\docdetails{}
\calculatrice{0}

% * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
% *
% * Commande pour afficher nom prenom groupe
% *
% * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

\newcommand{\nomPrenomGroupe}{
\parbox{0.44\textwidth}{\bfseries NOM :}
\parbox{0.44\textwidth}{\bfseries Prénom :}
\parbox{0.11\textwidth}{\bfseries groupe :}

\vspace{1.5\baselineskip}
}

% * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
% *
% * Commande pour l'entete
% *
% * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

% case coché et non cochée
\newcommand{\cocher}{\framebox{\bfseries\textsf{X}}}
\newcommand{\noncocher}{\framebox{\color{white}\bfseries\textsf{X}}}

\newlength\examenUPPA@tempdim@x
\newlength\examenUPPA@tempdim@y

\newcommand{\makeentete}{%
   {
   % formatage de l'entete
   \sffamily
   \fontsize{10}{12}\selectfont
   \renewcommand{\arraystretch}{1.4}
   \thispagestyle{plain}
   \setlength\fboxsep{1mm}
   \setlength\fboxrule{1pt}

   % couleur de la ligne grisee
   \definecolor{gris}{rgb}{0.8 0.8 0.8}

   \noindent
   \begin{tabularx}{\textwidth}{|>{\centering}m{0.16\textwidth}|X|>{\centering}m{0.27\textwidth}|X|>{\centering}m{0.38\textwidth}|}

      \hhline{~~|-|~|-|}
      \multicolumn{1}{c}{} & ~ &
      \cellcolor{gris} \textbf{SESSION D'EXAMENS :} & ~ &
      \cellcolor{gris} \textbf{DIPL\^OME ET FILI\`ERE :} \tabularnewline

      \hhline{~~|-|~|-|}
      \multicolumn{1}{c}{%
        \ifthenelse{\equal{\@logo}{}}{  }{%
          \vbox to 0pt{\vss\hbox to 0pt{\hss\includegraphics[height=2cm]{\@logo}\hss}\vskip2mm}%
      }} & & \textbf{\@examen} & &
      \hspace*{\stretch{1}}\textbf{\@diplome}
      \hspace*{\stretch{1}} \textbf{\@filiere}
      \hspace*{\stretch{1}} \tabularnewline

      \hhline{-~|-|~|-|}
      \cellcolor{gris} \textbf{DATE} & & 
      \cellcolor{gris} \textbf{MODULE :}  & &
      \cellcolor{gris} \textbf{COMPOSITION DE :} \tabularnewline

      \hhline{|-|~|-|~|-|}
      \textbf{\@date} & & \textbf{\@module} & & \textbf{\@title} \tabularnewline

      \hhline{|-|~|-|~|-|}
      \multicolumn{1}{c}{} & & \cellcolor{gris} \textbf{DUR\'EE DE L'\'EPREUVE :} & &
      \cellcolor{gris} \textbf{NOM DES ENSEIGNANTS :} \tabularnewline

      \hhline{~~|-|~|-|}
      \multicolumn{1}{c}{} & & \textbf{\@duree} & & \textbf{\@author} \tabularnewline

      \hhline{~~|-|~|-|}
   \end{tabularx}

   \vspace{\baselineskip}

   \noindent
   \begin{tabularx}{\textwidth}{X}
      \rowcolor{gris} \centering \large\textbf{DOCUMENTS AUTORIS\'ES :} \tabularnewline
   \end{tabularx}

   \vspace{0.5\baselineskip}

   \noindent
   \begin{tabularx}{\textwidth}{m{6cm}m{2cm}m{2cm}m{2cm}m{2cm}X}
      \textbf{Calculatrice {\small(portant le logo UPPA)}} &
         \centering \textbf{OUI} & \ifthenelse{\equal{\@calculatrice}{oui}}{\cocher}{\noncocher} &
         \centering \textbf{NON} & \ifthenelse{\equal{\@calculatrice}{non}}{\cocher}{\noncocher} \tabularnewline
      \textbf{Autres documents} &
         \centering \textbf{OUI} & \ifthenelse{\equal{\@docs}{oui}}{\cocher}{\noncocher} &
         \centering \textbf{NON} & \ifthenelse{\equal{\@docs}{non}}{\cocher}{\noncocher} \tabularnewline
      \\
      \textbf{\textit{Si oui, documents autoris\'es :}} &
      \multicolumn{5}{l}{
      \ifthenelse{\equal{\@docs}{oui}}{ \fbox{\parbox{10cm}{\@docdetails}} }{  }
      } \\
   \end{tabularx}

   \vspace{0.5\baselineskip}

   \noindent
   \begin{tabularx}{\textwidth}{X}
      \rowcolor{gris} \centering \large\textbf{SUJET :} \tabularnewline
   \end{tabularx}
   }

   \vspace{1.5\baselineskip}
}

% * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
% *
% * Commande pour l'entete
% *
% * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

% active le style fancy
\RequirePackage{fancyhdr}
\pagestyle{fancy}

\fancyhf{}                              % supprime toutes les entêtes et pieds de page
\fancyhead[L]{\itshape\sffamily \@title}    % le titre à gauche
\fancyhead[R]{\itshape\sffamily \@date}                   % la date à droite

\fancyfoot[LE,RO]{\thepage}                % le numero de page en bas à droite ou gauche
\renewcommand{\headrulewidth}{0.4pt} % eppaisseur du trait de l'entete
\renewcommand{\footrulewidth}{0pt}

% redéfini le style plain utilisé pour la premiere page
\fancypagestyle{plain}{%
   \fancyhf{}
   \fancyfoot[RE,RO]{\thepage}
   \renewcommand{\headrulewidth}{0pt}
   \renewcommand{\footrulewidth}{0pt}
}
\endinput

ladgalen
Utilisateur confirmé
Utilisateur confirmé
Messages : 47
Inscription : mercredi 19 août 2009, 16:34
Localisation : Pau

Re: Problème de placement absolu

Message par ladgalen »

Bon sans surprise c'est nickel mais je ne comprend pas tout, tu as juste laissé les @tempdim@x que tu n'as pas utilisé par la suite.

Voilà la ligne accusée de sorcellerie :

Code : Tout sélectionner

\vbox to 0pt{\vss\hbox to 0pt{\hss\includegraphics[height=2cm]{\@logo}\hss}\vskip2mm}
Mon impression c'est que tu crées une boite verticale de 0pt d'épaisseur (\vbox to 0pt) après tu crées une boite horizontale de 0pt de large (\hbox to 0pt) et comme tu met l'image dans cette boite sans dimension tu n'as pas de soucis c'est comme si l'image ne prenait pas de place ? Est ce que je suis loin ou très loin de la vérité ? Si tu peux dire un mot sur \hss et \vss ... (si tu as le temps).
pg a écrit :Ici, je ne comprend pas bien pourquoi tu veux utiliser un package de positionnement absolu alors que tu veux (si j'ai bien compris) que l'image soit centrée au dessus de la date, donc dans la case du tableau au-dessus de la date.
C'était exactement ça.
pg a écrit :il faut banaliser l'accent sur "Si oui, documents autorisés" en "Si oui, documents autoris\'es". Il manque aussi des accents sur les majuscules, accents qui doivent subir le même traitement pour que le package soit indépendant de l'encodage choisi.
Je l'avais fait en suivant ton conseil, s'il en reste c'est un oubli. Par contre, concernant les majuscules, je ne suis pas entièrement d'accord. Quand j'étais petit il me semble qu'on m'avais dis (maîtresse parle) : "on ne met pas d'accent sur les majuscules". Par contre c'est vrai que dans beaucoup de document on voit les accents sur les majuscules et la plupart des correcteurs d'orthographe indiquent une faute si une majuscule n'est pas accentuée. Quand est il réellement ? Existe-t-il un règle ?

Une dernière chose, par rapport au chargement de package dans un package. J'ai lu que le \RequirePackage permettait de charger des paquets dans un paquet. Est ce qu'il n'est pas préférable de faire des RequirePackage plutôt que la combine avec le AtBeginDocument ?

Merci pour ton aide je suis sur qu'au prochain examen les étudiants te remercieront d'avoir une belle entête :wink:

rebouxo
Modérateur global
Modérateur global
Messages : 6962
Inscription : mercredi 15 février 2006, 13:18
Localisation : le havre

Re: Problème de placement absolu

Message par rebouxo »

Je l'avais fait en suivant ton conseil, s'il en reste c'est un oubli. Par contre, concernant les majuscules, je ne suis pas entièrement d'accord. Quand j'étais petit il me semble qu'on m'avais dis (maîtresse parle) : "on ne met pas d'accent sur les majuscules". Par contre c'est vrai que dans beaucoup de document on voit les accents sur les majuscules et la plupart des correcteurs d'orthographe indiquent une faute si une majuscule n'est pas accentuée. Quand est il réellement ? Existe-t-il un règle ?
Oui une règle d'orthographe ! Le français a des accents, ne pas les mettre est une faute d'orthographe. C'est quand même dingue l'influence des instits. Voir le site de l'académie française ou le site orthotypographie pour plus de détails, sur cette question mainte fois débattue.

Des ÉLÈVES bien ÉLEVÉS sans accents c'est un peu plus compliqué à lire : ELEVES bien ELEVES. Pour les correcteurs orthographiques, celui de firefox souligne les mots en majuscules auxquels il manque les accents.

Olivier
A line is a point that went for a walk. Paul Klee.
Par solidarité, pas de MP.

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

Re: Problème de placement absolu

Message par pg »

ladgalen a écrit :Mon impression c'est que tu crées une boite verticale de 0pt d'épaisseur (\vbox to 0pt) après tu crées une boite horizontale de 0pt de large (\hbox to 0pt) et comme tu met l'image dans cette boite sans dimension tu n'as pas de soucis c'est comme si l'image ne prenait pas de place ? Est ce que je suis loin ou très loin de la vérité ?
C'est bien cela. Les \hss et \vss sont des ressorts infinis qui servent ensuite à aligner l'image à l'intérieur de cette boîte vide car on veut que l'image soit au-dessus sans risque de chevaucher la date (c'est ce que fait \vbox to 0pt{\vss\hbox{...}\vskip2mm}, le dernier \vskip étant pour remonter un peu l'image). Puisqu'on veut aussi que la boîte soit verticalement centrée, on utilise \hbox to 0pt{\hss...\hss}.

Voici un code qui devrai illustrer ces points :

Code : Tout sélectionner

\documentclass{article}

\newcommand{\blabla}{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 bla bla bla bla.}

\begin{document}

texte\vbox to 0pt{\hbox{\vrule height 1cm width 2cm}}texte

\blabla

texte\vbox to 0pt{\vss\hbox{\vrule height 1cm width 2cm}}texte

\blabla

texte\vbox to 0pt{\hbox{\vrule height 1cm width 2cm}\vss}texte

\blabla

texte\vbox to 0pt{\vss\hbox{\vrule height 1cm width 2cm}\vss}texte

\blabla

\vspace{2cm}

texte avant\hbox to 0pt{\vrule height 0.5cm width 1cm}texte apres

texte avant\hbox to 0pt{\hss\vrule height 0.5cm width 1cm}texte apres

texte avant\hbox to 0pt{\vrule height 0.5cm width 1cm\hss}texte apres

texte avant\hbox to 0pt{\hss\vrule height 0.5cm width 1cm\hss}texte apres

\end{document}
ladgalen a écrit :Quand j'étais petit il me semble qu'on m'avais dis (maîtresse parle) : "on ne met pas d'accent sur les majuscules".
Cela fait partie des mythes qui continuent à se propager. Pour compléter ce qu'a dit rebouxo (en passant, le lien vers othortypo), voici ce qu'en dit le Lexique des règles typographiques en usage à l'Imprimerie nationale, page 12 :
En français, l'accent a pleine valeur orthographique. Son absence ralentit la lecture et fait hésiter sur la prononciation, sur le sens même de nombreux mots. Aussi convient-il de s'opposer à la tendance qui, sous prétexte de modernisme, en fait par économie de composition, prône la suppression des accents sur les majuscules. On veillera à utiliser systématiquement les capitales accentuées, y compris la préposition À.
ladgalen a écrit :Une dernière chose, par rapport au chargement de package dans un package. J'ai lu que le \RequirePackage permettait de charger des paquets dans un paquet. Est ce qu'il n'est pas préférable de faire des RequirePackage plutôt que la combine avec le AtBeginDocument ?
\RequirePackage et \usepackage, c'est la même chose, sauf que le premier peut être employé avant \documentclass et doit être utilisé dans les packages. Il ne permet pas de faire ce que tu voulais avec les options, comme le montre le code suivant qui ne compile pas :

Code : Tout sélectionner

\documentclass{article}

\RequirePackage{xcolor}

\usepackage[table]{xcolor}

\begin{document}

Bla bla.

\end{document}