summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2023-04-05 20:00:42 +0000
committerKarl Berry <karl@freefriends.org>2023-04-05 20:00:42 +0000
commit4e2ef99b906502fbcb098bc6c1f487657ee43b58 (patch)
treebe2fa51fc62ba0f582d0f655a5513e96751fc656
parenta85169c1a5c033b4bd940bb89ba260bebc13deb7 (diff)
tikzducks (5apr23)
git-svn-id: svn://tug.org/texlive/trunk@66773 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/generic/tikzducks/tikzducks-doc.pdfbin442576 -> 471679 bytes
-rw-r--r--Master/texmf-dist/doc/generic/tikzducks/tikzducks-doc.tex63
-rw-r--r--Master/texmf-dist/tex/generic/tikzducks/t-tikzducks.mkiv50
-rw-r--r--Master/texmf-dist/tex/generic/tikzducks/tikzducks-generic.tex62
-rw-r--r--Master/texmf-dist/tex/generic/tikzducks/tikzducks-plain.tex61
-rw-r--r--Master/texmf-dist/tex/generic/tikzducks/tikzducks.sty28
-rwxr-xr-xMaster/tlpkg/libexec/ctan2tds2
7 files changed, 219 insertions, 47 deletions
diff --git a/Master/texmf-dist/doc/generic/tikzducks/tikzducks-doc.pdf b/Master/texmf-dist/doc/generic/tikzducks/tikzducks-doc.pdf
index b0c3b26712b..c294bfd56ff 100644
--- a/Master/texmf-dist/doc/generic/tikzducks/tikzducks-doc.pdf
+++ b/Master/texmf-dist/doc/generic/tikzducks/tikzducks-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/tikzducks/tikzducks-doc.tex b/Master/texmf-dist/doc/generic/tikzducks/tikzducks-doc.tex
index 283e60e7ab6..0caac48b157 100644
--- a/Master/texmf-dist/doc/generic/tikzducks/tikzducks-doc.tex
+++ b/Master/texmf-dist/doc/generic/tikzducks/tikzducks-doc.tex
@@ -54,7 +54,7 @@
commentstyle={\color{green!50!black}\slshape},
columns=fullflexible,
emphstyle=\color{orange!70!black},
- emph=[1]{water,body,head,eye,pupil,bill,grumpy,tshirt,jacket,tie,cape,shorthair,longhair,crazyhair,recedinghair,eyebrow,beard,glasses,sunglasses,alien,hat,cap,santa,chef,cheese,graduate,tassel,beret,crown,unicorn,icecream,flavoura,flavourb,flavourc,book,bookcolour,signpost,signcolour,signback,magichat,magicstars,magicwand,witch,cricket,rollingpin,lightsaber,torch,cake,pizza,hockey,baguette,wing,football,mask,bunny,inear,necklace,milkshake,wine,peakedcap,prison,tophat,speech,bubblecolour,think,buttons,sheep,squareglasses,tail,basket,easter,egga,eggb,eggc,mohican,mullet,horsetail,darthvader,crozier,queencrown,kingcrown,wing,laughing,parrot,stethoscope,niuqelrah,harlequin,neckerchief,woggle,snowduck,invisible,strawhat,ribbon,vampire,parting,crystalball,helmet,shovel,pickaxe,bowtie,lapel,umbrella,umbrellaclosed,handbag,cocktail,viking,devil,aodai,conicalhat,overleaf,sailor},
+ emph=[1]{water,body,head,eye,pupil,bill,grumpy,tshirt,jacket,tie,cape,shorthair,longhair,crazyhair,recedinghair,eyebrow,beard,glasses,sunglasses,alien,hat,cap,santa,chef,cheese,graduate,tassel,beret,crown,unicorn,icecream,flavoura,flavourb,flavourc,book,bookcolour,signpost,signcolour,signback,magichat,magicstars,magicwand,witch,cricket,rollingpin,lightsaber,torch,cake,pizza,hockey,baguette,wing,football,mask,bunny,inear,necklace,milkshake,wine,peakedcap,prison,tophat,speech,bubblecolour,think,buttons,sheep,squareglasses,tail,basket,easter,egga,eggb,eggc,mohican,mullet,horsetail,darthvader,crozier,queencrown,kingcrown,wing,laughing,parrot,stethoscope,niuqelrah,harlequin,neckerchief,woggle,snowduck,invisible,strawhat,ribbon,vampire,parting,crystalball,helmet,shovel,pickaxe,bowtie,lapel,umbrella,umbrellaclosed,handbag,cocktail,viking,devil,aodai,conicalhat,overleaf,sailor,bobblehat,scarf,strawbroom, strawbroomstick, strawbroomribbon, broom, broomstick},
texcsstyle=*\color{duckblue}\bfseries,
keywordstyle=\color{red!60!black}\bfseries,
morekeywords={tikzpicture,picture,scope,patterns,calc,pgfinterruptboundingbox},
@@ -117,7 +117,7 @@
\url{https://github.com/samcarter/tikzducks}\\
\url{https://www.ctan.org/pkg/tikzducks}
}{samcarter}}
-\date{Version v1.5 \textendash{} 2020/06/30}
+\date{Version v1.6 \textendash{} 2023/04/05}
\begin{document}
\maketitle
@@ -127,10 +127,10 @@
\label{intro}
Rubber ducks can be made of latex, but can they also be made with \LaTeX? Yes! The \tikzducks package is a \LaTeX{} package for rubber ducks to be used in \TikZ pictures.
-This project is a continuation of \href{tex.stackexchange.com/a/347458/36296}{How can we draw a duck?}.
+This project is a continuation of \href{https://tex.stackexchange.com/a/347458/36296}{How can we draw a duck?}.
This package is work in progress (and will probably never be really finished as there is an infinite amount of things which could be added), therefore I would be happy to hear your feedback and ideas how to improve the package.
-The head version of the source code can be found on \url{github.com/samcarter/tikzducks}, including a bug tracker -- please make constructive use of it! A more stable package version can be found on \CTAN (\url{www.ctan.org/pkg/tikzducks}) and is included in both \miktex and \texlive as \tikzducks. If you seek any other assistance (not bug reports/feature requests), I suggest asking a question at \url{topanswers.xyz/tex}.
+The head version of the source code can be found on \url{https://github.com/samcarter/tikzducks}, including a bug tracker -- please make constructive use of it! A more stable package version can be found on \CTAN (\url{https://www.ctan.org/pkg/tikzducks}) and is included in both \miktex and \texlive as \tikzducks. If you seek any other assistance (not bug reports/feature requests), I suggest asking a question at \url{https://topanswers.xyz/tex}.
\subsection{Acknowledgements}
@@ -163,7 +163,7 @@ Yudai Nakata helped with problems of \lstinline|\pdfrandomseed|,
and last but not least my thanks go to Martin Schr\"oder for his feedback to the code review.
\pagebreak
-The ducks mostly consist of basic geometric shapes drawn in \TikZ. Some of the more complex shapes (e.g.\ the different hair styles) are first drawn in \texttt{inkscape} (\url{https://inkscape.org}) and then exported to \TikZ paths using the \texttt{SVG to TikZ/PGF} extension (\url{https://github.com/kjellmf/svg2tikz}).
+The ducks mostly consist of basic geometric shapes drawn in \TikZ. Some of the more complex shapes (e.g.\ the different hair styles) are first drawn in \texttt{inkscape} (\url{https://inkscape.org}) and then exported to \TikZ paths using the \texttt{svg2tikz} extension (\url{https://github.com/xyz2tex/svg2tikz}).
\subsection{Dependencies}
@@ -269,7 +269,7 @@ For the \TeX{} purists, there is also a picture mode variant:
\end{tcblisting}
}
-And thanks to @JairoAdelRio there is even a \ConTeXt{} User Module available (caveat: some colours might look different):
+And thanks to @JairoAdelRio there is even a \ConTeXt{} User Module available. Some of the colours might look different and not being a \ConTeXt{} user myself, I can't guarantee maintenance of this module.
\begin{tcolorbox}[title={\ConTeXt{} User Module}]
\begin{lstlisting}[morekeywords={usemodule,usecolors,starttext,stoptext,starttikzpicture,stoptikzpicture}]
@@ -278,7 +278,7 @@ And thanks to @JairoAdelRio there is even a \ConTeXt{} User Module available (ca
\starttext
\starttikzpicture
-\duck[tophat,bowtie]
+ \duck[tophat,bowtie]
\stoptikzpicture
\stoptext
@@ -290,6 +290,25 @@ And thanks to @JairoAdelRio there is even a \ConTeXt{} User Module available (ca
\end{tikzpicture}
\end{tcolorbox}
+For those who prefer to work with pdf\TeX:
+
+\begin{tcolorbox}[title={pdfTeX}]
+\begin{lstlisting}[morekeywords={endtikzpicture,bye,input}]
+\input tikzducks-plain.tex
+
+\tikzpicture
+ \duck[bobblehat,cheese]
+\endtikzpicture
+
+\bye
+\end{lstlisting}
+
+\tcblower
+\begin{tikzpicture}
+\duck[bobblehat,cheese]
+\end{tikzpicture}
+\end{tcolorbox}
+
\subsection{Body parts}
The various parts of the duck can also be coloured independently, i.e.\ \lstinline|body|, \lstinline|head| or \lstinline|bill|:
@@ -547,6 +566,12 @@ There is a multitude of things a duck might need. The following examples all als
\end{tikzpicture}
\end{tcblisting}
+\begin{tcblisting}{title={Bobble hat duck}}
+\begin{tikzpicture}
+ \duck[bobblehat=red!70!red]
+\end{tikzpicture}
+\end{tcblisting}
+
\begin{tcblisting}{title={Crown duck}}
\begin{tikzpicture}
\duck[body=black!75!white,
@@ -862,6 +887,13 @@ There is a multitude of things a duck might need. The following examples all als
\end{tikzpicture}
\end{tcblisting}
+\begin{tcblisting}{title={Winter duck}}
+\begin{tikzpicture}
+ \duck[bobblehat=red!70!black,
+ scarf=red!70!black]
+\end{tikzpicture}
+\end{tcblisting}
+
\addtocounter{footnote}{1}
\begin{tcblisting}{title={Snow Duck$^{\thefootnote}$}}
\begin{tikzpicture}
@@ -896,6 +928,22 @@ There is a multitude of things a duck might need. The following examples all als
\end{tikzpicture}
\end{tcblisting}
+\begin{tcblisting}{title={Sweeping Duck}}
+\begin{tikzpicture}
+ \duck[
+ strawbroom=brown!50!white,
+ strawbroomstick=brown,
+ strawbroomribbon=red!50!black
+ ]
+\end{tikzpicture}
+\begin{tikzpicture}
+ \duck[
+ broom=brown,
+ broomstick=gray!50!black
+ ]
+\end{tikzpicture}
+\end{tcblisting}
+
\begin{tcblisting}{title={Umbrella Duck}}
\begin{tikzpicture}
\duck[umbrella=cyan]
@@ -926,6 +974,7 @@ With all these available accessories it might be hard to decide which one to cho
\begin{tcblisting}{title={Random duck}}
\begin{tikzpicture}
\randuck
+ \randuck[xshift=3cm,scale=0.7]
\end{tikzpicture}
\end{tcblisting}
diff --git a/Master/texmf-dist/tex/generic/tikzducks/t-tikzducks.mkiv b/Master/texmf-dist/tex/generic/tikzducks/t-tikzducks.mkiv
index d9b24b5b057..93b587b169e 100644
--- a/Master/texmf-dist/tex/generic/tikzducks/t-tikzducks.mkiv
+++ b/Master/texmf-dist/tex/generic/tikzducks/t-tikzducks.mkiv
@@ -14,43 +14,49 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Code for this ConTeXt User Module kindly provided by @JairoAdelRio https://github.com/samcarter/tikzducks/pull/25
-\writestatus{loading}{ConTeXt User Module / TikZDucks 2020/06/30 version v1.5 Draw rubber ducks in TikZ}
+\writestatus{loading}{ConTeXt User Module / TikZDucks 2023/04/05 version v1.6 Draw rubber ducks in TikZ}
+
\setupcolors[state=start]
\usemodule[tikz]
\enabledirectives[colors.pgf]
\usetikzlibrary[patterns] % for the wizard hat
\usetikzlibrary[calc]
\definecolor[duck@overleafcol][x=48AC3C]
-%\unprotect does not work here
+
\catcode`\@=11
-%So \scalebox and co. works in MkIV too
+
+% Defining commands not available in context %%%%%%%%%%%%%%%%%%%%%%%%%
\define[2]\scalebox{\scale[factor={\ctxlua{context(3*#1)}}]{#2}}
\let\tiny\tfxx
\let\pdfrandomseed\randomseed
-%Duck
+
+% Duck %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\duck{\dosingleempty\doduck}
\def\doduck[#1]{%
- \iffirstargument
- \startscope%
- \tikzset{/duck/.cd,#1}%
- \duck@draw%
- \stopscope%
- \else
- \startscope%
- \tikzset{/duck/.cd}%
- \duck@draw%
- \stopscope%
- \fi%
+ \iffirstargument
+ \startscope%
+ \tikzset{/duck/.cd,#1}%
+ \duck@draw%
+ \stopscope%
+ \else
+ \startscope%
+ \tikzset{/duck/.cd}%
+ \duck@draw%
+ \stopscope%
+ \fi%
}
-%Stripes
+
+% Stripes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\stripes{\dosingleempty\dostripes}
-\def\dostripes[#1]{
- \iffirstargument
- \tikzset{/stripes/.cd,#1}\stripes@draw
- \else
- \tikzset{/stripes/.cd}\stripes@draw
- \fi
+\def\dostripes[#1]{%
+ \iffirstargument
+ \tikzset{/stripes/.cd,#1}\stripes@draw
+ \else
+ \tikzset{/stripes/.cd}\stripes@draw
+ \fi
}
+
\input tikzducks-generic.tex
+
\catcode`\@=12
\endinput
diff --git a/Master/texmf-dist/tex/generic/tikzducks/tikzducks-generic.tex b/Master/texmf-dist/tex/generic/tikzducks/tikzducks-generic.tex
index 8c5a996f57e..019e65e2b73 100644
--- a/Master/texmf-dist/tex/generic/tikzducks/tikzducks-generic.tex
+++ b/Master/texmf-dist/tex/generic/tikzducks/tikzducks-generic.tex
@@ -41,6 +41,7 @@
\newif\ifduck@bowtie
\newif\ifduck@lapel
\newif\ifduck@aodai
+\newif\ifduck@scarf
% Headgear %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newif\ifduck@alien
\newif\ifduck@hat
@@ -66,6 +67,7 @@
\newif\ifduck@devil
\newif\ifduck@conicalhat
\newif\ifduck@sailor
+\newif\ifduck@bobblehat
% Accessories %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newif\ifduck@glasses
\newif\ifduck@sunglasses
@@ -106,6 +108,8 @@
\newif\ifduck@cheese
\newif\ifduck@shovel
\newif\ifduck@pickaxe
+\newif\ifduck@strawbroom
+\newif\ifduck@broom
\newif\ifduck@umbrella
\newif\ifduck@umbrellaclosed
\newif\ifduck@handbag
@@ -183,6 +187,9 @@
\def\duck@aodai{#1},
ao dai/.forward to = /duck/aodai,
aodai/.default = blue!50!black,
+ scarf/.code = \duck@scarftrue
+ \def\duck@scarf{#1},
+ scarf/.default = red!70!black,
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% hair styles
@@ -318,6 +325,10 @@
sailor/.code = \duck@sailortrue
\def\duck@sailor{#1},
sailor/.default = white!80!gray,
+ bobblehat/.code = \duck@bobblehattrue
+ \def\duck@bobblehat{#1},
+ bobble hat/.forward to = /duck/bobblehat,
+ bobblehat/.default = red!70!black,
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Accessories
@@ -485,7 +496,19 @@
shovel/.default = gray,
pickaxe/.code = \duck@pickaxetrue
\def\duck@pickaxe{#1},
- pickaxe/.default = gray,
+ pickaxe/.default = gray,
+ strawbroom/.code = \duck@strawbroomtrue
+ \def\duck@strawbroom{#1},
+ strawbroom/.default = brown!50!white,
+ strawbroomstick/.code = \def\duck@strawbroomstick{#1},
+ strawbroomstick = brown,
+ strawbroomribbon/.code = \def\duck@strawbroomribbon{#1},
+ strawbroomribbon = red!50!black,
+ broom/.code = \duck@broomtrue
+ \def\duck@broom{#1},
+ broom/.default = brown,
+ broomstick/.code = \def\duck@broomstick{#1},
+ broomstick = gray!50!black,
umbrella/.code = \duck@umbrellatrue
\def\duck@umbrella{#1},
umbrella/.default = cyan,
@@ -704,6 +727,11 @@
\fill[\duck@woggle, rounded corners=\scalingfactor*1, rotate=-10] (0.33,1.05) rectangle (0.55,0.98);
\fi
%
+% Scarf %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck@scarf
+ \fill[\duck@scarf] (1.3780,1.2876) .. controls (1.1405,1.0484) and (0.7278,0.8710) .. (0.4865,1.1319) .. controls (0.4312,1.1245) and (0.3749,1.1088) .. (0.3443,1.0553) .. controls (0.4097,0.9269) and (0.4360,0.9534) .. (0.5231,0.8623) -- (0.4780,0.5230) -- (0.5666,0.5486) -- (0.6442,0.5011) -- (0.6584,0.6852) -- (0.6881,0.3913) -- (0.7782,0.4358) -- (0.8543,0.4133) -- (0.7988,0.8309) .. controls (1.0539,0.8635) and (1.1298,0.8415) .. (1.4849,1.1302) .. controls (1.4898,1.1985) and (1.4313,1.2543) .. (1.3780,1.2876) -- cycle;
+\fi
+%
% buttons (same argument as for the necklace)
\ifduck@buttons
\ifduck@jacket
@@ -983,6 +1011,15 @@
\fill[\duck@sailor] (1.0390,2.2743) .. controls (0.9475,2.2748) and (0.8569,2.2355) .. (0.7943,2.1690) .. controls (0.7147,2.1872) and (0.6335,2.2098) .. (0.5512,2.2029) .. controls (0.5524,2.1164) and (0.5536,2.0299) .. (0.5547,1.9434) .. controls (0.6637,1.9348) and (0.7679,1.8974) .. (0.8716,1.8653) .. controls (1.0321,1.8101) and (1.1932,1.7522) .. (1.3420,1.6697) .. controls (1.3671,1.6622) and (1.3911,1.6147) .. (1.4083,1.6518) .. controls (1.4623,1.7160) and (1.5163,1.7802) .. (1.5702,1.8444) .. controls (1.5154,1.8979) and (1.4433,1.9287) .. (1.3757,1.9624) .. controls (1.3666,2.1156) and (1.2403,2.2511) .. (1.0881,2.2707) .. controls (1.0718,2.2731) and (1.0554,2.2743) .. (1.0390,2.2743) -- cycle;
\fi
%
+% Bobble hat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck@bobblehat
+ \pgfinterruptboundingbox
+ \fill[\duck@bobblehat] (0.4639,1.7996) .. controls (0.5789,1.8438) and (1.3853,1.6023) .. (1.4046,1.4672) .. controls (1.4581,1.5025) and (1.5242,1.5917) .. (1.4544,1.6879) .. controls (1.5205,2.1879) and (0.7711,2.3780) .. (0.5562,1.9848) .. controls (0.4314,1.9650) and (0.4277,1.8625) .. (0.4639,1.7996) -- cycle;
+ \fill[\duck@bobblehat] (1.1,2.2) circle [radius=0.1];
+ \endpgfinterruptboundingbox
+ \path (0.43,1.3) rectangle (1.5,2.3);
+\fi
+%
% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname duckhookhat\endcsname
%
@@ -1297,6 +1334,23 @@
\fill[\duck@pickaxe] (-0.0085, 0.6858) .. controls (0.6422, 0.3523) and (0.7609, 0.3068) .. (1.4114, 0.1108) .. controls (0.6589, 0.1246) and (0.5556, 0.1887) .. (-0.0085, 0.6858) -- cycle;
\fi
%
+% strawbroom %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck@strawbroom
+ \fill[\duck@strawbroomstick] (0.9160,0.5478) -- (1.2792,1.6574) .. controls (1.3063,1.6961) and (1.3956,1.6649) .. (1.3688,1.6176) -- (0.9508,0.5179) .. controls (0.9360,0.5142) and (0.9202,0.5331) .. (0.9160,0.5478) -- cycle;
+ \fill[\duck@strawbroom] (0.5528,0.2890) .. controls (0.6449,0.3598) and (0.7460,0.5693) .. (0.8911,0.6871) .. controls (0.9481,0.7215) and (1.0395,0.6925) .. (1.0553,0.6224) .. controls (1.1219,0.4385) and (0.9965,0.2147) .. (1.0056,0.1000) .. controls (0.8926,0.0241) and (0.5950,0.2078) .. (0.5528,0.2890) -- cycle;
+ \draw[\duck@strawbroomribbon,line width=\scalingfactor*0.4pt] (0.7916,0.5876) .. controls (0.7916,0.5876) and (0.8210,0.5404) .. (0.8451,0.5304) .. controls (0.8708,0.5197) and (0.9021,0.5419) .. (0.9284,0.5329) .. controls (0.9544,0.5240) and (0.9663,0.4903) .. (0.9919,0.4806) .. controls (1.0148,0.4720) and (1.0653,0.4781) .. (1.0653,0.4781);
+ \draw[\duck@strawbroomribbon,line width=\scalingfactor*0.4pt] (0.7565,0.5493) .. controls (0.7565,0.5493) and (0.7897,0.4961) .. (0.8169,0.4848) .. controls (0.8458,0.4727) and (0.8812,0.4978) .. (0.9109,0.4876) .. controls (0.9401,0.4776) and (0.9535,0.4396) .. (0.9824,0.4287) .. controls (1.0083,0.4189) and (1.0652,0.4259) .. (1.0652,0.4259);
+\fi
+%
+% broom %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck@broom
+ \scope[rotate=-10]
+ \draw[\duck@broomstick,line width=\scalingfactor*1.8pt] (0.9, 1.8) -- ++(0,-1.4);
+ \draw[\duck@broomstick,line width=\scalingfactor*1.8pt] (0.6, 0.42) -- ++(0.6,0);
+ \fill[\duck@broom] (0.6, 0.40) -- ++(-0.05,-0.1) -- ++(0.7,0) -- ++(-0.05, 0.1) -- cycle;
+ \endscope
+\fi
+%
% umbrella %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifduck@umbrella
\path (0.2,0.4) rectangle (2.22,2.7);
@@ -1361,10 +1415,10 @@
\edef\randomaccessories{\accessories}%
}
-\def\randuck{%
+\newcommand*{\randuck}[1][]{%
\shuffleducks%
- \duck[\randomhead, \randomaccessories]%
-}
+ \duck[\randomhead, \randomaccessories, #1]%
+}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
diff --git a/Master/texmf-dist/tex/generic/tikzducks/tikzducks-plain.tex b/Master/texmf-dist/tex/generic/tikzducks/tikzducks-plain.tex
new file mode 100644
index 00000000000..9b01fb4d626
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/tikzducks/tikzducks-plain.tex
@@ -0,0 +1,61 @@
+% !TeX root = ./testing/plain_duck.tex
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% The tikzducks package
+% A package to bring rubber ducks into tikz
+% Maintained by samcarter
+%
+% Project repository and bug tracker:
+% https://github.com/samcarter/tikzducks
+%
+% Released under the LaTeX Project Public License v1.3c or later
+% See http://www.latex-project.org/lppl.txt
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\input miniltx
+\input graphicx.sty
+\input tikz.tex
+\usetikzlibrary{calc}%
+\usetikzlibrary{patterns}%
+
+\catcode`\@=11
+
+\let\pdfrandomseed\randomseed
+\font\tiny=cmr5
+
+% Duck %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\def\duck{\futurelet\next\doduck}
+\def\doduck{%
+ \ifx[\next %]
+ \expandafter\doduckopt
+ \else
+ \scope%%
+ \tikzset{/duck/.cd}%
+ \duck@draw%
+ \endscope%%
+ \fi
+}
+\def\doduckopt[#1]{%
+ \scope%%
+ \tikzset{/duck/.cd,#1}%
+ \duck@draw%
+ \endscope%%
+}
+
+% Stripes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\def\stripes{\futurelet\next\dostripes}
+\def\dostripes{
+ \ifx[\next %]
+ \expandafter\dostripesopt
+ \else
+ \tikzset{/stripes/.cd}\stripes@draw
+ \fi
+}
+\def\dostripesopt[#1]{%
+ \tikzset{/stripes/.cd,#1}\stripes@draw
+}
+
+\input tikzducks-generic.tex
+
+\catcode`\@=12 \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/tikzducks/tikzducks.sty b/Master/texmf-dist/tex/generic/tikzducks/tikzducks.sty
index b377387c2da..843658c93a7 100644
--- a/Master/texmf-dist/tex/generic/tikzducks/tikzducks.sty
+++ b/Master/texmf-dist/tex/generic/tikzducks/tikzducks.sty
@@ -12,7 +12,7 @@
% See http://www.latex-project.org/lppl.txt
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzducks}[2020/06/30 version v1.5 Draw rubber ducks in TikZ]
+\ProvidesPackage{tikzducks}[2023/04/05 version v1.6 Draw rubber ducks in TikZ]
\RequirePackage{expl3}
\RequirePackage{tikz}
@@ -30,21 +30,23 @@
\ExplSyntaxOn
\ifdefined\sys_rand_seed:
-\pgfmathsetseed {\sys_rand_seed:}
+ \pgfmathsetseed {\sys_rand_seed:}
\else
-\ifdefined\pdfrandomseed % pdflatex
-\else
-\ifdefined\randomseed
-\let\pdfrandomseed\randomseed % post TL19 xelatex and lualatex
-\else
-\let\pdfrandomseed\time % pre TL19 xelatex
-\fi
-\fi
-\pgfmathsetseed{\number\pdfrandomseed}
+ \ifdefined\pdfrandomseed % pdflatex
+ \else
+ \ifdefined\randomseed
+ \let\pdfrandomseed\randomseed % post TL19 xelatex and lualatex
+ \else
+ \let\pdfrandomseed\time % pre TL19 xelatex
+ \fi
+ \fi
+ \pgfmathsetseed{\number\pdfrandomseed}
\fi
\ExplSyntaxOff
-\newcommand*{\stripes}[1][]{\tikzset{%
- /stripes/.cd,#1}\stripes@draw%
+
+\newcommand*{\stripes}[1][]{%
+ \tikzset{/stripes/.cd,#1}%
+ \stripes@draw%
}
\input tikzducks-generic
diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds
index 6353d5bd93f..b6706ce1cd7 100755
--- a/Master/tlpkg/libexec/ctan2tds
+++ b/Master/tlpkg/libexec/ctan2tds
@@ -2426,7 +2426,7 @@ $standardtex
'tikz-qtree', '(pgf|tikz-)(subpic|q?tree(-compat)?)\.(tex|sty)',
'tikz-sfc', '\.code\.tex$',
'tikz-trackschematic', '\.code\.tex$|tic\.sty$', # not *documentation.sty
- 'tikzducks', '-generic.tex$|\.mkiv$|' . $standardtex,
+ 'tikzducks', '-(generic|plain).tex$|\.mkiv$|' . $standardtex,
'tikzposter', 'tikzposter[^-].*\.tex|' . $standardtex,
# tipa: we want to install all .sty except tipaman|boxchar|codelist.
# i can't explain why ^(?!...), the "zero-width negative look-ahead