diff options
author | Karl Berry <karl@freefriends.org> | 2012-04-13 22:31:07 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2012-04-13 22:31:07 +0000 |
commit | 623c812ad9f18e80cd3ca0032ec3ec4187202593 (patch) | |
tree | 9c1c9a6a858f51e197cb1ad03b7a0257e13baa2b /Master/texmf-dist/tex/latex/mycv | |
parent | 844a044419a675256a955f28ebf38f85433ba27f (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.cls | 101 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/mycv/mycv_base.tex | 341 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/mycv/mycv_dec.tex | 226 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/mycv/mycv_default_style.tex | 103 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/mycv/mycv_misc.tex | 87 |
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}} + |