From 2c3d34694bd4e8ce33c94da676c69fcdffb4a045 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 19 Jan 2014 21:54:11 +0000 Subject: cv4tw (19jan14) git-svn-id: svn://tug.org/texlive/trunk@32719 c570f23f-e606-0410-a88d-b1316a301751 --- .../doc/latex/cv4tw/sample-jules-verne.pdf | Bin 0 -> 47469 bytes Master/texmf-dist/tex/latex/cv4tw/cv4tw-scheme.sty | 143 +++++++++++++++++++++ .../tex/latex/cv4tw/cv4tw-theme-compact.sty | 74 +++++++++++ .../tex/latex/cv4tw/cv4tw-theme-core.sty | 88 +++++++++++++ .../tex/latex/cv4tw/cv4tw-theme-sharp.sty | 78 +++++++++++ .../tex/latex/cv4tw/cv4tw-theme-simple.sty | 72 +++++++++++ Master/texmf-dist/tex/latex/cv4tw/cv4tw.cls | 135 +++++++++++++++++++ Master/tlpkg/bin/tlpkg-ctan-check | 2 +- Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc | 1 + Master/tlpkg/tlpsrc/cv4tw.tlpsrc | 0 10 files changed, 592 insertions(+), 1 deletion(-) create mode 100644 Master/texmf-dist/doc/latex/cv4tw/sample-jules-verne.pdf create mode 100644 Master/texmf-dist/tex/latex/cv4tw/cv4tw-scheme.sty create mode 100644 Master/texmf-dist/tex/latex/cv4tw/cv4tw-theme-compact.sty create mode 100644 Master/texmf-dist/tex/latex/cv4tw/cv4tw-theme-core.sty create mode 100644 Master/texmf-dist/tex/latex/cv4tw/cv4tw-theme-sharp.sty create mode 100644 Master/texmf-dist/tex/latex/cv4tw/cv4tw-theme-simple.sty create mode 100644 Master/texmf-dist/tex/latex/cv4tw/cv4tw.cls create mode 100644 Master/tlpkg/tlpsrc/cv4tw.tlpsrc diff --git a/Master/texmf-dist/doc/latex/cv4tw/sample-jules-verne.pdf b/Master/texmf-dist/doc/latex/cv4tw/sample-jules-verne.pdf new file mode 100644 index 00000000000..866c8cd577f Binary files /dev/null and b/Master/texmf-dist/doc/latex/cv4tw/sample-jules-verne.pdf differ diff --git a/Master/texmf-dist/tex/latex/cv4tw/cv4tw-scheme.sty b/Master/texmf-dist/tex/latex/cv4tw/cv4tw-scheme.sty new file mode 100644 index 00000000000..3825abe78da --- /dev/null +++ b/Master/texmf-dist/tex/latex/cv4tw/cv4tw-scheme.sty @@ -0,0 +1,143 @@ +% +% Celadon scheme +% +\DeclareOption{celadon}{ + \definecolorifnotdef{main}{RGB}{60,76,70} + \definecolorifnotdef{contrastmain}{RGB}{219,255,242} + \definecolorifnotdef{soft}{RGB}{50,64,58} +} +% +% Tan scheme +% +\DeclareOption{tan}{ + \definecolorifnotdef{main}{RGB}{76,38,23} + \definecolorifnotdef{contrastmain}{RGB}{255,206,186} + \definecolorifnotdef{soft}{RGB}{51,25,15} +} +% +% Gray scheme +% +\DeclareOption{gray}{ + \definecolorifnotdef{main}{RGB}{76,73,73} + \definecolorifnotdef{contrastmain}{RGB}{216,208,208} + \definecolorifnotdef{soft}{RGB}{51,49,49} +} +% +% Purple scheme +% +\DeclareOption{purple}{ + \definecolorifnotdef{main}{RGB}{66,49,76} + \definecolorifnotdef{contrastmain}{RGB}{244,222,255} + \definecolorifnotdef{soft}{RGB}{44,33,51} +} +% +% Teal scheme +% +\DeclareOption{teal}{ + \definecolorifnotdef{main}{RGB}{31,117,96} + \definecolorifnotdef{contrastmain}{RGB}{186,255,236} + \definecolorifnotdef{soft}{RGB}{42,79,70} +} +% +% Blue scheme +% +\DeclareOption{minuit}{ + \definecolorifnotdef{main}{RGB}{0,51,102} + \definecolorifnotdef{contrastmain}{RGB}{156,205,255} + \definecolorifnotdef{soft}{RGB}{0,17,34} +} +\ProcessOptions + +\definecolorifnotdef{default}{rgb}{0,0,0} +\definecolorifnotdef{contrast}{rgb}{1,1,1} +\definecolorifnotdef{contrastmain}{RGB}{255,189,184} +\definecolorifnotdef{main}{RGB}{127,47,40} +\definecolorifnotdef{soft}{RGB}{64,23,20} +\definecolorifnotdef{light}{rgb}{.5,.5,.5} + +% Color for main title +\colorletifnotdef{title} {soft} +% Color for person name +\colorletifnotdef{name}{main} +% Section title is used at each new section/skill subsection +\colorletifnotdef{sectiontitle} {soft} +% Subsection title is used at each job/education/skill entry +\colorletifnotdef{subsectiontitle} {soft} +% Section rule +\colorletifnotdef{sectionrule} {soft} +% Asset bullet (e.g. star) +\colorletifnotdef{assetbullet} {soft} +% Mission bullet (e.g. chevron) +\colorletifnotdef{missionbullet} {soft} +% Icons color (e.g. contacts icons) +\colorletifnotdef{icons} {soft} +% Footnote +\colorletifnotdef{footnote} {light} + +% General style +\setmystyle[title] {\scshape\sffamily\color{title}\Huge\sloppy} +\setmystyle[name] {\sffamily\color{name}\Huge} +\setmystyle[sectiontitle] {\sffamily\color{sectiontitle}\Large} +\setmystyle[subsectiontitle] {\bfseries\sffamily\color{subsectiontitle}\large} +\setmystyle[default] {\color{default}\sffamily} +\setmystyle[quote] {\color{light}} +\setmystyle[section] {\sffamily} +\setmystyle[icons] {\sffamily\color{icons}\small} +\setmystyle[footnote] {\mystyle[default]\color{footnote}\scshape\footnotesize} +\setmystyle[asset] {\mystyle[default]\sloppy} +\setmystyle[assetbullet] {\mystyle[icons]{\faStar}} + +% Jobs items style +\setmystyle[cvstorytitle] {\sffamily\color{main}\bfseries} +\setmystyle[cvstorydatelocation] {\itshape\sffamily} +\setmystyle[cvstoryshort] {\sffamily} +\setmystyle[cvstorydescription] {\sffamily} +\setmystyle[cvstoryquicknotes] {\small\scshape\sffamily} +\setmystyle[missionbullet] {\color{missionbullet}$\rhd$} +\setmystyle[mission] {\mystyle[default]} + +% Skills items style +\setmystyle[cvskillname] {\mystyle[default]\color{main}} +\setmystyle[cvskilldescription] {\mystyle[default]} + +%Contact items style +\setmystyle[cvcontact]{\small\sffamily} +\setmystyle[email]{\mystyle[cvcontact]} +\setmystyle[facebook]{\mystyle[cvcontact]} +\setmystyle[twitter]{\mystyle[cvcontact]} +\setmystyle[github]{\mystyle[cvcontact]} +\setmystyle[googleplus]{\mystyle[cvcontact]} +\setmystyle[linkedin]{\mystyle[cvcontact]} +\setmystyle[skype]{\mystyle[cvcontact]} +\setmystyle[phone]{\mystyle[cvcontact]} +\setmystyle[cellphone]{\mystyle[cvcontact]} +\setmystyle[fax]{\mystyle[cvcontact]} +\setmystyle[age]{\mystyle[cvcontact]} +\setmystyle[vk]{\mystyle[cvcontact]} +\setmystyle[pinterest]{\mystyle[cvcontact]} +\setmystyle[homepage]{\mystyle[cvcontact]} +\setmystyle[homepagessl]{\mystyle[cvcontact]} +\setmystyle[customhomepage]{\mystyle[cvcontact]} +\setmystyle[address]{\mystyle[cvcontact]\scshape} +\setmystyle[spokenlanguages]{\mystyle[cvcontact]\scshape} +%Contact bullets +\setmystyle[githubbullet]{{\mystyle[icons]\faGithub}} +\setmystyle[linkedinbullet]{{\mystyle[icons]\faLinkedin}} +\setmystyle[twitterbullet]{{\mystyle[icons]\faTwitter}} +\setmystyle[vkbullet]{{\mystyle[icons]\faVK}} +\setmystyle[facebookbullet]{{\mystyle[icons]\faFacebook}} +%\setmystyle[skypebullet]{{\mystyle[icons]\faSkype}} %% Not yet support by fontawesome +\setmystyle[pinterestbullet]{{\mystyle[icons]\faPinterest}} +\setmystyle[googleplusbullet]{{\mystyle[icons]\faGooglePlus}} +\setmystyle[emailbullet]{{\mystyle[icons]\faEnvelope}} +\setmystyle[cellphonebullet]{{\mystyle[icons]\faMobilePhone}} +\setmystyle[phonebullet]{{\mystyle[icons]\faPhone}} +\setmystyle[faxbullet]{{\mystyle[icons]\faPrint}} +\setmystyle[homepagebullet]{{\mystyle[icons]\faLaptop}} +\setmystyle[homepagesslbullet]{{\mystyle[icons]\faLaptop}} +\setmystyle[customhomepagebullet]{{\mystyle[icons]\faLaptop}} +\setmystyle[addressbullet]{{\mystyle[icons]\faHome}} +\setmystyle[agebullet]{{\mystyle[icons]\faCalendar}} +\setmystyle[spokenlanguagesbullet]{{\mystyle[icons]\faComments}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cv4tw/cv4tw-theme-compact.sty b/Master/texmf-dist/tex/latex/cv4tw/cv4tw-theme-compact.sty new file mode 100644 index 00000000000..f6d03588ea0 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cv4tw/cv4tw-theme-compact.sty @@ -0,0 +1,74 @@ +\RequirePackage{picins} + +%Useful lengths +\newlength{\cvpicturewidth}\setlength{\cvpicturewidth}{3.2cm} +\setlength{\cvleftwidth}{4cm} +\setlength{\cvrightwidth}{8cm} +\newlength{\cvtitlecolumnwidth}\setlength{\cvtitlecolumnwidth}{5.5cm} +\newlength{\cvmaincolumnwidth}\setlength{\cvmaincolumnwidth}{13cm} +\newlength{\cvtitlewidth}\setlength{\cvtitlewidth}{10cm} +\newlength{\cvnamewidth}\setlength{\cvnamewidth}{8cm} +\newlength{\cvassetspanelwidth}\setlength{\cvassetspanelwidth}{12cm} +\newlength{\cvassetitemsep}\setlength{\cvassetitemsep}{0em} +\newlength{\cvassetspanelleftmargin}\setlength{\cvassetspanelleftmargin}{0cm} +\newlength{\cvcontactpanelwidth}\setlength{\cvcontactpanelwidth}{7cm} + +% Set \emph command with "em" color +\DeclareTextFontCommand{\emph}{\color{main}} + + +\renewcommand*{\maketitle}{ + {\mystyle[name]\@cvfirstname~\@cvlastname\\[0.5em]} +\parpic[lt]{ + \begin{minipage}{\cvtitlecolumnwidth} + \@ifundefined{@cvpicture}{}{\centering\begin{minipage}[m]{\cvpicturewidth}\fboxsep=1mm\fboxrule=0.05pt\fcolorbox{black}{white}{\includegraphics[keepaspectratio=true,width=\cvpicturewidth]{\@cvpicture}}\end{minipage}\\} + \@ifundefined{@cvtitle}{}{{\mystyle[title]\@cvtitle}\\[0.5em]} + \@ifundefined{@cvquote}{}{{\mystyle[quote]\@cvquote}\\[0.5em]} +\begin{tabular}{@{}c@{}l@{}}\\ +\renderassetifdefined{0} +\renderassetifdefined{1} +\renderassetifdefined{2} +\renderassetifdefined{3} +\renderassetifdefined{4} +\renderassetifdefined{5} +\renderassetifdefined{6} +\renderassetifdefined{7} +\renderassetifdefined{8} +\renderassetifdefined{9}\\ +\rendercontactifdefined{email} +\rendercontactifdefined{homepage} +\rendercontactifdefined{homepagessl} +\rendercontactifdefined{customhomepage} +\rendercontactifdefined{cellphone} +\rendercontactifdefined{phone} +\rendercontactifdefined{fax} +\rendercontactifdefined{github} +\rendercontactifdefined{linkedin} +\rendercontactifdefined{twitter} +\rendercontactifdefined{googleplus} +\rendercontactifdefined{facebook} +\rendercontactifdefined{vk} +\rendercontactifdefined{pinterest} +%\rendercontactifdefined{skype} %% Not yet supported by fontawesome +\rendercontactifdefined{age} +\rendercontactifdefined{spokenlanguages} +\rendercontactifdefined{address} +\end{tabular} + \end{minipage} +} +} + + +\renewcommand*{\renderasset}[1]{ \mystyle[assetbullet]&\begin{tabular}[t]{>{\mystyle[asset]}l}\cvasset[#1]\end{tabular}\\[0.3em]} + +\renewcommand*{\renderassetifdefined}[1]{\ifcvasset[#1]{\renderasset{#1}}{\ignorespaces}} + +\renewcommand*{\rendercontact}[1]{ +\mystyle[#1bullet]&\begin{tabular}[t]{>{\mystyle[#1]}l} +\cvcontactlink{#1} +\end{tabular}\\[0.3em] +} + +\renewcommand*{\rendercontactifdefined}[1]{\ifcvcontact[#1]{\rendercontact{#1}}{\ignorespaces}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cv4tw/cv4tw-theme-core.sty b/Master/texmf-dist/tex/latex/cv4tw/cv4tw-theme-core.sty new file mode 100644 index 00000000000..27ba36c8163 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cv4tw/cv4tw-theme-core.sty @@ -0,0 +1,88 @@ +\RequirePackage[left=1cm,right=1cm,top=1cm,bottom=1.8cm]{geometry} +\RequirePackage{libertine} +\RequirePackage{multicol} +\RequirePackage{pifont} +\RequirePackage{pbox} +\RequirePackage{needspace} +\RequirePackage{amssymb} +\RequirePackage{fontspec} +\RequirePackage{fontawesome} +\RequirePackage{realboxes} +\RequirePackage{array} + +\AtBeginDocument{\maketitle} + +% Set \emph command with "em" color +\DeclareTextFontCommand{\emph}{\color{main}} + +% Default header +\fancypagestyle{cvsimple}{ + \renewcommand{\headrulewidth}{0pt} + \renewcommand{\footrulewidth}{0pt} + \fancyhf{} + \lfoot{\mystyle[footnote]\@cvfirstname~\@cvlastname} + \cfoot{\mystyle[footnote]\@ifundefined{@cvtitle}{}{\@cvtitle}} + \rfoot{\mystyle[footnote]\thepage/\pageref{LastPage}} +} +\pagestyle{cvsimple} + + +%Useful lengths +\newlength{\cvleftwidth}\setlength{\cvleftwidth}{4.5cm} +\newlength{\cvrightwidth}\setlength{\cvrightwidth}{14cm} +\newlength{\cvskillitemparskip}\setlength{\cvskillitemparskip}{-0.8em} +\newlength{\cvmissionsitemsep}\setlength{\cvmissionsitemsep}{0em} + +% Set \emph command with "em" color +\DeclareTextFontCommand{\emph}{\color{main}} + +% Section title +\renewcommand*{\section}[1]{ +\needspace{4\baselineskip} +\begin{center} + {\mystyle[sectiontitle] #1}\\[-0.8em] + {\color{sectionrule}\rule{\textwidth}{0.05pt}} +\end{center} +} + +% Write a story relevant about you (job, education, journey, ...) +\renewcommand*{\story}[5]{ + \begin{flushleft} + \begin{minipage}[t]{\cvleftwidth} + {\mystyle[cvstorydatelocation] #3} + \if\relax\detokenize{#4}\relax + \relax + \else + \\[1em] + {\mystyle[cvstoryquicknotes] #4} + \fi + \end{minipage} + \begin{minipage}[t]{\cvrightwidth} + \vspace*{-0.7em} + {\mystyle[cvstorytitle] #1}{\mystyle[cvstoryshort],~#2} + \if\relax\detokenize{#5}\relax + \relax + \else + \\[0.8em] + {\mystyle[cvstorydescription] #5} + \fi + \end{minipage} + \\ + \end{flushleft} +} + +% Describe missions related to a job +\renewenvironment*{missions}{ + \begin{list}{\mystyle[missionbullet]}{ \setlength{\itemsep}{\cvmissionsitemsep} \setlength{\leftmargin}{2em}\mystyle[mission] } +}{ + \end{list} +} + +% Skills environment (use \skill command to add items) +\renewenvironment*{skills}[1]{ + \newcommand*{\skill}[2][]{ ##1\hspace*{2ex} & ##2 \\[\cvskillitemparskip] } + \begin{minipage}[t]{\textwidth} + {\hspace*{\cvleftwidth}\mystyle[subsectiontitle] #1}\\[-0.4em] + \begin{tabular}[t]{@{}>{\mystyle[cvskillname]\hfill}p{\cvleftwidth}@{}>{\mystyle[cvskilldescription]}p{\cvrightwidth}@{}} } + { \end{tabular}\\[2em] \end{minipage} } +\endinput diff --git a/Master/texmf-dist/tex/latex/cv4tw/cv4tw-theme-sharp.sty b/Master/texmf-dist/tex/latex/cv4tw/cv4tw-theme-sharp.sty new file mode 100644 index 00000000000..934a886923c --- /dev/null +++ b/Master/texmf-dist/tex/latex/cv4tw/cv4tw-theme-sharp.sty @@ -0,0 +1,78 @@ +%Useful lengths +\newlength{\cvtitlewidth}\setlength{\cvtitlewidth}{8cm} +\newlength{\cvnamewidth}\setlength{\cvnamewidth}{6cm} +\newlength{\cvpicturewidth}\setlength{\cvpicturewidth}{2.4cm} +\newlength{\cvassetspanelwidth}\setlength{\cvassetspanelwidth}{12cm} +\newlength{\cvassetitemsep}\setlength{\cvassetitemsep}{0.4em} +\newlength{\cvassetspanelleftmargin}\setlength{\cvassetspanelleftmargin}{1cm} +\newlength{\cvcontactpanelwidth}\setlength{\cvcontactpanelwidth}{7cm} + +\renewcommand*{\maketitle}{ + \DeclareTextFontCommand{\emph}{\color{contrastmain}} + \colorlet{iconstemp}{icons} + \colorlet{icons}{contrast} + \hspace*{-1\marginparwidth}\colorbox{title}{\hspace*{\marginparwidth}\begin{minipage}{\paperwidth} + \@ifundefined{@cvpicture}{}{\begin{minipage}[m]{\cvpicturewidth}\fboxsep=1mm\fboxrule=0.05pt\fcolorbox{black}{white}{\includegraphics[keepaspectratio=true,width=\cvpicturewidth]{\@cvpicture}}\end{minipage}\hspace{2ex}} + \begin{minipage}[m]{\cvtitlewidth} + \mystyle[name]\color{contrast}{\@ifundefined{@cvacademictitle}{}{\small\@cvacademictitle~}}\@cvfirstname~\@cvlastname + \@ifundefined{@cvtitle}{}{{\\\mystyle[title]\color{contrast}\@cvtitle}} + \end{minipage}\hfill + \begin{minipage}[m]{\cvassetspanelwidth} + \ifcvasset[0]{\begin{list}{\mystyle[assetbullet]}{\setlength{\leftmargin}{\cvassetspanelleftmargin}} +\setlength{\itemsep}{\cvassetitemsep} +\renderassetifdefined{0} +\renderassetifdefined{1} +\renderassetifdefined{2} +\renderassetifdefined{3} +\renderassetifdefined{4} +\renderassetifdefined{5} +\renderassetifdefined{6} +\renderassetifdefined{7} +\renderassetifdefined{8} +\renderassetifdefined{9} +\end{list}}{} + \end{minipage} + \end{minipage}}\\[3ex] + \colorlet{icons}{iconstemp} + \@ifundefined{@cvquote}{}{{\centering\mystyle[quote]\@cvquote\\[2ex]}} + \begin{minipage}[t]{0.3\textwidth} \begin{tabular}[t]{@{}c@{}l@{}} + \rendercontactifdefined{email} + \rendercontactifdefined{homepage} + \rendercontactifdefined{homepagessl} + \rendercontactifdefined{customhomepage} + \rendercontactifdefined{cellphone} + \rendercontactifdefined{phone} + \rendercontactifdefined{fax} +\end{tabular} + \end{minipage} +\hfill + \begin{minipage}[t]{0.3\textwidth} \begin{tabular}[t]{@{}c@{}l@{}} + \rendercontactifdefined{github} + \rendercontactifdefined{linkedin} + \rendercontactifdefined{twitter} + \rendercontactifdefined{googleplus} + \rendercontactifdefined{facebook} + \rendercontactifdefined{vk} + \rendercontactifdefined{pinterest} +\end{tabular} + \end{minipage} + \DeclareTextFontCommand{\emph}{\color{main}} +\hfill + \begin{minipage}[t]{0.3\textwidth} \begin{tabular}[t]{@{}c@{}l@{}} + \rendercontactifdefined{age} + \rendercontactifdefined{spokenlanguages} + \rendercontactifdefined{address} +\end{tabular} + \end{minipage}\\ +\\[1em] +} + +\renewcommand*{\renderasset}[1]{\item{\mystyle[asset]\color{contrast} \cvasset[#1]}} + +\renewcommand*{\renderassetifdefined}[1]{\ifcvasset[#1]{\renderasset{#1}}{\ignorespaces}} + +\renewcommand*{\rendercontact}[1]{\mystyle[#1bullet] & \begin{tabular}[t]{>{\mystyle[#1]}l}\cvcontactlink{#1}\end{tabular} \\[0.3em]} + +\renewcommand*{\rendercontactifdefined}[1]{\ifcvcontact[#1]{\rendercontact{#1}}{\ignorespaces}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cv4tw/cv4tw-theme-simple.sty b/Master/texmf-dist/tex/latex/cv4tw/cv4tw-theme-simple.sty new file mode 100644 index 00000000000..dfda6b821e0 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cv4tw/cv4tw-theme-simple.sty @@ -0,0 +1,72 @@ + +\newlength{\cvtitlewidth}\setlength{\cvtitlewidth}{8cm} +\newlength{\cvnamewidth}\setlength{\cvnamewidth}{6cm} +\newlength{\cvpicturewidth}\setlength{\cvpicturewidth}{2.4cm} +\newlength{\cvassetspanelwidth}\setlength{\cvassetspanelwidth}{12cm} +\newlength{\cvassetitemsep}\setlength{\cvassetitemsep}{2em} +\newlength{\cvassetspanelleftmargin}\setlength{\cvassetspanelleftmargin}{1cm} +\newlength{\cvcontactpanelwidth}\setlength{\cvcontactpanelwidth}{7cm} + +\renewcommand*{\maketitle}{ + \@ifundefined{@cvpicture}{}{ \begin{minipage}[m]{\cvpicturewidth} \fboxsep=1mm\fboxrule=0.05pt \fcolorbox{black}{white}{ \includegraphics[keepaspectratio=true,width=\cvpicturewidth]{\@cvpicture} }\end{minipage}\hspace{5ex}} + \begin{minipage}[m]{\cvtitlewidth} + \@ifundefined{@cvtitle}{~}{\mystyle[title]\@cvtitle} + \end{minipage}\hfill + \begin{minipage}[m]{\cvnamewidth} + \begin{flushright} + \mystyle[name]\@cvfirstname\\[0em]\@cvlastname + \end{flushright} + \end{minipage} + \begin{minipage}[!t]{\cvassetspanelwidth} + \begin{multicols}{2} + \ifcvasset[0]{\begin{list}{\mystyle[assetbullet]}{\setlength{\leftmargin}{\cvassetspanelleftmargin}} +\setlength{\itemsep}{\cvassetitemsep} +\renderassetifdefined{0} +\renderassetifdefined{1} +\renderassetifdefined{2} +\renderassetifdefined{3} +\renderassetifdefined{4} +\renderassetifdefined{5} +\renderassetifdefined{6} +\renderassetifdefined{7} +\renderassetifdefined{8} +\renderassetifdefined{9} +\end{list}}{} + \end{multicols} + \@ifundefined{@cvquote}{}{\mystyle[quote]\@cvquote} + \end{minipage}\hfill +\begin{minipage}[!t]{\cvcontactpanelwidth} +\begin{flushright} +\begin{tabular}{@{}c@{}l@{}} + \rendercontactifdefined{email} + \rendercontactifdefined{homepage} + \rendercontactifdefined{homepagessl} + \rendercontactifdefined{customhomepage} + \rendercontactifdefined{cellphone} + \rendercontactifdefined{phone} + \rendercontactifdefined{fax} + \rendercontactifdefined{github} + \rendercontactifdefined{linkedin} + \rendercontactifdefined{twitter} + \rendercontactifdefined{googleplus} + \rendercontactifdefined{vk} + \rendercontactifdefined{pinterest} + \rendercontactifdefined{facebook} + \rendercontactifdefined{age} + \rendercontactifdefined{spokenlanguages} + \rendercontactifdefined{address} +\end{tabular} +\end{flushright} + \end{minipage} +\\[1em] +} + +\renewcommand*{\renderasset}[1]{\item{\mystyle[asset] \cvasset[#1]}} + +\renewcommand*{\renderassetifdefined}[1]{\ifcvasset[#1]{\renderasset{#1}}{\ignorespaces}} + +\renewcommand*{\rendercontact}[1]{\mystyle[#1bullet] & \begin{tabular}[t]{>{\mystyle[#1]}l}\cvcontactlink{#1}\end{tabular} \\[0.3em]} + +\renewcommand*{\rendercontactifdefined}[1]{\ifcvcontact[#1]{\rendercontact{#1}}{\ignorespaces}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cv4tw/cv4tw.cls b/Master/texmf-dist/tex/latex/cv4tw/cv4tw.cls new file mode 100644 index 00000000000..f999d5002d6 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cv4tw/cv4tw.cls @@ -0,0 +1,135 @@ +%% + +\NeedsTeXFormat{LaTeX2e} +\LoadClassWithOptions{article} +\ProvidesClass{cv4tw}[2014/01/19 v0.1 LaTeX CV class, with assets, social networks, and customizable styles] +\RequirePackage{newenviron} +\RequirePackage{etoolbox} +\RequirePackage{xcolor} +%\RequirePackage{navigator} +\RequirePackage{graphicx} +\RequirePackage{xstring} +\RequirePackage{fancyhdr} +\RequirePackage{lastpage} +\RequirePackage[hidelinks]{hyperref} +%\RequirePackage{refcount} + +% +% Quick and Dirty key values commands +% +\newcommand*{\qdprefix}{qd=} +\newcommand*{\qdsetlength}[3]{ + \expandafter\let\csname \qdprefix#2#1length\endcsname=\relax + \expandafter\def\csname \qdprefix#2#1length\endcsname{#3} +} + +\newcommand*{\qdapplylength}[2]{ + \ifcsname \qdprefix#2#1length\endcsname + \expandafter\setlength{\csname #2\endcsname}{\csname \qdprefix#2#1length\endcsname} + \else + \errmessage Warning : #1 not found + \fi +} + +\newcommand*{\qdgetlength}[2]{ + \ifcsname \qdprefix#2#1length\endcsname + \expandafter\csname \qdprefix#2#1length\endcsname + \else + \errmessage Warning : #1 not found + \fi +} + +\newcommand*{\qdset}[2]{ + \expandafter\let\csname \qdprefix#1\endcsname=\relax + \expandafter\def\csname \qdprefix#1\endcsname{#2} +} +\newcommand*{\qdif}[3]{\expandafter\ifcsname \qdprefix#1\endcsname#2\else#3\fi} +\newcommand*{\qdget}[1]{\ifcsname \qdprefix#1\endcsname\expandafter\csname \qdprefix#1\endcsname\else\errmessage Warning : #1 not found\fi} +\newcommand*{\qdgetunsafe}[1]{\expandafter\csname \qdprefix#1\endcsname} +\newcommand*{\qdlink}[3]{\protect\href{#1\csname \qdprefix#2\endcsname#3}{\csname \qdprefix#2\endcsname}} + +%\title{} +\newcommand*{\cvpicture}[1]{ + \def\@cvpicture{#1} +} +\newcommand*{\academictitle}[1]{ + \def\@cvacademictitle{#1} +} +\renewcommand*{\title}[1]{ + \def\@cvtitle{#1} +} +\renewcommand*{\quote}[1]{ + \def\@cvquote{#1} +} +\newcommand*{\firstname}[1]{ + \def\@cvfirstname{#1} +} +\newcommand*{\lastname}[1]{ + \def\@cvlastname{#1} +} +\newcommand*{\usetheme}[2][]{ + %Load scheme if asked + \RequirePackage[#1]{cv4tw-scheme} + %Apply theme + \RequirePackage[]{cv4tw-theme-core} + \RequirePackage[]{cv4tw-theme-#2} +} + +\newcommand*{\setmystyle}[2][]{\expandafter\qdset{mystyle#1}{#2}} +\newcommand*{\mystyle}[1][]{\ignorespaces\qdget{mystyle#1}} +\newcommand*{\setmylength}[3][]{\expandafter\qdsetlength{#1}{#2}{#3}} +%\newcommand*{\getmylength}[2][]{\expandafter\qdgetlength{#1}{#2}} +%\newcommand*{\applymylength}[2][]{\ignorespaces\qdapplylength{#1}{#2}} +\raggedbottom +\onecolumn +\pagestyle{empty} + +\newcommand*{\setcvasset}[2][]{\expandafter\qdset{cvasset#1}{#2}} +\newcommand*{\cvasset}[1][]{\qdget{cvasset#1}} +\newcommand*{\ifcvasset}[3][]{\qdif{cvasset#1}{#2}{#3}} +\newcommand*{\setcvcontact}[2][]{\expandafter\qdset{cvcontact#1}{#2}} +\newcommand*{\cvcontact}[1][]{\qdget{cvcontact#1}} +\newcommand*{\cvcontactlink}[1]{ +\IfEqCase{#1}{ +{email}{ \qdlink{mailto:}{cvcontact#1}{}}% +{homepage}{ \qdlink{http://}{cvcontact#1}{}}% +{homepagessl}{ \qdlink{http://}{cvcontact#1}{}}% +{customhomepage}{ \qdlink{}{cvcontact#1}{}}% +{vk}{ \qdlink{http://www.vk.com/}{cvcontact#1}{}}% +{pinterest}{ \qdlink{http://www.pinterest.com/}{cvcontact#1}{}}% +{linkedin}{ \qdlink{https://www.linkedin.com/in/}{cvcontact#1}{}}% +{twitter}{ \qdlink{https://www.twitter.com/}{cvcontact#1}{}}% +{github}{ \qdlink{https://www.github.com/}{cvcontact#1}{}}% +{facebook}{ \qdlink{https://www.facebook.com/}{cvcontact#1}{}}% +{googleplus}{ \qdlink{https://plus.google.com/}{cvcontact#1}{}}% +}[{\qdget{cvcontact#1}}] +} +\newcommand*{\ifcvcontact}[3][]{\qdif{cvcontact#1}{#2}{#3}} + +\newcounter{assets} +\setcounter{assets}{1} + +% Abstract commands, to be renew in theme package +% +\renewcommand*{\maketitle}[1]{ } +\renewcommand*{\section}[1]{ } +\renewcommand*{\subsection}[1]{ } +\newcommand*{\story}[5]{ } +\newcommand*{\renderasset}{ } +\newcommand*{\renderassetifdefined}{ } +\newcommand*{\rendercontact}{ } +\newcommand*{\rendercontactifdefined}{ } + +\newenvironment{missions}{ }{ } +\newenvironment{skills}[1]{ }{ } + +\makeatletter +\newcommand{\colorletifnotdef}[2]{% + \@ifundefined{\string\color@#1}{\colorlet{#1}{#2}}{}} +\newcommand{\definecolorifnotdef}[3]{% + \@ifundefined{\string\color@#1}{\definecolor{#1}{#2}{#3}}{}} +\makeatother + + + +\endinput diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index ccdc40e76f6..763efc36e25 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -148,7 +148,7 @@ my @TLP_working = qw( ctanify ctanupload ctable ctex ctex-faq cursolatex cuisine currfile currvita curve curve2e curves - custom-bib cutwin cv cweb-latex cyklop cyrillic cyrplain + custom-bib cutwin cv cv4tw cweb-latex cyklop cyrillic cyrplain dancers dashbox dashrule dashundergaps dataref datatool dateiliste datenumber datetime dblfloatfix dcpic de-macro decimal decorule dehyph-exptl dejavu diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc index 8ce5115ff56..c106ea81c17 100644 --- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc @@ -173,6 +173,7 @@ depend currfile depend currvita depend cutwin depend cv +depend cv4tw depend cweb-latex depend dashbox depend dashrule diff --git a/Master/tlpkg/tlpsrc/cv4tw.tlpsrc b/Master/tlpkg/tlpsrc/cv4tw.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d -- cgit v1.2.3