summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/europecv/europecv.cls
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/europecv/europecv.cls')
-rw-r--r--Master/texmf-dist/tex/latex/europecv/europecv.cls427
1 files changed, 336 insertions, 91 deletions
diff --git a/Master/texmf-dist/tex/latex/europecv/europecv.cls b/Master/texmf-dist/tex/latex/europecv/europecv.cls
index 78b725aada0..0c9a4ef3c0b 100644
--- a/Master/texmf-dist/tex/latex/europecv/europecv.cls
+++ b/Master/texmf-dist/tex/latex/europecv/europecv.cls
@@ -1,76 +1,229 @@
+%!TEX encoding = UTF-8 Unicode
+%
% European curriculum vitae class
% Author: Nicola Vitacolonna (vitacolo@dimi.uniud.it)
% This material is subject to the LaTeX Project Public License.
% See http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html
% for the details of that license
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{europecv}[2005/04/08 European curriculum vitae class]
+\ProvidesClass{europecv}[2006/04/24 (beta) European curriculum vitae class]
% 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]{{\inputencoding{utf8x}#1}}
+
% Set language
\DeclareOption{english}{%
- \InputIfFileExists{ecven.def}{}{%
- \ClassError{europecv}{English definition file 'ecven.def' not found}%
- {The file should be inside the europecv folder.\MessageBreak
+ \AtEndOfPackage{%
+ \InputIfFileExists{ecven.def}{}{%
+ \ClassError{europecv}{English definition file 'ecven.def' not found}%
+ {The file should be inside the europecv folder.\MessageBreak
Try to re-install the europecv class.}}%
+ }%
}
\DeclareOption{italian}{%
- \InputIfFileExists{ecvit.def}{}{%
- \ClassWarningNoLine{europecv}{Italian definition file 'ecvit.def' not found}}%
+ \AtEndOfPackage{%
+ \InputIfFileExists{ecvit.def}{}{%
+ \ClassWarningNoLine{europecv}{Italian definition file 'ecvit.def' not found}}%
+ }%
}
\DeclareOption{spanish}{%
- \InputIfFileExists{ecves.def}{}{%
- \ClassWarningNoLine{europecv}{Spanish definition file 'ecves.def' not found}}%
+ \AtEndOfPackage{%
+ \InputIfFileExists{ecves.def}{}{%
+ \ClassWarningNoLine{europecv}{Spanish definition file 'ecves.def' not found}}%
+ }%
}
\DeclareOption{french}{%
- \InputIfFileExists{ecvfr.def}{}{%
- \ClassWarningNoLine{europecv}{French definition file 'ecvfr.def' not found}}%
+ \AtEndOfPackage{%
+ \InputIfFileExists{ecvfr.def}{}{%
+ \ClassWarningNoLine{europecv}{French definition file 'ecvfr.def' not found}}%
+ }%
}
\DeclareOption{danish}{%
- \InputIfFileExists{ecvda.def}{}{%
- \ClassWarningNoLine{europecv}{Danish definition file 'ecvda.def' not found}}%
+ \AtEndOfPackage{%
+ \InputIfFileExists{ecvda.def}{}{%
+ \ClassWarningNoLine{europecv}{Danish definition file 'ecvda.def' not found}}%
+ }%
}
\DeclareOption{german}{%
- \InputIfFileExists{ecvde.def}{}{%
- \ClassWarningNoLine{europecv}{German definition file 'ecvde.def' not found}}%
+ \AtEndOfPackage{%
+ \InputIfFileExists{ecvde.def}{}{%
+ \ClassWarningNoLine{europecv}{German definition file 'ecvde.def' not found}}%
+ }%
}
\DeclareOption{finnish}{%
- \InputIfFileExists{ecvfi.def}{}{%
- \ClassWarningNoLine{europecv}{Finnish definition file 'ecvfi.def' not found}}%
+ \AtEndOfPackage{%
+ \InputIfFileExists{ecvfi.def}{}{%
+ \ClassWarningNoLine{europecv}{Finnish definition file 'ecvfi.def' not found}}%
+ }%
}
\DeclareOption{portuges}{%
- \InputIfFileExists{ecvpt.def}{}{%
- \ClassWarningNoLine{europecv}{Portuguese definition file 'ecvpt.def' not found}}%
+ \AtEndOfPackage{%
+ \InputIfFileExists{ecvpt.def}{}{%
+ \ClassWarningNoLine{europecv}{Portuguese definition file 'ecvpt.def' not found}}%
+ }%
}
\DeclareOption{portuguese}{%
- \InputIfFileExists{ecvpt.def}{}{%
- \ClassWarningNoLine{europecv}{Portuguese definition file 'ecvpt.def' not found}}%
+ \AtEndOfPackage{%
+ \InputIfFileExists{ecvpt.def}{}{%
+ \ClassWarningNoLine{europecv}{Portuguese definition file 'ecvpt.def' not found}}%
+ }%
}
\DeclareOption{swedish}{%
- \InputIfFileExists{ecvsv.def}{}{%
- \ClassWarningNoLine{europecv}{Swedish definition file 'ecvsv.def' not found}}%
+ \AtEndOfPackage{%
+ \InputIfFileExists{ecvsv.def}{}{%
+ \ClassWarningNoLine{europecv}{Swedish definition file 'ecvsv.def' not found}}%
+ }%
}
\DeclareOption{norwegian}{%
- \InputIfFileExists{ecvno.def}{}{%
- \ClassWarningNoLine{europecv}{Norwegian definition file 'ecvno.def' not found}}%
+ \AtEndOfPackage{%
+ \InputIfFileExists{ecvno.def}{}{%
+ \ClassWarningNoLine{europecv}{Norwegian definition file 'ecvno.def' not found}}%
+ }%
}
\DeclareOption{dutch}{%
- \InputIfFileExists{ecvnl.def}{}{%
- \ClassWarningNoLine{europecv}{Dutch definition file 'ecvnl.def' not found}}%
+ \AtEndOfPackage{%
+ \InputIfFileExists{ecvnl.def}{}{%
+ \ClassWarningNoLine{europecv}{Dutch definition file 'ecvnl.def' not found}}%
+ }%
}
\DeclareOption{catalan}{%
- \InputIfFileExists{ecvca.def}{}{%
- \ClassWarningNoLine{europecv}{Catalan definition file 'ecvca.def' not found}}%
+ \AtEndOfPackage{%
+ \InputIfFileExists{ecvca.def}{}{%
+ \ClassWarningNoLine{europecv}{Catalan definition file 'ecvca.def' not found}}%
+ }%
}
\DeclareOption{polish}{%
- \InputIfFileExists{ecvpl.def}{}{%
- \ClassWarningNoLine{europecv}{Polish definition file 'ecvpl.def' not found}}%
+ \AtEndOfPackage{%
+ \InputIfFileExists{ecvpl.def}{}{%
+ \ClassWarningNoLine{europecv}{Polish definition file 'ecvpl.def' not found}}%
+ }%
+}
+\DeclareOption{hungarian}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{ecvhu.def}{}{%
+ \ClassWarningNoLine{europecv}{Hungarian definition file 'ecvhu.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{ecvet.def}{}{%
+ \ClassWarningNoLine{europecv}{Estonian definition file 'ecvet.def' not found}}%
+ }%
+}
+\DeclareOption{icelandic}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{ecvis.def}{}{%
+ \ClassWarningNoLine{europecv}{Icelandic definition file 'ecvis.def' not found}}%
+ }%
+}
+\DeclareOption{lithuanian}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{ecvlt.def}{}{%
+ \ClassWarningNoLine{europecv}{Lithuanian definition file 'ecvlt.def' not found}}%
+ }%
+}
+\DeclareOption{czech}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{ecvcs.def}{}{%
+ \ClassWarningNoLine{europecv}{Czech definition file 'ecvcs.def' not found}}%
+ }%
+}
+\DeclareOption{slovak}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{ecvsk.def}{}{%
+ \ClassWarningNoLine{europecv}{Slovak definition file 'ecvsk.def' not found}}%
+ }%
+}
+\DeclareOption{latvian}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{ecvlv.def}{}{%
+ \ClassWarningNoLine{europecv}{Latvian definition file 'ecvlv.def' not found}}%
+ }%
+}
+\DeclareOption{slovenian}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{ecvsl.def}{}{%
+ \ClassWarningNoLine{europecv}{Slovenian definition file 'ecvsl.def' not found}}%
+ }%
+}
+\DeclareOption{romanian}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{ecvro.def}{}{%
+ \ClassWarningNoLine{europecv}{Romanian definition file 'ecvro.def' not found}}%
+ }%
+}
+\DeclareOption{maltese}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{ecvmt.def}{}{%
+ \ClassWarningNoLine{europecv}{Maltese definition file 'ecvmt.def' not found}}%
+ }%
+}
+\DeclareOption{bulgarian}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{ecvbg.def}{}{%
+ \ClassWarningNoLine{europecv}{Bulgarian definition file 'ecvbg.def' not found}}%
+ }%
+}
+\DeclareOption{greek}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{ecvgr.def}{}{%
+ \ClassWarningNoLine{europecv}{Greek definition file 'ecvgr.def' not found}}%
+ }%
+}
+\DeclareOption{galician}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{ecvgl.def}{}{%
+ \ClassWarningNoLine{europecv}{Galician definition file 'ecvgl.def' not found}}%
+ }%
+}
+\DeclareOption{serbian}{%
+ \AtEndOfPackage{%
+ \InputIfFileExists{ecvsr.def}{}{%
+ \ClassWarningNoLine{europecv}{Serbian definition file 'ecvsr.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}
@@ -85,7 +238,10 @@
\renewcommand{\bfdefault}{bc} % Boldface narrow
}
% No title
-\DeclareOption{notitle}{\renewcommand*\ecvtitle{}}
+% This must come *after* language definitions
+\DeclareOption{notitle}{%
+ \AtEndOfPackage{\renewcommand*\ecvtitle{}}%
+}
% Europass logo
\DeclareOption{logo}{%
@@ -114,6 +270,18 @@
\includegraphics[width=\ecv@flagwidth]{EuropeFlagBlueCMYK}}
}
+% Page numbering
+\DeclareOption{totpages}{%
+ \AtEndOfPackage{\RequirePackage{totpages}%
+ \def\ecv@totpages{~/~\ref{TotPages}}
+ %\ecvpage{\ecv@pagekey~\thepage~/~\ref{TotPages}}%
+ }%
+}
+
+\DeclareOption{booktabs}{%
+ \AtEndOfPackage{\RequirePackage{booktabs}}
+ \def\ecv@booktabs{}
+}
% Pass all other options (a4paper, 10pt, draft, openbib, etc...) to article
\DeclareOption*{%
\PassOptionsToClass{\CurrentOption}{article}%
@@ -124,16 +292,58 @@
\ProcessOptions\relax
\LoadClass{article}
+\RequirePackage{ucs}
+\RequirePackage[utf8x]{inputenc}
\RequirePackage{array}
\RequirePackage{longtable}
\RequirePackage{fancyhdr} % For page numbering
-\newcommand*{\ecvfirstname}[1]{\def\ecv@firstname{#1}}
-\newcommand*{\ecvlastname}[1]{\def\ecv@lastname{#1}}
+\def\ecv@totpages{}
+\newcommand*{\ecvpage}[1]{\def\ecv@page{#1}}
+\ecvpage{\ecv@pagekey~\thepage\ecv@totpages}
+
+% Page number
+\def\ecv@lfoot{%
+ \footnotesize\textrm{\ecv@page~-~\ecv@cvofkey}\\
+ \textrm{\ecv@footername}
+}
+
+% Right Footnote to be shown on every page
+\newcommand\ecvfootnote[1]{\def\ecv@rfoot{#1}}
+\ecvfootnote{}
+
+\AtBeginDocument{%
+% Ensure that \ecv@leftcolwidth and \ecv@rightcolwidth
+% are correctly defined
+\ecvLeftColumnWidth{\ecv@leftcolwidth}
+% Set layout
+\pagestyle{fancy}
+\fancyhead{}
+\fancyfoot{}
+\fancyfoot[L]{\begin{minipage}{\ecv@leftcolwidth}
+\begin{flushright}\footnotesize\ecv@lfoot\end{flushright}%
+\end{minipage}
+}
+\fancyfoot[R]{\begin{minipage}{\ecv@rightcolwidth}
+\footnotesize\ecv@rfoot
+\end{minipage}}
+\renewcommand{\headrulewidth}{0pt}%
+} % 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}[1]{\def\ecv@telephone{#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}}
\newcommand*{\ecvnationality}[1]{\def\ecv@nationality{#1}}
\newcommand*{\ecvdateofbirth}[1]{\def\ecv@birth{#1}}
\newcommand*{\ecvgender}[1]{\def\ecv@gender{#1}}
@@ -148,10 +358,15 @@
\ifx\@empty\ecvarg\renewcommand*{\ecvdrawpicture}{}\else
\renewcommand*{\ecvdrawpicture}{\includegraphics[#1]{#2}}
\fi}
-\ecvbeforepicture{\raggedright}
+% The following must be used inside \ecvbeforepicture
+% or \ecvafterpicture
+\newcommand*{\ecvspace}[1]{\tabularnewline[#1] &}
+\ecvbeforepicture{\raggedleft}
\ecvafterpicture{}
\ecvfirstname{}
\ecvlastname{}
+\ecvname{\ecv@lastname\ \ecv@firstname}
+\ecvfootername{\ecv@name}
\ecvaddress{}
\ecvtelephone{}
\ecvfax{}
@@ -162,19 +377,26 @@
\ecvpicture{}
\providecommand{\ecvpersonalinfo}[1][0pt]{%
-{\large\par\textbf{\ecv@infosectionkey}} & \tabularnewline & \tabularnewline
-\ecv@namekey & \large\textbf{\ecv@lastname\ \ecv@firstname}\tabularnewline[5pt]
+& \tabularnewline
+\ifx\@empty\ecvdrawpicture\else
+ &\ecv@beforepic\ecvdrawpicture\ecv@afterpic\tabularnewline
+\fi
+{\large\par\textbf{\ecv@infosectionkey}} & \tabularnewline
+& \tabularnewline
+\ecv@namekey & \large\textbf{\ecv@name}\tabularnewline[5pt]
\ifx\@empty\ecv@address\else
-\ecv@addresskey & \large\ecv@address \tabularnewline[5pt]
+\ecv@addresskey &\ecv@address \tabularnewline[5pt]
\fi
\ifx\@empty\ecv@telephone\else
-\ecv@telkey & \large\ecv@telephone \tabularnewline[5pt]
+\ecv@telkey &\ecv@telephone
+ \ifx\@empty\ecv@mobile\else\qquad\ecv@mobilekey: \ecv@mobile\fi
+\tabularnewline[5pt]
\fi
\ifx\@empty\ecv@fax\else
-\ecv@faxkey & \large\ecv@fax \tabularnewline[5pt]
+\ecv@faxkey &\ecv@fax \tabularnewline[5pt]
\fi
\ifx\@empty\ecv@email\else
-\ecv@emailkey & \large\ecv@email \tabularnewline[5pt]
+\ecv@emailkey &\ecv@email \tabularnewline[5pt]
\fi
\ifx\@empty\ecv@nationality\else
\ecv@nationalitykey & \ecv@nationality \tabularnewline[5pt]
@@ -192,38 +414,78 @@
{\large\ecv@mothertonguekey} & \large\textbf{#2}\tabularnewline[#1]
}
\newlength\ecv@langparwidth
-\newcommand*\ecvlanguageheader[1]{%
-{\large\textit{\ecv@assesskey}}\\ \textit{\ecv@levelkey}${}^{\mbox{\scriptsize#1}}$&
-\setlength\extrarowheight{0pt}
-\begin{tabular}[t]{|m{\ecv@langparwidth}|m{\ecv@langparwidth}|m{\ecv@langparwidth}|m{\ecv@langparwidth}|m{\ecv@langparwidth}|}
-\firsthline
-\multicolumn{2}{|c|}{\textbf{\ecv@understandkey}}&\multicolumn{2}{c|}{\textbf{\ecv@speakkey}}&\centering\textbf{\ecv@writekey}\tabularnewline\cline{1-4}
-\centering\small{\ecv@listenkey} & \centering \small{\ecv@readkey} &\centering \small{\ecv@interactkey} &\centering \small{\ecv@productkey} & \tabularnewline
-\lasthline
-\end{tabular}\vspace{2\arrayrulewidth}\tabularnewline
-}
-\newcommand*\ecvlanguagefooter[2][0pt]{\ecvitem[#1]{}{\quad\footnotesize{${}^{\mbox{\tiny#2}}$\textit{\ecv@langfooterkey}}}}
+\ifx\ecv@booktabs\undefined % Use table conforming to EU model
+ \newcommand*\ecvlanguageheader[1]{%
+ {\large\textit{\ecv@assesskey}}\\ \textit{\ecv@levelkey}${}^{\mbox{\scriptsize#1}}$&
+ \setlength\extrarowheight{2pt}
+ \begin{tabular}[t]{|m{\ecv@langparwidth}|m{\ecv@langparwidth}|m{\ecv@langparwidth}|m{\ecv@langparwidth}|m{\ecv@langparwidth}|}
+ \firsthline
+ \multicolumn{2}{|c|}{\textbf{\ecv@understandkey}}&\multicolumn{2}{c|}{\textbf{\ecv@speakkey}}&\centering\textbf{\ecv@writekey}\tabularnewline\cline{1-4}
+ \centering\small{\ecv@listenkey} & \centering \small{\ecv@readkey} &\centering \small{\ecv@interactkey} &\centering \small{\ecv@productkey} & \tabularnewline
+ %\lasthline
+ \hline
+ \end{tabular} \tabularnewline[-\arrayrulewidth]
+ }
+ \newcommand*\ecvlanguage[7][0pt]{
+ {\textbf{#2}} &
+ \setlength\extrarowheight{0pt}
+ \begin{tabular}{|m{\ecv@langparwidth}|m{\ecv@langparwidth}|m{\ecv@langparwidth}|m{\ecv@langparwidth}|m{\ecv@langparwidth}|}
+ \hline
+ #3 & #4 & #5 & #6 & #7 \tabularnewline
+ \hline
+ \end{tabular}\vspace{#1}
+ \tabularnewline[-\arrayrulewidth]
+ }
+ \newcommand*\ecvlastlanguage[7][0pt]{\ecvlanguage[#1]{#2}{#3}{#4}{#5}{#6}{#7}}
+\else % Use booktabs
+ \newcommand*\ecvlanguageheader[1]{%
+ {\large\textit{\ecv@assesskey}}\\ \textit{\ecv@levelkey}${}^{\mbox{\scriptsize#1}}$&
+ \setlength\extrarowheight{0pt}
+ \begin{tabular}[t]{m{\ecv@langparwidth}m{\ecv@langparwidth}m{\ecv@langparwidth}m{\ecv@langparwidth}m{\ecv@langparwidth}}
+ \toprule
+ \multicolumn{2}{c}{\textbf{\ecv@understandkey}}&\multicolumn{2}{c}{\textbf{\ecv@speakkey}}&\centering\textbf{\ecv@writekey}\tabularnewline
+ \centering\small{\ecv@listenkey} & \centering \small{\ecv@readkey} &\centering \small{\ecv@interactkey} &\centering \small{\ecv@productkey} & \tabularnewline
+ \midrule
+ \end{tabular}\vspace{2\arrayrulewidth}\tabularnewline
+ }
+ \newcommand*\ecvlanguage[7][0pt]{
+ {\textbf{#2}} &
+ \setlength\extrarowheight{0pt}
+ \begin{tabular}{m{\ecv@langparwidth}m{\ecv@langparwidth}m{\ecv@langparwidth}m{\ecv@langparwidth}m{\ecv@langparwidth}}
+ #3 & #4 & #5 & #6 & #7\tabularnewline \midrule
+ \end{tabular}\vspace{#1}
+ \tabularnewline
+ }
+ \newcommand*\ecvlastlanguage[7][0pt]{
+ {\textbf{#2}} &
+ \setlength\extrarowheight{0pt}
+ \begin{tabular}{m{\ecv@langparwidth}m{\ecv@langparwidth}m{\ecv@langparwidth}m{\ecv@langparwidth}m{\ecv@langparwidth}}
+ #3 & #4 & #5 & #6 & #7\tabularnewline \bottomrule
+ \end{tabular}\vspace{#1}
+ \tabularnewline
+ }
+\fi
-\newcommand*\ecvlanguage[7][0pt]{
-{\textbf{#2}} &
-\setlength\extrarowheight{0pt}
-\begin{tabular}{|m{\ecv@langparwidth}|m{\ecv@langparwidth}|m{\ecv@langparwidth}|m{\ecv@langparwidth}|m{\ecv@langparwidth}|}
-\hline
- #3 & #4 & #5 & #6 & #7 \tabularnewline
-\hline
-\end{tabular}\vspace{#1}
-\tabularnewline[-\arrayrulewidth]
-}
+\newcommand*\ecvlanguagefooter[2][0pt]{\ecvitem[#1]{}{\quad\footnotesize{${}^{\mbox{\tiny#2}}$\textit{\ecv@langfooterkey}}}}
% 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}{@{}>{\footnotesize}p{.2\ecv@langparwidth}@{\hspace{1mm}}>{\footnotesize\centering}p{.74\ecv@langparwidth}@{}}
+\ifx\ecv@booktabs\undefined % Use table conforming to EU model
+ \newcommand*\ecvCEF[2]{%
+ %\setlength\tabcolsep{1mm}
+ \begin{tabular}{@{}>{\footnotesize}p{.2\ecv@langparwidth}@{\hspace{1mm}}>{\footnotesize\centering}p{.74\ecv@langparwidth}@{}}
#1 & #2\tabularnewline
-\end{tabular}
-}
+ \end{tabular}
+ }
+\else
+ \newcommand*\ecvCEF[2]{%
+ %\setlength\tabcolsep{1mm}
+ \begin{tabular}{@{}>{\footnotesize}p{.2\ecv@langparwidth}@{\hspace{1mm}}>{\footnotesize\centering}p{.74\ecv@langparwidth}@{}}
+#1 & #2\tabularnewline
+ \end{tabular}
+ }
+\fi
\newcommand*\ecvAOne{\ecvCEF{A1}{\ecv@cefbasickey}}
\newcommand*\ecvATwo{\ecvCEF{A2}{\ecv@cefbasickey}}
@@ -258,7 +520,7 @@
% Initialization
\ecvRuleWidth{\arrayrulewidth}
\setlength\ecv@colsep{12pt}
-\setlength\ecv@leftcolwidth{50mm}
+\setlength\ecv@leftcolwidth{50mm} % Default left column width
\ecvExtraRowHeight{0pt}
\ecvWithHorRule
@@ -277,25 +539,8 @@
%\typeout{logo width=\the\ecv@logowidth}
%\typeout{logo offset=\the\ecv@logooffset}
-% Footnote or footer to be shown on every page
-\newcommand\ecvfootnote[1]{%
- \rfoot{\begin{minipage}{60mm}
- \footnotesize #1%
- \end{minipage}}}
-
-% Set layout
-\pagestyle{fancy}
-\lhead{}
-\chead{}
-\rhead{}
-\lfoot{\ecvlfoot}
-\cfoot{}
-\rfoot{}
-\renewcommand{\headrulewidth}{0pt}
-
% Text bullet
\newcommand{\ecvbullet}{\raisebox{.35ex}[0cm][0cm]{\tiny\textbullet}}
-
\newenvironment{europecv}{%
\ecvLeftColumnWidth{\ecv@leftcolwidth}
@@ -315,12 +560,13 @@
\vskip-\ecv@logooffset\draweuropasslogo\hfill\phantom{.}& \tabularnewline
\fi
\ifx\@empty\ecvtitle\else
- \ecvtitle &\tabularnewline
- \fi
- \ifx\@empty\ecvdrawpicture\else
- &\ecv@beforepic\ecvdrawpicture\ecv@afterpic\tabularnewline
+ \ifx\@empty\draweuropasslogo
+ & \tabularnewline[-.5em]
+ \fi
+ \ecvtitle &\tabularnewline
\fi
- \ifx\@empty\draweuropeflag\else
+ \ifx\@empty\draweuropeflag\else
+ & \tabularnewline
\draweuropeflag& \tabularnewline
\fi
}
@@ -336,4 +582,3 @@
\newcommand\@ecvitem[3][2pt]{%
\if@ecvitemstar \ecvbullet\ \fi #2\vspace{#1} & #3
\vspace{#1}\tabularnewline}
-