Merge branch 'master' into rtoy-verify-html-index
[maxima.git] / interfaces / emacs / imaxima / breqn097a / flexisym.sty
blob2634d311bfd2320ac906f3c8f90199f920e7fac2
1 %%
2 %% This is file `flexisym.sty',
3 %% generated with the docstrip utility.
4 %%
5 %% The original source files were:
6 %%
7 %% flexisym.dtx (with options: `package')
8 %%
9 %% This is a generated file.
10 %%
11 %% Copyright (C) 1997-2003 by Michael J. Downes
12 %% Copyright (C) 2007 by Morten Hoegholm <mh.ctan@gmail.com>
13 %%
14 %% This work may be distributed and/or modified under the
15 %% conditions of the LaTeX Project Public License, either
16 %% version 1.3 of this license or (at your option) any later
17 %% version. The latest version of this license is in
18 %% http://www.latex-project.org/lppl.txt
19 %% and version 1.3 or later is part of all distributions of
20 %% LaTeX version 2005/12/01 or later.
21 %%
22 %% This work has the LPPL maintenance status "maintained".
23 %%
24 %% This Current Maintainer of this work is Morten Hoegholm.
25 %%
26 %% This work consists of the main source file flexisym.dtx
27 %% and the derived files
28 %% flexisym.sty, flexisym.pdf, flexisym.ins, flexisym.drv,
29 %% cmbase.sym, mathpazo.sym, mathptmx.sym, msabm.sym.
30 %%
31 \ProvidesPackage{flexisym}[2007/12/19 v0.96]
32 \let\@xp\expandafter \let\@nx\noexpand
33 \edef\do{%
34 \@nx\AtEndOfPackage{%
35 \catcode\number`\"=\number\catcode`\"
36 \relax
39 \do \let\do\relax
40 \catcode`\"=12
41 \let\@sym\@gobble
42 \DeclareOption{robust}{%
43 \def\@sym#1{%
44 \ifx\protect\@typeset@protect \else\protect#1\@xp\@gobblefour\fi
47 \def\mg@bin{2}% binary operators
48 \def\mg@rel{2}% relations
49 %%\def\mg@nre{B}% negated relations
50 \def\mg@del{3}% delimiters
51 %%\def\mg@arr{B}% arrows
52 \def\mg@acc{0}% accents
53 \def\mg@cop{3}% cumulative operators (sum, int)
54 \def\mg@latin{1}% (Latin) letters
55 \def\mg@greek{1}% (lowercase) Greek
56 \def\mg@Greek{0}% (capital) Greek
57 %%\def\mg@bflatin{4}% bold upright Latin letters ?
58 %%\def\mg@Bbb{B}% blackboard bold
59 \def\mg@cal{2}% script/calligraphic
60 %%\def\mg@frak{5}% Fraktur letters
61 \def\mg@digit{0}% decimal digits % 1 = oldstyle, 0 = capital
62 \expandafter\let\csname MathChar \endcsname\mathchar
63 \expandafter\let\csname Delimiter \endcsname\delimiter
64 \expandafter\let\csname Radical \endcsname\radical
65 \newcommand{\MathChar}{}
66 \edef\MathChar{\csname MathChar \endcsname\noexpand\string}
67 \newcommand{\Delimiter}{}
68 \edef\Delimiter{\csname Delimiter \endcsname\noexpand\string}
69 \newcommand{\Radical}{}
70 \edef\Radical{\csname Radical \endcsname\noexpand\string}
71 \let\sumlimits\displaylimits
72 \let\intlimits\nolimits
73 \let\namelimits\displaylimits
74 \edef\m@Ord#1#2#3{\csname MathChar \endcsname"0#1#2#3 }
75 \edef\m@Var#1#2#3{\csname MathChar \endcsname"7#1#2#3 }
76 \edef\m@Bin#1#2#3{\csname MathChar \endcsname"2#1#2#3 }
77 \edef\m@Rel#1#2#3{\csname MathChar \endcsname"3#1#2#3 }
78 \edef\m@Pun#1#2#3{\csname MathChar \endcsname"6#1#2#3 }
79 \edef\m@COs#1#2#3{\csname MathChar \endcsname"1#1#2#3 \sumlimits}
80 \edef\m@COi#1#2#3{\csname MathChar \endcsname"1#1#2#3 \intlimits}
81 \def\delim@a#1#2#3#4{\ifx\relax#1#2#3#4\else#1\fi #2#3#4}
82 \def\delim@b#1#2#3#4{\ifx\relax#1#2#3#4\else#1\fi }
83 \def\@tempa{%
84 \@nx\@xp\@nx\delim@a\@nx\csname sd@##1##2##3\@nx\endcsname ##1##2##3 }
85 \edef\m@DeL#1#2#3{\csname Delimiter \endcsname"4\@tempa}
86 \edef\m@DeR#1#2#3{\csname Delimiter \endcsname"5\@tempa}
87 \edef\m@DeB#1#2#3{\csname Delimiter \endcsname"0\@tempa}
88 \edef\m@DeA#1#2#3{\csname Delimiter \endcsname"3\@tempa}
89 \edef\m@Rad#1#2#3{\csname Radical \endcsname"\@tempa}
90 \def\do#1#2{\@xp\def\csname sd@#1\endcsname{#2}}
91 \do{300}{028}
92 \do{301}{029}
93 \do{302}{05B}
94 \do{303}{05D}
95 \do{304}{262}
96 \do{305}{263}
97 \do{306}{264}
98 \do{307}{265}
99 \do{308}{266}
100 \do{309}{267}
101 \do{30A}{268}
102 \do{30B}{269}
103 \do{30C}{26A}
104 \do{30D}{26B}
105 \do{30E}{13D}
106 \do{30F}{26E}
107 \do{340}{37A}
108 \do{341}{37B}
109 \do{33A}{33A}
110 \do{33B}{33B}
111 \do{33E}{33E}
112 \do{33C}{26A}
113 \do{33D}{26B}
114 \do{378}{222}
115 \do{379}{223}
116 \do{33F}{26C}
117 \do{37E}{22A}
118 \do{37F}{22B}
119 \do{377}{26D}
120 \do{30F}{26E}
121 \def\m@Acc#1#2#3#4{\mathaccent"#1#2#3{#4}}
122 \def\@symAcc{\@sym}
123 \let\@symtype\@firstofone
124 \def\@symOrd#1#2{\@symtype\mathord{\OrdSymbol{#2}}}
125 \def\@symVar{\@symOrd}
126 \def\@symBin#1#2{\@symtype\mathbin{\OrdSymbol{#2}}}
127 \def\@symRel#1#2{\@symtype\mathrel{\OrdSymbol{#2}}}
128 \def\@symPun#1#2{\@symtype\mathpunct{\OrdSymbol{#2}}}
129 \def\@symCOi#1#2{\@symtype{\mathop{\OrdSymbol{#2}}\intlimits}}
130 \def\@symCOs#1#2{\@symtype{\mathop{\OrdSymbol{#2}}\sumlimits}}
131 \def\@symOpe#1#2{\@symtype\mathopen{\OrdSymbol{#2}}}
132 \def\@symClo#1#2{\@symtype\mathclose{\OrdSymbol{#2}}}
133 \def\@symDeL#1#2{\@symtype\mathopen{\OrdSymbol{#2}}}
134 \def\@symDeR#1#2{\@symtype\mathclose{\OrdSymbol{#2}}}
135 \def\@symDeB#1#2{\@symtype\mathord{\OrdSymbol{#2}}}
136 \def\@symInn#1#2{\@symtype\mathinner{\OrdSymbol{#2}}}
137 \def\@xnce#1{\@xp\@nx\csname#1\endcsname}
138 \let\sym@global\global
139 \def\DeclareFlexSymbol#1#2#3#4{%
140 \begingroup
141 \edef\@tempb{\@nx\@sym\@nx#1\@xnce{m@#2}\@xnce{mg@#3}#4}%
142 \ifcat\@nx#1\relax
143 \sym@global\let#1\@tempb
144 \else
145 \sym@global\mathcode`#1="8000\relax
146 \lccode`\~=`#1\relax
147 \lowercase{\sym@global\let~\@tempb}%
149 \endgroup
151 \def\DeclareFlexCompoundSymbol#1#2#3{%
152 \@xp\DeclareRobustCommand\@xp#1\@xp{\csname @sym#2\endcsname#1{#3}}%
153 \sym@global\let#1#1\relax
155 \DeclareRobustCommand\textchar{\text@char\textfont}
156 \DeclareRobustCommand\scriptchar{\text@char\scriptfont}%
157 \def\text@char@a{\?\endgroup}%
158 \def\text@char@sym#1#2#3{%
159 \begingroup
160 \let\@sym\relax % defense against infinite loops
161 \the\text@script@char#3%
162 \afterassignment\text@char@a
163 \chardef\?="%
165 \def\text@char#1#2{\begingroup\check@mathfonts
166 \let\text@script@char#1\let\@sym\text@char@sym
167 \let\@symtype\@secondoftwo \let\OrdSymbol\@firstofone
168 \let\ifmmode\iftrue \everymath{$\@gobble}%$
169 \def\mkern{\muskip\z@}\let\mskip\mkern
170 \ifcat\relax\noexpand#2#2%
171 \else
172 \lccode`\~=\expandafter`\string#2\relax
173 \lowercase{~}%
175 \endgroup
177 \providecommand\textprime{}
178 \DeclareRobustCommand\textprime{\leavevmode
179 \raise.8ex\hbox{\text@char\scriptfont\prime}%
181 \@ifundefined{resetMathstrut@}{}{%
182 \def\resetMathstrut@{%
183 \setbox\z@\hbox{\textchar\vert}%
184 \ht\Mathstrutbox@\ht\z@ \dp\Mathstrutbox@\dp\z@
187 \@ifundefined{rightarrowfill@}{}{%
188 \def\rightarrowfill@#1{\m@th\setboxz@h{$#1\relbar$}\ht\z@\z@
189 $#1\copy\z@\mkern-6mu\cleaders
190 \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill
191 \mkern-6mu\OrdSymbol{\rightarrow}$}
192 \def\leftarrowfill@#1{\m@th\setboxz@h{$#1\relbar$}\ht\z@\z@
193 $#1\OrdSymbol{\leftarrow}\mkern-6mu\cleaders
194 \hbox{$#1\mkern-2mu\copy\z@\mkern-2mu$}\hfill
195 \mkern-6mu\box\z@$}
196 \def\leftrightarrowfill@#1{\m@th\setboxz@h{$#1\relbar$}\ht\z@\z@
197 $#1\OrdSymbol{\leftarrow}\mkern-6mu\cleaders
198 \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill
199 \mkern-6mu\OrdSymbol{\rightarrow}$}
201 \def\binrel@sym#1#2#3#4#5{%
202 \xdef\binrel@@##1{%
203 \ifx\m@Ord#2\@nx\@symOrd
204 \else\ifx\m@Var#2\@nx\@symVar
205 \else\ifx\m@COs#2\@nx\@symCOs
206 \else\ifx\m@COi#2\@nx\@symCOi
207 \else\ifx\m@Bin#2\@nx\@symBin
208 \else\ifx\m@Rel#2\@nx\@symRel
209 \else\ifx\m@Pun#2\@nx\@symPun
210 \else\@nx\@symErr \fi\fi\fi\fi\fi\fi\fi
211 ?{\@nx\OrdSymbol{##1}}}%
213 \def\binrel@a{%
214 \def\@symOrd##1##2{\gdef\binrel@@####1{\@symOrd##1{\OrdSymbol{####1}}}}%
215 \def\@symVar##1##2{\gdef\binrel@@####1{\@symVar##1{\OrdSymbol{####1}}}}%
216 \def\@symCOs##1##2{\gdef\binrel@@####1{\@symCOs##1{\OrdSymbol{####1}}}}%
217 \def\@symCOi##1##2{\gdef\binrel@@####1{\@symCOi##1{\OrdSymbol{####1}}}}%
218 \def\@symBin##1##2{\gdef\binrel@@####1{\@symBin##1{\OrdSymbol{####1}}}}%
219 \def\@symRel##1##2{\gdef\binrel@@####1{\@symRel##1{\OrdSymbol{####1}}}}%
220 \def\@symPun##1##2{\gdef\binrel@@####1{\@symPun##1{\OrdSymbol{####1}}}}%
222 \def\binrel@#1{%
223 \setbox\z@\hbox{$%
224 \let\mathchoice\@gobblethree
225 \let\@sym\binrel@sym \binrel@a
226 #1$}%
228 \def\@symextension{sym}
229 \newcommand\usesymbols[1]{%
230 \@for\@tempb:=#1\do{%
231 \@xp\@onefilewithoptions\@xp{\@tempb}[][]\@symextension
234 \newcommand\ProvidesSymbols[1]{\ProvidesFile{#1.sym}}
235 \DeclareRobustCommand{\not}[1]{\@symRel\not{\OrdSymbol{\notRel#1}}}
236 \DeclareRobustCommand{\OrdSymbol}[1]{%
237 \begingroup\mathchars@reset#1\endgroup
239 \def\mathchars@reset{\let\@sym\@sym@ord \let\@symtype\@symtype@ord
240 \let\OrdSymbol\relax}
241 \def\@symtype@ord#1#{}% a strange sort of \@gobble
242 \def\@sym@ord#1#2{\@xp\@sym@ord@a\string#2\@nil}%
243 \begingroup
244 \lccode`\.=`\@ \lowercase{\endgroup
245 \def\@sym@ord@a#1.}#2#3\@nil#4#5#6{%
246 \csname MathChar \endcsname"0%
247 \if D#2\@xp\delim@b\csname sd@#4#5#6\endcsname#4#5#6
248 \else #4#5#6
251 \@ifpackageloaded{amsmath}{%
252 \begingroup
253 \long\def\next#1\mathchardef\std@minus\mathcode`\-\relax
254 \mathchardef\std@equal\mathcode`\=\relax#2\flexi@stop{%
255 \toks@{#1#2}%
256 \xdef\@begindocumenthook{\the\toks@}%
258 \expandafter\next\@begindocumenthook\flexi@stop
259 \endgroup
261 \AtBeginDocument{%
262 \def\newmcodes@{%
263 \mathcode `\'39\mathcode `\*42\mathcode `\."613A
264 \ifnum\mathcode`\-=45
265 \else
266 \ifnum\mathcode`\-=32768
267 \else
268 \mathchardef \std@minus \mathcode `\-\relax
271 \mathcode `\-45 \mathcode `\/47\mathcode `\:"603A\relax
274 \DeclareOption{mathstyleoff}{\PassOptionsToPackage{mathactivechars}{mathstyle}}
275 \DeclareOption{cmbase}{\usesymbols{cmbase}}
276 \DeclareOption{mathpazo}{\usesymbols{mathpazo}}
277 \DeclareOption{mathptmx}{\usesymbols{mathptmx}}
278 \ExecuteOptions{cmbase}
279 \ProcessOptions\relax
280 \renewcommand{\lnot}{\neg}
281 \renewcommand{\land}{\wedge}
282 \renewcommand{\lor}{\vee}
283 \renewcommand{\le}{\leq}
284 \renewcommand{\ge}{\geq}
285 \renewcommand{\ne}{\neq}
286 \renewcommand{\owns}{\ni}
287 \renewcommand{\gets}{\leftarrow}
288 \renewcommand{\to}{\rightarrow}
289 \renewcommand{\|}{\Vert}
290 \RequirePackage{mathstyle}
291 \endinput
293 %% End of file `flexisym.sty'.