summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/12many
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-12 23:49:06 +0000
committerKarl Berry <karl@freefriends.org>2006-01-12 23:49:06 +0000
commit537a62abf2208730c27ee774a90f39a41a8cce70 (patch)
tree8abd6b01097f0c4ac1a1b3994daebd874d256cf1 /Master/texmf-dist/tex/latex/12many
parent130ca907c302991185d76929e2c56cb21046e137 (diff)
12many
git-svn-id: svn://tug.org/texlive/trunk@629 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/12many')
-rw-r--r--Master/texmf-dist/tex/latex/12many/12many.sty130
1 files changed, 130 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/12many/12many.sty b/Master/texmf-dist/tex/latex/12many/12many.sty
new file mode 100644
index 00000000000..00b333a41e3
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/12many/12many.sty
@@ -0,0 +1,130 @@
+%%
+%% This is file `12many.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% 12many.dtx (with options: `sty')
+%% This is a generated file.
+%%
+%% This file is part of the `12many' package.
+%% The `12many' package has the LPPL maintenance status: maintained.
+%% Current Maintainer is Ulrich M. Schwarz, ulmi@users.sarovar.org
+%%
+%% Copyright (C) 2004,2005 by Ulrich M. Schwarz.
+%%
+%% This file may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3a 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
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{12many}[2005/05/09 v0.3 1, 2, many: numbersets (ums)]
+
+\RequirePackage{calc, keyval}
+\newcommand\newOTMstyle{%
+ \let\otm@@newcmd\newcommand
+ \otm@@fooOTMstyle
+}
+\newcommand\renewOTMstyle{%
+ \let\otm@@newcmd\renewcommand
+ \otm@@fooOTMstyle
+}
+\newcommand*\otm@@fooOTMstyle[2][\relax]{%
+ \ifx #1\relax\else
+ \@for\parm:=#1\do{%
+ \expandafter\otm@@newkvOTMparameter\parm={#2}%
+ }%
+ \fi
+ \expandafter\otm@@newcmd\expandafter*\csname otm@style@#2\endcsname[2]%
+}
+\def\otm@@newkvOTMparameter#1=#2=#3{%
+ \newOTMparameter{#3}{#1}{#2}%
+}
+\newcommand\newOTMparameter[3]{%
+ \expandafter\providecommand\csname otm@#1@#2\endcsname{#3}%
+ \define@key{otm@#1}{#2}{\expandafter\renewcommand\csname otm@#1@#2\endcsname{##1}}%
+}
+\newcommand\setOTMparameter[2]{%
+ \expandafter\renewcommand\csname otm@#1@#2\endcsname%
+}
+\newcommand\getOTMparameter[2][\otm@@currentstyle]{%
+ \csname otm@#1@#2\endcsname%
+}
+\newcommand*\setOTMstyle[2][]{%
+ \protected@edef\otm@@currentstyle{#2}%
+ \PackageInfo{12many}{Using style \otm@@currentstyle[#1]}%
+ \setkeys{otm@\otm@@currentstyle}{#1}%
+ \expandafter\let\expandafter\nto\csname otm@style@\otm@@currentstyle\endcsname%
+}
+\newcommand\nto{%
+ \PackageWarning{12many}{No style selected. Using dots.}%
+ \setOTMstyle{dots}%
+ \nto%
+}
+\newcommand\oto{\nto{0}}
+\newcommand\ito{\nto{1}}
+
+%% Style "`set"': the "`proper way"': {i\in N: x<=i<=y}
+\newOTMstyle[var=i,naturals={\mathrm{N}_0},where=|]{set}{%
+ \{\getOTMparameter{var}\in\getOTMparameter{naturals}%
+ \getOTMparameter{where} #1\leq\getOTMparameter{var}\leq#2\}%
+}
+%% Style "`laue"': 1 to n is n with some sort of rharpoon below.
+\newcounter{otm@scratch}
+
+\newOTMstyle{laue}{%
+ \ifcase#1\relax
+ (\{0\}\otm@laue@setplus\otm@@laue@laue{#2})%
+ \or
+ \otm@@laue@laue{#2}%
+ \else
+ \setcounter{otm@scratch}{#1}%
+ \addtocounter{otm@scratch}{-1}%
+ (\otm@@laue@laue{#2}%
+ \otm@laue@setminus\otm@@laue@laue{\arabic{otm@scratch}})%
+ \fi
+}
+\newOTMparameter{laue}{setminus}{\setminus}
+\newOTMparameter{laue}{setplus}{\cup}
+\newOTMparameter{laue}{ybelow}{0.3ex}
+\newOTMparameter{laue}{strokewidth}{0.08ex}
+\newOTMparameter{laue}{innersidegap}{0.05em}
+\newOTMparameter{laue}{outersidegap}{0.05em}
+\newcommand{\otm@@laue@laue}[1]{%
+ \mathpalette{\let\laue@mathstyle}{\ensuremath{%
+ \rlap{\hspace*{\otm@laue@innersidegap}$\laue@mathstyle #1$}%
+ \rule[-\otm@laue@ybelow]%
+ {\widthof{\ensuremath{\laue@mathstyle #1}}+\otm@laue@innersidegap *2}%
+ {\otm@laue@strokewidth}%
+ \rule[-\otm@laue@ybelow]%
+ {\otm@laue@strokewidth}%
+ {\otm@laue@ybelow *2}}}}
+%% Style "`dots"': variations of the {1,...,n} theme.
+
+\newOTMstyle[dots={,\ldots,}]{dots}{%
+ \{#1\getOTMparameter{dots}#2\}%
+}
+%% Style "`nude"': variations of the 1..n theme.
+
+\newOTMstyle[dots={\ldotp\ldotp}]{nude}{%
+ #1\getOTMparameter{dots}#2%
+}
+%%
+%% PART III: Use existing customization file
+%%
+\InputIfFileExists{12many.cfg}{%
+ \PackageInfo{12many}{Also using customization file 12many.cfg}
+}{%
+ \PackageInfo{12many}{No customization file used}
+}
+
+%%
+%% PART IV: Use package parameter
+%%
+\DeclareOption*{\setOTMstyle{\CurrentOption}}
+\ProcessOptions\relax
+\endinput
+%%
+%% End of file `12many.sty'.