summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/mh
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-12 23:59:08 +0000
committerKarl Berry <karl@freefriends.org>2006-01-12 23:59:08 +0000
commitd625e47ffd1453f40c42192234fa3ac1c234e835 (patch)
tree0bf7402a698b8cd9d903a42faec6014447102246 /Master/texmf-dist/tex/latex/mh
parentd686f7c132a166a69afcf546ef992527fbeca48f (diff)
mh
git-svn-id: svn://tug.org/texlive/trunk@1090 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/mh')
-rw-r--r--Master/texmf-dist/tex/latex/mh/empheq.sty985
-rw-r--r--Master/texmf-dist/tex/latex/mh/empheq07.sty752
-rw-r--r--Master/texmf-dist/tex/latex/mh/mathtools.sty1063
-rw-r--r--Master/texmf-dist/tex/latex/mh/mhsetup.sty166
-rw-r--r--Master/texmf-dist/tex/latex/mh/ntheorem.fix402
5 files changed, 3368 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/mh/empheq.sty b/Master/texmf-dist/tex/latex/mh/empheq.sty
new file mode 100644
index 00000000000..94d5f2bf8b9
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mh/empheq.sty
@@ -0,0 +1,985 @@
+%%
+%% This is file `empheq.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% empheq.dtx (with options: `empheq')
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% The Current Maintainer of this work is Morten H\o gholm.
+%%
+%% This work consists of the files empheq.dtx and empheq.ins and the
+%% derived files empheq.sty and ntheorem.fix
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{empheq}
+ [2004/10/10 v2.11a
+ Emphasizing equations (MH)
+ ]
+\RequirePackage{mhsetup}[2004/10/10]
+\MHInternalSyntaxOn
+\MH_new_boolean:n {overload_ams}
+\DeclareOption{overload}{
+ \MH_set_boolean_T:n {overload_ams}
+}
+\MH_new_boolean:n {overload_amsII}
+\DeclareOption{overload2}{
+ \MH_set_boolean_T:n {overload_ams}
+ \MH_set_boolean_T:n {overload_amsII}
+}
+\MH_new_boolean:n {good_mult}
+\DeclareOption{oldmultline}{\MH_set_boolean_F:n {good_mult}}
+\DeclareOption{newmultline}{\MH_set_boolean_T:n {good_mult}}
+\DeclareOption{ntheorem}{\AtEndOfPackage{\input{ntheorem.fix}}}
+\DeclareOption*{
+ \PassOptionsToPackage{\CurrentOption}{mathtools}
+}
+\ExecuteOptions{newmultline}
+\ProcessOptions\relax
+\MHInternalSyntaxOff
+\RequirePackage{mathtools}[2004/10/10]
+\MHInternalSyntaxOn
+\AtEndOfPackage{\MHInternalSyntaxOff}
+\newcount\l_EQ_equationtype_int
+\newcount\l_EQ_alignmentmode_int
+\if@fleqn
+ \iftagsleft@
+ \l_EQ_alignmentmode_int=4
+ \else:
+ \l_EQ_alignmentmode_int=\thr@@
+ \fi:
+\else:
+ \iftagsleft@
+ \l_EQ_alignmentmode_int=\tw@
+ \else:
+ \l_EQ_alignmentmode_int=\@ne
+ \fi:
+\fi:
+\newdimen\l_EQ_totalwidth_dim
+\newdimen\l_EQ_displaywidth_dim
+\def\EmphEqdisplaywidth{\l_EQ_displaywidth_dim}
+\newdimen\l_EQ_temp_linewidth_dim
+\newdimen\EmphEqdelimitershortfall
+\newcount\EmphEqdelimiterfactor
+\EmphEqdelimiterfactor950
+\EmphEqdelimitershortfall\p@
+\newdimen\g_EQ_toptag_height_dim
+\newdimen\g_EQ_bottomtag_depth_dim
+\newdimen\g_EQ_toprow_height_dim
+\newdimen\g_EQ_bottomrow_depth_dim
+\newdimen\g_EQ_widesttag_dim
+\def\EmphEqtagwidth{\g_EQ_widesttag_dim}
+\def\EQ_outerbox:{}
+\def\EQ_innerbox:{}
+\def\EQ_left_side:{}
+\def\EQ_right_side:{}
+\newsavebox\EQ_mathdisplay_box
+\def\EmphEqdisplayheight{\ht\EQ_mathdisplay_box}
+\def\EmphEqdisplaydepth{\dp\EQ_mathdisplay_box}
+\newsavebox\EQ_tag_box
+\def\EQ_complete_mathdisplay:{}
+\def\EQ_getbody:n #1{%
+ \def\EQ_complete_mathdisplay:{}\def\EQ_mathbody:{#1}}
+\newenvironment{EmphEqMainEnv}{\collect@body\EQ_getbody:n}{%
+ \if_num:w \l_EQ_equationtype_int=\z@ %ZeroCheckpoint
+ \EQ_upgrade_error:
+ \else:
+ \EQ_post_process:
+ \ignorespacesafterend
+ \fi:}
+\def\EQ_post_process:{%
+ \EQ_initialize:
+ \EQ_begin_equation:
+ \MH_if_boolean:nT {outer_mult}{
+ \setkeys{\MT_options_name:}{
+ firstline-afterskip=0pt,
+ lastline-preskip=0pt,
+ multlined-width=0pt,
+ }
+ \ifodd \l_EQ_alignmentmode_int
+ \setkeys{\MT_options_name:}{multlined-pos=b}
+ \else:
+ \setkeys{\MT_options_name:}{multlined-pos=t}
+ \fi:
+ \g@addto@macro\EQ_complete_mathdisplay:{
+ \begin{MTmultlined}\relax}
+ }
+ \g@addto@macro\EQ_complete_mathdisplay:\EQ_mathbody:
+ \MH_if_boolean:nT {outer_mult}{
+ \g@addto@macro\EQ_complete_mathdisplay:{\end{MTmultlined}}
+ }
+ \EQ_end_equation:
+ \edef\EQ_hyperref_link_fint{\number\Hy@linkcounter}
+ \savecounters@
+ \EQ_typeset_tags:
+ \edef\l_EQ_equation_fint{\number\c@equation}
+ \restorecounters@
+ \Hy@linkcounter=\EQ_hyperref_link_fint
+ \settowidth\l_EQ_totalwidth_dim{%
+ $\EQ_left_side:\EQ_innerbox:{}\EQ_right_side:$}%
+ \MH_if_boolean:nTF {outer_mult}
+ { \def\EQ_next:{_mult} }
+ { \def\EQ_next:{} }
+ \@nameuse{EQ_modify_linewidth_
+ \romannumeral\l_EQ_equationtype_int\EQ_next: :}%
+ \EQ_typeset_display:
+ \@nameuse{find_displaywidth_
+ \romannumeral\l_EQ_equationtype_int\EQ_next: :}
+ \MH_addtolength:dn
+ \l_EQ_totalwidth_dim{\l_EQ_displaywidth_dim}
+ \savebox\EQ_mathdisplay_box[\l_EQ_totalwidth_dim][c]{%
+ $\EQ_left_side:
+ \EQ_innerbox:{%
+ \if_case:w \l_EQ_alignmentmode_int\or:
+ \makebox[\l_EQ_displaywidth_dim][c]
+ {\usebox{\EQ_mathdisplay_box}}%
+ \or:
+ \makebox[\l_EQ_displaywidth_dim][c]
+ {\usebox{\EQ_mathdisplay_box}}%
+ \or:
+ \makebox[\l_EQ_displaywidth_dim][l]{%
+ \if_num:w \l_EQ_equationtype_int=5 \else:
+ \if_num:w \l_EQ_equationtype_int=6 \else:
+ \kern-\@mathmargin
+ \fi:
+ \fi:
+ \usebox{\EQ_mathdisplay_box}}%
+ \or:
+ \makebox[\l_EQ_displaywidth_dim][l]{%
+ \if_num:w \l_EQ_equationtype_int=5 \else:
+ \if_num:w \l_EQ_equationtype_int=6 \else:
+ \kern-\@mathmargin
+ \fi:
+ \fi:
+ \usebox{\EQ_mathdisplay_box}}%
+ \fi:}%
+ \EQ_right_side:$}%
+ \begin{AmSequation*}
+ \@nameuse{EQ_place_display_
+ \romannumeral\l_EQ_equationtype_int\EQ_next: :}
+ \if_dim:w \g_EQ_widesttag_dim>\z@
+ \MH_set_boolean_T:n {show_manual_tags}
+ \if_case:w \l_EQ_alignmentmode_int
+ \or: \EQ_place_tag:N r %#1
+ \or: \EQ_place_tag:N l %#2
+ \or: \EQ_place_tag:N r %#3
+ \or: \EQ_place_tag:N l %#4
+ \fi:
+ \fi:
+ \end{AmSequation*}
+ \global\c@equation=\l_EQ_equation_fint\relax
+}
+\def\EQ_initialize:{%
+ \m@th
+ \MH_let:NwN\SetTagPlusEndMark\EQ_tag_plus_endmark:
+ \MH_let:NwN\SetOnlyEndMark\EQ_only_endmark:
+ \l_EQ_temp_linewidth_dim\linewidth
+ \g_EQ_toprow_height_dim\z@
+ \g_EQ_bottomrow_depth_dim\z@
+ \g_EQ_toptag_height_dim\z@
+ \g_EQ_bottomtag_depth_dim\z@
+ \g_EQ_widesttag_dim\z@
+ \xdef\g_EQ_latest_nonzerodepth_row_fint{\z@}
+ \edef\EQ_restore_tex_delimiter:{%
+ \delimiterfactor\the\delimiterfactor
+ \delimitershortfall\the\delimitershortfall\relax}%
+ \g@addto@macro\EQ_complete_mathdisplay:
+ \EQ_restore_tex_delimiter:
+ \delimitershortfall\EmphEqdelimitershortfall
+ \delimiterfactor\EmphEqdelimiterfactor
+ \MH_let:NwN\intertext@\EQ_intertext:
+ \EQ_displaybreak:}
+\def\EQ_intertext:{%
+ \def\intertext##1{\PackageError{empheq}{%
+ You~cannot~use~\string\intertext\space inside~the~`empheq'
+ \MessageBreak
+ environment,~as~`empheq'~creates~an~unbreakable~box}\@eha}}
+\def\EQ_displaybreak:{%
+ \def\dspbrk@[##1]{\PackageWarning{empheq}{%
+ You~cannot~use~\string\displaybreak\space inside~the~`empheq'%
+ \MessageBreak
+ environment,~as~`empheq'~creates~an~unbreakable~box.}}}
+\def\EQ_new_equationtype:nnn #1#2#3{%
+ \define@key{#1}{#2}[true]{%
+ \l_EQ_equationtype_int=#3\relax
+ \def\EQ_begin_equation:
+ {\g@addto@macro{\EQ_complete_mathdisplay:}{\begin{#2}}}%
+ \def\EQ_end_equation:
+ {\g@addto@macro{\EQ_complete_mathdisplay:}{\end{#2}}}}}
+\def\EQ_new_equationtype_arg:nnn #1#2#3{%
+ \define@key{#1}{#2}{%
+ \l_EQ_equationtype_int=#3\relax
+ \def\EQ_begin_equation:
+ {\g@addto@macro{\EQ_complete_mathdisplay:}{\begin{#2}{##1}}}%
+ \def\EQ_end_equation:
+ {\g@addto@macro{\EQ_complete_mathdisplay:}{\end{#2}}}}}
+\def\EQ_typeset_tags:{%
+ \sbox\EQ_tag_box{%
+ \parbox{.5\maxdimen}{%
+ \hbadness\@M
+ \EQ_prevent_vertical_space:
+ \EQ_typeset_tags_hook:
+ \MH_let:NwN\set@gather@field\EQ_set_gather_field:
+ \MH_let:NwN\set@field\EQ_set_align_field:
+ \MH_set_boolean_T:n {continue_measuring}
+ \global\g_EQ_temprow_int\m@ne
+ \MH_let:NwN \EQ_saved_maketag:n \maketag@@@
+ \def\maketag@@@##1{
+ \EQ_maketag:Nn \EQ_saved_maketag:n {##1}}
+ \EQ_complete_mathdisplay:}}}
+\def\EQ_predisplay_adjustment:{%
+ \if_dim:w \g_EQ_toprow_height_dim<\baselineskip
+ \vskip\g_EQ_toprow_height_dim
+ \vskip-\baselineskip
+ \else:
+ \vskip-\normallineskip
+ \fi:
+ \if_dim:w \g_EQ_toptag_height_dim>\g_EQ_toprow_height_dim
+ \if_dim:w \g_EQ_toptag_height_dim>\baselineskip
+ \vskip-\g_EQ_toptag_height_dim
+ \vskip\baselineskip
+ \vskip-\normallineskip
+ \fi:
+ \fi:}
+\def\EQ_postdisplay_adjustment:{%
+ \if_dim:w \g_EQ_bottomrow_depth_dim<\dp\strutbox
+ \vskip\g_EQ_bottomrow_depth_dim
+ \vskip-\dp\strutbox
+ \fi:
+ \if_dim:w \g_EQ_bottomtag_depth_dim>\g_EQ_bottomrow_depth_dim
+ \if_dim:w \g_EQ_bottomtag_depth_dim>\dp\strutbox
+ \vskip-\g_EQ_bottomtag_depth_dim
+ \vskip\dp\strutbox
+ \fi:
+ \fi:}
+\def\EQ_typeset_display:{%
+ \sbox\EQ_mathdisplay_box{%
+ \parbox{\l_EQ_temp_linewidth_dim}{%
+ \EQ_predisplay_adjustment:
+ \EQ_prevent_vertical_space:
+ \EQ_typeset_display_hook:
+ \def\maketag@@@##1{\EQ_maketag:Nn \vphantom{##1}}%
+ \EQ_complete_mathdisplay:
+ \EQ_postdisplay_adjustment:}}}
+\def\EQ_prevent_vertical_space:{%
+ \nointerlineskip
+ \abovedisplayskip\z@ \belowdisplayskip\z@\relax}
+\def\EQ_maketag:Nn #1#2{%
+ \setboxz@h{#2}%
+ \if_num:w \row@=\@ne
+ \global \g_EQ_toptag_height_dim = \ht\z@
+ \fi:
+ \global \g_EQ_bottomtag_depth_dim=\dp\z@
+ \xdef\g_EQ_latest_nonzerodepth_row_fint{\number\row@}
+ \@tempdima=\wd\z@
+ \if_dim:w \@tempdima > \g_EQ_widesttag_dim
+ \global \g_EQ_widesttag_dim = \@tempdima
+ \fi:
+ #1{#2}%
+}
+\def\EQ_set_gather_field:{%
+ \iftagsleft@
+ \global\lineht@\ht\z@
+ \else:
+ \global\lineht@\dp\z@
+ \fi:
+ \kern\eqnshift@
+ %\boxz@ % Original amsmath version
+ \EQ_measure_gather:
+ \phantom{\boxz@}%
+ \hfil}
+\def\EQ_measure_gather:{%
+ \if_num:w \row@=\@ne
+ \g_EQ_toprow_height_dim=\ht\z@
+ \fi:
+ \g_EQ_bottomrow_depth_dim=\dp\z@
+ \global\g_EQ_toprow_height_dim\g_EQ_toprow_height_dim
+ \global\g_EQ_bottomrow_depth_dim\g_EQ_bottomrow_depth_dim}
+\def\EQ_set_align_field:{%
+ \column@plus
+ \iftagsleft@
+ \if_dim:w \ht\z@>\lineht@
+ \global\lineht@\ht\z@
+ \fi:
+ \else:
+ \if_dim:w \dp\z@>\lineht@
+ \global\lineht@\dp\z@
+ \fi:
+ \fi:
+ %\boxz@ % Original amsmath version
+ \MH_if_boolean:nT {continue_measuring}{ \EQ_measure_align: }
+ \phantom{\boxz@}}
+\newcount\g_EQ_temprow_int
+\MH_new_boolean:n {still_in_samerow}
+\MH_new_boolean:n {continue_measuring}
+\def\EQ_measure_align:{%
+ \if_num:w \g_EQ_temprow_int=\row@
+ \MH_set_boolean_T:n {still_in_samerow}
+ \else:
+ \if_num:w \g_EQ_temprow_int>\row@
+ \global\MH_set_boolean_F:n {continue_measuring}
+ \fi:
+ \MH_set_boolean_F:n {still_in_samerow}
+ \global\@tempdimc=\@tempdimb
+ \global\@tempdimb=\g_EQ_bottomrow_depth_dim
+ \fi:
+ \MH_if_boolean:nTF {continue_measuring}{
+ \global\g_EQ_temprow_int=\row@
+ \@tempcnta=\row@
+ \if_num:w \@tempcnta=\z@
+ \@tempdima=\g_EQ_toprow_height_dim
+ \g_EQ_toprow_height_dim=\ht\z@\relax
+ \if_dim:w \g_EQ_toprow_height_dim<\@tempdima
+ \g_EQ_toprow_height_dim\@tempdima
+ \fi:
+ \fi:
+ \MH_if_boolean:nTF {still_in_samerow}{
+ \@tempdima=\g_EQ_bottomrow_depth_dim
+ \g_EQ_bottomrow_depth_dim=\dp\z@\relax
+ \if_dim:w \g_EQ_bottomrow_depth_dim<\@tempdima
+ \g_EQ_bottomrow_depth_dim\@tempdima
+ \fi:
+ }{
+ \g_EQ_bottomrow_depth_dim\dp\z@\relax
+ }
+ }{
+ \global\g_EQ_bottomrow_depth_dim=\@tempdimc
+ }
+ \global\g_EQ_toprow_height_dim\g_EQ_toprow_height_dim
+ \global\g_EQ_bottomrow_depth_dim\g_EQ_bottomrow_depth_dim}
+\def\EQ_place_tag:N #1{%
+ \tag*{\makebox[\g_EQ_widesttag_dim][#1]{%
+ \EQ_vertical_tag_adjustment:n {\usebox{\EQ_tag_box}}}}}
+\def\EQ_vertical_tag_adjustment:n #1{{%
+ \@tempdima\z@\@tempdimb\z@
+ \@tempdimc=\dp\strutbox
+ \if_dim:w \g_EQ_toprow_height_dim<\baselineskip
+ \MH_setlength:dn
+ \@tempdima{\g_EQ_toprow_height_dim-\baselineskip}
+ \else:
+ \MH_setlength:dn \@tempdima{-\normallineskip}
+ \fi:
+ \if_dim:w \g_EQ_toptag_height_dim>\g_EQ_toprow_height_dim
+ \if_dim:w \g_EQ_toptag_height_dim>\baselineskip
+ \MH_addtolength:dn \@tempdima
+ {-\g_EQ_toptag_height_dim+\baselineskip-\normallineskip}
+ \fi:
+ \fi:
+ \if_dim:w \g_EQ_bottomrow_depth_dim<\@tempdimc
+ \MH_setlength:dn \@tempdimb
+ {\g_EQ_bottomrow_depth_dim-\@tempdimc}
+ \fi:
+ \if_dim:w \g_EQ_bottomtag_depth_dim>\g_EQ_bottomrow_depth_dim
+ \if_dim:w \g_EQ_bottomtag_depth_dim<\@tempdimc
+ \else:
+ \MH_addtolength:dn \@tempdimb
+ {-\g_EQ_bottomtag_depth_dim+\@tempdimc}
+ \fi:
+ \fi:
+ \raisebox{-0.5\@tempdima+0.5\@tempdimb}{#1}}}%
+\def\EQ_use_mathdisplay:{%
+ \EQ_outerbox:{\usebox{\EQ_mathdisplay_box}}}
+\def\EQ_options_name:{EmphEqOpt}
+\MH_keyval_alias_with_addon:nnnn {EmphEqEnv}{equation}{gather}
+ {\EQ_disable_linebreak:}
+\MH_keyval_alias_with_addon:nnnn {EmphEqEnv}{equation*}{gather*}
+ {\EQ_disable_linebreak:}
+\def\EQ_disable_linebreak:{%
+ \MH_let:NwN \EQ_saved_Let: \Let@
+ \def\Let@{\def\\{%
+ \PackageError{empheq}{You~ cannot~ use~ \string\\~ in~ equation!}
+ {\@eha}}
+ \MH_let:NwN \Let@ \EQ_saved_Let:
+ }%
+}
+\EQ_new_equationtype:nnn {EmphEqEnv}{align}{1}
+\EQ_new_equationtype:nnn {EmphEqEnv}{align*}{2}
+\def\EQ_modify_linewidth_i:{%
+ \if_num:w \maxfields@=\tw@
+ \else:
+ \setlength{\l_EQ_temp_linewidth_dim}{%
+ \linewidth-\l_EQ_totalwidth_dim-\widthof{\EQ_outerbox:{}}}%
+ \fi:}
+\def\EQ_modify_linewidth_ii:{\EQ_modify_linewidth_i:}
+\def\find_displaywidth_i:{%
+ \MH_setlength:dn \l_EQ_displaywidth_dim
+ {\l_EQ_temp_linewidth_dim-\alignsep@}
+ \if_case:w \l_EQ_alignmentmode_int
+ \or: % #1:
+ \MH_addtolength:dn \l_EQ_displaywidth_dim{-\alignsep@}%
+ \or: % #2:
+ \MH_addtolength:dn \l_EQ_displaywidth_dim{-\alignsep@}%
+ \or: % #3:
+ \MH_addtolength:dn \l_EQ_displaywidth_dim{-\@mathmargin}%
+ \or: % #4:
+ \MH_addtolength:dn \l_EQ_displaywidth_dim{-\@mathmargin}%
+ \fi:}
+\def\find_displaywidth_ii:{\find_displaywidth_i:}
+\def\EQ_place_display_i: {\EQ_use_mathdisplay:}
+\def\EQ_place_display_ii:{\EQ_place_display_i:}
+\EQ_new_equationtype:nnn {EmphEqEnv}{gather}{3}
+\EQ_new_equationtype:nnn {EmphEqEnv}{gather*}{4}
+\def\EQ_modify_linewidth_iii:{}
+\def\EQ_modify_linewidth_iv:{\EQ_modify_linewidth_iii:}
+\def\find_displaywidth_iii:{%
+ \MH_setlength:dn \l_EQ_displaywidth_dim{\totwidth@}%
+ \if_case:w \l_EQ_alignmentmode_int \or: \or: % #1 & #2:
+ \or: % #3:
+ \MH_addtolength:dn \l_EQ_displaywidth_dim{-\@mathmargin}%
+ \or: % #4:
+ \MH_addtolength:dn \l_EQ_displaywidth_dim{-\@mathmargin}%
+ \fi:}
+\def\find_displaywidth_iv:{\find_displaywidth_iii:}
+\def\EQ_place_display_iii:{\EQ_use_mathdisplay:}
+\def\EQ_place_display_iv: {\EQ_place_display_iii:}
+\MH_keyval_alias_with_addon:nnnn {EmphEqEnv}{multline}
+ {flalign}{\MH_set_boolean_T:n {multline}}
+\MH_keyval_alias_with_addon:nnnn {EmphEqEnv}{multline*}
+ {flalign*}{\MH_set_boolean_T:n {multline}}
+\MH_new_boolean:n {multline}
+\def\EQ_multline_modify_linewidth_tag:{%
+ \if_case:w \l_EQ_alignmentmode_int
+ \or: % #1:
+ \MH_addtolength:dn \l_EQ_temp_linewidth_dim{%
+ -\g_EQ_widesttag_dim-\multlinetaggap-\multlinegap}%
+ \or:
+ \MH_addtolength:dn \l_EQ_temp_linewidth_dim{%
+ -\g_EQ_widesttag_dim-\multlinetaggap-\multlinegap}%
+ \or:
+ \MH_addtolength:dn \l_EQ_temp_linewidth_dim{%
+ -\@mathmargin-\g_EQ_widesttag_dim-\multlinetaggap}%
+ \or:
+ \MH_addtolength:dn
+ \l_EQ_temp_linewidth_dim{-\@mathmargin-\multlinegap}%
+ \fi:
+}
+\def\EQ_multline_modify_linewidth_notag:{%
+ \if_case:w \l_EQ_alignmentmode_int\or:
+ \MH_addtolength:dn \l_EQ_temp_linewidth_dim{-2\multlinegap}
+ \or:
+ \MH_addtolength:dn \l_EQ_temp_linewidth_dim{-2\multlinegap}
+ \or:
+ \MH_addtolength:dn
+ \l_EQ_temp_linewidth_dim{-\@mathmargin-\multlinegap}%
+ \or:
+ \MH_addtolength:dn
+ \l_EQ_temp_linewidth_dim{-\@mathmargin-\multlinegap}%
+ \fi:
+}
+\MH_let:NwN \MTmultlined \multlined
+\MH_let:NwN \endMTmultlined \endmultlined
+\MH_if_boolean:nTF {good_mult}{
+\MH_keyval_alias_with_addon:nnnn {EmphEqEnv}{multline}{gather}
+ {\MH_set_boolean_T:n {outer_mult}}
+\MH_keyval_alias_with_addon:nnnn {EmphEqEnv}{multline*}{gather*}
+ {\MH_set_boolean_T:n {outer_mult}}
+\def\EQ_modify_linewidth_iii_mult:{
+ \setlength{\l_EQ_temp_linewidth_dim}{%
+ \linewidth-\widthof{\EQ_outerbox:{}}}%
+ \if_dim:w \g_EQ_widesttag_dim>\z@
+ \EQ_multline_modify_linewidth_tag:
+ \else:
+ \EQ_multline_modify_linewidth_notag:
+ \fi:
+ \MH_setlength:dn \l_MT_multwidth_dim{\l_EQ_temp_linewidth_dim}
+}
+\def\EQ_modify_linewidth_iv_mult:{\EQ_modify_linewidth_iii_mult:}
+\def\find_displaywidth_iii_mult:{%
+ \MH_setlength:dn \l_EQ_displaywidth_dim{\totwidth@}%
+ \if_case:w \l_EQ_alignmentmode_int \or: \or: % #1 & #2:
+ \or: % #3:
+ \MH_addtolength:dn \l_EQ_displaywidth_dim{-\@mathmargin}%
+ \or: % #4:
+ \MH_addtolength:dn \l_EQ_displaywidth_dim{-\@mathmargin}%
+ \fi:}
+\def\find_displaywidth_iv_mult:{\find_displaywidth_iii_mult:}
+\def\EQ_place_display_iii_mult:{
+ \if_case:w \l_EQ_alignmentmode_int
+ \or: % #1:
+ \if_dim:w \g_EQ_widesttag_dim>\z@
+ \abovedisplayshortskip=\abovedisplayskip
+ \rlap{
+ \kern-.5\linewidth
+ \kern\multlinegap
+ \EQ_use_mathdisplay:
+ }
+ \else:
+ \EQ_use_mathdisplay:
+ \fi:
+ \or: % #2:
+ \if_dim:w \g_EQ_widesttag_dim>\z@
+ \llap{
+ \EQ_use_mathdisplay:
+ \kern-.5\linewidth
+ \kern\multlinegap
+ }%
+ \else:
+ \EQ_use_mathdisplay:
+ \fi:
+ \or: % #3:
+ \EQ_use_mathdisplay:
+ \or: % #4:
+ \EQ_use_mathdisplay:
+ \fi:
+}
+\def\EQ_place_display_iv_mult: {\EQ_place_display_iii_mult:}
+}{
+\def\EQ_generic_multline:nnnnn #1#2#3#4#5{%
+ \hskip1sp#2#3{{}#5}#4%
+ \if:w *#1\relax\else:\notag\fi:}
+\def\multleft{\@ifstar{%
+ \MH_if_boolean:nTF {multlined}{
+ \def\EQ_next:{\EQ_multlined_left:n}
+ }{
+ \def\EQ_next:{
+ \EQ_generic_multline:nnnnn {*}{}{\mathrlap}{&&&&&}}
+ }
+ \EQ_next:}{%
+ \MH_if_boolean:nTF {multlined}{
+ \def\EQ_next:{\EQ_multlined_left:n}%
+ }{
+ \def\EQ_next:{
+ \EQ_generic_multline:nnnnn {}{}{\mathrlap}{&&&&&}}
+ }
+ \EQ_next:}}%
+\def\multcenter{\@ifstar{%
+ \MH_if_boolean:nTF {multlined}{
+ \def\EQ_next:{\EQ_multlined_center:n}%
+ }{
+ \def\EQ_next:{
+ \EQ_generic_multline:nnnnn {*}{&&}{\mathclap}{&&&}}
+ }
+ \EQ_next:}{%
+ \MH_if_boolean:nTF {multlined}{
+ \def\EQ_next:{\EQ_multlined_center:n }%
+ }{
+ \def\EQ_next:{
+ \EQ_generic_multline:nnnnn {}{&&}{\mathclap}{&&&}}
+ }
+ \EQ_next:}}%
+\def\multright{\@ifstar{%
+ \MH_if_boolean:nTF {multlined}{
+ \def\EQ_next:{\EQ_multlined_right:n }%
+ }{
+ \def\EQ_next:{
+ \EQ_generic_multline:nnnnn {*}{&&&&&}{\mathllap}{}}
+ }
+ \EQ_next:}{%
+ \MH_if_boolean:nTF {multlined}{
+ \def\EQ_next:{\EQ_multlined_right:n }%
+ }{
+ \def\EQ_next:{
+ \EQ_generic_multline:nnnnn {}{&&&&&}{\mathllap}{}}
+ }
+ \EQ_next:}}
+\def\multfirst{%
+ \MH_if_boolean:nTF {multlined}{
+ \def\EQ_next:{\EQ_multlined_left:n }%
+ }{
+ \if_case:w \l_EQ_alignmentmode_int
+ \or: % #1:
+ \def\EQ_next:{\multleft}%
+ \or: % #2:
+ \def\EQ_next:{\multleft*}%
+ \or: % #3:
+ \def\EQ_next:{\multleft}%
+ \or: % #4:
+ \def\EQ_next:{\multleft*}%
+ \fi:
+ }
+ \EQ_next:}
+\def\multmiddle{%
+ \def\EQ_next:{%
+ \MH_if_boolean:nTF {multlined}{
+ \expandafter\EQ_multlined_center:n
+ }{
+ \expandafter\multcenter
+ }
+ }%
+ \@ifstar{\EQ_next:}{\EQ_next:}}
+\def\multlast{%
+ \MH_if_boolean:nTF {multlined}{
+ \def\EQ_next:{\EQ_multlined_right:n }%
+ }{
+ \if_case:w \l_EQ_alignmentmode_int
+ \or: % #1:
+ \def\EQ_next:{\multright*}%
+ \or: % #2:
+ \def\EQ_next:{\multright}%
+ \or: % #3:
+ \def\EQ_next:{\multright*}%
+ \or: % #4:
+ \def\EQ_next:{\multright}%
+ \fi:
+ }
+ \EQ_next:}
+\MH_new_boolean:n {multlined}
+\newdimen\multlinedwidth
+\MH_setlength:dn \multlinedwidth{.7\linewidth}
+\renewenvironment{multlined}%
+ {\MH_nospace_ifnextchar:Nnn [ {\EQ_multlined_I:w}
+ {\EQ_multlined_I:w[c]}
+ }
+ { \endaligned }
+\def\EQ_multlined_I:w[#1]{%
+ \MH_nospace_ifnextchar:Nnn[ {\EQ_multlined_II:w[#1]}
+ {\EQ_multlined_II:w[#1][\multlinedwidth]}}
+\def\EQ_multlined_II:w[#1][#2]{%
+ \MH_set_boolean_T:n {multlined}
+ \MH_let:NwN \Let@\MT_saved_Let:
+ \if:w t#1\relax \EQ_multlined_III:nn {#1}{#2}%
+ \else:
+ \if:w b#1\relax \EQ_multlined_III:nn {#1}{#2}%
+ \else:
+ \if:w c#1\relax \EQ_multlined_III:nn {#1}{#2}%
+ \else:
+ \EQ_multlined_III:nn {#2}{#1}%
+ \fi:
+ \fi:
+ \fi:
+ \mkern-\thinmuskip
+ \EQ_next:}
+\def\EQ_multlined_III:nn #1#2{%
+ \def\EQ_next:{\setlength\multlinedwidth{#2}%
+ \start@aligned{#1}{\thr@@}}}
+\def\EQ_multlined_left:n #1{%
+ \mathrlap{#1}&\hskip.5\multlinedwidth&&\hskip.5\multlinedwidth&&}
+\def\EQ_multlined_center:n #1{%
+ &\hskip.5\multlinedwidth&&\mathclap{#1}\hskip.5\multlinedwidth&&}
+\def\EQ_multlined_right:n #1{%
+ &\hskip.5\multlinedwidth&&\hskip.5\multlinedwidth&&\mathllap{#1}}
+}
+\EQ_new_equationtype:nnn {EmphEqEnv}{flalign}{5}
+\EQ_new_equationtype:nnn {EmphEqEnv}{flalign*}{6}
+\def\EQ_modify_linewidth_v:{%
+ \setlength{\l_EQ_temp_linewidth_dim}{%
+ \linewidth-\l_EQ_totalwidth_dim-\widthof{\EQ_outerbox:{}}}%
+ \if_dim:w \g_EQ_widesttag_dim>\z@
+ \MH_if_boolean:nTF {multline}{
+ \EQ_multline_modify_linewidth_tag:
+ }{
+ \if_case:w \l_EQ_alignmentmode_int
+ \or: % #1:
+ \MH_addtolength:dn \l_EQ_temp_linewidth_dim
+ {-\g_EQ_widesttag_dim-\mintagsep}
+ \or: % #2:
+ \MH_addtolength:dn \l_EQ_temp_linewidth_dim
+ {-\g_EQ_widesttag_dim-\mintagsep}%
+ \or: % #3:
+ \MH_addtolength:dn \l_EQ_temp_linewidth_dim
+ {-\g_EQ_widesttag_dim-\mintagsep}
+ \or: % #4:
+ \MH_addtolength:dn \l_EQ_temp_linewidth_dim
+ {-\@mathmargin}
+ \fi:
+ }
+ \else:
+ \MH_if_boolean:nT {multline}{
+ \EQ_multline_modify_linewidth_notag:
+ }
+ \fi:}
+\def\EQ_modify_linewidth_vi:{\EQ_modify_linewidth_v:}
+\def\find_displaywidth_v:{%
+ \MH_setlength:dn
+ \l_EQ_displaywidth_dim{\l_EQ_temp_linewidth_dim}}
+\def\find_displaywidth_vi:{\find_displaywidth_v:}
+\def\EQ_place_display_v:{%
+ \if_case:w \l_EQ_alignmentmode_int
+ \or: % #1:
+ \if_dim:w \g_EQ_widesttag_dim>\z@
+ \MH_if_boolean:nTF {multline}{
+ \rlap{\kern\multlinegap \kern-.5\linewidth
+ \EQ_use_mathdisplay:
+ \kern-\mintagsep \kern\multlinetaggap}%
+ }{
+ \rlap{\kern-.5\linewidth\EQ_use_mathdisplay:}%
+ }
+ \else:
+ \EQ_use_mathdisplay:
+ \fi:
+ \or: % #2:
+ \if_dim:w \g_EQ_widesttag_dim>\z@
+ \MH_if_boolean:nTF {multline}{
+ \llap{\kern-\mintagsep \kern\multlinetaggap
+ \EQ_use_mathdisplay:
+ \kern\multlinegap \kern-.5\linewidth}%
+ }{
+ \llap{\EQ_use_mathdisplay:\kern-.5\linewidth}%
+ }
+ \else:
+ \EQ_use_mathdisplay:
+ \fi:
+ \or: % #3:
+ \MH_if_boolean:nF {multline}{ \kern-\multlinetaggap }
+ \EQ_use_mathdisplay:
+ \or: % #4:
+ \if_dim:w \g_EQ_widesttag_dim>\z@
+ \else:
+ \MH_if_boolean:nF {multline}{ \kern-\@mathmargin }
+ \fi:
+ \EQ_use_mathdisplay:
+ \fi:
+ \MH_set_boolean_F:n {multline}}
+\def\EQ_place_display_vi:{\EQ_place_display_v:}
+\EQ_new_equationtype_arg:nnn {EmphEqEnv}{alignat}{7}
+\EQ_new_equationtype_arg:nnn {EmphEqEnv}{alignat*}{8}
+\def\EQ_modify_linewidth_vii:{}
+\def\EQ_modify_linewidth_viii:{\EQ_modify_linewidth_vii:}
+\def\find_displaywidth_vii:{%
+ \MH_setlength:dn \l_EQ_displaywidth_dim{\totwidth@}%
+ \if_case:w \l_EQ_alignmentmode_int
+ \or: % #1:
+ \or: % #2:
+ \or: % #3:
+ \MH_addtolength:dn \l_EQ_displaywidth_dim{-\eqnshift@}%
+ \or: % #4:
+ \MH_addtolength:dn \l_EQ_displaywidth_dim{-\@mathmargin}%
+ \fi:}
+\def\find_displaywidth_viii:{\find_displaywidth_vii:}
+\def\EQ_place_display_vii:{\EQ_use_mathdisplay:}
+\def\EQ_place_display_viii:{\EQ_place_display_vii:}
+\define@key{\EQ_options_name:}{box}{\def\EQ_outerbox:{#1}}
+\MH_keyval_alias:nnn {\EQ_options_name:}{outerbox}{box}
+\def\EQ_marginbox:nn #1#2{%
+ \settowidth{\@tempdima}{#2}%
+ \makebox[\z@]{\hspace{\@tempdima}#1{#2}}}
+\define@key{\EQ_options_name:}{marginbox}{%
+ \def\EQ_outerbox:{\EQ_marginbox:nn {#1}}}
+\define@key{\EQ_options_name:}{innerbox}{\def\EQ_innerbox:{#1}}
+\define@key{\EQ_options_name:}{left}{\def\EQ_left_side:{#1}}
+\define@key{\EQ_options_name:}{right}{\def\EQ_right_side:{#1}}
+\newcommand*\empheqset[1]{\setkeys{\EQ_options_name:}{#1}}
+\def\EQ_upgrade_error:{%
+ \PackageError{empheq}
+ {You~ are~ using~ the~ old~ syntax!\MessageBreak
+ The~ `empheq'~ environment~ takes~ a~ mandatory~
+ argument~ now.\MessageBreak
+ You~ need~ to~ exit~ and~ change~ your~ source~ file.}
+ {It~ won't~ work,~ trust me.~ Press~ `X'~ now.}}
+\define@key{\EQ_options_name:}{boxtype}{\EQ_upgrade_error:}
+\define@key{\EQ_options_name:}{Left}{\EQ_upgrade_error:}
+\define@key{\EQ_options_name:}{Right}{\EQ_upgrade_error:}
+\newenvironment{empheq}[2][]{%
+ \setkeys{EmphEqEnv}{#2}\setkeys{\EQ_options_name:}{#1}%
+ \EmphEqMainEnv}{\endEmphEqMainEnv}
+\newcommand*\DeclareLeftDelimiter[2][]{%
+ \EQ_declare_left_delimiter:nnnn {#1}{#2}{}{}%
+ \EQ_declare_left_delimiter:nnnn {#1}{#2}{big}{\EQ_innerbox:}}
+\def\EQ_declare_left_delimiter:nnnn #1#2#3#4{%
+ \@namedef{empheq#3\expandafter\@gobble\string#2}{%
+ \left#2%
+ \mkern-\thinmuskip
+ \vphantom{#4{\parbox{.5\maxdimen}{%
+ \EQ_predisplay_adjustment:
+ \EQ_prevent_vertical_space:
+ \usebox{\EQ_tag_box}%
+ \EQ_postdisplay_adjustment:}}}%
+ \right.%
+ \kern-\nulldelimiterspace #1}}
+\newcommand*\DeclareRightDelimiter[2][]{%
+ \EQ_declare_right_delimiter:nnnn {#1}{#2}{}{}%
+ \EQ_declare_right_delimiter:nnnn {#1}{#2}{big}{\EQ_innerbox:}}
+\def\EQ_declare_right_delimiter:nnnn #1#2#3#4{%
+ \@namedef{empheq#3\expandafter\@gobble\string#2}{%
+ \kern-\nulldelimiterspace
+ #1%
+ \left.%
+ \vphantom{#4{\parbox{.5\maxdimen}{%
+ \EQ_predisplay_adjustment:
+ \EQ_prevent_vertical_space:
+ \usebox{\EQ_tag_box}%
+ \EQ_postdisplay_adjustment:}}}%
+ \mkern-\thinmuskip
+ \right#2}}
+\DeclareLeftDelimiter{\lbrace}
+\DeclareRightDelimiter{\rbrace}
+\DeclareLeftDelimiter{\lbrack}
+\DeclareRightDelimiter{\rbrack}
+\DeclareLeftDelimiter{\langle}
+\DeclareRightDelimiter{\rangle}
+\DeclareLeftDelimiter{\lvert}
+\DeclareRightDelimiter{\rvert}
+\DeclareLeftDelimiter{\lVert}
+\DeclareRightDelimiter{\rVert}
+\DeclareLeftDelimiter{\lfloor}
+\DeclareRightDelimiter{\rfloor}
+\DeclareLeftDelimiter{\lceil}
+\DeclareRightDelimiter{\rceil}
+\DeclareLeftDelimiter{\lparen}
+\DeclareRightDelimiter{\rparen}
+\def\EQ_typeset_tags_hook:{}
+\def\EQ_typeset_display_hook:{}
+\g@addto@macro\EQ_typeset_display_hook:{
+ \def\SK@@label#1>#2\SK@{}
+}
+\@namedef{SK@AmSequation} {\SK@equationtrue}
+\@namedef{SK@AmSequation*} {\SK@equationtrue}
+\@namedef{SK@AmSalign} {\SK@equationtrue}
+\@namedef{SK@AmSalign*} {\SK@equationtrue}
+\@namedef{SK@AmSalignat} {\SK@equationtrue}
+\@namedef{SK@AmSalignat*} {\SK@equationtrue}
+\@namedef{SK@AmSgather} {\SK@equationtrue}
+\@namedef{SK@AmSgather*} {\SK@equationtrue}
+\@namedef{SK@AmSmultline} {\SK@equationtrue}
+\@namedef{SK@AmSmultline*} {\SK@equationtrue}
+\@namedef{SK@AmSflalign} {\SK@equationtrue}
+\@namedef{SK@AmSflalign*} {\SK@equationtrue}
+\AtBeginDocument{
+ \@ifundefined{Hy@linkcounter}{\newcount\Hy@linkcounter}{}
+}
+\g@addto@macro\EQ_typeset_display_hook:{
+ \MH_let:NwN \hyper@refstepcounter\@gobble
+}
+\g@addto@macro\EQ_typeset_tags_hook:{
+ \MH_let:NwN\TagsPlusEndmarks\relax
+ \MH_let:NwN\RestoreTags\relax
+}
+\g@addto@macro\EQ_typeset_display_hook:{
+ \MH_let:NwN\TagsPlusEndmarks\relax
+ \MH_let:NwN\RestoreTags\relax
+}
+\g@addto@macro\EQ_typeset_display_hook:{
+ \MH_let:NwN\ltx@label\MT_gobblelabel:w
+ \MH_let:NwN \GenericError \@gobblefour
+}
+\AtBeginDocument{%
+ \@ifpackageloaded{fancybox}{%
+ \@ifpackageloaded{color}{\definecolor{shadowcolor}{rgb}{0,0,0}}%
+ {\newcommand*\textcolor[2]{\normalcolor{#2}}}%
+ \MH_new_boolean:n {shadowbox_star}
+ \renewcommand*\shadowbox{%
+ \@ifstar{\MH_set_boolean_T:n {shadowbox_star}
+ \VerbBox\EQ_shadowbox:n}
+ {\MH_set_boolean_F:n {shadowbox_star}
+ \VerbBox\EQ_shadowbox:n}}
+ \def\EQ_shadowbox:n #1{%
+ \sbox{\z@}{\fbox{#1}}%
+ \MH_if_boolean:nTF {shadowbox_star}{
+ \MH_setlength:dn \@tempdima{\z@}%
+ }{
+ \MH_setlength:dn \@tempdima{\dp\z@+\shadowsize}%
+ }
+ \raisebox{\@tempdima}{%
+ \makebox[\z@][l]{%
+ \kern\shadowsize \textcolor{shadowcolor}{%
+ \rule[-\dp\z@-\shadowsize]{\wd\z@}{\shadowsize}}%
+ }%
+ \usebox\z@\textcolor{shadowcolor}{%
+ \rule[-\dp\z@-\shadowsize]{\shadowsize}{\ht\z@+\dp\z@}}}}%
+ }{}%
+}
+\def\EQ_overload_ams_begin:n #1{%
+ \MH_let:cc {AmS#1}{#1}%
+ \MH_let:cc {AmS#1*}{#1*}
+}
+\def\EQ_overload_ams_end:n #1{%
+ \MH_let:cc {endAmS#1}{endAmSalign}
+}
+\AtBeginDocument{
+ \EQ_overload_ams_begin:n {equation}
+ \MH_let:cc {endAmSequation}{endequation}
+ \MH_let:cc {endAmSequation*}{endequation*}
+ \MH_if_boolean:nT {overload_ams}{
+ \def\EQ_renew_ams_environment:n #1{%
+ \MaybeMHPrecedingSpacesOff
+ \renewenvironment{#1}[1][]{%
+ \setkeys{\EQ_options_name:}{##1}%
+ \setkeys{EmphEqEnv}{AmS#1}%
+ \EmphEqMainEnv
+ }{\endEmphEqMainEnv}
+ \MHPrecedingSpacesOn
+ }
+ \EQ_new_equationtype:nnn {EmphEqEnv}{AmSalign} {1}
+ \EQ_new_equationtype:nnn {EmphEqEnv}{AmSalign*} {2}
+ \EQ_new_equationtype:nnn {EmphEqEnv}{AmSgather} {3}
+ \EQ_new_equationtype:nnn {EmphEqEnv}{AmSgather*} {4}
+ \EQ_new_equationtype:nnn {EmphEqEnv}{AmSflalign} {5}
+ \EQ_new_equationtype:nnn {EmphEqEnv}{AmSflalign*}{6}
+ \EQ_new_equationtype_arg:nnn {EmphEqEnv}{AmSalignat} {7}
+ \EQ_new_equationtype_arg:nnn {EmphEqEnv}{AmSalignat*}{8}
+ \EQ_overload_ams_begin:n {gather}
+ \MH_let:cc {endAmSgather}{endgather}
+ \MH_let:cc {endAmSgather*}{endAmSgather}
+ \EQ_renew_ams_environment:n {gather}
+ \EQ_renew_ams_environment:n {gather*}
+ \EQ_overload_ams_begin:n {equation}
+ \MH_keyval_alias_with_addon:nnnn {EmphEqEnv} {AmSequation}
+ {AmSgather}{\EQ_disable_linebreak:}
+ \MH_keyval_alias_with_addon:nnnn {EmphEqEnv}{AmSequation*}
+ {AmSgather*}{\EQ_disable_linebreak:}
+ \EQ_renew_ams_environment:n {equation}
+ \EQ_renew_ams_environment:n {equation*}
+ \EQ_overload_ams_begin:n {align}
+ \MH_let:cc {endAmSalign}{endalign}
+ \EQ_overload_ams_end:n {align*}
+ \EQ_renew_ams_environment:n {align}
+ \EQ_renew_ams_environment:n {align*}
+ \EQ_overload_ams_begin:n {flalign}
+ \EQ_overload_ams_end:n {flalign}
+ \EQ_overload_ams_end:n {flalign*}
+ \EQ_renew_ams_environment:n {flalign}
+ \EQ_renew_ams_environment:n {flalign*}
+ \EQ_overload_ams_begin:n {alignat}
+ \EQ_overload_ams_end:n {alignat}
+ \EQ_overload_ams_end:n {alignat*}
+ \MaybeMHPrecedingSpacesOff
+ \newcommand*\EQ_alignat_optional:w [1][]{
+ \setkeys{\EQ_options_name:}{#1}
+ \EmphEqMainEnv}
+ \MHPrecedingSpacesOn
+ \renewenvironment{alignat}[1]{
+ \setkeys{EmphEqEnv}{AmSalignat=#1}
+ \EQ_alignat_optional:w}
+ {\endEmphEqMainEnv}
+ \renewenvironment{alignat*}[1]{%
+ \setkeys{EmphEqEnv}{AmSalignat*=#1}%
+ \EQ_alignat_optional:w}%
+ {\endEmphEqMainEnv}
+ \DeclareRobustCommand{\[}{\begin{AmSequation*}}
+ \DeclareRobustCommand{\]}{\end{AmSequation*}}
+ \MH_keyval_alias:nnn {EmphEqEnv}{gather} {AmSgather}
+ \MH_keyval_alias:nnn {EmphEqEnv}{gather*} {AmSgather*}
+ \MH_keyval_alias:nnn {EmphEqEnv}{align} {AmSalign}
+ \MH_keyval_alias:nnn {EmphEqEnv}{align*} {AmSalign*}
+ \MH_keyval_alias:nnn {EmphEqEnv}{flalign} {AmSflalign}
+ \MH_keyval_alias:nnn {EmphEqEnv}{flalign*}{AmSflalign*}
+ \MH_keyval_alias:nnn {EmphEqEnv}{alignat} {AmSalignat}
+ \MH_keyval_alias:nnn {EmphEqEnv}{alignat*}{AmSalignat*}
+ \MH_if_boolean:nT {good_mult}{
+ \EQ_overload_ams_begin:n {multline}
+ \MH_let:cc {endAmSmultline}{endmultline}
+ \MH_let:cc {endAmSmultline*}{endAmSmultline}
+ \MH_keyval_alias_with_addon:nnnn {EmphEqEnv}{AmSmultline}
+ {AmSgather}{\MH_set_boolean_T:n {outer_mult}}
+ \MH_keyval_alias_with_addon:nnnn {EmphEqEnv}{AmSmultline*}
+ {AmSgather*}{\MH_set_boolean_T:n {outer_mult}}
+ \EQ_renew_ams_environment:n {multline}
+ \EQ_renew_ams_environment:n {multline*}
+ }
+ \MH_if_boolean:nT {overload_amsII}{
+ \MH_protected:\def\[#1\]{\begin{equation*} #1\end{equation*}}
+ \MH_if_boolean:nF {good_mult}{
+ \EQ_overload_ams_begin:n {multline}
+ \MH_keyval_alias_with_addon:nnnn {EmphEqEnv}{AmSmultline}
+ {AmSflalign}{\MH_set_boolean_T:n {multline}}
+ \MH_keyval_alias_with_addon:nnnn {EmphEqEnv}{AmSmultline*}
+ {AmSflalign*}{\MH_set_boolean_T:n {multline}}
+ \EQ_renew_ams_environment:n {multline}
+ \EQ_renew_ams_environment:n {multline*}
+ }
+ }
+ }
+}
+\endinput
+%%
+%% End of file `empheq.sty'.
diff --git a/Master/texmf-dist/tex/latex/mh/empheq07.sty b/Master/texmf-dist/tex/latex/mh/empheq07.sty
new file mode 100644
index 00000000000..2ca5134e715
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mh/empheq07.sty
@@ -0,0 +1,752 @@
+%%
+%% This is file `empheq07.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% empheq07.dtx (with options: `package')
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% The Current Maintainer of this work is Morten H\o gholm.
+%%
+%% This work consists of the files empheq07.dtx and empheq07.ins and
+%% the derived file empheq07.sty.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{empheq07}
+ [2004/07/27 v0.7d Emphasizing equations (MH)]
+\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{amsmath}}
+\ProcessOptions\relax
+\RequirePackage{amsmath}[2000/07/18]
+\RequirePackage{calc,keyval}
+\newif\if@emphEQ@FLL
+\newif\if@emphEQ@FLR
+\newif\if@emphEQ@L
+\newif\if@emphEQ@R
+\if@fleqn
+ \iftagsleft@
+ \@emphEQ@FLLtrue
+ \else
+ \@emphEQ@FLRtrue
+ \fi
+\else
+ \iftagsleft@
+ \@emphEQ@Ltrue
+ \else
+ \@emphEQ@Rtrue
+ \fi
+\fi
+\newif\if@emphEQ@gather
+\newif\if@emphEQ@align
+\newif\if@emphEQ@alignat
+\newif\if@emphEQ@multline
+\newif\if@emphEQ@NoNumEq
+\newsavebox{\@emphEQ@Box}
+\newlength{\@emphEQ@BoxWidth}
+\newlength{\@emphEQ@displaywidth}
+\newtoks\@emphEQ@mathbody
+\newcommand{\@emphEQ@Left}{}
+\newcommand{\@emphEQ@Right}{}
+\newlength{\@emphEQ@lwd}
+\newlength{\@emphEQ@rwd}
+\newcommand{\@emphEQ@boxtype}{}
+\newlength{\@emphEQ@boxtypelength}
+\AtBeginDocument{%
+ \@ifpackageloaded{fancybox}{}{%
+ \let\shadowbox=\fbox}}
+\newcommand{\@emphEQ@shadowbox}{\shadowbox}
+\newif\if@emphEQ@shadowbox
+\newlength{\@emphEQ@templength}
+\newcounter{@emphEQ@EqCtr}
+\newcommand{\@emphEQ@CloseEnough}[4]{%
+ \setlength{\@tempdima}{#1-#2}%
+ \ifdim\@tempdima>-5sp
+ \ifdim\@tempdima<5sp
+ #3
+ \else
+ #4
+ \fi
+ \else
+ #4
+ \fi
+}
+\def\@emphEQ@MainEnv{%
+ \edef\@emphEQ@EnvName{\@currenvir}%
+ {\ifnum0=`}\fi
+ \@emphEQ@mathbody{}\@emphEQ@get@body
+}
+\let\end@emphEQ@MainEnv\relax
+\long\def\@emphEQ@get@body#1\end{%
+ \@emphEQ@mathbody\expandafter{\the\@emphEQ@mathbody #1}%
+ \@emphEQ@findend
+}
+\def\@emphEQ@findend#1{%
+ \def\@tempa{#1}%
+ \ifx\@tempa\@emphEQ@EnvName
+ \expandafter\@emphEQ@PostProcess
+ \else
+ \@emphEQ@mathbody\expandafter{\the\@emphEQ@mathbody\end{#1}}%
+ \expandafter\@emphEQ@get@body
+ \fi
+}
+\def\@emphEQ@EnvName{@emphEQ@MainEnv}
+\newcommand*{\@emphEQ@PostProcess}{%
+ \ifx\@emphEQ@boxtype\@emphEQ@shadowbox
+ \@emphEQ@shadowboxtrue
+ \else
+ \@emphEQ@shadowboxfalse
+ \fi
+ \tagshift@=0pt \tagwidth@=0pt \totwidth@=0pt
+ \eqnshift@=0pt \alignsep@=0pt
+ \setcounter{@emphEQ@EqCtr}{\value{equation}}%
+ \begin{lrbox}{\@emphEQ@Box}%
+ \begin{minipage}{\linewidth}%
+ \vskip-\abovedisplayskip\relax\vskip-1pt\relax
+ \the\@emphEQ@mathbody
+ \end{minipage}%
+ \end{lrbox}%
+ \ifnum\value{equation}=\value{@emphEQ@EqCtr}%
+ \ifdim\tagwidth@>0pt
+ \else
+ \@emphEQ@NoNumEqtrue
+ \fi
+ \else
+ \setcounter{equation}{\value{@emphEQ@EqCtr}}%
+ \fi
+ \settowidth{\@emphEQ@boxtypelength}{\@emphEQ@boxtype{}}%
+ \if@emphEQ@FLL % fleqn and leqno
+ \ifdim\alignsep@>0pt % => align
+ \@emphEQ@aligntrue
+ \setlength{\@emphEQ@displaywidth}{\tagshift@-\@mathmargin}%
+ \else
+ \ifdim\eqnshift@=0pt % => multline %tagwidth@>
+ \@emphEQ@multlinetrue
+ \if@emphEQ@NoNumEq
+ \setlength{\@emphEQ@displaywidth}{%
+ \linewidth-\multlinegap-\@mathmargin
+ -\@emphEQ@boxtypelength}%
+ \else
+ \setlength{\@emphEQ@displaywidth}{%
+ \linewidth-\tagwidth@-\multlinegap
+ -\multlinetaggap-\@emphEQ@boxtypelength}%
+ \fi
+ \else
+ \ifdim\tagshift@=0pt % => gather
+ \@emphEQ@gathertrue
+ \setlength{\@emphEQ@displaywidth}{%
+ \totwidth@-\@mathmargin}%
+ \else
+ \ifdim\tagshift@=\totwidth@ % => alignat
+ \@emphEQ@alignattrue
+ \setlength{\@emphEQ@displaywidth}{%
+ \totwidth@-\@mathmargin}%
+ \else
+ %Nothing thus far...
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \if@emphEQ@FLR % fleqn and reqno
+ \ifdim\alignsep@>0pt % => align
+ \@emphEQ@aligntrue
+ \setlength{\@emphEQ@displaywidth}{%
+ \linewidth-\@mathmargin+\tagshift@}%
+ \else
+ \ifdim\eqnshift@=0pt % => multline
+ \@emphEQ@multlinetrue
+ \if@emphEQ@NoNumEq
+ \setlength{\@emphEQ@displaywidth}{%
+ \linewidth-\multlinegap-\@mathmargin
+ -\@emphEQ@boxtypelength}%
+ \else
+ \setlength{\@emphEQ@displaywidth}{%
+ \linewidth-\tagwidth@-\@mathmargin
+ -\multlinetaggap-\@emphEQ@boxtypelength}%
+ \fi
+ \else
+ \ifdim\tagshift@=0pt % => gather
+ \@emphEQ@gathertrue
+ \setlength{\@emphEQ@displaywidth}{%
+ \totwidth@-\@mathmargin}%
+ \else
+ \@emphEQ@CloseEnough{\totwidth@-\tagshift@}%
+ {\linewidth}%
+ {\@emphEQ@alignattrue
+ \setlength{\@emphEQ@displaywidth}%
+ {\totwidth@-\eqnshift@}}{}%
+ \fi
+ \fi
+ \fi
+ \fi
+ \if@emphEQ@R % reqno
+ \ifdim\alignsep@>0pt % => align
+ \@emphEQ@aligntrue
+ \setlength{\@emphEQ@displaywidth}{\totwidth@}%
+ \else
+ \ifdim\eqnshift@=0pt % => multline
+ \@emphEQ@multlinetrue
+ \if@emphEQ@NoNumEq
+ \setlength{\@emphEQ@displaywidth}{%
+ \linewidth-2\multlinegap
+ -\@emphEQ@boxtypelength}%
+ \else
+ \setlength{\@emphEQ@displaywidth}{%
+ \linewidth-\tagwidth@-\multlinegap
+ -\multlinetaggap-\@emphEQ@boxtypelength}%
+ \fi
+ \else
+ \ifdim\tagshift@=0pt % => gather
+ \@emphEQ@gathertrue
+ \setlength{\@emphEQ@displaywidth}{\totwidth@}%
+ \else
+ \@emphEQ@CloseEnough{\tagshift@}{-\eqnshift@}%
+ {\@emphEQ@alignattrue
+ \setlength{\@emphEQ@displaywidth}{\totwidth@}}{}%
+ \fi
+ \fi
+ \fi
+ \fi
+ \if@emphEQ@L % leqno
+ \ifdim\alignsep@>0pt % => align
+ \@emphEQ@aligntrue
+ \setlength{\@emphEQ@displaywidth}{\totwidth@}%
+ \else
+ \ifdim\eqnshift@=0pt % => multline
+ \@emphEQ@multlinetrue
+ \if@emphEQ@NoNumEq
+ \setlength{\@emphEQ@displaywidth}{%
+ \linewidth-2\multlinegap
+ -\@emphEQ@boxtypelength}%
+ \else
+ \setlength{\@emphEQ@displaywidth}{%
+ \linewidth-\tagwidth@-\multlinegap
+ -\multlinetaggap-\@emphEQ@boxtypelength}%
+ \fi
+ \else
+ \ifdim\tagshift@=0pt % => gather
+ \@emphEQ@gathertrue
+ \setlength{\@emphEQ@displaywidth}{\totwidth@}%
+ \else
+ \@emphEQ@CloseEnough{%
+ \linewidth-\eqnshift@}{\tagshift@}{%
+ \@emphEQ@alignattrue
+ \setlength{\@emphEQ@displaywidth}{\totwidth@}}%
+ {}%
+ \fi
+ \fi
+ \fi
+ \fi
+ \settowidth{\@emphEQ@lwd}{${\@emphEQ@Left}%
+ {\vphantom{\usebox{\@emphEQ@Box}}}$}%
+ \settowidth{\@emphEQ@rwd}{${\vphantom{\usebox{\@emphEQ@Box}}}%
+ {\@emphEQ@Right}$}%
+ \begin{lrbox}{\@emphEQ@Box}%
+ \if@emphEQ@shadowbox
+ \addtolength{\@emphEQ@boxtypelength}{-\shadowsize}%
+ \fi
+ \if@emphEQ@align
+ \if@emphEQ@FLL
+ \begin{minipage}{\linewidth+\@emphEQ@lwd
+ +.5\@emphEQ@boxtypelength}%
+ \addtolength{\@mathmargin}{\@emphEQ@lwd
+ +.5\@emphEQ@boxtypelength}%%
+ \fi
+ \if@emphEQ@FLR
+ \begin{minipage}{\linewidth}%
+ \addtolength{\@mathmargin}{\@emphEQ@lwd
+ +.5\@emphEQ@boxtypelength}%%
+ \fi
+ \if@emphEQ@L
+ \begin{minipage}{\linewidth+\@emphEQ@lwd-\@emphEQ@rwd}%
+ \fi
+ \if@emphEQ@R
+ \begin{minipage}{\linewidth-\@emphEQ@lwd+\@emphEQ@rwd}%
+ \fi
+ \fi
+ \if@emphEQ@gather
+ \if@emphEQ@FLL
+ \begin{minipage}{\linewidth+\@emphEQ@lwd
+ +.5\@emphEQ@boxtypelength}%
+ \addtolength{\@mathmargin}{\@emphEQ@lwd
+ +.5\@emphEQ@boxtypelength}%%
+ \fi
+ \if@emphEQ@FLR
+ \begin{minipage}{\linewidth}%
+ \addtolength{\@mathmargin}{\@emphEQ@lwd
+ +.5\@emphEQ@boxtypelength}%%
+ \fi
+ \if@emphEQ@R
+ \setlength{\@emphEQ@templength}{\linewidth-\totwidth@
+ -\eqnshift@}%
+ \begin{minipage}{\linewidth-\@emphEQ@lwd+\@emphEQ@rwd
+ +\@emphEQ@templength-\eqnshift@}%
+ \fi
+ \if@emphEQ@L
+ \setlength{\@emphEQ@templength}{\linewidth-\totwidth@
+ -\eqnshift@}%
+ \begin{minipage}{\linewidth+\@emphEQ@lwd-\@emphEQ@rwd
+ -\@emphEQ@templength+\eqnshift@}%
+ \fi
+ \fi
+ \if@emphEQ@alignat
+ \if@emphEQ@FLL
+ \begin{minipage}{\linewidth+\@emphEQ@lwd
+ +.5\@emphEQ@boxtypelength}%
+ \addtolength{\@mathmargin}{\@emphEQ@lwd
+ +.5\@emphEQ@boxtypelength}%%
+ \fi
+ \if@emphEQ@FLR
+ \begin{minipage}{\linewidth}%
+ \addtolength{\@mathmargin}{\@emphEQ@lwd
+ +.5\@emphEQ@boxtypelength}%%
+ \fi
+ \if@emphEQ@L
+ \begin{minipage}{\linewidth+\@emphEQ@lwd-\@emphEQ@rwd}%
+ \fi
+ \if@emphEQ@R
+ \begin{minipage}{\linewidth-\@emphEQ@lwd+\@emphEQ@rwd}%
+ \fi
+ \fi
+ \if@emphEQ@multline
+ \if@emphEQ@FLL
+ \begin{minipage}{\linewidth}%
+ \if@emphEQ@NoNumEq
+ \addtolength{\@mathmargin}{\@emphEQ@lwd
+ +.5\@emphEQ@boxtypelength}%
+ \if@emphEQ@shadowbox
+ \addtolength{\@mathmargin}{\shadowsize}
+ \fi%
+ \else
+ \addtolength{\multlinetaggap}{\@emphEQ@lwd
+ +.5\@emphEQ@boxtypelength}%
+ \if@emphEQ@shadowbox
+ \addtolength{\multlinegap}{\shadowsize}%
+ \fi
+ \fi
+ \addtolength{\multlinegap}{\@emphEQ@rwd
+ +.5\@emphEQ@boxtypelength}%
+ \fi
+ \if@emphEQ@FLR
+ \begin{minipage}{\linewidth}%
+ \if@emphEQ@NoNumEq
+ \addtolength{\multlinegap}{\@emphEQ@rwd
+ +.5\@emphEQ@boxtypelength}%
+ \if@emphEQ@shadowbox
+ \addtolength{\multlinegap}{\shadowsize}%
+ \fi
+ \else
+ \addtolength{\multlinetaggap}{\@emphEQ@rwd
+ +.5\@emphEQ@boxtypelength}%
+ \if@emphEQ@shadowbox
+ \addtolength{\multlinetaggap}{\shadowsize}%
+ \fi
+ \fi
+ \addtolength{\@mathmargin}{\@emphEQ@lwd
+ +.5\@emphEQ@boxtypelength}%
+ \fi
+ \if@emphEQ@L
+ \begin{minipage}{\linewidth}%
+ \if@emphEQ@NoNumEq
+ \addtolength{\multlinegap}{.5\@emphEQ@rwd
+ +.5\@emphEQ@lwd+.5\@emphEQ@boxtypelength}%
+ \if@emphEQ@shadowbox
+ \addtolength{\multlinegap}{.5\shadowsize}%
+ \fi
+ \else
+ \addtolength{\multlinetaggap}{\@emphEQ@lwd
+ +.5\@emphEQ@boxtypelength}%
+ \addtolength{\multlinegap}{\@emphEQ@rwd
+ +.5\@emphEQ@boxtypelength}%
+ \if@emphEQ@shadowbox
+ \addtolength{\multlinegap}{\shadowsize}%
+ \fi
+ \fi
+ \fi
+ \if@emphEQ@R
+ \begin{minipage}{\linewidth}%
+ \if@emphEQ@NoNumEq
+ \addtolength{\multlinegap}{.5\@emphEQ@rwd
+ +.5\@emphEQ@lwd+.5\@emphEQ@boxtypelength}%
+ \if@emphEQ@shadowbox
+ \addtolength{\multlinegap}{.5\shadowsize}
+ \fi
+ \else
+ \addtolength{\multlinetaggap}{\@emphEQ@rwd
+ +.5\@emphEQ@boxtypelength}%
+ \addtolength{\multlinegap}{\@emphEQ@lwd
+ +.5\@emphEQ@boxtypelength}%
+ \if@emphEQ@shadowbox
+ \addtolength{\multlinetaggap}{\shadowsize}
+ \fi
+ \fi
+ \fi
+ \fi
+ \vskip-\abovedisplayskip\relax\vskip-1pt\relax
+ \the\@emphEQ@mathbody
+ \end{minipage}%
+ \end{lrbox}%
+\setlength{\@emphEQ@BoxWidth}{\@emphEQ@displaywidth+\@emphEQ@rwd
+ +\@emphEQ@lwd}%
+\if@emphEQ@align
+ \if@emphEQ@FLL
+ \savebox{\@emphEQ@Box}{\makebox[\@emphEQ@BoxWidth][l]{%
+ \if@emphEQ@shadowbox \kern.5\shadowsize \fi
+ $\@emphEQ@Left$%
+ \kern-.5\@emphEQ@boxtypelength%
+ \kern-\@mathmargin
+ \kern-\@emphEQ@lwd
+ \usebox{\@emphEQ@Box}%
+ \kern-\@emphEQ@displaywidth
+ \kern-\@emphEQ@rwd
+ \kern-\@emphEQ@lwd
+ $\@emphEQ@Right$}}%
+ \fi
+ \if@emphEQ@FLR
+ \savebox{\@emphEQ@Box}{\makebox[\@emphEQ@BoxWidth][l]{%
+ \if@emphEQ@shadowbox \kern.5\shadowsize \fi
+ $\@emphEQ@Left$%
+ \kern-.5\@emphEQ@boxtypelength%
+ \kern-\@mathmargin
+ \kern-\@emphEQ@lwd
+ \usebox{\@emphEQ@Box}%
+ \kern-\alignsep@
+ $\@emphEQ@Right$}}%
+ \fi
+ \if@emphEQ@L
+ \savebox{\@emphEQ@Box}{\makebox[\@emphEQ@BoxWidth][c]{%
+ %\kern\eqnshift@
+ %\kern-\alignsep@
+ $\@emphEQ@Left$%
+ \kern-\eqnshift@
+ %\kern-\alignsep@
+ \usebox{\@emphEQ@Box}%
+ %\kern-\eqnshift@
+ \kern-\alignsep@
+ $\@emphEQ@Right$}}%
+ \fi
+ \if@emphEQ@R
+ \savebox{\@emphEQ@Box}{\makebox[\@emphEQ@BoxWidth][c]{%
+ $\@emphEQ@Left$%
+ \kern-\eqnshift@
+ \usebox{\@emphEQ@Box}%
+ \kern-\eqnshift@
+ $\@emphEQ@Right$}}%
+ \fi
+\fi
+\if@emphEQ@alignat
+ \if@emphEQ@FLL
+ \savebox{\@emphEQ@Box}{\makebox[\@emphEQ@BoxWidth][l]{%
+ \if@emphEQ@shadowbox \kern.5\shadowsize \fi
+ $\@emphEQ@Left$%
+ \kern-.5\@emphEQ@boxtypelength
+ \kern-\@mathmargin
+ \kern-\@emphEQ@lwd
+ \usebox{\@emphEQ@Box}%
+ \kern\@mathmargin
+ \kern\@emphEQ@displaywidth
+ \kern-\linewidth
+ $\@emphEQ@Right$}}%
+ \fi
+ \if@emphEQ@FLR
+ \savebox{\@emphEQ@Box}{\makebox[\@emphEQ@BoxWidth][l]{%
+ \if@emphEQ@shadowbox \kern.5\shadowsize \fi
+ $\@emphEQ@Left$%
+ \kern-.5\@emphEQ@boxtypelength
+ \kern-\@mathmargin
+ \kern-\@emphEQ@lwd
+ \usebox{\@emphEQ@Box}%
+ \kern\@mathmargin
+ \kern\@emphEQ@displaywidth
+ \kern-\linewidth
+ \kern\@emphEQ@lwd
+ \kern.5\@emphEQ@boxtypelength
+ $\@emphEQ@Right$}}%
+ \fi
+ \if@emphEQ@L
+ \savebox{\@emphEQ@Box}{\makebox[\@emphEQ@BoxWidth][c]{%
+ $\@emphEQ@Left$%
+ \kern-\eqnshift@
+ \usebox{\@emphEQ@Box}%
+ \kern-\eqnshift@
+ $\@emphEQ@Right$}}%
+ \fi
+ \if@emphEQ@R
+ \savebox{\@emphEQ@Box}{\makebox[\@emphEQ@BoxWidth][c]{%
+ $\@emphEQ@Left$%
+ \kern-\eqnshift@
+ \usebox{\@emphEQ@Box}%
+ \kern-\eqnshift@
+ $\@emphEQ@Right$}}%
+ \fi
+\fi
+\if@emphEQ@gather
+ \if@emphEQ@FLL
+ \savebox{\@emphEQ@Box}{\makebox[\@emphEQ@BoxWidth][l]{%
+ \if@emphEQ@shadowbox \kern.5\shadowsize \fi
+ $\@emphEQ@Left$%
+ \kern-.5\@emphEQ@boxtypelength
+ \kern-\@mathmargin
+ \kern-\@emphEQ@lwd
+ \usebox{\@emphEQ@Box}%
+ \kern-\linewidth
+ \kern\@mathmargin
+ \kern\@emphEQ@displaywidth
+ $\@emphEQ@Right$}}%
+ \fi
+ \if@emphEQ@FLR
+ \savebox{\@emphEQ@Box}{\makebox[\@emphEQ@BoxWidth][l]{%
+ \if@emphEQ@shadowbox \kern.5\shadowsize
+ \fi
+ $\@emphEQ@Left$%
+ \kern-.5\@emphEQ@boxtypelength
+ \kern-\@mathmargin
+ \kern-\@emphEQ@lwd
+ \usebox{\@emphEQ@Box}%
+ \kern-\linewidth
+ \kern.5\@emphEQ@boxtypelength
+ \kern\@mathmargin
+ \kern\@emphEQ@displaywidth
+ \kern\@emphEQ@lwd
+ $\@emphEQ@Right$}}%
+ \fi
+ \if@emphEQ@L
+ \setlength{\tagwidth@}{\eqnshift@+\@emphEQ@rwd}%
+ \setlength{\@emphEQ@templength}{\linewidth-\totwidth@
+ -\eqnshift@}%
+ \savebox{\@emphEQ@Box}{\makebox[\@emphEQ@BoxWidth][c]{%
+ \ifdim\@emphEQ@templength<\tagwidth@
+ \setlength{\tagwidth@}{\@emphEQ@templength
+ +\@emphEQ@lwd}%
+ \ifdim\tagwidth@<\eqnshift@
+ \kern-\@emphEQ@templength
+ \kern\eqnshift@
+ \fi
+ \else
+ \kern-\@emphEQ@lwd
+ \kern\@emphEQ@rwd
+ \kern-\@emphEQ@templength
+ \kern\eqnshift@
+ \fi
+ $\@emphEQ@Left$%
+ \kern-\eqnshift@
+ \usebox{\@emphEQ@Box}%
+ %\kern-\eqnshift@
+ \kern-\@emphEQ@lwd
+ \kern\@emphEQ@rwd
+ \kern-\@emphEQ@templength
+ $\@emphEQ@Right$}}%
+ \fi
+ \if@emphEQ@R
+ \setlength{\tagwidth@}{\eqnshift@+\@emphEQ@rwd}%
+ \setlength{\@emphEQ@templength}{\linewidth-\totwidth@
+ -\eqnshift@}%
+ \savebox{\@emphEQ@Box}{\makebox[\@emphEQ@BoxWidth][c]{%
+ \kern-\@emphEQ@lwd
+ \kern\@emphEQ@rwd
+ \kern\@emphEQ@templength
+ \kern-\eqnshift@
+ $\@emphEQ@Left$%
+ \ifdim\@emphEQ@templength>\tagwidth@
+ \kern-\eqnshift@
+ \else
+ \kern\@emphEQ@lwd
+ \kern-\@emphEQ@rwd
+ \kern-\@emphEQ@templength
+ \fi
+ \usebox{\@emphEQ@Box}%
+ \kern-\eqnshift@
+ $\@emphEQ@Right$}}%
+ \fi
+\fi
+\if@emphEQ@multline
+ \if@emphEQ@FLL
+ \savebox{\@emphEQ@Box}{\makebox[\@emphEQ@displaywidth][l]{%
+ \if@emphEQ@shadowbox \kern.5\shadowsize \fi
+ $\@emphEQ@Left$%
+ \kern-.5\@emphEQ@boxtypelength
+ \kern-\@emphEQ@lwd
+ \if@emphEQ@NoNumEq
+ \if@emphEQ@shadowbox \kern-\shadowsize \fi
+ \kern-\@mathmargin
+ \else
+ \kern-\tagwidth@
+ \kern-\multlinetaggap
+ \fi
+ \usebox{\@emphEQ@Box}%
+ \kern-\@emphEQ@boxtypelength
+ \if@emphEQ@NoNumEq
+ \kern-\multlinegap
+ \else
+ \kern\multlinegap
+ \fi
+ \kern-\@emphEQ@rwd
+ \kern-\@emphEQ@lwd
+ \kern-\@mathmargin
+ $\@emphEQ@Right$}}%
+ \fi
+ \if@emphEQ@FLR
+ \savebox{\@emphEQ@Box}{\makebox[\@emphEQ@displaywidth][l]{%
+ \if@emphEQ@shadowbox \kern.5\shadowsize \fi
+ $\@emphEQ@Left$%
+ \kern-.5\@emphEQ@boxtypelength
+ \kern-\@emphEQ@lwd
+ \kern-\@mathmargin
+ \usebox{\@emphEQ@Box}%
+ \kern-\@emphEQ@boxtypelength
+ \kern-\@emphEQ@rwd
+ \kern-\@emphEQ@lwd
+ \if@emphEQ@NoNumEq
+ \kern-\multlinegap
+ \else
+ \kern-\multlinetaggap
+ \fi
+ \kern-\@mathmargin
+ \kern-\tagwidth@
+ $\@emphEQ@Right$}}%
+ \fi
+ \if@emphEQ@L
+ \savebox{\@emphEQ@Box}{\makebox[\@emphEQ@displaywidth][l]{%
+ \if@emphEQ@shadowbox \kern.5\shadowsize \fi
+ $\@emphEQ@Left$%
+ \kern-.5\@emphEQ@boxtypelength
+ \kern-\@emphEQ@lwd
+ \if@emphEQ@NoNumEq
+ \kern-\multlinegap
+ \kern.5\@emphEQ@lwd
+ \kern-.5\@emphEQ@rwd
+ \if@emphEQ@shadowbox \kern-.5\shadowsize \fi
+ \else
+ \kern-\multlinetaggap
+ \kern-\tagwidth@
+ \fi
+ \usebox{\@emphEQ@Box}%
+ \kern-.5\@emphEQ@boxtypelength
+ \if@emphEQ@NoNumEq
+ \kern.5\@emphEQ@rwd
+ \kern-.5\@emphEQ@lwd
+ \fi
+ \kern-\@emphEQ@rwd
+ \kern-\multlinegap
+ $\@emphEQ@Right$}}%
+ \fi
+ \if@emphEQ@R
+ \savebox{\@emphEQ@Box}{\makebox[\@emphEQ@displaywidth][l]{%
+ \if@emphEQ@shadowbox \kern.5\shadowsize \fi
+ $\@emphEQ@Left$%
+ \kern-.5\@emphEQ@boxtypelength
+ \if@emphEQ@NoNumEq
+ \if@emphEQ@shadowbox \kern-.5\shadowsize \fi
+ \kern-.5\@emphEQ@rwd
+ \kern.5\@emphEQ@lwd
+ \fi
+ \kern-\@emphEQ@lwd
+ \kern-\multlinegap
+ \usebox{\@emphEQ@Box}%
+ \kern-.5\@emphEQ@boxtypelength
+ \kern-\@emphEQ@rwd
+ \if@emphEQ@NoNumEq
+ \kern-\multlinegap
+ \kern-.5\@emphEQ@lwd
+ \kern.5\@emphEQ@rwd
+ \else
+ \kern-\multlinetaggap
+ \fi
+ \kern-\tagwidth@
+ $\@emphEQ@Right$}}%
+ \fi
+\fi
+\[
+ \if@emphEQ@align
+ \if@emphEQ@L
+ \kern-\alignsep@
+ \kern\eqnshift@
+ \fi
+ \fi
+ \if@emphEQ@gather
+ \if@emphEQ@L
+ \kern-\@emphEQ@templength
+ \kern\eqnshift@
+ \kern\@emphEQ@rwd
+ \kern-\@emphEQ@lwd
+ \fi
+ \if@emphEQ@R
+ \setlength{\tagwidth@}{\eqnshift@+\@emphEQ@rwd}%
+ \ifdim\@emphEQ@templength>\tagwidth@
+ \kern-\@emphEQ@templength
+ \kern\eqnshift@
+ \kern\@emphEQ@lwd
+ \else
+ \kern\@emphEQ@templength
+ \kern-\eqnshift@
+ \kern\@emphEQ@rwd
+ \kern-\@emphEQ@lwd
+ \fi
+ \fi
+ \fi
+ \if@emphEQ@multline
+ \if@emphEQ@NoNumEq
+ % naught
+ \else
+ \if@emphEQ@FLL
+ \kern-\@mathmargin
+ \kern\tagwidth@
+ \kern\multlinetaggap
+ \fi
+ \if@emphEQ@L
+ \kern\tagwidth@
+ \kern\multlinetaggap
+ \kern-\multlinegap
+ \fi
+ \if@emphEQ@R
+ \kern-\tagwidth@
+ \kern-\multlinetaggap
+ \kern\multlinegap
+ \fi
+ \fi
+ \else
+ \if@emphEQ@shadowbox
+ \if@emphEQ@R
+ \kern\shadowsize
+ \fi
+ \if@emphEQ@L
+ \kern\shadowsize
+ \fi
+ \fi
+ \fi
+ \@emphEQ@boxtype{\usebox{\@emphEQ@Box}}%
+ \gdef\@emphEQ@Left{}\gdef\@emphEQ@Right{}%
+ \gdef\@emphEQ@boxtype{}%
+ \]%
+ \ifnum0=`{\fi}%
+ \expandafter\end\expandafter{\@emphEQ@EnvName}%
+}
+\define@key{empheq}{boxtype}{\renewcommand\@emphEQ@boxtype{#1}}
+\define@key{empheq}{Left}{\def\@emphEQ@Left{#1}}
+\define@key{empheq}{Right}{\def\@emphEQ@Right{#1}}
+\newenvironment{empheq}[1][]{\setkeys{empheq}{#1}\@emphEQ@MainEnv}%
+ {\end@emphEQ@MainEnv\ignorespacesafterend}%
+\newcommand{\DeclareLeftDelimiter}[2][\!]{%
+ \@namedef{empheq\expandafter\@gobble\string#2}{
+ \left#2
+ \vphantom{\usebox{\@emphEQ@Box}}%
+ \right.#1}}
+\newcommand{\DeclareRightDelimiter}[2][\!]{%
+ \@namedef{empheq\expandafter\@gobble\string#2}{%
+ #1\left.
+ \vphantom{\usebox{\@emphEQ@Box}}%
+ \right#2}}%
+\DeclareRightDelimiter{\rbrace}
+\DeclareLeftDelimiter{\lbrace}
+\endinput
+%%
+%% End of file `empheq07.sty'.
diff --git a/Master/texmf-dist/tex/latex/mh/mathtools.sty b/Master/texmf-dist/tex/latex/mh/mathtools.sty
new file mode 100644
index 00000000000..e91b6692726
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mh/mathtools.sty
@@ -0,0 +1,1063 @@
+%%
+%% This is file `mathtools.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% mathtools.dtx (with options: `package')
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% The Current Maintainer of this work is Morten H\o gholm.
+%%
+%% This work consists of the files mathtools.dtx and mathtools.ins
+%% and the derived file mathtools.sty.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{mathtools}
+ [2004/10/10 v1.01a mathematical typesetting tools (MH)]
+\RequirePackage{keyval,calc}
+\RequirePackage{mhsetup}[2004/10/10]
+\MHInternalSyntaxOn
+\def\MT_options_name:{mathtools}
+\newcommand*\mathtoolsset[1]{\setkeys{\MT_options_name:}{#1}}
+\MH_new_boolean:n {fixamsmath}
+\DeclareOption{fixamsmath}{
+ \MH_set_boolean_T:n {fixamsmath}
+}
+\DeclareOption{donotfixamsmathbugs}{
+ \MH_set_boolean_F:n {fixamsmath}
+}
+\DeclareOption{allowspaces}{
+ \MH_let:NwN \MaybeMHPrecedingSpacesOff
+ \relax
+ \MH_let:NwN \MH_maybe_nospace_ifnextchar:Nnn \kernel@ifnextchar
+}
+\DeclareOption{disallowspaces}{
+ \MH_let:NwN \MaybeMHPrecedingSpacesOff
+ \MHPrecedingSpacesOff
+ \MH_let:NwN \MH_maybe_nospace_ifnextchar:Nnn \MH_nospace_ifnextchar:Nnn
+}
+\DeclareOption*{
+ \PassOptionsToPackage{\CurrentOption}{amsmath}
+}
+\ExecuteOptions{fixamsmath,disallowspaces}
+\ProcessOptions\relax
+\MHInternalSyntaxOff
+\RequirePackage{amsmath}[2000/07/18]
+\MHInternalSyntaxOn
+\AtEndOfPackage{\MHInternalSyntaxOff}
+\def\MT_true_false_error:{
+ \PackageError{mathtools}
+ {You~ have~ to~ select~ either~ `true'~ or~ `false'}
+ {I'll~ assume~ you~ chose~ `false'~ for~ now.}
+}
+\def\MT_define_tagform:nwnn #1[#2]#3#4{
+ \@namedef{MT_tagform_#1:n}##1
+ {\maketag@@@{#3\ignorespaces#2{##1}\unskip\@@italiccorr#4}}
+}
+\providecommand*\newtagform[1]{%
+ \@ifundefined{MT_tagform_#1:n}
+ {\@ifnextchar[%
+ {\MT_define_tagform:nwnn #1}%
+ {\MT_define_tagform:nwnn #1[]}%
+ }{\PackageError{mathtools}
+ {The~ tag~ form~ `#1'~ is~ already~ defined\MessageBreak
+ You~ probably~ want~ to~ look~ up~ \@backslashchar renewtagform~
+ instead}
+ {I~ will~ just~ ignore~ your~ wish~ for~ now.}}
+}
+\newtagform{default}{(}{)}
+\providecommand*\renewtagform[1]{%
+ \@ifundefined{MT_tagform_#1:n}
+ {\PackageError{mathtools}
+ {The~ tag~ form~ `#1'~ is~ not~ defined\MessageBreak
+ You~ probably~ want~ to~ look~ up~ \@backslashchar newtagform~ instead}
+ {I~ will~ just~ ignore~ your~ wish~ for~ now.}}
+ {\@ifnextchar[%
+ {\MT_define_tagform:nwnn #1}%
+ {\MT_define_tagform:nwnn #1[]}%
+ }
+}
+\providecommand*\usetagform[1]{%
+ \@ifundefined{MT_tagform_#1:n}
+ {
+ \PackageError{mathtools}{%
+ You~ have~ chosen~ the~ tag~ form~ `#1'\MessageBreak
+ but~ it~ appears~ to~ be~ undefined}
+ {I~ will~ use~ the~ default~ tag~ form~ instead.}%
+ \@namedef{tagform@}{\@nameuse{MT_tagform_default:n}}
+ }
+ { \@namedef{tagform@}{\@nameuse{MT_tagform_#1:n}} }
+ \MH_if_boolean:nT {show_only_refs}{
+ \MH_let:NwN \MT_prev_tagform:n \tagform@
+ \def\tagform@##1{\MT_extended_tagform:n {##1}}
+ }
+}
+\MH_new_boolean:n {manual_tag}
+\MH_new_boolean:n {raw_maketag}
+\MH_let:NwN \MT_AmS_tag_in_align: \tag@in@align
+\def\tag@in@align{
+ \global\MH_set_boolean_T:n {manual_tag}
+ \MT_AmS_tag_in_align:
+}
+\def\tag@in@display#1#{
+ \relax
+ \global\MH_set_boolean_T:n {manual_tag}
+ \tag@in@display@a{#1}
+}
+\def\MT_extended_tagform:n #1{
+ \MH_set_boolean_F:n {raw_maketag}
+ \if_meaning:NN \df@label\@empty
+ \MH_if_boolean:nT {manual_tag}
+ { \MH_if_boolean:nTF {show_manual_tags}
+ { \MT_prev_tagform:n {#1} }
+ { \stepcounter{equation} }
+ }
+ \else:
+ \MH_if_boolean:nTF {manual_tag}
+ { \MH_if_boolean:nTF {show_manual_tags}
+ { \MT_prev_tagform:n {#1} }
+ { \@ifundefined{MT_r_\df@label}
+ { }
+ { \MT_prev_tagform:n {#1} }
+ }
+ }
+ { \@ifundefined{MT_r_\df@label}
+ { }
+ { \refstepcounter{equation}\MT_prev_tagform:n {#1} }
+ }
+ \fi:
+ \global\MH_set_boolean_T:n {raw_maketag}
+}
+\def\MT_extended_maketag:n #1{
+ \ifx\df@label\@empty
+ \MT_maketag:n {#1}
+ \else:
+ \MH_if_boolean:nTF {raw_maketag}
+ {
+ \MH_if_boolean:nTF {show_manual_tags}
+ { \MT_maketag:n {#1} }
+ { \@ifundefined{MT_r_\df@label}
+ { }
+ { \MT_maketag:n {#1} }
+ }
+ }
+ { \MT_maketag:n {#1} }
+ \fi:
+ \global\MH_set_boolean_F:n {manual_tag}
+}
+\def\MT_extended_eqref:n #1{
+ \protected@write\@auxout{}
+ {\string\MT@newlabel{#1}}
+ \textup{\MT_prev_tagform:n {\ref{#1}}}
+}
+\newcommand*\refeq[1]{
+ \textup{\ref{#1}}
+}
+\def\MT_extended_refeq:n #1{
+ \protected@write\@auxout{}
+ {\string\MT@newlabel{#1}}
+ \textup{\ref{#1}}
+}
+\newcommand*\MT@newlabel[1]{ \global\@namedef{MT_r_#1}{} }
+\MH_new_boolean:n {show_only_refs}
+\MH_new_boolean:n {show_manual_tags}
+\define@key{\MT_options_name:}{showmanualtags}[true]{
+ \@ifundefined{boolean_show_manual_tags_#1:}
+ { \MT_true_false_error:
+ \@nameuse{boolean_show_manual_tags_false:}
+ }
+ { \@nameuse{boolean_show_manual_tags_#1:} }
+}
+\newcommand*\MT_showonlyrefs_true:{
+ \MH_if_boolean:nF {show_only_refs}{
+ \MH_set_boolean_T:n {show_only_refs}
+ \MH_let:NwN \MT_incr_eqnum: \incr@eqnum
+ \MH_let:NwN \incr@eqnum \@empty
+ \MH_let:NwN \MT_array_parbox_restore: \@arrayparboxrestore
+ \@xp\def\@xp\@arrayparboxrestore\@xp{\@arrayparboxrestore
+ \MH_let:NwN \incr@eqnum \@empty
+ }
+ \MH_let:NwN \MT_prev_tagform:n \tagform@
+ \MH_let:NwN \MT_eqref:n \eqref
+ \MH_let:NwN \MT_refeq:n \refeq
+ \MH_let:NwN \MT_maketag:n \maketag@@@
+ \MH_let:NwN \maketag@@@ \MT_extended_maketag:n
+ \def\tagform@##1{\MT_extended_tagform:n {##1}}
+ \MH_let:NwN \eqref \MT_extended_eqref:n
+ \MH_let:NwN \refeq \MT_extended_refeq:n
+ }
+}
+\def\MT_showonlyrefs_false: {
+ \MH_if_boolean:nT {show_only_refs}{
+ \MH_set_boolean_F:n {show_only_refs}
+ \MH_let:NwN \tagform@ \MT_prev_tagform:n
+ \MH_let:NwN \eqref \MT_eqref:n
+ \MH_let:NwN \refeq \MT_refeq:n
+ \MH_let:NwN \maketag@@@ \MT_maketag:n
+ \MH_let:NwN \incr@eqnum \MT_incr_eqnum:
+ \MH_let:NwN \@arrayparboxrestore \MT_array_parbox_restore:
+ }
+}
+\define@key{\MT_options_name:}{showonlyrefs}[true]{
+ \@nameuse{MT_showonlyrefs_#1:}
+}
+\renewcommand\nonumber{
+ \if@eqnsw
+ \if_meaning:NN \incr@eqnum\@empty
+ \MH_if_boolean:nF {show_only_refs}
+ {\addtocounter{equation}\m@ne}
+ \fi:
+ \fi:
+ \MH_let:NwN \print@eqnum\@empty \MH_let:NwN \incr@eqnum\@empty
+ \global\@eqnswfalse
+}
+\providecommand*\xleftrightarrow[2][]{%
+ \ext@arrow 3095\MT_leftrightarrow_fill:{#1}{#2}}
+\def\MT_leftrightarrow_fill:{%
+ \arrowfill@\leftarrow\relbar\rightarrow}
+\providecommand*\xLeftarrow[2][]{%
+ \ext@arrow 0055{\Leftarrowfill@}{#1}{#2}}
+\providecommand*\xRightarrow[2][]{%
+ \ext@arrow 0055{\Rightarrowfill@}{#1}{#2}}
+\providecommand*\xLeftrightarrow[2][]{%
+ \ext@arrow 0055{\Leftrightarrowfill@}{#1}{#2}}
+\def\MT_rightharpoondown_fill:{%
+ \arrowfill@\relbar\relbar\rightharpoondown}
+\def\MT_rightharpoonup_fill:{%
+ \arrowfill@\relbar\relbar\rightharpoonup}
+\def\MT_leftharpoondown_fill:{%
+ \arrowfill@\leftharpoondown\relbar\relbar}
+\def\MT_leftharpoonup_fill:{%
+ \arrowfill@\leftharpoonup\relbar\relbar}
+\providecommand*\xrightharpoondown[2][]{%
+ \ext@arrow 0359\MT_rightharpoondown_fill:{#1}{#2}}
+\providecommand*\xrightharpoonup[2][]{%
+ \ext@arrow 0359\MT_rightharpoonup_fill:{#1}{#2}}
+\providecommand*\xleftharpoondown[2][]{%
+ \ext@arrow 3095\MT_leftharpoondown_fill:{#1}{#2}}
+\providecommand*\xleftharpoonup[2][]{%
+ \ext@arrow 3095\MT_leftharpoonup_fill:{#1}{#2}}
+\providecommand*\xleftrightharpoons[2][]{\mathrel{%
+ \raise.22ex\hbox{%
+ $\ext@arrow 3095\MT_leftharpoonup_fill:{\phantom{#1}}{#2}$}%
+ \setbox0=\hbox{%
+ $\ext@arrow 0359\MT_rightharpoondown_fill:{#1}{\phantom{#2}}$}%
+ \kern-\wd0 \lower.22ex\box0}}
+\providecommand*\xrightleftharpoons[2][]{\mathrel{%
+ \raise.22ex\hbox{%
+ $\ext@arrow 3095\MT_rightharpoonup_fill:{\phantom{#1}}{#2}$}%
+ \setbox0=\hbox{%
+ $\ext@arrow 0359\MT_leftharpoondown_fill:{#1}{\phantom{#2}}$}%
+ \kern-\wd0 \lower.22ex\box0}}
+\providecommand*\xhookleftarrow[2][]{%
+ \ext@arrow 3095\MT_hookleft_fill:{#1}{#2}}
+\def\MT_hookleft_fill:{%
+ \arrowfill@\leftarrow\relbar{\relbar\joinrel\rhook}}
+\providecommand*\xhookrightarrow[2][]{%
+ \ext@arrow 3095\MT_hookright_fill:{#1}{#2}}
+\def\MT_hookright_fill:{%
+ \arrowfill@{\lhook\joinrel\relbar}\relbar\rightarrow}
+\providecommand*\xmapsto[2][]{%
+ \ext@arrow 0395\MT_mapsto_fill:{#1}{#2}}
+\def\MT_mapsto_fill:{%
+ \arrowfill@{\mapstochar\relbar}\relbar\rightarrow}
+\providecommand*\underbracket{
+ \@ifnextchar[
+ {\MT_underbracket_I:w}
+ {\MT_underbracket_I:w[\l_MT_bracketheight_fdim]}}
+\def\MT_underbracket_I:w[#1]{
+ \@ifnextchar[
+ {\MT_underbracket_II:w[#1]}
+ {\MT_underbracket_II:w[#1][.7\fontdimen5\textfont2]}}
+\def\MT_underbracket_II:w[#1][#2]#3{%
+ \mathop{\vtop{\m@th\ialign{##
+ \crcr
+ $\hfil\displaystyle{#3}\hfil$%
+ \crcr
+ \noalign{\kern .2\fontdimen5\textfont2 \nointerlineskip}%
+ \upbracketfill {#1}{#2}%
+ \crcr}}}
+ \limits}
+\def\upbracketfill#1#2{%
+ \sbox\z@{$\braceld$}
+ \edef\l_MT_bracketheight_fdim{\the\ht\z@}%
+ \upbracketend{#1}{#2}
+ \leaders \vrule \@height \z@ \@depth #1 \hfill
+ \upbracketend{#1}{#2}%
+}
+\def\upbracketend#1#2{\vrule \@height #2 \@width #1\relax}
+\providecommand*\overbracket{
+ \@ifnextchar[
+ {\MT_overbracket_I:w}
+ {\MT_overbracket_I:w[\l_MT_bracketheight_fdim]}}
+\def\MT_overbracket_I:w[#1]{
+ \@ifnextchar[
+ {\MT_overbracket_II:w[#1]}
+ {\MT_overbracket_II:w[#1][.7\fontdimen5\textfont2]}}
+\def\MT_overbracket_II:w[#1][#2]#3{%
+ \mathop{\vbox{\m@th\ialign{##
+ \crcr
+ \downbracketfill{#1}{#2}%
+ \crcr
+ \noalign{\kern .2\fontdimen5\textfont2 \nointerlineskip}%
+ $\hfil\displaystyle{#3}\hfil$
+ \crcr}}}%
+ \limits}
+\def\downbracketfill#1#2{%
+ \sbox\z@{$\braceld$}\edef\l_MT_bracketheight_fdim{\the\ht\z@}
+ \downbracketend{#1}{#2}
+ \leaders \vrule \@height #1 \@depth \z@ \hfill
+ \downbracketend{#1}{#2}%
+}
+\def\downbracketend#1#2{\vrule \@width #1\@depth #2\relax}
+\MH_let:NwN \LaTeXunderbrace \underbrace
+\def\underbrace#1{\mathop{\vtop{\m@th\ialign{##\crcr
+ $\hfil\displaystyle{#1}\hfil$\crcr
+ \noalign{\kern.7\fontdimen5\textfont2\nointerlineskip}%
+ \upbracefill\crcr\noalign{\kern.5\fontdimen5\textfont2}}}}\limits}
+\MH_let:NwN \LaTeXoverbrace \overbrace
+\def\overbrace#1{\mathop{\vbox{\m@th\ialign{##\crcr
+ \noalign{\kern.5\fontdimen5\textfont2}%
+ \downbracefill\crcr
+ \noalign{\kern.7\fontdimen5\textfont2\nointerlineskip}%
+ $\hfil\displaystyle{#1}\hfil$\crcr}}}\limits}
+\providecommand*\lparen{(}
+\providecommand*\rparen{)}
+
+\def\vcentcolon{\mathrel{\mathop\ordinarycolon}}
+\begingroup
+ \catcode`\:=\active
+ \lowercase{\endgroup
+ \ifnum\mathcode`\:=32768\relax
+ \let\ordinarycolon= :%
+ \else
+ \mathchardef\ordinarycolon\mathcode`\: %
+ \fi
+ \let :\vcentcolon
+ }
+\MH_new_boolean:n {center_colon}
+\define@key{\MT_options_name:}{centercolon}[true]{
+ \@ifundefined{MT_active_colon_#1:}
+ { \MT_true_false_error:n
+ \@nameuse{MT_active_colon_false:}
+ }
+ { \@nameuse{MT_active_colon_#1:} }
+}
+\def\MT_active_colon_true: {
+ \MH_if_boolean:nF {center_colon}{
+ \MH_set_boolean_T:n {center_colon}
+ \edef\MT_active_colon_false:
+ {\mathcode`\noexpand\:=\the\mathcode`\:\relax}
+ \mathcode`\:=32768
+ }
+}
+\AtBeginDocument{
+ \providecommand*\dblcolon{\vcentcolon\mkern-.9mu\vcentcolon}
+ \providecommand*\coloneqq{\vcentcolon\mkern-1.2mu=}
+ \providecommand*\Coloneqq{\dblcolon\mkern-1.2mu=}
+ \providecommand*\coloneq{\vcentcolon\mkern-1.2mu\mathrel{-}}
+ \providecommand*\Coloneq{\dblcolon\mkern-1.2mu\mathrel{-}}
+ \providecommand*\eqqcolon{=\mkern-1.2mu\vcentcolon}
+ \providecommand*\Eqqcolon{=\mkern-1.2mu\dblcolon}
+ \providecommand*\eqcolon{\mathrel{-}\mkern-1.2mu\vcentcolon}
+ \providecommand*\Eqcolon{\mathrel{-}\mkern-1.2mu\dblcolon}
+ \providecommand*\colonapprox{\vcentcolon\mkern-1.2mu\approx}
+ \providecommand*\Colonapprox{\dblcolon\mkern-1.2mu\approx}
+ \providecommand*\colonsim{\vcentcolon\mkern-1.2mu\sim}
+ \providecommand*\Colonsim{\dblcolon\mkern-1.2mu\sim}
+}
+\MH_new_boolean:n {mult_firstline}
+\MH_new_boolean:n {outer_mult}
+\newcount\g_MT_multlinerow_int
+\newdimen\l_MT_multwidth_dim
+\newcommand*\MT_test_for_tcb_other:nnnnn [1]{
+ \if:w t#1\relax
+ \expandafter\MH_use_choice_i:nnnn
+ \else:
+ \if:w c#1\relax
+ \expandafter\expandafter\expandafter\MH_use_choice_ii:nnnn
+ \else:
+ \if:w b#1\relax
+ \expandafter\expandafter\expandafter
+ \expandafter\expandafter\expandafter\expandafter
+ \MH_use_choice_iii:nnnn
+ \else:
+ \expandafter\expandafter\expandafter
+ \expandafter\expandafter\expandafter\expandafter
+ \MH_use_choice_iv:nnnn
+ \fi:
+ \fi:
+ \fi:
+}
+\def\MT_mult_invisible_line: {
+ \crcr
+ \global\MH_set_boolean_F:n {mult_firstline}
+ \hbox to \l_MT_multwidth_dim{}\crcr
+ \noalign{\vskip-\baselineskip \vskip-\normallineskip}
+}
+\def\MT_mult_mathcr_atat:w [#1]{%
+ \if_num:w 0=`{\fi: \iffalse}\fi:
+ \MH_if_boolean:nT {mult_firstline}{
+ \kern\l_MT_mult_left_fdim
+ \MT_mult_invisible_line:
+ }
+ \crcr
+ \noalign{\vskip#1\relax}
+ \global\advance\g_MT_multlinerow_int\@ne
+ \if_num:w \g_MT_multlinerow_int=\l_MT_multline_lastline_fint
+ \MH_let:NwN \math@cr@@\MT_mult_last_mathcr:w
+ \fi:
+}
+\def\MT_mult_firstandlast_mathcr:w [#1]{%
+ \if_num:w 0=`{\fi: \iffalse}\fi:
+ \kern\l_MT_mult_left_fdim
+ \MT_mult_invisible_line:
+ \noalign{\vskip#1\relax}
+ \kern\l_MT_mult_right_fdim
+}
+\def\MT_mult_last_mathcr:w [#1]{
+ \if_num:w 0=`{\fi: \iffalse}\fi:\math@cr@@@
+ \noalign{\vskip#1\relax}
+ \kern\l_MT_mult_right_fdim}
+\newcommand\MT_start_mult:N [1]{
+ \MT_test_for_tcb_other:nnnnn {#1}
+ { \MH_let:NwN \MT_next:\vtop }
+ { \MH_let:NwN \MT_next:\vcenter }
+ { \MH_let:NwN \MT_next:\vbox }
+ {
+ \PackageError{mathtools}
+ {Invalid~ position~ specifier.~ I'll~ try~ to~ recover~ with~
+ `c'}\@ehc
+ }
+ \collect@body\MT_mult_internal:n
+}
+\newcommand*\MT_shoveright:wn [2][0pt]{%
+ #2\hfilneg
+ \setlength\@tempdima{#1}
+ \kern\@tempdima
+}
+\newcommand*\MT_shoveleft:wn [2][0pt]{%
+ \hfilneg
+ \setlength\@tempdima{#1}
+ \kern\@tempdima
+ #2
+}
+\newcommand*\MT_mult_internal:n [1]{
+ \MH_if_boolean:nF {outer_mult}{\null\,}
+ \MT_next:
+ \bgroup
+ \Let@
+ \def\l_MT_multline_lastline_fint{0 }
+ \chardef\dspbrk@context\@ne \restore@math@cr
+ \MH_let:NwN \math@cr@@\MT_mult_mathcr_atat:w
+ \MH_let:NwN \shoveleft\MT_shoveleft:wn
+ \MH_let:NwN \shoveright\MT_shoveright:wn
+ \spread@equation
+ \MH_set_boolean_F:n {mult_firstline}
+ \MT_measure_mult:n {#1}
+ \if_dim:w \l_MT_multwidth_dim<\l_MT_multline_measure_fdim
+ \MH_setlength:dn \l_MT_multwidth_dim{\l_MT_multline_measure_fdim}
+ \fi
+ \MH_set_boolean_T:n {mult_firstline}
+ \if_num:w \l_MT_multline_lastline_fint=\@ne
+ \MH_let:NwN \math@cr@@ \MT_mult_firstandlast_mathcr:w
+ \fi:
+ \ialign\bgroup
+ \hfil\strut@$\m@th\displaystyle{}##$\hfil
+ \crcr
+ \hfilneg
+ #1
+}
+\newcommand\MT_measure_mult:n [1]{
+ \begingroup
+ \g_MT_multlinerow_int\@ne
+ \MH_let:NwN \label\MT_gobblelabel:w
+ \MH_let:NwN \tag\gobble@tag
+ \setbox\z@\vbox{
+ \ialign{\strut@$\m@th\displaystyle{}##$
+ \crcr
+ #1
+ \crcr
+ }
+ }
+ \xdef\l_MT_multline_measure_fdim{\the\wdz@}
+ \advance\g_MT_multlinerow_int\m@ne
+ \xdef\l_MT_multline_lastline_fint{\number\g_MT_multlinerow_int}
+ \endgroup
+ \g_MT_multlinerow_int\@ne
+}
+\MaybeMHPrecedingSpacesOff
+\newcommand*\MT_multlined_second_arg:w [1][\@empty]{
+ \MT_test_for_tcb_other:nnnnn {#1}
+ {\def\MT_mult_default_pos:{#1}}
+ {\def\MT_mult_default_pos:{#1}}
+ {\def\MT_mult_default_pos:{#1}}
+ {
+ \if_meaning:NN \@empty#1\@empty
+ \else:
+ \setlength \l_MT_multwidth_dim{#1}
+ \fi:
+ }
+ \MT_start_mult:N \MT_mult_default_pos:
+}
+\newenvironment{multlined}[1][]
+ {
+ \MT_test_for_tcb_other:nnnnn {#1}
+ {\def\MT_mult_default_pos:{#1}}
+ {\def\MT_mult_default_pos:{#1}}
+ {\def\MT_mult_default_pos:{#1}}
+ {
+ \if_meaning:NN \@empty#1\@empty
+ \else:
+ \setlength \l_MT_multwidth_dim{#1}
+ \fi:
+ }
+ \MT_multlined_second_arg:w
+ }
+ {
+ \hfilneg \endaligned
+ }
+\MHPrecedingSpacesOn
+\define@key{\MT_options_name:}
+ {firstline-afterskip}{\def\l_MT_mult_left_fdim{#1}}
+\define@key{\MT_options_name:}
+ {lastline-preskip}{\def\l_MT_mult_right_fdim{#1}}
+\define@key{\MT_options_name:}
+ {multlined-width}{\setlength \l_MT_multwidth_dim{#1}}
+\define@key{\MT_options_name:}
+ {multlined-pos}{\def\MT_mult_default_pos:{#1}}
+\setkeys{\MT_options_name:}{
+ firstline-afterskip=\multlinegap,
+ lastline-preskip=\multlinegap,
+ multlined-width=0pt,
+ multlined-pos=c,
+}
+\def\MT_gobblelabel:w #1{}
+\newcommand*\DeclarePairedDelimiter[3]{%
+ \@ifdefinable{#1}{
+ \edef\MT_next: {\MH_cs_to_str:N #1}
+ \@namedef{MT_delim_\MT_next: _star:}##1
+ {\left#2 ##1 \right #3}%
+ \@xp\@xp\@xp
+ \newcommand
+ \@xp\csname MT_delim_\MT_next: _nostar:\endcsname[2][\\@gobble]
+ { \edef\MT_next: {\MH_cs_to_str:N ##1}
+ \@nameuse {\MT_next: l} #2 ##2 \@nameuse {\MT_next: r} #3}
+ \newcommand{#1}{
+ \@ifstar
+ {\@nameuse{MT_delim_\MH_cs_to_str:N #1 _star:}}
+ {\@nameuse{MT_delim_\MH_cs_to_str:N #1 _nostar:}}
+ }
+ }
+}
+\def\MT_start_cases:nn #1#2{
+ \RIfM@\else
+ \nonmatherr@{\begin{\@currenvir}}%
+ \fi
+ \left\lbrace
+ \vcenter \bgroup
+ \Let@ \chardef\dspbrk@context\@ne \restore@math@cr
+ \spread@equation
+ \ialign\bgroup
+ \strut@$\m@th\displaystyle{##}$\hfil&#1\strut@
+ #2
+ \crcr
+}
+\newcommand*\newcases[3]{
+ \newenvironment{#1}
+ {\MT_start_cases:nn {#2}{#3}}
+ {\endaligned\right.}
+}
+\newcommand*\renewcases[3]{
+ \renewenvironment{#1}
+ {\MT_start_cases:nn {#2}{#3}}
+ {\endaligned\right.}
+}
+\newcases{dcases}{\quad}{$\m@th\displaystyle{##}$\hfil}
+\newcases{dcases*}{\quad}{{##}\hfil}
+\def\MT_matrix_begin:N #1{%
+ \hskip -\arraycolsep
+ \MH_let:NwN \@ifnextchar \MH_nospace_ifnextchar:Nnn
+ \array{*\c@MaxMatrixCols #1}}
+\def\MT_matrix_end:{\endarray \hskip -\arraycolsep}
+\MaybeMHPrecedingSpacesOff
+\newenvironment{matrix*}[1][c]
+ {\MT_matrix_begin:N #1}
+ {\MT_matrix_end:}
+\newenvironment{pmatrix*}[1][c]
+ {\left(\MT_matrix_begin:N #1}
+ {\MT_matrix_end:\right)}
+\newenvironment{bmatrix*}[1][c]
+ {\left[\MT_matrix_begin:N #1}
+ {\MT_matrix_end:\right]}
+\newenvironment{Bmatrix*}[1][c]
+ {\left\lbrace\MT_matrix_begin:N #1}
+ {\MT_matrix_end:\right\rbrace}
+\newenvironment{vmatrix*}[1][c]
+ {\left\lvert\MT_matrix_begin:N #1}
+ {\MT_matrix_end:\right\rvert}
+\newenvironment{Vmatrix*}[1][c]
+ {\left\lVert\MT_matrix_begin:N #1}
+ {\MT_matrix_end:\right\lVert}
+\MHPrecedingSpacesOn
+\newcommand*\smashoperator[2][lr]{
+ \def\MT_smop_use:NNNNN {\@nameuse{MT_smop_smash_#1:NNNNN}}
+ \toks@{#2}
+ \expandafter\MT_smop_get_args:wwwNnNn
+ \the\toks@\@nil\@nil\@nil\@nil\@nil\@nil\@@nil
+}
+\def\MT_smop_remove_nil_vi:N #1\@nil\@nil\@nil\@nil\@nil\@nil{#1}
+\def\MT_smop_mathop:n {\mathop}
+\def\MT_smop_limits: {\limits}
+\MH_new_boolean:n {smop_one}
+\MH_new_boolean:n {smop_two}
+\def\MT_smop_get_args:wwwNnNn #1#2#3#4#5#6#7\@@nil{%
+ \begingroup
+ \def\MT_smop_arg_A: {#1} \def\MT_smop_arg_B: {#2}
+ \def\MT_smop_arg_C: {#3} \def\MT_smop_arg_D: {#4}
+ \def\MT_smop_arg_E: {#5} \def\MT_smop_arg_F: {#6}
+ \def\MT_smop_arg_G: {#7}
+ \if_meaning:NN \MT_smop_arg_A: \MT_smop_mathop:n
+ \if_meaning:NN \MT_smop_arg_C:\MT_smop_limits:
+ \def\MT_smop_final_arg_A:{#1{#2}}%
+ \if_meaning:NN \MT_smop_arg_D: \@nnil
+ \else:
+ \MH_set_boolean_T:n {smop_one}
+ \MH_let:NwN \MT_smop_final_arg_B: \MT_smop_arg_D:
+ \MH_let:NwN \MT_smop_final_arg_C: \MT_smop_arg_E:
+ \if_meaning:NN \MT_smop_arg_F: \@nnil
+ \else:
+ \MH_set_boolean_T:n {smop_two}
+ \MH_let:NwN \MT_smop_final_arg_D: \MT_smop_arg_F:
+ \edef\MT_smop_final_arg_E:
+ {\expandafter\MT_smop_remove_nil_vi:N \MT_smop_arg_G: }
+ \fi:
+ \fi:
+ \else:
+ \def\MT_smop_final_arg_A:{#1{#2}}%
+ \if_meaning:NN \MT_smop_arg_D: \@nnil
+ \else:
+ \MH_set_boolean_T:n {smop_one}
+ \MH_let:NwN \MT_smop_final_arg_B: \MT_smop_arg_C:
+ \MH_let:NwN \MT_smop_final_arg_C: \MT_smop_arg_D:
+ \if_meaning:NN \MT_smop_arg_F: \@nnil
+ \else:
+ \MH_set_boolean_T:n {smop_two}
+ \MH_let:NwN \MT_smop_final_arg_D: \MT_smop_arg_E:
+ \MH_let:NwN \MT_smop_final_arg_E: \MT_smop_arg_F:
+ \fi:
+ \fi:
+ \fi:
+ \else:
+ \if_meaning:NN \MT_smop_arg_B:\MT_smop_limits:
+ \def\MT_smop_final_arg_A:{#1}%
+ \if_meaning:NN \MT_smop_arg_D: \@nnil
+ \else:
+ \MH_set_boolean_T:n {smop_one}
+ \MH_let:NwN \MT_smop_final_arg_B: \MT_smop_arg_C:
+ \MH_let:NwN \MT_smop_final_arg_C: \MT_smop_arg_D:
+ \if_meaning:NN \MT_smop_arg_F: \@nnil
+ \else:
+ \MH_set_boolean_T:n {smop_two}
+ \MH_let:NwN \MT_smop_final_arg_D: \MT_smop_arg_E:
+ \MH_let:NwN \MT_smop_final_arg_E: \MT_smop_arg_F:
+ \fi:
+ \fi:
+ \else:
+ \def\MT_smop_final_arg_A:{#1}%
+ \if_meaning:NN \MT_smop_arg_C: \@nnil
+ \else:
+ \MH_set_boolean_T:n {smop_one}
+ \MH_let:NwN \MT_smop_final_arg_B: \MT_smop_arg_B:
+ \MH_let:NwN \MT_smop_final_arg_C: \MT_smop_arg_C:
+ \if_meaning:NN \MT_smop_arg_D: \@nnil
+ \else:
+ \MH_set_boolean_T:n {smop_two}
+ \MH_let:NwN \MT_smop_final_arg_D: \MT_smop_arg_D:
+ \MH_let:NwN \MT_smop_final_arg_E: \MT_smop_arg_E:
+ \fi:
+ \fi:
+ \fi:
+ \fi:
+ \MH_if_boolean:nT {smop_one}{
+ \MT_smop_measure:NNNNN
+ \MT_smop_final_arg_A: \MT_smop_final_arg_B: \MT_smop_final_arg_C:
+ \MT_smop_final_arg_D: \MT_smop_final_arg_E:
+ }
+ \MT_smop_use:NNNNN
+ \MT_smop_final_arg_A: \MT_smop_final_arg_B: \MT_smop_final_arg_C:
+ \MT_smop_final_arg_D: \MT_smop_final_arg_E:
+ \endgroup
+}
+\def\MT_smop_needed_args:NNNNN #1#2#3#4#5{%
+ \displaystyle #1
+ \MH_if_boolean:nT {smop_one}{
+ \limits#2{\MT_cramped_clap_internal:Nn \scriptstyle{#3}}
+ \MH_if_boolean:nT {smop_two}{
+ #4{\MT_cramped_clap_internal:Nn \scriptstyle{#5}}
+ }
+ }
+}
+\def\MT_smop_measure:NNNNN #1#2#3#4#5{%
+ \MH_let:NwN \MT_saved_mathclap:Nn \MT_cramped_clap_internal:Nn
+ \MH_let:NwN \MT_cramped_clap_internal:Nn \@secondoftwo
+ \sbox\z@{$\m@th\MT_smop_needed_args:NNNNN #1#2#3#4#5$}
+ \MH_let:NwN \MT_cramped_clap_internal:Nn \MT_saved_mathclap:Nn
+ \sbox\tw@{$\m@th\displaystyle#1$}
+ \@tempdima=.5\wd0
+ \advance\@tempdima-.5\wd2
+}
+\def\MT_smop_smash_l:NNNNN #1#2#3#4#5{
+ \MT_smop_needed_args:NNNNN #1#2#3#4#5\kern\@tempdima
+}
+\def\MT_smop_smash_r:NNNNN #1#2#3#4#5{
+ \kern\@tempdima\MT_smop_needed_args:NNNNN #1#2#3#4#5
+}
+\def\MT_smop_smash_lr:NNNNN #1#2#3#4#5{
+ \MT_smop_needed_args:NNNNN #1#2#3#4#5
+}
+\def\MT_vphantom:Nn {\v@true\h@false\MT_internal_phantom:N}
+\def\MT_hphantom:Nn {\v@false\h@true\MT_internal_phantom:N}
+\def\MT_phantom:Nn {\v@true\h@true\MT_internal_phantom:N}
+\def\MT_internal_phantom:N #1{
+ \ifmmode
+ \expandafter\mathph@nt\expandafter#1
+ \else
+ \expandafter\makeph@nt
+ \fi
+}
+\newcommand*\adjustlimits[6]{
+ \sbox\z@{$\m@th \displaystyle #1$}
+ \sbox\tw@{$\m@th \displaystyle #4$}
+ \@tempdima=\dp\z@ \advance\@tempdima-\dp\tw@
+ \if_dim:w \@tempdima>\z@
+ \mathop{#1}\limits#2{#3}
+ \else:
+ \mathop{#1\MT_vphantom:Nn \displaystyle{#4}}\limits
+ #2{
+ \def\finsm@sh{\ht\z@\z@ \box\z@}
+ \mathsm@sh\scriptstyle{\MT_cramped_internal:Nn \scriptstyle{#3}}
+ \MT_vphantom:Nn \scriptstyle
+ {\MT_cramped_internal:Nn \scriptstyle{#6}}
+ }
+ \fi:
+ \if_dim:w \@tempdima>\z@
+ \mathop{#4\MT_vphantom:Nn \displaystyle{#1}}\limits
+ #5
+ {
+ \MT_vphantom:Nn \scriptstyle
+ {\MT_cramped_internal:Nn \scriptstyle{#3}}
+ \def\finsm@sh{\ht\z@\z@ \box\z@}
+ \mathsm@sh\scriptstyle{\MT_cramped_internal:Nn \scriptstyle{#6}}
+ }
+ \else:
+ \mathop{#4}\limits#5{#6}
+ \fi:
+}
+\def\shortintertext#1{%
+ \ifvmode\else\\\@empty\fi
+ \noalign{%
+ \penalty\postdisplaypenalty\vskip\abovedisplayshortskip
+ \vbox{\normalbaselines
+ \if_dim:w \linewidth=\columnwidth
+ \else:
+ \parshape\@ne \@totalleftmargin \linewidth
+ \fi:
+ \noindent#1\par}%
+ \penalty\predisplaypenalty\vskip\abovedisplayshortskip%
+ }%
+}
+\providecommand*\clap[1]{\hb@xt@\z@{\hss#1\hss}}
+\providecommand*\mathllap[1][\@empty]{
+ \ifx\@empty#1\@empty
+ \expandafter \mathpalette \expandafter \MT_mathllap:Nn
+ \else
+ \expandafter \MT_mathllap:Nn \expandafter #1
+ \fi
+}
+\providecommand*\mathrlap[1][\@empty]{
+ \ifx\@empty#1\@empty
+ \expandafter \mathpalette \expandafter \MT_mathrlap:Nn
+ \else
+ \expandafter \MT_mathrlap:Nn \expandafter #1
+ \fi
+}
+\providecommand*\mathclap[1][\@empty]{
+ \ifx\@empty#1\@empty
+ \expandafter \mathpalette \expandafter \MT_mathclap:Nn
+ \else
+ \expandafter \MT_mathclap:Nn \expandafter #1
+ \fi
+}
+\def\MT_mathllap:Nn #1#2{{}\llap{$\m@th#1{#2}$}}
+\def\MT_mathrlap:Nn #1#2{{}\rlap{$\m@th#1{#2}$}}
+\def\MT_mathclap:Nn #1#2{{}\clap{$\m@th#1{#2}$}}
+\providecommand*\mathmbox{\mathpalette\MT_mathmbox:nn}
+\def\MT_mathmbox:nn #1#2{\mbox{$\m@th#1#2$}}
+\providecommand*\mathmakebox{
+ \@ifnextchar[ \MT_mathmakebox_I:w
+ \mathmbox}
+\def\MT_mathmakebox_I:w[#1]{%
+ \@ifnextchar[ {\MT_mathmakebox_II:w[#1]}
+ {\MT_mathmakebox_II:w[#1][c]}}
+\def\MT_mathmakebox_II:w[#1][#2]{
+ \mathpalette{\MT_mathmakebox_III:w[#1][#2]}}
+\def\MT_mathmakebox_III:w[#1][#2]#3#4{%
+ \@begin@tempboxa\hbox{$\m@th#3#4$}%
+ \setlength\@tempdima{#1}%
+ \hbox{\hb@xt@\@tempdima{\csname bm@#2\endcsname}}%
+ \@end@tempboxa}
+\def\mathsm@sh#1#2{%
+ \setbox\z@\hbox{$\m@th#1{#2}$}{}\finsm@sh}
+\providecommand*\cramped[1][\@empty]{
+ \ifx\@empty#1\@empty
+ \expandafter \mathpalette \expandafter \MT_cramped_internal:Nn
+ \else
+ \expandafter \MT_cramped_internal:Nn \expandafter #1
+ \fi
+}
+\def\MT_cramped_internal:Nn #1#2{
+ \sbox\z@{$\m@th#1\nulldelimiterspace=\z@\radical\z@{#2}$}
+ \ifx#1\displaystyle
+ \dimen@=\fontdimen8\textfont3
+ \advance\dimen@ .25\fontdimen5\textfont2
+ \else
+ \dimen@=1.25\fontdimen8
+ \ifx#1\textstyle\textfont
+ \else
+ \ifx#1\scriptstyle
+ \scriptfont
+ \else
+ \scriptscriptfont
+ \fi
+ \fi
+ 3
+ \fi
+ \advance\dimen@-\ht\z@ \ht\z@=-\dimen@
+ \box\z@
+}
+\providecommand*\crampedllap[1][\@empty]{
+ \ifx\@empty#1\@empty
+ \expandafter \mathpalette \expandafter \MT_cramped_llap_internal:Nn
+ \else
+ \expandafter \MT_cramped_llap_internal:Nn \expandafter #1
+ \fi
+}
+\def\MT_cramped_llap_internal:Nn #1#2{
+ {}\llap{\MT_cramped_internal:Nn #1{#2}}
+}
+\providecommand*\crampedclap[1][\@empty]{
+ \ifx\@empty#1\@empty
+ \expandafter \mathpalette \expandafter \MT_cramped_clap_internal:Nn
+ \else
+ \expandafter \MT_cramped_clap_internal:Nn \expandafter #1
+ \fi
+}
+\def\MT_cramped_clap_internal:Nn #1#2{
+ {}\clap{\MT_cramped_internal:Nn #1{#2}}
+}
+\providecommand*\crampedrlap[1][\@empty]{
+ \ifx\@empty#1\@empty
+ \expandafter \mathpalette \expandafter \MT_cramped_rlap_internal:Nn
+ \else
+ \expandafter \MT_cramped_rlap_internal:Nn \expandafter #1
+ \fi
+}
+\def\MT_cramped_rlap_internal:Nn #1#2{
+ {}\rlap{\MT_cramped_internal:Nn #1{#2}}
+}
+\DeclareRobustCommand{\prescript}[3]{
+ \@mathmeasure\z@\scriptstyle{\MT_prescript_sup:{#1}}
+ \@mathmeasure\tw@\scriptstyle{\MT_prescript_sub:{#2}}
+ \if_dim:w \wd\tw@>\wd\z@
+ \setbox\z@\hbox to\wd\tw@{\hfil\unhbox\z@}
+ \else:
+ \setbox\tw@\hbox to\wd\z@{\hfil\unhbox\tw@}
+ \fi:
+ \mathop{}
+ \mathopen{\vphantom{\MT_prescript_arg:{#3}}}^{\box\z@}\sb{\box\tw@}
+ \MT_prescript_arg:{#3}
+}
+\define@key{\MT_options_name:}
+ {prescript-sup-format}{\def\MT_prescript_sup:{#1}}
+\define@key{\MT_options_name:}
+ {prescript-sub-format}{\def\MT_prescript_sub:{#1}}
+\define@key{\MT_options_name:}
+ {prescript-arg-format}{\def\MT_prescript_arg:{#1}}
+\setkeys{\MT_options_name:}{
+ prescript-sup-format={},
+ prescript-sub-format={},
+ prescript-arg-format={},
+}
+\def\@DeclareMathSizes #1#2#3#4#5{%
+ \@defaultunits\dimen@ #2pt\relax\@nnil
+ \if:w $#3$%
+ \MH_let:cN {S@\strip@pt\dimen@}\math@fontsfalse
+ \else:
+ \@defaultunits\dimen@ii #3pt\relax\@nnil
+ \@defaultunits\@tempdima #4pt\relax\@nnil
+ \@defaultunits\@tempdimb #5pt\relax\@nnil
+ \toks@{#1}%
+ \expandafter\xdef\csname S@\strip@pt\dimen@\endcsname{%
+ \gdef\noexpand\tf@size{\strip@pt\dimen@ii}%
+ \gdef\noexpand\sf@size{\strip@pt\@tempdima}%
+ \gdef\noexpand\ssf@size{\strip@pt\@tempdimb}%
+ \the\toks@
+ }%
+ \fi:
+}
+\def\MT_mathic_true: {
+ \MH_if_boolean:nF {math_italic_corr}{
+ \MH_set_boolean_T:n {math_italic_corr}
+ \MH_let:NwN \MT_begin_inlinemath: \(
+ \renewcommand*\({\relax\ifmmode\@badmath\else
+ \ifhmode
+ \if_dim:w \fontdimen\@ne\font>\z@
+ \if_dim:w \lastskip>\z@
+ \skip@\lastskip\unskip
+ \@@italiccorr
+ \hskip\skip@
+ \else:
+ \@@italiccorr
+ \fi:
+ \fi:
+ \fi:
+ $\fi:
+ }
+ }
+}
+\def\MT_mathic_false: {
+ \MH_if_boolean:nT {math_italic_corr}{
+ \MH_set_boolean_F:n {math_italic_corr}
+ \MH_let:NwN \( \MT_begin_inlinemath:
+ }
+}
+\MH_new_boolean:n {math_italic_corr}
+\define@key{\MT_options_name:}{mathic}[true]{
+ \@ifundefined{MT_mathic_#1:}
+ { \MT_true_false_error:
+ \@nameuse{MT_mathic_false:}
+ }
+ { \@nameuse{MT_mathic_#1:} }
+}
+\newenvironment{spreadlines}[1]{
+ \setlength{\jot}{#1}
+ \ignorespaces
+}{ \ignorespacesafterend }
+\MaybeMHPrecedingSpacesOff
+\newenvironment{MT_gathered_env}[1][c]{%
+ \RIfM@\else
+ \nonmatherr@{\begin{\@currenvir}}%
+ \fi
+ \null\,%
+ \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi \bgroup
+ \Let@ \chardef\dspbrk@context\@ne \restore@math@cr
+ \spread@equation
+ \ialign\bgroup
+ \MT_gathered_pre:
+ \strut@$\m@th\displaystyle##$
+ \MT_gathered_post:
+ \crcr
+}{%
+ \endaligned
+ \MT_gathered_env_end:
+}
+\MHPrecedingSpacesOn
+\newcommand*\newgathered[4]{
+ \newenvironment{#1}
+ { \def\MT_gathered_pre:{#2}
+ \def\MT_gathered_post:{#3}
+ \def\MT_gathered_env_end:{#4}
+ \MT_gathered_env
+ }{\endMT_gathered_env}
+}
+\newcommand*\renewgathered[4]{
+ \renewenvironment{#1}
+ { \def\MT_gathered_pre:{#2}
+ \def\MT_gathered_post:{#3}
+ \def\MT_gathered_env_end:{#4}
+ \MT_gathered_env
+ }{\endMT_gathered_env}
+}
+\newgathered{lgathered}{}{\hfil}{}
+\newgathered{rgathered}{\hfil}{}{}
+\renewgathered{gathered}{\hfil}{\hfil}{}
+\newcommand*\splitfrac[2]{%
+ \genfrac{}{}{0pt}{1}%
+ {\textstyle#1\quad\hfill}%
+ {\textstyle\hfill\quad\mathstrut#2}%
+}
+\newcommand*\splitdfrac[2]{%
+ \genfrac{}{}{0pt}{0}{#1\quad\hfill}{\hfill\quad\mathstrut #2}%
+}
+\MH_if_boolean:nT {fixamsmath}{
+\def\place@tag{%
+ \iftagsleft@
+ \kern-\tagshift@
+ \if@fleqn
+ \if_num:w \xatlevel@=\tw@
+ \kern-\@mathmargin
+ \fi:
+ \fi:
+ \if:w 1\shift@tag\row@\relax
+ \rlap{\vbox{%
+ \normalbaselines
+ \boxz@
+ \vbox to\lineht@{}%
+ \raise@tag
+ }}%
+ \else:
+ \rlap{\boxz@}%
+ \fi:
+ \kern\displaywidth@
+ \else:
+ \kern-\tagshift@
+ \if:w 1\shift@tag\row@\relax
+ \llap{\vtop{%
+ \raise@tag
+ \normalbaselines
+ \setbox\@ne\null
+ \dp\@ne\lineht@
+ \box\@ne
+ \boxz@
+ }}%
+ \else:
+ \llap{\boxz@}%
+ \fi:
+ \fi:
+}
+\def\x@calc@shift@lf{%
+ \if_dim:w \eqnshift@=\z@
+ \global\eqnshift@\@mathmargin\relax
+ \alignsep@\displaywidth
+ \advance\alignsep@-\totwidth@
+ \if_num:w \@tempcntb=0
+ \else:
+ \global\divide\alignsep@\@tempcntb % original line
+ \fi:
+ \if_dim:w \alignsep@<\minalignsep\relax
+ \global\alignsep@\minalignsep\relax
+ \fi:
+ \fi:
+ \if_dim:w \tag@width\row@>\@tempdima
+ \saveshift@1%
+ \else:
+ \saveshift@0%
+ \fi:}%
+}
+\MaybeMHPrecedingSpacesOff
+\renewcommand\aligned@a[1][c]{\start@aligned{#1}\m@ne}
+\MHPrecedingSpacesOn
+\endinput
+%%
+%% End of file `mathtools.sty'.
diff --git a/Master/texmf-dist/tex/latex/mh/mhsetup.sty b/Master/texmf-dist/tex/latex/mh/mhsetup.sty
new file mode 100644
index 00000000000..de71af7767c
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mh/mhsetup.sty
@@ -0,0 +1,166 @@
+%%
+%% This is file `mhsetup.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% mhsetup.dtx (with options: `package')
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% The Current Maintainer of this work is Morten H\o gholm.
+%%
+%% This work consists of the files mhsetup.dtx and mhsetup.ins and
+%% the derived file mhsetup.sty.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{mhsetup}
+ [2004/10/10 v1.0b programming setup (MH)]
+\def\MHInternalSyntaxOn{
+ \edef\MHInternalSyntaxOff{%
+ \catcode`\noexpand\~=\the\catcode`\~\relax
+ \catcode`\noexpand\ =\the\catcode`\ \relax
+ \catcode`\noexpand\^^I=\the\catcode`\^^I\relax
+ \catcode`\noexpand\@=\the\catcode`\@\relax
+ \catcode`\noexpand\:=\the\catcode`\:\relax
+ \catcode`\noexpand\_=\the\catcode`\_\relax
+ \endlinechar=\the\endlinechar\relax
+ }%
+ \catcode`\~=10\relax
+ \catcode`\ =9\relax
+ \catcode`\^^I=9\relax
+ \makeatletter
+ \catcode`\_=11\relax
+ \catcode`\:=11\relax
+ \endlinechar=` %
+ \relax
+}
+\MHInternalSyntaxOn
+\AtEndOfPackage{\MHInternalSyntaxOff}
+\let\MH_let:NwN \let
+\def\MH_let:cN #1#2{
+ \expandafter\MH_let:NwN \csname#1\endcsname#2}
+\def\MH_let:cc #1#2{
+ \expandafter\MH_let:NwN\csname#1\expandafter\endcsname
+ \csname#2\endcsname}
+\def\MH_new_boolean:n #1{
+ \expandafter\@ifdefinable\csname if_boolean_#1:\endcsname{
+ \@namedef{boolean_#1_true:}
+ {\MH_let:cN{if_boolean_#1:}\iftrue}
+ \@namedef{boolean_#1_false:}
+ {\MH_let:cN{if_boolean_#1:}\iffalse}
+ \@nameuse{boolean_#1_false:}%
+ }
+}
+\def\MH_set_boolean_F:n #1{ \@nameuse{boolean_#1_false:} }
+\def\MH_set_boolean_T:n #1{ \@nameuse{boolean_#1_true:} }
+\def\MH_if_boolean:nTF #1{
+ \@nameuse{if_boolean_#1:}
+ \expandafter\@firstoftwo
+ \else:
+ \expandafter\@secondoftwo
+ \fi:
+}
+\def\MH_if_boolean:nT #1{
+ \@nameuse{if_boolean_#1:}
+ \expandafter\@firstofone
+ \else:
+ \expandafter\@gobble
+ \fi:
+}
+\def\MH_if_boolean:nF #1{
+ \@nameuse{if_boolean_#1:}
+ \expandafter\@gobble
+ \else:
+ \expandafter\@firstofone
+ \fi:
+}
+\@ifundefined{if:w}{\MH_let:NwN \if:w =\if}{}
+\@ifundefined{if_meaning:NN}{\MH_let:NwN \if_meaning:NN =\ifx}{}
+\@ifundefined{else:}{\MH_let:NwN \else:=\else}{}
+\@ifundefined{fi:}{\MH_let:NwN \fi:=\fi}{}
+\@ifundefined{if_num:w}{\MH_let:NwN \if_num:w =\ifnum}{}
+\@ifundefined{if_dim:w}{\MH_let:NwN \if_dim:w =\ifdim}{}
+\@ifundefined{if_case:w}{\MH_let:NwN \if_case:w =\ifcase}{}
+\@ifundefined{or:}{\MH_let:NwN \or:=\or}{}
+\def\MH_cs_to_str:N {\expandafter\@gobble\string}
+\@ifundefined{eTeXversion}
+ {
+ \MH_let:NwN \MH_protected:\relax
+ \def\MH_setlength:dn{\setlength}
+ \def\MH_addtolength:dn{\addtolength}
+ }
+ {
+ \MH_let:NwN \MH_protected:\protected
+ \def\MH_setlength:dn #1#2{#1=\dimexpr#2\relax\relax}
+ \def\MH_addtolength:dn #1#2{\advance#1 \dimexpr#2\relax\relax}
+ }
+
+\def\MH_keyval_alias_with_addon:nnnn #1#2#3#4{
+ \@namedef{KV@#1@#2}{\@nameuse{KV@#1@#3}#4}
+ \@namedef{KV@#1@#2@default}{\@nameuse{KV@#1@#3@default}#4}}
+\def\MH_keyval_alias:nnn #1#2#3{
+ \MH_keyval_alias_with_addon:nnnn {#1}{#2}{#3}{}}
+\def\MH_use_choice_i:nnnn #1#2#3#4{#1}
+\def\MH_use_choice_ii:nnnn #1#2#3#4{#2}
+\def\MH_use_choice_iii:nnnn #1#2#3#4{#3}
+\def\MH_use_choice_iv:nnnn #1#2#3#4{#4}
+\long\def\MH_nospace_ifnextchar:Nnn #1#2#3{
+ \MH_let:NwN\reserved@d=~#1
+ \def\reserved@a{#2}
+ \def\reserved@b{#3}
+ \futurelet\@let@token\MH_nospace_nextchar:
+}
+\def\MH_nospace_nextchar:{
+ \if_meaning:NN \@let@token\reserved@d
+ \MH_let:NwN \reserved@b\reserved@a
+ \fi:
+ \reserved@b
+}
+\long\def\MH_nospace_testopt:nn #1#2{
+ \MH_nospace_ifnextchar:Nnn[
+ {#1}
+ {#1[{#2}]}
+}
+\def\MH_nospace_protected_testopt:n #1{
+ \if_meaning:NN \protect\@typeset@protect
+ \expandafter\MH_nospace_testopt:nn
+ \else:
+ \@x@protect#1
+ \fi:
+}
+\@ifundefined{kernel@ifnextchar}
+ {\MH_let:NwN \kernel@ifnextchar \@ifnextchar}
+ {}
+\MH_let:NwN \MH_kernel_xargdef:nwwn \@xargdef
+\long\def\MH_nospace_xargdef:nwwn #1[#2][#3]#4{
+ \@ifdefinable#1{
+ \expandafter\def\expandafter#1\expandafter{
+ \expandafter
+ \MH_nospace_protected_testopt:n
+ \expandafter
+ #1
+ \csname\string#1\endcsname
+ {#3}}
+ \expandafter\@yargdef
+ \csname\string#1\endcsname
+ \tw@
+ {#2}
+ {#4}}}
+\providecommand*\MHPrecedingSpacesOff{
+ \MH_let:NwN \@xargdef \MH_nospace_xargdef:nwwn
+}
+\providecommand*\MHPrecedingSpacesOn{
+ \MH_let:NwN \@xargdef \MH_kernel_xargdef:nwwn
+}
+\endinput
+%%
+%% End of file `mhsetup.sty'.
diff --git a/Master/texmf-dist/tex/latex/mh/ntheorem.fix b/Master/texmf-dist/tex/latex/mh/ntheorem.fix
new file mode 100644
index 00000000000..fb310ef9c57
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mh/ntheorem.fix
@@ -0,0 +1,402 @@
+%%
+%% This is file `ntheorem.fix',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% empheq.dtx (with options: `ntheorem')
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% The Current Maintainer of this work is Morten H\o gholm.
+%%
+%% This work consists of the files empheq.dtx and empheq.ins and the
+%% derived files empheq.sty and ntheorem.fix
+%%
+\ProvidesFile{ntheorem.fix}
+ [2004/10/10 v2.11a
+ empheq support and fixes for ntheorem (MH)
+ ]
+\def\default_raisetag:{\nobreak}
+\def\raisetag#1{
+ \skip@#1\relax
+ \xdef\raise@tag{\default_raisetag:
+ \vskip\iftagsleft@\else:-\fi:\the\skip@\relax}}
+\MH_let:NwN\raise@tag\default_raisetag:
+\def\displ@y@{\@display@init{%
+ \global\column@\z@ \global\dspbrk@lvl\m@ne
+ \global\tag@false \global\MH_let:NwN\raise@tag\default_raisetag:
+}}
+\def\MT_gobblelabel:w #1{\@ifnextchar[{\EQ_gobbleoptional:w}{}}
+\def\EQ_gobbleoptional:w [#1]{}
+\def\gmeasure@#1{%
+ \begingroup
+ \measuring@true
+ \totwidth@\z@
+ \global\MH_let:NwN\tag@lengths\@empty
+ \savecounters@
+ \setbox\@ne\vbox{%
+ \everycr{\noalign{\global\tag@false
+ \global\MH_let:NwN\raise@tag\default_raisetag:
+ \global\column@\z@}}%
+ \MH_let:NwN\label\MT_gobblelabel:w
+ \halign{%
+ \setboxz@h{$\m@th\displaystyle{##}$}%
+ \if_dim:w \wdz@>\totwidth@
+ \global\totwidth@\wdz@
+ \fi:
+ &\setboxz@h{\strut@{##}}%
+ \savetaglength@
+ \crcr
+ #1%
+ \math@cr@@@
+ }%
+ }%
+ \restorecounters@
+ \if@fleqn
+ \global\advance\totwidth@\@mathmargin
+ \fi:
+ \iftagsleft@
+ \if_dim:w \totwidth@>\displaywidth
+ \global\MH_let:NwN\gdisplaywidth@\totwidth@
+ \else:
+ \global\MH_let:NwN\gdisplaywidth@\displaywidth
+ \fi:
+ \fi:
+ \endgroup
+}
+\def\measure@#1{%
+ \begingroup
+ \measuring@true
+ \global\eqnshift@\z@
+ \global\alignsep@\z@
+ \global\MH_let:NwN\tag@lengths\@empty
+ \global\MH_let:NwN\field@lengths\@empty
+ \savecounters@
+ \global\setbox0\vbox{%
+ \MH_let:NwN\math@cr@@@\math@cr@@@align@measure
+ \everycr{\noalign{\global\tag@false
+ \global\MH_let:NwN\raise@tag\default_raisetag:
+ \global\column@\z@}}%
+ \MH_let:NwN\label\MT_gobblelabel:w
+ \global\row@\z@
+ \tabskip\z@
+ \halign{\span\align@preamble\crcr
+ #1%
+ \math@cr@@@
+ \global\column@\z@
+ \add@amps\maxfields@\cr
+ }%
+ }%
+ \restorecounters@
+ \ifodd\maxfields@
+ \global\advance\maxfields@\@ne
+ \fi:
+ \if_num:w \xatlevel@=\tw@
+ \if_num:w \maxfields@<\thr@@
+ \MH_let:NwN\xatlevel@\z@
+ \fi:
+ \fi:
+ \setbox\z@\vbox{%
+ \unvbox\z@ \unpenalty \global\setbox\@ne\lastbox
+ }%
+ \global\totwidth@\wd\@ne
+ \if@fleqn \global\advance\totwidth@\@mathmargin \fi:
+ \global\MH_let:NwN\maxcolumn@widths\@empty
+ \begingroup
+ \MH_let:NwN\or:\relax
+ \loop
+ \global\setbox\@ne\hbox{%
+ \unhbox\@ne \unskip \global\setbox\thr@@\lastbox
+ }%
+ \ifhbox\thr@@
+ \xdef\maxcolumn@widths{ \or: \the\wd\thr@@ \maxcolumn@widths}%
+ \repeat
+ \endgroup
+ \dimen@\displaywidth
+ \advance\dimen@-\totwidth@
+ \if_case:w \xatlevel@
+ \global\alignsep@\z@
+ \MH_let:NwN\minalignsep\z@
+ \@tempcntb\z@
+ \if@fleqn
+ \@tempcnta\@ne
+ \global\eqnshift@\@mathmargin
+ \else:
+ \@tempcnta\tw@
+ \global\eqnshift@\dimen@
+ \global\divide\eqnshift@\@tempcnta
+ \fi:
+ \or:
+ \@tempcntb\maxfields@
+ \divide\@tempcntb\tw@
+ \@tempcnta\@tempcntb
+ \advance\@tempcntb\m@ne
+ \if@fleqn
+ \global\eqnshift@\@mathmargin
+ \global\alignsep@\dimen@
+ \global\divide\alignsep@\@tempcnta
+ \else:
+ \global\advance\@tempcnta\@ne
+ \global\eqnshift@\dimen@
+ \global\divide\eqnshift@\@tempcnta
+ \global\alignsep@\eqnshift@
+ \fi:
+ \or:
+ \@tempcntb\maxfields@
+ \divide\@tempcntb\tw@
+ \global\advance\@tempcntb\m@ne
+ \global\@tempcnta\@tempcntb
+ \global\eqnshift@\z@
+ \global\alignsep@\dimen@
+ \if@fleqn
+ \global\advance\alignsep@\@mathmargin\relax
+ \fi:
+ \global\divide\alignsep@\@tempcntb
+ \fi:
+ \if_dim:w \alignsep@<\minalignsep\relax
+ \global\alignsep@\minalignsep\relax
+ \if_dim:w \eqnshift@>\z@
+ \if@fleqn\else:
+ \global\eqnshift@\displaywidth
+ \global\advance\eqnshift@-\totwidth@
+ \global\advance\eqnshift@-\@tempcntb\alignsep@
+ \global\divide\eqnshift@\tw@
+ \fi:
+ \fi:
+ \fi:
+ \if_dim:w \eqnshift@<\z@
+ \global\eqnshift@\z@
+ \fi:
+ \calc@shift@align
+ \global\tagshift@\totwidth@
+ \global\advance\tagshift@\@tempcntb\alignsep@
+ \if@fleqn
+ \if_num:w \xatlevel@=\tw@
+ \global\advance\tagshift@-\@mathmargin\relax
+ \fi:
+ \else:
+ \global\advance\tagshift@\eqnshift@
+ \fi:
+ \iftagsleft@ \else:
+ \global\advance\tagshift@-\displaywidth
+ \fi:
+ \dimen@\minalignsep\relax
+ \global\advance\totwidth@\@tempcntb\dimen@
+ \if_dim:w \totwidth@>\displaywidth
+ \global\MH_let:NwN\displaywidth@\totwidth@
+ \else:
+ \global\MH_let:NwN\displaywidth@\displaywidth
+ \fi:
+ \endgroup
+}
+\def\EQ_multline_labelhack:n #1{%
+ \begingroup\measuring@false\label@in@display{#1}\endgroup}
+\def\EQ_multline_labelhack_opt:nw #1[#2]{%
+ \begingroup\measuring@false\label@in@display{#1}[#2]\endgroup}
+\def\multline@#1{%
+ \Let@
+ \@display@init{\global\advance\row@\@ne \global\dspbrk@lvl\m@ne}%
+ \chardef\dspbrk@context\z@
+ \restore@math@cr
+ \MH_let:NwN\tag\tag@in@align
+ \global\tag@false \global\MH_let:NwN\raise@tag\default_raisetag:
+ \mmeasure@{#1}%
+ \MH_let:NwN\tag\gobble@tag
+ \MH_let:NwN\label\MT_gobblelabel:w
+ \tabskip \if@fleqn \@mathmargin \else: \z@skip \fi:
+ \totwidth@\displaywidth
+ \if@fleqn
+ \advance\totwidth@-\@mathmargin
+ \fi:
+ \halign\bgroup
+ \hbox to\totwidth@{%
+ \if@fleqn
+ \hskip \@centering \relax
+ \else:
+ \hfil
+ \fi:
+ \strut@
+ $\m@th\displaystyle{}##\endmultline@math
+ \hfil
+ }%
+ \crcr
+ \if@fleqn
+ \hskip-\@mathmargin
+ \def\multline@indent{\hskip\@mathmargin}% put it back
+ \else:
+ \hfilneg
+ \def\multline@indent{\hskip\multlinegap}%
+ \fi:
+ \iftagsleft@
+ \iftag@
+ \begingroup
+ \ifshifttag@
+ \rlap{\vbox{%
+ \normalbaselines
+ \hbox{%
+ \strut@
+ \make@display@tag
+ }%
+ \vbox to\lineht@{}%
+ \raise@tag
+ }}%
+ \multline@indent
+ \else:
+ \setbox\z@\hbox{\make@display@tag}%
+ \dimen@\@mathmargin \advance\dimen@-\wd\z@
+ \if_dim:w \dimen@<\multlinetaggap
+ \dimen@\multlinetaggap
+ \fi:
+ \box\z@ \hskip\dimen@\relax
+ \fi:
+ \endgroup
+ \else:
+ \multline@indent
+ \fi:
+ \else:
+ \multline@indent
+ \fi:
+ #1%
+}
+\def\mmeasure@#1{%
+ \begingroup
+ \measuring@true
+ \def\label##1{%
+ \@ifnextchar[
+ {\EQ_multline_labelhack_opt:nw {##1}}
+ {\EQ_multline_labelhack:n {##1}}
+ }
+ \def\math@cr@@@{\cr}%
+ \MH_let:NwN\shoveleft\@iden \MH_let:NwN\shoveright\@iden
+ \savecounters@
+ \global\row@\z@
+ \setbox\@ne\vbox{%
+ \global\MH_let:NwN\df@tag\@empty
+ \halign{%
+ \setboxz@h{\@lign$\m@th\displaystyle{}##$}%
+ \iftagsleft@
+ \if_num:w \row@=\@ne
+ \global\totwidth@\wdz@
+ \global\lineht@\ht\z@
+ \fi:
+ \else:
+ \global\totwidth@\wdz@
+ \global\lineht@\dp\z@
+ \fi:
+ \crcr
+ #1%
+ \crcr
+ }%
+ }%
+ \if_meaning:NN
+ \df@tag\@empty
+ \else:
+ \global\tag@true
+ \fi:
+ \if@eqnsw\global\tag@true\fi:
+ \iftag@
+ \setboxz@h{%
+ \if@eqnsw
+ \stepcounter{equation}%
+ \tagform@\theequation
+ \else:
+ \df@tag
+ \fi:
+ }%
+ \global\tagwidth@\wdz@
+ \dimen@\totwidth@
+ \advance\dimen@\tagwidth@
+ \advance\dimen@\multlinetaggap
+ \iftagsleft@\else:
+ \if@fleqn
+ \advance\dimen@\@mathmargin
+ \fi:
+ \fi:
+ \if_dim:w \dimen@>\displaywidth
+ \global\shifttag@true
+ \else:
+ \global\shifttag@false
+ \fi:
+ \fi:
+ \restorecounters@
+ \endgroup
+}
+\newlength\mintagvsep
+\mintagvsep5pt
+\def\EQ_only_endmark:{%
+ \MH_set_boolean_T:n {show_manual_tags}
+ \global\tag@true
+ \iftagsleft@
+ \gdef\df@tag{%
+ \hbox to \displaywidth{%
+ \hss
+ \raisebox{-\normallineskip
+ -\depthof{\EQ_outerbox:{}}
+ -\heightof{\EQ_outerbox:{}}
+ -\dp\EQ_mathdisplay_box
+ -\ht\EQ_mathdisplay_box}
+ [0pt][0pt]{\PotEndMark{\maketag@@@}}}}
+ \else:
+ \gdef\df@tag{%
+ \raisebox{-\dp\EQ_mathdisplay_box
+ -\depthof{\EQ_outerbox:{}}}
+ {\PotEndMark{\maketag@@@}}}%
+ \fi:}
+\def\EQ_tag_plus_endmark:{%
+ \iftagsleft@
+ \gdef\maketag@@@##1{%
+ \hfuzz\displaywidth
+ \makebox[\widthof{##1}][l]{%
+ \hbox to \displaywidth{\m@th\normalfont##1\hss
+ \raisebox{-\dp\EQ_mathdisplay_box
+ -\depthof{\EQ_outerbox:{}}}
+ {\PotEndMark{\hss}}}}}%
+ \else:
+ \gdef\maketag@@@##1{%
+ \hbox{\m@th\normalfont##1\llap{\hss\PotEndMark{%
+ \settoheight{\@tempdima}{\@nameuse{\InTheoType Symbol}}%
+ \MH_addtolength:dn \@tempdima
+ {\g_EQ_bottomtag_depth_dim+\mintagvsep}
+ \setlength{\@tempdimb}
+ {\g_EQ_bottomrow_depth_dim+\depthof{\EQ_outerbox:{}}
+ +\depthof{\EQ_innerbox:{}}}
+ \if_dim:w \@tempdima>\@tempdimb
+ \MH_setlength:dn \@tempdima{-\dp\EQ_mathdisplay_box
+ -\@tempdima+\g_EQ_bottomrow_depth_dim}
+ \addtolength{\@tempdima}{\depthof{\EQ_innerbox:{}}}%
+ \def\EQ_next:{\raisebox{\@tempdima}}%
+ \else:
+ \def\EQ_next:{
+ \raisebox{-\dp\EQ_mathdisplay_box
+ -\depthof{\EQ_outerbox:{}}}}%
+ \fi:\EQ_next:}}}}%
+ \fi:}
+\MH_let:NwN \MT_nonumber: \nonumber
+\def\g_EQ_latest_nonzerodepth_row_fint{\z@}
+\renewcommand*\nonumber{
+ \@tempcnta=\row@
+ \if_num:w \l_EQ_equationtype_int=\thr@@
+ \advance\@tempcnta\m@ne
+ \else:
+ \if_num:w \l_EQ_equationtype_int=4\relax
+ \advance\@tempcnta\m@ne
+ \fi:
+ \fi:
+ \if_num:w \g_EQ_latest_nonzerodepth_row_fint=\@tempcnta
+ \else:
+ \global\g_EQ_bottomtag_depth_dim=-\baselineskip
+ \fi:
+ \MT_nonumber:
+}
+\endinput
+%%
+%% End of file `ntheorem.fix'.