Added a command to showcase social accounts

This commit is contained in:
Xavier Danaux
2013-04-22 23:51:11 -04:00
parent a2335f76be
commit 77055475f6
16 changed files with 298 additions and 59 deletions

View File

@ -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[<type>], where <type>
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{<first>}{<last>}.
- added a new mechanism to select amongs different possible icon sets:

Binary file not shown.

View File

@ -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

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -219,55 +219,86 @@
% overall design commands definitions
%-------------------------------------------------------------------------------
% elements
%---------
% defines one's name
% usage: \name{<firstname>}{<lastname>}
\newcommand*{\name}[2]{\def\@firstname{#1}\def\@lastname{#2}}
% defines one's title (optional)
% usage: \title{<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}}

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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
}}}%

View File

@ -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}
}%

View File

@ -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