Discussion:
ajouter une petite ligne verticale
(trop ancien pour répondre)
Eric
2005-08-03 17:05:27 UTC
Permalink
Bonjour,
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.
Merci d'avance
Jean-Côme Charpentier
2005-08-03 19:59:00 UTC
Permalink
Post by Eric
Bonjour,
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
Eric
2005-08-03 21:04:42 UTC
Permalink
Post by Jean-Côme Charpentier
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 !
[code + explications]
C'est parfait ! Vraiment merci de vous être dévoué. J'avoue que pour le
moment j'ai pas tout compris, mais je vais méditer vos explications et
essayer de comprendre tout ce qui a été mis en oeuvre pour obtenir le
résultat voulu. Encore merci.
Josselin Noirel
2005-08-04 09:50:07 UTC
Permalink
Jean-Côme Charpentier
Post by Jean-Côme Charpentier
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.
Je ne porte pas la responsabilité de tout ce qui a été écrit par un
tuteur, tout de même. :-)
--
Joss, qui n'avait pas le temps
Eric
2005-08-03 21:38:35 UTC
Permalink
Post by Eric
Bonjour,
J'ai trouvé la classe suivante
http://www.tuteurs.ens.fr/logiciels/latex/cv.cls
Encore une question :
Pour générer un pdf, soit je passe par un dvi et là tout va bien, soit je
compile avec pdflatex, et là je rencontre le problème habituel de l'écriure
de traviole, que je résoud habituellement en rajoutant
\usepackage{times}
Mais si je fais ça, à l'ouverture du pdf produit, je rencontre une erreur.
Pourquoi est-ce que cette classe est incompatible avec times ?
Jean-Côme Charpentier
2005-08-03 22:14:22 UTC
Permalink
Post by Eric
Post by Eric
Bonjour,
J'ai trouvé la classe suivante
http://www.tuteurs.ens.fr/logiciels/latex/cv.cls
Pour générer un pdf, soit je passe par un dvi et là tout va bien, soit je
compile avec pdflatex, et là je rencontre le problème habituel de l'écriure
de traviole, que je résoud habituellement en rajoutant
\usepackage{times}
Mais si je fais ça, à l'ouverture du pdf produit, je rencontre une erreur.
Laquelle ?
Post by Eric
Pourquoi est-ce que cette classe est incompatible avec times ?
Je ne vois pas pourquoi.
Comme cette classe est visiblement prévue pour faire des cv en
français (ne serait-ce qu'à cause des noms de commande), je trouve
qu'elle aurait pu charger automatiquement le codage T1 et frenchb. En
ajoutant tout cela au préambule et en modifiant un peu la redéfinition
de l'environnement (pour éviter les coupures malheureuses), j'arrive au
code complet suivant qui fonctionne très bien, y compris avec une
compilation par pdflatex.

\documentclass{cv}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{times}
\usepackage[frenchb]{babel}

\renewenvironment{rubrique}[1]
{\par\allowbreak
\espaceInterRubrique\relax
\noindent
\dimen0=\ht\strutbox
\advance\dimen0 3pt
\hbox{\vtop to0ex{\vss
\hrule width0.1mm height\dimen0 depth\dp\strutbox
}%
}\space
\strut \textbf{\large #1}\par\nobreak\offinterlineskip
\noindent
\rule{\textwidth}{0.1mm}\par\nobreak}
{}


\begin{document}
\begin{rubrique}{Essai de rubrique}
Ceci est ma rubrique.
\end{rubrique}

\end{document}

Pouriez-vous présenter plus en détail le problème que vous rencontrez ?

Jean-Côme Charpentier
Eric
2005-08-04 07:38:46 UTC
Permalink
Post by Jean-Côme Charpentier
Pouriez-vous présenter plus en détail le problème que vous rencontrez ?
A l'ouverture du pdf, j'ai l'erreur
"Une erreur est survenue à la lecture de ce document (14)" puis
"Police introuvable dans le dictionnaire des ressources. Helvetica lui sera
substituée."

Mais j'ai trouvé d'où cela vient :
j'ai utilisé, comme dans l'exemple qu'a fait l'auteur de la classe
(http://www.tuteurs.ens.fr/logiciels/latex/templates/cv2.txt)


\newcommand{\lieu}[1]{{#1}\ }
\newcommand{\activite}[1]{\textbf{#1}\ }
\newcommand{\comment}[1]{\textsl{#1}\ }

qui sont apparemment la source de ce problème.
Vous savez pourquoi ?
Michel Bovani
2005-08-04 09:55:59 UTC
Permalink
Post by Eric
Post by Jean-Côme Charpentier
Pouriez-vous présenter plus en détail le problème que vous rencontrez ?
A l'ouverture du pdf, j'ai l'erreur
"Une erreur est survenue à la lecture de ce document (14)" puis
"Police introuvable dans le dictionnaire des ressources. Helvetica lui sera
substituée."
j'ai utilisé, comme dans l'exemple qu'a fait l'auteur de la classe
(http://www.tuteurs.ens.fr/logiciels/latex/templates/cv2.txt)
\newcommand{\lieu}[1]{{#1}\ }
\newcommand{\activite}[1]{\textbf{#1}\ }
\newcommand{\comment}[1]{\textsl{#1}\ }
qui sont apparemment la source de ce problème.
Vous savez pourquoi ?
Regarder dans le log de compilation il doit y avoir des warnings qui
disent quelle est la fonte qui n'a pu être chargée.
--
Michel Bovani
Eric B
2005-08-04 11:19:16 UTC
Permalink
Post by Eric
Pour générer un pdf, soit je passe par un dvi et là tout va bien, soit je
compile avec pdflatex, et là je rencontre le problème habituel de l'écriure
de traviole, que je résoud habituellement en rajoutant
\usepackage{times}
L'"écriture de traviole", c'est le problème qu'a Acrobat Reader à
afficher une police bitmap correctement?

Si c'est ça, \usepackage{times} change carrément la police, ce qui a
l'effet secondaire de régler le problème, mais c'est un peu violent...

Si tu veux garder une police proche de la police par défaut de LaTeX
tout en réglant le problème, tu peux essayer \usepackage{aeguill} ou
\usepackage{lmodern}.

Si tu veux vraiment du Times, essayes plutôt \usepackage{txfonts}.
Parmi les polices LaTeX standard, j'aime aussi bien le Palatino de
\usepackage{pxfonts}. C'est utile si le lecteur du CV risque d'être
allergique aux latex-geeks.

Tout ça dépend de la disponibilité des packages et des polices en
question sur ton système.

Ou alors c'est un autre problème?
Post by Eric
Mais si je fais ça, à l'ouverture du pdf produit, je rencontre une erreur.
Pourquoi est-ce que cette classe est incompatible avec times ?
Chez moi ça marche...
Prakash Countcham
2005-08-04 12:03:03 UTC
Permalink
Bonjour,
Post by Eric B
Si tu veux garder une police proche de la police par défaut de LaTeX
tout en réglant le problème, tu peux essayer \usepackage{aeguill} ou
\usepackage{lmodern}.
Il me semble que aeguill pose problème avec les accents, et les recherche de
chaînes de caractères accentuées dans les pdf. Regarder l'accent sur le e
dans le document suivant avec et sans aeguill :

\documentclass{article}
\usepackage[T1]{fontenc}
%\usepackage{aeguill}
\begin{document}
\'e
\end{document}
--
Prakash
PS : on peut aussi utiliser cm-super
Eric B
2005-08-05 14:10:16 UTC
Permalink
Post by Prakash Countcham
Il me semble que aeguill pose problème avec les accents, et les recherche de
chaînes de caractères accentuées dans les pdf. Regarder l'accent sur le e
Effectivement, l'accent est plus long, que ce soit avec aeguill ou
lmodern. Mais mon goût n'est pas assez sûr pour juger. Comme Knuth a
dessiné un accent court, j'imagine que c'est mieux avec l'accent court :-)

La recherche dans le PDF (j'ai essayé avec xpdf) marche avec lmodern,
mais pas avec aeguill.
Michel Bovani
2005-08-05 15:14:15 UTC
Permalink
Post by Eric B
Post by Prakash Countcham
Il me semble que aeguill pose problème avec les accents, et les recherche de
chaînes de caractères accentuées dans les pdf. Regarder l'accent sur le e
Effectivement, l'accent est plus long, que ce soit avec aeguill ou
lmodern. Mais mon goût n'est pas assez sûr pour juger. Comme Knuth a
dessiné un accent court, j'imagine que c'est mieux avec l'accent court :-)
Euh... Erreur !

1 - Knuth n'a de toutes façons jamais dessiné computer modern (sauf sans
doute les compléments maths). Il a juste extrapolé une fonte numérique à
partir d'une fonte qui s'appelait Monotype Modern 8A.

2 - La version Knuthienne de computer modern est codée sur 7 bits et ne
contient pas les caractères accentués, mais seulement des accents à
placer sur les lettres non accentuées.

3 - Dès que l'on dit \usepackage[T1]{fontenc} on passe à un codage 8
bits qui contient des caractères accentués. Ces fontes là on été
dessinées par Knappen. Et oui le dessin des accents est spécifique ce
qui ne me semble pas criticable.

4 - Les ae sont des fontes virtuelles qui utilisent les versions de
Knuths mais qui fabriquent les accents au niveau des fontes virtuelles.

5 - Les lm sont des fontes qui font la même chose mais au niveau de la
fonte PostScript (les accents ont été collés au dessus des glyphes sans
accents dans la fonte elle même) : du coup le copier coller est supporté.

\documentclass{article}
\usepackage[T1]{fontenc}
\begin{document}
{\fontencoding{OT1}\selectfont Knuth : \'e

}
Knappen : \'e

Aeguill : \fontfamily{aer}\selectfont\'e

Lmodern : \fontfamily{lmr}\selectfont\'e


\end{document}
Post by Eric B
La recherche dans le PDF (j'ai essayé avec xpdf) marche avec lmodern,
mais pas avec aeguill.
--
Michel Bovani
Eric B
2005-08-08 12:51:41 UTC
Permalink
Post by Michel Bovani
Euh... Erreur !
1, 2, 3, 4, 5...
OK, merci pour les détails!

Continuer la lecture sur narkive:
Loading...