texlive[73533] Master: tikz-triminos (20jan25)

commits+karl at tug.org commits+karl at tug.org
Mon Jan 20 22:27:43 CET 2025


Revision: 73533
          https://tug.org/svn/texlive?view=revision&revision=73533
Author:   karl
Date:     2025-01-20 22:27:43 +0100 (Mon, 20 Jan 2025)
Log Message:
-----------
tikz-triminos (20jan25)

Modified Paths:
--------------
    trunk/Master/tlpkg/bin/tlpkg-ctan-check
    trunk/Master/tlpkg/libexec/ctan2tds
    trunk/Master/tlpkg/tlpsrc/collection-games.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/tikz-triminos/
    trunk/Master/texmf-dist/doc/latex/tikz-triminos/README.md
    trunk/Master/texmf-dist/doc/latex/tikz-triminos/tikz-triminos-doc.pdf
    trunk/Master/texmf-dist/doc/latex/tikz-triminos/tikz-triminos-doc.tex
    trunk/Master/texmf-dist/tex/latex/tikz-triminos/
    trunk/Master/texmf-dist/tex/latex/tikz-triminos/tikz-triminos.sty
    trunk/Master/tlpkg/tlpsrc/tikz-triminos.tlpsrc

Added: trunk/Master/texmf-dist/doc/latex/tikz-triminos/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-triminos/README.md	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/tikz-triminos/README.md	2025-01-20 21:27:43 UTC (rev 73533)
@@ -0,0 +1,6 @@
+This package provides a macro to obtain triminos, made with TikZ.  
+-----------------------------------------------------------------  
+Author.........: Cédric Pierquet  
+email..........: cpierquet at outlook.fr  
+Licences.......: Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt  
+Inspiration....: https://schule.paul-matthies.de/Trimino.php (CC BY-NC-SA 4.0)
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/doc/latex/tikz-triminos/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/tikz-triminos/tikz-triminos-doc.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/tikz-triminos/tikz-triminos-doc.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-triminos/tikz-triminos-doc.pdf	2025-01-20 21:26:14 UTC (rev 73532)
+++ trunk/Master/texmf-dist/doc/latex/tikz-triminos/tikz-triminos-doc.pdf	2025-01-20 21:27:43 UTC (rev 73533)

Property changes on: trunk/Master/texmf-dist/doc/latex/tikz-triminos/tikz-triminos-doc.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/tikz-triminos/tikz-triminos-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-triminos/tikz-triminos-doc.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/tikz-triminos/tikz-triminos-doc.tex	2025-01-20 21:27:43 UTC (rev 73533)
@@ -0,0 +1,368 @@
+% !TeX TXS-program:compile = txs:///arara
+% arara: pdflatex: {shell: no, synctex: no, interaction: batchmode}
+% arara: pdflatex: {shell: no, synctex: no, interaction: batchmode}
+
+\documentclass[11pt,a4paper]{ltxdoc}
+\usepackage{amsmath}
+\usepackage{kpfonts}
+\usepackage{inconsolata}
+\usepackage[T1]{fontenc}
+\usepackage[scale=0.875]{cabin}
+\usepackage{tikz-triminos}
+\usepackage{fancyvrb}
+\usepackage{fancyhdr}
+\usepackage{tabularray}
+\fancyhf{}
+\renewcommand{\headrulewidth}{0pt}
+\lfoot{\sffamily\small [tikz-triminos]}
+\cfoot{\sffamily\small - \thepage{} -}
+\rfoot{\hyperlink{matoc}{\small\faArrowAltCircleUp[regular]}}
+\usepackage{hologo}
+\providecommand\tikzlogo{Ti\textit{k}Z}
+\providecommand\TeXLive{\TeX{}Live\xspace}
+\let\TikZ\tikzlogo
+
+\usepackage{hyperref}
+\urlstyle{same}
+\hypersetup{pdfborder=0 0 0}
+\usepackage[margin=2cm]{geometry}
+\setlength{\parindent}{0pt}
+\def\TPversion{0.1.0}
+\def\TPdate{20/01/2025}
+\usepackage{tcolorbox}
+\tcbuselibrary{breakable,skins,hooks,listingsutf8}
+
+\lstset{
+	language=[LaTeX]TeX,%
+	basicstyle=\ttfamily,%
+	keywordstyle={\color{blue}},%
+	classoffset=0,%
+	keywords={},%
+	alsoletter={-},%
+	keywordstyle={\color{blue}},%
+	classoffset=1,%
+	alsoletter={-},%
+	morekeywords={tkz-triminos},%
+	keywordstyle={\color{violet}},%
+	classoffset=2,%
+	alsoletter={-},%
+	morekeywords={\tkztriminos},%
+	keywordstyle={\color{green!50!black}},%
+	classoffset=3,%
+	morekeywords={},%
+	keywordstyle={\color{orange}}
+}
+
+\newtcblisting{DemoCode}[1]{%
+	enhanced,width=\linewidth,%
+	bicolor,size=title,%
+	colback=cyan!10!white,%
+	colbacklower=cyan!5!white,%
+	colframe=cyan!75!black,%
+	listing options={%
+		breaklines=true,%
+		breakatwhitespace=true,%
+		style=tcblatex,basicstyle=\small\ttfamily,%
+		tabsize=4,%
+		commentstyle={\itshape\color{gray}},
+		keywordstyle={\color{blue}},%
+		classoffset=0,%
+		keywords={\usepackage,\includegraphics,xstring,listofitems,\tikzset,\readlist,\showitems,\xintFor,\xintSeq},%
+		alsoletter={-},%
+		keywordstyle={\color{blue}},%
+		classoffset=1,%
+		alsoletter={-},%
+		morekeywords={tikz-triminos},%
+		keywordstyle={\color{violet}},%
+		classoffset=2,%
+		alsoletter={-},%
+		morekeywords={\tkztriminos},%
+		keywordstyle={\color{green!50!black}},%
+		classoffset=3,%
+		morekeywords={size,font,decocolor,decoration,showtxtlogo,showiconlogo,bgcolor,txtlogo,iconlogo,scaledeco,fontdeco},%
+		keywordstyle={\color{orange}}
+	},%
+	#1
+}
+
+\newtcbinputlisting\DemoCodeFile[1]{%
+	enhanced,width=\linewidth,%
+	bicolor,size=title,%
+	colback=lightgray!10!white,%
+	colbacklower=lightgray!5!white,%
+	colframe=lightgray!75!black,%
+	listing options={%
+		breaklines=true,%
+		breakatwhitespace=true,%
+		style=tcblatex,
+		basicstyle=\scriptsize\ttfamily,%
+		tabsize=4,%
+		commentstyle={\itshape\color{gray}},%
+		%lastline=148
+	},%
+	breakable,
+	listing only,%
+	listing file={#1}
+}
+
+\NewDocumentCommand\ShowCode{ m }{%
+	\lstinline{#1}%
+}
+
+\begin{document}
+
+\thispagestyle{empty}
+
+\begin{center}
+	\begin{minipage}{0.88\linewidth}
+		\begin{tcolorbox}[colframe=yellow,colback=yellow!15]
+			\begin{center}
+				\renewcommand{\arraystretch}{1.25}%
+				\begin{tabular}{c}
+					{\Huge \texttt{tikz-triminos}}\\
+					\\
+					{\LARGE Single or several TriMinos,} \\
+					{\LARGE made with Ti\textit{k}Z\ldots} \\
+					\\
+					{\small \texttt{Version \TPversion{} -- \TPdate}}
+				\end{tabular}
+			\end{center}
+		\end{tcolorbox}
+	\end{minipage}
+\end{center}
+
+\begin{center}
+	\begin{tabular}{c}
+		\texttt{Cédric Pierquet}\\
+		{\ttfamily c pierquet -- at -- outlook . fr}\\
+		\texttt{\url{https://forge.apps.education.fr/pierquetcedric/packages-latex}} \\
+	\end{tabular}
+\end{center}
+
+\hrule
+
+\vfill
+
+\begin{tcblisting}{colframe=lightgray,colback=lightgray!5,listing only}
+%single TriMino
+\tkztriminos{One § Two § \faHatWizard}~~\tkztriminos{\faHatWizard § Three § Two}
+\end{tcblisting}
+
+\begin{tcolorbox}[colframe=lightgray,colback=lightgray!5]
+\hfill\tkztriminos<scale=0.85,transform shape>{One § Two § \faHatWizard}~~\tkztriminos<scale=0.85,transform shape>{\faHatWizard § Three § Two}\hfill~
+\end{tcolorbox}
+
+
+\begin{tcblisting}{colframe=lightgray,colback=lightgray!5,listing only}
+%multiple TriMino (9 or 12)
+\tkztriminos[keys]<tikz options>{list of values}
+\end{tcblisting}
+
+\begin{tcolorbox}[colframe=lightgray,colback=lightgray!5]
+\hfill\tkztriminos%
+[size=5cm,showiconlogo,bgcolor=teal!15,font=\large,iconlogo={\scalebox{3}[3]{\textcolor{orange}{\faBahai}}},decocolor=orange]%
+<scale=0.5,rotate=90,transform shape>%
+{%
+	$1+1$ § $2$ §
+	$2+2$ § $4$ §
+	$3+3$ § ${6}$ §
+	{$x_{1}=\frac{-3-\sqrt{41}}{6}$ ; $x_{2}=\frac{-3+\sqrt{41}}{6}$} § $9x^{2}+9x-8$ §
+	$5+5$ § $10$ §
+	${6}+6$ § $12$ §
+	$7+7$ § $14$ §
+	$8+8$ § $16$ §
+	${9}+{9}$ § $18$ §
+	$10+10$ § $20$ §
+	$11+11$ § $22$ §
+	$12+12$ § $24$ §
+	$13+13$ § $26$ §
+	$14+14$ § $28$ §
+	$15+15$ § $30$ §
+	$16+16$ § $32$ §
+	$17+17$ § $34$ §
+	$18+18$ § $36$
+}\hfill~
+\end{tcolorbox}
+
+\vfill~
+
+\hrule
+
+\vspace*{2.5mm}
+
+\textit{Inspirations, with \texttt{CC\,BY-NC-SA\,4.0} license, come from  \url{https://schule.paul-matthies.de/Trimino.php}}.
+
+\vspace*{2.5mm}
+
+\hrule
+
+\vspace*{2.5mm}
+
+{\tiny\itshape Yes, it's -- again -- a package "clearly too limited which simply aligns, linearly and without any real programmation, the high-level macros of the packages \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|tikz|, \texttt{listofitems}, \texttt{xstring}, \texttt{settobox} and \texttt{simplekv}". But if you don't want to use it, it's easy\ldots don't load it ! If you want to take ownership of the package, with better programming, it's easy too\ldots just ask !}
+
+\vspace*{2.5mm}
+
+\hrule
+
+\pagebreak
+
+\phantomsection
+
+\hypertarget{matoc}{}
+
+\tableofcontents
+
+\vspace*{5mm}
+
+%\hrule
+
+\pagebreak
+
+\section{Loading, useful packages, purposes and acknowledgments}
+
+\subsection{Loading and useful packages}
+
+In order to load \lstinline[language={[latex]TeX},basicstyle=\ttfamily]{tikz-triminos}, simply use:
+
+\begin{DemoCode}{listing only}
+\usepackage{tikz-triminos}
+\end{DemoCode}
+
+%Loaded packages are \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|tikz| (with librairies \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|calc| and \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|decorations text|), \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|ifthen|, \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|simplekv|, \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|listofitems|, \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|fontawesome5| and \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|settobox|.
+
+\subsection{Purposes and acknowledgments}
+
+The purposes of this small package is to provide simple tool to create \textsf{TriMinos} (1 or 9 or 12) with automatic positionning of texts.
+
+\smallskip
+
+\textit{Inspiration come from \url{https://schule.paul-matthies.de/Trimino.php} (CC BY-SA 4.0)}.
+
+\section{Usage}
+
+\subsection{Main macro}
+
+In order to create (single or multiple) \textsf{TriMinos}, simple use:
+
+\begin{DemoCode}{listing only}
+\tkztriminos[keys]<tikz options>{list of values}
+\end{DemoCode}
+
+For \texttt{list of values} argument (seperated with \texttt{§}):
+
+\begin{itemize}
+	\item 3 values can be given (so 1 \textsf{TriMino}) ;
+	\item 19 values can be given (so 9 \textsf{TriMinos}, with 5 \textit{jokers}) ;
+	\item 25 values can be given (so 12 \textsf{TriMinos}, with 10 \textit{jokers}) ;
+	\item 36 values can be given (so 12 full \textsf{TriMinos}).
+\end{itemize}
+
+Moreover:
+
+\begin{itemize}
+	\item if the text is too long for the \textsf{TriMino}, the code adjusts its width ;
+	\item icons of graphicx elements can be used ;
+	\item with \textit{jokers}, the final value is the \textit{joker}.
+\end{itemize}
+
+\begin{DemoCode}{}
+%default output
+\tkztriminos{value 1 § value 2 § a long long value 3}
+\end{DemoCode}
+
+\pagebreak
+
+\subsection{TikZ styles}
+
+Few \TikZ\ styles are available, and they can be modified.
+
+\begin{DemoCode}{listing only}
+%sides of TriMino
+\tikzset{tkztriminoside/.style={thick}}
+
+%labels (with \tkztriminofont given by key)
+\tikzset{tkztriminolabel/.style={font=\tkztriminofont,inner sep=1pt}}
+
+%decoration (with \tkztriminocolor given by key)
+\tikzset{tkztriminosidedeco/.style={semithick,draw=black,fill=\tkztriminocolor}}
+\end{DemoCode}
+
+\subsection{Keys}
+
+Available keys, to be given within \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|[...]| are:
+
+\begin{itemize}
+	\item \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|size| := size of \textsf{TriMino}\hfill(default \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|5cm|)
+	\item \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|font| := font for texts\hfill(default \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|\Large|)
+	\item \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|decoration| :=boolean for showing the \textit{inner} decoration\hfill(default \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|true|)
+	\item \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|decocolor| := color of the optional \textit{inner} decoration\hfill(default \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|lightgray|)
+	\item \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|showtxtlogo| := boolean for showing optional circular logo text\hfill(default \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|false|)
+	\item \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|txtlogo| := text for optional circular logo\hfill(default \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|TriMino~TriMino~TriMino~|)
+	\item \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|fontdeco| := font for optional circular logo\hfill(default \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|\tiny\sffamily|)
+	\item \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|showiconlogo| := boolean for showing optional graphic logo\hfill(default \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|false|)
+	\item \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|iconlogo| := graphic element for center logo
+	\item \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|bgcolor| := optional background color of \textsf{TriMino}
+	\item \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|scaledeco| :=scale for \textit{inner} decoration\hfill(default \lstinline[language={[latex]TeX},basicstyle=\ttfamily]|0.25|)
+\end{itemize}
+
+\pagebreak
+
+\section{Examples}
+
+\subsection{One TriMino}
+
+\begin{DemoCode}{}
+\tkztriminos%
+	[showiconlogo,size=4cm,bgcolor=yellow!15,decocolor=teal!75,font=\large]
+	{$(x+1)(x+2)$ § $x^2+2x+1$ § $(x-7)^2-4$}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+\tkztriminos[showtxtlogo]{%
+	\faHatWizard\,--\,\faHatWizard\,--\,\faHatWizard
+	§
+	\faPython\,--\,\faPython\,--\,\faPython
+	§
+	\faTimes\,--\,\faTimes\,--\,\faTimes
+}
+\end{DemoCode}
+
+\subsection{Several TriMinos}
+
+\begin{DemoCode}{}
+\tkztriminos%
+	[size=5cm,showiconlogo,bgcolor=orange!15,font=\large,decocolor=purple,%
+	iconlogo={\scalebox{2.15}[2.15]{\textcolor{blue!75!black}{\faPuzzlePiece}}}]%
+	<scale=0.75,transform shape>%
+	{%
+	$1+1$ § $2$ §
+	$2+2$ § $4$ §
+	$3+3$ § $6$ §
+	{$x_{1}=\frac{-3-\sqrt{41}}{6}$ ; $x_{2}=\frac{-3+\sqrt{41}}{6}$} § $9x^{2}+9x-8$ §
+	$5+5$ § $10$ §
+	$6+6$ § $12$ §
+	$7+7$ § $14$ §
+	$8+8$ § $16$ §
+	$9+9$ § $18$ §
+	$10+10$ § $20$ §
+	$11+11$ § $22$ §
+	$12+12$ § $24$ §
+	Joker
+}
+\end{DemoCode}
+
+\pagebreak
+
+\begin{DemoCode}{}
+\tkztriminos%
+	[showiconlogo,iconlogo={\includegraphics[height=0.75cm]{pfl-checked}}]%
+	{1a§1b§2a§2b§3a§3b§4a§4b§5a§5b§6a§6b§7a§7b§8a§8b§9a§9b§joker}
+\end{DemoCode}
+
+\pagebreak
+
+\section{History}
+
+\texttt{0.1.0: Initial version}
+
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/tikz-triminos/tikz-triminos-doc.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/tikz-triminos/tikz-triminos.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-triminos/tikz-triminos.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/tikz-triminos/tikz-triminos.sty	2025-01-20 21:27:43 UTC (rev 73533)
@@ -0,0 +1,179 @@
+% Author          : C. Pierquet
+% licences        : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
+% Inspiration.....: https://schule.paul-matthies.de/Trimino.php (CC BY-NC-SA 4.0)
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{tikz-triminos}[2025/01/20 0.1.0 triminos, made with TikZ]
+
+%------History
+% 0.1.0	Initial version
+
+%------Packages and library
+\RequirePackage{tikz}
+\usetikzlibrary{calc,decorations.text}
+\RequirePackage{xstring}
+\RequirePackage{fontawesome5}
+\RequirePackage{ifthen}
+\RequirePackage{settobox}
+\RequirePackage{simplekv}
+\RequirePackage{listofitems}
+
+%------tikz styles
+\tikzset{tkztriminoside/.style={thick}}
+\tikzset{tkztriminolabel/.style={font=\tkztriminofont,inner sep=1pt}}
+\tikzset{tkztriminosidedeco/.style={semithick,draw=black,fill=\tkztriminocolor}}
+
+%------lengths
+\newlength{\tkztriminotmpnode}
+\newlength{\tkztriminosize}
+\newsavebox{\tkztriminobox}
+
+%------keys
+\defKV[tkztrimino]{%
+	size=\setlength\tkztriminosize{#1},
+	font=\def\tkztriminofont{#1},
+	decocolor=\def\tkztriminocolor{#1},
+	bgcolor=\def\tkztriminobgcolor{#1},%
+	txtlogo=\def\tkztriminotxtlogo{#1},%
+	iconlogo=\def\tkztriminoiconlogo{#1},%
+	scaledeco=\def\tkztriminostar{#1},%
+	fontdeco=\def\tkztriminodecofont{#1}
+}
+\setKVdefault[tkztrimino]{%
+	size=5cm,%
+	font=\Large,%
+	decocolor=lightgray,%
+	decoration=true,%
+	showtxtlogo=false,%
+	showiconlogo=false,%
+	bgcolor={},%
+	txtlogo={TriMino~TriMino~TriMino~},%
+	iconlogo={\scalebox{2}[2]{\textcolor{darkgray}{\faBahai}}},%
+	scaledeco=0.25,%
+	fontdeco={\tiny\sffamily}
+}
+
+%------internal macro
+\NewDocumentCommand\inttrimino{ m m m }{%
+	\begin{scope}[shift={#1},rotate=#2,transform shape,line join=round]
+		\IfEq{\tkztriminobgcolor}{}%
+			{%
+				\draw[tkztriminoside] (0,0) --++ (60:{\tkztriminosize}) --++ (-60:{\tkztriminosize}) -- cycle ;
+			}%
+			{%
+				\draw[fill=\tkztriminobgcolor,tkztriminoside] (0,0) --++ (60:{\tkztriminosize}) --++ (-60:{\tkztriminosize}) -- cycle ;
+			}%
+		\ifboolKV[tkztrimino]{decoration}%
+			{%
+				\draw[tkztriminosidedeco] (0,0) --++ (60:{\tkztriminostar\tkztriminosize}) -- (30:{\tkztriminostaralt\tkztriminosize}) -- (0:{\tkztriminostar\tkztriminosize}) -- cycle ;
+				\begin{scope}[shift={(0:{\tkztriminosize})},rotate=120]
+					\fill[tkztriminosidedeco] (0,0) --++ (60:{\tkztriminostar\tkztriminosize}) -- (30:{\tkztriminostaralt\tkztriminosize}) -- (0:{\tkztriminostar\tkztriminosize}) -- cycle ;
+				\end{scope}
+				\begin{scope}[shift={(60:{\tkztriminosize})},rotate=-120]
+					\fill[tkztriminosidedeco] (0,0) --++ (60:{\tkztriminostar\tkztriminosize}) -- (30:{\tkztriminostaralt\tkztriminosize}) -- (0:{\tkztriminostar\tkztriminosize}) -- cycle ;
+				\end{scope}
+			}%
+			{}%
+		\ifboolKV[tkztrimino]{showtxtlogo}%
+			{%
+				\path[decorate,decoration={text along path,text={|\tkztriminodecofont|\tkztriminotxtlogo},text align=fit to path}] (30:{sqrt(3)/3*\tkztriminosize}) circle[radius=0.085\tkztriminosize];
+			}%
+			{}%
+		\ifboolKV[tkztrimino]{showiconlogo}%
+			{%
+				\draw (30:{sqrt(3)/3*\tkztriminosize}) node {\tkztriminoiconlogo};
+			}%
+			{}%
+		\foreach \tkztext [count=\i] in {#3}{
+			\ifnum\i=1
+				\sbox{\tkztriminobox}{\pgfinterruptpicture \tkztriminofont\tkztext\endpgfinterruptpicture}\settoboxwidth{\tkztriminotmpnode}{\tkztriminobox}
+				\ifthenelse{\lengthtest{\tkztriminotmpnode < \fpeval{1-2*\tkztriminostar}\tkztriminosize}}%
+					{%
+						\path (60:{\tkztriminosize}) -- (0,0) node[midway,sloped,above,tkztriminolabel,rotate=180] {\strut\tkztext} ;
+					}%
+					{%
+						\path (60:{\tkztriminosize}) -- (0,0) node[midway,sloped,above,tkztriminolabel,rotate=180] {\strut\resizebox{\fpeval{1-2*\tkztriminostar}\tkztriminosize}{!}{\tkztext}} ;
+					}%
+			\fi
+			\ifnum\i=2
+				\sbox{\tkztriminobox}{\pgfinterruptpicture \tkztriminofont\tkztext\endpgfinterruptpicture}\settoboxwidth{\tkztriminotmpnode}{\tkztriminobox}
+				\ifthenelse{\lengthtest{\tkztriminotmpnode < \fpeval{1-2*\tkztriminostar}\tkztriminosize}}%
+					{%
+						\path (0,0) -- ({\tkztriminosize},0) node[midway,sloped,above,tkztriminolabel] {\strut\tkztext} ;
+					}%
+					{%
+						\path (0,0) -- ({\tkztriminosize},0) node[midway,sloped,above,tkztriminolabel] {\strut\resizebox{\fpeval{1-2*\tkztriminostar}\tkztriminosize}{!}{\tkztext}} ;
+					}%
+			\fi
+			\ifnum\i=3
+				\sbox{\tkztriminobox}{\pgfinterruptpicture \tkztriminofont\tkztext\endpgfinterruptpicture}\settoboxwidth{\tkztriminotmpnode}{\tkztriminobox}
+				\ifthenelse{\lengthtest{\tkztriminotmpnode < \fpeval{1-2*\tkztriminostar}\tkztriminosize}}%
+					{%
+						\path ({\tkztriminosize},0) -- (60:{\tkztriminosize}) node[midway,sloped,above,tkztriminolabel,rotate=180] {\strut\tkztext} ;
+					}%
+					{%
+						\path ({\tkztriminosize},0) -- (60:{\tkztriminosize}) node[midway,sloped,above,tkztriminolabel,rotate=180] {\strut\resizebox{\fpeval{1-2*\tkztriminostar}\tkztriminosize}{!}{\tkztext}} ; ;
+					}%
+			\fi
+		}
+	\end{scope}
+}
+
+%------main macro
+\NewDocumentCommand\tkztriminos{ O{} D<>{} m }{%
+	\restoreKV[tkztrimino]%
+	\setKV[tkztrimino]{#1}%
+	\xdef\tkztriminostaralt{\fpeval{0.5*(\tkztriminostar)}}%
+	\setsepchar{§}%
+	\readlist*\listitemstrimino{#3}%
+	\begin{tikzpicture}[#2]
+		\ifnum\listitemstriminolen=3
+			%only one
+			\inttrimino{(0,0)}{0}{\listitemstrimino[1],\listitemstrimino[2],\listitemstrimino[3]}
+		\fi
+		\ifnum\listitemstriminolen=19
+			%with 9 triminos (5 jokers)
+			\inttrimino{(0,0)}{0}{\listitemstrimino[-1],\listitemstrimino[7],\listitemstrimino[3]}
+			\inttrimino{(0:{\tkztriminosize})}{60}{\listitemstrimino[4],\listitemstrimino[6],\listitemstrimino[2]}
+			\inttrimino{(0:{\tkztriminosize})}{0}{\listitemstrimino[5],\listitemstrimino[9],\listitemstrimino[-1]}
+			\inttrimino{(0,0)}{-60}{\listitemstrimino[8],\listitemstrimino[12],\listitemstrimino[14]}
+			\inttrimino{(0:{\tkztriminosize})}{-120}{\listitemstrimino[15],\listitemstrimino[13],\listitemstrimino[-1]}
+			\inttrimino{(0:{\tkztriminosize})}{-60}{\listitemstrimino[10],\listitemstrimino[16],\listitemstrimino[18]}
+			\inttrimino{(-60:{\tkztriminosize})}{-60}{\listitemstrimino[1],\listitemstrimino[-1],\listitemstrimino[-1]}
+			\inttrimino{(-60:{\tkztriminosize})}{-120}{\listitemstrimino[-1],\listitemstrimino[11],\listitemstrimino[-1]}
+			\inttrimino{(-30:{sqrt(3)*\tkztriminosize})}{-120}{\listitemstrimino[17],\listitemstrimino[-1],\listitemstrimino[-1]}
+		\fi
+		\ifnum\listitemstriminolen=25
+			%with 12 triminos (10 jokers)
+			\inttrimino{(0,0)}{0}{\listitemstrimino[13],\listitemstrimino[11],\listitemstrimino[1]}
+			\inttrimino{(0:{\tkztriminosize})}{60}{\listitemstrimino[2],\listitemstrimino[4],\listitemstrimino[16]}
+			\inttrimino{(0:{\tkztriminosize})}{0}{\listitemstrimino[3],\listitemstrimino[5],\listitemstrimino[17]}
+			\inttrimino{(0,0)}{-60}{\listitemstrimino[12],\listitemstrimino[24],\listitemstrimino[10]}
+			\inttrimino{(0:{\tkztriminosize})}{-120}{\listitemstrimino[7],\listitemstrimino[9],\listitemstrimino[21]}
+			\inttrimino{(0:{\tkztriminosize})}{-60}{\listitemstrimino[6],\listitemstrimino[8],\listitemstrimino[20]}
+			\inttrimino{(-60:{\tkztriminosize})}{-60}{\listitemstrimino[22],\listitemstrimino[-1],\listitemstrimino[-1]}
+			\inttrimino{(-60:{\tkztriminosize})}{-120}{\listitemstrimino[-1],\listitemstrimino[23],\listitemstrimino[-1]}
+			\inttrimino{(-30:{sqrt(3)*\tkztriminosize})}{-120}{\listitemstrimino[19],\listitemstrimino[-1],\listitemstrimino[-1]}
+			\inttrimino{(-60:{2*\tkztriminosize})}{-120}{\listitemstrimino[-1],\listitemstrimino[-1],\listitemstrimino[15]}
+			\inttrimino{(-60:{2*\tkztriminosize})}{-60}{\listitemstrimino[-1],\listitemstrimino[-1],\listitemstrimino[18]}
+			\inttrimino{(-60:{2*\tkztriminosize})}{-180}{\listitemstrimino[-1],\listitemstrimino[-1],\listitemstrimino[14]}
+		\fi
+		\ifnum\listitemstriminolen=36
+			%with 12 triminos tous remplis
+			\inttrimino{(0,0)}{0}{\listitemstrimino[13],\listitemstrimino[11],\listitemstrimino[1]}
+			\inttrimino{(0:{\tkztriminosize})}{60}{\listitemstrimino[2],\listitemstrimino[4],\listitemstrimino[16]}
+			\inttrimino{(0:{\tkztriminosize})}{0}{\listitemstrimino[3],\listitemstrimino[5],\listitemstrimino[17]}
+			\inttrimino{(0,0)}{-60}{\listitemstrimino[12],\listitemstrimino[24],\listitemstrimino[10]}
+			\inttrimino{(0:{\tkztriminosize})}{-120}{\listitemstrimino[7],\listitemstrimino[9],\listitemstrimino[21]}
+			\inttrimino{(0:{\tkztriminosize})}{-60}{\listitemstrimino[6],\listitemstrimino[8],\listitemstrimino[20]}
+			\inttrimino{(-60:{\tkztriminosize})}{-60}{\listitemstrimino[22],\listitemstrimino[31],\listitemstrimino[25]}
+			\inttrimino{(-60:{\tkztriminosize})}{-120}{\listitemstrimino[32],\listitemstrimino[23],\listitemstrimino[33]}
+			\inttrimino{(-30:{sqrt(3)*\tkztriminosize})}{-120}{\listitemstrimino[19],\listitemstrimino[26],\listitemstrimino[35]}
+			\inttrimino{(-60:{2*\tkztriminosize})}{-120}{\listitemstrimino[30],\listitemstrimino[28],\listitemstrimino[15]}
+			\inttrimino{(-60:{2*\tkztriminosize})}{-60}{\listitemstrimino[36],\listitemstrimino[29],\listitemstrimino[18]}
+			\inttrimino{(-60:{2*\tkztriminosize})}{-180}{\listitemstrimino[27],\listitemstrimino[34],\listitemstrimino[14]}
+		\fi
+	\end{tikzpicture}%
+}
+
+\endinput
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/tex/latex/tikz-triminos/tikz-triminos.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/tlpkg/bin/tlpkg-ctan-check
===================================================================
--- trunk/Master/tlpkg/bin/tlpkg-ctan-check	2025-01-20 21:26:14 UTC (rev 73532)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check	2025-01-20 21:27:43 UTC (rev 73533)
@@ -868,7 +868,8 @@
     tikz-kalender tikz-karnaugh tikz-ladder tikz-lake-fig tikz-layers
     tikz-mirror-lens tikz-nef tikz-network tikz-nfold tikz-opm tikz-optics
     tikz-osci tikz-page tikz-palattice tikz-planets tikz-qtree
-    tikz-relay tikz-sfc tikz-swigs tikz-timing tikz-trackschematic tikz-truchet
+    tikz-relay tikz-sfc tikz-swigs
+    tikz-timing tikz-trackschematic tikz-triminos tikz-truchet
     tikzbricks tikzcodeblocks tikzdotncross tikzducks
     tikzfill tikzinclude tikzlings
     tikzmark tikzmarmots tikzorbital

Modified: trunk/Master/tlpkg/libexec/ctan2tds
===================================================================
--- trunk/Master/tlpkg/libexec/ctan2tds	2025-01-20 21:26:14 UTC (rev 73532)
+++ trunk/Master/tlpkg/libexec/ctan2tds	2025-01-20 21:27:43 UTC (rev 73533)
@@ -1929,6 +1929,7 @@
  'tikz-cd'		=> '&POSTtikz_cd',
  'tikz-decofonts'	=> '&POST_onelevel',
  'tikz-ext'		=> '&POSTtikz_ext',
+ 'tikz-triminos'	=> '&POST_onelevel',
  'tikz2d-fr'		=> '&POST_onelevel',
  'tikz3d-fr'		=> '&POST_onelevel',
  'tikzdotncross'	=> '&POST_onelevel',

Modified: trunk/Master/tlpkg/tlpsrc/collection-games.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-games.tlpsrc	2025-01-20 21:26:14 UTC (rev 73532)
+++ trunk/Master/tlpkg/tlpsrc/collection-games.tlpsrc	2025-01-20 21:27:43 UTC (rev 73533)
@@ -53,6 +53,7 @@
 depend sudokubundle
 depend tangramtikz
 depend thematicpuzzle
+depend tikz-triminos
 depend trivialpursuit
 depend twoxtwogame
 depend wargame

Added: trunk/Master/tlpkg/tlpsrc/tikz-triminos.tlpsrc
===================================================================


More information about the tex-live-commits mailing list.