texlive[75941] Master: multi-sudoku (1aug25)
commits+karl at tug.org
commits+karl at tug.org
Fri Aug 1 23:16:09 CEST 2025
Revision: 75941
https://tug.org/svn/texlive?view=revision&revision=75941
Author: karl
Date: 2025-08-01 23:16:09 +0200 (Fri, 01 Aug 2025)
Log Message:
-----------
multi-sudoku (1aug25)
Modified Paths:
--------------
trunk/Master/tlpkg/bin/tlpkg-ctan-check
trunk/Master/tlpkg/tlpsrc/collection-games.tlpsrc
Added Paths:
-----------
trunk/Master/texmf-dist/doc/latex/multi-sudoku/
trunk/Master/texmf-dist/doc/latex/multi-sudoku/README.txt
trunk/Master/texmf-dist/doc/latex/multi-sudoku/multi-sudoku-documentation.pdf
trunk/Master/texmf-dist/doc/latex/multi-sudoku/multi-sudoku-documentation.tex
trunk/Master/texmf-dist/tex/latex/multi-sudoku/
trunk/Master/texmf-dist/tex/latex/multi-sudoku/multi-sudoku.sty
trunk/Master/tlpkg/tlpsrc/multi-sudoku.tlpsrc
Added: trunk/Master/texmf-dist/doc/latex/multi-sudoku/README.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/multi-sudoku/README.txt (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/multi-sudoku/README.txt 2025-08-01 21:16:09 UTC (rev 75941)
@@ -0,0 +1,112 @@
+multi-sudoku
+============
+
+Version: 1.00 (2025/7/31)
+Author: Luis F. Bartolo Alegre
+Email: l.bartolo at campus.lmu.de
+License: LaTeX project public license (LPPL), version 1.3c
+
+
+Description
+-----------
+The multi-sudoku package provides tools to typeset Sudoku grids of various sizes in LaTeX.
+Unlike typical Sudoku packages limited to the standard 9×9 grid, multi-sudoku supports multiple sizes
+ranging from 1×1 up to 49×49 grids.
+
+Grids are created using the sudoku environment, which is based on LaTeX's native tabular environment.
+The package allows easy manual entry of grid values using standard tabular syntax, with intuitive options
+to control grid size, cell dimensions, font size, and grid line thickness.
+
+
+Key Features
+------------
+- Supports Sudoku grid sizes: 1×1, 2×2, 4×4, 9×9, 16×16, 25×25, 36×36, 49×49.
+- Manual entry of Sudoku values using familiar tabular commands.
+- Customisable grid size, cell length, font size, and grid line thickness.
+- Lightweight: no external drawing packages (e.g., TikZ) required.
+- Compatible with plain LaTeX workflows.
+
+
+Requirements
+------------
+- LaTeX engine with the following packages installed:
+ pgfkeys, array, xparse, calc, kvoptions, ifthen.
+- These packages are commonly included in major LaTeX distributions like TeX Live and MiKTeX.
+
+
+Installation
+------------
+Copy the file `multi-sudoku.sty` to a directory where LaTeX can find it,
+for example your project folder or your local texmf tree.
+
+
+Usage
+-----
+Load the package in your document preamble with:
+
+ \usepackage{multi-sudoku}
+
+The package loads with default options suitable for a 9×9 Sudoku grid:
+
+ \usepackage[
+ size=9x9,
+ length=1.5em,
+ thickness=1.5pt,
+ fontsize=\small
+ ]{multi-sudoku}
+
+Options:
+- size: grid size (e.g., 4x4, 16x16). Default is 9x9.
+- length: length of each cell's side. Default is 1.5em.
+- thickness: thickness of grid lines, especially subgrid borders. Default is 1.5pt.
+- fontsize: font size inside grid cells. Default is \small.
+
+To typeset a Sudoku grid, use the sudoku environment:
+
+Example (blank 9x9 grid snippet):
+
+\begin{sudoku}
+ 5 & & & & 7 & & & & 9 \nl
+ & & 3 & & & & 1 & & \nl
+ & 1 & & 9 & & & & 6 & \NL
+ ...
+\end{sudoku}
+
+Commands:
+- \nl inserts a new row with a standard horizontal line.
+- \NL inserts a new row preceded by a thicker horizontal line (for subgrid separation).
+
+You may override global options locally by passing key-value options to the sudoku environment:
+
+\begin{sudoku}[size=4x4, length=3em, thickness=1pt, fontsize=\large]
+ ...
+\end{sudoku}
+
+
+Supported Sizes
+---------------
+- 1x1 (trivial single cell)
+- 2x2 (pseudo-Sudoku)
+- 4x4
+- 9x9 (standard Sudoku)
+- 16x16
+- 25x25
+- 36x36
+- 49x49
+
+Attempting to use unsupported sizes will cause an error.
+
+
+Compatibility
+-------------
+- Relies on pgfkeys, array, xparse, kvoptions, ifthen.
+- May conflict with other Sudoku or tabular-altering packages.
+- Uses predefined column layouts and custom column types S and T. Avoid redefining these.
+- Cell content should be text or math enclosed in math mode.
+
+
+Support and Contact
+-------------------
+Please report bugs or suggestions to: l.bartolo at campus.lmu.de
+
+Happy puzzling!
\ No newline at end of file
Property changes on: trunk/Master/texmf-dist/doc/latex/multi-sudoku/README.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/multi-sudoku/multi-sudoku-documentation.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/latex/multi-sudoku/multi-sudoku-documentation.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/multi-sudoku/multi-sudoku-documentation.pdf 2025-08-01 19:19:14 UTC (rev 75940)
+++ trunk/Master/texmf-dist/doc/latex/multi-sudoku/multi-sudoku-documentation.pdf 2025-08-01 21:16:09 UTC (rev 75941)
Property changes on: trunk/Master/texmf-dist/doc/latex/multi-sudoku/multi-sudoku-documentation.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/multi-sudoku/multi-sudoku-documentation.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/multi-sudoku/multi-sudoku-documentation.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/multi-sudoku/multi-sudoku-documentation.tex 2025-08-01 21:16:09 UTC (rev 75941)
@@ -0,0 +1,703 @@
+% !TeX spellcheck = en_GB
+% This work may be distributed and/or modified under the conditions of the LaTeX project public license (LPPL), version 1.3c.
+% The details of this license's version is in https://www.latex-project.org/lppl/lppl-1-3c.txt
+\documentclass[a4paper,12pt]{article}
+\usepackage[british]{babel}
+\usepackage{multi-sudoku} % Assuming the package is in the working directory
+\usepackage{geometry}
+\usepackage{lmodern}
+\usepackage{hyperref}
+\usepackage{xcolor}
+\geometry{margin=3cm}
+
+\def\myemail{\texttt{l.bartolo at campus.lmu.de}}
+
+\title{The \texttt{multi-sudoku} Package\\\large User Guide}
+
+\author{Luis F. Bartolo Alegre
+ \\\small
+ Email: \myemail}
+
+\date{Version 1.00 -- \today}
+
+\begin{document}
+
+\maketitle
+
+\tableofcontents
+\newpage
+
+
+
+\section{Introduction}
+\label{sec:Intro}
+
+\subsection{What is \texttt{multi-sudoku}?}
+
+The \texttt{multi-sudoku} package provides tools for typesetting Sudoku grids of various sizes in \LaTeX. Unlike other Sudoku packages which are typically limited to the standard 9×9 layout, this package supports a broad range of grid sizes -- from trivial 1×1 puzzles to extended 49×49 Sudokus -- that's the limit for now!
+
+Grids are drawn with our \texttt{sudoku} environment, which is based on using \LaTeX's native \texttt{tabular} environment.
+%
+We include intuitive options to control dimensions, font size, and grid thickness. Entries in the grid are inserted as in a regular table, thus making it simple to create, customise, and fill Sudoku puzzles manually.
+
+
+\subsection{Key features}
+\label{sec:Features}
+
+\begin{itemize}
+ \item Supports various Sudoku grid sizes:
+ 1×1, 2×2, 4×4, 9×9, 16×16, 25×25, 36×36, 49×49.
+
+ \item Easy manual entry of values using standard tabular syntax.
+
+ \item Per-grid and global styling options for Sudoku size (\texttt{size}), cell side length (\texttt{length}), font size (\texttt{fontsize}), grid line thickness (\texttt{thickness}).
+
+ \item Lightweight: no external drawing libraries like TikZ required.
+
+ \item Compatible with plain \LaTeX{} workflows.
+\end{itemize}
+
+
+\subsection{Why another Sudoku package?}
+\label{sec:Why}
+
+Unlike other packages that focus solely on standard Sudoku, \texttt{multi-sudoku} was designed from the ground up to support multiple puzzle sizes and offer control over visual layout. This flexibility makes it ideal not just for standard 9×9 Sudokus, but also for educators, researchers, and enthusiasts working with mini-puzzles, non-standard formats, or large-scale variants.
+
+
+\subsection{Requirements}
+\label{sec:Requirements}
+
+The package relies only on standard \LaTeX{} tools and the following commonly available packages:
+%
+\texttt{pgfkeys},
+%
+\texttt{array},
+%
+\texttt{xparse},
+%
+\texttt{calc},
+%
+\texttt{kvoptions},
+%
+\texttt{ifthen}.
+%
+These are usually bundled in all major \LaTeX{} distributions (e.g., TeX Live, MiKTeX).
+
+
+\subsection{Licensing and author}
+\label{sec:Licensing}
+
+\begin{description}
+ \item[Author:] Luis F. Bartolo Alegre
+
+ \item[Email:] \myemail
+
+ \item[Version:] 1.00 (2025/7/31)
+
+ \item[Licence:] LaTeX project public license (LPPL), version 1.3c.
+\end{description}
+
+
+
+\section{Installation and loading}
+
+
+\subsection{Installation}
+\label{sec:Installation}
+
+The \texttt{multi-sudoku} package can be installed by copying the \texttt{multi-sudoku.sty} file into a directory where \LaTeX{} can find it, like the main folder of your project.
+
+
+\subsection{Loading the package}
+\label{sec:Loading}
+
+To use \texttt{multi-sudoku}, add the following line to your document preamble:
+
+\begin{verbatim}
+ \usepackage{multi-sudoku}
+\end{verbatim}
+
+The package loads with default options suitable for standard 9×9 Sudoku grids.
+%
+You can set global options at package load time, the following being the default ones:
+
+\begin{verbatim}
+ \usepackage[
+ size=9x9,
+ length=1.5em,
+ thickness=1.5pt,
+ fontsize=\small
+ ]{multi-sudoku}
+\end{verbatim}
+%
+where:
+\begin{itemize}
+ \item \texttt{size} specifies the grid size (e.g., \texttt{9x9}, \texttt{16x16}).
+
+ \item \texttt{length} sets the cell side length.
+
+ \item \texttt{thickness} sets the thickness of grid lines.
+
+ \item \texttt{fontsize} sets the font size inside cells.
+\end{itemize}
+\clearpage
+
+
+
+\section{Basic usage}
+\label{sec:Basic}
+
+The \texttt{multi-sudoku} package defines the \texttt{sudoku} environment, which draws a Sudoku grid of the specified size. The content of the grid is input just like a standard \texttt{tabular} environment, with one cell per Sudoku square.
+
+Below is a basic example of a blank 9×9 Sudoku grid, in which the values are entered into the cells as usual in a \texttt{tabular}:
+\bigskip
+
+\begin{center}
+ \begin{minipage}{.6\linewidth}
+ \begin{verbatim}
+ \begin{sudoku}
+ 5 & & & & 7 & & & & 9 \nl
+ & & 3 & & & & 1 & & \nl
+ & 1 & & 9 & & & & 6 &
+ \NL
+ & & 8 & & & 6 & & 3 & \nl
+ & 9 & & & 5 & & & 1 & \nl
+ 6 & & & & & 1 & & &
+ \NL
+ & 2 & & 3 & & & 6 & & \nl
+ & & & & 2 & & & 7 & \nl
+ 1 & & & & & 8 & & & 4
+ \end{sudoku}
+ \end{verbatim}
+ \end{minipage}
+\end{center}
+
+And here is the compiled result:
+
+\begin{center}
+ \begin{sudoku}
+ 5 & & & & 7 & & & & 9 \nl
+ & & 3 & & & & 1 & & \nl
+ & 1 & & 9 & & & & 6 &
+ \NL
+ & & 8 & & & 6 & & 3 & \nl
+ & 9 & & & 5 & & & 1 & \nl
+ 6 & & & & & 1 & & &
+ \NL
+ & 2 & & 3 & & & 6 & & \nl
+ & & & & 2 & & & 7 & \nl
+ 1 & & & & & 8 & & & 4
+ \end{sudoku}
+\end{center}
+
+
+\paragraph{Note:}
+
+The \verb|\nl| command inserts a new row with a standard horizontal line above it (used for regular cell boundaries). In contrast, the \verb|\NL| command inserts a new row preceded by a thicker horizontal line -- typically used to separate Sudoku subgrids. The thickness of this line is controlled by the \texttt{thickness} option, which can be set globally or locally (see section~\ref{sec:Options}).
+\clearpage
+
+
+
+\section{Supported sizes}
+\label{sec:Supported}
+
+The \texttt{multi-sudoku} package supports the following Sudoku grid sizes, where each size corresponds to a Sudoku composed of $n \times n$ cells arranged as $k^2$ blocks of size $k \times k$:
+
+\begin{center}
+ \begin{tabular}{cl}
+ \hline
+ \textbf{size option} & \textbf{description} \\
+ \hline
+ 1x1 & Trivial Sudoku: a single cell \\
+ 2x2 & Four 1×1 subgrids (pseudo-Sudoku, mostly for demonstration) \\
+ 4x4 & Four 2×2 subgrids \\
+ 9x9 & Standard Sudoku: nine 3×3 subgrids (default size) \\
+ 16x16 & Sixteen 4×4 subgrids \\
+ 25x25 & Twenty-five 5×5 subgrids \\
+ 36x36 & Thirty-six 6×6 subgrids \\
+ 49x49 & Forty-nine 7×7 subgrids \\
+ \hline
+ \end{tabular}
+\end{center}
+
+\noindent
+Attempting to use unsupported sizes will result in an error.
+
+\paragraph{Note:}
+
+The column layouts for each supported grid size have been manually defined, which limits the package to a fixed set of predefined sizes. If you have ideas for how to generate these column arrangements recursively -- so that arbitrary grid sizes could be supported -- feel free to get in touch.
+
+
+
+\section{Options and customisation}
+\label{sec:Options}
+
+The package offers several options that control the appearance and layout of Sudoku grids. These can be set either globally when loading the package or locally as environment options.
+
+\subsection{Global options}
+
+Set these options when loading the package via \verb|\usepackage|:
+
+\begin{itemize}
+ \item \texttt{size} \\
+ Defines the size of the Sudoku grid. Defaults to \texttt{9x9}. Examples: \texttt{4x4}, \texttt{16x16}.
+
+ \item \texttt{length} \\
+ Specifies the length of the side of each Sudoku cell. Default is \texttt{1.5em}. Accepts any length unit (\texttt{em}, \texttt{pt}, \texttt{cm}, etc.).
+
+ \item \texttt{thickness} \\
+ Sets the thickness of the grid lines (especially the thicker subgrid boundaries). Default is \texttt{1.5pt}.
+
+ \item \texttt{fontsize} \\
+ Sets the font size inside each cell. Default is \verb|\small|. Can be any valid font size command (e.g., \verb|\footnotesize|, \verb|\normalsize|).
+\end{itemize}
+
+For example, let us load the following in the preamble:
+
+\begin{center}
+ \begin{minipage}{.3\linewidth}
+ \begin{verbatim}
+ \usepackage[
+ size=4x4,
+ length=3.25,
+ thickness=1pt,
+ fontsize=\large
+ ]{multi-sudoku}
+ \end{verbatim}
+ \end{minipage}
+\end{center}
+
+Moreover, let us, within that very file, lead the following command:
+
+\begin{center}
+ \begin{minipage}{.8\linewidth}
+ \begin{verbatim}
+ \begin{sudoku}
+ $C_{111}$ & $C_{121}$ & $C_{134}$ & $C_{144}$
+ \nl
+ $C_{211}$ & $C_{221}$ & $C_{234}$ & $C_{244}$
+ \NL
+ $C_{312}$ & $C_{322}$ & $C_{333}$ & $C_{343}$
+ \nl
+ $C_{412}$ & $C_{422}$ & $C_{433}$ & $C_{443}$
+ \end{sudoku}
+ \end{verbatim}
+ \end{minipage}
+\end{center}
+
+Thus, we will obtain the following result:
+
+\begin{center}
+ \begin{sudoku}[size=4x4,length=3.25em, thickness=1pt, fontsize=\large]
+ $C_{111}$ & $C_{121}$ & $C_{134}$ & $C_{144}$
+ \nl
+ $C_{211}$ & $C_{221}$ & $C_{234}$ & $C_{244}$
+ \NL
+ $C_{312}$ & $C_{322}$ & $C_{333}$ & $C_{343}$
+ \nl
+ $C_{412}$ & $C_{422}$ & $C_{433}$ & $C_{443}$
+ \end{sudoku}
+\end{center}
+
+\clearpage
+
+
+\subsection{Local options}
+
+You can override global options for individual Sudoku environments by passing key-value options as an optional argument to the \texttt{sudoku} environment. Below are some examples assuming the default options.
+
+
+\paragraph{Example 1:} The trivial 1×1 Sudoku with otherwise default settings -- and solved!
+
+\subparagraph{Command:}
+
+\begin{center}
+ %\begin{minipage}{.4\linewidth}
+ \begin{verbatim}
+ \begin{sudoku}[size=1x1]
+ 1
+ \end{sudoku}
+ \end{verbatim}
+ %\end{minipage}
+\end{center}
+
+
+\subparagraph{Output:}
+
+\begin{center}
+ \begin{sudoku}[size=1x1]
+ 1
+ \end{sudoku}
+\end{center}
+
+
+\paragraph{Example 2:} A 2×2 pseudo-Sudoku with otherwise default settings.
+
+\subparagraph{Command:}
+
+\begin{center}
+ %\begin{minipage}{.4\linewidth}
+ \begin{verbatim}
+ \begin{sudoku}[size=2x2]
+ 1 & 4
+ \NL
+ 2 & 3
+ \end{sudoku}
+ \end{verbatim}
+ %\end{minipage}
+\end{center}
+
+
+\subparagraph{Output:}
+
+\begin{center}
+ \begin{sudoku}[size=2x2]
+ 1 & 4
+ \NL
+ 2 & 3
+ \end{sudoku}
+\end{center}
+
+
+\paragraph{Example 3:} A 4×4 Sudoku with \verb|\LARGE| font size.
+
+\subparagraph{Command:}
+
+\begin{center}
+ %\begin{minipage}{.4\linewidth}
+ \begin{verbatim}
+ \begin{sudoku}[size=4x4, fontsize=\LARGE]
+ 1 & & 4 & \nl
+ & 3 & & 2
+ \NL
+ 3 & & 2 & \nl
+ & 4 & & 1
+ \end{sudoku}
+ \end{verbatim}
+ %\end{minipage}
+\end{center}
+
+
+\subparagraph{Output:}
+
+\begin{center}
+ \begin{sudoku}[size=4x4,length=25pt,fontsize=\LARGE]
+ 1 & & 4 & \nl
+ & 3 & & 2
+ \NL
+ 3 & & 2 & \nl
+ & 4 & & 1
+ \end{sudoku}
+\end{center}
+
+
+\paragraph{Example 4:}
+A standard 9×9 Sudoku with grid lines set to 3pt thickness. The \texttt{size} option can be omitted unless a different default was specified globally.
+
+
+\subparagraph{Command:}
+
+\begin{center}
+ %\begin{minipage}{.6\linewidth}
+ \begin{verbatim}
+ \begin{sudoku}[size=9x9, thickness=3pt]
+ 5 & & & & 7 & & & & 9 \nl
+ & & 3 & & & & 1 & & \nl
+ & 1 & & 9 & & & & 6 &
+ \NL
+ & & 8 & & & 6 & & 3 & \nl
+ & 9 & & & 5 & & & 1 & \nl
+ 6 & & & & & 1 & & &
+ \NL
+ & 2 & & 3 & & & 6 & & \nl
+ & & & & 2 & & & 7 & \nl
+ 1 & & & & & 8 & & & 4
+ \end{sudoku}
+ \end{verbatim}
+ %\end{minipage}
+\end{center}
+
+
+\subparagraph{Output:}
+
+\begin{center}
+ \begin{sudoku}[thickness=3pt]
+ 5 & & & & 7 & & & & 9 \nl
+ & & 3 & & & & 1 & & \nl
+ & 1 & & 9 & & & & 6 &
+ \NL
+ & & 8 & & & 6 & & 3 & \nl
+ & 9 & & & 5 & & & 1 & \nl
+ 6 & & & & & 1 & & &
+ \NL
+ & 2 & & 3 & & & 6 & & \nl
+ & & & & 2 & & & 7 & \nl
+ 1 & & & & & 8 & & & 4
+ \end{sudoku}
+\end{center}
+
+\clearpage
+
+
+\paragraph{Example 5:} A 16×16 Sudoku with font size set to \verb|\scriptsize| and cell side length set to 1em.
+
+\subparagraph{Command:}
+
+\begin{center}
+ %\begin{minipage}{.4\linewidth}
+ \begin{verbatim}
+ \begin{sudoku}[size=16x16, length=1em, fontsize=\scriptsize]
+ ... % grid contents
+ \end{sudoku}
+ \end{verbatim}
+ %\end{minipage}
+\end{center}
+
+
+\subparagraph{Output:}
+
+\begin{center}
+ \begin{sudoku}[size=16x16, length=1em, fontsize=\scriptsize]
+ A & & & & & & 7 & & & & & & & 3 & & \nl
+ & & 2 & & & 5 & & & & C & & & & & & 6 \nl
+ & & & F & 1 & & & & & & & D & & & 8 & \nl
+ 9 & & & & & & 3 & & B & & & & & & &
+ \NL
+ & 3 & & & 6 & & & & & & & & 1 & & & \nl
+ & & & 7 & & & & 4 & & 5 & & & & & 2 & \nl
+ & & D & & & & & & 2 & & & 3 & & & & \nl
+ B & & & & & 1 & & & & & & & & F & &
+ \NL
+ & & 9 & & & & & & D & & 4 & & & & & \nl
+ 4 & & & & & & 1 & & & E & & & & & & C \nl
+ & 5 & & & 3 & & & & & & & & & & B & \nl
+ & & & C & & & & 9 & & & & & 7 & & &
+ \NL
+ 7 & & & & & & & & & & 5 & & & & & \nl
+ & & & 1 & & & & 6 & & & & & & 8 & & \nl
+ & 6 & & & & & & & & & 2 & & & & & \nl
+ & & & 8 & & & & & 4 & & & & & & & 1
+ \end{sudoku}
+\end{center}
+\clearpage
+
+
+\paragraph{Example 6:}
+A 25×25 Sudoku with cell side length set to 1.25em.
+
+\subparagraph{Command:}
+
+\begin{center}
+ \begin{minipage}{\linewidth}
+ \begin{verbatim}
+ \begin{sudoku}[size=25x25, length=1.25em]
+ ... % grid contents
+ \end{sudoku}
+ \end{verbatim}
+ \end{minipage}
+\end{center}
+
+
+\subparagraph{Output:}
+
+\begin{center}
+ \begin{sudoku}[size=25x25, length=1.25em]
+ 1 & & 4 & 9 & & & 7 & & A & & & & & 3 & 5 & & & & 5 & & & 8 & & 6 & \nl
+ & & 2 & & 8 & 5 & & 1 & & C & 6 & & 8 & & 9 & 6 & & 4 & & & 7 & & & & \nl
+ & & & F & 1 & 3 & & & 3 & & & D & & & 8 & & & 7 & & & & & 2 & & 1 \nl
+ 9 & 4 & & & 7 & & 3 & & B & & & 2 & & 1 & & & & 5 & & & & 6 & 4 & & \nl
+ & 3 & & & 6 & 9 & 7 & & & & 1 & & 1 & & & & 2 & & & 8 & & & & 9 &
+ \NL
+ & & 6 & 7 & 4 & & & 4 & & 5 & & & & 7 & 2 & & & 3 & & & & 1 & & & \nl
+ & & D & & 8 & 7 & & & 2 & & 1 & 3 & & & 6 & & & 9 & 5 & & & & & 7 & \nl
+ B & & & & 4 & 1 & & & & & & 6 & & F & & & 8 & & & & 3 & & & 2 & \nl
+ & & 9 & 5 & & & 3 & & D & & 4 & & 2 & & 8 & & 7 & & & & & & 9 & & 6 \nl
+ 4 & & & 6 & 2 & & 1 & 8 & & E & & & & 9 & 4 & C & & & 7 & & 1 & & 5 & &
+ \NL
+ & 5 & & 9 & 3 & 6 & & & 7 & & & & & & B & 1 & & & 4 & & & 3 & & & \nl
+ & & & C & & & 8 & 9 & & & & 5 & 7 & & & & & 2 & 1 & & & & & & 4 \nl
+ 7 & 1 & & & & & 4 & & & 3 & 5 & & 6 & & & & & & & & 9 & & & 8 & \nl
+ & & & 1 & 8 & & & 6 & & & & & 3 & 8 & & 7 & & & & 2 & & & & 1 & \nl
+ & 6 & & & 7 & & & & & 4 & 2 & & & & 9 & & 3 & & & 5 & & & & &
+ \NL
+ & 8 & & 8 & & & & & 4 & & 7 & & & & & 1 & & & 6 & & & 7 & & & 3 \nl
+ & & & 3 & & & & 7 & & 9 & & & 1 & & & & & & & & 4 & 6 & & & \nl
+ & & & & & 2 & & & 1 & & & & & & 5 & & & 3 & & & & & 8 & & 9 \nl
+ & & & & & & 6 & & & & 8 & & & 4 & & & & & & 7 & 9 & & & & \nl
+ & & & & & 5 & & & & & & & 7 & & & & & & 4 & & 1 & & & 6 &
+ \NL
+ & & & & & & 5 & & & & 9 & & & & 6 & & & 8 & & & & 2 & & & \nl
+ & & 7 & & & & & 1 & & 3 & & & & 2 & & & & & & 5 & & & 8 & 4 & \nl
+ & 1 & & & & & & & 8 & & & & & & & & & & & & & 9 & & & 9 \nl
+ & & & 4 & & & & & 7 & & 6 & & & & & & 1 & & & & & & & 3 & \nl
+ & & & & 9 & & & & & 5 & & & & & & & & 6 & & & & & & &
+ \end{sudoku}
+\end{center}
+\clearpage
+
+
+\paragraph{Example 7:}
+A 36×36 Sudoku with cell side length set to 1em and font size set to \verb|\scriptsize|.
+
+\subparagraph{Command:}
+
+\begin{center}
+ \begin{verbatim}
+ \begin{sudoku}[size=36x36, length=1em, fontsize=\scriptsize]
+ ... % grid contents
+ \end{sudoku}
+ \end{verbatim}
+\end{center}
+
+
+\subparagraph{Output:}
+
+\begin{center}
+ \begin{sudoku}[size=36x36, length=1em, fontsize=\scriptsize]
+ 4 & 9 & & B & 1 & & & & 7 & & & 5 & & & 6 & & & A & & & & & & & 3 & & & 2 & & & & & & & & \nl
+ & 6 & & & 2 & & D & & & C & 8 & & & 7 & & 9 & & & & & 1 & & & & & & & & & & & & & & & \nl
+ 3 & & & F & 4 & 5 & & & & & & & D & & & & 8 & & & & & & & & & & & & & 7 & & & & & & \nl
+ 9 & & & & & 3 & & 1 & & B & & 4 & & & 7 & & & & 6 & & & & & & & & & & & & & & & & & \nl
+ & 3 & 5 & & 6 & & & & 2 & & & & 9 & 1 & & & & & & & & & 8 & & & & & & & 4 & & & & & & \nl
+ & & & 7 & & & & 8 & 4 & & 5 & & & & & & & & 9 & & & & 3 & & & & & & & & & & & & & \NL
+ & & D & & 7 & & & & & 2 & 6 & & 3 & & & & 5 & & & & & & & & & & & 4 & & & & & & & & \nl
+ B & & & & & 1 & 7 & & & & & & & F & & 2 & & & & 9 & & & & & & & & & & & & & & & & \nl
+ & 8 & 9 & & & & & & & D & & 4 & & & & 5 & & & & & & & & & & & 1 & & & & & & & & & \nl
+ 4 & & & & 6 & & 1 & & & & E & & 7 & & & & 8 & & & & & & & 3 & & & & & & & & & & & & \nl
+ & 7 & 6 & 7 & & & & & 4 & 2 & 5 & & & & & & & & 1 & & & 8 & & & & & & & & & & & & & & \nl
+ & & & 7 & & & & 9 & 4 & & 5 & & 1 & & & & 7 & & & & & & & & & & 6 & & & & & & & & & \NL
+ & 5 & 8 & & 3 & & 2 & & 6 & & & & 4 & & B & & & & & & & 7 & & & & & & & 9 & & & & & & & \nl
+ & & & C & & 4 & & 9 & & & & 3 & 7 & & & 8 & & & 1 & & & & 2 & & & & & & & 5 & & & & & & \nl
+ 7 & & & & 9 & & & & & & 5 & & 1 & & & & & & & 3 & & & & & & & & & & & 4 & & & & & \nl
+ & & 2 & 1 & & & & 6 & & & & & & 8 & & 7 & & & & & 9 & & & & & & & & & & & & & & & \nl
+ & & & 7 & & & 5 & & 4 & & 5 & & & & & 3 & & & & & & & & 8 & & & & & & 1 & & & & & & \nl
+ & & & 7 & & 1 & & & 4 & & 5 & 6 & & & & & & & & 7 & & & & & 9 & & & & & & & & & & & \NL
+ & 5 & & & 3 & & 7 & & & & & 1 & & & B & & 4 & & & & 6 & & & & & 2 & & & & & & & & & & \nl
+ & & & C & & & 8 & 9 & & 6 & & & 7 & & & & & 1 & & & & & & & & & & & & & & 5 & & & & \nl
+ 8 & & & & & & & & & & 5 & 7 & & & & & & 9 & & & 1 & & & & 3 & & & & & & & 4 & & & & \nl
+ & & & 1 & & 6 & & 6 & & & & & 2 & 8 & & & & & & & 7 & & 4 & & & & & & & & & & & & & \nl
+ & & 7 & & & & & & 4 & & 5 & & & 3 & & & & & & & 8 & & & 1 & & & & & & & & 9 & & & & \nl
+ & & & 7 & & & & & 4 & & 5 & & & & & & 7 & & 2 & & & & & 6 & & & & & 8 & & & & & & & \NL
+ & 5 & & & 3 & & 2 & & & & & & & & B & & & 7 & & & & & 4 & & & & 8 & & & & & & & & & \nl
+ & & & C & 1 & & & 9 & & & 7 & & 7 & & & & & & 6 & & & & & & 1 & & & & 5 & & & & & & & \nl
+ 7 & & & & & & 4 & & & & 5 & & & & & 9 & & & & 3 & & & & & & & 7 & & & & 1 & & & & & \nl
+ & & & 1 & & & & 6 & & 8 & & & & 8 & & & & & 2 & & & & 5 & & & & & & & & & & & & & \nl
+ & 7 & & & 7 & & & & 4 & & 5 & & & & & 4 & & & & & 7 & & & & 3 & & & & & & 9 & & & & & \nl
+ & & & 7 & & & & & 4 & & 5 & & 3 & & & & & & & & & & & 7 & & & 2 & & & & & 5 & & & & \NL
+ & 5 & & & 3 & & & 1 & & & 8 & & & & B & & & & & 6 & & & & & & 4 & & & & 7 & & & & & & \nl
+ & & & C & & & & 9 & & & & 4 & 7 & & & & & & 1 & & 5 & & & & & & & & & 8 & & & & & & \nl
+ 9 & & & & & & & & & & 5 & & & & & & & 3 & & & 7 & & & & 2 & & & & & & & 4 & & & & \nl
+ & & & 1 & & & & 6 & & & & 8 & & & & & & & 9 & & & & & & & & & 5 & & & & & & & & \nl
+ & & & 7 & & & & & 4 & & 5 & & & 1 & & & 7 & & & & & 8 & & & & & & & & & & & & & &
+ \end{sudoku}
+\end{center}
+\clearpage
+
+
+\paragraph{Example 8:}
+A 49×49 Sudoku with cell side length set to .75emem and font size set to \verb|\tiny|.
+
+\subparagraph{Command:}
+
+\begin{center}
+ \begin{verbatim}
+ \begin{sudoku}[size=49x49, length=.75em, fontsize=\tiny]%
+ ... % grid contents
+ \end{sudoku}
+ \end{verbatim}
+\end{center}
+
+
+\subparagraph{Output:}
+
+\begin{center}
+ \begin{sudoku}[size=49x49, length=.75em, fontsize=\tiny]%
+ 9 & & 1 & & & 7 & & 5 & & & & & 2 & & 6 & & & 8 & & & 3 & & & & 9 & & 4 & & 1 & & & 7 & & 5 & & 8 & & 2 & & & 6 & & 3 & & 7 & & 1 & & 9 \nl
+ 7 & & & 3 & & 8 & & & 4 & & & 1 & & 5 & & & & & & 7 & & 6 & & 1 & & 8 & & & & & 4 & & 9 & & 2 & & 5 & & & & 3 & & 7 & & 6 & & 1 & & 8 \nl
+ & 6 & & & 9 & & 2 & & & 5 & & 4 & & & 7 & & 3 & & & 8 & & & 1 & & & 6 & & 9 & & & 2 & & & 7 & & 1 & & 8 & & & 3 & & 5 & & 7 & & 9 & & \nl
+ 8 & & 4 & & & 6 & & 1 & & & 7 & 9 & & 5 & & & 3 & & 2 & & & 8 & & 6 & & & 1 & & 4 & & & 9 & & & 5 & & & 7 & & 3 & & 9 & & 6 & & & 1 & & \nl
+ & 2 & & & 7 & & & 3 & & 6 & 8 & & 4 & & & 9 & & 1 & & & 5 & & & 7 & & 2 & & 9 & & 3 & & & 6 & & & 8 & & 4 & & 1 & & & 7 & & 5 & & & 9 & \nl
+ 1 & & & 5 & & & 7 & & 2 & & 8 & & & 3 & & & 6 & & 4 & & & 9 & & 1 & & & 5 & & 7 & & 8 & & & 3 & & & 6 & & 4 & & & 9 & & 1 & & & 5 & & 7 \nl
+ & 3 & & 8 & & & 5 & & 7 & & & 6 & & & 9 & & & 1 & & 3 & & & 4 & & 7 & & 5 & & 6 & & & 9 & & & 3 & & & 4 & & & 7 & & 5 & & 6 & & 9 & & 1
+ \NL
+ 6 & & 1 & & & 4 & & & 2 & & & 7 & & 8 & & & 5 & & & 3 & & 1 & & 4 & & 9 & & & 2 & & & 7 & & 8 & & & 5 & & & 3 & & 1 & & 4 & & 9 & & & 2 \nl
+ & 7 & & & 3 & & 1 & & & 9 & & 5 & & & 2 & & 6 & & & 8 & & & 4 & & 3 & & 1 & & & 5 & & & 2 & & 6 & & & 8 & & & 4 & & 3 & & 1 & & 9 & & 5 \nl
+ 2 & & & 9 & & 5 & & & 4 & & & 8 & & 1 & & & 7 & & & 6 & & & 9 & & 5 & & & 4 & & 3 & & & 8 & & 1 & & & 7 & & & 6 & & & 9 & & 5 & & & 4 \nl
+ & & 8 & & & 6 & & 7 & & & 1 & & 9 & & & 3 & & 5 & & & 2 & & & 8 & & 6 & & 7 & & & 1 & & & 3 & & 5 & & & 2 & & & 8 & & 6 & & 7 & & & \nl
+ 5 & & 9 & & 7 & & & 4 & & 2 & & & & 8 & & & 1 & & 3 & & & 5 & & 9 & & 7 & & & 4 & & 2 & & & 6 & & & 8 & & & 1 & & 3 & & & 5 & & 9 & & 7 \nl
+ & 1 & & & 8 & & & 9 & & & 4 & & & 7 & & & 5 & & & 2 & & & 6 & & 1 & & & 8 & & & 9 & & & 4 & & & 7 & & & 5 & & & 2 & & & 6 & & 1 & \nl
+ 3 & & & 2 & & 9 & & & 5 & & & 7 & & & 1 & & & 4 & & & & 3 & & & 2 & & 9 & & & 5 & & & 7 & & & 1 & & & 4 & & & 8 & & 3 & & & 2 & &
+ \NL
+ & 4 & & & 7 & & 6 & & & 1 & & 9 & & & 3 & & & 5 & & & 2 & & & 4 & & 7 & & 6 & & & 1 & & 9 & & & 3 & & & 5 & & & 2 & & & 4 & & 7 & & 6 \nl
+ 9 & & 5 & & & 3 & & & 8 & & 7 & & & 4 & & & 1 & & & 6 & & 9 & & 5 & & & 3 & & & 8 & & 7 & & & 4 & & & 1 & & & 6 & & 9 & & 5 & & & & 8 \nl
+ & 8 & & 7 & & & 4 & & & 1 & & 6 & & & 9 & & & 5 & & & 3 & & & 8 & & 7 & & & 4 & & & 1 & & 6 & & & 9 & & & 5 & & & 3 & & & 8 & & 7 & \nl
+ 1 & & & 5 & & & 2 & & 9 & & & 6 & & & 3 & & & 8 & & & 4 & & & 7 & & 1 & & & 5 & & & 2 & & 9 & & & 6 & & & 3 & & & 8 & & & 4 & & & 1 \nl
+ & 9 & & & 4 & & 7 & & & 3 & & & 8 & & & 5 & & & 2 & & & 6 & & & 1 & & 9 & & & 4 & & & 7 & & & 3 & & & 8 & & & 5 & & & 2 & & & & \nl
+ 4 & & 7 & & & 1 & & 5 & & & 9 & & & 6 & & & 3 & & & 8 & & & 4 & & 7 & & & 1 & & 5 & & & 9 & & & 6 & & & 3 & & & 8 & & & 4 & & 7 & & \nl
+ & 2 & & 6 & & & 3 & & & 8 & & 4 & & & 7 & & & 1 & & & 5 & & & 9 & & 2 & & & 6 & & & 3 & & & 8 & & 4 & & & 7 & & & 1 & & & 5 & & & 9
+ \NL
+ 5 & & 1 & & 9 & & & 7 & & & 2 & & & 4 & & & 8 & & & 3 & & & 6 & & 5 & & 1 & & 9 & & & 7 & & & 2 & & & 4 & & & 8 & & & 3 & & & 6 & & 5 \nl
+ & 3 & & & 6 & & 8 & & & 9 & & & 5 & & & 2 & & & 7 & & & 4 & & 3 & & & 6 & & & 8 & & & 1 & & 9 & & & 5 & & & 2 & & & 7 & & & 4 & & \nl
+ 2 & & & 5 & & 7 & & & & 3 & & & 9 & & & 6 & & & 1 & & & 8 & & 2 & & & 5 & & & 7 & & & 4 & & & 3 & & & 9 & & & 6 & & & 1 & & & 8 & \nl
+ & 8 & & & 1 & & & 5 & & & 7 & & & 2 & & & 4 & & & 9 & & & 3 & & & 8 & & & 1 & & & 5 & & & 7 & & & 2 & & & 4 & & & 9 & & & 3 & & \nl
+ 7 & & & 4 & & & 9 & & & 6 & & & 1 & & & 8 & & & 3 & & & 5 & & & 7 & & & 4 & & & 9 & & & 6 & & & 1 & & & 8 & & & 3 & & & 5 & & & 7 \nl
+ & 5 & & & 3 & & & 1 & & & 9 & & & 7 & & & 2 & & & 6 & & & 4 & & & 5 & & & 3 & & & 1 & & & 9 & & & 7 & & & 2 & & & 6 & & & 4 & & \nl
+ 9 & & 6 & & & 4 & & & 8 & & & 5 & & & 1 & & & 7 & & & 3 & & & 9 & & 6 & & & 4 & & & 8 & & & 5 & & & 1 & & & 7 & & & 3 & & & 9 & & 6
+ \NL
+ & 1 & & 7 & & & 2 & & & 9 & & & 4 & & & 3 & & & 8 & & & 6 & & & 1 & & & 7 & & & 2 & & & 9 & & & 4 & & & 3 & & & 8 & & & 6 & & & 1 \nl
+ 4 & & & 9 & & 3 & & & 5 & & & 7 & & & 1 & & & 8 & & & 2 & & & 4 & & & 9 & & 3 & & & 5 & & & 7 & & & 1 & & & 8 & & & 2 & & & 4 & & \nl
+ & 7 & & & 5 & & & 8 & & & 3 & & & 6 & & & 9 & & & 1 & & & 4 & & & 7 & & & 5 & & & 8 & & & 3 & & & 6 & & & 9 & & & 1 & & & 4 & & \nl
+ 3 & & 2 & & & 9 & & & 1 & & & 5 & & & 7 & & & 4 & & & 6 & & & 3 & & 2 & & & 9 & & & 1 & & & 5 & & & 7 & & & 4 & & & 6 & & & 3 & & 2 \nl
+ & 6 & & & 8 & & & 4 & & & 7 & & & 1 & & & 5 & & & 9 & & & 2 & & & 6 & & & 8 & & & 4 & & & 7 & & & 1 & & & 5 & & & 9 & & & 2 & & \nl
+ 8 & & 9 & & & 1 & & & 6 & & & 3 & & & 5 & & & 7 & & & 8 & & 9 & & & 1 & & & 6 & & & 3 & & & 5 & & & 7 & & & 8 & & 9 & & & 1 & & & 6 \nl
+ & 4 & & 3 & & & 7 & & & 2 & & & 9 & & & 8 & & & 1 & & & 5 & & & 4 & & 3 & & & 7 & & & 2 & & & 9 & & & 8 & & & 1 & & & 5 & & & 4 &
+ \NL
+ 1 & & & 5 & & 8 & & & 9 & & & 6 & & & 4 & & & 7 & & & 3 & & & 1 & & & 5 & & 8 & & & 9 & & & 6 & & & 4 & & & 7 & & & 3 & & & 1 & & \nl
+ & 9 & & & 2 & & & 7 & & & 5 & & & 1 & & & 8 & & & 4 & & & 6 & & & 9 & & & 2 & & & 7 & & & 5 & & & 1 & & & 8 & & & 4 & & & 6 & & \nl
+ 2 & & 6 & & & 4 & & & 8 & & & 3 & & & 7 & & & 9 & & & 1 & & & 2 & & 6 & & & 4 & & & 8 & & & 3 & & & 7 & & & 9 & & & 1 & & & 2 & & 6 \nl
+ & 5 & & & 3 & & & 1 & & & 9 & & & 6 & & & 4 & & & 7 & & & 5 & & & 3 & & & 1 & & & 9 & & & 6 & & & 4 & & & 7 & & & 5 & & & 3 & & \nl
+ 7 & & & 8 & & & 2 & & & 5 & & & 9 & & & 1 & & & 3 & & & 6 & & & 7 & & & 8 & & & 2 & & & 5 & & & 9 & & & 1 & & & 3 & & & 6 & & & 7 \nl
+ & 1 & & & 9 & & & 4 & & & 6 & & & 3 & & & 7 & & & 8 & & & 2 & & & 1 & & & 9 & & & 4 & & & 6 & & & 3 & & & 7 & & & 8 & & & 2 & & \nl
+ 4 & & 3 & & & 7 & & & 1 & & & 5 & & & 8 & & & 9 & & & 2 & & & 4 & & 3 & & & 7 & & & 1 & & & 5 & & & 8 & & & 9 & & & 2 & & & 4 & & 3
+ \NL
+ & 6 & & & 8 & & & 2 & & & 7 & & & 4 & & & 1 & & & 5 & & & 9 & & & 6 & & & 8 & & & 2 & & & 7 & & & 4 & & & 1 & & & 5 & & & 9 & & \nl
+ 5 & & & 9 & & & 3 & & & 6 & & & 1 & & & 8 & & & 7 & & & 4 & & & 5 & & & 9 & & & 3 & & & 6 & & & 1 & & & 8 & & & 7 & & & 4 & & & \nl
+ & 2 & & 4 & & & 7 & & & 9 & & & 5 & & & 3 & & & 8 & & & 1 & & & 2 & & & 4 & & & 7 & & & 9 & & & 5 & & & 3 & & & 8 & & & 1 & & & \nl
+ 9 & & 7 & & & 1 & & & 8 & & & 4 & & & 6 & & & 5 & & & 2 & & & 9 & & 7 & & & 1 & & & 8 & & & 4 & & & 6 & & & 5 & & & 2 & & & 9 & & 7 \nl
+ & 3 & & & 6 & & & 9 & & & 1 & & & 7 & & & 4 & & & 8 & & & 3 & & & 6 & & & 9 & & & 1 & & & 7 & & & 4 & & & 8 & & & 3 & & & 6 & & \nl
+ 1 & & & 5 & & & 2 & & & 8 & & & 3 & & & 9 & & & 7 & & & 6 & & & 1 & & & 5 & & & 2 & & & 8 & & & 3 & & & 9 & & & 7 & & & 6 & & & 1 \nl
+ & 8 & & & 4 & & & 7 & & & 9 & & & 6 & & & 5 & & & 1 & & & 2 & & & 8 & & & 4 & & & 7 & & & 9 & & & 6 & & & 5 & & & 1 & & & 2 & &
+ \end{sudoku}
+\end{center}
+\clearpage
+
+
+\section{Compatibility}
+\label{sec:Compatibility}
+
+\begin{itemize}
+ \item The package relies on \texttt{pgfkeys}, \texttt{array}, \texttt{xparse}, \texttt{kvoptions}, and \texttt{ifthen}, so these must be installed and up to date.
+
+ \item It may be incompatible with other Sudoku-related packages that redefine tabular environments or grid drawing.
+
+ \item Since the package uses fixed tabular layouts for each supported size, unsupported sizes will trigger an error.
+
+ \item The column types \texttt{S} and \texttt{T} are predefined by the package: \texttt{S} corresponds to standard cells, while \texttt{T} represents thick vertical borders. To ensure proper grid rendering, avoid redefining these column types.
+
+ \item Cell content should be plain text or use simple text-formatting commands. If mathematical expressions are needed, they should be enclosed in standard math environments such as \verb|$...$| or \verb|\(...\)|.
+\end{itemize}
+
+
+
+\section{Closing}
+\label{sec:Closing}
+
+Please report bugs or suggestions to \myemail.
+
+\phantom{.}\hfill
+Happy puzzling!
+
+
+
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/latex/multi-sudoku/multi-sudoku-documentation.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/multi-sudoku/multi-sudoku.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/multi-sudoku/multi-sudoku.sty (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/multi-sudoku/multi-sudoku.sty 2025-08-01 21:16:09 UTC (rev 75941)
@@ -0,0 +1,109 @@
+% This work may be distributed and/or modified under the conditions of the LaTeX project public license (LPPL), version 1.3c.
+% The details of this license's version is in https://www.latex-project.org/lppl/lppl-1-3c.txt
+\ProvidesPackage{multi-sudoku}[2025/7/29 multi-sudoku package version 1.00]
+
+% Required packages
+\RequirePackage{pgfkeys}
+\RequirePackage{array}
+\RequirePackage{xparse}
+\RequirePackage{calc}
+\RequirePackage{kvoptions}
+\RequirePackage{ifthen}
+
+% Set up kvoptions for this package
+\SetupKeyvalOptions{
+ family=multisudoku,
+ prefix=multisudoku@
+}
+
+% Declare user-settable package options with defaults
+\DeclareStringOption[9x9]{size}
+\DeclareStringOption[1.5em]{length}
+\DeclareStringOption[1.5pt]{thickness}
+\DeclareStringOption[\small]{fontsize}
+
+% Process package options
+\ProcessKeyvalOptions*
+
+% Internal lengths and state
+\newlength\@thickness
+\newlength\cell at length
+\newlength\font at height
+\newlength\extra at height
+\def\sudoku at fontsize{\small}
+
+
+% Apply thickness from package option
+\setlength\@thickness{\multisudoku at thickness}
+
+% Define column types for tabular rendering
+\newcolumntype{S}{
+ @{}
+ >{\centering \rule[-0.5\extra at height]{0pt}{\font at height + \extra at height}%
+ \begin{minipage}{\cell at length}\centering}
+ p{\cell at length}
+ <{\end{minipage}}
+ @{}
+}
+\newcolumntype{T}{!{\vrule width \@thickness}}
+
+% Grid styling helpers
+\newcommand{\@subgrid}{\noalign{\hrule height \@thickness}}
+\newcommand\nl{\tabularnewline\hline}
+\newcommand\NL{\tabularnewline\@subgrid}
+
+
+% Define environment-level keys using pgfkeys
+\pgfkeys{
+ /sudoku/.is family, /sudoku,
+ default/.style = {
+ size=\multisudoku at size,
+ fontsize=\multisudoku at fontsize,
+ length=\multisudoku at length,
+ thickness=\multisudoku at thickness
+ },
+ size/.estore in = \sudoku at size,
+ fontsize/.code = \renewcommand{\sudoku at fontsize}{#1},
+ length/.code = \setlength{\cell at length}{#1},
+ thickness/.code = \setlength{\@thickness}{#1}
+}
+
+% Sudoku environment
+\newenvironment{sudoku}[1][]{%
+ % Load keys from defaults and optional argument
+ \pgfkeys{/sudoku, default, #1}
+ %
+ % Set font size
+ \sudoku at fontsize
+ %
+ % Cell height adjustments
+ \settoheight\font at height{A}%
+ \setlength{\extra at height}{\cell at length - \font at height}%
+ %
+ % Choose tabular layout by size
+ \ifthenelse{\equal{\sudoku at size}{1x1}}%
+ {\begin{tabular}{T S T}}{%
+ \ifthenelse{\equal{\sudoku at size}{2x2}}%
+ {\begin{tabular}{T S T S T}}{%
+ \ifthenelse{\equal{\sudoku at size}{4x4}}%
+ {\begin{tabular}{T S|S T S|S T}}{%
+ \ifthenelse{\equal{\sudoku at size}{9x9}}%
+ {\begin{tabular}{T S|S|S T S|S|S T S|S|S T}}{%
+ \ifthenelse{\equal{\sudoku at size}{16x16}}%
+ {\begin{tabular}{T S|S|S|S T S|S|S|S T S|S|S|S T S|S|S|S T}}{%
+ \ifthenelse{\equal{\sudoku at size}{25x25}}%
+ {\begin{tabular}{T S|S|S|S|S T S|S|S|S|S T S|S|S|S|S T S|S|S|S|S T S|S|S|S|S T}}{%
+ \ifthenelse{\equal{\sudoku at size}{36x36}}%
+ {\begin{tabular}{T S|S|S|S|S|S T S|S|S|S|S|S T S|S|S|S|S|S T S|S|S|S|S|S T S|S|S|S|S|S T S|S|S|S|S|S T}}{%
+ \ifthenelse{\equal{\sudoku at size}{49x49}}%
+ {\begin{tabular}{T S|S|S|S|S|S|S T S|S|S|S|S|S|S T S|S|S|S|S|S|S T S|S|S|S|S|S|S T S|S|S|S|S|S|S T S|S|S|S|S|S|S T S|S|S|S|S|S|S T}}%
+ {\PackageError{multi-sudoku}%
+ {Unsupported sudoku size '\sudoku at size'}%
+ {Valid sizes: 1x1, 2x2, 4x4, 9x9, 16x16, 25x25, 36x36, 49x49.\MessageBreak
+ You used an unsupported sudoku size in \string\sudoku\space from the multi-sudoku package.}}%
+ }}}}}}}%
+ \@subgrid
+ }{%
+ \NL\end{tabular}%
+ }
+
Property changes on: trunk/Master/texmf-dist/tex/latex/multi-sudoku/multi-sudoku.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-08-01 19:19:14 UTC (rev 75940)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check 2025-08-01 21:16:09 UTC (rev 75941)
@@ -613,7 +613,7 @@
mparhack mparrows mpattern mpchess mpcolornames
mpfonts mpgraphics mpkiviat
mpman-ru mpostinl mptrees msc msg mslapa msu-thesis mtgreek
- mucproc mugsthesis muling multenum
+ mucproc mugsthesis muling multenum multi-sudoku
multiaudience multibbl multibib multibibliography
multicap multicolrule multidef multido multienv multiexpand
multifootnote multilang multinotes multiobjective multiple-choice
Modified: trunk/Master/tlpkg/tlpsrc/collection-games.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-games.tlpsrc 2025-08-01 19:19:14 UTC (rev 75940)
+++ trunk/Master/tlpkg/tlpsrc/collection-games.tlpsrc 2025-08-01 21:16:09 UTC (rev 75941)
@@ -29,6 +29,7 @@
depend logicpuzzle
depend mahjong
depend maze
+depend multi-sudoku
depend musikui
depend nimsticks
depend onedown
Added: trunk/Master/tlpkg/tlpsrc/multi-sudoku.tlpsrc
===================================================================
More information about the tex-live-commits
mailing list.