summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-01-19 21:54:11 +0000
committerKarl Berry <karl@freefriends.org>2014-01-19 21:54:11 +0000
commit2c3d34694bd4e8ce33c94da676c69fcdffb4a045 (patch)
tree1fda4b7f7116beed215d6e81702f9c6812c4e511 /Master
parent20379a560da3cbc49178537f3eecbfc8b21581d3 (diff)
cv4tw (19jan14)
git-svn-id: svn://tug.org/texlive/trunk@32719 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/cv4tw/sample-jules-verne.pdfbin0 -> 47469 bytes
-rw-r--r--Master/texmf-dist/tex/latex/cv4tw/cv4tw-scheme.sty143
-rw-r--r--Master/texmf-dist/tex/latex/cv4tw/cv4tw-theme-compact.sty74
-rw-r--r--Master/texmf-dist/tex/latex/cv4tw/cv4tw-theme-core.sty88
-rw-r--r--Master/texmf-dist/tex/latex/cv4tw/cv4tw-theme-sharp.sty78
-rw-r--r--Master/texmf-dist/tex/latex/cv4tw/cv4tw-theme-simple.sty72
-rw-r--r--Master/texmf-dist/tex/latex/cv4tw/cv4tw.cls135
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
-rw-r--r--Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/cv4tw.tlpsrc0
10 files changed, 592 insertions, 1 deletions
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
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cv4tw/sample-jules-verne.pdf
Binary files 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
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/cv4tw.tlpsrc