254 lines
9.9 KiB
TeX
254 lines
9.9 KiB
TeX
%% start of file `moderncvstyleclassic.sty'.
|
|
%% Copyright 2006-2011 Xavier Danaux (xdanaux@gmail.com).
|
|
%
|
|
% This work may be distributed and/or modified under the
|
|
% conditions of the LaTeX Project Public License version 1.3c,
|
|
% available at http://www.latex-project.org/lppl/.
|
|
|
|
|
|
%-------------------------------------------------------------------------------
|
|
% identification
|
|
%-------------------------------------------------------------------------------
|
|
\NeedsTeXFormat{LaTeX2e}
|
|
\ProvidesPackage{moderncvstyleclassic}[2011/12/04 v0.14 modern curriculum vitae style scheme: classic]
|
|
|
|
|
|
%-------------------------------------------------------------------------------
|
|
% required packages
|
|
%-------------------------------------------------------------------------------
|
|
|
|
|
|
%-------------------------------------------------------------------------------
|
|
% package options
|
|
%-------------------------------------------------------------------------------
|
|
% color options
|
|
% blue (default option)
|
|
%\DeclareOption{blue}{}
|
|
% orange
|
|
\newif\if@colororange\@colororangefalse
|
|
%\DeclareOption{orange}{\@colororangetrue}
|
|
% green
|
|
\newif\if@colorgreen\@colorgreenfalse
|
|
%\DeclareOption{green}{\@colorgreentrue}
|
|
% red
|
|
\newif\if@colorred\@colorredfalse
|
|
%\DeclareOption{red}{\@colorredtrue}
|
|
% purple
|
|
\newif\if@colorpurple\@colorpurplefalse
|
|
%\DeclareOption{purple}{\@colorpurpletrue}
|
|
% grey
|
|
\newif\if@colorgrey\@colorgreyfalse
|
|
%\DeclareOption{grey}{\@colorgreytrue}
|
|
% black
|
|
\newif\if@colorblack\@colorblackfalse
|
|
%\DeclareOption{black}{\@colorblacktrue}
|
|
|
|
% unused options
|
|
%\DeclareOption*{
|
|
% \PackageWarning{moderncvstyleclassic}{Unknown option '\CurrentOption'}}
|
|
|
|
% execute default options
|
|
%\ExecuteOptions{}
|
|
|
|
% process given options
|
|
%\ProcessOptions\relax
|
|
|
|
|
|
%-------------------------------------------------------------------------------
|
|
% style scheme definition
|
|
%-------------------------------------------------------------------------------
|
|
% fonts
|
|
\renewcommand*{\namefont}{\fontsize{34}{36}\mdseries\upshape}
|
|
\renewcommand*{\titlefont}{\LARGE\mdseries\slshape}
|
|
\renewcommand*{\addressfont}{\normalsize\mdseries\slshape}
|
|
\renewcommand*{\quotefont}{\large\slshape}
|
|
\renewcommand*{\sectionfont}{\Large\mdseries\upshape}
|
|
\renewcommand*{\subsectionfont}{\large\mdseries\upshape}
|
|
\renewcommand*{\hintfont}{\small}
|
|
|
|
% styles
|
|
\newcommand*{\namestyle}[1]{{\namefont\color{color0}#1}}
|
|
\newcommand*{\titlestyle}[1]{{\titlefont\color{color2}#1}}
|
|
\newcommand*{\addresstyle}[1]{{\addressfont\color{color1}#1}}
|
|
\newcommand*{\quotestyle}[1]{{\quotefont\color{color2}#1}}
|
|
\newcommand*{\sectionstyle}[1]{{\sectionfont\color{color1}#1}}
|
|
\newcommand*{\subsectionstyle}[1]{{\subsectionfont\color{color1}#1}}
|
|
\newcommand*{\hintstyle}[1]{{\hintfont\color{color0}#1}}
|
|
|
|
% length used
|
|
\newlength{\quotewidth}
|
|
\newlength{\hintscolumnwidth}
|
|
\setlength{\hintscolumnwidth}{0.15\textwidth}
|
|
\newlength{\separatorcolumnwidth}
|
|
\setlength{\separatorcolumnwidth}{0.025\textwidth}
|
|
\newlength{\maincolumnwidth}
|
|
\newlength{\doubleitemmaincolumnwidth}
|
|
\newlength{\listitemsymbolwidth}
|
|
\settowidth{\listitemsymbolwidth}{\listitemsymbol{}~}
|
|
\newlength{\listitemmaincolumnwidth}
|
|
\newlength{\listdoubleitemmaincolumnwidth}
|
|
|
|
% recompute all the lengths that depends on the text width
|
|
\renewcommand*{\recomputelengths}{%
|
|
\setlength{\quotewidth}{0.65\textwidth}%
|
|
% main lenghts
|
|
\setlength{\maincolumnwidth}{\textwidth}%
|
|
\addtolength{\maincolumnwidth}{-\separatorcolumnwidth}%
|
|
\addtolength{\maincolumnwidth}{-\hintscolumnwidth}%
|
|
% listitem lengths
|
|
\setlength{\listitemmaincolumnwidth}{\maincolumnwidth}%
|
|
\addtolength{\listitemmaincolumnwidth}{-\listitemsymbolwidth}%
|
|
% doubleitem lengths
|
|
\setlength{\doubleitemmaincolumnwidth}{\maincolumnwidth}%
|
|
\addtolength{\doubleitemmaincolumnwidth}{-\hintscolumnwidth}%
|
|
\addtolength{\doubleitemmaincolumnwidth}{-\separatorcolumnwidth}%
|
|
\setlength{\doubleitemmaincolumnwidth}{0.5\doubleitemmaincolumnwidth}%
|
|
% listdoubleitem lengths
|
|
\setlength{\listdoubleitemmaincolumnwidth}{\maincolumnwidth}%
|
|
\addtolength{\listdoubleitemmaincolumnwidth}{-\listitemsymbolwidth}%
|
|
\setlength{\listdoubleitemmaincolumnwidth}{0.475\listdoubleitemmaincolumnwidth}%
|
|
% fancyhdr lengths
|
|
\renewcommand{\headwidth}{\textwidth}}
|
|
|
|
\newif\if@firstdetailselement\@firstdetailselementtrue
|
|
\newcommand*{\maketitledetailsnewline}{
|
|
\if@firstdetailselement%
|
|
\else%
|
|
\\[.2em]\fi%
|
|
\@firstdetailselementfalse%
|
|
\addressfont\color{color1}}
|
|
\renewcommand*{\maketitle}{%
|
|
% optional detailed information box
|
|
\newbox{\maketitledetailsbox}%
|
|
\savebox{\maketitledetailsbox}{%
|
|
\begin{tabular}[b]{@{}r@{}}%
|
|
\ifthenelse{\isundefined{\@addressstreet}}{}{\maketitledetailsnewline\addresssymbol~\@addressstreet}%
|
|
\ifthenelse{\isundefined{\@addresscity}}{}{\maketitledetailsnewline\@addresscity}%
|
|
\ifthenelse{\isundefined{\@mobile}}{}{\maketitledetailsnewline\mobilesymbol~\@mobile}%
|
|
\ifthenelse{\isundefined{\@phone}}{}{\maketitledetailsnewline\phonesymbol~\@phone}%
|
|
\ifthenelse{\isundefined{\@fax}}{}{\maketitledetailsnewline\faxsymbol~\@fax}%
|
|
\ifthenelse{\isundefined{\@email}}{}{\maketitledetailsnewline\emailsymbol~\emaillink{\@email}}%
|
|
\ifthenelse{\isundefined{\@homepage}}{}{\maketitledetailsnewline\homepagesymbol~\httplink{\@homepage}}%
|
|
\ifthenelse{\isundefined{\@extrainfo}}{}{\maketitledetailsnewline\@extrainfo}%
|
|
\end{tabular}
|
|
}%
|
|
% optional picture box
|
|
\newbox{\maketitlepicturebox}%
|
|
\savebox{\maketitlepicturebox}{%
|
|
\ifthenelse{\isundefined{\@photo}}%
|
|
{}%
|
|
{%
|
|
\hspace*{\separatorcolumnwidth}%
|
|
\color{color1}%
|
|
\setlength\fboxrule{\@photoframewidth}%
|
|
\ifdim\@photoframewidth=0pt%
|
|
\setlength{\fboxsep}{0pt}\fi%
|
|
\framebox{\includegraphics[width=\@photowidth]{\@photo}}}}%
|
|
% name and title
|
|
\newlength{\maketitledetailswidth}\settowidth{\maketitledetailswidth}{\usebox{\maketitledetailsbox}}%
|
|
\newlength{\maketitlepicturewidth}\settowidth{\maketitlepicturewidth}{\usebox{\maketitlepicturebox}}%
|
|
\newlength{\maketitlenamewidth}\setlength{\maketitlenamewidth}{\textwidth-\maketitledetailswidth-\maketitlepicturewidth}%
|
|
\begin{minipage}[b]{\maketitlenamewidth}%
|
|
\namestyle{\@firstname\ \@familyname}%
|
|
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%
|
|
\end{minipage}%
|
|
% detailed information
|
|
\usebox{\maketitledetailsbox}%
|
|
% optional photo
|
|
\usebox{\maketitlepicturebox}\\[3em]%
|
|
% optional quote
|
|
\ifthenelse{\isundefined{\@quote}}%
|
|
{}%
|
|
{{\centering{}\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[2.5em]}}%
|
|
}
|
|
|
|
\renewcommand*{\section}[1]{%
|
|
\vspace*{2.5ex}%
|
|
\parbox[m]{\hintscolumnwidth}{\raggedleft\hintfont{\color{color1}\rule{\hintscolumnwidth}{1ex}}}%
|
|
\phantomsection{}% reset the anchor for hyperrefs
|
|
\addcontentsline{toc}{part}{#1}%
|
|
\hspace{\separatorcolumnwidth}%
|
|
\parbox[m]{\maincolumnwidth}{\sectionstyle{#1}}%
|
|
\par\nobreak\vskip 1ex\@afterheading}% to avoid a pagebreak after the heading
|
|
% starred variant, which is identical but defined to allow its use (e.g. for natbib compatibility, who uses \section*{} for the bibliography header)
|
|
|
|
\renewcommand*{\subsection}[1]{%
|
|
\begin{tabular}{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}%
|
|
\raggedleft\hintfont{} &{\subsectionstyle{#1}}%
|
|
\end{tabular}%
|
|
\par\nobreak\vskip 0.5ex\@afterheading}% to avoid a pagebreak after the heading
|
|
% \phantomsection{}% reset the anchor for hyperrefs
|
|
% \addcontentsline{toc}{chapter}{#1}% does not work, the bookmark is placed at the same level as sections (placed themselves at part level to be visible, as hyperref does not allow sections without parents...)
|
|
|
|
\renewcommand*{\cvitem}[3][.25em]{%
|
|
\begin{tabular}{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}%
|
|
\raggedleft\hintfont{#2} &{#3}%
|
|
\end{tabular}\\[#1]}
|
|
|
|
\renewcommand*{\cvdoubleitem}[5][.25em]{%
|
|
\cvitem[#1]{#2}{%
|
|
\begin{minipage}[t]{\doubleitemmaincolumnwidth}#3\end{minipage}%
|
|
\hfill%
|
|
\begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintfont{#4}\end{minipage}%
|
|
\hspace*{\separatorcolumnwidth}%
|
|
\begin{minipage}[t]{\doubleitemmaincolumnwidth}#5\end{minipage}}}
|
|
|
|
%\renewcommand*{\cvlistitem}[2][\listitemsymbol]{%
|
|
% \cvitem[0pt]{}{#1~\begin{minipage}[t]{\listitemmaincolumnwidth}#2\end{minipage}}}
|
|
\renewcommand*{\cvlistitem}[2][.25em]{%
|
|
\cvitem[#1]{}{\listitemsymbol~\begin{minipage}[t]{\listitemmaincolumnwidth}#2\end{minipage}}}
|
|
|
|
\renewcommand*{\cvlistdoubleitem}[3][\listitemsymbol{}]{%
|
|
\cvitem[0pt]{}{#1~\begin{minipage}[t]{\listdoubleitemmaincolumnwidth}#2\end{minipage}%
|
|
\hfill%
|
|
\ifthenelse{\equal{#3}{}}%
|
|
{}%
|
|
{#1~\begin{minipage}[t]{\listdoubleitemmaincolumnwidth}#3\end{minipage}}}}
|
|
|
|
\renewcommand*{\cventry}[6]{%
|
|
\cvline{#1}{%
|
|
{\bfseries#2}%
|
|
\ifthenelse{\equal{#3}{}}{}{, {\slshape#3}}%
|
|
\ifthenelse{\equal{#4}{}}{}{, #4}%
|
|
\ifthenelse{\equal{#5}{}}{}{, #5}%
|
|
.%
|
|
\ifx&%
|
|
\else{\newline{}\begin{minipage}[t]{\linewidth}\small#6\end{minipage}}\fi%
|
|
}}%
|
|
|
|
\renewcommand*{\cvitemwithcomment}[3]{%
|
|
\cvline{#1}{%
|
|
\begin{minipage}[t]{.225\maincolumnwidth}\textbf{#2}\end{minipage}%
|
|
\hfill%
|
|
\begin{minipage}[t]{0.725\maincolumnwidth}\raggedleft\footnotesize\itshape#3\end{minipage}}}
|
|
|
|
\renewenvironment{thebibliography}[1]%
|
|
{%
|
|
\bibliographyhead{\refname}%
|
|
\small%
|
|
\begin{list}{\bibliographyitemlabel}%
|
|
{%
|
|
\setlength{\topsep}{0pt}%
|
|
\setlength{\labelwidth}{\hintscolumnwidth}%
|
|
\setlength{\labelsep}{\separatorcolumnwidth}%
|
|
\leftmargin\labelwidth%
|
|
\advance\leftmargin\labelsep%
|
|
\@openbib@code%
|
|
\usecounter{enumiv}%
|
|
\let\p@enumiv\@empty%
|
|
\renewcommand\theenumiv{\@arabic\c@enumiv}}%
|
|
\sloppy\clubpenalty4000\widowpenalty4000%
|
|
% \sfcode`\.\@m%
|
|
% \sfcode `\=1000\relax%
|
|
}%
|
|
{%
|
|
\def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}%
|
|
\end{list}%
|
|
}
|
|
|
|
|
|
\endinput
|
|
|
|
|
|
%% end of file `moderncvstyleclassic.sty'.
|