diff --git a/CHANGELOG b/CHANGELOG index 2121474..8ef5aac 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,4 +1,7 @@ version 1.5.0 (xx MMM 2013) + - added a command to showcase social accounts in one's personal information: + \social. The command currently handles automatically LinkedIn, Twitter and + Github accounts, and other links can be provided explicitly. - added a new icon set: "awesome" (using the icons from the Font Awesome font). - set the "awesome" icon set as the default for the "casual" and "banking" style variants (can be changed back with \moderncvicons{marvosym}). @@ -8,7 +11,7 @@ version 1.5.0 (xx MMM 2013) version 1.4.0 (28 Mar 2013) - deprecated \phone, \mobile and \fax in favour of \phone[], where - can be "mobile", "fixed" (default) or "fax". As part of the change, one can now + can be "fixed" (default), "mobile" or "fax". As part of the change, one can now use each of these multiple times, to e.g. display multiple mobile phone numbers. - deprecated \firstname and \familyname in favour of \name{}{}. - added a new mechanism to select amongs different possible icon sets: diff --git a/examples/template-es.pdf b/examples/template-es.pdf index e8b3257..8547a93 100644 Binary files a/examples/template-es.pdf and b/examples/template-es.pdf differ diff --git a/examples/template.tex b/examples/template.tex index 2ccf60d..8e7648f 100644 --- a/examples/template.tex +++ b/examples/template.tex @@ -32,6 +32,9 @@ \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 diff --git a/examples/template_banking_red.pdf b/examples/template_banking_red.pdf index 9b1fac8..d8512d2 100644 Binary files a/examples/template_banking_red.pdf and b/examples/template_banking_red.pdf differ diff --git a/examples/template_casual_orange.pdf b/examples/template_casual_orange.pdf index 3bc6ce1..822aa56 100644 Binary files a/examples/template_casual_orange.pdf and b/examples/template_casual_orange.pdf differ diff --git a/examples/template_classic_green.pdf b/examples/template_classic_green.pdf index a54cf45..cae36e1 100644 Binary files a/examples/template_classic_green.pdf and b/examples/template_classic_green.pdf differ diff --git a/examples/template_multibib.pdf b/examples/template_multibib.pdf index 1898df8..e5c5fc9 100644 Binary files a/examples/template_multibib.pdf and b/examples/template_multibib.pdf differ diff --git a/examples/template_oldstyle_grey.pdf b/examples/template_oldstyle_grey.pdf index b77032e..dcbaac8 100644 Binary files a/examples/template_oldstyle_grey.pdf and b/examples/template_oldstyle_grey.pdf differ diff --git a/moderncv.cls b/moderncv.cls index 2dc3660..e422ad8 100644 --- a/moderncv.cls +++ b/moderncv.cls @@ -219,55 +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 -\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}} diff --git a/moderncviconsawesome.sty b/moderncviconsawesome.sty index 52bb8be..657fe98 100644 --- a/moderncviconsawesome.sty +++ b/moderncviconsawesome.sty @@ -23,17 +23,20 @@ %------------------------------------------------------------------------------- % 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*{\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*{\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~} \endinput diff --git a/moderncviconsletters.sty b/moderncviconsletters.sty index 72b2d9d..0656622 100644 --- a/moderncviconsletters.sty +++ b/moderncviconsletters.sty @@ -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*{\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 1em{\textbf{M}}~}% 1em is the width of the M capital in most fonts -\renewcommand*{\fixedphonesymbol} {\hbox to 1em{\textbf{T}}~} -\renewcommand*{\faxphonesymbol} {\hbox to 1em{\textbf{F}}~} -\renewcommand*{\emailsymbol} {\hbox to 1em{\textbf{E}}~} -\renewcommand*{\homepagesymbol} {\hbox to 1em{\textbf{W}}~} +\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~} +\renewcommand*{\listitemsymbol} {\labelitemi~} \endinput diff --git a/moderncviconsmarvosym.sty b/moderncviconsmarvosym.sty index 005b515..37299ba 100644 --- a/moderncviconsmarvosym.sty +++ b/moderncviconsmarvosym.sty @@ -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*{\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*{\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 642a49c..ada6118 100644 --- a/moderncvstylebanking.sty +++ b/moderncvstylebanking.sty @@ -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 8ed90da..a5b10f7 100644 --- a/moderncvstylecasual.sty +++ b/moderncvstylecasual.sty @@ -112,6 +112,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 }}}% @@ -161,6 +163,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 ca94736..339a8b4 100644 --- a/moderncvstyleclassic.sty +++ b/moderncvstyleclassic.sty @@ -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/moderncvstyleoldstyle.sty b/moderncvstyleoldstyle.sty index 6634697..fa2cdf5 100644 --- a/moderncvstyleoldstyle.sty +++ b/moderncvstyleoldstyle.sty @@ -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