Files
moderncv/moderncvthemeclassic.sty
Xavier Danaux 55ce002760 Release v0.13
2011-11-06 19:56:28 +01:00

195 lines
7.4 KiB
TeX

%% start of file `moderncvthemeclassic.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{moderncvthemeclassic}[2011/11/06 v0.13 modern curriculum vitae style: 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}
% roman option
\newif\if@roman\@romanfalse
\DeclareOption{roman}{\@romantrue}
% unused options
\DeclareOption*{
\PackageWarning{moderncvthemeclassic}{Unknown option '\CurrentOption'}}
% execute default options
\ExecuteOptions{}
% process given options
\ProcessOptions\relax
%-------------------------------------------------------------------------------
% style definition
%-------------------------------------------------------------------------------
% symbols used
% colors
\definecolor{firstnamecolor}{rgb}{0,0,0}
\definecolor{familynamecolor}{rgb}{0,0,0}
\definecolor{titlecolor}{rgb}{0.35,0.35,0.35}
\definecolor{quotecolor}{rgb}{0.35,0.35,0.35}
% default blue color
\definecolor{addresscolor}{rgb}{0.25,0.5,0.75}
\definecolor{sectionrectanglecolor}{rgb}{0.25,0.5,0.75}
\definecolor{sectiontitlecolor}{rgb}{0.2,0.4,0.65}
\definecolor{subsectioncolor}{rgb}{0.2,0.4,0.65}
\if@colororange
\definecolor{addresscolor}{rgb}{0.95,0.55,0.15}
\definecolor{sectionrectanglecolor}{rgb}{1,0.65,0.20}
\definecolor{sectiontitlecolor}{rgb}{0.95,0.55,0.15}
\definecolor{subsectioncolor}{rgb}{0.95,0.55,0.15}\fi
\if@colorgreen
\definecolor{addresscolor}{rgb}{0.30,0.65,0.15}
\definecolor{sectionrectanglecolor}{rgb}{0.55,0.85,0.35}
\definecolor{sectiontitlecolor}{rgb}{0.30,0.65,0.15}
\definecolor{subsectioncolor}{rgb}{0.30,0.65,0.15}\fi
\if@colorred
\definecolor{addresscolor}{rgb}{0.95,0.20,0.20}
\definecolor{sectionrectanglecolor}{rgb}{1.00,0.30,0.30}
\definecolor{sectiontitlecolor}{rgb}{0.95,0.20,0.20}
\definecolor{subsectioncolor}{rgb}{0.95,0.20,0.20}\fi
\if@colorpurple
\definecolor{sectionrectanglecolor}{rgb}{0.40,0.23,0.80}
\definecolor{sectiontitlecolor}{rgb}{0.50,0.33,0.80}
\definecolor{subsectioncolor}{rgb}{0.50,0.33,0.80}
\definecolor{addresscolor}{rgb}{0.40,0.23,0.70}\fi
\if@colorgrey
\definecolor{addresscolor}{rgb}{0.35,0.35,0.35}
\definecolor{sectionrectanglecolor}{rgb}{0.75,0.75,0.75}
\definecolor{sectiontitlecolor}{rgb}{0.35,0.35,0.35}
\definecolor{subsectioncolor}{rgb}{0.35,0.35,0.35}\fi
\if@colorblack
\definecolor{titlecolor}{rgb}{0,0,0}
\definecolor{quotecolor}{rgb}{0,0,0}
\definecolor{addresscolor}{rgb}{0,0,0}
\definecolor{sectionrectanglecolor}{rgb}{0,0,0}
\definecolor{sectiontitlecolor}{rgb}{0,0,0}
\definecolor{subsectioncolor}{rgb}{0,0,0}\fi
% fonts
\if@roman
\AtBeginDocument{\rmfamily}
\else
\AtBeginDocument{\sffamily}\fi
\renewcommand*{\ttdefault}{pcr}
\renewcommand*{\firstnamefont}{\fontsize{34}{36}\sffamily\mdseries\upshape}
\renewcommand*{\titlefont}{\LARGE\sffamily\mdseries\slshape}
\renewcommand*{\addressfont}{\normalsize\rmfamily\mdseries\slshape}
\renewcommand*{\familynamefont}{\firstnamefont}
\renewcommand*{\quotefont}{\large\slshape}
\renewcommand*{\sectionfont}{\Large\sffamily\mdseries\upshape}
\renewcommand*{\subsectionfont}{\large\sffamily\mdseries\upshape}
% styles
% maketitle
% setmaketitlenamemaxwidth to the full name length, capped by \maketitlenamemaxwidth
\newlength{\maketitlenamemaxwidth}
\setlength{\maketitlenamemaxwidth}{.525\textwidth}
\newlength{\maketitlenamefullwidth}
\settowidth{\maketitlenamefullwidth}{\firstnamestyle{\@firstname~}\familynamestyle{\@familyname}}
\newlength{\maketitlenamewidth}
\ifnum\maketitlenamemaxwidth<\maketitlenamefullwidth\setlength{\maketitlenamewidth}{\maketitlenamemaxwidth}\else\setlength{\maketitlenamewidth}{\maketitlenamefullwidth}\fi
% other lengths
\newlength{\maketitlepicturewidth}
\setlength{\maketitlepicturewidth}{\@photowidth}
\newlength{\maketitledetailswidth}
% recompute theme-specific lengths, called by class to recompute all lengths
\renewcommand*{\recomputethemelengths}{%
\setlength{\maketitledetailswidth}{\textwidth}%
\addtolength{\maketitledetailswidth}{-\maketitlenamewidth}%
\ifthenelse{\lengthtest{\maketitlepicturewidth=0pt}}%
{}%
{\addtolength{\maketitledetailswidth}{-\separatorcolumnwidth}%
\addtolength{\maketitledetailswidth}{-\maketitlepicturewidth}}}
\recomputethemelengths
\newif\if@firstdetailselement\@firstdetailselementtrue
\newcommand*{\maketitledetailsnewline}{
\if@firstdetailselement%
\@firstdetailselementfalse%
\else%
\\[.2em]\fi}
\renewcommand*{\maketitle}{%
% name and title
\begin{minipage}[b]{\maketitlenamewidth}%
\firstnamestyle{\@firstname~}\familynamestyle{\@familyname}%
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%
\end{minipage}%
% optional data
\begin{minipage}[b]{\maketitledetailswidth}%
\raggedleft\addressfont\color{addresscolor}%
\ifthenelse{\isundefined{\@addressstreet}}{}{%
\maketitledetailsnewline%
\addresssymbol~\@addressstreet%
\ifthenelse{\isundefined{\@addresscity}}{}{\\\@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{minipage}%
% optional photo
\ifthenelse{\isundefined{\@photo}}%
{}%
{%
\hspace*{\separatorcolumnwidth}%
\begin{minipage}[b]{\maketitlepicturewidth}%
\raggedleft{}\addressfont\color{addresscolor}% required to correctly align content
\setlength\fboxrule{\@photoframewidth}%
\ifdim\@photoframewidth=0pt%
\setlength{\fboxsep}{0pt}\fi%
\framebox{\includegraphics[width=\maketitlepicturewidth]{\@photo}}%
\end{minipage}}\\[3em]%
% optional quote
\ifthenelse{\isundefined{\@quote}}%
{}%
{{\centering{}\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[2.5em]}}%
}
\endinput
%% end of file `moderncvthemeclassic.sty'.