% !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{One § Two § \faHatWizard}~~\tkztriminos{\faHatWizard § Three § Two}\hfill~ \end{tcolorbox} \begin{tcblisting}{colframe=lightgray,colback=lightgray!5,listing only} %multiple TriMino (9 or 12) \tkztriminos[keys]{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]% % {% $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]{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}}}]% % {% $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}