summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/europasscv/europasscv.cls
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-03-05 23:26:59 +0000
committerKarl Berry <karl@freefriends.org>2015-03-05 23:26:59 +0000
commit984458cc11672d274a921045e5c6b153e4990beb (patch)
tree08cf1d7f15b69436121ff6d5c6f92b1777895ac9 /Master/texmf-dist/tex/latex/europasscv/europasscv.cls
parent94c804f3e14cfc7bc3db28eeda8ea83737497a11 (diff)
europasscv (5mar15)
git-svn-id: svn://tug.org/texlive/trunk@36443 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/europasscv/europasscv.cls')
-rw-r--r--Master/texmf-dist/tex/latex/europasscv/europasscv.cls743
1 files changed, 743 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/europasscv/europasscv.cls b/Master/texmf-dist/tex/latex/europasscv/europasscv.cls
new file mode 100644
index 00000000000..6cd7feadb25
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/europasscv/europasscv.cls
@@ -0,0 +1,743 @@
+%!TEX encoding = UTF-8 Unicode
+%
+% Europass curriculum vitae class
+% Author: Giacomo Mazzamuto
+% based on the europecv class by Nicola Vitacolonna (http://ctan.org/pkg/europecv)
+
+% This material is subject to the LaTeX Project Public License Version 1.3.
+% See http://www.latex-project.org/lppl.txt
+% for the details of that license
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{europasscv}[2015/03/04 (beta) Europass curriculum vitae class, 2013 version]
+
+% CV models and instructions:
+% http://europass.cedefop.eu.int/htm/index.htm
+% Recommendations:
+% http://europa.eu.int/scadplus/leg/en/cha/c11057.htm
+
+\newcommand\ecv@utf[1]{#1}
+
+% Set language
+\DeclareOption{english}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{europasscv_en.def}{}{%
+ \ClassError{europasscv}{English definition file 'europasscv_en.def' not found}%
+ {The file should be inside the europasscv folder.\MessageBreak
+ Try to re-install the europasscv class.}}%
+ }%
+}
+\DeclareOption{italian}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{europasscv_it.def}{}{%
+ \ClassWarningNoLine{europasscv}{Italian definition file 'europasscv_it.def' not found}}%
+ }%
+}
+\DeclareOption{spanish}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{europasscv_es.def}{}{%
+ \ClassWarningNoLine{europasscv}{Spanish definition file 'europasscv_es.def' not found}}%
+ }%
+}
+\DeclareOption{french}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{europasscv_fr.def}{}{%
+ \ClassWarningNoLine{europasscv}{French definition file 'europasscv_fr.def' not found}}%
+ }%
+}
+\DeclareOption{danish}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{europasscv_da.def}{}{%
+ \ClassWarningNoLine{europasscv}{Danish definition file 'europasscv_da.def' not found}}%
+ }%
+}
+\DeclareOption{german}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{europasscv_de.def}{}{%
+ \ClassWarningNoLine{europasscv}{German definition file 'europasscv_de.def' not found}}%
+ }%
+}
+\DeclareOption{finnish}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{europasscv_fi.def}{}{%
+ \ClassWarningNoLine{europasscv}{Finnish definition file 'europasscv_fi.def' not found}}%
+ }%
+}
+\DeclareOption{portuges}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{europasscv_pt.def}{}{%
+ \ClassWarningNoLine{europasscv}{Portuguese definition file 'europasscv_pt.def' not found}}%
+ }%
+}
+\DeclareOption{portuguese}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{europasscv_pt.def}{}{%
+ \ClassWarningNoLine{europasscv}{Portuguese definition file 'europasscv_pt.def' not found}}%
+ }%
+}
+\DeclareOption{swedish}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{europasscv_sv.def}{}{%
+ \ClassWarningNoLine{europasscv}{Swedish definition file 'europasscv_sv.def' not found}}%
+ }%
+}
+\DeclareOption{norwegian}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{europasscv_no.def}{}{%
+ \ClassWarningNoLine{europasscv}{Norwegian definition file 'europasscv_no.def' not found}}%
+ }%
+}
+\DeclareOption{dutch}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{europasscv_nl.def}{}{%
+ \ClassWarningNoLine{europasscv}{Dutch definition file 'europasscv_nl.def' not found}}%
+ }%
+}
+\DeclareOption{catalan}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{europasscv_ca.def}{}{%
+ \ClassWarningNoLine{europasscv}{Catalan definition file 'europasscv_ca.def' not found}}%
+ }%
+}
+\DeclareOption{polish}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{europasscv_pl.def}{}{%
+ \ClassWarningNoLine{europasscv}{Polish definition file 'europasscv_pl.def' not found}}%
+ }%
+}
+\DeclareOption{hungarian}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{europasscv_hu.def}{}{%
+ \ClassWarningNoLine{europasscv}{Hungarian definition file 'europasscv_hu.def' not found}}%
+ \ecvpage{\thepage\ifx\@empty\ecv@totpages.\else\ecv@totpages\fi~\ecv@pagekey}
+ \def\ecv@lfoot{%
+ \footnotesize\textrm{\ecv@page~- \textrm{\ecv@footername} \ecv@cvofkey}}%
+ }%
+}
+\DeclareOption{estonian}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{europasscv_et.def}{}{%
+ \ClassWarningNoLine{europasscv}{Estonian definition file 'europasscv_et.def' not found}}%
+ }%
+}
+\DeclareOption{icelandic}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{europasscv_is.def}{}{%
+ \ClassWarningNoLine{europasscv}{Icelandic definition file 'europasscv_is.def' not found}}%
+ }%
+}
+\DeclareOption{lithuanian}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{europasscv_lt.def}{}{%
+ \ClassWarningNoLine{europasscv}{Lithuanian definition file 'europasscv_lt.def' not found}}%
+ }%
+}
+\DeclareOption{czech}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{europasscv_cs.def}{}{%
+ \ClassWarningNoLine{europasscv}{Czech definition file 'europasscv_cs.def' not found}}%
+ }%
+}
+\DeclareOption{slovak}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{europasscv_sk.def}{}{%
+ \ClassWarningNoLine{europasscv}{Slovak definition file 'europasscv_sk.def' not found}}%
+ }%
+}
+\DeclareOption{latvian}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{europasscv_lv.def}{}{%
+ \ClassWarningNoLine{europasscv}{Latvian definition file 'europasscv_lv.def' not found}}%
+ }%
+}
+\DeclareOption{slovenian}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{europasscv_sl.def}{}{%
+ \ClassWarningNoLine{europasscv}{Slovenian definition file 'europasscv_sl.def' not found}}%
+ }%
+}
+\DeclareOption{romanian}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{europasscv_ro.def}{}{%
+ \ClassWarningNoLine{europasscv}{Romanian definition file 'europasscv_ro.def' not found}}%
+ }%
+}
+\DeclareOption{maltese}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{europasscv_mt.def}{}{%
+ \ClassWarningNoLine{europasscv}{Maltese definition file 'europasscv_mt.def' not found}}%
+ }%
+}
+\DeclareOption{bulgarian}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{europasscv_bg.def}{}{%
+ \ClassWarningNoLine{europasscv}{Bulgarian definition file 'europasscv_bg.def' not found}}%
+ }%
+}
+\DeclareOption{greek}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{europasscv_gr.def}{}{%
+ \ClassWarningNoLine{europasscv}{Greek definition file 'europasscv_gr.def' not found}}%
+ }%
+}
+\DeclareOption{galician}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{europasscv_gl.def}{}{%
+ \ClassWarningNoLine{europasscv}{Galician definition file 'europasscv_gl.def' not found}}%
+ }%
+}
+\DeclareOption{serbian}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{europasscv_sr.def}{}{%
+ \ClassWarningNoLine{europasscv}{Serbian definition file 'europasscv_sr.def' not found}}%
+ }%
+}
+
+% Input encodings
+\DeclareOption{ascii}{\AtEndOfClass{\inputencoding{ascii}}}
+\DeclareOption{latin1}{\AtEndOfClass{\inputencoding{latin1}}}
+\DeclareOption{latin2}{\AtEndOfClass{\inputencoding{latin2}}}
+\DeclareOption{latin3}{\AtEndOfClass{\inputencoding{latin3}}}
+\DeclareOption{latin4}{\AtEndOfClass{\inputencoding{latin4}}}
+\DeclareOption{latin5}{\AtEndOfClass{\inputencoding{latin5}}}
+\DeclareOption{latin9}{\AtEndOfClass{\inputencoding{latin9}}}
+\DeclareOption{latin10}{\AtEndOfClass{\inputencoding{latin10}}}
+\DeclareOption{decmulti}{\AtEndOfClass{\inputencoding{decmulti}}}
+\DeclareOption{cp850}{\AtEndOfClass{\inputencoding{cp850}}}
+\DeclareOption{cp852}{\AtEndOfClass{\inputencoding{cp852}}}
+\DeclareOption{cp858}{\AtEndOfClass{\inputencoding{cp858}}}
+\DeclareOption{cp437}{\AtEndOfClass{\inputencoding{cp437}}}
+\DeclareOption{cp437de}{\AtEndOfClass{\inputencoding{cp437de}}}
+\DeclareOption{cp865}{\AtEndOfClass{\inputencoding{cp865}}}
+\DeclareOption{applemac}{\AtEndOfClass{\inputencoding{applemac}}}
+\DeclareOption{next}{\AtEndOfClass{\inputencoding{next}}}
+\DeclareOption{cp1250}{\AtEndOfClass{\inputencoding{cp1250}}}
+\DeclareOption{cp1252}{\AtEndOfClass{\inputencoding{cp1252}}}
+\DeclareOption{cp1257}{\AtEndOfClass{\inputencoding{cp1257}}}
+\DeclareOption{ansinew}{\AtEndOfClass{\inputencoding{ansinew}}}
+\DeclareOption{utf8}{\AtEndOfClass{\inputencoding{utf8x}}}
+\DeclareOption{utf8x}{\AtEndOfClass{\inputencoding{utf8x}}}
+\DeclareOption{koi8-r}{\AtEndOfClass{\inputencoding{koi8-r}}}
+\DeclareOption{koi8-ru}{\AtEndOfClass{\inputencoding{koi8-ru}}}
+\DeclareOption{koi8-u}{\AtEndOfClass{\inputencoding{koi8-u}}}
+\DeclareOption{cp1251}{\AtEndOfClass{\inputencoding{cp1251}}}
+\DeclareOption{cp855}{\AtEndOfClass{\inputencoding{cp855}}}
+\DeclareOption{cp866}{\AtEndOfClass{\inputencoding{cp866}}}
+\DeclareOption{maccyr}{\AtEndOfClass{\inputencoding{maccyr}}}
+\DeclareOption{macukr}{\AtEndOfClass{\inputencoding{macukr}}}
+
+% Set font
+\DeclareOption{helvetica}{%
+ \renewcommand{\rmdefault}{phv}
+ \renewcommand{\sfdefault}{phv}
+}
+\DeclareOption{arial}{%
+ \renewcommand{\rmdefault}{ma1} % (this font is NOT installed by default!)
+ \renewcommand{\sfdefault}{ma1}
+}
+
+\DeclareOption{narrow}{
+ \def\ecv@narrow{}
+}
+
+\newif\if@ecvbigfont\@ecvbigfontfalse
+\DeclareOption{bigfont} {
+ \@ecvbigfonttrue
+}
+
+\def\ecv@textcolor{ecvtextcolor}
+\DeclareOption{black} {
+ \def\ecv@textcolor{black}
+}
+
+\def\ecv@currvitaekey{}
+\newcommand{\ecvcurrvitae}{\ifx\@empty\ecv@currvitaekey Curriculum vitae \else \ecv@currvitaekey \fi}
+\newcommand{\ecvcoloredtitle}{\fontfamily{phv}\fontseries{m}\selectfont \textcolor{ecvhighlightcolor}{\ecvcurrvitae}}
+
+% Europass logo
+\newif\if@ecvlogo\@ecvlogotrue
+\DeclareOption{nologo}{\@ecvlogofalse}
+\DeclareOption{notitle}{\def\ecv@notitle{}}
+
+% Page numbering
+\DeclareOption{totpages}{%
+ \AtEndOfPackage{\RequirePackage{totpages}%
+ \def\ecv@totpages{~/~\ref{TotPages}}
+ %\ecvpage{\ecv@pagekey~\thepage~/~\ref{TotPages}}%
+ }%
+}
+
+\newif\if@ecvnodocument\@ecvnodocumentfalse
+\DeclareOption{nodocument}{%
+ \@ecvnodocumenttrue
+}
+
+\newif\if@ecvdebug\@ecvdebugfalse
+\DeclareOption{debug}{\@ecvdebugtrue}
+
+% Pass all other options (a4paper, 10pt, draft, openbib, etc...) to article
+\DeclareOption*{%
+ \PassOptionsToClass{\CurrentOption}{article}%
+}
+
+\ExecuteOptions{english,hrule,totpages} % Default options
+
+\ProcessOptions\relax
+
+\LoadClass{article}
+\RequirePackage[utf8]{inputenc}
+\RequirePackage{array}
+\RequirePackage{fancyhdr} % For page numbering
+\RequirePackage{xcolor}
+\RequirePackage{url}
+\RequirePackage{soul}
+\RequirePackage{tabu}
+\RequirePackage{setspace}
+\RequirePackage{geometry}
+\RequirePackage{textcomp} % For copyright symbol
+\RequirePackage{enumitem}
+\RequirePackage[hidelinks]{hyperref}
+\RequirePackage{colortbl}
+\RequirePackage{graphicx}
+\if@ecvdebug \RequirePackage{showframe} \fi
+\RequirePackage[T1]{fontenc}
+
+
+\def\ecv@totpages{}
+\newcommand*{\ecvpage}[1]{\def\ecv@page{#1}}
+\ecvpage{\ecv@pagekey~\thepage\ecv@totpages}
+
+\def\ecv@lfoot{%
+ \footnotesize{\@date}
+}
+
+% Right Footnote to be shown on every page
+\newcommand\ecvfootnote[1]{\def\ecv@cfoot{#1}}
+\ecvfootnote{\textcopyright~\ecv@europeanunionkey, 2002-2014 | http://europass.cedefop.europa.eu }
+
+
+\AtBeginDocument{%
+% Ensure that \ecv@leftcolwidth and \ecv@rightcolwidth
+% are correctly defined
+\ecvLeftColumnWidth{50mm}
+\ecvColSep{10pt}
+
+% Set layout
+
+\if@ecvnodocument\else
+ \newgeometry{body={18.5cm,24cm}, vratio={4:3}}
+\fancyfoot{}
+\fancyfoot[L]{\begin{minipage}{\ecv@leftcolwidth}
+\begin{flushleft}
+\footnotesize\textcolor{ecvhighlightcolor}{\fontfamily{phv}\fontseries{m}\selectfont\ecv@lfoot}\end{flushleft}
+\end{minipage}\hspace*{\ecv@colsep}\footnotesize\textcolor{ecvhighlightcolor}{\fontfamily{phv}\fontseries{m}\selectfont\ecv@cfoot}
+}
+
+\fancyfoot[R]{\begin{minipage}{\ecv@rightcolwidth}
+\begin{flushright}
+\footnotesize\textcolor{ecvhighlightcolor}{\fontfamily{phv}\fontseries{m}\selectfont\ecv@page}\end{flushright}
+\end{minipage}}
+
+\fancypagestyle{ecvfancy}{
+\setlength{\headheight}{13.5pt}
+% \setlength{\footskip}{8.4pt}
+\fancyhead{}
+
+\fancyhead[R]{
+\raggedleft \fontfamily{phv}\fontseries{m}\selectfont \textcolor{ecvhighlightcolor}{\ecv@name}
+}
+
+\fancyhead[L]{
+\noindent
+\begin{minipage}{0.5\textwidth}
+\noindent\makebox[\ecv@leftcolwidth][l]{\noindent\raisebox{-0.68\height}[0pt][0pt]{\if@ecvlogo\includegraphics[width=0.6\ecv@logowidth]{europasslogo.pdf}\fi}}
+\hspace*{\ecv@leftcolwidth}\hspace*{\ecv@colsep}\noindent
+\raisebox{\dp\strutbox}{\ecvcoloredtitle}
+\end{minipage}
+}
+}
+
+\fancypagestyle{first}{
+\fancyhead[R]{}
+\fancyhead[L]{
+\noindent
+\begin{minipage}{0.5\textwidth}
+\noindent\makebox[\ecv@leftcolwidth][l]{\noindent\raisebox{-0.52\height}[0pt][0pt]{\if@ecvlogo\includegraphics[width=\ecv@logowidth]{europasslogo.pdf}\fi}}
+\hspace*{\ecv@leftcolwidth}\hspace*{\ecv@colsep}\noindent
+\raisebox{\dp\strutbox}{\ecvcoloredtitle}
+\end{minipage}
+}
+}
+
+\thispagestyle{first}
+\pagestyle{ecvfancy}
+\renewcommand{\headrulewidth}{0pt}%
+\fi % End \if@ecvnodocument
+} % End \AtBeginDocument
+
+% Thanks to Roman Bertle for suggesting the following:
+\renewcommand{\labelitemi}{\normalfont\bfseries \textendash}
+\renewcommand{\labelitemii}{\textasteriskcentered}
+\renewcommand{\labelitemiii}{\textperiodcentered}
+
+\newcommand*{\ecvfirstname}[1]{\def\ecv@firstname{#1}} % Deprecated
+\newcommand*{\ecvlastname}[1]{\def\ecv@lastname{#1}} % Deprecated
+\newcommand*{\ecvname}[1]{\def\ecv@name{#1}} % Replaces the above
+\newcommand*{\ecvfootername}[1]{\def\ecv@footername{#1}}
+\newcommand*{\ecvaddress}[1]{\def\ecv@address{#1}}
+\newcommand*{\ecvtelephone}[2][]{\def\ecv@telephone{#2}\def\ecv@mobile{#1}}
+\newcommand*{\ecvfax}[1]{\def\ecv@fax{#1}}
+\newcommand*{\ecvemail}[1]{\def\ecv@email{#1}}
+\newcommand*{\ecvhomepage}[1]{\def\ecv@homepage{#1}}
+\def\ecv@im{}
+\newif\if@ecvIMalreadyprovided\@ecvIMalreadyprovidedfalse
+\newcommand*{\ecvim}[2]{\if@ecvIMalreadyprovided \g@addto@macro\ecv@im{\quad} \fi \g@addto@macro\ecv@im{\ecvhighlight{#1} #2} \@ecvIMalreadyprovidedtrue}
+\newif\if@ecvpiextrafields\@ecvpiextrafieldsfalse
+\newcommand*{\ecvnationality}[1]{\def\ecv@nationality{#1}\@ecvpiextrafieldstrue}
+\newcommand*{\ecvdateofbirth}[1]{\def\ecv@birth{#1}\@ecvpiextrafieldstrue}
+\newcommand*{\ecvgender}[1]{\def\ecv@gender{#1}\@ecvpiextrafieldstrue}
+% Personal picture
+\newcommand*{\ecvdrawpicture}{}
+\newcommand*{\ecvbeforepicture}[1]{\def\ecv@beforepic{#1}}
+\newcommand*{\ecvafterpicture}[1]{\def\ecv@afterpic{#1}}
+\newif\if@ecvpicture\@ecvpicturefalse
+\newcommand*\ecvpicture{%\@e
+\@ifnextchar[\ecv@picture{\ecv@picture[]}}
+\def\ecv@picture[#1]#2{%
+\def\ecvarg{#2}
+\ifx\@empty\ecvarg\renewcommand*{\ecvdrawpicture}{}\else
+\renewcommand*{\ecvdrawpicture}{\includegraphics[#1]{#2}}
+\@ecvpicturetrue
+\fi}
+% The following must be used inside \ecvbeforepicture
+% or \ecvafterpicture
+\newcommand*{\ecvspace}[1]{\vspace{#1}}
+\ecvbeforepicture{\raggedleft}
+\ecvafterpicture{0pt}
+\ecvfirstname{}
+\ecvlastname{}
+\ecvname{\ecv@lastname\ \ecv@firstname}
+\ecvfootername{\ecv@name}
+\ecvaddress{}
+\ecvtelephone{}
+\ecvfax{}
+\ecvemail{}
+\ecvhomepage{}
+\ecvnationality{}
+\ecvdateofbirth{}
+\ecvgender{}
+\ecvpicture{}
+
+
+\newif\if@ecvpineedspipe\@ecvpineedspipefalse
+\providecommand{\ecvpersonalinfo}[1][0pt]{%
+\ecvitem[#1]{\ecvsectionstyle{\ecv@infosectionkey}}{
+\begin{doublespacing}
+\begin{tabular}[t]{@{}p{\if@ecvpicture 0.7\ecv@rightcolwidth \else \ecv@rightcolwidth\fi}@{}p{\if@ecvpicture 0.3\ecv@rightcolwidth \else 0pt\fi}@{}}
+\raggedright
+{\ecvLargenormalstyle{\ecv@name}} \newline
+\ifx\@empty\ecv@address\else
+ \raisebox{-2\lineskip}{\includegraphics[width=0.4cm]{address_europass_icon.pdf}}\hspace{0.2mm} {\fontseries{m}\selectfont \ecv@address} \newline
+\fi
+\ifx\@empty\ecv@mobile
+ \ifx\@empty\ecv@telephone\else
+ \raisebox{-2\lineskip}{\includegraphics[width=0.4cm]{telephone_europass_icon.pdf}}\hspace{0.2mm} {\fontseries{m}\selectfont \ecv@telephone} \newline
+ \fi
+\else
+ \raisebox{-2\lineskip}{\includegraphics[width=0.4cm]{mobile_europass_icon.pdf}}\hspace{0.2mm} {\fontseries{m}\selectfont \ecv@mobile} \quad \ifx\@empty\ecv@telephone\else \raisebox{-2\lineskip}{\includegraphics[width=0.4cm]{telephone_europass_icon.pdf}}\hspace{0.2mm} {\fontseries{m}\selectfont \ecv@telephone\ \newline}\fi
+\fi
+\ifx\@empty\ecv@fax\else
+ \ecv@faxkey \ecv@fax
+\fi
+\ifx\@empty\ecv@email\else
+ \raisebox{-2\lineskip}{\includegraphics[width=0.4cm]{mail_europass_icon.pdf}}\hspace{0.2mm} {\fontseries{m}\selectfont \setul{.5pt}{.4pt}\href{mailto:\ecv@email}{\ul{\mbox{\ecv@email}}}} \newline
+\fi
+\ifx\@empty\ecv@homepage\else
+ \raisebox{-2\lineskip}{\includegraphics[width=0.4cm]{website_europass_icon.pdf}}\hspace{0.2mm} {\fontseries{m}\selectfont \setul{.5pt}{.4pt}\href{\ecv@homepage}{\ul{\mbox{\ecv@homepage}}}} \newline
+\fi
+\ifx\@empty\ecv@im\else
+ \raisebox{-2\lineskip}{\includegraphics[width=0.4cm]{im_europass_icon.pdf}} \hspace{0.2mm}{\fontseries{m}\selectfont \ecv@im} \newline
+\fi
+ \ifx\@empty\ecv@gender\else
+ \if@ecvpineedspipe\else \hspace{-1ex}\fi
+ \fontseries{m}\selectfont \ecvhighlight{~\if@ecvpineedspipe | \fi \ecv@genderkey} \ecv@gender \@ecvpineedspipetrue
+ \fi
+ \ifx\@empty\ecv@birth\else
+ \if@ecvpineedspipe\else \hspace{-1ex}\fi
+ \fontseries{m}\selectfont \ecvhighlight{~\if@ecvpineedspipe | \fi\ecv@birthkey} \ecv@birth \@ecvpineedspipetrue
+ \fi
+ \if@ecvpicture
+ \ifx\@empty\ecv@nationality\else
+ \ifx\@empty\ecv@gender\else
+ \ifx\@empty\ecv@birth\else
+ \linebreak
+ \@ecvpineedspipefalse
+ \fi
+ \fi
+ \fi
+ \fi
+ \ifx\@empty\ecv@nationality\else
+ \if@ecvpineedspipe\else \hspace{-1ex}\fi
+ \fontseries{m}\selectfont \ecvhighlight{~\if@ecvpineedspipe | \fi \ecv@nationalitykey}~\ecv@nationality \@ecvpineedspipetrue
+ \fi
+&
+\Large \vspace{-\baselineskip}
+\raisebox{-\height}{\ecvdrawpicture}
+\end{tabular}
+\end{doublespacing}
+}
+\ecvspace{\ecv@afterpic}
+}
+
+% Spoken language information
+\newcommand*\ecvmothertongue[2][0pt]{%
+\ecvblueitem[#1]{\ecv@mothertonguekey}{#2}
+}
+
+\newlength\ecv@langparwidth
+\newlength\ecv@langtablewidth %excluding vertical rules
+\newlength\ecv@langouterborderwidth
+\newlength\ecv@langinnerborderwidth
+
+\setlength{\ecv@langouterborderwidth}{0.04cm}
+\setlength{\ecv@langinnerborderwidth}{0.02cm}
+
+
+\newif\if@ecvfirstlangrow\@ecvfirstlangrowfalse
+
+\providecommand{\ecvlanguageheader}[1][0pt]{%
+ \setlength{\arrayrulewidth}{\ecv@langouterborderwidth}
+ \ecvblueitem{\ecv@otherlanguageskey}{
+ \renewcommand{\arraystretch}{1.5}
+ \setlength{\ecv@langtablewidth}{\ecv@rightcolwidth}
+ \addtolength{\ecv@langtablewidth}{-4\arrayrulewidth}
+ \arrayrulecolor{ecvtablebordercolor}
+ \begin{tabular}[t]{p{\ecv@langcola\ecv@langtablewidth}|p{\ecv@langcolb\ecv@langtablewidth}|p{\ecv@langcolc\ecv@langtablewidth}|p{\ecv@langcold\ecv@langtablewidth}|p{\ecv@langcole\ecv@langtablewidth}}
+ \firsthline
+ \multicolumn{2}{c|}{\ecvsectionstyle{\ecv@understandkey}} & \multicolumn{2}{c|}{\ecvsectionstyle{\ecv@speakkey}} & \centering \ecvsectionstyle{\ecv@writekey}\tabularnewline
+ \hline
+ \centering \ecvbluestyle{\ecv@listenkey}& \centering \ecvbluestyle{\ecv@readkey} &\centering \ecvbluestyle{\ecv@interactkey}& \centering
+ \ecvbluestyle{\ecv@productkey}&\tabularnewline
+ \hline
+ \end{tabular}
+ }
+ \@ecvfirstlangrowtrue
+}
+
+
+\newcommand*\ecvlangrow[8][-\dp\strutbox]{
+ \vspace*{-\dp\strutbox}
+ \setlength{\arrayrulewidth}{#8}
+ \ecvitem[#1]{\raisebox{\if@ecvfirstlangrow -\arrayrulewidth \else -0.5\arrayrulewidth \fi}{#2}}{
+ \setlength{\ecv@langtablewidth}{\ecv@rightcolwidth}
+ \addtolength{\ecv@langtablewidth}{-4\arrayrulewidth}
+ \arrayrulecolor{ecvtablebordercolor}
+ \renewcommand{\arraystretch}{1.8}
+ \begin{tabular}[t]{p{\ecv@langcola\ecv@rightcolwidth}p{\ecv@langcolb\ecv@rightcolwidth}p{\ecv@langcolc\ecv@rightcolwidth}p{\ecv@langcold\ecv@rightcolwidth}p{\ecv@langcole\ecv@rightcolwidth}}
+ \centering{\raisebox{-\arrayrulewidth}{#3}} &\centering{\raisebox{-\arrayrulewidth}{#4}} &\centering{\raisebox{-\arrayrulewidth}{#5}} &\centering{\raisebox{-\arrayrulewidth}{#6}} &\centering{\raisebox{-\arrayrulewidth}{#7}} \tabularnewline
+ \hline
+ \end{tabular}
+ }
+ \@ecvfirstlangrowfalse
+}
+
+\newcommand*\ecvlanguage[7][0pt]{\ecvlangrow[#1]{#2}{#3}{#4}{#5}{#6}{#7}{\ecv@langinnerborderwidth}}
+\newcommand*\ecvlastlanguage[7][0pt]{\ecvlangrow[#1]{#2}{#3}{#4}{#5}{#6}{#7}{\ecv@langouterborderwidth}}
+
+\newcommand*{\ecvlanguagefooter}[1][0pt]{
+\nopagebreak[4]
+\ecvitem[0.5\dp\strutbox]{}{\textcolor{ecvsectioncolor}{\ecv@langshortdesckey}}
+\nopagebreak[4]
+% \vspace*{-0.5\dp\strutbox}
+\ecvitem[-0.5\dp\strutbox]{}{\setulcolor{ecvlanglinkcolor}\setul{.5pt}{.4pt}\href{\ecv@langlinkkey}{\ul{\mbox{\textcolor{ecvlanglinkcolor}{\ecv@langfooterkey}}}}}
+\renewcommand{\arraystretch}{0}
+}
+
+% See the Common European Framework of Reference for Languages:
+% http://www.coe.int/T/E/Cultural_Co-operation/education/Languages/Language_Policy/Common_Framework_of_Reference/default.asp
+\newcommand*\ecvCEF[2]{%
+% \setlength\tabcolsep{1mm}
+
+% \begin{tabular}{@{}>{}m{.2\ecv@langparwidth}@{\hspace{1mm}}>{\centering}m{.74\ecv@langparwidth}@{}}
+% #1 & \small{#2}\tabularnewline
+% \end{tabular}
+}
+
+\newcommand*\ecvAOne{A1}
+\newcommand*\ecvATwo{A2}
+\newcommand*\ecvBOne{B1}
+\newcommand*\ecvBTwo{B2}
+\newcommand*\ecvCOne{C1}
+\newcommand*\ecvCTwo{C2}
+
+\def\ecv@kern{\kern0.5pt}
+%\def\ecv@kern{}
+\newcommand*{\ecvTitleKern}[1]{\def\ecv@kern{\kern#1}}
+\newlength\ecv@rulewidth
+\newlength\ecv@colsep
+\newlength\ecv@leftcolwidth
+\newlength\ecv@rightcolwidth
+\newlength\ecv@extrarowheight
+\newlength\ecv@leftboxwidth
+\newlength\ecv@rightboxwidth
+\newcommand*{\ecvRuleWidth}[1]{\setlength\ecv@rulewidth{#1}}
+\newcommand*{\ecvColSep}[1]{%
+ \setlength\ecv@colsep{#1}
+ \addtolength{\ecv@rightcolwidth}{-\ecv@colsep}
+ \addtolength{\ecv@rightboxwidth}{-\ecv@colsep}
+ }
+\newcommand*{\ecvLeftColumnWidth}[1]{\setlength\ecv@leftcolwidth{#1}%
+ \setlength{\ecv@rightcolwidth}{\textwidth}
+ \addtolength{\ecv@rightcolwidth}{-\ecv@leftcolwidth}
+ \addtolength{\ecv@rightcolwidth}{-\ecv@rulewidth}
+ \setlength{\ecv@rightboxwidth}{\ecv@rightcolwidth}
+ \setlength{\ecv@leftboxwidth}{\ecv@leftcolwidth}
+}
+\newcommand*{\ecvExtraRowHeight}[1]{\setlength\ecv@extrarowheight{#1}}
+\newcommand*{\ecvNoHorRule}{\def\ecv@hrule{}}
+\newcommand*{\ecvWithHorRule}{\def\ecv@hrule{\cline{1-1}}}
+
+% Initialization
+\ecvRuleWidth{\arrayrulewidth}
+\setlength\ecv@leftcolwidth{50mm} % Default left column width
+\ecvExtraRowHeight{0pt}
+\ecvWithHorRule
+
+% Logo size
+\newlength\ecv@logowidth
+\newlength\ecv@logooffset
+\newcommand*{\ecvLogoWidth}[1]{\setlength\ecv@logowidth{#1}}
+\newcommand*{\ecvLogoOffset}[1]{\setlength\ecv@logooffset{#1}}
+\ecvLogoWidth{4.487cm}
+\ecvLogoOffset{0.8cm}%\typeout{logo width=\the\ecv@logowidth}
+%\typeout{logo offset=\the\ecv@logooffset}
+
+% Text bullet
+\newcommand{\ecvbullet}{\raisebox{.35ex}[0cm][0cm]{\tiny\textbullet}}
+
+\newenvironment{europasscv}{%
+ \ecvLeftColumnWidth{\ecv@leftcolwidth}
+ \ecvColSep{\ecv@colsep}
+ \renewcommand{\tabcolsep}{0pt}
+ \setlength\parindent{0pt}
+ \setlength\arrayrulewidth{\ecv@rulewidth}
+ \setlength{\arrayrulewidth}{0pt}
+ % Language table paragraph width
+ \setlength\ecv@langparwidth{.199\ecv@rightcolwidth}
+ \addtolength{\ecv@langparwidth}{-2\tabcolsep}
+ \addtolength{\ecv@langparwidth}{-2\arrayrulewidth}
+
+\fontfamily{phv} \ifx\@empty\ecv@narrow \fontseries{mc} \else \fontseries{m} \fi
+\if@ecvbigfont\else \fontsize{9}{10.8} \fi \selectfont
+
+\setlength\baselineskip{0pt}
+\color{\ecv@textcolor}
+}
+
+\newenvironment{ecvitemize}{
+\
+\vspace*{\ecv@itemizeskip}
+\begin{itemize}[leftmargin=*,nolistsep,nosep,topsep=0pt]
+}{
+\end{itemize}
+\ \vspace{-0.8\baselineskip}
+}
+
+
+% styles
+\newcommand{\ecvsectionstyle}[1]{\textcolor{ecvsectioncolor}{\fontfamily{phv}\fontseries{m}\selectfont \MakeUppercase{\expandafter{#1}}}}
+\newcommand{\ecvbluenormalstyle}[1]{\fontfamily{phv}\fontseries{m}\selectfont\textcolor{ecvsectioncolor}{#1}}
+\newcommand{\ecvtitlestyle}[1]{\large{\ecvbluenormalstyle{#1}}}
+\newcommand{\ecvlargenormalstyle}[1]{\large \fontfamily{phv}\fontseries{m}\selectfont #1}
+\newcommand{\ecvLargenormalstyle}[1]{\Large \fontfamily{phv}\fontseries{m}\selectfont #1}
+\newcommand{\ecvhighlight}[1]{\textcolor{ecvhighlightcolor}{#1}}
+\newcommand{\ecvbluestyle}[1]{\textcolor{ecvsectioncolor}{#1}}
+
+
+% sectioning commands
+\newif\if@ecvitemskip\@ecvitemskipfalse
+\newlength{\ecv@itemskip}
+\newlength{\ecv@itemizeskip}
+\setlength\ecv@itemskip{2.8pt}
+
+\newlength{\ecv@currentskip}
+
+\newif\if@ecvlastitemwassection\@ecvlastitemwassectionfalse
+
+\newcommand{\ecv@secondarg}{}
+\newcommand{\ecv@thirdarg}{}
+
+
+\newcolumntype{P}[1]{>{%
+ \setlength{\parskip}{\ecv@itemskip}
+ \setlength{\baselineskip}{1.5\ht\strutbox}
+ }p{#1}
+}
+\newcommand\ecvitem[3][\ecv@itemskip]{%
+ \if@ecvdebug
+ \renewcommand{\ecv@secondarg}{#2}
+ \renewcommand{\ecv@thirdarg}{#3}
+ \message{^^J==================^^J}
+ \message{[europasscv] typesetting ^^J}
+ \message{[europasscv] \meaning\ecv@secondarg^^J}
+ \message{[europasscv] \meaning\ecv@thirdarg^^J}
+ \message{[europasscv] ecvitemskip = \if@ecvitemskip true, skipping \the\ecv@currentskip \else false\fi}
+ \fi
+
+ \if@ecvitemskip
+ \setlength{\ecv@currentskip}{#1}
+ \vspace{\ecv@currentskip}
+ \fi
+
+ \setlength\ecv@itemizeskip{-\ht\strutbox}\addtolength{\ecv@itemizeskip}{-2\dp\strutbox}
+
+ \begin{tabular}{@{}p{\ecv@leftcolwidth}@{\extracolsep{\ecv@colsep}}P{\ecv@rightcolwidth}@{}}
+ \if@ecvdebug\cellcolor{yellow!25}\fi \raggedleft #2 & \if@ecvdebug\cellcolor{blue!25}\fi #3
+ \end{tabular}
+ \@ecvitemskiptrue
+ \@ecvlastitemwassectionfalse
+}
+
+\newlength{\ecv@sectionrulelength}
+
+\newcommand{\ecvsection}[2][1.3\bigskipamount]{%
+ \setlength{\ecv@sectionrulelength}{\ecv@rightcolwidth}
+ \addtolength{\ecv@sectionrulelength}{-7pt}
+ \ecvitem[#1]{\ecvsectionstyle{#2}}
+ {\textcolor{ecvrulecolor}{\noindent\rule{\ecv@sectionrulelength}{1pt}\rule{7pt}{8pt}}}
+ \nopagebreak
+ \@ecvitemskipfalse
+ \@ecvlastitemwassectiontrue
+ \vspace*{\medskipamount}
+}
+
+\newcommand\ecvtitle[3][\if@ecvitemskip 1.3\bigskipamount \else 0pt \fi]{%
+ \ecvitem[#1]{\small \ecvbluenormalstyle{#2}}{\ecvtitlestyle{#3}}
+}
+
+\newcommand{\ecvtitlelevel}[4][\if@ecvitemskip 1.3\bigskipamount \else 0pt \fi]{\ecvtitle[#1]{#2}{
+ \begin{tabular}[t]{@{}p{0.8\ecv@rightcolwidth}@{}p{0.2\ecv@rightcolwidth}@{}}
+ #3 & \if@ecvdebug\cellcolor{green!25}\fi \raggedleft \ecvhighlight{\small #4}
+ \end{tabular} \nolinebreak[4]
+}
+}
+
+\newcommand\ecvblueitem[3][\if@ecvitemskip 1.3\bigskipamount\else 0pt \fi]{\ecvitem[#1]{\textcolor{ecvsectioncolor}{#2}}{
+% \setlength\ecv@itemizeskip{-1.3\bigskipamount}\addtolength{\ecv@itemizeskip}{0.5\dp\strutbox}
+ #3}
+}
+
+\newcommand{\ecvbigitem}[3][\bigskipamount]{
+ \ecvitem[#1]{\ecvsectionstyle{#2}}{\ecvlargenormalstyle{#3}}
+ \vspace{\bigskipamount}
+ \@ecvitemskipfalse
+}
+
+\ecvRuleWidth{0pt}
+
+% colors
+\definecolor{ecvrulecolor}{HTML}{398dc9}
+\definecolor{ecvsectioncolor}{HTML}{0e4194}
+\definecolor{ecvhighlightcolor}{HTML}{1593cb}
+\definecolor{ecvtablebordercolor}{HTML}{c6c6c6}
+\definecolor{ecvlanglinkcolor}{HTML}{000080}
+\definecolor{ecvtextcolor}{HTML}{3e3a38}