texlive[74355] branches/branch2024.final/Master/texmf-dist: delimset

commits+karl at tug.org commits+karl at tug.org
Fri Feb 28 23:12:59 CET 2025


Revision: 74355
          https://tug.org/svn/texlive?view=revision&revision=74355
Author:   karl
Date:     2025-02-28 23:12:59 +0100 (Fri, 28 Feb 2025)
Log Message:
-----------
delimset (branch) (28feb25)

Modified Paths:
--------------
    branches/branch2024.final/Master/texmf-dist/doc/latex/delimset/README.txt
    branches/branch2024.final/Master/texmf-dist/doc/latex/delimset/delimset.pdf
    branches/branch2024.final/Master/texmf-dist/doc/latex/delimset/dlmssamp.tex
    branches/branch2024.final/Master/texmf-dist/source/latex/delimset/delimset.dtx
    branches/branch2024.final/Master/texmf-dist/tex/latex/delimset/delimset.sty

Modified: branches/branch2024.final/Master/texmf-dist/doc/latex/delimset/README.txt
===================================================================
--- branches/branch2024.final/Master/texmf-dist/doc/latex/delimset/README.txt	2025-02-28 22:12:49 UTC (rev 74354)
+++ branches/branch2024.final/Master/texmf-dist/doc/latex/delimset/README.txt	2025-02-28 22:12:59 UTC (rev 74355)
@@ -1,4 +1,4 @@
-delimset v2.1
+delimset v2.2
 Copyright 2016-2025 Niklas Beisert
 
 delimset is a LaTeX2e package to typeset and declare sets of delimiters

Modified: branches/branch2024.final/Master/texmf-dist/doc/latex/delimset/delimset.pdf
===================================================================
(Binary files differ)

Modified: branches/branch2024.final/Master/texmf-dist/doc/latex/delimset/dlmssamp.tex
===================================================================
--- branches/branch2024.final/Master/texmf-dist/doc/latex/delimset/dlmssamp.tex	2025-02-28 22:12:49 UTC (rev 74354)
+++ branches/branch2024.final/Master/texmf-dist/doc/latex/delimset/dlmssamp.tex	2025-02-28 22:12:59 UTC (rev 74355)
@@ -17,11 +17,11 @@
 %% version 2005/12/01 or later.
 %% 
 \NeedsTeXFormat{LaTeX2e}[1996/12/01]
-\ProvidesFile{dlmssamp.tex}[2025/01/05 v2.1 sample for delimset]
+\ProvidesFile{dlmssamp.tex}[2025/02/27 v2.2 sample for delimset]
 \documentclass[12pt]{article}
 
 \usepackage[margin=2cm]{geometry}
-\usepackage{amsmath,amsfonts}
+\usepackage{amsfonts}
 \usepackage{delimset}
 
 \begin{document}
@@ -57,11 +57,11 @@
 \]
 
 outer delimiter spacing:
-\begin{align*}
-&\square\brk^0{x}\square,&&\square\brk^1{A^k}\square,
+\[\begin{array}{ll}
+\square\brk^0{x}\square,&\square\brk^1{A^k}\square,
 \\
-&\square\brk*{x}\square,&&\square\brk*{A^k}\square
-\end{align*}
+\square\brk*{x}\square,&\square\brk*{A^k}\square
+\end{array}\]
 
 delimiter sizes in exponents:
 \[

Modified: branches/branch2024.final/Master/texmf-dist/source/latex/delimset/delimset.dtx
===================================================================
--- branches/branch2024.final/Master/texmf-dist/source/latex/delimset/delimset.dtx	2025-02-28 22:12:49 UTC (rev 74354)
+++ branches/branch2024.final/Master/texmf-dist/source/latex/delimset/delimset.dtx	2025-02-28 22:12:59 UTC (rev 74355)
@@ -1,5 +1,6 @@
-% \iffalse
 %
+% \iffalse meta-comment
+%
 % delimset.dtx Copyright (C) 2016-2025 Niklas Beisert
 %
 % This work may be distributed and/or modified under the
@@ -18,10 +19,10 @@
 % and the derived files delimset.sty and dlmssamp.tex.
 %
 %<package|sample>\NeedsTeXFormat{LaTeX2e}[1996/12/01]
-%<package>\ProvidesPackage{delimset}[2025/01/05 v2.1 convenient size control for delimiter sets]
-%<sample>\ProvidesFile{dlmssamp.tex}[2025/01/05 v2.1 sample for delimset]
+%<package>\ProvidesPackage{delimset}[2025/02/27 v2.2 convenient size control for delimiter sets]
+%<sample>\ProvidesFile{dlmssamp.tex}[2025/02/27 v2.2 sample for delimset]
 %<*driver>
-\def\thedate#1{2025/01/05}\def\theversion#1{v2.1}
+\def\thedate#1{2025/02/27}\def\theversion#1{v2.2}
 \ProvidesFile{delimset.dtx}[\thedate{} \theversion{} delimset reference manual file]
 \PassOptionsToClass{10pt,a4paper}{article}
 \documentclass{ltxdoc}
@@ -1254,10 +1255,8 @@
 The package is related to other packages available at CTAN:
 \begin{itemize}
 \item
-This package relies on some functionality of the package \ctanpkg{amsmath}
-by using and overwriting some native code.
 Compatibility with the \ctanpkg{amsmath} package
-has been tested with v2.15d (2016/06/28).
+has been tested with v2.15d (2016/06/28) and v2.17t (2024/11/05).
 \item
 This package uses the package \ctanpkg{keyval} from the
 \ctanpkg{graphics} bundle to process optional arguments to the package options.
@@ -1288,6 +1287,16 @@
 \subsection{Revision History}
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\paragraph{v2.2:} 2025/02/27
+
+\begin{itemize}
+\item
+replicate the \ctanpkg{amsmath} mechanism for tracking the
+vertical height of a default delimiter in order to
+be independent of \ctanpkg{amsmath}
+\end{itemize}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \paragraph{v2.1:} 2025/01/05
 
 \begin{itemize}
@@ -1398,7 +1407,7 @@
 \documentclass[12pt]{article}
 
 \usepackage[margin=2cm]{geometry}
-\usepackage{amsmath,amsfonts}
+\usepackage{amsfonts}
 \usepackage{delimset}
 
 \begin{document}
@@ -1444,11 +1453,11 @@
 
 outer delimiter spacing:
 %    \begin{macrocode}
-\begin{align*}
-&\square\brk^0{x}\square,&&\square\brk^1{A^k}\square,
+\[\begin{array}{ll}
+\square\brk^0{x}\square,&\square\brk^1{A^k}\square,
 \\
-&\square\brk*{x}\square,&&\square\brk*{A^k}\square
-\end{align*}
+\square\brk*{x}\square,&\square\brk*{A^k}\square
+\end{array}\]
 %    \end{macrocode}
 
 delimiter sizes in exponents:
@@ -1577,13 +1586,10 @@
 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % \paragraph{Required Packages.}
 %
-% The package loads the packages \ctanpkg{amsmath} and \ctanpkg{keyval}
-% if not yet present.
-% \ctanpkg{amsmath} is used for basic delimiter size functionality.
+% The package loads the package \ctanpkg{keyval} if not yet present.
 % \ctanpkg{keyval} is used for extended options processing.
 %
 %    \begin{macrocode}
-\RequirePackage{amsmath}
 \RequirePackage{keyval}
 %    \end{macrocode}
 
@@ -1619,16 +1625,18 @@
 %
 %    \begin{macrocode}
 \ifdlm at script
+\ifdefined\bBigg@
 \def\bBigg at choice#1#2#3#4{%
   {\@mathmeasure\z@{\nulldelimiterspace\z@}%
-     {\big at size#2\big at size#1\left#4\vcenter to#3\big at size{}\right.}%
+     {#1\left#4\vcenter to#3\dimexpr#2\big at size\relax{}\right.}%
    \box\z@}}
-\def\bBigg@#1#2{{\mathchoice%
+\def\bBigg@#1#2{\leavevmode at ifvmode{\mathchoice%
   {\bBigg at choice{\displaystyle}{1}{#1}{#2}}%
   {\bBigg at choice{\textstyle}{1}{#1}{#2}}%
   {\bBigg at choice{\scriptstyle}{0.7}{#1}{#2}}%
   {\bBigg at choice{\scriptscriptstyle}{0.5}{#1}{#2}}}}
 \fi
+\fi
 %    \end{macrocode}
 
 % Define punctuation marks (|\bigp|, etc.),
@@ -1653,6 +1661,46 @@
 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % \paragraph{Size Adjustment Definitions.}
 %
+% Replicate the \ctanpkg{amsmath} implementation for
+% tracking the vertical size of a default delimiter in the current font.
+% Our |\dlm at size| matches with |\big at size| in \ctanpkg{amsmath}
+% which is 1.2 times the vertical size of `(':
+%    \begin{macrocode}
+\newlength\dlm at size
+%    \end{macrocode}
+% The macros |\dlm at size@setchar| and |\dlm at size@scan|
+% scan the font and code point
+% in unicode (xetex/luatex) vs.\ \TeX\ (etex) engines:
+%    \begin{macrocode}
+\ifdefined\Umathcharnumdef
+  \def\dlm at size@setchar{\Umathcharnumdef\dlm at size@char\Umathcodenum`\(\relax}
+  \def\dlm at size@scan#1"#2"#3"#4\relax{\dlm at size@get{#3}{#4}}
+\else
+  \def\dlm at size@setchar{\mathchardef\dlm at size@char\mathcode`\(\relax}
+  \def\dlm at size@scan#1"#2#3#4\relax{\dlm at size@get{#3}{#4}}
+\fi
+%    \end{macrocode}
+% The macro |\dlm at size@get| computes 1.2 times the vertical height of `(':
+%    \begin{macrocode}
+\def\dlm at size@get#1#2{%
+  \dlm at size\fontcharht\textfont"#1"#2\relax%
+  \advance\dlm at size\fontchardp\textfont"#1"#2\relax%
+  \global\dlm at size1.2\dlm at size}
+%    \end{macrocode}
+% The macro |\dlm at size@reset| updates |\dlm at size|:
+%    \begin{macrocode}
+\newcommand{\dlm at size@reset}{%
+  \dlm at size@setchar\expandafter\dlm at size@scan\meaning\dlm at size@char\relax}
+%    \end{macrocode}
+% We can hook onto the \ctanpkg{amsmath} mechanism if already present:
+%    \begin{macrocode}
+\ifdefined\big at size
+\def\dlm at size{\big at size}
+\else
+\addto at hook\every at math@size{\dlm at size@reset}
+\fi
+%    \end{macrocode}
+
 % The macro |\dlm at setvar| enables variable size,
 % the macro |\dlm at setsize| sets a fixed size.
 % Delimiter sizes are implented by |\dlm at big@|.
@@ -1663,19 +1711,19 @@
 %
 %    \begin{macrocode}
 \newlength\delimsize
-\newcommand{\dlm at setvar}{\let\dlm at ifvar\@firstoftwo\delimsize1.5\big at size}
+\newcommand{\dlm at setvar}{\let\dlm at ifvar\@firstoftwo\delimsize1.5\dlm at size}
 \newcommand{\dlm at setsize}[1]{\let\dlm at ifvar\@secondoftwo%
-  \delimsize#1\big at size\advance\delimsize by\big at size\delimsize0.5\delimsize}
+  \delimsize#1\dlm at size\advance\delimsize\dlm at size\delimsize0.5\delimsize}
 \newcommand{\dlm at setabssize}[1]{\let\dlm at ifvar\@secondoftwo\delimsize#1\relax}
 \newcommand{\dlm at big@}[1]{{\mathchoice%
-  {\dlm at big@choice{\displaystyle}{1}{#1}}%
-  {\dlm at big@choice{\textstyle}{1}{#1}}%
-  {\dlm at big@choice{\scriptstyle}{0.7}{#1}}%
-  {\dlm at big@choice{\scriptscriptstyle}{0.5}{#1}}}}
-\newcommand{\dlm at big@choice}[3]{\@mathmeasure\z@{\nulldelimiterspace\z@}%
-  {#1\left#3\vcenter to#2\delimsize{}\right.}\box\z@}
+  {\dlm at big@choice\displaystyle{1}{#1}}%
+  {\dlm at big@choice\textstyle{1}{#1}}%
+  {\dlm at big@choice\scriptstyle{0.7}{#1}}%
+  {\dlm at big@choice\scriptscriptstyle{0.5}{#1}}}}
+\newcommand{\dlm at big@choice}[3]{\hbox{$\m at th\nulldelimiterspace\z@%
+  #1\left#3\vcenter to#2\delimsize{}\right.$}}
 \newcommand{\kerndelim}[1]{{\delimsize#1\delimsize%
-  \mkern\muexpr1.2mu*\delimsize/\big at size\relax}}
+  \mkern\muexpr1.2mu*\delimsize/\dlm at size\relax}}
 %    \end{macrocode}
 
 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1984,13 +2032,28 @@
   \if c#1\def\dlm at use{\delim\{\}}\fi%
   \if a#1\def\dlm at use{\delim<>}\fi%
   \expandafter\endgroup\dlm at use}
+\ifdefined\rvert
 \providecommand{\eval}[1][v]{\begingroup\def\dlm at use{\delim.\rvert}%
   \if v#1\def\dlm at use{\delim.\rvert}\fi%
   \if s#1\def\dlm at use{\delim[]}\fi%
   \expandafter\endgroup\dlm at use}
+\else
+\providecommand{\eval}[1][v]{\begingroup\def\dlm at use{\delim.\vert}%
+  \if v#1\def\dlm at use{\delim.\vert}\fi%
+  \if s#1\def\dlm at use{\delim[]}\fi%
+  \expandafter\endgroup\dlm at use}
+\fi
+\ifdefined\lvert
 \providecommand{\abs}{\delim\lvert\rvert}
+\else
+\providecommand{\abs}{\delim\vert\vert}
+\fi
+\ifdefined\lVert
 \providecommand{\norm}{\delim\lVert\rVert}
+\else
+\providecommand{\norm}{\delim\Vert\Vert}
 \fi
+\fi
 %    \end{macrocode}
 
 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Modified: branches/branch2024.final/Master/texmf-dist/tex/latex/delimset/delimset.sty
===================================================================
--- branches/branch2024.final/Master/texmf-dist/tex/latex/delimset/delimset.sty	2025-02-28 22:12:49 UTC (rev 74354)
+++ branches/branch2024.final/Master/texmf-dist/tex/latex/delimset/delimset.sty	2025-02-28 22:12:59 UTC (rev 74355)
@@ -17,9 +17,8 @@
 %% version 2005/12/01 or later.
 %% 
 \NeedsTeXFormat{LaTeX2e}[1996/12/01]
-\ProvidesPackage{delimset}[2025/01/05 v2.1 convenient size control for delimiter sets]
+\ProvidesPackage{delimset}[2025/02/27 v2.2 convenient size control for delimiter sets]
 
-\RequirePackage{amsmath}
 \RequirePackage{keyval}
 
 \newif\ifdlm at std\dlm at stdtrue
@@ -36,16 +35,18 @@
 \ProcessOptions
 
 \ifdlm at script
+\ifdefined\bBigg@
 \def\bBigg at choice#1#2#3#4{%
   {\@mathmeasure\z@{\nulldelimiterspace\z@}%
-     {\big at size#2\big at size#1\left#4\vcenter to#3\big at size{}\right.}%
+     {#1\left#4\vcenter to#3\dimexpr#2\big at size\relax{}\right.}%
    \box\z@}}
-\def\bBigg@#1#2{{\mathchoice%
+\def\bBigg@#1#2{\leavevmode at ifvmode{\mathchoice%
   {\bBigg at choice{\displaystyle}{1}{#1}{#2}}%
   {\bBigg at choice{\textstyle}{1}{#1}{#2}}%
   {\bBigg at choice{\scriptstyle}{0.7}{#1}{#2}}%
   {\bBigg at choice{\scriptscriptstyle}{0.5}{#1}{#2}}}}
 \fi
+\fi
 
 \providecommand{\bigp}{\mathpunct\big}
 \providecommand{\Bigp}{\mathpunct\Big}
@@ -60,20 +61,40 @@
 \providecommand{\biggi}{\mathinner\bigg}
 \providecommand{\Biggi}{\mathinner\Bigg}
 
+\newlength\dlm at size
+\ifdefined\Umathcharnumdef
+  \def\dlm at size@setchar{\Umathcharnumdef\dlm at size@char\Umathcodenum`\(\relax}
+  \def\dlm at size@scan#1"#2"#3"#4\relax{\dlm at size@get{#3}{#4}}
+\else
+  \def\dlm at size@setchar{\mathchardef\dlm at size@char\mathcode`\(\relax}
+  \def\dlm at size@scan#1"#2#3#4\relax{\dlm at size@get{#3}{#4}}
+\fi
+\def\dlm at size@get#1#2{%
+  \dlm at size\fontcharht\textfont"#1"#2\relax%
+  \advance\dlm at size\fontchardp\textfont"#1"#2\relax%
+  \global\dlm at size1.2\dlm at size}
+\newcommand{\dlm at size@reset}{%
+  \dlm at size@setchar\expandafter\dlm at size@scan\meaning\dlm at size@char\relax}
+\ifdefined\big at size
+\def\dlm at size{\big at size}
+\else
+\addto at hook\every at math@size{\dlm at size@reset}
+\fi
+
 \newlength\delimsize
-\newcommand{\dlm at setvar}{\let\dlm at ifvar\@firstoftwo\delimsize1.5\big at size}
+\newcommand{\dlm at setvar}{\let\dlm at ifvar\@firstoftwo\delimsize1.5\dlm at size}
 \newcommand{\dlm at setsize}[1]{\let\dlm at ifvar\@secondoftwo%
-  \delimsize#1\big at size\advance\delimsize by\big at size\delimsize0.5\delimsize}
+  \delimsize#1\dlm at size\advance\delimsize\dlm at size\delimsize0.5\delimsize}
 \newcommand{\dlm at setabssize}[1]{\let\dlm at ifvar\@secondoftwo\delimsize#1\relax}
 \newcommand{\dlm at big@}[1]{{\mathchoice%
-  {\dlm at big@choice{\displaystyle}{1}{#1}}%
-  {\dlm at big@choice{\textstyle}{1}{#1}}%
-  {\dlm at big@choice{\scriptstyle}{0.7}{#1}}%
-  {\dlm at big@choice{\scriptscriptstyle}{0.5}{#1}}}}
-\newcommand{\dlm at big@choice}[3]{\@mathmeasure\z@{\nulldelimiterspace\z@}%
-  {#1\left#3\vcenter to#2\delimsize{}\right.}\box\z@}
+  {\dlm at big@choice\displaystyle{1}{#1}}%
+  {\dlm at big@choice\textstyle{1}{#1}}%
+  {\dlm at big@choice\scriptstyle{0.7}{#1}}%
+  {\dlm at big@choice\scriptscriptstyle{0.5}{#1}}}}
+\newcommand{\dlm at big@choice}[3]{\hbox{$\m at th\nulldelimiterspace\z@%
+  #1\left#3\vcenter to#2\delimsize{}\right.$}}
 \newcommand{\kerndelim}[1]{{\delimsize#1\delimsize%
-  \mkern\muexpr1.2mu*\delimsize/\big at size\relax}}
+  \mkern\muexpr1.2mu*\delimsize/\dlm at size\relax}}
 
 \newcommand{\dlm at big}[2]{\dlm at plain{#1}{\dlm at big@#2}}
 \newcommand{\dlm at plain}[2]{\dlm at class{#1}{\dlm at phantom{#2}}}
@@ -245,13 +266,28 @@
   \if c#1\def\dlm at use{\delim\{\}}\fi%
   \if a#1\def\dlm at use{\delim<>}\fi%
   \expandafter\endgroup\dlm at use}
+\ifdefined\rvert
 \providecommand{\eval}[1][v]{\begingroup\def\dlm at use{\delim.\rvert}%
   \if v#1\def\dlm at use{\delim.\rvert}\fi%
   \if s#1\def\dlm at use{\delim[]}\fi%
   \expandafter\endgroup\dlm at use}
+\else
+\providecommand{\eval}[1][v]{\begingroup\def\dlm at use{\delim.\vert}%
+  \if v#1\def\dlm at use{\delim.\vert}\fi%
+  \if s#1\def\dlm at use{\delim[]}\fi%
+  \expandafter\endgroup\dlm at use}
+\fi
+\ifdefined\lvert
 \providecommand{\abs}{\delim\lvert\rvert}
+\else
+\providecommand{\abs}{\delim\vert\vert}
+\fi
+\ifdefined\lVert
 \providecommand{\norm}{\delim\lVert\rVert}
+\else
+\providecommand{\norm}{\delim\Vert\Vert}
 \fi
+\fi
 
 \ifdlm at ext
 \providecommand{\pair}{\delimpair({[p]*,})}



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