% ------------------------------------------------------- % 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'. % ------------------------------------------------------- \RequirePackage{svn-prov} \input{mycv_version.def} \ProvidesPackageSVN {$Id: mycv_dec.sty 85 2012-05-12 17:07:42Z ghangenit $} [v\@versionstr][Decorations commands] \RequirePackage{tikz} % for graphics \usetikzlibrary{shapes,decorations,shadows,fadings} \usetikzlibrary{decorations.pathmorphing} \usetikzlibrary{decorations.fractals} \usetikzlibrary{decorations.shapes} \usetikzlibrary{calc} \RequirePackage{xparse} % for commands with multiple default arguments \RequirePackage{xstring} % for string utilities %%%%%%%%%%%% % % % 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 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}% }