%% start of file `moderncv.cls'.
%% Copyright 2006-2008 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}
\ProvidesClass{moderncv}[2008/06/17 v0.7 modern curriculum vitae document class]


%-------------------------------------------------------------------------------
%                debugging
%-------------------------------------------------------------------------------
\newif\if@DEBUG\@DEBUGfalse


%-------------------------------------------------------------------------------
%                class options
%
% (need to be done before the external package loading, for example because
% we need \paperwidth, \paperheight and \@ptsize to be defined before loading
% geometry and fancyhdr)
%-------------------------------------------------------------------------------
% paper size option
\DeclareOption{a4paper}{
  \setlength\paperheight{297mm}
  \setlength\paperwidth{210mm}}
\DeclareOption{a5paper}{
  \setlength\paperheight{210mm}
  \setlength\paperwidth{148mm}}
\DeclareOption{b5paper}{
  \setlength\paperheight{250mm}
  \setlength\paperwidth{176mm}}
\DeclareOption{letterpaper}{
  \setlength\paperheight{11in}
  \setlength\paperwidth{8.5in}}
\DeclareOption{legalpaper}{
  \setlength\paperheight{14in}
  \setlength\paperwidth{8.5in}}
\DeclareOption{executivepaper}{
  \setlength\paperheight{10.5in}
  \setlength\paperwidth{7.25in}}
\DeclareOption{landscape}{
  \setlength\@tempdima{\paperheight}
  \setlength\paperheight{\paperwidth}
  \setlength\paperwidth{\@tempdima}}

% font size options
\newcommand\@ptsize{}
\DeclareOption{10pt}{\renewcommand\@ptsize{0}}
\DeclareOption{11pt}{\renewcommand\@ptsize{1}}
\DeclareOption{12pt}{\renewcommand\@ptsize{2}}

% draft/final option
\DeclareOption{draft}{\setlength\overfullrule{5pt}}
\DeclareOption{final}{\setlength\overfullrule{0pt}}

% nolmodern option
\newif\if@lmodern\@lmoderntrue
\DeclareOption{nolmodern}{\@lmodernfalse}

% nocolor option
\newif\if@color\@colortrue
\DeclareOption{nocolor}{\@colorfalse}

% execute default options
\ExecuteOptions{a4paper,11pt,color,final}

% process given options
\ProcessOptions\relax
\input{size1\@ptsize.clo}


%-------------------------------------------------------------------------------
%                required packages
%-------------------------------------------------------------------------------
% Note the order in which packages are loaded is not important unless explicitly
% stated as such.

% Import the "ifpdf" and "ifthen" packages. The first facilitates detection of
% whether or not the current LaTeX document is being output into PDF format; the
% second, fundamental primitives for testing various LaTeX conditions.
\RequirePackage{ifthen}
\RequirePackage{ifpdf}

% Import the "booktabs" and "tabularx" packages for improved table handling.
\RequirePackage{booktabs}
\RequirePackage{tabularx}

% Load the "xcolor" package, which now supercedes the older "color" package.
\RequirePackage[dvipsnames,usenames]{xcolor}

% fontenc package
\RequirePackage[T1]{fontenc}

% scalable Computer Modern fonts
%\RequirePackage{type1cm}

% latin modern fonts
\AtEndOfClass{%
  \if@lmodern
    \RequirePackage{lmodern}\fi}

%FIXME: Er, "aeguill" is not a stock TeXLive package, although it is provided
%  by CTAN. Clearly, this package is of main use for French speakers. This
%  should be disabled by default, and only enabled when explicitly desired by
%  option passing. This, however, probably necessitates we improve option
%  handling via integration with "kvoptions." (Ugh.)
% extended characters of T1 in .ps + other guillemets
%\RequirePackage{ae,aecompl,aeguill}

% symbols like \Telefon, \Mobilefone, \Letter and \Email
\RequirePackage{marvosym}

% graphics
\ifpdf
  \RequirePackage[pdftex]{graphicx}
\else
  \RequirePackage[dvips]{graphicx}
\fi

% headers and footers
\RequirePackage{fancyhdr}
\fancypagestyle{plain}{%
  \renewcommand{\headrulewidth}{0pt}
  \renewcommand{\footrulewidth}{0pt}
  \fancyhf{}}
\pagestyle{plain}

% Import the "fixltx2e" package for improved LaTeX processing.
\RequirePackage{fixltx2e}

% Import the "microtype" package, facilitating handling of PDF-specific
% microtypography corrections (e.g., character protusion).
\RequirePackage{microtype}

% Import the "mparhack" package for improved \marginpar setting.
\RequirePackage{mparhack}

% Disable character expansion if outputting to PDF, as enabling this greatly
% increases the file size of the output PDF document.
\ifpdf\microtypesetup{expansion=false}\fi

% Import the "textcomp" package. LyX implicitly ensures this package is
% imported, whenever referencing a symbol defined by this package in LyX itself;
% this does not ensure, however, that referencing the same symbol in this
% package or subpackages of this package also implictly import this package.
% Thus, to be sure, we do so explicitly.
\RequirePackage{textcomp}

% compatibility package with older versions of moderncv
\RequirePackageWithOptions{moderncvcompatibility}

% You cannot load "hyperref" from within LaTeX class files. The reason is that
% "hyperref" must generally be the last package to be loaded. However, a
% moderncv theme will necessarily be loaded after this class, which may itself
% load additional packages. Thus, "hyperref" will not be the last package to be
% loaded if loaded here. The only mechanism for ensuring this is to either have
% moderncv themes load hyperref themselves or have a command for loading
% moderncv themes load hyperref. The latter is marginally preferable, as it
% abstracts these details away from the themes themselves.
%
% We can, however, customize "hyperref" from within this file via:
\AtBeginDocument{%
  \makeatletter%
  \@ifpackageloaded{hyperref}{%
    \hypersetup{%
      breaklinks   = true,%
      baseurl      = http://,%
      pdfborder    = 0 0 0,%
      pdfpagemode  = UseNone,%
%     pdfstartview = XYZ,%
      pdfstartpage = 1,%
      pdfcreator   = \LaTeX{} with `moderncv' package,%
      pdfproducer  = \LaTeX,%
      % The \@title command is guaranteed to be defined, since this class
      % explicitly calls the \title command elsewhere. This is thus always safe.
      pdftitle = \@title}%
    \ifthenelse{\isundefined{\@firstname}\OR\isundefined{\@familyname}}{}{%
      \hypersetup{%
        pdfauthor   = \@firstname~\@familyname,%
        pdfsubject  = \@firstname~\@familyname,%
        pdfkeywords = \@firstname~\@familyname{} curriculum vit\ae{}}}%
  }{\PackageWarningNoLine{moderncv}{Package "hyperref" not loaded. Please call the \noexpand\Requiremoderncvtheme\noexpand command from within the document LaTeX preamble.}}%
  \makeatother}%


%-------------------------------------------------------------------------------
%                class definition
%-------------------------------------------------------------------------------
% page geometry
\addtolength{\oddsidemargin}{-54pt}
\addtolength{\textwidth}{109pt}
\addtolength{\topmargin}{-70pt}
\addtolength{\textheight}{122pt}
\addtolength{\marginparsep}{-5pt}
\addtolength{\marginparwidth}{-10pt}

% minimal base settings
\setlength\lineskip{1\p@}
\setlength\normallineskip{1\p@}
\renewcommand\baselinestretch{}
\setlength{\parindent}{0pt}
\setlength{\parskip}{0pt}
\setlength\columnsep{10\p@}
\setlength\columnseprule{0\p@}

\pagestyle{empty}
\pagenumbering{arabic}
\raggedbottom
\onecolumn


%-------------------------------------------------------------------------------
%                style commands definitions
%-------------------------------------------------------------------------------
% symbols used 
\providecommand*{\listitemsymbol}{\textbullet}
\providecommand*{\addresssymbol}{}
\providecommand*{\mobilesymbol}{\Mobilefone}
\providecommand*{\phonesymbol}{\Telefon}
\providecommand*{\faxsymbol}{\FAX}
\providecommand*{\emailsymbol}{\Letter}

% colors
\definecolor{firstnamecolor}{rgb}{0,0,0}
\definecolor{familynamecolor}{rgb}{0,0,0}
\definecolor{titlecolor}{rgb}{0,0,0}
\definecolor{addresscolor}{rgb}{0,0,0}
\definecolor{quotecolor}{rgb}{0,0,0}
\definecolor{sectionrectanglecolor}{rgb}{0,0,0}
\definecolor{sectiontitlecolor}{rgb}{0,0,0}
\definecolor{subsectioncolor}{rgb}{0,0,0}
\definecolor{hintcolor}{rgb}{0,0,0}

% fonts
\providecommand*{\firstnamefont}{}
\providecommand*{\familynamefont}{}
\providecommand*{\titlefont}{}
\providecommand*{\addressfont}{}
\providecommand*{\quotefont}{}
\providecommand*{\sectionfont}{}
\providecommand*{\subsectionfont}{}
\providecommand*{\hintfont}{\small\sffamily}

% styles
\providecommand*{\firstnamestyle}[1]{{\firstnamefont\color{firstnamecolor}#1}}
\providecommand*{\familynamestyle}[1]{{\familynamefont\color{familynamecolor}#1}}
\providecommand*{\titlestyle}[1]{{\titlefont\color{titlecolor}#1}}
\providecommand*{\addresstyle}[1]{{\addressfont\color{addresscolor}#1}}
\providecommand*{\quotestyle}[1]{{\quotefont\color{quotecolor}#1}}
\providecommand*{\sectionstyle}[1]{{\sectionfont\color{sectiontitlecolor}#1}}
\providecommand*{\subsectionstyle}[1]{{\subsectionfont\color{subsectioncolor}#1}}
\providecommand*{\hintstyle}[1]{{\hintfont\color{hintcolor}#1}}

% themes: casual (default), classic, ...
\newcommand*{\moderncvtheme}[2][]{
  \def\@moderncvthemeoptions{#1}
  \def\@moderncvtheme{#2}}
\moderncvtheme{casual}   % default theme

% Ideally, theme packages should be loaded prior to document start. This lets
% them load other packages needing loading prior to document start, such as
% "hyperref." Thus, we now provide the \Requiremoderncvtheme command for
% explicitly loading a theme package in the document's LaTeX preamble prior to
% document start. This command accepts two optional arguments: first, the theme
% options; second, the theme name. For example:
% \Requiremoderncvtheme[blue]{casual}
\newcommand*{\Requiremoderncvtheme}[2][]{%
  \makeatletter%
  % Define a new theme and theme options, if passed to this command.
  \ifthenelse{\equal{#2}{}}{}{\moderncvtheme[#1]{#2}}%
  % Require that theme and theme options, now.
  \RequirePackage[\@moderncvthemeoptions]{moderncvtheme\@moderncvtheme}%
  % Load "hyperref," if not already. This should be the last package to be
  % loaded, and thus is loaded here.
  \@ifpackageloaded{hyperref}{}{%
    \ifpdf\RequirePackage[pdftex]{hyperref}%
    \else \RequirePackage[dvips] {hyperref}%
    \fi}%
  \makeatother}

% If the document did not explicitly call the above command, then implicitly
% load the desired theme immediately on beginning the document. Note that this
% does not call \Requiremoderncvtheme, since that would load \hyperref from
% within the document body (which is usually "bad").
\AtBeginDocument{%
  \makeatletter%
  \@ifpackageloaded{moderncvtheme\@moderncvtheme}{}{%
    \RequirePackage[\@moderncvthemeoptions]{moderncvtheme\@moderncvtheme}}%
  % Configure the "url" package, if loaded. (Ideally, this package should be
  % loaded by the "hyperref" package.)
  \@ifpackageloaded{url}{\urlstyle{tt}}{}%
  \makeatother}


%-------------------------------------------------------------------------------
%                string commands definitions
%-------------------------------------------------------------------------------
% LaTeX documents should explicitly call some or all of these commands to
% redefine the defaults, below. (We define these commands after importing
% packages above. This is intentional. The "marvosym" package, for example,
% defines a \fax command which we explicitly override here.)
\newcommand*{\firstname}[1]{\def\@firstname{#1}}
\newcommand*{\familyname}[1]{\def\@familyname{#1}}
\renewcommand*{\title}[1]{\def\@title{#1}}
\newcommand*{\address}[2][]{%
  \ifthenelse{\equal{#1}{}}%
    {\def\@addressstreet{#2}}%
    {\def\@addressstreet{#1}\def\@addresscity{#2}}}
\newcommand*{\mobile}[1]{\def\@mobile{#1}}
\newcommand*{\phone}[1]{\def\@phone{#1}}
\renewcommand*{\fax}[1]{\def\@fax{#1}}
\newcommand*{\email}[1]{\def\@email{#1}}
\newcommand*{\extrainfo}[1]{\def\@extrainfo{#1}}
\def\@photowidth{0pt}
\newcommand*{\photo}[2][64pt]{\def\@photowidth{#1}\def\@photo{#2}}
\newcommand*{\quote}[1]{\def\@quote{#1}}

% Prevent LaTeX from complaining that the \maketitle command is called before
% first calling the \title command by defining an empty \title.
\title{}


%-------------------------------------------------------------------------------
%                internal boolean definitions  
%-------------------------------------------------------------------------------
% If true, we have printed the first \cventryitemized for the current section;
% otherwise, we haven't yet. This is important, since all \cventryitemized
% following the first for a section are printed slightly differently.
\newboolean{mcv@is_cventryitemized}


%-------------------------------------------------------------------------------
%                structure commands definitions
%-------------------------------------------------------------------------------
% length used by the moderncv layout
% quote length
\newlength{\quotewidth}
% section lengths
\newlength{\hintscolumnwidth}
\newlength{\separatorcolumnwidth}
\setlength{\separatorcolumnwidth}{0.025\textwidth}
\newlength{\maincolumnwidth}
% doubleitem lengths
\newlength{\doubleitemmaincolumnwidth}
% listitem lengths
\newlength{\listitemsymbolwidth}
\settowidth{\listitemsymbolwidth}{\listitemsymbol{}~}
\newlength{\listitemmaincolumnwidth}
% listdoubleitem lengths
\newlength{\listdoubleitemmaincolumnwidth}
% recompute all the lengths that depends on the text width
\newcommand*{\recomputethemelengths}{}
\newcommand*{\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}%
  \recomputethemelengths}
\setlength{\hintscolumnwidth}{0.15\textwidth}

% Synchronize page layout changes against the current document.
\AtBeginDocument{\recomputelengths}

% makes the cv title
\newcommand*{\maketitle}{}

% draws a colored rectangle
% usage: \colorrule[optional height]{width}
%\newcommand*{\colorrule}[2][1ex]{{\color{sectionrectanglecolor}{\rule{#2}{#1}}}}

% Typeset superscript and subscript text.
\newcommand{\textsup}[1]{\ensuremath{^\textrm{\scriptsize#1}}}
\newcommand{\textsub}[1]{\ensuremath{_\textrm{\scriptsize#1}}}

% usage: \section{<title>}
\newcommand*{\section}[1]{%
	\vspace*{2.5ex \@plus 1ex \@minus .2ex}%
  \phantomsection{}% reset the anchor for hyperrefs
  \addcontentsline{toc}{part}{#1}%
  \parbox[m]{\hintscolumnwidth}{\raggedleft\hintfont{\color{sectionrectanglecolor}\rule{\hintscolumnwidth}{1ex}}}%
  \hspace{\separatorcolumnwidth}%
  \parbox[m]{\maincolumnwidth}{\sectionstyle{#1}}\\[1ex]%
  % Reset the boolean indicating whether we have printed the first
  % \cventryitemized yet for the current section.
  \setboolean{mcv@is_cventryitemized}{false}
}

%  \cvline[1ex]{\color{sectionrectanglecolor}\rule[0]{\hintscolumnwidth}{1ex}}{\sectionstyle{#1}}}% gives bad alignment of rectangle; too bad m{width} columns seem not to work as a valid column definition for tabular environments

% usage: \subsection{title}
\newcommand*{\subsection}[1]{%
  \cvline[0.45em]{}{\subsectionstyle{#1}}}

% usage: \cvtext{linetext}
\newcommand*{\cvtext}[1]{\cvline{}{#1}}

% usage: \cvline{margintext}{linetext}
\newcommand*{\cvline}[3][.25em]{%
  \begin{tabular}{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}%
	  \raggedleft\hintfont{#2} &{#3}%
  \end{tabular}\\[#1]}

% usage: \cvdoubleitem{subtitle}{text}{subtitle}{text}
\newcommand*{\cvdoubleitem}[4]{%
 \cvline{#1}{\begin{minipage}[t]{\doubleitemmaincolumnwidth}#2\end{minipage}%
 \hfill%
 \begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintfont{#3}\end{minipage}\hspace*{\separatorcolumnwidth}\begin{minipage}[t]{\doubleitemmaincolumnwidth}#4\end{minipage}}}

% usage: \cvlistitem[symbol]{point1}
\newcommand*{\cvlistitem}[2][\listitemsymbol{}]{%
  \cvline[0pt]{}{#1~\begin{minipage}[t]{\listitemmaincolumnwidth}#2\end{minipage}}}

% usage: \cvlistdoubleitem[symbol]{point1}{point2}
\newcommand*{\cvlistdoubleitem}[3][\listitemsymbol{}]{%
  \cvline[0pt]{}{#1~\begin{minipage}[t]{\listdoubleitemmaincolumnwidth}#2\end{minipage}%
  \hfill%
  \ifthenelse{\equal{#3}{}}%
    {}%
    {#1~\begin{minipage}[t]{\listdoubleitemmaincolumnwidth}#3\end{minipage}}}}

% usage: \cventry{years}{degree/job title}{institution/employer}{state, province, etc.}{grade, nation, etc.}{comment, description, etc.}
%
% Please note that this command as previously defined attempted to define all
% arguments following the first as "optional." This was a very bad idea, and is
% no longer supported. Strictly speaking, LaTeX only permits the first argument
% for a command to be defined as optional. What this command previously
% attempted to do usually failed and, when not failing, then at least badly
% breaking LaTeX output immediately after this command. For details, see:
%
%  http://www.tex.ac.uk/cgi-bin/texfaq2html?label=twooptarg
\newcommand*{\cventry}[6]{%
  \cvline{#1}{%
    \cventry@print{#2}{#3}{#4}{#5}%
    \begin{minipage}[t]{\linewidth}\small#6\end{minipage}%
  }%
}

% usage: \cventryitemized{years}{degree/job title}{institution/employer}{state, province, etc.}{grade, nation, etc.}
%
% This command resembles \cventry, but differs in that it does not accept a
% 6th argument. Instead, users are expected to follow this command with one or
% several calls to the \cvitem or \cvline commands: e.g.,
%
%   \cventryitemized{1984}{Some degree}{Some institute}{Some state}{Some nation}
%   \cvline{minor focus}{Some minor}
%   \cvline{GPA}{11.00 out of 10.00}
%
%   \cventryitemized{1983}{Yet Another}{Some institute}{Some state}{Some nation}
%   \cvline{major focus}{Some major}
%   \cvline{GPA}{3.45 out of 4.00}
%
% Thus, the descriptive commentary usually passed to this command's 6th
% argument is instead itemized in calls to the \cvitem or \cvline commands.
\newcommand*{\cventryitemized}[5]{%
  % If this is any \cventryitemized except for the first for a section,
  % delimit this from prior output by printing vertical whitespace.
  \ifthenelse{\boolean{mcv@is_cventryitemized}}%
    {\cvline{}{}}%
    {\setboolean{mcv@is_cventryitemized}{true}}%
  \cvline{#1}{%
    \cventry@print{#2}{#3}{#4}{#5}%
    \begin{minipage}[t]%
      {\linewidth}\small\vspace*{1ex}\hspace{\fill}%
    \end{minipage}%
  }%
}

% This internal command is not intended to be called externally, but only by
% the \cventryitemized command. By abstracting this command's definition from
% that command's, themes and user documents may redefine this definition to
% stylize the display of \cventryitemized commands.
\newcommand*{\cventry@print}[4]{\textbf{#1}, \textsl{#2}, #3, #4.}
 
% usage (inside 'language' cvsection environment): \cvlanguage{name}{level}{comment}
\newcommand*{\cvlanguage}[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}}}

% usage (inside 'computer skills' cvsection environment): \cvcomputer{category}{programs}{category}{programs}
\newcommand*{\cvcomputer}[4]{%
  \cvdoubleitem{#1}{\small#2}{#3}{\small#4}}

% usage: \link[optional text]{link}
\newcommand*{\link}[2][]{%
  \ifthenelse{\equal{#1}{}}%
    {\href{#2}{#2}}%
    {\href{#2}{#1}}}

% usage: \httplink[optional text]{link}
\newcommand*{\httplink}[2][]{%
  \ifthenelse{\equal{#1}{}}%
    {\href{http://#2}{#2}}%
    {\href{http://#2}{#1}}}

% usage: \emaillink[optional text]{link}
\newcommand*{\emaillink}[2][]{%
  \ifthenelse{\equal{#1}{}}%
    {\href{mailto:#2}{#2}}%
    {\href{mailto:#2}{#1}}}

% usage: \nopagenumbers{}
\newif\if@displaypagenumbers\@displaypagenumberstrue
\newcommand*{\nopagenumbers}{\@displaypagenumbersfalse}
\AtBeginDocument{%
  \makeatletter%
  \if@displaypagenumbers%
    \@ifundefined{r@lastpage}{}{%
      \ifthenelse{\pageref{lastpage} > 1}{%
      \fancypagestyle{plain}{%
        \fancyfoot[r]{\addressfont\color{quotecolor}\footnotesize\thepage/\pageref{lastpage}}}%
      \pagestyle{plain}}{}}%
    \AtEndDocument{\label{lastpage}}%
  \fi%
  \makeatother}

% thebibliography environment, for use with BibTeX
\newcommand{\refname}{Publications}
\newlength{\bibindent}
\setlength{\bibindent}{1.5em}
% bibliography item label
\newcommand*{\bibliographyitemlabel}{}% use \@biblabel{\arabic{enumiv}} for BibTeX labels
\newenvironment{thebibliography}[1]%
  {%
    \section{\refname}%
%    \vspace*{-0.65em}%
    \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}%
  }
\newcommand\newblock{\hskip .11em\@plus.33em\@minus.07em}
\let\@openbib@code\@empty

% the classical \today definition
\def\today{\ifcase\month\or
  January\or February\or March\or April\or May\or June\or
  July\or August\or September\or October\or November\or December\fi
  \space\number\day, \number\year}


\endinput


%% end of file `moderncv.cls'.
