From a4b670466f6280ea88e68ccb6efde519f776c426 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 12 Jan 2006 23:56:14 +0000 Subject: functan git-svn-id: svn://tug.org/texlive/trunk@944 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/functan/functan.sty | 223 ++++++++++++++++++++++++ 1 file changed, 223 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/functan/functan.sty (limited to 'Master/texmf-dist/tex') diff --git a/Master/texmf-dist/tex/latex/functan/functan.sty b/Master/texmf-dist/tex/latex/functan/functan.sty new file mode 100644 index 00000000000..c6c0da849c0 --- /dev/null +++ b/Master/texmf-dist/tex/latex/functan/functan.sty @@ -0,0 +1,223 @@ +%% +%% This is file `functan.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% functan.dtx (with options: `package') +%% +%% functan.ins +%% Copyright 2004 Antoine Lejay +%% +%% This program is provided under the terms of the +%% LaTeX Project Public License distributed from CTAN +%% archives in directory macros/latex/base/lppl.txt. +%% +%% Author: Antoine Lejay (Antoine.Lejay@iecn.u-nancy.fr) +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +%% +\ProvidesPackage{functan} +[2004/07/03 v1.0 Macros for functional analysis] +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{functan}[2004/07/03 v1.0, Macros for functional analysis] +\DeclareOption{leqno}{% +\PassOptionsToPackage{leqno}{amsmath}} +\DeclareOption{intlimits}{% +\PassOptionsToPackage{intlimits}{amsmath}} +\DeclareOption{nointlimits}{% +\PassOptionsToPackage{leqno}{amsmath}} +\DeclareOption{sumlimits}{% +\PassOptionsToPackage{sumlimits}{amsmath}} +\DeclareOption{nosumlimits}{% +\PassOptionsToPackage{leqno}{amsmath}} +\DeclareOption{namelimits}{% +\PassOptionsToPackage{namelimits}{amsmath}} +\DeclareOption{nonamelinits}{% +\PassOptionsToPackage{nonamelinits}{amsmath}} +\DeclareOption{reqno}{% +\PassOptionsToPackage{reqno}{amsmath}} +\DeclareOption{centertags}{% +\PassOptionsToPackage{centertags}{amsmath}} +\DeclareOption{tbtags}{% +\PassOptionsToPackage{tbtags}{amsmath}} +\DeclareOption{cmex10}{% +\PassOptionsToPackage{cmex10}{amsmath}} +\DeclareOption{fleqn}{% +\PassOptionsToPackage{fleqn}{amsmath}} +\ProcessOptions +\RequirePackage{amsmath}[2000/01/01 v2.0] +\newcommand{\Macro}[2]{\@ifundefined{functan@macro@#1}{}{% +\PackageWarning{functan}{The macro '#1' has already been defined}} +\@namedef{functan@macro@#1}{#2}} +\newcommand{\m}[1]{\@ifempty{#1}{% +\PackageError{functan}{No macro's name given}{} +}{% +\@ifundefined{functan@macro@#1}{% +\PackageError{functan}{The macro `#1' is not defined}{}}{% +\@nameuse{functan@macro@#1}}}} +\newcommand{\mempty}[1]{\@ifempty{#1}{}{% +\@ifundefined{functan@macro@#1}{% +\PackageError{functan}{The macro `#1' is not defined}{}}{% +\@nameuse{functan@macro@#1}}}} +\global\def\functan@size@auto{auto} +\newcommand{\functan@casesize}[4]{\def\functan@size{#1}% +\ifx\functan@size\functan@size@auto #2\else% +\@ifempty{#1}{#3}{#4}\fi} +\let\delcasesize\functan@casesize +\global\def\functan@size@big{big} +\global\def\functan@size@Big{Big} +\global\def\functan@size@bigg{bigg} +\global\def\functan@size@Bigg{Bigg} +\newcommand{\casesize}[7]{% +\def\functan@size{#1} +\@ifempty{#1}{#3}{% +\ifx\functan@size\functan@size@auto{#2}\else% +\ifx\functan@size\functan@size@big{#4}\else% +\ifx\functan@size\functan@size@Big{#5}\else% +\ifx\functan@size\functan@size@bigg{#6}\else% +\ifx\functan@size\functan@size@Bigg{#7}\else% +\PackageError{functan}{Size argument `#1' of `casesize' not valid}% +\fi\fi\fi\fi\fi}} +\newcommand{\delonearg}[4][auto]{% +\functan@casesize{#1}{\left#3 #2 \right#4}{% +#3 #2 #4}{\@nameuse{#1l}#3 #2 \@nameuse{#1r}#4}} +\newcommand{\deltwoarg}[6][auto]{% +\def\functan@vert@bar{|}% +\edef\functan@arg@bar{#6}% +\ifx\functan@arg@bar\functan@vert@bar% +\functan@casesize{#1}{\left#4 #2\;\vrule\; #3\right#5}{% +#4 #2\;\vert\;#3 #5}{% +\@nameuse{#1l}#4 #2\;\@nameuse{#1}\vert\;#3 \@nameuse{#1r}#5} +\else +\functan@casesize{#1}{\left#4 #2 #6 #3 \right#5}{% +#4 #2 #6 #3 #5}{% +\@nameuse{#1l}#4 #2 #6 #3 \@nameuse{#1r}#5} +\fi} +\newcommand{\functan@norm}[3]{% +\functan@casesize{#1}{\left\lVert #3\right\rVert% +\@ifnotempty{#2}{_{#2}}}{% +\lVert #3\rVert\@ifnotempty{#2}{_{#2}}}{% +\@nameuse{#1l}\lVert #3\@nameuse{#1r}\rVert% +\@ifnotempty{#2}{_{#2}}}} +\newcommand{\functan@starred@norm}[3][auto]{% +\functan@norm{#1}{#2}{#3}} +\newcommand{\functan@nonstarred@norm}[3][auto]{% +\@ifundefined{functan@named@norm@#2}% +{\@ifempty{#2}{\functan@norm{#1}{}{#3}}{% +\functan@norm{#1}{\m{#2}}{#3}}}% +{\@nameuse{functan@named@norm@#2}{#1}{#3}}} +\newcommand{\newnorm}[1]{% +\@namedef{functan@named@norm@#1}##1##2} +\newcommand{\norm}{\@ifstar{\functan@starred@norm}% +{\functan@nonstarred@norm}} +\newcommand{\newconv}[1]{% +\@namedef{functan@named@conv@#1}##1} +\newcommand{\conv}{% +\@ifstar{\functan@starred@conv}{\functan@nonstarred@conv}} +\newcommand{\functan@nonstarred@conv}[2]{% +\@ifundefined{functan@named@conv@#1}% +{\xrightarrow[#2]{\mempty{#1}}}{\@nameuse{functan@named@conv@#1}{#2}}} +\newcommand{\functan@starred@conv}[2]{\xrightarrow[#2]{#1}} +\newcommand{\xleftrightarrow}[2][]{% +\ext@arrow 9999\leftrightarrowfill@{#1}{#2}} +\newcommand{\Xrightarrow}[2][]{% +\ext@arrow 0359\Rightarrowfill@{#1}{#2}} +\newcommand{\Xleftarrow}[2][]{% +\ext@arrow 3095\Leftarrowfill@{#1}{#2}} +\newcommand{\Xleftrightarrow}[2][]{% +\ext@arrow 9999\Leftrightarrowfill@{#1}{#2}} +\newcommand{\leftconv}{% +\@ifstar{\functan@starred@leftconv}% +{\functan@nonstarred@leftconv}} +\newcommand{\functan@nonstarred@leftconv}[2]{% +\xleftarrow[#2]{\mempty{#1}}} +\newcommand{\functan@starred@leftconv}[2]{% +\xleftarrow[#2]{#1}} +\newcommand{\leftrightconv}{% +\@ifstar{\functan@starred@leftrightconv}% +{\functan@nonstarred@leftrightconv}} +\newcommand{\functan@nonstarred@leftrightconv}[2]{% +\xleftrightarrow[#2]{\mempty{#1}}} +\newcommand{\functan@starred@leftrightconv}[2]{% +\xleftrightarrow[#2]{#1}} +\newcommand{\Conv}{% +\@ifstar{\functan@starred@Conv}{\functan@nonstarred@Conv}} +\newcommand{\functan@nonstarred@Conv}[2]{% +\Xrightarrow[#2]{\mempty{#1}}} +\newcommand{\functan@starred@Conv}[2]{% +\Xrightarrow[#2]{#1}} +\newcommand{\Leftconv}{% +\@ifstar{\functan@starred@Leftconv}% +{\functan@nonstarred@Leftconv}} +\newcommand{\functan@nonstarred@Leftconv}[2]{% +\Xleftarrow[#2]{\mempty{#1}}} +\newcommand{\functan@starred@Leftconv}[2]{% +\Xleftarrow[#2]{#1}} +\newcommand{\Leftrightconv}{% +\@ifstar{\functan@starred@Leftrightconv}% +{\functan@nonstarred@Leftrightconv}} +\newcommand{\functan@nonstarred@Leftrightconv}[2]{% +\Xleftrightarrow[#2]{\mempty{#1}}} +\newcommand{\functan@starred@Leftrightconv}[2]{% +\Xleftrightarrow[#2]{#1}} +\def\rightharpoonfill@{\arrowfill@\relbar\relbar\rightharpoonup} +\newcommand{\xrightharpoon}[2][]% +{\ext@arrow 0359\rightharpoonfill@{#1}{#2}} +\def\leftharpoonfill@{\arrowfill@\leftharpoonup\relbar\relbar} +\newcommand{\xleftharpoon}[2][]% +{\ext@arrow 3095\leftharpoonfill@{#1}{#2}} +\def\leftrightharpoonfill@% +{\arrowfill@\leftharpoonup\relbar\rightharpoonup} +\newcommand{\xleftrightharpoon}[2][]% +{\ext@arrow 3095\leftrightharpoonfill@{#1}{#2}} +\newcommand{\wkconv}{% +\@ifstar{\functan@starred@wkconv}% +{\functan@nonstarred@wkconv}} +\newcommand{\functan@nonstarred@wkconv}[2]{% +\xrightharpoon[#2]{\mempty{#1}}} +\newcommand{\functan@starred@wkconv}[2]{% +\xrightharpoon[#2]{#1}} +\newcommand{\leftwkconv}{% +\@ifstar{\functan@starred@leftwkconv}% +{\functan@nonstarred@leftwkconv}} +\newcommand{\functan@nonstarred@leftwkconv}[2]{% +\xleftharpoon[#2]{\mempty{#1}}} +\newcommand{\functan@starred@leftwkconv}[2]{% +\xleftharpoon[#2]{#1}} +\newcommand{\leftrightwkconv}{% +\@ifstar{\functan@starred@leftrightwkconv}% +{\functan@nonstarred@leftrightwkconv}} +\newcommand{\functan@nonstarred@leftrightwkconv}[2]{% +\xleftrightharpoon[#2]{\mempty{#1}}} +\newcommand{\functan@starred@leftrightwkconv}[2]{% +\xleftrightharpoon[#2]{#1}} +\newcommand{\scalprod}{\@ifstar{\functan@starred@scalprod}% +{\functan@nonstarred@scalprod}} +\newcommand{\functan@starred@scalprod}[4][auto]{ +\deltwoarg[#1]{#3}{#4}{\langle}% +{\rangle}{,}\@ifempty{#2}{}{_{#2}}} +\newcommand{\functan@nonstarred@scalprod}[4][auto]{ +\@ifundefined{functan@scalprod@named@#2}{ +\deltwoarg[#1]{#3}{#4}{\langle}% +{\rangle}{,}\@ifempty{#2}{}{_{\m{#2}}}}{% +\@nameuse{functan@scalprod@named@#2}{#1}{#3}{#4}}} +\newcommand{\newscalprod}[1]{% +\@namedef{functan@scalprod@named@#1}##1##2##3} +\endinput +%% +%% End of file `functan.sty'. -- cgit v1.2.3