diff options
author | Karl Berry <karl@freefriends.org> | 2020-04-22 20:50:07 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-04-22 20:50:07 +0000 |
commit | 8cefef32705bb30289f033d7dc655ce9b6ffc6d7 (patch) | |
tree | 305a5010d8202f553d3d8ad80e7b25ac15b68347 /Master/texmf-dist/tex/latex/tikzlings/tikzlings-bears.sty | |
parent | 631561b7942e1ab1547a224f308d55c5b00c6043 (diff) |
tikzlings (22apr20)
git-svn-id: svn://tug.org/texlive/trunk@54838 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/tikzlings/tikzlings-bears.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/tikzlings/tikzlings-bears.sty | 82 |
1 files changed, 56 insertions, 26 deletions
diff --git a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-bears.sty b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-bears.sty index c84c0a2b0a9..1af0927ebf1 100644 --- a/Master/texmf-dist/tex/latex/tikzlings/tikzlings-bears.sty +++ b/Master/texmf-dist/tex/latex/tikzlings/tikzlings-bears.sty @@ -1,8 +1,8 @@ % !TeX root = ./examples/bear.tex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % -% The tikzlings-bears package (part of the tikzlings collection) -% A package to bring little teddy bears into tikz +% This package is part of the TikZlings package +% A package to bring cute little animals and other beings into tikz % Maintained by samcarter % % Project repository and bug tracker: @@ -11,12 +11,8 @@ % Released under the LaTeX Project Public License v1.3c or later % See http://www.latex-project.org/lppl.txt % -% Version 0.2 -% April 7, 2019 -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ProvidesPackage{tikzlings-bears} - [2019/04/07 v0.2 Draw teddy bears in TikZ] +\ProvidesPackage{tikzlings-bears}[2020/04/22 version v0.3 Draw teddy bears in TikZ] \RequirePackage{tikz} \RequirePackage{tikzlings-addons} @@ -27,9 +23,13 @@ \bear@draw% \end{scope}% \thing[#1]% + % adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \csname bearhookforeground\endcsname + \csname tikzlinghookforeground\endcsname } \newif\ifbear@threeD +\newif\ifbear@back \tikzset{ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -52,6 +52,7 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 3D/.code = \bear@threeDtrue, + back/.code = \bear@backtrue, } \def\bear@draw{% @@ -69,7 +70,7 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \pgfgettransformentries{\tmpscaleA}{\tmpscaleB}{\tmpscaleC}{\tmpscaleD}{\tmp}{\tmp}% -\pgfmathsetmacro{\scalingfactor}{sqrt(abs(\tmpscaleA*\tmpscaleD-\tmpscaleB*\tmpscaleC))}% +\pgfmathsetmacro{\scalingfactor}{sqrt(abs(\tmpscaleA*\tmpscaleD-\tmpscaleB*\tmpscaleC))*sqrt(abs((\pgf@xx/1cm)*(\pgf@yy/1cm)-(\pgf@xy/1cm)*(\pgf@yx/1cm)))}% \pgfmathsetmacro{\xscalefactor}{\tmpscaleA} \pgfmathsetmacro{\yscalefactor}{\tmpscaleD} % @@ -91,38 +92,67 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % +% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\csname bearhookbackground\endcsname +\csname tikzlinghookbackground\endcsname +% % Arms %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\bear@part@draw[\bear@body!70!black,rotate around={-50:(0.525,0.9)}] (0.525,0.9) ellipse (0.35 and 0.15); -\bear@part@draw[\bear@body!70!black,rotate around={50:(-0.525,0.9)}] (-0.525,0.9) ellipse (0.35 and 0.15); +\bear@part@draw[\bear@body!70!black] (0.525,0.9) ellipse[x radius=0.35, y radius=0.15, rotate=-50]; +\bear@part@draw[\bear@body!70!black] (-0.525,0.9) ellipse[x radius=0.35, y radius=0.15, rotate=50]; +% +% Feet if back %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ifbear@back + \bear@part@draw[\bear@body!70!black] (0.425, 0.3) circle[radius=0.28]; + \bear@part@draw[\bear@body!70!black] (-0.425, 0.3) circle[radius=0.28]; +\fi % % Body %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\bear@part@draw[\bear@body!70!black] (0,0.75) ellipse (0.55 and 0.65); -\bear@part@draw[\bear@body!50!white] (0,0.7) ellipse (0.35 and 0.4); +\bear@part@draw[\bear@body!70!black] (0,0.75) ellipse[x radius=0.55, y radius=0.65]; +\ifbear@back\else + \bear@part@draw[\bear@body!50!white] (0,0.7) ellipse[x radius=0.35, y radius=0.4]; +\fi +% +% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\csname bearhookbelly\endcsname +\csname tikzlinghookbelly\endcsname % % Feet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\bear@part@draw[\bear@body!70!black] (0.425, 0.3) circle (0.28); -\bear@part@draw[\bear@body!70!black] (-0.425, 0.3) circle (0.28); -\bear@part@draw[\bear@body!50!white] (0.425, 0.3) circle (0.17); -\bear@part@draw[\bear@body!50!white] (-0.425, 0.3) circle (0.17); +\ifbear@back\else + \bear@part@draw[\bear@body!70!black] (0.425, 0.3) circle[radius=0.28]; + \bear@part@draw[\bear@body!70!black] (-0.425, 0.3) circle[radius=0.28]; + \bear@part@draw[\bear@body!50!white] (0.425, 0.3) circle[radius=0.17]; + \bear@part@draw[\bear@body!50!white] (-0.425, 0.3) circle[radius=0.17]; +\fi % % Ears %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\bear@part@draw[\bear@body!70!black] (0.375, 1.95) circle (0.15); -\bear@part@draw[\bear@body!70!black] (-0.375, 1.95) circle (0.15); -\bear@part@draw[\bear@body!50!white] (0.375, 1.95) circle (0.1); -\bear@part@draw[\bear@body!50!white] (-0.375, 1.95) circle (0.1); +\bear@part@draw[\bear@body!70!black] (0.375, 1.95) circle[radius=0.15]; +\bear@part@draw[\bear@body!70!black] (-0.375, 1.95) circle[radius=0.15]; +\ifbear@back\else + \bear@part@draw[\bear@body!50!white] (0.375, 1.95) circle[radius=0.1]; + \bear@part@draw[\bear@body!50!white] (-0.375, 1.95) circle[radius=0.1]; +\fi % % Head %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\bear@part@draw[\bear@body!70!black] (0, 1.55) circle (0.5); +\bear@part@draw[\bear@body!70!black] (0, 1.55) circle[radius=0.5]; +% +% Show details only from the front %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ifbear@back\else % % Muzzle %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\bear@part@draw[\bear@body!50!white] (0, 1.4) ellipse (0.28 and 0.2); -\bear@part@draw[\bear@body!70!white!80!red] (0, 1.5) ellipse (0.15 and 0.08); +\bear@part@draw[\bear@body!50!white] (0, 1.4) ellipse[x radius=0.28, y radius=0.2]; +\bear@part@draw[\bear@body!70!white!80!red] (0, 1.5) ellipse[x radius=0.15, y radius=0.08]; % % Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\bear@part@draw[\bear@body!30!black] (-0.155, 1.7) circle (0.05); -\bear@part@draw[\bear@body!30!black] (0.155, 1.7) circle (0.05); +\bear@part@draw[\bear@body!30!black] (-0.155, 1.7) circle[radius=0.05]; +\bear@part@draw[\bear@body!30!black] (0.155, 1.7) circle[radius=0.05]; % % Mouth %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \draw[\bear@body!30!black,line width=\scalingfactor*0.4pt] (0.145, 1.38) arc [start angle=-20, end angle=-160, radius=0.16]; % -}
\ No newline at end of file +\fi +% +% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\csname bearhookbody\endcsname +\csname tikzlinghookbody\endcsname +% +} |