summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/pgf-soroban/Changes5
-rw-r--r--Master/texmf-dist/doc/latex/pgf-soroban/README10
-rw-r--r--Master/texmf-dist/doc/latex/pgf-soroban/pgf-soroban-doc.bib52
-rw-r--r--Master/texmf-dist/doc/latex/pgf-soroban/pgf-soroban-doc.pdfbin0 -> 371241 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pgf-soroban/pgf-soroban-doc.tex298
-rw-r--r--Master/texmf-dist/tex/latex/pgf-soroban/pgf-soroban.sty106
-rwxr-xr-xMaster/tlpkg/bin/ctan2tds1
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
-rw-r--r--Master/tlpkg/tlpsrc/collection-pictures.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/pgf-soroban.tlpsrc2
10 files changed, 476 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/pgf-soroban/Changes b/Master/texmf-dist/doc/latex/pgf-soroban/Changes
new file mode 100644
index 00000000000..d6ad0a43bf0
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pgf-soroban/Changes
@@ -0,0 +1,5 @@
+pgf-soroban.sty --------
+2007-12-10 v1.00 first CTAN Version
+
+
+pgf-soroban-doc.tex --------
diff --git a/Master/texmf-dist/doc/latex/pgf-soroban/README b/Master/texmf-dist/doc/latex/pgf-soroban/README
new file mode 100644
index 00000000000..8766e8542c1
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pgf-soroban/README
@@ -0,0 +1,10 @@
+pgf-soroban: creates images of the Japanese abacus
+
+pgf-soroban.sty - The LaTeX style file
+pgf-soroban-doc.pdf - The documentation
+pgf-soroban-doc.tex - The documentation, source
+pgf-soroban-doc.bib - The documentation, bibfile
+
+This material is subject to The LaTeX Project Public License (lppl)
+--
+Alain Delmotte 2007-12-10
diff --git a/Master/texmf-dist/doc/latex/pgf-soroban/pgf-soroban-doc.bib b/Master/texmf-dist/doc/latex/pgf-soroban/pgf-soroban-doc.bib
new file mode 100644
index 00000000000..de92b83686e
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pgf-soroban/pgf-soroban-doc.bib
@@ -0,0 +1,52 @@
+@Book{tlgc2,
+ author = {Goosens, Michel and Mittelbach, Frank and Rahtz, Sebastian and Roegel, Denis and Vo{\ss}, Herbert},
+ title = {The {\LaTeX} {G}raphics {C}ompanion},
+ publisher = {{Addison-Wesley Publishing Company}},
+ edition = second,
+ year = {2007},
+ address = {Reading, Mass.}
+}
+
+@BOOK{tikz,
+ author = {Tantau, Till},
+ title = {Ti{\textit{k}}{Z} and {PGF}. {M}anual for version 1.18},
+ publisher = {\texttt{http://sourceforge.net/projects/pgf}},
+ year = {2007}
+}
+
+@BOOK{tikz2,
+ author = {Tantau, Till},
+ title = {PGF and Ti{\textit{k}}{Z} -- Graphic systems for TeX},
+ publisher = {\texttt{http://sourceforge.net/projects/pgf}},
+ year = {2007}
+}
+
+@book{fauskes1,
+ author = {Fauskes, Kjell Magne},
+ title = {PGF and Ti{\textit{k}}{Z} examples gallery},
+ publisher = {\texttt{http://www.fauskes.net/pgftikzexamples/}},
+ year = {2007}
+}
+
+@book{fauskes2,
+ author = {Fauskes, Kjell Magne},
+ title = {PGF and Ti{\textit{k}}{Z} resources},
+ publisher = {\texttt{http://www.fauskes.net/pgftikzexamples/resources/}},
+ year = {2007}
+}
+
+@book{matthes,
+ author = {Alain Matthes},
+ title = {Ti{\textit{k}}{Z}/PGF},
+ publisher = {\texttt{http://www.altermundus.fr/pages/pdflatex/tikz.html}},
+ year = {2007}
+}
+
+@book{mertz,
+ author = {Mertz, Andrew and Slough, William},
+ title = {Graphics with PGF and T{\textit{k}}{Z}},
+ publisher = {\texttt{http://www.tug.org/pracjourn/2007-1/mertz/}},
+ journal = {The Prac{\TeX} {J}ournal},
+ year = {2007}
+}
+
diff --git a/Master/texmf-dist/doc/latex/pgf-soroban/pgf-soroban-doc.pdf b/Master/texmf-dist/doc/latex/pgf-soroban/pgf-soroban-doc.pdf
new file mode 100644
index 00000000000..0bddca337e2
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pgf-soroban/pgf-soroban-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pgf-soroban/pgf-soroban-doc.tex b/Master/texmf-dist/doc/latex/pgf-soroban/pgf-soroban-doc.tex
new file mode 100644
index 00000000000..ef16b12416e
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pgf-soroban/pgf-soroban-doc.tex
@@ -0,0 +1,298 @@
+\documentclass[a4paper]{article}
+
+\usepackage[T1]{fontenc}
+\usepackage[latin1]{inputenc}
+\usepackage{lmodern}
+
+\newcommand{\ttsl}[1]{\texttt{\textsl{#1}}}
+\usepackage{pgf-soroban}
+
+\title{SOROBAN abacus\\\ \\package \texttt{pgf-soroban}}
+\author{Alain Delmotte \texttt{esperanto@swing.be}}
+\date{December 10, 2007}
+
+\begin{document}
+\maketitle
+\tableofcontents
+\newpage
+
+\section{Original size}
+
+\begin{center}
+\begin{tikzpicture}
+\tige{1}{1}{1}
+\tige{2}{0}{0}
+\tige{3}{6}{0}
+\tige{4}{7}{1}
+\tige{5}{4}{0}
+\tige{6}{3}{0}
+\cadre{6}
+\end{tikzpicture}
+\end{center}
+\vspace{10mm}
+
+\section{Example of use}
+
+\textbf{Step 1}
+\vspace{10mm}
+\ladj{0.25}
+\textbf{2 + 1} (in colours)\\
+1) Put 2 with thumb
+\hspace*{5mm}
+\begin{tikzpicture}
+\tige{1}{2}{1}
+\binoire{1}{5}{black}
+\binoire{1}{6}{black}
+\barres{1}
+\end{tikzpicture}
+\quad 2) Add 1
+\hspace*{5mm}
+\begin{tikzpicture}
+\tige{1}{3}{1}
+\binoire{1}{5}{gray}
+\binoire{1}{6}{gray}
+\binoire{1}{7}{black}
+\barres{1}
+\end{tikzpicture}
+\quad
+\hspace{5mm}$\Rightarrow$ \textbf{= 3}\hspace{5mm}
+\begin{tikzpicture}
+\tige{1}{3}{1}
+\barres{1}
+\end{tikzpicture}
+\vspace{15mm}
+
+\renewcommand{\colbil}{white}
+\renewcommand{\coltig}{darkgray}
+\noindent\textbf{7 - 1} (in black and white for printing)\\
+1) Set 7 at once (pinch)\hspace*{5mm}
+\begin{tikzpicture}
+\tige{1}{7}{1}
+\binoire{1}{5}{black}
+\binoire{1}{6}{black}
+\binoire{1}{10}{black}
+\barres{1}
+\end{tikzpicture}
+\quad 2) Substract 1
+\hspace*{5mm}
+\begin{tikzpicture}
+\tige{1}{7}{1}
+\binoire{1}{5}{gray}
+\binoire{1}{6}{gray}
+\binoire{1}{10}{gray}
+\barbil{1}{6}
+\barres{1}
+\end{tikzpicture}
+\quad
+\hspace{5mm}$\Rightarrow$ \textbf{= 6}\hspace{5mm}
+\begin{tikzpicture}
+\tige{1}{6}{1}
+\binoire{1}{3}{black}
+\barres{1}
+\end{tikzpicture}
+\newpage
+
+\section{Using the package}
+
+In the preamble, insert the instruction \verb+\usepackage{pgf-soroban}+~\footnote{\ There is a corresponding package \texttt{pst-soroban.sty} for use with Pstricks.}. There is
+no need to load the corresponding graphics package as the packages are required
+by the soroban package.
+
+The package also sets a base unit as 1 mm, as well as other lengths; this draws a soroban of the normal size as used in schools, shops,\dots If one wants to change the size, one sets the units by \verb+\ladj{0.25}+ (here $\frac 14$ of the normal size). That instruction can be used any time in the document to change the size for some part if required.
+
+To draw a soroban, one draws rod(s) with the required bids in the right position and add either a frame or just top and bottom parts of the frame. One can then add some bids in other colours and also cross some bids.
+
+Let's draw a soroban representing the number 321.45 in small size: 0.25.
+
+\renewcommand{\colbil}{yellow}
+\renewcommand{\coltig}{brun}
+\ladj{0.25}
+\begin{center}
+\begin{tikzpicture}
+\tige{1}{0}{1}
+\tige{2}{3}{0}
+\tige{3}{2}{0}
+\tige{4}{1}{1}
+\tige{5}{4}{0}
+\tige{6}{5}{0}
+\cadre{6}
+\end{tikzpicture}
+\end{center}
+\begin{tabular}{|l|l|l|}
+\hline
+\textbf{line}& \textbf{tikz/pgf} & \textbf{PStricks} \\
+\hline
+\verb§ 1§ & \verb§\ladj{0.25}§ & \verb§\psset{unit=0.25mm} §\\
+\verb§ 2§ & \verb§\begin{tikzpicture}§ & \verb§\begin{pspicture}(-2,-2)(122,76)§\\
+\verb§ 3§ & \verb§\tige{1}{0}{1} § & \verb§\tige{1}{0}{1} §\\
+\verb§ 4§ & \verb§\tige{2}{3}{0} § & \verb§\tige{2}{3}{0} §\\
+\verb§ 5§ & \verb§\tige{3}{2}{0} § & \verb§\tige{3}{2}{0} §\\
+\verb§ 6§ & \verb§\tige{4}{1}{1} § & \verb§\tige{4}{1}{1} §\\
+\verb§ 7§ & \verb§\tige{5}{4}{0} § & \verb§\tige{5}{4}{0} §\\
+\verb§ 8§ & \verb§\tige{6}{5}{0} § & \verb§\tige{6}{5}{0} §\\
+\verb§ 9§ & \verb§\cadre{6} § & \verb§\cadre{6} §\\
+\verb§10§ & \verb§\end{tikzpicture} § & \verb§\end{pspicture} §\\
+\hline
+\end{tabular}
+\vspace{6pt}
+
+Line 1 defines the size, lines 2 and 10 create the picture environment, lines 3--8 draw the rods and line 9 creates the frame.
+
+It is not necessary for tikz to specify the dimensions of the picture as the package reserves the area needed for the created graphic.~\footnote{\ For PStricks (\texttt{pst-soroban}), one has to give the dimensions of the picture, otherwise the drawing would have no size and would overlap the surrounding text. One gives some space before and below (\texttt{(-2,-2)}) and after above. The picture is 74.6 units hight and 20* number of rods wide (here \texttt{(122,76)}). Of course, if one adds something before, under, after or above the soroban, one has to adjust the corresponding part of the frame dimension.}
+
+To draw a rod, one uses the command \verb+\tige+. The syntax is:
+\begin{center}
+\verb§\tige[§\ttsl{<st>}\verb§]{§\ttsl{<nu>}\verb§}{§\ttsl{<val>}\verb§}{§\ttsl{<un>}\verb§}§
+\end{center}
+
+The \ttsl{<nu>} argument numbers the rods from left to right. \ttsl{<val>} is the number to be represented on the rod from 0 to 9. The \ttsl{<un>} argument tells that there is a dot on the central bar (1) or not (0); there is normally a dot for the unit, thousand, million,\dots ranks.
+
+The \ttsl{<st>} argument is optional and tells at which position the drawing is started; the default value is 1. This is interesting when one wants to put more then one drawing on a line:
+
+\begin{center}
+\begin{minipage}[][][c]{5cm}
+\begin{verbatim}
+\begin{tikzpicture}
+\tige{1}{1}{1}
+\barres{1}
+\tige[5]{1}{6}{1}
+\barres[5]{1}
+\tige[9]{1}{5}{1}
+\barres[9]{1}
+\end{tikzpicture}
+\end{verbatim}
+\end{minipage}
+\hspace{10mm}
+\begin{minipage}[][][c]{5cm}
+\begin{tikzpicture}
+\tige{1}{1}{1}
+\barres{1}
+\tige[5]{1}{6}{1}
+\barres[5]{1}
+\tige[9]{1}{5}{1}
+\barres[9]{1}
+\end{tikzpicture}
+\end{minipage}
+\end{center}
+
+In this example, there is no frame but only parts of it above and below; this is created with the \verb+\barres+ command. The syntaxes for the frame and top/bottom lines are:
+\begin{center}
+\verb§\cadre[§\ttsl{<st>}\verb§]{§\ttsl{<nb>}\verb§}§ and \verb§\barres[§\ttsl{<st>}\verb§]{§\ttsl{<nb>}\verb§}§.
+\end{center}
+
+The optional \ttsl{<st>} arguments are the same as the one of \verb+\tige+, the \ttsl{<nb>} argument tell how many rods have to be covered.
+
+If one wants to colour a specific bid , one can achieve this with \verb+\binoire+:
+\begin{center}
+\verb§\binoire[§\ttsl{<st>}\verb§]{§\ttsl{<nu>}\verb§}{§\ttsl{<pos>}\verb§}{§\ttsl{<col>}\verb§}§
+\end{center}
+
+\ttsl{<st>} and \ttsl{<nu>} arguments are the same as for \verb+\tige+; the \ttsl{<col>} argument defines the colour and the \ttsl{<pos>} argument tells which bid has to be coloured as shown in the following example.
+
+\begin{center}
+\begin{minipage}[c]{5cm}
+\begin{verbatim}
+\begin{tikzpicture}
+\tige{1}{0}{1}
+\tige{2}{0}{1}
+\tige{3}{0}{1}
+\tige{4}{0}{1}
+\tige{5}{4}{1}
+\tige{6}{4}{1}
+\tige{7}{4}{1}
+\tige{8}{4}{1}
+\tige{9}{0}{1}
+\tige{10}{5}{1}
+\cadre{10}
+\binoire{1}{1}{black}
+\binoire{2}{2}{black}
+\binoire{3}{3}{black}
+\binoire{4}{4}{black}
+\binoire{5}{5}{black}
+\binoire{6}{6}{black}
+\binoire{7}{7}{black}
+\binoire{8}{8}{black}
+\binoire{9}{9}{black}
+\binoire{10}{10}{black}
+\end{tikzpicture}
+\end{verbatim}
+\end{minipage}
+\hspace{10mm}
+\begin{minipage}[][][c]{5cm}
+\begin{tikzpicture}
+\tige{1}{0}{1}
+\tige{2}{0}{1}
+\tige{3}{0}{1}
+\tige{4}{0}{1}
+\tige{5}{4}{1}
+\tige{6}{4}{1}
+\tige{7}{4}{1}
+\tige{8}{4}{1}
+\tige{9}{0}{1}
+\tige{10}{5}{1}
+\cadre{10}
+\binoire{1}{1}{black}
+\binoire{2}{2}{black}
+\binoire{3}{3}{black}
+\binoire{4}{4}{black}
+\binoire{5}{5}{black}
+\binoire{6}{6}{black}
+\binoire{7}{7}{black}
+\binoire{8}{8}{black}
+\binoire{9}{9}{black}
+\binoire{10}{10}{black}
+\end{tikzpicture}
+\end{minipage}
+\end{center}
+
+The \verb+\barbil+ command allows to cross a bid (see example below); the syntax is:
+\begin{center}
+\verb§\barbil[§\ttsl{<st>}\verb§]{§\ttsl{<nu>}\verb§}{§\ttsl{<pos>}\verb§}§
+\end{center}
+The arguments \ttsl{<st>}, \ttsl{<nu>} and \ttsl{<pos>} have the same meaning as those of \verb+\binoire+.
+
+Finally, one can change the overall colours of the rods and the bids, for example to print in black and white.
+This is done by changing the values of the \verb+\colbil+ (for the bids) and \verb+\coltig+ (for the rods) commands; by default there are ``yellow'' and ``brun'' (new brown colour defined in the package).
+
+\begin{center}
+\begin{minipage}[][][c]{5cm}
+\begin{verbatim}
+\renewcommand{\colbil}{white}
+\renewcommand{\coltig}{black}
+\begin{tikzpicture}
+\tige{1}{1}{1}
+\barres{1}
+\tige[5]{1}{6}{1}
+\barbil[5]{1}{5}
+\barres[5]{1}
+\tige[9]{1}{5}{1}
+\barres[9]{1}
+\end{tikzpicture}
+\end{verbatim}
+\end{minipage}
+\hspace{10mm}
+\renewcommand{\colbil}{white}
+\renewcommand{\coltig}{black}
+\begin{minipage}[][][c]{5cm}
+\begin{tikzpicture}
+\tige{1}{1}{1}
+\barres{1}
+\tige[5]{1}{6}{1}
+\barbil[5]{1}{5}
+\barres[5]{1}
+\tige[9]{1}{5}{1}
+\barres[9]{1}
+\end{tikzpicture}
+\end{minipage}
+\end{center}
+
+\nocite{*}
+\bgroup
+\raggedright
+\bibliographystyle{plain}
+\bibliography{\jobname}
+\egroup
+
+\end{document}
+
+
diff --git a/Master/texmf-dist/tex/latex/pgf-soroban/pgf-soroban.sty b/Master/texmf-dist/tex/latex/pgf-soroban/pgf-soroban.sty
new file mode 100644
index 00000000000..b9c730f448a
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/pgf-soroban/pgf-soroban.sty
@@ -0,0 +1,106 @@
+%%
+%% This is file `pgf-soroban.sty',
+%%
+%%% ====================================================================
+%%% @LaTeX-file{
+%%% filename = "pgf-soroban.sty",
+%%% version = "1.0",
+%%% date = "2007/12/10",
+%%% author = "Alain Delmotte",
+%%% address = "Alain Delmotte,
+%%% avenue du Marathon, 6,
+%%% B-1348 Louvain-la-Neuve
+%%% BELGIUM",
+%%% email = "esperanto@swing.be",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "soroban, abacus, japanese",
+%%% supported = "yes",
+%%% }
+%
+
+\RequirePackage{calc,ifthen}
+\RequirePackage{tikz}
+
+\definecolor{brun}{rgb}{.55 .27 .08} % nouvelle couleur brune
+\newcommand{\colbil}{yellow} % couleur par défaut des billes
+\newcommand{\coltig}{brun} % couleur par défaut des billes
+
+\newcounter{xx}
+\newcounter{yy}
+\newlength{\unba}\setlength{\unba}{1mm} % unité de base, par défaut 1mm
+\newlength{\eplia}\setlength{\eplia}{3.9mm} % support et ligne centrale
+\newlength{\eplib}\setlength{\eplib}{2pt} % deux barres autour ligne centrale
+\newlength{\eplic}\setlength{\eplic}{6pt} % cadre et barres extérieures
+\newlength{\eplid}\setlength{\eplid}{1pt} % arrondi des billes
+
+\newcommand{\ladj}[1]{% ajustement des longueurs
+\setlength{\unba}{1mm * \real{#1}}
+\setlength{\eplia}{3.9mm * \real{#1}}
+\setlength{\eplib}{2pt * \real{#1}}
+\setlength{\eplic}{6pt * \real{#1}}
+\setlength{\eplid}{1pt * \real{#1}}
+}
+
+\newcommand{\bille}[2]{\filldraw[fill=#2, draw=\coltig, line width=\eplib,x=\unba, y=\unba,rounded corners=\eplid ](#1)+(-8.7,0){-- +(-2.2,5.3)-- +(2.2,5.3)}-- +(8.7,0){-- +(2.2,-5.3)-- +(-2.2,-5.3)}--cycle; %[rounded corners, very thick]
+\draw[draw=\coltig, cap=round, line width=\eplib,x=\unba, y=\unba ] (#1)+(-8.6,0)-- +(8.6,0);
+}
+
+\newcommand{\support}[1]{%
+\draw[line width=\eplia, \coltig,x=\unba, y=\unba ](#1,0)-- +(0,74);
+\draw[line width=\eplia, white,x=\unba, y=\unba ](#1,0)+(-10,54.4)-- +(10,54.4);
+\draw[line width=\eplib, x=\unba, y=\unba ](#1,0)+(-11,52.8)-- +(11,52.8);
+\draw[line width=\eplib, x=\unba, y=\unba ](#1,0)+(-11,56.1)-- +(11,56.1);
+}
+
+\newcommand{\tige}[4][1]{\setcounter{xx}{20*(#2-1+#1) - 10}%
+\support{\value{xx}}
+\ifthenelse{#3>4}{\bille{\value{xx},62}{\colbil}}{\bille{\value{xx},68.2}{\colbil}}
+\ifthenelse{\(#3=0\)\or\(#3=5\)}{\foreach \m in {5.3,16,26.7,37.4} {\bille{\value{xx},\m}{\colbil};}}{%
+\ifthenelse{\(#3=1\)\or\(#3=6\)}{\foreach \m in {5.3,16,26.7,46.9} {\bille{\value{xx},\m}{\colbil};}}{%
+\ifthenelse{\(#3=2\)\or\(#3=7\)}{\foreach \m in {5.3,16,36.3,46.9} {\bille{\value{xx},\m}{\colbil};}}{%
+\ifthenelse{\(#3=3\)\or\(#3=8\)}{\foreach \m in {5.3,25.6,36.3,46.9} {\bille{\value{xx},\m}{\colbil};}}{%
+\ifthenelse{\(#3=4\)\or\(#3=9\)}{\foreach \m in {14.9,25.6,36.3,46.9} {\bille{\value{xx},\m}{\colbil};}}{%
+}}}}}
+\ifthenelse{#4=1}{\draw[fill=black,x= \unba, y= \unba] (\value{xx},54.4) circle(\unba);}{}
+}
+
+\newcommand{\binoire}[4][1]{%
+\setcounter{xx}{20*(#2-1+#1)-10}
+\ifthenelse{#3=1}{\bille{\value{xx},5.3}{#4};}{% 1 en bas xooo o
+\ifthenelse{#3=2}{\bille{\value{xx},16}{#4};}{% 2 oxoo o
+\ifthenelse{#3=3}{\bille{\value{xx},26.7}{#4};}{% 3 ooxo o
+\ifthenelse{#3=4}{\bille{\value{xx},37.4}{#4};}{% 4 ooox o
+\ifthenelse{#3=5}{\bille{\value{xx},46.9}{#4};}{% 6 ooo x o
+\ifthenelse{#3=6}{\bille{\value{xx},36.3}{#4};}{% 7 oo xo o
+\ifthenelse{#3=7}{\bille{\value{xx},25.6}{#4};}{% 8 o xoo o
+\ifthenelse{#3=8}{\bille{\value{xx},14.9}{#4};}{% 9 xooo o
+\ifthenelse{#3=9}{\bille{\value{xx},68.2}{#4};}{% 5 * 0 oooo x
+\ifthenelse{#3=10}{\bille{\value{xx},62}{#4};}{% 5 * 1 oooo x
+}}}}}}}}}}
+}
+
+\newcommand{\barbil}[3][1]{%
+\setcounter{xx}{20*(#2-1+#1)-10}
+\ifthenelse{#3=1}{\draw[draw=\coltig, cap=round, line width=\unba,x=\unba, y=\unba ] (\value{xx},5.3)+(-8.6,-5.3)-- +(8.6,5.3);}{ % 1 = 1 en bas xooo oo
+\ifthenelse{#3=2}{\draw[draw=\coltig, cap=round, line width=\unba,x=\unba, y=\unba ] (\value{xx},16)+(-8.6,-5.3)-- +(8.6,5.3);}{ % 2 = 2 oxoo oo
+\ifthenelse{#3=3}{\draw[draw=\coltig, cap=round, line width=\unba,x=\unba, y=\unba ] (\value{xx},26.7)+(-8.6,-5.3)-- +(8.6,5.3);}{ % 3 = 3 ooxo oo
+\ifthenelse{#3=4}{\draw[draw=\coltig, cap=round, line width=\unba,x=\unba, y=\unba ] (\value{xx},37.4)+(-8.6,-5.3)-- +(8.6,5.3);}{ % 4 = 4 ooox oo
+\ifthenelse{#3=5}{\draw[draw=\coltig, cap=round, line width=\unba,x=\unba, y=\unba ] (\value{xx},46.9)+(-8.6,-5.3)-- +(8.6,5.3);}{ % 5 = 6 ooo x oo
+\ifthenelse{#3=6}{\draw[draw=\coltig, cap=round, line width=\unba,x=\unba, y=\unba ] (\value{xx},36.3)+(-8.6,-5.3)-- +(8.6,5.3);}{ % 6 = 7 oo xo oo
+\ifthenelse{#3=7}{\draw[draw=\coltig, cap=round, line width=\unba,x=\unba, y=\unba ] (\value{xx},25.6)+(-8.6,-5.3)-- +(8.6,5.3);}{ % 7 = 8 o xoo oo
+\ifthenelse{#3=8}{\draw[draw=\coltig, cap=round, line width=\unba,x=\unba, y=\unba ] (\value{xx},14.9)+(-8.6,-5.3)-- +(8.6,5.3);}{ % 8 = 9 xooo oo
+\ifthenelse{#3=9}{\draw[draw=\coltig, cap=round, line width=\unba,x=\unba, y=\unba ] (\value{xx},68.2)+(-8.6,-5.3)-- +(8.6,5.3);}{ % 9 = 5 * 0 oooo ox
+\ifthenelse{#3=10}{\draw[draw=\coltig, cap=round, line width=\unba,x=\unba, y=\unba ] (\value{xx},62)+(-8.6,-5.3)-- +(8.6,5.3);}{ % 10 = 5 * 1 oooo xo
+}}}}}}}}}}
+}
+
+\newcommand{\cadre}[2][1]{\setcounter{xx}{20*(#2-1+#1) + 1}%
+\draw[black, line width=\eplic,x=\unba, y=\unba, rounded corners=\eplia](-1,-1.2)-- (\value{xx},-1.2)-- (\value{xx},74.65)-- (-1, 74.65)--cycle;
+}
+
+\newcommand{\barres}[2][1]{%
+\setcounter{xx}{20*(#1) -21}%
+\setcounter{yy}{20*(#2-1+#1) + 2}%
+\draw[black, line width=\eplic,x=\unba, y=\unba](\value{xx},-1.2) -- (\value{yy},-1.2);
+\draw[black, line width=\eplic,x=\unba, y=\unba](\value{xx}, 74.65) -- (\value{yy}, 74.65);
+}
diff --git a/Master/tlpkg/bin/ctan2tds b/Master/tlpkg/bin/ctan2tds
index 2a37f03e275..ad6076e5d40 100755
--- a/Master/tlpkg/bin/ctan2tds
+++ b/Master/tlpkg/bin/ctan2tds
@@ -1077,6 +1077,7 @@ $standardbib='\.bib$'; # $ so we don't find README.bibtex in IEEEtran
'iopart-num', 'NULL',
'mslapa', 'NULL',
'munich', 'NULL',
+ 'pgf-soroban', 'NULL',
'pst-labo', 'NULL',
'ucthesis', 'NULL',
'umthesis', 'NULL',
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index bfcf62ae877..87d2300d57e 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -124,7 +124,7 @@ my @WorkingTLP = qw(
papercdcase papertex parallel paresse parrun pauldoc
pdf-forms-tutorial-de pdf-forms-tutorial-en pdf-trans pdfcprot
pdfpages pdfscreen pdfsync pdftex-def perception perltex permute
- pgf phaistos philex philosophersimprint
+ pgf pgf-soroban phaistos philex philosophersimprint
pict2e pictex pictex2 pinlabel pittetd placeins plari plates play
poemscol polynom polynomial polytable powerdot ppr-prv
pracjourn preprint
diff --git a/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc b/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc
index a1c57f43bec..91bd8a06513 100644
--- a/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc
@@ -14,6 +14,7 @@ depend miniplot
depend pb-diagram
depend petri-nets
depend pgf
+depend pgf-soroban
depend picinpar
depend pict2e
depend pictex
diff --git a/Master/tlpkg/tlpsrc/pgf-soroban.tlpsrc b/Master/tlpkg/tlpsrc/pgf-soroban.tlpsrc
new file mode 100644
index 00000000000..af9ce0e287b
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/pgf-soroban.tlpsrc
@@ -0,0 +1,2 @@
+name pgf-soroban
+category Package