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 | |
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')
52 files changed, 2694 insertions, 1029 deletions
diff --git a/Master/texmf-dist/doc/latex/moderncv/CHANGELOG b/Master/texmf-dist/doc/latex/moderncv/CHANGELOG index 3726bf0c4d2..8e300badd1f 100644 --- a/Master/texmf-dist/doc/latex/moderncv/CHANGELOG +++ b/Master/texmf-dist/doc/latex/moderncv/CHANGELOG @@ -1,3 +1,36 @@ +version 2.0.0 (28 Jul 2015) + - refactored the code into heads, body, foot and icon substyles. All styles + (classic, casual, banking and oldstyle) are just a combination of these and + some font selection. Mixing substyles (e.g., the banking header with the + classic body) is now trivial by using the \moderncvhead, \moderncvbody, + \moderncvfoot and \moderncvicons commands. Each of these take a substyle number + as argument. \moderncvcolor takes a color name as argument. + - added a new style, "fancy". + - added an optional argument to \moderncvstyle to specify style options, i.e. + \moderncvstyle[options]{style}. Below is a list of the available options per + style: + * classic + > to specify of one's name should appear left or right at the top: "left" + (default) or "right; + * casual + > to specify of one's name should appear left or right at the top: "left" + (default) or "right; + * banking + > to specify how the section- and subsectionrules should be set: + "fullrules", "shortrules", "mixedrules" (default; full rules for sections, + short rules for subsections), "centered" (fullrules with centered title) + and "norules" (norules, small caps font); + > to specify how the body should be aligned: left" (default), "center" or + "right"; + * oldstyle & fancy + n/a + - added a new color variant: "burgundy". + - corrected the color of \addressstyle to match the one effectively used + (color2). + - adjusted the bibliography spacing to handle entries with or without labels. + - added a check on the emptyness of \title when setting the hyperref document + properties. + version 1.5.1 (29 Apr 2013) - made sure that XeLaTeX or LuaLaTeX is in use before loading the awesome icon set and if not, revert to the marvosym icon set. diff --git a/Master/texmf-dist/doc/latex/moderncv/KNOWN_BUGS b/Master/texmf-dist/doc/latex/moderncv/KNOWN_BUGS index 0a61db2bf6d..65660767063 100644 --- a/Master/texmf-dist/doc/latex/moderncv/KNOWN_BUGS +++ b/Master/texmf-dist/doc/latex/moderncv/KNOWN_BUGS @@ -1,3 +1,5 @@ +- When using the "fancy" style, undesired space is added between the bibliography + head and the first entry, as well as after the last entry - Moderncv is incompatible with biblatex. - Footnotes generates errors (though the output seem correct when running with "-interaction=nonstopmode") diff --git a/Master/texmf-dist/doc/latex/moderncv/README b/Master/texmf-dist/doc/latex/moderncv/README index 34df8ecb53e..3f17b081ac4 100644 --- a/Master/texmf-dist/doc/latex/moderncv/README +++ b/Master/texmf-dist/doc/latex/moderncv/README @@ -1,15 +1,16 @@ moderncv -- a modern curriculum vitae class -Moderncv provides a documentclass for typesetting curriculum vitaes in various -styles. It aims to be both straightforward to use and customizable, providing -four ready-made styles (classic, casual, banking and oldstyle) and allows you to -define your own style by easily modifying colors, fonts, etc. +Moderncv provides a documentclass for typesetting curricula vitae in various +styles. Moderncv aims to be both straightforward to use and customizable, +providing four ready-made styles (classic, casual, banking and oldstyle) +and allowing one to define his own by modifying colors, fonts, icons, etc. Most commands are defined in such a way that arguments are optional. -Until a decent manual is written, you can always look in the "examples" +Until a decent manual is written, one can always look in the "examples" directory for some examples. Documents can be compiled into dvi, ps or pdf. Author: Xavier Danaux <xdanaux@gmail.com> Licence: The LaTeX Project Public License, version 1.3c +URL: https://github.com/xdanaux/moderncv diff --git a/Master/texmf-dist/doc/latex/moderncv/examples/Makefile b/Master/texmf-dist/doc/latex/moderncv/examples/Makefile new file mode 100644 index 00000000000..66f85dbeade --- /dev/null +++ b/Master/texmf-dist/doc/latex/moderncv/examples/Makefile @@ -0,0 +1,18 @@ +SHAREDFILES = moderncv.cls moderncvcompatibility.sty moderncvcolor*.sty moderncvdebugtools.sty + + +template_classic_*.pdf: $(SHAREDFILES) template.tex template_classic_green.diff moderncvstyleclassic.sty moderncvheadi.sty moderncvbodyi.sty moderncviconsmarvosym.sty + TARGET=basename($<) + echo -e "Generating $<\c"; + cp template.tex $TARGET.tex && echo -e ".\c"; + patch --silent $TARGET.tex < $TARGET.diff && echo -e ".\c"; + lualatex --interaction=batchmode --draftmode $TARGET > /dev/null && echo -e ".\c"; + bibtex $TARGET > /dev/null && echo -e ".\c"; + lualatex --interaction=batchmode $TARGET > /dev/null && echo -e ".\c"; + lualatex --interaction=batchmode $TARGET > /dev/null && echo -e " done"; + +clean: + rm *.aux *.log *.bbl *.blg *.out; + rm template_*.tex; + rm *.sty moderncv.cls; + diff --git a/Master/texmf-dist/doc/latex/moderncv/examples/template-es.pdf b/Master/texmf-dist/doc/latex/moderncv/examples/template-es.pdf Binary files differindex 54af78b585b..450ce70e3ae 100644 --- a/Master/texmf-dist/doc/latex/moderncv/examples/template-es.pdf +++ b/Master/texmf-dist/doc/latex/moderncv/examples/template-es.pdf diff --git a/Master/texmf-dist/doc/latex/moderncv/examples/template_multibib.pdf b/Master/texmf-dist/doc/latex/moderncv/examples/template-multibib.pdf Binary files differindex 72d781a1fb6..2346de10d75 100644 --- a/Master/texmf-dist/doc/latex/moderncv/examples/template_multibib.pdf +++ b/Master/texmf-dist/doc/latex/moderncv/examples/template-multibib.pdf diff --git a/Master/texmf-dist/doc/latex/moderncv/examples/template-multibib.tex b/Master/texmf-dist/doc/latex/moderncv/examples/template-multibib.tex new file mode 100644 index 00000000000..cade26db91f --- /dev/null +++ b/Master/texmf-dist/doc/latex/moderncv/examples/template-multibib.tex @@ -0,0 +1,165 @@ +%% start of file `template.tex'. +%% Copyright 2006-2013 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/. + + +\documentclass[11pt,a4paper,sans]{moderncv} % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman') + +% moderncv themes +\moderncvstyle{casual} % style options are 'casual' (default), 'classic', 'oldstyle' and 'banking' +\moderncvcolor{blue} % color options 'blue' (default), 'orange', 'green', 'red', 'purple', 'grey' and 'black' +%\renewcommand{\familydefault}{\sfdefault} % to set the default font; use '\sfdefault' for the default sans serif font, '\rmdefault' for the default roman one, or any tex font name +%\nopagenumbers{} % uncomment to suppress automatic page numbering for CVs longer than one page + +% character encoding +%\usepackage[utf8]{inputenc} % if you are not using xelatex ou lualatex, replace by the encoding you are using +%\usepackage{CJKutf8} % if you need to use CJK to typeset your resume in Chinese, Japanese or Korean + +% adjust the page margins +\usepackage[scale=0.75]{geometry} +%\setlength{\hintscolumnwidth}{3cm} % if you want to change the width of the column with the dates +%\setlength{\makecvtitlenamewidth}{10cm} % for the 'classic' style, if you want to force the width allocated to your name and avoid line breaks. be careful though, the length is normally calculated to avoid any overlap with your personal info; use this at your own typographical risks... + +% personal data +\name{John}{Doe} +\title{Resumé title} % optional, remove / comment the line if not wanted +\address{street and number}{postcode city}{country}% optional, remove / comment the line if not wanted; the "postcode city" and "country" arguments can be omitted or provided empty +\phone[mobile]{+1~(234)~567~890} % optional, remove / comment the line if not wanted; the optional "type" of the phone can be "mobile" (default), "fixed" or "fax" +\phone[fixed]{+2~(345)~678~901} +\phone[fax]{+3~(456)~789~012} +\email{john@doe.org} % optional, remove / comment the line if not wanted +\homepage{www.johndoe.com} % optional, remove / comment the line if not wanted +\social[linkedin]{john.doe} % optional, remove / comment the line if not wanted +\social[twitter]{jdoe} % optional, remove / comment the line if not wanted +\social[github]{jdoe} % optional, remove / comment the line if not wanted +\extrainfo{additional information} % optional, remove / comment the line if not wanted +\photo[64pt][0.4pt]{picture} % optional, remove / comment the line if not wanted; '64pt' is the height the picture must be resized to, 0.4pt is the thickness of the frame around it (put it to 0pt for no frame) and 'picture' is the name of the picture file +\quote{Some quote} % optional, remove / comment the line if not wanted + +% to show numerical labels in the bibliography (default is to show no labels); only useful if you make citations in your resume +%\makeatletter +%\renewcommand*{\bibliographyitemlabel}{\@biblabel{\arabic{enumiv}}} +%\makeatother +%\renewcommand*{\bibliographyitemlabel}{[\arabic{enumiv}]}% CONSIDER REPLACING THE ABOVE BY THIS + +% bibliography with mutiple entries +\usepackage{multibib} +\newcites{book,misc}{{Books},{Others}} +%---------------------------------------------------------------------------------- +% content +%---------------------------------------------------------------------------------- +\begin{document} +%\begin{CJK*}{UTF8}{gbsn} % to typeset your resume in Chinese using CJK +%----- resume --------------------------------------------------------- +\makecvtitle + +\section{Education} +\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description} % arguments 3 to 6 can be left empty +\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description} + +\section{Master thesis} +\cvitem{title}{\emph{Title}} +\cvitem{supervisors}{Supervisors} +\cvitem{description}{Short thesis abstract} + +\section{Experience} +\subsection{Vocational} +\cventry{year--year}{Job title}{Employer}{City}{}{General description no longer than 1--2 lines.\newline{}% +Detailed achievements:% +\begin{itemize}% +\item Achievement 1; +\item Achievement 2, with sub-achievements: + \begin{itemize}% + \item Sub-achievement (a); + \item Sub-achievement (b), with sub-sub-achievements (don't do this!); + \begin{itemize} + \item Sub-sub-achievement i; + \item Sub-sub-achievement ii; + \item Sub-sub-achievement iii; + \end{itemize} + \item Sub-achievement (c); + \end{itemize} +\item Achievement 3. +\end{itemize}} +\cventry{year--year}{Job title}{Employer}{City}{}{Description line 1\newline{}Description line 2} +\subsection{Miscellaneous} +\cventry{year--year}{Job title}{Employer}{City}{}{Description} + +\section{Languages} +\cvitemwithcomment{Language 1}{Skill level}{Comment} +\cvitemwithcomment{Language 2}{Skill level}{Comment} +\cvitemwithcomment{Language 3}{Skill level}{Comment} + +\section{Computer skills} +\cvdoubleitem{category 1}{XXX, YYY, ZZZ}{category 4}{XXX, YYY, ZZZ} +\cvdoubleitem{category 2}{XXX, YYY, ZZZ}{category 5}{XXX, YYY, ZZZ} +\cvdoubleitem{category 3}{XXX, YYY, ZZZ}{category 6}{XXX, YYY, ZZZ} + +\section{Interests} +\cvitem{hobby 1}{Description} +\cvitem{hobby 2}{Description} +\cvitem{hobby 3}{Description} + +\section{Extra 1} +\cvlistitem{Item 1} +\cvlistitem{Item 2} +\cvlistitem{Item 3. This item is particularly long and therefore normally spans over several lines. Did you notice the indentation when the line wraps?} + +\section{Extra 2} +\cvlistdoubleitem{Item 1}{Item 4} +\cvlistdoubleitem{Item 2}{Item 5\cite{book1}} +\cvlistdoubleitem{Item 3}{Item 6. Like item 3 in the single column list before, this item is particularly long to wrap over several lines.} + +\section{References} +\begin{cvcolumns} + \cvcolumn{Category 1}{\begin{itemize}\item Person 1\item Person 2\item Person 3\end{itemize}} + \cvcolumn{Category 2}{Amongst others:\begin{itemize}\item Person 1, and\item Person 2\end{itemize}(more upon request)} + \cvcolumn[0.5]{All the rest \& some more}{\textit{That} person, and \textbf{those} also (all available upon request).} +\end{cvcolumns} + +% Publications from a BibTeX file without multibib +% for numerical labels: \renewcommand{\bibliographyitemlabel}{\@biblabel{\arabic{enumiv}}}% CONSIDER MERGING WITH PREAMBLE PART +% to redefine the heading string ("Publications"): \renewcommand{\refname}{Articles} +%\nocite{*} +%\bibliographystyle{plain} +%\bibliography{publications} % 'publications' is the name of a BibTeX file + +% Publications from a BibTeX file using the multibib package +\section{Publications} +\nocitebook{book1,book2} +\bibliographystylebook{plain} +\bibliographybook{publications} % 'publications' is the name of a BibTeX file +\nocitemisc{misc1,misc2,misc3} +\bibliographystylemisc{plain} +\bibliographymisc{publications} % 'publications' is the name of a BibTeX file + +\clearpage +%----- letter --------------------------------------------------------- +% recipient data +\recipient{Company Recruitment team}{Company, Inc.\\123 somestreet\\some city} +\date{January 01, 1984} +\opening{Dear Sir or Madam,} +\closing{Yours faithfully,} +\enclosure[Attached]{curriculum vit\ae{}} % use an optional argument to use a string other than "Enclosure", or redefine \enclname +\makelettertitle + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis ullamcorper neque sit amet lectus facilisis sed luctus nisl iaculis. Vivamus at neque arcu, sed tempor quam. Curabitur pharetra tincidunt tincidunt. Morbi volutpat feugiat mauris, quis tempor neque vehicula volutpat. Duis tristique justo vel massa fermentum accumsan. Mauris ante elit, feugiat vestibulum tempor eget, eleifend ac ipsum. Donec scelerisque lobortis ipsum eu vestibulum. Pellentesque vel massa at felis accumsan rhoncus. + +Suspendisse commodo, massa eu congue tincidunt, elit mauris pellentesque orci, cursus tempor odio nisl euismod augue. Aliquam adipiscing nibh ut odio sodales et pulvinar tortor laoreet. Mauris a accumsan ligula. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Suspendisse vulputate sem vehicula ipsum varius nec tempus dui dapibus. Phasellus et est urna, ut auctor erat. Sed tincidunt odio id odio aliquam mattis. Donec sapien nulla, feugiat eget adipiscing sit amet, lacinia ut dolor. Phasellus tincidunt, leo a fringilla consectetur, felis diam aliquam urna, vitae aliquet lectus orci nec velit. Vivamus dapibus varius blandit. + +Duis sit amet magna ante, at sodales diam. Aenean consectetur porta risus et sagittis. Ut interdum, enim varius pellentesque tincidunt, magna libero sodales tortor, ut fermentum nunc metus a ante. Vivamus odio leo, tincidunt eu luctus ut, sollicitudin sit amet metus. Nunc sed orci lectus. Ut sodales magna sed velit volutpat sit amet pulvinar diam venenatis. + +Albert Einstein discovered that $e=mc^2$ in 1905. + +\[ e=\lim_{n \to \infty} \left(1+\frac{1}{n}\right)^n \] + +\makeletterclosing + +%\clearpage\end{CJK*} % if you are typesetting your resume in Chinese using CJK; the \clearpage is required for fancyhdr to work correctly with CJK, though it kills the page numbering by making \lastpage undefined +\end{document} + + +%% end of file `template.tex'. diff --git a/Master/texmf-dist/doc/latex/moderncv/examples/template-zh.pdf b/Master/texmf-dist/doc/latex/moderncv/examples/template-zh.pdf Binary files differindex a3315b75326..de7171771c1 100644 --- a/Master/texmf-dist/doc/latex/moderncv/examples/template-zh.pdf +++ b/Master/texmf-dist/doc/latex/moderncv/examples/template-zh.pdf diff --git a/Master/texmf-dist/doc/latex/moderncv/examples/template.tex b/Master/texmf-dist/doc/latex/moderncv/examples/template.tex index 8e7648f9995..fbfd3477f43 100644 --- a/Master/texmf-dist/doc/latex/moderncv/examples/template.tex +++ b/Master/texmf-dist/doc/latex/moderncv/examples/template.tex @@ -1,5 +1,5 @@ %% start of file `template.tex'. -%% 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, @@ -9,8 +9,8 @@ \documentclass[11pt,a4paper,sans]{moderncv} % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman') % moderncv themes -\moderncvstyle{casual} % style options are 'casual' (default), 'classic', 'oldstyle' and 'banking' -\moderncvcolor{blue} % color options 'blue' (default), 'orange', 'green', 'red', 'purple', 'grey' and 'black' +\moderncvstyle{casual} % style options are 'casual' (default), 'classic', 'banking', 'oldstyle' and 'fancy' +\moderncvcolor{blue} % color options 'black', 'blue' (default), 'burgundy', 'green', 'grey', 'orange', 'purple' and 'red' %\renewcommand{\familydefault}{\sfdefault} % to set the default font; use '\sfdefault' for the default sans serif font, '\rmdefault' for the default roman one, or any tex font name %\nopagenumbers{} % uncomment to suppress automatic page numbering for CVs longer than one page @@ -39,11 +39,11 @@ \photo[64pt][0.4pt]{picture} % optional, remove / comment the line if not wanted; '64pt' is the height the picture must be resized to, 0.4pt is the thickness of the frame around it (put it to 0pt for no frame) and 'picture' is the name of the picture file \quote{Some quote} % optional, remove / comment the line if not wanted -% to show numerical labels in the bibliography (default is to show no labels); only useful if you make citations in your resume -%\makeatletter -%\renewcommand*{\bibliographyitemlabel}{\@biblabel{\arabic{enumiv}}} -%\makeatother -%\renewcommand*{\bibliographyitemlabel}{[\arabic{enumiv}]}% CONSIDER REPLACING THE ABOVE BY THIS +% bibliography adjustements (only useful if you make citations in your resume, or print a list of publications using BibTeX) +% to show numerical labels in the bibliography (default is to show no labels) +\makeatletter\renewcommand*{\bibliographyitemlabel}{\@biblabel{\arabic{enumiv}}}\makeatother +% to redefine the bibliography heading string ("Publications") +%\renewcommand{\refname}{Articles} % bibliography with mutiple entries %\usepackage{multibib} diff --git a/Master/texmf-dist/doc/latex/moderncv/examples/template_banking_red-fullrules-center.pdf b/Master/texmf-dist/doc/latex/moderncv/examples/template_banking_red-fullrules-center.pdf Binary files differnew file mode 100644 index 00000000000..5e4ed3adbfc --- /dev/null +++ b/Master/texmf-dist/doc/latex/moderncv/examples/template_banking_red-fullrules-center.pdf diff --git a/Master/texmf-dist/doc/latex/moderncv/examples/template_banking_red-norules.pdf b/Master/texmf-dist/doc/latex/moderncv/examples/template_banking_red-norules.pdf Binary files differnew file mode 100644 index 00000000000..212e81cec32 --- /dev/null +++ b/Master/texmf-dist/doc/latex/moderncv/examples/template_banking_red-norules.pdf diff --git a/Master/texmf-dist/doc/latex/moderncv/examples/template_banking_red-shortrules-right.pdf b/Master/texmf-dist/doc/latex/moderncv/examples/template_banking_red-shortrules-right.pdf Binary files differnew file mode 100644 index 00000000000..a1303b4f83c --- /dev/null +++ b/Master/texmf-dist/doc/latex/moderncv/examples/template_banking_red-shortrules-right.pdf diff --git a/Master/texmf-dist/doc/latex/moderncv/examples/template_banking_red.pdf b/Master/texmf-dist/doc/latex/moderncv/examples/template_banking_red.pdf Binary files differindex b7a57e2e975..fed8f9e52e5 100644 --- a/Master/texmf-dist/doc/latex/moderncv/examples/template_banking_red.pdf +++ b/Master/texmf-dist/doc/latex/moderncv/examples/template_banking_red.pdf diff --git a/Master/texmf-dist/doc/latex/moderncv/examples/template_casual_orange-left.pdf b/Master/texmf-dist/doc/latex/moderncv/examples/template_casual_orange-left.pdf Binary files differnew file mode 100644 index 00000000000..f770841377f --- /dev/null +++ b/Master/texmf-dist/doc/latex/moderncv/examples/template_casual_orange-left.pdf diff --git a/Master/texmf-dist/doc/latex/moderncv/examples/template_casual_orange.pdf b/Master/texmf-dist/doc/latex/moderncv/examples/template_casual_orange.pdf Binary files differindex 3b2b0ec2ec1..372f62e7bce 100644 --- a/Master/texmf-dist/doc/latex/moderncv/examples/template_casual_orange.pdf +++ b/Master/texmf-dist/doc/latex/moderncv/examples/template_casual_orange.pdf diff --git a/Master/texmf-dist/doc/latex/moderncv/examples/template_classic_green-right.pdf b/Master/texmf-dist/doc/latex/moderncv/examples/template_classic_green-right.pdf Binary files differnew file mode 100644 index 00000000000..250643fcc76 --- /dev/null +++ b/Master/texmf-dist/doc/latex/moderncv/examples/template_classic_green-right.pdf diff --git a/Master/texmf-dist/doc/latex/moderncv/examples/template_classic_green.pdf b/Master/texmf-dist/doc/latex/moderncv/examples/template_classic_green.pdf Binary files differindex 5a2aab8e6d5..988f94304cf 100644 --- a/Master/texmf-dist/doc/latex/moderncv/examples/template_classic_green.pdf +++ b/Master/texmf-dist/doc/latex/moderncv/examples/template_classic_green.pdf diff --git a/Master/texmf-dist/doc/latex/moderncv/examples/template_fancy_purple.pdf b/Master/texmf-dist/doc/latex/moderncv/examples/template_fancy_purple.pdf Binary files differnew file mode 100644 index 00000000000..eb447daa9bc --- /dev/null +++ b/Master/texmf-dist/doc/latex/moderncv/examples/template_fancy_purple.pdf diff --git a/Master/texmf-dist/doc/latex/moderncv/examples/template_oldstyle_grey.pdf b/Master/texmf-dist/doc/latex/moderncv/examples/template_oldstyle_grey.pdf Binary files differindex 23a5dffa814..4d914260e2d 100644 --- a/Master/texmf-dist/doc/latex/moderncv/examples/template_oldstyle_grey.pdf +++ b/Master/texmf-dist/doc/latex/moderncv/examples/template_oldstyle_grey.pdf 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 |