diff options
author | Karl Berry <karl@freefriends.org> | 2020-01-16 21:58:11 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-01-16 21:58:11 +0000 |
commit | e76d924f69c5d9f65440dbb689b18d3440d80468 (patch) | |
tree | b97b09da588261234257ff394acb76733507ed02 /Master/texmf-dist/tex/latex/bearwear | |
parent | 3cf7754225744a63df15eeaa639c79bf0a7a8d1b (diff) |
bearwear (16jan20)
git-svn-id: svn://tug.org/texlive/trunk@53425 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/bearwear')
-rw-r--r-- | Master/texmf-dist/tex/latex/bearwear/bearwear.sty | 205 |
1 files changed, 205 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/bearwear/bearwear.sty b/Master/texmf-dist/tex/latex/bearwear/bearwear.sty new file mode 100644 index 00000000000..7a4be45c2b8 --- /dev/null +++ b/Master/texmf-dist/tex/latex/bearwear/bearwear.sty @@ -0,0 +1,205 @@ +%% +%% This is file `bearwear.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% bearwear.dtx (with options: `package') +%% +%% Copyright (C) 2020 Ulrike Fischer / Bär +%% +%% It may be distributed and/or modified under the conditions of +%% the LaTeX Project Public License (LPPL), either version 1.3c of +%% this license or (at your option) any later version. The latest +%% version of this license is in the file: +%% +%% https://www.latex-project.org/lppl.txt +%% +%% This file is part of the "bearwear bundle" (The Work in LPPL) +%% and all files in that bundle must be distributed together. +%% +%% File: bearwear.dtx +\RequirePackage{xparse} +\RequirePackage{tikzlings-bears} +\ProvidesExplPackage {bearwear} {2020-01-15} {0.1} + {A package for tikz bear fashion} +\ProcessOptions\relax +\tikzset + {__bearwearreverseclip/.style= + {insert~path= + { + (current~bounding~box.south~west) -- (current~bounding~box.north~west) + -- + (current~bounding~box.north~east) -- (current~bounding~box.south~east) + -- cycle + } + } + } + +\definecolor{__bearweareuropablue}{RGB}{00,33,99} + +\cs_new_protected:Npn \__bearwear_rightarm_path:nn #1 #2 %#1 fill, clip, #2 user + { + \path[#1,#2,rotate~around={-50\char_generate:nn{58}{12}(0.525,0.9)}] + (0.525,0.9) ellipse (0.35~and~0.15); + } + +\cs_new_protected:Npn \__bearwear_leftarm_path:nn #1 #2 %#1 fill, clip, #2 user + { + \path[#1,#2,rotate~around={50\char_generate:nn{58}{12}(-0.525,0.9)}] + (-0.525,0.9) ellipse (0.35~and~0.15); + } + +\cs_new_protected:Npn \__bearwear_body_path:nn #1 #2 %#1 fill, clip, #2 user + { + \path[#1,#2] (0,0.75) ellipse (0.55~and~0.65); + } + +\cs_new_protected:Npn \__bearwear_init_path: + { + \__bearwear_rightarm_path:nn {}{} + \__bearwear_leftarm_path:nn {}{} + \__bearwear_body_path:nn {}{} + } + +\cs_new_protected:Npn \__bearwear_set_coordinates: + { + \coordinate (beartummy) at (0,0.75); + \coordinate (bearheart) at (0.25,0.9); + } + +\cs_new_protected:Npn \__bearwear_clipping_path: + { + \bool_if:NTF \l__bearwear_v_neckline_bool + { + \clip (0, 1.55) circle (0.5) [__bearwearreverseclip]; %head + \clip (-0.4, 1.55) -- (0.4, 1.55) -- (0,0.8) --cycle[__bearwearreverseclip]; + %v-neck + } + { + \clip (0, 1.55) circle (0.53) [__bearwearreverseclip]; %head + } + \clip (0.425, 0.3) circle (0.28) [__bearwearreverseclip]; + \clip (-0.425, 0.3) circle (0.28) [__bearwearreverseclip]; + \bool_if:NTF \l__bearwear_t_shirt_bool + { + \clip (-1,0.6) --++ (0.45,0)--++(-0.5,5) --cycle[__bearwearreverseclip] ; + \clip ( 1,0.6) --++ (-0.45,0)--++(0.5,5) --cycle[__bearwearreverseclip] ; + } + { + \clip (-1,0.6) --++ (0.45,0)--++(-0.5,1) --cycle[__bearwearreverseclip] ; + \clip ( 1,0.6) --++ (-0.45,0)--++(0.5,1) --cycle[__bearwearreverseclip] ; + } + \clip(-1,0.5) rectangle (1,1.2); + } + +\cs_new_protected:Npn \__bearwear_shirt_color: + { + \bool_if:NF \l__bearwear_muscle_shirt_bool + { + \exp_args:Nno \__bearwear_leftarm_path:nn {fill}{\l__bearwear_leftarm_color_tl} + \exp_args:Nno \__bearwear_rightarm_path:nn {fill}{\l__bearwear_rightarm_color_tl} + } + \exp_args:Nno \__bearwear_body_path:nn {fill}{\l__bearwear_body_color_tl} + } + +\cs_new_protected:Npn \__bearwear_shirt_pattern: + { + \bool_if:NF \l__bearwear_muscle_shirt_bool + { + \exp_args:Nno \__bearwear_leftarm_path:nn {}{\l__bearwear_leftarm_pattern_tl} + \exp_args:Nno \__bearwear_rightarm_path:nn {}{\l__bearwear_rightarm_pattern_tl} + } + \exp_args:Nno \__bearwear_body_path:nn {}{\l__bearwear_body_pattern_tl} + } + +\cs_new_protected:Npn \__bearwear_shirt_deco: + { + \bool_if:NF \l__bearwear_muscle_shirt_bool + { + \exp_args:Nno \__bearwear_leftarm_path:nn {}{\l__bearwear_leftarm_deco_tl} + \exp_args:Nno \__bearwear_rightarm_path:nn {}{\l__bearwear_rightarm_deco_tl} + } + \exp_args:Nno \__bearwear_body_path:nn {}{\l__bearwear_body_deco_tl} + } + +\bool_new:N \l__bearwear_t_shirt_bool +\bool_new:N \l__bearwear_muscle_shirt_bool +\bool_new:N \l__bearwear_round_neckline_bool + +\tl_new:N \l__bearwear_leftarm_color_tl +\tl_new:N \l__bearwear_rightarm_color_tl +\tl_new:N \l__bearwear_body_color_tl + +\tl_new:N \l__bearwear_leftarm_pattern_tl +\tl_new:N \l__bearwear_rightarm_pattern_tl +\tl_new:N \l__bearwear_body_pattern_tl +\tl_new:N \l__bearwear_leftarm_deco_tl +\tl_new:N \l__bearwear_rightarm_deco_tl +\tl_new:N \l__bearwear_body_deco_tl + +\keys_define:nn {__bearwear} + { + ,leftarm .tl_set:N = \l__bearwear_leftarm_color_tl + ,leftarm .initial:n = {__bearweareuropablue} + ,leftarm~pattern .tl_set:N = \l__bearwear_leftarm_pattern_tl + ,leftarm~deco .code:n = + {\tl_set:Nn \l__bearwear_leftarm_deco_tl {path~picture = {#1}}} + ,rightarm .tl_set:N = \l__bearwear_rightarm_color_tl + ,rightarm .initial:n = {__bearweareuropablue} + ,rightarm~pattern .tl_set:N = \l__bearwear_rightarm_pattern_tl + ,rightarm~deco .code:n = + {\tl_set:Nn \l__bearwear_rightarm_deco_tl {path~picture = {#1}}} + ,body .tl_set:N = \l__bearwear_body_color_tl + ,body .initial:n = {__bearweareuropablue} + ,body~pattern .tl_set:N = \l__bearwear_body_pattern_tl + ,arms .meta:n = {leftarm={#1},rightarm={#1}} + ,arms~pattern .meta:n = {leftarm~pattern={#1},rightarm~pattern={#1}} + ,arms~deco .meta:n = {leftarm~deco={#1},rightarm~deco={#1}} + ,shirt .meta:n = {body={#1},leftarm={#1},rightarm={#1}} + ,shirt~pattern .meta:n = + {body~pattern={#1},leftarm~pattern={#1},rightarm~pattern={#1}} + ,shirt~deco .meta:n = + {body~deco={#1},leftarm~deco={#1},rightarm~deco={#1}} + ,long~sleeves .bool_set_inverse:N = \l__bearwear_t_shirt_bool + ,t-shirt .bool_set:N = \l__bearwear_t_shirt_bool + ,muscle~shirt .bool_set:N = \l__bearwear_muscle_shirt_bool + ,body~deco .code:n = + {\tl_set:Nn \l__bearwear_body_deco_tl {path~picture = {#1}}} + ,round~neckline .bool_set_inverse:N = \l__bearwear_v_neckline_bool + ,v-neckline .bool_set:N = \l__bearwear_v_neckline_bool + } + +\NewDocumentCommand\bearwearsetup { m } + { + \keys_set:nn { __bearwear } {#1} + } +\NewDocumentCommand\bearwear { O {} } + { + \begin{scope}[even~odd~rule] + % handle keys + \keys_set:nn { __bearwear } {#1} + \__bearwear_init_path: + \__bearwear_set_coordinates: + \__bearwear_clipping_path: + \__bearwear_shirt_color: + \__bearwear_shirt_pattern: + \__bearwear_shirt_deco: + \end{scope} + } + +\NewDocumentCommand\bearwearlogo {} {{ + \normalfont\fontencoding{T1}\fontfamily{AlegreyaSans-LF}\selectfont + BearWear + \raisebox{0.8ex}[0pt][0pt]{ + %\textcircled{ + \begin{tikzpicture}[baseline={(0,0.03)},scale=\fp_eval:n{\f@size/100}] + \bear; + \bearwear[body~deco={\node[text=white] at (beartummy) + {\fontsize{\fp_eval:n{\f@size/20}pt}{\fp_eval:n{\f@size/20}pt} + \sffamily + BearWear};}] + \end{tikzpicture}}}}%} +%% +%% +%% End of file `bearwear.sty'. |