Post by EricBonjour,
J'ai trouvé la classe suivante
http://www.tuteurs.ens.fr/logiciels/latex/cv.cls
et je voudrais la modifier pour remplacer les lignes horizontales des
rubriques par quelque chose comme ça
|
|______________________________________
Malheureusement, au-delà des commandes basiques de LaTeX, je comprends pas
grand chose au fonctionnement de la création de classe, et c'est pourquoi
je fais appel à votre généreuse aide.
J'ai attendu un peu en espérant que Josselin allait se dévouer (après
tout, il fait partie des tuteurs de l'ens) mais bon, dommage. Donc vous
n'aurez pas de commandes basiques de LaTeX mais des commandes basiques
de TeX !
\newenvironment{rubrique}[1]
{\espaceInterRubrique\relax
\noindent
\dimen0=\ht\strutbox
\advance\dimen0 3pt
\hbox{\vtop to0pt{\vss
\hrule width0.1mm height\dimen0 depth\dp\strutbox
}%
}\space
\strut \textbf{\large #1}\par\offinterlineskip
\noindent
\rule{\textwidth}{0.1mm}\par}
{}
J'explique un peu si vous voulez adapter la chose. Tout d'abord, le
code tel qu'il est écrit serait destiné au fichier de classe. Si vous
voulez juste un patch sans toucher à la classe elle-même (c'est sans
doute mieux), il faudra écrire \renewenvironment au lieu de \newenvironment.
Bon, il y a deux changements par rapport au code initial : l'ajout de
la ligne verticale à gauche du titre de rubrique et un \strut en plus
dans le titre lui-même (pour des raisons d'alignement vertical).
\noindent pour que la ligne verticale ne subisse pas le retrait d'alinéa
\dimen0=\ht\strutbox donne à \dimen0 la hauteur d'un \strut
\advance\dimen0 3pt ajoute 3pt à \dimen0.
\hbox parce que je vais mettre une \vtop et que je ne veux pas passer
en mode verticale par la suite.
\vtop to0pt pour ne pas perturber l'alignement verticale
\vss comme la \vtop à une hauteur nulle mais que son contenu n'a pas
une hauteur nulle, le \vss va éviter que LaTeX se plaigne à propos d'un
débordement et (plus utile) va faire déborder le contenu de la boîte
au-dessus d'icelle.
\hrule width0.1mm \height\dimen0 \depth\dp\strutbox trace un filet
vertical de largeur 0.1mm, de hauteur 3pt de plus que la hauteur de
\strut (calcul antérieur de \dimen0) et de profondeur égale à celle de
\strut. Comme le texte aura une profondeur ègale à celle de \strut
(j'espère) puisqu'un \strut est inséré avant le titre de la rubrique,
tout cela fera que le filet vertical aura pile-poil la profondeur de la
ligne de titre. C'est important pour que le filet horizontal se raccorde
proprement.
}\space pour qu'il y ait une espace entre le filet vertical et le titre.
\strut\textbf{\large #1}\par\offinterlineskip affiche le titre en
gras en plaçant un \strut avant, commence un nouveau paragraphe et
(\offinterlineskip) supprime l'espacement vertical entre deux lignes qui
seraient pénélisant ici puisque les filets ne se racoorderaient plus
comme il faut.
Le reste comme dans le code initial.
Jean-Côme Charpentier