summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/moderncv
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-03-26 23:18:00 +0000
committerKarl Berry <karl@freefriends.org>2012-03-26 23:18:00 +0000
commit0e7c4deae1d24a03668f9705a75bbf8ffa2c4849 (patch)
tree4bc0e9d39031c8d72847de68fe1cf9beee23f4f4 /Master/texmf-dist/tex/latex/moderncv
parentb752131531e9fb94c91b98195ae4706d7aa23070 (diff)
moderncv 1.0 (26mar12)
git-svn-id: svn://tug.org/texlive/trunk@25745 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/moderncv')
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncv.cls178
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcolorblack.sty2
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcolorblue.sty2
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcolorgreen.sty2
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcolorgrey.sty2
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcolororange.sty2
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcolorpurple.sty2
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcolorred.sty2
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcompatibility.sty7
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvstylebanking.sty159
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvstylecasual.sty130
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvstyleclassic.sty124
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvstyleempty.sty2
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvstyleoldstyle.sty150
14 files changed, 517 insertions, 247 deletions
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncv.cls b/Master/texmf-dist/tex/latex/moderncv/moderncv.cls
index 5e5026d47e5..55fff7b754b 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncv.cls
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncv.cls
@@ -10,13 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{moderncv}[2012/02/06 v0.19 modern curriculum vitae document class]
-
-
-%-------------------------------------------------------------------------------
-% debugging
-%-------------------------------------------------------------------------------
-\newif\if@DEBUG\@DEBUGfalse
+\ProvidesClass{moderncv}[2012/03/26 v1.0 modern curriculum vitae and letter document class]
%-------------------------------------------------------------------------------
@@ -96,10 +90,9 @@
% symbols like \Telefon, \Mobilefone, \Letter and \Email
\RequirePackage{marvosym}
-% hyper links
+% hyper links (hyperref is loaded at the end of the preamble to pass options required by loaded packages such as CJK)
\RequirePackage{url}
\urlstyle{tt}
-% load hyperref at the end of the preamble to pass options required by loaded packages (like CJK)
\AtEndPreamble{
\@ifpackageloaded{CJK}
{\RequirePackage[unicode]{hyperref}}
@@ -131,6 +124,20 @@
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\fancyhf{}}
+% page numbers in footer if more than 1 page
+\newif\if@displaypagenumbers\@displaypagenumberstrue
+\newcommand*{\nopagenumbers}{\@displaypagenumbersfalse}
+\AtEndPreamble{%
+ \AtBeginDocument{%
+ \if@displaypagenumbers%
+ \@ifundefined{r@lastpage}{}{%
+ \ifthenelse{\pageref{lastpage}>1}{%
+ \newlength{\pagenumberwidth}%
+ \settowidth{\pagenumberwidth}{\color{color2}\addressfont\itshape\strut\thepage/\pageref{lastpage}}%
+ \fancypagestyle{plain}{%
+ \fancyfoot[r]{\parbox{\pagenumberwidth}{\color{color2}\addressfont\itshape\strut\thepage/\pageref{lastpage}}}}% the parbox is required to ensure alignment with a possible center footer (e.g., as in the casual style)
+ \pagestyle{plain}}{}}%
+ \AtEndDocument{\label{lastpage}}\else\fi}}
\pagestyle{plain}
% lengths calculations
@@ -167,14 +174,30 @@
%\setlength\doublerulesep{2\p@}
%\setlength\tabbingsep{\labelsep}
-\pagestyle{empty}
\raggedbottom
\onecolumn
%-------------------------------------------------------------------------------
-% design commands definitions
+% overall design commands definitions
%-------------------------------------------------------------------------------
+% elements
+\newcommand*{\firstname}[1]{\def\@firstname{#1}}
+\newcommand*{\familyname}[1]{\def\@familyname{#1}}
+\renewcommand*{\title}[1]{\def\@title{#1}}
+\newcommand*{\address}[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*{\homepage}[1]{\def\@homepage{#1}}
+
+% colors
+\definecolor{color0}{rgb}{0,0,0}% main default color, normally left to black
+\definecolor{color1}{rgb}{0,0,0}% primary theme color
+\definecolor{color2}{rgb}{0,0,0}% secondary theme color
+\definecolor{color3}{rgb}{0,0,0}% tertiary theme color
+
% symbols
% itemize labels (the struts were added to correct inter-item spacing (works for single line items, until a solution is found for multi-line ones...)
\newcommand*{\labelitemi}{\strut\textcolor{color1}{\Neutral}}% alternative" \fontencoding{U}\fontfamily{ding}\selectfont\tiny\symbol{'102}
@@ -195,22 +218,13 @@
\newcommand*{\emailsymbol}{\Letter~}
\newcommand*{\homepagesymbol}{{\Large\ComputerMouse}~}
-% colors
-\definecolor{color0}{rgb}{0,0,0}% main default color, normally left to black
-\definecolor{color1}{rgb}{0,0,0}% primary theme color
-\definecolor{color2}{rgb}{0,0,0}% secondary theme color
-\definecolor{color3}{rgb}{0,0,0}% tertiary theme color
-
% fonts
-\newcommand*{\namefont}{}
-\newcommand*{\titlefont}{}
-\newcommand*{\addressfont}{}
-\newcommand*{\quotefont}{}
-\newcommand*{\sectionfont}{}
-\newcommand*{\subsectionfont}{}
-\newcommand*{\hintfont}{}
\AtBeginDocument{\normalfont\color{color0}}
+% makes the footer (normally used both for the resume and the letter)
+% usage: \makefooter
+\newcommand*{\makefooter}{}%
+
% loads a style scheme
\newcommand*{\moderncvstyle}[1]{
\RequirePackage{moderncvstyle#1}}
@@ -219,70 +233,85 @@
\newcommand*{\moderncvcolor}[1]{
\RequirePackage{moderncvcolor#1}}
-% recompute all automatic lengths
-\newcommand*{\recomputelengths}{}
+% recomputes all automatic lengths
+\newcommand*{\recomputelengths}{\recomputecvlengths}
\AtBeginDocument{\recomputelengths{}}
+% creates a length if not yet defined
+\newcommand*{\@initializelength}[1]{%
+ \ifdefined#1\else\newlength{#1}\fi}
+
%-------------------------------------------------------------------------------
-% structure commands definitions
+% resume design commands definitions
%-------------------------------------------------------------------------------
-% cv elements
-\newcommand*{\firstname}[1]{\def\@firstname{#1}}
-\newcommand*{\familyname}[1]{\def\@familyname{#1}}
-\renewcommand*{\title}[1]{\def\@title{#1}}
-\newcommand*{\address}[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*{\homepage}[1]{\def\@homepage{#1}}
+% elements
\newcommand*{\extrainfo}[1]{\def\@extrainfo{#1}}
\newcommandx*{\photo}[3][1=64pt,2=0.4pt,usedefault]{\def\@photowidth{#1}\def\@photoframewidth{#2}\def\@photo{#3}}% the 1st (optional) argument is the width of the photo, the 2nd (optional) argument is the thickness of the frame around it.
\newcommand*{\quote}[1]{\def\@quote{#1}}
-% makes the cv title
-% usage: \maketitle
-\newcommand*{\maketitle}{}%
-\title{}% to avoid LaTeX complaining that \maketitle is a called without first a call to \title
+% fonts
+\newcommand*{\namefont}{}
+\newcommand*{\titlefont}{}
+\newcommand*{\addressfont}{}
+\newcommand*{\quotefont}{}
+\newcommand*{\sectionfont}{}
+\newcommand*{\subsectionfont}{}
+\newcommand*{\hintfont}{}
-% makes the cv footer
-% usage: \makefooter
-\newcommand*{\makefooter}
+% recompute all resume lengths
+\newcommand*{\recomputecvlengths}{}
-% makes a cv section
+% internal maketitle command to issue a new line only when required
+\newif\if@firstdetailselement\@firstdetailselementtrue
+\newcommand*{\makenewline}{
+ \if@firstdetailselement%
+ \strut% to ensure baseline alignment, e.g. with when put in the margin vs sections that also contains a \strut
+ \else%
+ \\\fi%
+ \@firstdetailselementfalse}
+
+% makes the resume title
+% usage: \makecvtitle
+\newcommand*{\makecvtitle}{}%
+
+% makes the resume footer
+% usage: \makecvfooter
+\newcommand*{\makecvfooter}{\makefooter}%
+
+% makes a resume section
% usage: \section{<title>}
\newcommand*{\section}[1]{}
% starred variant, which is identical but defined to allow its use (e.g. for natbib compatibility, who uses \section*{} for the bibliography header)
\RequirePackage{suffix}
\AtBeginDocument{\WithSuffix\newcommand\section*{\section}}
-% makes a cv subsection
+% makes a resume subsection
% usage: \subsection{title}
\newcommand*{\subsection}[1]{}
\AtBeginDocument{\WithSuffix\newcommand\subsection*{\subsection}}
-% makes a cv line with a header and a corresponding text
+% makes a resume line with a header and a corresponding text
% usage: \cvitem[spacing]{header}{text}
\newcommand*{\cvitem}[3][.25em]{}
-% makes a cv line 2 headers and their corresponding text
+% makes a resume line 2 headers and their corresponding text
% usage: \cvdoubleitem[spacing]{header1}{text1}{header2}{text2}
\newcommand*{\cvdoubleitem}[5][.25em]{}
-% makes a cv line with a list item
+% makes a resume line with a list item
% usage: \cvlistitem[label]{item}
\newcommand*{\cvlistitem}[2][\listitemsymbol]{}
-% makes a cv line with 2 list items
+% makes a resume line with 2 list items
% usage: \cvlistdoubleitem[label]{item1}{item2}
\newcommand*{\cvlistdoubleitem}[3][\listitemsymbol]{}
-% makes a typical cv job / education entry
+% makes a typical resume job / education entry
% usage: \cventry[spacing]{years}{degree/job title}{institution/employer}{localization}{optionnal: grade/...}{optional: comment/job description}
\newcommand*{\cventry}[7][.25em]{}
-% makes a cv entry with a proficiency comment
+% makes a resume entry with a proficiency comment
% usage: \cvitemwithcomment[spacing]{header}{text}{comment}
\newcommand*{\cvitemwithcomment}[4][.25em]{}
@@ -307,23 +336,8 @@
{\href{mailto:#2}{#2}}%
{\href{mailto:#2}{#1}}}
-% page numbers in footer if more than 1 page
-\newif\if@displaypagenumbers\@displaypagenumberstrue
-\newcommand*{\nopagenumbers}{\@displaypagenumbersfalse}
-\AtEndPreamble{%
- \AtBeginDocument{%
- \if@displaypagenumbers%
- \@ifundefined{r@lastpage}{}{%
- \ifthenelse{\pageref{lastpage}>1}{%
- \newlength{\pagenumberwidth}%
- \settowidth{\pagenumberwidth}{\color{color2}\addressfont\itshape\strut\thepage/\pageref{lastpage}}%
- \fancypagestyle{plain}{%
- \fancyfoot[r]{\parbox{\pagenumberwidth}{\color{color2}\addressfont\itshape\strut\thepage/\pageref{lastpage}}}}% the parbox is required to ensure alignment with a possible center footer (e.g., as in the casual style)
- \pagestyle{plain}}{}}%
- \AtEndDocument{\label{lastpage}}\else\fi}}
-
% thebibliography environment, for use with BibTeX and possibly multibib
-\newcommand{\refname}{Publications}
+\newcommand*{\refname}{Publications}
\newlength{\bibindent}
\setlength{\bibindent}{1.5em}
% bibliography item label
@@ -334,7 +348,7 @@
\AtEndPreamble{\@ifpackageloaded{multibib}{\renewcommand*{\bibliographyhead}[1]{\subsection{#1}}}{}}
% thebibliography environment definition
\newenvironment{thebibliography}[1]{}{}
-\newcommand\newblock{\hskip .11em\@plus.33em\@minus.07em}
+\newcommand*{\newblock}{\hskip .11em\@plus.33em\@minus.07em}
\let\@openbib@code\@empty
% itemize, enumerate and description environment
@@ -383,6 +397,32 @@
% \parbox[#1]{\widthofautobox{#2}}{#2}}
+%-------------------------------------------------------------------------------
+% letter design commands definitions
+%-------------------------------------------------------------------------------
+% elements
+\newcommand*{\recipient}[2]{\def\@recipientname{#1}\def\@recipientaddress{#2}}
+\renewcommand*{\date}[1]{\def\@date{#1}}
+\newcommand*{\opening}[1]{\def\@opening{#1}}
+\newcommand*{\closing}[1]{\def\@closing{#1}}
+\newcommand*{\enclosure}[1]{\def\@enclosure{#1}}
+
+% recompute all letter lengths
+\newcommand*{\recomputeletterlengths}{}
+
+% makes the letter title
+% usage: \makelettertitle
+\newcommand*{\makelettertitle}{}%
+
+% makes the letter footer
+% usage: \makeletterfooter
+\newcommand*{\makeletterfooter}{\makefooter}%
+
+% makes the letter closing
+% usage: \makeletterclosing
+\newcommand*{\makeletterclosing}{}%
+
+
\endinput
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblack.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblack.sty
index e3c7d5c576e..762b9b7f6c2 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblack.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblack.sty
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorblack}[2012/02/06 v0.19 modern curriculum vitae color scheme: black]
+\ProvidesPackage{moderncvcolorblack}[2012/03/26 v1.0 modern curriculum vitae and letter color scheme: black]
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblue.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblue.sty
index 67e97078131..8bd2f9d2c58 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblue.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblue.sty
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorblue}[2012/02/06 v0.19 modern curriculum vitae color scheme: blue]
+\ProvidesPackage{moderncvcolorblue}[2012/03/26 v1.0 modern curriculum vitae and letter color scheme: blue]
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgreen.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgreen.sty
index 847bf62d5ae..6f64ac84bc5 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgreen.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgreen.sty
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorgreen}[2012/02/06 v0.19 modern curriculum vitae color scheme: green]
+\ProvidesPackage{moderncvcolorgreen}[2012/03/26 v1.0 modern curriculum vitae and letter color scheme: green]
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgrey.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgrey.sty
index 90e9d6e0f3b..4b85eb3a67b 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgrey.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgrey.sty
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorgrey}[2012/02/06 v0.19 modern curriculum vitae color scheme: grey]
+\ProvidesPackage{moderncvcolorgrey}[2012/03/26 v1.0 modern curriculum vitae and letter color scheme: grey]
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolororange.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolororange.sty
index 7a4639257bc..8e26eae3e04 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolororange.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolororange.sty
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolororange}[2012/02/06 v0.19 modern curriculum vitae color scheme: orange]
+\ProvidesPackage{moderncvcolororange}[2012/03/26 v1.0 modern curriculum vitae and letter color scheme: orange]
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorpurple.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorpurple.sty
index 8e761f4de6b..ed0e3988960 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorpurple.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorpurple.sty
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorpurple}[2012/02/06 v0.19 modern curriculum vitae color scheme: purple]
+\ProvidesPackage{moderncvcolorpurple}[2012/03/26 v1.0 modern curriculum vitae and letter color scheme: purple]
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorred.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorred.sty
index 1516f4febac..e3d8203c014 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorred.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorred.sty
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorred}[2012/02/06 v0.19 modern curriculum vitae color scheme: red]
+\ProvidesPackage{moderncvcolorred}[2012/03/26 v1.0 modern curriculum vitae and letter color scheme: red]
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcompatibility.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcompatibility.sty
index 8d196224716..3997bcf49bf 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcompatibility.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcompatibility.sty
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcompatibility}[2012/02/06 v0.19 modern curriculum vitae compatibility patches]
+\ProvidesPackage{moderncvcompatibility}[2012/03/26 v1.0 modern curriculum vitae and letter compatibility patches]
%-------------------------------------------------------------------------------
@@ -74,6 +74,11 @@
\moderncvcolor{#1}%
\moderncvstyle{#2}}
+% compatibility with versions <= 0.19
+\newcommand*{\maketitle}{\makecvtitle}%
+\title{}% to avoid LaTeX complaining that \maketitle is a called without first a call to \title
+
+
\endinput
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvstylebanking.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvstylebanking.sty
index e22c47fe577..a8ca0e9eb89 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvstylebanking.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvstylebanking.sty
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstylebanking}[2012/02/06 v0.19 modern curriculum vitae scheme: banking]
+\ProvidesPackage{moderncvstylebanking}[2012/03/26 v1.0 modern curriculum vitae and letter style scheme: banking]
%-------------------------------------------------------------------------------
@@ -26,12 +26,60 @@
%-------------------------------------------------------------------------------
-% style definition
+% overall style definition
+%-------------------------------------------------------------------------------
+% commands
+\newcommand*{\maketitlesymbol}{%
+ {~~~\textbullet~~~}}% \textbullet forces the use of the CMSY font, even when latin modern fonts are used :(
+% internal command to add an element to the footer
+% it collects the elements in a temporary box, and checks when to flush the box
+\newsavebox{\maketitlebox}%
+\newsavebox{\maketitletempbox}%
+\newlength{\maketitlewidth}%
+\newlength{\maketitleboxwidth}%
+% adds an element to the maketitle, separated by maketitlesymbol
+% usage: \addtomaketitle[maketitlesymbol]{element}
+\newcommand*{\addtomaketitle}[2][\maketitlesymbol]{%
+ \savebox{\maketitletempbox}{\usebox{\maketitlebox}#1#2}%
+ \settowidth{\maketitleboxwidth}{\usebox{\maketitletempbox}}%
+ \ifnum\maketitleboxwidth<\maketitlewidth%
+ \savebox{\maketitlebox}{\usebox{\maketitletempbox}}
+ \else%
+ \flushmaketitle{}\\%
+ \savebox{\maketitlebox}{#2}%
+ \savebox{\maketitletempbox}{#2}\fi}
+% internal command to flush the maketitle
+\newcommand*{\flushmaketitle}{%
+ \strut\usebox{\maketitlebox}%
+ \savebox{\maketitlebox}{}%
+ \savebox{\maketitletempbox}{}}
+\renewcommand*{\maketitle}{%
+ \setlength{\maketitlewidth}{0.8\textwidth}%
+ \hfil%
+ \parbox{\maketitlewidth}{%
+ \centering%
+ % name (title is not visible)
+ \namestyle{\@firstname~\@familyname}\\%
+ % detailed information
+ \addressfont\color{color2}%
+ \ifthenelse{\isundefined{\@addressstreet}}{}{\addtomaketitle[]{\addresssymbol\@addressstreet}%
+ \ifthenelse{\equal{\@addresscity}{}}{}{\addtomaketitle[~--~]{\@addresscity}}\flushmaketitle}% if \addresstreet is defined, \addresscity will always be defined but could be empty
+ \ifthenelse{\isundefined{\@mobile}}{}{\addtomaketitle[]{\mobilesymbol\@mobile}}%
+ \ifthenelse{\isundefined{\@phone}}{}{\addtomaketitle{\phonesymbol\@phone}}%
+ \ifthenelse{\isundefined{\@fax}}{}{\addtomaketitle{\faxsymbol\@fax}}%
+ \ifthenelse{\isundefined{\@email}}{}{\addtomaketitle{\emailsymbol\emaillink{\@email}}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\addtomaketitle{\homepagesymbol\httplink{\@homepage}}}%
+ \ifthenelse{\isundefined{\@extrainfo}}{}{\addtomaketitle{\@extrainfo}}%
+ \flushmaketitle}\\[2.5em]}% need to force a \par after this to avoid weird spacing bug at the first section if no blank line is left after \maketitle
+
+
+%-------------------------------------------------------------------------------
+% resume style definition
%-------------------------------------------------------------------------------
% fonts
\renewcommand*{\namefont}{\Huge\bfseries\upshape}
\renewcommand*{\titlefont}{\LARGE\mdseries\slshape}
-\renewcommand*{\addressfont}{\normalsize\mdseries\upshape}
+\renewcommand*{\addressfont}{\small\mdseries\upshape}
\renewcommand*{\quotefont}{\large\slshape}
\renewcommand*{\sectionfont}{\Large\bfseries\upshape}
\renewcommand*{\subsectionfont}{\large\upshape\fontseries{sb}\selectfont}
@@ -46,7 +94,7 @@
\newcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
\newcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
-% length used
+% lengths
\newlength{\quotewidth}
\newlength{\hintscolumnwidth}
\setlength{\hintscolumnwidth}{0.3\textwidth}%
@@ -59,7 +107,7 @@
\newlength{\listitemmaincolumnwidth}
\newlength{\listdoubleitemmaincolumnwidth}
-% recompute all the lengths that depends on the text width
+% commands
\renewcommand*{\recomputelengths}{%
\setlength{\quotewidth}{0.65\textwidth}%
% main lenghts
@@ -75,58 +123,19 @@
% fancyhdr lengths
\renewcommand{\headwidth}{\textwidth}}
-% cv footer
-\newcommand*{\maketitlesymbol}{%
- {~~~\textbullet~~~}}% \textbullet forces the use of the CMSY font, even when latin modern fonts are used :(
-% internal command to add an element to the footer
-% it collects the elements in a temporary box, and checks when to flush the box
-\newsavebox{\maketitlebox}%
-\newsavebox{\maketitletempbox}%
-\newlength{\maketitlewidth}%
-\newlength{\maketitleboxwidth}%
-% adds an element to the maketitle, separated by maketitlesymbol
-% usage: \addtomaketitle[maketitlesymbol]{element}
-\newcommand*{\addtomaketitle}[2][\maketitlesymbol]{%
- \savebox{\maketitletempbox}{\usebox{\maketitlebox}#1#2}%
- \settowidth{\maketitleboxwidth}{\usebox{\maketitletempbox}}%
- \ifnum\maketitleboxwidth<\maketitlewidth%
- \savebox{\maketitlebox}{\usebox{\maketitletempbox}}
- \else%
- \flushmaketitle{}\\%
- \savebox{\maketitlebox}{#2}%
- \savebox{\maketitletempbox}{#2}\fi}
-% internal command to flush the maketitle
-\newcommand*{\flushmaketitle}{%
- \strut\usebox{\maketitlebox}%
- \savebox{\maketitlebox}{}%
- \savebox{\maketitletempbox}{}}
-\renewcommand*{\maketitle}{%
- \setlength{\maketitlewidth}{0.8\textwidth}%
- \hfil%
- \parbox{\maketitlewidth}{%
- \centering%
- % name (title is not visible)
- \namestyle{\@firstname~\@familyname}\\%
- % detailed information
- \color{color2}\addressfont%
- \ifthenelse{\isundefined{\@addressstreet}}{}{\addtomaketitle[]{\addresssymbol\@addressstreet}%
- \ifthenelse{\equal{\@addresscity}{}}{}{\addtomaketitle[~--~]{\@addresscity}}\flushmaketitle}% if \addresstreet is defined, \addresscity will always be defined but could be empty
- \ifthenelse{\isundefined{\@mobile}}{}{\addtomaketitle[]{\mobilesymbol\@mobile}}%
- \ifthenelse{\isundefined{\@phone}}{}{\addtomaketitle{\phonesymbol\@phone}}%
- \ifthenelse{\isundefined{\@fax}}{}{\addtomaketitle{\faxsymbol\@fax}}%
- \ifthenelse{\isundefined{\@email}}{}{\addtomaketitle{\emailsymbol\emaillink{\@email}}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\addtomaketitle{\homepagesymbol\httplink{\@homepage}}}%
- \ifthenelse{\isundefined{\@extrainfo}}{}{\addtomaketitle{\@extrainfo}}%
- \flushmaketitle}\\[2.5em]%
- % optional quote
- \ifthenelse{\isundefined{\@quote}}%
- {}%
- {{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[2.5em]}}%
- \par}% to avoid weird spacing bug at the first section if no blank line is left after \maketitle
+\renewcommand*{\makecvtitle}{%
+ % recompute lengths (in case we are switching from letter to resume, or vice versa)
+ \recomputecvlengths%
+ \maketitle%
+ % optional quote
+ \ifthenelse{\isundefined{\@quote}}%
+ {}%
+ {{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[2.5em]}}%
+ \par}% to avoid weird spacing bug at the first section if no blank line is left after \maketitle}
\renewcommand*{\section}[1]{%
\par\addvspace{2.5ex}%
- \phantomsection{}%
+ \phantomsection{}% reset the anchor for hyperrefs
\addcontentsline{toc}{section}{#1}%
\strut\sectionstyle{#1}%
{\color{color1}\hrule}%
@@ -206,6 +215,48 @@
\end{list}%
}
+
+%-------------------------------------------------------------------------------
+% letter style definition
+%-------------------------------------------------------------------------------
+% commands
+\renewcommand*{\recomputeletterlengths}{
+ \recomputecvlengths%
+ \setlength{\parskip}{6\p@}}
+
+\renewcommand*{\makelettertitle}{%
+ % recompute lengths (in case we are switching from letter to resume, or vice versa)
+ \recomputeletterlengths%
+ % sender block
+ \maketitle%
+ \par%
+ % recipient block
+ \begin{minipage}[t]{.5\textwidth}
+ \raggedright%
+ \addressfont%
+ {\bfseries\upshape\@recipientname}\\%
+ \@recipientaddress%
+ \end{minipage}
+ % date
+ \hfill % US style
+% \\[1em] % UK style
+ \hbox{\today}\\[2em]% US informal style: "April 6, 2006"; UK formal style: "05/04/2006"
+ % opening
+ \raggedright%
+ \@opening\\[1.5em]%
+ % ensure no extra spacing after \makelettertitle due to a possible blank line
+% \ignorespacesafterend% not working
+ \hspace{0pt}\par\vspace{-\baselineskip}\vspace{-\parskip}}
+
+\renewcommand*{\makeletterclosing}{
+ \@closing\\[3em]%
+ {\bfseries \@firstname~\@familyname}%
+ \ifthenelse{\isundefined{\@enclosure}}{}{%
+ \\%
+ \vfill%
+ {\color{color2}\itshape Enclosure: \@enclosure}}}
+
+
\endinput
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvstylecasual.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvstylecasual.sty
index e4d6a617545..861ecccbe36 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvstylecasual.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvstylecasual.sty
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstylecasual}[2012/02/06 v0.19 modern curriculum vitae style scheme: casual]
+\ProvidesPackage{moderncvstylecasual}[2012/03/26 v1.0 modern curriculum vitae and letter style scheme: casual]
%-------------------------------------------------------------------------------
@@ -25,13 +25,9 @@
%-------------------------------------------------------------------------------
-% style scheme definition
+% overall style definition
%-------------------------------------------------------------------------------
-% fonts
-\renewcommand*{\namefont}{\fontsize{38}{40}\mdseries\upshape}
-\renewcommand*{\addressfont}{\small\mdseries\slshape}
-
-% cv footer
+% commands
% footer symbol used to separate footer elements
\newcommand*{\footersymbol}{%
{~~~\textbullet~~~}}% \textbullet forces the use of the CMSY font, even when latin modern fonts are used :(
@@ -54,7 +50,7 @@
\savebox{\footerbox}{\usebox{\footertempbox}}%
\@firstfooterelementfalse%
\else%
- \flushfooter{}\\%
+ \flushfooter\\%
\savebox{\footerbox}{#2}%
\savebox{\footertempbox}{#2}%
\@firstfooterelementfalse\fi}
@@ -63,29 +59,22 @@
\strut\usebox{\footerbox}%
\savebox{\footerbox}{}%
\savebox{\footertempbox}{}}
-\renewcommand*{\makefooter}{%
- \setlength{\footerwidth}{0.8\textwidth}%
- \fancypagestyle{plain}{%
- \fancyfoot[c]{%
- \parbox{\footerwidth}{%
- \centering%
- \color{color2}\addressfont%
- \ifthenelse{\isundefined{\@addressstreet}}{}{\addtofooter[]{\addresssymbol\@addressstreet}%
- \ifthenelse{\equal{\@addresscity}{}}{}{\addtofooter[~--~]{\@addresscity}}\flushfooter\@firstfooterelementtrue\\}% if \addresstreet is defined, \addresscity will always be defined but could be empty
- \ifthenelse{\isundefined{\@mobile}}{}{\addtofooter{\mobilesymbol\@mobile}}%
- \ifthenelse{\isundefined{\@phone}}{}{\addtofooter{\phonesymbol\@phone}}%
- \ifthenelse{\isundefined{\@fax}}{}{\addtofooter{\faxsymbol\@fax}}%
- \ifthenelse{\isundefined{\@email}}{}{\addtofooter{\emailsymbol\emaillink{\@email}}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\addtofooter{\homepagesymbol\httplink{\@homepage}}}%
- \ifthenelse{\isundefined{\@extrainfo}}{}{\addtofooter{\@extrainfo}}%
- \flushfooter}}}%
- \pagestyle{plain}}
-% maketitle
-\renewcommand*{\maketitle}{%
- \makefooter{}%
- \newbox{\maketitlepicturebox}%
- \savebox{\maketitlepicturebox}{%
+
+%-------------------------------------------------------------------------------
+% resume style definition
+%-------------------------------------------------------------------------------
+% fonts
+\renewcommand*{\namefont}{\fontsize{38}{40}\mdseries\upshape}
+\renewcommand*{\addressfont}{\normalsize\mdseries\slshape}
+
+% commands
+\renewcommand*{\makecvtitle}{%
+ % ensure footer with personal information
+ \makecvfooter%
+ % optional picture
+ \newbox{\makecvtitlepicturebox}%
+ \savebox{\makecvtitlepicturebox}{%
\ifthenelse{\isundefined{\@photo}}%
{}%
{%
@@ -93,9 +82,11 @@
\ifdim\@photoframewidth=0pt%
\setlength{\fboxsep}{0pt}\fi%
{\color{color1}\framebox{\includegraphics[width=\@photowidth]{\@photo}}}}}%
- \usebox{\maketitlepicturebox}%
- \newlength{\maketitlepicturewidth}\settowidth{\maketitlepicturewidth}{\usebox{\maketitlepicturebox}}%
- \parbox[b]{\textwidth-\maketitlepicturewidth}{%
+ \usebox{\makecvtitlepicturebox}%
+ % name
+ \@initializelength{\makecvtitlepicturewidth}%
+ \settowidth{\makecvtitlepicturewidth}{\usebox{\makecvtitlepicturebox}}%
+ \parbox[b]{\textwidth-\makecvtitlepicturewidth}{%
\raggedleft\namefont{\color{color2!50}\@firstname} {\color{color2}\@familyname}}\\[-.35em]% alternate design: \MakeLowercase and no space
{\color{color2!50}\rule{\textwidth}{.25ex}}%
% optional title
@@ -106,6 +97,79 @@
{{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[2.5em]}}%
\par}% to avoid weird spacing bug at the first section if no blank line is left after \maketitle
+\renewcommand*{\makecvfooter}{%
+ \setlength{\footerwidth}{0.8\textwidth}%
+ \fancypagestyle{plain}{%
+ \fancyfoot[c]{%
+ \parbox{\footerwidth}{%
+ \centering%
+ \color{color2}\addressfont%
+ \ifthenelse{\isundefined{\@addressstreet}}{}{\addtofooter[]{\addresssymbol\@addressstreet}%
+ \ifthenelse{\equal{\@addresscity}{}}{}{\addtofooter[~--~]{\@addresscity}}\flushfooter\@firstfooterelementtrue\\}% if \addresstreet is defined, \addresscity will always be defined but could be empty
+ \ifthenelse{\isundefined{\@mobile}}{}{\addtofooter{\mobilesymbol\@mobile}}%
+ \ifthenelse{\isundefined{\@phone}}{}{\addtofooter{\phonesymbol\@phone}}%
+ \ifthenelse{\isundefined{\@fax}}{}{\addtofooter{\faxsymbol\@fax}}%
+ \ifthenelse{\isundefined{\@email}}{}{\addtofooter{\emailsymbol\emaillink{\@email}}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\addtofooter{\homepagesymbol\httplink{\@homepage}}}%
+ \ifthenelse{\isundefined{\@extrainfo}}{}{\addtofooter{\@extrainfo}}%
+ \flushfooter}}}%
+ \pagestyle{plain}}
+
+
+%-------------------------------------------------------------------------------
+% letter style definition
+%-------------------------------------------------------------------------------
+\renewcommand*{\makelettertitle}{%
+ % recompute lengths (in case we are switching from letter to resume, or vice versa)
+ \recomputeletterlengths%
+ % ensure footer with personal information
+ \makeletterfooter%
+ % recipient block
+ \begin{minipage}[t]{.5\textwidth}
+ \raggedright%
+ \addressfont%
+ {\bfseries\upshape\@recipientname}\\%
+ \@recipientaddress%
+ \end{minipage}
+ % date
+ \hfill% US style
+% \\[1em]% UK style
+ \hbox{\today}\\[2em]% US informal style: "April 6, 2006"; UK formal style: "05/04/2006"
+ % opening
+ \raggedright%
+ \@opening\\[1.5em]%
+ % ensure no extra spacing after \makelettertitle due to a possible blank line
+% \ignorespacesafterend% not working
+ \hspace{0pt}\par\vspace{-\baselineskip}\vspace{-\parskip}}
+
+\renewcommand*{\makeletterfooter}{%
+ \setlength{\footerwidth}{0.8\textwidth}%
+ \fancypagestyle{plain}{%
+ \fancyfoot[c]{%
+ \parbox{\footerwidth}{%
+ \centering%
+ \addressfont\color{color2}%
+ {\bfseries\upshape\@firstname~\@familyname}\\
+ \ifthenelse{\isundefined{\@addressstreet}}{}{\addtofooter[]{\addresssymbol\@addressstreet}%
+ \ifthenelse{\equal{\@addresscity}{}}{}{\addtofooter[~--~]{\@addresscity}}\flushfooter\@firstfooterelementtrue\\}% if \addresstreet is defined, \addresscity will always be defined but could be empty
+ \ifthenelse{\isundefined{\@mobile}}{}{\addtofooter{\mobilesymbol\@mobile}}%
+ \ifthenelse{\isundefined{\@phone}}{}{\addtofooter{\phonesymbol\@phone}}%
+ \ifthenelse{\isundefined{\@fax}}{}{\addtofooter{\faxsymbol\@fax}}%
+ \ifthenelse{\isundefined{\@email}}{}{\addtofooter{\emailsymbol\emaillink{\@email}}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\addtofooter{\homepagesymbol\httplink{\@homepage}}}%
+ \ifthenelse{\isundefined{\@extrainfo}}{}{\addtofooter{\@extrainfo}}%
+ \flushfooter}}}%
+ \pagestyle{plain}}
+
+\renewcommand*{\makeletterclosing}{
+ \@closing\\[3em]%
+ {\bfseries\@firstname~\@familyname}%
+ \ifthenelse{\isundefined{\@enclosure}}{}{%
+ \\%
+ \vfil%
+ {\color{color2}\itshape Enclosure: \@enclosure}}%
+ \vfil}
+
\endinput
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvstyleclassic.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvstyleclassic.sty
index 2ee5989eb25..bb9d6c13f47 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvstyleclassic.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvstyleclassic.sty
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstyleclassic}[2012/02/06 v0.19 modern curriculum vitae style scheme: classic]
+\ProvidesPackage{moderncvstyleclassic}[2012/03/26 v1.0 modern curriculum vitae and letter style scheme: classic]
%-------------------------------------------------------------------------------
@@ -24,7 +24,12 @@
%-------------------------------------------------------------------------------
-% style scheme definition
+% overall style definition
+%-------------------------------------------------------------------------------
+
+
+%-------------------------------------------------------------------------------
+% resume style definition
%-------------------------------------------------------------------------------
% fonts
\renewcommand*{\namefont}{\fontsize{34}{36}\mdseries\upshape}
@@ -44,7 +49,7 @@
\newcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
\newcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
-% length used
+% lengths
\newlength{\quotewidth}
\newlength{\hintscolumnwidth}
\setlength{\hintscolumnwidth}{0.175\textwidth}
@@ -57,8 +62,8 @@
\newlength{\listitemmaincolumnwidth}
\newlength{\listdoubleitemmaincolumnwidth}
-% recompute all the lengths that depends on the text width
-\renewcommand*{\recomputelengths}{%
+% commands
+\renewcommand*{\recomputecvlengths}{%
\setlength{\quotewidth}{0.65\textwidth}%
% main lenghts
\setlength{\maincolumnwidth}{\textwidth-\separatorcolumnwidth-\hintscolumnwidth}%
@@ -73,36 +78,30 @@
% fancyhdr lengths
\renewcommand{\headwidth}{\textwidth}}
-
% optional maketitle width to force a certain width (if set to 0pt, the width is calculated automatically)
-\newlength{\maketitlenamewidth}
-\setlength{\maketitlenamewidth}{0pt}% dummy value
-% internal maketitle command to issue a new line only when required
-\newif\if@firstdetailselement\@firstdetailselementtrue
-\newcommand*{\maketitledetailsnewline}{
- \if@firstdetailselement%
- \else%
- \\[.2em]\fi%
- \@firstdetailselementfalse}
-\renewcommand*{\maketitle}{%
+\newlength{\makecvtitlenamewidth}
+\setlength{\makecvtitlenamewidth}{0pt}% dummy value
+\renewcommand*{\makecvtitle}{%
+ % recompute lengths (in case we are switching from letter to resume, or vice versa)
+ \recomputecvlengths%
% optional detailed information box
- \newbox{\maketitledetailsbox}%
- \savebox{\maketitledetailsbox}{%
+ \newbox{\makecvtitledetailsbox}%
+ \savebox{\makecvtitledetailsbox}{%
\addressfont\color{color2}%
\begin{tabular}[b]{@{}r@{}}%
- \ifthenelse{\isundefined{\@addressstreet}}{}{\maketitledetailsnewline\addresssymbol\@addressstreet%
- \ifthenelse{\equal{\@addresscity}{}}{}{\maketitledetailsnewline\@addresscity}}% if \addresstreet is defined, \addresscity will always be defined but could be empty
- \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}%
+ \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
+ \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}}% if \addresstreet is defined, \addresscity will always be defined but could be empty
+ \ifthenelse{\isundefined{\@mobile}}{}{\makenewline\mobilesymbol\@mobile}%
+ \ifthenelse{\isundefined{\@phone}}{}{\makenewline\phonesymbol\@phone}%
+ \ifthenelse{\isundefined{\@fax}}{}{\makenewline\faxsymbol\@fax}%
+ \ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}%
+ \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}%
\end{tabular}
}%
% optional picture box
- \newbox{\maketitlepicturebox}%
- \savebox{\maketitlepicturebox}{%
+ \newbox{\makecvtitlepicturebox}%
+ \savebox{\makecvtitlepicturebox}{%
\ifthenelse{\isundefined{\@photo}}%
{}%
{%
@@ -113,25 +112,25 @@
\setlength{\fboxsep}{0pt}\fi%
\framebox{\includegraphics[width=\@photowidth]{\@photo}}}}%
% name and title
- \newlength{\maketitledetailswidth}\settowidth{\maketitledetailswidth}{\usebox{\maketitledetailsbox}}%
- \newlength{\maketitlepicturewidth}\settowidth{\maketitlepicturewidth}{\usebox{\maketitlepicturebox}}%
- \ifthenelse{\lengthtest{\maketitlenamewidth=0pt}}% check for dummy value (equivalent to \ifdim\maketitlenamewidth=0pt)
- {\setlength{\maketitlenamewidth}{\textwidth-\maketitledetailswidth-\maketitlepicturewidth}}%
+ \newlength{\makecvtitledetailswidth}\settowidth{\makecvtitledetailswidth}{\usebox{\makecvtitledetailsbox}}%
+ \newlength{\makecvtitlepicturewidth}\settowidth{\makecvtitlepicturewidth}{\usebox{\makecvtitlepicturebox}}%
+ \ifthenelse{\lengthtest{\makecvtitlenamewidth=0pt}}% check for dummy value (equivalent to \ifdim\makecvtitlenamewidth=0pt)
+ {\setlength{\makecvtitlenamewidth}{\textwidth-\makecvtitledetailswidth-\makecvtitlepicturewidth}}%
{}%
- \begin{minipage}[b]{\maketitlenamewidth}%
+ \begin{minipage}[b]{\makecvtitlenamewidth}%
\namestyle{\@firstname\ \@familyname}%
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%
\end{minipage}%
\hfill%
% detailed information
- \llap{\usebox{\maketitledetailsbox}}% \llap is used to suppress the width of the box, allowing overlap if the value of maketitlenamewidth is forced
+ \llap{\usebox{\makecvtitledetailsbox}}% \llap is used to suppress the width of the box, allowing overlap if the value of makecvtitlenamewidth is forced
% optional photo
- \usebox{\maketitlepicturebox}\\[2.5em]%
+ \usebox{\makecvtitlepicturebox}\\[2.5em]%
% optional quote
\ifthenelse{\isundefined{\@quote}}%
{}%
{{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[2.5em]}}%
- \par}% to avoid weird spacing bug at the first section if no blank line is left after \maketitle
+ \par}% to avoid weird spacing bug at the first section if no blank line is left after \makecvtitle
\newlength{\baseletterheight}
\settoheight{\baseletterheight}{\sectionstyle{o}}
@@ -225,6 +224,59 @@
}
+%-------------------------------------------------------------------------------
+% letter style definition
+%-------------------------------------------------------------------------------
+% commands
+\renewcommand*{\recomputeletterlengths}{
+ \recomputecvlengths%
+ \setlength{\parskip}{6\p@}}
+
+\renewcommand*{\makelettertitle}{%
+ % recompute lengths (in case we are switching from letter to resume, or vice versa)
+ \recomputeletterlengths%
+ % sender contact info
+ \hfill%
+ \begin{minipage}{.5\textwidth}%
+ \raggedleft%
+ \addressfont\textcolor{color2}{%
+ {\bfseries\upshape\@firstname~\@familyname}\@firstdetailselementfalse%
+ \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
+ \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}}%
+ \ifthenelse{\isundefined{\@mobile}}{}{\makenewline\mobilesymbol\@mobile}%
+ \ifthenelse{\isundefined{\@phone}}{}{\makenewline\phonesymbol\@phone}%
+ \ifthenelse{\isundefined{\@fax}}{}{\makenewline\faxsymbol\@fax}%
+ \ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}%
+ \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}%
+ \end{minipage}\\[1em]
+ % recipient block
+ \begin{minipage}[t]{.5\textwidth}
+ \raggedright%
+ \addressfont%
+ {\bfseries\upshape\@recipientname}\\%
+ \@recipientaddress%
+ \end{minipage}
+ % date
+ \hfill% US style
+% \\[1em]% UK style
+ \hbox{\today}\\[2em]% US informal style: "April 6, 2006"; UK formal style: "05/04/2006"
+ % opening
+ \raggedright%
+ \@opening\\[1.5em]%
+ % ensure no extra spacing after \makelettertitle due to a possible blank line
+% \ignorespacesafterend% not working
+ \hspace{0pt}\par\vspace{-\baselineskip}\vspace{-\parskip}}
+
+\renewcommand*{\makeletterclosing}{
+ \@closing\\[3em]%
+ {\bfseries \@firstname~\@familyname}%
+ \ifthenelse{\isundefined{\@enclosure}}{}{%
+ \\%
+ \vfill%
+ {\color{color2}\itshape Enclosure: \@enclosure}}}
+
+
\endinput
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvstyleempty.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvstyleempty.sty
index ab4fc99d13e..c11dc6188d0 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvstyleempty.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvstyleempty.sty
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstyleempty}[2012/02/06 v0.19 modern curriculum vitae scheme: empty]
+\ProvidesPackage{moderncvstyleempty}[2012/03/26 v1.0 modern curriculum vitae scheme: empty]
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvstyleoldstyle.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvstyleoldstyle.sty
index 9877e45d971..3718c48c116 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvstyleoldstyle.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvstyleoldstyle.sty
@@ -10,12 +10,14 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstyleoldstyle}[2012/02/06 v0.19 modern curriculum vitae style: oldstyle]
+\ProvidesPackage{moderncvstyleoldstyle}[2012/03/26 v1.0 modern curriculum vitae and letter style scheme: oldstyle]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
+% change the layout of the page on the fly, for resume or letter layout
+\RequirePackage{changepage}
%-------------------------------------------------------------------------------
@@ -24,12 +26,27 @@
%-------------------------------------------------------------------------------
-% style definition
+% overall style definition
%-------------------------------------------------------------------------------
% fonts
\IfFileExists{kurier.sty}
{\RequirePackage[light,math]{kurier}}
{}
+
+% symbols
+\renewcommand*{\listitemsymbol}{\labelitemi~}
+\renewcommand*{\addresssymbol}{}
+\renewcommand*{\mobilesymbol}{\textbf{M}~}
+\renewcommand*{\phonesymbol}{\textbf{T}~}
+\renewcommand*{\faxsymbol}{\textbf{F}~}
+\renewcommand*{\emailsymbol}{\textbf{E}~}
+\renewcommand*{\homepagesymbol}{}
+
+
+%-------------------------------------------------------------------------------
+% resume style definition
+%-------------------------------------------------------------------------------
+% fonts
\renewcommand*{\namefont}{\fontsize{34}{36}\mdseries\upshape}
\renewcommand*{\titlefont}{\LARGE\mdseries\slshape}
\renewcommand*{\addressfont}{\small\mdseries}
@@ -47,16 +64,7 @@
\newcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
\newcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
-% symbols
-\renewcommand*{\listitemsymbol}{\labelitemi~}
-\renewcommand*{\addresssymbol}{}
-\renewcommand*{\mobilesymbol}{\textbf{M}~}
-\renewcommand*{\phonesymbol}{\textbf{T}~}
-\renewcommand*{\faxsymbol}{\textbf{F}~}
-\renewcommand*{\emailsymbol}{\textbf{E}~}
-\renewcommand*{\homepagesymbol}{}
-
-% length used
+% lengths
\newlength{\quotewidth}
\newlength{\hintscolumnwidth}
\setlength{\hintscolumnwidth}{0.3\textwidth}%
@@ -69,8 +77,8 @@
\newlength{\listitemmaincolumnwidth}
\newlength{\listdoubleitemmaincolumnwidth}
-% recompute all the lengths that depends on the text width
-\renewcommand*{\recomputelengths}{%
+% commands
+\renewcommand*{\recomputecvlengths}{%
\setlength{\quotewidth}{0.65\textwidth}%
% main lenghts
\setlength{\maincolumnwidth}{\textwidth-\hintscolumnwidth-\separatorcolumnwidth}%
@@ -85,27 +93,22 @@
% fancyhdr lengths
\renewcommand{\headwidth}{\textwidth}}
-\newcommand{\makeinfo}[1]{%
- \newbox{\makeinfobox}%
- \savebox{\makeinfobox}{\parbox[b]{\hintscolumnwidth}{\if@DEBUG\rule{20cm}{.1pt}\\\fi#1}}%
- \newlength{\makeinfoheight}%
- \setlength{\makeinfoheight}{\totalheightof{\usebox{\makeinfobox}}}% the total height of the parbox is the sum of its height (\the\ht\makeinfobox) and its depth (\the\dp\makeinfobox); the \totalheightof command is provided by the "calc" package
- \usebox{\makeinfobox}\vspace*{-\makeinfoheight}%
+\newcommand{\makecvinfo}[1]{%
+ \newbox{\makecvinfobox}%
+ \savebox{\makecvinfobox}{\parbox[t]{\hintscolumnwidth}{#1}}%
+ \newlength{\makecvinfoheight}%
+ \setlength{\makecvinfoheight}{\totalheightof{\usebox{\makecvinfobox}}}% the total height of the parbox is the sum of its height (\the\ht\makeinfobox) and its depth (\the\dp\makeinfobox); the \totalheightof command is provided by the "calc" package
+ \usebox{\makecvinfobox}\vspace{-\makecvinfoheight}%
\newlength{\leftcolumnwidth}%
- \setlength{\leftcolumnwidth}{\hintscolumnwidth+\separatorcolumnwidth}
- \par\nointerlineskip\vspace*{-\parskip}\vspace*{-2.5ex}\leftskip=\leftcolumnwidth\if@DEBUG\rule{20cm}{.1pt}\fi}% the -2.5ex vertical slip is to counter the 2.5ex skip of sections
-
-\newif\if@firstdetailselement\@firstdetailselementtrue
-\newcommand*{\maketitledetailsnewline}{
- \if@firstdetailselement%
- \else%
- \\[.2em]\fi%
- \@firstdetailselementfalse%
- \addressfont\color{color2}}
-\renewcommand*{\maketitle}{
+ \setlength{\leftcolumnwidth}{\hintscolumnwidth+\separatorcolumnwidth}%
+ \par\vspace{-\baselineskip}\vspace{-\parskip}\leftskip=\leftcolumnwidth}
+
+\renewcommand*{\makecvtitle}{
+ % recompute lengths (in case we are switching from letter to resume, or vice versa)
+ \recomputecvlengths%
% optional picture box
- \newbox{\maketitlepicturebox}%
- \savebox{\maketitlepicturebox}{%
+ \newbox{\makecvtitlepicturebox}%
+ \savebox{\makecvtitlepicturebox}{%
\ifthenelse{\isundefined{\@photo}}%
{}%
{%
@@ -115,28 +118,29 @@
\setlength{\fboxsep}{0pt}\fi%
\framebox{\includegraphics[width=\@photowidth]{\@photo}}}}%
% name and title
- \newlength{\maketitlepicturewidth}\settowidth{\maketitlepicturewidth}{\usebox{\maketitlepicturebox}}%
- \newlength{\maketitlenamewidth}\setlength{\maketitlenamewidth}{\textwidth-\maketitlepicturewidth}%
- \begin{minipage}[b]{\maketitlenamewidth}%
+ \newlength{\makecvtitlepicturewidth}\settowidth{\makecvtitlepicturewidth}{\usebox{\makecvtitlepicturebox}}%
+ \newlength{\makecvtitlenamewidth}\setlength{\makecvtitlenamewidth}{\textwidth-\makecvtitlepicturewidth}%
+ \begin{minipage}[b]{\makecvtitlenamewidth}%
\namestyle{\@firstname\ \@familyname}%
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%
\end{minipage}%
% optional photo
- \usebox{\maketitlepicturebox}\\[2.5em]%
+ \usebox{\makecvtitlepicturebox}\\[2.5em]%
% optional quote
\ifthenelse{\isundefined{\@quote}}%
{}%
{{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[2.5em]}}%
% optional details
- \makeinfo{%
- \ifthenelse{\isundefined{\@addressstreet}}{}{\maketitledetailsnewline\addresssymbol\@addressstreet%
- \ifthenelse{\equal{\@addresscity}{}}{}{\maketitledetailsnewline\@addresscity}}% if \addresstreet is defined, \addresscity will always be defined but could be empty
- \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}}}
+ \makecvinfo{%
+ \addressfont\color{color2}%
+ \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
+ \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}}% if \addresstreet is defined, \addresscity will always be defined but could be empty
+ \ifthenelse{\isundefined{\@mobile}}{}{\makenewline\mobilesymbol\@mobile}%
+ \ifthenelse{\isundefined{\@phone}}{}{\makenewline\phonesymbol\@phone}%
+ \ifthenelse{\isundefined{\@fax}}{}{\makenewline\faxsymbol\@fax}%
+ \ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}%
+ \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}}
\renewcommand*{\section}[1]{%
\par\addvspace{2.5ex}%
@@ -236,6 +240,60 @@
}
+%-------------------------------------------------------------------------------
+% letter style definition
+%-------------------------------------------------------------------------------
+% commands
+%\newlength{\textwidthdelta}%
+\renewcommand*{\recomputeletterlengths}{%
+ \recomputecvlengths{}%
+ \setlength{\parskip}{6\p@}%
+ \leftskip=0pt%
+% \setlength{\textwidthdelta}{+\marginparwidth+\marginparsep}%
+ \setlength{\marginparwidth}{\hintscolumnwidth}%
+ \setlength{\marginparsep}{2\separatorcolumnwidth}%
+% \addtolength{\textwidthdelta}{-\marginparwidth-\marginparsep}%
+% \changepage{}{\textwidthdelta}{-\textwidthdelta}{}{}{}{}{}{}%\changepage{<textheight>}{<textwidth>}{<evensidemargin>}{<oddsidemargin>}{<columnsep>}{<topmargin>}{<headheight>}{<headsep>}{<footskip>}
+ \changepage{}{-\marginparwidth-\marginparsep}{}{}{}{}{}{}{}%\changepage{<textheight>}{<textwidth>}{<evensidemargin>}{<oddsidemargin>}{<columnsep>}{<topmargin>}{<headheight>}{<headsep>}{<footskip>}
+ }
+
+\renewcommand*{\makelettertitle}{%
+ % recompute lengths (in case we are switching from letter to resume, or vice versa)
+ \recomputeletterlengths%
+ % recipient block
+ {\addressfont%
+ {\bfseries\upshape\@recipientname}\\%
+ \@recipientaddress}\\[1em]%
+ % date
+ \@date\\[2em]%
+ % opening
+ \@opening\\[1.5em]%
+ % sender contact info
+ \hspace{0pt}%
+ \marginpar{%
+ \addressfont\textcolor{color2}{%
+ {\bfseries\@firstname~\@familyname}\@firstdetailselementfalse%
+ \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
+ \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}}%
+ \ifthenelse{\isundefined{\@mobile}}{}{\makenewline\mobilesymbol\@mobile}%
+ \ifthenelse{\isundefined{\@phone}}{}{\makenewline\phonesymbol\@phone}%
+ \ifthenelse{\isundefined{\@fax}}{}{\makenewline\faxsymbol\@fax}%
+ \ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}%
+ \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}}%
+ % ensure no extra spacing after \makelettertitle due to a possible blank line
+% \ignorespacesafterend% not working
+ \par\vspace{-\baselineskip}\vspace{-\parskip}}
+
+\renewcommand*{\makeletterclosing}{
+ \@closing\\[3em]%
+ {\bfseries\@firstname~\@familyname}%
+ \ifthenelse{\isundefined{\@enclosure}}{}{%
+ \\%
+ \vfill%
+ {\color{color2}\itshape{}Enclosure: \@enclosure}}}
+
+
\endinput