diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-12 23:52:31 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-12 23:52:31 +0000 |
commit | 06b49f3c6d4c6b798b7a43c628dd8dc7fff42922 (patch) | |
tree | b8563c2579c6471bd6d8f87ff3401f15339fa615 /Master/texmf-dist/tex/latex/breqn | |
parent | b3ed0ab98fca447045f52b8be7dc200a74e05882 (diff) |
breqn
git-svn-id: svn://tug.org/texlive/trunk@727 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/breqn')
-rw-r--r-- | Master/texmf-dist/tex/latex/breqn/breqn.sty | 2060 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/breqn/cmbase.sym | 336 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/breqn/flexisym.sty | 257 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/breqn/mathstyle.sty | 89 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/breqn/msabm.sym | 228 |
5 files changed, 2970 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/breqn/breqn.sty b/Master/texmf-dist/tex/latex/breqn/breqn.sty new file mode 100644 index 00000000000..29d5392b35c --- /dev/null +++ b/Master/texmf-dist/tex/latex/breqn/breqn.sty @@ -0,0 +1,2060 @@ +% This is a slightly patched copy of version 0.93 [mjd,2002-05-29] +\NeedsTeXFormat{LaTeX2e}[1994/12/01] +\ProvidesPackage{breqn}[2002/05/29 v0.94 beta] +\@ifl@t@r\fmtversion{1995/06/01}{}{% + \@namedef{newmuskip}{\alloc@3\muskip\muskipdef\@cclvi}% + \@namedef{newtoks}{\alloc@5\toks\toksdef\@cclvi}% + \@namedef{newif}#1{\count@\escapechar \escapechar\m@ne + \let#1\iffalse \@if#1\iftrue \@if#1\iffalse \escapechar\count@}% +} +\edef\breqnpopcats{% + \catcode\number`\"=\number\catcode`\" + \relax +} +\catcode`\^=7 \catcode`\_=8 \catcode`\"=12 \relax +\DeclareOption{debug}{} +\DeclareOption{mathstyleoff}{% + \PassOptionsToPackage{mathstyleoff}{flexisym}% +} +\ProcessOptions\relax +\@ifpackageloaded{flexisym}{}{% + \RequirePackage[cmbase]{flexisym}[1997/01/01] + % Reiterate this here, for now, until I have a chance to better + % sort things out. [mjd,2002-05-29] + \edef\breqnpopcats{\breqnpopcats + \catcode\number`\^=\number\catcode`\^ + \catcode\number`\_=\number\catcode`\_ + }% + \catcode`\^=7 \catcode`\_=8 \catcode`\"=12 \relax +} +\RequirePackage{keyval}\relax +\@ifundefined{options}{% +\newcommand{\options}[2]{% + \expandafter\options@a\csname opt@#1.sty\endcsname{#2}% + \setkeys{#1}{#2}% +} +\def\options@a#1#2{% + \edef\@tempa{\options@b#2,\@empty\@nil}% + \ifx#1\relax \let#1\@empty\fi + \xdef#1{#1\ifx#1\@empty\@xp\@gobble\@tempa\@empty\else\@tempa \fi}% +} +\def\options@b#1,#2#3\@nil{% + \options@c#1 \@nil + \ifx#2\@empty \else\options@b#2#3\@nil\fi +} +\def\options@c#1 #2\@nil{\options@d#1=\@nil} +\def\options@d#1=#2\@nil{\ifx\@empty #1\@empty\else,\fi#1} +}{}% end @ifundefined test +\let\@nx\noexpand +\let\@xp\expandafter +\@ifundefined{@emptytoks}{\newtoks\@emptytoks}{} +\chardef\f@ur=4 +\newcount\inf@bad \inf@bad=1000000 +\newcount\maxint \maxint=2147483647 +\let\int@a=\@tempcnta +\let\int@b=\@tempcntb +\let\int@c=\count@ +\let\dim@a\@tempdima +\let\dim@b\@tempdimb +\let\dim@c\@tempdimc +\let\dim@d\dimen@ +\let\dim@e\dimen@ii +\let\dim@A\dimen@i +\let\skip@a\@tempskipa +\let\skip@b\@tempskipb +\let\skip@c\skip@ +\let\toks@a\@temptokena +\let\toks@b\toks@ +\toksdef\toks@c=2 +\toksdef\toks@d=4 +\toksdef\toks@e=6 +\toksdef\toks@f=8 +\def\abs@num#1{\ifnum#1<\z@-\fi#1} +\def\@ifnext#1#2#3{% + \let\@tempd= #1\def\@tempa{#2}\def\@tempb{#3}% + \futurelet\@tempc\@ifnexta +} +\def\@ifnexta{\ifx\@tempc\@tempd \let\@tempb\@tempa \fi \@tempb} +\def\@ifstar#1#2{% + \let\@tempd*\def\@tempa*{#1}\def\@tempb{#2}% + \futurelet\@tempc\@ifnexta +} +\def\@optarg#1#2{\@ifnext[{#1}{#1[#2]}} +\def\@True{00} +\def\@False{01} +\def\@Not#1{0\ifcase#11 \or\@xp 1\else \@xp 0\fi} +\def\@And#1#2{0\ifcase#1#2 \@xp 0\else \@xp 1\fi} +\def\@Or#1#2{0\ifnum#1#2<101 \@xp 0\else \@xp 1\fi} +\def\freeze@glue#1{#11#1\relax} +\def\z@rule{\vrule\@width\z@}% no \relax ! use with care +\def\keep@glue{\z@rule\relax} +% usage: \message{H\replicate{5}{i h}ow de doo dee!} +\begingroup \catcode`\&=11 +\gdef\replicate#1{% + \csname &\expandafter\replicate@a\romannumeral\number\number#1 000q\endcsname +} +\endgroup +\long\def\replicate@a#1#2\endcsname#3{#1\endcsname{#3}#2} +\begingroup \catcode`\&=11 +\long\gdef\&m#1#2{#1\csname \endcsname{#1}} +\endgroup +\@xp\let\csname\string &q\endcsname\@gobble +\g@addto@macro\mathchars@reset{% + \let\@symRel\@secondoftwo \let\@symBin\@secondoftwo + \let\@symDeL\@secondoftwo \let\@symDeR\@secondoftwo + \let\@symDeB\@secondoftwo +} +\def\eq@cons#1#2{% + \begingroup \let\@elt\relax \xdef#1{\@elt{#2}#1}\endgroup +} +\providecommand{\@saveprimitive}[2]{% + \begingroup + \edef\@tempa{\string#1}\edef\@tempb{\meaning#1}% + \ifx\@tempa\@tempb \global\let#2#1% + \else + \edef\@tempb{\meaning#2}% + \ifx\@tempa\@tempb + \else \@saveprimitive@a#1#2% + \fi + \fi + \endgroup +} +\def\@saveprimitive@a#1#2{% + \begingroup + \def\@tempb##1#1##2{\edef\@tempb{##2}\@car{}}% + \@tempb\nullfont{select font nullfont}% + \topmark{\string\topmark:}% + \firstmark{\string\firstmark:}% + \botmark{\string\botmark:}% + \splitfirstmark{\string\splitfirstmark:}% + \splitbotmark{\string\splitbotmark:}% + #1{\string#1}% + \edef\@tempa{\expandafter\strip@prefix\meaning\@tempb}% + \edef\@tempb{\meaning#1}% + \ifx\@tempa\@tempb \global\let#2#1% + \else + \PackageError{breqn}% + {Unable to properly define \string#2; primitive + \noexpand#1no longer primitive}\@eha + \fi + \fi + \endgroup +} +\begingroup \catcode`\$=3 % just to make sure + \global\let\@@math=$ \gdef\@@display{$$} +\endgroup +\let\@@endmath=\@@math +\let\@@enddisplay=\@@display +\@saveprimitive\vadjust\@@vadjust +\@saveprimitive\insert\@@insert +\@saveprimitive\mark\@@mark +\let\debug=\begingroup +\let\gubed=\endgroup +\def\debugmsg{\message{|= \iffalse}\fi + \@xp\@gobble\string +} +\def\debugwr#1{\immediate\write\sixt@@n{|= #1}} +\def\debug@box#1{% + \batchmode{\showboxbreadth\maxdimen\showboxdepth99\showbox#1}% + \errorstopmode +} +\def\eqinfo{% + \debug@box\EQ@copy + \wlog{||= EQ@copy: \the\wd\EQ@copy\space x + \the\ht\EQ@copy+\the\dp\EQ@copy + }% +} +\def\debug@para{% + \debugwr{\hsize\the\hsize, \parfillskip\the\parfillskip}% + \debugmsg{\leftskip\the\leftskip, \rightskip\the\rightskip}% + \debugmsg{\linepenalty\the\linepenalty, \adjdemerits\the\adjdemerits}% + \debugmsg{\pretolerance\the\pretolerance, \tolerance\the\tolerance, + \parindent\the\parindent}% +} +\@ifpackagewith{breqn}{debug}{}{% + \let\debug\iffalse \let\gubed\fi + \let\debugmsg\@gobble \let\debug@lines\relax \let\debug@para\relax + \let\debugwr\@gobble + \let\debug@box\@gobble \let\debug@push\@gobbletwo +} +\@ifundefined{listwidth}{\newdimen\listwidth}{} +\listwidth=\z@ +\def\do#1#2{\begingroup + \def\?##1#1##2##3##4##5\@nil{\endgroup##2##3\afterassignment\do##4}% + \?C\newcount#2#2D\newdimen#2#2S\newskip#2#2U\newmuskip#2#2% + K\newtoks#2#2F\newif#2{\z@\z@}T\newif#2{\let#2\iftrue}% + B\newbox#2{\z@\z@}d{\newcommand#2{}}{}{\def#2}% + Q\relax\@gobbletwo\relax \@nil}% +\do % def, Count, Dimen, Skip, mUskip, toKs, Box, False, True +d\eqfontsize{} % Inherit from context +d\eqcolor{black} % Default to black +D\eqnumsep=9pt % Min space between equ number and body +D\eqmargin=8pt % For `multline' gap emulation +d\eqindent{C}% % C or I, centered or indented +d\eqnumside{R}% % R or L, right or left +d\eqnumplace{M}% % M or T or B, middle top or bottom +d\eqnumfont{\upshape}% % Upright even when surrounding text is slanted +d\eqnumform#1{(#1\@@italiccorr)} % Add parens +d\eqnumsize{} % Allow numbers to have different typesize ... +d\eqnumcolor{} % ... or color than eq body e.g. \color{blue} +S\eqlinespacing=14pt plus2pt % Base-to-base space between lines +S\eqlineskip=3pt plus2pt % Min space if eqlinespacing too small +D\eqlineskiplimit=2pt % Threshold for switching to eqlineskip +U\eqbinoffset=15mu minus-3mu % Offset from mathrel alignment pt for mathbins +U\eqdelimoffset=2mu % Additional offset for break inside delims +D\eqindentstep=8pt % Indent used when LHS wd is n/a or too large +d\eqcompactzone{5em} % Force compact unless RHS max exceeds this +K\eqstyle={} % Customization hook +C\eqbreakdepth=2 % Allow breaks within delimiters to this depth +C\eqlinepenalty=199 % No page breaks between equation lines +C\eqinterlinepenalty=10000 % No page breaks between equation lines +C\intereqpenalty=\@M % Pagebreak penalty between equations +S\intereqskip=3pt plus2pt % Additional vert space between equations +C\prerelpenalty=-\@M % Linebreak penalty before mathrel symbols +C\prebinoppenalty=888 % Linebreak penalty before mathbins +U\Dmedmuskip=4mu minus 3mu % medmuskip in displays +U\Dthickmuskip=5mu minus 2mu % thickmuskip in displays +Q\relax % End of assignments +\do % def, Dimen, Skip, mUskip, toKs, Box, False, True +d\eq@number{} % Internal variable +S\eqleftskip=\@centering % Space on the left +S\eqrightskip=\@centering % Space on the right +S\eq@vspan=\z@skip % Glue used to vcenter the eq number +U\eq@binoffset=\eqbinoffset % Roughly, \eqbinoffset + \eqdelimoffset +B\EQ@box % Storage for equation body +B\EQ@copy % For eq body sans vadjust/insert/mark material +B\EQ@numbox % For equation number +%%B\EQ@vimbox % Vadjust, insert, or mark material +%%B\EQ@vimcopy % Spare copy of same +%%B\eq@impinging % Temporary box for measuring number placement +T\if@eq@number % Number present or not? +C\eq@lines=\z@ % Internal counter, actual number of lines +C\eq@curline=\z@ % Loop counter +C\eq@badness=\z@ % Used in testing for overfull lines +C\EQ@vims=\z@ % For bookkeeping +Q\relax +\newdimen\eq@dp \newdimen\eq@sidespace +\newdimen\eq@wdL \newdimen\grp@wdL \newdimen\grp@bodywidth +\newdimen\eq@bodywidth \newdimen\eq@wdRmax \newdimen\eq@firstht +\newdimen\eq@indentstep \newdimen\eq@linewidth \newdimen\eq@freewidth +\newdimen\grp@linewidth +\def\do#1#2{\if Q#1\relax \else\@xp\do\fi}\do +D\eq@bodywidth % Total width for framing +D\eq@wdL % Width of the left-hand-side +D\eq@sidespace % Min leftover space for centering +D\grp@wdL % Max width of LHS's in a group +D\grp@bodywidth % Max width of all equations in a group +D\eq@firstht % Height of first line +D\eq@dp % Depth of last line +D\eq@indentstep % Indent amount when LHS is not present +D\eq@linewidth % Width actually used for display +D\grp@linewidth % Max eq@linewidth over a group +D\eq@freewidth % eq@linewidth - space for number +Q\relax +\eq@indentstep=\maxdimen +\eq@sidespace=\maxdimen +\let\given@sidespace\@empty +\def\eq@overrun{0pt} +\@ifpackagewith{amsmath}{leqno}{% + \@ifpackagewith{amsmath}{reqno}{}{\def\eqnumside{L}}% +}{% + \def\@tempa#1,leqno.clo,#2#3\@nil{% + \ifx @#2\relax\else \def\eqnumside{L}\fi + }% + \@xp\@tempa\@filelist,leqno.clo,@\@nil + \if L\eqnumside + \else + \@ifundefined{iftagsleft@}{}{% + \edef\eqnumside{% + \if TT\csname fi\endcsname\csname iftagsleft@\endcsname + L\else R\fi + }% + } + \fi +} +\@ifpackagewith{amsmath}{fleqn}{% + \def\eqindent{I}% +}{% + \def\@tempa#1,fleqn.clo,#2#3\@nil{% + \ifx @#2\relax\else \def\eqindent{I}\fi + }% + \@xp\@tempa\@filelist,fleqn.clo,@\@nil + \if I\eqindent + \else + \@ifundefined{if@fleqn}{}{% + \edef\eqindent{% + \if TT\csname fi\endcsname\csname if@fleqn\endcsname + I\else C\fi + }% + }% + \fi +} +\if I\eqindent + \@ifundefined{mathindent}{% + \newdimen\mathindent + }{% + \@ifundefined{@mathmargin}{}{% + \mathindent\@mathmargin + }% + } +\fi +\let\EQ@hasLHS=\@False +\let\EQ@QED=\@empty +\def\mark@lhs#1{% + \ifnum\lr@level<\@ne + \let\mark@lhs\relax + \global\let\EQ@hasLHS=\@True + \global\let\EQ@prebin@space\EQ@prebin@space@a + \mark@lhs@a + \penalty9999 % instead of normal \rel@break + % else no penalty = forbid break + \fi +} +\def\mark@lhs@a{% + \mskip\thickmuskip \@@vadjust{\penalty\tw@}\penalty-\@Mi\@@vadjust{}% +} +\newcommand\hiderel[1]{\mathrel{\advance\lr@level\@ne#1}} +\let\m@@Bin\m@Bin +\let\m@@Rel\m@Rel +\let\EQ@prebin@space\relax +\def\EQ@prebin@space@a{\mskip-\eq@binoffset \keep@glue \mskip\eq@binoffset} +\def\bin@break{\ifnum\lastpenalty=\z@\penalty\prebinoppenalty\fi + \EQ@prebin@space} +\def\rel@break{% + \ifnum\abs@num\lastpenalty <\abs@num\prerelpenalty + \penalty\prerelpenalty + \fi +} +\def\d@@Bin{\bin@break \m@@Bin} +\def\d@@Rel{\mark@lhs \rel@break \m@@Rel} +\let\m@@symRel\@symRel \def\d@@symRel{\mark@lhs \rel@break \m@@symRel} +\let\m@@symBin\@symBin \def\d@@symBin{\bin@break \m@@symBin} +\let\m@@symDel\@symDel +\let\m@@symDeR\@symDeR +\let\m@@symDeB\@symDeB +\let\m@@symDeA\@symDeA +\global\everydisplay\expandafter{\the\everydisplay \display@setup} +\def\display@setup{% + \medmuskip\Dmedmuskip \thickmuskip\Dthickmuskip + \let\m@Bin\d@@Bin \let\m@Rel\d@@Rel + \let\@symRel\d@@symRel \let\@symBin\d@@symBin + \let\m@DeL\d@@DeL \let\m@DeR\d@@DeR \let\m@DeB\d@@DeB + \let\m@DeA\d@@DeA + \let\@symDeL\d@@symDeL \let\@symDeR\d@@symDeR + \let\@symDeB\d@@symDeB \let\@symDeA\d@@symDeA + \let\left\eq@left \let\right\eq@right \global\lr@level\z@ + \everyhbox{\everyhbox\@emptytoks + \let\display@setup\relax \textmath@setup \let\textmath@setup\relax + }% + \everyvbox{\everyvbox\@emptytoks + \let\display@setup\relax \textmath@setup \let\textmath@setup\relax + }% +} +\def\textmath@setup{% + \let\m@Bin\m@@Bin \let\m@Rel\m@@Rel + \let\@symRel\m@@symRel \let\@symBin\m@@symBin + \let\m@DeL\m@@DeL \let\m@DeR\m@@DeR \let\m@DeB\m@@DeB + \let\m@DeA\m@@DeA + \let\@symDeL\m@@symDeL \let\@symDeR\m@@symDeR + \let\@symDeB\m@@symDeB \let\@symDeA\m@@symDeA + \let\left\@@left \let\right\@@right +} +\@ifundefined{@displaytrue}{% + \@xp\newif\csname if@display\endcsname + \everydisplay\@xp{\the\everydisplay \@displaytrue} +}{} +% \begin{dmath}[label={xyz}] +\define@key{breqn}{label}{\def\next@label{\label{#1}}} +\global\let\next@label\@empty +% \begin{dmath}[number={\nref{foo}\textprime}] +\define@key{breqn}{number}{\def\eq@number{#1}% + \let\@currentlabel\eq@number +} +% \begin{dmath}[shiftnumber] +\define@key{breqn}{shiftnumber}{\let\eq@shiftnumber\@True} +% \begin{dmath}[holdnumber] +\define@key{breqn}{holdnumber}{\let\eq@holdnumber\@True} +% \begin{dmath}[density={.5}] +\define@key{breqn}{density}{\def\eq@density@factor{#1}} +% \begin{dmath}[indentstep={1em}] +\define@key{breqn}{indentstep}{\eqindentstep#1\relax} +% \begin{dmath}[compact] +\define@key{breqn}{compact}[-99]{\prerelpenalty=#1\relax} +% \begin{dmath}[layout={S}]% +\define@key{breqn}{layout}[?]{% + \edef\eq@layout{\@car#1?\@nil}% +} +% \begin{dmath}[spread={1pt}] +\define@key{breqn}{spread}{% + \advance\eqlinespacing#1% + \advance\eqlineskip#1\eqlineskiplimit\eqlineskip +} +\define@key{breqn}{sidespace}{% + \dimen@#1\relax % error checking + \def\given@sidespace{#1}% +} +% \begin{dmath}[style={\small}] +\define@key{breqn}{style}{\eqstyle\@xp{\the\eqstyle #1}} +% \begin{dmath}[frame] +\define@key{breqn}{frame}[\fboxrule]{\let\eq@frame=T% + \dim@a#1\relax\edef\eq@framewd{\the\dim@a}% + \freeze@glue\eqlinespacing \freeze@glue\eqlineskip +} +\define@key{breqn}{fullframe}[]{\let\eq@frame=U% + \freeze@glue\eqlinespacing \freeze@glue\eqlineskip +} +\let\eq@frame=F % no frame +\def\eq@framewd{\fboxrule} +\define@key{breqn}{framesep}[\fboxsep]{% + \ifx\eq@frame=F\let\eq@frame=T\fi + \dim@a#1\relax \edef\eq@framesep{\the\dim@a}% + \freeze@glue\eqlinespacing \freeze@glue\eqlineskip +} +\def\eq@framesep{\fboxsep} +% \begin{dmath}[background={red}] +\define@key{breqn}{background}{\def\eq@background{#1}% + \freeze@glue\eqlinespacing \freeze@glue\eqlineskip +} +% +% \begin{dmath}[color={purple}] +\define@key{breqn}{color}{\def\eq@foreground{#1}} +% \begin{dmath}[center] +\define@key{breqn}{center}[]{\let\eq@centerlines\@True} +\let\eq@centerlines\@False +% \begin{dgroup}[noalign] +\define@key{breqn}{noalign}[]{\let\grp@align\@False} +\let\grp@align\@True % default +% \begin{dgroup}[breakdepth={2}] +\define@key{breqn}{breakdepth}{\eqbreakdepth#1\relax} +% \begin{darray}[cols={lcrlcr}] +\define@key{breqn}{cols}{\global\let\@preamble\@empty + \darray@mkpream#1\@percentchar +} +\newenvironment{dmath}{\@eq@numbertrue \@optarg\@dmath{}}{} +\def\@dmath[#1]{% + \if\eq@group\else\eq@prelim\fi + \setkeys{breqn}{#1}% + \the\eqstyle + \eq@setnumber + \begingroup + \eq@setup@a + \eq@startup +} +\def\enddmath#1{\check@punct@or@qed} +\def\end@dmath{% + \eq@capture + \endgroup + \EQ@setwdL + \eq@measure + \if\eq@group \grp@push \else \eq@finish\fi +} +\newenvironment{dmath*}{% + \@eq@numberfalse \@optarg\@dmath{}% +}{} +\@namedef{end@dmath*}{\end@dmath} +\@namedef{enddmath*}#1{\check@punct@or@qed} +\def\eq@prelim{% + \if@noskipsec \leavevmode \fi + \if@inlabel \leavevmode \global\@inlabelfalse \fi + \if@nobreak \global\@nobreakfalse \predisplaypenalty\@M \fi + \everypar\@emptytoks + \noindent + \eq@nulldisplay + \par %% \eq@saveparinfo %% needs work + \let\intertext\breqn@intertext +} +\def\breqn@parshape@warning{% + \PackageWarning{breqn}{% + Complex paragraph shape cannot be followed by this equation}% +} +\let\eq@prevshape\@empty +\def\eq@saveparinfo{% + \count@\prevgraf \advance\count@-\thr@@ % for the null display + \edef\eq@prevshape{\prevgraf\the\count@\space}% + \ifcase\parshape + % case 0: no action required + \or \edef\eq@prevshape{\eq@prevshape + \parshape\@ne\displayindent\displaywidth\relax + }% + \else + \breqn@parshape@warning + \fi +} +\def\eq@setnumber{% + \debugwr{=====================================================}% + \if@eq@number + \ifx\eq@number\@empty + \stepcounter{equation}\let\eq@number\theequation + \fi + \fi + \ifx\eq@number\@empty + \else + \set@label{equation}\eq@number + \global\sbox\EQ@numbox{% + \next@label \global\let\next@label\@empty + \eqnumcolor\eqnumsize + \eqnumfont{\eqnumform{\eq@number}}% +\debug \typeout{|= Eq number (\eq@number) + placement '\eqnumside\eqnumplace'}% +\gubed + }% + \@eq@numbertrue % locally true + \debugwr{Eq number width: \the\wd\EQ@numbox\space + (ht/dp: \the\ht\EQ@numbox+\the\dp\EQ@numbox)}% + \debugwr{Eq number sep: \the\eqnumsep}% + \fi +} +\def\eq@finish{% + \begingroup + \csname eq@\eqindent \if@eq@number\eqnumside\eqnumplace\fi\endcsname + \ifnum\eq@lines=\prevgraf + \else +\debug +\batchmode\showboxbreadth\maxdimen\showboxdepth99\showlists\errorstopmode +\gubed + \debugmsg{% + prevgraf \the\prevgraf\space != eq@lines \the\eq@lines?}% + \fi + \endgroup + \eq@botspace +} +\def\peek@branch#1#2{% + \let\peek@b#1\let\peek@space#2\futurelet\@let@token\peek@a +} +\def\peek@skipping@spaces#1{\peek@branch#1\peek@skip@space} +\def\peek@a{% + \ifx\@let@token\@sptoken \expandafter\peek@space + \else \expandafter\peek@b\fi +} +\lowercase{\def\peek@skip@space} {\futurelet\@let@token\peek@a}% +\def\check@punct{\futurelet\@let@token\check@punct@a} +\def\check@punct@a{% + \edef\@tempa{% + \ifx\@let@token\@sptoken\@nx\finish@end + \else\ifx\@let@token ,\@nx\check@qed + \else\ifx\@let@token .\@nx\check@qed + \else\check@punct@b % check the less common possibilities + \fi\fi\fi + }% + \@tempa +} +\begingroup +\toks@a{% + \ifx\@let@token ;\@nx\check@qed + \else\ifx\@let@token ?\@nx\check@qed + \else\ifx\@let@token !\@nx\check@qed +} +\toks@c{\fi\fi\fi}% matching with \toks@a +\catcode`\.=\active \catcode`\,=\active \catcode`\;=\active +\catcode`\?=\active \catcode`\!=\active +\toks@b{ + \else\ifx\@let@token ,\@nx\check@qed + \else\ifx\@let@token .\@nx\check@qed + \else\ifx\@let@token ;\@nx\check@qed + \else\ifx\@let@token ?\@nx\check@qed + \else\ifx\@let@token !\@nx\check@qed + \else\@nx\finish@end + \fi\fi\fi\fi\fi +} +\xdef\check@punct@b{% + \the\toks@a\the\toks@b\the\toks@c +} +\endgroup +\let\found@punct\@empty +\def\check@qed#1{% + \gdef\found@punct{#1}% + \peek@skipping@spaces\check@qed@a +} +\def\check@qed@a{% + \ifx\end\@let@token \@xp\check@qed@b + \else \@xp\finish@end + \fi +} +\def\check@qed@b#1#2{% + \@ifundefined{#2qed}{}{% + \toks@\@xp{\found@punct\csname#2qed\endcsname}% + \xdef\found@punct{\the\toks@}% + }% + \finish@end + \end{#2}% +} +\def\@tempa#1\endcsname#2\@nil{\def\latex@end##1{#2}} +\expandafter\@tempa\end{#1}\@nil +\def\end#1{\csname end#1\endcsname \latex@end{#1}}% +\def\check@punct@or@qed#1{% + \def\finish@end{\csname end@#1\endcsname\latex@end{#1}}% + \check@punct +} +\newcommand\eqpunct[1]{\thinspace#1} +\providecommand\set@label[2]{\protected@edef\@currentlabel{#2}} +\def\eq@topspace#1{% + \begingroup + \global\let\EQ@shortskips\@False + \if\@And{\eq@group}{\@Not\GRP@top}% + \parskip\intereqskip \penalty\intereqpenalty + \else + \eq@setdisplayskips + \fi + \ifx F\eq@frame + \else + \advance\parskip\eq@framesep \advance\parskip\eq@framewd\relax + \fi + #1% + \endgroup +} +\def\eq@setdisplayskips{% + \if \if@eq@number\eqnumside \else F\fi L% + \parskip\abovedisplayskip + \else + \afterassignment\eq@firstindent % sets \dim@a + \int@a\eq@parshape \relax +\debugwr{first indent \the\dim@a, predisplaysize \the\predisplaysize}% + \advance\dim@a-2em % standard TeX value + \ifdim\dim@a>\predisplaysize + \global\let\EQ@shortskips\@True + \parskip\abovedisplayshortskip + \aftergroup\belowdisplayskip\aftergroup\belowdisplayshortskip + \else + \parskip\abovedisplayskip + \fi +\debugwr{parskip \the\parskip}% + \fi +} +\def\eq@firstindent#1 #2 #3\relax{\dim@a#2\relax} +\def\eq@botspace{% + \penalty\postdisplaypenalty + \ifx F\eq@frame + \else + \advance\belowdisplayskip\eq@framesep + \advance\belowdisplayskip\eq@framewd\relax + \fi + \vskip\belowdisplayskip + \@endpetrue % kill parindent if current paragraph continues + \global\@ignoretrue % ignore following spaces + \eq@resume@parshape +} +\def\eq@resume@parshape{} +\def\eq@startup{% + \global\let\EQ@hasLHS\@False + \global\let\found@punct\@empty + \setbox\z@\vbox\bgroup + \noindent \@@math \displaystyle + \penalty-\@Mi +} +\def\eq@setup@a{% + \everymath\everydisplay + %\let\@newline\eq@newline % future possibility? + \let\\\eq@newline + \let\insert\eq@insert \let\mark\eq@mark \let\vadjust\eq@vadjust + \hsize\maxdimen \pretolerance\@M + \linepenalty\@m + \rightskip\z@\@plus\@M\p@ \leftskip\z@skip \parfillskip\z@skip + \clubpenalty\@ne \widowpenalty\z@ \interlinepenalty\z@ + \global\let\EQ@prebin@space\relax + \binoppenalty\@M \relpenalty\@M +} +\def\eq@unclosed@left{% + \PackageError{breqn}{% + Delimiter mismatch---not enough closing delimiters% + }{% + Or perhaps too many open delimiters, somewhere in this +equation.\MessageBreak + \@ehc + }% +} +\def\eq@capture{% + \ifnum\lr@level>\z@ \eq@unclosed@left \global\lr@level\z@ \fi + \ifnum\lastpenalty>-\@M \penalty-\@Mi \fi + \keep@glue\@@endmath + \eq@addpunct + \@@par + \eq@wdL\z@ + \global\let\EQ@setwdL\@empty + \global\let\EQ@thickmuskip\@empty +\debug +\batchmode\showboxbreadth\maxdimen\showboxdepth99\showlists\errorstopmode +\gubed + \setbox\tw@\lastbox + \global\setbox\EQ@box\hbox{\unhbox\tw@\unskip\unskip\unpenalty}% + \unskip\unpenalty + \global\setbox\EQ@copy\copy\EQ@box +%% \global\setbox\EQ@vimcopy\copy\EQ@vimbox + \clubpenalty\z@ + \eq@repack % recursive + \setbox\tw@\lastbox + \global\setbox\EQ@box\hbox{\unhcopy\tw@\unskip\unpenalty \unhbox\EQ@box}% + \global\setbox\EQ@copy\hbox{\unhbox\tw@\unskip\unpenalty \unhbox\EQ@copy}% +\debug +\batchmode\showbox\EQ@copy \showthe\eq@wdL\errorstopmode +\gubed + \egroup % end vbox started earlier +} +\def\eq@addpunct{% + \ifx\found@punct\@empty + \else \eqpunct{\found@punct}% + \fi + \EQ@afterspace +} +\global\let\EQ@afterspace\@empty +\global\let\EQ@setwdL\@empty +\global\let\EQ@thickmuskip\@empty +\def\eq@LHS@check{% + \if\EQ@hasLHS + \setbox\z@\hbox{\unhcopy\EQ@copy\setbox\tw@\lastbox + \EQ@thickmuskip}% + \eq@wdL\wd\z@ + \xdef\EQ@setwdL{\eq@wdL\the\eq@wdL\relax}% +\debugwr{Changed wdL to \the\eq@wdL}% + \fi +} +\def\eq@repack{% + \ifcase\lastpenalty + % case 0: normal case + \setbox\tw@\lastbox + \eq@repacka\EQ@copy \eq@repacka\EQ@box + \unskip + \or % case 1: finished recursing + \unpenalty + \setbox\tw@\lastbox + \eq@repacka\EQ@copy \eq@repacka\EQ@box + \eq@LHS@check + \@xp\@gobble + \or % case 2: save box width = LHS width + \unpenalty + \setbox\tw@\lastbox + \setbox\z@\copy\tw@ \setbox\z@\hbox{\unhbox\z@\unskip\unpenalty}% + \advance\eq@wdL\wd\z@ + \xdef\EQ@setwdL{\eq@wdL\the\eq@wdL\relax}% + \global\setbox\EQ@copy\hbox{% + \hbox{\unhcopy\tw@\unskip\unpenalty + \xdef\EQ@thickmuskip{\hskip\the\lastskip\relax}% + \unskip}% + \box\EQ@copy + }% + \global\setbox\EQ@box\hbox{% + \hbox{\unhbox\tw@\unskip\unpenalty\unskip}% + \box\EQ@box + }% + \unskip + \or % case 3: unpack left-right box + \unpenalty + \eq@lrunpack + \else + \breqn@repack@err + \fi + \eq@repack % RECURSE +} +\def\breqn@repack@err{% + \PackageError{breqn}{eq@repack penalty neq 0,1,2,3}\relax +} +\def\eq@repacka#1{% + \global\setbox#1\hbox{\unhcopy\tw@ \unskip + \count@-\lastpenalty + \ifnum\count@<\@M \else \advance\count@-\@M \fi + \unpenalty + \ifx\EQ@copy#1\ifnum\count@>\thr@@ \count@\@ne\fi\fi + \ifcase\count@ + % case 0, normal line break + \penalty-\@M % put back the linebreak penalty + \or % case 1, do nothing (end of equation) + \relax + \or % case 2, no-op (obsolete case) + \or % case 3, transfer vspace and/or penalty + \ifx#1\EQ@box \eq@revspace \else \eq@revspaceb \fi + \or % case 4, put back an insert + \eq@reinsert + \or % case 5, put back a mark + \eq@remark + \or % case 6, put back a vadjust + \eq@readjust + \else % some other break penalty + \penalty-\count@ + \fi + \unhbox#1}% +} +\def\eq@nulldisplay{% + \begingroup \frozen@everydisplay\@emptytoks + \@@display + \predisplaypenalty\@M \postdisplaypenalty\@M + \abovedisplayskip\z@skip \abovedisplayshortskip\z@skip + \belowdisplayskip\z@skip \belowdisplayshortskip\z@skip + \xdef\EQ@displayinfo{% + \prevgraf\the\prevgraf \predisplaysize\the\predisplaysize + \displaywidth\the\displaywidth \displayindent\the\displayindent + \listwidth\the\linewidth + \ifdim\displayindent>\z@ + \advance\listwidth\the\leftmargin + \advance\listwidth\the\rightmargin + \fi + \relax}% + \halign{##\cr}% + \@@enddisplay + \par + \endgroup + \EQ@displayinfo +} +\def\eq@newline{% + \@ifstar{\eq@newlinea\@M}{\eq@newlinea\eqinterlinepenalty}} +\def\eq@newlinea#1{% + \@ifnext[{\eq@newlineb{#1}}{\eq@newlineb{#1}[\maxdimen]}} +\def\eq@newlineb#1[#2]{\penalty-\@M} +\def\eq@revspace{% + \global\setbox\EQ@vimbox\vbox{\unvbox\EQ@vimbox + \unpenalty + \global\setbox\@ne\lastbox}% + \@@vadjust{\unvbox\@ne}% + \penalty-\@M +} +\def\eq@revspaceb{% + \global\setbox\EQ@vimcopy\vbox{\unvbox\EQ@vimcopy + \unpenalty + \global\setbox\@ne\lastbox}% + \@@vadjust{\unvbox\@ne}% + \penalty-\@M +} +\def\eq@break#1{\penalty-1000#1 \keep@glue} +\let\@parshape\@empty +\def\eq@measure{% + \ifdim\eq@indentstep=\maxdimen \eq@indentstep\eqindentstep \fi + \ifdim\eq@linewidth=\z@ \else \edef\eq@linewidths{{\the\eq@linewidth}}\fi + \eqrightskip \z@\@plus.2\columnwidth + \begingroup \eq@params + \leftskip\z@skip + \debug\eqinfo\gubed + \global\EQ@continue{\eq@trial}% + \eq@trial % uses \eq@linewidths + \eq@failout % will be a no-op if the trial succeeded + \endgroup + \EQ@trial +} +\let\EQ@trial\@empty +\newtoks\EQ@continue +\let\EQ@widths\@empty +\def\eq@linewidths{\displaywidth\linewidth\columnwidth} +\def\eq@trial{% + \ifx\@empty\eq@linewidths + \global\EQ@continue{}% + \else + \iffalse{\fi \@xp\eq@trial@a \eq@linewidths}% + \fi + \the\EQ@continue +} +\def\eq@trial@a#1{% + \dim@c#1\relax +\debugwr{trial-A: width #1 (\the\dim@c)}% + \ifx T\eq@frame \eq@frame@adjust\dim@c \fi + \ifdim\dim@c>\eq@linewidth + \eq@linewidth\dim@c \eq@freewidth\eq@linewidth + \if@eq@number + \advance\eq@freewidth-\eqnumsep + \advance\eq@freewidth-\wd\EQ@numbox + \fi + \let\eq@trial@b\eq@trial@d + \csname eq@try@layout@\eq@layout\endcsname + \fi + \edef\eq@linewidths{\iffalse}\fi +} +\@namedef{eq@try@layout@?}{% + \let\eq@trial@b\eq@trial@c + \if\EQ@hasLHS +\debugmsg{trial-A: LHS present (\the\eq@wdL)}% + \ifdim\eq@wdL>\eq@linewidth +\debugwr{trial-A: LHS > linewidth}% + \dim@a\wd\EQ@copy \advance\dim@a-\eq@wdL + \ifdim\dim@a<.25\eq@linewidth \eq@try@layout@S + \else \eq@try@layout@l + \fi + \else + \ifdim\eq@wdL>.7\eq@linewidth +\debugmsg{trial-A: LHS > .7 linewidth (linewidth=\the\eq@linewidth)}% + \eq@try@layout@iS + \else +\debugmsg{trial-A: LHS not extraordinarily wide}% + \eq@try@layout@L + \fi + \fi + \else +\debugwr{trial-A: No LHS here}% + \eq@try@layout@iS + \fi +} +\def\eq@trial@done{% +\debugwr{End trial: Success!}% + \let\eq@failout\relax +} +\def\eq@trial@init{\global\let\EQ@fallback\eq@nextlayout} +\def\eq@trial@save#1{% +\debug \def\eq@zek{^^J|== \space}\let\eq@kez\@empty\debugwr{trial info:\eq@measurements}\debugmsg{bounding box: \the\eq@bodywidth x\the\eq@vspan^^J}% + \let\eq@zek\relax \let\eq@kez\relax +\gubed + \xdef#1{% + \eq@linewidth\the\eq@linewidth \eq@freewidth\the\eq@freewidth + \eq@lines\the\eq@lines \eq@badness\the\eq@badness + \eq@wdL\the\eq@wdL \eq@bodywidth\the\eq@bodywidth \eq@sidespace\the\eq@sidespace + \eq@vspan\the\eq@vspan \eq@dp\the\eq@dp \eq@firstht\the\eq@firstht + \prerelpenalty\the\prerelpenalty % might change during processing + \def\@nx\eq@badline{\eq@badline}% + \def\@nx\eq@layout{\eq@layout}% + \def\@nx\eq@parshape{\@parshape}% + \def\@nx\eq@measurements{\eq@measurements}% + \def\@nx\adjust@rel@penalty{\adjust@rel@penalty}% + \def\@nx\eq@shiftnumber{\eq@shiftnumber}% + }% +} +\def\eq@recalc{% + \eq@bodywidth\z@ \eq@vspan\z@skip \eq@badness\z@ + \eq@wdRmax\z@ + \let\eq@zek\eq@recalc@a \eq@measurements \let\eq@zek\relax + \ifdim\eq@bodywidth<\eq@linewidth + \eq@sidespace\eq@linewidth \advance\eq@sidespace -\eq@bodywidth + \divide\eq@sidespace\tw@ + \else + \eq@sidespace\z@ + \fi +} +\def\eq@recalc@a#1x#2+#3\eq@kez{% + \eq@firstht#2\relax + \let\eq@zek\eq@recalc@b + \eq@zek#1x#2+#3\eq@kez +} +\def\eq@recalc@b#1^^J#2,#3x#4+#5@#6\eq@kez{% + \dim@a#3\relax + \ifdim\dim@a>\eq@wdRmax \eq@wdRmax\dim@a\fi + \advance\dim@a#2\relax + \ifdim\dim@a>\eq@bodywidth \eq@bodywidth\dim@a \fi + \eq@dp#5\relax + \advance\eq@vspan#1\advance\eq@vspan#4\advance\eq@vspan#5\relax + \ifnum#6>\eq@badness \eq@badness#6\relax\fi +} +\let\EQ@last@trial\@empty +\def\eq@failout{% +\debugmsg{End trial: failout}% + \global\let\EQ@trial\EQ@last@trial +} +\def\eq@frame@adjust#1{% + \dim@a\eq@framewd \advance\dim@a\eq@framesep + \advance#1-2\dim@a +} +\def\eq@layout{?} +\def\eq@try@layout@D{% + \dim@a\eq@linewidth \advance\dim@a-\eq@indentstep + \edef\@parshape{\parshape 2 + 0pt \the\eq@wdL\space \the\eq@indentstep\space \the\dim@a\relax + }% + \def\adjust@rel@penalty{\penalty-99 }% + \eq@trial@b{D}{\eq@try@layout@A}% +} +\def\eq@try@layout@A{% + \edef\@parshape{\parshape 1 0pt \the\eq@linewidth\relax}% + \if\EQ@hasLHS \def\adjust@rel@penalty{\penalty-99 }\fi + \eq@trial@b{A}{}% +} +\def\eq@reindent@A{% + \dim@a\eq@linewidth \advance\dim@a-\eq@bodywidth + \edef\eq@parshape{% + \parshape 2 + 0pt \the\eq@bodywidth\space + \the\dim@a\space \the\eq@bodywidth\relax + }% + \leftskip\z@skip +} +\def\eq@try@layout@L{% + \dim@b\eq@linewidth \advance\dim@b-\eq@wdL + \edef\@parshape{\parshape 2 0pt \the\eq@linewidth\space + \the\eq@wdL\space \the\dim@b\relax + }% + \eq@trial@b{L}{\eq@try@layout@D}% +} +\def\eq@try@layout@iS{% + \edef\@parshape{\parshape 1 0pt \the\eq@freewidth\relax}% + \eq@trial@b{i}{\eq@try@layout@S}% +} +\def\eq@try@layout@S{% + \dim@b\eq@linewidth \advance\dim@b-2\eqmargin \advance\dim@b-1em% + \int@a\wd\EQ@copy \divide\int@a\dim@b + \advance\dim@b-\int@a\eq@indentstep\relax + \if@eq@number + \ifdim\dim@b>15em% + \advance\dim@b-\eqnumsep \advance\dim@b-\wd\EQ@numbox + \fi + \fi + \int@b\z@ + \def\@tempa{\dim}% + \edef\@parshape{\parshape 2 0pt \the\dim@b\space + \the\eqmargin\space\the\dim@b\relax}% + \eq@trial@b{S}{\eq@try@layout@A}% +} +\def\eq@try@layout@l{% + \dim@a\eq@linewidth \advance\dim@a-\eq@indentstep + \int@a\eq@wdL \divide\int@a\dim@a + \advance\int@a\tw@ + \edef\@parshape{\parshape \number\int@a\space + 0pt \the\eq@linewidth + }% + \advance\int@a-\tw@ + \dim@b=2\eq@indentstep + \dim@c\eq@linewidth \advance\dim@c-\dim@b + \edef\@parshape{\@parshape + \replicate{\int@a}{ \the\eq@indentstep\space\the\dim@a}% + \space\the\dim@b\space\the\dim@c + }% + \eq@trial@b{l}{\eq@try@layout@A}% +} +\def\eq@fix@lastline{% + \setbox\tw@\lastbox \dim@b\wd\tw@ + \eq@dp\dp\tw@ + \nointerlineskip\hbox to\dim@b{\unhbox\tw@ + \skip@c\lastskip \unskip\unskip\hskip\skip@c + }% +} +\def\eq@trial@b{\eq@trial@c} +\def\eq@compact@test{% + \debugwr{wdRmax: \the\eq@wdRmax}% + \let\@tempa\@empty + \if L\eq@layout + \ifnum\prerelpenalty=-\@M % standard noncompact value + \ifdim\eq@wdRmax>\eqcompactzone\relax + \else + \prerelpenalty=-99 + \def\EQ@fallback{\endgroup + \begingroup \@firstoftwo{\eq@try@layout@L}}% + % This is sensitively dependent on the code that currently + % follows! Talk about bug prone! Watch out! + \def\@tempa##1{\csname iffalse\endcsname}% + \eq@repack@compact + \fi + \fi + \fi + \@tempa +} +\def\eq@trial@c#1#2{% +\debug\message{^^J}\gubed +\debugwr{Trying layout "#1" with parshape^^J|== \space\@xp\@gobble\@parshape}% + \begingroup + \eq@trial@init + \def\eq@layout{#1}% + \setbox\z@\vbox{% + \hfuzz\maxdimen + \eq@trial@p % run the given parshape +% \ifnum\eq@lines>\@ne \@xp\eq@compact@test \fi + \if\@Not{\eq@badline}% + \eq@trial@save\EQ@trial + \if@eq@number + \if i\eq@layout + \else + \if A\eq@layout \let\eq@shiftnumber\@True + \else \eq@retry@with@number + \fi + \if\eq@shiftnumber + \begingroup + \EQ@trial + \let\@parshape\eq@parshape \let\eq@shiftnumber\@True + \eq@trial@save\EQ@trial + \endgroup + \fi + \fi + \fi + \if L\eq@layout \eq@check@density + \else + \if\@Not{\eq@badline}% + \aftergroup\@gobbletwo + \global\EQ@continue{\eq@trial@done}% + \fi + \fi + \else + \eq@trial@save\EQ@last@trial + \fi + }% end of vbox + \EQ@fallback{#2}% + \endgroup +} +\def\eq@check@density{% + \if\@Or{\@Not\EQ@hasLHS}{\eq@shortLHS}% + \aftergroup\@gobbletwo % cancel the \EQ@fallback code + \global\EQ@continue{\eq@trial@done}% + \else + \if\eq@dense@enough + \aftergroup\@gobbletwo % cancel the \EQ@fallback code + \global\EQ@continue{\eq@trial@done}% + \fi + \fi +} +\def\eq@retry@with@number{% +\debugwr{Retry-with-number: wdT=\the\eq@bodywidth, freewidth=\the\eq@freewidth}% +\toks@\@xp{\EQ@trial}\debugwr{EQ@trial: \the\toks@}% + \ifdim\eq@bodywidth>\eq@freewidth \eq@retry@with@number@a \fi +} +\let\eq@shiftnumber\@False +\def\eq@retry@with@number@a{% + \adjust@for@number % depends on number placement +\debug\message{^^J}\gubed\debugwr{Retrying (to make room for the number) with parshape^^J|== \space\@xp\@gobble\@parshape}% + \nointerlineskip + \edef\eq@prev@lines{\the\eq@lines}% + \eq@trial@p + \int@b\eq@prev@lines \advance\int@b\@ne + \ifnum\eq@lines>\int@b + \let\eq@shiftnumber\@True + \else + \if\@Not{\eq@badline}% + \let\eq@shiftnumber\@False + \eq@trial@save\EQ@trial + \else + \let\eq@shiftnumber\@True + \fi + \fi +} +\def\adjust@for@number{% +\debugwr{eq@freewidth=\the\eq@freewidth??}% + \dim@d\wd\EQ@numbox \advance\dim@d\eqnumsep +\debugwr{Adjusting by +\the\dim@d}% + \@xp\let\@xp\adjust@for@number@b + \csname adjust@for@number@\eqnumside\eqnumplace\endcsname + \@xp\adjust@for@number@a\@parshape\relax +} +\def\adjust@for@number@a#1 #2\relax{% + \edef\@parshape{#1}% + \adjust@for@number@b#2 @ @ \relax +} +\def\adjust@for@number@LT#1 #2 {% + \ifx @#1\edef\@parshape{\@parshape\relax}% + \@xp\@gobble + \else + \dim@a#1\advance\dim@a\dim@d + \dim@b#2\advance\dim@b-\dim@d + \edef\@parshape{\@parshape\space\the\dim@a\space\the\dim@b}% + \fi + \adjust@for@number@LT +} +\def\adjust@for@number@LM{% + \ifnum\eq@lines>\tw@ + \advance\dim@d\eq@bodywidth + \advance\dim@d-\eq@linewidth + \fi +\debugwr{No, adjusting by +\the\dim@d\space instead}% + \adjust@for@number@LT +} +\def\adjust@for@number@RM#1 #2 {% + \ifx @#1\edef\@parshape{\@parshape\relax}% + \@xp\@gobble + \else + \dim@c#2\relax + \dim@b\eq@freewidth + \advance\dim@b-#1\advance\dim@b-\dim@c + \ifdim\dim@b<\z@ \advance\dim@c\dim@b + \ifdim\dim@c<\p@ \dim@c\p@\relax \fi + \fi + \edef\@parshape{\@parshape\space#1 \the\dim@c}% + \fi + \adjust@for@number@RM +} +\def\eq@trial@p{% + \@parshape % + \eq@dump@box\unhcopy\EQ@copy + {\@@par}% leave \parshape readable + \eq@lines\prevgraf +\debugmsg{Number of lines: \number\eq@lines}% + \eq@fix@lastline + \let\eq@badline\@False + \if i\eq@layout \ifnum\eq@lines>\@ne \let\eq@badline\@True \fi\fi + \eq@curline\eq@lines % loop counter for eq@measure@lines + \let\eq@measurements\@empty + \eq@ml@record@indents + \eq@measure@lines + \eq@recalc +} +\let\adjust@rel@penalty\@empty +\def\eq@shortLHS{0\ifdim\eq@wdL>.44\eq@bodywidth \@xp 1\else \@xp 0\fi} +\def\eq@longLHS{0\ifdim\eq@wdL>6em \@xp 0\else \@xp 1\fi} +\def\eq@nextlayout#1{% + \endgroup +\debugwr{Nope ... that ain't gonna work.}% + \begingroup #1% +} +\def\eq@trial@d#1#2{\eq@trial@c{#1}{}} +\let\EQ@fallback\@empty +\def\eq@ml@record@indents{% + \int@a\z@ + \def\@tempa{% + \advance\int@a\@ne + \@xp\edef\csname eq@i\number\int@a\endcsname{\the\dim@a}% + \ifnum\int@a<\int@b \afterassignment\@tempb \fi + \dim@a + }% + \def\@tempb{\afterassignment\@tempa \dim@a}% + \def\@tempc##1##2 {\int@b##2\afterassignment\@tempa\dim@a}% + \@xp\@tempc\@parshape +} +\chardef\eq@zek=`\! +\chardef\eq@kez=`\? +\def\eq@measurements{% + \eq@zek 4.5pt/5.0pt,66.0ptx6.8pt+2.4pt@27\eq@kez + ... +} +\def\eq@measure@lines{% + \let\eq@ml@continue\eq@measure@lines + \setbox\tw@\lastbox \dim@b\wd\tw@ % find target width of line + \setbox\z@\hbox to\dim@b{\unhbox\tw@}% check for overfull + \eq@badness\badness + \ifnum\eq@badness<\inf@bad \else \let\eq@badline\@True \fi + \eq@ml@a \eq@ml@continue +} +\def\eq@ml@a{% + \setbox\tw@\hbox{\unhbox\z@ \unskip}% find natural width +\debug\ifnum\eq@badness<\inf@bad\else\debugmsg{!?! Overfull: \the\wd\tw@ >\the\dim@b}\fi\gubed + \ifdim\dim@b<\wd\tw@ \dim@a\dim@b % shrunken line + \else \dim@a\wd\tw@ % OK to use natural width + \fi + \skip@a\lastskip \unskip \unpenalty + \ifdim\skip@a=\z@ + \let\eq@ml@continue\relax % end the recursion + \else + % Sum repeated vskips if present + \def\@tempa{% + \ifdim \lastskip=\z@ + \else \advance\skip@a\lastskip \unskip\unpenalty \@xp\@tempa + \fi + }% + \fi + \edef\eq@measurements{\eq@zek + \the\skip@a\space^^J% extra space to facilitate extracting only the + % dimen part later + \csname eq@i% + \ifnum\eq@curline<\parshape \number\eq@curline + \else\number\parshape + \fi + \endcsname,\the\dim@a x\the\ht\tw@+\the\dp\tw@ @\the\eq@badness\eq@kez + \eq@measurements + }% + \advance\eq@curline\m@ne + \ifnum\eq@curline=\z@ \let\eq@ml@continue\relax\fi +} +\def\eq@ml@vspace{% + \global\advance\eq@vspan\lastskip \unskip\unpenalty + \ifdim\lastskip=\z@ \else \@xp\eq@ml@vspace \fi +} +\def\eq@dense@enough{% + \ifnum\eq@lines<\thr@@ \@True + \else + \ifdim\eq@wdL >.7\eq@bodywidth \@False + \else \@xp\@xp\@xp\eq@dense@enough@a + \fi + \fi +} +\def\true@false@true{\fi\fi\iftrue\iffalse\iftrue} +\def\false@false@false{\fi\fi\iffalse\iffalse\iffalse} +\def\false@true@false{\fi\fi\iffalse\iftrue\iffalse} +\def\eq@density@factor{.475} +\def\eq@dense@enough@a{% + \@True \fi + \ifnum\eq@lines>\sixt@@n + \eq@dense@enough@b + \else + \dim@b\z@ \let\eq@zek\eq@delt \eq@measurements + \dim@c\eq@density@factor\eq@bodywidth \multiply\dim@c\eq@lines +\debugwr{black \the\dim@b/\eq@density@factor total \the\dim@c}% + \ifdim\dim@b>\dim@c \true@false@true \else \false@false@false \fi + \fi +} +\def\eq@delt#1^^J#2,#3x#4+#5@#6\eq@kez{\advance\dim@b#3\relax}% +\def\eq@dense@enough@b{% + \int@b\eq@bodywidth \divide\int@b\p@ + \dim@b\eq@wdL \divide\dim@b\int@b + \dim@c\eq@lines\p@ \multiply\dim@c\f@ur + \int@b\eq@lines \multiply\int@b 9 \advance\int@b -10% + \divide\dim@c\int@b +\debugwr{l/t \the\dim@b\space< \the\dim@c\space 4n/(9n-10)?}% + \ifdim\dim@b<\dim@c \true@true@true \else \false@true@false \fi +} +\def\adjust@parshape#1{% + \@xp\adj@psh@a \csname adjust@parshape@#1@\eq@layout\endcsname +} +\def\adj@psh@a#1{% + \ifx\@@undefined#1\relax +\debugmsg{UNDEFINED: \string#1}% + \else \@xp#1\eq@parshape + \fi +} +\def\adj@psh@b#1{% +\debugmsg{Adjusting parshape (\eqindent\if@eq@number\eqnumside\eqnumplace\fi @\eq@layout)}% + \edef\eq@parshape{\parshape \number\eq@lines}% + \let\eq@zek#1\eq@measurements \let\eq@zek\relax + \edef\eq@parshape{\eq@parshape\relax}% + \leftskip\z@skip +} +\def\adjust@parshape@C@L#1 #2 #3 #4 #5\relax{% + \dim@a\leftskip \advance\dim@a#4\relax + \edef\eq@parshape{#1 \the\leftskip\space#3 \the\dim@a\space#5\relax}% + \leftskip\z@skip +} +\def\adjust@parshape@C@D#1 #2 #3 #4 #5\relax{% + \dim@b\eq@linewidth \advance\dim@b-\eq@bodywidth +\debugmsg{linewidth - wdT = \the\eq@linewidth\space- \the\eq@bodywidth\space=\the\dim@b}% + \advance\dim@b-\eqmargin +\debugmsg{ - eqmargin (\the\eqmargin) = \the\dim@b}% + \advance\dim@b#4\relax +\debugmsg{ + #4 = \the\dim@b}% + \dim@a\eqmargin + \adj@psh@b\C@Deq@zek +} +\def\C@Deq@zek#1^^J#2,#3x#4\eq@kez{% + \edef\eq@parshape{\eq@parshape\space \the\dim@a\space #3}% + \dim@a\dim@b % use dim@b for all remaining lines +} +\def\adjust@parshape@C@S#1 #2 #3 #4 #5\relax{% + \dim@b#4\relax % normally = \eqmargin + \dim@d\eq@linewidth \advance\dim@d-\eq@bodywidth + \ifdim\dim@d<2\dim@b + \dim@c\leftskip + \advance\dim@d-\dim@c + \else \advance\dim@d-2\dim@b + \dim@c\dim@b + \fi + \advance\dim@d-\dim@c \advance\dim@d\dim@b + \int@a\eq@lines \advance\int@a\m@ne + \ifnum\int@a>\@ne \divide\dim@d\int@a \fi +\debugmsg{dim@d after dividing: \the\dim@d}% + \adj@psh@b\C@Seq@zek +} +\def\C@Seq@zek#1^^J#2,#3x#4+#5@#6\eq@kez{% + \edef\eq@parshape{\eq@parshape\space \the\dim@c\space #3}% + \advance\dim@c\dim@d +} +\def\adjust@parshape@CRM@D#1 #2 #3 #4 #5\relax{% + \dim@b\eq@linewidth \advance\dim@b-\eq@bodywidth +\debugmsg{linewidth - wdT = \the\eq@linewidth\space- \the\eq@bodywidth\space=\the\dim@b}% + \advance\dim@b-\eqnumsep \advance\dim@b-\wd\EQ@numbox +\debugmsg{ - numsep (\the\eqnumsep) - numwd (\the\wd\EQ@numbox) = \the\dim@b}% + \advance\dim@b#4\relax +\debugmsg{ + #4 = \the\dim@b}% + \dim@a\eqmargin + \adj@psh@b\C@Deq@zek +} +\def\adjust@parshape@CRM@L{\adjust@parshape@C@L} +\def\adjust@parshape@CRM@S#1 #2 #3 #4 #5\relax{% + \dim@b#4\relax % normally = \eqmargin + \dim@d\eq@linewidth \advance\dim@d-\eq@bodywidth + \advance\dim@d-\eqnumsep \advance\dim@d -\wd\EQ@numbox + \ifdim\dim@d<\dim@b \dim@c\leftskip + \else \dim@c\dim@b + \fi + \advance\dim@d-\dim@c \advance\dim@d\dim@b + \int@a\eq@lines \advance\int@a\m@ne + \ifnum\int@a>\@ne \divide\dim@d\int@a \fi +\debugmsg{dim@d after dividing: \the\dim@d}% + \adj@psh@b\C@Seq@zek +} +\def\adjust@parshape@CRM@A#1\relax{\debugmsg{CRM@A: #1}} +\def\adjust@parshape@CRM@l#1\relax{\debugmsg{CRM@l: #1}} +\let\eq@parshape\@empty +\def\eq@params{% + \baselineskip\eqlinespacing + \lineskip\eqlineskip \lineskiplimit\eqlineskiplimit + \clubpenalty\@M \widowpenalty\@M \interlinepenalty\eqinterlinepenalty + \linepenalty\eqlinepenalty \exhyphenpenalty9999 + \rightskip\eqrightskip + \ifdim\hfuzz<\p@ \hfuzz\p@ \fi + \advance\rightskip \z@\@minus\hfuzz + \hfuzz\z@ + \parfillskip\z@skip + \if\eq@centerlines + \advance\leftskip\rightskip \advance\leftskip -1\rightskip + \fi + \tolerance9999 \pretolerance\m@ne + \hbadness\tolerance +} +\def\eq@dump@box#1#2{% +%\debug@box#1% +\debugwr{Dumping with leftskip = \the\leftskip, + \ifx\@empty\eq@parshape \else eq\fi @parshape =}% +\debugwr{\ifx\@empty\eq@parshape \@parshape \else\eq@parshape\fi}% + \noindent #1#2\setbox\f@ur\lastbox \setbox\tw@\lastbox + \if L\eq@layout \box\tw@ \else\unhbox\tw@\fi + \adjust@rel@penalty \unhbox\f@ur +} +\def\eq@C{% +\debugmsg{\eq@sidespace\the\eq@sidespace, \eq@bodywidth\the\eq@bodywidth, \eq@linewidth\the\eq@linewidth}% + \eq@params + \leftskip\eq@sidespace + \adjust@parshape{C}% + \eq@parshape + \eq@topspace{\noindent}% + \ifx F\eq@frame + \else + \vbox to\eq@firstht{\hbox to\z@{\eq@addframe\hss}\vss}% + \fi + \eq@dump@box\unhbox\EQ@box \@@par +} +\def\eq@CRB{% + \if\eq@shiftnumber + \leftskip\eq@sidespace + \else + \ifnum\eq@lines=\@ne + \leftskip\eq@sidespace \advance\leftskip\eqnumsep + \ifdim\leftskip<3\wd\EQ@numbox + \multiply\leftskip\tw@ \divide\leftskip\thr@@ + \ifdim\leftskip<2\eqnumsep + \leftskip\eq@sidespace \divide\leftskip\tw@ + \fi +\debugmsg{Shifting off-center: leftskip \the\leftskip}% + \else + \divide\leftskip\tw@ +\debugmsg{Plenty of room: leftskip \the\leftskip}% + \fi + \fi + \fi + \eq@CRBa +} +\def\eq@CRBa{% + \eq@topspace{\noindent}% + \ifx F\eq@frame + \else \vbox to\eq@firstht{\hbox to\z@{\eq@addframe\hss}\vss}% + \fi + \eq@params \eq@parshape + \add@grp@label + \eq@dump@box\unhbox\EQ@box \@@par + \penalty\@M + \if\eq@shiftnumber + \else + \lineskiplimit-\maxdimen \baselineskip\z@skip + \fi + \hbox to\eq@linewidth{\hfil\copy\EQ@numbox}% +} +\def\eq@CRM{% +\debug + \dim@a\eq@bodywidth \advance\dim@a\eqnumsep \advance\dim@a\wd\EQ@numbox +\debugmsg{\hsize\the\hsize, \eq@linewidth\the\eq@linewidth}% +\debugmsg{T+S+N = \the\eq@bodywidth+\the\eqnumsep+\the\wd\EQ@numbox\space= \the\dim@a}% +\debugmsg{sidespace: \the\eq@sidespace}% +\gubed + \ifnum\eq@lines<\tw@ + \ifdim\eq@bodywidth>\eq@freewidth \let\eq@shiftnumber\@True\fi + \fi + \debugmsg{\rightskip=\the\rightskip??}% + \parfillskip\z@skip + \if\eq@shiftnumber + \@xp\eq@CRB % shifted number + \else + \set@leftskip@for@centering + \@xp\eq@CRMa % nonshifted number + \fi +} +\def\set@leftskip@for@centering{% + \leftskip\eq@sidespace\relax + \ifdim\leftskip>\z@ % when not true? + % Skip quickly past the more complicated stuff if not needed (which + % is true most of the time) + \ifdim\leftskip<2\wd\EQ@numbox + \set@leftskip@fca + \else +\debugwr{Plenty of room: leftskip \the\leftskip}% + \fi + \fi +} +\def\set@leftskip@fca{% + % Save free space = linewidth - bodywidth - numberwidth in \dim@a + \dim@a\eq@linewidth \advance\dim@a-\eq@bodywidth + \advance\dim@a-\wd\EQ@numbox + \ifdim\dim@a<\eqnumsep + \leftskip\z@skip +\debugwr{Not enough room, wha happend?}% + \else + % Put two thirds of the free space on the side opposite to the number + \leftskip\dim@a \multiply\leftskip\tw@ \divide\leftskip\thr@@ + \dim@b\dim@a \advance\dim@b-\leftskip + % But if that leaves less than eqnumsep for the other side, we need + % to do some more adjusting. + \ifdim\dim@b<\eqnumsep + \leftskip\dim@a \advance\leftskip-\eqnumsep +\debugwr{Off-center: far side \the\leftskip, near side \the\eqnumsep +(\string\eqnumsep)}% + \else +\debugwr{Off-center: far side \the\leftskip\space (2/3 F), near side \the\dim@b\space (1/3 F)}% + \fi + \fi + \if L\eqnumside + % leftskip=.67F dim@a=.33F (e.g.) + % swap dim@a and leftskip, then add number width to leftskip + % and subtract it from rightskip + \dim@b\dim@a \advance\dim@b-\leftskip + \dim@a\leftskip \leftskip\dim@b + \advance\leftskip\wd\EQ@numbox + \edef\rightskip@shift{\advance\rightskip-\wd\EQ@numbox}% + \fi + \relax % watch it! +} +\let\rightskip@shift\@empty +\def\eq@CRMa{% + \eq@topspace{\vskip\parskip}% + \vbox to\eq@firstht{% + \ifx F\eq@frame + \else + \moveright\leftskip\hbox to\z@{\eq@addframe\hss}% + \fi + \vss}% + \penalty\@M + \skip@c\eq@vspan + \advance\skip@c-\ht\EQ@numbox \advance\skip@c-\dp\EQ@numbox + \divide\skip@c\tw@ + \parskip-\skip@c + \advance\parskip-\ht\EQ@numbox \advance\parskip-\dp\EQ@numbox + \advance\skip@c-\eq@firstht + \vskip\skip@c \nointerlineskip + \hbox to\hsize{\hfil\copy\EQ@numbox}% + \nobreak + \eq@params + \adjust@parshape{CRM}% + \eq@parshape + \nointerlineskip \noindent\add@grp@label \eq@dump@box\unhbox\EQ@box % +% \tracingparagraphs=2 \@@par \tracingparagraphs=0% + \@@par +} +\def\eq@CLM{% + \ifnum\eq@lines=\@ne + \ifdim\eq@freewidth<\wd\EQ@box + \let\eq@shiftnumber\@True + \fi + \fi + \if\eq@shiftnumber + \eq@CLT + \else + \set@leftskip@for@centering + \rightskip\eqrightskip % see also \eq@params + \parfillskip\z@skip + \ifnum\eq@lines>\@ne \eq@topspace{\vskip\parskip}% + \else \vskip\abovedisplayskip + \fi + \vbox to\eq@firstht{% + \ifx F\eq@frame + \else + \moveright\leftskip\hbox to\z@{\eq@addframe\hss}% + \fi + \vss}% + \nointerlineskip + \penalty\@M + \vskip@for@number % also sets parskip for the following material + \copy\EQ@numbox + \nobreak + \eq@params + \rightskip@shift % compensate for left-hand number +\debugmsg{\rightskip=\the\rightskip}% + \eq@parshape +%\debug@box\EQ@box\tracingparagraphs\@ne\debug@para + \nointerlineskip + \noindent\add@grp@label \eq@dump@box\unhbox\EQ@box \@@par + \fi +} +\def\vskip@for@number{% + \skip@c\eq@vspan \advance\skip@c-\ht\EQ@numbox + \advance\skip@c-\dp\EQ@numbox \divide\skip@c\tw@ + \parskip-\skip@c + \advance\parskip-\ht\EQ@numbox \advance\parskip-\dp\EQ@numbox + \advance\skip@c-\eq@firstht + \vskip\skip@c +} +\def\eq@CLT{% + \if\eq@shiftnumber + \if A\eq@layout \eq@reindent@A + \else \leftskip\eq@sidespace \divide\leftskip\tw@ + \fi + \else + \leftskip\eq@sidespace \advance\leftskip\eqnumsep + \ifnum\eq@lines=\@ne + \ifdim\eq@sidespace<2\wd\EQ@numbox + \multiply\leftskip\tw@ \divide\leftskip\thr@@ +%\debugmsg{Shifting off-center: leftskip \the\leftskip}% + \else + \divide\leftskip\tw@ +%\debugmsg{Plenty of room: leftskip \the\leftskip}% + \fi + \else + \divide\leftskip\tw@ + \fi + \fi + \eq@CLTa +} +\def\eq@CLTa{% + \vskip\abovedisplayskip + \copy\EQ@numbox \penalty\@M + \if\eq@shiftnumber \else \kern-\eq@firstht \nointerlineskip \fi + \noindent + \ifx F\eq@frame + \else \vbox to\eq@firstht{\hbox to\z@{\eq@addframe\hss}\vss}% + \fi + \eq@params \eq@parshape + \add@grp@label \eq@dump@box\unhbox\EQ@box\@@par +} +\def\eq@IRM{\leftskip\mathindent \eq@CRMa} +\def\eq@IRB{\leftskip\mathindent \eq@CRBa} +\def\eq@I{% + \leftskip\mathindent + \eq@params + \eq@topspace{\noindent}% + \ifx F\eq@frame + \else + \vbox to\eq@firstht{\hbox to\z@{\eq@addframe\hss}\vss}% + \fi + \eq@dump@box\unhbox\EQ@box\@@par +} +\newcommand\eqframe[2]{\framebox{\z@rule\@height#2\kern#1}} +\def\eq@addframe{% + \hbox to\z@{\dim@a\fboxsep \advance\dim@a\fboxrule + \kern-\dim@a + \vbox to\z@{\kern-\dim@a + \hbox{\eqframe{\eq@bodywidth}{\eq@vspan}}% + \vss + }% + \hss + }% +} +\@saveprimitive\left\@@left +\@saveprimitive\right\@@right +\newcount\lr@level +\def\eq@left{% + \@ifnext .{\eq@nullleft}{\begingroup \let\delimiter\eq@left@a}% +} +\def\eq@right{% + \@ifnext .{\eq@nullright}{\begingroup \let\delimiter\eq@right@a}% +} +\def\eq@left@a#1 #2{\endgroup\@@left\delimiter#1 \after@open} +\def\eq@right@a#1 #2{\endgroup + \@@right\delimiter#1 \after@close\ss@scan{#1}% +} +\def\eq@nullleft#1{\@@left#1\after@open} +\def\eq@nullright#1{\@@right#1\after@close} +\def\delim@reset{% + \let\after@open\relax \let\after@close\relax + \let\left\@@left \let\right\@@right +} +\@ifundefined{bBigg@}{% not defined + \let\big@size\p@ + \def\big{\bBigg@{8.5}}\def\Big{\bBigg@{11.5}}% + \def\bigg{\bBigg@{14.5}}\def\Bigg{\bBigg@{17.5}}% + \def\biggg{\bBigg@{20.5}}\def\Biggg{\bBigg@{23.5}}% +}{} +\def\bBigg@#1#2{% + {\delim@reset + \left#2% + \vrule\@height#1\big@size\@width-\nulldelimiterspace + \right. + }% +} +\def\bigl#1{\mathopen\big{#1}\after@open} +\def\Bigl#1{\mathopen\Big{#1}\after@open} +\def\biggl#1{\mathopen\bigg{#1}\after@open} +\def\Biggl#1{\mathopen\Bigg{#1}\after@open} +\def\bigggl#1{\mathopen\biggg{#1}\after@open} +\def\Bigggl#1{\mathopen\Biggg{#1}\after@open} + +\def\bigr#1{\mathclose\big{#1}\after@close} +\def\Bigr#1{\mathclose\Big{#1}\after@close} +\def\biggr#1{\mathclose\bigg{#1}\after@close} +\def\Biggr#1{\mathclose\Bigg{#1}\after@close} +\def\bigggr#1{\mathclose\biggg{#1}\after@close} +\def\Bigggr#1{\mathclose\Biggg{#1}\after@close} + +%% No change needed, I think. [mjd,1998/12/04] +%%\def\bigm{\mathrel\big} +%%\def\Bigm{\mathrel\Big} +%%\def\biggm{\mathrel\bigg} +%%\def\Biggm{\mathrel\Bigg} +%%\def\bigggm{\mathrel\biggg} +%%\def\Bigggm{\mathrel\Biggg} +\let\m@@DeL\m@DeL \let\m@@DeR\m@DeR \let\m@@DeB\m@DeB +\def\d@@DeL#1#2#3{% + \delimiter"4\@xp\delim@a\csname sd@#1#2#3\endcsname #1#2#3 \after@open +} +\def\d@@DeR#1#2#3{% + \delimiter"5\@xp\delim@a\csname sd@#1#2#3\endcsname #1#2#3 \after@close +} +\def\d@@DeB#1#2#3{% + \delimiter"0\@xp\delim@a\csname sd@#1#2#3\endcsname #1#2#3 \after@bidir +} +\let\after@bidir\@empty +\mathchardef\zero@bop=888 \relax +\mathchardef\bop@incr=4444 \relax +\def\after@open{% + \global\advance\lr@level\@ne + \prebinoppenalty\bop@incr \multiply\prebinoppenalty\lr@level + \advance\prebinoppenalty\zero@bop + \ifnum\eqbreakdepth<\lr@level + \let\m@Bin\m@@Bin + \else + \eq@binoffset=\eqbinoffset + \advance\eq@binoffset\lr@level\eqdelimoffset plus1fill\relax + \def\dt@fill@cancel{\hskip\z@ minus1fill\relax}% + \fi +} +\def\after@close{% + \global\advance\lr@level\m@ne + \ifnum\lr@level<\z@ \eq@lrbad \global\lr@level\z@ \fi + \prebinoppenalty\bop@incr \multiply\prebinoppenalty\lr@level + \advance\prebinoppenalty\zero@bop + \ifnum\eqbreakdepth<\lr@level + \else \let\m@Bin\d@@Bin + \fi + \ifnum\lr@level<\@ne \eq@binoffset=\eqbinoffset\relax \fi +} +\def\eq@lrbad{% + \PackageError{breqn}{Too many closing delimiters?}{% + The unmatched delimiter might be further back.\MessageBreak + \@ehc + }% +} +\let\subsup@flag=\count@ +\def\ss@delim@a#1#2#3#4{\xdef\right@delim@code{\number"#2#3#4}} +\def\ss@scan#1{% + \begingroup + \let\delim@a\ss@delim@a \@tempcnta#1\relax + \endgroup + \subsup@flag\@M \afterassignment\ss@scan@a \let\@let@token=} +\def\ss@scan@a{% + \ifx\@let@token\sb \advance\subsup@flag\@ne\else + \ifx\@let@token\sp \advance\subsup@flag\tw@\else + \ss@finish + \expandafter\@firstoftwo % gobble \ss@scan@b + \fi\fi + \ss@scan@b\@let@token +} +\def\ss@scan@b#1#2{#1{% +% hack! coff! + \let\m@Bin\m@@Bin \let\m@Rel\m@@Rel + #2}\afterassignment\ss@scan@a \let\@let@token=}% +\def\ss@finish{% + \@@vadjust{\penalty\thr@@}% + \penalty\right@delim@code \penalty-\subsup@flag \keep@glue +} +\def\eq@lrunpack{\setbox\z@\lastbox + \unskip \nointerlineskip + \noindent\unhbox\z@ \unskip + \subsup@flag-\lastpenalty \unpenalty + \xdef\right@delim@code{\number\lastpenalty}% + \unpenalty + \ifnum\subsup@flag>\@M + \advance\subsup@flag-\@M + \setbox\tw@\lastbox + \else \setbox\tw@\box\voidb@x + \fi + \setbox\z@\lastbox + \ifvoid\tw@ \unhbox\z@ + \else \lrss@reattach % uses \subsup@flag, box\z@, box\tw@ + \fi + \penalty-\@Mi\z@rule\@@par + \setbox\z@\lastbox \unskip\unpenalty +%%{\showboxbreadth\maxdimen\showboxdepth99\showlists}% +} +\dimendef\sub@depth=8 \dimendef\sup@base=6 +\dimendef\prelim@sub@depth=4 \dimendef\prelim@sup@base=2 +\def\sym@xheight{\fontdimen5\textfont\tw@} +\def\sup@base@one{\fontdimen13\textfont\tw@} +\def\sub@base@one{\fontdimen16\textfont\tw@} +\def\sub@base@two{\fontdimen17\textfont\tw@} +\def\sup@drop{\fontdimen18\scriptfont\tw@} +\def\sub@drop{\fontdimen19\scriptfont\tw@} +\providecommand{\mathaxis}{\fontdimen22\textfont\tw@} +\def\lrss@reattach{% + \begingroup + % "The TeXbook" Appendix G step 18: + \prelim@sup@base\ht\z@ \advance\prelim@sup@base-\sup@drop + \prelim@sub@depth\dp\z@ \advance\prelim@sub@depth\sub@drop + \unhbox\z@ + \ifcase\subsup@flag % case 0: this can't happen + \or \lr@subscript % case 1: subscript only + \or \lr@superscript % case 2: superscript only + \else \lr@subsup % case 3: sub and superscript both + \fi + \endgroup +} +\def\lr@subscript{% + \sub@depth\sub@base@one + \ifdim\prelim@sub@depth>\sub@depth \sub@depth\prelim@sub@depth\fi + \dim@a\ht\tw@ \advance\dim@a -.8\sym@xheight + \ifdim\dim@a>\sub@depth \sub@depth\dim@a \fi + \twang@adjust\sub@depth + \lower\sub@depth\box\tw@ +} +\def\lr@superscript{% + \sup@base\sup@base@one + \ifdim\prelim@sup@base>\sup@base \sup@base\prelim@sup@base\fi + \dim@a\dp\tw@ \advance\dim@a -.25\sym@xheight + \ifdim\dim@a>\sup@base \sup@base\dim@a \fi + \twang@adjust\sup@base + \raise\sup@base\box\tw@ +} +\def\lr@subsup{% + \sub@depth\sub@base@two + \ifdim\prelim@sub@depth>\sub@depth \sub@depth\prelim@sub@depth \fi + \twang@adjust\sub@depth + \lower\sub@depth\box\tw@ +} +\def\twang@adjust#1{% + \begingroup + \@ifundefined{twang@\right@delim@code}{}{% + \dim@d=#1\advance\dim@d-\mathaxis + % put an upper limit on the adjustment + \ifdim\dim@d>1em \dim@d 1em \fi + \kern\csname twang@\right@delim@code\endcsname\dim@d + }% + \endgroup +} +\newcommand{\DeclareTwang}[2]{% + \ifcat.\@nx#1\begingroup + \lccode`\~=`#1\lowercase{\endgroup \DeclareTwang{~}}{#2}% + \else + \@xp\decl@twang#1?\@nil{#2}% + \fi +} +\def\decl@twang#1#2#3#4#5#6#7\@nil#8{% + \@namedef{twang@\number"#4#5#6}{#8}% +} +\DeclareTwang{\rangle}{-.4} +\DeclareTwang{)}{-.33} +\DeclareTwang{\rbrace}{-.25} +\newenvironment{dseries}{\@eq@numbertrue \@optarg\@dseries{}}{}% +\def\enddseries#1{\check@punct@or@qed} +\def\@dseries[#1]{% + \def\display@setup{\displaystyle}% + \let\eq@centerlines\@True + \@dmath[#1]% + \mathsurround\z@\@@math \penalty\@Mi + \let\endmath\ends@math + \def\premath{% + \ifdim\lastskip<.49em \unskip\fi + \ifnum\lastpenalty<\@M\dquad\fi + }% + \def\postmath{\eq@addpunct \penalty-99 \dquad \@ignoretrue }% +} +\def\end@dseries{% + \unskip\unpenalty + \@@endmath \mathsurround\z@ \end@dmath +} +\newenvironment{dseries*}{\@eq@numberfalse \@optarg\@dseries{}}{} +\@namedef{enddseries*}#1{\check@punct@or@qed} +\@namedef{end@dseries*}{\end@dseries} +\renewenvironment{math}{% + \leavevmode \premath + \ifmmode\@badmath\else\@@math\fi +}{% + \ifmmode\@@endmath\else\@badmath\fi +} +\def\ends@math#1{\check@punct@or@qed} +\def\end@math{% + \ifmmode\@@endmath\else\@badmath\fi + \postmath +} +\newcommand\dquad{\hskip1em minus.25em } +\newcommand\premath{}\newcommand\postmath{} +\let\eq@group\@False +\global\let\GRP@top\@True +\newenvironment{dgroup}{% + \@eq@numbertrue \@optarg\@dgroup{}% +}{% + \end@dgroup{\grp@resetnumber}% +} +\newtoks\GRP@queue +\newenvironment{dgroup*}{% + \@eq@numberfalse \@optarg\@dgroup{}% +}{ + \end@dgroup{}% +} +\def\@dgroup[#1]{% + \let\eq@group\@True \global\let\GRP@top\@True + \global\GRP@queue\@emptytoks \global\setbox\GRP@box\box\voidb@x + \global\let\GRP@label\@empty + \gdef\GRP@info{\grp@wdL\z@ \grp@bodywidth\z@ \grp@linewidth\z@}% + \eq@prelim + \setkeys{breqn}{#1}% + \if@eq@number \grp@setnumber \fi +} +\def\end@dgroup#1{% + \EQ@displayinfo \grp@finish + #1% \grp@resetnumber +} +\@ifundefined{c@parentequation}{\newcounter{parentequation}}{} +\global\let\GRP@label\@empty +\def\add@grp@label{% + \ifx\@empty\GRP@label + \else \GRP@label \global\let\GRP@label\@empty + \fi +} +\def\grp@setnumber{% + \global\let\GRP@label\next@label \global\let\next@label\@empty + \eq@setnumber + \protected@edef\theparentequation{\theequation}% + \setcounter{parentequation}{\value{equation}}% + \setcounter{equation}{0}% + \def\theequation{\theparentequation\alph{equation}}% +} +\def\grp@resetnumber{% + \setcounter{equation}{\value{parentequation}}% +} +\gdef\GRP@info{\grp@wdL\z@ \grp@bodywidth\z@ \grp@linewidth\z@} +\newbox\GRP@box +\def\grp@push{% + \global\GRP@queue\@xp\@xp\@xp{\@xp\the\@xp\GRP@queue + \@xp\eq@zek\@xp{\EQ@trial}% + }% + \global\setbox\GRP@box\vbox{% + \hbox{\box\EQ@box\box\EQ@copy\penalty\@ne\copy\EQ@numbox}% + \unvbox\GRP@box + }% + \EQ@trial \GRP@info + \xdef\GRP@info{% + \grp@wdL=\ifdim\eq@wdL>\grp@wdL \the\eq@wdL \else \the\grp@wdL \fi + \grp@bodywidth=\ifdim\eq@bodywidth>\grp@bodywidth \the\eq@bodywidth \else \the\grp@bodywidth \fi + \grp@linewidth=% + \ifdim\eq@linewidth>\grp@linewidth \the\eq@linewidth + \else \the\grp@linewidth + \fi + \relax + }% +} +\def\grp@finish{% +\debug@box\GRP@box +%\debugmsg{\GRP@queue: \the\GRP@queue}% + \GRP@info + \grp@wdL\z@ \grp@bodywidth\z@ + \let\eq@zek\eqgrp@prelim + \the\GRP@queue + \advance\grp@bodywidth\grp@wdL +\debugmsg{grp@wdL \the\grp@wdL, grp@bodywidth \the\grp@bodywidth}% + \let\eq@zek\eqgrpeq@zek + \the\GRP@queue + \let\eq@zek\relax + \eq@botspace +} +\def\eqgrp@prelim#1{% + #1% + \ifdim\eq@wdL>\grp@wdL \grp@wdL\eq@wdL \fi + \dim@a\eq@bodywidth \advance\dim@a-\eq@wdL + \ifdim\dim@a>\grp@bodywidth \grp@bodywidth\dim@a \fi +} +\def\eqgrpeq@zek#1{% + \global\setbox\GRP@box\vbox{% + \unvbox\GRP@box + \setbox\z@\lastbox + \setbox\tw@\hbox{\unhbox\z@ + \ifnum\lastpenalty=\@ne + \else + \global\setbox\EQ@numbox\lastbox + \fi + \unpenalty + \global\setbox\EQ@copy\lastbox + \global\setbox\EQ@box\lastbox + }% + }% + \begingroup \let\eq@botspace\relax + #1% + \eq@finish + \endgroup +} +\newskip\darraycolsep \darraycolsep 20pt plus1fil minus12pt +\newcount\cur@row \newcount\cur@col +\def\@tempa#1#2#3{% + \cur@col#1 \hfil + \setbox\z@\hbox{$\displaystyle####\m@th$}\@nx\col@box + \tabskip\z@skip + &\cur@col#2 \hfil + \setbox\z@\hbox{$\displaystyle\mathord{}####\mathord{}\m@th$}\@nx\col@box + \hfil + &\cur@col#3 \setbox\z@\hbox{$\displaystyle####\m@th$}\@nx\col@box + \hfil\tabskip\darraycolsep +} +\xdef\darray@preamble{% + \@tempa 123&\@tempa 456&\@tempa 789% + &\@tempa{10}{11}{12}&\@tempa{13}{14}{15}&\@tempa{16}{17}{18}% + \cr +} +\@ifundefined{Mathstrut@}{\let\Mathstrut@\strut}{} +\def\darray@cr{\Mathstrut@\cr} +\def\col@box{% +%\debugmsg{Col \number\cur@row,\number\cur@col: \the\wd\z@\space x \the\ht\z@+\the\dp\z@}% + \unhbox\z@ +} +\newenvironment{darray}{\@optarg\@darray{}}{} +\def\@darray[#1]{% + \if\eq@group\else\eq@prelim\fi + \global\let\@preamble\@empty + \setkeys{breqn}{#1}% + \the\eqstyle \eq@setnumber + \ifx\@preamble\@empty \global\let\@preamble\darray@preamble \fi + \check@mathfonts + % \let\check@mathfonts\relax % tempting, but too risky + \@xp\let\csname\string\ \endcsname\darray@cr + \setbox\z@\vbox\bgroup + \everycr{\noalign{\global\advance\cur@row\@ne}}% + \tabskip\z@skip \cur@col\z@ + \global\cur@row\z@ + \penalty\@ne % flag for \dar@repack + \halign\@xp\bgroup\@preamble +} +\def\enddarray#1{\check@punct@or@qed} +\def\end@darray{% + \ifvmode\else \eq@addpunct \Mathstrut@\fi\crcr \egroup + \dar@capture + \egroup +} +\def\dar@capture{% +%% \showboxbreadth\maxdimen\showboxdepth99\showlists + \eq@wdL\z@ \eq@wdRmax\z@ \eq@sidespace\maxdimen + \dar@repack +} +\def\dar@repack{% + \unpenalty + \setbox\tw@\lastbox +%\batchmode{\showboxbreadth\maxdimen\showboxdepth99\showbox\tw@}\errorstopmode + \global\setbox\EQ@box\hbox{% + \hbox{\unhcopy\tw@\unskip}\penalty-\@M \unhbox\EQ@box}% + \global\setbox\EQ@copy\hbox{% + \hbox{\unhbox\tw@\unskip}\penalty-\@M \unhbox\EQ@copy}% + \unskip + \ifcase\lastpenalty \else\@xp\@gobble\fi + \dar@repack +} +\newskip\conditionsep \conditionsep=10pt minus5pt% +\newcommand{\conditionpunct}{,} +\let\cond@gobble\@firstofone +\newcommand\condition{% + \begingroup\@tempswatrue + \@ifstar{\@tempswafalse \condition@a}\condition@a +} +\newcommand\condition@a[2][\conditionpunct]{% + \hbox{#1}\hskip\conditionsep + \if@tempswa \@xp\hbox \else \@xp\condition@b\fi + {#2}% + \endgroup + \let\cond@gobble\@gobble +} +\newcommand\condition@b[1]{% + \cond@gobble{\hskip\conditionsep}% + \textmath@setup #1% +} +\newenvironment{dsuspend}{% + \global\setbox\EQ@box\vbox\bgroup \@parboxrestore + \parshape 1 \displayindent \displaywidth\relax + \hsize=\columnwidth \noindent\ignorespaces +}{% + \par\egroup + \global\setbox\GRP@box\vbox{% + \vbox{\copy\EQ@box\vtop{\unvbox\EQ@box}}% + \unvbox\GRP@box + }% + \global\GRP@queue\@xp{\the\GRP@queue + \eq@zek{\gdef\EQ@trial{}}% + }% +} +\newcommand\breqn@intertext[1]{\dsuspend#1\enddsuspend} +\renewcommand{\*}{% + \if@display + \setbox\z@\hbox{\mathsurround\z@$\mkern\eq@binoffset$}% + \discretionary{}{% + \kern\the\wd\z@ \textchar\discretionarytimes + }{}% + \thinspace + \else + \discretionary{\thinspace\textchar\discretionarytimes}{}{}% + \fi +} +\newcommand{\discretionarytimes}{\times} +\def\nref#1{\@xp\@nref\csname r@#1\endcsname} +\def\@nref#1#2{\ifx\relax#1??\else \@xp\@firstoftwo#1\fi} +\breqnpopcats diff --git a/Master/texmf-dist/tex/latex/breqn/cmbase.sym b/Master/texmf-dist/tex/latex/breqn/cmbase.sym new file mode 100644 index 00000000000..2c9cd9af32a --- /dev/null +++ b/Master/texmf-dist/tex/latex/breqn/cmbase.sym @@ -0,0 +1,336 @@ +%% Created by stripbwr [2001-09-08T01:33:16] +%% From /home/breqn/cmbase.bwr +\ProvidesSymbols{cmbase}[2001/09/07 v0.91] +\@xp\xdef\csname mg@OT1\endcsname{\hexnumber@\symoperators} +\@xp\xdef\csname mg@OML\endcsname{\hexnumber@\symletters} +\@xp\xdef\csname mg@OMS\endcsname{\hexnumber@\symsymbols} +\@xp\xdef\csname mg@OMX\endcsname{\hexnumber@\symlargesymbols} +\gdef\mg@bin{\mg@OMS} +\gdef\mg@del{\mg@OMX} +\xdef\mg@digit{\@xp\@nx\csname mg@OT1\endcsname} +\gdef\mg@latin{\mg@OML} +\global\let\mg@Latin\mg@latin +\global\let\mg@greek\mg@latin +\global\let\mg@Greek\mg@digit +\global\let\mg@rel\mg@bin +\global\let\mg@ord\mg@bin +\global\let\mg@cop\mg@del +\DeclareFlexSymbol{!} {Pun}{OT1}{21} +\DeclareFlexSymbol{+} {Bin}{OT1}{2B} +\DeclareFlexSymbol{:} {Rel}{OT1}{3A} +\DeclareFlexSymbol{\colon}{Pun}{OT1}{3A} +\DeclareFlexSymbol{;} {Pun}{OT1}{3B} +\DeclareFlexSymbol{=} {Rel}{OT1}{3D} +\DeclareFlexSymbol{?} {Pun}{OT1}{3F} +\DeclareFlexSymbol{\Gamma} {Var}{Greek}{00} +\DeclareFlexSymbol{\Delta} {Var}{Greek}{01} +\DeclareFlexSymbol{\Theta} {Var}{Greek}{02} +\DeclareFlexSymbol{\Lambda} {Var}{Greek}{03} +\DeclareFlexSymbol{\Xi} {Var}{Greek}{04} +\DeclareFlexSymbol{\Pi} {Var}{Greek}{05} +\DeclareFlexSymbol{\Sigma} {Var}{Greek}{06} +\DeclareFlexSymbol{\Upsilon}{Var}{Greek}{07} +\DeclareFlexSymbol{\Phi} {Var}{Greek}{08} +\DeclareFlexSymbol{\Psi} {Var}{Greek}{09} +\DeclareFlexSymbol{\Omega} {Var}{Greek}{0A} +\DeclareFlexSymbol{0}{Var}{digit}{30} +\DeclareFlexSymbol{1}{Var}{digit}{31} +\DeclareFlexSymbol{2}{Var}{digit}{32} +\DeclareFlexSymbol{3}{Var}{digit}{33} +\DeclareFlexSymbol{4}{Var}{digit}{34} +\DeclareFlexSymbol{5}{Var}{digit}{35} +\DeclareFlexSymbol{6}{Var}{digit}{36} +\DeclareFlexSymbol{7}{Var}{digit}{37} +\DeclareFlexSymbol{8}{Var}{digit}{38} +\DeclareFlexSymbol{9}{Var}{digit}{39} +\DeclareFlexSymbol{,}{Pun}{OML}{3B} +\DeclareFlexSymbol{.}{Ord}{OML}{3A} +\DeclareFlexSymbol{/}{Ord}{OML}{3D} +\DeclareFlexSymbol{<}{Rel}{OML}{3C} +\DeclareFlexSymbol{>}{Rel}{OML}{3E} +\DeclareFlexSymbol{\alpha}{Var}{greek}{0B} +\DeclareFlexSymbol{\beta}{Var}{greek}{0C} +\DeclareFlexSymbol{\gamma}{Var}{greek}{0D} +\DeclareFlexSymbol{\delta}{Var}{greek}{0E} +\DeclareFlexSymbol{\epsilon}{Var}{greek}{0F} +\DeclareFlexSymbol{\zeta}{Var}{greek}{10} +\DeclareFlexSymbol{\eta}{Var}{greek}{11} +\DeclareFlexSymbol{\theta}{Var}{greek}{12} +\DeclareFlexSymbol{\iota}{Var}{greek}{13} +\DeclareFlexSymbol{\kappa}{Var}{greek}{14} +\DeclareFlexSymbol{\lambda}{Var}{greek}{15} +\DeclareFlexSymbol{\mu}{Var}{greek}{16} +\DeclareFlexSymbol{\nu}{Var}{greek}{17} +\DeclareFlexSymbol{\xi}{Var}{greek}{18} +\DeclareFlexSymbol{\pi}{Var}{greek}{19} +\DeclareFlexSymbol{\rho}{Var}{greek}{1A} +\DeclareFlexSymbol{\sigma}{Var}{greek}{1B} +\DeclareFlexSymbol{\tau}{Var}{greek}{1C} +\DeclareFlexSymbol{\upsilon}{Var}{greek}{1D} +\DeclareFlexSymbol{\phi}{Var}{greek}{1E} +\DeclareFlexSymbol{\chi}{Var}{greek}{1F} +\DeclareFlexSymbol{\psi}{Var}{greek}{20} +\DeclareFlexSymbol{\omega}{Var}{greek}{21} +\DeclareFlexSymbol{\varepsilon}{Var}{greek}{22} +\DeclareFlexSymbol{\vartheta}{Var}{greek}{23} +\DeclareFlexSymbol{\varpi}{Var}{greek}{24} +\DeclareFlexSymbol{\varrho}{Var}{greek}{25} +\DeclareFlexSymbol{\varsigma}{Var}{greek}{26} +\DeclareFlexSymbol{\varphi}{Var}{greek}{27} +\DeclareFlexSymbol{\imath}{Var}{OML}{7B} +\DeclareFlexSymbol{\jmath}{Var}{OML}{7C} +\DeclareFlexSymbol{\ell}{Ord}{OML}{60} +\DeclareFlexSymbol{\wp}{Ord}{OML}{7D} +\DeclareFlexSymbol{\partial}{Ord}{OML}{40} +\DeclareFlexSymbol{\flat}{Ord}{OML}{5B} +\DeclareFlexSymbol{\natural}{Ord}{OML}{5C} +\DeclareFlexSymbol{\sharp}{Ord}{OML}{5D} +\DeclareFlexSymbol{\triangleleft}{Bin}{OML}{2F} +\DeclareFlexSymbol{\triangleright}{Bin}{OML}{2E} +\DeclareFlexSymbol{\star}{Bin}{OML}{3F} +\DeclareFlexSymbol{\smile}{Rel}{OML}{5E} +\DeclareFlexSymbol{\frown}{Rel}{OML}{5F} +\DeclareFlexSymbol{\leftharpoonup}{Rel}{OML}{28} +\DeclareFlexSymbol{\leftharpoondown}{Rel}{OML}{29} +\DeclareFlexSymbol{\rightharpoonup}{Rel}{OML}{2A} +\DeclareFlexSymbol{\rightharpoondown}{Rel}{OML}{2B} +\DeclareFlexSymbol{a}{Var}{latin}{61} +\DeclareFlexSymbol{b}{Var}{latin}{62} +\DeclareFlexSymbol{c}{Var}{latin}{63} +\DeclareFlexSymbol{d}{Var}{latin}{64} +\DeclareFlexSymbol{e}{Var}{latin}{65} +\DeclareFlexSymbol{f}{Var}{latin}{66} +\DeclareFlexSymbol{g}{Var}{latin}{67} +\DeclareFlexSymbol{h}{Var}{latin}{68} +\DeclareFlexSymbol{i}{Var}{latin}{69} +\DeclareFlexSymbol{j}{Var}{latin}{6A} +\DeclareFlexSymbol{k}{Var}{latin}{6B} +\DeclareFlexSymbol{l}{Var}{latin}{6C} +\DeclareFlexSymbol{m}{Var}{latin}{6D} +\DeclareFlexSymbol{n}{Var}{latin}{6E} +\DeclareFlexSymbol{o}{Var}{latin}{6F} +\DeclareFlexSymbol{p}{Var}{latin}{70} +\DeclareFlexSymbol{q}{Var}{latin}{71} +\DeclareFlexSymbol{r}{Var}{latin}{72} +\DeclareFlexSymbol{s}{Var}{latin}{73} +\DeclareFlexSymbol{t}{Var}{latin}{74} +\DeclareFlexSymbol{u}{Var}{latin}{75} +\DeclareFlexSymbol{v}{Var}{latin}{76} +\DeclareFlexSymbol{w}{Var}{latin}{77} +\DeclareFlexSymbol{x}{Var}{latin}{78} +\DeclareFlexSymbol{y}{Var}{latin}{79} +\DeclareFlexSymbol{z}{Var}{latin}{7A} +\DeclareFlexSymbol{A}{Var}{Latin}{41} +\DeclareFlexSymbol{B}{Var}{Latin}{42} +\DeclareFlexSymbol{C}{Var}{Latin}{43} +\DeclareFlexSymbol{D}{Var}{Latin}{44} +\DeclareFlexSymbol{E}{Var}{Latin}{45} +\DeclareFlexSymbol{F}{Var}{Latin}{46} +\DeclareFlexSymbol{G}{Var}{Latin}{47} +\DeclareFlexSymbol{H}{Var}{Latin}{48} +\DeclareFlexSymbol{I}{Var}{Latin}{49} +\DeclareFlexSymbol{J}{Var}{Latin}{4A} +\DeclareFlexSymbol{K}{Var}{Latin}{4B} +\DeclareFlexSymbol{L}{Var}{Latin}{4C} +\DeclareFlexSymbol{M}{Var}{Latin}{4D} +\DeclareFlexSymbol{N}{Var}{Latin}{4E} +\DeclareFlexSymbol{O}{Var}{Latin}{4F} +\DeclareFlexSymbol{P}{Var}{Latin}{50} +\DeclareFlexSymbol{Q}{Var}{Latin}{51} +\DeclareFlexSymbol{R}{Var}{Latin}{52} +\DeclareFlexSymbol{S}{Var}{Latin}{53} +\DeclareFlexSymbol{T}{Var}{Latin}{54} +\DeclareFlexSymbol{U}{Var}{Latin}{55} +\DeclareFlexSymbol{V}{Var}{Latin}{56} +\DeclareFlexSymbol{W}{Var}{Latin}{57} +\DeclareFlexSymbol{X}{Var}{Latin}{58} +\DeclareFlexSymbol{Y}{Var}{Latin}{59} +\DeclareFlexSymbol{Z}{Var}{Latin}{5A} +\DeclareFlexSymbol{\ldotPun}{Pun}{OML}{3A} +\def\ldotp{\ldotPun} +\DeclareFlexSymbol{\lhookRel}{Rel}{OML}{2C} +\DeclareFlexSymbol{\rhookRel}{Rel}{OML}{2D} +\DeclareFlexSymbol{*}{Bin}{bin}{03} % \ast +\DeclareFlexSymbol{-}{Bin}{bin}{00} +\DeclareFlexSymbol{|}{Ord}{OMS}{6A} +\DeclareFlexSymbol{\aleph}{Ord}{ord}{40} +\DeclareFlexSymbol{\Re}{Ord}{ord}{3C} +\DeclareFlexSymbol{\Im}{Ord}{ord}{3D} +\DeclareFlexSymbol{\infty}{Ord}{ord}{31} +\DeclareFlexSymbol{\prime}{Ord}{ord}{30} +\DeclareFlexSymbol{\emptyset}{Ord}{ord}{3B} +\DeclareFlexSymbol{\nabla}{Ord}{ord}{72} +\DeclareFlexSymbol{\top}{Ord}{ord}{3E} +\DeclareFlexSymbol{\bot}{Ord}{ord}{3F} +\DeclareFlexSymbol{\triangle}{Ord}{ord}{34} +\DeclareFlexSymbol{\forall}{Ord}{ord}{38} +\DeclareFlexSymbol{\exists}{Ord}{ord}{39} +\DeclareFlexSymbol{\neg}{Ord}{ord}{3A} +\DeclareFlexSymbol{\clubsuit}{Ord}{ord}{7C} +\DeclareFlexSymbol{\diamondsuit}{Ord}{ord}{7D} +\DeclareFlexSymbol{\heartsuit}{Ord}{ord}{7E} +\DeclareFlexSymbol{\spadesuit}{Ord}{ord}{7F} +\DeclareFlexSymbol{\smallint}{COs}{OMS}{73} +\DeclareFlexSymbol{\bigtriangleup}{Bin}{bin}{34} +\DeclareFlexSymbol{\bigtriangledown}{Bin}{bin}{35} +\DeclareFlexSymbol{\wedge}{Bin}{bin}{5E} +\DeclareFlexSymbol{\vee}{Bin}{bin}{5F} +\DeclareFlexSymbol{\cap}{Bin}{bin}{5C} +\DeclareFlexSymbol{\cup}{Bin}{bin}{5B} +\DeclareFlexSymbol{\ddagger}{Bin}{bin}{7A} +\DeclareFlexSymbol{\dagger}{Bin}{bin}{79} +\DeclareFlexSymbol{\sqcap}{Bin}{bin}{75} +\DeclareFlexSymbol{\sqcup}{Bin}{bin}{74} +\DeclareFlexSymbol{\uplus}{Bin}{bin}{5D} +\DeclareFlexSymbol{\amalg}{Bin}{bin}{71} +\DeclareFlexSymbol{\diamond}{Bin}{bin}{05} +\DeclareFlexSymbol{\bullet}{Bin}{bin}{0F} +\DeclareFlexSymbol{\wr}{Bin}{bin}{6F} +\DeclareFlexSymbol{\div}{Bin}{bin}{04} +\DeclareFlexSymbol{\odot}{Bin}{bin}{0C} +\DeclareFlexSymbol{\oslash}{Bin}{bin}{0B} +\DeclareFlexSymbol{\otimes}{Bin}{bin}{0A} +\DeclareFlexSymbol{\ominus}{Bin}{bin}{09} +\DeclareFlexSymbol{\oplus}{Bin}{bin}{08} +\DeclareFlexSymbol{\mp}{Bin}{bin}{07} +\DeclareFlexSymbol{\pm}{Bin}{bin}{06} +\DeclareFlexSymbol{\circ}{Bin}{bin}{0E} +\DeclareFlexSymbol{\bigcirc}{Bin}{bin}{0D} +\DeclareFlexSymbol{\setminus}{Bin}{bin}{6E} +\DeclareFlexSymbol{\cdot}{Bin}{bin}{01} +\DeclareFlexSymbol{\ast}{Bin}{bin}{03} +\DeclareFlexSymbol{\times}{Bin}{bin}{02} +\DeclareFlexSymbol{\propto}{Rel}{rel}{2F} +\DeclareFlexSymbol{\sqsubseteq}{Rel}{rel}{76} +\DeclareFlexSymbol{\sqsupseteq}{Rel}{rel}{77} +\DeclareFlexSymbol{\parallel}{Rel}{rel}{6B} +\DeclareFlexSymbol{\mid}{Rel}{rel}{6A} +\DeclareFlexSymbol{\dashv}{Rel}{rel}{61} +\DeclareFlexSymbol{\vdash}{Rel}{rel}{60} +\DeclareFlexSymbol{\nearrow}{Rel}{rel}{25} +\DeclareFlexSymbol{\searrow}{Rel}{rel}{26} +\DeclareFlexSymbol{\nwarrow}{Rel}{rel}{2D} +\DeclareFlexSymbol{\swarrow}{Rel}{rel}{2E} +\DeclareFlexSymbol{\Leftrightarrow}{Rel}{rel}{2C} +\DeclareFlexSymbol{\Leftarrow}{Rel}{rel}{28} +\DeclareFlexSymbol{\Rightarrow}{Rel}{rel}{29} +\DeclareFlexSymbol{\leq}{Rel}{rel}{14} +\DeclareFlexSymbol{\geq}{Rel}{rel}{15} +\DeclareFlexSymbol{\succ}{Rel}{rel}{1F} +\DeclareFlexSymbol{\prec}{Rel}{rel}{1E} +\DeclareFlexSymbol{\approx}{Rel}{rel}{19} +\DeclareFlexSymbol{\succeq}{Rel}{rel}{17} +\DeclareFlexSymbol{\preceq}{Rel}{rel}{16} +\DeclareFlexSymbol{\supset}{Rel}{rel}{1B} +\DeclareFlexSymbol{\subset}{Rel}{rel}{1A} +\DeclareFlexSymbol{\supseteq}{Rel}{rel}{13} +\DeclareFlexSymbol{\subseteq}{Rel}{rel}{12} +\DeclareFlexSymbol{\in}{Rel}{rel}{32} +\DeclareFlexSymbol{\ni}{Rel}{rel}{33} +\DeclareFlexSymbol{\gg}{Rel}{rel}{1D} +\DeclareFlexSymbol{\ll}{Rel}{rel}{1C} +\DeclareFlexSymbol{\leftrightarrow}{Rel}{rel}{24} +\DeclareFlexSymbol{\leftarrow}{Rel}{rel}{20} +\DeclareFlexSymbol{\rightarrow}{Rel}{rel}{21} +\DeclareFlexSymbol{\sim}{Rel}{rel}{18} +\DeclareFlexSymbol{\simeq}{Rel}{rel}{27} +\DeclareFlexSymbol{\perp}{Rel}{rel}{3F} +\DeclareFlexSymbol{\equiv}{Rel}{rel}{11} +\DeclareFlexSymbol{\asymp}{Rel}{rel}{10} +\DeclareFlexSymbol{\notRel}{Rel}{rel}{36} +\DeclareFlexSymbol{\mapstoOrd}{Ord}{OMS}{37} +\DeclareFlexSymbol{\cdotOrd}{Ord}{OMS}{01} +\def\cdotp{\mathpunct{\cdotOrd}} +\DeclareFlexSymbol{\coprod}{COs}{cop}{60} +\DeclareFlexSymbol{\bigvee}{COs}{cop}{57} +\DeclareFlexSymbol{\bigwedge}{COs}{cop}{56} +\DeclareFlexSymbol{\biguplus}{COs}{cop}{55} +\DeclareFlexSymbol{\bigcap}{COs}{cop}{54} +\DeclareFlexSymbol{\bigcup}{COs}{cop}{53} +\DeclareFlexSymbol{\int}{COi}{cop}{52} +\DeclareFlexSymbol{\prod}{COs}{cop}{51} +\DeclareFlexSymbol{\sum}{COs}{cop}{50} +\DeclareFlexSymbol{\bigotimes}{COs}{cop}{4E} +\DeclareFlexSymbol{\bigoplus}{COs}{cop}{4C} +\DeclareFlexSymbol{\bigodot}{COs}{cop}{4A} +\DeclareFlexSymbol{\oint}{COi}{cop}{48} +\DeclareFlexSymbol{\bigsqcup}{COs}{cop}{46} +\DeclareFlexSymbol{\rangle}{DeR}{del}{0B} +\DeclareFlexSymbol{\langle}{DeL}{del}{0A} +\DeclareFlexSymbol{\rbrace}{DeR}{del}{09} +\DeclareFlexSymbol{\lbrace}{DeL}{del}{08} +\DeclareFlexSymbol{\rceil}{DeR}{del}{07} +\DeclareFlexSymbol{\lceil}{DeL}{del}{06} +\DeclareFlexSymbol{\rfloor}{DeR}{del}{05} +\DeclareFlexSymbol{\lfloor}{DeL}{del}{04} +\DeclareFlexSymbol{(}{DeL}{del}{00} +\DeclareFlexSymbol{)}{DeR}{del}{01} +\DeclareFlexSymbol{[}{DeL}{del}{02} +\DeclareFlexSymbol{]}{DeR}{del}{03} +\DeclareFlexSymbol{\lVert}{DeL}{del}{0D} +\DeclareFlexSymbol{\rVert}{DeR}{del}{0D} +\DeclareFlexSymbol{\lvert}{DeL}{del}{0C} +\DeclareFlexSymbol{\rvert}{DeR}{del}{0C} +\DeclareFlexSymbol{\Vert}{DeB}{del}{0D} +\DeclareFlexSymbol{\vert}{DeB}{del}{0C} +\DeclareFlexSymbol{|}{DeB}{del}{0C} +\DeclareFlexSymbol{/}{DeB}{del}{0E} +\DeclareFlexSymbol{\lmoustache}{DeL}{del}{40} +\DeclareFlexSymbol{\rmoustache}{DeR}{del}{41} +\DeclareFlexSymbol{\lgroup}{DeL}{del}{3A} +\DeclareFlexSymbol{\rgroup}{DeR}{del}{3B} +\DeclareFlexSymbol{\bracevert}{DeB}{del}{3E} +\DeclareFlexSymbol{\arrowvert}{DeB}{del}{3C} +\DeclareFlexSymbol{\Arrowvert}{DeB}{del}{3D} +\DeclareFlexSymbol{\uparrow}{DeA}{del}{78} +\DeclareFlexSymbol{\downarrow}{DeA}{del}{79} +\DeclareFlexSymbol{\updownarrow}{DeA}{del}{3F} +\DeclareFlexSymbol{\Uparrow}{DeA}{del}{7E} +\DeclareFlexSymbol{\Downarrow}{DeA}{del}{7F} +\DeclareFlexSymbol{\Updownarrow}{DeA}{del}{77} +\DeclareFlexSymbol{\backslash}{DeB}{del}{0F} +\DeclareFlexSymbol{\hbarOrd}{Ord}{OT1}{16} +\DeclareFlexCompoundSymbol{\hbar}{Ord}{\hbarOrd\mkern-9mu h} +\DeclareFlexSymbol{\surdOrd}{Ord}{OMS}{70} +\DeclareFlexCompoundSymbol{\surd}{Ord}{\mathop{\surdOrd}} +\DeclareFlexCompoundSymbol{\angle}{Ord}{% + \vbox{\ialign{% + $\m@th\scriptstyle##$\crcr + \notRel\mathrel{\mkern14mu}\crcr + \noalign{\nointerlineskip}% + \mkern2.5mu\leaders\hrule \@height.34pt\hfill\mkern2.5mu\crcr + }}% +} +\DeclareFlexCompoundSymbol{\neq}{Rel}{\not{=}} +\DeclareFlexCompoundSymbol{\mapsto}{Rel}{\mapstoOrd\rightarrow} +\DeclareFlexCompoundSymbol{\cong}{Rel}{\mathpalette\@vereq\sim} +\newcommand{\joinord}{\mkern-3mu } +\DeclareFlexCompoundSymbol{\notin}{Rel}{\mathpalette\c@ncel\in} +\DeclareFlexCompoundSymbol{\rightleftharpoons}{Rel}{\mathpalette\rlh@{}} +\DeclareFlexCompoundSymbol{\doteq}{Rel}{\buildrel\textstyle.\over=} +\DeclareFlexCompoundSymbol{\hookrightarrow}{Rel}{\lhookRel\joinord\rightarrow} +\DeclareFlexCompoundSymbol{\hookleftarrow}{Rel}{\leftarrow\joinord\rhookRel} +\DeclareFlexCompoundSymbol{\bowtie}{Rel}{\triangleright\joinord\triangleleft} +\DeclareFlexCompoundSymbol{\models}{Rel}{\vert\joinord=} +\DeclareFlexCompoundSymbol{\Longrightarrow}{Rel}{\Relbar\joinord\Rightarrow} +\DeclareFlexCompoundSymbol{\longrightarrow}{Rel}{\relbar\joinord\rightarrow} +\DeclareFlexCompoundSymbol{\Longleftarrow}{Rel}{\Leftarrow\joinord\Relbar} +\DeclareFlexCompoundSymbol{\longleftarrow}{Rel}{\leftarrow\joinord\relbar} +\DeclareFlexCompoundSymbol{\longmapsto}{Rel}{\mapstochar\longrightarrow} +\DeclareFlexCompoundSymbol{\longleftrightarrow}{Rel}{\leftarrow\joinord\rightarrow} +\DeclareFlexCompoundSymbol{\Longleftrightarrow}{Rel}{\Leftarrow\joinord\Rightarrow} +\renewcommand{\iff}{% + \mskip\thickmuskip\Longleftrightarrow\mskip\thickmuskip +} +\DeclareFlexCompoundSymbol{\cdots}{Inn}{\cdotp\cdotp\cdotp}% +\DeclareFlexCompoundSymbol{\vdots}{Ord}{% + \vbox{\baselineskip4\p@ \lineskiplimit\z@ + \kern6\p@\hbox{.}\hbox{.}\hbox{.}}} +\DeclareFlexCompoundSymbol{\ddots}{Inn}{% + \mkern1mu\raise7\p@ + \vbox{\kern7\p@\hbox{.}}\mkern2mu% + \raise4\p@\hbox{.}\mkern2mu\raise\p@\hbox{.}\mkern1mu% +} +\def\relbar{\begingroup \def\smash@{tb}% in case amsmath is loaded + \mathpalette\mathsm@sh{\mathchar"200 }\endgroup} +\def\Relbar{\mathchar"3D } diff --git a/Master/texmf-dist/tex/latex/breqn/flexisym.sty b/Master/texmf-dist/tex/latex/breqn/flexisym.sty new file mode 100644 index 00000000000..5600efa98c9 --- /dev/null +++ b/Master/texmf-dist/tex/latex/breqn/flexisym.sty @@ -0,0 +1,257 @@ +%% Created by stripbwr [2001-09-13T07:45:41] +%% From /home/breqn/flexisym.bwr +\ProvidesPackage{flexisym}[2001/09/07 v0.92] +\let\@xp\expandafter \let\@nx\noexpand +\edef\do{% + \@nx\AtEndOfPackage{% + \catcode\number`\"=\number\catcode`\" + \relax + }% +} +\do \let\do\relax +\catcode`\"=12 +\let\@sym\@gobble +\DeclareOption{robust}{% + \def\@sym#1{% + \ifx\protect\@typeset@protect \else\protect#1\@xp\@gobblefour\fi + }% +} +\def\mg@bin{2}% binary operators +\def\mg@rel{2}% relations +%%\def\mg@nre{B}% negated relations +\def\mg@del{3}% delimiters +%%\def\mg@arr{B}% arrows +\def\mg@acc{0}% accents +\def\mg@cop{3}% cumulative operators (sum, int) +\def\mg@latin{1}% (Latin) letters +\def\mg@greek{1}% (lowercase) Greek +\def\mg@Greek{0}% (capital) Greek +%%\def\mg@bflatin{4}% bold upright Latin letters ? +%%\def\mg@Bbb{B}% blackboard bold +\def\mg@cal{2}% script/calligraphic +%%\def\mg@frak{5}% Fraktur letters +\def\mg@digit{0}% decimal digits % 1 = oldstyle, 0 = capital +\expandafter\let\csname MathChar \endcsname\mathchar +\expandafter\let\csname Delimiter \endcsname\delimiter +\expandafter\let\csname Radical \endcsname\radical +\newcommand{\MathChar}{} +\edef\MathChar{\csname MathChar \endcsname\noexpand\string} +\newcommand{\Delimiter}{} +\edef\Delimiter{\csname Delimiter \endcsname\noexpand\string} +\newcommand{\Radical}{} +\edef\Radical{\csname Radical \endcsname\noexpand\string} +\let\sumlimits\displaylimits +\let\intlimits\nolimits +\let\namelimits\displaylimits +\edef\m@Ord#1#2#3{\csname MathChar \endcsname"0#1#2#3 } +\edef\m@Var#1#2#3{\csname MathChar \endcsname"7#1#2#3 } +\edef\m@Bin#1#2#3{\csname MathChar \endcsname"2#1#2#3 } +\edef\m@Rel#1#2#3{\csname MathChar \endcsname"3#1#2#3 } +\edef\m@Pun#1#2#3{\csname MathChar \endcsname"6#1#2#3 } +\edef\m@COs#1#2#3{\csname MathChar \endcsname"1#1#2#3 \sumlimits} +\edef\m@COi#1#2#3{\csname MathChar \endcsname"1#1#2#3 \intlimits} +\def\delim@a#1#2#3#4{\ifx\relax#1#2#3#4\else#1\fi #2#3#4} +\def\delim@b#1#2#3#4{\ifx\relax#1#2#3#4\else#1\fi } +\def\@tempa{% + \@nx\@xp\@nx\delim@a\@nx\csname sd@##1##2##3\@nx\endcsname ##1##2##3 } +\edef\m@DeL#1#2#3{\csname Delimiter \endcsname"4\@tempa} +\edef\m@DeR#1#2#3{\csname Delimiter \endcsname"5\@tempa} +\edef\m@DeB#1#2#3{\csname Delimiter \endcsname"0\@tempa} +\edef\m@DeA#1#2#3{\csname Delimiter \endcsname"3\@tempa} +\edef\m@Rad#1#2#3{\csname Radical \endcsname"\@tempa} +\def\do#1#2{\@xp\def\csname sd@#1\endcsname{#2}} +\do{300}{028} +\do{301}{029} +\do{302}{05B} +\do{303}{05D} +\do{304}{262} +\do{305}{263} +\do{306}{264} +\do{307}{265} +\do{308}{266} +\do{309}{267} +\do{30A}{268} +\do{30B}{269} +\do{30C}{26A} +\do{30D}{26B} +\do{30E}{13D} +\do{30F}{26E} +\do{340}{37A} +\do{341}{37B} +\do{33A}{33A} +\do{33B}{33B} +\do{33E}{33E} +\do{33C}{26A} +\do{33D}{26B} +\do{378}{222} +\do{379}{223} +\do{33F}{26C} +\do{37E}{22A} +\do{37F}{22B} +\do{377}{26D} +\do{30F}{26E} +\def\m@Acc#1#2#3#4{\mathaccent"#1#2#3{#4}} +\def\@symAcc{\@sym} +\let\@symtype\@firstofone +\def\@symOrd#1#2{\@symtype\mathord{\OrdSymbol{#2}}} +\def\@symVar{\@symOrd} +\def\@symBin#1#2{\@symtype\mathbin{\OrdSymbol{#2}}} +\def\@symRel#1#2{\@symtype\mathrel{\OrdSymbol{#2}}} +\def\@symPun#1#2{\@symtype\mathpunct{\OrdSymbol{#2}}} +\def\@symCOi#1#2{\@symtype{\mathop{\OrdSymbol{#2}}\intlimits}} +\def\@symCOs#1#2{\@symtype{\mathop{\OrdSymbol{#2}}\sumlimits}} +\def\@symOpe#1#2{\@symtype\mathopen{\OrdSymbol{#2}}} +\def\@symClo#1#2{\@symtype\mathclose{\OrdSymbol{#2}}} +\def\@symDeL#1#2{\@symtype\mathopen{\OrdSymbol{#2}}} +\def\@symDeR#1#2{\@symtype\mathclose{\OrdSymbol{#2}}} +\def\@symDeB#1#2{\@symtype\mathord{\OrdSymbol{#2}}} +\def\@symInn#1#2{\@symtype\mathinner{\OrdSymbol{#2}}} +\def\@xnce#1{\@xp\@nx\csname#1\endcsname} +\let\sym@global\global +\def\DeclareFlexSymbol#1#2#3#4{% + \begingroup + \edef\@tempb{\@nx\@sym\@nx#1\@xnce{m@#2}\@xnce{mg@#3}#4}% + \ifcat\@nx#1\relax + \sym@global\let#1\@tempb + \else + \sym@global\mathcode`#1="8000\relax + \lccode`\~=`#1\relax + \lowercase{\sym@global\let~\@tempb}% + \fi + \endgroup +} +\def\DeclareFlexCompoundSymbol#1#2#3{% + \@xp\DeclareRobustCommand\@xp#1\@xp{\csname @sym#2\endcsname#1{#3}}% + \sym@global\let#1#1\relax +} +\DeclareRobustCommand\textchar{\text@char\textfont} +\DeclareRobustCommand\scriptchar{\text@char\scriptfont}% +\def\text@char@a{\?\endgroup}% +\def\text@char@sym#1#2#3{% + \begingroup + \let\@sym\relax % defense against infinite loops + \the\text@script@char#3% + \afterassignment\text@char@a + \chardef\?="% +} +\def\text@char#1#2{\begingroup\check@mathfonts + \let\text@script@char#1\let\@sym\text@char@sym + \let\@symtype\@secondoftwo \let\OrdSymbol\@firstofone + \let\ifmmode\iftrue \everymath{$\@gobble}% + \def\mkern{\muskip\z@}\let\mskip\mkern + \ifcat\relax\noexpand#2#2% + \else + \lccode`\~=\expandafter`\string#2\relax + \lowercase{~}% + \fi + \endgroup +} +\providecommand\textprime{} +\DeclareRobustCommand\textprime{\leavevmode + \raise.8ex\hbox{\text@char\scriptfont\prime}% +} +\@ifundefined{resetMathstrut@}{}{% + \def\resetMathstrut@{% + \setbox\z@\hbox{\textchar\vert}% + \ht\Mathstrutbox@\ht\z@ \dp\Mathstrutbox@\dp\z@ + }% +} +\@ifundefined{rightarrowfill@}{}{% + \def\rightarrowfill@#1{\m@th\setboxz@h{$#1\relbar$}\ht\z@\z@ + $#1\copy\z@\mkern-6mu\cleaders + \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill + \mkern-6mu\OrdSymbol{\rightarrow}$} + \def\leftarrowfill@#1{\m@th\setboxz@h{$#1\relbar$}\ht\z@\z@ + $#1\OrdSymbol{\leftarrow}\mkern-6mu\cleaders + \hbox{$#1\mkern-2mu\copy\z@\mkern-2mu$}\hfill + \mkern-6mu\box\z@$} + \def\leftrightarrowfill@#1{\m@th\setboxz@h{$#1\relbar$}\ht\z@\z@ + $#1\OrdSymbol{\leftarrow}\mkern-6mu\cleaders + \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill + \mkern-6mu\OrdSymbol{\rightarrow}$} +} +\def\binrel@sym#1#2#3#4#5{% + \xdef\binrel@@##1{% + \ifx\m@Ord#2\@nx\@symOrd + \else\ifx\m@Var#2\@nx\@symVar + \else\ifx\m@COs#2\@nx\@symCOs + \else\ifx\m@COi#2\@nx\@symCOi + \else\ifx\m@Bin#2\@nx\@symBin + \else\ifx\m@Rel#2\@nx\@symRel + \else\ifx\m@Pun#2\@nx\@symPun + \else\@nx\@symErr \fi\fi\fi\fi\fi\fi\fi + ?{\@nx\OrdSymbol{##1}}}% +} +\def\binrel@a{% + \def\@symOrd##1##2{\gdef\binrel@@####1{\@symOrd##1{\OrdSymbol{####1}}}}% + \def\@symVar##1##2{\gdef\binrel@@####1{\@symVar##1{\OrdSymbol{####1}}}}% + \def\@symCOs##1##2{\gdef\binrel@@####1{\@symCOs##1{\OrdSymbol{####1}}}}% + \def\@symCOi##1##2{\gdef\binrel@@####1{\@symCOi##1{\OrdSymbol{####1}}}}% + \def\@symBin##1##2{\gdef\binrel@@####1{\@symBin##1{\OrdSymbol{####1}}}}% + \def\@symRel##1##2{\gdef\binrel@@####1{\@symRel##1{\OrdSymbol{####1}}}}% + \def\@symPun##1##2{\gdef\binrel@@####1{\@symPun##1{\OrdSymbol{####1}}}}% +} +\def\binrel@#1{% + \setbox\z@\hbox{$% + \let\mathchoice\@gobblethree + \let\@sym\binrel@sym \binrel@a + #1$}% +} +\def\@symextension{sym} +\newcommand\usesymbols[1]{% + \@for\@tempb:=#1\do{% + \@xp\@onefilewithoptions\@xp{\@tempb}[][]\@symextension + }% +} +\newcommand\ProvidesSymbols[1]{\ProvidesFile{#1.sym}} +\DeclareRobustCommand{\not}[1]{\@symRel\not{\OrdSymbol{\notRel#1}}} +\DeclareRobustCommand{\OrdSymbol}[1]{% + \begingroup\mathchars@reset#1\endgroup +} +\def\mathchars@reset{\let\@sym\@sym@ord \let\@symtype\@symtype@ord + \let\OrdSymbol\relax} +\def\@symtype@ord#1#{}% a strange sort of \@gobble +\def\@sym@ord#1#2{\@xp\@sym@ord@a\string#2\@nil}% +\begingroup +\lccode`\.=`\@ \lowercase{\endgroup +\def\@sym@ord@a#1.}#2#3\@nil#4#5#6{% + \csname MathChar \endcsname"0% + \if D#2\@xp\delim@b\csname sd@#4#5#6\endcsname#4#5#6 + \else #4#5#6 + \fi +} +\DeclareOption{cmbase}{\usesymbols{cmbase}} +\DeclareOption{mathstyleoff}{} +\ProcessOptions\relax +\renewcommand{\lnot}{\neg} +\renewcommand{\land}{\wedge} +\renewcommand{\lor}{\vee} +\renewcommand{\le}{\leq} +\renewcommand{\ge}{\geq} +\renewcommand{\ne}{\neq} +\renewcommand{\owns}{\ni} +\renewcommand{\gets}{\leftarrow} +\renewcommand{\to}{\rightarrow} +\renewcommand{\|}{\Vert} +\@ifpackagewith{flexisym}{mathstyleoff}{}{% + \RequirePackage[activechars]{mathstyle}\relax +} +\ifx\std@minus\@@undefined +\else + % Patch for amsmath 2.x if loaded before flexisym + \begingroup + \long\def\0#1\mathchardef\std@minus#2\std@equal#3\relax{% + \toks@{#1}% + \afterassignment\1\@temptokena\bgroup + }% + \def\1{% + \edef\2{\endgroup + \def\noexpand\@begindocumenthook{\the\toks@\the\@temptokena}}% + \2% + } + \iffalse{\fi + \expandafter\0\@begindocumenthook + \@gobblefour\mathchardef\std@minus\std@equal\relax + \relax\relax\relax\relax} + % Leave what for std@minus, std@equal? +\fi diff --git a/Master/texmf-dist/tex/latex/breqn/mathstyle.sty b/Master/texmf-dist/tex/latex/breqn/mathstyle.sty new file mode 100644 index 00000000000..141ea46f3bf --- /dev/null +++ b/Master/texmf-dist/tex/latex/breqn/mathstyle.sty @@ -0,0 +1,89 @@ +%% Created by stripbwr [2001-09-11T03:39:44] +%% From /home/work/alnilam/mathstyle.bwr +\ProvidesPackage{mathstyle}[2001/09/10 v0.8] +\providecommand{\@saveprimitive}[2]{% + \begingroup + \edef\@tempa{\string#1}\edef\@tempb{\meaning#1}% + \ifx\@tempa\@tempb \global\let#2#1% + \else + \edef\@tempb{\meaning#2}% + \ifx\@tempa\@tempb + \else + \keyed@msg\@latex@error\@saveprimitive{{#2}{#1}} +% {Unable to properly define \string#2; primitive +% \noexpand#1no longer primitive}\@eha + \fi + \fi + \endgroup +} +\chardef\mathstyle=0 +\@saveprimitive\displaystyle\@@displaystyle +\@saveprimitive\textstyle\@@textstyle +\@saveprimitive\scriptstyle\@@scriptstyle +\@saveprimitive\scriptscriptstyle\@@scriptscriptstyle +\DeclareRobustCommand{\displaystyle}{% + \@@displaystyle \chardef\mathstyle\z@} +\DeclareRobustCommand{\textstyle}{% + \@@textstyle \chardef\mathstyle\@ne} +\DeclareRobustCommand{\scriptstyle}{% + \@@scriptstyle \chardef\mathstyle\tw@} +\DeclareRobustCommand{\scriptscriptstyle}{% + \@@scriptscriptstyle \chardef\mathstyle\thr@@} +\begingroup \catcode`\^=7 \catcode`\_=8 % just in case +\lowercase{\endgroup +\let\@@superscript=^ \let\@@subscript=_ +}% +\def\subsupstyle{% + \ifnum\mathstyle<\tw@ \chardef\mathstyle\tw@ + \else \chardef\mathstyle\thr@@ + \fi +} +\begingroup \catcode`\^=7 \catcode`\_=8 +\global\let\mathsup=^\global\let\mathsub=_\relax +\endgroup +\def\sb#1{\mathsub{\protect\subsupstyle#1}}% +\def\sp#1{\mathsup{\protect\subsupstyle#1}}% +\def\mathchoice#1#2#3#4{% + \relax\ifcase\mathstyle#1\relax\or#2\relax\or#3\relax\else#4\relax\fi +} +\DeclareOption{activechars}{\catcode`\^=13 \catcode`\_=13 } +\ProcessOptions\relax +\ifnum\catcode`\^=13 + \let^=\sp \let_=\sb +\else + \mathcode`\^="8000 \mathcode`\_="8000 + \begingroup \catcode`\^=\active \catcode`\_=\active + \global\let^=\sp \global\let_=\sb + \endgroup +\fi +\@saveprimitive\over\@@over +\@saveprimitive\atop\@@atop +\@saveprimitive\above\@@above +\@saveprimitive\overwithdelims\@@overwithdelims +\@saveprimitive\atopwithdelims\@@atopwithdelims +\@saveprimitive\abovewithdelims\@@abovewithdelims +\DeclareRobustCommand\genfrac[6]{% + {\fracstyle #1% + {\begingroup #5\endgroup + \csname @@\ifx\maxdimen#4\maxdimen over\else above\fi + \if @#2@\else withdelims\fi\endcsname #2#3#4\relax + #6}% + }% +} +\renewcommand{\frac}{\genfrac{}{}{}{}} +\providecommand{\dfrac}{} +\providecommand{\tfrac}{} +\renewcommand{\dfrac}{\genfrac\displaystyle{}{}{}} +\renewcommand{\tfrac}{\genfrac\textstyle{}{}{}} +\providecommand{\binom}{} +\providecommand{\tbinom}{} +\providecommand{\dbinom}{} +\renewcommand{\binom}{\genfrac{}(){0pt}} +\renewcommand{\dbinom}{\genfrac\displaystyle(){0pt}} +\renewcommand{\tbinom}{\genfrac\textstyle(){0pt}} +\def\fracstyle{\ifcase\mathstyle + \chardef\mathstyle=\@ne + \or \chardef\mathstyle=\tw@ + \else \chardef\mathstyle=\thr@@ + \fi +} diff --git a/Master/texmf-dist/tex/latex/breqn/msabm.sym b/Master/texmf-dist/tex/latex/breqn/msabm.sym new file mode 100644 index 00000000000..1495aa60d69 --- /dev/null +++ b/Master/texmf-dist/tex/latex/breqn/msabm.sym @@ -0,0 +1,228 @@ +%% Created by stripbwr [2001-09-09T00:22:17] +%% From /home/breqn/msabm.bwr +\ProvidesSymbols{msabm}[2001/09/08 v0.91] +\RequirePackage{amsfonts}\relax +\@xp\xdef\csname mg@MSA\endcsname{\hexnumber@\symAMSa}% +\@xp\xdef\csname mg@MSB\endcsname{\hexnumber@\symAMSb}% +\DeclareFlexSymbol{\boxdot} {Bin}{MSA}{00} +\DeclareFlexSymbol{\boxplus} {Bin}{MSA}{01} +\DeclareFlexSymbol{\boxtimes} {Bin}{MSA}{02} +\DeclareFlexSymbol{\square} {Ord}{MSA}{03} +\DeclareFlexSymbol{\blacksquare} {Ord}{MSA}{04} +\DeclareFlexSymbol{\centerdot} {Bin}{MSA}{05} +\DeclareFlexSymbol{\lozenge} {Ord}{MSA}{06} +\DeclareFlexSymbol{\blacklozenge} {Ord}{MSA}{07} +\DeclareFlexSymbol{\circlearrowright} {Rel}{MSA}{08} +\DeclareFlexSymbol{\circlearrowleft} {Rel}{MSA}{09} +%% In amsfonts.sty: +%%\DeclareFlexSymbol{\rightleftharpoons}{Rel}{MSA}{0A} +\DeclareFlexSymbol{\leftrightharpoons} {Rel}{MSA}{0B} +\DeclareFlexSymbol{\boxminus} {Bin}{MSA}{0C} +\DeclareFlexSymbol{\Vdash} {Rel}{MSA}{0D} +\DeclareFlexSymbol{\Vvdash} {Rel}{MSA}{0E} +\DeclareFlexSymbol{\vDash} {Rel}{MSA}{0F} +\DeclareFlexSymbol{\twoheadrightarrow} {Rel}{MSA}{10} +\DeclareFlexSymbol{\twoheadleftarrow} {Rel}{MSA}{11} +\DeclareFlexSymbol{\leftleftarrows} {Rel}{MSA}{12} +\DeclareFlexSymbol{\rightrightarrows} {Rel}{MSA}{13} +\DeclareFlexSymbol{\upuparrows} {Rel}{MSA}{14} +\DeclareFlexSymbol{\downdownarrows} {Rel}{MSA}{15} +\DeclareFlexSymbol{\upharpoonright} {Rel}{MSA}{16} + \let\restriction\upharpoonright +\DeclareFlexSymbol{\downharpoonright} {Rel}{MSA}{17} +\DeclareFlexSymbol{\upharpoonleft} {Rel}{MSA}{18} +\DeclareFlexSymbol{\downharpoonleft}{Rel}{MSA}{19} +\DeclareFlexSymbol{\rightarrowtail} {Rel}{MSA}{1A} +\DeclareFlexSymbol{\leftarrowtail} {Rel}{MSA}{1B} +\DeclareFlexSymbol{\leftrightarrows}{Rel}{MSA}{1C} +\DeclareFlexSymbol{\rightleftarrows}{Rel}{MSA}{1D} +\DeclareFlexSymbol{\Lsh} {Rel}{MSA}{1E} +\DeclareFlexSymbol{\Rsh} {Rel}{MSA}{1F} +\DeclareFlexSymbol{\rightsquigarrow} {Rel}{MSA}{20} +\DeclareFlexSymbol{\leftrightsquigarrow}{Rel}{MSA}{21} +\DeclareFlexSymbol{\looparrowleft} {Rel}{MSA}{22} +\DeclareFlexSymbol{\looparrowright} {Rel}{MSA}{23} +\DeclareFlexSymbol{\circeq} {Rel}{MSA}{24} +\DeclareFlexSymbol{\succsim} {Rel}{MSA}{25} +\DeclareFlexSymbol{\gtrsim} {Rel}{MSA}{26} +\DeclareFlexSymbol{\gtrapprox} {Rel}{MSA}{27} +\DeclareFlexSymbol{\multimap} {Rel}{MSA}{28} +\DeclareFlexSymbol{\therefore} {Rel}{MSA}{29} +\DeclareFlexSymbol{\because} {Rel}{MSA}{2A} +\DeclareFlexSymbol{\doteqdot} {Rel}{MSA}{2B} + \let\Doteq\doteqdot +\DeclareFlexSymbol{\triangleq} {Rel}{MSA}{2C} +\DeclareFlexSymbol{\precsim} {Rel}{MSA}{2D} +\DeclareFlexSymbol{\lesssim} {Rel}{MSA}{2E} +\DeclareFlexSymbol{\lessapprox} {Rel}{MSA}{2F} +\DeclareFlexSymbol{\eqslantless} {Rel}{MSA}{30} +\DeclareFlexSymbol{\eqslantgtr} {Rel}{MSA}{31} +\DeclareFlexSymbol{\curlyeqprec} {Rel}{MSA}{32} +\DeclareFlexSymbol{\curlyeqsucc} {Rel}{MSA}{33} +\DeclareFlexSymbol{\preccurlyeq} {Rel}{MSA}{34} +\DeclareFlexSymbol{\leqq} {Rel}{MSA}{35} +\DeclareFlexSymbol{\leqslant} {Rel}{MSA}{36} +\DeclareFlexSymbol{\lessgtr} {Rel}{MSA}{37} +\DeclareFlexSymbol{\backprime} {Ord}{MSA}{38} +\DeclareFlexSymbol{\risingdotseq} {Rel}{MSA}{3A} +\DeclareFlexSymbol{\fallingdotseq}{Rel}{MSA}{3B} +\DeclareFlexSymbol{\succcurlyeq} {Rel}{MSA}{3C} +\DeclareFlexSymbol{\geqq} {Rel}{MSA}{3D} +\DeclareFlexSymbol{\geqslant} {Rel}{MSA}{3E} +\DeclareFlexSymbol{\gtrless} {Rel}{MSA}{3F} +%% in amsfonts.sty +%% \DeclareFlexSymbol{\sqsubset} {Rel}{MSA}{40} +%% \DeclareFlexSymbol{\sqsupset} {Rel}{MSA}{41} +\DeclareFlexSymbol{\vartriangleright}{Rel}{MSA}{42} +\DeclareFlexSymbol{\vartriangleleft} {Rel}{MSA}{43} +\DeclareFlexSymbol{\trianglerighteq} {Rel}{MSA}{44} +\DeclareFlexSymbol{\trianglelefteq} {Rel}{MSA}{45} +\DeclareFlexSymbol{\bigstar} {Ord}{MSA}{46} +\DeclareFlexSymbol{\between} {Rel}{MSA}{47} +\DeclareFlexSymbol{\blacktriangledown} {Ord}{MSA}{48} +\DeclareFlexSymbol{\blacktriangleright} {Rel}{MSA}{49} +\DeclareFlexSymbol{\blacktriangleleft} {Rel}{MSA}{4A} +\DeclareFlexSymbol{\vartriangle} {Rel}{MSA}{4D} +\DeclareFlexSymbol{\blacktriangle} {Ord}{MSA}{4E} +\DeclareFlexSymbol{\triangledown} {Ord}{MSA}{4F} +\DeclareFlexSymbol{\eqcirc} {Rel}{MSA}{50} +\DeclareFlexSymbol{\lesseqgtr} {Rel}{MSA}{51} +\DeclareFlexSymbol{\gtreqless} {Rel}{MSA}{52} +\DeclareFlexSymbol{\lesseqqgtr} {Rel}{MSA}{53} +\DeclareFlexSymbol{\gtreqqless} {Rel}{MSA}{54} +\DeclareFlexSymbol{\Rrightarrow} {Rel}{MSA}{56} +\DeclareFlexSymbol{\Lleftarrow} {Rel}{MSA}{57} +\DeclareFlexSymbol{\veebar} {Bin}{MSA}{59} +\DeclareFlexSymbol{\barwedge} {Bin}{MSA}{5A} +\DeclareFlexSymbol{\doublebarwedge} {Bin}{MSA}{5B} +%% In amsfonts.sty +%%\DeclareFlexSymbol{\angle} {Ord}{MSA}{5C} +\DeclareFlexSymbol{\measuredangle} {Ord}{MSA}{5D} +\DeclareFlexSymbol{\sphericalangle} {Ord}{MSA}{5E} +\DeclareFlexSymbol{\varpropto} {Rel}{MSA}{5F} +\DeclareFlexSymbol{\smallsmile} {Rel}{MSA}{60} +\DeclareFlexSymbol{\smallfrown} {Rel}{MSA}{61} +\DeclareFlexSymbol{\Subset} {Rel}{MSA}{62} +\DeclareFlexSymbol{\Supset} {Rel}{MSA}{63} +\DeclareFlexSymbol{\Cup} {Bin}{MSA}{64} + \let\doublecup\Cup +\DeclareFlexSymbol{\Cap} {Bin}{MSA}{65} + \let\doublecap\Cap +\DeclareFlexSymbol{\curlywedge} {Bin}{MSA}{66} +\DeclareFlexSymbol{\curlyvee} {Bin}{MSA}{67} +\DeclareFlexSymbol{\leftthreetimes} {Bin}{MSA}{68} +\DeclareFlexSymbol{\rightthreetimes}{Bin}{MSA}{69} +\DeclareFlexSymbol{\subseteqq} {Rel}{MSA}{6A} +\DeclareFlexSymbol{\supseteqq} {Rel}{MSA}{6B} +\DeclareFlexSymbol{\bumpeq} {Rel}{MSA}{6C} +\DeclareFlexSymbol{\Bumpeq} {Rel}{MSA}{6D} +\DeclareFlexSymbol{\lll} {Rel}{MSA}{6E} + \let\llless\lll +\DeclareFlexSymbol{\ggg} {Rel}{MSA}{6F} + \let\gggtr\ggg +\DeclareFlexSymbol{\circledS} {Ord}{MSA}{73} +\DeclareFlexSymbol{\pitchfork} {Rel}{MSA}{74} +\DeclareFlexSymbol{\dotplus} {Bin}{MSA}{75} +\DeclareFlexSymbol{\backsim} {Rel}{MSA}{76} +\DeclareFlexSymbol{\backsimeq} {Rel}{MSA}{77} +\DeclareFlexSymbol{\complement} {Ord}{MSA}{7B} +\DeclareFlexSymbol{\intercal} {Bin}{MSA}{7C} +\DeclareFlexSymbol{\circledcirc} {Bin}{MSA}{7D} +\DeclareFlexSymbol{\circledast} {Bin}{MSA}{7E} +\DeclareFlexSymbol{\circleddash} {Bin}{MSA}{7F} +%% Begin AMSb declarations +\DeclareFlexSymbol{\lvertneqq} {Rel}{MSB}{00} +\DeclareFlexSymbol{\gvertneqq} {Rel}{MSB}{01} +\DeclareFlexSymbol{\nleq} {Rel}{MSB}{02} +\DeclareFlexSymbol{\ngeq} {Rel}{MSB}{03} +\DeclareFlexSymbol{\nless} {Rel}{MSB}{04} +\DeclareFlexSymbol{\ngtr} {Rel}{MSB}{05} +\DeclareFlexSymbol{\nprec} {Rel}{MSB}{06} +\DeclareFlexSymbol{\nsucc} {Rel}{MSB}{07} +\DeclareFlexSymbol{\lneqq} {Rel}{MSB}{08} +\DeclareFlexSymbol{\gneqq} {Rel}{MSB}{09} +\DeclareFlexSymbol{\nleqslant} {Rel}{MSB}{0A} +\DeclareFlexSymbol{\ngeqslant} {Rel}{MSB}{0B} +\DeclareFlexSymbol{\lneq} {Rel}{MSB}{0C} +\DeclareFlexSymbol{\gneq} {Rel}{MSB}{0D} +\DeclareFlexSymbol{\npreceq} {Rel}{MSB}{0E} +\DeclareFlexSymbol{\nsucceq} {Rel}{MSB}{0F} +\DeclareFlexSymbol{\precnsim} {Rel}{MSB}{10} +\DeclareFlexSymbol{\succnsim} {Rel}{MSB}{11} +\DeclareFlexSymbol{\lnsim} {Rel}{MSB}{12} +\DeclareFlexSymbol{\gnsim} {Rel}{MSB}{13} +\DeclareFlexSymbol{\nleqq} {Rel}{MSB}{14} +\DeclareFlexSymbol{\ngeqq} {Rel}{MSB}{15} +\DeclareFlexSymbol{\precneqq} {Rel}{MSB}{16} +\DeclareFlexSymbol{\succneqq} {Rel}{MSB}{17} +\DeclareFlexSymbol{\precnapprox} {Rel}{MSB}{18} +\DeclareFlexSymbol{\succnapprox} {Rel}{MSB}{19} +\DeclareFlexSymbol{\lnapprox} {Rel}{MSB}{1A} +\DeclareFlexSymbol{\gnapprox} {Rel}{MSB}{1B} +\DeclareFlexSymbol{\nsim} {Rel}{MSB}{1C} +\DeclareFlexSymbol{\ncong} {Rel}{MSB}{1D} +\DeclareFlexSymbol{\diagup} {Ord}{MSB}{1E} +\DeclareFlexSymbol{\diagdown} {Ord}{MSB}{1F} +\DeclareFlexSymbol{\varsubsetneq} {Rel}{MSB}{20} +\DeclareFlexSymbol{\varsupsetneq} {Rel}{MSB}{21} +\DeclareFlexSymbol{\nsubseteqq} {Rel}{MSB}{22} +\DeclareFlexSymbol{\nsupseteqq} {Rel}{MSB}{23} +\DeclareFlexSymbol{\subsetneqq} {Rel}{MSB}{24} +\DeclareFlexSymbol{\supsetneqq} {Rel}{MSB}{25} +\DeclareFlexSymbol{\varsubsetneqq} {Rel}{MSB}{26} +\DeclareFlexSymbol{\varsupsetneqq} {Rel}{MSB}{27} +\DeclareFlexSymbol{\subsetneq} {Rel}{MSB}{28} +\DeclareFlexSymbol{\supsetneq} {Rel}{MSB}{29} +\DeclareFlexSymbol{\nsubseteq} {Rel}{MSB}{2A} +\DeclareFlexSymbol{\nsupseteq} {Rel}{MSB}{2B} +\DeclareFlexSymbol{\nparallel} {Rel}{MSB}{2C} +\DeclareFlexSymbol{\nmid} {Rel}{MSB}{2D} +\DeclareFlexSymbol{\nshortmid} {Rel}{MSB}{2E} +\DeclareFlexSymbol{\nshortparallel} {Rel}{MSB}{2F} +\DeclareFlexSymbol{\nvdash} {Rel}{MSB}{30} +\DeclareFlexSymbol{\nVdash} {Rel}{MSB}{31} +\DeclareFlexSymbol{\nvDash} {Rel}{MSB}{32} +\DeclareFlexSymbol{\nVDash} {Rel}{MSB}{33} +\DeclareFlexSymbol{\ntrianglerighteq}{Rel}{MSB}{34} +\DeclareFlexSymbol{\ntrianglelefteq}{Rel}{MSB}{35} +\DeclareFlexSymbol{\ntriangleleft} {Rel}{MSB}{36} +\DeclareFlexSymbol{\ntriangleright} {Rel}{MSB}{37} +\DeclareFlexSymbol{\nleftarrow} {Rel}{MSB}{38} +\DeclareFlexSymbol{\nrightarrow} {Rel}{MSB}{39} +\DeclareFlexSymbol{\nLeftarrow} {Rel}{MSB}{3A} +\DeclareFlexSymbol{\nRightarrow} {Rel}{MSB}{3B} +\DeclareFlexSymbol{\nLeftrightarrow}{Rel}{MSB}{3C} +\DeclareFlexSymbol{\nleftrightarrow}{Rel}{MSB}{3D} +\DeclareFlexSymbol{\divideontimes} {Bin}{MSB}{3E} +\DeclareFlexSymbol{\varnothing} {Ord}{MSB}{3F} +\DeclareFlexSymbol{\nexists} {Ord}{MSB}{40} +\DeclareFlexSymbol{\Finv} {Ord}{MSB}{60} +\DeclareFlexSymbol{\Game} {Ord}{MSB}{61} +%% In amsfonts.sty: +%%\DeclareFlexSymbol{\mho} {Ord}{MSB}{66} +\DeclareFlexSymbol{\eth} {Ord}{MSB}{67} +\DeclareFlexSymbol{\eqsim} {Rel}{MSB}{68} +\DeclareFlexSymbol{\beth} {Ord}{MSB}{69} +\DeclareFlexSymbol{\gimel} {Ord}{MSB}{6A} +\DeclareFlexSymbol{\daleth} {Ord}{MSB}{6B} +\DeclareFlexSymbol{\lessdot} {Bin}{MSB}{6C} +\DeclareFlexSymbol{\gtrdot} {Bin}{MSB}{6D} +\DeclareFlexSymbol{\ltimes} {Bin}{MSB}{6E} +\DeclareFlexSymbol{\rtimes} {Bin}{MSB}{6F} +\DeclareFlexSymbol{\shortmid} {Rel}{MSB}{70} +\DeclareFlexSymbol{\shortparallel} {Rel}{MSB}{71} +\DeclareFlexSymbol{\smallsetminus} {Bin}{MSB}{72} +\DeclareFlexSymbol{\thicksim} {Rel}{MSB}{73} +\DeclareFlexSymbol{\thickapprox} {Rel}{MSB}{74} +\DeclareFlexSymbol{\approxeq} {Rel}{MSB}{75} +\DeclareFlexSymbol{\succapprox} {Rel}{MSB}{76} +\DeclareFlexSymbol{\precapprox} {Rel}{MSB}{77} +\DeclareFlexSymbol{\curvearrowleft} {Rel}{MSB}{78} +\DeclareFlexSymbol{\curvearrowright}{Rel}{MSB}{79} +\DeclareFlexSymbol{\digamma} {Ord}{MSB}{7A} +\DeclareFlexSymbol{\varkappa} {Ord}{MSB}{7B} +\DeclareFlexSymbol{\Bbbk} {Ord}{MSB}{7C} +\DeclareFlexSymbol{\hslash} {Ord}{MSB}{7D} +%% In amsfonts.sty: +%%\DeclareFlexSymbol{\hbar} {Ord}{MSB}{7E} +\DeclareFlexSymbol{\backepsilon} {Rel}{MSB}{7F} |