% PuyoTikZ package for LaTeX. % Created by amosborne (GitHub) / terramyst (Twitter). % MIT License \NeedsTeXFormat{LaTeX2e}[1994/06/01] \ProvidesPackage{puyotikz}[2020/12/28 v1.0.1 PuyoTikZ] \RequirePackage{pythontex} \RequirePackage{tikz} \RequirePackage{keyval} \begin{pycode} import sys, subprocess ptha = subprocess.check_output(['kpsewhich', '-var-value=TEXMFDIST'], universal_newlines=True) ptha = ptha.rstrip('\n') pthb = ptha + '/scripts/puyotikz' sys.path.append(pthb) import puyotikz as puyo \end{pycode} \def\puyosmallscale{0.34} \def\puyobigscale{0.65} \newenvironment{puyotikz}[1][\puyobigscale] {\begin{tikzpicture}[scale=#1, every node/.style={transform shape}]} {\end{tikzpicture}} \define@key{puyoboard}{ncols}{\def\puyo@ncols{#1}} \define@key{puyoboard}{nrows}{\def\puyo@nrows{#1}} \define@key{puyoboard}{nhidrows}{\def\puyo@nhidrows{#1}} \define@key{puyoboard}{showlabels}{\def\puyo@showlabels{#1}} \setkeys{puyoboard}{ncols=6, nrows=12, nhidrows=1, showlabels=True} \setpythontexcontext{ ncols=\puyo@ncols, nrows=\puyo@nrows, nhidrows=\puyo@nhidrows, showlabels=\puyo@showlabels } \newcommand{\puyoboard}[3][]{ \setkeys{puyoboard}{#1} \pyc{puyo.puyoboard(cols=int(pytex.context.ncols), % rows=int(pytex.context.nrows), % hrows=int(pytex.context.nhidrows), % boardpuyos="#2", % nextpuyos="#3", % label=pytex.context.showlabels=="True")} } \newcommand{\puyomarker}[1]{\pyc{puyo.puyomarker("#1")}} \newcommand{\puyogrid}[2][]{ \setkeys{puyoboard}{nhidrows=0, showlabels=False} \begin{puyotikz}[\puyosmallscale] \puyoboard[#1]{#2}{} \end{puyotikz} } \newcommand{\puyocolor}[2]{ \definecolor{#1puyo}{RGB}{#2} \colorlet{dark#1puyo}{#1puyo!80!black} } \puyocolor{red}{255,82,98} \puyocolor{green}{82,213,98} \puyocolor{blue}{32,115,213} \puyocolor{yellow}{255,220,24} \puyocolor{purple}{131,90,213} \puyocolor{gray}{180,172,189} \endinput