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