\ProvidesPackage{interval}[2019/03/06 v0.4] \newcommand\INTVversion{v0.4} %% %% This package can 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 2003/12/01 or later. %% %% This work has the LPPL maintenance status "maintained". %% %% The Current Maintainer of this work is Lars Madsen (daleif@math.au.dk). %% \RequirePackage{pgfkeys} \newcommand\INTV@scaler[1]{ \def\INTV@auto{auto} \def\INTV@arg{#1} \ifx\INTV@auto\INTV@arg \def\INTV@openfence{\mathopen{}\mathclose\bgroup\left\INTV@leftfence} \def\INTV@closefence{\aftergroup\egroup\right\INTV@rightfence} \else \def\INTV@openfence{\mathopen{#1\INTV@leftfence}} \def\INTV@closefence{\mathclose{#1\INTV@rightfence}} \fi } % setup \pgfkeys{% /interval/.is family,% /interval,% left open fence/.initial={]},% left closed fence/.initial={[},% right open fence/.initial={[},% right closed fence/.initial={]},% left fence/.link=/interval/left closed fence,% right fence/.link=/interval/right closed fence,% separator symbol/.initial={,},% open left/.style={ left fence/.link=/interval/left open fence },% open right/.style={ right fence/.link=/interval/right open fence },% open/.style={open left,open right},% scaled/.code={\INTV@scaler{#1}},% scaled/.default=auto,% soft open fences/.style={% left open fence={(},% right open fence={)},% },% colorize/.initial=,% } % user configuation \newcommand\intervalconfig[1]{\pgfkeys{/interval,#1}} \newcommand\intervalsetup{ \PackageError{interval}{The \string\intervalsetup\space macro has been removed. Please use \string\intervalconfig\space instead}{} } \newcommand\interval[3][]{% \begingroup% \def\INTV@openfence{\mathopen{\INTV@leftfence}}% \def\INTV@closefence{\mathclose{\INTV@rightfence}}% % \let\INTV@extra\relax% \pgfkeys{interval,#1}% \pgfkeysgetvalue{/interval/left fence}{\INTV@leftfence}% \pgfkeysgetvalue{/interval/right fence}{\INTV@rightfence}% \pgfkeysgetvalue{/interval/colorize}{\INTV@colorize}% \INTV@colorize% \INTV@openfence% #2% \pgfkeysvalueof{/interval/separator symbol} #3% \INTV@closefence% \endgroup% } \newcommand\ointerval[3][]{\interval[open,#1]{#2}{#3}} \newcommand\linterval[3][]{\interval[open left,#1]{#2}{#3}} \newcommand\rinterval[3][]{\interval[open right,#1]{#2}{#3}}