summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/delimset
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-11-01 20:13:19 +0000
committerKarl Berry <karl@freefriends.org>2016-11-01 20:13:19 +0000
commitb3e35183d4333479c65127064bcb5bae2eb6a458 (patch)
tree30cb862f12d2781c08be23e9125b18d2fd52c13a /Master/texmf-dist/tex/latex/delimset
parent89932411328fa7d9375927a54406fa3e5a8dc3da (diff)
delimset (1nov16)
git-svn-id: svn://tug.org/texlive/trunk@42415 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/delimset')
-rw-r--r--Master/texmf-dist/tex/latex/delimset/delimset.sty141
1 files changed, 141 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/delimset/delimset.sty b/Master/texmf-dist/tex/latex/delimset/delimset.sty
new file mode 100644
index 00000000000..49beebb57f9
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/delimset/delimset.sty
@@ -0,0 +1,141 @@
+%%
+%% This is file `delimset.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% delimset.dtx (with options: `package')
+%%
+%% Copyright (C) 2016 Niklas Beisert
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+\NeedsTeXFormat{LaTeX2e}[1996/12/01]
+\ProvidesPackage{delimset}[2016/11/01 v1.0 convenient size control for delimiter sets]
+
+\RequirePackage{amsmath}
+\RequirePackage{keyval}
+
+\newif\ifdlm@std\dlm@stdtrue
+\newif\ifdlm@ext\dlm@extfalse
+\newif\ifdlm@script\dlm@scripttrue
+
+\def\dlm@group{dlm@}
+\define@key{\dlm@group}{stddef}[true]{\csname dlm@std#1\endcsname}
+\define@key{\dlm@group}{extdef}[true]{\csname dlm@ext#1\endcsname}
+\define@key{\dlm@group}{scriptstyle}[true]{\csname dlm@script#1\endcsname}
+
+\DeclareOption*{\expandafter\setkeys\expandafter\dlm@group%
+ \expandafter{\CurrentOption}}
+\ProcessOptions
+
+\ifdlm@script
+\def\bBigg@choice#1#2#3#4{%
+ {\@mathmeasure\z@{\nulldelimiterspace\z@}%
+ {\big@size#2\big@size#1\left#4\vcenter to#3\big@size{}\right.}%
+ \box\z@}}
+\def\bBigg@#1#2{{\mathchoice%
+ {\bBigg@choice{\displaystyle}{1}{#1}{#2}}%
+ {\bBigg@choice{\textstyle}{1}{#1}{#2}}%
+ {\bBigg@choice{\scriptstyle}{0.7}{#1}{#2}}%
+ {\bBigg@choice{\scriptscriptstyle}{0.5}{#1}{#2}}}}
+\fi
+
+\newcommand{\dlm@norm}{\bBigg@{0.0}}
+\newcommand{\dlm@norml}{\mathopen\dlm@norm}
+\newcommand{\dlm@normr}{\mathclose\dlm@norm}
+\newcommand{\dlm@normm}{\mathrel\dlm@norm}
+\newcommand{\dlm@normp}{\mathpunct\dlm@norm}
+\newcommand{\dlm@normb}{\mathbin\dlm@norm}
+\newcommand{\dlm@var}[1]{\middle#1}
+\newcommand{\dlm@varl}[1]{\mathopen{}\mathclose\bgroup\left#1}
+\newcommand{\dlm@varr}[1]{\right#1\egroup}
+\newcommand{\dlm@varm}[1]{\mathrel{}\middle#1\mathrel{}}
+\newcommand{\dlm@varp}[1]{\middle#1\mathpunct{}}
+\newcommand{\dlm@varb}[1]{\mathbin{}\middle#1\mathbin{}}
+\newcommand{\bigp}{\mathpunct\big}
+\newcommand{\Bigp}{\mathpunct\Big}
+\newcommand{\biggp}{\mathpunct\bigg}
+\newcommand{\Biggp}{\mathpunct\Bigg}
+\newcommand{\bigb}{\mathbin\big}
+\newcommand{\Bigb}{\mathbin\Big}
+\newcommand{\biggb}{\mathbin\bigg}
+\newcommand{\Biggb}{\mathbin\Bigg}
+
+\newcommand{\dlm@parsesize}[1]{\@ifnextchar\bgroup%
+ {\dlm@parsesize@{#1}{0}}{\dlm@parsesize@{#1}}}
+\newcommand{\dlm@parsesize@}[2]{\def\dlm@arg{dlm@norm}%
+ \if0#2\def\dlm@arg{dlm@norm}\fi%
+ \if1#2\def\dlm@arg{big}\fi%
+ \if+#2\def\dlm@arg{big}\fi%
+ \if!#2\def\dlm@arg{big}\fi%
+ \if2#2\def\dlm@arg{Big}\fi%
+ \if3#2\def\dlm@arg{bigg}\fi%
+ \if4#2\def\dlm@arg{Bigg}\fi%
+ \if*#2\def\dlm@arg{dlm@var}\fi%
+ #1}
+
+\newcommand{\selectdelim}[2][]{\if.#1#2\else\csname\dlm@arg #1\endcsname#2\fi}
+
+\newcommand{\DeclareMathDelimiterSet}[1]{\expandafter\dlm@declare%
+ \csname dlm@dcl@\expandafter\@gobble\string#1\endcsname{#1}}
+\def\dlm@declare#1#2{\newcommand{#2}{\dlm@parsesize{#1}}\newcommand{#1}}
+
+\newcommand{\delim}[2]
+ {\dlm@parsesize{\dlm@dcl@delim{#1}{#2}}}
+\newcommand{\dlm@dcl@delim}[3]
+ {\selectdelim[l]#1{#3}\selectdelim[r]#2}
+
+\newcommand{\delimpair}[3]
+ {\dlm@parsesize{\dlm@dcl@delimpair{#1}{#2}{#3}}}
+\newcommand{\dlm@dcl@delimpair}[5]
+ {\selectdelim[l]#1{#4}\selectdelim#2{#5}\selectdelim[r]#3}
+
+\newcommand{\delimtriple}[4]
+ {\dlm@parsesize{\dlm@dcl@delimtriple{#1}{#2}{#3}{#4}}}
+\newcommand{\dlm@dcl@delimtriple}[7]
+ {\selectdelim[l]#1{#5}\selectdelim#2{#6}\selectdelim#3{#7}\selectdelim[r]#4}
+
+\ifdlm@std
+\providecommand{\brk}[1][r]{\begingroup\def\dlm@use{\delim()}%
+ \if r#1 \def\dlm@use{\delim()}\fi%
+ \if s#1 \def\dlm@use{\delim[]}\fi%
+ \if c#1 \def\dlm@use{\delim\{\}}\fi%
+ \if a#1 \def\dlm@use{\delim<>}\fi%
+ \expandafter\endgroup\dlm@use}
+\providecommand{\eval}[1][v]{\begingroup\def\dlm@use{\delim.\rvert}%
+ \if v#1 \def\dlm@use{\delim.\rvert}\fi%
+ \if s#1 \def\dlm@use{\delim[]}\fi%
+ \expandafter\endgroup\dlm@use}
+\providecommand{\abs}{\delim\lvert\rvert}
+\providecommand{\norm}{\delim\lVert\rVert}
+\fi
+
+\ifdlm@ext
+\providecommand{\pair}{\delimpair({[.],})}
+\providecommand{\set}{\delim\{\}}
+\providecommand{\setcond}{\delimpair\{|\}}
+\providecommand{\intv}[1][c]{\begingroup\def\dlm@use{\delimpair[{[.],}]}%
+ \if c#1 \def\dlm@use{\delimpair[{[.],}]}\fi%
+ \if l#1 \def\dlm@use{\delimpair]{[.],}]}\fi%
+ \if r#1 \def\dlm@use{\delimpair[{[.],}[}\fi%
+ \if o#1 \def\dlm@use{\delimpair]{[.],}[}\fi%
+ \expandafter\endgroup\dlm@use}
+\providecommand{\avg}{\delim<>}
+\providecommand{\corr}{\delim<>}
+\providecommand{\comm}{\delimpair[{[.],}]}
+\providecommand{\acomm}{\delimpair\{{[.],}\}}
+\providecommand{\bra}{\delim<|}
+\providecommand{\ket}{\delim|>}
+\providecommand{\braket}{\delimpair<|>}
+\fi
+
+\endinput
+%%
+%% End of file `delimset.sty'.