From 087037d946928765bc5098fe2b706601255ecd3d Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Tue, 28 May 2013 00:19:26 +0000
Subject: interval (24may13)

git-svn-id: svn://tug.org/texlive/trunk@30747 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/tex/latex/interval/interval.sty | 73 +++++++++++++++++++++++
 1 file changed, 73 insertions(+)
 create mode 100644 Master/texmf-dist/tex/latex/interval/interval.sty

(limited to 'Master/texmf-dist/tex/latex/interval/interval.sty')

diff --git a/Master/texmf-dist/tex/latex/interval/interval.sty b/Master/texmf-dist/tex/latex/interval/interval.sty
new file mode 100644
index 00000000000..559520b9ae5
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/interval/interval.sty
@@ -0,0 +1,73 @@
+\ProvidesPackage{interval}[2013/05/24 v0.1]
+
+%%
+%% 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@imf.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={)},%
+  },%
+}
+
+% user configuation
+\newcommand\intervalconfig[1]{\pgfkeys{/interval,#1}}
+
+
+\newcommand\interval[3][]{%
+  \begingroup%
+  \def\INTV@openfence{\mathopen{\INTV@leftfence}}%
+  \def\INTV@closefence{\mathclose{\INTV@rightfence}}%
+  \pgfkeys{interval,#1}%
+  \pgfkeysgetvalue{/interval/left fence}{\INTV@leftfence}%
+  \pgfkeysgetvalue{/interval/right fence}{\INTV@rightfence}%
+  \INTV@openfence%
+  #2% 
+  %,%
+  \pgfkeysvalueof{/interval/separator symbol}
+  #3%
+  \INTV@closefence%
+  \endgroup%
+}
-- 
cgit v1.2.3

