texlive[74935] Master: cistercian (13apr25)

commits+karl at tug.org commits+karl at tug.org
Sun Apr 13 22:31:54 CEST 2025


Revision: 74935
          https://tug.org/svn/texlive?view=revision&revision=74935
Author:   karl
Date:     2025-04-13 22:31:54 +0200 (Sun, 13 Apr 2025)
Log Message:
-----------
cistercian (13apr25)

Modified Paths:
--------------
    trunk/Master/tlpkg/bin/tlpkg-ctan-check
    trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/cistercian/
    trunk/Master/texmf-dist/doc/latex/cistercian/DEPENDS.txt
    trunk/Master/texmf-dist/doc/latex/cistercian/README.md
    trunk/Master/texmf-dist/doc/latex/cistercian/cistercian-doc-settings.sty
    trunk/Master/texmf-dist/doc/latex/cistercian/cistercian-doc.pdf
    trunk/Master/texmf-dist/doc/latex/cistercian/cistercian-doc.tex
    trunk/Master/texmf-dist/tex/latex/cistercian/
    trunk/Master/texmf-dist/tex/latex/cistercian/cistercian.sty
    trunk/Master/tlpkg/tlpsrc/cistercian.tlpsrc

Added: trunk/Master/texmf-dist/doc/latex/cistercian/DEPENDS.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/cistercian/DEPENDS.txt	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/cistercian/DEPENDS.txt	2025-04-13 20:31:54 UTC (rev 74935)
@@ -0,0 +1,3 @@
+hard pgf
+hard iftex
+hard epstopdf-pkg


Property changes on: trunk/Master/texmf-dist/doc/latex/cistercian/DEPENDS.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/cistercian/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/cistercian/README.md	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/cistercian/README.md	2025-04-13 20:31:54 UTC (rev 74935)
@@ -0,0 +1,28 @@
+![](https://raw.githubusercontent.com/samcarter/cistercian/main/ICON.png)
+
+# cistercian
+
+[![License](https://img.shields.io/github/license/samcarter/cistercian.svg?color=blue)](https://www.latex-project.org/lppl.txt)
+[![GitHub tag](https://img.shields.io/github/tag/samcarter/cistercian.svg?label=current%20version&color=blue)](https://github.com/samcarter/cistercian/releases/latest)
+[![CTAN](https://img.shields.io/ctan/v/cistercian.svg?color=blue)](https://ctan.org/pkg/cistercian)
+
+A package to display cistercian numerals.
+
+This project is licensed under the LaTeX Project Public License v1.3c or later, see https://www.latex-project.org/lppl.txt . 
+
+The project repository, including a bug tracker, can be found at https://github.com/samcarter/cistercian .
+
+### Usage
+
+```latex
+\documentclass{standalone}
+\usepackage{cistercian}
+
+\begin{document}
+
+\cistercian{42}
+
+\end{document}
+```
+
+For more details, please consult the [package documentation](https://github.com/samcarter/cistercian/blob/main/DOCUMENTATION.pdf).


Property changes on: trunk/Master/texmf-dist/doc/latex/cistercian/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/cistercian/cistercian-doc-settings.sty
===================================================================
--- trunk/Master/texmf-dist/doc/latex/cistercian/cistercian-doc-settings.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/cistercian/cistercian-doc-settings.sty	2025-04-13 20:31:54 UTC (rev 74935)
@@ -0,0 +1,204 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Personal helper theme for package documentations
+% Copyright samcarter
+%
+% This file may be distributed and/or modified
+% under the LaTeX Project Public License 1.3c or later
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% Usage:
+% ln ~/Life/latex/beamertheme-sam/themesam.sty package-doc-settings.sty 
+% \usepackage[
+%   themecolor=samdblue
+% ]{\jobname-settings}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Colours
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage{xcolor}
+\definecolor{samyellow}{RGB}{246,193,65}
+\definecolor{samorange}{RGB}{241,147,45}
+\definecolor{samred}{RGB}{191,26,46}
+\definecolor{sammagenta}{RGB}{170,42,104}
+\definecolor{samviolet}{RGB}{136,46,114}
+\definecolor{samlila}{RGB}{101,67,159}
+\definecolor{samdblue}{RGB}{0,51,134}
+\definecolor{samlblue}{RGB}{22,89,155}
+\definecolor{samteal}{RGB}{25,143,157}
+\definecolor{samlgreen}{RGB}{68,170,153}
+\definecolor{samdgreen}{RGB}{78,178,125}
+\definecolor{samlgray}{RGB}{160,160,185}
+\definecolor{samdgray}{RGB}{60,60,85}
+
+\newcommand{\samcolours}{
+  \foreach \sam at col/\sam at pkg in {
+    samyellow/???,
+    samorange/Pgfplots,
+    samred/TikZbricks,
+    sammagenta/TikZmarmots,
+    samviolet/TikZlings,
+    samlila/Rainbow,
+    samdblue/Sam Theme,
+    samlblue/TikZducks,
+    samteal/Tcolorbox,
+    samlgreen/Jigsaw,
+    samdgreen/???,
+    samlgray/Cistercian,
+    samdgray/???%
+  }{
+    \begingroup
+      \color{\sam at col}%
+      \makebox[0cm][l]{\rule[-0.9cm]{2.5cm}{2cm}}%
+    \endgroup
+    \parbox[c][2cm]{2.5cm}{\bfseries\color{white}\centering \sam at col\\\sam at pkg}%
+  }
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Package options
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage{xkeyval}
+\DeclareOptionX{themecolor}[samdblue]{\colorlet{themecolor}{#1}}
+\DeclareOptionX{listingcolor}[samlblue]{\colorlet{listingcolor}{#1}}
+\ExecuteOptionsX{themecolor,listingcolor}
+\ProcessOptionsX
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Packages
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\@ifclassloaded{scrartcl}{%
+  \RequirePackage[english]{babel}
+  \RequirePackage[paper=a4paper,margin=2.9cm]{geometry}
+  \RequirePackage{scrlayer-scrpage}
+  \let\hrulefillx\hrulefill
+  \RequirePackage[bitstream-charter]{mathdesign}
+  \let\hrulefill\hrulefillx
+  \RequirePackage[hang,flushmargin,bottom]{footmisc}
+  \RequirePackage{footnotehyper}
+  \makesavenoteenv{tcolorbox}
+  \RequirePackage[all]{nowidow}
+  \RequirePackage[hyphens]{url}
+  \RequirePackage[colorlinks=true,breaklinks=true,allcolors=themecolor,hyperfootnotes=false]{hyperref}
+}{}
+\RequirePackage[T1]{fontenc}
+\RequirePackage{xspace}
+\RequirePackage{inconsolata}% mono font with bold, but italic is missing
+% \RequirePackage[scale=0.85]{cascadia-code}
+% \AddToHook{cmd/ttfamily/before}{\fontseries{sl}}
+\RequirePackage{synthslant}% to fake slanted comments in inconsolata
+\RequirePackage{metalogox}% should be loaded after the fonts
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Listings
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\@ifclassloaded{xbeamer}{}{
+\RequirePackage[cachedir=./.minted]{minted}
+
+\AddToHook{env/MintedVerbatim/before}{%
+  % optional arguments
+  \@namedef{PYG at tok@na}{\def\PYG at tc##1{\textcolor{black}{##1}}}%
+  % macros
+  \@namedef{PYG at tok@k}{\def\PYG at tc##1{\textcolor{listingcolor}{\bfseries ##1}}}%
+  % curly brackets
+  \@namedef{PYG at tok@nb}{\def\PYG at tc##1{\textcolor{listingcolor}{\bfseries ##1}}}%
+  % comments (italics won't work with the inconsolata font)
+  \@namedef{PYG at tok@c}{\def\PYG at tc##1{\textcolor{gray}{\textsynthslant{##1}}}}%
+}
+
+\usemintedstyle{default}
+\setminted{
+  breaksymbolleft={},
+  tabsize=2,
+  breaklines=true,
+}
+\newminted[samcode]{latex}{}
+\newmintinline[saminline]{latex}{}
+
+% use non-bold and all coloured for inline code in articles
+\ifdefined\insertaspectratio\else
+  \patchcmd{\minted at inputpyg@inline}{\minted at input}{\color{listingcolor}\renewcommand\textcolor[3][]{##3}\renewcommand\bfseries{}\minted at input}{}{}
+\fi
+
+\RequirePackage[most]{tcolorbox}
+\tcbuselibrary{minted}
+\tcbset{%
+  colframe=themecolor,
+  fonttitle=\bfseries,
+  sidebyside,
+  center lower,
+  righthand width=5.7cm,
+  bottom=2pt, 
+  top=2pt,
+  left=3pt,
+  right=3pt,
+  sidebyside gap=10pt,
+  lower separated=false,
+  listing engine=minted,
+  minted language=latex,
+  colback=themecolor!10,
+  sharp corners,
+  boxrule=0pt,
+  before title={\strut}
+}
+
+% avoid page breaks right in front of the tcolorbox
+\@ifclassloaded{beamer}{}{
+  \tcbuselibrary{hooks}
+  \tcbset{before pre={\nopagebreak[4]}}
+}
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% document settings
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\@ifclassloaded{scrartcl}{%
+  \KOMAoptions{parskip=half}
+  \addtokomafont{sectioning}{\color{themecolor}}
+  \addtokomafont{date}{\normalsize}
+  \addtokomafont{author}{\normalsize}
+  \setlength{\footnotemargin}{0.7em}
+}{}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Custom macros
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\providecommand*{\CTAN}{\textsc{CTAN}\xspace}
+\providecommand*{\TikZ}{Ti\emph{k}Z\xspace}
+\providecommand*{\miktex}{MiK\TeX\xspace}
+\providecommand*{\texlive}{\TeX{}Live\xspace}
+\providecommand*{\tikzbrick}{Ti\emph{k}Zbrick\xspace}
+\providecommand*{\tikzducks}{Ti\emph{k}Zducks\xspace}
+\providecommand*{\tikzlings}{Ti\emph{k}Zlings\xspace}
+\providecommand*{\tikzmarmots}{Ti\emph{k}Zmarmots\xspace}
+\providecommand*{\ConTeXt}{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Doc blurb
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcommand{\packagename}[1]{\def\@packagename{#1}}
+
+\NewDocumentCommand\blurb{s}{%
+  This package is work in progress, therefore I would be happy to hear your feedback and ideas how to improve the package. The development version of the source code can be found at  \url{https://github.com/samcarter/\@packagename}, including an issue tracker.
+  \IfBooleanF#1{%
+    A more stable version of the package can be found on \CTAN (\url{https://ctan.org/pkg/\@packagename}) and is included in both \texlive and \miktex as \texttt{\@packagename}.
+  }%
+  If you seek any other assistance (not bug reports/feature requests), I suggest asking at \url{https://topanswers.xyz/tex}.
+
+  Copyright {\footnotesize\textcopyright} \texttt{samcarter}. Permission is granted to copy, distribute and\slash or modify this software under the terms of the LaTeX project public licence, version 1.3c or later \url{https://www.latex-project.org/lppl.txt}.
+}
\ No newline at end of file


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

Index: trunk/Master/texmf-dist/doc/latex/cistercian/cistercian-doc.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/cistercian/cistercian-doc.pdf	2025-04-13 20:30:27 UTC (rev 74934)
+++ trunk/Master/texmf-dist/doc/latex/cistercian/cistercian-doc.pdf	2025-04-13 20:31:54 UTC (rev 74935)

Property changes on: trunk/Master/texmf-dist/doc/latex/cistercian/cistercian-doc.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/cistercian/cistercian-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/cistercian/cistercian-doc.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/cistercian/cistercian-doc.tex	2025-04-13 20:31:54 UTC (rev 74935)
@@ -0,0 +1,145 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Documentation for the cistercian package
+% A package to display cistercian numerals
+% Maintained by samcarter
+%
+% Project repository and bug tracker:
+% https://github.com/samcarter/cistercian
+%
+% Released under the LaTeX Project Public License v1.3c or later
+% See https://www.latex-project.org/lppl.txt
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% arara: latexmk
+\documentclass{scrartcl}
+
+\usepackage[
+  themecolor=samlgray,
+]{\jobname-settings}
+\colorlet{red}{samred}
+
+\usepackage{cistercian}
+
+\setlength{\footheight}{21pt}
+\cfoot{%
+  \cistercian[stroke=0.1ex,scale=2]{\value{page}}
+}
+\pagestyle{scrheadings}
+
+% meta %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\title{The cistercian package}
+\subtitle{A package to display Cistercian numerals}
+\author{%
+  \texorpdfstring{
+    \texttt{samcarter}\\
+    \url{https://github.com/samcarter/cistercian}\\
+%    \url{https://ctan.org/pkg/cistercian}
+  }{samcarter}}
+\date{Version v0.1 \textendash{} 2025/04/12}
+\packagename{cistercian}
+
+\begin{document}
+\maketitle
+\thispagestyle{scrheadings}
+
+\section{Introduction}
+
+The \saminline|cistercian| package is meant for displaying Cistercian numerals in \LaTeX{}.
+It was inspired by the Numberphile video ``The Forgotten Number System''\footnote{\url{https://www.youtube.com/watch?v=9p55Qgt7Ciw}}. Many thanks to Paulo Cereda for bringing this video to my attention!
+
+\blurb*
+
+\section{Cistercian numerals}
+
+Cistercian numerals are a nearly forgotten number system which was invented in the late Middle Ages by Cistercian monks who were, at that time, one of the most influential congregations with monasteries spreading over most of Europe.
+
+Cistercian numerals are a base-10 system for natural numbers up to 9999.
+They are formed by a vertical stem for zero \cistercian{0}.
+Onto this stem, additional markings are added to denote individual digits, e.g.\ 1 is \cistercian{1}, 2 is \cistercian{2}, etc.
+The markings for ones are added at the top right, the ones for tens are mirrored to the top left (e.g.\ 10 is \cistercian{10}), hundreds at the bottom right (e.g.\ 100 is \cistercian{100}) and thousands at the bottom left (e.g.\ \cistercian{1000}).
+To form the complete number, the digits are superimposed on top of each other, e.g.\ 1111 is \cistercian{1111}.
+
+While arithmetic calculations are hard with such a numeral system, it provides a compact and uniform way to denote natural numbers, making it well suited for year numbers or sequences like page numbers and footnotes. 
+
+Several variants were in use, in this package we are adopting the glyph shapes as shown in \url{https://commons.wikimedia.org/wiki/File:Cistercian_digits_(vertical).svg}.
+
+\clearpage
+\section{Overview numerals}
+
+\begin{center}
+\tikzset{
+  /cistercian/.cd,
+  height=4.5ex,
+  stroke=0.3ex
+}
+\begin{tabular}{*{9}{c}}
+\cistercian{1} & \cistercian{2} & \cistercian{3} & \cistercian{4} & \cistercian{5} & \cistercian{6} & \cistercian{7} & \cistercian{8} & \cistercian{9} \\
+1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9\\
+\cistercian{10} & \cistercian{20} & \cistercian{30} & \cistercian{40} & \cistercian{50} & \cistercian{60} & \cistercian{70} & \cistercian{80} & \cistercian{90} \\
+10 & 20 & 30 & 40 & 50 & 60 & 70 & 80 & 90\\
+\cistercian{100} & \cistercian{200} & \cistercian{300} & \cistercian{400} & \cistercian{500} & \cistercian{600} & \cistercian{700} & \cistercian{800} & \cistercian{900} \\
+100 & 200 & 300 & 400 & 500 & 600 & 700 & 800 & 900\\
+\cistercian{1000} & \cistercian{2000} & \cistercian{3000} & \cistercian{4000} & \cistercian{5000} & \cistercian{6000} & \cistercian{7000} & \cistercian{8000} & \cistercian{9000} \\
+1000 & 2000 & 3000 & 4000 & 5000 & 6000 & 7000 & 8000 & 9000\\
+\end{tabular}
+\end{center}
+
+\section{Basic usage}
+
+The \saminline|cistercian| package provides the macro \saminline|\cistercian{<number>}| to show a given number as Cistercian numeral.
+\begin{tcblisting}{title={Basic macro},environment lower args={scalebox}{5}}
+\cistercian{42}
+\end{tcblisting}
+
+To change the page numbering of a document to Cistercian numerals, the following macro can be used:
+\begin{tcblisting}{title={Page numbering},listing only}
+\pagenumbering{cistercian}
+\end{tcblisting}
+
+\section{Options}
+
+By default, the Cistercian numerals will scale with the surrounding font:
+\begin{tcblisting}{title={Font scaling}}
+\cistercian{2} Text
+
+\Huge \cistercian{5} Text
+\end{tcblisting}
+
+However the height, width and stroke can also be controlled individually (values in parenthesis denote the default value):
+\begin{tcblisting}{title={Height (height of ``I'')},environment lower args={scalebox}{5}}
+\cistercian{9}
+\cistercian[height=2ex]{9}
+\end{tcblisting}
+\begin{tcblisting}{title={Width (height/3)},environment lower args={scalebox}{5}}
+\cistercian{5}
+\cistercian[width=0.7ex]{5}
+\end{tcblisting}
+\begin{tcblisting}{title={Stroke (height/10)},environment lower args={scalebox}{5}}
+\cistercian{7}
+\cistercian[stroke=0.5mm]{7}
+\end{tcblisting}
+
+Internally the package uses a \saminline|tikzpicture| to draw the numeral and also accepts all options, which can normally be passed to the \saminline|tikzpicture| environment, in its optional argument. This can for example be used to change the colour or scale the numeral:
+\begin{tcblisting}{title={\TikZ\ options},environment lower args={scalebox}{5}}
+\cistercian[scale=2,draw=red]{3141}
+\end{tcblisting}
+
+Another option \TikZ\ option which might be useful for the Cistercian numerals is \saminline|line join|, which changes how the lines connect to each other. This alters the appearance of the numbers quite a bit and can help to blend them in with the surrounding font.
+\begin{tcblisting}{title={Line join (miter)},environment lower args={scalebox}{5}}
+\cistercian[line join=round]{53}
+\cistercian[line join=bevel]{53}
+\cistercian[line join=miter]{53}
+\end{tcblisting}
+
+\section{Alternatives}
+
+User, for whom compilation speed is important and who do not need the possibility to modify the appearance of the numerals via Ti\emph{k}Z options, should have a look at the amazingly fast and very versatile \href{https://ctan.org/pkg/xistercian}{xistercian} package.
+
+%\section{Testing}
+%
+%\foreach \macro in {1,...,999}{
+%  \macro:\cistercian[scale=10,line join=bevel]{\macro}
+%}
+
+\end{document}
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/doc/latex/cistercian/cistercian-doc.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/cistercian/cistercian.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/cistercian/cistercian.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/cistercian/cistercian.sty	2025-04-13 20:31:54 UTC (rev 74935)
@@ -0,0 +1,148 @@
+% !TeX root = cistercian-doc.tex
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% The cistercian package 
+% A package for using Cistercian numerals in latex
+% Maintained by samcarter
+%
+% Project repository and bug tracker:
+% https://github.com/samcarter/cistercian
+%
+% Released under the LaTeX Project Public License v1.3c or later
+% See https://www.latex-project.org/lppl.txt
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ProvidesPackage{cistercian}[2025/04/12 version v0.1 Cistercian numerals]
+
+\RequirePackage{tikz}
+\newlength{\cistercian at I}
+
+\tikzset{
+  /cistercian/.search also={/tikz,/pgf},
+  /cistercian/.cd,
+  height/.store in   = \cistercian at height,
+  height             = \cistercian at I,
+  width/.store in    = \cistercian at width,
+  width              = \cistercian at height/3,
+  stroke/.store in   = \cistercian at stroke,
+  stroke             = \cistercian at height/10,
+}
+
+% #1: optional arguments to be passed to the tikzpicture
+% #2: number to be displayed
+\newcommand{\cistercian}[2][]{%
+  \ifnum#2<10000
+  \unless\ifnum#2<0
+    \setlength{\cistercian at I}{\fontcharht\font`I}%
+    \begin{tikzpicture}[baseline,/cistercian/.cd,#1]%
+      %
+      % store scaling factor
+      \pgfgettransformentries{\tmpscaleA}{\tmpscaleB}{\tmpscaleC}{\tmpscaleD}{\tmp}{\tmp}%
+      \pgfmathsetmacro{\cistercian at scalingfactor}{sqrt(abs(\tmpscaleA*\tmpscaleD-\tmpscaleB*\tmpscaleC))*sqrt(abs((\pgf at xx/1cm)*(\pgf at yy/1cm)-(\pgf at xy/1cm)*(\pgf at yx/1cm)))}%
+      %
+      % ones
+      \pgfmathparse{int(mod(#2,10)}
+      \let\cistercian at ones\pgfmathresult
+      %
+      % tens
+      \pgfmathparse{int((mod(#2,100)-mod(#2,10))/10)}
+      \let\cistercian at tens\pgfmathresult
+      %
+      % hundreds
+      \pgfmathparse{int((mod(#2,1000)-mod(#2,100))/100)}
+      \let\cistercian at hundreds\pgfmathresult
+      %
+      % thousands
+      \pgfmathparse{int((mod(#2,10000)-mod(#2,1000))/1000)}
+      \let\cistercian at thousands\pgfmathresult
+      %
+      % superimposing the digts by mirroring
+      \cistercian at digit{\cistercian at ones}{\cistercian at tens}{\cistercian at scalingfactor*\cistercian at stroke}
+      \cistercian at digit[xscale=-1]{\cistercian at tens}{\cistercian at ones}{\cistercian at scalingfactor*\cistercian at stroke}
+      \cistercian at digit[yscale=-1,yshift=-\cistercian at height]{\cistercian at hundreds}{\cistercian at thousands}{\cistercian at scalingfactor*\cistercian at stroke}
+      \cistercian at digit[xscale=-1,yscale=-1,yshift=-\cistercian at height]{\cistercian at thousands}{\cistercian at hundreds}{\cistercian at scalingfactor*\cistercian at stroke}
+    \end{tikzpicture}%
+  \fi\fi%
+}
+
+% #1: optional arguments for mirroring the digit
+% #2: the digit to be printed
+% #3: digit on the other site of the stem (to handle edge cases of line joints)
+% #4: stroke width
+\newcommand{\cistercian at digit}[4][]{%
+  % making sure all numerals have the same width
+  \path[#1,line width=#4] (0,0) -- (\cistercian at width,0);
+  % drawing the stem for zero
+  \draw[#1,line width=#4] (0,.5*\cistercian at stroke) -- ++(0,\cistercian at height-\cistercian at stroke)
+  % adding features depending in the digit
+  \ifcase #2 \or % 1
+    -- ++(\cistercian at width,0)
+  \or % 2
+    ++(0,-\cistercian at width) -- ++(\cistercian at width,0)
+    \ifnum3=#3%
+    \else
+      (0,.5*\cistercian at stroke) -- (0,\cistercian at height)
+    \fi
+  \or % 3
+    % several special case to make sure the line joints with the other site of the number look nice
+    \ifnum1=#3%
+      ++(0,0) -- ++(.5*\cistercian at stroke,0)
+    \fi
+    \ifnum3=#3%
+      ++(-\cistercian at width,-\cistercian at width) -- ++(\cistercian at width,\cistercian at width)
+    \fi
+    \ifnum1=#3%
+      ++(-\cistercian at width,0) -- ++(\cistercian at width,0)
+    \fi
+    \ifnum5=#3%
+      ++(0,0) -- ++(.5*\cistercian at stroke,0)
+    \fi
+    \ifnum7=#3%
+      ++(0,0) -- ++(.5*\cistercian at stroke,0)
+    \fi
+    \ifnum9=#3%
+      ++(0,0) -- ++(.5*\cistercian at stroke,0)
+    \fi
+    -- (\cistercian at width,\cistercian at height-\cistercian at width-.5*\cistercian at stroke)
+  \or % 4
+    ++(0ex,-\cistercian at width) -- ++(\cistercian at width,\cistercian at width)
+    \ifnum3=#3%
+    \else
+      (0,.5*\cistercian at stroke) -- (0,\cistercian at height)
+    \fi
+  \or % 5
+    -- ++(\cistercian at width,0ex) -- ++(-\cistercian at width,-\cistercian at width)
+  \or % 6
+    ++(\cistercian at width,.5*\cistercian at stroke) -- ++(0ex,-\cistercian at width-.5*\cistercian at stroke)
+    \ifnum3=#3%
+    \else
+      (0,.5*\cistercian at stroke) -- (0,\cistercian at height)
+    \fi
+  \or % 7
+    --  ++(\cistercian at width,0ex) -- ++(0,-\cistercian at width)
+  \or % 8
+    ++(0,-\cistercian at width) -- ++(\cistercian at width,0) -- ++(0,\cistercian at width+.5*\cistercian at stroke)
+    \ifnum3=#3%
+    \else
+      (0,.5*\cistercian at stroke) -- (0,\cistercian at height)
+    \fi
+  \or % 9
+    --  ++(\cistercian at width,0ex) -- ++(0,-\cistercian at width) -- ++(-\cistercian at width,0)
+  \fi  
+  ;
+  \ifnum0=#2%
+  \ifnum0=#3%
+    \draw[#1,line width=#4] (0,.5*\cistercian at stroke) -- ++(0,\cistercian at height-.5*\cistercian at stroke);
+  \fi\fi
+}
+
+% for \pagenumbering{cistercian}
+\ExplSyntaxOn
+\newcommand*\@cistercian { \__cistercian:n }
+\cs_new:Npn \__cistercian:n #1
+  {
+    \cistercian{\the #1}
+  }
+\ExplSyntaxOff
+
+\endinput


Property changes on: trunk/Master/texmf-dist/tex/latex/cistercian/cistercian.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-04-13 20:30:27 UTC (rev 74934)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check	2025-04-13 20:31:54 UTC (rev 74935)
@@ -193,7 +193,7 @@
     chkfloat chklref chletter chngcntr chordbars chordbox chronology
     chronos chronosys chs-physics-report chscite churchslavonic chuushaku
     cidarticle cinzel circ circledsteps circledtext circuit-macros circuitikz
-    circularglyphs citation-style-language cite citeall citeref
+    circularglyphs cistercian citation-style-language cite citeall citeref
     cje cjhebrew cjk cjk-gs-integrate cjk-ko cjkpunct cjs-rcs-article
     clara classics classpack classicthesis
     cleanthesis clearsans clefval cleveref cleveref-forward cleveref-usedon

Added: trunk/Master/tlpkg/tlpsrc/cistercian.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/cistercian.tlpsrc	                        (rev 0)
+++ trunk/Master/tlpkg/tlpsrc/cistercian.tlpsrc	2025-04-13 20:31:54 UTC (rev 74935)
@@ -0,0 +1,3 @@
+hard pgf
+hard iftex
+hard epstopdf-pkg

Modified: trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc	2025-04-13 20:30:27 UTC (rev 74934)
+++ trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc	2025-04-13 20:31:54 UTC (rev 74935)
@@ -209,6 +209,7 @@
 depend circ
 depend circledsteps
 depend circledtext
+depend cistercian
 depend classics
 depend classpack
 depend clefval



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