diff --git a/moderncv.cls b/moderncv.cls index 1d73560..1caa391 100644 --- a/moderncv.cls +++ b/moderncv.cls @@ -10,7 +10,7 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesClass{moderncv}[2013/02/09 v1.3.0 modern curriculum vitae and letter document class] +\ProvidesClass{moderncv}[2013/04/29 v1.5.1 modern curriculum vitae and letter document class] %------------------------------------------------------------------------------- @@ -84,17 +84,17 @@ \RequirePackage{xcolor} % font loading -%\RequirePackage{ifxetex,ifluatex} -%\newif\ifxetexorluatex -%\ifxetex -% \xetexorluatextrue -%\else -% \ifluatex -% \xetexorluatextrue -% \else -% \xetexorluatexfalse -% \fi -%\fi +\RequirePackage{ifxetex,ifluatex} +\newif\ifxetexorluatex +\ifxetex + \xetexorluatextrue +\else + \ifluatex + \xetexorluatextrue + \else + \xetexorluatexfalse + \fi +\fi % automatic loading of latin modern fonts %\ifxetexorluatex % \RequirePackage{fontspec} @@ -183,6 +183,9 @@ % micro-typography (e.g., character protrusion, font expansion, hyphenatable letterspacing) \RequirePackage{microtype} +% stack of key-value elements, used to save personal information +\RequirePackage{moderncvcollection} + % compatibility package with older versions of moderncv \RequirePackageWithOptions{moderncvcompatibility} @@ -216,56 +219,86 @@ % overall design commands definitions %------------------------------------------------------------------------------- % elements +%--------- % defines one's name % usage: \name{}{} \newcommand*{\name}[2]{\def\@firstname{#1}\def\@lastname{#2}} + % defines one's title (optional) % usage: \title{} \renewcommand*{\title}[1]{\def\@title{#1}} + % defines one's address (optional) % usage: \address{<street>}{<city>}{<country>} % where the <city> and <country> arguments can be omitted or provided empty \NewDocumentCommand{\address}{mG{}G{}}{\def\@addressstreet{#1}\def\@addresscity{#2}\def\@addresscountry{#3}} -% adds a mobile/fixed/fax number to one's personal information (optional) -% usage: \phone[<optional type>]{<number>} -% where <optional type> should be either "mobile", "fixed" or "fax -\RequirePackage{collection} -\collectionnew{phones} -\newcommand*{\phone}[2][fixed]{\collectionadd[#1]{phones}{#2}} + +% defines one's email (optional) +% usage: \email{<email adress>} \newcommand*{\email}[1]{\def\@email{#1}} + % defines one's home page (optional) % usage: \homepage{<url>} \newcommand*{\homepage}[1]{\def\@homepage{#1}} + +% adds a fixed/mobile/fax number to one's personal information (optional) +% usage: \phone[<optional type>]{<number>} +% where <optional type> should be either "fixed" (default), "mobile" or "fax +\collectionnew{phones} +\newcommand*{\phone}[2][fixed]{\collectionadd[#1]{phones}{#2}} + +% adds a social link to one's personal information (optional) +% usage: \social[<optional type>][<optional url>]{<account name>} +% where <optional type> should be either "linkedin", "twitter" or "github" +\collectionnew{socials} +\NewDocumentCommand{\social}{O{}O{}m}{% + \ifthenelse{\equal{#2}{}}% + {% + \ifthenelse{\equal{#1}{linkedin}}{\collectionadd[linkedin]{socials}{\protect\httplink[#3]{www.linkedin.com/in/#3}}}{}% + \ifthenelse{\equal{#1}{twitter}} {\collectionadd[twitter]{socials} {\protect\httplink[#3]{www.twitter.com/#3}}} {}% + \ifthenelse{\equal{#1}{github}} {\collectionadd[github]{socials} {\protect\httplink[#3]{www.github.com/#3}}} {}% + } + {\collectionadd[#1]{socials}{\protect\httplink[#3]{#2}}}} + % defines additional personal information (optional) % usage: \extrainfo{<text>} \newcommand*{\extrainfo}[1]{\def\@extrainfo{#1}} % colors +%------- \definecolor{color0}{rgb}{0,0,0}% main default color, normally left to black -\definecolor{color1}{rgb}{0,0,0}% primary theme color -\definecolor{color2}{rgb}{0,0,0}% secondary theme color -\definecolor{color3}{rgb}{0,0,0}% tertiary theme color +\definecolor{color1}{rgb}{0,0,0}% primary scheme color +\definecolor{color2}{rgb}{0,0,0}% secondary scheme color +\definecolor{color3}{rgb}{0,0,0}% tertiary scheme color % symbols -% itemize labels (the struts were added to correct inter-item spacing (works for single line items, until a solution is found for multi-line ones...) -\newcommand*{\labelitemi}{\strut\textcolor{color1}{\large\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 -\newcommand*{\labelitemii}{\strut\textcolor{color1}{\large\bfseries-}} -\newcommand*{\labelitemiii}{\strut\textcolor{color1}{\rmfamily\textperiodcentered}}% alternative: \textasteriskcentered; 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 -\newcommand*{\labelitemiv}{\labelitemiii} -% enumerate labels -\renewcommand{\theenumi}{\@arabic\c@enumi} -\renewcommand{\theenumii}{\@alph\c@enumii} -\renewcommand{\theenumiii}{\@roman\c@enumiii} -\renewcommand{\theenumiv}{\@Alph\c@enumiv} -% other symbols -\newcommand*{\listitemsymbol}{\labelitemi~} -\newcommand*{\addresssymbol}{} -\newcommand*{\mobilephonesymbol}{} -\newcommand*{\fixedphonesymbol}{} -\newcommand*{\faxphonesymbol}{} -\newcommand*{\emailsymbol}{} -\newcommand*{\homepagesymbol}{} - +%-------- +% itemize labels (the struts were added to correct inter-item spacing (works for single line items, until a solution is found for multi-line ones...) +\newcommand*{\labelitemi} {\strut\textcolor{color1}{\large\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 +\newcommand*{\labelitemii} {\strut\textcolor{color1}{\large\bfseries-}} +\newcommand*{\labelitemiii} {\strut\textcolor{color1}{\rmfamily\textperiodcentered}}% alternative: \textasteriskcentered; 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 +\newcommand*{\labelitemiv} {\labelitemiii} + +% enumerate labels +\renewcommand{\theenumi} {\@arabic\c@enumi} +\renewcommand{\theenumii} {\@alph\c@enumii} +\renewcommand{\theenumiii} {\@roman\c@enumiii} +\renewcommand{\theenumiv} {\@Alph\c@enumiv} + +% other symbols +\newcommand*{\listitemsymbol} {\labelitemi~} +\newcommand*{\addresssymbol} {} +\newcommand*{\mobilephonesymbol} {} +\newcommand*{\fixedphonesymbol} {} +\newcommand*{\faxphonesymbol} {} +\newcommand*{\emailsymbol} {} +\newcommand*{\homepagesymbol} {} +\newcommand*{\linkedinsocialsymbol}{} +\newcommand*{\twittersocialsymbol} {} +\newcommand*{\githubsocialsymbol} {} + +% other +%------ % fonts \AtBeginDocument{\normalfont\color{color0}} @@ -466,8 +499,9 @@ \cvitem{}{% \begin{tabular}{\cvcolumns@def}% \if@cvcolumns@head@empty\else% - \cvcolumns@head\\[-.8em]% - {\color{color1}\rule{\maincolumnwidth}{.25pt}}\\\fi% + \cvcolumns@head%\\[-.8em]% +% {\color{color1}\rule{\maincolumnwidth}{.25pt}}% + \\\fi% \cvcolumns@content% \end{tabular}}} diff --git a/moderncvcollection.sty b/moderncvcollection.sty new file mode 100644 index 0000000..4d0fb9e --- /dev/null +++ b/moderncvcollection.sty @@ -0,0 +1,85 @@ +%% start of file `moderncvcollection.sty'. +%% Copyright 2013-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/. + + +%------------------------------------------------------------------------------- +% identification +%------------------------------------------------------------------------------- +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{moderncvcollection}[2013/04/29 v1.5.1 moderncv collections] + + +%------------------------------------------------------------------------------- +% requirements +%------------------------------------------------------------------------------- + + +\RequirePackage{ifthen} + + +%------------------------------------------------------------------------------- +% code +%------------------------------------------------------------------------------- + +% creates a new collection +% usage: \collectionnew{<collection name>} +\newcommand*{\collectionnew}[1]{% + \newcounter{collection@#1@count}} + +% adds an item to a collection +% usage: \collectionadd[<optional key>]{<collection name>}{<item to add>} +\newcommand*{\collectionadd}[3][]{% + \expandafter\def\csname collection@#2@item\roman{collection@#2@count}\endcsname{#3}% + \if\relax\noexpand#1\relax% if #1 is empty + \else\expandafter\def\csname collection@#2@key\roman{collection@#2@count}\endcsname{#1}\fi% + \stepcounter{collection@#2@count}} + +% returns the number of items in a collection +% usage: \collectioncount{<collection name>} +\newcommand*{\collectioncount}[1]{% + \value{collection@#1@count}} + +% gets an item from a collection +% usage: \collectiongetitem{<collection name>}{<element id>} +% where <element id> is an integer between 0 and (collectioncount-1) +\newcommand*{\collectiongetitem}[2]{% + \csname collection@#1@item\romannumeral #2\endcsname} + +% gets a key from a collection +% usage: \collectiongetkey{<collection name>}{<element id>} +% where <element id> is an integer between 0 and (collectioncount-1) +\newcommand*{\collectiongetkey}[2]{% + \csname collection@#1@key\romannumeral #2\endcsname} + +% loops through a collection and perform the given operation on every element +% usage: \collectionloop{<collection name>}{<operation sequence>} +% where <operation sequence> is the code sequence to be evaluated for each collection item, +% code which can refer to \collectionloopid, \collectionloopkey, \collectionloopitem and +% \collectionloopbreak +\newcounter{collection@iterator} +\newcommand*{\collectionloopbreak}{\let\iterate\relax} +\newcommand*{\collectionloop}[2]{% + \setcounter{collection@iterator}{0}% + \loop\ifnum\value{collection@iterator}<\value{collection@#1@count}% + \def\collectionloopid{\arabic{collection@iterator}}% + \def\collectionloopitem{\collectiongetitem{#1}{\collectionloopid}}% + \def\collectionloopkey{\collectiongetkey{#1}{\collectionloopid}}% + #2% + \stepcounter{collection@iterator}% + \repeat} + +% loops through a collection and finds the (first) element matching the given key +% usage: \collectionfindbykey{<collection name>}{key>} +\newcommand*{\collectionfindbykey}[2]{% + \collectionloop{#1}{% + \ifthenelse{\equal{\collectionloopkey}{#2}}{\collectionloopitem\collectionloopbreak}{}}} + + +\endinput + + +%% end of file `moderncvcollection.cls'. diff --git a/moderncvcolorblack.sty b/moderncvcolorblack.sty index 3a6e147..2716c6d 100644 --- a/moderncvcolorblack.sty +++ b/moderncvcolorblack.sty @@ -10,7 +10,7 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{moderncvcolorblack}[2013/02/09 v1.3.0 modern curriculum vitae and letter color scheme: black] +\ProvidesPackage{moderncvcolorblack}[2013/04/29 v1.5.1 modern curriculum vitae and letter color scheme: black] %------------------------------------------------------------------------------- diff --git a/moderncvcolorblue.sty b/moderncvcolorblue.sty index 7b949c7..37741a0 100644 --- a/moderncvcolorblue.sty +++ b/moderncvcolorblue.sty @@ -10,7 +10,7 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{moderncvcolorblue}[2013/02/09 v1.3.0 modern curriculum vitae and letter color scheme: blue] +\ProvidesPackage{moderncvcolorblue}[2013/04/29 v1.5.1 modern curriculum vitae and letter color scheme: blue] %------------------------------------------------------------------------------- diff --git a/moderncvcolorgreen.sty b/moderncvcolorgreen.sty index 4de7f84..fa5e9ba 100644 --- a/moderncvcolorgreen.sty +++ b/moderncvcolorgreen.sty @@ -10,7 +10,7 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{moderncvcolorgreen}[2013/02/09 v1.3.0 modern curriculum vitae and letter color scheme: green] +\ProvidesPackage{moderncvcolorgreen}[2013/04/29 v1.5.1 modern curriculum vitae and letter color scheme: green] %------------------------------------------------------------------------------- diff --git a/moderncvcolorgrey.sty b/moderncvcolorgrey.sty index 9018726..1a5e793 100644 --- a/moderncvcolorgrey.sty +++ b/moderncvcolorgrey.sty @@ -10,7 +10,7 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{moderncvcolorgrey}[2013/02/09 v1.3.0 modern curriculum vitae and letter color scheme: grey] +\ProvidesPackage{moderncvcolorgrey}[2013/04/29 v1.5.1 modern curriculum vitae and letter color scheme: grey] %------------------------------------------------------------------------------- diff --git a/moderncvcolororange.sty b/moderncvcolororange.sty index 134ae24..4c5ab8b 100644 --- a/moderncvcolororange.sty +++ b/moderncvcolororange.sty @@ -10,7 +10,7 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{moderncvcolororange}[2013/02/09 v1.3.0 modern curriculum vitae and letter color scheme: orange] +\ProvidesPackage{moderncvcolororange}[2013/04/29 v1.5.1 modern curriculum vitae and letter color scheme: orange] %------------------------------------------------------------------------------- diff --git a/moderncvcolorpurple.sty b/moderncvcolorpurple.sty index d3dc534..7355e21 100644 --- a/moderncvcolorpurple.sty +++ b/moderncvcolorpurple.sty @@ -10,7 +10,7 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{moderncvcolorpurple}[2013/02/09 v1.3.0 modern curriculum vitae and letter color scheme: purple] +\ProvidesPackage{moderncvcolorpurple}[2013/04/29 v1.5.1 modern curriculum vitae and letter color scheme: purple] %------------------------------------------------------------------------------- diff --git a/moderncvcolorred.sty b/moderncvcolorred.sty index 6811819..9ae5715 100644 --- a/moderncvcolorred.sty +++ b/moderncvcolorred.sty @@ -10,7 +10,7 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{moderncvcolorred}[2013/02/09 v1.3.0 modern curriculum vitae and letter color scheme: red] +\ProvidesPackage{moderncvcolorred}[2013/04/29 v1.5.1 modern curriculum vitae and letter color scheme: red] %------------------------------------------------------------------------------- diff --git a/moderncvcompatibility.sty b/moderncvcompatibility.sty index 1fc53f2..0ca5259 100644 --- a/moderncvcompatibility.sty +++ b/moderncvcompatibility.sty @@ -10,7 +10,7 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{moderncvcompatibility}[2013/02/09 v1.3.0 modern curriculum vitae and letter compatibility patches] +\ProvidesPackage{moderncvcompatibility}[2013/04/29 v1.5.1 modern curriculum vitae and letter compatibility patches] %------------------------------------------------------------------------------- diff --git a/moderncvdebugtools.sty b/moderncvdebugtools.sty new file mode 100644 index 0000000..937cdaf --- /dev/null +++ b/moderncvdebugtools.sty @@ -0,0 +1,54 @@ +%% start of file `moderncvdebugtools.sty'. +%% Copyright 2013-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/. + + +%------------------------------------------------------------------------------- +% identification +%------------------------------------------------------------------------------- +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{moderncvdebugtools}[2013/04/29 v1.5.1 modern curriculum vitae and letter debug tools] + + +%------------------------------------------------------------------------------- +% required packages +%------------------------------------------------------------------------------- +\RequirePackage{tikz} + + +%------------------------------------------------------------------------------- +% debug tools +%------------------------------------------------------------------------------- +% code of \tracedebugvrule and \tracedebughrule provided by Gonzalo Medina on TeX.SX (cfr tex.stackexchange.com/a/110805/10102) +\newcounter{debugrule} +\pgfdeclarelayer{background} +\pgfsetlayers{background,main} + +\DeclareDocumentCommand{\tracedebugvrule}{oO{0pt}}{% + \stepcounter{debugrule}% + \begin{tikzpicture}[remember picture,overlay] + \begin{pgfonlayer}{background} + \coordinate (a\thedebugrule); + \draw[red,thin,#1] + ([xshift=#2]a\thedebugrule|-current page.north) -- ([xshift=#2]a\thedebugrule|-current page.south); + \end{pgfonlayer} + \end{tikzpicture}} + +\DeclareDocumentCommand{\tracedebughrule}{oO{0pt}}{% + \stepcounter{debugrule}% + \begin{tikzpicture}[remember picture,overlay] + \begin{pgfonlayer}{background} + \coordinate (b\thedebugrule); + \draw[red,thin,#1] + ([yshift=#2]b\thedebugrule-|current page.west) -- ([yshift=#2]b\thedebugrule-|current page.east); + \end{pgfonlayer} + \end{tikzpicture}} + + +\endinput + + +%% end of file `moderncvdebugtools.sty'. diff --git a/moderncviconsawesome.sty b/moderncviconsawesome.sty new file mode 100644 index 0000000..e4ee322 --- /dev/null +++ b/moderncviconsawesome.sty @@ -0,0 +1,51 @@ +%% start of file `moderncviconsmarvosym.sty'. +%% Copyright 2013-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/. + + +%------------------------------------------------------------------------------- +% 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 + +%------------------------------------------------------------------------------- +% required packages +%------------------------------------------------------------------------------- +% Font Awesome font +\RequirePackage{fontawesome} + + +%------------------------------------------------------------------------------- +% symbols definition +%------------------------------------------------------------------------------- +\renewcommand*{\labelitemi} {\strut\textcolor{color1}{\tiny\faCircleBlank}} +%\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*{\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 +\endinput + + +%% end of file `moderncviconsmarvosym.sty'. diff --git a/moderncviconsletters.sty b/moderncviconsletters.sty index 0a4e286..ed9596a 100644 --- a/moderncviconsletters.sty +++ b/moderncviconsletters.sty @@ -10,7 +10,7 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{moderncviconsmarvosym}[2013/02/09 v1.3.0 modern curriculum vitae and letter icons: letters] +\ProvidesPackage{moderncviconsmarvosym}[2013/04/29 v1.5.1 modern curriculum vitae and letter icons: letters] %------------------------------------------------------------------------------- @@ -29,19 +29,22 @@ %------------------------------------------------------------------------------- % symbols definition %------------------------------------------------------------------------------- -\renewcommand*{\labelitemi}{\strut\textcolor{color1}{\marvosymbol{123}}}% equivalent to \Neutral from marvosym package; alternative: \fontencoding{U}\fontfamily{ding}\selectfont\tiny\symbol{'102} -%\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}{\textbf{M}~} -\renewcommand*{\fixedphonesymbol}{\textbf{T}~} -\renewcommand*{\faxphonesymbol}{\textbf{F}~} -\renewcommand*{\emailsymbol}{\textbf{E}~} -\renewcommand*{\homepagesymbol}{} - -\renewcommand*{\listitemsymbol}{\labelitemi~} +\renewcommand*{\labelitemi} {\strut\textcolor{color1}{\marvosymbol{123}}} % equivalent to \Neutral from marvosym package; alternative: \fontencoding{U}\fontfamily{ding}\selectfont\tiny\symbol{'102} +%\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} {\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*{\listitemsymbol} {\labelitemi~} \endinput diff --git a/moderncviconsmarvosym.sty b/moderncviconsmarvosym.sty index eb1b1ec..8c15481 100644 --- a/moderncviconsmarvosym.sty +++ b/moderncviconsmarvosym.sty @@ -10,7 +10,7 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{moderncviconsmarvosym}[2013/02/09 v1.3.0 modern curriculum vitae and letter icons: marvosym] +\ProvidesPackage{moderncviconsmarvosym}[2013/04/29 v1.5.1 modern curriculum vitae and letter icons: marvosym] %------------------------------------------------------------------------------- @@ -25,21 +25,203 @@ \renewcommand*{\marvosymbol}[1]{{\fontfamily{mvs}\fontencoding{U}\fontseries{m}\fontshape{n}\selectfont\char#1}} %\fi +% tikz drawings +\RequirePackage{tikz} + %------------------------------------------------------------------------------- % symbols definition %------------------------------------------------------------------------------- -\renewcommand*{\labelitemi}{\strut\textcolor{color1}{\marvosymbol{123}}}% equivalent to \Neutral from marvosym package; alternative: \fontencoding{U}\fontfamily{ding}\selectfont\tiny\symbol{'102} -%\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}{\marvosymbol{72}~} -\renewcommand*{\fixedphonesymbol}{\marvosymbol{84}~} -\renewcommand*{\faxphonesymbol}{\marvosymbol{117}~} -\renewcommand*{\emailsymbol}{\marvosymbol{66}~} -\renewcommand*{\homepagesymbol}{{\Large\marvosymbol{205}}~} +\renewcommand*{\labelitemi} {\strut\textcolor{color1}{\marvosymbol{123}}} % equivalent to \Neutral from marvosym package; alternative: \fontencoding{U}\fontfamily{ding}\selectfont\tiny\symbol{'102} +%\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} {\marvosymbol{72}~} +\renewcommand*{\fixedphonesymbol} {\marvosymbol{84}~} +\renewcommand*{\faxphonesymbol} {\marvosymbol{117}~} +\renewcommand*{\emailsymbol} {\marvosymbol{66}~} +\renewcommand*{\homepagesymbol} {{\Large\marvosymbol{205}}~} +\renewcommand*{\linkedinsocialsymbol}{% + \protect\raisebox{-0.165em}{% + \protect\begin{tikzpicture}[x=0.08em, y=0.08em, xscale=0.25, yscale=-0.25, inner sep=0pt, outer sep=0pt] + \protect\begin{scope}[cm={{0.60,0.0,0.0,0.60,(346.39,123.07)}}] + \protect\path[fill=color2] + (381,202) -- (434,202) .. controls (439,202) and (442,205) .. + (442,210) -- (442,264) .. controls (442,268) and (439,272) .. + (434,272) -- (381,272) .. controls (376,272) and (372,268) .. + (372,264) -- (372,210) .. controls (372,205) and (376,202) .. + (381,202) -- cycle; + \protect\begin{scope}[xscale=0.98, yscale=1.02, fill=white] + \protect\path[fill=white] + (403,253) -- (403,224) -- (394,224) -- (394,253) -- + cycle(398,211) .. controls (397,211) and (395,212) .. + (395,213) .. controls (394,213) and (393,215) .. + (393,216) .. controls (393,217) and (394,218) .. + (395,219) .. controls (395,220) and (397,220) .. + (398,220) .. controls (400,220) and (401,220) .. + (402,219) .. controls (402,218) and (403,217) .. + (403,216) .. controls (403,215) and (402,213) .. + (402,213) .. controls (401,212) and (400,211) .. + (398,211) -- cycle; + \protect\path[fill=white] + (410,253) -- (419,253) -- + (419,236) .. controls (419,236) and (419,235) .. + (419,235) .. controls (419,235) and (419,234) .. + (419,234) .. controls (419,233) and (420,232) .. + (421,232) .. controls (422,231) and (423,231) .. + (424,231) .. controls (425,231) and (427,231) .. + (427,232) .. controls (428,234) and (428,235) .. + (428,237) -- (428,253) -- (437,253) -- + (437,236) .. controls (437,232) and (436,228) .. + (434,226) .. controls (433,224) and (430,223) .. + (427,223) .. controls (425,223) and (423,224) .. + (421,225) .. controls (420,226) and (419,227) .. + (418,228) -- (418,228) -- (417,224) -- + (410,224) .. controls (410,225) and (410,227) .. + (410,228) .. controls (410,230) and (410,231) .. + (410,233) -- cycle; + \protect\end{scope}% + \protect\end{scope}% + \protect\end{tikzpicture}}% + ~} +\renewcommand*{\twittersocialsymbol} {% + \protect\raisebox{0em}{% + \protect\begin{tikzpicture}[x=0.08em, y=0.08em, xscale=0.005, yscale=-0.005, inner sep=0pt, outer sep=0pt] + \protect\path[fill=color2] + (2000, 192) .. controls (1926, 225) and (1847, 247) .. + (1764, 257) .. controls (1849, 206) and (1914, 126) .. + (1945, 30) .. controls (1865, 77) and (1778, 111) .. + (1684, 130) .. controls (1609, 50) and (1503, 0) .. + (1385, 0) .. controls (1158, 0) and ( 974, 184) .. + ( 974, 410) .. controls ( 974, 442) and ( 978, 474) .. + ( 985, 504) .. controls ( 644, 487) and ( 342, 323) .. + ( 139, 75) .. controls ( 104, 136) and ( 84, 206) .. + ( 84, 281) .. controls ( 84, 424) and ( 156, 549) .. + ( 266, 623) .. controls ( 199, 621) and ( 136, 602) .. + ( 80, 572) .. controls ( 80, 573) and ( 80, 575) .. + ( 80, 577) .. controls ( 80, 776) and ( 222, 941) .. + ( 409, 979) .. controls ( 375, 988) and ( 339, 993) .. + ( 301, 993) .. controls ( 275, 993) and ( 249, 991) .. + ( 224, 986) .. controls ( 276,1149) and ( 428,1268) .. + ( 607,1271) .. controls ( 467,1381) and ( 290,1447) .. + ( 98,1447) .. controls ( 65,1447) and ( 32,1445) .. + ( 0,1441) .. controls ( 182,1557) and ( 397,1625) .. + ( 629,1625) .. controls (1384,1625) and (1796,1000) .. + (1796, 458) .. controls (1796, 440) and (1796, 422) .. + (1795, 405) .. controls (1875, 347) and (1945, 275) .. + (2000, 192); + \protect\end{tikzpicture}}% + ~} +\renewcommand*{\githubsocialsymbol} {% + \protect\raisebox{-0.15em}{% + \protect\begin{tikzpicture}[x=0.08em, y=0.08em, xscale=0.25, yscale=-0.25, inner sep=0pt, outer sep=0pt] + \protect\begin{scope}[shift={(507,387)}] + \protect\path[fill=color2] + (117, 60) .. controls (117, 71) and (108, 81) .. + ( 96, 81) .. controls ( 85, 81) and ( 75, 71) .. + ( 75, 60) .. controls ( 75, 48) and ( 85, 39) .. + ( 96, 39) .. controls (108, 39) and (117, 48) .. + (117, 60) -- cycle; + \protect\path[cm={{0.88,0.0,0.0,0.88,(11.10,6.89)}}, fill=white] + (117, 60) .. controls (117, 71) and (108, 81) .. + ( 96, 81) .. controls ( 85, 81) and ( 75, 71) .. + ( 75, 60) .. controls ( 75, 48) and ( 85, 39) .. + ( 96, 39) .. controls (108, 39) and (117, 48) .. + (117, 60) -- cycle; + \protect\path[fill=color2, nonzero rule] + (103, 45) .. controls (103, 45) and (101, 46) .. + (101, 47) -- (100, 47) -- + ( 99, 47) .. controls ( 99, 47) and ( 98, 47) .. + ( 97, 47) .. controls ( 94, 47) and ( 93, 47) .. + ( 92, 47) -- ( 92, 47) -- + ( 91, 47) .. controls ( 90, 46) and ( 88, 45) .. + ( 88, 45) .. controls ( 88, 45) and ( 88, 45) .. + ( 87, 45) .. controls ( 87, 45) and ( 87, 45) .. + ( 87, 45) .. controls ( 86, 46) and ( 86, 48) .. + ( 86, 49) -- ( 87, 50) -- + ( 86, 51) .. controls ( 85, 51) and ( 85, 52) .. + ( 85, 53) .. controls ( 85, 54) and ( 85, 57) .. + ( 85, 58) .. controls ( 85, 58) and ( 85, 58) .. + ( 82, 59) .. controls ( 79, 59) and ( 77, 59) .. + ( 77, 59) .. controls ( 77, 59) and ( 77, 59) .. + ( 78, 59) .. controls ( 80, 59) and ( 83, 59) .. + ( 85, 59) .. controls ( 85, 59) and ( 85, 59) .. + ( 85, 59) .. controls ( 86, 59) and ( 86, 59) .. + ( 86, 59) .. controls ( 86, 59) and ( 85, 59) .. + ( 84, 59) .. controls ( 82, 60) and ( 80, 60) .. + ( 79, 60) .. controls ( 78, 61) and ( 77, 61) .. + ( 77, 61) .. controls ( 77, 61) and ( 78, 61) .. + ( 79, 61) .. controls ( 81, 60) and ( 83, 60) .. + ( 85, 60) .. controls ( 86, 60) and ( 86, 60) .. + ( 86, 60) .. controls ( 86, 60) and ( 87, 61) .. + ( 88, 62) .. controls ( 89, 63) and ( 90, 63) .. + ( 92, 63) .. controls ( 92, 63) and ( 93, 64) .. + ( 93, 64) .. controls ( 93, 64) and ( 93, 64) .. + ( 93, 64) .. controls ( 92, 64) and ( 92, 65) .. + ( 92, 65) .. controls ( 92, 66) and ( 90, 66) .. + ( 89, 66) .. controls ( 88, 66) and ( 88, 66) .. + ( 87, 65) .. controls ( 87, 64) and ( 86, 63) .. + ( 86, 63) .. controls ( 85, 63) and ( 84, 63) .. + ( 84, 63) .. controls ( 84, 63) and ( 84, 63) .. + ( 84, 63) .. controls ( 85, 64) and ( 86, 65) .. + ( 86, 66) .. controls ( 87, 67) and ( 87, 68) .. + ( 88, 68) .. controls ( 89, 68) and ( 89, 68) .. + ( 90, 68) -- ( 92, 68) -- ( 92, 70) -- ( 92, 72) -- + ( 91, 72) .. controls ( 91, 72) and ( 91, 73) .. + ( 91, 73) .. controls ( 90, 73) and ( 90, 73) .. + ( 91, 73) .. controls ( 92, 73) and ( 92, 73) .. + ( 92, 73) .. controls ( 93, 73) and ( 93, 73) .. + ( 93, 70) .. controls ( 93, 67) and ( 93, 67) .. + ( 94, 66) -- ( 94, 66) -- + ( 94, 69) .. controls ( 94, 71) and ( 94, 73) .. + ( 94, 73) .. controls ( 94, 73) and ( 94, 73) .. + ( 93, 74) .. controls ( 93, 74) and ( 93, 74) .. + ( 93, 74) .. controls ( 93, 74) and ( 93, 74) .. + ( 94, 74) .. controls ( 94, 74) and ( 95, 74) .. + ( 96, 73) .. controls ( 96, 72) and ( 96, 71) .. + ( 96, 68) -- ( 96, 66) -- ( 96, 66) -- + ( 96, 69) .. controls ( 96, 72) and ( 96, 72) .. + ( 97, 73) .. controls ( 97, 74) and ( 99, 74) .. + ( 99, 74) .. controls ( 99, 74) and ( 99, 74) .. + ( 99, 73) .. controls ( 99, 73) and ( 98, 73) .. + ( 98, 72) .. controls ( 98, 72) and ( 98, 66) .. + ( 98, 66) .. controls ( 98, 66) and ( 99, 66) .. + ( 99, 66) .. controls ( 99, 67) and ( 99, 67) .. + ( 99, 69) .. controls ( 99, 71) and ( 99, 72) .. + ( 99, 72) .. controls ( 99, 73) and (100, 73) .. + (100, 73) .. controls (101, 73) and (101, 73) .. + (101, 73) .. controls (102, 73) and (102, 73) .. + (102, 73) .. controls (101, 72) and (101, 72) .. + (101, 69) .. controls (101, 66) and (101, 65) .. + (100, 65) .. controls (100, 64) and (100, 64) .. + (100, 64) -- ( 99, 64) -- + (100, 63) .. controls (101, 63) and (102, 63) .. + (103, 63) .. controls (104, 62) and (106, 61) .. + (106, 60) -- (106, 60) -- + (107, 60) .. controls (109, 60) and (113, 60) .. + (115, 61) .. controls (115, 61) and (115, 61) .. + (115, 61) .. controls (115, 60) and (111, 60) .. + (108, 59) .. controls (107, 59) and (107, 59) .. + (107, 59) .. controls (107, 59) and (107, 59) .. + (107, 59) -- (107, 59) -- + (108, 59) .. controls (110, 59) and (112, 59) .. + (114, 59) .. controls (115, 59) and (115, 59) .. + (115, 59) .. controls (115, 59) and (112, 59) .. + (109, 59) .. controls (108, 58) and (107, 58) .. + (107, 58) .. controls (107, 58) and (107, 58) .. + (107, 58) .. controls (107, 57) and (107, 56) .. + (107, 55) .. controls (107, 53) and (107, 53) .. + (107, 53) .. controls (107, 52) and (106, 51) .. + (106, 50) -- (105, 50) -- + (105, 48) .. controls (105, 47) and (105, 46) .. + (105, 46) -- (105, 45) -- + (104, 45) .. controls (104, 45) and (104, 45) .. + (103, 45) -- cycle; + \protect\end{scope}% + \protect\end{tikzpicture}}% + ~} \endinput diff --git a/moderncvstylebanking.sty b/moderncvstylebanking.sty index fb0b70f..c49e6e3 100644 --- a/moderncvstylebanking.sty +++ b/moderncvstylebanking.sty @@ -10,7 +10,7 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{moderncvstylebanking}[2013/02/09 v1.3.0 modern curriculum vitae and letter style scheme: banking] +\ProvidesPackage{moderncvstylebanking}[2013/04/29 v1.5.1 modern curriculum vitae and letter style scheme: banking] %------------------------------------------------------------------------------- @@ -38,7 +38,7 @@ %\fi % symbols -\moderncvicons{marvosym} +\moderncvicons{awesome} % commands \newcommand*{\maketitlesymbol}{% @@ -91,6 +91,8 @@ \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 diff --git a/moderncvstylecasual.sty b/moderncvstylecasual.sty index 1bbe956..660f70f 100644 --- a/moderncvstylecasual.sty +++ b/moderncvstylecasual.sty @@ -10,13 +10,14 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{moderncvstylecasual}[2013/02/09 v1.3.0 modern curriculum vitae and letter style scheme: casual] +\ProvidesPackage{moderncvstylecasual}[2013/04/29 v1.5.1 modern curriculum vitae and letter style scheme: casual] %------------------------------------------------------------------------------- % required packages %------------------------------------------------------------------------------- \RequirePackage{moderncvstyleclassic} +\moderncvicons{awesome} %------------------------------------------------------------------------------- @@ -103,6 +104,7 @@ \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}}% @@ -111,6 +113,8 @@ \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 }}}% @@ -150,6 +154,7 @@ \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}% @@ -160,6 +165,8 @@ \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 }}}% diff --git a/moderncvstyleclassic.sty b/moderncvstyleclassic.sty index 3a879fb..6e26240 100644 --- a/moderncvstyleclassic.sty +++ b/moderncvstyleclassic.sty @@ -10,7 +10,7 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{moderncvstyleclassic}[2013/02/09 v1.3.0 modern curriculum vitae and letter style scheme: classic] +\ProvidesPackage{moderncvstyleclassic}[2013/04/29 v1.5.1 modern curriculum vitae and letter style scheme: classic] %------------------------------------------------------------------------------- @@ -97,6 +97,9 @@ \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}% @@ -104,9 +107,10 @@ \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% needed to be pre-rendered as loops and tabulars seem to conflict + \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} }% diff --git a/moderncvstyleempty.sty b/moderncvstyleempty.sty index 8593246..2012fb0 100644 --- a/moderncvstyleempty.sty +++ b/moderncvstyleempty.sty @@ -10,7 +10,7 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{moderncvstyleempty}[2013/02/09 v1.3.0 modern curriculum vitae scheme: empty] +\ProvidesPackage{moderncvstyleempty}[2013/04/29 v1.5.1 modern curriculum vitae scheme: empty] %------------------------------------------------------------------------------- diff --git a/moderncvstyleoldstyle.sty b/moderncvstyleoldstyle.sty index ff732f4..29131d4 100644 --- a/moderncvstyleoldstyle.sty +++ b/moderncvstyleoldstyle.sty @@ -10,7 +10,7 @@ % identification %------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{moderncvstyleoldstyle}[2013/02/09 v1.3.0 modern curriculum vitae and letter style scheme: oldstyle] +\ProvidesPackage{moderncvstyleoldstyle}[2013/04/29 v1.5.1 modern curriculum vitae and letter style scheme: oldstyle] %------------------------------------------------------------------------------- @@ -146,6 +146,8 @@ \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}{% @@ -286,6 +288,8 @@ \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 diff --git a/picture.png b/picture.png deleted file mode 100644 index 63b21b5..0000000 Binary files a/picture.png and /dev/null differ