summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/mycv
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-04-13 22:31:07 +0000
committerKarl Berry <karl@freefriends.org>2012-04-13 22:31:07 +0000
commit623c812ad9f18e80cd3ca0032ec3ec4187202593 (patch)
tree9c1c9a6a858f51e197cb1ad03b7a0257e13baa2b /Master/texmf-dist/tex/latex/mycv
parent844a044419a675256a955f28ebf38f85433ba27f (diff)
new latex package mycv (13apr12)
git-svn-id: svn://tug.org/texlive/trunk@25955 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/mycv')
-rw-r--r--Master/texmf-dist/tex/latex/mycv/mycv.cls101
-rw-r--r--Master/texmf-dist/tex/latex/mycv/mycv_base.tex341
-rw-r--r--Master/texmf-dist/tex/latex/mycv/mycv_dec.tex226
-rw-r--r--Master/texmf-dist/tex/latex/mycv/mycv_default_style.tex103
-rw-r--r--Master/texmf-dist/tex/latex/mycv/mycv_misc.tex87
5 files changed, 858 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/mycv/mycv.cls b/Master/texmf-dist/tex/latex/mycv/mycv.cls
new file mode 100644
index 00000000000..0df161ff8df
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mycv/mycv.cls
@@ -0,0 +1,101 @@
+% -------------------------------------------------------
+% start of file 'mycv.cls'.
+% Copyright 2012 Ghersi Andrea (ghanhawk@gmail.com).
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License version
+% 1.3c, available at 'http://www.latex-project.org/lppl'.
+% -------------------------------------------------------
+
+% ===============================================================================
+% ------------------------------------------------------------------------- %
+% Why a class file? (from document: LaTeX 2ε for class and package writers) %
+% ------------------------------------------------------------------------- %
+% %
+% The first thing to do when you want to put some new LaTEX commands in a file %
+% is to decide whether it should be a document class or a package. The rule of %
+% thumb is: %
+% %
+% If the commands could be used with any document class, then make them a %
+% package; if not, then make them a class. %
+% ===============================================================================
+
+\NeedsTeXFormat{LaTeX2e}
+\def\myversionstr{v1.5.2}
+\ProvidesClass{mycv}[2012/04/13 \myversionstr My Curriculum Vitae Class]
+
+% ========
+% Packages
+% ========
+
+\RequirePackage{kvoptions} % see the comment above
+\RequirePackage{etextools} % for lists and other useful tools
+\RequirePackage{ifthen} % for <\ifthenelse> command
+\RequirePackage{pifont} % 'ding' style for item of itemize env
+\RequirePackage{xstring} % string utilities
+
+% =============
+% Class Options
+% =============
+
+\DeclareBoolOption{withDec}
+
+\DeclareDefaultOption{%
+ \PassOptionsToClass{\CurrentOption}{article}}
+
+\DeclareStringOption[english]{language}
+\DeclareStringOption[Contents]{cntdir}
+\DeclareStringOption[mycv_default_style]{style}
+\DeclareStringOption[]{mdlname}
+\ProcessKeyvalOptions*
+
+% -----------------------------------------------------------
+% The value of an option declared with <\DeclareStringOption>
+% is stored in the macro \<class (or package) name>@<option>
+% -----------------------------------------------------------
+
+\PassOptionsToPackage{\mycv@language}{babel}
+\RequirePackage{babel}
+
+\LoadClass{article}
+
+\def\cvcontentsdir{\mycv@cntdir}
+
+% ===============
+% File inclusions
+% ===============
+
+\input{mycv_base}
+\input{mycv_misc}
+\ifthenelse{\equal{\mycv@style}{none}}%
+ {\relax}% file style is not wanted
+ {\input{\mycv@style}}
+
+% ----------------------
+% use decorations or not
+% ----------------------
+\ifthenelse{\boolean{mycv@withDec}}%
+ {\input{mycv_dec}}%
+ {\relax}
+
+\DeclareRobustCommand{\ifmodel}[1]{%
+ \begingroup
+ \def\@mdlname{#1}
+ \ifx\mycv@mdlname\@mdlname
+ \endgroup
+ \expandafter\@firstoftwo
+ \else
+ \endgroup
+ \expandafter\@secondoftwo
+ \fi
+}
+
+% -----------------------------------------------
+% <\ifoption{optionname}{then block}{else block}>
+% -----------------------------------------------
+
+\DeclareRobustCommand{\ifoption}[1]{%
+ \begingroup
+ \ifthenelse{\boolean{mycv@#1}}
+ {\endgroup\expandafter\@firstoftwo}
+ {\endgroup\expandafter\@secondoftwo}%
+} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/mycv/mycv_base.tex b/Master/texmf-dist/tex/latex/mycv/mycv_base.tex
new file mode 100644
index 00000000000..0c059f91916
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mycv/mycv_base.tex
@@ -0,0 +1,341 @@
+% -------------------------------------------------------
+% start of file 'mycv_base.tex'.
+% Copyright 2012 Ghersi Andrea (ghanhawk@gmail.com).
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License version
+% 1.3c, available at 'http://www.latex-project.org/lppl'.
+% -------------------------------------------------------
+
+\ProvidesFile{mycv_base.tex}
+
+%%%%%%%%%%%%%%%%%%
+% %
+% Default values %
+% %
+%%%%%%%%%%%%%%%%%%
+
+\def\@mainbodypagesize{1.00}
+\def\@subbodypagesize{0.45}
+
+\def\@mainheaderpagesize{1.00}
+\def\@subheaderpagesize{0.44}
+
+\def\@mainfooterpagesize{1.00}
+\def\@subfooterpagesize{0.44}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% Layout components (parser) %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\@cmdsListSep{:}
+\def\@argsListSep{=}
+
+\expandaftercmds{\DeclareCmdListParser\MyParserCmds}{\@cmdsListSep}
+\expandaftercmds{\DeclareCmdListParser\MyParserArgs}{\@argsListSep}
+
+% -----------------------------------
+% setup file components: header pages
+% -----------------------------------
+
+\def\@MainHeaderPageBegin{MainHeaderPageBegin}
+\def\@SubHeaderPageBegin{SubHeaderPageBegin}
+\def\@MainHeaderPageEnd{MainHeaderPageEnd}
+\def\@SubHeaderPageEnd{SubHeaderPageEnd}
+
+% ---------------------------------
+% setup file components: body pages
+% ---------------------------------
+
+\def\@MainBodyPageBegin{MainBodyPageBegin}
+\def\@MainBodyPageEnd{MainBodyPageEnd}
+\def\@SubBodyPageBegin{SubBodyPageBegin}
+\def\@SubBodyPageEnd{SubBodyPageEnd}
+
+\def\@MainFooterPageBegin{MainFooterPageBegin}
+\def\@SubFooterPageBegin{SubFooterPageBegin}
+\def\@MainFooterPageEnd{MainFooterPageEnd}
+\def\@SubFooterPageEnd{SubFooterPageEnd}
+
+% -------------------
+% regular expressions
+% -------------------
+
+\def\@regexPreCmd{<precmd:([-!*@.0-9A-Za-z \@cmdsListSep\@argsListSep]+)>}
+\def\@regexPostCmd{<postcmd:([-!*@.0-9A-Za-z \@cmdsListSep\@argsListSep]+)>}
+\def\@regexArgsList{\@argsListSep([-!*@.0-9A-Za-z \@argsListSep]+)}
+
+\def\@regexMarginLB{/ml([0-9.-]+.{2})}
+\def\@regexMarginRB{/mr([0-9.-]+.{2})}
+\def\@regexPageSizeAbs{/pagesize([0-9.]+.{2})/}
+\def\@regexPagebreak{/pagebreak/}
+\def\@regexPageSize{<([0-9.]+)>}
+\def\@regexMarginLE{/endml/}
+\def\@regexMarginRE{/endmr/}
+\def\@regexFileName{^(.+)@}
+\def\@regexCmdName{([a-zA-Z]+)}
+\def\@regexFileVar{^.{1}([A-Za-z]+)}
+\def\@regexParamTypeA{^[@]}
+\def\@regexParamTypeB{^[!]}
+\def\@regexParamTypeC{^[*]}
+
+% ==================
+% Auxiliary commands
+% ==================
+
+\newcommand{\@concatCommandArg}[1]{%
+ \ifnum\pdfmatch{\@regexParamTypeA}{#1}=1
+ \StrGobbleLeft{#1}{1}[\arg]
+ \expandafter\g@addto@macro\expandafter\args%
+ \expandafter{\expandafter[\arg]}
+ \else
+ \ifnum\pdfmatch{\@regexParamTypeB}{#1}=1
+ \StrGobbleLeft{#1}{1}[\arg]
+ \expandafter\g@addto@macro\expandafter\args%
+ \expandafter{\expandafter<\arg>}
+ \else
+ \ifnum\pdfmatch{\@regexParamTypeC}{#1}=1
+ \g@addto@macro\args{*}
+ \else
+ \g@addto@macro\args{{#1}}
+ \fi
+ \fi
+ \fi%
+}
+
+\newcommand{\@execCommand}[1]{%
+ \let\args\@empty
+ \ifnum\pdfmatch{\@regexArgsList}{#1}=1
+ \@getRegexResult{\argslist}
+ \ifnum\pdfmatch{\@regexCmdName}{#1}=1
+ \@getRegexResult{\cmd}
+ \fi
+ \MyParserArgs[\@concatCommandArg]\argslist
+ \expandaftercmds{\csuse\cmd}{\args}
+ \else
+ \csuse{#1}
+ \fi%
+}
+
+\newcommand{\@getRegexResult}[1]{%
+ \StrPosition{\pdflastmatch 1}{>}[\n]
+ \StrGobbleLeft{\pdflastmatch 1}{\n}[#1]%
+}
+
+\newcommand{\@executeCommandList}[2]{%
+ \ifnum\pdfmatch{#2}{#1}=1%
+ \StrPosition{\pdflastmatch 1}{>}[\n]
+ \StrGobbleLeft{\pdflastmatch 1}{\n}[\cmdlist]
+ \MyParserCmds[\@execCommand]\cmdlist
+ \fi%
+}
+
+\newcommand{\@parsePageBegin}[2]{%
+ \let\pagewidth#2
+ \ifnum\pdfmatch{\@regexPageSize}{#1}=1
+ \@getRegexResult{\pagewidth}
+ \fi
+ \@executeCommandList{#1}{\@regexPreCmd}
+ \ifnum\pdfmatch{\@regexPageSizeAbs}{#1}=1
+ \@getRegexResult{\pagewidth}
+ \noindent\begin{minipage}[t]{\pagewidth}
+ \else
+ \noindent\begin{minipage}[t]{\pagewidth\textwidth}
+ \fi
+ \@executeCommandList{#1}{\@regexPostCmd}
+ \ifnum\pdfmatch{\@regexMarginLB}{#1}=1
+ \@getRegexResult{\marginsize}
+ \begin{mychangemarginLeft}{\marginsize}
+ \fi
+ \ifnum\pdfmatch{\@regexMarginRB}{#1}=1
+ \@getRegexResult{\marginsize}
+ \begin{mychangemarginRight}{\marginsize}
+ \fi%
+}
+
+\newcommand{\@parsePageEnd}[1]{%
+ \ifnum\pdfmatch{\@regexMarginRE}{#1}=1
+ \end{mychangemarginRight}
+ \fi
+ \ifnum\pdfmatch{\@regexMarginLE}{#1}=1
+ \end{mychangemarginLeft}
+ \fi
+ \@executeCommandList{#1}{\@regexPreCmd}
+ \ifnum\pdfmatch{\@regexPagebreak}{#1}=1
+ \end{minipage}
+
+ \else
+ \end{minipage}
+ \fi
+ \@executeCommandList{#1}{\@regexPostCmd}
+}
+
+\newcommand{\@parseFileName}[1]{%
+ \let\marginsizeleft\relax
+ \let\marginsizeright\relax
+ \@executeCommandList{#1}{\@regexPreCmd}
+ \ifnum\pdfmatch{\@regexMarginLB}{#1}=1
+ \@getRegexResult{\marginsizeleft}
+ \begin{mychangemarginLeft}{\marginsizeleft}
+ \fi
+ \ifnum\pdfmatch{\@regexMarginRB}{#1}=1
+ \@getRegexResult{\marginsizeright}
+ \begin{mychangemarginRight}{\marginsizeright}
+ \fi
+ \IfBeginWith{#1}{*}{%
+ \ifnum\pdfmatch{\@regexFileVar}{\noexpand#1}=1
+ \@getRegexResult{\filename}
+ \fi
+ \input\cvcontentsdir/\csuse{\filename}
+ }%
+ {%
+ \ifnum\pdfmatch{\@regexFileName}{#1}=1
+ \@getRegexResult{\filename}
+ \fi
+ \input\cvcontentsdir/\filename
+ }
+ \@executeCommandList{#1}{\@regexPostCmd}
+ \ifx\marginsizeright\relax
+ \relax
+ \else
+ \end{mychangemarginRight}
+ \fi
+ \ifx\marginsizeleft\relax
+ \relax
+ \else
+ \end{mychangemarginLeft}
+ \fi
+}
+
+% =============
+% Main commands
+% =============
+
+\newcommand{\@bodylayoutlistentry}[1]{%
+ \ifstrmatch{\@SubBodyPageBegin}{#1}{%
+ \@parsePageBegin{#1}{\@subbodypagesize}%
+ }%
+ {%
+ \ifstrmatch{\@SubBodyPageEnd}{#1}{%
+ \@parsePageEnd{#1}%
+ }%
+ {%else
+ \ifstrmatch{\@MainBodyPageBegin}{#1}{%
+ \@parsePageBegin{#1}{\@mainbodypagesize}%
+ }%
+ {%else
+ \ifstrmatch{\@MainBodyPageEnd}{#1}{%
+ \@parsePageEnd{#1}%
+ }%
+ {%else
+ \@parseFileName{#1}%
+ }%
+ }%
+ }%
+ }%
+}
+
+\newcommand{\@headerlayoutlistentry}[1]{%
+ \ifstrmatch{\@MainHeaderPageBegin}{#1}{%
+ \@parsePageBegin{#1}{\@mainheaderpagesize}%
+ }%
+ {%else
+ \ifstrmatch{\@SubHeaderPageBegin}{#1}{%
+ \@parsePageBegin{#1}{\@subheaderpagesize}%
+ }%
+ {%else
+ \ifstrmatch{\@MainHeaderPageEnd}{#1}%
+ {\@parsePageEnd{#1}}%
+ {%else
+ \ifstrmatch{\@SubHeaderPageEnd}{#1}{%
+ \@parsePageEnd{#1}%
+ }%
+ {%else
+ \@parseFileName{#1}%
+ }%
+ }%
+ }%
+ }%
+}
+
+\newcommand{\@footerlayoutlistentry}[1]{%
+ \ifstrmatch{\@MainFooterPageBegin}{#1}{%
+ \@parsePageBegin{#1}{\@mainfooterpagesize}%
+ }%
+ {%else
+ \ifstrmatch{\@SubFooterPageBegin}{#1}{%
+ \@parsePageBegin{#1}{\@subfooterpagesize}%
+ }%
+ {%else
+ \ifstrmatch{\@MainFooterPageEnd}{#1}%
+ { \@parsePageEnd{#1}%
+ }%
+ {%else
+ \ifstrmatch{\@SubFooterPageEnd}{#1}{%
+ \@parsePageEnd{#1}%
+ }%
+ {%else
+ \@parseFileName{#1}%
+ }%
+ }%
+ }%
+ }%
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% Layout components (render) %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newcommand{\@raisewarning}[1]{%
+ \ClassWarning{mycv}{%
+ WARNING! The list <#1> used by 'mycv' class is undefined. %
+ Please, define it before using '\myrenderlayout' command. %
+ }%
+}
+
+\DeclareRobustCommand{\myrenderlayout}[1][a]{%
+ \begingroup
+ \ifsinglechar{b}{#1}{%
+ \@ifundefined{bodylayoutlist}%
+ {\@raisewarning{bodylayoutlist}}% else
+ {\csvloop[\@bodylayoutlistentry]{\bodylayoutlist}}%
+ }%
+ {%else
+ \ifsinglechar{h}{#1}{%
+ % --------
+ % HEADINGS
+ % --------
+ \@ifundefined{headerlayoutlist}%
+ {\@raisewarning{headerlayoutlist}}% else
+ {\csvloop[\@headerlayoutlistentry]\headerlayoutlist}%
+ }%
+ {%else
+ % ------------------------------------------------
+ % FOOTINGS: sign and treatment of personal details
+ % ------------------------------------------------
+ \ifsinglechar{f}{#1}{%
+ \@ifundefined{footerlayoutlist}%
+ {\@raisewarning{footerlayoutlist}}% else
+ {\csvloop[\@footerlayoutlistentry]\footerlayoutlist}%
+ }%
+ {%\else
+ % --------------
+ % ALL COMPONENTS
+ % --------------
+ \@ifundefined{headerlayoutlist}%
+ {\@raisewarning{headerlayoutlist}}% else
+ {\csvloop[\@headerlayoutlistentry]\headerlayoutlist}%
+ \@ifundefined{bodylayoutlist}%
+ {\@raisewarning{bodylayoutlist}}% else
+ {\csvloop[\@bodylayoutlistentry]\bodylayoutlist}
+ \@ifundefined{footerlayoutlist}%
+ {\@raisewarning{footerlayoutlist}}% else
+ {\csvloop[\@footerlayoutlistentry]\footerlayoutlist}%
+ }%
+ }%
+ }%
+ \endgroup
+} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/mycv/mycv_dec.tex b/Master/texmf-dist/tex/latex/mycv/mycv_dec.tex
new file mode 100644
index 00000000000..8283a678587
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mycv/mycv_dec.tex
@@ -0,0 +1,226 @@
+% -------------------------------------------------------
+% start of file 'mycv_dec.tex'.
+% Copyright 2012 Ghersi Andrea (ghanhawk@gmail.com).
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License version
+% 1.3c, available at 'http://www.latex-project.org/lppl'.
+% -------------------------------------------------------
+
+\ProvidesFile{mycv_dec.tex}
+
+\RequirePackage{tikz} % for graphics
+\usetikzlibrary{shapes,decorations,shadows,fadings}
+\usetikzlibrary{decorations.pathmorphing}
+\usetikzlibrary{decorations.fractals}
+\usetikzlibrary{decorations.shapes}
+\usetikzlibrary{calc}
+\RequirePackage{xparse}
+
+%%%%%%%%%%%%
+% %
+% Settings %
+% %
+%%%%%%%%%%%%
+
+\def\@segmentLengthString{}
+\def\@segmentLengthValue{}
+\def\@lineWidthString{}
+\def\@lineWidthValue{}
+\def\@segmentAmplitudeString{}
+\def\@segmentAmplitudeValue{}
+\def\@xBottomRight{-1cm}
+\def\@yBottomRight{1cm}
+\def\@xTopLeft{1cm}
+\def\@yTopLeft{-1cm}
+
+\tikzfading[%
+ name=fade out, inner color=transparent!0,
+ outer color=transparent!100%
+]
+
+\tikzset{
+ define mycolor/.code 2 args={\definecolor{#1}{rgb}{#2}},
+ DecoratewithShape/.style={%
+ decorate,decoration={shape backgrounds,shape=#1}%
+ },
+ DecoratewithPathMorphing/.style={%
+ decorate,decoration=#1%
+ },
+ Mainstyle/.style={
+ define mycolor={myred}{0.43,0.06,0,13},
+ define mycolor={dpred}{0.80,0.35,0}
+ }
+}
+
+%%%%%%%%%%%%
+% %
+% Commands %
+% %
+%%%%%%%%%%%%
+
+\newcommand{\versionBasedSettings}[2]{%
+ \IfBooleanTF#1{%
+ % ---------------------------------------------------------
+ % From <xstring> package
+ % ---------------------------------------------------------
+ % Macros of this package take the catcodes of tokens into
+ % account. To avoid unexpected behaviour (particulary with
+ % tests), you should keep in mind that tokens and their
+ % catcodes are examined.
+ % For instance, these two arguments: {\string a\string b}
+ % and {ab} do not expand into equal strings for xstring!
+ % Because of the command \string, the first expands into
+ % ab with catcodes 12 while the second have characters
+ % with their natural catcodes 11. Catcodes do not match!
+ % Starred macros do not take catcodes into account. They
+ % simply convert some arguments into arguments with
+ % catcodes 10, 11 and 12, and call the non-starred macros
+ % with these modified arguments.
+ % ---------------------------------------------------------
+ \IfStrEqCase*{#2}{%
+ {radial}{\def\@colorStr{inner color}}%
+ {ball}{\def\@colorStr{ball color}}%
+ {none}{\relax}%
+ }%
+ [mycv: Unknown option <#2>!!!]%
+ }{\relax}%
+}
+
+% -----------------------------------------------------
+% Pathmorphing decoration values:
+% shape, straight zigzag, random steps, saw, zigzag,
+% bent, bumps, coil, snake, Koch snowflake
+% Shadings: radial, ball
+% -----------------------------------------------------
+
+\DeclareDocumentCommand{\mydecorationsPathmorphing}%
+ {s O{1} m O{gray} D<>{radial} D<>{white}}%
+{%
+ \begingroup
+ \versionBasedSettings{#1}{#5}%
+ \begin{tikzpicture}[overlay,remember picture]%
+ \IfBooleanTF#1{% version with a star (shading)
+ \shade[
+ Mainstyle,
+ \@lineWidthString=\@lineWidthValue,
+ \@segmentAmplitudeString=\@segmentAmplitudeValue,
+ \@segmentLengthString=\@segmentLengthValue,
+ DecoratewithPathMorphing=#3,
+ color=#4,
+ shading=#5,
+ \@colorStr=#6,
+ \ifnum#2>0draw\fi
+ ]}%
+ {% version without a star (not shading)
+ \path[
+ Mainstyle,
+ \@lineWidthString=\@lineWidthValue,
+ \@segmentAmplitudeString=\@segmentAmplitudeValue,
+ \@segmentLengthString=\@segmentLengthValue,
+ DecoratewithPathMorphing=#3,
+ color=#4,
+ fill=#6,
+ \ifnum#2>0draw\fi
+ ]}%
+ ($ (current page.north west)+
+ (\@xTopLeft,\@yTopLeft) $)
+ rectangle % -- oppure circle (4), ...
+ ($ (current page.south east)+
+ (\@xBottomRight,\@yBottomRight) $);
+ \end{tikzpicture}
+ \endgroup
+}
+
+% --------------------------------------
+% Shapes: dart, diamond, rectangle, star
+% --------------------------------------
+
+\DeclareDocumentCommand{\mydecorationsShape}%
+ {O{1} m O{gray}}
+{%
+ \begingroup
+ \begin{tikzpicture}[overlay,remember picture]
+ \path[
+ Mainstyle,
+ \@lineWidthString=\@lineWidthValue,
+ \@segmentAmplitudeString=\@segmentAmplitudeValue,
+ \@segmentLengthString=\@segmentLengthValue,
+ DecoratewithShape=#2,
+ color=#3,
+ \ifnum#1>0draw\fi
+ ]%
+ ($ (current page.north west)+
+ (\@xTopLeft,\@yTopLeft) $)
+ rectangle
+ ($ (current page.south east)+
+ (\@xBottomRight,\@yBottomRight) $);
+ \end{tikzpicture}
+ \endgroup
+}
+
+\DeclareDocumentCommand{\mydecorationsFading}%
+ {O{north} m O{80} O{black} D<>{1.0}}
+{%
+ \begin{tikzpicture}[overlay,remember picture]
+ \draw[path fading=#1,fill=#2!#3!#4,opacity=#5]
+ ($ (current page.north west)+
+ (\@xTopLeft,\@yTopLeft) $)
+ rectangle % -- oppure circle (4), ...
+ ($ (current page.south east)+
+ (\@xBottomRight,\@yBottomRight) $);
+ \end{tikzpicture}%
+}
+
+\DeclareRobustCommand{\mydecorationsSetPosXTL}[1]%
+ [1cm]%
+{%
+ \def\@xTopLeft{#1}%
+}
+
+\DeclareRobustCommand{\mydecorationsSetPosYTL}[1]%
+ [-1cm]%
+{%
+ \def\@yTopLeft{#1}%
+}
+
+\DeclareRobustCommand{\mydecorationsSetPosXBR}[1]%
+ [-1cm]%
+{%
+ \def\@xBottomRight{#1}%
+}
+
+\DeclareRobustCommand{\mydecorationsSetPosYBR}[1]%
+ [1cm]%
+{%
+ \def\@yBottomRight{#1}%
+}
+
+\DeclareDocumentCommand{\mydecorationsSetLineWidth}%
+ {s O{}}%
+{%
+ \IfBooleanTF#1%
+ {\def\@lineWidthString{}} % starred
+ {\def\@lineWidthString{line width}} % not starred
+
+ \def\@lineWidthValue{#2}%
+}
+
+\DeclareDocumentCommand{\mydecorationsSetSegmentAmplitude}%
+ {s O{}}%
+{%
+ \IfBooleanTF#1%
+ {\def\@segmentAmplitudeString{}} % starred
+ {\def\@segmentAmplitudeString{segment amplitude}} % not starred
+
+ \def\@segmentAmplitudeValue{#2}%
+}
+
+\DeclareDocumentCommand{\mydecorationsSetSegmentLength}%
+ {s O{}}%
+{%
+ \IfBooleanTF#1%
+ {\def\@segmentLengthString{}} % starred
+ {\def\@segmentLengthString{segment length}} % not starred
+
+ \def\@segmentLengthValue{#2}%
+} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/mycv/mycv_default_style.tex b/Master/texmf-dist/tex/latex/mycv/mycv_default_style.tex
new file mode 100644
index 00000000000..63d3c503f33
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mycv/mycv_default_style.tex
@@ -0,0 +1,103 @@
+% -------------------------------------------------------
+% start of file 'mycv_default_style.tex'.
+% Copyright 2012 Ghersi Andrea (ghanhawk@gmail.com).
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License version
+% 1.3c, available at 'http://www.latex-project.org/lppl'.
+% -------------------------------------------------------
+
+\ProvidesFile{mycv_default_style.tex}
+
+\RequirePackage{titlesec} % for title format and spacing
+\RequirePackage{fancyhdr} % custom footer
+\RequirePackage{xcolor} % for color
+\RequirePackage{calligra} % for calligra font
+\RequirePackage{times} % times font
+\RequirePackage{marvosym} % symbols - phone
+\RequirePackage{amssymb} % symbols - email
+\RequirePackage{xparse}
+
+%%%%%%%%%%%
+% %
+% Layout %
+% %
+%%%%%%%%%%%
+
+% -----------------------------------------------------
+% passing the option 'showframe' to the package permits
+% to see the page margins: that may be useful for debug
+% -----------------------------------------------------
+\RequirePackage[hmargin=1.25cm,vmargin=1.5cm]{geometry}
+
+%%%%%%%%%%%%%%%%%%%%%
+% %
+% Header and footer %
+% %
+%%%%%%%%%%%%%%%%%%%%%
+
+\renewcommand{\headrulewidth}{0.0pt}
+
+\fancyhf{}
+
+\DeclareRobustCommand{\mycfoot}[1]{%
+ \cfoot{\color{myheadingscolor}{{\sffamily\tiny{#1}}}}%
+}
+
+\pagestyle{fancy}
+
+%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% Hyperref and colours %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%
+
+% ------------------------------------------
+% setup colours for links, text and headings
+% ------------------------------------------
+\definecolor{mylinkcolour}{HTML}{0000FF} % {FF0080} %light purple link for the email
+\definecolor{myshadecolor}{HTML}{F0F0F0} % {E4E3E3}%{D4D7FE} %light blue shade
+\definecolor{mytextcolor}{HTML}{2b2b2b} % text is almost black
+\definecolor{myheadingscolor}{HTML}{701112} % dark red
+
+% ----------------------
+% setup hyperref package
+% ----------------------
+\hypersetup{%
+ colorlinks,breaklinks,%
+ urlcolor=mylinkcolour,%
+ linkcolor=mylinkcolour,%
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% Section title format and spacing %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\DeclareDocumentCommand{\mysectionTitleFormat}%
+ {O{myheadingscolor} O{myheadingscolor}}%
+{%
+ \titleformat{\section}%
+ {\bigskip\color{#1}\titlerule\scshape\Large\raggedright}%
+ {}{0em}{}[\color{#2}\titlerule\medskip]
+}
+
+\DeclareDocumentCommand{\mysectionTitleSpacing}%
+ {O{0pt} O{0pt} O{5pt}}%
+{%
+ \titlespacing{\section}{#1}{#2}{#3}%
+}
+
+\mysectionTitleFormat
+\mysectionTitleSpacing
+
+%%%%%%%%%%%%%%%
+% %
+% Other stuff %
+% %
+%%%%%%%%%%%%%%%
+
+% --------------------------------
+% set text color for the whole doc
+% --------------------------------
+\color{mytextcolor} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/mycv/mycv_misc.tex b/Master/texmf-dist/tex/latex/mycv/mycv_misc.tex
new file mode 100644
index 00000000000..d2befd393dc
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mycv/mycv_misc.tex
@@ -0,0 +1,87 @@
+% -------------------------------------------------------
+% start of file 'mycv_misc.tex'.
+% Copyright 2012 Ghersi Andrea (ghanhawk@gmail.com).
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License version
+% 1.3c, available at 'http://www.latex-project.org/lppl'.
+% -------------------------------------------------------
+
+\ProvidesFile{mycv_stuff.tex}
+
+\RequirePackage{hyperref}
+
+% -----------------------------------------------------
+% partial hyperref setup: the rest is set in style file
+% -----------------------------------------------------
+
+\hypersetup{%
+ pdfstartpage = 1,
+ pdfauthor = \@pdfauthor,
+ pdftitle = \@pdftitle,
+ pdfsubject = \@pdfsubject,
+ pdfproducer = \LaTeX{},
+ pdfkeywords = cv curriculum vit\ae{},
+ pdfcreator = \LaTeX{} with 'mycv' (\myversionstr)
+}
+
+%%%%%%%%%%%
+% %
+% Margins %
+% %
+%%%%%%%%%%%
+
+\newenvironment{mychangemargin}[2]
+ {\begin{list}{}{%
+ \setlength{\topsep}{0pt}%
+ \setlength{\leftmargin}{#1}%
+ \setlength{\rightmargin}{#2}%
+ \setlength{\partopsep}{0pt}%
+ \setlength{\parsep}{\parskip}}\item[]%
+ }%
+ {\end{list}}
+
+\newenvironment{mychangemarginLeft}[1]
+ {\begin{list}{}{%
+ \setlength{\topsep}{0pt}%
+ \setlength{\leftmargin}{#1}%
+ \setlength{\partopsep}{0pt}%
+ \setlength{\parsep}{\parskip}}\item[]%
+ }%
+ {\end{list}}
+
+\newenvironment{mychangemarginRight}[1]
+ {\begin{list}{}{%
+ \setlength{\topsep}{0pt}%
+ \setlength{\rightmargin}{#1}%
+ \setlength{\partopsep}{0pt}%
+ \setlength{\parsep}{\parskip}}\item[]%
+ }%
+ {\end{list}}
+
+%%%%%%%%%%%%%%%%%%%
+% %
+% Customized list %
+% %
+%%%%%%%%%%%%%%%%%%%
+
+\newenvironment{myitemize}%
+ {\renewcommand{\labelitemi}{\ding{43}}\begin{itemize}}%
+ {\end{itemize}}
+
+%%%%%%%%%%%%%%%
+% %
+% Other stuff %
+% %
+%%%%%%%%%%%%%%%
+
+\DeclareRobustCommand{\mylang}[2][english]{%
+ \foreignlanguage{#1}{{z#2}}} %{\color{blue}{#2}}}
+
+% ------------
+% pdf metadata
+% ------------
+
+\DeclareRobustCommand{\mypdfsubject}[1]{\def\@pdfsubject{#1}}
+\DeclareRobustCommand{\mypdfauthor}[1]{\def\@pdfauthor{#1}}
+\DeclareRobustCommand{\mypdftitle}[1]{\def\@pdftitle{#1}}
+