texlive[49544] Master/texmf-dist: delimset (30dec18)

commits+karl at tug.org commits+karl at tug.org
Sun Dec 30 23:12:20 CET 2018


Revision: 49544
          http://tug.org/svn/texlive?view=revision&revision=49544
Author:   karl
Date:     2018-12-30 23:12:20 +0100 (Sun, 30 Dec 2018)
Log Message:
-----------
delimset (30dec18)

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

Modified: trunk/Master/texmf-dist/doc/latex/delimset/README.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/delimset/README.txt	2018-12-30 22:12:08 UTC (rev 49543)
+++ trunk/Master/texmf-dist/doc/latex/delimset/README.txt	2018-12-30 22:12:20 UTC (rev 49544)
@@ -1,4 +1,4 @@
-delimset v1.01
+delimset v1.1
 Copyright 2016-2018 Niklas Beisert
 
 delimset is a LaTeX2e package to typeset and declare sets of delimiters

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

Modified: trunk/Master/texmf-dist/doc/latex/delimset/dlmssamp.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/delimset/dlmssamp.tex	2018-12-30 22:12:08 UTC (rev 49543)
+++ trunk/Master/texmf-dist/doc/latex/delimset/dlmssamp.tex	2018-12-30 22:12:20 UTC (rev 49544)
@@ -17,7 +17,7 @@
 %% version 2005/12/01 or later.
 %% 
 \NeedsTeXFormat{LaTeX2e}[1996/12/01]
-\ProvidesFile{dlmssamp.tex}[2018/01/17 v1.01 sample for delimset]
+\ProvidesFile{dlmssamp.tex}[2018/12/30 v1.1 sample for delimset]
 \documentclass[12pt]{article}
 
 \usepackage[margin=2cm]{geometry}
@@ -53,7 +53,7 @@
 \abs*{\frac{ax+b}{cx+d}},\qquad
 \norm*{\frac{ax+b}{cx+d}},\qquad
 \eval*{\frac{ax+b}{cx+d}}_{x=0},\qquad
-\eval[s]*{\frac{ax+b}{cx+d}}_{x=0}^{x=\infty},\qquad
+\eval[s]*{\frac{ax+b}{cx+d}}_{x=0}^{x=\infty}
 \]
 
 outer delimiter spacing:
@@ -60,7 +60,7 @@
 \begin{align*}
 &\square\brk0{x}\square,&&\square\brk1{A^k}\square,
 \\
-&\square\brk*{x}\square,&&\square\brk*{A^k}\square,
+&\square\brk*{x}\square,&&\square\brk*{A^k}\square
 \end{align*}
 
 delimiter sizes in exponents:
@@ -73,7 +73,9 @@
 \DeclareMathDelimiterSet{\braket}[2]
   {\selectdelim[l]<#1\selectdelim|#2\selectdelim[r]>}
 \[
-\braket!{\psi}{\psi}
+\braket!{\psi}{\psi},
+\quad
+\braket*{\psi}{\psi\big.}
 \]
 
 delimiter usage:
@@ -91,8 +93,20 @@
 \qquad
 \delimpair\{|\}!{2n}{n\in\mathbb{Z}},
 \qquad
-\delimpair\{{[.];}\}!{2n}{n\in\mathbb{Z}},
+\delimpair\{{[.];}\}!{2n}{n\in\mathbb{Z}}
 \]
+conditional set, alternative layouts with variable size:
+\[
+\delimpair\{{[m]|}\}*{2n}{n\in\mathbb{Z}\big.},
+\qquad
+\delimpair\{{[b]|}\}*{2n}{n\in\mathbb{Z}\big.},
+\qquad
+\delimpair\{{[p]|}\}*{2n}{n\in\mathbb{Z}\big.},
+\qquad
+\delimpair\{|\}*{2n}{n\in\mathbb{Z}\big.},
+\qquad
+\delimpair\{{[.];}\}*{2n}{n\in\mathbb{Z}\big.}
+\]
 
 delimiter definition:
 \newcommand{\comm}{\delimpair[{[.],}]}

Modified: trunk/Master/texmf-dist/source/latex/delimset/delimset.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/delimset/delimset.dtx	2018-12-30 22:12:08 UTC (rev 49543)
+++ trunk/Master/texmf-dist/source/latex/delimset/delimset.dtx	2018-12-30 22:12:20 UTC (rev 49544)
@@ -18,10 +18,10 @@
 % and the derived files delimset.sty and dlmssamp.tex
 %
 %<package|sample>\NeedsTeXFormat{LaTeX2e}[1996/12/01]
-%<package>\ProvidesPackage{delimset}[2018/01/17 v1.01 convenient size control for delimiter sets]
-%<sample>\ProvidesFile{dlmssamp.tex}[2018/01/17 v1.01 sample for delimset]
+%<package>\ProvidesPackage{delimset}[2018/12/30 v1.1 convenient size control for delimiter sets]
+%<sample>\ProvidesFile{dlmssamp.tex}[2018/12/30 v1.1 sample for delimset]
 %<*driver>
-%\ProvidesFile{delimset.drv}[2018/01/17 v1.01 delimset Reference Manual file]
+%\ProvidesFile{delimset.drv}[2018/12/30 v1.1 delimset Reference Manual file]
 \PassOptionsToClass{10pt,a4paper}{article}
 \documentclass{ltxdoc}
 
@@ -48,6 +48,13 @@
 \hypersetup{pdfcontactemail={nbeisert at itp.phys.ethz.ch}}
 \hypersetup{pdfcontacturl={http://people.phys.ethz.ch/\xmptilde nbeisert/}}
 
+\newcommand{\secref}[1]{\hyperref[#1]{section \ref*{#1}}}
+
+\parskip1ex
+\parindent0pt
+\let\olditemize\itemize
+\def\itemize{\olditemize\parskip0pt}
+
 \begin{document}
 
 \title{The \textsf{delimset} Package}
@@ -60,7 +67,7 @@
   {\texttt{nbeisert at itp.phys.ethz.ch}}}
 \hypersetup{pdfauthor={Niklas Beisert}}
 \hypersetup{pdfsubject={Manual for the LaTeX2e Package delimset}}
-\date{17 January 2018, \textsf{v1.01}}
+\date{30 December 2018, \textsf{v1.1}}
 \maketitle
 
 \begin{abstract}\noindent
@@ -68,7 +75,10 @@
 sets of delimiters in math mode whose size can be adjusted conveniently.
 \end{abstract}
 
+\begingroup
+\parskip0ex
 \tableofcontents
+\endgroup
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -501,6 +511,12 @@
 \text{class }|\mathclose|\text{ (similar to }|\bigr|
 \text{, not for use in }|\delim...|)
 \\
+|{[o]|\emph{delim}|}|&\qquad
+\text{class }|\mathopen|\text{ (similar to }|\bigl|)
+\\
+|{[c]|\emph{delim}|}|&\qquad
+\text{class }|\mathclose|\text{ (similar to }|\bigr|)
+\\
 |{[m]|\emph{delim}|}|&\qquad
 \text{class }|\mathrel|\text{ (similar to }|\bigm|)
 \\
@@ -521,7 +537,8 @@
 Conversely, the immediate delimiters \emph{m(n)} must not
 have the |[l]| and |[r]| classes
 because the latter must appear precisely once
-and they are already taken by \emph{l} and \emph{r}.
+and they are already taken by \emph{l} and \emph{r};
+use classes |[o]| and |[c]| instead.
 
 The optional size modifier \emph{size} should take one of the following values:
 \[
@@ -567,7 +584,7 @@
 The syntax of this command is equivalent to the one of |\newcommand|.
 The difference is that the command |\|\emph{name} first looks
 for the optional size modifier \emph{size} as
-described above in section \ref{sec:delimcommands}.
+described above in \secref{sec:delimcommands}.
 It remembers the desired size for evaluating the macro \emph{expr}.
 Then it parses the arguments as if the command
 was declared by |\newcommand|.
@@ -589,7 +606,7 @@
 The math classes must be in proper sequence,
 i.e.\ the first and last ones must be |l| and |r|, respectively,
 while the intermediate ones can be anything by |l| and |r|,
-see section \ref{sec:delimcommands}.
+see \secref{sec:delimcommands}.
 
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -629,7 +646,7 @@
 %
 The above definitions can be suppressed by
 setting the package option |stddef| to |false|,
-see section \ref{sec:packageoptions}.
+see \secref{sec:packageoptions}.
 The package also defines some extended sets of delimiters as follows:
 %
 \begin{itemize}
@@ -679,7 +696,7 @@
 a bra-ket contraction $\langle\emph{expr1}\vert\emph{expr2}\rangle$.
 \end{itemize}
 The extended definitions need to be activated by
-the package option |extdef|, see section \ref{sec:packageoptions}.
+the package option |extdef|, see \secref{sec:packageoptions}.
 
 If the representations of the above delimiters do not suit the purpose
 or taste of the user, they can be redefined with |\renewcommand|.
@@ -699,7 +716,7 @@
 commands to properly account for the math styles in sub/superscripts
 (|\scriptstyle|) and nested sub/\hspace{0pt}superscripts (|\scriptscriptstyle|).
 The latter behaviour can be controlled by
-the package option |scriptstyle|, see section \ref{sec:packageoptions}.
+the package option |scriptstyle|, see \secref{sec:packageoptions}.
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \subsection{Package Options}
@@ -720,17 +737,17 @@
 \item
 |stddef|[|=true|$\vert$|false|]
 controls the activation of standard delimiter definitions specified in
-section \ref{sec:defaultcommands}.
+\secref{sec:defaultcommands}.
 If no value is given |true| is assumed; initially set to |true|.
 \item
 |extdef|[|=true|$\vert$|false|]
 controls the activation of extended delimiter definitions specified in
-section \ref{sec:defaultcommands}.
+\secref{sec:defaultcommands}.
 If no value is given |true| is assumed; initially set to |false|.
 \item
 |scriptstyle|[|=true|$\vert$|false|]
 controls the overwriting of size modifiers explained
-in section \ref{sec:auxcommands}.
+in \secref{sec:auxcommands}.
 If no value is given |true| is assumed; initially set to |true|.
 \end{itemize}
 
@@ -741,10 +758,6 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \subsection{Copyright}
 
-\begingroup
-\parskip1ex
-\parindent0pt
-
 Copyright \copyright{} 2016--2018 Niklas Beisert
 
 This work may be distributed and/or modified under the
@@ -762,8 +775,6 @@
 This work consists of the files |README.txt|, |delimset.ins| and |delimset.dtx|
 as well as the derived files |delimset.sty|, |dlmssamp.tex| and |delimset.pdf|.
 
-\endgroup
-
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \subsection{Files and Installation}
 
@@ -818,11 +829,23 @@
 % specify width of null delimiter?
 % automatic nesting of bracket types?
 % make optional arguments work for DeclareMathDelimiterSet?
+% add pfrac for fraction a/b in text mode
+% handle cramped style properly (perhaps impossible)
+% outer decorations for delimiters e.g. _y<a,b>_x
+% freestyle delimiter with size adjustment replacement \size{\rangle}_x
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \subsection{Revision History}
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\paragraph{v1.1:} 2018/12/30
+
+\begin{itemize}
+\item
+classes added, class and size selection mechanism simplified
+\end{itemize}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \paragraph{v1.01:} 2018/01/17
 
 \begin{itemize}
@@ -859,8 +882,6 @@
 \appendix
 
 \settowidth\MacroIndent{\rmfamily\scriptsize 000\ }
-\parskip1ex
-\parindent0pt
 
  \DocInput{delimset.dtx}
 
@@ -924,7 +945,7 @@
 \abs*{\frac{ax+b}{cx+d}},\qquad
 \norm*{\frac{ax+b}{cx+d}},\qquad
 \eval*{\frac{ax+b}{cx+d}}_{x=0},\qquad
-\eval[s]*{\frac{ax+b}{cx+d}}_{x=0}^{x=\infty},\qquad
+\eval[s]*{\frac{ax+b}{cx+d}}_{x=0}^{x=\infty}
 \]
 %    \end{macrocode}
 
@@ -933,7 +954,7 @@
 \begin{align*}
 &\square\brk0{x}\square,&&\square\brk1{A^k}\square,
 \\
-&\square\brk*{x}\square,&&\square\brk*{A^k}\square,
+&\square\brk*{x}\square,&&\square\brk*{A^k}\square
 \end{align*}
 %    \end{macrocode}
 
@@ -950,7 +971,9 @@
 \DeclareMathDelimiterSet{\braket}[2]
   {\selectdelim[l]<#1\selectdelim|#2\selectdelim[r]>}
 \[
-\braket!{\psi}{\psi}
+\braket!{\psi}{\psi},
+\quad
+\braket*{\psi}{\psi\big.}
 \]
 %    \end{macrocode}
 
@@ -972,8 +995,20 @@
 \qquad
 \delimpair\{|\}!{2n}{n\in\mathbb{Z}},
 \qquad
-\delimpair\{{[.];}\}!{2n}{n\in\mathbb{Z}},
+\delimpair\{{[.];}\}!{2n}{n\in\mathbb{Z}}
 \]
+conditional set, alternative layouts with variable size:
+\[
+\delimpair\{{[m]|}\}*{2n}{n\in\mathbb{Z}\big.},
+\qquad
+\delimpair\{{[b]|}\}*{2n}{n\in\mathbb{Z}\big.},
+\qquad
+\delimpair\{{[p]|}\}*{2n}{n\in\mathbb{Z}\big.},
+\qquad
+\delimpair\{|\}*{2n}{n\in\mathbb{Z}\big.},
+\qquad
+\delimpair\{{[.];}\}*{2n}{n\in\mathbb{Z}\big.}
+\]
 %    \end{macrocode}
 
 delimiter definition:
@@ -1070,23 +1105,10 @@
 \fi
 %    \end{macrocode}
 
-% Define size selectors for standard size (|dlm at norm|, etc.),
-% variable size (|dlm at var|, etc.) as well as punctuation marks (|\bigp|, etc.)
+% Define punctuation marks (|\bigp|, etc.)
 % and binary operators (|\bigb|, etc.).
 %
 %    \begin{macrocode}
-\newcommand{\dlm at norm}{\bBigg@{0.0}}
-\newcommand{\dlm at norml}{\mathopen\dlm at norm}
-\newcommand{\dlm at normr}{\mathclose\dlm at norm}
-\newcommand{\dlm at normm}{\mathrel\dlm at norm}
-\newcommand{\dlm at normp}{\mathpunct\dlm at norm}
-\newcommand{\dlm at normb}{\mathbin\dlm at norm}
-\newcommand{\dlm at var}[1]{\middle#1}
-\newcommand{\dlm at varl}[1]{\mathopen{}\mathclose\bgroup\left#1}
-\newcommand{\dlm at varr}[1]{\right#1\egroup}
-\newcommand{\dlm at varm}[1]{\mathrel{}\middle#1\mathrel{}}
-\newcommand{\dlm at varp}[1]{\middle#1\mathpunct{}}
-\newcommand{\dlm at varb}[1]{\mathbin{}\middle#1\mathbin{}}
 \newcommand{\bigp}{\mathpunct\big}
 \newcommand{\Bigp}{\mathpunct\Big}
 \newcommand{\biggp}{\mathpunct\bigg}
@@ -1097,6 +1119,36 @@
 \newcommand{\Biggb}{\mathbin\Bigg}
 %    \end{macrocode}
 
+% Define size selectors for standard size (|dlm at norm|),
+% variable size (|dlm at var|).
+%
+%    \begin{macrocode}
+\newcommand{\dlm at class}[1]{\csname dlm at class@#1\endcsname}
+\newcommand{\dlm at class@}{}
+\newcommand{\dlm at class@l}{\mathopen}
+\newcommand{\dlm at class@r}{\mathclose}
+\newcommand{\dlm at class@o}{\mathopen}
+\newcommand{\dlm at class@c}{\mathclose}
+\newcommand{\dlm at class@m}{\mathrel}
+\newcommand{\dlm at class@p}{\mathpunct}
+\newcommand{\dlm at class@b}{\mathbin}
+\newcommand{\dlm at norm}[1]{\dlm at class{#1}\bBigg@{0.0}}
+\newcommand{\dlm at big}[1]{\dlm at class{#1}\big}
+\newcommand{\dlm at Big}[1]{\dlm at class{#1}\Big}
+\newcommand{\dlm at bigg}[1]{\dlm at class{#1}\bigg}
+\newcommand{\dlm at Bigg}[1]{\dlm at class{#1}\Bigg}
+\newcommand{\dlm at var}[1]{\csname dlm at var@#1\endcsname}
+\newcommand{\dlm at var@}[1]{\middle#1}
+\newcommand{\dlm at var@l}[1]{\mathopen{}\mathclose\bgroup\left#1}
+\newcommand{\dlm at var@r}[1]{\right#1\egroup}
+\newcommand{\dlm at var@o}[1]{\mathopen{}\middle#1\mathopen{}}
+\newcommand{\dlm at var@c}[1]{\mathclose{}\middle#1\mathclose{}}
+\newcommand{\dlm at var@m}[1]{\mathrel{}\middle#1\mathrel{}}
+\newcommand{\dlm at var@p}[1]{\middle#1\mathpunct{}}
+\newcommand{\dlm at var@b}[1]{\mathbin{}{}\mkern-\medmuskip%
+  \middle#1\mkern-\medmuskip{}\mathbin{}}
+%    \end{macrocode}
+
 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % \paragraph{Optional Size Argument Processing.}
 %
@@ -1111,15 +1163,15 @@
 %    \begin{macrocode}
 \newcommand{\dlm at parsesize}[1]{\@ifnextchar\bgroup%
   {\dlm at parsesize@{#1}{0}}{\dlm at parsesize@{#1}}}
-\newcommand{\dlm at parsesize@}[2]{\def\dlm at arg{dlm at norm}%
-  \if0#2\def\dlm at arg{dlm at norm}\fi%
-  \if1#2\def\dlm at arg{big}\fi%
-  \if+#2\def\dlm at arg{big}\fi%
-  \if!#2\def\dlm at arg{big}\fi%
-  \if2#2\def\dlm at arg{Big}\fi%
-  \if3#2\def\dlm at arg{bigg}\fi%
-  \if4#2\def\dlm at arg{Bigg}\fi%
-  \if*#2\def\dlm at arg{dlm at var}\fi%
+\newcommand{\dlm at parsesize@}[2]{\let\dlm at arg\dlm at norm%
+  \if0#2\let\dlm at arg\dlm at norm\fi%
+  \if1#2\let\dlm at arg\dlm at big\fi%
+  \if+#2\let\dlm at arg\dlm at big\fi%
+  \if!#2\let\dlm at arg\dlm at big\fi%
+  \if2#2\let\dlm at arg\dlm at Big\fi%
+  \if3#2\let\dlm at arg\dlm at bigg\fi%
+  \if4#2\let\dlm at arg\dlm at Bigg\fi%
+  \if*#2\let\dlm at arg\dlm at var\fi%
   #1}
 %    \end{macrocode}
 % Note that the delimited expression should be contained within a group
@@ -1135,7 +1187,7 @@
 % and calls the latter with the delimiter as the argument.
 % If the class identifier is `|.|', just return the delimiter argument as is.
 %    \begin{macrocode}
-\newcommand{\selectdelim}[2][]{\if.#1#2\else\csname\dlm at arg #1\endcsname#2\fi}
+\newcommand{\selectdelim}[2][]{\if.#1#2\else\dlm at arg{#1}#2\fi}
 %    \end{macrocode}
 
 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Modified: trunk/Master/texmf-dist/tex/latex/delimset/delimset.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/delimset/delimset.sty	2018-12-30 22:12:08 UTC (rev 49543)
+++ trunk/Master/texmf-dist/tex/latex/delimset/delimset.sty	2018-12-30 22:12:20 UTC (rev 49544)
@@ -17,7 +17,7 @@
 %% version 2005/12/01 or later.
 %% 
 \NeedsTeXFormat{LaTeX2e}[1996/12/01]
-\ProvidesPackage{delimset}[2018/01/17 v1.01 convenient size control for delimiter sets]
+\ProvidesPackage{delimset}[2018/12/30 v1.1 convenient size control for delimiter sets]
 
 \RequirePackage{amsmath}
 \RequirePackage{keyval}
@@ -47,18 +47,6 @@
   {\bBigg at choice{\scriptscriptstyle}{0.5}{#1}{#2}}}}
 \fi
 
-\newcommand{\dlm at norm}{\bBigg@{0.0}}
-\newcommand{\dlm at norml}{\mathopen\dlm at norm}
-\newcommand{\dlm at normr}{\mathclose\dlm at norm}
-\newcommand{\dlm at normm}{\mathrel\dlm at norm}
-\newcommand{\dlm at normp}{\mathpunct\dlm at norm}
-\newcommand{\dlm at normb}{\mathbin\dlm at norm}
-\newcommand{\dlm at var}[1]{\middle#1}
-\newcommand{\dlm at varl}[1]{\mathopen{}\mathclose\bgroup\left#1}
-\newcommand{\dlm at varr}[1]{\right#1\egroup}
-\newcommand{\dlm at varm}[1]{\mathrel{}\middle#1\mathrel{}}
-\newcommand{\dlm at varp}[1]{\middle#1\mathpunct{}}
-\newcommand{\dlm at varb}[1]{\mathbin{}\middle#1\mathbin{}}
 \newcommand{\bigp}{\mathpunct\big}
 \newcommand{\Bigp}{\mathpunct\Big}
 \newcommand{\biggp}{\mathpunct\bigg}
@@ -68,20 +56,45 @@
 \newcommand{\biggb}{\mathbin\bigg}
 \newcommand{\Biggb}{\mathbin\Bigg}
 
+\newcommand{\dlm at class}[1]{\csname dlm at class@#1\endcsname}
+\newcommand{\dlm at class@}{}
+\newcommand{\dlm at class@l}{\mathopen}
+\newcommand{\dlm at class@r}{\mathclose}
+\newcommand{\dlm at class@o}{\mathopen}
+\newcommand{\dlm at class@c}{\mathclose}
+\newcommand{\dlm at class@m}{\mathrel}
+\newcommand{\dlm at class@p}{\mathpunct}
+\newcommand{\dlm at class@b}{\mathbin}
+\newcommand{\dlm at norm}[1]{\dlm at class{#1}\bBigg@{0.0}}
+\newcommand{\dlm at big}[1]{\dlm at class{#1}\big}
+\newcommand{\dlm at Big}[1]{\dlm at class{#1}\Big}
+\newcommand{\dlm at bigg}[1]{\dlm at class{#1}\bigg}
+\newcommand{\dlm at Bigg}[1]{\dlm at class{#1}\Bigg}
+\newcommand{\dlm at var}[1]{\csname dlm at var@#1\endcsname}
+\newcommand{\dlm at var@}[1]{\middle#1}
+\newcommand{\dlm at var@l}[1]{\mathopen{}\mathclose\bgroup\left#1}
+\newcommand{\dlm at var@r}[1]{\right#1\egroup}
+\newcommand{\dlm at var@o}[1]{\mathopen{}\middle#1\mathopen{}}
+\newcommand{\dlm at var@c}[1]{\mathclose{}\middle#1\mathclose{}}
+\newcommand{\dlm at var@m}[1]{\mathrel{}\middle#1\mathrel{}}
+\newcommand{\dlm at var@p}[1]{\middle#1\mathpunct{}}
+\newcommand{\dlm at var@b}[1]{\mathbin{}{}\mkern-\medmuskip%
+  \middle#1\mkern-\medmuskip{}\mathbin{}}
+
 \newcommand{\dlm at parsesize}[1]{\@ifnextchar\bgroup%
   {\dlm at parsesize@{#1}{0}}{\dlm at parsesize@{#1}}}
-\newcommand{\dlm at parsesize@}[2]{\def\dlm at arg{dlm at norm}%
-  \if0#2\def\dlm at arg{dlm at norm}\fi%
-  \if1#2\def\dlm at arg{big}\fi%
-  \if+#2\def\dlm at arg{big}\fi%
-  \if!#2\def\dlm at arg{big}\fi%
-  \if2#2\def\dlm at arg{Big}\fi%
-  \if3#2\def\dlm at arg{bigg}\fi%
-  \if4#2\def\dlm at arg{Bigg}\fi%
-  \if*#2\def\dlm at arg{dlm at var}\fi%
+\newcommand{\dlm at parsesize@}[2]{\let\dlm at arg\dlm at norm%
+  \if0#2\let\dlm at arg\dlm at norm\fi%
+  \if1#2\let\dlm at arg\dlm at big\fi%
+  \if+#2\let\dlm at arg\dlm at big\fi%
+  \if!#2\let\dlm at arg\dlm at big\fi%
+  \if2#2\let\dlm at arg\dlm at Big\fi%
+  \if3#2\let\dlm at arg\dlm at bigg\fi%
+  \if4#2\let\dlm at arg\dlm at Bigg\fi%
+  \if*#2\let\dlm at arg\dlm at var\fi%
   #1}
 
-\newcommand{\selectdelim}[2][]{\if.#1#2\else\csname\dlm at arg #1\endcsname#2\fi}
+\newcommand{\selectdelim}[2][]{\if.#1#2\else\dlm at arg{#1}#2\fi}
 
 \newcommand{\DeclareMathDelimiterSet}[1]{\expandafter\dlm at declare%
   \csname dlm at dcl@\expandafter\@gobble\string#1\endcsname{#1}}



More information about the tex-live-commits mailing list