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.