Guest User

Untitled

a guest
Aug 18th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.49 KB | None | 0 0
  1. LEFTRIGHT<left delimiter><right delimiter>{<contents>}% `mtpro2' exclusive
  2.  
  3. left<left delimiter> <contents> right<right delimiter>
  4.  
  5. % From `mtpro2.sty'
  6. DeclareOption{curlybraces}{letmtp@br=c}
  7. DeclareOption{morphedbraces}{letmtp@br=m}
  8. DeclareOption{straightbraces}{letmtp@br=s}
  9.  
  10. documentclass{article}
  11. usepackage{mathtools}% loads `amsmath'
  12. usepackage{newtxtext}
  13. usepackage[scaled=0.861,lining]{FiraMono}
  14. defbracesshape{curlybraces}% change here to obtain different braces
  15. % curlybraces
  16. % morphedbraces
  17. % straightbraces
  18. usepackage[lite,bracesshape]{mtpro2}
  19.  
  20. % Patches begin
  21. makeatletter
  22. newsavebox{mtp@casesbox}
  23. % Activate `mathtools' syntax
  24. MHInternalSyntaxOn
  25. % Curly braces are used only if `curlybraces' is set
  26. % From `mtpro2.sty': DeclareOption{curlybraces}{letmtp@br=c}
  27. MH_if_meaning:NN mtp@br c
  28. defMTP_MT_start_cases:nnn #1#2#3{ % #1=sep,#2=lpreamble,#3=rpreamble
  29. RIfM@else
  30. nonmatherr@{begin{@currenvir}}
  31. fi
  32. MH_group_align_safe_begin:
  33. setboxmtp@casesbox=hboxbgroup$% <- put contents in `mtp@casesbox'
  34. vcenter bgroup
  35. Let@ chardefdspbrk@context@ne restore@math@cr
  36. let math@cr@@AMS@math@cr@@
  37. spread@equation
  38. ialignbgroup
  39. strut@#2 &#1strut@
  40. #3
  41. crcr
  42. }
  43. defMTP_MH_end_cases:{crcregroup
  44. restorecolumn@
  45. egroup
  46. $egroup% <- close the `hbox'
  47. MH_group_align_safe_end:
  48. }
  49. newcommand*mtp@newcases[6]{% #1=name, #2=sep, #3=lpreamble, #4=rpreamble, #5=left, #6=right
  50. newenvironment{#1}
  51. {MTP_MT_start_cases:nnn {#2}{#3}{#4}}
  52. {MTP_MH_end_cases:LEFTRIGHT#5#6{copymtp@casesbox}}
  53. }
  54. newcommand*mtp@renewcases[6]{
  55. renewenvironment{#1}
  56. {MTP_MT_start_cases:nnn {#2}{#3}{#4}}
  57. {MTP_MH_end_cases:LEFTRIGHT#5#6{copymtp@casesbox}}
  58. }
  59. mtp@renewcases{dcases}{quad}{%
  60. $m@thdisplaystyle{##}$hfil}{$m@thdisplaystyle{##}$hfil}{lbrace}{.}
  61. mtp@renewcases{dcases*}{quad}{%
  62. $m@thdisplaystyle{##}$hfil}{{##}hfil}{lbrace}{.}
  63. mtp@renewcases{rcases}{quad}{%
  64. $m@th{##}$hfil}{$m@th{##}$hfil}{.}{rbrace}
  65. mtp@renewcases{rcases*}{quad}{%
  66. $m@th{##}$hfil}{{##}hfil}{.}{rbrace}
  67. mtp@renewcases{drcases}{quad}{%
  68. $m@thdisplaystyle{##}$hfil}{$m@thdisplaystyle{##}$hfil}{.}{rbrace}
  69. mtp@renewcases{drcases*}{quad}{%
  70. $m@thdisplaystyle{##}$hfil}{{##}hfil}{.}{rbrace}
  71. mtp@renewcases{cases*}{quad}{%
  72. $m@th{##}$hfil}{{##}hfil}{lbrace}{.}
  73. MH_fi:
  74. % Deactivate `mathtools' syntax
  75. MHInternalSyntaxOff
  76. makeatother
  77. % Patches end
  78.  
  79. newcommand*showopendelimitersizes[1]{%
  80. #1bigl#1Bigl#1biggl#1Biggl#1}
  81.  
  82. begin{document}
  83.  
  84. section*{texttt{dcases*} in texttt{align} work?}
  85. verb|dcases*| and friends from verb|mathtools| work,
  86. iff verb|curlybraces| is set.
  87. subsection*{Package texttt{mtpro2} options: texttt{lite,bracesshape}}
  88. begin{align*}
  89. showopendelimitersizes{lbrace}
  90. begin{dcases*}
  91. int_a^b f(x) , mathrm{d}x & Nothing to see here \
  92. sum_{n=1}^infty frac{1}{n^2} & Otherwise
  93. end{dcases*}
  94. end{align*}
  95. With verb|morphedbraces| or verb|straightbraces|,
  96. errors appear.
  97.  
  98. end{document}
  99.  
  100. % Hit <compile>
  101. ! Package amsmath Error: begin{document} allowed only in math mode.
  102.  
  103. See the amsmath package documentation for explanation.
  104. Type H <return> for immediate help.
  105. ...
  106.  
  107. l.21 nonmatherr@{begin{@currenvir}}
  108.  
  109. % Hit <return>
  110. ! Only one # is allowed per tab.
  111. l.31 #
  112. 3
  113.  
  114. % Hit <return>
  115. ! Extra fi.
  116. l.64 MH_fi:
  117.  
  118. % Hit <return>
  119. ! Undefined control sequence.
  120. dcases* ->MTP_MT_start_cases:nnn
  121. {quad }{$m@th displaystyle {##}$hfil ...
  122. l.85 end{align*}
  123.  
  124. ...
Add Comment
Please, Sign In to add comment