texlive[74943] Master/texmf-dist: xistercian (14apr25)
commits+karl at tug.org
commits+karl at tug.org
Mon Apr 14 21:50:58 CEST 2025
Revision: 74943
https://tug.org/svn/texlive?view=revision&revision=74943
Author: karl
Date: 2025-04-14 21:50:58 +0200 (Mon, 14 Apr 2025)
Log Message:
-----------
xistercian (14apr25)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/xistercian/README.md
trunk/Master/texmf-dist/doc/latex/xistercian/xistercian.pdf
trunk/Master/texmf-dist/source/latex/xistercian/xistercian.dtx
trunk/Master/texmf-dist/tex/latex/xistercian/xistercian.sty
Modified: trunk/Master/texmf-dist/doc/latex/xistercian/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/xistercian/README.md 2025-04-14 19:50:39 UTC (rev 74942)
+++ trunk/Master/texmf-dist/doc/latex/xistercian/README.md 2025-04-14 19:50:58 UTC (rev 74943)
@@ -1,7 +1,7 @@
-------------------------------------------------------------------------------
# xistercian -- Cistercian numerals in LaTeX
-Version 2021-12-20 v1.2
+Version 2025-04-13 v1.3
Released under the LaTeX Project Public License v1.3c or later
See http://www.latex-project.org/lppl.txt
@@ -10,7 +10,7 @@
-------------------------------------------------------------------------------
-Copyright (C) 2021 Jonathan P. Spratte
+Copyright (C) 2021-2025 Jonathan P. Spratte
This work may be distributed and/or modified under the conditions of the
LaTeX Project Public License (LPPL), either version 1.3c of this license or
Modified: trunk/Master/texmf-dist/doc/latex/xistercian/xistercian.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/source/latex/xistercian/xistercian.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/xistercian/xistercian.dtx 2025-04-14 19:50:39 UTC (rev 74942)
+++ trunk/Master/texmf-dist/source/latex/xistercian/xistercian.dtx 2025-04-14 19:50:58 UTC (rev 74943)
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% File: xistercian.dtx Copyright (C) 2021 Jonathan P. Spratte
+% File: xistercian.dtx Copyright (C) 2021-2025 Jonathan P. Spratte
%
% This work may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this license or
@@ -27,7 +27,7 @@
See http://www.latex-project.org/lppl.txt
--------------------------------------------------------------
-Copyright (C) 2020-2021 Jonathan P. Spratte
+Copyright (C) 2021-2025 Jonathan P. Spratte
This work may be distributed and/or modified under the conditions of the
LaTeX Project Public License (LPPL), either version 1.3c of this license or
@@ -55,7 +55,7 @@
\fi
%
\IfFileExists{xistercian.sty}{\RequirePackage[debug]{xistercian}}{}
-\ProvidesFile{xistercian.dtx}[2021-12-20 v1.2 Cistercian numerals in LaTeX]
+\ProvidesFile{xistercian.dtx}[2025-04-13 v1.3 Cistercian numerals in LaTeX]
\PassOptionsToPackage{full}{textcomp}
\documentclass{l3doc}
\RequirePackage[fulloldstyle,nott]{kpfonts}
@@ -153,10 +153,10 @@
\rlap
{
\textcolor{red}
- {\fbox{\phantom{\cisterciannumE{\l__xisterexample_digit_tl}}}}
+ {\fbox{\phantom{\cistercianeval{\l__xisterexample_digit_tl}}}}
}
\kern.5\fboxrule
- \cisterciannumE{\l__xisterexample_digit_tl}
+ \cistercianeval{\l__xisterexample_digit_tl}
\kern.5\fboxrule
\endgroup
}
@@ -164,11 +164,41 @@
\cistercianstyle{.ex}{sv=3pt,sdd=3pt,sh=2pt,sdu=2pt}
\cistercianstyle{vex}{o=v,bx=,by=,wd=7mm,ht=14mm,.ex}
\cistercianstyle{hex}{o=h,bx=,by=,ht=7mm,wd=14mm,.ex}
+\newcommand\setversion{}
\ExplSyntaxOff
+\protected\def\setversion#1-#2-#3 v#4\relax
+ {%
+ \year=#1\relax
+ \month=#2\relax
+ \day=#3\relax
+ \def\xistercianversion{#4}%
+ }
+\setversion 2025-04-13 v1.3\relax
+\newcommand\twodigits[1]{\ifnum#1<10 0\fi\the#1}
+\newcommand\expkvLogo% >>=
+ {%
+ \begingroup
+ \rmfamily
+ \bfseries
+ {\color{ekvgrey}e\kern-.05em x\kern-.05em}%
+ \lower.493ex\hbox{{\color{ekvgrey}P}\kern-.1em{\color{ekvred}k}}%
+ \kern-.18em{\color{ekvred}v}%
+ \endgroup
+ }
+\definecolor{ekvred}{HTML}{9F393D}
+\colorlet{ekvgrey}{black!75}
+% =<<
\begin{document}
\title{The \pkg{xistercian} package}
\author{Jonathan P. Spratte\thanks{\protect\randomize{jspratte at yahoo.de}}}
- \date{2021-12-20 v1.2}
+ \date
+ {%
+ \begin{tabular}{@{}c*2{@{-}c}@{}}
+ \twodigits\year & \twodigits\month & \twodigits\day \\
+ \cistercianeval\year & \cistercianeval\month & \cistercianeval\day
+ \end{tabular}
+ \quad v\xistercianversion
+ }
\DocInput{xistercian.dtx}
\end{document}
%</driver>^^A=<<
@@ -180,9 +210,11 @@
% \section{Documentation}
%
% The \pkg{xistercian} package provides Cistercian numerals for use in \LaTeX.
-% The name is chosen to be \pkg{xistercian} instead of \pkg{cistercian} because
-% I've learned that a (currently) unpublished package by that name already
-% exists and I don't want to be an evil name-stealer.
+% The name is chosen to be \pkg{xistercian} because of the older (but earlier
+% unreleased) \href{https://ctan.org/pkg/cistercian}{\pkg{cistercian} package},
+% which has the same goal but goes a different way implementing it. In that
+% other package you can change the way things look using Ti\textit{k}Z keys, so
+% you might want to check it out and see which of the two fits your needs best.
%
%
% \subsection{Introduction}
@@ -190,7 +222,7 @@
% Cistercian numerals are a system to denote the numbers from $1$ to $9999$ with
% a single glyph. They use a stem (\cistexnum{0}) that is used as zero by this
% package, and add the digits to that using small tick marks, the place denoting
-% the digits value. On the upper right means units (\cistexnum{1}), upper left
+% the digits' value. On the upper right means units (\cistexnum{1}), upper left
% tens (\cistexnum{10}), lower right hundreds (\cistexnum{100}), and lower left
% thousands (\cistexnum{1000}). Figure~\ref{fig:glyphs} gives an overview over
% the base glyphs.
@@ -292,9 +324,9 @@
% size.
% \end{function}
%
-% \begin{function}{\cisterciannumE}
+% \begin{function}{\cistercianeval}
% \begin{syntax}
-% \cs{cisterciannum}\marg{integer expression}
+% \cs{cistercianeval}\marg{integer expression}
% \end{syntax}
% Evaluates the \meta{integer expression} and prints the result as a
% Cistercian numeral.
@@ -348,10 +380,12 @@
%
% \subsection{Options}
%
-% The options described here are all usable as package options (except when
-% explicitly stated otherwise). \pkg{xistercian} doesn't parse the global
-% options provided to the documentclass. Additionally you can change the
-% options (except for the |debug| option) using |\cisterciansetup|.
+% The options\footnote{\meta{key}=\meta{value} interface powered by
+% \href{https://ctan.org/pkg/expkv-bundle}{\expkvLogo}} described here are all
+% usable as package options (except when explicitly stated otherwise).
+% \pkg{xistercian} doesn't parse the global options provided to the
+% documentclass. Additionally you can change the options (except for the |debug|
+% option) using |\cisterciansetup|.
%
% For the options |width| and |height|, and probably also the strokes, you
% should use dimensions using |ex| or |em| to get sizes depending on the current
@@ -760,7 +794,7 @@
% \gobbledocstriptag
%<*pkg>
% \begin{macrocode}
-\ProvidesPackage{xistercian}[2021-12-20 v1.2 Cistercian numerals in LaTeX]
+\ProvidesPackage{xistercian}[2025-04-13 v1.3 Cistercian numerals in LaTeX]
\RequirePackage{pgf,expkv-opt}
% \end{macrocode}
%
@@ -999,6 +1033,11 @@
% \begin{macrocode}
\ekvifdefinedset{xister}
{\PackageError{xistercian}{keyval conflict detected. Aborting}{}\endinput}{}
+% \end{macrocode}
+% We'll define a shorthand name and a long name for all the keys, so we set up
+% an auxiliary here for these definitions that'll just take two key names
+% instead of one for each definition.
+% \begin{macrocode}
\def\xister at tmp#1#2#3%
{%
\protected\long\ekvdef{xister}{#1}{#3}%
@@ -1080,10 +1119,13 @@
\xister at five@triangle at false
\xister at five@dot at false
}
-\protected\ekvsetdef\xister at five@set{xister/5}
-\ekvlet{xister}{5}\xister at five@set
-\ekvlet{xister}{alternate-5}\xister at five@set
-\let\xister at five@set\xister at undefined
+% \end{macrocode}
+% Starting here the |\xister at tmp| macro is no longer the shorthand for the
+% doubled definitions!
+% \begin{macrocode}
+\protected\ekvsetdef\xister at tmp{xister/5}
+\ekvlet{xister}{5}\xister at tmp
+\ekvlet{xister}{alternate-5}\xister at tmp
\protected\long\ekvdef{xister/6}{dot}
{%
\xister at six@stroke at false
@@ -1109,15 +1151,14 @@
\xister at six@stroke at false
\xister at six@dot at false
}
-\protected\ekvsetdef\xister at six@set{xister/6}
-\ekvlet{xister}{6}\xister at six@set
-\ekvlet{xister}{alternate-6}\xister at six@set
-\let\xister at six@set\xister at undefined
+\protected\ekvsetdef\xister at tmp{xister/6}
+\ekvlet{xister}{6}\xister at tmp
+\ekvlet{xister}{alternate-6}\xister at tmp
\protected\ekvdefNoVal{xister/9}{rectangle}{\xister at nine@triangle at false}
\protected\ekvdefNoVal{xister/9}{triangle}{\xister at nine@triangle at true}
-\protected\ekvsetdef\xister at nine@set{xister/9}
-\ekvlet{xister}{9}\xister at nine@set
-\ekvlet{xister}{alternate-9}\xister at nine@set
+\protected\ekvsetdef\xister at tmp{xister/9}
+\ekvlet{xister}{9}\xister at tmp
+\ekvlet{xister}{alternate-9}\xister at tmp
\protected\ekvdefNoVal{xister}{horizontal}
{%
\let\xister at build\xister at build@horizontal
@@ -1136,29 +1177,33 @@
\protected\ekvdefNoVal{xister}{debug}
{%
\xister at dbg@true
+ \protected\long\def\xister at dbg@msg##1%
+ {%
+ \begingroup
+ \newlinechar`\^^J
+ \message{##1}%
+ \endgroup
+ }%
+ \protected\long\def\xister at dbg@do##1%
+ {\xister at dbg@msg{^^JPackage xistercian Debug: ##1...}}%
+ \protected\long\def\xister at dbg@done{\xister at dbg@msg{ Done.^^J}}%
\protected\long\def\xister at dbg@dim##1%
{%
- \typeout
- {%
- Package xistercian Debug: Trying to use dimension
- `\unexpanded{##1}'.%
- }%
+ \xister at dbg@do{Trying to use dimension `\unexpanded{##1}'}%
\xister at TMPA=\dimexpr##1\relax
- \typeout{Package xistercian Debug: Done.}%
+ \xister at dbg@done
}%
\protected\long\def\xister at dbg@float##1%
{%
- \typeout
- {Package xistercian Debug: Trying to use float `\unexpanded{##1}'.}%
+ \xister at dbg@do{Trying to use float `\unexpanded{##1}'}%
\xister at TMPA=##1\z@
- \typeout{Package xistercian Debug: Done.}%
+ \xister at dbg@done
}%
\protected\long\def\xister at dbg@div##1%
{%
- \typeout
- {Package xistercian Debug: Trying to use divisor `\unexpanded{##1}'.}%
+ \xister at dbg@do{Trying to use divisor `\unexpanded{##1}'}%
\xister at TMPA=\dimexpr\z@/##1\relax
- \typeout{Package xistercian Debug: Done.}%
+ \xister at dbg@done
}%
}
% \end{macrocode}
@@ -1247,10 +1292,12 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}{\cisterciannumE}
+% \begin{macro}{\cistercianeval,\cisterciannumE}
+% The second macro is just there for backwards compatibility and deprecated.
% \begin{macrocode}
-\newcommand\cisterciannumE[1]
+\newcommand\cistercianeval[1]
{\expandafter\cisterciannum\expandafter{\the\numexpr#1\relax}}
+\let\cisterciannumE\cistercianeval
% \end{macrocode}
% \end{macro}
%
@@ -1751,8 +1798,8 @@
% \begin{macro}[internal]{\xister at setlengths}
% Lengths are set depending on the current font size and the sizes of
% |\xister at font|. To keep the font changes local they are kept inside a group
-% and a chain of |\expandafter|s is used to evaluate the user specified sizes
-% while the |\xister at font| is still active.
+% and a full expansion is used to evaluate the user specified sizes while the
+% |\xister at font| is still active.
% \begin{macrocode}
\protected\def\xister at setlengths
{%
@@ -1782,13 +1829,10 @@
% \end{macro}
%
% \begin{macro}[internal]{\xister at ensure@current}
-% The glyphs have to be rebuilt if the font size or colour changed. The latter
-% is an annoyance because we can build boxes in a way that they change colour
-% to the surrounding colour, but \pkg{PGF} is too intelligent here and does
-% issue the corresponding |\special|s to save the current colour for the box.
-% Because of that we test which |\f at size| and colour (using |\\color at .|) was
-% active when we last built the glyphs. If this matches we do nothing, else we
-% rebuild the glyphs.
+% The glyphs have to be rebuilt if the relevant font features changed (as
+% specified in \cs[no-index]{xister at fontfeatures}).
+% If all these font features match with whatever was active when we last built
+% the glyphs we do nothing, else we rebuild them.
%
% The |\edef| is just used to remove the |debug| code if it isn't necessary.
% \begin{macrocode}
@@ -1798,13 +1842,7 @@
\unexpanded{\unless\ifx\xister at tmp\xister at last@font}%
\ifxister at dbg@
\unexpanded
- {%
- \typeout
- {%
- Package xistercian Debug: Font changed. Building glyphs for
- \xister at tmp.
- }%
- }%
+ {\xister at dbg@do{Font changed. Building glyphs for \xister at tmp}}%
\fi
\unexpanded
{%
@@ -1812,7 +1850,7 @@
\xister at build
}%
\ifxister at dbg@
- \unexpanded{\typeout{Package xistercian Debug: Done.}}%
+ \unexpanded{\xister at dbg@done}%
\fi
\unexpanded{\fi}%
}
Modified: trunk/Master/texmf-dist/tex/latex/xistercian/xistercian.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/xistercian/xistercian.sty 2025-04-14 19:50:39 UTC (rev 74942)
+++ trunk/Master/texmf-dist/tex/latex/xistercian/xistercian.sty 2025-04-14 19:50:58 UTC (rev 74943)
@@ -13,7 +13,7 @@
%% See http://www.latex-project.org/lppl.txt
%% --------------------------------------------------------------
%%
-%% Copyright (C) 2020-2021 Jonathan P. Spratte
+%% Copyright (C) 2021-2025 Jonathan P. Spratte
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License (LPPL), either version 1.3c of this license or
@@ -29,7 +29,7 @@
%% and the derived files xistercian.pdf
%% xistercian.sty
%%
-\ProvidesPackage{xistercian}[2021-12-20 v1.2 Cistercian numerals in LaTeX]
+\ProvidesPackage{xistercian}[2025-04-13 v1.3 Cistercian numerals in LaTeX]
\RequirePackage{pgf,expkv-opt}
\newcommand*\xister at th{.1ex}
\newcommand*\xister at tv{.18ex}
@@ -261,10 +261,9 @@
\xister at five@triangle at false
\xister at five@dot at false
}
-\protected\ekvsetdef\xister at five@set{xister/5}
-\ekvlet{xister}{5}\xister at five@set
-\ekvlet{xister}{alternate-5}\xister at five@set
-\let\xister at five@set\xister at undefined
+\protected\ekvsetdef\xister at tmp{xister/5}
+\ekvlet{xister}{5}\xister at tmp
+\ekvlet{xister}{alternate-5}\xister at tmp
\protected\long\ekvdef{xister/6}{dot}
{%
\xister at six@stroke at false
@@ -290,15 +289,14 @@
\xister at six@stroke at false
\xister at six@dot at false
}
-\protected\ekvsetdef\xister at six@set{xister/6}
-\ekvlet{xister}{6}\xister at six@set
-\ekvlet{xister}{alternate-6}\xister at six@set
-\let\xister at six@set\xister at undefined
+\protected\ekvsetdef\xister at tmp{xister/6}
+\ekvlet{xister}{6}\xister at tmp
+\ekvlet{xister}{alternate-6}\xister at tmp
\protected\ekvdefNoVal{xister/9}{rectangle}{\xister at nine@triangle at false}
\protected\ekvdefNoVal{xister/9}{triangle}{\xister at nine@triangle at true}
-\protected\ekvsetdef\xister at nine@set{xister/9}
-\ekvlet{xister}{9}\xister at nine@set
-\ekvlet{xister}{alternate-9}\xister at nine@set
+\protected\ekvsetdef\xister at tmp{xister/9}
+\ekvlet{xister}{9}\xister at tmp
+\ekvlet{xister}{alternate-9}\xister at tmp
\protected\ekvdefNoVal{xister}{horizontal}
{%
\let\xister at build\xister at build@horizontal
@@ -314,29 +312,33 @@
\protected\ekvdefNoVal{xister}{debug}
{%
\xister at dbg@true
+ \protected\long\def\xister at dbg@msg##1%
+ {%
+ \begingroup
+ \newlinechar`\^^J
+ \message{##1}%
+ \endgroup
+ }%
+ \protected\long\def\xister at dbg@do##1%
+ {\xister at dbg@msg{^^JPackage xistercian Debug: ##1...}}%
+ \protected\long\def\xister at dbg@done{\xister at dbg@msg{ Done.^^J}}%
\protected\long\def\xister at dbg@dim##1%
{%
- \typeout
- {%
- Package xistercian Debug: Trying to use dimension
- `\unexpanded{##1}'.%
- }%
+ \xister at dbg@do{Trying to use dimension `\unexpanded{##1}'}%
\xister at TMPA=\dimexpr##1\relax
- \typeout{Package xistercian Debug: Done.}%
+ \xister at dbg@done
}%
\protected\long\def\xister at dbg@float##1%
{%
- \typeout
- {Package xistercian Debug: Trying to use float `\unexpanded{##1}'.}%
+ \xister at dbg@do{Trying to use float `\unexpanded{##1}'}%
\xister at TMPA=##1\z@
- \typeout{Package xistercian Debug: Done.}%
+ \xister at dbg@done
}%
\protected\long\def\xister at dbg@div##1%
{%
- \typeout
- {Package xistercian Debug: Trying to use divisor `\unexpanded{##1}'.}%
+ \xister at dbg@do{Trying to use divisor `\unexpanded{##1}'}%
\xister at TMPA=\dimexpr\z@/##1\relax
- \typeout{Package xistercian Debug: Done.}%
+ \xister at dbg@done
}%
}
\ekvoProcessLocalOptions{xister}
@@ -369,8 +371,9 @@
}
\protected\expandafter\def\csname cisterciannum \endcsname#1{\xister at a#1@}
\def\cisterciannum at pdf#1{CISTER#1}
-\newcommand\cisterciannumE[1]
+\newcommand\cistercianeval[1]
{\expandafter\cisterciannum\expandafter{\the\numexpr#1\relax}}
+\let\cisterciannumE\cistercianeval
\protected\def\cistercianredraw
{%
\def\xister at last@font{\xister at last@font}%
@@ -800,13 +803,7 @@
\unexpanded{\unless\ifx\xister at tmp\xister at last@font}%
\ifxister at dbg@
\unexpanded
- {%
- \typeout
- {%
- Package xistercian Debug: Font changed. Building glyphs for
- \xister at tmp.
- }%
- }%
+ {\xister at dbg@do{Font changed. Building glyphs for \xister at tmp}}%
\fi
\unexpanded
{%
@@ -814,7 +811,7 @@
\xister at build
}%
\ifxister at dbg@
- \unexpanded{\typeout{Package xistercian Debug: Done.}}%
+ \unexpanded{\xister at dbg@done}%
\fi
\unexpanded{\fi}%
}
More information about the tex-live-commits
mailing list.