diff options
author | Karl Berry <karl@freefriends.org> | 2015-07-29 20:38:14 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-07-29 20:38:14 +0000 |
commit | e76534e995ef3134f513b1a9951be0156c997631 (patch) | |
tree | 66887cff813a6f9f7b72f0831165ea188043fab0 /Master/texmf-dist/tex/latex/moderncv | |
parent | 6c09dd71fc1b55b7990d439747f090fa57a84b77 (diff) |
moderncv (29jul15)
git-svn-id: svn://tug.org/texlive/trunk@37992 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/moderncv')
33 files changed, 2462 insertions, 1016 deletions
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncv.cls b/Master/texmf-dist/tex/latex/moderncv/moderncv.cls index 1caa39115b5..193f8e2bb6e 100644 --- a/Master/texmf-dist/tex/latex/moderncv/moderncv.cls +++ b/Master/texmf-dist/tex/latex/moderncv/moderncv.cls @@ -1,5 +1,5 @@ %% start of file `moderncv.cls'. -%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com). +%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com). % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License version 1.3c, @@ -10,7 +10,7 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesClass{moderncv}[2013/04/29 v1.5.1 modern curriculum vitae and letter document class] +\ProvidesClass{moderncv}[2015/07/28 v2.0.0 modern curriculum vitae and letter document class] %------------------------------------------------------------------------------- @@ -81,7 +81,7 @@ % TODO: move to xifthen and \isempty{<arg>} instead of \equal{<arg>}{} % color -\RequirePackage{xcolor} +\RequirePackage[table]{xcolor} % font loading \RequirePackage{ifxetex,ifluatex} @@ -128,7 +128,7 @@ bookmarksopen = true, bookmarksdepth= 2,% to show sections and subsections pdfauthor = {\@firstname{}~\@lastname{}}, - pdftitle = {\@firstname{}~\@lastname{} -- \@title{}}, + pdftitle = {\@firstname{}~\@lastname{}\notblank{\@title}{ -- \@title}{}}, pdfsubject = {Resum\'{e} of \@firstname{}~\@lastname{}}, pdfkeywords = {\@firstname{}~\@lastname{}, curriculum vit\ae{}, resum\'{e}}}} @@ -146,6 +146,8 @@ \newcommand*{\nopagenumbers}{\@displaypagenumbersfalse} \AtEndPreamble{% \AtBeginDocument{% + % fancyhdr length + \renewcommand{\headwidth}{\textwidth} \if@displaypagenumbers% \@ifundefined{r@lastpage}{}{% \ifthenelse{\pageref{lastpage}>1}{% @@ -310,10 +312,25 @@ % usage: \makefooter \newcommand*{\makefooter}{}% -% loads a style variant +% loads a style variant (a combination of header, body and footer) % usage: \moderncvstyle{<style variant name>} -\newcommand*{\moderncvstyle}[1]{ - \RequirePackage{moderncvstyle#1}} +\newcommand*{\moderncvstyle}[2][]{ + \RequirePackage[#1]{moderncvstyle#2}} + +% loads a header variant +% usage: \moderncvhead[<optional head option>]{<header variant number>} +\newcommand*{\moderncvhead}[2][]{ + \expandafter\RequirePackage\expandafter[\expandafter#1\expandafter]{\expandafter moderncvhead\romannumeral #2}} + +% loads a body variant +% usage: \moderncvbody[<optional body option>]{<body variant number>} +\newcommand*{\moderncvbody}[2][]{ + \expandafter\RequirePackage\expandafter[\expandafter#1\expandafter]{\expandafter moderncvbody\romannumeral #2}} + +% loads a footer variant +% usage: \moderncvfoot{<footer variant number>} +\newcommand*{\moderncvfoot}[1]{ + \expandafter\RequirePackage\expandafter{\expandafter moderncvfoot\romannumeral #1}} % loads a color scheme % usage: \moderncvcolor{<color scheme name>} @@ -326,12 +343,43 @@ \RequirePackage{moderncvicons#1}} % recomputes all automatic lengths +\newcommand*{\recomputeheadlengths}{\recomputecvheadlengths} +\newcommand*{\recomputebodylengths}{\recomputecvbodylengths} +\newcommand*{\recomputefootlengths}{\recomputecvfootlengths} \newcommand*{\recomputelengths}{\recomputecvlengths} \AtBeginDocument{\recomputelengths{}} +% creates a command if not yet defined +\newcommand*{\@initializecommand}[2]{% + \ifdefined#1 + \renewcommand{#1}{#2}% + \else% + \newcommand*{#1}{#2}\fi} + % creates a length if not yet defined \newcommand*{\@initializelength}[1]{% - \ifdefined#1\else\newlength{#1}\fi} + \ifdefined#1 + \else% + \newlength{#1}\fi% + \setlength{#1}{0pt}} + +% creates a box if not yet defined +\newcommand*{\@initializebox}[1]{% + \ifdefined#1 + \savebox{#1}{}% + \else% + \newsavebox{#1}\fi} + +% creates an if switch if not yet defined +\newcommand*{\@initializeif}[1]{% +% \ifdefined#1% not working due to the nested \if +% \else% + \newif#1%\fi + } + +% custom strut for spacing; the first argument is the vertical offset of the strut, the second its total height +\newcommand*{\@moderncvstrut}[2]{% + \rule[-#1]{0pt}{#2}} %------------------------------------------------------------------------------- @@ -352,6 +400,12 @@ \newcommand*{\subsectionfont}{} \newcommand*{\hintfont}{} \newcommand*{\pagenumberfont}{\addressfont\itshape} +% fake small caps - cfr http://tex.stackexchange.com/questions/55664/fake-small-caps-with-xetex-fontspec +%\def\fakesc{\bgroup\obeyspaces\fakescaux} +%\def\fakescaux#1{\fakescauxii #1\relax\relax\egroup} +%\def\fakescauxii#1{% +%\ifx\relax#1\else \ifcat#1\@sptoken{} \expandafter\expandafter\expandafter\fakescauxii\else +%\ifnum`#1=\uccode`#1 {\normalsize #1}\else {\footnotesize \uppercase{#1}}\fi \expandafter\expandafter\expandafter\fakescauxii\expandafter\fi\fi} % styles \newcommand*{\namestyle}[1]{{\namefont#1}} @@ -364,24 +418,30 @@ \newcommand*{\pagenumberstyle}[1]{{\pagenumberfont#1}} % recompute all resume lengths -\newcommand*{\recomputecvlengths}{} +\newcommand*{\recomputecvheadlengths}{} +\newcommand*{\recomputecvbodylengths}{} +\newcommand*{\recomputecvfootlengths}{} +\newcommand*{\recomputecvlengths}{% + \recomputecvheadlengths% + \recomputecvbodylengths% + \recomputecvfootlengths} % internal maketitle command to issue a new line only when required \newif\if@firstdetailselement\@firstdetailselementtrue -\newcommand*{\makenewline}{ +\newcommand*{\makenewline}[1][0pt]{% \if@firstdetailselement% \strut% to ensure baseline alignment, e.g. with when put in the margin vs sections that also contains a \strut \else% - \\\fi% + \\[#1]\fi% \@firstdetailselementfalse} % makes the resume title % usage: \makecvtitle -\newcommand*{\makecvtitle}{} - -% makes the resume footer -% usage: \makecvfooter -\newcommand*{\makecvfooter}{\makefooter} +\newcommand*{\makecvtitle}{% + \makecvhead% + \makecvfoot} +\newcommand*{\makecvhead}{} +\newcommand*{\makecvfoot}{} % makes a resume section % usage: \section{<title>} @@ -458,7 +518,7 @@ \setcounter{cvcolumnsautowidthcounter}{0}% \setlength{\cvcolumnsautowidth}{\cvcolumnsdummywidth}% \setlength{\cvcolumnautowidth}{0pt}% - \@cvcolumns@head@emptytrue}% + \@cvcolumns@head@emptytrue\ignorespaces}% {% at environment closing: typeset environment % compute the width of each cvcolumn, considering a spacing of \separatorcolumnwidth and the columns with set width \ifnum\thecvcolumnscounter>0% @@ -479,7 +539,9 @@ \g@addto@macro\cvcolumns@def{@{\hspace*{\separatorcolumnwidth}}}% \g@addto@macro\cvcolumns@head{&}% \g@addto@macro\cvcolumns@content{&}\fi% - \expandafter\g@addto@macro\expandafter\cvcolumns@def\expandafter{\csname cvcolumn\roman{tmpiteratorcounter}@def\endcsname}% +% \expandafter\g@addto@macro\expandafter\cvcolumns@def\expandafter{\csname cvcolumn\roman{tmpiteratorcounter}@def\endcsname}% % this creates issues with the colortbl" package (loaded by xcolor when passing the "table" option) as the column definitions passed to \begin{tabular} contains \cvcolumn<i>@def references that it doesn't understand; the next 2 lines expand \cvcolumn@def to the point it doesn't + \edef\tmpcvcolumn@def{\csname cvcolumn\roman{tmpiteratorcounter}@def\endcsname}% + \expandafter\g@addto@macro\expandafter\cvcolumns@def\expandafter{\tmpcvcolumn@def}% \expandafter\g@addto@macro\expandafter\cvcolumns@head\expandafter{\csname cvcolumn\roman{tmpiteratorcounter}@head\endcsname}% \expandafter\g@addto@macro\expandafter\cvcolumns@content\expandafter{\csname cvcolumn\roman{tmpiteratorcounter}@content\endcsname}% \stepcounter{tmpiteratorcounter}% @@ -497,7 +559,9 @@ % \repeat% % create the tabular \cvitem{}{% - \begin{tabular}{\cvcolumns@def}% +% \begin{tabular}{\cvcolumns@def}% this conflicts with the "colortbl" package (loaded by xcolor when passing the "table" option), and requires the below 2 lines to expand \cvcolumns@def + \def\begincvcolumns{\begin{tabular}[t]}% "[t]" is required for some body styles; the default alignment is "[c]" + \expandafter\begincvcolumns\expandafter{\cvcolumns@def}% \if@cvcolumns@head@empty\else% \cvcolumns@head%\\[-.8em]% % {\color{color1}\rule{\maincolumnwidth}{.25pt}}% @@ -521,7 +585,8 @@ \expandafter\expandafter\expandafter\def\expandafter\csname cvcolumn\roman{cvcolumnscounter}@head\endcsname{\protect\parbox[b]{#1\cvcolumnswidth}{\protect\subsectionstyle{#2}}}}% \ifthenelse{\equal{#2}{}}{}{\@cvcolumns@head@emptyfalse}% \expandafter\expandafter\expandafter\def\expandafter\csname cvcolumn\roman{cvcolumnscounter}@content\endcsname{\protect\cvcolumncell{#3}}% - \stepcounter{cvcolumnscounter}} + \stepcounter{cvcolumnscounter}% + \ignorespaces} % internal cvcolumncell command, that enables a cvcolumn cell to contain paragraph commands (lists, newlines, etc) \newcommand*{\cvcolumncell}[1]{{% put cell inside a group, so that command redefinitions are only local @@ -543,6 +608,10 @@ \newenvironment{thebibliography}[1]{}{} \newcommand*{\newblock}{\hskip .11em\@plus.33em\@minus.07em} \let\@openbib@code\@empty +%% fix a bug (hardcoded bib label) in \@bibitem +%\renewcommand\@bibitem[1]{% +% \item\if@filesw \immediate\write\@auxout +% {\string\bibcite{#1}{\theenumiv}}\fi\ignorespaces}% replaced "\the\value{\@listctr}" with "\theenumiv" % itemize, enumerate and description environment \setlength{\leftmargini} {1em} @@ -595,15 +664,21 @@ \def\@enclosure{#2}} % recompute all letter lengths -\newcommand*{\recomputeletterlengths}{} +\newcommand*{\recomputeletterheadlengths}{} +\newcommand*{\recomputeletterbodylengths}{} +\newcommand*{\recomputeletterfootlengths}{} +\newcommand*{\recomputeletterlengths}{% + \recomputeletterheadlengths% + \recomputeletterbodylengths% + \recomputeletterfootlengths} % makes the letter title % usage: \makelettertitle -\newcommand*{\makelettertitle}{} - -% makes the letter footer -% usage: \makeletterfooter -\newcommand*{\makeletterfooter}{\makefooter} +\newcommand*{\makelettertitle}{% + \makeletterhead% + \makeletterfoot} +\newcommand*{\makeletterhead}{} +\newcommand*{\makeletterfoot}{} % makes the letter closing % usage: \makeletterclosing diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvbodyi.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvbodyi.sty new file mode 100644 index 00000000000..a86bcf2425d --- /dev/null +++ b/Master/texmf-dist/tex/latex/moderncv/moderncvbodyi.sty @@ -0,0 +1,174 @@ +%% start of file `moderncvbodyi.sty'. +%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com). +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License version 1.3c, +% available at http://www.latex-project.org/lppl/. + + +%------------------------------------------------------------------------------- +% identification +%------------------------------------------------------------------------------- +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{moderncvbodyi}[2015/07/28 v2.0.0 modern curriculum vitae and letter body variant: 1] + + +%------------------------------------------------------------------------------- +% required packages +%------------------------------------------------------------------------------- + + +%------------------------------------------------------------------------------- +% overall body definition +%------------------------------------------------------------------------------- +% fonts +\renewcommand*{\sectionfont}{\Large\mdseries\upshape} +\renewcommand*{\subsectionfont}{\large\mdseries\upshape} +\renewcommand*{\hintfont}{} + +% styles +\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}} +\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}} +\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}} + + +%------------------------------------------------------------------------------- +% resume body definition +%------------------------------------------------------------------------------- +% lengths +% used by \cvitem (and all children command) +\@initializelength{\hintscolumnwidth} \setlength{\hintscolumnwidth}{0.175\textwidth} +\@initializelength{\separatorcolumnwidth} \setlength{\separatorcolumnwidth}{0.025\textwidth} +\@initializelength{\maincolumnwidth} +% used by \cvdoubleitem +\@initializelength{\doubleitemcolumnwidth} +% used by \cvlistitem +\@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol} +\@initializelength{\listitemcolumnwidth} +% used by \cvlistdoubleitem +\@initializelength{\listdoubleitemcolumnwidth} +% default moderncv \photo (change the definition such that by default the photo and its box align with the section bars +\RenewDocumentCommand{\photo}{O{\hintscolumnwidth-0.8pt-2\fboxsep}O{0.4pt}m}{\def\@photowidth{#1}\def\@photoframewidth{#2}\def\@photo{#3}}% + +% commands +\renewcommand*{\recomputecvbodylengths}{% + % body lengths + \setlength{\maincolumnwidth}{\textwidth-\leftskip-\rightskip-\separatorcolumnwidth-\hintscolumnwidth}% + \setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}% + \setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\hintscolumnwidth-\separatorcolumnwidth-\separatorcolumnwidth}% + \setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}% + \setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}% + \setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}% + % regular lengths + \setlength{\parskip}{0\p@}} + +\@initializelength{\baseletterheight} +\settoheight{\baseletterheight}{\sectionstyle{o}} +\setlength{\baseletterheight}{\baseletterheight-0.95ex} +\RenewDocumentCommand{\section}{sm}{% + \par\addvspace{2.5ex}% + \phantomsection{}% reset the anchor for hyperrefs + \addcontentsline{toc}{section}{#2}% + \cvitem[0ex]{\strut\raggedleft\raisebox{\baseletterheight}{\color{color1}\rule{\hintscolumnwidth}{0.95ex}}}{\strut\sectionstyle{#2}}% + \par\nobreak\addvspace{1ex}\@afterheading}% to avoid a pagebreak after the heading + +\RenewDocumentCommand{\subsection}{sm}{% + \par\addvspace{1ex}% + \phantomsection{}% reset the anchor for hyperrefs + \addcontentsline{toc}{subsection}{#2}% + \cvitem[0ex]{}{\strut\subsectionstyle{#2}}% + \par\nobreak\addvspace{.5ex}\@afterheading}% to avoid a pagebreak after the heading + +\renewcommand*{\cvitem}[3][.25em]{% + \begin{tabular}{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}% + \raggedleft\hintstyle{#2} &{#3}% + \end{tabular}% + \par\addvspace{#1}} + +\renewcommand*{\cvdoubleitem}[5][.25em]{% + \cvitem[#1]{#2}{% + \begin{minipage}[t]{\doubleitemcolumnwidth}#3\end{minipage}% + \hfill% fill of \separatorcolumnwidth + \begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#4}\end{minipage}% + \hspace*{\separatorcolumnwidth}% + \begin{minipage}[t]{\doubleitemcolumnwidth}#5\end{minipage}}} + +\renewcommand*{\cvlistitem}[2][.25em]{% + \cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listitemcolumnwidth}#2\end{minipage}}} + +\renewcommand*{\cvlistdoubleitem}[3][.25em]{% + \cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#2\end{minipage}% + \hfill% fill of \separatorcolumnwidth + \ifthenelse{\equal{#3}{}}% + {}% + {\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#3\end{minipage}}}} + +\renewcommand*{\cventry}[7][.25em]{% + \cvitem[#1]{#2}{% + {\bfseries#3}% + \ifthenelse{\equal{#4}{}}{}{, {\slshape#4}}% + \ifthenelse{\equal{#5}{}}{}{, #5}% + \ifthenelse{\equal{#6}{}}{}{, #6}% + .\strut% + \ifx&% + \else{\newline{}\begin{minipage}[t]{\linewidth}\small#7\end{minipage}}\fi}} + +\@initializebox{\cvitemwithcommentbox} +\@initializelength{\cvitemwithcommentskilllength} +\@initializelength{\cvitemwithcommentcommentlength} +\renewcommand*{\cvitemwithcomment}[4][.25em]{% + \savebox{\cvitemwithcommentbox}{{#3}}% + \setlength{\cvitemwithcommentskilllength}{\widthof{\usebox{\cvitemwithcommentbox}}}% + \setlength{\cvitemwithcommentcommentlength}{\maincolumnwidth-\separatorcolumnwidth-\cvitemwithcommentskilllength}% + \cvitem[#1]{#2}{% + \begin{minipage}[t]{\cvitemwithcommentskilllength}\usebox{\cvitemwithcommentbox}\end{minipage}% + \hfill% fill of \separatorcolumnwidth + \begin{minipage}[t]{\cvitemwithcommentcommentlength}\raggedleft\small\itshape#4\end{minipage}}} + +\renewenvironment{thebibliography}[1]% + {% + \bibliographyhead{\refname}% +% \small% + \begin{list}{\bibliographyitemlabel}% + {% + \setlength{\topsep}{0pt}% + \setlength{\labelwidth}{\hintscolumnwidth}% + \setlength{\labelsep}{\separatorcolumnwidth}% + \leftmargin\labelwidth% + \advance\leftmargin\labelsep% + \@openbib@code% + \usecounter{enumiv}% + \let\p@enumiv\@empty% + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \sloppy% + \clubpenalty4000%\@clubpenalty \clubpenalty% + \widowpenalty4000% + \sfcode`\.\@m% + \sfcode `\=1000\relax}% + {% + \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}% + \end{list}} + + +%------------------------------------------------------------------------------- +% letter style definition +%------------------------------------------------------------------------------- +% commands +\renewcommand*{\recomputeletterbodylengths}{% + \recomputecvlengths% + \setlength{\parskip}{6\p@}} + +\renewcommand*{\makeletterclosing}{ + \@closing\\[3em]% + {\bfseries\@firstname~\@lastname}% + \ifthenelse{\isundefined{\@enclosure}}{}{% + \\% + \vfil% + {\color{color2}\itshape\enclname: \@enclosure}}% + \vfil} + + +\endinput + + +%% end of file `moderncvbodyi.sty'. diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvbodyii.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvbodyii.sty new file mode 100644 index 00000000000..a86bcf2425d --- /dev/null +++ b/Master/texmf-dist/tex/latex/moderncv/moderncvbodyii.sty @@ -0,0 +1,174 @@ +%% start of file `moderncvbodyi.sty'. +%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com). +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License version 1.3c, +% available at http://www.latex-project.org/lppl/. + + +%------------------------------------------------------------------------------- +% identification +%------------------------------------------------------------------------------- +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{moderncvbodyi}[2015/07/28 v2.0.0 modern curriculum vitae and letter body variant: 1] + + +%------------------------------------------------------------------------------- +% required packages +%------------------------------------------------------------------------------- + + +%------------------------------------------------------------------------------- +% overall body definition +%------------------------------------------------------------------------------- +% fonts +\renewcommand*{\sectionfont}{\Large\mdseries\upshape} +\renewcommand*{\subsectionfont}{\large\mdseries\upshape} +\renewcommand*{\hintfont}{} + +% styles +\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}} +\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}} +\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}} + + +%------------------------------------------------------------------------------- +% resume body definition +%------------------------------------------------------------------------------- +% lengths +% used by \cvitem (and all children command) +\@initializelength{\hintscolumnwidth} \setlength{\hintscolumnwidth}{0.175\textwidth} +\@initializelength{\separatorcolumnwidth} \setlength{\separatorcolumnwidth}{0.025\textwidth} +\@initializelength{\maincolumnwidth} +% used by \cvdoubleitem +\@initializelength{\doubleitemcolumnwidth} +% used by \cvlistitem +\@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol} +\@initializelength{\listitemcolumnwidth} +% used by \cvlistdoubleitem +\@initializelength{\listdoubleitemcolumnwidth} +% default moderncv \photo (change the definition such that by default the photo and its box align with the section bars +\RenewDocumentCommand{\photo}{O{\hintscolumnwidth-0.8pt-2\fboxsep}O{0.4pt}m}{\def\@photowidth{#1}\def\@photoframewidth{#2}\def\@photo{#3}}% + +% commands +\renewcommand*{\recomputecvbodylengths}{% + % body lengths + \setlength{\maincolumnwidth}{\textwidth-\leftskip-\rightskip-\separatorcolumnwidth-\hintscolumnwidth}% + \setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}% + \setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\hintscolumnwidth-\separatorcolumnwidth-\separatorcolumnwidth}% + \setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}% + \setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}% + \setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}% + % regular lengths + \setlength{\parskip}{0\p@}} + +\@initializelength{\baseletterheight} +\settoheight{\baseletterheight}{\sectionstyle{o}} +\setlength{\baseletterheight}{\baseletterheight-0.95ex} +\RenewDocumentCommand{\section}{sm}{% + \par\addvspace{2.5ex}% + \phantomsection{}% reset the anchor for hyperrefs + \addcontentsline{toc}{section}{#2}% + \cvitem[0ex]{\strut\raggedleft\raisebox{\baseletterheight}{\color{color1}\rule{\hintscolumnwidth}{0.95ex}}}{\strut\sectionstyle{#2}}% + \par\nobreak\addvspace{1ex}\@afterheading}% to avoid a pagebreak after the heading + +\RenewDocumentCommand{\subsection}{sm}{% + \par\addvspace{1ex}% + \phantomsection{}% reset the anchor for hyperrefs + \addcontentsline{toc}{subsection}{#2}% + \cvitem[0ex]{}{\strut\subsectionstyle{#2}}% + \par\nobreak\addvspace{.5ex}\@afterheading}% to avoid a pagebreak after the heading + +\renewcommand*{\cvitem}[3][.25em]{% + \begin{tabular}{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}% + \raggedleft\hintstyle{#2} &{#3}% + \end{tabular}% + \par\addvspace{#1}} + +\renewcommand*{\cvdoubleitem}[5][.25em]{% + \cvitem[#1]{#2}{% + \begin{minipage}[t]{\doubleitemcolumnwidth}#3\end{minipage}% + \hfill% fill of \separatorcolumnwidth + \begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#4}\end{minipage}% + \hspace*{\separatorcolumnwidth}% + \begin{minipage}[t]{\doubleitemcolumnwidth}#5\end{minipage}}} + +\renewcommand*{\cvlistitem}[2][.25em]{% + \cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listitemcolumnwidth}#2\end{minipage}}} + +\renewcommand*{\cvlistdoubleitem}[3][.25em]{% + \cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#2\end{minipage}% + \hfill% fill of \separatorcolumnwidth + \ifthenelse{\equal{#3}{}}% + {}% + {\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#3\end{minipage}}}} + +\renewcommand*{\cventry}[7][.25em]{% + \cvitem[#1]{#2}{% + {\bfseries#3}% + \ifthenelse{\equal{#4}{}}{}{, {\slshape#4}}% + \ifthenelse{\equal{#5}{}}{}{, #5}% + \ifthenelse{\equal{#6}{}}{}{, #6}% + .\strut% + \ifx&% + \else{\newline{}\begin{minipage}[t]{\linewidth}\small#7\end{minipage}}\fi}} + +\@initializebox{\cvitemwithcommentbox} +\@initializelength{\cvitemwithcommentskilllength} +\@initializelength{\cvitemwithcommentcommentlength} +\renewcommand*{\cvitemwithcomment}[4][.25em]{% + \savebox{\cvitemwithcommentbox}{{#3}}% + \setlength{\cvitemwithcommentskilllength}{\widthof{\usebox{\cvitemwithcommentbox}}}% + \setlength{\cvitemwithcommentcommentlength}{\maincolumnwidth-\separatorcolumnwidth-\cvitemwithcommentskilllength}% + \cvitem[#1]{#2}{% + \begin{minipage}[t]{\cvitemwithcommentskilllength}\usebox{\cvitemwithcommentbox}\end{minipage}% + \hfill% fill of \separatorcolumnwidth + \begin{minipage}[t]{\cvitemwithcommentcommentlength}\raggedleft\small\itshape#4\end{minipage}}} + +\renewenvironment{thebibliography}[1]% + {% + \bibliographyhead{\refname}% +% \small% + \begin{list}{\bibliographyitemlabel}% + {% + \setlength{\topsep}{0pt}% + \setlength{\labelwidth}{\hintscolumnwidth}% + \setlength{\labelsep}{\separatorcolumnwidth}% + \leftmargin\labelwidth% + \advance\leftmargin\labelsep% + \@openbib@code% + \usecounter{enumiv}% + \let\p@enumiv\@empty% + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \sloppy% + \clubpenalty4000%\@clubpenalty \clubpenalty% + \widowpenalty4000% + \sfcode`\.\@m% + \sfcode `\=1000\relax}% + {% + \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}% + \end{list}} + + +%------------------------------------------------------------------------------- +% letter style definition +%------------------------------------------------------------------------------- +% commands +\renewcommand*{\recomputeletterbodylengths}{% + \recomputecvlengths% + \setlength{\parskip}{6\p@}} + +\renewcommand*{\makeletterclosing}{ + \@closing\\[3em]% + {\bfseries\@firstname~\@lastname}% + \ifthenelse{\isundefined{\@enclosure}}{}{% + \\% + \vfil% + {\color{color2}\itshape\enclname: \@enclosure}}% + \vfil} + + +\endinput + + +%% end of file `moderncvbodyi.sty'. diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvbodyiii.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvbodyiii.sty new file mode 100644 index 00000000000..a2de047a554 --- /dev/null +++ b/Master/texmf-dist/tex/latex/moderncv/moderncvbodyiii.sty @@ -0,0 +1,238 @@ +%% start of file `moderncvbodyiii.sty'. +%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com). +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License version 1.3c, +% available at http://www.latex-project.org/lppl/. + + +%------------------------------------------------------------------------------- +% identification +%------------------------------------------------------------------------------- +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{moderncvbodyiii}[2015/07/28 v2.0.0 modern curriculum vitae and letter body variant: 3] + +% rules type options: "fullrules", "shortrules", "mixedrules" (default) or "norules" +\@initializeif{\if@fullrules}\@fullrulesfalse +\DeclareOption{fullrules} {\@fullrulestrue\@shortrulesfalse\@mixedrulesfalse\@norulesfalse} +\@initializeif{\if@shortrules}\@shortrulesfalse +\DeclareOption{shortrules}{\@fullrulesfalse\@shortrulestrue\@mixedrulesfalse\@norulesfalse} +\@initializeif{\if@mixedrules}\@mixedrulesfalse +\DeclareOption{mixedrules}{\@fullrulesfalse\@shortrulesfalse\@mixedrulestrue\@norulesfalse} +\@initializeif{\if@norules}\@norulesfalse +\DeclareOption{norules} {\@fullrulesfalse\@shortrulesfalse\@mixedrulesfalse\@norulestrue} + +% section alignment options: "left" (default), "center" or "right" +\@initializeif{\if@left}\@leftfalse +\DeclareOption{left} {\@lefttrue\@centerfalse\@rightfalse} +\@initializeif{\if@center}\@centerfalse +\DeclareOption{center} {\@leftfalse\@centertrue\@rightfalse} +\@initializeif{\if@right}\@rightfalse +\DeclareOption{right} {\@leftfalse\@centerfalse\@righttrue} + +\DeclareOption*{}% avoid choking on unknown options +\ExecuteOptions{mixedrules,left} +\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package + +%------------------------------------------------------------------------------- +% required packages +%------------------------------------------------------------------------------- + + +%------------------------------------------------------------------------------- +% overall body definition +%------------------------------------------------------------------------------- +% fonts +\renewcommand*{\sectionfont}{% + \if@norules% + \Large\bfseries\scshape% + \else% + \Large\bfseries\upshape\fi} +\renewcommand*{\subsectionfont}{% + \if@norules% + \large\mdseries\itshape% + \else% + \large\upshape\fontseries{sb}\selectfont\fi} +\renewcommand*{\hintfont}{\bfseries} + +% styles +\renewcommand*{\sectionstyle}[1]{{% + \if@center\centering\else% + \if@right\raggedleft\fi\fi% + \sectionfont\textcolor{color1}{#1}% + \if@shortrules\else% + \par\fi}} +\renewcommand*{\subsectionstyle}[1]{{% + \if@center\centering\else% + \if@right\raggedleft\fi\fi% + \subsectionfont\textcolor{color1}{#1}% + \if@shortrules\else\if@mixedrules\else% + \par\fi\fi}} +\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}} + + +%------------------------------------------------------------------------------- +% resume body definition +%------------------------------------------------------------------------------- +% lengths +% used by \cvitem (and all children command) +\@initializelength{\hintscolumnwidth} \setlength{\hintscolumnwidth}{0.3\textwidth} +\@initializelength{\separatorcolumnwidth} \setlength{\separatorcolumnwidth}{0.025\textwidth} +\@initializelength{\maincolumnwidth} +% used by \cvdoubleitem +\@initializelength{\doubleitemcolumnwidth} +% used by \cvlistitem +\@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol} +\@initializelength{\listitemcolumnwidth} +% used by \cvlistdoubleitem +\@initializelength{\listdoubleitemcolumnwidth} + +% commands +\renewcommand*{\recomputecvbodylengths}{% + % body lengths + \setlength{\maincolumnwidth}{\textwidth-\leftskip-\rightskip}% + \setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}% + \setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}% + \setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}% + \setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}% + \setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}% + % regular lengths + \setlength{\parskip}{0\p@}} + +\RenewDocumentCommand{\section}{sm}{% + \par\addvspace{2.5ex}% + \phantomsection{}% reset the anchor for hyperrefs + \addcontentsline{toc}{section}{#2}% + \if@left\else\if@fullrules\else\if@mixedrules\else% + \sectionrule\fi\fi\fi% + \strut\sectionstyle{#2}% + \if@fullrules% + \sectionrule% + \else\if@mixedrules% + \sectionrule% + \else\if@right\else% + \sectionrule\fi\fi\fi% + \par\nobreak\addvspace{1ex}\@afterheading} + +\RenewDocumentCommand{\subsection}{sm}{% + \par\addvspace{1ex}% + \phantomsection{}% + \addcontentsline{toc}{subsection}{#2}% + \if@left\else\if@fullrules\else% + \subsectionrule\fi\fi% + \strut\subsectionstyle{#2}% + \if@fullrules% + \subsectionrule% + \else\if@right\else% + \subsectionrule\fi\fi% + \par\nobreak\addvspace{0.5ex}\@afterheading} + +\newcommand*{\sectionrule}{} +\newcommand*{\subsectionrule}{} +\if@fullrules% + \renewcommand*{\sectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{color1}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}} + \renewcommand*{\subsectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{color1}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible} +\if@shortrules% + \renewcommand*{\sectionrule}{\leavevmode{\color{color1}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}} + \renewcommand*{\subsectionrule}{\leavevmode{\color{color1}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}} +\if@mixedrules% + \renewcommand*{\sectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{color1}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}} + \renewcommand*{\subsectionrule}{\leavevmode{\color{color1}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}} +\if@norules% + \renewcommand*{\sectionrule}{} + \renewcommand*{\subsectionrule}{}\fi + +\renewcommand*{\cvitem}[3][.25em]{% + \ifthenelse{\equal{#2}{}}{}{\hintstyle{#2}: }{#3}% + \par\addvspace{#1}} + +\renewcommand*{\cvdoubleitem}[5][.25em]{% + \begin{minipage}[t]{\doubleitemcolumnwidth}\hintstyle{#2}: #3\end{minipage}% + \hfill% fill of \separatorcolumnwidth + \begin{minipage}[t]{\doubleitemcolumnwidth}\ifthenelse{\equal{#4}{}}{}{\hintstyle{#4}: }#5\end{minipage}% + \par\addvspace{#1}} + +\renewcommand*{\cvlistitem}[2][.25em]{% + \listitemsymbol\begin{minipage}[t]{\listitemcolumnwidth}#2\end{minipage}% + \par\addvspace{#1}} + +\renewcommand*{\cvlistdoubleitem}[3][.25em]{% + \cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#2\end{minipage}% + \hfill% fill of \separatorcolumnwidth + \ifthenelse{\equal{#3}{}}% + {}% + {\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#3\end{minipage}}}} + +\renewcommand*{\cventry}[7][.25em]{ + \begin{tabular*}{\maincolumnwidth}{l@{\extracolsep{\fill}}r}% + {\bfseries #4} & {\bfseries #5}\\% + {\itshape #3\ifthenelse{\equal{#6}{}}{}{, #6}} & {\itshape #2}\\% + \end{tabular*}% + \ifx&% + \else{\\% + \begin{minipage}{\maincolumnwidth}% + \small#7% + \end{minipage}}\fi% + \par\addvspace{#1}} + +\@initializebox{\cvitemwithcommentmainbox} +\@initializelength{\cvitemwithcommentmainlength} +\@initializelength{\cvitemwithcommentcommentlength} +\renewcommand*{\cvitemwithcomment}[4][.25em]{% + \savebox{\cvitemwithcommentmainbox}{\ifthenelse{\equal{#2}{}}{}{\hintstyle{#2}: }#3}% + \setlength{\cvitemwithcommentmainlength}{\widthof{\usebox{\cvitemwithcommentmainbox}}}% + \setlength{\cvitemwithcommentcommentlength}{\maincolumnwidth-\separatorcolumnwidth-\cvitemwithcommentmainlength}% + \begin{minipage}[t]{\cvitemwithcommentmainlength}\usebox{\cvitemwithcommentmainbox}\end{minipage}% + \hfill% fill of \separatorcolumnwidth + \begin{minipage}[t]{\cvitemwithcommentcommentlength}\raggedleft\small\itshape#4\end{minipage}% + \par\addvspace{#1}} + +\renewenvironment{thebibliography}[1]% + {% + \bibliographyhead{\refname}% +% \small% + \begin{list}{\bibliographyitemlabel}% + {% + \setlength{\topsep}{0pt}% + \setlength{\labelwidth}{0pt}% + \ifthenelse{\equal{\bibliographyitemlabel}{}}% + {\setlength{\labelsep}{0pt}}% + {\setlength{\labelsep}{\separatorcolumnwidth}}% + \leftmargin\labelwidth% + \advance\leftmargin\labelsep% + \@openbib@code% + \usecounter{enumiv}% + \let\p@enumiv\@empty% + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \sloppy% + \clubpenalty4000%\@clubpenalty \clubpenalty% + \widowpenalty4000% + \sfcode`\.\@m% + \sfcode `\=1000\relax}% + {% + \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}% + \end{list}} + + +%------------------------------------------------------------------------------- +% letter style definition +%------------------------------------------------------------------------------- +% commands +\renewcommand*{\recomputeletterbodylengths}{% + \recomputecvbodylengths% + \setlength{\parskip}{6\p@}} + +\renewcommand*{\makeletterclosing}{ + \@closing\\[3em]% + {\bfseries\@firstname~\@lastname}% + \ifthenelse{\isundefined{\@enclosure}}{}{% + \\% + \vfil% + {\color{color2}\itshape\enclname: \@enclosure}}% + \vfil} + + +\endinput + + +%% end of file `moderncvbodyiii.sty'. diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvbodyiv.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvbodyiv.sty new file mode 100644 index 00000000000..20af5e48d37 --- /dev/null +++ b/Master/texmf-dist/tex/latex/moderncv/moderncvbodyiv.sty @@ -0,0 +1,183 @@ +%% start of file `moderncvbodyiv.sty'. +%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com). +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License version 1.3c, +% available at http://www.latex-project.org/lppl/. + + +%------------------------------------------------------------------------------- +% identification +%------------------------------------------------------------------------------- +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{moderncvbodyiv}[2015/07/28 v2.0.0 modern curriculum vitae and letter body variant: 4] + + +%------------------------------------------------------------------------------- +% required packages +%------------------------------------------------------------------------------- + + +%------------------------------------------------------------------------------- +% overall body definition +%------------------------------------------------------------------------------- +% fonts +\renewcommand*{\sectionfont}{\Large\bfseries\upshape} +\renewcommand*{\subsectionfont}{\large\bfseries\itshape} +\renewcommand*{\hintfont}{\bfseries} + +% styles +\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}} +\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}} +\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}} + + +%------------------------------------------------------------------------------- +% resume body definition +%------------------------------------------------------------------------------- +% lengths +% used by \cvitem (and all children command) +\@initializelength{\hintscolumnwidth} \setlength{\hintscolumnwidth}{0.3\textwidth} +\@initializelength{\separatorcolumnwidth} \setlength{\separatorcolumnwidth}{0.025\textwidth} +\@initializelength{\maincolumnwidth} +% used by \cvdoubleitem +\@initializelength{\doubleitemcolumnwidth} +% used by \cvlistitem +\@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol} +\@initializelength{\listitemcolumnwidth} +% used by \cvlistdoubleitem +\@initializelength{\listdoubleitemcolumnwidth} + +% commands +\renewcommand*{\recomputecvbodylengths}{% + % body lengths + \setlength{\maincolumnwidth}{\textwidth-\leftskip-\rightskip}% + \setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}% + \setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}% + \setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}% + \setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}% + \setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}% + % regular lengths + \setlength{\parskip}{0\p@}} + +\RenewDocumentCommand{\section}{sm}{% + \par\addvspace{2.5ex}% + \phantomsection{}% reset the anchor for hyperrefs + \addcontentsline{toc}{section}{#2}% + \strut\sectionstyle{#2}% + \par\nobreak\addvspace{1ex}\@afterheading} + +\RenewDocumentCommand{\subsection}{sm}{% + \par\addvspace{1ex}% + \phantomsection{}% + \addcontentsline{toc}{subsection}{#2}% + \strut\subsectionstyle{#2}% + \par\nobreak\addvspace{0.5ex}\@afterheading} + +\renewcommand*{\cvitem}[3][.25em]{% + \ifthenelse{\equal{#2}{}}{}{\hintstyle{#2}: }{#3}% + \par\addvspace{#1}} + +\renewcommand*{\cvdoubleitem}[5][.25em]{% + \begin{minipage}[t]{\doubleitemcolumnwidth}\hintstyle{#2}: #3\end{minipage}% + \hfill% fill of \separatorcolumnwidth + \begin{minipage}[t]{\doubleitemcolumnwidth}\ifthenelse{\equal{#4}{}}{}{\hintstyle{#4}: }#5\end{minipage}% + \par\addvspace{#1}} + +\renewcommand*{\cvlistitem}[2][.25em]{% + \cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listitemcolumnwidth}#2\end{minipage}}} + +\renewcommand*{\cvlistdoubleitem}[3][.25em]{% + \cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#2\end{minipage}% + \hfill% fill of \separatorcolumnwidth + \ifthenelse{\equal{#3}{}}% + {}% + {\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#3\end{minipage}}}} + +\@initializebox{\cventryyearbox} +\@initializelength{\cventrytitleboxwidth} +\renewcommand*{\cventry}[7][.25em]{% + \savebox{\cventryyearbox}{% + \hspace*{2\separatorcolumnwidth}% + \hintstyle{#2}}% + \setlength{\cventrytitleboxwidth}{\widthof{\usebox{\cventryyearbox}}}% + \setlength{\cventrytitleboxwidth}{\maincolumnwidth-\cventrytitleboxwidth}% + \begin{minipage}{\maincolumnwidth}% + \parbox[t]{\cventrytitleboxwidth}{% + \strut% + {\bfseries#3}% + \ifthenelse{\equal{#4}{}}{}{, {\slshape#4}}% + \ifthenelse{\equal{#5}{}}{}{, #5}% + \ifthenelse{\equal{#6}{}}{}{, #6}% + .\strut}% + \usebox{\cventryyearbox}% + \end{minipage}\strut% + \ifx&% + \else{% + \newline{}% + \strut% + \begin{minipage}[t]{\maincolumnwidth}% + \small% + #7% + \end{minipage}}\fi% + \par\addvspace{#1}} + +\@initializebox{\cvitemwithcommentmainbox} +\@initializelength{\cvitemwithcommentmainlength} +\@initializelength{\cvitemwithcommentcommentlength} +\renewcommand*{\cvitemwithcomment}[4][.25em]{% + \savebox{\cvitemwithcommentmainbox}{\ifthenelse{\equal{#2}{}}{}{\hintstyle{#2}: }#3}% + \setlength{\cvitemwithcommentmainlength}{\widthof{\usebox{\cvitemwithcommentmainbox}}}% + \setlength{\cvitemwithcommentcommentlength}{\maincolumnwidth-\separatorcolumnwidth-\cvitemwithcommentmainlength}% + \begin{minipage}[t]{\cvitemwithcommentmainlength}\usebox{\cvitemwithcommentmainbox}\end{minipage}% + \hfill% fill of \separatorcolumnwidth + \begin{minipage}[t]{\cvitemwithcommentcommentlength}\raggedleft\small\itshape#4\end{minipage}% + \par\addvspace{#1}} + +\renewenvironment{thebibliography}[1]% + {% + \bibliographyhead{\refname}% +% \small% + \begin{list}{\bibliographyitemlabel}% + {% + \setlength{\topsep}{0pt}% + \setlength{\labelwidth}{\hintscolumnwidth}% + \setlength{\labelsep}{\separatorcolumnwidth}% + \leftmargin\labelwidth% + \advance\leftmargin\labelsep% + \@openbib@code% + \usecounter{enumiv}% + \let\p@enumiv\@empty% + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \sloppy% + \clubpenalty4000%\@clubpenalty \clubpenalty% + \widowpenalty4000% + \sfcode`\.\@m% + \sfcode `\=1000\relax}% + {% + \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}% + \end{list}} + + +%------------------------------------------------------------------------------- +% letter style definition +%------------------------------------------------------------------------------- +% commands +\renewcommand*{\recomputeletterbodylengths}{% + \recomputecvbodylengths% + \setlength{\parskip}{6\p@}} + +\renewcommand*{\makeletterclosing}{ + \@closing\\[3em]% + {\bfseries\@firstname~\@lastname}% + \ifthenelse{\isundefined{\@enclosure}}{}{% + \\% + \vfil% + {\color{color2}\itshape\enclname: \@enclosure}}% + \vfil} + + +\endinput + + +%% end of file `moderncvbodyiv.sty'. diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvbodyv.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvbodyv.sty new file mode 100644 index 00000000000..8888fe5ed56 --- /dev/null +++ b/Master/texmf-dist/tex/latex/moderncv/moderncvbodyv.sty @@ -0,0 +1,210 @@ +%% start of file `moderncvbodyv.sty'. +%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com). +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License version 1.3c, +% available at http://www.latex-project.org/lppl/. + + +%------------------------------------------------------------------------------- +% identification +%------------------------------------------------------------------------------- +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{moderncvbodyv}[2015/07/28 v2.0.0 modern curriculum vitae and letter body variant: 5] + + +%------------------------------------------------------------------------------- +% required packages +%------------------------------------------------------------------------------- + + +%------------------------------------------------------------------------------- +% overall style definition +%------------------------------------------------------------------------------- + + +%------------------------------------------------------------------------------- +% resume style definition +%------------------------------------------------------------------------------- +% fonts +\renewcommand*{\sectionfont}{\Large\mdseries\upshape} +\renewcommand*{\subsectionfont}{\large\mdseries\slshape} +\renewcommand*{\hintfont}{\bfseries} + +% styles +\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}} +\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}} +\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}} + +% lengths +% used by \cvitem (and all children command) +\@initializelength{\hintscolumnwidth} \setlength{\hintscolumnwidth}{0.25\textwidth} +\@initializelength{\separatorcolumnwidth} \setlength{\separatorcolumnwidth}{0.025\textwidth} +\@initializelength{\separatorrulewidth} \setlength{\separatorrulewidth}{1.2\p@}% +\@initializelength{\maincolumnwidth} +% used by \cvdoubleitem +\@initializelength{\doubleitemcolumnwidth} +% used by \cvlistitem +\@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol} +\@initializelength{\listitemcolumnwidth} +%\@initializelength{\listitemmaincolumnwidth} +% used by \cvlistdoubleitem +\@initializelength{\listdoubleitemcolumnwidth} +%\@initializelength{\listdoubleitemmaincolumnwidth} + +% commands +\@initializecommand{\recomputecvbodylengths}{% + % body lengths + \setlength{\maincolumnwidth}{\textwidth-\leftskip-\rightskip-\separatorcolumnwidth-\separatorcolumnwidth-\hintscolumnwidth-\separatorrulewidth}% + \setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}% + \setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}% + \setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}% + \setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}% + \setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}% + % regular lengths + \setlength{\parskip}{0\p@}} + +\@initializeif{\if@aftersection}\@aftersectionfalse% +\RenewDocumentCommand{\section}{sm}{% + \addvspace{2.5ex}% + \phantomsection{}% reset the anchor for hyperrefs + \addcontentsline{toc}{section}{#2}% + \noindent\rlap{\@cvitem{\raggedleft\sectionstyle{#2}}{}}% + \nobreak\@afterheading\@aftersectiontrue\ignorespaces} + +%\@initializeif{\if@aftersubsection}\@aftersubsectionfalse% +\RenewDocumentCommand{\subsection}{sm}{% + %\addvspace{1ex}% + \vspace*{-\arrayrulewidth}% HACK; I don't understand where the space is coming from, nor what it's exact value is :( + \if@aftersection% + \par\ignorespaces\fi% + \phantomsection{}% reset the anchor for hyperrefs + \addcontentsline{toc}{subsection}{#2}% + \noindent\rlap{\@cvitem{\if@aftersection\else\@moderncvstrut{4pt}{24pt}\fi\raggedleft\subsectionstyle{#2}}{}}% + \nobreak\@afterheading\@aftersectiontrue\ignorespaces} + +\renewcommand*{\cvitem}[3][.5ex]{% + \@cvitem[#1]{}{\ifthenelse{\equal{#2}{}}{}{\hintstyle{#2}: }{#3}}} + +% underlying command to implement \cvitem, \subsection and \section +\newcommand*{\@cvitem}[3][.5ex]{% + \arrayrulecolor{color1}% + \setlength\arrayrulewidth{\separatorrulewidth}% + \if@aftersection\else% + \vspace*{-\separatorrulewidth}\fi% HACK; I don't understand where the space is coming from, nor what it's exact value is :( + \noindent% +% \setlength{\fboxsep}{0pt}\framebox{% start of debuging + \begin{tabular}[t]{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}|@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}% + \@moderncvstrut{4pt}{16pt}#2 \\[#1]% the spacing needs to be inside the cell for the vertical rule to extend correctly + \end{tabular}% +% }% end of debuging + \par\@aftersectionfalse\ignorespaces} + +\renewcommand*{\cvdoubleitem}[5][.5ex]{% + \@cvitem[#1]{}{% + \begin{minipage}[t]{\doubleitemcolumnwidth}\hintstyle{#2}: #3\end{minipage}% + \hfill% fill of \separatorcolumnwidth + \begin{minipage}[t]{\doubleitemcolumnwidth}\ifthenelse{\equal{#4}{}}{}{\hintstyle{#4}: }#5\end{minipage}}} + +\renewcommand*{\cvlistitem}[2][.5ex]{% + \@cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listitemcolumnwidth}#2\end{minipage}}} + +\renewcommand*{\cvlistdoubleitem}[3][.5ex]{% + \@cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#2\end{minipage}% + \hfill% fill of \separatorcolumnwidth + \ifthenelse{\equal{#3}{}}% + {}% + {\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#3\end{minipage}}}} + +\@initializebox{\cventryyearbox} +\@initializelength{\cventrytitleboxwidth} +\renewcommand*{\cventry}[7][.5ex]{% + \savebox{\cventryyearbox}{% + \hspace*{2\separatorcolumnwidth}% + \hintstyle{#2}}% + \setlength{\cventrytitleboxwidth}{\widthof{\usebox{\cventryyearbox}}}% + \setlength{\cventrytitleboxwidth}{\maincolumnwidth-\cventrytitleboxwidth}% + \cvitem[#1]{}{% + \parbox[t]{\cventrytitleboxwidth}{% + \strut% + {\bfseries#3}% + \ifthenelse{\equal{#4}{}}{}{, {\slshape#4}}% + \ifthenelse{\equal{#5}{}}{}{, #5}% + \ifthenelse{\equal{#6}{}}{}{, #6}% + .\strut}% + \usebox{\cventryyearbox}}% + \ifx&% + \else% + \vspace*{-4pt}% + \cvitem[#1]{}{\small#7}\fi} + +\@initializebox{\cvitemwithcommentmainbox} +\@initializelength{\cvitemwithcommentmainlength} +\@initializelength{\cvitemwithcommentcommentlength} +\renewcommand*{\cvitemwithcomment}[4][.5ex]{% + \savebox{\cvitemwithcommentmainbox}{\ifthenelse{\equal{#2}{}}{}{\hintstyle{#2}: }#3}% + \setlength{\cvitemwithcommentmainlength}{\widthof{\usebox{\cvitemwithcommentmainbox}}}% + \setlength{\cvitemwithcommentcommentlength}{\maincolumnwidth-\separatorcolumnwidth-\cvitemwithcommentmainlength}% + \@cvitem[#1]{}{% + \begin{minipage}[t]{\cvitemwithcommentmainlength}\usebox{\cvitemwithcommentmainbox}\end{minipage}% + \hfill% fill of \separatorcolumnwidth + \begin{minipage}[t]{\cvitemwithcommentcommentlength}\raggedleft\small\itshape#4\end{minipage}}} + +\renewenvironment{thebibliography}[1]% BUG/TODO: remove extra space between heading and first bibliography entry, as well as after last one + {% + \bibliographyhead{\refname}% +% \small% + \arrayrulecolor{color1}% + \setlength\arrayrulewidth{\separatorrulewidth}% + \noindent% + \begin{tabular}[t]{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}|@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}% + \@moderncvstrut{4pt}{16pt} &% + \begin{list}{\bibliographyitemlabel}{% + \setlength{\topsep}{0pt}% + \setlength{\partopsep}{0pt}% + \setlength{\labelwidth}{0pt}% + \setlength{\itemsep}{0pt}% + \setlength{\parskip}{0pt}% + \ifthenelse{\equal{\bibliographyitemlabel}{}}% + {\setlength{\labelsep}{0pt}}% + {\setlength{\labelsep}{\separatorcolumnwidth}}% + \leftmargin\labelwidth% + \advance\leftmargin\labelsep% + \@openbib@code% + \usecounter{enumiv}% + \let\p@enumiv\@empty% + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \sloppy% + \clubpenalty4000%\@clubpenalty \clubpenalty% + \widowpenalty4000% + \sfcode`\.\@m% + \sfcode `\=1000\relax}% + {% + \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}% + \end{list}% + \\[.5ex]% + \end{tabular}% + \par\@aftersectionfalse\ignorespaces} + + +%------------------------------------------------------------------------------- +% letter style definition +%------------------------------------------------------------------------------- +% commands +\renewcommand*{\recomputeletterbodylengths}{% + \recomputecvbodylengths% + \setlength{\parskip}{6\p@}} + +\renewcommand*{\makeletterclosing}{ + \@closing\\[3em]% + {\bfseries \@firstname~\@lastname}% + \ifthenelse{\isundefined{\@enclosure}}{}{% + \\% + \vfill% + {\color{color2}\itshape\enclname: \@enclosure}}} + + +\endinput + + +%% end of file `moderncvbodyv.sty'. diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcollection.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcollection.sty index 4d0fb9ed611..909d234933f 100644 --- a/Master/texmf-dist/tex/latex/moderncv/moderncvcollection.sty +++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcollection.sty @@ -1,5 +1,5 @@ %% start of file `moderncvcollection.sty'. -%% Copyright 2013-2013 Xavier Danaux (xdanaux@gmail.com). +%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com). % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License version 1.3c, @@ -10,7 +10,7 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{moderncvcollection}[2013/04/29 v1.5.1 moderncv collections] +\ProvidesPackage{moderncvcollection}[2015/07/28 v2.0.0 moderncv collections] %------------------------------------------------------------------------------- diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblack.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblack.sty index 2716c6d3f1e..24a911ed8ec 100644 --- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblack.sty +++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblack.sty @@ -1,5 +1,5 @@ %% start of file `moderncvcolorblack.sty'. -%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com). +%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com). % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License version 1.3c, @@ -10,7 +10,7 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{moderncvcolorblack}[2013/04/29 v1.5.1 modern curriculum vitae and letter color scheme: black] +\ProvidesPackage{moderncvcolorblack}[2015/07/28 v2.0.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 37741a03ebb..39f5f42d31d 100644 --- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblue.sty +++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblue.sty @@ -1,5 +1,5 @@ %% start of file `moderncvcolorblue.sty'. -%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com). +%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com). % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License version 1.3c, @@ -10,7 +10,7 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{moderncvcolorblue}[2013/04/29 v1.5.1 modern curriculum vitae and letter color scheme: blue] +\ProvidesPackage{moderncvcolorblue}[2015/07/28 v2.0.0 modern curriculum vitae and letter color scheme: blue] %------------------------------------------------------------------------------- diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorburgundy.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorburgundy.sty new file mode 100644 index 00000000000..28f5b2c1d58 --- /dev/null +++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorburgundy.sty @@ -0,0 +1,27 @@ +%% start of file `moderncvcolorburgundy.sty'. +%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com). +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License version 1.3c, +% available at http://www.latex-project.org/lppl/. + + +%------------------------------------------------------------------------------- +% identification +%------------------------------------------------------------------------------- +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{moderncvcolorburgundy}[2015/07/28 v2.0.0 modern curriculum vitae and letter color scheme: burgundy] + + +%------------------------------------------------------------------------------- +% color scheme definition +%------------------------------------------------------------------------------- +\definecolor{color0}{rgb}{0,0,0}% black +\definecolor{color1}{rgb}{0.596078,0,0}% burgundy: 139/255 (0.545098) or 152/255 (0.596078) +\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey + + +\endinput + + +%% end of file `moderncvcolorburgundy.sty'. diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgreen.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgreen.sty index fa5e9ba0b88..1e4eadcbedf 100644 --- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgreen.sty +++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgreen.sty @@ -1,5 +1,5 @@ %% start of file `moderncvcolorgreen.sty'. -%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com). +%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com). % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License version 1.3c, @@ -10,7 +10,7 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{moderncvcolorgreen}[2013/04/29 v1.5.1 modern curriculum vitae and letter color scheme: green] +\ProvidesPackage{moderncvcolorgreen}[2015/07/28 v2.0.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 1a5e7939763..8934deeeb07 100644 --- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgrey.sty +++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgrey.sty @@ -1,5 +1,5 @@ %% start of file `moderncvcolorgrey.sty'. -%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com). +%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com). % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License version 1.3c, @@ -10,7 +10,7 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{moderncvcolorgrey}[2013/04/29 v1.5.1 modern curriculum vitae and letter color scheme: grey] +\ProvidesPackage{moderncvcolorgrey}[2015/07/28 v2.0.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 4c5ab8b8719..cc0a62e346d 100644 --- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolororange.sty +++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolororange.sty @@ -1,5 +1,5 @@ %% start of file `moderncvcolororange.sty'. -%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com). +%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com). % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License version 1.3c, @@ -10,7 +10,7 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{moderncvcolororange}[2013/04/29 v1.5.1 modern curriculum vitae and letter color scheme: orange] +\ProvidesPackage{moderncvcolororange}[2015/07/28 v2.0.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 7355e216e2a..2c63aaf3513 100644 --- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorpurple.sty +++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorpurple.sty @@ -1,5 +1,5 @@ %% start of file `moderncvcolorpurple.sty'. -%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com). +%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com). % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License version 1.3c, @@ -10,7 +10,7 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{moderncvcolorpurple}[2013/04/29 v1.5.1 modern curriculum vitae and letter color scheme: purple] +\ProvidesPackage{moderncvcolorpurple}[2015/07/28 v2.0.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 9ae57153525..be178aa9e5f 100644 --- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorred.sty +++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorred.sty @@ -1,5 +1,5 @@ %% start of file `moderncvcolorred.sty'. -%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com). +%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com). % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License version 1.3c, @@ -10,7 +10,7 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{moderncvcolorred}[2013/04/29 v1.5.1 modern curriculum vitae and letter color scheme: red] +\ProvidesPackage{moderncvcolorred}[2015/07/28 v2.0.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 0ca52590519..681eaf4eb00 100644 --- a/Master/texmf-dist/tex/latex/moderncv/moderncvcompatibility.sty +++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcompatibility.sty @@ -1,5 +1,5 @@ %% start of file `moderncvcompatibility.sty'. -%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com). +%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com). % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License version 1.3c, @@ -10,7 +10,7 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{moderncvcompatibility}[2013/04/29 v1.5.1 modern curriculum vitae and letter compatibility patches] +\ProvidesPackage{moderncvcompatibility}[2015/07/28 v2.0.0 modern curriculum vitae and letter compatibility patches] %------------------------------------------------------------------------------- diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvdebugtools.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvdebugtools.sty index 937cdaf450c..04ad305b755 100644 --- a/Master/texmf-dist/tex/latex/moderncv/moderncvdebugtools.sty +++ b/Master/texmf-dist/tex/latex/moderncv/moderncvdebugtools.sty @@ -1,5 +1,5 @@ %% start of file `moderncvdebugtools.sty'. -%% Copyright 2013-2013 Xavier Danaux (xdanaux@gmail.com). +%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com). % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License version 1.3c, @@ -10,7 +10,7 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{moderncvdebugtools}[2013/04/29 v1.5.1 modern curriculum vitae and letter debug tools] +\ProvidesPackage{moderncvdebugtools}[2015/07/28 v2.0.0 modern curriculum vitae and letter debug tools] %------------------------------------------------------------------------------- diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvfooti.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvfooti.sty new file mode 100644 index 00000000000..1a66d0f64ec --- /dev/null +++ b/Master/texmf-dist/tex/latex/moderncv/moderncvfooti.sty @@ -0,0 +1,134 @@ +%% start of file `moderncvfooti.sty'. +%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com). +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License version 1.3c, +% available at http://www.latex-project.org/lppl/. + + +%------------------------------------------------------------------------------- +% identification +%------------------------------------------------------------------------------- +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{moderncvfooti}[2015/07/28 v2.0.0 modern curriculum vitae and letter footer variant: 1] + + +%------------------------------------------------------------------------------- +% required packages +%------------------------------------------------------------------------------- + + +%------------------------------------------------------------------------------- +% overall foot definition +%------------------------------------------------------------------------------- +% fonts +\renewcommand*{\addressfont}{\normalsize\mdseries\slshape} + +% symbols +% footer symbol used to separate footer elements +\newcommand*{\footsymbol}{% + {~~~{\rmfamily\textbullet}~~~}}% the \rmfamily is required to force Latin Modern fonts when using sans serif, as OMS/lmss/m/n is not defined and gets substituted by OMS/cmsy/m/n + +% lengths +\@initializelength{\footwidth}% +\renewcommand*{\recomputefootlengths}{% + \setlength{\footwidth}{0.8\textwidth}} + +% commands +% internal command to add an element to the footer +% it collects the elements in a temporary box, and checks when to flush the box +\@initializebox{\footbox}% +\@initializebox{\foottempbox}% +\@initializelength{\footboxwidth}% +\@initializeif{\if@firstfootelement}\@firstfootelementtrue% +% adds an element to the footer, separated by footsymbol +% usage: \addtofoot[footsymbol]{element} +\newcommand*{\addtofoot}[2][\footsymbol]{% + \if@firstfootelement% + \savebox{\foottempbox}{\usebox{\footbox}#2}% + \else% + \savebox{\foottempbox}{\usebox{\footbox}#1#2}\fi% + \settowidth{\footboxwidth}{\usebox{\foottempbox}}% + \ifnum\footboxwidth<\footwidth% + \savebox{\footbox}{\usebox{\foottempbox}}% + \@firstfootelementfalse% + \else% + \flushfoot\\% + \savebox{\footbox}{#2}% + \savebox{\foottempbox}{#2}% + \settowidth{\footboxwidth}{\usebox{\footbox}}% + \@firstfootelementfalse\fi} +% internal command to flush the foot +\newcommand*{\flushfoot}{% + \strut\usebox{\footbox}% + \savebox{\footbox}{}% + \savebox{\foottempbox}{}% + \setlength{\footboxwidth}{0pt}} + + +%------------------------------------------------------------------------------- +% resume foot definition +%------------------------------------------------------------------------------- +% lenghts +\renewcommand*{\recomputecvfootlengths}{\recomputefootlengths} + +% commands +\renewcommand*{\makecvfoot}{% + \recomputecvfootlengths{}% + \fancypagestyle{plain}{% + \fancyfoot[c]{% + \parbox[b]{\footwidth}{% + \centering% + \color{color2}\addressfont% + \vspace{\baselineskip}% forces a white line to ensure space between main text and footer (as footer height can't be known in advance) + \ifthenelse{\isundefined{\@addressstreet}}{}{\addtofoot[]{\addresssymbol\@addressstreet}% + \ifthenelse{\equal{\@addresscity}{}}{}{\addtofoot[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty + \ifthenelse{\equal{\@addresscountry}{}}{}{\addtofoot[~--~]{\@addresscountry}}% + \flushfoot\@firstfootelementtrue\\}% + \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number + \addtofoot{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}% + \ifthenelse{\isundefined{\@email}}{}{\addtofoot{\emailsymbol\emaillink{\@email}}}% + \ifthenelse{\isundefined{\@homepage}}{}{\addtofoot{\homepagesymbol\httplink{\@homepage}}}% + \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link + \addtofoot{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}% + \ifthenelse{\isundefined{\@extrainfo}}{}{\addtofoot{\@extrainfo}}% + \ifthenelse{\lengthtest{\footboxwidth=0pt}}{}{\flushfoot}% the lengthtest is required to avoid flushing an empty footer, which could cause a blank line due to the \\ after the address, if no other personal info is used + }}}% + \pagestyle{plain}} + + +%------------------------------------------------------------------------------- +% letter foot definition +%------------------------------------------------------------------------------- +% commands +\renewcommand*{\recomputeletterfootlengths}{\recomputefootlengths} +\renewcommand*{\makeletterfoot}{% + \recomputeletterfootlengths{}% + \fancypagestyle{plain}{% + \fancyfoot[c]{% + \parbox[b]{\footwidth}{% + \centering% + \addressfont\color{color2}% + \vspace{\baselineskip}% forces a white line to ensure space between main text and footer (as footer height can't be known in advance) + \vspace{-\baselineskip}% to cancel out the extra vertical space taken by the name (below) and ensure perfect alignment of letter and cv footers + \strut{\bfseries\upshape\@firstname~\@lastname}\\% the \strut is required to ensure the line is exactly \baselineskip tall + \ifthenelse{\isundefined{\@addressstreet}}{}{\addtofoot[]{\addresssymbol\@addressstreet}% + \ifthenelse{\equal{\@addresscity}{}}{}{\addtofoot[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty + \ifthenelse{\equal{\@addresscountry}{}}{}{\addtofoot[~--~]{\@addresscountry}}% + \flushfoot\@firstfootelementtrue\\}% + \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number + \addtofoot{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}% + \ifthenelse{\isundefined{\@email}}{}{\addtofoot{\emailsymbol\emaillink{\@email}}}% + \ifthenelse{\isundefined{\@homepage}}{}{\addtofoot{\homepagesymbol\httplink{\@homepage}}}% + \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link + \addtofoot{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}% + \ifthenelse{\isundefined{\@extrainfo}}{}{\addtofoot{\@extrainfo}}% + \ifthenelse{\lengthtest{\footboxwidth=0pt}}{}{\flushfoot}% the lengthtest is required to avoid flushing an empty footer, which could cause a blank line due to the \\ after the address, if no other personal info is used + }}}% + \pagestyle{plain}} + + +\endinput + + +%% end of file `moderncvfooti.sty'. diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvheadi.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvheadi.sty new file mode 100644 index 00000000000..3c578914c27 --- /dev/null +++ b/Master/texmf-dist/tex/latex/moderncv/moderncvheadi.sty @@ -0,0 +1,187 @@ +%% start of file `moderncvheadi.sty'. +%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com). +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License version 1.3c, +% available at http://www.latex-project.org/lppl/. + + +%------------------------------------------------------------------------------- +% identification +%------------------------------------------------------------------------------- +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{moderncvheadi}[2015/07/28 v2.0.0 modern curriculum vitae and letter header variant: 1] + +% details options: "details" (default) or "nodetails" +\@initializeif{\if@details}\@detailsfalse +\DeclareOption{details} {\@detailstrue} +\DeclareOption{nodetails} {\@detailsfalse} + +% left/right options: "left" (default) or "right" +\@initializeif{\if@left} \@leftfalse +\DeclareOption{left} {\@lefttrue\@rightfalse} +\@initializeif{\if@right}\@rightfalse +\DeclareOption{right} {\@leftfalse\@righttrue} + +\DeclareOption*{}% avoid choking on unknown options +\ExecuteOptions{details,left} +\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package + + +%------------------------------------------------------------------------------- +% required packages +%------------------------------------------------------------------------------- + + +%------------------------------------------------------------------------------- +% overall head definition +%------------------------------------------------------------------------------- +% fonts +\renewcommand*{\namefont}{\fontsize{34}{36}\mdseries\upshape} +\renewcommand*{\titlefont}{\LARGE\mdseries\slshape} +\renewcommand*{\addressfont}{\small\mdseries\slshape} +\renewcommand*{\quotefont}{\large\slshape} + +% styles +\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}} +\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}} +\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}} +\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}} + + +%------------------------------------------------------------------------------- +% resume head definition +%------------------------------------------------------------------------------- +% lengths +\@initializelength{\quotewidth} +% optional makecvheadname width to force a certain width (if set/remains to 0pt, the width is calculated automatically) +\@initializelength{\makecvheadnamewidth} +\renewcommand*{\recomputecvheadlengths}{% + \setlength{\quotewidth}{0.65\textwidth}} + +% commands +\renewcommand*{\makecvhead}{% + % recompute lengths (in case we are switching from letter to resume, or vice versa) + \recomputecvlengths% + % optional detailed information (pre-rendering) + \@initializebox{\makecvheaddetailsbox}% + \if@details% + \def\phonesdetails{}% + \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number + \protected@edef\phonesdetails{\phonesdetails\protect\makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}% + \def\socialsdetails{}% + \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link + \protected@edef\socialsdetails{\socialsdetails\protect\makenewline\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}% + \savebox{\makecvheaddetailsbox}{% + \addressfont\color{color2}% + \if@left\begin{tabular}[b]{@{}r@{}}\fi% + \if@right\begin{tabular}[b]{@{}l@{}}\fi% + \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet% + \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty + \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}% + \phonesdetails% needs to be pre-rendered as loops and tabulars seem to conflict + \ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}% + \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}% + \socialsdetails% needs to be pre-rendered as loops and tabulars seem to conflict + \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}% + \end{tabular} + }\fi% + % optional photo (pre-rendering) + \@initializebox{\makecvheadpicturebox}% + \savebox{\makecvheadpicturebox}{% + \ifthenelse{\isundefined{\@photo}}% + {}% + {% + \if@left% + \hspace*{\separatorcolumnwidth}\fi% + \color{color1}% + \setlength{\fboxrule}{\@photoframewidth}% + \ifdim\@photoframewidth=0pt% + \setlength{\fboxsep}{0pt}\fi% + \framebox{\includegraphics[width=\@photowidth]{\@photo}}}% + \if@right% + \hspace*{\separatorcolumnwidth}\fi}% + % name and title (pre-rendering) + \@initializelength{\makecvheaddetailswidth}\settowidth{\makecvheaddetailswidth}{\usebox{\makecvheaddetailsbox}}% + \@initializelength{\makecvheadpicturewidth}\settowidth{\makecvheadpicturewidth}{\usebox{\makecvheadpicturebox}}% + \ifthenelse{\lengthtest{\makecvheadnamewidth=0pt}}% check for dummy value (equivalent to \ifdim\makecvheadnamewidth=0pt) + {\setlength{\makecvheadnamewidth}{\textwidth-\makecvheaddetailswidth-\makecvheadpicturewidth}}% + {}% + \@initializebox{\makecvheadnamebox}% + \savebox{\makecvheadnamebox}{% + \begin{minipage}[b]{\makecvheadnamewidth}% + \if@left\raggedright\fi% + \if@right\raggedleft\fi% + \namestyle{\@firstname\ \@lastname}% + \ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}% + \end{minipage}}% + % rendering + \if@left% + \usebox{\makecvheadnamebox}% + \hfill% + \llap{\usebox{\makecvheaddetailsbox}}% \llap is used to suppress the width of the box, allowing overlap if the value of makecvheadnamewidth is forced + \usebox{\makecvheadpicturebox}\fi% + \if@right% + \usebox{\makecvheadpicturebox}% + \rlap{\usebox{\makecvheaddetailsbox}}% \llap is used to suppress the width of the box, allowing overlap if the value of makecvheadnamewidth is forced + \hfill% + \usebox{\makecvheadnamebox}\fi% + \\[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 \makecvhead + + +%------------------------------------------------------------------------------- +% letter head definition +%------------------------------------------------------------------------------- +% lengths +%\renewcommand*{\recomputeletterheadlengths}{} + +% commands +\renewcommand*{\makeletterhead}{% + % recompute lengths (in case we are switching from letter to resume, or vice versa) + \recomputeletterlengths% + % sender contact info + \hfill% + \begin{minipage}{.5\textwidth}% + % optional detailed information + \if@details% + \raggedleft% + \addressfont\textcolor{color2}{% + {\bfseries\upshape\@firstname~\@lastname}\@firstdetailselementfalse% + % optional detailed information + \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet% + \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty + \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}% + \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number + \makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}% + \ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}% + \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}% + \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi% + \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 + \@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900" + % 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}} + + +\endinput + + +%% end of file `moderncvheadi.sty'. diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvheadii.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvheadii.sty new file mode 100644 index 00000000000..f6d19c37388 --- /dev/null +++ b/Master/texmf-dist/tex/latex/moderncv/moderncvheadii.sty @@ -0,0 +1,205 @@ +%% start of file `moderncvheadii.sty'. +%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com). +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License version 1.3c, +% available at http://www.latex-project.org/lppl/. + + +%------------------------------------------------------------------------------- +% identification +%------------------------------------------------------------------------------- +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{moderncvheadii}[2015/07/28 v2.0.0 modern curriculum vitae and letter header variant: 2] + +% details options: "details" or "nodetails" (default) +\@initializeif{\if@details}\@detailsfalse +\DeclareOption{details}{\@detailstrue} +\DeclareOption{nodetails}{\@detailsfalse} + +% name design options: "alternate" (lowercase names & title, no spacing) +\@initializeif{\if@alternate}\@alternatefalse +\DeclareOption{alternate}{\@alternatetrue} + +% left/right options: "left" or "right" (default) +\@initializeif{\if@left} \@leftfalse +\DeclareOption{left} {\@lefttrue\@rightfalse} +\@initializeif{\if@right}\@rightfalse +\DeclareOption{right} {\@leftfalse\@righttrue} + +\DeclareOption*{}% avoid choking on unknown options +\ExecuteOptions{nodetails,right} +\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package + + +%------------------------------------------------------------------------------- +% required packages +%------------------------------------------------------------------------------- + + +%------------------------------------------------------------------------------- +% overall head definition +%------------------------------------------------------------------------------- +% fonts +\renewcommand*{\namefont}{\fontsize{38}{40}\mdseries\upshape} +\renewcommand*{\titlefont}{\LARGE\mdseries\slshape} +\renewcommand*{\addressfont}{\normalsize\mdseries\slshape} +\renewcommand*{\quotefont}{\large\slshape} + +% styles +\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}} +\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}} +\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}} +\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}} + +% commands +\@initializecommand{\makeheaddetailssymbol}{% + {~~~{\rmfamily\textbullet}~~~}}% the \rmfamily is required to force Latin Modern fonts when using sans serif, as OMS/lmss/m/n is not defined and gets substituted by OMS/cmsy/m/n +% internal command to add an element to the footer +% it collects the elements in a temporary box, and checks when to flush the box +\@initializebox{\makeheaddetailsbox}% +\@initializebox{\makeheaddetailstempbox}% +\@initializelength{\makeheaddetailswidth}% +\@initializelength{\makeheaddetailsboxwidth}% +\@initializeif{\if@firstmakeheaddetailselement}\@firstmakeheaddetailselementtrue% +% adds an element to the makehead, separated by makeheadsymbol +% usage: \addtomakehead[makeheadsymbol]{element} +\newcommand*{\addtomakeheaddetails}[2][\makeheaddetailssymbol]{% TODO: use \@initializecommand, which requires modifying its definition to handle mandatory and optional arguments + \if@firstmakeheaddetailselement% + \savebox{\makeheaddetailstempbox}{\usebox{\makeheaddetailsbox}#2}% + \else% + \savebox{\makeheaddetailstempbox}{\usebox{\makeheaddetailsbox}#1#2}\fi% + \settowidth{\makeheaddetailsboxwidth}{\usebox{\makeheaddetailstempbox}}% + \ifnum\makeheaddetailsboxwidth<\makeheaddetailswidth% + \savebox{\makeheaddetailsbox}{\usebox{\makeheaddetailstempbox}}% + \@firstmakeheaddetailselementfalse% + \else% + \flushmakeheaddetails\\\null% \null is required as there is no box on the line after \\, so glue such as \hfill (and leaders) disappear; this is in contrast to after \par, where the next line starts with an indent box (even after \noindent) + \savebox{\makeheaddetailsbox}{#2}% + \savebox{\makeheaddetailstempbox}{#2}% + \settowidth{\makeheaddetailsboxwidth}{\usebox{\makeheaddetailsbox}}% + \@firstmakeheaddetailselementfalse\fi} +% internal command to flush the makehead +\@initializecommand{\flushmakeheaddetails}{% + \if@right\hfill\fi% + \strut\usebox{\makeheaddetailsbox}% + \savebox{\makeheaddetailsbox}{}% + \savebox{\makeheaddetailstempbox}{}% + \setlength{\makeheaddetailsboxwidth}{0pt}} + + +%------------------------------------------------------------------------------- +% resume head definition +%------------------------------------------------------------------------------- +% lengths +\@initializelength{\quotewidth} +% optional makecvheadname width to force a certain width (if set/remains to 0pt, the width is calculated automatically) +\@initializelength{\makecvheadnamewidth} +\renewcommand*{\recomputecvheadlengths}{% + \setlength{\makeheaddetailswidth}{\textwidth}% + \setlength{\quotewidth}{0.65\textwidth}} + +% commands +\renewcommand*{\makecvhead}{% TODO: use \@initializecommand, which requires modifying its definition to handle \par + % recompute lengths (in case we are switching from letter to resume, or vice versa) + \recomputecvlengths% + % optional picture (pre-rendering) + \@initializebox{\makecvheadpicturebox}% + \savebox{\makecvheadpicturebox}{% + \ifthenelse{\isundefined{\@photo}}% + {}% + {% + \setlength\fboxrule{\@photoframewidth}% + \ifdim\@photoframewidth=0pt% + \setlength{\fboxsep}{0pt}\fi% + {\color{color1}\framebox{\includegraphics[width=\@photowidth]{\@photo}}}}}% + % name (pre-rendering) + \@initializelength{\makecvheadpicturewidth}% + \settowidth{\makecvheadpicturewidth}{\usebox{\makecvheadpicturebox}}% + \@initializebox{\makecvheadnamebox}% + \savebox{\makecvheadnamebox}{% + \parbox[b]{\textwidth-\makecvheadpicturewidth}{% + \if@left\raggedright\fi% + \if@right\raggedleft\fi% + \namefont% + \if@alternate% alternate design: first- and lastname in lowercase with no space in between (distinction is made by color difference) + {\color{color2!50}\MakeLowercase\@firstname}{\color{color2}\MakeLowercase\@lastname}% + \else% default design: first- and lastname as given with a space in between + {\color{color2!50}\@firstname} {\color{color2}\@lastname}\fi}}% + % rendering + \if@left% + \usebox{\makecvheadnamebox}% + \usebox{\makecvheadpicturebox}\fi + \if@right% + \usebox{\makecvheadpicturebox}% + \usebox{\makecvheadnamebox}\fi\\[-.35em]% + {\color{color2!50}\rule{\textwidth}{.25ex}}% + % optional detailed information + \if@details{% + \\\null% + \addressfont\color{color2}% + \ifthenelse{\isundefined{\@addressstreet}}{}{\addtomakeheaddetails{\addresssymbol\@addressstreet}% + \ifthenelse{\equal{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty + \ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}% + \flushmakeheaddetails\@firstmakeheaddetailselementtrue\\\null}% + \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number + \addtomakeheaddetails{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}% + \ifthenelse{\isundefined{\@email}}{}{\addtomakeheaddetails{\emailsymbol\emaillink{\@email}}}% + \ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol\httplink{\@homepage}}}% + \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link + \addtomakeheaddetails{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}% + \ifthenelse{\isundefined{\@extrainfo}}{}{\addtomakeheaddetails{\@extrainfo}}% + \flushmakeheaddetails}\fi% need to force a \par after this to avoid weird spacing bug at the first section if no blank line is left after \makehead + % optional title + \ifthenelse{\equal{\@title}{}}{}{% + \\[1.25em]\null% \null is required as there is no box on the line after \\, so glue such as \hfill (and leaders) disappear; this is in contrast to after \par, where the next line starts with an indent box (even after \noindent) + \if@right\hfill\fi% + \if@alternate% + \titlestyle{\MakeLowercase\@title}% + \else% + \titlestyle{\@title}\fi% + }\\[2.5em]% + % optional quote + \ifthenelse{\isundefined{\@quote}}% + {}% + {{\null\hfill% + \begin{minipage}{\quotewidth}% + \centering% + \quotestyle{\@quote}% + \end{minipage}\hfill\null\\[2.5em]}}% + \par}% to avoid weird spacing bug at the first section if no blank line is left after \maketitle + + +%------------------------------------------------------------------------------- +% letter head definition +%------------------------------------------------------------------------------- +% lengths +%\renewcommand*{\recomputeletterheadlengths}{} + +% commands +\renewcommand*{\makeletterhead}{% + % recompute lengths (in case we are switching from letter to resume, or vice versa) + \recomputeletterlengths% + % recipient block + \begin{minipage}[t]{.5\textwidth} + \raggedright% + \addressfont% + {\bfseries\upshape\@recipientname}\\% + \@recipientaddress% + \end{minipage} + % date + \hfill% US style +% \\[1em]% UK style + \@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900" + % 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}} + + +\endinput + + +%% end of file `moderncvheadii.sty'. diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvheadiii.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvheadiii.sty new file mode 100644 index 00000000000..54f86cb5fdc --- /dev/null +++ b/Master/texmf-dist/tex/latex/moderncv/moderncvheadiii.sty @@ -0,0 +1,157 @@ +%% start of file `moderncvheadiii.sty'. +%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com). +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License version 1.3c, +% available at http://www.latex-project.org/lppl/. + + +%------------------------------------------------------------------------------- +% identification +%------------------------------------------------------------------------------- +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{moderncvheadiii}[2015/07/28 v2.0.0 modern curriculum vitae and letter header variant: 3] + +% details options: "details" (default) or "nodetails" +\@initializeif{\if@details}\@detailsfalse +\DeclareOption{details}{\@detailstrue} +\DeclareOption{nodetails}{\@detailsfalse} + +\DeclareOption*{}% avoid choking on unknown options +\ExecuteOptions{details} +\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package + +%------------------------------------------------------------------------------- +% required packages +%------------------------------------------------------------------------------- + + +%------------------------------------------------------------------------------- +% overall head definition +%------------------------------------------------------------------------------- +% fonts +\renewcommand*{\namefont}{\Huge\bfseries\upshape} +\renewcommand*{\titlefont}{\Huge\mdseries\upshape} +\renewcommand*{\addressfont}{\normalsize\mdseries\upshape} +\renewcommand*{\quotefont}{\large\slshape} + +% styles +\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color1}{#1}}} +\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2!85}{#1}}} +\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}} +\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}} + +% commands +\@initializecommand{\makeheaddetailssymbol}{% + {~~~{\rmfamily\textbullet}~~~}}% the \rmfamily is required to force Latin Modern fonts when using sans serif, as OMS/lmss/m/n is not defined and gets substituted by OMS/cmsy/m/n +% internal command to add an element to the footer +% it collects the elements in a temporary box, and checks when to flush the box +\@initializebox{\makeheaddetailsbox}% +\@initializebox{\makeheaddetailstempbox}% +\@initializelength{\makeheaddetailswidth}% +\@initializelength{\makeheaddetailsboxwidth}% +\@initializeif{\if@firstmakeheaddetailselement}\@firstmakeheaddetailselementtrue% +% adds an element to the makehead, separated by makeheadsymbol +% usage: \addtomakehead[makeheadsymbol]{element} +\newcommand*{\addtomakeheaddetails}[2][\makeheaddetailssymbol]{% TODO: use \@initializecommand, which requires modifying its definition to handle mandatory and optional arguments + \if@firstmakeheaddetailselement% + \savebox{\makeheaddetailstempbox}{\usebox{\makeheaddetailsbox}#2}% + \else% + \savebox{\makeheaddetailstempbox}{\usebox{\makeheaddetailsbox}#1#2}\fi% + \settowidth{\makeheaddetailsboxwidth}{\usebox{\makeheaddetailstempbox}}% + \ifnum\makeheaddetailsboxwidth<\makeheaddetailswidth% + \savebox{\makeheaddetailsbox}{\usebox{\makeheaddetailstempbox}}% + \@firstmakeheaddetailselementfalse% + \else% + \flushmakeheaddetails\\% + \savebox{\makeheaddetailsbox}{#2}% + \savebox{\makeheaddetailstempbox}{#2}% + \settowidth{\makeheaddetailsboxwidth}{\usebox{\makeheaddetailsbox}}% + \@firstmakeheaddetailselementfalse\fi} +% internal command to flush the makehead +\@initializecommand{\flushmakeheaddetails}{% + \strut\usebox{\makeheaddetailsbox}% + \savebox{\makeheaddetailsbox}{}% + \savebox{\makeheaddetailstempbox}{}% + \setlength{\makeheaddetailsboxwidth}{0pt}} +\@initializecommand{\makehead}{% + \setlength{\makeheaddetailswidth}{0.8\textwidth}% + \hfil% + \parbox{\makeheaddetailswidth}{% + \centering% + % name and title + \namestyle{\@firstname~\@lastname}% + \ifthenelse{\equal{\@title}{}}{}{\titlestyle{~|~\@title}}\\% \isundefined doesn't work on \@title, as LaTeX itself defines \@title (before it possibly gets redefined by \title) + % optional detailed information + \if@details{% + \addressfont\color{color2}% + \ifthenelse{\isundefined{\@addressstreet}}{}{\addtomakeheaddetails{\addresssymbol\@addressstreet}% + \ifthenelse{\equal{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty + \ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}% + \flushmakeheaddetails\@firstmakeheaddetailselementtrue\\\null}% + \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number + \addtomakeheaddetails{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}% + \ifthenelse{\isundefined{\@email}}{}{\addtomakeheaddetails{\emailsymbol\emaillink{\@email}}}% + \ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol\httplink{\@homepage}}}% + \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link + \addtomakeheaddetails{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}% + \ifthenelse{\isundefined{\@extrainfo}}{}{\addtomakeheaddetails{\@extrainfo}}% + \flushmakeheaddetails}\fi}\\[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 \makehead + + +%------------------------------------------------------------------------------- +% resume head definition +%------------------------------------------------------------------------------- +% lengths +\@initializelength{\quotewidth} +\renewcommand*{\recomputecvheadlengths}{% + \setlength{\quotewidth}{0.65\textwidth}} + +% commands +\renewcommand*{\makecvhead}{% TODO: use \@initializecommand, which requires modifying its definition to handle \par + % recompute lengths (in case we are switching from letter to resume, or vice versa) + \recomputecvlengths% + \makehead% + % 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} + + +%------------------------------------------------------------------------------- +% letter head definition +%------------------------------------------------------------------------------- +% lengths +%\renewcommand*{\recomputeletterheadlengths}{} + +% commands +\renewcommand*{\makeletterhead}{% + % recompute lengths (in case we are switching from letter to resume, or vice versa) + \recomputeletterlengths% + % sender block + \makehead% + \par% + % recipient block + \begin{minipage}[t]{.5\textwidth} + \raggedright% + \addressfont% + {\bfseries\upshape\@recipientname}\\% + \@recipientaddress% + \end{minipage} + % date + \hfill% US style +% \\[1em]% UK style + \@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900" + % 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}} + + +\endinput + + +%% end of file `moderncvheadiii.sty'. diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvheadiv.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvheadiv.sty new file mode 100644 index 00000000000..bed59f55fb2 --- /dev/null +++ b/Master/texmf-dist/tex/latex/moderncv/moderncvheadiv.sty @@ -0,0 +1,168 @@ +%% start of file `moderncvheadiv.sty'. +%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com). +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License version 1.3c, +% available at http://www.latex-project.org/lppl/. + + +%------------------------------------------------------------------------------- +% identification +%------------------------------------------------------------------------------- +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{moderncvheadiv}[2015/07/28 v2.0.0 modern curriculum vitae and letter header variant: 4] + +% details options: "details" (default) or "nodetails" +\@initializeif{\if@details}\@detailsfalse +\DeclareOption{details}{\@detailstrue} +\DeclareOption{nodetails}{\@detailsfalse} + +\DeclareOption*{}% avoid choking on unknown options +\ExecuteOptions{details} +\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package + +%------------------------------------------------------------------------------- +% required packages +%------------------------------------------------------------------------------- +% change the layout of the page on the fly, for resume or letter layout +\RequirePackage{changepage} + + +%------------------------------------------------------------------------------- +% overall head definition +%------------------------------------------------------------------------------- +% fonts +\renewcommand*{\namefont}{\fontsize{34}{36}\mdseries\upshape} +\renewcommand*{\titlefont}{\LARGE\mdseries\slshape} +\renewcommand*{\addressfont}{\small\mdseries} +\renewcommand*{\quotefont}{\large\itshape} + +% styles +\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}} +\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}} +\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}} +\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}} + + +%------------------------------------------------------------------------------- +% resume head definition +%------------------------------------------------------------------------------- +% lengths +\@initializelength{\quotewidth} +\setlength{\marginparwidth}{0\p@} +\setlength{\marginparsep}{0\p@} +\renewcommand*{\recomputecvheadlengths}{% + \changepage{}{+\marginparwidth+\marginparsep}{}{}{}{}{}{}{}% if a letter was typeset before the resume, \marginparwidth and \marginparsep will be non-zero; otherwise, this has no effect + \setlength{\marginparwidth}{0\p@}% + \setlength{\marginparsep}{0\p@}% + \setlength{\quotewidth}{0.85\textwidth}} + +% commands +\newcommand*{\makecvheadinfo}[1]{% TODO: use \@initializecommand, which requires modifying its definition to handle mandatory and optional arguments + \newbox{\makecvheadinfobox}% + \savebox{\makecvheadinfobox}{\parbox[t]{\hintscolumnwidth}{#1}}% + \newlength{\makecvheadinfoheight}% + \setlength{\makecvheadinfoheight}{\totalheightof{\usebox{\makecvheadinfobox}}}% 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{\makecvheadinfobox}\vspace{-\makecvheadinfoheight}% +% \newlength{\leftcolumnwidth}% +% \setlength{\leftcolumnwidth}{\hintscolumnwidth+\separatorcolumnwidth}% +% \par\vspace{-\baselineskip}\vspace{-\parskip}\leftskip=\leftcolumnwidth% + \par\vspace{-\baselineskip}\vspace{-\parskip}% + \leftskip=\dimexpr\hintscolumnwidth+\separatorcolumnwidth\relax% \dimexpr require e-TeX engine extensions + \recomputecvlengths} % need to recompute the layout lenghts as we just changed \leftskip +\renewcommand*{\makecvhead}{ + % recompute lengths (in case we are switching from letter to resume, or vice versa) + \recomputecvlengths% + % optional picture box + \newbox{\makecvheadpicturebox}% + \savebox{\makecvheadpicturebox}{% + \ifthenelse{\isundefined{\@photo}}% + {}% + {% + \color{color1}% + \setlength\fboxrule{\@photoframewidth}% + \ifdim\@photoframewidth=0pt% + \setlength{\fboxsep}{0pt}\fi% + \framebox{\includegraphics[width=\@photowidth]{\@photo}}}}% + % name and optional title + \newlength{\makecvheadpicturewidth}\settowidth{\makecvheadpicturewidth}{\usebox{\makecvheadpicturebox}}% + \newlength{\makecvheadnamewidth}\setlength{\makecvheadnamewidth}{\textwidth-\makecvheadpicturewidth}% + \begin{minipage}[b]{\makecvheadnamewidth}% + \namestyle{\@firstname\ \@lastname}% + \ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}% + \end{minipage}% + % optional photo + \usebox{\makecvheadpicturebox}\\[2.5em]% + % optional quote + \ifthenelse{\isundefined{\@quote}}% + {}% + {{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[2.5em]}}% + % optional details + \if@details% + \makecvheadinfo{% + \addressfont\color{color2}% + \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet% + \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty + \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}% + \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number + \makenewline\hbox to 1.0em{\csname\collectionloopkey phonesymbol\endcsname}~\collectionloopitem}% + \ifthenelse{\isundefined{\@email}}{}{\makenewline\hbox to 1.0em{\emailsymbol}~\emaillink{\@email}}% + \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\hbox to 1.0em{\homepagesymbol}~\httplink{\@homepage}}% + \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link + \makenewline\hbox to 1.0em{\csname\collectionloopkey socialsymbol\endcsname}~\collectionloopitem}% + \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi} + + +%------------------------------------------------------------------------------- +% letter head definition +%------------------------------------------------------------------------------- +% lengths +%\newlength{\textwidthdelta}% +\renewcommand*{\recomputeletterheadlengths}{% + \recomputecvlengths% +% \setlength{\textwidthdelta}{+\marginparwidth+\marginparsep}% +% \addtolength{\textwidthdelta}{-\marginparwidth-\marginparsep}% +% \changepage{}{\textwidthdelta}{-\textwidthdelta}{}{}{}{}{}{}%\changepage{<textheight>}{<textwidth>}{<evensidemargin>}{<oddsidemargin>}{<columnsep>}{<topmargin>}{<headheight>}{<headsep>}{<footskip>} + \setlength{\marginparwidth}{\hintscolumnwidth}% + \setlength{\marginparsep}{2\separatorcolumnwidth}% + \changepage{}{-\marginparwidth-\marginparsep}{}{}{}{}{}{}{}%\changepage{<textheight>}{<textwidth>}{<evensidemargin>}{<oddsidemargin>}{<columnsep>}{<topmargin>}{<headheight>}{<headsep>}{<footskip>} + } + +% commands +\renewcommand*{\makeletterhead}{% + % recompute lengths (in case we are switching from letter to resume, or vice versa) + \leftskip=0pt% needs to be set before \recomputeletterlengths + \recomputeletterlengths% + % recipient block + {\addressfont% + {\bfseries\upshape\@recipientname}\\% + \@recipientaddress}\\[1em]% + % date + \@date\\[2em]% + % opening + \@opening\\[1.5em]% + % sender contact info + \if@details% + \hspace{0pt}% + \marginpar{% + \addressfont\textcolor{color2}{% + {\bfseries\@firstname~\@lastname}\@firstdetailselementfalse% + \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet% + \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty + \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}% + \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number + \makenewline\hbox to 1.0em{\csname\collectionloopkey phonesymbol\endcsname}~\collectionloopitem}% + \ifthenelse{\isundefined{\@email}}{}{\makenewline\hbox to 1.0em{\emailsymbol}~\emaillink{\@email}}% + \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\hbox to 1.0em{\homepagesymbol}~\httplink{\@homepage}}% + \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link + \makenewline\hbox to 1.0em{\csname\collectionloopkey socialsymbol\endcsname}~\collectionloopitem}% + \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}\fi} + + +\endinput + + +%% end of file `moderncvheadiv.sty'. diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvheadv.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvheadv.sty new file mode 100644 index 00000000000..e00be88d882 --- /dev/null +++ b/Master/texmf-dist/tex/latex/moderncv/moderncvheadv.sty @@ -0,0 +1,170 @@ +%% start of file `moderncvheadv.sty'. +%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com). +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License version 1.3c, +% available at http://www.latex-project.org/lppl/. + + +%------------------------------------------------------------------------------- +% identification +%------------------------------------------------------------------------------- +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{moderncvheadv}[2015/07/28 v2.0.0 modern curriculum vitae and letter header variant: 5] + +% details options: "details" (default) or "nodetails" +\@initializeif{\if@details}\@detailsfalse +\DeclareOption{details} {\@detailstrue} +\DeclareOption{nodetails} {\@detailsfalse} + +\DeclareOption*{}% avoid choking on unknown options +\ExecuteOptions{details} +\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package + + +%------------------------------------------------------------------------------- +% required packages +%------------------------------------------------------------------------------- + + +%------------------------------------------------------------------------------- +% overall head definition +%------------------------------------------------------------------------------- +% fonts +\renewcommand*{\namefont}{\fontsize{34}{36}\mdseries\upshape} +\renewcommand*{\titlefont}{\LARGE\mdseries\slshape} +\renewcommand*{\addressfont}{\small\mdseries\slshape} +\renewcommand*{\quotefont}{\large\slshape} + +% styles +\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}} +\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}} +\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}} +\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}} + + +%------------------------------------------------------------------------------- +% resume head definition +%------------------------------------------------------------------------------- +% lengths +\@initializelength{\quotewidth} +% optional makecvheadname width to force a certain width (if set/remains to 0pt, the width is calculated automatically) +\@initializelength{\makecvheadnamewidth} +\renewcommand*{\recomputecvheadlengths}{% + \setlength{\quotewidth}{0.65\textwidth}} + +% commands +\renewcommand*{\makecvhead}{% + % recompute lengths (in case we are switching from letter to resume, or vice versa) + \recomputecvlengths% + % optional photo (pre-rendering) + \@initializebox{\makecvheadpicturebox}% + \savebox{\makecvheadpicturebox}{% + \ifthenelse{\isundefined{\@photo}}% + {}% + {% + \color{color1}% + \setlength{\fboxrule}{\@photoframewidth}% + \ifdim\@photoframewidth=0pt% + \setlength{\fboxsep}{0pt}\fi% + \framebox{\includegraphics[width=\@photowidth]{\@photo}}}}% + % rendering + \@makecvtitle% + {% + \raggedleft% + % optional photo + \usebox{\makecvheadpicturebox}% + % optional details + \if@details% + \ifthenelse{\isundefined{\@photo}}{}{\\[0.5em]}% + \addressfont\color{color2}% + \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet% + \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty + \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}% + \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number + \makenewline\csname\collectionloopkey phonesymbol\endcsname~\collectionloopitem}% + \ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol~\emaillink{\@email}}% + \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol~\httplink{\@homepage}}% + \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link + \makenewline\csname\collectionloopkey socialsymbol\endcsname~\collectionloopitem}% + \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}\fi}% + {% + % name and optional title + \newlength{\makecvheadpictureboxskip}% + \setlength{\makecvheadpictureboxskip}{\totalheightof{\usebox{\makecvheadpicturebox}}}% + \namestyle{\@firstname\ \@lastname}% + \ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}\\[2.5em]% + % optional quote + \ifthenelse{\isundefined{\@quote}}% + {}% + {\begin{minipage}{\quotewidth}\quotestyle{\@quote}\end{minipage}\\[2.5em]}}% + \par}% to avoid weird spacing bug at the first section if no blank line is left after \makecvhead + +% underlying command to implement \makecvtitle, identical to \@cvitem from moderncvbodyv +\let\standarddoublebackslash\\% +\newcommand*{\@makecvtitle}[3][.5ex]{% + \arrayrulecolor{color1}% + \setlength\arrayrulewidth{1.2\p@}% + \if@aftersection\else% + \vspace*{-\arrayrulewidth}\fi% HACK; I don't understand where the space is coming from, nor what it's exact value is :( + \noindent% + \begin{tabular}[t]{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}|@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}% + \@moderncvstrut{4pt}{16pt}% + \begin{minipage}[t]{\hintscolumnwidth}#2\end{minipage} + &\begin{minipage}[t]{\maincolumnwidth}#3\end{minipage}% + \\[#1]% the spacing needs to be inside the cell for the vertical rule to extend correctly + \end{tabular}% + \par\@aftersectionfalse\ignorespaces} + + +%------------------------------------------------------------------------------- +% letter head definition +%------------------------------------------------------------------------------- +% lengths +%\renewcommand*{\recomputeletterheadlengths}{} + +% commands +\renewcommand*{\makeletterhead}{% + % recompute lengths (in case we are switching from letter to resume, or vice versa) + \recomputeletterlengths% + % sender contact info + \hfill% + \begin{minipage}{.5\textwidth}% + % optional detailed information + \if@details% + \raggedleft% + \addressfont\textcolor{color2}{% + {\bfseries\upshape\@firstname~\@lastname}\@firstdetailselementfalse% + % optional detailed information + \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet% + \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty + \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}% + \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number + \makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}% + \ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}% + \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}% + \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi% + \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 + \@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900" + % 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}} + + +\endinput + + +%% end of file `moderncvheadv.sty'. diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvheadvi.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvheadvi.sty new file mode 100644 index 00000000000..83c1055b9b0 --- /dev/null +++ b/Master/texmf-dist/tex/latex/moderncv/moderncvheadvi.sty @@ -0,0 +1,168 @@ +%% start of file `moderncvheadvi.sty'. +%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com). +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License version 1.3c, +% available at http://www.latex-project.org/lppl/. + + +%------------------------------------------------------------------------------- +% identification +%------------------------------------------------------------------------------- +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{moderncvheadvi}[2015/07/28 v2.0.0 modern curriculum vitae and letter header: 6] + +% details options: "details" (default) or "nodetails" +\@initializeif{\if@details}\@detailsfalse +\DeclareOption{details}{\@detailstrue} +\DeclareOption{nodetails}{\@detailsfalse} + +% left/right options: "left" (default) or "right" +\@initializeif{\if@left} \@leftfalse +\DeclareOption{left} {\@lefttrue\@rightfalse} +\@initializeif{\if@right}\@rightfalse +\DeclareOption{right} {\@leftfalse\@righttrue} + +\DeclareOption*{}% avoid choking on unknown options +\ExecuteOptions{details, left} +\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package + + +%------------------------------------------------------------------------------- +% required packages +%------------------------------------------------------------------------------- + + +%------------------------------------------------------------------------------- +% overall head definition +%------------------------------------------------------------------------------- +% fonts +\renewcommand*{\namefont}{\Huge\bfseries\upshape} +\renewcommand*{\titlefont}{\Huge\mdseries\upshape} +\renewcommand*{\addressfont}{\normalsize\mdseries\upshape} +\renewcommand*{\quotefont}{\large\slshape} + +% styles +\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color1}{#1}}} +\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2!85}{#1}}} +\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}} +\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}} + +% commands +\@initializecommand{\makehead}{% + \setlength{\makeheaddetailswidth}{\textwidth}% + % name and title + \if@left\hfill\fi% + \namestyle{\@firstname~\@lastname}% + \ifthenelse{\equal{\@title}{}}{}{\titlestyle{~|~\@title}}\\[-.35em]% \isundefined doesn't work on \@title, as LaTeX itself defines \@title (before it possibly gets redefined by \title) + % rule + {\color{color1}\rule{\textwidth}{.25ex}}} + +%------------------------------------------------------------------------------- +% resume head definition +%------------------------------------------------------------------------------- +% lengths +\@initializelength{\quotewidth} +\renewcommand*{\recomputecvheadlengths}{% + \setlength{\quotewidth}{0.65\textwidth}} + +% commands +\@initializecommand{\makeheaddetailssymbol}{% + {~~~{\rmfamily\textbullet}~~~}}% the \rmfamily is required to force Latin Modern fonts when using sans serif, as OMS/lmss/m/n is not defined and gets substituted by OMS/cmsy/m/n +% internal command to add an element to the footer +% it collects the elements in a temporary box, and checks when to flush the box +\@initializebox{\makeheaddetailsbox}% +\@initializebox{\makeheaddetailstempbox}% +\@initializelength{\makeheaddetailswidth}% +\@initializelength{\makeheaddetailsboxwidth}% +\@initializeif{\if@firstmakeheaddetailselement}\@firstmakeheaddetailselementtrue% +% adds an element to the makehead, separated by makeheadsymbol +% usage: \addtomakehead[makeheadsymbol]{element} +\newcommand*{\addtomakeheaddetails}[2][\makeheaddetailssymbol]{% TODO: use \@initializecommand, which requires modifying its definition to handle mandatory and optional arguments + \if@firstmakeheaddetailselement% + \savebox{\makeheaddetailstempbox}{\usebox{\makeheaddetailsbox}#2}% + \else% + \savebox{\makeheaddetailstempbox}{\usebox{\makeheaddetailsbox}#1#2}\fi% + \settowidth{\makeheaddetailsboxwidth}{\usebox{\makeheaddetailstempbox}}% + \ifnum\makeheaddetailsboxwidth<\makeheaddetailswidth% + \savebox{\makeheaddetailsbox}{\usebox{\makeheaddetailstempbox}}% + \@firstmakeheaddetailselementfalse% + \else% + \flushmakeheaddetails\\\null% \null is required as there is no box on the line after \\, so glue such as \hfill (and leaders) disappear; this is in contrast to after \par, where the next line starts with an indent box (even after \noindent) + \savebox{\makeheaddetailsbox}{#2}% + \savebox{\makeheaddetailstempbox}{#2}% + \settowidth{\makeheaddetailsboxwidth}{\usebox{\makeheaddetailsbox}}% + \@firstmakeheaddetailselementfalse\fi} +% internal command to flush the makehead +\@initializecommand{\flushmakeheaddetails}{% + \if@right\hfill\fi% + \strut\usebox{\makeheaddetailsbox}% + \savebox{\makeheaddetailsbox}{}% + \savebox{\makeheaddetailstempbox}{}% + \setlength{\makeheaddetailsboxwidth}{0pt}} +\renewcommand*{\makecvhead}{% TODO: use \@initializecommand, which requires modifying its definition to handle \par + % recompute lengths (in case we are switching from letter to resume, or vice versa) + \recomputecvlengths% + \makehead% + % optional detailed information + \if@details{% + \\\null% + \addressfont\color{color2}% + \ifthenelse{\isundefined{\@addressstreet}}{}{\addtomakeheaddetails{\addresssymbol\@addressstreet}% + \ifthenelse{\equal{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty + \ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}% + \flushmakeheaddetails\@firstmakeheaddetailselementtrue\\\null}% + \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number + \addtomakeheaddetails{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}% + \ifthenelse{\isundefined{\@email}}{}{\addtomakeheaddetails{\emailsymbol\emaillink{\@email}}}% + \ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol\httplink{\@homepage}}}% + \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link + \addtomakeheaddetails{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}% + \ifthenelse{\isundefined{\@extrainfo}}{}{\addtomakeheaddetails{\@extrainfo}}% + \flushmakeheaddetails}\fi% need to force a \par after this to avoid weird spacing bug at the first section if no blank line is left after \makehead; not forcing it here because of the possible quote + % optional quote + \ifthenelse{\isundefined{\@quote}}% + {}% + {{\\[1.25em]\null\hfill% + \begin{minipage}{\quotewidth}% + \centering\quotestyle{\@quote}% + \end{minipage}\hfill\null}}\\[2.5em]% + \par}% to avoid weird spacing bug at the first section if no blank line is left after \maketitle} + + +%------------------------------------------------------------------------------- +% letter head definition +%------------------------------------------------------------------------------- +% lengths +%\renewcommand*{\recomputeletterheadlengths}{} + +% commands +\renewcommand*{\makeletterhead}{% + % recompute lengths (in case we are switching from letter to resume, or vice versa) + \recomputeletterlengths% + % sender block + \makehead\\[2.5em]% + \par% to avoid weird spacing bug at the first section if no blank line is left after \maketitle} + % recipient block + \begin{minipage}[t]{.5\textwidth} + \raggedright% + \addressfont% + {\bfseries\upshape\@recipientname}\\% + \@recipientaddress% + \end{minipage} + % date + \hfill% US style +% \\[1em]% UK style + \@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900" + % 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}} + + +\endinput + + +%% end of file `moderncvheadvi.sty'. diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncviconsawesome.sty b/Master/texmf-dist/tex/latex/moderncv/moderncviconsawesome.sty index e4ee3220ff0..92f2dbf3099 100644 --- a/Master/texmf-dist/tex/latex/moderncv/moderncviconsawesome.sty +++ b/Master/texmf-dist/tex/latex/moderncv/moderncviconsawesome.sty @@ -1,5 +1,5 @@ -%% start of file `moderncviconsmarvosym.sty'. -%% Copyright 2013-2013 Xavier Danaux (xdanaux@gmail.com). +%% start of file `moderncviconsawesome.sty'. +%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com). % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License version 1.3c, @@ -10,9 +10,7 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{moderncviconsawesome}[2013/04/29 v1.5.1 modern curriculum vitae and letter icons: awesome] -% XeTeX or LuaTeX is needed to be able to use fontspec and fontawesome -\ifxetexorluatex +\ProvidesPackage{moderncviconsawesome}[2015/07/28 v2.0.0 modern curriculum vitae and letter icons: awesome] %------------------------------------------------------------------------------- % required packages @@ -24,28 +22,23 @@ %------------------------------------------------------------------------------- % symbols definition %------------------------------------------------------------------------------- -\renewcommand*{\labelitemi} {\strut\textcolor{color1}{\tiny\faCircleBlank}} +\renewcommand*{\labelitemi} {\strut\textcolor{color1}{\tiny\faCircleO}} %\renewcommand*{\labelitemii} {\strut\textcolor{color1}{\large\bfseries-}} % no change from default in moderncv.cls %\renewcommand*{\labelitemiii} {\strut\textcolor{color1}{\rmfamily\textperiodcentered}}% no change from default in moderncv.cls %\renewcommand*{\labelitemiv} {\labelitemiii} % no change from default in moderncv.cls \renewcommand*{\addresssymbol} {} -\renewcommand*{\mobilephonesymbol} {{\Large\faMobilePhone}~} +\renewcommand*{\mobilephonesymbol} {{\Large\faMobile}~} \renewcommand*{\fixedphonesymbol} {\faPhone~} -\renewcommand*{\faxphonesymbol} {\faPrint~} % alternative: \faFileAlt -\renewcommand*{\emailsymbol} {\faEnvelope~} % alternative: \faInbox -\renewcommand*{\homepagesymbol} {\faGlobe~} % alternative: \faHome -\renewcommand*{\linkedinsocialsymbol}{\faLinkedinSign~} % alternative: \faLinkedin -\renewcommand*{\twittersocialsymbol} {\faTwitter~} -\renewcommand*{\githubsocialsymbol} {\faGithub~} - - -% if XeTeX or LuaTeX is not used, load the marvosym icon set instead -\else - \typeout{WARNING: to use the awesome icon set, please use XeTeX or LuaTeX to compile your document; switching to the marvosym icon set.} - \RequirePackage{moderncviconsmarvosym} -\fi +\renewcommand*{\faxphonesymbol} {{\small\faFax}~} % alternative: \faPrint +\renewcommand*{\emailsymbol} {{\small\faEnvelopeO}~} % alternative: \faInbox +\renewcommand*{\homepagesymbol} {{\small\faGlobe}~} % alternative: \faHome +\renewcommand*{\linkedinsocialsymbol}{{\small\faLinkedin}~} % alternative: \faLinkedinSquare +\renewcommand*{\twittersocialsymbol} {{\small\faTwitter}~} % alternative: \faTwitterSquare +\renewcommand*{\githubsocialsymbol} {{\small\faGithub}~} % alternative: \faGithubSquare, \faGithubSquare + + \endinput -%% end of file `moderncviconsmarvosym.sty'. +%% end of file `moderncviconsawesome.sty'. diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncviconsletters.sty b/Master/texmf-dist/tex/latex/moderncv/moderncviconsletters.sty index ed9596ac11e..8339b01fef6 100644 --- a/Master/texmf-dist/tex/latex/moderncv/moderncviconsletters.sty +++ b/Master/texmf-dist/tex/latex/moderncv/moderncviconsletters.sty @@ -1,5 +1,5 @@ %% start of file `moderncviconsletters.sty'. -%% Copyright 2013-2013 Xavier Danaux (xdanaux@gmail.com). +%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com). % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License version 1.3c, @@ -10,7 +10,7 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{moderncviconsmarvosym}[2013/04/29 v1.5.1 modern curriculum vitae and letter icons: letters] +\ProvidesPackage{moderncviconsletters}[2015/07/28 v2.0.0 modern curriculum vitae and letter icons: letters] %------------------------------------------------------------------------------- @@ -35,14 +35,14 @@ %\renewcommand*{\labelitemiv} {\labelitemiii} % no change from default in moderncv.cls \renewcommand*{\addresssymbol} {} -\renewcommand*{\mobilephonesymbol} {\hbox to 1.1em{\textbf{M}}~}% 1em is the width of the M capital in most fonts -\renewcommand*{\fixedphonesymbol} {\hbox to 1.1em{\textbf{T}}~} -\renewcommand*{\faxphonesymbol} {\hbox to 1.1em{\textbf{F}}~} -\renewcommand*{\emailsymbol} {\hbox to 1.1em{\textbf{E}}~} -\renewcommand*{\homepagesymbol} {\hbox to 1.1em{\textbf{W}}~} -\renewcommand*{\linkedinsocialsymbol}{\hbox to 1.1em{\textbf{in}}~} -\renewcommand*{\twittersocialsymbol} {\hbox to 1.1em{\textbf{tw}}~} -\renewcommand*{\githubsocialsymbol} {\hbox to 1.1em{\textbf{gh}}~} +\renewcommand*{\mobilephonesymbol} {\textbf{M}~} +\renewcommand*{\fixedphonesymbol} {\textbf{T}~} +\renewcommand*{\faxphonesymbol} {\textbf{F}~} +\renewcommand*{\emailsymbol} {\textbf{E}~} +\renewcommand*{\homepagesymbol} {\textbf{W}~} +\renewcommand*{\linkedinsocialsymbol}{\textbf{in}~} +\renewcommand*{\twittersocialsymbol} {\textbf{tw}~} +\renewcommand*{\githubsocialsymbol} {\textbf{gh}~} \renewcommand*{\listitemsymbol} {\labelitemi~} diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncviconsmarvosym.sty b/Master/texmf-dist/tex/latex/moderncv/moderncviconsmarvosym.sty index 8c154816b0b..c6ab035e357 100644 --- a/Master/texmf-dist/tex/latex/moderncv/moderncviconsmarvosym.sty +++ b/Master/texmf-dist/tex/latex/moderncv/moderncviconsmarvosym.sty @@ -1,5 +1,5 @@ %% start of file `moderncviconsmarvosym.sty'. -%% Copyright 2013-2013 Xavier Danaux (xdanaux@gmail.com). +%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com). % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License version 1.3c, @@ -10,7 +10,7 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{moderncviconsmarvosym}[2013/04/29 v1.5.1 modern curriculum vitae and letter icons: marvosym] +\ProvidesPackage{moderncviconsmarvosym}[2015/07/28 v2.0.0 modern curriculum vitae and letter icons: marvosym] %------------------------------------------------------------------------------- diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvstylebanking.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvstylebanking.sty index c49e6e31d72..783f9606a46 100644 --- a/Master/texmf-dist/tex/latex/moderncv/moderncvstylebanking.sty +++ b/Master/texmf-dist/tex/latex/moderncv/moderncvstylebanking.sty @@ -1,5 +1,5 @@ %% start of file `moderncvstylebanking.sty'. -%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com). +%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com). % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License version 1.3c, @@ -10,18 +10,29 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{moderncvstylebanking}[2013/04/29 v1.5.1 modern curriculum vitae and letter style scheme: banking] +\ProvidesPackage{moderncvstylebanking}[2015/07/28 v2.0.0 modern curriculum vitae and letter style scheme: banking] +% body rules type options: "fullrules", "shortrules", "mixedrules" (default) or "norules" +\@initializecommand{\moderncvstylebodyoptions}{} +\DeclareOption{fullrules} {\edef\moderncvstylebodyoptions{\moderncvstylebodyoptions,fullrules}} +\DeclareOption{shortrules} {\edef\moderncvstylebodyoptions{\moderncvstylebodyoptions,shortrules}} +\DeclareOption{mixedrules} {\edef\moderncvstylebodyoptions{\moderncvstylebodyoptions,mixedrules}} +\DeclareOption{norules} {\edef\moderncvstylebodyoptions{\moderncvstylebodyoptions,norules}} -%------------------------------------------------------------------------------- -% required packages -%------------------------------------------------------------------------------- +% body section alignment options: "left" (default), "center" or "right" +\DeclareOption{left} {\edef\moderncvstylebodyoptions{\moderncvstylebodyoptions,left}} +\DeclareOption{center} {\edef\moderncvstylebodyoptions{\moderncvstylebodyoptions,center}} +\DeclareOption{right} {\edef\moderncvstylebodyoptions{\moderncvstylebodyoptions,right}} + +\DeclareOption*{}% avoid choking on unknown options +\ExecuteOptions{mixedrules,left} +\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package %------------------------------------------------------------------------------- -% overall style definition +% fonts & icons %------------------------------------------------------------------------------- -% fonts +% TeX Gyre Pagella font %\ifxetexorluatex % \setmainfont{Tex-Gyre Pagella} % \setsansfont{Tex-Gyre Pagella} @@ -40,247 +51,12 @@ % symbols \moderncvicons{awesome} -% commands -\newcommand*{\maketitlesymbol}{% - {~~~{\rmfamily\textbullet}~~~}}% the \rmfamily is required to force Latin Modern fonts when using sans serif, as OMS/lmss/m/n is not defined and gets substituted by OMS/cmsy/m/n -% 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}% -\newif\if@firstmaketitleelement\@firstmaketitleelementtrue% -% adds an element to the maketitle, separated by maketitlesymbol -% usage: \addtomaketitle[maketitlesymbol]{element} -\newcommand*{\addtomaketitle}[2][\maketitlesymbol]{% - \if@firstmaketitleelement% - \savebox{\maketitletempbox}{\usebox{\maketitlebox}#2}% - \else% - \savebox{\maketitletempbox}{\usebox{\maketitlebox}#1#2}\fi% - \settowidth{\maketitleboxwidth}{\usebox{\maketitletempbox}}% - \ifnum\maketitleboxwidth<\maketitlewidth% - \savebox{\maketitlebox}{\usebox{\maketitletempbox}}% - \@firstmaketitleelementfalse% - \else% - \flushmaketitle{}\\% - \savebox{\maketitlebox}{#2}% - \savebox{\maketitletempbox}{#2}% - \settowidth{\maketitleboxwidth}{\usebox{\maketitlebox}}% - \@firstmaketitleelementfalse\fi} -% internal command to flush the maketitle -\newcommand*{\flushmaketitle}{% - \strut\usebox{\maketitlebox}% - \savebox{\maketitlebox}{}% - \savebox{\maketitletempbox}{}% - \setlength{\maketitleboxwidth}{0pt}} -\renewcommand*{\maketitle}{% - \setlength{\maketitlewidth}{0.8\textwidth}% - \hfil% - \parbox{\maketitlewidth}{% - \centering% - % name and title - \namestyle{\@firstname~\@lastname}% - \ifthenelse{\equal{\@title}{}}{}{\titlestyle{~|~\@title}}\\% \isundefined doesn't work on \@title, as LaTeX itself defines \@title (before it possibly gets redefined by \title) - % detailed information - \addressfont\color{color2}% - \ifthenelse{\isundefined{\@addressstreet}}{}{\addtomaketitle{\addresssymbol\@addressstreet}% - \ifthenelse{\equal{\@addresscity}{}}{}{\addtomaketitle[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty - \ifthenelse{\equal{\@addresscountry}{}}{}{\addtomaketitle[~--~]{\@addresscountry}}% - \flushmaketitle\@firstmaketitleelementtrue\\}% - \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number - \addtomaketitle{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}% - \ifthenelse{\isundefined{\@email}}{}{\addtomaketitle{\emailsymbol\emaillink{\@email}}}% - \ifthenelse{\isundefined{\@homepage}}{}{\addtomaketitle{\homepagesymbol\httplink{\@homepage}}}% - \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link - \addtomaketitle{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}% - \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 +% header, body & footer %------------------------------------------------------------------------------- -% fonts -\renewcommand*{\namefont}{\Huge\bfseries\upshape} -\renewcommand*{\titlefont}{\Huge\mdseries\upshape} -\renewcommand*{\addressfont}{\normalsize\mdseries\upshape} -\renewcommand*{\quotefont}{\large\slshape} -\renewcommand*{\sectionfont}{\Large\bfseries\upshape} -\renewcommand*{\subsectionfont}{\large\upshape\fontseries{sb}\selectfont} -\renewcommand*{\hintfont}{\bfseries} - -% styles -\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color1}{#1}}} -\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2!85}{#1}}} -\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color1}{#1}}} -\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}} -\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}} -\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}} -\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}} - -% lengths -\newlength{\quotewidth} -\newlength{\hintscolumnwidth} -\setlength{\hintscolumnwidth}{0.3\textwidth}% -\newlength{\separatorcolumnwidth} -\setlength{\separatorcolumnwidth}{0.025\textwidth}% -\newlength{\maincolumnwidth} -\newlength{\doubleitemcolumnwidth} -\newlength{\listitemsymbolwidth} -\settowidth{\listitemsymbolwidth}{\listitemsymbol} -\newlength{\listitemmaincolumnwidth} -\newlength{\listdoubleitemmaincolumnwidth} - -% commands -\renewcommand*{\recomputecvlengths}{% - \setlength{\quotewidth}{0.65\textwidth}% - % main lenghts - \setlength{\maincolumnwidth}{\textwidth}% - % listitem lengths - \setlength{\listitemmaincolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}% - % doubleitem lengths - \setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}% - \setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}% - % listdoubleitem lengths - \setlength{\listdoubleitemmaincolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}% - \setlength{\listdoubleitemmaincolumnwidth}{0.5\listdoubleitemmaincolumnwidth}% - % fancyhdr lengths - \renewcommand{\headwidth}{\textwidth}% - % regular lengths - \setlength{\parskip}{0\p@}} - -\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} - -\RenewDocumentCommand{\section}{sm}{% - \par\addvspace{2.5ex}% - \phantomsection{}% reset the anchor for hyperrefs - \addcontentsline{toc}{section}{#2}% - \strut\sectionstyle{#2}% - {\color{color1}\hrule}% - \par\nobreak\addvspace{1ex}\@afterheading} - -\newcommand{\subsectionfill}{\xleaders\hbox to 0.35em{\scriptsize.}\hfill}% different subsectionfills will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible -\RenewDocumentCommand{\subsection}{sm}{% - \par\addvspace{1ex}% - \phantomsection{}% - \addcontentsline{toc}{subsection}{#2}% - \strut\subsectionstyle{#2}{\color{color1}{\subsectionfill}}% - \par\nobreak\addvspace{0.5ex}\@afterheading} - -\renewcommand*{\cvitem}[3][.25em]{% - \ifthenelse{\equal{#2}{}}{}{\hintstyle{#2}: }{#3}% - \par\addvspace{#1}} - -\renewcommand*{\cvdoubleitem}[5][.25em]{% - \begin{minipage}[t]{\doubleitemcolumnwidth}\hintstyle{#2}: #3\end{minipage}% - \hfill% fill of \separatorcolumnwidth - \begin{minipage}[t]{\doubleitemcolumnwidth}\ifthenelse{\equal{#4}{}}{}{\hintstyle{#4}: }#5\end{minipage}% - \par\addvspace{#1}} - -\renewcommand*{\cvlistitem}[2][.25em]{% - \listitemsymbol\begin{minipage}[t]{\listitemmaincolumnwidth}#2\end{minipage}% - \par\addvspace{#1}} - -\renewcommand*{\cvlistdoubleitem}[3][.25em]{% - \cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemmaincolumnwidth}#2\end{minipage}% - \hfill% fill of \separatorcolumnwidth - \ifthenelse{\equal{#3}{}}% - {}% - {\listitemsymbol\begin{minipage}[t]{\listdoubleitemmaincolumnwidth}#3\end{minipage}}}} - -\renewcommand*{\cventry}[7][.25em]{ - \begin{tabular*}{\textwidth}{l@{\extracolsep{\fill}}r}% - {\bfseries #4} & {\bfseries #5} \\% - {\itshape #3\ifthenelse{\equal{#6}{}}{}{, #6}} & {\itshape #2}\\% - \end{tabular*}% - \ifx&% - \else{\\\vbox{\small#7}}\fi% - \par\addvspace{#1}} - -\newbox{\cvitemwithcommentmainbox} -\newlength{\cvitemwithcommentmainlength} -\newlength{\cvitemwithcommentcommentlength} -\renewcommand*{\cvitemwithcomment}[4][.25em]{% - \savebox{\cvitemwithcommentmainbox}{\ifthenelse{\equal{#2}{}}{}{\hintstyle{#2}: }#3}% - \setlength{\cvitemwithcommentmainlength}{\widthof{\usebox{\cvitemwithcommentmainbox}}}% - \setlength{\cvitemwithcommentcommentlength}{\maincolumnwidth-\separatorcolumnwidth-\cvitemwithcommentmainlength}% - \begin{minipage}[t]{\cvitemwithcommentmainlength}\ifthenelse{\equal{#2}{}}{}{\hintstyle{#2}: }#3\end{minipage}% - \hfill% fill of \separatorcolumnwidth - \begin{minipage}[t]{\cvitemwithcommentcommentlength}\raggedleft\small\itshape#4\end{minipage}% - \par\addvspace{#1}} - -\renewenvironment{thebibliography}[1]% - {% - \bibliographyhead{\refname}% -% \small% - \begin{list}{\bibliographyitemlabel}% - {% - \setlength{\topsep}{0pt}% - \setlength{\labelwidth}{0pt}% - \setlength{\labelsep}{0pt}% - \leftmargin\labelwidth% - \advance\leftmargin\labelsep% - \@openbib@code% - \usecounter{enumiv}% - \let\p@enumiv\@empty% - \renewcommand\theenumiv{\@arabic\c@enumiv}}% - \sloppy\clubpenalty4000\widowpenalty4000% -% \sfcode`\.\@m% -% \sfcode `\=1000\relax% - }% - {% - \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}% - \end{list}% - } - - -%------------------------------------------------------------------------------- -% 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 - \@date\\[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~\@lastname}% - \ifthenelse{\isundefined{\@enclosure}}{}{% - \\% - \vfill% - {\color{color2}\itshape\enclname: \@enclosure}}} +\moderncvhead{3} +\moderncvbody[\moderncvstylebodyoptions]{3} \endinput diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvstylecasual.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvstylecasual.sty index 660f70fc100..b50886fe8f4 100644 --- a/Master/texmf-dist/tex/latex/moderncv/moderncvstylecasual.sty +++ b/Master/texmf-dist/tex/latex/moderncv/moderncvstylecasual.sty @@ -1,5 +1,5 @@ %% start of file `moderncvstylecasual.sty'. -%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com). +%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com). % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License version 1.3c, @@ -10,176 +10,41 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{moderncvstylecasual}[2013/04/29 v1.5.1 modern curriculum vitae and letter style scheme: casual] +\ProvidesPackage{moderncvstylecasual}[2015/07/28 v2.0.0 modern curriculum vitae and letter style scheme: casual] +% head section alignment options: "left" (default) or "right" +\@initializecommand{\moderncvstyleheadoptions}{} +\DeclareOption{left} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,left}} +\DeclareOption{right}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,right}} -%------------------------------------------------------------------------------- -% required packages -%------------------------------------------------------------------------------- -\RequirePackage{moderncvstyleclassic} -\moderncvicons{awesome} - - -%------------------------------------------------------------------------------- -% overall style definition -%------------------------------------------------------------------------------- -% commands -% footer symbol used to separate footer elements -\newcommand*{\footersymbol}{% - {~~~{\rmfamily\textbullet}~~~}}% the \rmfamily is required to force Latin Modern fonts when using sans serif, as OMS/lmss/m/n is not defined and gets substituted by OMS/cmsy/m/n -% 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{\footerbox}% -\newsavebox{\footertempbox}% -\newlength{\footerwidth}% -\newlength{\footerboxwidth}% -\newif\if@firstfooterelement\@firstfooterelementtrue% -% adds an element to the footer, separated by footersymbol -% usage: \addtofooter[footersymbol]{element} -\newcommand*{\addtofooter}[2][\footersymbol]{% - \if@firstfooterelement% - \savebox{\footertempbox}{\usebox{\footerbox}#2}% - \else% - \savebox{\footertempbox}{\usebox{\footerbox}#1#2}\fi% - \settowidth{\footerboxwidth}{\usebox{\footertempbox}}% - \ifnum\footerboxwidth<\footerwidth% - \savebox{\footerbox}{\usebox{\footertempbox}}% - \@firstfooterelementfalse% - \else% - \flushfooter\\% - \savebox{\footerbox}{#2}% - \savebox{\footertempbox}{#2}% - \settowidth{\footerboxwidth}{\usebox{\footerbox}}% - \@firstfooterelementfalse\fi} -% internal command to flush the footer -\newcommand*{\flushfooter}{% - \strut\usebox{\footerbox}% - \savebox{\footerbox}{}% - \savebox{\footertempbox}{}% - \setlength{\footerboxwidth}{0pt}} - +\DeclareOption*{}% avoid choking on unknown options +\ExecuteOptions{right} +\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package %------------------------------------------------------------------------------- -% resume style definition +% fonts & icons %------------------------------------------------------------------------------- -% fonts -\renewcommand*{\namefont}{\fontsize{38}{40}\mdseries\upshape} -\renewcommand*{\addressfont}{\normalsize\mdseries\slshape} - -% commands -\renewcommand*{\makecvtitle}{% - % recompute lengths (in case we are switching from letter to resume, or vice versa) - \recomputecvlengths% - % ensure footer with personal information - \makecvfooter% - % optional picture - \newbox{\makecvtitlepicturebox}% - \savebox{\makecvtitlepicturebox}{% - \ifthenelse{\isundefined{\@photo}}% - {}% - {% - \setlength\fboxrule{\@photoframewidth}% - \ifdim\@photoframewidth=0pt% - \setlength{\fboxsep}{0pt}\fi% - {\color{color1}\framebox{\includegraphics[width=\@photowidth]{\@photo}}}}}% - \usebox{\makecvtitlepicturebox}% - % name - \@initializelength{\makecvtitlepicturewidth}% - \settowidth{\makecvtitlepicturewidth}{\usebox{\makecvtitlepicturebox}}% - \parbox[b]{\textwidth-\makecvtitlepicturewidth}{% - \raggedleft\namefont{\color{color2!50}\@firstname} {\color{color2}\@lastname}}\\[-.35em]% alternate design: \MakeLowercase and no space - {\color{color2!50}\rule{\textwidth}{.25ex}}% - % optional title - \ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\null\hfill\titlestyle{\@title}}\\[2.5em]% \null is required as there is no box on the line after \\, so glue (and leaders) disappears; this is in contrast to after \par, where the next line starts with an indent box (even after \noindent). - % optional quote - \ifthenelse{\isundefined{\@quote}}% - {}% - {{\null\hfill\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\hfill\null\\[2.5em]}}% - \par}% to avoid weird spacing bug at the first section if no blank line is left after \maketitle +% Latin Modern fonts +%\ifxetexorluatex +% \setmainfont{Latin Modern Roman} +% \setsansfont{Latin Modern Sans} +% \setmathfont{Latin Modern Math} +%\else + \IfFileExists{lmodern.sty}% + {\RequirePackage{lmodern}}% + {} +%\fi -\renewcommand*{\makecvfooter}{% - \setlength{\footerwidth}{0.8\textwidth}% - \fancypagestyle{plain}{% - \fancyfoot[c]{% - \parbox[b]{\footerwidth}{% - \centering% - \color{color2}\addressfont% - \vspace{\baselineskip}% forces a white line to ensure space between main text and footer (as footer height can't be known in advance) - \ifthenelse{\isundefined{\@addressstreet}}{}{\addtofooter[]{\addresssymbol\@addressstreet}% - \ifthenelse{\equal{\@addresscity}{}}{}{\addtofooter[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty - \ifthenelse{\equal{\@addresscountry}{}}{}{\addtofooter[~--~]{\@addresscountry}}% - \flushfooter\@firstfooterelementtrue\\}% - \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number - \addtofooter{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}% - \ifthenelse{\isundefined{\@email}}{}{\addtofooter{\emailsymbol\emaillink{\@email}}}% - \ifthenelse{\isundefined{\@homepage}}{}{\addtofooter{\homepagesymbol\httplink{\@homepage}}}% - \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link - \addtofooter{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}% - \ifthenelse{\isundefined{\@extrainfo}}{}{\addtofooter{\@extrainfo}}% - \ifthenelse{\lengthtest{\footerboxwidth=0pt}}{}{\flushfooter}% the lengthtest is required to avoid flushing an empty footer, which could cause a blank line due to the \\ after the address, if no other personal info is used - }}}% - \pagestyle{plain}} +% symbols +\moderncvicons{awesome} %------------------------------------------------------------------------------- -% letter style definition +% header, body & footer %------------------------------------------------------------------------------- -\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 - \@date\\[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[b]{\footerwidth}{% - \centering% - \addressfont\color{color2}% - \vspace{\baselineskip}% forces a white line to ensure space between main text and footer (as footer height can't be known in advance) - \vspace{-\baselineskip}% to cancel out the extra vertical space taken by the name (below) and ensure perfect alignment of letter and cv footers - \strut{\bfseries\upshape\@firstname~\@lastname}\\% the \strut is required to ensure the line is exactly \baselineskip tall - \ifthenelse{\isundefined{\@addressstreet}}{}{\addtofooter[]{\addresssymbol\@addressstreet}% - \ifthenelse{\equal{\@addresscity}{}}{}{\addtofooter[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty - \ifthenelse{\equal{\@addresscountry}{}}{}{\addtofooter[~--~]{\@addresscountry}}% - \flushfooter\@firstfooterelementtrue\\}% - \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number - \addtofooter{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}% - \ifthenelse{\isundefined{\@email}}{}{\addtofooter{\emailsymbol\emaillink{\@email}}}% - \ifthenelse{\isundefined{\@homepage}}{}{\addtofooter{\homepagesymbol\httplink{\@homepage}}}% - \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link - \addtofooter{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}% - \ifthenelse{\isundefined{\@extrainfo}}{}{\addtofooter{\@extrainfo}}% - \ifthenelse{\lengthtest{\footerboxwidth=0pt}}{}{\flushfooter}% the lengthtest is required to avoid flushing an empty footer, which could cause a blank line due to the \\ after the address, if no other personal info is used - }}}% - \pagestyle{plain}} - -\renewcommand*{\makeletterclosing}{ - \@closing\\[3em]% - {\bfseries\@firstname~\@lastname}% - \ifthenelse{\isundefined{\@enclosure}}{}{% - \\% - \vfil% - {\color{color2}\itshape\enclname: \@enclosure}}% - \vfil} +\moderncvhead[\moderncvstyleheadoptions]{2} +\moderncvbody{1} +\moderncvfoot{1} \endinput diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvstyleclassic.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvstyleclassic.sty index 6e26240adf1..6addabb2c27 100644 --- a/Master/texmf-dist/tex/latex/moderncv/moderncvstyleclassic.sty +++ b/Master/texmf-dist/tex/latex/moderncv/moderncvstyleclassic.sty @@ -1,5 +1,5 @@ %% start of file `moderncvstyleclassic.sty'. -%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com). +%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com). % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License version 1.3c, @@ -10,11 +10,19 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{moderncvstyleclassic}[2013/04/29 v1.5.1 modern curriculum vitae and letter style scheme: classic] +\ProvidesPackage{moderncvstyleclassic}[2015/07/28 v2.0.0 modern curriculum vitae and letter style scheme: classic] +% head section alignment options: "left" (default) or "right" +\@initializecommand{\moderncvstyleheadoptions}{} +\DeclareOption{left} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,left}} +\DeclareOption{right}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,right}} + +\DeclareOption*{}% avoid choking on unknown options +\ExecuteOptions{left} +\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package %------------------------------------------------------------------------------- -% required packages +% fonts & icons %------------------------------------------------------------------------------- % Latin Modern fonts %\ifxetexorluatex @@ -27,269 +35,15 @@ {} %\fi - -%------------------------------------------------------------------------------- -% overall style definition -%------------------------------------------------------------------------------- % symbols \moderncvicons{marvosym} %------------------------------------------------------------------------------- -% resume style definition +% header, body & footer %------------------------------------------------------------------------------- -% fonts -\renewcommand*{\namefont}{\fontsize{34}{36}\mdseries\upshape} -\renewcommand*{\titlefont}{\LARGE\mdseries\slshape} -\renewcommand*{\addressfont}{\small\mdseries\slshape} -\renewcommand*{\quotefont}{\large\slshape} -\renewcommand*{\sectionfont}{\Large\mdseries\upshape} -\renewcommand*{\subsectionfont}{\large\mdseries\upshape} -\renewcommand*{\hintfont}{} - -% styles -\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}} -\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}} -\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color1}{#1}}} -\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}} -\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}} -\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}} -\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}} - -% lengths -\newlength{\quotewidth} -\newlength{\hintscolumnwidth} -\setlength{\hintscolumnwidth}{0.175\textwidth} -\newlength{\separatorcolumnwidth} -\setlength{\separatorcolumnwidth}{0.025\textwidth} -\newlength{\maincolumnwidth} -\newlength{\doubleitemmaincolumnwidth} -\newlength{\listitemsymbolwidth} -\settowidth{\listitemsymbolwidth}{\listitemsymbol} -\newlength{\listitemmaincolumnwidth} -\newlength{\listdoubleitemmaincolumnwidth} - -% commands -\renewcommand*{\recomputecvlengths}{% - \setlength{\quotewidth}{0.65\textwidth}% - % main lenghts - \setlength{\maincolumnwidth}{\textwidth-\separatorcolumnwidth-\hintscolumnwidth}% - % listitem lengths - \setlength{\listitemmaincolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}% - % doubleitem lengths - \setlength{\doubleitemmaincolumnwidth}{\maincolumnwidth-\hintscolumnwidth-\separatorcolumnwidth-\separatorcolumnwidth}% - \setlength{\doubleitemmaincolumnwidth}{0.5\doubleitemmaincolumnwidth}% - % listdoubleitem lengths - \setlength{\listdoubleitemmaincolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}% - \setlength{\listdoubleitemmaincolumnwidth}{0.5\listdoubleitemmaincolumnwidth}% - % fancyhdr lengths - \renewcommand{\headwidth}{\textwidth}% - % regular lengths - \setlength{\parskip}{0\p@}} - -% optional maketitle width to force a certain width (if set to 0pt, the width is calculated automatically) -\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 (pre-rendering) - \def\phonesdetails{}% - \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number - \protected@edef\phonesdetails{\phonesdetails\protect\makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}% - \def\socialsdetails{}% - \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link - \protected@edef\socialsdetails{\socialsdetails\protect\makenewline\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}% - \newbox{\makecvtitledetailsbox}% - \savebox{\makecvtitledetailsbox}{% - \addressfont\color{color2}% - \begin{tabular}[b]{@{}r@{}}% - \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet% - \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty - \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}% - \phonesdetails% needs to be pre-rendered as loops and tabulars seem to conflict - \ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}% - \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}% - \socialsdetails% needs to be pre-rendered as loops and tabulars seem to conflict - \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}% - \end{tabular} - }% - % optional photo (pre-rendering) - \newbox{\makecvtitlepicturebox}% - \savebox{\makecvtitlepicturebox}{% - \ifthenelse{\isundefined{\@photo}}% - {}% - {% - \hspace*{\separatorcolumnwidth}% - \color{color1}% - \setlength{\fboxrule}{\@photoframewidth}% - \ifdim\@photoframewidth=0pt% - \setlength{\fboxsep}{0pt}\fi% - \framebox{\includegraphics[width=\@photowidth]{\@photo}}}}% - % name and title - \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]{\makecvtitlenamewidth}% - \namestyle{\@firstname\ \@lastname}% - \ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}% - \end{minipage}% - \hfill% - % optional detailed information (rendering) - \llap{\usebox{\makecvtitledetailsbox}}% \llap is used to suppress the width of the box, allowing overlap if the value of makecvtitlenamewidth is forced - % optional photo (rendering) - \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 \makecvtitle - -\newlength{\baseletterheight} -\settoheight{\baseletterheight}{\sectionstyle{o}} -\setlength{\baseletterheight}{\baseletterheight-0.95ex} -\RenewDocumentCommand{\section}{sm}{% - \par\addvspace{2.5ex}% - \phantomsection{}% reset the anchor for hyperrefs - \addcontentsline{toc}{section}{#2}% - \parbox[t]{\hintscolumnwidth}{\strut\raggedleft\raisebox{\baseletterheight}{\color{color1}\rule{\hintscolumnwidth}{0.95ex}}}% - \hspace{\separatorcolumnwidth}% - \parbox[t]{\maincolumnwidth}{\strut\sectionstyle{#2}}% - \par\nobreak\addvspace{1ex}\@afterheading}% to avoid a pagebreak after the heading - -\RenewDocumentCommand{\subsection}{sm}{% - \par\addvspace{1ex}% - \phantomsection{}% reset the anchor for hyperrefs - \addcontentsline{toc}{subsection}{#2}% - \begin{tabular}{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}% - \raggedleft\hintstyle{} &{\strut\subsectionstyle{#2}}% - \end{tabular}% - \par\nobreak\addvspace{0.5ex}\@afterheading}% to avoid a pagebreak after the heading - -\renewcommand*{\cvitem}[3][.25em]{% - \begin{tabular}{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}% - \raggedleft\hintstyle{#2} &{#3}% - \end{tabular}% - \par\addvspace{#1}} - -\renewcommand*{\cvdoubleitem}[5][.25em]{% - \cvitem[#1]{#2}{% - \begin{minipage}[t]{\doubleitemmaincolumnwidth}#3\end{minipage}% - \hfill% fill of \separatorcolumnwidth - \begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#4}\end{minipage}% - \hspace*{\separatorcolumnwidth}% - \begin{minipage}[t]{\doubleitemmaincolumnwidth}#5\end{minipage}}} - -\renewcommand*{\cvlistitem}[2][.25em]{% - \cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listitemmaincolumnwidth}#2\end{minipage}}} - -\renewcommand*{\cvlistdoubleitem}[3][.25em]{% - \cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemmaincolumnwidth}#2\end{minipage}% - \hfill% fill of \separatorcolumnwidth - \ifthenelse{\equal{#3}{}}% - {}% - {\listitemsymbol\begin{minipage}[t]{\listdoubleitemmaincolumnwidth}#3\end{minipage}}}} - -\renewcommand*{\cventry}[7][.25em]{% - \cvitem[#1]{#2}{% - {\bfseries#3}% - \ifthenelse{\equal{#4}{}}{}{, {\slshape#4}}% - \ifthenelse{\equal{#5}{}}{}{, #5}% - \ifthenelse{\equal{#6}{}}{}{, #6}% - .\strut% - \ifx&% - \else{\newline{}\begin{minipage}[t]{\linewidth}\small#7\end{minipage}}\fi}} - -\newbox{\cvitemwithcommentmainbox} -\newlength{\cvitemwithcommentmainlength} -\newlength{\cvitemwithcommentcommentlength} -\renewcommand*{\cvitemwithcomment}[4][.25em]{% - \savebox{\cvitemwithcommentmainbox}{{\bfseries#3}}% - \setlength{\cvitemwithcommentmainlength}{\widthof{\usebox{\cvitemwithcommentmainbox}}}% - \setlength{\cvitemwithcommentcommentlength}{\maincolumnwidth-\separatorcolumnwidth-\cvitemwithcommentmainlength}% - \cvitem[#1]{#2}{% - \begin{minipage}[t]{\cvitemwithcommentmainlength}\bfseries#3\end{minipage}% - \hfill% fill of \separatorcolumnwidth - \begin{minipage}[t]{\cvitemwithcommentcommentlength}\raggedleft\small\itshape#4\end{minipage}}} - -\renewenvironment{thebibliography}[1]% - {% - \bibliographyhead{\refname}% -% \small% - \begin{list}{\bibliographyitemlabel}% - {% - \setlength{\topsep}{0pt}% - \setlength{\labelwidth}{\hintscolumnwidth}% - \setlength{\labelsep}{\separatorcolumnwidth}% - \leftmargin\labelwidth% - \advance\leftmargin\labelsep% - \@openbib@code% - \usecounter{enumiv}% - \let\p@enumiv\@empty% - \renewcommand\theenumiv{\@arabic\c@enumiv}}% - \sloppy\clubpenalty4000\widowpenalty4000% -% \sfcode`\.\@m% -% \sfcode `\=1000\relax% - }% - {% - \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}% - \end{list}% - } - - -%------------------------------------------------------------------------------- -% 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~\@lastname}\@firstdetailselementfalse% - \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet% - \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty - \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}% - \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number - \makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}% - \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 - \@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900" - % 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~\@lastname}% - \ifthenelse{\isundefined{\@enclosure}}{}{% - \\% - \vfill% - {\color{color2}\itshape\enclname: \@enclosure}}} +\moderncvhead[\moderncvstyleheadoptions]{1} +\moderncvbody{1} \endinput diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvstyleempty.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvstyleempty.sty index 2012fb0d96a..815a4d754ff 100644 --- a/Master/texmf-dist/tex/latex/moderncv/moderncvstyleempty.sty +++ b/Master/texmf-dist/tex/latex/moderncv/moderncvstyleempty.sty @@ -1,5 +1,5 @@ %% start of file `moderncvstyleempty.sty'. -%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com). +%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com). % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License version 1.3c, @@ -10,7 +10,7 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{moderncvstyleempty}[2013/04/29 v1.5.1 modern curriculum vitae scheme: empty] +\ProvidesPackage{moderncvstyleempty}[2015/07/28 v2.0.0 modern curriculum vitae scheme: empty] %------------------------------------------------------------------------------- diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvstylefancy.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvstylefancy.sty new file mode 100644 index 00000000000..b44f378326d --- /dev/null +++ b/Master/texmf-dist/tex/latex/moderncv/moderncvstylefancy.sty @@ -0,0 +1,47 @@ +%% start of file `moderncvstylefancy.sty'. +%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com). +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License version 1.3c, +% available at http://www.latex-project.org/lppl/. + + +%------------------------------------------------------------------------------- +% identification +%------------------------------------------------------------------------------- +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{moderncvstylefancy}[2015/07/28 v2.0.0 modern curriculum vitae and letter style scheme: fancy] + +\DeclareOption*{}% avoid choking on unknown options +\ExecuteOptions{} +\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package + +%------------------------------------------------------------------------------- +% fonts & icons +%------------------------------------------------------------------------------- +% EB Garamond font +%\ifxetexorluatex +% \setmainfont{EB Garamond} +% \setsansfont{EB Garamond} +% \setmathfont{EB Garamond} +%\else + \IfFileExists{ebgaramond.sty}% + {\RequirePackage{ebgaramond}}% + {} +%\fi + +% symbols +\moderncvicons{awesome} + + +%------------------------------------------------------------------------------- +% header, body & footer +%------------------------------------------------------------------------------- +\moderncvhead{5} +\moderncvbody{5} + + +\endinput + + +%% end of file `moderncvstylefancy.sty'. diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvstyleoldstyle.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvstyleoldstyle.sty index 29131d4dc8e..9046fda54b1 100644 --- a/Master/texmf-dist/tex/latex/moderncv/moderncvstyleoldstyle.sty +++ b/Master/texmf-dist/tex/latex/moderncv/moderncvstyleoldstyle.sty @@ -1,5 +1,5 @@ %% start of file `moderncvstyleoldstyle.sty'. -%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com). +%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com). % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License version 1.3c, @@ -10,20 +10,17 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{moderncvstyleoldstyle}[2013/04/29 v1.5.1 modern curriculum vitae and letter style scheme: oldstyle] +\ProvidesPackage{moderncvstyleoldstyle}[2015/07/28 v2.0.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} +\DeclareOption*{}% avoid choking on unknown options +\ExecuteOptions{} +\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package %------------------------------------------------------------------------------- -% overall style definition +% fonts & icons %------------------------------------------------------------------------------- -% fonts +% Kurier font %\ifxetexorluatex % \setmainfont[Numbers={OldStyle,Proportional}, BoldFont={Kurier Bold}, ItalicFont={Kurier Light Italic}, BoldItalicFont={Kurier Bold Italic}]{Kurier Light} % \setsansfont[Numbers={OldStyle,Proportional}, BoldFont={Kurier Bold}, ItalicFont={Kurier Light Italic}, BoldItalicFont={Kurier Bold Italic}]{Kurier Light} @@ -42,266 +39,10 @@ %------------------------------------------------------------------------------- -% resume style definition +% header, body & footer %------------------------------------------------------------------------------- -% fonts -\renewcommand*{\namefont}{\fontsize{34}{36}\mdseries\upshape} -\renewcommand*{\titlefont}{\LARGE\mdseries\slshape} -\renewcommand*{\addressfont}{\small\mdseries} -\renewcommand*{\quotefont}{\large\itshape} -\renewcommand*{\sectionfont}{\Large\bfseries\upshape} -\renewcommand*{\subsectionfont}{\large\bfseries\itshape} -\renewcommand*{\hintfont}{\bfseries} - -% styles -\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}} -\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}} -\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}} -\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}} -\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}} -\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}} -\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}} - -% lengths -\newlength{\quotewidth} -\newlength{\hintscolumnwidth} -\setlength{\hintscolumnwidth}{0.3\textwidth}% -\newlength{\separatorcolumnwidth} -\setlength{\separatorcolumnwidth}{0.025\textwidth}% -\newlength{\maincolumnwidth} -\newlength{\doubleitemcolumnwidth} -\newlength{\listitemsymbolwidth} -\settowidth{\listitemsymbolwidth}{\listitemsymbol} -\newlength{\listitemmaincolumnwidth} -\newlength{\listdoubleitemmaincolumnwidth} - -% commands -\setlength{\marginparwidth}{0\p@}% -\setlength{\marginparsep}{0\p@} -\renewcommand*{\recomputecvlengths}{% - % regular lengths - \changepage{}{+\marginparwidth+\marginparsep}{}{}{}{}{}{}{}% if a letter was typeset before the resume, \marginparwidth and \marginparsep will be non-zero; otherwise, this has no effect - \setlength{\marginparwidth}{0\p@}% - \setlength{\marginparsep}{0\p@} - \setlength{\parskip}{0\p@}% - % maketitle lengths - \setlength{\quotewidth}{0.65\textwidth}% - % main lenghts - \setlength{\maincolumnwidth}{\textwidth-\hintscolumnwidth-\separatorcolumnwidth}% - % listitem lengths - \setlength{\listitemmaincolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}% - % doubleitem lengths - \setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}% - \setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}% - % listdoubleitem lengths - \setlength{\listdoubleitemmaincolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}% - \setlength{\listdoubleitemmaincolumnwidth}{0.5\listdoubleitemmaincolumnwidth}% - % fancyhdr lengths - \renewcommand{\headwidth}{\textwidth}} - -\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\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{\makecvtitlepicturebox}% - \savebox{\makecvtitlepicturebox}{% - \ifthenelse{\isundefined{\@photo}}% - {}% - {% - \color{color1}% - \setlength\fboxrule{\@photoframewidth}% - \ifdim\@photoframewidth=0pt% - \setlength{\fboxsep}{0pt}\fi% - \framebox{\includegraphics[width=\@photowidth]{\@photo}}}}% - % name and title - \newlength{\makecvtitlepicturewidth}\settowidth{\makecvtitlepicturewidth}{\usebox{\makecvtitlepicturebox}}% - \newlength{\makecvtitlenamewidth}\setlength{\makecvtitlenamewidth}{\textwidth-\makecvtitlepicturewidth}% - \begin{minipage}[b]{\makecvtitlenamewidth}% - \namestyle{\@firstname\ \@lastname}% - \ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}% - \end{minipage}% - % optional photo - \usebox{\makecvtitlepicturebox}\\[2.5em]% - % optional quote - \ifthenelse{\isundefined{\@quote}}% - {}% - {{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[2.5em]}}% - % optional details - \makecvinfo{% - \addressfont\color{color2}% - \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet% - \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty - \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}% - \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number - \makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}% - \ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}% - \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}% - \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link - \makenewline\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}% - \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}} - -\RenewDocumentCommand{\section}{sm}{% - \par\addvspace{2.5ex}% - \phantomsection{}% reset the anchor for hyperrefs - \addcontentsline{toc}{section}{#2}% - \strut\sectionstyle{#2}% - \par\nobreak\addvspace{1ex}\@afterheading}% to avoid a pagebreak after the heading - -\RenewDocumentCommand{\subsection}{sm}{% - \par\addvspace{1ex}% - \phantomsection{}% reset the anchor for hyperrefs - \addcontentsline{toc}{subsection}{#2}% - \strut\subsectionstyle{#2}% - \par\nobreak\addvspace{0.5ex}\@afterheading}% to avoid a pagebreak after the heading - -\renewcommand*{\cvitem}[3][.25em]{% - \ifthenelse{\equal{#2}{}}{}{\hintstyle{#2}: }{#3}% - \par\addvspace{#1}} - -\renewcommand*{\cvdoubleitem}[5][.25em]{% - \begin{minipage}[t]{\doubleitemcolumnwidth}\hintstyle{#2}: #3\end{minipage}% - \hfill% fill of \separatorcolumnwidth - \begin{minipage}[t]{\doubleitemcolumnwidth}\ifthenelse{\equal{#4}{}}{}{\hintstyle{#4}: }#5\end{minipage}% - \par\addvspace{#1}} - -\renewcommand*{\cvlistitem}[2][.25em]{% - \cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listitemmaincolumnwidth}#2\end{minipage}}} - -\renewcommand*{\cvlistdoubleitem}[3][.25em]{% - \cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemmaincolumnwidth}#2\end{minipage}% - \hfill% fill of \separatorcolumnwidth - \ifthenelse{\equal{#3}{}}% - {}% - {\listitemsymbol\begin{minipage}[t]{\listdoubleitemmaincolumnwidth}#3\end{minipage}}}} - -\newbox{\cventryyearbox} -\newlength{\cventrytitleboxwidth} -\renewcommand*{\cventry}[7][.25em]{% - \savebox{\cventryyearbox}{% - \hspace*{2\separatorcolumnwidth}% - \hintstyle{#2}}% - \setlength{\cventrytitleboxwidth}{\widthof{\usebox{\cventryyearbox}}}% - \setlength{\cventrytitleboxwidth}{\maincolumnwidth-\cventrytitleboxwidth}% - \begin{minipage}{\maincolumnwidth}% - \parbox[t]{\cventrytitleboxwidth}{% - \strut% - {\bfseries#3}% - \ifthenelse{\equal{#4}{}}{}{, {\slshape#4}}% - \ifthenelse{\equal{#5}{}}{}{, #5}% - \ifthenelse{\equal{#6}{}}{}{, #6}% - .\strut}% - \usebox{\cventryyearbox}% - \end{minipage}% - \ifx&% - \else{% - \newline{}% - \begin{minipage}[t]{\maincolumnwidth}% - \small% - #7% - \end{minipage}}\fi% - \par\addvspace{#1}} - -\newbox{\cvitemwithcommentmainbox} -\newlength{\cvitemwithcommentmainlength} -\newlength{\cvitemwithcommentcommentlength} -\renewcommand*{\cvitemwithcomment}[4][.25em]{% - \savebox{\cvitemwithcommentmainbox}{\ifthenelse{\equal{#2}{}}{}{\hintstyle{#2}: }#3}% - \setlength{\cvitemwithcommentmainlength}{\widthof{\usebox{\cvitemwithcommentmainbox}}}% - \setlength{\cvitemwithcommentcommentlength}{\maincolumnwidth-\separatorcolumnwidth-\cvitemwithcommentmainlength}% - \begin{minipage}[t]{\cvitemwithcommentmainlength}\ifthenelse{\equal{#2}{}}{}{\hintstyle{#2}: }#3\end{minipage}% - \hfill% fill of \separatorcolumnwidth - \begin{minipage}[t]{\cvitemwithcommentcommentlength}\raggedleft\small\itshape#4\end{minipage}% - \par\addvspace{#1}} - -\renewenvironment{thebibliography}[1]% - {% - \bibliographyhead{\refname}% -% \small% - \begin{list}{\bibliographyitemlabel}% - {% - \setlength{\topsep}{0pt}% - \setlength{\labelwidth}{\hintscolumnwidth}% - \setlength{\labelsep}{\separatorcolumnwidth}% - \leftmargin\labelwidth% - \advance\leftmargin\labelsep% - \@openbib@code% - \usecounter{enumiv}% - \let\p@enumiv\@empty% - \renewcommand\theenumiv{\@arabic\c@enumiv}}% - \sloppy\clubpenalty4000\widowpenalty4000% -% \sfcode`\.\@m% -% \sfcode `\=1000\relax% - }% - {% - \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}% - \end{list}% - } - - -%------------------------------------------------------------------------------- -% 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~\@lastname}\@firstdetailselementfalse% - \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet% - \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty - \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}% - \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number - \makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}% - \ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}% - \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}% - \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link - \makenewline\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}% - \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~\@lastname}% - \ifthenelse{\isundefined{\@enclosure}}{}{% - \\% - \vfill% - {\color{color2}\itshape\enclname: \@enclosure}}} +\moderncvhead{4} +\moderncvbody{4} \endinput |