Add the class file
This commit is contained in:
parent
74ae4eab0a
commit
349931fad7
1 changed files with 191 additions and 0 deletions
191
cv.cls
Normal file
191
cv.cls
Normal file
|
@ -0,0 +1,191 @@
|
|||
%% Original : Eric-Olivier Le Bigot
|
||||
%% Modifs : Frédéric Meynadier (Frederic.Meynadier@obspm.fr)
|
||||
%% Modifs : Dominique Quatravaux (dom@idealx.com) - conversion en
|
||||
%% classe de document.
|
||||
%% 03/01/03
|
||||
%% Modifs : application d'un patch de Jonas Kahn, 2007-12-19
|
||||
|
||||
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesClass{cv}
|
||||
[2002/01/03 v0.1 Curriculum Vitae package]
|
||||
|
||||
\LoadClass[11pt]{article}
|
||||
\RequirePackage{ifthen}
|
||||
\RequirePackage{array}
|
||||
\RequirePackage{color}
|
||||
|
||||
\usepackage{lmodern}
|
||||
\usepackage{marvosym}
|
||||
\usepackage{ifpdf}
|
||||
%\usepackage{bold-extra}
|
||||
\usepackage[autolanguage]{numprint}
|
||||
|
||||
|
||||
\ifpdf
|
||||
\usepackage[pdftex]{graphicx}
|
||||
\else
|
||||
\usepackage[dvips]{graphicx}
|
||||
\fi
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Mise en page par défaut %
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\setlength{\textwidth}{160mm} %% Largeur de la zone texte
|
||||
\setlength{\oddsidemargin}{0mm} %% Texte centré sur la page
|
||||
|
||||
|
||||
\pagestyle{empty} % pour ne pas indiquer de numéro de page...
|
||||
|
||||
% On définit les pieds de page comme des \stretch de force 1,
|
||||
% soit 4 plus fort que celui qui est en bas du chapeau
|
||||
% (Cf. ci-dessous). De cette façon, un CV qui ne remplit pas toute la
|
||||
% page a un bel espacement.
|
||||
\makeatletter
|
||||
\def\@textbottom{\vspace*{\stretch{1}}}
|
||||
\makeatother
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Paramètres réglables %
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
% L'utilisateur peut les redéfinir ceux-ci «\renewcommand» si besoin :
|
||||
|
||||
\newcommand{\espaceInterRubrique}{\medskip\vspace{\stretch{0.3}}}
|
||||
|
||||
% L'utilisateur peut les redéfinir ceux-ci «\setlength» si besoin :
|
||||
|
||||
\newlength{\rubriquetableauparindent} % indentation au début d'une
|
||||
% ligne de droite dans un «rubriquetableau». Cette longueur peut
|
||||
% être négative, auquel cas l'alignement dans le tableau se fait
|
||||
% compte tenu du retrait de la première ligne : celle-ci ne «bavera»
|
||||
% pas sur l'espace réservé pour la colonne de gauche, au lieu de cela,
|
||||
% l'ensemble de la colonne de droite est décalé de l'espace correspondant.
|
||||
|
||||
\setlength{\rubriquetableauparindent}{0pt}
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Macros pratiques %
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\def\er{$^{\hbox{er}}$}
|
||||
\def\ere{$^{\hbox{ère}}$}
|
||||
\def\eme{$^{\hbox{ème}}$}
|
||||
|
||||
\definecolor{gris85}{gray}{0.15}
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% L'environnement "rubrique" %
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
% Usage : \begin{rubrique}[Indentation]{Titre} [...] \end{rubrique}
|
||||
% On met le texte qu'on veut à l'intérieur.
|
||||
|
||||
\newenvironment{rubrique}[1] % "rubrique" prend un seul argument, le titre
|
||||
{\espaceInterRubrique\relax%
|
||||
\noindent\textbf{\large #1}\par%
|
||||
\noindent\rule[0.5ex]{\textwidth}{0.1mm}\par}{}
|
||||
|
||||
|
||||
\newenvironment{competence}[1]
|
||||
{\espaceInterRubrique\relax%
|
||||
\noindent\textbf{\large #1}\par}
|
||||
|
||||
\newenvironment{competencesTitre}[1]
|
||||
{\espaceInterRubrique\relax%
|
||||
\begin{center}
|
||||
\noindent\textbf{\large{\textcolor{gris85}{\scshape #1}}}
|
||||
\end{center}\par}
|
||||
{\espaceInterRubrique\textbf{\textsc{\large{\textcolor{gris85}{Domaines de compétence}}}}\par\noindent\rule[0.5ex]{\textwidth}{0.1mm}}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% L'environnement "rubriquetableau" %
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
% Il sert à rendre les tableaux, avec typiquement des dates à gauche
|
||||
% et des activités à droite. Il s'utilise comme «rubrique»
|
||||
% ci-dessus, sauf qu'il admet un argument optionnel qui est la largeur
|
||||
% de la colonne de gauche, et que l'intérieur doit être un tableau
|
||||
% LaTeX avec les «&» et les «\\» qui vont bien.
|
||||
% Par exemple :
|
||||
%
|
||||
% \begin{rubriquetableau}[3.5cm]{pipotage}
|
||||
% 1999--2000 & ligne 1\\
|
||||
% & ligne 2\\
|
||||
% 1998--1999 & ligne 1\\
|
||||
% [etc...]
|
||||
% \end{rubriquetableau}
|
||||
%
|
||||
% Lorsqu'on omet le paramètre entre crochets, cela a pour effet
|
||||
% de donner la dimension \linewidth à la première colonne (mais la
|
||||
% structure reste celle d'un tableau à deux colonnes, donc ne pas oublier
|
||||
% d'écrire '\\' pour les retours à la ligne).
|
||||
|
||||
\makeatletter
|
||||
|
||||
\newlength{\@cvlenB}
|
||||
\newlength{\@cvlenC}
|
||||
|
||||
\newenvironment{rubriquetableau}[2][\linewidth]%% "rubriquetableau"
|
||||
% % prend deux arguments
|
||||
{\bgroup\rubrique{#2}% % le second argument : titre
|
||||
\setlength{\@cvlenB}{#1}% % Le premier argument :indentation
|
||||
\setlength{\@cvlenC}{\linewidth}% % Calculs...
|
||||
\ifthenelse{\lengthtest{\rubriquetableauparindent<0pt}}
|
||||
{\addtolength{\@cvlenC}{\rubriquetableauparindent}}
|
||||
{}%
|
||||
\addtolength{\@cvlenC}{-\@cvlenB}%
|
||||
\addtolength{\@cvlenC}{-41pt}%
|
||||
\begin{tabular}[t]{p{\@cvlenB}!{%
|
||||
\ifthenelse{\lengthtest{\rubriquetableauparindent<0pt}}
|
||||
{\hspace*{-\rubriquetableauparindent}}
|
||||
{}%
|
||||
}>{\setlength{\parindent}{\rubriquetableauparindent}}p{\@cvlenC}}}
|
||||
{\end{tabular}\egroup}
|
||||
|
||||
\makeatother
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Le chapeau du CV %
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
% Usage:
|
||||
% \begin{chapeau}
|
||||
% \begin{adresse}
|
||||
% Frédéric Meynadier\\%
|
||||
% 83, rue de l'Ourcq\\%
|
||||
% 75\,019 Paris\\%
|
||||
% \ligne\\%
|
||||
% Tél. : 01 40 37 04 65\\%
|
||||
% E-mail : \texttt{meynadie@clipper.ens.fr}
|
||||
% \end{adresse}
|
||||
% \begin{etatcivil}
|
||||
% Né le 22/11/78\\
|
||||
% Nationalité Française
|
||||
% \end{etatcivil}
|
||||
% \end{chapeau}
|
||||
|
||||
\newenvironment{adresse}{%
|
||||
\begin{minipage}[c]{.5\textwidth}
|
||||
\begin{center}
|
||||
}
|
||||
{\end{center}\end{minipage}\hfill}
|
||||
|
||||
\newenvironment{etatcivil}{%
|
||||
\begin{minipage}[c]{.3\textwidth}
|
||||
\begin{center}
|
||||
}
|
||||
{\end{center}\end{minipage}}
|
||||
|
||||
\newenvironment{chapeau}{%
|
||||
\def\ligne{\rule[2pt]{24pt}{1pt}}%
|
||||
\noindent\begin{minipage}{\linewidth}\hspace{-2cm}%
|
||||
}
|
||||
{\end{minipage}\vspace{\stretch{0.25}}}
|
||||
|
||||
|
||||
|
Loading…
Reference in a new issue