Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- LEFTRIGHT<left delimiter><right delimiter>{<contents>}% `mtpro2' exclusive
- left<left delimiter> <contents> right<right delimiter>
- % From `mtpro2.sty'
- DeclareOption{curlybraces}{letmtp@br=c}
- DeclareOption{morphedbraces}{letmtp@br=m}
- DeclareOption{straightbraces}{letmtp@br=s}
- documentclass{article}
- usepackage{mathtools}% loads `amsmath'
- usepackage{newtxtext}
- usepackage[scaled=0.861,lining]{FiraMono}
- defbracesshape{curlybraces}% change here to obtain different braces
- % curlybraces
- % morphedbraces
- % straightbraces
- usepackage[lite,bracesshape]{mtpro2}
- % Patches begin
- makeatletter
- newsavebox{mtp@casesbox}
- % Activate `mathtools' syntax
- MHInternalSyntaxOn
- % Curly braces are used only if `curlybraces' is set
- % From `mtpro2.sty': DeclareOption{curlybraces}{letmtp@br=c}
- MH_if_meaning:NN mtp@br c
- defMTP_MT_start_cases:nnn #1#2#3{ % #1=sep,#2=lpreamble,#3=rpreamble
- RIfM@else
- nonmatherr@{begin{@currenvir}}
- fi
- MH_group_align_safe_begin:
- setboxmtp@casesbox=hboxbgroup$% <- put contents in `mtp@casesbox'
- vcenter bgroup
- Let@ chardefdspbrk@context@ne restore@math@cr
- let math@cr@@AMS@math@cr@@
- spread@equation
- ialignbgroup
- strut@#2 strut@
- #3
- crcr
- }
- defMTP_MH_end_cases:{crcregroup
- restorecolumn@
- egroup
- $egroup% <- close the `hbox'
- MH_group_align_safe_end:
- }
- newcommand*mtp@newcases[6]{% #1=name, #2=sep, #3=lpreamble, #4=rpreamble, #5=left, #6=right
- newenvironment{#1}
- {MTP_MT_start_cases:nnn {#2}{#3}{#4}}
- {MTP_MH_end_cases:LEFTRIGHT#5#6{copymtp@casesbox}}
- }
- newcommand*mtp@renewcases[6]{
- renewenvironment{#1}
- {MTP_MT_start_cases:nnn {#2}{#3}{#4}}
- {MTP_MH_end_cases:LEFTRIGHT#5#6{copymtp@casesbox}}
- }
- mtp@renewcases{dcases}{quad}{%
- $m@thdisplaystyle{##}$hfil}{$m@thdisplaystyle{##}$hfil}{lbrace}{.}
- mtp@renewcases{dcases*}{quad}{%
- $m@thdisplaystyle{##}$hfil}{{##}hfil}{lbrace}{.}
- mtp@renewcases{rcases}{quad}{%
- $m@th{##}$hfil}{$m@th{##}$hfil}{.}{rbrace}
- mtp@renewcases{rcases*}{quad}{%
- $m@th{##}$hfil}{{##}hfil}{.}{rbrace}
- mtp@renewcases{drcases}{quad}{%
- $m@thdisplaystyle{##}$hfil}{$m@thdisplaystyle{##}$hfil}{.}{rbrace}
- mtp@renewcases{drcases*}{quad}{%
- $m@thdisplaystyle{##}$hfil}{{##}hfil}{.}{rbrace}
- mtp@renewcases{cases*}{quad}{%
- $m@th{##}$hfil}{{##}hfil}{lbrace}{.}
- MH_fi:
- % Deactivate `mathtools' syntax
- MHInternalSyntaxOff
- makeatother
- % Patches end
- newcommand*showopendelimitersizes[1]{%
- #1bigl#1Bigl#1biggl#1Biggl#1}
- begin{document}
- section*{texttt{dcases*} in texttt{align} work?}
- verb|dcases*| and friends from verb|mathtools| work,
- iff verb|curlybraces| is set.
- subsection*{Package texttt{mtpro2} options: texttt{lite,bracesshape}}
- begin{align*}
- showopendelimitersizes{lbrace}
- begin{dcases*}
- int_a^b f(x) , mathrm{d}x & Nothing to see here \
- sum_{n=1}^infty frac{1}{n^2} & Otherwise
- end{dcases*}
- end{align*}
- With verb|morphedbraces| or verb|straightbraces|,
- errors appear.
- end{document}
- % Hit <compile>
- ! Package amsmath Error: begin{document} allowed only in math mode.
- See the amsmath package documentation for explanation.
- Type H <return> for immediate help.
- ...
- l.21 nonmatherr@{begin{@currenvir}}
- % Hit <return>
- ! Only one # is allowed per tab.
- l.31 #
- 3
- % Hit <return>
- ! Extra fi.
- l.64 MH_fi:
- % Hit <return>
- ! Undefined control sequence.
- dcases* ->MTP_MT_start_cases:nnn
- {quad }{$m@th displaystyle {##}$hfil ...
- l.85 end{align*}
- ...
Add Comment
Please, Sign In to add comment