diff options
Diffstat (limited to 'fonts/mtp2lite/texmf')
63 files changed, 9592 insertions, 0 deletions
diff --git a/fonts/mtp2lite/texmf/doc/fonts/mtpro2/EULA-MTPro2.txt b/fonts/mtp2lite/texmf/doc/fonts/mtpro2/EULA-MTPro2.txt new file mode 100644 index 0000000000..994feaf0d3 --- /dev/null +++ b/fonts/mtp2lite/texmf/doc/fonts/mtpro2/EULA-MTPro2.txt @@ -0,0 +1,92 @@ + MTPro II Fonts End User License Agreement + +The MathTime(TM) Professional II Fonts (herein called the "Software") +consists of + + (a) The pfb files for the MathTime Professional II fonts (the "Fonts") + (b) TeX tfm files and PostScript pfm files for the Fonts + (c) TeX macro files for use of the Fonts (the "Macros") + (d) documentation, installation instructions, and any other support + files. + +By purchasing a license to use the Software you agree to the following +terms and conditions: + +1. Personal TeX, Inc. grants End User a nonexclusive license to use +Software on up to five (5) of the licensee's computers, to download +Fonts on up to two (2) printers, and to embed Fonts in documents for +transfer, display, and printout. Any other means of transferring the +Fonts to others, including the transfer of encrypted or unencrypted +versions of the files (such as pfa files made from the pfb files) is +explicitly prohibited. + +2. End User may not sublicense, assign, or transfer the license of the +Software. + +3. End User may not modify the Fonts except for End User's own use: +such modified Fonts may be embedded in documents for transfer, +display, and printout, but any other means of transfer is explicitly +prohibited. + +4. End User may not make, or have made, or permit to be made, any +copies of the Software or portions thereof except as necessary for its +use hereunder, as for example, a back-up copy. End User agrees that +any such copies of the Fonts or Macros shall contain the same +proprietary notices that appear on or in the Fonts or Macros. + +5. Except as stated above, the Agreement does not grant End User any +rights to patents, copyrights, trademarks (whether registered or +unregistered), tradenames, trade secrets, or any other rights, +franchises, or licenses in respect to the Fonts, the Macros, or the +trademarks. End User acknowledges that all proprietary rights in the +Fonts and the Macros remain at all times with Publish or Perish, Inc. +Any use of the trademark MathTime, or mention of the Fonts, in +marketing, advertising, trade, or commerce, except for editorial +reference to Fonts, must mention the trademark MathTime, with the +trademark symbol TM affixed, together with the phrase "MathTime is a +trademark of Publish or Perish, Inc." + +6. End User acknowledges that the laws and regulations of the United +States restrict the export and re-export of commodities and technical +data of United States origin, including the Fonts, in any form without +the appropriate United States and foreign government licenses. End +User agrees that its obligations pursuant to this section shall +survive and continue after any termination or expiration of rights +under this Agreement. + +7. END USER ACKNOWLEDGES THAT NO EXPRESS OR IMPLIED WARRANTIES, +INCLUDING NO WARRANTIES OF MERCHANTABILITY AND FITNESS FOR USE, ARE +PROVIDED WITH RESPECT TO THE TRADEMARKS OR FONTS OR MACROS, AND IN NO +EVENT SHALL PUBLISH OR PERISH, INC., OR PERSONAL TEX, INC. BE LIABLE +FOR ANY SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +OCCURRING FROM THE LICENSE OR SUBLICENSE OF RIGHTS GRANTED HEREUNDER +OR ARISING FROM THE USE OR INABILITY TO USE THE MTPRO II FONTS OR +MACROS. + +8. Term: The License is effective until terminated. Personal TeX, +Inc. has the right to terminate your license immediately if you fail +to comply with any term of this Agreement. Upon any such termination +you will destroy the original and any copies of the Software, +including any copies on any of your computers and printers, and +related documentation, and cease all use of the trademarks. + +9. End User and Personal TeX, Inc. agree that this document +constitutes the complete agreement between the parties and that it +supersedes any previous agreements, either oral or written. This +License can only be assigned or modified by a written agreement duly +signed by persons authorized to sign on behalf of the End User and +Personal TeX, Inc. The License shall be governed by and construed +under the laws of the State of California. The provisions of the +United Nations Convention on The International Sales of Good are +hereby disclaimed and excluded. The prevailing party in any legal +action brought to enforce this License shall be entitled to reasonable +attorney's fees and costs. Either party may bring suit under this +License in San Francisco County, California. + +10. Publish or Perish, Inc. is a third-party beneficiary of this +license agreement and has the right to enforce any and all obligations +of the license. + +MathTime is a trademark of Publish or Perish, Inc. + +Personal TeX, Inc. www.pctex.com November 2009 diff --git a/fonts/mtp2lite/texmf/doc/fonts/mtpro2/EULA-MTPro2Lite.txt b/fonts/mtp2lite/texmf/doc/fonts/mtpro2/EULA-MTPro2Lite.txt new file mode 100644 index 0000000000..96edf4d4e1 --- /dev/null +++ b/fonts/mtp2lite/texmf/doc/fonts/mtpro2/EULA-MTPro2Lite.txt @@ -0,0 +1,92 @@ + MTPro II Lite Fonts End User License Agreement + +The MathTime(TM) Professional II Lite Fonts (herein called the +"Software") consists of + + (a) The pfb files for the MathTime Professional II Lite fonts (the + "Fonts") + (b) TeX tfm files and PostScript pfm files for the Fonts + (c) TeX macro files for use of the Fonts (the "Macros") + (d) documentation, installation instructions, and any other support + files. + +By using the Software you agree to the following terms and conditions: + +1. Personal TeX, Inc. grants End User a nonexclusive license to use +Software on up to five (5) of the licensee's computers, to download +Fonts on up to two (2) printers, and to embed Fonts in documents for +transfer, display, and printout. Any other means of transferring the +Fonts to others, including the transfer of encrypted or unencrypted +versions of the files (such as pfa files made from the pfb files) is +explicitly prohibited. + +2. End User may not sublicense, assign, or transfer the license of the +Software. + +3. End User may not modify the Fonts except for End User's own use: +such modified Fonts may be embedded in documents for transfer, +display, and printout, but any other means of transfer is explicitly +prohibited. + +4. End User may not make, or have made, or permit to be made, any +copies of the Software or portions thereof except as necessary for its +use hereunder, as for example, a back-up copy. End User agrees that +any such copies of the Fonts or Macros shall contain the same +proprietary notices that appear on or in the Fonts or Macros. + +5. Except as stated above, the Agreement does not grant End User any +rights to patents, copyrights, trademarks (whether registered or +unregistered), tradenames, trade secrets, or any other rights, +franchises, or licenses in respect to the Fonts, the Macros, or the +trademarks. End User acknowledges that all proprietary rights in the +Fonts and the Macros remain at all times with Publish or Perish, Inc. +Any use of the trademark MathTime, or mention of the Fonts, in +marketing, advertising, trade, or commerce, except for editorial +reference to Fonts, must mention the trademark MathTime, with the +trademark symbol TM affixed, together with the phrase "MathTime is a +trademark of Publish or Perish, Inc." + +6. End User acknowledges that the laws and regulations of the United +States restrict the export and re-export of commodities and technical +data of United States origin, including the Fonts, in any form without +the appropriate United States and foreign government licenses. End +User agrees that its obligations pursuant to this section shall +survive and continue after any termination or expiration of rights +under this Agreement. + +7. END USER ACKNOWLEDGES THAT NO EXPRESS OR IMPLIED WARRANTIES, +INCLUDING NO WARRANTIES OF MERCHANTABILITY AND FITNESS FOR USE, ARE +PROVIDED WITH RESPECT TO THE TRADEMARKS OR FONTS OR MACROS, AND IN NO +EVENT SHALL PUBLISH OR PERISH, INC., OR PERSONAL TEX, INC. BE LIABLE +FOR ANY SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +OCCURRING FROM THE LICENSE OR SUBLICENSE OF RIGHTS GRANTED HEREUNDER +OR ARISING FROM THE USE OR INABILITY TO USE THE MTPRO II FONTS OR +MACROS. + +8. Term: The License is effective until terminated. Personal TeX, +Inc. has the right to terminate your license immediately if you fail +to comply with any term of this Agreement. Upon any such termination +you will destroy the original and any copies of the Software, +including any copies on any of your computers and printers, and +related documentation, and cease all use of the trademarks. + +9. End User and Personal TeX, Inc. agree that this document +constitutes the complete agreement between the parties and that it +supersedes any previous agreements, either oral or written. This +License can only be assigned or modified by a written agreement duly +signed by persons authorized to sign on behalf of the End User and +Personal TeX, Inc. The License shall be governed by and construed +under the laws of the State of California. The provisions of the +United Nations Convention on The International Sales of Good are +hereby disclaimed and excluded. The prevailing party in any legal +action brought to enforce this License shall be entitled to reasonable +attorney's fees and costs. Either party may bring suit under this +License in San Francisco County, California. + +10. Publish or Perish, Inc. is a third-party beneficiary of this +license agreement and has the right to enforce any and all obligations +of the license. + +MathTime is a trademark of Publish or Perish, Inc. + +Personal TeX, Inc. www.pctex.com November 2009 diff --git a/fonts/mtp2lite/texmf/doc/fonts/mtpro2/guide2.pdf b/fonts/mtp2lite/texmf/doc/fonts/mtpro2/guide2.pdf Binary files differnew file mode 100644 index 0000000000..f8024857bd --- /dev/null +++ b/fonts/mtp2lite/texmf/doc/fonts/mtpro2/guide2.pdf diff --git a/fonts/mtp2lite/texmf/doc/fonts/mtpro2/mtpro2.pdf b/fonts/mtp2lite/texmf/doc/fonts/mtpro2/mtpro2.pdf Binary files differnew file mode 100644 index 0000000000..f9871c5e1a --- /dev/null +++ b/fonts/mtp2lite/texmf/doc/fonts/mtpro2/mtpro2.pdf diff --git a/fonts/mtp2lite/texmf/doc/fonts/mtpro2/testMTP2LaTeX.pdf b/fonts/mtp2lite/texmf/doc/fonts/mtpro2/testMTP2LaTeX.pdf Binary files differnew file mode 100644 index 0000000000..3427c8f84c --- /dev/null +++ b/fonts/mtp2lite/texmf/doc/fonts/mtpro2/testMTP2LaTeX.pdf diff --git a/fonts/mtp2lite/texmf/doc/fonts/mtpro2/testMTP2LaTeX.tex b/fonts/mtp2lite/texmf/doc/fonts/mtpro2/testMTP2LaTeX.tex new file mode 100644 index 0000000000..9096d3edab --- /dev/null +++ b/fonts/mtp2lite/texmf/doc/fonts/mtpro2/testMTP2LaTeX.tex @@ -0,0 +1,146 @@ +\documentclass{article} +\usepackage[lite,subscriptcorrection,slantedGreek,nofontinfo]{mtpro2} +\headheight0pt\headsep0pt +\textheight210mm\textwidth165mm\oddsidemargin0pt +\newcommand{\TEST}[1]{\[#1\] \[2^{#1}\] \[2^{2^{#1}}\]} +\begin{document} + +Our math formulas, like $x^n+y^n=z^n$, and +\[ +\sum_{i=1}^n \sin x+i^{\sin x}+ i^{i^{\sin x}} +\] +are going to be using the MathTime Professional~2 fonts, but the text +font is just Computer Modern (the letters for `sin' are +going to come from cmr10, cmr7 and cmr5). + +Here are some math formulas that should all work out OK. + + +\TEST{A,\ldots,Z\qquad a,\dots,z\qquad \Gamma,\ldots,\Omega\qquad +\upGamma,\ldots,\upOmega \qquad\alpha,\ldots,\omega} + +\TEST{\aleph_\alpha\times\aleph_\beta=\beta \iff \alpha\le\beta} + +\TEST{\forall \varepsilon>\alpha, +\Gamma_\alpha\hookrightarrow\Gamma_\varepsilon} + +\TEST{|x-a|<\delta\Longrightarrow|f(x)-l|<\varepsilon} + +\TEST{\underbrace{V\times\cdots\times V}_k\times\underbrace{V\times\cdots\times +V}_l \to \underbrace{V\times\cdots\times V}_{k+l}} + +\TEST{\{x|x\ne x\}=\emptyset\qquad(A\cap B)^\circ\subset A^\circ\cap +B^\circ} + +\TEST{\omega=\nu+v(x,y)\,dx +w(x,y)\,dy +d\varkappa} + +\TEST{d\omega=d\nu+\left({\partial w\over \partial x}-{\partial v\over +\partial y}\right)\,dx\wedge dy} + +\TEST{\hat x+\widehat X+\widehat{xy}+\widehat{xyz}+\vec A} + +\TEST{R_{ijkl}=-R_{jikl}=-R_{ijlk}=R_{klij}} + +\TEST{(f\comp g)'(x)=f'(g(x))\cdot g'(x)} + +\TEST{f(x)=\cases{|x|&$x>a$\cr -|x|&$x\le a$\cr}} + +\TEST{\int_{-\infty}^\infty e^{-x\cdot x}\,dx =\sqrt\pi} + +\TEST{X=\sum_i\xi^i{\partial\over\partial +x^i}+\sum_jx^j{\partial\over\partial \dot x^j}} + +Bold letters in math can be taken from the Times bold +symbols: +\[ +A_{\mbf{X}}(f)=\mbf{X(f)}=2^\mbf{2^{X(g)}} +\] + + +We can also get `calligraphic' letters: +\[ +\mathcal{A},\mathcal{B},\dots,\mathcal{Z} +\] + +\bigskip + +Compare + +\[ +X_f +X_j+X_p+X_t+X_y+X_A+X_B+X_D+X_H+X_I+X_K+X_L+X_M+X_P+X_X +\] +with the following (with no adjustments): +\[ +X_{\kern0ptf} ++X_{\kern0ptj}+X_{\kern0ptp}+X_{\kern0ptt}+X_{\kern0pty}+X_{\kern0ptA}+ +X_{\kern0ptB}+X_{\kern0ptD}+X_{\kern0ptH}+X_{\kern0ptI}+X_{\kern0ptK}+X_{\kern0ptL} ++X_{\kern0ptM}+X_{\kern0ptP}+X_{\kern0ptX} +\] + +We have the special accent +\[\oacc x\] +and can replace +\[ +\dot\Gamma+\ddot\Gamma +\] +with +\[ +\dotup\Gamma+\ddotup\Gamma +\] + +There are +\[ +\hat A+\what A +\wwhat A+\widehat A+ ++\hat M +\what M +\wwhat M +\widehat M + +\widehat{xy}+ \widehat{xyz}+\widehat{xyzw}+ +\widehat{x+y+z+\cdots+w} +\] +and +\[ +\tilde A+\wtilde A +\wwtilde A+\widetilde A+ ++\tilde M +\wtilde M +\wwtilde M +\widetilde M + +\widetilde{xy}+ \widetilde{xyz}+\widetilde{xyzw}+ +\widetilde{x+y+z+\cdots+w} +\] +and +\[ +\check A+\wcheck A +\wwcheck A+\widecheck A+ ++\check M +\wcheck M +\wwcheck M +\widecheck M + +\widecheck{xy}+ \widecheck{xyz}+\widecheck{xyzw}+ +\widecheck{x+y+z+\cdots+w} +\] +and +\[ +\bar M +\wbar M + \wwbar M +\overline{x+y+z} +\] + +We have +\[ +\alpha _c^{-1}\cdot \alpha _c{}'= +\left(\matrix{ +0 & 0 & \ldots & -\varkappa_1\cr +1 & 0 & & -\varkappa_2\cr +0 & 1 & & \vdots \cr +\vdots & \vdots& & -\varkappa_{n-1}\cr +0 & 0 & \ldots 1 & 0\cr} +\right) +\] +versus +\[ +\alpha _c^{-1}\cdot \alpha _c{}'= +\PARENS{\matrix{ +0 & 0 & \ldots & -\varkappa_1\cr +1 & 0 & & -\varkappa_2\cr +0 & 1 & & \vdots \cr +\vdots & \vdots& & -\varkappa_{n-1}\cr +0 & 0 & \ldots 1 & 0\cr}} +\] + + +Similarly, instead of having to rely on an extensible square root symbol, +we can also get individually designed ones: +\[ +\sqrt{\sum_{i=1}^n (y^i -x^i )^2 } \quad \mbox{vs.}\quad \SQRT{\sum_{i=1}^n (y^i -x^i )^2 } +\] + +\end{document} diff --git a/fonts/mtp2lite/texmf/dvips/mtpro2/mtpro2.map b/fonts/mtp2lite/texmf/dvips/mtpro2/mtpro2.map new file mode 100644 index 0000000000..42d176889f --- /dev/null +++ b/fonts/mtp2lite/texmf/dvips/mtpro2/mtpro2.map @@ -0,0 +1,175 @@ +% +% PUBLISH OR PERISH MTPro2 FONTS +% +% +% BEGINNING OF THE "LITE" PACKAGE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% +% FAMILIES 1, 2, 3 +% +% Family 1; Math Italic +% +mt2mif MT2MIF <mt2mif.pfb +mt2mis MT2MIS <mt2mis.pfb +mt2mit MT2MIT <mt2mit.pfb +% +% Family 2; SYmbol +% +mt2syf MT2SYF <mt2syf.pfb +mt2sys MT2SYS <mt2sys.pfb +mt2syt MT2SYT <mt2syt.pfb +% +% Family 3; EXtension fonts (extended version) plus fonts for extra large operators +% +mt2exa MT2EXA <mt2exa.pfb +mt2exe MT2EXE <mt2exe.pfb +mt2exf MT2EXF <mt2exf.pfb +mt2exg MT2EXG <mt2exg.pfb +mt2xl MT2XL <mt2xl.pfb +mt2xxxl MT2XXXL <mt2xxxl.pfb +% +% +% Math Bold (Bold letters with adjusted sidebearings) +% +mt2mbf MT2MBF <mt2mbf.pfb +mt2mbs MT2MBS <mt2mbs.pfb +mt2mbt MT2MBT <mt2mbt.pfb +% +% +% END OF THE "LITE" PACKAGE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% +% BOLD MATH +% +% Bold Math Italic Family +% +mt2bmif MT2BMIF <mt2bmif.pfb +mt2bmis MT2BMIS <mt2bmis.pfb +mt2bmit MT2BMIT <mt2bmit.pfb +% +% Bold SYmbol Family +% +mt2bsyf MT2BSYF <mt2bsyf.pfb +mt2bsys MT2BSYS <mt2bsys.pfb +mt2bsyt MT2BSYT <mt2bsyt.pfb +% +% Bold EXtension Font +% +mt2bexa MT2BEXA <mt2bexa.pfb +% +% +% HEAVY MATH +% +% Heavy Math Italic Family %% Used only for LaTeX, not for plain TeX +% +mt2hmif MT2HMIF <mt2hmif.pfb +mt2hmis MT2HMIS <mt2hmis.pfb +mt2hmit MT2HMIT <mt2hmit.pfb +% +% Heavy SYmbol Family +% +mt2hsyf MT2HSYF <mt2hsyf.pfb +mt2hsys MT2HSYS <mt2hsys.pfb +mt2hsyt MT2HSYT <mt2hsyt.pfb +% +% Heavy EXtension Font +% +mt2hexa MT2HEXA <mt2hexa.pfb +% +% +% SYmbolsA +% +mt2syaf MT2SYAF <mt2syaf.pfb +mt2syas MT2SYAS <mt2syas.pfb +mt2syat MT2SYAT <mt2syat.pfb +% +% +% Bold SYmbolsA +% +mt2bsyaf MT2BSYAF <mt2bsyaf.pfb +mt2bsyas MT2BSYAS <mt2bsyas.pfb +mt2bsyat MT2BSYAT <mt2bsyat.pfb +% +% +% Heavy SYmbolsA +% +mt2hsyaf MT2HSYAF <mt2hsyaf.pfb +mt2hsyas MT2HSYAS <mt2hsyas.pfb +mt2hsyat MT2HSYAT <mt2hsyat.pfb +% +% +% Blackboard Bold +% +mt2bbf MT2BBF <mt2bbf.pfb +mt2bbs MT2BBS <mt2bbs.pfb +mt2bbt MT2BBT <mt2bbt.pfb +% +% +% Blackboard Bold Dark +% +mt2bbdf MT2BBDF <mt2bbdf.pfb +mt2bbds MT2BBDS <mt2bbds.pfb +mt2bbdt MT2BBDT <mt2bbdt.pfb +% +% +% Holey Roman Bold +% +mt2hrbf MT2HRBF <mt2hrbf.pfb +mt2hrbs MT2HRBS <mt2hrbs.pfb +mt2hrbt MT2HRBT <mt2hrbt.pfb +% +% +% Holey Roman Bold Dark +% +mt2hrbdf MT2HRBDF <mt2hrbdf.pfb +mt2hrbds MT2HRBDS <mt2hrbds.pfb +mt2hrbdt MT2HRBDT <mt2hrbdt.pfb +% +% +% Math Script +% +mt2msf MT2MSF <mt2msf.pfb +mt2mss MT2MSS <mt2mss.pfb +mt2mst MT2MST <mt2mst.pfb +% +% +% Bold Math Script +% +mt2bmsf MT2BMSF <mt2bmsf.pfb +mt2bmss MT2BMSS <mt2bmss.pfb +mt2bmst MT2BMST <mt2bmst.pfb +% +% +% Math Curly +% +mt2mcf MT2MCF <mt2mcf.pfb +mt2mcs MT2MCS <mt2mcs.pfb +mt2mct MT2MCT <mt2mct.pfb +% +% +% Math Fraktur +% +mt2mff MT2MFF <mt2mff.pfb +mt2mfs MT2MFS <mt2mfs.pfb +mt2mft MT2MFT <mt2mft.pfb +% +% +% Bold Math Fraktur +% +mt2bmff MT2BMFF <mt2bmff.pfb +mt2bmfs MT2BMFS <mt2bmfs.pfb +mt2bmft MT2BMFT <mt2bmft.pfb +% +% +% Blackboard Bold Italic +% +mt2bbif MT2BBIF <mt2bbif.pfb +mt2bbis MT2BBIS <mt2bbis.pfb +mt2bbit MT2BBIT <mt2bbit.pfb +% +% +% Holey Bold Italic +% +mt2hbif MT2HBIF <mt2hbif.pfb +mt2hbis MT2HBIS <mt2hbis.pfb +mt2hbit MT2HBIT <mt2hbit.pfb diff --git a/fonts/mtp2lite/texmf/fonts/map/dvips/mtpro2/mtpro2.map b/fonts/mtp2lite/texmf/fonts/map/dvips/mtpro2/mtpro2.map new file mode 100644 index 0000000000..42d176889f --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/map/dvips/mtpro2/mtpro2.map @@ -0,0 +1,175 @@ +% +% PUBLISH OR PERISH MTPro2 FONTS +% +% +% BEGINNING OF THE "LITE" PACKAGE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% +% FAMILIES 1, 2, 3 +% +% Family 1; Math Italic +% +mt2mif MT2MIF <mt2mif.pfb +mt2mis MT2MIS <mt2mis.pfb +mt2mit MT2MIT <mt2mit.pfb +% +% Family 2; SYmbol +% +mt2syf MT2SYF <mt2syf.pfb +mt2sys MT2SYS <mt2sys.pfb +mt2syt MT2SYT <mt2syt.pfb +% +% Family 3; EXtension fonts (extended version) plus fonts for extra large operators +% +mt2exa MT2EXA <mt2exa.pfb +mt2exe MT2EXE <mt2exe.pfb +mt2exf MT2EXF <mt2exf.pfb +mt2exg MT2EXG <mt2exg.pfb +mt2xl MT2XL <mt2xl.pfb +mt2xxxl MT2XXXL <mt2xxxl.pfb +% +% +% Math Bold (Bold letters with adjusted sidebearings) +% +mt2mbf MT2MBF <mt2mbf.pfb +mt2mbs MT2MBS <mt2mbs.pfb +mt2mbt MT2MBT <mt2mbt.pfb +% +% +% END OF THE "LITE" PACKAGE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% +% BOLD MATH +% +% Bold Math Italic Family +% +mt2bmif MT2BMIF <mt2bmif.pfb +mt2bmis MT2BMIS <mt2bmis.pfb +mt2bmit MT2BMIT <mt2bmit.pfb +% +% Bold SYmbol Family +% +mt2bsyf MT2BSYF <mt2bsyf.pfb +mt2bsys MT2BSYS <mt2bsys.pfb +mt2bsyt MT2BSYT <mt2bsyt.pfb +% +% Bold EXtension Font +% +mt2bexa MT2BEXA <mt2bexa.pfb +% +% +% HEAVY MATH +% +% Heavy Math Italic Family %% Used only for LaTeX, not for plain TeX +% +mt2hmif MT2HMIF <mt2hmif.pfb +mt2hmis MT2HMIS <mt2hmis.pfb +mt2hmit MT2HMIT <mt2hmit.pfb +% +% Heavy SYmbol Family +% +mt2hsyf MT2HSYF <mt2hsyf.pfb +mt2hsys MT2HSYS <mt2hsys.pfb +mt2hsyt MT2HSYT <mt2hsyt.pfb +% +% Heavy EXtension Font +% +mt2hexa MT2HEXA <mt2hexa.pfb +% +% +% SYmbolsA +% +mt2syaf MT2SYAF <mt2syaf.pfb +mt2syas MT2SYAS <mt2syas.pfb +mt2syat MT2SYAT <mt2syat.pfb +% +% +% Bold SYmbolsA +% +mt2bsyaf MT2BSYAF <mt2bsyaf.pfb +mt2bsyas MT2BSYAS <mt2bsyas.pfb +mt2bsyat MT2BSYAT <mt2bsyat.pfb +% +% +% Heavy SYmbolsA +% +mt2hsyaf MT2HSYAF <mt2hsyaf.pfb +mt2hsyas MT2HSYAS <mt2hsyas.pfb +mt2hsyat MT2HSYAT <mt2hsyat.pfb +% +% +% Blackboard Bold +% +mt2bbf MT2BBF <mt2bbf.pfb +mt2bbs MT2BBS <mt2bbs.pfb +mt2bbt MT2BBT <mt2bbt.pfb +% +% +% Blackboard Bold Dark +% +mt2bbdf MT2BBDF <mt2bbdf.pfb +mt2bbds MT2BBDS <mt2bbds.pfb +mt2bbdt MT2BBDT <mt2bbdt.pfb +% +% +% Holey Roman Bold +% +mt2hrbf MT2HRBF <mt2hrbf.pfb +mt2hrbs MT2HRBS <mt2hrbs.pfb +mt2hrbt MT2HRBT <mt2hrbt.pfb +% +% +% Holey Roman Bold Dark +% +mt2hrbdf MT2HRBDF <mt2hrbdf.pfb +mt2hrbds MT2HRBDS <mt2hrbds.pfb +mt2hrbdt MT2HRBDT <mt2hrbdt.pfb +% +% +% Math Script +% +mt2msf MT2MSF <mt2msf.pfb +mt2mss MT2MSS <mt2mss.pfb +mt2mst MT2MST <mt2mst.pfb +% +% +% Bold Math Script +% +mt2bmsf MT2BMSF <mt2bmsf.pfb +mt2bmss MT2BMSS <mt2bmss.pfb +mt2bmst MT2BMST <mt2bmst.pfb +% +% +% Math Curly +% +mt2mcf MT2MCF <mt2mcf.pfb +mt2mcs MT2MCS <mt2mcs.pfb +mt2mct MT2MCT <mt2mct.pfb +% +% +% Math Fraktur +% +mt2mff MT2MFF <mt2mff.pfb +mt2mfs MT2MFS <mt2mfs.pfb +mt2mft MT2MFT <mt2mft.pfb +% +% +% Bold Math Fraktur +% +mt2bmff MT2BMFF <mt2bmff.pfb +mt2bmfs MT2BMFS <mt2bmfs.pfb +mt2bmft MT2BMFT <mt2bmft.pfb +% +% +% Blackboard Bold Italic +% +mt2bbif MT2BBIF <mt2bbif.pfb +mt2bbis MT2BBIS <mt2bbis.pfb +mt2bbit MT2BBIT <mt2bbit.pfb +% +% +% Holey Bold Italic +% +mt2hbif MT2HBIF <mt2hbif.pfb +mt2hbis MT2HBIS <mt2hbis.pfb +mt2hbit MT2HBIT <mt2hbit.pfb diff --git a/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2exa.tfm b/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2exa.tfm Binary files differnew file mode 100644 index 0000000000..8ef392eec7 --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2exa.tfm diff --git a/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2exe.tfm b/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2exe.tfm Binary files differnew file mode 100644 index 0000000000..0751f256a3 --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2exe.tfm diff --git a/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2exf.tfm b/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2exf.tfm Binary files differnew file mode 100644 index 0000000000..c1fe5d1a35 --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2exf.tfm diff --git a/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2exg.tfm b/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2exg.tfm Binary files differnew file mode 100644 index 0000000000..b22610a06d --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2exg.tfm diff --git a/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2mbf.tfm b/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2mbf.tfm Binary files differnew file mode 100644 index 0000000000..3dc81e98fe --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2mbf.tfm diff --git a/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2mbs.tfm b/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2mbs.tfm Binary files differnew file mode 100644 index 0000000000..097d8ffe6a --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2mbs.tfm diff --git a/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2mbt.tfm b/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2mbt.tfm Binary files differnew file mode 100644 index 0000000000..5a97290464 --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2mbt.tfm diff --git a/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2mif.tfm b/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2mif.tfm Binary files differnew file mode 100644 index 0000000000..af3291984f --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2mif.tfm diff --git a/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2mis.tfm b/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2mis.tfm Binary files differnew file mode 100644 index 0000000000..05e39c8a2c --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2mis.tfm diff --git a/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2mit.tfm b/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2mit.tfm Binary files differnew file mode 100644 index 0000000000..92848f0ea4 --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2mit.tfm diff --git a/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2syf.tfm b/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2syf.tfm Binary files differnew file mode 100644 index 0000000000..510be2307e --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2syf.tfm diff --git a/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2sys.tfm b/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2sys.tfm Binary files differnew file mode 100644 index 0000000000..28c60affe1 --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2sys.tfm diff --git a/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2syt.tfm b/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2syt.tfm Binary files differnew file mode 100644 index 0000000000..a4b236287b --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2syt.tfm diff --git a/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2xl.tfm b/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2xl.tfm Binary files differnew file mode 100644 index 0000000000..6d3c54cd5c --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2xl.tfm diff --git a/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2xxxl.tfm b/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2xxxl.tfm Binary files differnew file mode 100644 index 0000000000..0e09241d46 --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/tfm/pctex/mtpro2/mt2xxxl.tfm diff --git a/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2exa.pfb b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2exa.pfb Binary files differnew file mode 100644 index 0000000000..19995faea2 --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2exa.pfb diff --git a/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2exa.pfm b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2exa.pfm Binary files differnew file mode 100644 index 0000000000..6648375c46 --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2exa.pfm diff --git a/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2exe.pfb b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2exe.pfb Binary files differnew file mode 100644 index 0000000000..6f8f8b9755 --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2exe.pfb diff --git a/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2exe.pfm b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2exe.pfm Binary files differnew file mode 100644 index 0000000000..8b202997d8 --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2exe.pfm diff --git a/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2exf.pfb b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2exf.pfb Binary files differnew file mode 100644 index 0000000000..338053dff4 --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2exf.pfb diff --git a/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2exf.pfm b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2exf.pfm Binary files differnew file mode 100644 index 0000000000..54221b46d5 --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2exf.pfm diff --git a/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2exg.pfb b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2exg.pfb Binary files differnew file mode 100644 index 0000000000..3dde134132 --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2exg.pfb diff --git a/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2exg.pfm b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2exg.pfm Binary files differnew file mode 100644 index 0000000000..1eccccceb4 --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2exg.pfm diff --git a/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mbf.pfb b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mbf.pfb Binary files differnew file mode 100644 index 0000000000..a02c95c7c3 --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mbf.pfb diff --git a/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mbf.pfm b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mbf.pfm Binary files differnew file mode 100644 index 0000000000..91a555e436 --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mbf.pfm diff --git a/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mbs.pfb b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mbs.pfb Binary files differnew file mode 100644 index 0000000000..b5df4f5369 --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mbs.pfb diff --git a/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mbs.pfm b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mbs.pfm Binary files differnew file mode 100644 index 0000000000..60662e95ee --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mbs.pfm diff --git a/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mbt.pfb b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mbt.pfb Binary files differnew file mode 100644 index 0000000000..05055dfbbe --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mbt.pfb diff --git a/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mbt.pfm b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mbt.pfm Binary files differnew file mode 100644 index 0000000000..6c6c5bbc42 --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mbt.pfm diff --git a/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mif.pfb b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mif.pfb Binary files differnew file mode 100644 index 0000000000..792d7275a8 --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mif.pfb diff --git a/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mif.pfm b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mif.pfm Binary files differnew file mode 100644 index 0000000000..5d57957258 --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mif.pfm diff --git a/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mis.pfb b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mis.pfb Binary files differnew file mode 100644 index 0000000000..b6a39ff154 --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mis.pfb diff --git a/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mis.pfm b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mis.pfm Binary files differnew file mode 100644 index 0000000000..09a1509ada --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mis.pfm diff --git a/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mit.pfb b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mit.pfb Binary files differnew file mode 100644 index 0000000000..edac24f84e --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mit.pfb diff --git a/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mit.pfm b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mit.pfm Binary files differnew file mode 100644 index 0000000000..0f60e8b403 --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2mit.pfm diff --git a/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2syf.pfb b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2syf.pfb Binary files differnew file mode 100644 index 0000000000..f5d1f3222a --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2syf.pfb diff --git a/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2syf.pfm b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2syf.pfm Binary files differnew file mode 100644 index 0000000000..efb1ef6830 --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2syf.pfm diff --git a/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2sys.pfb b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2sys.pfb Binary files differnew file mode 100644 index 0000000000..531e830cef --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2sys.pfb diff --git a/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2sys.pfm b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2sys.pfm Binary files differnew file mode 100644 index 0000000000..144b7a2951 --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2sys.pfm diff --git a/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2syt.pfb b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2syt.pfb Binary files differnew file mode 100644 index 0000000000..8630dd4077 --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2syt.pfb diff --git a/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2syt.pfm b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2syt.pfm Binary files differnew file mode 100644 index 0000000000..77fa1d8a59 --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2syt.pfm diff --git a/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2xl.pfb b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2xl.pfb Binary files differnew file mode 100644 index 0000000000..b8b8d86a74 --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2xl.pfb diff --git a/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2xl.pfm b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2xl.pfm Binary files differnew file mode 100644 index 0000000000..aa26524e41 --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2xl.pfm diff --git a/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2xxxl.pfb b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2xxxl.pfb Binary files differnew file mode 100644 index 0000000000..ebf482a8ec --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2xxxl.pfb diff --git a/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2xxxl.pfm b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2xxxl.pfm Binary files differnew file mode 100644 index 0000000000..03723e01bc --- /dev/null +++ b/fonts/mtp2lite/texmf/fonts/type1/pctex/mtpro2/mt2xxxl.pfm diff --git a/fonts/mtp2lite/texmf/source/latex/mtpro2/mtpro2.dtx b/fonts/mtp2lite/texmf/source/latex/mtpro2/mtpro2.dtx new file mode 100644 index 0000000000..d26508ab37 --- /dev/null +++ b/fonts/mtp2lite/texmf/source/latex/mtpro2/mtpro2.dtx @@ -0,0 +1,4137 @@ +%\iffalse +%% Copyright 1996 1997 Frank Mittelbach and David Carlisle. +%% Copyright 2001--2009 Frank Mittelbach, David Carlisle, Walter Schmidt, Mike Spivak +%<*dtx> + \ProvidesFile{mtpro2.dtx} +%</dtx> +%<mtpro>\NeedsTeXFormat{LaTeX2e}[1997/06/01] +%<mtpro>\ProvidesPackage{mtpro2} +%<Umtms>\ProvidesFile{umtms.fd}% +%<omslbm>\ProvidesFile{omslbm.fd}% +%<umt2bb>\ProvidesFile{umt2bb.fd}% +%<umt2hrb>\ProvidesFile{umt2hrb.fd}% +%<umt2ms>\ProvidesFile{umt2ms.fd}% +%<umt2mf>\ProvidesFile{umt2mf.fd}% +%<driver>\ProvidesFile{mtpro.drv} +% \fi +% \ProvidesFile{mtpro2.dtx} + [2009/4/27 v2.3 +%<mtpro> MathTimePro II - added arc accents +%<mtpro> MathTimePro II - fixed rbrace problem with straightbraces and morphedbraces options +%<fdfiles>,<mtpro> Revised skewchars for math accents +%<mtpro> MathTimePro II - fix bug with z = \backslash widetilde{\backslash sum_{x }}% +%<mtpro> MathTimePro II v2 font support (PCTeX/WaS)% +%<mtpro> MathTimePro II v2.1a Allowed alternate form of I in Math Script Fonts (MS)% +%<Umtms> Math Time Plus Script (FMi)% +%<omslbm> Lucida New Math Symbols (PCTeX/WaS)% +%<umt2bb> MathTimePro II Blackboard Bold (PCTeX/WaS)% +%<umt2hrb> MathTimePro II Holey Roman Bold (PCTeX/WaS)% +%<umt2ms> MathTimePro II Script (PCTeX/WaS)% +%<umt2mf> MathTimePro II Fraktur (PCTeX/WaS)% +] +% +% \iffalse +% +%<*driver> +\documentclass[11pt]{ltxdoc} +\usepackage[T1]{fontenc} +\usepackage{textcomp} +\OnlyDescription +% +% *** We are using Times, Helvetica and MathTime Professional at 11pt. *** +% *** Do NOT change this through ltxdoc.cfg! *** +\usepackage[scaled=0.92]{helvet} +\renewcommand{\rmdefault}{ptm} +\usepackage[mtpfrak,mtpscr,mtpccal]{mtpro2} +\usepackage{pifont,graphics} +% +\usepackage{xspace} +\usepackage{manfnt} +\newcommand{\danger}{\marginpar[\hfill\textdbend]{\textdbend\hfill}} +\newcommand*{\Lpack}[1]{\mbox{\sffamily #1}} +\newcommand*{\Lopt}[1]{\textsf{#1}} +\renewcommand{\labelitemi}{$\triangleright$} +\newcommand{\mathtime}{{\itshape MathT\kern-.05em\i me}\xspace} +\newcommand{\mtpro}{{\itshape MathT\kern-.05em\i meProfes\-sional\/}\xspace} +\newcommand{\mtplus}{{\itshape MathT\kern-.05em\i me\/}~Plus\xspace} +% the (La)TeX logos for use with Times-Roman +\def\ptmTeX{T\kern-.1667em\lower.5ex\hbox{E}\kern-.075emX\@} +\makeatletter +\DeclareRobustCommand{\ptmLaTeX}{L\kern-.255em + {\setbox0\hbox{T}% + \vbox to\ht0{\hbox{% + \csname S@\f@size\endcsname + \fontsize\sf@size\z@ + \math@fontsfalse\selectfont + A}% + \vss}% + }% + \kern-.10em + \TeX} +\setlength{\@fptop}{0\p@ \@plus 1fil} +\setlength{\@fpsep}{8\p@ \@plus 2fil} +\setlength{\@fpbot}{0\p@\@plus 2fil} +\let\zswash\mtp@@z +\makeatother +\renewcommand{\floatpagefraction}{.6} +\renewcommand{\textfraction}{.1} +\renewcommand{\topfraction}{.8} +\renewcommand{\bottomfraction}{.5} +\let\TeX=\ptmTeX +\let\LaTeX=\ptmLaTeX +\font\hrbfont=mt2hrbt at 10.95pt +\font\hbifont=mt2hbit at 10.95pt +\font\bbbfont=mt2bbt at 10.95pt +\font\bbbifont=mt2bbit at 10.95pt +\font\hrbdfont=mt2hrbdt at 10.95pt +\font\bbbdfont=mt2bbdt at 10.95pt +\newcommand{\fullonly}{% + \marginpar[\hbox{}\hfill\raisebox{-.5ex}{{\LARGE\ding{43}}}]{\hbox{}\raisebox{-.5ex}{\reflectbox{\LARGE\ding{43}}}\hfill} +} +% +\begin{document} +\DocInput{mtpro2.dtx} +\end{document} +%</driver> +% \fi +% +% \CheckSum{6500} +% +% \GetFileInfo{mtpro2.dtx} +% +% \title{Using the \mtpro \textit{II} fonts\\ with \LaTeX \thanks{This +% document refers to version \fileversion\ +% of the \Lpack{mtpro2} package, to be used with version~2 of the \mtpro \textit{II} fonts.}} +% +% \date{\filedate} +% \author{Walter Schmidt} +% \maketitle +% \begin{abstract} +% \noindent +% This document describes the macro package \Lpack{mtpro2}, +% which serves for using the \mtpro \textit{II} fonts with \LaTeX. +% The package code was partially adopted from the \Lpack{mathtime} package +% written by Frank Mittelbach and David Carlisle. +% \end{abstract} +% +% \tableofcontents +% \clearpage +% +% \sloppy +% +% +% \section{The \mtpro fonts} +% +% \mtpro \textit{II} is a set of math fonts particularly designed for +% use with \TeX{} or \LaTeX. +% +% Separate fonts for text size, superscripts, and +% second order superscripts are provided, allowing quality mathematical +% typesetting that has hitherto been available only with metal +% type or with the Computer Modern and the Euler fonts. Furthermore, \mtpro +% includes, for instance, +% \begin{itemize} +% \item individually designed delimiters and radical signs for sizes +% up to 4~inches tall and extra-wide mathematical accents, +% \item complete Greek alphabets, both slanted and upright, +% \item matching script, fraktur and BlackBoard Bold fonts, +% \item AMS symbols, and more. +% \end{itemize} +% +% In addition to the `Complete' set of the \mtpro \textit{II} fonts, there is a `Lite' version, which +% includes only a basic set, essentially replacing the standard Computer Modern math fonts +% that are required for plain \TeX. +% +% +% \section{The \Lpack{mtpro2} package} +% +% Basically, +% loading the macro package \Lpack{mtpro2} +% \begin{verse} +% |\usepackage|\oarg{options}|{mtpro2}| +% \end{verse} +% makes \LaTeX{} use \mtpro in place of +% the default Computer Modern math fonts. +% The following sections describe the +% particular features of the package and the additional options that +% control its behavior. +% +% The package \Lpack{mtpro2} constitutes a successor to the +% previously separate packages \Lpack{mtpro}, \Lpack{mtpams} and \Lpack{mtpb} +% and integrates all of their capabilities. +% +% +% \subsection{\textit{Lite} vs.\ \textit{Complete} font set} +% +% If you are using the `lite' font set, you should disable all those features +% that would require the complete collection. +% To do so, load the package with the option \Lopt{lite}: +% \begin{verse} +% |\usepackage[lite,...]{mtpro2}| +% \end{verse} +% +% In particular, the following features are available only with the +% complete font set: +% \begin{itemize} +% \item Bold math fonts, except for the bold upright math alphabets +% \cmd{\mathbf} and \cmd{\mbf}, and for the bold versions +% of the CM Calligraphic and the Euler fonts; +% \item Times-compatible script, curly, fraktur and `blackboard bold' fonts; +% \item AMS symbols. +% \end{itemize} +% When \Lpack{mtpro2} is loaded with the option \Lopt{lite}, +% they are disabled so that you cannot use any missing fonts inadvertently. +% \fullonly Features requiring the +% complete font set are marked appropriately in the remainder of the present document. +% +% +% \subsection{Text fonts} +% +% Loading the \Lpack{mtpro2} package does not change \LaTeX's default +% text font families (Computer Modern). However, the \mtpro fonts were designed +% to blend best with Times. The Monotype Times New Roman fonts are an ideal match, +% but \Lpack{mtpro2} can equally well be used with Adobe Times, Times Ten +% and similar typefaces, such as Baskerville or Concorde. +% +% The roman, sans-serif and typewriter font families +% and the encoding of the text fonts are to be selected \emph{before} loading of +% \Lpack{mtpro2} (unless you stay with \LaTeX's defaults), so that the package +% `knows' the fonts and the encoding to be used for operator names such as `sin' +% and for the math alphabets +% \cmd{\mathrm}, \cmd{\mathsf} and \cmd{\mathtt}. +% For instance, +% \begin{verse} +% |\usepackage[T1]{fontenc}|\\ +% |\usepackage{textcomp}|\\ +% |\renewcommand{\rmdefault}{ptm}|\\ +% |\usepackage[scaled=0.92]{helvet}|\\ +% |\usepackage{mtpro2}| +% \end{verse} +% selects T1 encoding with additional text companion symbols and loads +% \mtpro in conjunction with Adobe Times (|ptm|) and Helvetica, while the +% default typewriter font family (CM Typewriter) is unchanged. +% This is how the present document has been typeset. +% +% +% \subsection{Greek letters} +% +% With \TeX{} or \LaTeX{}, uppercase Greek letters in math mode +% are usually typeset as upright, even though they are usually meant to designate +% variables. Since this violates the +% International Standards ISO31-0:1992 to ISO31-13:1992, +% the \Lpack{mtpro2} package provides an option \Lopt{slantedGreek}, which +% causes uppercase Greek (\cmd{\Gamma}, \cmd{\Delta} etc.), to be typeset as slanted. +% +% Upright lowercase and uppercase Greek letters are available with command +% names such as \cmd{\upalpha}, \cmd{\upbeta}, \cmd{\upGamma}, \cmd{\upDelta}, etc. +% They are always upright, regardless of the \Lopt{slantedGreek} option. +% +% The response of the Greek letters to math alphabet commands +% differs from that of standard \LaTeX\ when \Lpack{mtpro2} is used: +% Lowercase Greek letters will respond +% to math alphabet commands; otherwise, \cmd{\mathbold} and \cmd{\mathbb} +% would not work as described below. +% +% This behavior, may, however, cause problems +% with legacy documents, because +% applying a different math alphabet than \cmd{\mathbold} or one of the +% italic doublestroke alphabets on lowercase Greek letters will result in garbage output +% (or no output at all)\danger. +% To avoid this, specify the package option +% \mbox{\Lopt{compatiblegreek}}, which causes the lowercase Greek letters to be declared as +% `ordinary' symbols---however, with the drawback that they will +% no longer honor \cmd{\mathbold} or \cmd{\mathbb}. +% +% +% \subsection{Numbers and punctuation in math mode} +% +% \LaTeX's default behavior is to typeset numbers and punctuation +% in math mode using the \cmd{\mathrm} alphabet, which normally equals +% the default text font. +% +% With the \Lpack{mtpro2} package, in contrast, numerals and punctuation +% characters are---in math mode---taken from the \mtpro fonts. +% ^^A These numerals are somewhat smaller than those from +% ^^A Times~NRMT and seem to be more appropriate for use in formulas. +% Thus, entering +% |$1.23$| will yield a different result than |1.23|, +% and you will have to decide in each case whether an input fragment +% is a math or a non-math entity. +% +% +% \subsection{Bold math fonts} +% \label{sec:bold} +% +% \fullonly Bold and `heavy' math fonts are available only with the complete font set, +% except for the alphabets \cmd{\mathbf} and \cmd{\mbf}, and for the bold versions +% of the CM Calligraphic and Euler fonts. +% +% \subsubsection{Emboldening complete formulas} +% The declaration \cmd{\boldmath} will embolden all formulas within its scope, +% just as with the standard CM math fonts. +% Use it, for instance, to emphasize complete formulas +% or to make sure that mathematical expressions within bold section titles also appear in +% bold type. Bold formulas should, however, not +% contain the extra-large parentheses, roots and operators +% described in section~\ref{sec:large} below. +% The |\wide|\dots\ accents (\ref{sec:accents}) cannot be emboldened, either. +% +% \subsubsection{Bold letters and symbols} +% The declaration \cmd{\boldmath} cannot be issued when you are already in +% math mode. Thus it is not a suitable means to embolden single letters, +% e.g., if you want to designate vectors with bold type. +% This use of bold letters in formulas is supported through a number of bold \emph{math +% alphabets}: +% \begin{itemize} +% \item +% \cmd{\mathbf} prints its argument using the {\bfseries bold upright} text font. +% \item +% \cmd{\mbf} is similar, but uses a +% specially modified version +% of the bold upright Times font, +% with the spacing and the letter shapes adapted to math typesetting. +% Thus \cmd{\mbf} is appropriate to typeset single variables, while +% \cmd{\mathbf} can be used, e.g., to emphasize an operator name. +% \item +% An additional {\bfseries\itshape bold italic} math alphabet named +% \cmd{\mathbold} is provided---something +% that isn't easily available with standard \LaTeX. +% In contrast to \cmd{\mathbf} and \cmd{\mbf}, this +% alphabet also includes Greek letters.\footnote{The +% shape of the uppercase Greek letters follows the \Lopt{slantedGreek} option.} +% \item +% Beside the usual \cmd{\mathcal}, there is also a bold variant \cmd{\mathbcal}; +% see, however, section~\ref{sec:calligr} for a possible exception. +% \item +% When a \cmd{\mathscr} alphabet is set up (see below), a corresponding bold +% \cmd{\mathbscr} is defined, too. +% \end{itemize} +% +% An \emph{alternative} to the use of several different bold math alphabets +% is available through the macro package \Lpack{bm}. It defines the command \cmd{\bm}, +% which can embolden not only letters but also symbols or arbitrary expressions---provided +% that the required fonts exist. +% The command \cmd{\bm} should, however, not be used on constructs like +% |\PARENS| or |\SQRT| or the |\wide|\dots\ accents. +% The package \Lpack{bm} belongs to the \Lpack{tools} collection, +% which is part of every \LaTeX\ system. \emph{It is highly recommended +% to read the documentation of the package before using it!} +% To recognize the existence +% of the bold math fonts, the package \Lpack{bm} is to be loaded \emph{after} \Lpack{mtpro2}. +% +% +% \subsubsection{`Heavy' symbols} +% Most---but not all---of the mathematical symbols of the \mtpro fonts exist +% also in a `heavy' (i.e., extra-bold) variant, which can be used through the command +% \cmd{\hm} of the above-mentioned package \Lpack{bm}. (Use of the +% corresponding \cmd{\heavymath} declaration is, however, pointless, +% because the heavy math fonts are incomplete.) +% +% The `heavy' symbols are darker and more prominent than the `bold' ones, so they are suitable, +% for instance, if you need an extra-bold plus sign with a different mathematical meaning +% than the regular $+$. +% Applying \cmd{\hm} to characters that are not available as `heavy' yields either +% normal type or a `slug' (a black box), depending on the math alphabet. +% In particular, this restriction affects Latin and Greek letters, as well as the +% `extra-large' delimiters, root, operators and accents described below. +% +% +% \subsection{Calligraphic math alphabet} +% \label{sec:calligr} +% +% \cmd{\mathcal} defaults to the calligraphic font of the +% Computer Modern family. Other script fonts +% can be used through the following package options: +% \begin{description} +% \item[\Lopt{eucal}] assigns the Euler Calligraphic font to the math alphabet \cmd{\mathcal}, +% \item[\Lopt{mtpcal}] assigns the Times-compatible Math Script font to \cmd{\mathcal}, +% \item[\Lopt{mtpccal}] assigns the Times-compatible upright `Curly' font to \cmd{\mathcal}, +% \item[\Lopt{mtpscr}] assigns Math Script to a new math alphabet \cmd{\mathscr}. +% \end{description} +% +% \fullonly While the calligraphic CM and Euler fonts are standard components of any \LaTeX\ system, +% the Math Script and Curly fonts are available only +% with the complete version of the \mtpro font set: +% \begin{center} +% ^^A\mtpro Math Script:\\[.7ex] +% $\mathscr{ABC[\altC]DEFG[\altG]HI[\altI]JKL[\altL]MNOPQ[\altQ]RS[\altS]TUVWXY[\altY]Z[\altZ]}$\\ +% $ \mathscr{abcdefghi\imath j\jmath klmnopqr[\altr]stuvwxyz[\altz]}$\\[.5ex] +% $\mathcal{ABCDEFG[\altG]HIJKLM[\altM]N[\altN]OPQ[\altQ]RSTUVWXY[\altY]Z}$\\ +% $ \mathcal{abcdefghi\imath j\jmath klmnopqrstuvwxyz}$\\ +% \end{center} +% \mbox{} \danger There is no bold variant of the Curly font, so \cmd{\mathbcal} +% is \emph{not} defined when \cmd{\mathcal} is assigned to this font. +% +% Section~\ref{sec:options} lists further options to set up \cmd{\mathcal} +% or an additional math alphabet \cmd{\mathscr}. They are somewhat confusing +% and are provided only for the sake of compatibility with the old +% \Lpack{mathtime} package. +% +% Do not try to use the declaration \cmd{\cal} in place of the text-generating command +% \cmd{\mathcal}. +% This syntax is obsolete \danger and may not work with the package \Lpack{mtpro2}. +% +% +% \subsection{Fraktur math alphabet} +% \label{sec:fraktur} +% +% A Fraktur alphabet \cmd{\mathfrak} can be be made available through a +% package option: +% \begin{description} +% \item[\Lopt{eufrak}] assigns the Euler Fraktur font to \cmd{\mathfrak}; +% \item[\Lopt{mtpfrak}] assigns the Times-compatible Math Fraktur font to \cmd{\mathfrak}. +% \end{description} +% +% \fullonly While the Euler fraktur font is a standard component of any \LaTeX\ system, +% the Math Fraktur font is available only +% with the complete version of the \mtpro font set: +% \begin{center} +% ^^A\mtpro Math Fraktur:\\[.7ex] +% $\mathfrak{ABCDEFGHIJKLMNOPQRSTUVWXY[\altY]Z}$\\ +% $ \mathfrak{abcdefghi\imath j\jmath klmnopqrstuvwx[\altx]y[\alty]z}$ +% \end{center} +% +% The symbols \cmd{\Re} and \cmd{\Im} from the basic \mtpro +% fonts are not \danger exactly the same as the corresponding letters from these +% \cmd{\mathfrak} alphabets. If you would prefer +% to have \cmd{\Re} and \cmd{\Im} use the \cmd{\mathfrak} alphabet, +% just redefine these macros appropriately: +% \begin{verse} +% |\renewcommand{\Re}{\mathfrak{R}}|\\ +% |\renewcommand{\Im}{\mathfrak{I}}|\\ +% \end{verse} +% +% +% \subsection{Variant letters in the Fraktur and Script alphabets} +% \fullonly This section is relevant with the complete font set only! +% +% Several letters on the Times-compatible Math Script, Curly and Fraktur fonts +% are available with alternative shapes: +% \smallskip +% +% \noindent\begin{tabular}[t]{ll@{\quad}ll} +% \multicolumn{4}{c}{Script:} \\ +% \texttt{C} & $\mathscr{C}$ & \cmd{\altC} & $\mathscr{\altC}$ \\ +% \texttt{G} & $\mathscr{G}$ & \cmd{\altG} & $\mathscr{\altG}$ \\ +% \texttt{I} & $\mathscr{I}$ & \cmd{\altI} & $\mathscr{\altI}$ \\ +% \texttt{L} & $\mathscr{L}$ & \cmd{\altL} & $\mathscr{\altL}$ \\ +% \texttt{Q} & $\mathscr{Q}$ & \cmd{\altQ} & $\mathscr{\altQ}$ \\ +% \texttt{S} & $\mathscr{S}$ & \cmd{\altS} & $\mathscr{\altS}$ \\ +% \texttt{Y} & $\mathscr{Y}$ & \cmd{\altY} & $\mathscr{\altY}$ \\ +% \texttt{Z} & $\mathscr{Z}$ & \cmd{\altZ} & $\mathscr{\altZ}$ \\ +% \texttt{r} & $\mathscr{r}$ & \cmd{\altr} & $\mathscr{\altr}$ \\ +% \texttt{z} & $\mathscr{z}$ & \cmd{\altz} & $\mathscr{\altz}$ \\[.5ex] +% \end{tabular} +% \hfill +% \begin{tabular}[t]{ll@{\quad}ll} +% \multicolumn{4}{c}{Curly:} \\ +% \texttt{G} & $\mathcal{G}$ & \cmd{\altG} & $\mathcal{\altG}$\\ +% \texttt{M} & $\mathcal{M}$ & \cmd{\altM} & $\mathcal{\altM}$\\ +% \texttt{N} & $\mathcal{N}$ & \cmd{\altN} & $\mathcal{\altN}$\\ +% \texttt{Q} & $\mathcal{Q}$ & \cmd{\altQ} & $\mathcal{\altQ}$\\ +% \texttt{Y} & $\mathcal{Y}$ & \cmd{\altY} & $\mathcal{\altY}$ +% \end{tabular} +% \hfill +% \begin{tabular}[t]{ll@{\quad}ll} +% \multicolumn{4}{c}{Fraktur:} \\ +% \texttt{Y} & $\mathfrak{Y}$ & \cmd{\altY} & $\mathfrak{\altY}$\\ +% \texttt{x} & $\mathfrak{x}$ & \cmd{\altx} & $\mathfrak{\altx}$\\ +% \texttt{y} & $\mathfrak{y}$ & \cmd{\alty} & $\mathfrak{\alty}$ +% \end{tabular} +% \mbox{} +% \smallskip +% +% \noindent The \cmd{\alt...} commands work only in conjunction with +% the \mtpro Script, Curly and Fraktur fonts, i.e., within the argument of a related +% math alphabet command. For instance, |\mathfrak{\altx}| yields $\mathfrak{\altx}$, +% provided that Math Fraktur is in fact assigned to \cmd{\mathfrak}. +% When the commands are used with other fonts, the +% corresponding `normal' letter is printed. +% +% +% \subsection{`Blackboard Bold' math alphabet} +% \label{sec:bb} +% +% A `blackboard bold' font can be made available as math alphabet +% \cmd{\mathbb}. Various fonts can be selected using the following package options: +% \begin{description} +% \item[\Lopt{amsbb}] AMS `B' +% \item[\Lopt{mtphrb}] Times-compatible Holey Roman Bold +% \item[\Lopt{mtpbb}] Times-compatible Blackboard Bold +% \item[\Lopt{mtphbi}] Times-compatible Holey Roman Bold Italic +% \item[\Lopt{mtpbbi}] Times-compatible Blackboard Bold Italic +% \item[\Lopt{mtphrd}] Times-compatible Holey Roman Dark +% \item[\Lopt{mtpbbd}] Times-compatible Blackboard Bold Dark +% \end{description} +% +% \fullonly While the AMS `B' font is a standard component of any \LaTeX\ system, +% the Times-compatible fonts are available only +% with the complete version of the \mtpro font set: +% +% The first version, \textbf{h}oley \textbf{r}oman \textbf{b}old, is a +% `bold open' font, formed by +% hollowing out bold letters: +% \begin{center} +% \hrbfont +% ABCDEFGHIJKLMNOPQRSTUVWXYZ\\ +% abcdefghi\symbol{"7B}j\symbol{"7C}klmnopqrstuvwxyz0123456789 +% \end{center} +% By contrast, the \textbf{b}lackboard \textbf{b}old font +% is the sort of +% alphabet that one might actually write on a blackboard: +% \begin{center} +% \bbbfont +% ABCDEFGHIJKLMNOPQRSTUVWXYZ\\\ +% abcdefghi\symbol{"7B}j\symbol{"7C}klmnopqrstuvwxyz0123456789 +% \end{center} +% Beside these, corresponding italic fonts are available, too. +% They comprise also Greek letters, which are accessible through the usual +% commands \cmd{\alpha}\dots\cmd{\Omega}. +% \begin{center} +% \hbifont +% ABCDEFGHIJKLMNOPQRSTUVWXYZ\\ +% abcdefghi\symbol{"7B}j\symbol{"7C}klmnopqrstuvwxyz0123456789\\ +% \symbol{"0B}\textnormal{\dots}\symbol{"21}\textnormal{\dots}\symbol{"00}\textnormal{\dots}\symbol{"0A}\\ +% \end{center} +% and +% \begin{center} +% \bbbifont +% ABCDEFGHIJKLMNOPQRSTUVWXYZ\\ +% abcdefghi\symbol{"7B}j\symbol{"7C}klmnopqrstuvwxyz0123456789\\ +% \symbol{"0B}\textnormal{\dots}\symbol{"21}\textnormal{\dots}\symbol{"00}\textnormal{\dots}\symbol{"0A}\\ +% \end{center} +% +% Or you might prefer one of the dark versions, \textbf{h}oley \textbf{r}oman +% \textbf{d}ark: +% \begin{center} +% \hrbdfont +% ABCDEFGHIJKLMNOPQRSTUVWXYZ\\ +% abcdefghi\symbol{"7B}j\symbol{"7C}klmnopqrstuvwxyz0123456789 +% \end{center} +% or \textbf{b}lackboard \textbf{b}old \textbf{d}ark: +% \begin{center} +% \bbbdfont +% ABCDEFGHIJKLMNOPQRSTUVWXYZ\\\ +% abcdefghi\symbol{"7B}j\symbol{"7C}klmnopqrstuvwxyz0123456789 +% \end{center} +% \cmd{\boldmath} and \cmd{\bm} also act on the Times Blackboard Bold and +% Holey Roman Bold fonts and yield the related `dark' font. +% However, if you have already chosen one of the `dark' fonts for the \cmd{\mathbb} +% alphabet (option \Lopt{mtpbbd} or \Lopt{mtphrd}), it will not be emboldened further, +% and the italic doublestroke fonts also have no bold counterparts. +% +% +% \subsection{Positioning of subscripts} +% +% The appearance of subscripts can be improved by loading the package +% with the option \Lopt{subscriptcorrection}. When certain letters, like +% $f$ or $j$, occur as a subscript, the positioning will be automatically +% adjusted. In the following example, the left sum was typeset with +% subscript correction, the right one without: +% \enablesubscriptcorrection +% \[ +% C_f + C_j + X_A \qquad +% \disablesubscriptcorrection +% C_f + C_j + X_A +% \] +% \disablesubscriptcorrection^^A Just to make sure... +% The \cmd{\enablesubscriptcorrection} and \cmd{\disablesubscriptcorrection} +% commands can also be used to turn subscript correction on and off +% within the document. +% +% No guarantee is made as to the proper functioning of the +% automatic subscript correction in conjunction with any additional +% macro package, because the underscore character |_| is made active. +% +% +% \subsection{Styles of operator symbols} +% The operators $\sum$, $\prod$ and $\coprod$ have slanted versions, too: +% $\slsum$, $\slprod$ and $\slcoprod$. These are selected +% as the default ones by specifying the package option \Lopt{sloperators}. +% Whichever convention you use, you can always +% use \cmd{\slsum} etc.\ to get the slanted versions +% and \cmd{\upsum} etc.\ to get the upright versions. +% +% +% \subsection{The big differences} +% \label{sec:large} +% +% \subsubsection{Extra-large delimiters and roots} +% The \mtpro font set includes individually designed parentheses and other +% delimiters, all of which go up to to 4~inches high. +% +% The large parentheses are produced by the command |\PARENS{...}|; +% just compare the left matrix with the output obtained from the ordinary +% \cmd{\left(} and \cmd{\right(} macros: +% \[ +% \PARENS{ \begin{array}{ccc} +% x_{11} & x_{12} & \ldots \\ +% x_{21} & x_{22} & \ldots \\ +% x_{31} & x_{32} & \ldots \\ +% \vdots & \vdots & \ddots +% \end{array} } +% \qquad +% \left( \begin{array}{ccc} +% x_{11} & x_{12} & \ldots \\ +% x_{21} & x_{22} & \ldots \\ +% x_{31} & x_{32} & \ldots \\ +% \vdots & \vdots & \ddots +% \end{array} \right) +% \] +% +% Basically, |\PARENS{...}| is just an abbreviation for +% |\LEFTRIGHT(){...}|. +% In general, +% you can use \cmd{\LEFTRIGHT} directly with any two delimiters, including +% the period for an empty delimiter. In addition to parentheses, +% you can get |/|, |\backslash|, |<| (or |\langle|), and +% |>| (or |\rangle|), all up to 4~inches high. As to curly braces, see the next section. +% +% A combination like +% |\LEFTRIGHT(]|\marg{formula} is also possible; the $]$ just +% gets extended in the usual way. At large sizes, however, the $($ might end up +% slightly larger than the $]$, since the $]$ grows at the same (6\,pt) rate, no +% matter how large the argument, while the parentheses grow faster for larger +% formulas. +% So in such cases you may need to replace \marg{formula} with +% \begin{verse} +% \cmd{\vcorrection}\marg{dimen}\marg{formula} +% \end{verse} +% to artificially increase its vertical size to \meta{dimen}, thereby forcing the +% square bracket to be larger. +% +% In addition to the \cmd{\sqrt} command, which uses an +% `extensible' symbol, \Lpack{mtpro2} provides \cmd{\SQRT}, with the same syntax. +% It produces individually designed root signs up to 4~inches high: +% In the example below, +% the left root was typeset using \cmd{\SQRT}, the right one results +% from the ordinary \cmd{\sqrt} command. +% \[ +% \SQRT[3]{\sum_{i=1}^n (y^i -x^i )^3 } +% \qquad +% \sqrt[3]{\sum_{i=1}^n (y^i -x^i )^3 } +% \] +% +% The positioning of the root index can be adjusted through the commands +% \cmd{\LEFTROOT} and \cmd{\UPROOT}. They are to be issued in +% math mode, they are valid inside the current formula only, and they +% act only on roots produced from +% \cmd{\SQRT}. +% Positive arguments to these commands will move the root index to the +% left and up respectively, while a negative argument will move it +% to the right and down. The units of increment are quite small, which is useful +% for such adjustments. +% In the example below, the index $\beta$ of the left root is moved +% 2 units to the right and 6 units up by saying +% |\LEFTROOT{-2}| |\UPROOT{6}| |\SQRT...|\,; the right root shows the +% default appearance: +% \[ +% \LEFTROOT{-2}\UPROOT{6} +% \SQRT[\beta]{k} \qquad +% \sqrt[\beta]{k} +% \] +% Notice that the syntax of the \cmd{\LEFTROOT} and \cmd{\UPROOT} commands differs +% both from the \Lpack{amsmath} package +% and from \texttt{mtp.tex}\,! +% +% You can nest |\PARENS| (or |\LEFTRIGHT|), +% though of course that shouldn't be needed very often. +% Doing so slows \TeX\ down exponentially and may also exhaust its +% capacity. +% It should also be mentioned that \cmd{\PARENS} ends up typesetting its argument +% more than once, in order to find out the right size of the delimiters, +% so you need to be careful when using boxes: For example, if you +% have stored a formula in |\box\eqnbox|, then you should be sure to type +% |\PARENS{\copy\eqnbox}|, rather than |\PARENS{\box\eqnbox}|. +% The same precaution applies to |\SQRT| and to the new |\wide...| accents +% explained in section~\ref{sec:accents}. +% +% +% \subsubsection{Curly braces} +% The commands \cmd{\{} and \cmd{\}} (or \cmd{\lbrace} and \cmd{\rbrace}) +% can also be used after \cmd{\LEFTRIGHT}, in order to obtain curly braces +% up to 4 inches high.\footnote{\cmd{\lcbrace} and \cmd{\rcbrace} can be used, too, +% with respect to previous package versions.} +% Again, compare the output obtained by +% \verb+\LEFTRIGHT\{\}{...}+ with the result of the usual +% \verb+\left\{...\right\}+: +% +% \[ +% \LEFTRIGHT\{\}{\begin{array}{ccc} +% x_{11} & x_{12} & \ldots \\ +% x_{21} & x_{22} & \ldots \\ +% x_{31} & x_{32} & \ldots \\ +% \vdots & \vdots & \ddots +% \end{array} } +% \qquad +% \left\{ \begin{array}{ccc} +% x_{11} & x_{12} & \ldots \\ +% x_{21} & x_{22} & \ldots \\ +% x_{31} & x_{32} & \ldots \\ +% \vdots & \vdots & \ddots +% \end{array} \right\} +% \] +% +% To go along with this, a \cmd{\ccases} construction is provided, which +% yields a decorated array with two columns, both left aligned: +% \[ +% S(x) \coloneq \ccases{ +% -1 & x < 0 \\ +% 0 & x = 0 \\ +% 1 & x > 0} +% \] +% The syntax is similar to the |\cases| macro\footnote{There is, however, +% no beautified counterpart to the |cases| environment of the \Lpack{amsmath} package!}, +% but the lines are separated in a \LaTeX-like manner by |\\|: +% \begin{verse} +% | S(x) \coloneq \ccases{ |\\ +% | -1 & x < 0 \\ |\\ +% | 0 & x = 0 \\ |\\ +% | 1 & x > 0} | +% \end{verse} +% +% The \Lpack{mtpro2} package provides two further alternatives, as far as the shape of +% braces is concerned: +% If you prefer straight braces at all sizes, load the package with the option +% \Lopt{straightbraces}, and use the normal \verb+\left\{...\right\}+ construct for +% large, extensible braces. Or, if you want small braces to be `curly', while the larger ones +% become more and more straight, load the package with the option \Lopt{morphedbraces}, +% also on conjunction with \verb+\left\{...\right\}+. Compare the default behavior +% \[ +% \{ \bigl\{ \Bigl\{ \biggl\{ \Biggl\{ +% \LEFTRIGHT\lbrace\rbrace {\begin{array}{lll} +% x_{1} \\ +% x_{2} \\ +% x_{3} \\ +% \end{array} } +% \] +% with the results obtained using \Lopt{straightbraces}\straightbraces +% +% \[ +% \{ \bigl\{ \Bigl\{ \biggl\{ \Biggl\{ +% \left\{ \begin{array}{lll} +% x_{1} \\ +% x_{2} \\ +% x_{3} \\ +% \end{array} \right\} +% \] +% and \Lopt{morphedbraces}:\morphedbraces +% \[ +% \{ \bigl\{ \Bigl\{ \biggl\{ \Biggl\{ +% \left\{ \begin{array}{lll} +% x_{1} \\ +% x_{2} \\ +% x_{3} \\ +% \end{array} \right\} +% \] +% \curlybraces +% +% \subsubsection{Extra-large under- and overbraces} +% Individually designed curly underbraces and overbraces +% up to 4 inches wide are available by using the macros \cmd{\undercbrace} or \cmd{\overcbrace} +% instead of the usual \verb+\underbrace+ and \verb+\overbrace+. +% Compare these (left) with standard \LaTeX\ (right); +% \[ +% \undercbrace{A_1+\cdots+A_i+\cdots+A_n} \qquad \underbrace{A_1+\cdots+A_i+\cdots+A_n} +% \] +% +% +% \subsubsection{Extra-large operator symbols} +% In a displayed formula like +% \[ +% \sum_{i \notin I} +% \frac{\displaystyle \int\nolimits_{-\infty}^{+\infty}f(\alpha_i x)\,dx + 1}% +% {\displaystyle \oint_C f(\beta_i z)\,dz - 1} +% \] +% you might feel the need for a larger sum sign. Normally printers don't +% provide one, but with the \mtpro fonts you can get an extra-large +% \cmd{\sum} with the \cmd{\xl} command. For instance, +% |\xl\sum_{i \notin I}|\dots yields: +% \[ +% \xl\sum_{i \notin I} +% \frac{\displaystyle \int\nolimits_{-\infty}^{+\infty}f(\alpha_i x)\,dx + 1}% +% {\displaystyle \oint_C f(\beta_i z)\,dz - 1} +% \] +% \verb+\xl+ can be applied to all `large' operators, including those in +% section~\ref{sec:integrals}. +% In most cases \verb+\xl+ produces a symbol about 18\,pt tall. +% There are also \verb+\XL and +\verb+\XXL+ versions +% that are 36\,pt and 72\,pt (a full inch) high! +% And, heaven forbid, you can even get \verb+\XXXL+ versions that are two inches high, +% thereby assuring yourself (as well as the designer of the MathTime fonts) +% the lasting enmity of journal editors everywhere. +% +% As usual, you can also add \cmd{\nolimits} after the \cmd{\sum} if you want the +% subscript and superscript to be placed to the side. And, in combinations like |\xl\int| +% where they are normally placed to the side, you can add \cmd{\limits} if you do +% want them to be set above and below the integral sign. +% +% When the package \Lpack{amsmath} is used, its options \Lopt{nosumlimits} and +% \Lopt{inlimits} are, however, not honored\danger, i.e., +% the \emph{default} placement of subscripts and superscripts on extra-large operators +% will always follow the normal \LaTeX\ convention. +% +% +% \subsection{Accents in math} +% \label{sec:accents} +% +% In addition to |\widehat| and |\widetilde|, there is now |\widecheck|. +% The |\widehat|, |\widecheck|, and |\widetilde| accents are extended +% in a similar fashion as the large delimiters and roots (see above); +% in each case you can get accents up to 4~inches wide: +% \[ +% \widehat{a+b} + \widehat{a+b+c} + \widehat{a+b+c+d} + \widehat{a+b+c+d+e} +% \] +% If, for some reason, you need double |\wide...| accents, you may be disappointed +% to find that |\widehat{\widehat...| gives +% \[ +% \widehat{\widehat{A+B+C+D+E+F+G }} +% \] +% with the top accent seemingly too high (its base is at the level of the top +% of the lower \cmd{\widehat}). +% So there is also \cmd{\widehatdown}\marg{dimen}|{...}| to move a |\widehat| down +% (and similarly for the |\widetilde| and the |\widecheck| accents). For example, +% \begin{verse} +% |\widehatdown{2pt}{\widehat{A+B+C+D+E+F+G }}| +% \end{verse} +% produces +% \[ +% \widehatdown{2pt}{\widehat{A+B+C+D+E+F+G }} \, . +% \] +% +% In a combination like $\hat A$, the |\hat| accent might look a +% little small, while |\widehat| produces an accent $\widehat A$ +% that looks too large (and also isn't positioned well, because |\widehat| +% is meant for entire formulas, and doesn't properly position the accent for single letters). +% So there is |\what| to produce a slightly wider +% hat accent, $\what A$. Similarly, there are +% |\wtilde|, |\wcheck|, and |\wbar|. +% +% In addition, there are slightly larger |\wwhat|, |\wwcheck|, |\wwtilde|, +% and |\wwbar|. The |\wwhat|, |\wwcheck|, and |\wwtilde| accents are identical +% to the smallest versions of the accents produced by |\widehat| etc., +% but in some cases it might be preferable +% to force this smallest size instead of relying on the |\wide|\dots{} +% accents themselves. For example, |\widehat M| yields $\widehat M$, +% because the $M$ (counting the white space on its sides) happens to be just +% a bit too wide for the smallest |\widehat| accent, whereas |\wwhat M| +% will result in $\wwhat M$. +% +% The |\wwbar| accent is what used to be called |\widebar| in the +% \mathtime fonts, but that really wasn't a very good name, since +% |\overline| is what actually corresponds to the |\wide|\dots{} accents. +% +% The standard commands |\dot| and |\ddot| are complemented with +% ready-made triple and quadruple dot accents \cmd{\dddot} and \cmd{\ddddot}; +% they work with or without the \Lpack{amsmath} package. +% +% In situations like $\dot \Gamma$, +% the dot accents might look better +% if they were moved up a bit. So there are \cmd{\dotup}, +% \cmd{\ddotup}, \cmd{\dddotup} and \cmd{\ddddotup}, +% to produce $\dotup\Gamma$, $\ddotup\Gamma$, etc. +% +% +% \subsection{Additional symbols not available with standard \LaTeX} +% \label{sec:symbols} +% \subsubsection{Integrals} +% \label{sec:integrals} +% The \mtpro fonts include multiple, surface and line integrals. +% They are available in text size (as shown in the below table) +% as well as display size: +% \begin{center} +% \begin{tabular}{ll@{\qquad}ll@{\qquad}ll@{\qquad}ll} +% $\iint$ & \cmd{\iint} & $\iiint$ & \cmd{\iiint} & $\oiint$ & \cmd{\oiint} & $\oiiint$ & \cmd{\oiiint} \\ +% $\cwoint$ & \cmd{\cwoint} & $\awoint$ & \cmd{\awoint} & $\cwint$ & \cmd{\cwint}\\ +% $\barint$ & \cmd{\barint} & $\slashint$ & \cmd{\slashint}\\ +% \end{tabular} +% \end{center} +% The macros are compatible with the \Lpack{amsmath} package, +% which may be loaded additionally. +% +% \subsubsection{Negated relation symbols} +% \label{sec:negrel} +% \mtpro includes a number of ready-made negated relation symbols, see table~\ref{tab:negrel}, +% which are normally built from pieces. For instance, with \mtpro you should write +% |\notleq| instead of |\not\leq|. +% Almost all of of these symbols are accessible also through an alternative name, +% which follows the naming scheme of the \Lpack{amssymb} package. +% \begin{table}[hbt] +% \centering +% \begin{tabular}{ll@{\qquad}ll} +% $\notless$ & \cmd{\notless}, \cmd{\nless} & $\notsupset$ & \cmd{\notsupset}, \cmd{\nsupset} \\ +% $\notleq$ & \cmd{\notleq}, \cmd{\nleq} & $\notsupseteq$ & \cmd{\notsupseteq}, \cmd{\nsupseteq} \\ +% $\notprec$ & \cmd{\notprec}, \cmd{\nprec} & $\notsqsupseteq$& \cmd{\notsqsupseteq}, \cmd{\nsqsupseteq} \\ +% $\notpreceq$ & \cmd{\notpreceq}, \cmd{\npreceq} & $\neq$ & \cmd{\neq} \\ +% $\notsubset$ & \cmd{\notsubset}, \cmd{\nsubset} & $\notequiv$ & \cmd{\notequiv}, \cmd{\nequiv} \\ +% $\notsubseteq$ & \cmd{\notsubseteq}, \cmd{\nsubseteq} & $\notsim$ & \cmd{\notsim} \\ +% $\notsqsubseteq$& \cmd{\notsqsubseteq}, \cmd{\nsqsubseteq} & $\notsimeq$ & \cmd{\notsimeq}, \cmd{\nsimeq} \\ +% $\notgr$ & \cmd{\notgr}, \cmd{\ngtr} & $\notapprox$ & \cmd{\notapprox}, \cmd{\napprox} \\ +% $\notgeq$ & \cmd{\notgeq}, \cmd{\ngeq} & $\notcong$ & \cmd{\notcong}, \cmd{\ncong} \\ +% $\notsucc$ & \cmd{\notsucc}, \cmd{\nsucc} & $\notasymp$ & \cmd{\notasymp}, \cmd{\nasymp} \\ +% $\notsucceq$ & \cmd{\notsucceq}, \cmd{\nsucceq} \\ +% \end{tabular} +% \caption{Non-standard negated relation symbols.} +% \label{tab:negrel} +% \end{table} +% +% +% \subsubsection{Miscellaneous symbols} +% \label{sec:miscsym} +% The \mtpro fonts provide various symbols and letters +% that are not defined with standard \LaTeX, see table~\ref{tab:miscsym} +% +% \begin{table}[hbt] +% \centering +% \begin{tabular}{ll@{\qquad}ll} +% \multicolumn{4}{l}{Relations:}\\[.5ex] +% $\simarrow$ & \cmd{\simarrow} & $\hateq$ & \cmd{\hateq} \\ +% $\coloneq$ & \cmd{\coloneq} & $\eqcolon$ & \cmd{\eqcolon} \\ +% $\circdashbullet$ & \cmd{\circdashbullet} & $\bulletdashcirc$ & \cmd{\bulletdashcirc} \\[1.25ex] +% \multicolumn{4}{l}{Binary operators:}\\[.5ex] +% $\capprod$ & \cmd{\capprod} & $\cupprod$ & \cmd{\cupprod} \\ +% $\comp$ & \cmd{\comp} & $\setdif$ & \cmd{\setdif} \\ +% $\contraction$ & \cmd{\contraction} & $\varland$ & \cmd{\varland} \\[1.25ex] +% \multicolumn{4}{l}{Large operators:}\\[.5ex] +% $\bigcapprod$ & \cmd{\bigcapprod} & $\bigcupprod$ & \cmd{\bigcupprod}\\ +% $\bigast$ & \cmd{\bigast} & $\bigvarland$ & \cmd{\bigvarland}\\[1.25ex] +% \multicolumn{4}{l}{Letters:}\\[.5ex] +% $\varbeta$ & \cmd{\varbeta} & $\upvarbeta$ & \cmd{\upvarbeta} \\ +% $\vardelta$ & \cmd{\vardelta}& $\upvardelta$ & \cmd{\upvardelta} \\ +% $\varkappa$ & \cmd{\varkappa} & $\upvarkappa$ & \cmd{\upvarkappa}\\ +% $\hslash$ & \cmd{\hslash} & $\digamma$ & \cmd{\digamma}\\ +% $\dbar$ & \cmd{\dbar} & $\updbar$ & \cmd{\updbar}\\[1.25ex] +% \multicolumn{4}{l}{Alternative card suit symbols:}\\[.5ex] +% $\openspadesuit$ & \cmd{\openspadesuit} & $\shadedspadesuit$ & \cmd{\shadedspadesuit}\\ +% $\openclubsuit$ &\cmd{\openclubsuit}& $\shadedclubsuit$ & \cmd{\shadedclubsuit} +% \end{tabular} +% \caption{Miscellaneous non-standard symbols} +% \label{tab:miscsym} +% \end{table} +% +% Table~\ref{tab:miscsym} shows \cmd{\bigcapprod}, \cmd{\bigcupprod}, +% \cmd{\bigast} and \cmd{\bigvarland} as they would +% appear within inline formulas. Being `large operators', they are enlarged +% when used within displayed formulas, for instance: +% \[ +% \bigcapprod_{i=1}^n\alpha_i \qquad \bigcupprod_{i=1}^n\alpha_i \qquad +% \bigast_{i=1}^n\alpha_i \qquad \bigvarland_{i=1}^n\alpha_i \qquad +% \] +% \cmd{\varbeta} and \cmd{\vardelta} are old forms of $\beta$ and $\delta$ that you +% might find useful if you are trying to imitate certain old books. +% Notice that \cmd{\vardelta} is hardly distinguishable +% from the \cmd{\partial} symbol (the circular portion of \cmd{\vardelta} +% is taller, to match the height of letters like $x$ and $o$ in math formulas). The +% only reason for providing \cmd{\vardelta} is that all the various Greek alphabets +% specified for mathematics in the Unicode standard include +% this variant (perversely called `partial'). +% +% The bold or heavy versions of $\spadesuit$ and $\clubsuit$ are somewhat grotesque. +% If you need to have different varieties of these, you might like to use +% the |\open...| or |\shaded..| macros. +% Notice, however, that these variants themselves have no bold or heavy counterparts! +% +% \subsubsection{Alternative shapes of z in math mode} +% Some people like to have an italic z with a `swash' tail: $\zswash$. +% Loading the package with the option \Lopt{zswash} cause |z| to yield $\zswash$ +% instead of $z$ in your equations. +% +% \subsection{AMS symbols} +% \label{sec:amsfonts} +% +% The `lite' \mtpro font set already provides several symbols that are normally +% available only with the package \Lpack{amssymb}---see the sections \ref{sec:negrel} +% and \ref{sec:miscsym} above. +% +% \fullonly With the complete font set, in contrast, \emph{all} of the so-called `AMS symbols' +% are available in a Times-compatible style. You need \emph{not} load the packages +% \Lpack{amsfonts} or \Lpack{amssymb} additionally; in fact, you \emph{must not} do so, +% because the packages are not compatible with \Lpack{mtpro2}. +% +% The definitions of the AMS symbols consume a huge amount of \TeX\ resources, +% so you can disable them through the package option \Lopt{noamssymbols}. +% This does, however, not affect any of the symbols shown in the tables +% \ref{tab:negrel} and \ref{tab:miscsym}; they always remain accessible. +% +% \subsubsection{Ordinary symbols} +% Most of the AMS symbols are binary operators or +% relations, but first we have a group of various ordinary symbols, +% shown in table~\ref{tab:ord}. +% \cmd{\yen}, \cmd{\maltese}, \cmd{\circledR} and \cmd{\checkmark} are sort +% of special, since they can be used both in text mode and in math mode. +% $\Diamond$ (\cmd{\Diamond}) was adopted from the +% so-called \LaTeX\ symbols, and you may prefer its shape over $\lozenge$. +% +% \begin{table}[hbtp] +% \centering +% \begin{tabular}{ll@{\quad}ll} +% $\backprime $ &\cmd{\backprime} & $\varnothing $ &\cmd{\varnothing}\\ +% $\vartriangle $ &\cmd{\vartriangle} & $\blacktriangle $ &\cmd{\blacktriangle}\\ +% $\triangledown $ &\cmd{\triangledown} & $\blacktriangledown$ &\cmd{\blacktriangledown}\\ +% $\square $ &\cmd{\square} & $\blacksquare $ &\cmd{\blacksquare}\\ +% $\lozenge $ &\cmd{\lozenge} & $\blacklozenge $ &\cmd{\blacklozenge}\\ +% $\Diamond $ &\cmd{\Diamond} & $\bigstar $ &\cmd{\bigstar}\\ +% $\measuredangle$ &\cmd{\measuredangle}& $\sphericalangle $ &\cmd{\sphericalangle}\\ +% $\nexists $ &\cmd{\nexists} & $\complement $ &\cmd{\complement}\\ +% $\mho $ &\cmd{\mho} & $\eth $ &\cmd{\eth}\\ +% $\Finv $ &\cmd{\Finv} & $\Game $ &\cmd{\Game}\\ +% $\diagup $ &\cmd{\diagup} & $\diagdown $ &\cmd{\diagdown}\\ +% $\beth $ &\cmd{\beth} & $\gimel $ &\cmd{\gimel}\\ +% $\daleth $ &\cmd{\daleth} & $\yen $ &\cmd{\yen}\\ +% $\maltese $ &\cmd{\maltese} & $\circledR $ &\cmd{\circledR}\\ +% $\checkmark $ &\cmd{\checkmark} & $\circledS $ &\cmd{\circledS}\\ +% \end{tabular} +% \caption{AMS symbols of type `ordinary'} \label{tab:ord} +% \end{table} +% +% The AMS symbols +% $\digamma$ (\cmd{\digamma}), and $\hslash$ (\cmd{\hslash}), +% have been placed on the \mtpro `lite' fonts, +% along with the $\hbar$ (\cmd{hbar}). +% +% \subsubsection{Delimiters} +% Table~\ref{tab:del} shows four special delimiters (which occur in only one size). +% \begin{table}[hbtp] +% \centering +% \begin{tabular}{ll@{\quad}ll} +% $\ulcorner$ & \cmd{\ulcorner} & $ \urcorner$ &\cmd{\urcorner}\\ +% $\llcorner$ & \cmd{\llcorner} & $ \lrcorner$ &\cmd{\lrcorner}\\ +% \end{tabular} +% \caption{AMS symbols: Delimiters}\label{tab:del} +% \end{table} +% +% \subsubsection{Binary operators} +% Table~\ref{tab:binop} shows the additional binary operator symbols in the complete font set. +% The macro \cmd{\smallsetminus} is actually just a synonym for +% \cmd{\setdif} on the \mtpro basic fonts. +% +% \begin{table}[hbtp] +% \centering +% \begin{tabular}{ll@{\quad}ll} +% $\dotplus $ &\cmd{\dotplus} &$\smallsetminus $ &\cmd{\smallsetminus}\\ +% $\ltimes $ &\cmd{\ltimes} &$\rtimes $ &\cmd{\rtimes}\\ +% $\Cap $ &\cmd{\Cap} ,\cmd{\doublecap} &$\Cup $ &\cmd{\Cup},\cmd{\doublecup}\\ +% $\leftthreetimes$ &\cmd{\leftthreetimes} &$\rightthreetimes$ &\cmd{\rightthreetimes}\\ +% $\barwedge $ &\cmd{\barwedge} &$\veebar $ &\cmd{\veebar}\\ +% $\doublebarwedge$ &\cmd{\doublebarwedge} \\ +% $\curlywedge $ &\cmd{\curlywedge} &$\curlyvee $ &\cmd{\curlyvee}\\ +% $\boxplus $ &\cmd{\boxplus} &$\boxminus $ &\cmd{\boxminus}\\ +% $\boxtimes $ &\cmd{\boxtimes} &$\boxdot $ &\cmd{\boxdot}\\ +% $\circleddash $ &\cmd{\circleddash} &$\circledast $ &\cmd{\circledast}\\ +% $\circledcirc $ &\cmd{\circledcirc} &$\divideontimes $ &\cmd{\divideontimes}\\ +% $\centerdot $ &\cmd{\centerdot} &$\intercal $ &\cmd{\intercal}\\ +% \end{tabular} +% \caption{AMS symbols: Binary operators}\label{tab:binop} +% \end{table} +% +% \subsubsection{Binary relations} +% In table \ref{tab:binrel}, note that $\sqsubset$ (\cmd{\sqsubset}) and $\sqsupset$ +% (\cmd{\sqsupset}) are `AMS' symbols, while the more complicated $\sqsubseteq$ +% (\cmd{\sqsubseteq}) and $\sqsupseteq$ (\cmd{\sqsupseteq}) already exist +% in the basic fonts! +% +% Note also that $\smallsmile$ (\cmd{\smallsmile}) and $\smallfrown$ +% (\cmd{\smallfrown}) are different from the symbols $\cupprod$ (\cmd{\cupprod}) and +% $\capprod$ (\cmd{\capprod}), and that the old $\models$ (\cmd{\models}) +% is different from $\vDash$ (\cmd{\vDash}). +% +% \begin{table}[hbtp] +% \centering +% \begin{tabular}{ll@{\quad}ll} +% $\leqq $ &\cmd{\leqq} &$\geqq $ &\cmd{\geqq}\\ +% $\leqslant $ &\cmd{\leqslant} &$\geqslant $ &\cmd{\geqslant}\\ +% $\eqslantless $ &\cmd{\eqslantless} &$\eqslantgtr $ &\cmd{\eqslantgtr}\\ +% $\lesssim $ &\cmd{\lesssim} &$\gtrsim $ &\cmd{\gtrsim}\\ +% $\lessapprox $ &\cmd{\lessapprox} &$\gtrapprox $ &\cmd{\gtrapprox}\\ +% $\approxeq $ &\cmd{\approxeq} \\ +% $\lessdot $ &\cmd{\lessdot} &$\gtrdot $ &\cmd{\gtrdot}\\ +% $\lll $ &\cmd{\lll}, \cmd{\llless} &$\ggg $ &\cmd{\ggg}, \cmd{\gggtr}\\ +% $\lessgtr $ &\cmd{\lessgtr} &$\gtrless $ &\cmd{\gtrless}\\ +% $\lesseqgtr $ &\cmd{\lesseqgtr} &$\gtreqless $ &\cmd{\gtreqless}\\ +% $\lesseqqgtr $ &\cmd{\lesseqqgtr} &$\gtreqqless $ &\cmd{\gtreqqless}\\ +% $\doteqdot $ &\cmd{\doteqdot}, \cmd{\Doteq} &$\eqcirc $ &\cmd{\eqcirc}\\ +% $\fallingdotseq $ &\cmd{\fallingdotseq} &$\risingdotseq $ &\cmd{\risingdotseq}\\ +% $\circeq $ &\cmd{\circeq} &$\triangleq $ &\cmd{\triangleq}\\ +% $\backsim $ &\cmd{\backsim} &$\thicksim $ &\cmd{\thicksim}\\ +% $\backsimeq $ &\cmd{\backsimeq} &$\thickapprox $ &\cmd{\thickapprox}\\ +% $\subseteqq $ &\cmd{\subseteqq} &$\supseteqq $ &\cmd{\supseteqq}\\ +% $\Subset $ &\cmd{\Subset} &$\Supset $ &\cmd{\Supset}\\ +% $\sqsubset $ &\cmd{\sqsubset} &$\sqsupset $ &\cmd{\sqsupset}\\ +% $\preccurlyeq $ &\cmd{\preccurlyeq} &$\succcurlyeq $ &\cmd{\succcurlyeq}\\ +% $\curlyeqprec $ &\cmd{\curlyeqprec} &$\curlyeqsucc $ &\cmd{\curlyeqsucc}\\ +% $\precsim $ &\cmd{\precsim} &$\succsim $ &\cmd{\succsim}\\ +% $\precapprox $ &\cmd{\precapprox} &$\succapprox $ &\cmd{\succapprox}\\ +% $\vartriangleleft $ &\cmd{\vartriangleleft} &$\vartriangleright $ &\cmd{\vartriangleright}\\ +% $\trianglelefteq $ &\cmd{\trianglelefteq} &$\trianglerighteq $ &\cmd{\trianglerighteq}\\ +% $\blacktriangleleft $ &\cmd{\blacktriangleleft} &$\blacktriangleright$ &\cmd{\blacktriangleright}\\ +% $\vDash $ &\cmd{\vDash} &$\Vdash $ &\cmd{\Vdash}\\ +% $\Vvdash $ &\cmd{\Vvdash} \\ +% $\smallsmile $ &\cmd{\smallsmile} &$\smallfrown $ &\cmd{\smallfrown}\\ +% $\shortmid $ &\cmd{\shortmid} &$\shortparallel $ &\cmd{\shortparallel}\\ +% $\bumpeq $ &\cmd{\bumpeq} &$\Bumpeq $ &\cmd{\Bumpeq}\\ +% $\therefore $ &\cmd{\therefore} &$\because $ &\cmd{\because}\\ +% $\between $ &\cmd{\between} &$\pitchfork $ &\cmd{\pitchfork}\\ +% $\varpropto $ &\cmd{\varpropto} &$\backepsilon $ &\cmd{\backepsilon}\\ +% \end{tabular} +% \caption{AMS symbols: Binary relations}\label{tab:binrel} +% \end{table} +% +% \subsubsection{Negated relations} +% Negated relation symbols are summarized in table~\ref{tab:amsnegrel}. +% They are partly available already with the `lite' font set; +% see table~\ref{tab:negrel}. +% +% Note that +% $\nsim$ (\cmd{\nsim}) from the AMS symbols is definitely different from +% $\notsim$ (\cmd{\notsim}) from the basic fonts. +% +% \begin{table}[hbtp] +% \centering +% \begin{tabular}{r@{\,}ll@{\quad}r@{\,}ll} +% & $\nless $ &\cmd{\nless} & &$\ngtr $ &\cmd{\ngtr}\\ +% & $\nleq $ &\cmd{\nleq} & &$\ngeq $ &\cmd{\ngeq}\\ +% & $\nleqslant $ &\cmd{\nleqslant} & &$\ngeqslant $ &\cmd{\ngeqslant}\\ +% & $\nleqq $ &\cmd{\nleqq} & &$\ngeqq $ &\cmd{\ngeqq}\\ +% & $\lneq $ &\cmd{\lneq} & &$\gneq $ &\cmd{\gneq}\\ +% & $\lneqq $ &\cmd{\lneqq} & &$\gneqq $ &\cmd{\gneqq}\\ +% & $\lvertneqq $ &\cmd{\lvertneqq} & &$\gvertneqq $ &\cmd{\gvertneqq}\\ +% & $\lnsim $ &\cmd{\lnsim} & &$\gnsim $ &\cmd{\gnsim}\\ +% & $\lnapprox $ &\cmd{\lnapprox} & &$\gnapprox $ &\cmd{\gnapprox}\\ +% & $\nprec $ &\cmd{\nprec} & &$\nsucc $ &\cmd{\nsucc} \\ +% & $\npreceq $ &\cmd{\npreceq} & &$\nsucceq $ &\cmd{\nsucceq}\\ +% & $\precneqq $ &\cmd{\precneqq} & &$\succneqq $ &\cmd{\succneqq}\\ +% & $\precnsim $ &\cmd{\precnsim} & &$\succnsim $ &\cmd{\succnsim}\\ +% & $\precnapprox $ &\cmd{\precnapprox} & &$\succnapprox $ &\cmd{\succnapprox}\\ +% & $\nsim $ &\cmd{\nsim} & &$\ncong $ &\cmd{\ncong}\\ +% & $\nshortmid $ &\cmd{\nshortmid} & &$\nshortparallel$ &\cmd{\nshortparallel}\\ +% & $\nmid $ &\cmd{\nmid} & &$\nparallel $ &\cmd{\nparallel}\\ +% & $\nvdash $ &\cmd{\nvdash} & &$\nvDash $ &\cmd{\nvDash}\\ +% & $\nVdash $ &\cmd{\nVdash} & &$\nVDash $ &\cmd{\nVDash}\\ +% & $\ntriangleleft$ &\cmd{\ntriangleleft}& &$\ntriangleright$ &\cmd{\ntriangleright}\\ +% & $\nsubseteq $ &\cmd{\nsubseteq} & &$\nsupseteq $ &\cmd{\nsupseteq}\\ +% & $\nsubseteqq $ &\cmd{\nsubseteqq} & &$\nsupseteqq $ &\cmd{\nsupseteqq}\\ +% & $\subsetneq $ &\cmd{\subsetneq} & &$\supsetneq $ &\cmd{\supsetneq}\\ +% & $\varsubsetneq $ &\cmd{\varsubsetneq} & &$\varsupsetneq $ &\cmd{\varsupsetneq}\\ +% & $\subsetneqq $ &\cmd{\subsetneqq} & &$\supsetneqq $ &\cmd{\supsetneqq}\\ +% & $\varsubsetneqq$ &\cmd{\varsubsetneqq}& &$\varsupsetneqq $ &\cmd{\varsupsetneqq}\\ +% {}*&$\nsqsubset $ &\cmd{\nsqsubset} & *&$\nsqsupset $ &\cmd{\nsqsupset}\\ +% ^^A {}*&$\nsqsubseteq $ &\cmd{\nsqsubseteq}& *&$\nsqsupseteq $ &\cmd{\nsqsupseteq}\\ +% \end{tabular} +% \caption{AMS symbols: Negated relations. +% Symbols marked by an asterisk do not exist on the +% Computer Modern AMS fonts.} \label{tab:amsnegrel} +% \end{table} +% +% \subsubsection{Arrows} +% +% The arrows from table~\ref{tab:arrows} are of type \cmd{\mathrel}. +% It should be noted that $\rightleftharpoons$ +% (\cmd{\rightleftharpoons}) is already provided with the `lite' font set. +% The arrow $\leadsto$ (\cmd{\leadsto}) appears in the `\LaTeX\ symbols', +% and its shape is more common than $\rightsquigarrow$ from the AMS fonts. +% A number of arrows are also provided in negated form, see table~\ref{tab:negarrows}. +% +% \cmd{\rarrowhead}, \cmd{\larrowhead}, and \cmd{\midshaft} (which are not +% given names in the AMS fonts) can be used to construct longer dashed arrows. +% For example +% \begin{verse} +% |\mathrel{\midshaft\midshaft\midshaft\rarrowhead}| +% \end{verse} +% can be used to produce the arrow in the formula +% \[ +% A\mathrel{\midshaft\midshaft\midshaft\rarrowhead}B. +% \] +% +% \begin{table}[hbtp] +% \centering +% \begin{tabular}{r@{\,}ll@{\quad}r@{\,}ll} +% &$\dashrightarrow $ &\cmd{\dashrightarrow}, \cmd{\dasharrow}& &$\dashleftarrow $ &\cmd{\dashleftarrow}\\ +% {}*&$\larrowhead $ &\cmd{\larrowhead} &*&$\rarrowhead $ &\cmd{\rarrowhead}\\ +% {}*&$\midshaft $ &\cmd{\midshaft} \\ +% &$\leftleftarrows $ &\cmd{\leftleftarrows} & &$\rightrightarrows $ &\cmd{\rightrightarrows}\\ +% &$\leftrightarrows $ &\cmd{\leftrightarrows} & &$\rightleftarrows $ &\cmd{\rightleftarrows}\\ +% &$\Lleftarrow $ &\cmd{\Lleftarrow} & &$\Rrightarrow $ &\cmd{\Rrightarrow}\\ +% &$\twoheadleftarrow $ &\cmd{\twoheadleftarrow} & &$\twoheadrightarrow $ &\cmd{\twoheadrightarrow}\\ +% &$\leftarrowtail $ &\cmd{\leftarrowtail} & &$\rightarrowtail $ &\cmd{\rightarrowtail}\\ +% &$\looparrowleft $ &\cmd{\looparrowleft} & &$\looparrowright $ &\cmd{\looparrowright}\\ +% &$\leftrightharpoons$ &\cmd{\leftrightharpoons} & &$\rightleftharpoons $ &\cmd{\rightleftharpoons}\\ +% &$\curvearrowleft $ &\cmd{\curvearrowleft} & &$\curvearrowright $ &\cmd{\curvearrowright}\\ +% {}*&$\undercurvearrowleft$ &\cmd{\undercurvearrowleft} &*&$\undercurvearrowright$ &\cmd{\undercurvearrowright}\\ +% &$\circlearrowleft $ &\cmd{\circlearrowleft} & &$\circlearrowright $ &\cmd{\circlearrowright}\\ +% &$\Lsh $ &\cmd{\Lsh} & &$\Rsh $ &\cmd{\Rsh}\\ +% &$\upuparrows $ &\cmd{\upuparrows} & &$\downdownarrows $ &\cmd{\downdownarrows}\\ +% &$\upharpoonright $ &\cmd{\upharpoonright}, \cmd{\restriction}& &$\upharpoonleft $ &\cmd{\upharpoonleft}\\ +% &$\downharpoonright $ &\cmd{\downharpoonright} & &$\downharpoonleft $ &\cmd{\downharpoonleft}\\ +% &$\updownarrows $ &\cmd{\updownarrows} & &$\downuparrows $ &\cmd{\downuparrows}\\ +% &$\updownharpoons $ &\cmd{\updownharpoons} & &$\downupharpoons $ &\cmd{\downupharpoons} \\ +% &$\upupharpoons $ &\cmd{\upupharpoons} & &$\downdownharpoons $ &\cmd{\downdownharpoons} \\ +% &$\rightsquigarrow $ &\cmd{\rightsquigarrow} & &$\leadsto $ &\cmd{\leadsto}\\ +% &$\leftrightsquigarrow$ &\cmd{\leftrightsquigarrow} & &$\multimap $ &\cmd{\multimap}\\ +% \end{tabular} +% \caption{AMS arrows. Symbols marked by an asterisk do not exist on the +% Computer Modern AMS fonts or are not given names of their own with the AMS macros.\label{tab:arrows}} +% \end{table} +% +% \begin{table}[hbtp] +% \centering +% \begin{tabular}{ll@{\quad}ll} +% $\nleftarrow$ &\cmd{\nleftarrow} & $\nrightarrow$ &\cmd{\nrightarrow}\\ +% $\nLeftarrow$ &\cmd{\nLeftarrow} & $\nRightarrow$ &\cmd{\nRightarrow}\\ +% $\nleftrightarrow$ &\cmd{\nleftrightarrow} & $\nLeftrightarrow$ &\cmd{\nLeftrightarrow}\\ +% \end{tabular} +% \caption{AMS arrows (negated)} \label{tab:negarrows} +% \end{table} +% +% +% \subsubsection{Alternative symbol names} +% Several symbols are made available both under the names introduced +% by the AMS and under the names known from \LaTeX~2.09 or +% from the \Lpack{latexsym} package---see table~\ref{tab:alt}. +% \begin{table}[hbtp] +% \centering +% \begin{tabular}{lll} +% ^^A & AMS: & \Lpack{latexsym}:\\[.5ex] +% $\square $ & \cmd{\square} & \cmd{\Box} \\ +% $\vartriangleleft $ & \cmd{\vartriangleleft} & \cmd{\lhd} \\ +% $\trianglelefteq $ & \cmd{\trianglelefteq} & \cmd{\unlhd} \\ +% $\vartriangleright$ & \cmd{\vartriangleright}& \cmd{\rhd} \\ +% $\trianglerighteq$ & \cmd{\trianglerighteq} & \cmd{\unrhd} \\ +% $\bowtie$ & \cmd{\bowtie} & \cmd{\Join} \\ +% \end{tabular} +% \caption{Alternative symbol names} \label{tab:alt} +% \end{table} +% +% +% \subsection{Change history} +% \label{sec:changes} +% \noindent Version 2.0 as of 2006-07-31: +% \begin{itemize} +% \item +% \cmd{\LEFTRIGHT} works with |\lbrace|, |\rbrace|, |\{| and |\}|. +% \item +% Various shapes of curly braces are provided. +% \item +% Improved code to select the size of |\big| delimiters; +% note that this may cause formulas to require a different +% amount of space, as compared with the previous package version. +% \end{itemize} +% +% +% \section{Transition from \Lpack{mtpro} to \Lpack{mtpro2}} +% As explained above, \Lpack{mtpro2} constitutes the +% successor to the three packages \Lpack{mtpro}, \Lpack{mtpams} +% and \Lpack{mtpb}. +% Transition from the predecessor packages should be easy: +% \begin{enumerate} +% \item Load \Lpack{mtpro2} in place of \Lpack{mtpro}; +% adopt its options (with the exception of \Lopt{boldalphabet}, see below). +% \item If you were using the package \Lpack{mtpams}, +% pass its options (if any) to \Lpack{mtpro2} now. +% \item If you were using the package \Lpack{mtpb}, pass +% its options to \Lpack{mtpro2} now. +% \end{enumerate} +% Only few incompatibilities are to be mentioned\danger: +% \begin{itemize} +% \item The syntax of \cmd{\xl} \& friends has changed: +% The limits can be specified `as usual' now. +% \item The option \Lopt{boldalphabet} does not exist any more, +% and all Greek letters are of type `mathalpha' by default. +% \item No blackboard bold math alphabet \cmd{\mathbb} is set up by default. +% To declare a blackboard bold alphabet, one of the options explained +% in section~\ref{sec:bb} needs to be used. +% \end{itemize} +% +% +% \section{Option summary} +% \label{sec:options} +% This section lists all options of the \Lpack{mtpro2} package. +% Options that correspond to the default behavior of the package are +% marked by an asterisk and need normally not to be specified. +% +% \begin{description} +% \item[\Lopt{complete}*] Uses all of the \mtpro fonts. +% \item[\Lopt{lite}] Uses the fonts of the `lite' release only. +% +% \item[\Lopt{uprightGreek}*] Makes the uppercase Greek letters upright. +% \item[\Lopt{slantedGreek}] Makes the uppercase Greek letters slanted. +% +% \item[\Lopt{compatiblegreek}] Declares the lowercase Greek letters as `ordinary' symbols, +% which are not affected by math alphabet commands. +% +% \item[\Lopt{uprightoperators}*] Makes \cmd{\sum}, \cmd{\prod} and \cmd {\coprod} upright. +% \item[\Lopt{slantedoperators}] Makes \cmd{\sum}, \cmd{\prod} and \cmd {\coprod} slanted. +% +% \item[\Lopt{cmcal}*] +% Assigns the Computer Modern calligraphic fonts to the math alphabets +% \cmd{\mathcal} and \cmd{\mathbcal}. +% \item[\Lopt{eucal}] Assigns Euler Script to \cmd{\mathcal} and \cmd{\mathbcal}. +% \item[\Lopt{mtpluscal}] Assigns the MTMS and MTMSB script fonts, which were part of Y\&Y's +% \mtplus collection, to \cmd{\mathcal} and \cmd{\matbcal}. +% \item[\Lopt{lucidacal}] Assigns Lucida Script to \cmd{\mathcal} and \cmd{\mathbcal}. +% \item[\Lopt{lucidascr}] Like \Lopt{lucidacal}, but assigns the fonts to +% \cmd{\mathscr} and \cmd{\mathbscr}. +% \item[\Lopt{mtplusscr}] Like \Lopt{mtpluscal}, but assigns the fonts to +% \cmd{\mathscr} and \cmd{\mathbscr}. +% +% \item[\Lopt{eufrak}] Declares a new math alphabet \cmd{\mathfrak} +% and assigns the Euler Calligraphic fonts to it. +% +% \item[\Lopt{amsbb}] Declares a math alphabet \cmd{\mathbb} and assigns the AMS `B' font. +% +% \item[\Lopt{subscriptcorrection}] +% Redefines the underscore character so that it automatically corrects +% the spacing of subscripts. +% \item[\Lopt{nosubscriptcorrection}*] +% Disables the subscript correction. +% +% \item[\Lopt{curlybraces}*] Uses curly braces (for fixed sizes). +% \item[\Lopt{straightbraces}] Uses straight braces. +% \item[\Lopt{morphedbraces}] Uses braces that morph from curly to straight. +% +% \item[\Lopt{zswash}] +% Makes |$z$| print $\zswash$. +% \item[\Lopt{nozswash}*] +% Makes |$z$| print $z$. +% +% \end{description} +% \textbf{The following options require the complete font set.} +% They select math fonts that are not part of the `lite' font set, +% so they are \emph{not} to be used in conjunction with \Lopt{lite}: +% \begin{description} +% \item[\Lopt{mtpcal}] Assigns \mtpro Script to \cmd{\mathcal} and \cmd{\mathbcal}. +% \item[\Lopt{mtpccal}] Assigns \mtpro Curly to \cmd{\mathcal}. +% \item[\Lopt{mtpscr}] Like \Lopt{mtpcal}, but puts the fonts into new +% \cmd{\mathscr} and \cmd{\mathbscr} alphabets. +% \item[\Lopt{mtpfrak}] Assigns the \mtpro Fraktur font to \cmd{\mathfrak}. +% \item[\Lopt{mtphrb}] Assigns the \mtpro Holey Roman Bold font to \cmd{\mathbb}. +% \item[\Lopt{mtpbb}] Assigns the \mtpro Blackboard Bold font to \cmd{\mathbb}. +% \item[\Lopt{mtphbi}] Assigns the \mtpro Holey Roman Bold Italic font to \cmd{\mathbb}. +% \item[\Lopt{mtpbbi}] Assigns the \mtpro Blackboard Bold Italic font to \cmd{\mathbb}. +% \item[\Lopt{mtphrd}] Assigns the \mtpro Holey Roman Bold Dark font to \cmd{\mathbb}. +% \item[\Lopt{mtpbbd}] Assigns the \mtpro Blackboard Bold Dark font to \cmd{\mathbb}. +% \item[\Lopt{amssymbols}*] Makes the AMS symbols available. +% This option is disabled automatically when \Lopt{lite} is specified. +% \item[\Lopt{noamssymbols}] AMS symbols are not defined, thus saving \TeX\ resources. +% \end{description} +% This package makes a lot of font re-assignments. Normally these +% generate warning messages on the terminal, however getting so many +% messages would be distracting, so a further three options control the +% font tracing. Even more control may be obtained by loading the +% \Lpack{tracefnt} package. +% \begin{description} +% \item[\Lopt{errorshow}*] Only show font \emph{errors} on the terminal. +% Warnings are just sent to the log file. +% \item[\Lopt{warningshow}] Show font warnings on the terminal. This +% corresponds to the usual \LaTeX\ behavior. +% \item[\Lopt{nofontinfo}] Suppress all font warnings, even from the log file. +% \end{description} +% +% \noindent\textbf{NB: }Not all options can be used together: E.g., one can select at most one +% of the options setting up \cmd{\mathcal}; if more than one such option is given, +% \Lopt{mtpcal} will win over \Lopt{mtpluscal}, \Lopt{eucal}, \Lopt{lucidacal} +% and \Lopt{cmcal}. +% +% \noindent\textbf{NB: }The options to set up a \cmd{\mathscr}, \cmd{\mathfrak} or +% \cmd{\mathbb} alphabet should not be used when an additional package is loaded +% that also declares one of these math alphabets. +% +% +% +% \section{Using the Curly, Script, Fraktur and doublestroke fonts without the \Lpack{mtpro2} package} +% \DeleteShortVerb{\|} ^^A wrt/ the framed table +% +% \fullonly Particular font definition files are provided for the Times-compatible script, fraktur and +% doublestroke fonts described in the sections~\ref{sec:calligr}, \ref{sec:fraktur} and \ref{sec:bb}. +% Thus, they can be used also without the \Lpack{mtpro2} package. +% Table~\ref{tab:nfss} provides the information required to set up math alphabets using these fonts. +% +% \begin{table}[htbp] +% \renewcommand{\arraystretch}{1.1} +% \centering +% \begin{tabular}{|c|c|c|c|l|} +% \hline +% \textbf{Encoding} & \textbf{family} & \textbf{series} & \textbf{shape} & \\ \hline\hline +% \multicolumn{5}{|c|}{Curly}\\ \hline +% \texttt{U} & \texttt{mt2ms} & \texttt{m} & \texttt{n} & $\mathcal{a, b \dots Z}$\\ \hline\hline +% \multicolumn{5}{|c|}{Script}\\ \hline +% \texttt{U} & \texttt{mt2ms} & \texttt{m} & \texttt{it} & $\mathscr{a, b \dots Z}$\\ \hline +% \texttt{U} & \texttt{mt2ms} & \texttt{b} & \texttt{it} & $\mathbscr{a, b \dots Z}$\\ \hline\hline +% \multicolumn{5}{|c|}{Fraktur}\\ \hline +% \texttt{U} & \texttt{mt2mf} & \texttt{m} & \texttt{n} & $\mathfrak{a, b \dots Z}$\\ \hline +% \texttt{U} & \texttt{mt2mf} & \texttt{m} & \texttt{it} & {\boldmath$\mathfrak{a, b \dots Z}$}\\ \hline +% \multicolumn{5}{|c|}{Blackboard Bold}\\ \hline +% \texttt{U} & \texttt{mt2bb} & \texttt{m} & \texttt{n} & {\bbbfont a{\normalfont, } B{\normalfont\dots\ }\ Z}\\ \hline +% \texttt{U} & \texttt{mt2bb} & \texttt{m} & \texttt{it} & {\bbbifont a{\normalfont, } B{\normalfont\dots\ }\ Z}\\ \hline +% \texttt{U} & \texttt{mt2bb} & \texttt{b} & \texttt{n} & {\bbbdfont a{\normalfont, } B{\normalfont\dots\ }\ Z}\\ \hline\hline +% \multicolumn{5}{|c|}{Holey Roman Bold}\\ \hline +% \texttt{U} & \texttt{mt2hrb} & \texttt{m} & \texttt{n} & {\hrbfont a{\normalfont, } B{\normalfont\dots\ }\ Z}\\ \hline +% \texttt{U} & \texttt{mt2hrb} & \texttt{m} & \texttt{it} & {\hbifont a{\normalfont, } B{\normalfont\dots\ }\ Z}\\ \hline +% \texttt{U} & \texttt{mt2hrb} & \texttt{b} & \texttt{n} & {\hrbdfont a{\normalfont, } B{\normalfont\dots\ }\ Z}\\ \hline +% \end{tabular} +% \caption{NFSS classification of the additional Times-compatible math alphabets}\label{tab:nfss} +% \end{table} +% \MakeShortVerb{\|} +% +% \StopEventually{\par\vfill\noindent{\small +% \mathtime\ is a trademark of Publish or Perish, Inc. +% Times and Helvetica are trademarks of Linotype~AG and/or its subsidiaries. +% Concorde is a trademark of H. Berthold AG. +% \par}} +% +% +% +% \section{The implementation of \Lpack{mtpro2}} +% +% \subsection{Options} +% +% The first options to be evaluated +% are those that distinguish between the complete and the `lite' font set. +% \begin{macrocode} +%<*mtpro> +\newif\ifmtp@full +\DeclareOption{complete}{\mtp@fulltrue} +\DeclareOption{lite}{\mtp@fullfalse\mtp@amsfalse} +% \end{macrocode} +% +% A procedure to signal that an option is incompatible with \Lopt{lite}: +% \begin{macrocode} +\def\mtp@opterr{% + \PackageError{mtpro2}% + {Option \CurrentOption\space cannot be used\MessageBreak + together with the option `lite'}% + {Remove the option `lite' or make sure that the complete MT-Pro font set is provided.} +} +% \end{macrocode} +% +% Do we want to turn off the AMS symbols? +% \begin{macrocode} +\newif\ifmtp@ams +\DeclareOption{noamssymbols}{\mtp@amsfalse} +\DeclareOption{amssymbols}{\ifmtp@full\mtp@amstrue\else\mtp@opterr\fi} +% \end{macrocode} +% +% For the (un)slanted Greek we take +% |\Gamma| as a marker, since it will be redefined anyway. +% \begin{macrocode} +\DeclareOption{uprightGreek}{\let\Gamma=u} +\DeclareOption{slantedGreek}{\let\Gamma=s} +% \end{macrocode} +% +% Slanted or upright operators? Using |\sum| as a marker would +% break \Lpack{amsmath}, so we can't avoid to define one more |\if...|: +% \begin{macrocode} +\newif\ifmtp@slops +\DeclareOption{uprightoperators}{\mtp@slopsfalse} +\DeclareOption{slantedoperators}{\mtp@slopstrue} +% \end{macrocode} +% +% Subscript correction: +% \begin{macrocode} +\newcommand\enablesubscriptcorrection {\catcode`\_=12\relax} +\newcommand\disablesubscriptcorrection{\catcode`\_=8\relax} +% \end{macrocode} +% \begin{macrocode} +\DeclareOption{nosubscriptcorrection}{\disablesubscriptcorrection} +\DeclareOption{subscriptcorrection} {\enablesubscriptcorrection} +% \end{macrocode} +% +% Alternative z in math mode: +% \begin{macrocode} +\DeclareOption{zswash}{\mathcode `z="8000} +% \end{macrocode} +% For the sake of symmetry: +% \begin{macrocode} +\DeclareOption{nozswash}{\mathcode `z="717A} +% \end{macrocode} +% +% Shape of braces; \cmd{\curlybraces} is the default. +% \begin{macrocode} +\DeclareOption{curlybraces}{\let\mtp@br=c} +\DeclareOption{straightbraces}{\let\mtp@br=s} +\DeclareOption{morphedbraces}{\let\mtp@br=m} +% +% \end{macrocode} +% |\mathcal| and |\mathscr| are (mis)used as the markers for the calligraphic +% and script alphabets. In a similar fashion we handle |\mathscr|. +% \begin{macrocode} +\DeclareOption{cmcal} {\let\mathcal=c} +\DeclareOption{lucidacal}{\let\mathcal=l} +\DeclareOption{eucal} {\let\mathcal=e} +\DeclareOption{mtpluscal}{\let\mathcal=s} +\DeclareOption{mtpcal} {\ifmtp@full\let\mathcal=a\else\mtp@opterr\fi} +\DeclareOption{mtpccal} {\ifmtp@full\let\mathcal=u\else\mtp@opterr\fi} +\DeclareOption{lucidascr}{\let\mathscr=l} +\DeclareOption{mtplusscr}{\let\mathscr=s} +\DeclareOption{mtpscr} {\ifmtp@full\let\mathscr=a\else\mtp@opterr\fi} +% \end{macrocode} +% +% |\mathfrak| is the marker for the Fraktur alphabet. In contrast to +% \Lpack{mtpro} there is now an option to load Euler Fraktur: +% \begin{macrocode} +\DeclareOption{eufrak} {\let\mathfrak=e} +\DeclareOption{mtpfrak} {\ifmtp@full\let\mathfrak=a\else\mtp@opterr\fi} +% \end{macrocode} +% +% By default, the lc Greek letters are declared as type `mathalpha', so that the math alphabets +% \cmd{\mathbold} and \cmd{\mathbb} act upon them. +% To protect against compatibility problems with legacy documents, this can be turned off +% through the option \Lopt{compatiblegreek}: +% \begin{macrocode} +\newif\ifmtp@greekalpha\mtp@greekalphatrue +\DeclareOption{compatiblegreek}{\mtp@greekalphafalse} +% \end{macrocode} +% +% Finally, there are the options for setting up a \cmd{\mathbb} alphabet: +% \begin{macrocode} +\DeclareOption{amsbb}{\let\mathbb=y} +\DeclareOption{mtpbb}{\let\mathbb=b} +\DeclareOption{mtpbbd}{\let\mathbb=d} +\DeclareOption{mtphrb}{\let\mathbb=h} +\DeclareOption{mtphrd}{\let\mathbb=k} +\DeclareOption{mtpbbi}{\let\mathbb=i} +\DeclareOption{mtphbi}{\let\mathbb=j} +% \end{macrocode} +% +% This package makes a lot of redefinitions. The warnings can be rather +% annoying so some package options control whether the information +% is printed to the terminal or log file. More control can be obtained +% by loading the \textsf{tracefnt} package. +% +% Just show font errors; Warning and info to the log file. +% The default for this package. +% \begin{macrocode} +\DeclareOption{errorshow}{% + \def\@font@info#1{% + \GenericInfo{(Font)\@spaces\@spaces\@spaces\space\space}% + {LaTeX Font Info: \space\space\space#1}}% + \def\@font@warning#1{% + \GenericInfo{(Font)\@spaces\@spaces\@spaces\space\space}% + {LaTeX Font Warning: #1}}} +% \end{macrocode} +% +% The normal \LaTeX\ default, Font Info to the log file and Font +% Warning to the terminal. +% \begin{macrocode} +\DeclareOption{warningshow}{% + \def\@font@info#1{% + \GenericInfo{(Font)\@spaces\@spaces\@spaces\space\space}% + {LaTeX Font Info: \space\space\space#1}}% + \def\@font@warning#1{% + \GenericWarning{(Font)\@spaces\@spaces\@spaces\space\space}% + {LaTeX Font Warning: #1}}} +% \end{macrocode} +% +% On some machines writing all the log info may slow things down +% so extra option not to log font changes at all. +% \begin{macrocode} +\DeclareOption{nofontinfo}{% + \let\@font@info\@gobble + \let\@font@warning\@gobble} +% \end{macrocode} +% +% The defaults: +% \begin{macrocode} +\ExecuteOptions{% + complete,amssymbols,uprightGreek,uprightoperators,nosubscriptcorrection,curlybraces,cmcal,errorshow} +% \end{macrocode} +% +% \begin{macrocode} +\ProcessOptions +% \end{macrocode} +% +% +% \subsection{Fonts} +% Switch to |\normalfont|. This makes any---possibly---changed values of em and ex +% come into effect. (Is this really necessary? In any case, it won't hurt\dots) +% \begin{macrocode} +\normalfont +% \end{macrocode} +% +% \begin{macrocode} +% \end{macrocode} +% By default there is no `heavy' mathversion, so let's declare it, +% if we have the full font set: +% \begin{macrocode} +\ifmtp@full +\DeclareMathVersion{heavy} +\newcommand\heavymath{\@nomath\heavymath\mathversion{heavy}} +\fi +% \end{macrocode} +% +% Next, set up the math core fonts in terms of NFSS. Notice that there are +% no external FD files for these, because the encoding is defined only locally. +% The |LMP1| encoding is similar to |OML|: +% \begin{macrocode} +\DeclareFontEncoding{LMP1}{}{} +\DeclareFontSubstitution{LMP1}{mtt}{m}{it} +\DeclareFontFamily{LMP1}{mtt}{\skewchar\font45} +\DeclareFontShape{LMP1}{mtt}{m}{it}{<-7> mt2mif <7-9> mt2mis <9-> mt2mit}{} +\DeclareFontShape{LMP1}{mtt}{b}{it}{<-7> mt2bmif <7-9> mt2bmis <9-> mt2bmit}{} +% \end{macrocode} +% The |LMP2| encoding corresponds to |OMS|: +% \begin{macrocode} +\DeclareFontEncoding{LMP2}{}{} +\DeclareFontSubstitution{LMP2}{mtt}{m}{n} +\DeclareFontFamily{LMP2}{mtt}{\skewchar\font48} +\DeclareFontShape{LMP2}{mtt}{m}{n}{<-7> mt2syf <7-9> mt2sys <9-> mt2syt}{\skewchar\font32} +\DeclareFontShape{LMP2}{mtt}{b}{n}{<-7> mt2bsyf <7-9> mt2bsys <9-> mt2bsyt}{\skewchar\font32} +\DeclareFontShape{LMP2}{mtt}{eb}{n}{<-7> mt2hsyf <7-9> mt2hsys <9-> mt2hsyt}{\skewchar\font32} +% \end{macrocode} +% The `extension symbol' font is similar to the Computer Modern \texttt{cmex} +% font; however, it contains additional symbols. +% One more encoding just for this reason: +% \begin{macrocode} +\DeclareFontEncoding{LMP3}{}{} +\DeclareFontSubstitution{LMP3}{mtt}{m}{n} +\DeclareFontFamily{LMP3}{mtt}{} +\DeclareFontShape{LMP3}{mtt}{m}{n}{<->mt2exa}{} +\DeclareFontShape{LMP3}{mtt}{b}{n}{<->mt2bexa}{} +\DeclareFontShape{LMP3}{mtt}{eb}{n}{<->mt2hexa}{} +% \end{macrocode} +% There is also a bold upright font, which is used for the |\mbf| +% alphabet. It contains letters and digits only, so we assign `U' +% as the encoding. +% \begin{macrocode} +\DeclareFontFamily{U}{mtt}{\skewchar\font32} +\DeclareFontShape{U}{mtt}{b}{n}{<-7> mt2mbf <7-9> mt2mbs <9-> mt2mbt}{}% (MJ) +% \end{macrocode} +% +% +% The main four symbol fonts: +% \begin{macrocode} +\DeclareSymbolFont{operators} {\encodingdefault}{\rmdefault}{m}{n} +\DeclareSymbolFont{letters} {LMP1}{mtt}{m}{it} +\DeclareSymbolFont{symbols} {LMP2}{mtt}{m}{n} +\DeclareSymbolFont{largesymbols}{LMP3}{mtt}{m}{n} +% \end{macrocode} +% The particular `bold' variants (with full font set only): +% \begin{macrocode} +\ifmtp@full +\SetSymbolFont{operators} {bold}{\encodingdefault}{\rmdefault}{b}{n} +\SetSymbolFont{letters} {bold}{LMP1}{mtt}{b}{it} +\SetSymbolFont{symbols} {bold}{LMP2}{mtt}{b}{n} +\SetSymbolFont{largesymbols}{bold}{LMP3}{mtt}{b}{n} +% \end{macrocode} +% The `heavy' variants (ditto). Note that there are no `heavy' variants of the +% `letters' and `operators' fonts: +% \begin{macrocode} +\SetSymbolFont{symbols} {heavy}{LMP2}{mtt}{eb}{n} +\SetSymbolFont{largesymbols}{heavy}{LMP3}{mtt}{eb}{n} +% \end{macrocode} +% +% +% The AMS symbols, also with full set only: +% \begin{macrocode} +\DeclareFontFamily{U}{mt2sya}{}% +\DeclareFontShape{U}{mt2sya}{m}{n}{<-7>mt2syaf<7-9>mt2syas<9->mt2syat}{}% +\DeclareFontShape{U}{mt2sya}{b}{n}{<-7>mt2bsyaf<7-9>mt2bsyas<9->mt2bsyat}{}% +\DeclareFontShape{U}{mt2sya}{eb}{n}{<-7>mt2hsyaf<7-9>mt2hsyas<9->mt2hsyat}{}% +\fi +% \end{macrocode} +% +% +% The fonts named \cmd{\MTEXA@}, \cmd{\MTEXE@}, \cmd{\MTEXF@} and \cmd{\MTEXG@}, +% are used for the extra-large roots, delimiters and accents. +% The fonts \cmd{\MTXL@} and \cmd{\MTXXXL@} provide the extra-large operators. +% They are to be loaded at $1\times$, $2\times$, $3\times$ and +% $4\times$ \cmd{\normalsize}. Notice that we are bypassing the NFSS! +% % In addition to that, the `normal' font size +% is stored in the macro \cmd{\tMTPsize}:. +% \begin{macrocode} +\normalsize +\dimen@\f@size pt +\edef\tMTPsize{\f@size pt} +\font\MTEXA@=mt2exa at \the\dimen@ +\font\MTXL@=mt2xl at \the\dimen@ +\multiply\dimen@\tw@ +\font\MTEXE@=mt2exe at \the\dimen@ +\font\MTXXXL@=mt2xxxl at \the\dimen@ +\multiply\dimen@\tw@ +\font\MTEXF@=mt2exf at \the\dimen@ +\multiply\dimen@\tw@ +\font\MTEXG@=mt2exg at \the\dimen@ +% \end{macrocode} +% +% An auxiliary macro, borrowed from Ams-\TeX: +% \begin{macrocode} +\alloc@0\count\countdef\insc@unt\pointcount@ +% \end{macrocode} +% Can't say \verb+\newcount+, since that's outer. +% \begin{macrocode} +\def\getpoints@#1.#2\getpoints@{\pointcount@#1\relax} +% \end{macrocode} +% +% +% \subsection{Math alphabet declarations} +% +% \subsubsection{The standard alphabets} +% We don't have to declare |\mathrm| as \LaTeX{} declares it as +% a math symbol alphabet pointing to `operators' symbol font. +% Notice that we let \cmd{\mathbf} point to series `b' rather than 'bf', since +% Times and similar fonts are usually available with that series. +% \begin{macrocode} +% \DeclareSymbolFontAlphabet{\mathrm}{operators} +\DeclareMathAlphabet{\mathbf}{\encodingdefault}{\rmdefault}{b}{n} +\DeclareMathAlphabet{\mathit}{\encodingdefault}{\rmdefault}{m}{it} +\DeclareMathAlphabet{\mathsf}{\encodingdefault}{\sfdefault}{m}{n} +\DeclareMathAlphabet{\mathtt}{\encodingdefault}{\ttdefault}{m}{n} +\SetMathAlphabet{\mathit}{bold}{\encodingdefault}{\rmdefault}{b}{it} +\SetMathAlphabet{\mathsf}{bold}{\encodingdefault}{\sfdefault}{b}{n} +\SetMathAlphabet{\mathtt}{bold}{\encodingdefault}{\ttdefault}{b}{n} +% \end{macrocode} +% +% +% \subsubsection{Bold math alphabets} +% We provide a non-standard {\bfseries bold upright} math alphabet, which points to the +% MTMBF, MTMBS and MTMBT fonts: +% \begin{macrocode} +\DeclareMathAlphabet{\mbf}{U}{mtt}{b}{n} +% \end{macrocode} +% The {\bfseries\itshape bold italic} math alphabet is non-standard, too: +% \begin{macrocode} +\DeclareMathAlphabet{\mathbold}{LMP1}{mtt}{b}{it} +% \end{macrocode} +% NB: Packages such \Lpack{mathpazo}, \Lpack{eulervm} or +% \Lpack{fixmath}, too, provide a \cmd{\mathbold} alphabet. +% +% +% \subsubsection{Script alphabets} +% \mtplus Script: +% \begin{macrocode} +\ifx\mathscr s + \let\mathscr\relax + \DeclareMathAlphabet{\mathscr} {U}{mtms}{m}{n} + \SetMathAlphabet {\mathscr} {bold}{U}{mtms}{b}{n} + \DeclareMathAlphabet{\mathbscr} {U}{mtms}{b}{n} +\fi +% \end{macrocode} +% Lucida Calligraphic: +% \begin{macrocode} +\ifx\mathscr l + \let\mathscr\relax + \DeclareMathAlphabet{\mathscr} {OMS}{lbm}{m}{n} + \SetMathAlphabet{\mathscr}{bold}{OMS}{lbm}{b}{n} + \DeclareMathAlphabet{\mathbscr} {OMS}{lbm}{b}{n} +\fi +% \end{macrocode} +% Math Script: +% \begin{macrocode} +\ifx\mathscr a + \let\mathscr\relax + \DeclareRobustCommand*{\mathscr}[1]{{\MTPsetupScript\MTPScript{#1}}} + \DeclareRobustCommand*{\mathbscr}[1]{{\MTPsetupScript\MTPbScript{#1}}} +\fi +% \end{macrocode} +% +% +% \subsubsection{Calligraphic alphabets} +% Lucida: +% \begin{macrocode} +\ifx\mathcal l + \let\mathcal\relax + \DeclareMathAlphabet{\mathcal} {OMS}{lbm}{m}{n} + \SetMathAlphabet{\mathcal}{bold}{OMS}{lbm}{b}{n} + \DeclareMathAlphabet{\mathbcal} {OMS}{lbm}{b}{n} +\fi +% \end{macrocode} +% \mtplus Script: +% \begin{macrocode} +\ifx\mathcal s + \let\mathcal\relax + \DeclareMathAlphabet{\mathcal} {U}{mtms}{m}{n} + \SetMathAlphabet{\mathcal}{bold}{U}{mtms}{b}{n} + \DeclareMathAlphabet{\mathbcal} {U}{mtms}{b}{n} +\fi +% \end{macrocode} +% Euler Script +% \begin{macrocode} +\ifx\mathcal e + \let\mathcal\relax + \DeclareFontFamily{U}{eus}{\skewchar\font'60} + \DeclareFontShape{U}{eus}{m}{n}{<-7>eusm5<7-9>eusm7<9->eusm10}{} + \DeclareFontShape{U}{eus}{b}{n}{<-7>eusb5<7-9>eusb7<9->eusb10}{} + \DeclareMathAlphabet{\mathcal} {U}{eus}{m}{n} + \SetMathAlphabet{\mathcal}{bold}{U}{eus}{b}{n} + \DeclareMathAlphabet{\mathbcal} {U}{eus}{b}{n} +\fi +% \end{macrocode} +% Use CM for |\mathcal|; this is the default behavior, since +% the CM Calligraphic fonts are always available: +% \begin{macrocode} +\ifx\mathcal c + \let\mathcal\relax + \DeclareMathAlphabet{\mathcal} {OMS}{cmsy}{m}{n} + \SetMathAlphabet{\mathcal}{bold}{OMS}{cmsy}{b}{n} + \DeclareMathAlphabet{\mathbcal} {OMS}{cmsy}{b}{n} +\fi +% \end{macrocode} +% Math Script: +% \begin{macrocode} +\ifx\mathcal a + \let\mathcal\relax + \DeclareRobustCommand*{\mathcal}[1]{{\MTPsetupScript\MTPScript{#1}}} + \DeclareRobustCommand*{\mathbcal}[1]{{\MTPsetupScript\MTPbScript{#1}}} +\fi +% \end{macrocode} +% Curly: +% \begin{macrocode} +\ifx\mathcal u + \let\mathcal\relax + \DeclareRobustCommand*{\mathcal}[1]{{\MTPsetupCurly\MTPCurly{#1}}} + \def\mathbcal{\PackageError{mtpro2} + {There is no bold variant of the Curly font} + {Type <return> to proceed; \protect\mathbcal\space will be ignored.} + } +\fi +% \end{macrocode} +% +% +% \subsubsection{Fraktur alphabets} +% Euler: +% \begin{macrocode} +\ifx\mathfrak e + \let\mathfrak\relax + \DeclareFontFamily{U}{euf}{}% + \DeclareFontShape{U}{euf}{m}{n}{<-7>eufm5<7-9>eufm7<9->eufm10}{}% + \DeclareFontShape{U}{euf}{b}{n}{<-7>eufb5<7-9>eufb7<9->eufb10}{}% + \DeclareMathAlphabet{\mathfrak}{U}{euf}{m}{n} + \SetMathAlphabet{\mathfrak}{bold}{U}{euf}{b}{n} +\fi +% \end{macrocode} +% Math Fraktur: +% \begin{macrocode} +\ifx\mathfrak a + \DeclareRobustCommand*{\mathfrak}[1]{{\MTPsetupFrak\MTPFrak{#1}}} +\fi +% \end{macrocode} +% +% +% \subsubsection{Preliminaries for the Math Script and Fraktur fonts} +% \label{sec:altletters} +% \emph{The code in this section is required only with the full font set:} +% \begin{macrocode} +\ifmtp@full +% \end{macrocode}% +% We change the definitions of \cmd{\imath} and \cmd{\jmath} so that +% math alphabet commands will act on them: +% \begin{macrocode} +\DeclareMathSymbol{\imath}{\mathalpha}{letters}{"7B} +\DeclareMathSymbol{\jmath}{\mathalpha}{letters}{"7C} +% \end{macrocode} +% +% We provide default definitions of the commands for the alternative letters. +% They expand to a warning message, followed by the `normal' letter: +% \begin{macrocode} +\newcommand{\altC}{% + \PackageWarning{mtpro2}{Invalid use of \protect\altC}C} +\newcommand{\altG}{% + \PackageWarning{mtpro2}{Invalid use of \protect\altG}G} +\newcommand{\altI}{% + \PackageWarning{mtpro2}{Invalid use of \protect\altI}I} +\newcommand{\altL}{% + \PackageWarning{mtpro2}{Invalid use of \protect\altL}L} +\newcommand{\altM}{% + \PackageWarning{mtpro2}{Invalid use of \protect\altM}M} +\newcommand{\altN}{% + \PackageWarning{mtpro2}{Invalid use of \protect\altN}N} +\newcommand{\altQ}{% + \PackageWarning{mtpro2}{Invalid use of \protect\altQ}Q} +\newcommand{\altS}{% + \PackageWarning{mtpro2}{Invalid use of \protect\altS}S} +\newcommand{\altY}{% + \PackageWarning{mtpro2}{Invalid use of \protect\altY}Y} +\newcommand{\altZ}{% + \PackageWarning{mtpro2}{Invalid use of \protect\altZ}Z} +\newcommand{\altr}{% + \PackageWarning{mtpro2}{Invalid use of \protect\altr}r} +\newcommand{\altx}{% + \PackageWarning{mtpro2}{Invalid use of \protect\altx}x} +\newcommand{\alty}{% + \PackageWarning{mtpro2}{Invalid use of \protect\alty}y} +\newcommand{\altz}{% + \PackageWarning{mtpro2}{Invalid use of \protect\altz}z} +% \end{macrocode} +% With the Math Script font the following macro +% will serve to redefine the above commands appropriately: +% \begin{macrocode} +\newcommand{\MTPsetupScript}{% + \let\altC=\MTP@C + \let\altG=\MTP@G + \let\altI=\MTP@I + \let\altL=\MTP@L + \let\altQ=\MTP@Q + \let\altS=\MTP@S + \let\altY=\MTP@Y + \let\altZ=\MTP@Z + \let\altr=\MTP@r + \let\altz=\MTP@z} +% \end{macrocode} +% Ditto for Fraktur\dots +% \begin{macrocode} +\newcommand{\MTPsetupFrak}{% + \let\altY=\MTP@Y + \let\altx=\MTP@x + \let\alty=\MTP@y} +% \end{macrocode} +% \dots\ and Curly: +% \begin{macrocode} +\newcommand{\MTPsetupCurly}{% + \let\altG=\MTP@G + \let\altM=\MTP@M + \let\altN=\MTP@N + \let\altQ=\MTP@Q + \let\altY=\MTP@Y} +% \end{macrocode} +% These are the macros to actually access the alternative letters: +% \begin{macrocode} +\DeclareMathSymbol{\MTP@C}{\mathalpha}{letters}{'003} +\DeclareMathSymbol{\MTP@G}{\mathalpha}{letters}{'007} +\DeclareMathSymbol{\MTP@I}{\mathalpha}{letters}{'011} +\DeclareMathSymbol{\MTP@L}{\mathalpha}{letters}{'014} +\DeclareMathSymbol{\MTP@M}{\mathalpha}{letters}{'015} +\DeclareMathSymbol{\MTP@N}{\mathalpha}{letters}{'016} +\DeclareMathSymbol{\MTP@Q}{\mathalpha}{letters}{'021} +\DeclareMathSymbol{\MTP@S}{\mathalpha}{letters}{'023} +\DeclareMathSymbol{\MTP@Y}{\mathalpha}{letters}{'031} +\DeclareMathSymbol{\MTP@Z}{\mathalpha}{letters}{'032} +\DeclareMathSymbol{\MTP@r}{\mathalpha}{letters}{'062} +\DeclareMathSymbol{\MTP@x}{\mathalpha}{letters}{'070} +\DeclareMathSymbol{\MTP@y}{\mathalpha}{letters}{'071} +\DeclareMathSymbol{\MTP@z}{\mathalpha}{letters}{'072} +% \end{macrocode} +% NB: The choice of \texttt{letters} as the default font is arbitrary +% and meaningless, since none of the predefined `symbol fonts' comprises the +% symbols in question. All that counts here is the type \cmd{\mathalpha}. +% +% Math Script, Math Curly and Math Fraktur are assigned math alphabets, +% which are, however, not to be used directly: +% \begin{macrocode} +\DeclareMathAlphabet{\MTPScript} {U}{mt2ms}{m}{it} +\SetMathAlphabet{\MTPScript}{bold}{U}{mt2ms}{b}{it} +\DeclareMathAlphabet{\MTPbScript} {U}{mt2ms}{b}{it} +% \end{macrocode} +% \begin{macrocode} +\DeclareMathAlphabet{\MTPCurly}{U}{mt2ms}{m}{n} +% \end{macrocode} +% \begin{macrocode} +\DeclareMathAlphabet{\MTPFrak} {U}{mt2mf}{m}{n} +\SetMathAlphabet{\MTPFrak}{bold}{U}{mt2mf}{b}{n} +% \end{macrocode} +% NB: Just \emph{declaring} math alphabets does not yet consume +% any math font families! +% +% \begin{macrocode} +\fi +% \end{macrocode} +% +% +% \subsubsection{Blackboard Bold alphabet} +% Optionally, we set up a `blackboard bold' alphabet, too. +% \begin{macrocode} +\ifx\mathbb i + \let\mathbb\relax + \DeclareMathAlphabet{\mathbb} {U}{mt2bb}{m}{it} +\fi +\ifx\mathbb j + \let\mathbb\relax + \DeclareMathAlphabet{\mathbb} {U}{mt2hrb}{m}{it} +\fi +\ifx\mathbb b + \let\mathbb\relax + \DeclareMathAlphabet{\mathbb} {U}{mt2bb}{m}{n} + \SetMathAlphabet{\mathbb}{bold}{U}{mt2bb}{b}{n} +\fi +\ifx\mathbb d + \let\mathbb\relax + \DeclareMathAlphabet{\mathbb} {U}{mt2bb}{b}{n} +\fi +\ifx\mathbb h + \let\mathbb\relax + \DeclareMathAlphabet{\mathbb} {U}{mt2hrb}{m}{n} + \SetMathAlphabet{\mathbb}{bold}{U}{mt2hrb}{b}{n} +\fi +\ifx\mathbb k + \let\mathbb\relax + \DeclareMathAlphabet{\mathbb} {U}{mt2hrb}{b}{n} +\fi +\ifx\mathbb y + \let\mathbb\relax + \DeclareFontFamily{U}{msb}{}% + \DeclareFontShape{U}{msb}{m}{n}{<-7>msbm5<7-9>msbm7<9->msbm10}{}% + \DeclareMathAlphabet{\mathbb}{U}{msb}{m}{n} +\fi +% \end{macrocode} +% +% +% \subsection{Math symbol declarations} +% Definitions which are unchanged from standard \LaTeX{} are commented out. +% \smallskip +% +% \subsubsection{Existing symbols} +% All digits and punctuation characters are taken from the `letters' +% and `symbols' fonts now: +% \begin{macrocode} +\DeclareMathSymbol{0}{\mathalpha}{letters}{"30} +\DeclareMathSymbol{1}{\mathalpha}{letters}{"31} +\DeclareMathSymbol{2}{\mathalpha}{letters}{"32} +\DeclareMathSymbol{3}{\mathalpha}{letters}{"33} +\DeclareMathSymbol{4}{\mathalpha}{letters}{"34} +\DeclareMathSymbol{5}{\mathalpha}{letters}{"35} +\DeclareMathSymbol{6}{\mathalpha}{letters}{"36} +\DeclareMathSymbol{7}{\mathalpha}{letters}{"37} +\DeclareMathSymbol{8}{\mathalpha}{letters}{"38} +\DeclareMathSymbol{9}{\mathalpha}{letters}{"39} +\DeclareMathSymbol{!}{\mathclose}{letters}{"8A} +% \DeclareMathSymbol{*}{\mathbin}{symbols}{"03} % \ast +\DeclareMathSymbol{+}{\mathbin}{symbols}{67} +% \DeclareMathSymbol{,}{\mathpunct}{letters}{"3B} +% \DeclareMathSymbol{-}{\mathbin}{symbols}{"00} +% \DeclareMathSymbol{.}{\mathord}{letters}{"3A} +\DeclareMathSymbol{:}{\mathrel}{symbols}{"57} +\DeclareMathSymbol{;}{\mathpunct}{symbols}{"49} +\DeclareMathSymbol{?}{\mathclose}{letters}{"8B} +\DeclareMathSymbol{=}{\mathrel}{symbols}{"44} +% \end{macrocode} +% Delimiters that are normally taken from the `operators' font +% are mapped to `symbols' or `letters' now: +% \begin{macrocode} +\DeclareMathDelimiter{(}{\mathopen}{letters}{46}{largesymbols}{0} +\DeclareMathDelimiter{)}{\mathclose}{letters}{47}{largesymbols}{1} +\DeclareMathDelimiter{[}{\mathopen} {letters}{140}{largesymbols}{"02} +\DeclareMathDelimiter{]}{\mathclose}{letters}{141}{largesymbols}{"03} +% \DeclareMathDelimiter{<}{\mathopen}{symbols}{"68}{largesymbols}{"0A} +% \DeclareMathDelimiter{>}{\mathclose}{symbols}{"69}{largesymbols}{"0B} +% \DeclareMathSymbol{<}{\mathrel}{letters}{"3C} +% \DeclareMathSymbol{>}{\mathrel}{letters}{"3E} +\DeclareMathDelimiter{/}{\mathord}{letters}{"3D}{largesymbols}{"0E} +% \DeclareMathSymbol{/}{\mathord}{letters}{"3D} +% \DeclareMathDelimiter{|}{\mathord}{symbols}{"6A}{largesymbols}{"0C} +% \expandafter\DeclareMathDelimiter\@backslashchar +% {\mathord}{symbols}{"6E}{largesymbols}{"0F} +% \end{macrocode} +% +% The lc Greek letters must be made \cmd{\mathalpha}, +% if we want \cmd{\mathbold} or \cmd{\mathbb} to act upon them: +% \begin{macrocode} +\ifmtp@greekalpha + \DeclareMathSymbol{\alpha}{\mathalpha}{letters}{"0B} + \DeclareMathSymbol{\beta}{\mathalpha}{letters}{"0C} + \DeclareMathSymbol{\gamma}{\mathalpha}{letters}{"0D} + \DeclareMathSymbol{\delta}{\mathalpha}{letters}{"0E} + \DeclareMathSymbol{\epsilon}{\mathalpha}{letters}{"0F} + \DeclareMathSymbol{\zeta}{\mathalpha}{letters}{"10} + \DeclareMathSymbol{\eta}{\mathalpha}{letters}{"11} + \DeclareMathSymbol{\theta}{\mathalpha}{letters}{"12} + \DeclareMathSymbol{\iota}{\mathalpha}{letters}{"13} + \DeclareMathSymbol{\kappa}{\mathalpha}{letters}{"14} + \DeclareMathSymbol{\lambda}{\mathalpha}{letters}{"15} + \DeclareMathSymbol{\mu}{\mathalpha}{letters}{"16} + \DeclareMathSymbol{\nu}{\mathalpha}{letters}{"17} + \DeclareMathSymbol{\xi}{\mathalpha}{letters}{"18} + \DeclareMathSymbol{\pi}{\mathalpha}{letters}{"19} + \DeclareMathSymbol{\rho}{\mathalpha}{letters}{"1A} + \DeclareMathSymbol{\sigma}{\mathalpha}{letters}{"1B} + \DeclareMathSymbol{\tau}{\mathalpha}{letters}{"1C} + \DeclareMathSymbol{\upsilon}{\mathalpha}{letters}{"1D} + \DeclareMathSymbol{\phi}{\mathalpha}{letters}{"1E} + \DeclareMathSymbol{\chi}{\mathalpha}{letters}{"1F} + \DeclareMathSymbol{\psi}{\mathalpha}{letters}{"20} + \DeclareMathSymbol{\omega}{\mathalpha}{letters}{"21} + \DeclareMathSymbol{\varepsilon}{\mathalpha}{letters}{"22} + \DeclareMathSymbol{\vartheta}{\mathalpha}{letters}{"23} + \DeclareMathSymbol{\varpi}{\mathalpha}{letters}{"24} + \DeclareMathSymbol{\varrho}{\mathalpha}{letters}{"25} + \DeclareMathSymbol{\varsigma}{\mathalpha}{letters}{"26} + \DeclareMathSymbol{\varphi}{\mathalpha}{letters}{"27} + \DeclareMathSymbol{\varkappa}{\mathalpha}{letters}{126}% new + \DeclareMathSymbol{\varbeta}{\mathalpha}{letters}{176} % new + \DeclareMathSymbol{\vardelta}{\mathalpha}{letters}{178}% new +\else +% \end{macrocode} +% With the options \Lopt{compatibleeek} +% the lc Greek letters are declared as `mathord': +% \begin{macrocode} +% \DeclareMathSymbol{\alpha}{\mathord}{letters}{"0B} +% \DeclareMathSymbol{\beta}{\mathord}{letters}{"0C} +% \DeclareMathSymbol{\gamma}{\mathord}{letters}{"0D} +% \DeclareMathSymbol{\delta}{\mathord}{letters}{"0E} +% \DeclareMathSymbol{\epsilon}{\mathord}{letters}{"0F} +% \DeclareMathSymbol{\zeta}{\mathord}{letters}{"10} +% \DeclareMathSymbol{\eta}{\mathord}{letters}{"11} +% \DeclareMathSymbol{\theta}{\mathord}{letters}{"12} +% \DeclareMathSymbol{\iota}{\mathord}{letters}{"13} +% \DeclareMathSymbol{\kappa}{\mathord}{letters}{"14} +% \DeclareMathSymbol{\lambda}{\mathord}{letters}{"15} +% \DeclareMathSymbol{\mu}{\mathord}{letters}{"16} +% \DeclareMathSymbol{\nu}{\mathord}{letters}{"17} +% \DeclareMathSymbol{\xi}{\mathord}{letters}{"18} +% \DeclareMathSymbol{\pi}{\mathord}{letters}{"19} +% \DeclareMathSymbol{\rho}{\mathord}{letters}{"1A} +% \DeclareMathSymbol{\sigma}{\mathord}{letters}{"1B} +% \DeclareMathSymbol{\tau}{\mathord}{letters}{"1C} +% \DeclareMathSymbol{\upsilon}{\mathord}{letters}{"1D} +% \DeclareMathSymbol{\phi}{\mathord}{letters}{"1E} +% \DeclareMathSymbol{\chi}{\mathord}{letters}{"1F} +% \DeclareMathSymbol{\psi}{\mathord}{letters}{"20} +% \DeclareMathSymbol{\omega}{\mathord}{letters}{"21} +% \DeclareMathSymbol{\varepsilon}{\mathord}{letters}{"22} +% \DeclareMathSymbol{\vartheta}{\mathord}{letters}{"23} +% \DeclareMathSymbol{\varpi}{\mathord}{letters}{"24} +% \DeclareMathSymbol{\varrho}{\mathord}{letters}{"25} +% \DeclareMathSymbol{\varsigma}{\mathord}{letters}{"26} +% \DeclareMathSymbol{\varphi}{\mathord}{letters}{"27} + \DeclareMathSymbol{\varkappa}{\mathord}{letters}{126}% new + \DeclareMathSymbol{\varbeta}{\mathord}{letters}{176} % new + \DeclareMathSymbol{\vardelta}{\mathord}{letters}{178}% new +\fi +% \end{macrocode} +% +% With ordinary \LaTeX{} uppercase Greek is always upright---why? +% The options \Lopt{uprightGreek} and \Lopt{slantedGreek} control, +% how uppercase Greek letters are to appear. +% This option is provided also with packages such as \Lpack{mathpazo}. +% Additionally, |\ifmtp@greekalpha| controls whether the uc Greek letters +% are declared as `mathalpha' or `mathord'. +% +% Let's start with \Lopt[slantedGreek]: +% \begin{macrocode} +\ifx\Gamma s + \let\Gamma\@undefined + \DeclareMathSymbol{\Gamma}{\mathalpha}{letters}{"00} + \DeclareMathSymbol{\Delta}{\mathalpha}{letters}{"01} + \DeclareMathSymbol{\Theta}{\mathalpha}{letters}{"02} + \DeclareMathSymbol{\Lambda}{\mathalpha}{letters}{"03} + \DeclareMathSymbol{\Xi}{\mathalpha}{letters}{"04} + \DeclareMathSymbol{\Pi}{\mathalpha}{letters}{"05} + \DeclareMathSymbol{\Sigma}{\mathalpha}{letters}{"06} + \DeclareMathSymbol{\Upsilon}{\mathalpha}{letters}{"07} + \DeclareMathSymbol{\Phi}{\mathalpha}{letters}{"08} + \DeclareMathSymbol{\Psi}{\mathalpha}{letters}{"09} + \DeclareMathSymbol{\Omega}{\mathalpha}{letters}{"0A} +% \end{macrocode} +% The \Lopt{[uprightGreek]} variant, which is the default: +% \begin{macrocode} +\else + \let\Gamma\@undefined + \DeclareMathSymbol{\Gamma}{\mathalpha}{letters}{"80} + \DeclareMathSymbol{\Delta}{\mathalpha}{letters}{"81} + \DeclareMathSymbol{\Theta}{\mathalpha}{letters}{"82} + \DeclareMathSymbol{\Lambda}{\mathalpha}{letters}{"83} + \DeclareMathSymbol{\Xi}{\mathalpha}{letters}{"84} + \DeclareMathSymbol{\Pi}{\mathalpha}{letters}{"85} + \DeclareMathSymbol{\Sigma}{\mathalpha}{letters}{"86} + \DeclareMathSymbol{\Upsilon}{\mathalpha}{letters}{"87} + \DeclareMathSymbol{\Phi}{\mathalpha}{letters}{"88} + \DeclareMathSymbol{\Psi}{\mathalpha}{letters}{"89} + \DeclareMathSymbol{\Omega}{\mathalpha}{letters}{"7F} +\fi +% \end{macrocode} +% +% The following Greek letters are always upright. +% \begin{macrocode} + \DeclareMathSymbol{\upGamma}{\mathord}{letters}{"80} + \DeclareMathSymbol{\upDelta}{\mathord}{letters}{"81} + \DeclareMathSymbol{\upTheta}{\mathord}{letters}{"82} + \DeclareMathSymbol{\upLambda}{\mathord}{letters}{"83} + \DeclareMathSymbol{\upXi}{\mathord}{letters}{"84} + \DeclareMathSymbol{\upPi}{\mathord}{letters}{"85} + \DeclareMathSymbol{\upSigma}{\mathord}{letters}{"86} + \DeclareMathSymbol{\upUpsilon}{\mathord}{letters}{"87} + \DeclareMathSymbol{\upPhi}{\mathord}{letters}{"88} + \DeclareMathSymbol{\upPsi}{\mathord}{letters}{"89} + \DeclareMathSymbol{\upOmega}{\mathord}{letters}{"7F} + \DeclareMathSymbol{\upalpha}{\mathord}{letters}{"92} + \DeclareMathSymbol{\upbeta}{\mathord}{letters}{"93} + \DeclareMathSymbol{\upgamma}{\mathord}{letters}{"94} + \DeclareMathSymbol{\updelta}{\mathord}{letters}{"95} + \DeclareMathSymbol{\upepsilon}{\mathord}{letters}{"96} + \DeclareMathSymbol{\upzeta}{\mathord}{letters}{"97} + \DeclareMathSymbol{\upeta}{\mathord}{letters}{"98} + \DeclareMathSymbol{\uptheta}{\mathord}{letters}{"99} + \DeclareMathSymbol{\upiota}{\mathord}{letters}{"9A} + \DeclareMathSymbol{\upkappa}{\mathord}{letters}{"9B} + \DeclareMathSymbol{\uplambda}{\mathord}{letters}{"9C} + \DeclareMathSymbol{\upmu}{\mathord}{letters}{"9D} + \DeclareMathSymbol{\upnu}{\mathord}{letters}{"9E} + \DeclareMathSymbol{\upxi}{\mathord}{letters}{"9F} + \DeclareMathSymbol{\uppi}{\mathord}{letters}{160} + \DeclareMathSymbol{\uprho}{\mathord}{letters}{161} + \DeclareMathSymbol{\upsigma}{\mathord}{letters}{162} + \DeclareMathSymbol{\uptau}{\mathord}{letters}{163} + \DeclareMathSymbol{\upupsilon}{\mathord}{letters}{164} + \DeclareMathSymbol{\upphi}{\mathord}{letters}{165} + \DeclareMathSymbol{\upchi}{\mathord}{letters}{166} + \DeclareMathSymbol{\uppsi}{\mathord}{letters}{167} + \DeclareMathSymbol{\upomega}{\mathord}{letters}{168} + \DeclareMathSymbol{\upvarepsilon}{\mathord}{letters}{169} + \DeclareMathSymbol{\upvartheta}{\mathord}{letters}{170} + \DeclareMathSymbol{\upvarpi}{\mathord}{letters}{171} + \DeclareMathSymbol{\upvarrho}{\mathord}{letters}{172} + \DeclareMathSymbol{\upvarsigma}{\mathord}{letters}{173} + \DeclareMathSymbol{\upvarphi}{\mathord}{letters}{174} + \DeclareMathSymbol{\upvarkappa}{\mathord}{letters}{175} + \DeclareMathSymbol{\upvarbeta}{\mathord}{letters}{177} + \DeclareMathSymbol{\upvardelta}{\mathord}{letters}{179} +% \end{macrocode} +% +% We continue with standard symbols: +% \begin{macrocode} +% \DeclareMathSymbol{\aleph}{\mathord}{symbols}{"40} +% \DeclareMathSymbol{\imath}{\mathord}{letters}{"7B} +% \DeclareMathSymbol{\jmath}{\mathord}{letters}{"7C} +% \DeclareMathSymbol{\ell}{\mathord}{letters}{"60} +% \DeclareMathSymbol{\wp}{\mathord}{letters}{"7D} +% \DeclareMathSymbol{\Re}{\mathord}{symbols}{"3C} +% \DeclareMathSymbol{\Im}{\mathord}{symbols}{"3D} +% \DeclareMathSymbol{\partial}{\mathord}{letters}{"40} +% \DeclareMathSymbol{\infty}{\mathord}{symbols}{"31} +% \DeclareMathSymbol{\prime}{\mathord}{symbols}{"30} +% \DeclareMathSymbol{\emptyset}{\mathord}{symbols}{"3B} +% \DeclareMathSymbol{\nabla}{\mathord}{symbols}{"72} +% \def\surd{{\mathchar"1270}} +% \DeclareMathSymbol{\top}{\mathord}{symbols}{"3E} +% \DeclareMathSymbol{\bot}{\mathord}{symbols}{"3F} +% \DeclareMathSymbol{\triangle}{\mathord}{symbols}{"34} +% \DeclareMathSymbol{\forall}{\mathord}{symbols}{"38} +% \DeclareMathSymbol{\exists}{\mathord}{symbols}{"39} +% \DeclareMathSymbol{\neg}{\mathord}{symbols}{"3A} +% \let\lnot=\neg +% \DeclareMathSymbol{\flat}{\mathord}{letters}{"5B} +% \DeclareMathSymbol{\natural}{\mathord}{letters}{"5C} +% \DeclareMathSymbol{\sharp}{\mathord}{letters}{"5D} +% \DeclareMathSymbol{\clubsuit}{\mathord}{symbols}{"7C} +% \DeclareMathSymbol{\diamondsuit}{\mathord}{symbols}{"7D} +% \DeclareMathSymbol{\heartsuit}{\mathord}{symbols}{"7E} +% \DeclareMathSymbol{\spadesuit}{\mathord}{symbols}{"7F} +% \DeclareMathSymbol{\coprod}{\mathop}{largesymbols}{"60} +% \DeclareMathSymbol{\bigvee}{\mathop}{largesymbols}{"57} +% \DeclareMathSymbol{\bigwedge}{\mathop}{largesymbols}{"56} +% \DeclareMathSymbol{\biguplus}{\mathop}{largesymbols}{"55} +% \DeclareMathSymbol{\bigcap}{\mathop}{largesymbols}{"54} +% \DeclareMathSymbol{\bigcup}{\mathop}{largesymbols}{"53} +% \DeclareMathSymbol{\intop}{\mathop}{largesymbols}{"52} +% \def\int{\intop\nolimits} +% \DeclareMathSymbol{\prod}{\mathop}{largesymbols}{"51} +% \DeclareMathSymbol{\sum}{\mathop}{largesymbols}{"50} +% \DeclareMathSymbol{\bigotimes}{\mathop}{largesymbols}{"4E} +% \DeclareMathSymbol{\bigoplus}{\mathop}{largesymbols}{"4C} +% \DeclareMathSymbol{\bigodot}{\mathop}{largesymbols}{"4A} +% \DeclareMathSymbol{\ointop}{\mathop}{largesymbols}{"48} +% \def\oint{\ointop\nolimits} +% \DeclareMathSymbol{\bigsqcup}{\mathop}{largesymbols}{"46} +% \DeclareMathSymbol{\smallint}{\mathop}{symbols}{"73} +\DeclareMathSymbol{\triangleleft}{\mathbin}{symbols}{"47} +\DeclareMathSymbol{\triangleright}{\mathbin}{symbols}{"46} +% \DeclareMathSymbol{\bigtriangleup}{\mathbin}{symbols}{"34} +% \DeclareMathSymbol{\bigtriangledown}{\mathbin}{symbols}{"35} +% \DeclareMathSymbol{\wedge}{\mathbin}{symbols}{"5E} +% \let\land=\wedge +% \DeclareMathSymbol{\vee}{\mathbin}{symbols}{"5F} +% \let\lor=\vee +% \DeclareMathSymbol{\cap}{\mathbin}{symbols}{"5C} +% \DeclareMathSymbol{\cup}{\mathbin}{symbols}{"5B} +\DeclareMathSymbol{\ddagger}{\mathbin}{letters}{"8F} +\DeclareMathSymbol{\dagger}{\mathbin}{letters}{"8E} +% \DeclareMathSymbol{\sqcap}{\mathbin}{symbols}{"75} +% \DeclareMathSymbol{\sqcup}{\mathbin}{symbols}{"74} +% \DeclareMathSymbol{\uplus}{\mathbin}{symbols}{"5D} +% \DeclareMathSymbol{\amalg}{\mathbin}{symbols}{"71} +% \DeclareMathSymbol{\diamond}{\mathbin}{symbols}{"05} +% \DeclareMathSymbol{\bullet}{\mathbin}{symbols}{"0F} +% \DeclareMathSymbol{\wr}{\mathbin}{symbols}{"6F} +% \DeclareMathSymbol{\div}{\mathbin}{symbols}{"04} +% \DeclareMathSymbol{\odot}{\mathbin}{symbols}{"0C} +% \DeclareMathSymbol{\oslash}{\mathbin}{symbols}{"0B} +% \DeclareMathSymbol{\otimes}{\mathbin}{symbols}{"0A} +% \DeclareMathSymbol{\ominus}{\mathbin}{symbols}{"09} +% \DeclareMathSymbol{\oplus}{\mathbin}{symbols}{"08} +% \DeclareMathSymbol{\mp}{\mathbin}{symbols}{"07} +% \DeclareMathSymbol{\pm}{\mathbin}{symbols}{"06} +% \DeclareMathSymbol{\circ}{\mathbin}{symbols}{"0E} +% \DeclareMathSymbol{\bigcirc}{\mathbin}{symbols}{"0D} +% \DeclareMathSymbol{\setminus}{\mathbin}{symbols}{"6E} +% \DeclareMathSymbol{\cdot}{\mathbin}{symbols}{"01} +% \DeclareMathSymbol{\ast}{\mathbin}{symbols}{"03} +% \DeclareMathSymbol{\times}{\mathbin}{symbols}{"02} +% \DeclareMathSymbol{\star}{\mathbin}{letters}{"3F} +% \DeclareMathSymbol{\propto}{\mathrel}{symbols}{"2F} +% \DeclareMathSymbol{\sqsubseteq}{\mathrel}{symbols}{"76} +% \DeclareMathSymbol{\sqsupseteq}{\mathrel}{symbols}{"77} +% \DeclareMathSymbol{\parallel}{\mathrel}{symbols}{"6B} +% \DeclareMathSymbol{\mid}{\mathrel}{symbols}{"6A} +% \DeclareMathSymbol{\dashv}{\mathrel}{symbols}{"61} +% \DeclareMathSymbol{\vdash}{\mathrel}{symbols}{"60} +% \DeclareMathSymbol{\nearrow}{\mathrel}{symbols}{"25} +% \DeclareMathSymbol{\searrow}{\mathrel}{symbols}{"26} +% \DeclareMathSymbol{\nwarrow}{\mathrel}{symbols}{"2D} +% \DeclareMathSymbol{\swarrow}{\mathrel}{symbols}{"2E} +% \DeclareMathSymbol{\Leftrightarrow}{\mathrel}{symbols}{"2C} +% \DeclareMathSymbol{\Leftarrow}{\mathrel}{symbols}{"28} +% \DeclareMathSymbol{\Rightarrow}{\mathrel}{symbols}{"29} +% \def\neq{\not=} \let\ne=\neq +% \DeclareMathSymbol{\leq}{\mathrel}{symbols}{"14} +% \let\le=\leq +% \DeclareMathSymbol{\geq}{\mathrel}{symbols}{"15} +% \let\ge=\geq +% \DeclareMathSymbol{\succ}{\mathrel}{symbols}{"1F} +% \DeclareMathSymbol{\prec}{\mathrel}{symbols}{"1E} +% \DeclareMathSymbol{\approx}{\mathrel}{symbols}{"19} +% \DeclareMathSymbol{\succeq}{\mathrel}{symbols}{"17} +% \DeclareMathSymbol{\preceq}{\mathrel}{symbols}{"16} +% \DeclareMathSymbol{\supset}{\mathrel}{symbols}{"1B} +% \DeclareMathSymbol{\subset}{\mathrel}{symbols}{"1A} +% \DeclareMathSymbol{\supseteq}{\mathrel}{symbols}{"13} +% \DeclareMathSymbol{\subseteq}{\mathrel}{symbols}{"12} +% \DeclareMathSymbol{\in}{\mathrel}{symbols}{"32} +% \DeclareMathSymbol{\ni}{\mathrel}{symbols}{"33} +% \let\owns=\ni +% \DeclareMathSymbol{\gg}{\mathrel}{symbols}{"1D} +% \DeclareMathSymbol{\ll}{\mathrel}{symbols}{"1C} +% \DeclareMathSymbol{\not}{\mathrel}{symbols}{"36} +% \DeclareMathSymbol{\leftrightarrow}{\mathrel}{symbols}{"24} +% \DeclareMathSymbol{\leftarrow}{\mathrel}{symbols}{"20} +% \let\gets=\leftarrow +% \DeclareMathSymbol{\rightarrow}{\mathrel}{symbols}{"21} +% \let\to=\rightarrow +% \DeclareMathSymbol{\mapstochar}{\mathrel}{symbols}{"37} +% \DeclareMathSymbol{\sim}{\mathrel}{symbols}{"18} +% \DeclareMathSymbol{\simeq}{\mathrel}{symbols}{"27} +% \DeclareMathSymbol{\perp}{\mathrel}{symbols}{"3F} +% \DeclareMathSymbol{\equiv}{\mathrel}{symbols}{"11} +% \DeclareMathSymbol{\asymp}{\mathrel}{symbols}{"10} +% \DeclareMathSymbol{\smile}{\mathrel}{letters}{"5E} +% \DeclareMathSymbol{\frown}{\mathrel}{letters}{"5F} +% \DeclareMathSymbol{\leftharpoonup}{\mathrel}{letters}{"28} +% \DeclareMathSymbol{\leftharpoondown}{\mathrel}{letters}{"29} +% \DeclareMathSymbol{\rightharpoonup}{\mathrel}{letters}{"2A} +% \DeclareMathSymbol{\rightharpoondown}{\mathrel}{letters}{"2B} +% \def\doteq{\buildrel\textstyle.\over=} +% \def\joinrel{\mathrel{\mkern-3mu}} +% \def\relbar{\mathrel{\smash-}} +\let\Relbar\@undefined +\DeclareMathSymbol{\Relbar}{\mathrel}{symbols}{"48} +% \DeclareMathSymbol{\lhook}{\mathrel}{letters}{"2C} +% \def\hookrightarrow{\lhook\joinrel\rightarrow} +% \DeclareMathSymbol{\rhook}{\mathrel}{letters}{"2D} +% \def\hookleftarrow{\leftarrow\joinrel\rhook} +% \def\bowtie{\mathrel\triangleright\joinrel\mathrel\triangleleft} +% \def\models{\mathrel{|}\joinrel\Relbar} +% \def\Longrightarrow{\Relbar\joinrel\Rightarrow} +% \DeclareRobustCommand\longrightarrow +% {\relbar\joinrel\rightarrow} +% \DeclareRobustCommand\longleftarrow +% {\leftarrow\joinrel\relbar} +% \def\Longleftarrow{\Leftarrow\joinrel\Relbar} +% \def\longmapsto{\mapstochar\longrightarrow} +% \def\longleftrightarrow{\leftarrow\joinrel\rightarrow} +% \def\Longleftrightarrow{\Leftarrow\joinrel\Rightarrow} +% \def\iff{\;\Longleftrightarrow\;} +\DeclareMathSymbol{\ldotp}{\mathpunct}{letters}{"3A} +% \DeclareMathSymbol{\cdotp}{\mathpunct}{symbols}{"01} +\let\colon\@undefined % for amsmath! +\DeclareMathSymbol{\colon}{\mathpunct}{symbols}{"57} +% \def\cdots{\mathinner{\cdotp\cdotp\cdotp}} +% \end{macrocode} +% Improved definitions of the commands \cmd{\vdots} and +% \cmd{\ddots} are adapted from \Lpack{mathtime}. +% They take their dots always from the math font, rather than +% from a text font. If the package \Lpack{mathdots} was +% loaded before, we skip the redefinitions, since that package +% provides a much more comprehensive solution. +% \begin{macrocode} +\@ifpackageloaded{mathdots}{}{% + \newcommand\hb@xmdot{\hbox{$\m@th.$}} + \def\vdots{\vbox{\baselineskip4\p@ \lineskiplimit\z@ + \kern6\p@\hb@xmdot\hb@xmdot\hb@xmdot}} + \def\ddots{\mathinner{\mkern1mu\raise7\p@\vbox{\kern7\p@ + \hb@xmdot}\mkern2mu + \raise4\p@\hb@xmdot\mkern2mu\raise\p@\hb@xmdot\mkern1mu}} +} +% \end{macrocode} +% We make all accents |\mathord|; as they are placed in strange +% positions it is really not feasible to support changing them. +% \begin{macrocode} +\DeclareMathAccent{\vec}{\mathord}{symbols}{69} +\DeclareMathAccent{\grave}{\mathord}{symbols}{74} +\DeclareMathAccent{\acute}{\mathord}{symbols}{75} +\DeclareMathAccent{\check}{\mathord}{symbols}{76} +\DeclareMathAccent{\breve}{\mathord}{symbols}{77} +\DeclareMathAccent{\bar}{\mathord}{symbols}{78} +\DeclareMathAccent{\hat}{\mathord}{symbols}{79} +\DeclareMathAccent{\dot}{\mathord}{symbols}{80} +\DeclareMathAccent{\tilde}{\mathord}{symbols}{81} +\DeclareMathAccent{\ddot}{\mathord}{symbols}{82} +\DeclareMathAccent{\mathring}{\mathord}{symbols}{86} +% \end{macrocode} +% The wide math accents will later be defined as macros: +% \begin{macrocode} +% \DeclareMathAccent{\widetilde}{\mathord}{largesymbols}{"65} +% \DeclareMathAccent{\widehat}{\mathord}{largesymbols}{"62} +% \end{macrocode} +% \begin{macrocode} +% \DeclareMathRadical{\sqrtsign}{symbols}{"70}{largesymbols}{"70} +% \def\overrightarrow#1{\vbox{\m@th\ialign{##\crcr +% \rightarrowfill\crcr\noalign{\kern-\p@\nointerlineskip} +% $\hfil\displaystyle{#1}\hfil$\crcr}}} +% \def\overleftarrow#1{\vbox{\m@th\ialign{##\crcr +% \leftarrowfill\crcr\noalign{\kern-\p@\nointerlineskip}% +% $\hfil\displaystyle{#1}\hfil$\crcr}}} +% \def\overbrace#1{\mathop{\vbox{\m@th\ialign{##\crcr\noalign{\kern3\p@}% +% \downbracefill\crcr\noalign{\kern3\p@\nointerlineskip}% +% $\hfil\displaystyle{#1}\hfil$\crcr}}}\limits} +% \def\underbrace#1{\mathop{\vtop{\m@th\ialign{##\crcr +% $\hfil\displaystyle{#1}\hfil$\crcr +% \noalign{\kern3\p@\nointerlineskip}% +% \upbracefill\crcr\noalign{\kern3\p@}}}}\limits} +% \def\skew#1#2#3{{\muskip\z@#1mu\divide\muskip\z@\tw@ \mkern\muskip\z@ +% #2{\mkern-\muskip\z@{#3}\mkern\muskip\z@}\mkern-\muskip\z@}{}} +% \def\rightarrowfill{$\m@th\smash-\mkern-7mu% +% \cleaders\hbox{$\mkern-2mu\smash-\mkern-2mu$}\hfill +% \mkern-7mu\mathord\rightarrow$} +% \def\leftarrowfill{$\m@th\mathord\leftarrow\mkern-7mu% +% \cleaders\hbox{$\mkern-2mu\smash-\mkern-2mu$}\hfill +% \mkern-7mu\smash-$} +% \end{macrocode} +% \begin{macrocode} +\DeclareMathSymbol{\braceld}{\mathord}{largesymbols}{"82} +\DeclareMathSymbol{\bracerd}{\mathord}{largesymbols}{"83} +\DeclareMathSymbol{\bracelu}{\mathord}{largesymbols}{"84} +\DeclareMathSymbol{\braceru}{\mathord}{largesymbols}{"85} +% \def\downbracefill{$\m@th \setbox\z@\hbox{$\braceld$}% +% \braceld\leaders\vrule \@height\ht\z@ \@depth\z@\hfill\braceru +% \bracelu\leaders\vrule \@height\ht\z@ \@depth\z@\hfill\bracerd$} +% \def\upbracefill{$\m@th \setbox\z@\hbox{$\braceld$}% +% \bracelu\leaders\vrule \@height\ht\z@ \@depth\z@\hfill\bracerd +% \braceld\leaders\vrule \@height\ht\z@ \@depth\z@\hfill\braceru$} +% \DeclareMathDelimiter{\lmoustache} % top from (, bottom from ) +% {\mathopen}{largesymbols}{"7A}{largesymbols}{"40} +% \DeclareMathDelimiter{\rmoustache} % top from ), bottom from ( +% {\mathclose}{largesymbols}{"7B}{largesymbols}{"41} +% \DeclareMathDelimiter{\arrowvert} % arrow without arrowheads +% {\mathord}{symbols}{"6A}{largesymbols}{"3C} +% \DeclareMathDelimiter{\Arrowvert} % double arrow without arrowheads +% {\mathord}{symbols}{"6B}{largesymbols}{"3D} +% \DeclareMathDelimiter{\Vert} +% {\mathord}{symbols}{"6B}{largesymbols}{"0D} +% \let\|=\Vert +% \DeclareMathDelimiter{\vert} +% {\mathord}{symbols}{"6A}{largesymbols}{"0C} +% \DeclareMathDelimiter{\uparrow} +% {\mathrel}{symbols}{"22}{largesymbols}{"78} +% \DeclareMathDelimiter{\downarrow} +% {\mathrel}{symbols}{"23}{largesymbols}{"79} +% \DeclareMathDelimiter{\updownarrow} +% {\mathrel}{symbols}{"6C}{largesymbols}{"3F} +% \DeclareMathDelimiter{\Uparrow} +% {\mathrel}{symbols}{"2A}{largesymbols}{"7E} +% \DeclareMathDelimiter{\Downarrow} +% {\mathrel}{symbols}{"2B}{largesymbols}{"7F} +% \DeclareMathDelimiter{\Updownarrow} +% {\mathrel}{symbols}{"6D}{largesymbols}{"77} +% \DeclareMathDelimiter{\backslash} % for double coset G\backslash H +% {\mathord}{symbols}{"6E}{largesymbols}{"0F} +% \DeclareMathDelimiter{\rangle} +% {\mathclose}{symbols}{"69}{largesymbols}{"0B} +% \DeclareMathDelimiter{\langle} +% {\mathopen}{symbols}{"68}{largesymbols}{"0A} +% \DeclareMathDelimiter{\rbrace} +% {\mathclose}{symbols}{"67}{largesymbols}{"09} +% \DeclareMathDelimiter{\lbrace} +% {\mathopen}{symbols}{"66}{largesymbols}{"08} +% \DeclareMathDelimiter{\rceil} +% {\mathclose}{symbols}{"65}{largesymbols}{"07} +% \DeclareMathDelimiter{\lceil} +% {\mathopen}{symbols}{"64}{largesymbols}{"06} +% \DeclareMathDelimiter{\rfloor} +% {\mathclose}{symbols}{"63}{largesymbols}{"05} +% \DeclareMathDelimiter{\lfloor} +% {\mathopen}{symbols}{"62}{largesymbols}{"04} +% \DeclareMathDelimiter{\lgroup} % extensible ( with sharper tips +% {\mathopen}{largesymbols}{"3A}{largesymbols}{"3A} +% \DeclareMathDelimiter{\rgroup} % extensible ) with sharper tips +% {\mathclose}{largesymbols}{"3B}{largesymbols}{"3B} +% \DeclareMathDelimiter{\bracevert} % the vertical bar that extends braces +% {\mathord}{largesymbols}{"3E}{largesymbols}{"3E} +\DeclareMathSymbol{\mathparagraph}{\mathord}{letters}{"91} +\DeclareMathSymbol{\mathsection}{\mathord}{letters}{"90} +% \end{macrocode} +% +% The commands to change between the three variants of braces provided: +% \begin{macrocode} +\def\curlybraces{\def\lbrace{\delimiter"4266308 }\let\{=\lbrace + \def\rbrace{\delimiter"5267309 }\let\}=\rbrace} +\def\straightbraces{\def\lbrace{\delimiter"42B93AE }\let\{=\lbrace + \def\rbrace{\delimiter"52BA3AF }\let\}=\rbrace} +\def\morphedbraces{\def\lbrace{\delimiter"42663B6 }\let\{=\lbrace + \def\rbrace{\delimiter"52673B7 }\let\}=\rbrace} +% \end{macrocode} +% The obsolete macros \cmd{\lcbrace} and \cmd{\rcbrace} should always +% have the same meaning, regardless of the option. (Note that |\lbrace| +% and |\rbrace| already have the `curly' definition by default): +% \begin{macrocode} +\let\lcbrace=\lbrace\let\rcbrace=\rbrace +% \end{macrocode} +% According to the related option, the matching definition is executed: +% \begin{macrocode} +\ifx\mtp@br c \curlybraces \fi +\ifx\mtp@br s \straightbraces \fi +\ifx\mtp@br m \morphedbraces \fi +% \end{macrocode} +% +% \subsubsection{Big operators} +% These exist in both upright and slanted form: +% \begin{macrocode} +\DeclareMathSymbol{\slsumop}{\mathop}{largesymbols}{160} +\DeclareMathSymbol{\slprodop}{\mathop}{largesymbols}{162} +\DeclareMathSymbol{\slcoprodop}{\mathop}{largesymbols}{164} +\DeclareMathSymbol{\upsumop}{\mathop}{largesymbols}{"50} +\DeclareMathSymbol{\upprodop}{\mathop}{largesymbols}{"51} +\DeclareMathSymbol{\upcoprodop}{\mathop}{largesymbols}{"60} +% \end{macrocode} +% The actual definitions of \cmd{\sum}, \cmd{\prod} and \cmd{\coprod} +% are deferred until |\begin{doument}|, wrt/ \Lpack{amsmath}; we just +% provide a number of empty definitions right now: +% \begin{macrocode} +\let\slsum\empty +\let\slprod\empty +\let\slcoprod\empty +\let\upsum\empty +\let\upprod\empty +\let\upcoprod\empty +% \end{macrocode} +% +% \subsubsection{New symbols and accents} +% Ordinary symbols: +% \begin{macrocode} +\DeclareMathSymbol{\openclubsuit}{\mathord}{symbols}{"80} +\DeclareMathSymbol{\shadedclubsuit}{\mathord}{symbols}{"81} +\DeclareMathSymbol{\openspadesuit}{\mathord}{symbols}{"82} +\DeclareMathSymbol{\shadedspadesuit}{\mathord}{symbols}{"83} +\DeclareMathSymbol{\hslash}{\mathord}{symbols}{175} +\DeclareMathSymbol{\digamma}{\mathord}{symbols}{177} +\DeclareMathSymbol{\dbar}{\mathord}{letters}{181} +\DeclareMathSymbol{\updbar}{\mathord}{letters}{182} +% \end{macrocode} +% Binary operators and relations: +% \begin{macrocode} +\DeclareMathSymbol{\comp}{\mathbin}{symbols}{66} +\DeclareMathSymbol{\setdif}{\mathbin}{symbols}{88} +\DeclareMathSymbol{\cupprod}{\mathbin}{symbols}{89} +\DeclareMathSymbol{\capprod}{\mathbin}{symbols}{90} +\DeclareMathSymbol{\simarrow}{\mathrel}{symbols}{176} +\DeclareMathSymbol{\varland}{\mathbin}{symbols}{178} +\DeclareMathSymbol{\contraction}{\mathbin}{symbols}{179} +\DeclareMathSymbol{\coloneq}{\mathrel}{symbols}{180} +\DeclareMathSymbol{\eqcolon}{\mathrel}{symbols}{181} +\DeclareMathSymbol{\hateq}{\mathrel}{symbols}{182} +\DeclareMathSymbol{\circdashbullet}{\mathrel}{symbols}{183} +\DeclareMathSymbol{\bulletdashcirc}{\mathrel}{symbols}{184} +% \end{macrocode} +% Large operators: +% \begin{macrocode} +\DeclareMathSymbol{\bigcupprod}{\mathop}{largesymbols}{"8E} +\DeclareMathSymbol{\bigcapprod}{\mathop}{largesymbols}{"90} +\DeclareMathSymbol{\bigvarland}{\mathop}{largesymbols}{166} +\DeclareMathSymbol{\bigast}{\mathop}{largesymbols}{168} +% \end{macrocode} +% \mtpro has triple and quadruple dot accents and raised dot accents. +% The definitions of \cmd{\dddot} and \cmd{\ddddot} are deferred until +% |\begin{document}|; otherwise they would break \Lpack{amsmath}, which +% tries to define them using |\newcommand|. +% \begin{macrocode} +% \DeclareMathAccent{\dddot}{\mathord}{symbols}{171} +% \DeclareMathAccent{\ddddot}{\mathord}{symbols}{172} +\DeclareMathAccent{\dotup}{\mathord}{symbols}{"54} +\DeclareMathAccent{\ddotup}{\mathord}{symbols}{"55} +\DeclareMathAccent{\dddotup}{\mathord}{symbols}{173} +\DeclareMathAccent{\ddddotup}{\mathord}{symbols}{174} +% \end{macrocode} +% \begin{macrocode} +\let\oacc\mathring +\DeclareMathAccent{\what} {\mathord}{symbols}{"79} +\DeclareMathAccent{\wtilde}{\mathord}{symbols}{"7A} +\DeclareMathAccent{\wcheck}{\mathord}{symbols}{"7B} +\DeclareMathAccent{\wbar} {\mathord}{symbols}{"78} +% \end{macrocode} +% \begin{macrocode} +\DeclareMathAccent{\wwhat} {\mathord}{largesymbols}{"80} +\DeclareMathAccent{\wwtilde}{\mathord}{largesymbols}{"81} +\DeclareMathAccent{\wwcheck}{\mathord}{largesymbols}{"7D} +\DeclareMathAccent{\wwbar} {\mathord}{symbols} {"53} +% \end{macrocode} +% A number of symbols that used to be built from pieces +% are now available as ready-made characters: +% \begin{macrocode} +\DeclareMathSymbol{\hbar} {\mathord}{symbols}{"84} +\let\notin\@undefined +\DeclareMathSymbol{\notin} {\mathrel}{symbols}{"85} +\let\angle\@undefined +\DeclareMathSymbol{\angle} {\mathord}{symbols}{"86} +\let\models\@undefined +\DeclareMathSymbol{\models}{\mathrel}{symbols}{"88} +\let\bowtie\@undefined +\DeclareMathSymbol{\bowtie}{\mathrel}{symbols}{"89} +\let\cong\@undefined +\DeclareMathSymbol{\cong} {\mathrel}{symbols}{"8A} +\let\Longleftrightarrow\@undefined +\DeclareMathSymbol{\Longleftrightarrow} {\mathrel}{symbols}{"94} +\let\rightleftharpoons\@undefined +\DeclareMathSymbol{\rightleftharpoons} {\mathrel}{symbols}{"95} +\DeclareMathSymbol{\notless} {\mathrel}{symbols}{"96} +\DeclareMathSymbol{\notleq} {\mathrel}{symbols}{"97} +\DeclareMathSymbol{\notprec} {\mathrel}{symbols}{"98} +\DeclareMathSymbol{\notpreceq} {\mathrel}{symbols}{"99} +\DeclareMathSymbol{\notsubset} {\mathrel}{symbols}{"9A} +\DeclareMathSymbol{\notsubseteq} {\mathrel}{symbols}{"9B} +\DeclareMathSymbol{\notsqsubseteq} {\mathrel}{symbols}{"9C} +\DeclareMathSymbol{\notgr} {\mathrel}{symbols}{"9D} +\DeclareMathSymbol{\notgeq} {\mathrel}{symbols}{"9E} +\DeclareMathSymbol{\notsucc} {\mathrel}{symbols}{"9F} +\DeclareMathSymbol{\notsucceq} {\mathrel}{symbols}{160} +\DeclareMathSymbol{\notsupset} {\mathrel}{symbols}{161} +\DeclareMathSymbol{\notsupseteq} {\mathrel}{symbols}{162} +\DeclareMathSymbol{\notsqsupseteq} {\mathrel}{symbols}{163} +\let\neq\@undefined +\DeclareMathSymbol{\neq} {\mathrel}{symbols}{164} +\let\ne=\neq +\DeclareMathSymbol{\notequiv} {\mathrel}{symbols}{165} +\DeclareMathSymbol{\notsim} {\mathrel}{symbols}{166} +\DeclareMathSymbol{\notsimeq} {\mathrel}{symbols}{167} +\DeclareMathSymbol{\notapprox} {\mathrel}{symbols}{168} +\DeclareMathSymbol{\notcong} {\mathrel}{symbols}{169} +\DeclareMathSymbol{\notasymp} {\mathrel}{symbols}{170} +% \end{macrocode} +% Part of the above symbols get alternative names, +% which follow the naming scheme of the AMS: +% \begin{macrocode} +\let\nless=\notless +\let\nleq=\notleq +\let\nprec=\notprec +\let\npreceq=\notpreceq +\let\nsubset=\notsubset +\let\nsubseteq=\notsubseteq +\let\nsqsubseteq=\notsqsubseteq +\let\ngtr=\notgr +\let\ngeq=\notgeq +\let\nsucc=\notsucc +\let\nsucceq=\notsucceq +\let\nsupset=\notsupset +\let\nsupseteq=\notsupseteq +\let\nsqsupseteq=\notsqsupseteq +\let\ncong=\notcong +\let\nasymp=\notasymp +\let\nequiv=\notequiv +\let\nsimeq=\notsimeq +\let\napprox=\notapprox +% \end{macrocode} +% Unfortunately, the \Lpack{amsmath} package provides its own +% definitions of the following symbols. We do not overwrite them, +% if \Lpack{amslatex} was loaded before \Lpack{mtpro2}. +% (\Lpack{amsmath} was designed with only the standard +% CM fonts in mind; this constitutes sometimes a real problem!) +% \begin{macrocode} +\@ifpackageloaded{amsmath}{}{% + \let\doteq\@undefined + \let\hookleftarrow\@undefined + \let\hookrightarrow\@undefined + \let\longleftarrow\@undefined + \let\longrightarrow\@undefined + \let\Longleftarrow\@undefined + \let\Longrightarrow\@undefined + \let\mapsto\@undefined + \let\longmapsto\@undefined + \let\longleftrightarrow\@undefined + \DeclareMathSymbol{\doteq} {\mathrel}{symbols}{"87} + \DeclareMathSymbol{\hookleftarrow} {\mathrel}{symbols}{"8B} + \DeclareMathSymbol{\hookrightarrow}{\mathrel}{symbols}{"8C} + \DeclareMathSymbol{\longleftarrow} {\mathrel}{symbols}{"8D} + \DeclareMathSymbol{\longrightarrow}{\mathrel}{symbols}{"8E} + \DeclareMathSymbol{\Longleftarrow} {\mathrel}{symbols}{"8F} + \DeclareMathSymbol{\Longrightarrow}{\mathrel}{symbols}{"90} + \DeclareMathSymbol{\mapsto} {\mathrel}{symbols}{"91} + \DeclareMathSymbol{\longmapsto}{\mathrel}{symbols}{"92} + \DeclareMathSymbol{\longleftrightarrow} {\mathrel}{symbols}{"93} +} +% \end{macrocode} +% Alternatively, one might think of repeating the AMS-style definitions with our +% ready-made symbols patched in, if \Lpack{amsmath} is detected. +% +% Additional integral signs: +% \begin{macrocode} +\DeclareMathSymbol{\iintop}{\mathop}{largesymbols}{"92} +\DeclareMathSymbol{\iiintop}{\mathop}{largesymbols}{"94} +\DeclareMathSymbol{\oiintop}{\mathop}{largesymbols}{"96} +\DeclareMathSymbol{\oiiintop}{\mathop}{largesymbols}{"98} +\DeclareMathSymbol{\cwointop}{\mathop}{largesymbols}{"9A} +\DeclareMathSymbol{\awointop}{\mathop}{largesymbols}{"9C} +\DeclareMathSymbol{\cwintop}{\mathop}{largesymbols}{"9E} +\DeclareMathSymbol{\barintop}{\mathop}{largesymbols}{170} +\DeclareMathSymbol{\slashintop}{\mathop}{largesymbols}{172} +% \end{macrocode} +% The actual definitins of the user-level macros are deferred until +% |\begin{document}|. However, we set up a number of empty dummy definitions, +% for the time being: +% \begin{macrocode} +\let\oiint\empty +\let\oiiint\empty +\let\cwoint\empty +\let\awoint\empty +\let\cwint\empty +\let\barint\empty +\let\slashint\empty +% \end{macrocode} +% +% \subsubsection{Compatibility with \Lpack{amsmath}} +% A large piece of code is deferred until |\begin{document}|: +% \begin{macrocode} +\AtBeginDocument{% +% \end{macrocode} +% In case \Lpack{amsmath} is loaded, too, we make sure that the appropriate +% definition of the macro \cmd{\Relbar} is used; we also must make sure that +% things like |\mathrm{\hat{A}}| don't come out as garbage. +% \begin{macrocode} + \@ifpackageloaded{amsmath}{% + \let\Relbar\@undefined + \DeclareMathSymbol{\Relbar}{\mathrel}{symbols}{"48} + \def\accentclass@{0} +% \end{macrocode} +% The appropriate definitions of the big operators depend on whether +% or not \Lpack{amsmath} is to be used: +% \begin{macrocode} + \def\iint{\DOTSI\iintop\ilimits@} + \def\iiint{\DOTSI\iiintop\ilimits@} + \def\oiint{\DOTSI\oiintop\ilimits@} + \def\oiiint{\DOTSI\oiiintop\ilimits@} + \def\cwoint{\DOTSI\cwointop\ilimits@} + \def\awoint{\DOTSI\awointop\ilimits@} + \def\cwint{\DOTSI\cwintop\ilimits@} + \def\barint{\DOTSI\barintop\ilimits@} + \def\slashint{\DOTSI\slashintop\ilimits@} + \gdef\slsum{\DOTSB\slsumop\slimits@} + \gdef\slprod{\DOTSB\slprodop\slimits@} + \gdef\slcoprod{\DOTSB\slcoprodop\slimits@} + \gdef\upsum{\DOTSB\upsumop\slimits@} + \gdef\upprod{\DOTSB\upprodop\slimits@} + \gdef\upcoprod{\DOTSB\upcoprodop\slimits@} + }{% +% \end{macrocode} +% Here come the definitions to be used without \Lpack{amsmath}: +% \begin{macrocode} + \def\iint{\iintop\nolimits} + \def\iiint{\iiintop\nolimits} + \def\oiint{\oiintop\nolimits} + \def\oiiint{\oiiintop\nolimits} + \def\cwoint{\cwointop\nolimits} + \def\awoint{\awointop\nolimits} + \def\cwint{\cwintop\nolimits} + \def\barint{\barintop\nolimits} + \def\slashint{\slashintop\nolimits} + \let\slsum\slsumop\let\slprod\slprodop\let\slcoprod\slcoprodop + \let\upsum\upsumop\let\upprod\upprodop\let\upcoprod\upcoprodop +% \end{macrocode} +% We are using the `large operators" font at varying size, so we also need to fix +% the behavior of |\big| \& friends, when \Lpack{amsmath} is not used. The following +% code was adopted from the \Lpack{exscale} package: +% \begin{macrocode} +\newdimen\big@size +\addto@hook\every@math@size{\setbox\z@\vbox{\hbox{$($}\kern\z@}% + \global\big@size 1.2\ht\z@} +\def\bBigg@#1#2{% + {\hbox{$\left#2\vcenter to#1\big@size{}\right.\n@space$}}} +\def\big{\bBigg@\@ne} +\def\Big{\bBigg@{1.5}} +\def\bigg{\bBigg@\tw@} +\def\Bigg{\bBigg@{2.5}} + }% +% \end{macrocode} +% Finally, set up the definitions of \cmd{\sum}, \cmd{\prod} and \cmd{\coprod} +% according to the package options: +% \begin{macrocode} + \ifmtp@slops + \let\sum\slsum\let\prod\slprod\let\coprod\slcoprod + \else + \let\sum\upsum\let\prod\upprod\let\coprod\upcoprod + \fi +% \end{macrocode} +% +% \cmd{\dddot} and \cmd{\ddddot}, too, are defined only now +% with respect to \Lpack{amsmath}: +% \begin{macrocode} + \let\dddot\@undefined\let\ddddot\@undefined + \DeclareMathAccent{\dddot}{\mathord}{symbols}{171} + \DeclareMathAccent{\ddddot}{\mathord}{symbols}{172} +% \end{macrocode} +% \begin{macrocode} +} +% \end{macrocode} +% +% \subsection{Large delimiters, accents and roots} +% The below code has been adopted from M.~Spivak's +% plain~\TeX{} packages \texttt{mtp.tex} and \texttt{mtp2.tex} +% \smallskip +% +% The macros for dealing with the multiple extension fonts. +% They assume that \verb+\MTEXA@+, \verb+\MTEXE@+, \verb+\MTEXF@+, and \verb+\MTEXG@+ can +% be used to refer to the four extension fonts that have been loaded. +% \begin{macrocode} +\newbox\prePbox@ +\newbox\Pbox@ +\newif\ifPEX@ +\def\PEX@#1{\setbox\Pbox@\vbox{$$\left.\vcenter{\copy\prePbox@}\right)$$}% + \setbox\Pbox@\vbox{\unvbox\Pbox@\unskip\unpenalty + \setbox\Pbox@\lastbox + \setbox\Pbox@\hbox{\unhbox\Pbox@\setbox\Pbox@\lastbox + \setbox\Pbox@\hbox{\unhbox\Pbox@\setbox\Pbox@\lastbox + \setbox\z@\hbox{#1}% + \ifdim\dp\Pbox@>\dp\z@\global\PEX@true\else + \global\PEX@false\fi}}}} +\def\EXtest@#1{\setbox\prePbox@\hbox{$\displaystyle{#1}$}% + \PEX@{\MTEXA@\char32}% + \ifPEX@ + {\textfont3=\MTEXE@\PEX@{\MTEXE@\char12}}% + \ifPEX@ + {\textfont3=\MTEXF@\PEX@{\MTEXF@\char12}}% + \ifPEX@ + \def\EXtest@@{\textfont3=\MTEXG@}% + \else + \def\EXtest@@{\textfont3=\MTEXF@}% + \fi + \else + \def\EXtest@@{\textfont3=\MTEXE@}% + \fi + \else + \def\EXtest@@{\textfont3=\MTEXA@}% + \fi} +% \end{macrocode} +% \begin{macrocode} +\def\vc@nt@r#1{\hbox{$\vcenter{\hbox{$\displaystyle{#1}$}}$}} +\newbox\LRbox@ +\def\LEFTRIGHT@#1#2#3{\setbox\LRbox@\vc@nt@r{#3}% + \EXtest@{\vc@nt@r{#3}}% + \vcenter{\hbox{\curlybraces\EXtest@@$\displaystyle\left#1\box\LRbox@\right#2$}}}% +\def\PARENS#1{\LEFTRIGHT@(){#1}}% +\newif\ifspecdelim@ +\def\specdelim@#1{\ifx#1(\specdelim@true + \else\ifx#1)\specdelim@true + \else\ifx#1<\specdelim@true + \else\ifx#1\langle\specdelim@true + \else\ifx#1>\specdelim@true + \else\ifx#1\rangle\specdelim@true + \else\ifx#1/\specdelim@true + \else\ifx#1\backslash\specdelim@true + \else\ifx#1\lbrace\specdelim@true + \else\ifx#1\rbrace\specdelim@true + \else\ifx#1\lcbrace\specdelim@true + \else\ifx#1\rcbrace\specdelim@true + \else\specdelim@false\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} +\def\LEFTRIGHT#1#2#3{% + \specdelim@#1% + \ifspecdelim@ + \LEFTRIGHT@#1.{\vc@nt@r{#3}}% + \else + \left#1 + \vc@nt@r{#3}% + \right.% + \fi + \kern-2\nulldelimiterspace\mskip-\thinmuskip + \specdelim@#2% + \ifspecdelim@ + \LEFTRIGHT@.#2{\vphantom{\vc@nt@r{#3}}}% + \else + \left.% + \vphantom{\vc@nt@r{#3}}% + \right#2% + \fi} +\def\vcorrection#1{\vrule width\z@ height#1\relax} +\newcommand{\ccases}[1]{{% + \def\arraystretch{1.2}% + \LEFTRIGHT\lbrace.{\,\array{@{}l@{\quad}l@{}}#1\endarray}% +}} +% \end{macrocode} +% Notice the horizontal space which is added after the brace! +% +% Wide `hat' accents: +% \begin{macrocode} +\newbox\HATbox@ +\def\widehat{\mathpalette\@widehat} +\def\@widehat#1#2{\setbox\HATbox@\hbox{$#1{#2}$}% +\setbox0\hbox{\MTEXF@;}% +\ifdim\wd\HATbox@>\wd0 +\def\HAT@{\textfont3=\MTEXG@}% +\else +\setbox0\hbox{\MTEXE@9}% +\ifdim\wd\HATbox@>\wd0 +\def\HAT@{\textfont3=\MTEXF@}% +\else +\setbox0\hbox{\MTEXA@ d}% +\ifdim\wd\HATbox@>\wd0 +\def\HAT@{\textfont3=\MTEXE@}% +\else +\def\HAT@{\textfont3=\MTEXA@}% +\fi +\fi +\fi +\hbox{\HAT@$\mathaccent"0362 {\box\HATbox@}$}}% +% \end{macrocode} +% +% Wide tilde accents: +% \begin{macrocode} +\newbox\TDbox@ +\def\widetilde{\mathpalette\@widetilde} +\def\@widetilde#1#2{\setbox\TDbox@\hbox{$#1{#2}$}% +\setbox0\hbox{\MTEXF@ K}% +\ifdim\wd\TDbox@>\wd0 +\def\TD@{\textfont3=\MTEXG@}% +\else +\setbox0\hbox{\MTEXE@ I}% +\ifdim\wd\TDbox@>\wd0 +\def\TD@{\textfont3=\MTEXF@}% +\else +\setbox0\hbox{\MTEXA@ d}% +\ifdim\wd\TDbox@>\wd0 +\def\TD@{\textfont3=\MTEXE@}% +\else +\def\TD@{\textfont3=\MTEXA@}% +\fi +\fi +\fi +\hbox{\TD@$\mathaccent"0365 {\box\TDbox@}$}} +% \end{macrocode} +% +% Wide `check' accents: +% \begin{macrocode} +\newbox\CHbox@ +\def\widecheck{\mathpalette\@widecheck} +\def\@widecheck#1#2{\setbox\CHbox@\hbox{$#1{#2}$}% +\setbox0\hbox{\MTEXF@[}% +\ifdim\wd\CHbox@>\wd0 +\def\CHECK@{\textfont3=\MTEXG@}% +\else +\setbox0\hbox{\MTEXE@ Y}% +\ifdim\wd\CHbox@>\wd0 +\def\CHECK@{\textfont3=\MTEXF@}% +\else +\setbox0\hbox{\MTEXA@ z}% +\ifdim\wd\CHbox@>\wd0 +\def\CHECK@{\textfont3=\MTEXE@}% +\else +\def\CHECK@{\textfont3=\MTEXA@}% +\fi +\fi +\fi +\hbox{\CHECK@$\mathaccent"037A {\box\CHbox@}$}}% +% \end{macrocode} +% +% Lowered hat accents: +% +% \begin{macrocode} +\def\widehatdown#1#2{\setbox\HATbox@\hbox{$\displaystyle{#2}$}% + \setbox\z@\hbox{\MTEXF@;}% + \ifdim\wd\HATbox@>\wd\z@ + \def\HAT@{\textfont3=\MTEXG@}% + \else + \setbox\z@\hbox{\MTEXE@9}% + \ifdim\wd\HATbox@>\wd\z@ + \def\HAT@{\textfont3=\MTEXF@}% + \else + \setbox\z@\hbox{\MTEXA@ d}% + \ifdim\wd\HATbox@>\wd\z@ + \def\HAT@{\textfont3=\MTEXE@}% + \else + \def\HAT@{\textfont3=\MTEXA@}% + \fi + \fi + \fi + \dimen@\ht\HATbox@\advance\dimen@-#1\relax + \ht\HATbox@\dimen@ + \hbox{\HAT@$\mathaccent"0362 {\box\HATbox@}$}}% +% \end{macrocode} +% +% Lowered tilde accent: +% \begin{macrocode} +\def\widetildedown#1#2{\setbox\TDbox@\hbox{$\displaystyle{#2}$}% + \setbox\z@\hbox{\MTEXF@ K}% + \ifdim\wd\TDbox@>\wd\z@ + \def\TD@{\textfont3=\MTEXG@}% + \else + \setbox\z@\hbox{\MTEXE@ I}% + \ifdim\wd\TDbox@>\wd\z@ + \def\TD@{\textfont3=\MTEXF@}% + \else + \setbox\z@\hbox{\MTEXA@ d}% + \ifdim\wd\TDbox@>\wd\z@ + \def\TD@{\textfont3=\MTEXE@}% + \else + \def\TD@{\textfont3=\MTEXA@}% + \fi + \fi + \fi + \dimen@\ht\TDbox@\advance\dimen@-#1\relax + \ht\TDbox@\dimen@ + \hbox{\TD@$\mathaccent"0365 {\box\TDbox@}$}} +% \end{macrocode} +% +% Lowered check accent: +% \begin{macrocode} +\def\widecheckdown#1#2{\setbox\CHbox@\hbox{$\displaystyle{#2}$}% + \setbox\z@\hbox{\MTEXF@[}% + \ifdim\wd\CHbox@>\wd\z@ + \def\CHECK@{\textfont3=\MTEXG@}% + \else + \setbox\z@\hbox{\MTEXE@ Y}% + \ifdim\wd\CHbox@>\wd\z@ + \def\CHECK@{\textfont3=\MTEXF@}% + \else + \setbox\z@\hbox{\MTEXA@ z}% + \ifdim\wd\CHbox@>\wd\z@ + \def\CHECK@{\textfont3=\MTEXE@}% + \else + \def\CHECK@{\textfont3=\MTEXA@}% + \fi + \fi + \fi + \dimen@\ht\CHbox@\advance\dimen@-#1\relax + \ht\CHbox@\dimen@ + \hbox{\CHECK@$\mathaccent"037A {\box\CHbox@}$}}% +% \end{macrocode} +% +% Wide arcs: +% The command \cmd{\widearc} will set wide arc math accents. +% \begin{macrocode} +\def\arc{\mathaccent"03C3 } +\def\Arc{\mathaccent"03BE } +\newbox\ARCbox@ +\def\widearc#1{\setbox\ARCbox@\hbox{$\displaystyle{#1}$}% + \setbox\z@\hbox{\MTEXF@\char'267}% + \ifdim\wd\ARCbox@>\wd\z@ + \hbox{\textfont3=\MTEXG@ $\mathaccent"03B1 {\box\ARCbox@}$}% + \else + \setbox\z@\hbox{\MTEXE@\char'326}% + \ifdim\wd\ARCbox@>\wd\z@ + \hbox{\textfont3=\MTEXF@ $\mathaccent"03B1 {\box\ARCbox@}$}% + \else + \setbox\z@\hbox{\MTEXA@ \char'302}% + \ifdim\wd\ARCbox@>\wd\z@ + \hbox{\textfont3=\MTEXE@ $\mathaccent"03D0 {\box\ARCbox@}$}% + \else + \hbox{\textfont3=\MTEXA@ $\mathaccent"03BF {\box\ARCbox@}$}% + \fi + \fi + \fi} +% \end{macrocode} +% Large roots: +% The command \cmd{\SQRT} from the plain \TeX{} package \texttt{mtp.tex} +% is named \cmd{\SQR@@T} here. +% \begin{macrocode} +\newbox\preSbox@ +\newbox\Sbox@ +\newif\ifSQEX@ +\def\SQEX@#1{\setbox\Sbox@\vbox{$$\radical"270370{\copy\preSbox@}$$}% +\setbox\Sbox@\vbox{\unvbox\Sbox@\unskip\unpenalty +\setbox\Sbox@\lastbox\setbox\Sbox@\hbox{\unhbox\Sbox@\setbox\Sbox@\lastbox +\setbox\Sbox@\hbox{\unhbox\Sbox@\setbox\Sbox@\lastbox\setbox\Sbox@\lastbox +\setbox0\hbox{#1}% +\ifdim\dp\Sbox@>\dp0\global\SQEX@true\else +\global\SQEX@false\fi}}}} +% \end{macrocode} +% \begin{macrocode} +\newcount\SQcount@ +\def\SQtest@#1{\setbox\preSbox@\hbox{$\displaystyle{#1}$}% +\SQEX@{\MTEXA@ s}% +\ifSQEX@ +{\textfont3=\MTEXE@\SQEX@{\MTEXE@ u}}% +\ifSQEX@ +{\textfont3=\MTEXF@\SQEX@{\MTEXF@ u}}% +\ifSQEX@ +\def\SQtest@@{\textfont3=\MTEXG@}\global\SQcount@3 +\else +\def\SQtest@@{\textfont3=\MTEXF@}\global\SQcount@2 +\fi +\else +\def\SQtest@@{\textfont3=\MTEXE@}\global\SQcount@1 +\fi +\else +\def\SQtest@@{\textfont3=\MTEXA@}\global\SQcount@0 +\fi} +\newbox\SQRTbox@ +\def\SQR@@T#1{\setbox\SQRTbox@\hbox{$\displaystyle{#1}$}% +\SQtest@{#1}% +\hbox{\SQtest@@$\displaystyle\radical"270370{\box\SQRTbox@}$}} +% \end{macrocode} +% The names of the counters \cmd{\leftroot@} and \cmd{\uproot@} +% and the related commands \cmd{\leftroot} and \cmd{\uproot} +% had to be changed to uppercase, +% so as not to clash with the \Lpack{amsmath} package. +% The syntax differs from \Lpack{amsmath}, anyway. +% \begin{macrocode} +\newcount\UPROOT@ +\newcount\LEFTROOT@ +\def\LEFTROOT#1{\relax + \ifmmode\LEFTROOT@#1\relax + \else\PackageError{mtpro2} + {\protect\LEFTROOT\space allowed only in math mode} + {Type <return> to proceed; the command will be ignored.} + \fi} +\def\UPROOT#1{\relax + \ifmmode\UPROOT@#1\relax + \else\PackageError{mtpro2} + {\protect\UPROOT\space allowed only in math mode} + {Type <return> to proceed; the command will be ignored.} + \fi} +\def\ROOT#1\OF#2{\setbox\rootbox\hbox{$\m@th\scriptscriptstyle{#1}$}% +\mathpalette\R@@T{#2}} +\def\R@@T#1#2{\setbox\z@\hbox{$\UPROOT@\z@\LEFTROOT@\z@\m@th#1\SQR@@T{#2}$}% +\dimen@\ht\z@\advance\dimen@-\dp\z@ +\dimen@ii\dimen@ +\setbox\tw@\hbox{$\m@th#1\mskip\UPROOT@ mu$}\advance\dimen@ii by1.667\wd\tw@ +\setbox\tw@\hbox{$\m@th#1\mskip10mu$}% +\ifcase\SQcount@\advance\dimen@3\wd\tw@\or\advance\dimen@1.5\wd\tw@\or +\advance\dimen@\wd\tw@\fi +\mkern1mu\kern.13\dimen@\mkern-\LEFTROOT@ mu +\raise.5\dimen@ii\copy\rootbox % was .44 +\mkern-1mu\kern-.13\dimen@\mkern\LEFTROOT@ mu\box\z@\kern-\wd\rootbox +\LEFTROOT\z@\UPROOT\z@} +% \end{macrocode} +% Finally the roots are given a more \LaTeX-like syntax, +% so that one can say, e.g., +% |\SQRT[3]{...} | instead of |\ROOT 3 \OF ... |. +% \begin{macrocode} +\DeclareRobustCommand\SQRT{\@ifnextchar[\SQRT@\SQR@@T} +\def\SQRT@[#1]{\ROOT #1\OF} +% \end{macrocode} +% +% +% \subsection{Extra-large operators} +% From Mike Spivak, 2006-01-26. +% +% The following tool will be used in several places:\label{spacemacro} +% \begin{macrocode} +\def\space@.{\futurelet\space@\relax} +\space@. % +% \end{macrocode} +% There must be a blank after the period, not a newline! +% +% |\FNSS@| is a |\futurelet\next| skipping spaces; +% corresponds to something or other in \LaTeX. (MS) +% \begin{macrocode} +\def\FNSS@#1{\let\FNSS@@#1\futurelet\next\FNSS@@@} +\def\FNSS@@@{\ifx\next\space@\def\FNSS@@@@. {\futurelet\next\FNSS@@@}\else +\def\FNSS@@@@.{\FNSS@@}\fi\FNSS@@@@.} +% +{\catcode`\_=12 +\global\let\sbxii@=_} +{\catcode`\_=8 +\global\let\sbviii@=_} +% +\newcount\limtype@ +% \end{macrocode} +% 0 when |\limits| is used, 1 when |\nolimits| is used. +% \begin{macrocode} +\newcount\xlfont@ +% \end{macrocode} +% 0 if using |mt2xl|, 1 if using |mt2xxxl|. +% \begin{macrocode} +\newcount\xlposition@ +% \end{macrocode} +% Position of character (or first half of character) on |mt2xl| or |mt2xxxl|. +% \begin{macrocode} +\newcount\xlposition@ii +% \end{macrocode} +% If non-zero, position of other half of character. +% \begin{macrocode} +\newcount\optype@ +% \end{macrocode} +% 0 for operators needing no italic correction, 1 for others. +% \begin{macrocode} +\newcount\x@count +% \end{macrocode} +% 0 for |\XL|, 1 for |\XXL|, 2 for |\XXXL|, 3 for |\xl|; used for +% calculating positioning of limits for operators needing italic correction. +% The definition of |\xl| is typical of all, except that |\xlposition@ii| is never +% needed for this size (or for |\XL| size). +% \begin{macrocode} +\def\xl{\xlposition@ii\z@\xlfont@\z@\x@count\thr@@\futurelet\next\xl@} +\def\xl@{% +% \end{macrocode} +% First come operators needing no italic correction. +% \begin{macrocode} +\optype@\z@ +% \end{macrocode} +% These all use limits: +% \begin{macrocode} +\limtype@\z@ +\ifx\next\bigodot\xlposition@96\else +\ifx\next\bigoplus\xlposition@97\else +\ifx\next\bigotimes\xlposition@98\else +\ifx\next\bigsqcup\xlposition@99\else +\ifx\next\bigcup\xlposition@100\else +\ifx\next\bigcap\xlposition@101\else +\ifx\next\biguplus\xlposition@102\else +\ifx\next\bigwedge\xlposition@103\else +\ifx\next\bigvee\xlposition@104\else +\ifx\next\upsum\xlposition@105\else +\ifx\next\upprod\xlposition@106\else +\ifx\next\upcoprod\xlposition@107\else +\ifx\next\bigcupprod\xlposition@110\else +\ifx\next\bigcapprod\xlposition@111\else +\ifx\next\bigvarland\xlposition@122\else +\ifx\next\bigast\xlposition@123\else +% \end{macrocode} +% Then come operators needing italic correction; +% first come those that usually use limits\dots +% \begin{macrocode} +\ifx\next\slsum\optype@\@ne\xlposition@119\else +\ifx\next\slprod\optype@\@ne\xlposition@120\else +\ifx\next\slcoprod\optype@\@ne\xlposition@121\else +% \end{macrocode} +% then those that usually don't use limits: +% \begin{macrocode} +\ifx\next\int\limtype@\@ne\optype@\@ne\xlposition@108\else +\ifx\next\oint\limtype@\@ne\optype@\@ne\xlposition@109\else +\ifx\next\cwoint\limtype@\@ne\optype@\@ne\xlposition@112\else +\ifx\next\awoint\limtype@\@ne\optype@\@ne\xlposition@113\else +\ifx\next\cwint\limtype@\@ne\optype@\@ne\xlposition@114\else +\ifx\next\iint\limtype@\@ne\optype@\@ne\xlposition@115\else +\ifx\next\iiint\limtype@\@ne\optype@\@ne\xlposition@116\else +\ifx\next\oiint\limtype@\@ne\optype@\@ne\xlposition@117\else +\ifx\next\oiiint\limtype@\@ne\optype@\@ne\xlposition@118\else +\ifx\next\barint\limtype@\@ne\optype@\@ne\xlposition@124\else +\ifx\next\slashint\limtype@\@ne\optype@\@ne\xlposition@125\else +\PackageError{mtpro2}% + {Invalid use of \protect\xl}% + {\protect\xl\space can be applied to `large operators' only.}% +\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi +\def\next@##1{\futurelet\next\getxlims@}\next@} +% \end{macrocode} +% Swallows the token after |\xl|: +% \begin{macrocode} +\def\getxlims@{% +\let\lowerlim@\relax\let\upperlim@\relax +\ifx\next\limits +\def\next@##1{\limtype@\z@\futurelet\next\getxlims@}% +\else\ifx\next\nolimits +\def\next@##1{\limtype@\@ne\futurelet\next\getxlims@}% +\else\ifx\next\sbxii@ +\def\next@##1{\getxlowerlim@}% +\else\ifx\next\sbviii@ +\def\next@##1{\getxlowerlim@}% +\else\ifcat\sbviii@\noexpand\next +\def\next@##1{\getxlowerlim@}% +\else\ifcat^\noexpand\next +\def\next@##1{\getxupperlim@}% +\else +\let\next@\uselims@ +% \end{macrocode} +% |\uselims@| is what we will always do after getting the limits. +% \begin{macrocode} +\fi\fi\fi\fi\fi\fi +\next@} +\def\getxlowerlim@#1{\def\lowerlim@{#1}\FNSS@\getxupperlim@@} +\def\getxupperlim@#1{\def\upperlim@{#1}\FNSS@\getxlowerlim@@} +\def\getxupperlim@@{% +\ifcat^\noexpand\next +\def\next@##1##2{\def\upperlim@{##2}\uselims@}% +\else +\let\next@\uselims@ % have limits now +\fi +\next@} +\def\getxlowerlim@@{% +\ifx\next\sbxii@ +\def\next@##1##2{\def\lowerlim@{##2}\uselims@}% +\else\ifx\next\sbviii@ +\def\next@##1##2{\def\lowerlim@{##2}\uselims@}% +\else\ifcat\sbviii@\noexpand\next +\def\next@##1##2{\def\lowerlim@{##2}\uselims@}% +\else +\let\next@\uselims@ % have limits now +\fi\fi\fi +\next@} +% +\def\uselims@{\ifnum\optype@=\z@\xlargeop@\else\xlargeopic@\fi} +% +\def\xlargeop@{% +\ifnum\limtype@=\z@ +\mathop{\hbox{$\vcenter{\hbox{% +\ifnum\xlfont@=\z@\MTXL@\else\MTXXXL@\fi +\char\xlposition@\relax +\ifnum\xlposition@ii=\z@\else\char\xlposition@ii\relax\fi +}}$}}_{\lowerlim@}^{\upperlim@}% +\else +\mathop{\hbox{$\vcenter{\hbox{% +\ifnum\xlfont@=\z@\MTXL@\else\MTXXXL@\fi +\char\xlposition@\relax +\ifnum\xlposition@ii=\z@\else\char\xlposition@ii\relax\fi +}}$}}\nolimits_{\lowerlim@}^{\upperlim@}% +\fi} +% \end{macrocode} +% The definition of |\xlargeopic@| is complicated when there are limits, and the +% calculation uses |\maxXLscripts@|, which will store the maximum of the widths of the sub +% and superscripts. There is the additional complication that the amount to adjust the +% superscript differs for |\XL| and |\XXL|, and the adjustment is made in terms of an extra +% |\fontdimen| in the mtxxl font, which measures the horizontal distance between the +% lowest and highest points of the integral sign (for the |\XXL| versions these are exactly +% twice the |\XL| versions). +% Fortunately, none of the characters needing |\xlargeopic@| need to be broken into two +% halves, so we don't have to worry about |\xlposition@ii|. +% \begin{macrocode} +\newdimen\maxXLscripts@ +% +\def\xlargeopic@{% +\def\thecharacter@{\ifnum\xlfont@=\z@\MTXL@\else\MTXXXL@\fi\char\xlposition@\relax}% +\ifnum\limtype@=\@ne +\setbox\z@\hbox{\thecharacter@\/}% +\dimen@\wd\z@ +\setbox\z@\hbox{\thecharacter@}% +\advance\dimen@-\wd\z@ +\mathop{\hbox{$\vcenter{\hbox{\thecharacter@}}$}} +\nolimits_{\lowerlim@}^{\kern\dimen@\upperlim@}% +\else +\setbox\z@\hbox{\ifcase\x@count\kern\tw@\fontdimen8\MTXL@\or +\kern4\fontdimen8\MTXL@\or\kern\tw@\fontdimen8\MTXXXL@\or\kern1.7\fontdimen8\MTXL@\fi}% +\setbox\@ne\hbox{\thecharacter@}% +\setbox\tw@\hbox{$\scriptstyle{\lowerlim@}$}% +\setbox\thr@@\hbox{$\kern\wd\z@\scriptstyle{\upperlim@}$}% +% \end{macrocode} +% Let |\maxXLscripts@| be max of subscript and superscript boxes: +% \begin{macrocode} +\maxXLscripts@\wd\thr@@\ifdim\maxXLscripts@<\wd\tw@\maxXLscripts@\wd\tw@\fi +% \end{macrocode} +% Let |\dimen@ii| be amount of subscript to left of integral: +% \begin{macrocode} +\dimen@ii.5\wd\tw@ \advance\dimen@ii-.5\wd\@ne +% \end{macrocode} +% Let |\dimen@| be amount of visible superscript to left of int, namely +% [visible length] $-$ [mount to right of left boundary of operator], i.e., +% $[\mathrm{wd3} - \mathrm{wd0}] - 1/2[\mathrm{wd3} + \mathrm{wd1}]$. +% \begin{macrocode} +\dimen@.5\wd\thr@@ \advance\dimen@-\wd\z@ \advance\dimen@-.5\wd\@ne +\ifdim\dimen@>\z@ % if visible part of superscript extends to left of operator + \ifdim\dimen@>\dimen@ii % if visible part of superscript to left of subscript +% kern by - [1/2(\maxXLscripts@ - wd1) - \dimen@] + \kern\dimen@\kern.5\wd\@ne\kern-.5\maxXLscripts@ + \else % only trim to subscript, +% kern - [1/2(\maxXLscripts@ - wd1) - \dimen@ii] + \kern\dimen@ii\kern.5\wd\@ne\kern-.5\maxXLscripts@ + \fi +\else % visible part of superscript entirely to right of operator, so trim to subscript + \ifdim\dimen@ii > \z@ + \kern\dimen@ii\kern.5\wd\@ne\kern-.5\maxXLscripts@ + \else + \kern.5\wd\@ne\kern-.5\maxXLscripts@ + \fi +\fi +\setbox\@ne\hbox{\thecharacter@\/}\dimen@ii\wd\@ne +\setbox\@ne\hbox{\thecharacter@}\advance\dimen@ii-\wd\@ne +\mathop{\hbox{$\vcenter{\hbox{\thecharacter@}}$}}_{\lowerlim@}^{\kern\wd\z@\upperlim@}% +\kern\dimen@ii +\fi +} +% \end{macrocode} +% Other sizes almost completely analagous +% \begin{macrocode} +\def\XL{\xlposition@ii\z@\xlfont@\z@\x@count\z@\futurelet\next\XL@} +\def\XL@{\optype@\z@\limtype@\z@ +\ifx\next\bigodot\xlposition@0\else +\ifx\next\bigoplus\xlposition@1\else +\ifx\next\bigotimes\xlposition@2\else +\ifx\next\bigsqcup\xlposition@3\else +\ifx\next\bigcup\xlposition@4\else +\ifx\next\bigcap\xlposition@5\else +\ifx\next\biguplus\xlposition@6\else +\ifx\next\bigwedge\xlposition@7\else +\ifx\next\bigvee\xlposition@8\else +\ifx\next\upsum\xlposition@9\else +\ifx\next\upprod\xlposition@10\else +\ifx\next\upcoprod\xlposition@11\else +\ifx\next\bigcupprod\xlposition@14\else +\ifx\next\bigcapprod\xlposition@15\else +\ifx\next\bigvarland\xlposition@26\else +\ifx\next\bigast\xlposition@27\else +\ifx\next\slsum\optype@\@ne\xlposition@23\else +\ifx\next\slprod\optype@\@ne\xlposition@24\else +\ifx\next\slcoprod\optype@\@ne\xlposition@25\else +\ifx\next\int\limtype@\@ne\optype@\@ne\xlposition@12\else +\ifx\next\oint\limtype@\@ne\optype@\@ne\xlposition@13\else +\ifx\next\cwoint\limtype@\@ne\optype@\@ne\xlposition@16\else +\ifx\next\awoint\limtype@\@ne\optype@\@ne\xlposition@17\else +\ifx\next\cwint\limtype@\@ne\optype@\@ne\xlposition@18\else +\ifx\next\iint\limtype@\@ne\optype@\@ne\xlposition@19\else +\ifx\next\iiint\limtype@\@ne\optype@\@ne\xlposition@20\else +\ifx\next\oiint\limtype@\@ne\optype@\@ne\xlposition@21\else +\ifx\next\oiiint\limtype@\@ne\optype@\@ne\xlposition@22\else +\ifx\next\barint\limtype@\@ne\optype@\@ne\xlposition@28\else +\ifx\next\slashint\limtype@\@ne\optype@\@ne\xlposition@29\else +\PackageError{mtpro2}% + {Invalid use of \protect\XL}% + {\protect\XL\space can be applied to `large operators' only.}% +\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi +\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi +\def\next@##1{\futurelet\next\getxlims@}\next@} +% +\def\XXL{\xlposition@ii\z@\xlfont@\z@\x@count\@ne\futurelet\next\XXL@} +\def\XXL@{\optype@\z@\limtype@\z@ +\ifx\next\bigodot\xlposition@48\else +\ifx\next\bigoplus\xlposition@49\else +\ifx\next\bigotimes\xlposition@50\else +\ifx\next\bigsqcup\xlposition@51\else +\ifx\next\bigcup\xlposition@52\else +\ifx\next\bigcap\xlposition@53\else +\ifx\next\biguplus\xlposition@54\else +\ifx\next\bigwedge\xlposition@55\else +\ifx\next\bigvee\xlposition@56\else +\ifx\next\upsum\xlposition@57\else +\ifx\next\upprod\xlposition@58\else +\ifx\next\upcoprod\xlposition@59\else +\ifx\next\bigcupprod\xlposition@62 \xlposition@ii64\else +\ifx\next\bigcapprod\xlposition@63 \xlposition@ii65\else +\ifx\next\bigvarland\xlposition@76\else +\ifx\next\bigast\xlposition@77\else +\ifx\next\slsum\optype@\@ne\xlposition@73\else +\ifx\next\slprod\optype@\@ne\xlposition@74\else +\ifx\next\slcoprod\optype@\@ne\xlposition@75\else +\ifx\next\int\limtype@\@ne\optype@\@ne\xlposition@60\else +\ifx\next\oint\limtype@\@ne\optype@\@ne\xlposition@61\else +\ifx\next\cwoint\limtype@\@ne\optype@\@ne\xlposition@66\else +\ifx\next\awoint\limtype@\@ne\optype@\@ne\xlposition@67\else +\ifx\next\cwint\limtype@\@ne\optype@\@ne\xlposition@68\else +\ifx\next\iint\limtype@\@ne\optype@\@ne\xlposition@69\else +\ifx\next\iiint\limtype@\@ne\optype@\@ne\xlposition@70\else +\ifx\next\oiint\limtype@\@ne\optype@\@ne\xlposition@71\else +\ifx\next\oiiint\limtype@\@ne\optype@\@ne\xlposition@72\else +\ifx\next\barint\limtype@\@ne\optype@\@ne\xlposition@78\else +\ifx\next\slashint\limtype@\@ne\optype@\@ne\xlposition@79\else +\PackageError{mtpro2}% + {Invalid use of \protect\XXL}% + {\protect\XXL\space can be applied to `large operators' only.}% +\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi +\def\next@##1{\futurelet\next\getxlims@}\next@} +% +\def\XXXL{\xlposition@ii\z@\xlfont@\@ne\x@count\tw@\futurelet\next\XXXL@} +\def\XXXL@{\optype@\z@\limtype@\z@ +\ifx\next\bigodot\xlposition@0\else +\ifx\next\bigoplus\xlposition@1\else +\ifx\next\bigotimes\xlposition@2\else +\ifx\next\bigsqcup\xlposition@3\else +\ifx\next\bigcup\xlposition@4\else +\ifx\next\bigcap\xlposition@5\else +\ifx\next\biguplus\xlposition@6\else +\ifx\next\bigwedge\xlposition@7\else +\ifx\next\bigvee\xlposition@8\else +\ifx\next\upsum\xlposition@9\else +\ifx\next\uprod\xlposition@10\else +\ifx\next\ucoprod\xlposition@11\else +\ifx\next\bigcupprod\xlposition@14 \xlposition@ii16\else +\ifx\next\bigcapprod\xlposition@15 \xlposition@ii17\else +\ifx\next\bigvarland\xlposition@ 28 \xlposition@ii29\else +\ifx\next\bigast\xlposition@30\else +\ifx\next\slsum\optype@\@ne\xlposition@25\else +\ifx\next\slprod\optype@\@ne\xlposition@26\else +\ifx\next\slcoprod\optype@\@ne\xlposition@27\else +\ifx\next\int\limtype@\@ne\optype@\@ne\xlposition@12\else +\ifx\next\oint\limtype@\@ne\optype@\@ne\xlposition@13\else +\ifx\next\cwoint\limtype@\@ne\optype@\@ne\xlposition@18\else +\ifx\next\awoint\limtype@\@ne\optype@\@ne\xlposition@19\else +\ifx\next\cwint\limtype@\@ne\optype@\@ne\xlposition@20\else +\ifx\next\iint\limtype@\@ne\optype@\@ne\xlposition@21\else +\ifx\next\iiint\limtype@\@ne\optype@\@ne\xlposition@22\else +\ifx\next\oiint\limtype@\@ne\optype@\@ne\xlposition@23\else +\ifx\next\oiiint\limtype@\@ne\optype@\@ne\xlposition@24\else +\ifx\next\barint\limtype@\@ne\optype@\@ne\xlposition@31\else +\ifx\next\slashint\limtype@\@ne\optype@\@ne\xlposition@32\else +\def\next@{\PackageError{mtpro2}% + {Invalid use of \protect\XXXL}% + {\protect\XXXL\space can be applied to `large operators' only.}}% +\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi +\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi +\def\next@##1{\futurelet\next\getxlims@}\next@} +% \end{macrocode} +% +% +% \subsection{Large over- and underbraces} +% The below code stems from from M.~Spivak's +% plain~\TeX{} package \texttt{mtp2.tex} as of 2006-02-07: +% \begin{macrocode} +\def\undercbrace#1{\setbox\z@\hbox{$\displaystyle#1$}% + \dimen@\tMTPsize\relax + \expandafter\getpoints@\the\dimen@\getpoints@ + \dimen@\wd\z@ + \divide\dimen@\pointcount@ + \expandafter\getpoints@\the\dimen@\getpoints@ + \ifnum\pointcount@<4 + \ifdim\wd\z@<12pt + \def\thebrace@{\hbox{\MTEXE@\char144}}% + \else\ifdim\wd\z@<15pt + \def\thebrace@{\hbox{\MTEXE@\char145}}% + \else\ifdim\wd\z@<18pt + \def\thebrace@{\hbox{\MTEXE@\char146}}% + \else\ifdim\wd\z@<21pt + \def\thebrace@{\hbox{\MTEXE@\char147}}% + \else\ifdim\wd\z@<24pt + \def\thebrace@{\hbox{\MTEXE@\char148}}% + \else\ifdim\wd\z@<27pt + \def\thebrace@{\hbox{\MTEXE@\char149}}% + \else\ifdim\wd\z@<30pt + \def\thebrace@{\hbox{\MTEXE@\char150}}% + \else\ifdim\wd\z@<33pt + \def\thebrace@{\hbox{\MTEXE@\char151}}% + \else + \def\thebrace@{\hbox{\MTEXE@\char152}}% + \fi\fi\fi\fi\fi\fi\fi\fi + \else + \ifnum\pointcount@<12 + \advance\pointcount@149 + \def\thebrace@{\hbox{\MTEXE@\char\pointcount@}}% + \else + \ifnum\pointcount@<24 + \advance\pointcount@132 + \def\thebrace@{\hbox{\MTEXF@\char\pointcount@}}% + \else + \advance\pointcount@120 + \ifnum\pointcount@>149 \pointcount@149 \fi + \def\thebrace@{\hbox{\MTEXG@\char\pointcount@}}% + \fi + \fi + \fi + \mathop{\vtop{\ialign{\hfil##\hfil\cr$\displaystyle#1$\crcr\noalign + {\vskip3pt\nointerlineskip}\thebrace@\cr\noalign{\kern3pt}}}}\limits}% +\def\overcbrace#1{\setbox\z@\hbox{$\displaystyle#1$}% + \dimen@\tMTPsize\relax + \expandafter\getpoints@\the\dimen@\getpoints@ + \dimen@\wd\z@ + \divide\dimen@\pointcount@ + \expandafter\getpoints@\the\dimen@\getpoints@ + \ifnum\pointcount@<4 + \ifdim\wd\z@<12pt + \def\thebrace@{\hbox{\MTEXE@\char176}}% + \else\ifdim\wd\z@<15pt + \def\thebrace@{\hbox{\MTEXE@\char177}}% + \else\ifdim\wd\z@<18pt + \def\thebrace@{\hbox{\MTEXE@\char178}}% + \else\ifdim\wd\z@<21pt + \def\thebrace@{\hbox{\MTEXE@\char179}}% + \else\ifdim\wd\z@<24pt + \def\thebrace@{\hbox{\MTEXE@\char180}}% + \else\ifdim\wd\z@<27pt + \def\thebrace@{\hbox{\MTEXE@\char181}}% + \else\ifdim\wd\z@<30pt + \def\thebrace@{\hbox{\MTEXE@\char182}}% + \else\ifdim\wd\z@<33pt + \def\thebrace@{\hbox{\MTEXE@\char183}}% + \else + \def\thebrace@{\hbox{\MTEXE@\char184}}% + \fi\fi\fi\fi\fi\fi\fi\fi + \else + \ifnum\pointcount@<12 + \advance\pointcount@181 + \def\thebrace@{\hbox{\MTEXE@\char\pointcount@}}% + \else + \ifnum\pointcount@<24 + \advance\pointcount@148 + \def\thebrace@{\hbox{\MTEXF@\char\pointcount@}}% + \else + \advance\pointcount@136 + \ifnum\pointcount@>165 \pointcount@165 \fi + \def\thebrace@{\hbox{\MTEXG@\char\pointcount@}}% + \fi + \fi + \fi + \mathop{\vbox{\ialign{\hfil##\hfil\cr\noalign{\kern3\p@}\thebrace@\crcr + \noalign{\kern3\p@\nointerlineskip}$\displaystyle#1$\crcr}}}\limits}% +% \end{macrocode} +% +% \subsection{AMS symbols support} +% \label{sec:ams} +% Support for AMS symbols is provided only if the full font set is available, +% and if it has not been desabled explicitly: +% \begin{macrocode} +\ifmtp@ams +% \end{macrocode} +% First, set up the related symbol font: +% \begin{macrocode} +\DeclareSymbolFont{AMSa}{U}{mt2sya}{m}{n} +\SetSymbolFont{AMSa}{bold}{U}{mt2sya}{b}{n} +\SetSymbolFont{AMSa}{heavy}{U}{mt2sya}{eb}{n} +% \end{macrocode} +% +% Macros that are declared as warnings in basic \LaTeX\ must be `deleted', +% before we can re-declare them as math symbols: +% \begin{macrocode} +\global\let\sqsubset\undefined +\global\let\sqsupset\undefined +\global\let\mho\undefined +\global\let\Diamond\undefined +\global\let\leadsto\undefined +% \end{macrocode} +% +% Now declare the actual symbols. Symbols that are already defined +% in the basic \mtpro fonts are commented out. We start with those symbols +% that come `normally' from the AMS `A' font. +% +% Three symbols can be used both in text and math mode: +% we adopt their definitions from \Lpack{amssymb}: +% \begin{macrocode} +\@ifundefined{checkmark}{% + \edef\checkmark{\noexpand\mathhexbox{\hexnumber@\symAMSa}58} +}{} +\@ifundefined{circledR}{% + \edef\circledR{\noexpand\mathhexbox{\hexnumber@\symAMSa}72} +}{} +\@ifundefined{maltese}{% + \edef\maltese{\noexpand\mathhexbox{\hexnumber@\symAMSa}7A} +}{} +\@ifundefined{yen}{% + \edef\yen{\noexpand\mathhexbox{\hexnumber@\symAMSa}55} +}{} +% \end{macrocode} +% The remaining symbols can be used only in math mode: +% \begin{macrocode} +\DeclareMathDelimiter{\ulcorner}{\mathopen} {AMSa}{"70}{AMSa}{"70} +\DeclareMathDelimiter{\urcorner}{\mathclose}{AMSa}{"71}{AMSa}{"71} +\DeclareMathDelimiter{\llcorner}{\mathopen} {AMSa}{"78}{AMSa}{"78} +\DeclareMathDelimiter{\lrcorner}{\mathclose}{AMSa}{"79}{AMSa}{"79} +\DeclareMathSymbol{\dashleftarrow}{\mathrel}{AMSa}{219} +\DeclareMathSymbol{\dashrightarrow}{\mathrel}{AMSa}{220} +\global\let\dasharrow\dashrightarrow +\DeclareMathSymbol{\Diamond} {\mathbin}{AMSa}{"DE} +\DeclareMathSymbol{\leadsto} {\mathbin}{AMSa}{"DD} +\DeclareMathSymbol{\boxdot} {\mathbin}{AMSa}{"00} +\DeclareMathSymbol{\boxplus} {\mathbin}{AMSa}{"01} +\DeclareMathSymbol{\boxtimes} {\mathbin}{AMSa}{"02} +\DeclareMathSymbol{\square} {\mathord}{AMSa}{"03} +\DeclareMathSymbol{\blacksquare} {\mathord}{AMSa}{"04} +\DeclareMathSymbol{\centerdot} {\mathbin}{AMSa}{"05} +\DeclareMathSymbol{\lozenge} {\mathord}{AMSa}{"06} +\DeclareMathSymbol{\blacklozenge} {\mathord}{AMSa}{"07} +\DeclareMathSymbol{\circlearrowright} {\mathrel}{AMSa}{"08} +\DeclareMathSymbol{\circlearrowleft} {\mathrel}{AMSa}{"09} +%\DeclareMathSymbol{\rightleftharpoons}{\mathrel}{AMSa}{"0A} +\DeclareMathSymbol{\leftrightharpoons} {\mathrel}{AMSa}{"0B} +\DeclareMathSymbol{\boxminus} {\mathbin}{AMSa}{"0C} +\DeclareMathSymbol{\Vdash} {\mathrel}{AMSa}{"0D} +\DeclareMathSymbol{\Vvdash} {\mathrel}{AMSa}{"0E} +\DeclareMathSymbol{\vDash} {\mathrel}{AMSa}{"0F} +\DeclareMathSymbol{\twoheadrightarrow} {\mathrel}{AMSa}{"10} +\DeclareMathSymbol{\twoheadleftarrow} {\mathrel}{AMSa}{"11} +\DeclareMathSymbol{\leftleftarrows} {\mathrel}{AMSa}{"12} +\DeclareMathSymbol{\rightrightarrows} {\mathrel}{AMSa}{"13} +\DeclareMathSymbol{\upuparrows} {\mathrel}{AMSa}{"14} +\DeclareMathSymbol{\downdownarrows} {\mathrel}{AMSa}{"15} +\DeclareMathSymbol{\upharpoonright} {\mathrel}{AMSa}{"16} +\global\let\restriction\upharpoonright +\DeclareMathSymbol{\downharpoonright} {\mathrel}{AMSa}{"17} +\DeclareMathSymbol{\upharpoonleft} {\mathrel}{AMSa}{"18} +\DeclareMathSymbol{\downharpoonleft}{\mathrel}{AMSa}{"19} +\DeclareMathSymbol{\rightarrowtail} {\mathrel}{AMSa}{"1A} +\DeclareMathSymbol{\leftarrowtail} {\mathrel}{AMSa}{"1B} +\DeclareMathSymbol{\leftrightarrows}{\mathrel}{AMSa}{"1C} +\DeclareMathSymbol{\rightleftarrows}{\mathrel}{AMSa}{"1D} +\DeclareMathSymbol{\Lsh} {\mathrel}{AMSa}{"1E} +\DeclareMathSymbol{\Rsh} {\mathrel}{AMSa}{"1F} +\DeclareMathSymbol{\rightsquigarrow} {\mathrel}{AMSa}{"20} +\DeclareMathSymbol{\leftrightsquigarrow}{\mathrel}{AMSa}{"21} +\DeclareMathSymbol{\looparrowleft} {\mathrel}{AMSa}{"22} +\DeclareMathSymbol{\looparrowright} {\mathrel}{AMSa}{"23} +\DeclareMathSymbol{\circeq} {\mathrel}{AMSa}{"24} +\DeclareMathSymbol{\succsim} {\mathrel}{AMSa}{"25} +\DeclareMathSymbol{\gtrsim} {\mathrel}{AMSa}{"26} +\DeclareMathSymbol{\gtrapprox} {\mathrel}{AMSa}{"27} +\DeclareMathSymbol{\multimap} {\mathrel}{AMSa}{"28} +\DeclareMathSymbol{\therefore} {\mathrel}{AMSa}{"29} +\DeclareMathSymbol{\because} {\mathrel}{AMSa}{"2A} +\DeclareMathSymbol{\doteqdot} {\mathrel}{AMSa}{"2B} +\global\let\Doteq\doteqdot +\DeclareMathSymbol{\triangleq} {\mathrel}{AMSa}{"2C} +\DeclareMathSymbol{\precsim} {\mathrel}{AMSa}{"2D} +\DeclareMathSymbol{\lesssim} {\mathrel}{AMSa}{"2E} +\DeclareMathSymbol{\lessapprox} {\mathrel}{AMSa}{"2F} +\DeclareMathSymbol{\eqslantless} {\mathrel}{AMSa}{"30} +\DeclareMathSymbol{\eqslantgtr} {\mathrel}{AMSa}{"31} +\DeclareMathSymbol{\curlyeqprec} {\mathrel}{AMSa}{"32} +\DeclareMathSymbol{\curlyeqsucc} {\mathrel}{AMSa}{"33} +\DeclareMathSymbol{\preccurlyeq} {\mathrel}{AMSa}{"34} +\DeclareMathSymbol{\leqq} {\mathrel}{AMSa}{"35} +\DeclareMathSymbol{\leqslant} {\mathrel}{AMSa}{"36} +\DeclareMathSymbol{\lessgtr} {\mathrel}{AMSa}{"37} +\DeclareMathSymbol{\backprime} {\mathord}{AMSa}{"38} +\DeclareMathSymbol{\risingdotseq} {\mathrel}{AMSa}{"3A} +\DeclareMathSymbol{\fallingdotseq}{\mathrel}{AMSa}{"3B} +\DeclareMathSymbol{\succcurlyeq} {\mathrel}{AMSa}{"3C} +\DeclareMathSymbol{\geqq} {\mathrel}{AMSa}{"3D} +\DeclareMathSymbol{\geqslant} {\mathrel}{AMSa}{"3E} +\DeclareMathSymbol{\gtrless} {\mathrel}{AMSa}{"3F} +\DeclareMathSymbol{\sqsubset} {\mathrel}{AMSa}{"40} +\DeclareMathSymbol{\sqsupset} {\mathrel}{AMSa}{"41} +\DeclareMathSymbol{\vartriangleright}{\mathrel}{AMSa}{"42} +\DeclareMathSymbol{\vartriangleleft} {\mathrel}{AMSa}{"43} +\DeclareMathSymbol{\trianglerighteq} {\mathrel}{AMSa}{"44} +\DeclareMathSymbol{\trianglelefteq} {\mathrel}{AMSa}{"45} +\DeclareMathSymbol{\bigstar} {\mathord}{AMSa}{"46} +\DeclareMathSymbol{\between} {\mathrel}{AMSa}{"47} +\DeclareMathSymbol{\blacktriangledown} {\mathord}{AMSa}{"48} +\DeclareMathSymbol{\blacktriangleright} {\mathrel}{AMSa}{"49} +\DeclareMathSymbol{\blacktriangleleft} {\mathrel}{AMSa}{"4A} +\DeclareMathSymbol{\vartriangle} {\mathrel}{AMSa}{"4D} +\DeclareMathSymbol{\blacktriangle} {\mathord}{AMSa}{"4E} +\DeclareMathSymbol{\triangledown} {\mathord}{AMSa}{"4F} +\DeclareMathSymbol{\eqcirc} {\mathrel}{AMSa}{"50} +\DeclareMathSymbol{\lesseqgtr} {\mathrel}{AMSa}{"51} +\DeclareMathSymbol{\gtreqless} {\mathrel}{AMSa}{"52} +\DeclareMathSymbol{\lesseqqgtr} {\mathrel}{AMSa}{"53} +\DeclareMathSymbol{\gtreqqless} {\mathrel}{AMSa}{"54} +\DeclareMathSymbol{\Rrightarrow} {\mathrel}{AMSa}{"56} +\DeclareMathSymbol{\Lleftarrow} {\mathrel}{AMSa}{"57} +\DeclareMathSymbol{\veebar} {\mathbin}{AMSa}{"59} +\DeclareMathSymbol{\barwedge} {\mathbin}{AMSa}{"5A} +\DeclareMathSymbol{\doublebarwedge} {\mathbin}{AMSa}{"5B} +%\DeclareMathSymbol{\angle} {\mathord}{AMSa}{"5C} +\DeclareMathSymbol{\measuredangle} {\mathord}{AMSa}{"5D} +\DeclareMathSymbol{\sphericalangle} {\mathord}{AMSa}{"5E} +\DeclareMathSymbol{\varpropto} {\mathrel}{AMSa}{"5F} +\DeclareMathSymbol{\smallsmile} {\mathrel}{AMSa}{"60} +\DeclareMathSymbol{\smallfrown} {\mathrel}{AMSa}{"61} +\DeclareMathSymbol{\Subset} {\mathrel}{AMSa}{"62} +\DeclareMathSymbol{\Supset} {\mathrel}{AMSa}{"63} +\DeclareMathSymbol{\Cup} {\mathbin}{AMSa}{"64} +\global\let\doublecup\Cup +\DeclareMathSymbol{\Cap} {\mathbin}{AMSa}{"65} +\global\let\doublecap\Cap +\DeclareMathSymbol{\curlywedge} {\mathbin}{AMSa}{"66} +\DeclareMathSymbol{\curlyvee} {\mathbin}{AMSa}{"67} +\DeclareMathSymbol{\leftthreetimes} {\mathbin}{AMSa}{"68} +\DeclareMathSymbol{\rightthreetimes}{\mathbin}{AMSa}{"69} +\DeclareMathSymbol{\subseteqq} {\mathrel}{AMSa}{"6A} +\DeclareMathSymbol{\supseteqq} {\mathrel}{AMSa}{"6B} +\DeclareMathSymbol{\bumpeq} {\mathrel}{AMSa}{"6C} +\DeclareMathSymbol{\Bumpeq} {\mathrel}{AMSa}{"6D} +\DeclareMathSymbol{\lll} {\mathrel}{AMSa}{"6E} +\global\let\llless\lll +\DeclareMathSymbol{\ggg} {\mathrel}{AMSa}{"6F} +\global\let\gggtr\ggg +\DeclareMathSymbol{\circledS} {\mathord}{AMSa}{"73} +\DeclareMathSymbol{\pitchfork} {\mathrel}{AMSa}{"74} +\DeclareMathSymbol{\dotplus} {\mathbin}{AMSa}{"75} +\DeclareMathSymbol{\backsim} {\mathrel}{AMSa}{"76} +\DeclareMathSymbol{\backsimeq} {\mathrel}{AMSa}{"77} +\DeclareMathSymbol{\complement} {\mathord}{AMSa}{"7B} +\DeclareMathSymbol{\intercal} {\mathbin}{AMSa}{"7C} +\DeclareMathSymbol{\circledcirc} {\mathbin}{AMSa}{"7D} +\DeclareMathSymbol{\circledast} {\mathbin}{AMSa}{"7E} +\DeclareMathSymbol{\circleddash} {\mathbin}{AMSa}{"7F} +% \end{macrocode} +% The following symbols are not available on the CM AMS fonts: +% \begin{macrocode} +\DeclareMathSymbol{\updownarrows}{\mathrel}{AMSa}{"DF} +\DeclareMathSymbol{\downuparrows}{\mathrel}{AMSa}{224} +\DeclareMathSymbol{\updownharpoons}{\mathrel}{AMSa}{225} +\DeclareMathSymbol{\downupharpoons}{\mathrel}{AMSa}{226} +\DeclareMathSymbol{\upupharpoons}{\mathrel}{AMSa}{227} +\DeclareMathSymbol{\downdownharpoons}{\mathrel}{AMSa}{228} +\DeclareMathSymbol{\undercurvearrowleft}{\mathrel}{AMSa}{229} +\DeclareMathSymbol{\undercurvearrowright}{\mathrel}{AMSa}{230} +% \end{macrocode} +% These can be used to build longer dashed arrows as explained above: +% \begin{macrocode} +\DeclareMathSymbol{\midshaft} {\mathord}{AMSa}{"39} +\DeclareMathSymbol{\rarrowhead} {\mathord}{AMSa}{"4B} +\DeclareMathSymbol{\larrowhead} {\mathord}{AMSa}{"4C} +% \end{macrocode} +% The following symbols come normally from the `B' font. +% \begin{macrocode} +\DeclareMathSymbol{\lvertneqq} {\mathrel}{AMSa}{"80} +\DeclareMathSymbol{\gvertneqq} {\mathrel}{AMSa}{"81} +%\DeclareMathSymbol{\nleq} {\mathrel}{AMSa}{"82} +%\DeclareMathSymbol{\ngeq} {\mathrel}{AMSa}{"83} +%\DeclareMathSymbol{\nless} {\mathrel}{AMSa}{"84} +%\DeclareMathSymbol{\ngtr} {\mathrel}{AMSa}{"85} +%\DeclareMathSymbol{\nprec} {\mathrel}{AMSa}{"86} +%\DeclareMathSymbol{\nsucc} {\mathrel}{AMSa}{"87} +\DeclareMathSymbol{\lneqq} {\mathrel}{AMSa}{"88} +\DeclareMathSymbol{\gneqq} {\mathrel}{AMSa}{"89} +\DeclareMathSymbol{\nleqslant} {\mathrel}{AMSa}{"8A} +\DeclareMathSymbol{\ngeqslant} {\mathrel}{AMSa}{"8B} +\DeclareMathSymbol{\lneq} {\mathrel}{AMSa}{"8C} +\DeclareMathSymbol{\gneq} {\mathrel}{AMSa}{"8D} +\DeclareMathSymbol{\npreceq} {\mathrel}{AMSa}{"8E} +\DeclareMathSymbol{\nsucceq} {\mathrel}{AMSa}{"8F} +\DeclareMathSymbol{\precnsim} {\mathrel}{AMSa}{"90} +\DeclareMathSymbol{\succnsim} {\mathrel}{AMSa}{"91} +\DeclareMathSymbol{\lnsim} {\mathrel}{AMSa}{"92} +\DeclareMathSymbol{\gnsim} {\mathrel}{AMSa}{"93} +\DeclareMathSymbol{\nleqq} {\mathrel}{AMSa}{"94} +\DeclareMathSymbol{\ngeqq} {\mathrel}{AMSa}{"95} +\DeclareMathSymbol{\precneqq} {\mathrel}{AMSa}{"96} +\DeclareMathSymbol{\succneqq} {\mathrel}{AMSa}{"97} +\DeclareMathSymbol{\precnapprox} {\mathrel}{AMSa}{"98} +\DeclareMathSymbol{\succnapprox} {\mathrel}{AMSa}{"99} +\DeclareMathSymbol{\lnapprox} {\mathrel}{AMSa}{"9A} +\DeclareMathSymbol{\gnapprox} {\mathrel}{AMSa}{"9B} +\DeclareMathSymbol{\nsim} {\mathrel}{AMSa}{"9C} +%\DeclareMathSymbol{\ncong} {\mathrel}{AMSa}{"9D} +\DeclareMathSymbol{\diagup} {\mathord}{AMSa}{"9E} +\DeclareMathSymbol{\diagdown} {\mathord}{AMSa}{"9F} +\DeclareMathSymbol{\varsubsetneq} {\mathrel}{AMSa}{160} +\DeclareMathSymbol{\varsupsetneq} {\mathrel}{AMSa}{161} +\DeclareMathSymbol{\nsubseteqq} {\mathrel}{AMSa}{162} +\DeclareMathSymbol{\nsupseteqq} {\mathrel}{AMSa}{163} +\DeclareMathSymbol{\subsetneqq} {\mathrel}{AMSa}{164} +\DeclareMathSymbol{\supsetneqq} {\mathrel}{AMSa}{165} +\DeclareMathSymbol{\varsubsetneqq} {\mathrel}{AMSa}{166} +\DeclareMathSymbol{\varsupsetneqq} {\mathrel}{AMSa}{167} +\DeclareMathSymbol{\subsetneq} {\mathrel}{AMSa}{168} +\DeclareMathSymbol{\supsetneq} {\mathrel}{AMSa}{169} +\DeclareMathSymbol{\nsubseteq} {\mathrel}{AMSa}{170} +\DeclareMathSymbol{\nsupseteq} {\mathrel}{AMSa}{171} +\DeclareMathSymbol{\nparallel} {\mathrel}{AMSa}{172} +\DeclareMathSymbol{\nmid} {\mathrel}{AMSa}{173} +\DeclareMathSymbol{\nshortmid} {\mathrel}{AMSa}{174} +\DeclareMathSymbol{\nshortparallel} {\mathrel}{AMSa}{175} +\DeclareMathSymbol{\nvdash} {\mathrel}{AMSa}{176} +\DeclareMathSymbol{\nVdash} {\mathrel}{AMSa}{177} +\DeclareMathSymbol{\nvDash} {\mathrel}{AMSa}{178} +\DeclareMathSymbol{\nVDash} {\mathrel}{AMSa}{179} +\DeclareMathSymbol{\ntrianglerighteq}{\mathrel}{AMSa}{180} +\DeclareMathSymbol{\ntrianglelefteq}{\mathrel}{AMSa}{181} +\DeclareMathSymbol{\ntriangleleft} {\mathrel}{AMSa}{182} +\DeclareMathSymbol{\ntriangleright} {\mathrel}{AMSa}{183} +\DeclareMathSymbol{\nleftarrow} {\mathrel}{AMSa}{184} +\DeclareMathSymbol{\nrightarrow} {\mathrel}{AMSa}{185} +\DeclareMathSymbol{\nLeftarrow} {\mathrel}{AMSa}{186} +\DeclareMathSymbol{\nRightarrow} {\mathrel}{AMSa}{187} +\DeclareMathSymbol{\nLeftrightarrow}{\mathrel}{AMSa}{188} +\DeclareMathSymbol{\nleftrightarrow}{\mathrel}{AMSa}{189} +\DeclareMathSymbol{\divideontimes} {\mathbin}{AMSa}{190} +\DeclareMathSymbol{\varnothing} {\mathord}{AMSa}{191} +\DeclareMathSymbol{\nexists} {\mathord}{AMSa}{192} +\DeclareMathSymbol{\Finv} {\mathord}{AMSa}{193} +\DeclareMathSymbol{\Game} {\mathord}{AMSa}{194} +\DeclareMathSymbol{\mho} {\mathord}{AMSa}{195} +\DeclareMathSymbol{\eth} {\mathord}{AMSa}{196} +\DeclareMathSymbol{\eqsim} {\mathrel}{AMSa}{197} +\DeclareMathSymbol{\beth} {\mathord}{AMSa}{198} +\DeclareMathSymbol{\gimel} {\mathord}{AMSa}{199} +\DeclareMathSymbol{\daleth} {\mathord}{AMSa}{200} +\DeclareMathSymbol{\lessdot} {\mathbin}{AMSa}{201} +\DeclareMathSymbol{\gtrdot} {\mathbin}{AMSa}{202} +\DeclareMathSymbol{\ltimes} {\mathbin}{AMSa}{203} +\DeclareMathSymbol{\rtimes} {\mathbin}{AMSa}{204} +\DeclareMathSymbol{\shortmid} {\mathrel}{AMSa}{205} +\DeclareMathSymbol{\shortparallel} {\mathrel}{AMSa}{206} +\let\smallsetminus=\setdif +\DeclareMathSymbol{\thicksim} {\mathrel}{AMSa}{207} +\DeclareMathSymbol{\thickapprox} {\mathrel}{AMSa}{208} +\DeclareMathSymbol{\approxeq} {\mathrel}{AMSa}{209} +\DeclareMathSymbol{\succapprox} {\mathrel}{AMSa}{210} +\DeclareMathSymbol{\precapprox} {\mathrel}{AMSa}{211} +\DeclareMathSymbol{\curvearrowleft} {\mathrel}{AMSa}{212} +\DeclareMathSymbol{\curvearrowright}{\mathrel}{AMSa}{213} +%\DeclareMathSymbol{\digamma} {\mathord}{AMSa}{"7A} +%\DeclareMathSymbol{\varkappa} {\mathord}{AMSa}{"7B} +\newcommand{\Bbbk}{\mathbb{k}} +%\DeclareMathSymbol{\hslash} {\mathord}{AMSa}{"7D} +%\DeclareMathSymbol{\hbar} {\mathord}{AMSa}{"7E} +\DeclareMathSymbol{\backepsilon} {\mathrel}{AMSa}{214} +\DeclareMathSymbol{\nsqsubset} {\mathrel}{AMSa}{215} +\DeclareMathSymbol{\nsqsupset} {\mathrel}{AMSa}{216} +%\DeclareMathSymbol{\nsqsubseteq} {\mathrel}{AMSa}{217} +%\DeclareMathSymbol{\nsqsupseteq} {\mathrel}{AMSa}{218} +% \end{macrocode} +% To make \Lpack{mtpams} fully compatible with \Lpack{amssymb}, certain symbols +% must be given alternative names (which are known from \LaTeX~2.09 or from +% the \Lpack{latexsym} package, respectively). +% \begin{macrocode} +\let\Box\square +\let\lhd\vartriangleleft +\let\rhd\vartriangleright +\let\unrhd\trianglerighteq +\let\unlhd\trianglelefteq +\let\Join\bowtie +% \end{macrocode} +% \begin{macrocode} +\fi +% \end{macrocode} +% +% +% \subsection{Math font sizes} +% +% \mtpro, unlike most other Type~1 font families, +% has several design sizes. As a result, we can +% make the subscripts and superscripts (almost) as small as +% with standard \TeX. +% \begin{macrocode} +\def\defaultscriptratio{.7} +\def\defaultscriptscriptratio{.55} +\DeclareMathSizes{5}{5}{5}{5} +\DeclareMathSizes{6}{6}{5}{5} +\DeclareMathSizes{7}{7}{5}{5} +\DeclareMathSizes{8}{8}{6}{5} +\DeclareMathSizes{9}{9}{7}{5.5} +\DeclareMathSizes{\@xpt}{\@xpt}{7}{5.5} +\DeclareMathSizes{\@xipt}{\@xipt}{8}{6} +\DeclareMathSizes{\@xiipt}{\@xiipt}{8}{6} +\DeclareMathSizes{\@xivpt}{\@xivpt}{\@xpt}{7} +\DeclareMathSizes{\@xviipt}{\@xviipt}{\@xiipt}{\@xpt} +\DeclareMathSizes{\@xxpt}{\@xxpt}{\@xivpt}{\@xiipt} +\DeclareMathSizes{\@xxvpt}{\@xxvpt}{\@xxpt}{\@xviipt} +% \end{macrocode} +% +% +% \subsection{Encoding-specific text commands} +% +% Some encoding-specific commands default to the OML or OMS encoding. +% As these encodings are not used with +% \mtpro, we need to change the defaults. +% +% These ones used to default to OML: +% \begin{macrocode} +\DeclareTextSymbolDefault{\textless}{LMP1} +\DeclareTextSymbolDefault{\textgreater}{LMP1} +\DeclareTextAccentDefault{\t}{LMP2} +% \end{macrocode} +% After re-declaring the default encoding we must not forget to +% declare the very symbol, otherwise calling the command will +% generate a loop. Or to quote David: +% \begin{quote} +% Hmm, otherwise you waste an hour or two staring at |\tracingall| +% output trying to work out what the heck is happening. +% \end{quote} +% \begin{macrocode} +\DeclareTextSymbol{\textless}{LMP1}{`\<} +\DeclareTextSymbol{\textgreater}{LMP1}{`\>} +\DeclareTextAccent{\t}{LMP2}{65} +% \end{macrocode} +% +% These ones used to default to OMS: +% \begin{macrocode} +\DeclareTextSymbolDefault{\textasteriskcentered}{LMP2} +\DeclareTextSymbolDefault{\textbackslash}{LMP2} +\DeclareTextSymbolDefault{\textbar}{LMP2} +\DeclareTextSymbolDefault{\textbraceleft}{LMP2} +\DeclareTextSymbolDefault{\textbraceright}{LMP2} +\DeclareTextSymbolDefault{\textbullet}{LMP2} +\DeclareTextSymbolDefault{\textperiodcentered}{LMP2} +\DeclareTextAccentDefault{\textcircled}{LMP2} +\DeclareTextSymbol{\textasteriskcentered}{LMP2}{3} +\DeclareTextSymbol{\textbackslash}{LMP2}{110} +\DeclareTextSymbol{\textbar}{LMP2}{106} +\DeclareTextSymbol{\textbraceleft}{LMP2}{102} +\DeclareTextSymbol{\textbraceright}{LMP2}{103} +\DeclareTextSymbol{\textbullet}{LMP2}{15} +\DeclareTextSymbol{\textperiodcentered}{LMP2}{1} +\DeclareTextCommand{\textcircled}{LMP2}[1]{{% + \ooalign{% + \hfil \raise .07ex\hbox {\upshape#1}\hfil \crcr + \char13}}} +% \end{macrocode} +% The remaining symbols need \emph{not} be redefined, +% if the \Lpack{textcomp} package is also loaded. +% \begin{macrocode} +\@ifpackageloaded{textcomp}{}{% + \DeclareTextSymbolDefault{\textdagger}{LMP1} + \DeclareTextSymbolDefault{\textdaggerdbl}{LMP1} + \DeclareTextSymbolDefault{\textsection}{LMP1} + \DeclareTextSymbolDefault{\textparagraph}{LMP1} + \DeclareTextSymbol{\textdagger}{LMP1}{"8E} + \DeclareTextSymbol{\textdaggerdbl}{LMP1}{"8F} + \DeclareTextSymbol{\textsection}{LMP1}{"90} + \DeclareTextSymbol{\textparagraph}{LMP1}{"91}} +% \end{macrocode} +% +% \subsection{Encoding-specific math commands} +% \cmd{\mathsterling} and \cmd{\mathunderscore} come from the `operators' font. +% The default definitions supplied by \LaTeX{} match OT1, +% so the commands must be redefined, if the encoding is LY1 or T1. +% \begin{macrocode} +\def\@tempa{LY1} +\ifx\encodingdefault\@tempa + \DeclareMathSymbol{\mathsterling}{\mathord}{operators}{163} + \let\mathunderscore\@undefined + \DeclareMathSymbol{\mathunderscore}{\mathord}{operators}{95} +\else + \def\@tempa{T1} + \ifx\encodingdefault\@tempa + \DeclareMathSymbol\mathsterling{\mathord}{operators}{191} + \let\mathunderscore\@undefined + \DeclareMathSymbol\mathunderscore{\mathord}{operators}{95} + \fi +\fi +% \end{macrocode} +% +% +% \subsection{Subscript correction} +% +% We provide a definition for |_| as active character. This definition +% in itself is not changing \LaTeX's behavior, as by default |_| has +% category code |8|, i.e., subscript character. Only if we change this |\catcode| +% or if we change the |\mathcode| of |_| \TeX{} is going to look at it. +% +% With \Lpack{mtpro2} the implementation we once had inherited from Y\&Y's +% \Lopt{mathtime} package is given up. +% The new code, which was written by Mike Spivak, has the advantage that +% constructs such as |_\mathrm{...}| and |_\text{...}| can be used just like +% in standard \LaTeX---even though this is not explicitly advertised. +% +% \begin{macrocode} +\begingroup + \catcode`\_=13 + \gdef_{\futurelet\next\s@@b} +\endgroup +% \end{macrocode} +% Once again, the macro |\space@| is used, +% which was defined at the beginning of section~\ref{spacemacro}. +% \begin{macrocode} +\def\s@@b{\ifcat\relax\noexpand\next\expandafter\sb\else + \expandafter\s@@b@\fi} +\def\s@@b@#1{\sb{\futurelet\next\sb@#1}} +\def\sb@{% + \ifx\next\space@\def\next@. {\futurelet\next\sb@}\else + \def\next@.{% + \ifx\next f\mkern-\thr@@ mu\else + \ifx\next j\mkern-\tw@ mu\else + \ifx\next p\mkern-\tw@ mu\else + \ifx\next t\mkern\@ne mu\else + \ifx\next y\mkern-\@ne mu\else + \ifx\next A\mkern-\tw@ mu\else + \ifx\next B\mkern-\@ne mu\else + \ifx\next D\mkern-\@ne mu\else + \ifx\next H\mkern-\@ne mu\else + \ifx\next I\mkern-\@ne mu\else + \ifx\next K\mkern-\@ne mu\else + \ifx\next L\mkern-\@ne mu\else + \ifx\next M\mkern-\@ne mu\else + \ifx\next P\mkern-\@ne mu\else + \ifx\next X\mkern-\tw@ mu\else + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}% + \fi + \next@.} +% \end{macrocode} +% +% Finally we set the |\mathcode| of |_| to `active'. However, as long +% as its |\catcode| is not changed, this |\mathcode| is never looked at; +% in other words: we can now turn the feature on and off by changing the +% |\catcode| to |12|, which is done in the option code. +% \begin{macrocode} +\mathcode`\_=\string"8000 +% \end{macrocode} +% +% +% \subsection{Alternative $z$} +% +% We want |$z$| to use character 0xB4 alternatively, but we want this to happen only in the +% default math alphabet. +% For this purpose we define two macros for the `normal' and the alternative z: +% \begin{macrocode} +\DeclareMathSymbol{\mtp@z}{\mathalpha}{letters}{`z} +\DeclareMathSymbol{\mtp@@z}{\mathalpha}{letters}{"B4} +% \end{macrocode} +% The option \Lopt{zswash} makes |z| active in math mode by changing its |\mathcode| appropriately. +% The below definition of this active character causes z to expand to the alternative +% $z$ in the default math alphabet and to the normal letter |z| otherwise: +% \begin{macrocode} +\begingroup +\lccode`\~=`\z +\lowercase{\gdef ~{\ifnum\the\mathgroup=\m@ne \mtp@@z \else \mtp@z \fi}} +\endgroup +% \end{macrocode} +% +% \begin{macrocode} +%</mtpro> +% \end{macrocode} +% +% +% \section{The font definitions files} +% +% Font definitions for the math `core' fonts are integrated into the package. +% Only the extra math alphabets keep their FD files, so that they can be +% used w/o the package, too. +% +% \subsection{LucidaNewMath-Symbols} +% We can no longer rely on \texttt{omslby.fd} to exist; +% besides, that file would not work any more with the current Lucida distribution, +% because it is using obsolete font names. +% \begin{macrocode} +%<*omslbm> +\DeclareFontFamily{OMS}{lbm}{\skewchar\font48} +\DeclareFontShape{OMS}{lbm}{m}{n}{<->s * [.9]hlcry}{} +\DeclareFontShape{OMS}{lbm}{b}{n}{<->s * [.9]hlcdy}{} +%</omslbm> +% \end{macrocode} +% +% \subsection{\mtplus Script} +% The script alphabet from the \mtplus font set +% may be useful in conjunction with \mtpro, too. +% The \texttt{.fd} file generated here should equal the one +% from FMi's \Lpack{mathtime} bundle. +% \begin{macrocode} +%<*Umtms> +\DeclareFontFamily{U}{mtms}{\skewchar\font42} +\DeclareFontShape{U}{mtms}{m}{n}{<->mtms}{} +\DeclareFontShape{U}{mtms}{b}{n}{<->mtmsb}{} +%</Umtms> +% \end{macrocode} +% +% +% +% \subsection{Times-compatible Math Script and Fraktur fonts} +% These fonts belong to the complete font set; yet the fd files are always generated. +% With \mtpro \textit{II} the new `Curly' font is assigned to the upright (n) shape. +% \begin{macrocode} +%<*umt2ms> +\DeclareFontFamily{U}{mt2ms}{\skewchar\font42}% +\DeclareFontShape{U}{mt2ms}{m}{n}{<-7>mt2mcf<7-9>mt2mcs<9->mt2mct}{}% +\DeclareFontShape{U}{mt2ms}{m}{it}{<-7>mt2msf<7-9>mt2mss<9->mt2mst}{}% +\DeclareFontShape{U}{mt2ms}{b}{it}{<-7>mt2bmsf<7-9>mt2bmss<9->mt2bmst}{}% +%</umt2ms> +% \end{macrocode} +% \begin{macrocode} +%<*umt2mf> +\DeclareFontFamily{U}{mt2mf}{}% +\DeclareFontShape{U}{mt2mf}{m}{n}{<-7>mt2mff<7-9>mt2mfs<9->mt2mft}{}% +\DeclareFontShape{U}{mt2mf}{b}{n}{<-7>mt2bmff<7-9>mt2bmfs<9->mt2bmft}{}% +%</umt2mf> +% \end{macrocode} +% +% +% \subsection{Times-compatible Blackboard and Holey Bold fonts} +% These fonts belong to the complete font set; yet, the fd files are always generated. +% \begin{macrocode} +%<*umt2bb> +\DeclareFontFamily{U}{mt2bb}{\skewchar\font45}% +\DeclareFontShape{U}{mt2bb}{m}{n}{<-7>mt2bbf<7-9>mt2bbs<9->mt2bbt}{}% +\DeclareFontShape{U}{mt2bb}{m}{it}{<-7>mt2bbif<7-9>mt2bbis<9->mt2bbit}{}% +\DeclareFontShape{U}{mt2bb}{b}{n}{<-7>mt2bbdf<7-9>mt2bbds<9->mt2bbdt}{}% +%</umt2bb> +% \end{macrocode} +% \begin{macrocode} +%<*umt2hrb> +\DeclareFontFamily{U}{mt2hrb}{\skewchar\font45}% +\DeclareFontShape{U}{mt2hrb}{m}{n}{<-7>mt2hrbf<7-9>mt2hrbs<9->mt2hrbt}{}% +\DeclareFontShape{U}{mt2hrb}{m}{it}{<-7>mt2hbif<7-9>mt2hbis<9->mt2hbit}{}% +\DeclareFontShape{U}{mt2hrb}{b}{n}{<-7>mt2hrbdf<7-9>mt2hrbds<9->mt2hrbdt}{}% +%</umt2hrb> +% \end{macrocode} +% +% \Finale +% +% \iffalse +% The next line of code prevents DocStrip from adding the +% character table to all modules: +\endinput +% \fi +% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +%% + diff --git a/fonts/mtp2lite/texmf/source/latex/mtpro2/mtpro2.ins b/fonts/mtp2lite/texmf/source/latex/mtpro2/mtpro2.ins new file mode 100644 index 0000000000..ebe6a3c5ab --- /dev/null +++ b/fonts/mtp2lite/texmf/source/latex/mtpro2/mtpro2.ins @@ -0,0 +1,39 @@ +%% mtpro2.ins 2.0 2006/07/30 (WaS) + +\input docstrip + +\ifx\generate\undefined + \Msg{**********************************************} + \Msg{*} + \Msg{* This installation script requires docstrip} + \Msg{* version 2.4 or later.} + \Msg{*} + \Msg{* An older version of docstrip has been found.} + \Msg{*} + \Msg{**********************************************} + \errhelp{Obtain an up-to-date version of LaTeX2e.} + \errmessage{Obsolete docstrip in input path} + \batchmode + \csname @@end\endcsname\end +\fi + +%\usedir{tex/latex/pctex} + +\preamble +\endpreamble +\askforoverwritefalse + +% Create a .sty file with separate .fd files: + +\generate{\file{mtpro2.sty} {\from{mtpro2.dtx}{mtpro}} + \file{omslbm.fd} {\from{mtpro2.dtx}{omslbm}} +% \file{Umtms.fd} {\from{mtpro2.dtx}{Umtms}} +% should already exist, if you have got the MathTime fonts + \file{umt2mf.fd} {\from{mtpro2.dtx}{umt2mf}} + \file{umt2bb.fd} {\from{mtpro2.dtx}{umt2bb}} + \file{umt2hrb.fd} {\from{mtpro2.dtx}{umt2hrb}} + \file{umt2ms.fd} {\from{mtpro2.dtx}{umt2ms}} + } + + +\endbatchfile diff --git a/fonts/mtp2lite/texmf/tex/latex/mtpro2/mtpro2.sty b/fonts/mtp2lite/texmf/tex/latex/mtpro2/mtpro2.sty new file mode 100644 index 0000000000..b801033078 --- /dev/null +++ b/fonts/mtp2lite/texmf/tex/latex/mtpro2/mtpro2.sty @@ -0,0 +1,1657 @@ +%% +%% This is file `mtpro2.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% mtpro2.dtx (with options: `mtpro') +%% +%% Copyright 1996 1997 Frank Mittelbach and David Carlisle. +%% Copyright 2001--2009 Frank Mittelbach, David Carlisle, Walter Schmidt, Mike Spivak +\NeedsTeXFormat{LaTeX2e}[1997/06/01] +\ProvidesPackage{mtpro2} + [2009/4/27 v2.3 + MathTimePro II - added arc accents + MathTimePro II - fixed rbrace problem with straightbraces and morphedbraces options + MathTimePro II - fix bug with z = \backslash widetilde{\backslash sum_{x }}% + MathTimePro II v2 font support (PCTeX/WaS)% + MathTimePro II v2.1a Allowed alternate form of I in Math Script Fonts (MS)% +] +\newif\ifmtp@full +\DeclareOption{complete}{\mtp@fulltrue} +\DeclareOption{lite}{\mtp@fullfalse\mtp@amsfalse} +\def\mtp@opterr{% + \PackageError{mtpro2}% + {Option \CurrentOption\space cannot be used\MessageBreak + together with the option `lite'}% + {Remove the option `lite' or make sure that the complete MT-Pro font set is provided.} +} +\newif\ifmtp@ams +\DeclareOption{noamssymbols}{\mtp@amsfalse} +\DeclareOption{amssymbols}{\ifmtp@full\mtp@amstrue\else\mtp@opterr\fi} +\DeclareOption{uprightGreek}{\let\Gamma=u} +\DeclareOption{slantedGreek}{\let\Gamma=s} +\newif\ifmtp@slops +\DeclareOption{uprightoperators}{\mtp@slopsfalse} +\DeclareOption{slantedoperators}{\mtp@slopstrue} +\newcommand\enablesubscriptcorrection {\catcode`\_=12\relax} +\newcommand\disablesubscriptcorrection{\catcode`\_=8\relax} +\DeclareOption{nosubscriptcorrection}{\disablesubscriptcorrection} +\DeclareOption{subscriptcorrection} {\enablesubscriptcorrection} +\DeclareOption{zswash}{\mathcode `z="8000} +\DeclareOption{nozswash}{\mathcode `z="717A} +\DeclareOption{curlybraces}{\let\mtp@br=c} +\DeclareOption{straightbraces}{\let\mtp@br=s} +\DeclareOption{morphedbraces}{\let\mtp@br=m} +\DeclareOption{cmcal} {\let\mathcal=c} +\DeclareOption{lucidacal}{\let\mathcal=l} +\DeclareOption{eucal} {\let\mathcal=e} +\DeclareOption{mtpluscal}{\let\mathcal=s} +\DeclareOption{mtpcal} {\ifmtp@full\let\mathcal=a\else\mtp@opterr\fi} +\DeclareOption{mtpccal} {\ifmtp@full\let\mathcal=u\else\mtp@opterr\fi} +\DeclareOption{lucidascr}{\let\mathscr=l} +\DeclareOption{mtplusscr}{\let\mathscr=s} +\DeclareOption{mtpscr} {\ifmtp@full\let\mathscr=a\else\mtp@opterr\fi} +\DeclareOption{eufrak} {\let\mathfrak=e} +\DeclareOption{mtpfrak} {\ifmtp@full\let\mathfrak=a\else\mtp@opterr\fi} +\newif\ifmtp@greekalpha\mtp@greekalphatrue +\DeclareOption{compatiblegreek}{\mtp@greekalphafalse} +\DeclareOption{amsbb}{\let\mathbb=y} +\DeclareOption{mtpbb}{\let\mathbb=b} +\DeclareOption{mtpbbd}{\let\mathbb=d} +\DeclareOption{mtphrb}{\let\mathbb=h} +\DeclareOption{mtphrd}{\let\mathbb=k} +\DeclareOption{mtpbbi}{\let\mathbb=i} +\DeclareOption{mtphbi}{\let\mathbb=j} +\DeclareOption{errorshow}{% + \def\@font@info#1{% + \GenericInfo{(Font)\@spaces\@spaces\@spaces\space\space}% + {LaTeX Font Info: \space\space\space#1}}% + \def\@font@warning#1{% + \GenericInfo{(Font)\@spaces\@spaces\@spaces\space\space}% + {LaTeX Font Warning: #1}}} +\DeclareOption{warningshow}{% + \def\@font@info#1{% + \GenericInfo{(Font)\@spaces\@spaces\@spaces\space\space}% + {LaTeX Font Info: \space\space\space#1}}% + \def\@font@warning#1{% + \GenericWarning{(Font)\@spaces\@spaces\@spaces\space\space}% + {LaTeX Font Warning: #1}}} +\DeclareOption{nofontinfo}{% + \let\@font@info\@gobble + \let\@font@warning\@gobble} +\ExecuteOptions{% + complete,amssymbols,uprightGreek,uprightoperators,nosubscriptcorrection,curlybraces,cmcal,errorshow} +\ProcessOptions +\normalfont +\ifmtp@full +\DeclareMathVersion{heavy} +\newcommand\heavymath{\@nomath\heavymath\mathversion{heavy}} +\fi +\DeclareFontEncoding{LMP1}{}{} +\DeclareFontSubstitution{LMP1}{mtt}{m}{it} +\DeclareFontFamily{LMP1}{mtt}{\skewchar\font45} +\DeclareFontShape{LMP1}{mtt}{m}{it}{<-7> mt2mif <7-9> mt2mis <9-> mt2mit}{} +\DeclareFontShape{LMP1}{mtt}{b}{it}{<-7> mt2bmif <7-9> mt2bmis <9-> mt2bmit}{} +\DeclareFontEncoding{LMP2}{}{} +\DeclareFontSubstitution{LMP2}{mtt}{m}{n} +\DeclareFontFamily{LMP2}{mtt}{\skewchar\font48} +\DeclareFontShape{LMP2}{mtt}{m}{n}{<-7> mt2syf <7-9> mt2sys <9-> mt2syt}{\skewchar\font32} +\DeclareFontShape{LMP2}{mtt}{b}{n}{<-7> mt2bsyf <7-9> mt2bsys <9-> mt2bsyt}{\skewchar\font32} +\DeclareFontShape{LMP2}{mtt}{eb}{n}{<-7> mt2hsyf <7-9> mt2hsys <9-> mt2hsyt}{\skewchar\font32} +\DeclareFontEncoding{LMP3}{}{} +\DeclareFontSubstitution{LMP3}{mtt}{m}{n} +\DeclareFontFamily{LMP3}{mtt}{} +\DeclareFontShape{LMP3}{mtt}{m}{n}{<->mt2exa}{} +\DeclareFontShape{LMP3}{mtt}{b}{n}{<->mt2bexa}{} +\DeclareFontShape{LMP3}{mtt}{eb}{n}{<->mt2hexa}{} +\DeclareFontFamily{U}{mtt}{\skewchar\font32} +\DeclareFontShape{U}{mtt}{b}{n}{<-7> mt2mbf <7-9> mt2mbs <9-> mt2mbt}{}% (MJ) +\DeclareSymbolFont{operators} {\encodingdefault}{\rmdefault}{m}{n} +\DeclareSymbolFont{letters} {LMP1}{mtt}{m}{it} +\DeclareSymbolFont{symbols} {LMP2}{mtt}{m}{n} +\DeclareSymbolFont{largesymbols}{LMP3}{mtt}{m}{n} +\ifmtp@full +\SetSymbolFont{operators} {bold}{\encodingdefault}{\rmdefault}{b}{n} +\SetSymbolFont{letters} {bold}{LMP1}{mtt}{b}{it} +\SetSymbolFont{symbols} {bold}{LMP2}{mtt}{b}{n} +\SetSymbolFont{largesymbols}{bold}{LMP3}{mtt}{b}{n} +\SetSymbolFont{symbols} {heavy}{LMP2}{mtt}{eb}{n} +\SetSymbolFont{largesymbols}{heavy}{LMP3}{mtt}{eb}{n} +\DeclareFontFamily{U}{mt2sya}{}% +\DeclareFontShape{U}{mt2sya}{m}{n}{<-7>mt2syaf<7-9>mt2syas<9->mt2syat}{}% +\DeclareFontShape{U}{mt2sya}{b}{n}{<-7>mt2bsyaf<7-9>mt2bsyas<9->mt2bsyat}{}% +\DeclareFontShape{U}{mt2sya}{eb}{n}{<-7>mt2hsyaf<7-9>mt2hsyas<9->mt2hsyat}{}% +\fi +\normalsize +\dimen@\f@size pt +\edef\tMTPsize{\f@size pt} +\font\MTEXA@=mt2exa at \the\dimen@ +\font\MTXL@=mt2xl at \the\dimen@ +\multiply\dimen@\tw@ +\font\MTEXE@=mt2exe at \the\dimen@ +\font\MTXXXL@=mt2xxxl at \the\dimen@ +\multiply\dimen@\tw@ +\font\MTEXF@=mt2exf at \the\dimen@ +\multiply\dimen@\tw@ +\font\MTEXG@=mt2exg at \the\dimen@ +\alloc@0\count\countdef\insc@unt\pointcount@ +\def\getpoints@#1.#2\getpoints@{\pointcount@#1\relax} +\DeclareMathAlphabet{\mathbf}{\encodingdefault}{\rmdefault}{b}{n} +\DeclareMathAlphabet{\mathit}{\encodingdefault}{\rmdefault}{m}{it} +\DeclareMathAlphabet{\mathsf}{\encodingdefault}{\sfdefault}{m}{n} +\DeclareMathAlphabet{\mathtt}{\encodingdefault}{\ttdefault}{m}{n} +\SetMathAlphabet{\mathit}{bold}{\encodingdefault}{\rmdefault}{b}{it} +\SetMathAlphabet{\mathsf}{bold}{\encodingdefault}{\sfdefault}{b}{n} +\SetMathAlphabet{\mathtt}{bold}{\encodingdefault}{\ttdefault}{b}{n} +\DeclareMathAlphabet{\mbf}{U}{mtt}{b}{n} +\DeclareMathAlphabet{\mathbold}{LMP1}{mtt}{b}{it} +\ifx\mathscr s + \let\mathscr\relax + \DeclareMathAlphabet{\mathscr} {U}{mtms}{m}{n} + \SetMathAlphabet {\mathscr} {bold}{U}{mtms}{b}{n} + \DeclareMathAlphabet{\mathbscr} {U}{mtms}{b}{n} +\fi +\ifx\mathscr l + \let\mathscr\relax + \DeclareMathAlphabet{\mathscr} {OMS}{lbm}{m}{n} + \SetMathAlphabet{\mathscr}{bold}{OMS}{lbm}{b}{n} + \DeclareMathAlphabet{\mathbscr} {OMS}{lbm}{b}{n} +\fi +\ifx\mathscr a + \let\mathscr\relax + \DeclareRobustCommand*{\mathscr}[1]{{\MTPsetupScript\MTPScript{#1}}} + \DeclareRobustCommand*{\mathbscr}[1]{{\MTPsetupScript\MTPbScript{#1}}} +\fi +\ifx\mathcal l + \let\mathcal\relax + \DeclareMathAlphabet{\mathcal} {OMS}{lbm}{m}{n} + \SetMathAlphabet{\mathcal}{bold}{OMS}{lbm}{b}{n} + \DeclareMathAlphabet{\mathbcal} {OMS}{lbm}{b}{n} +\fi +\ifx\mathcal s + \let\mathcal\relax + \DeclareMathAlphabet{\mathcal} {U}{mtms}{m}{n} + \SetMathAlphabet{\mathcal}{bold}{U}{mtms}{b}{n} + \DeclareMathAlphabet{\mathbcal} {U}{mtms}{b}{n} +\fi +\ifx\mathcal e + \let\mathcal\relax + \DeclareFontFamily{U}{eus}{\skewchar\font'60} + \DeclareFontShape{U}{eus}{m}{n}{<-7>eusm5<7-9>eusm7<9->eusm10}{} + \DeclareFontShape{U}{eus}{b}{n}{<-7>eusb5<7-9>eusb7<9->eusb10}{} + \DeclareMathAlphabet{\mathcal} {U}{eus}{m}{n} + \SetMathAlphabet{\mathcal}{bold}{U}{eus}{b}{n} + \DeclareMathAlphabet{\mathbcal} {U}{eus}{b}{n} +\fi +\ifx\mathcal c + \let\mathcal\relax + \DeclareMathAlphabet{\mathcal} {OMS}{cmsy}{m}{n} + \SetMathAlphabet{\mathcal}{bold}{OMS}{cmsy}{b}{n} + \DeclareMathAlphabet{\mathbcal} {OMS}{cmsy}{b}{n} +\fi +\ifx\mathcal a + \let\mathcal\relax + \DeclareRobustCommand*{\mathcal}[1]{{\MTPsetupScript\MTPScript{#1}}} + \DeclareRobustCommand*{\mathbcal}[1]{{\MTPsetupScript\MTPbScript{#1}}} +\fi +\ifx\mathcal u + \let\mathcal\relax + \DeclareRobustCommand*{\mathcal}[1]{{\MTPsetupCurly\MTPCurly{#1}}} + \def\mathbcal{\PackageError{mtpro2} + {There is no bold variant of the Curly font} + {Type <return> to proceed; \protect\mathbcal\space will be ignored.} + } +\fi +\ifx\mathfrak e + \let\mathfrak\relax + \DeclareFontFamily{U}{euf}{}% + \DeclareFontShape{U}{euf}{m}{n}{<-7>eufm5<7-9>eufm7<9->eufm10}{}% + \DeclareFontShape{U}{euf}{b}{n}{<-7>eufb5<7-9>eufb7<9->eufb10}{}% + \DeclareMathAlphabet{\mathfrak}{U}{euf}{m}{n} + \SetMathAlphabet{\mathfrak}{bold}{U}{euf}{b}{n} +\fi +\ifx\mathfrak a + \DeclareRobustCommand*{\mathfrak}[1]{{\MTPsetupFrak\MTPFrak{#1}}} +\fi +\ifmtp@full +\DeclareMathSymbol{\imath}{\mathalpha}{letters}{"7B} +\DeclareMathSymbol{\jmath}{\mathalpha}{letters}{"7C} +\newcommand{\altC}{% + \PackageWarning{mtpro2}{Invalid use of \protect\altC}C} +\newcommand{\altG}{% + \PackageWarning{mtpro2}{Invalid use of \protect\altG}G} +\newcommand{\altI}{% + \PackageWarning{mtpro2}{Invalid use of \protect\altI}I} +\newcommand{\altL}{% + \PackageWarning{mtpro2}{Invalid use of \protect\altL}L} +\newcommand{\altM}{% + \PackageWarning{mtpro2}{Invalid use of \protect\altM}M} +\newcommand{\altN}{% + \PackageWarning{mtpro2}{Invalid use of \protect\altN}N} +\newcommand{\altQ}{% + \PackageWarning{mtpro2}{Invalid use of \protect\altQ}Q} +\newcommand{\altS}{% + \PackageWarning{mtpro2}{Invalid use of \protect\altS}S} +\newcommand{\altY}{% + \PackageWarning{mtpro2}{Invalid use of \protect\altY}Y} +\newcommand{\altZ}{% + \PackageWarning{mtpro2}{Invalid use of \protect\altZ}Z} +\newcommand{\altr}{% + \PackageWarning{mtpro2}{Invalid use of \protect\altr}r} +\newcommand{\altx}{% + \PackageWarning{mtpro2}{Invalid use of \protect\altx}x} +\newcommand{\alty}{% + \PackageWarning{mtpro2}{Invalid use of \protect\alty}y} +\newcommand{\altz}{% + \PackageWarning{mtpro2}{Invalid use of \protect\altz}z} +\newcommand{\MTPsetupScript}{% + \let\altC=\MTP@C + \let\altG=\MTP@G + \let\altI=\MTP@I + \let\altL=\MTP@L + \let\altQ=\MTP@Q + \let\altS=\MTP@S + \let\altY=\MTP@Y + \let\altZ=\MTP@Z + \let\altr=\MTP@r + \let\altz=\MTP@z} +\newcommand{\MTPsetupFrak}{% + \let\altY=\MTP@Y + \let\altx=\MTP@x + \let\alty=\MTP@y} +\newcommand{\MTPsetupCurly}{% + \let\altG=\MTP@G + \let\altM=\MTP@M + \let\altN=\MTP@N + \let\altQ=\MTP@Q + \let\altY=\MTP@Y} +\DeclareMathSymbol{\MTP@C}{\mathalpha}{letters}{'003} +\DeclareMathSymbol{\MTP@G}{\mathalpha}{letters}{'007} +\DeclareMathSymbol{\MTP@I}{\mathalpha}{letters}{'011} +\DeclareMathSymbol{\MTP@L}{\mathalpha}{letters}{'014} +\DeclareMathSymbol{\MTP@M}{\mathalpha}{letters}{'015} +\DeclareMathSymbol{\MTP@N}{\mathalpha}{letters}{'016} +\DeclareMathSymbol{\MTP@Q}{\mathalpha}{letters}{'021} +\DeclareMathSymbol{\MTP@S}{\mathalpha}{letters}{'023} +\DeclareMathSymbol{\MTP@Y}{\mathalpha}{letters}{'031} +\DeclareMathSymbol{\MTP@Z}{\mathalpha}{letters}{'032} +\DeclareMathSymbol{\MTP@r}{\mathalpha}{letters}{'062} +\DeclareMathSymbol{\MTP@x}{\mathalpha}{letters}{'070} +\DeclareMathSymbol{\MTP@y}{\mathalpha}{letters}{'071} +\DeclareMathSymbol{\MTP@z}{\mathalpha}{letters}{'072} +\DeclareMathAlphabet{\MTPScript} {U}{mt2ms}{m}{it} +\SetMathAlphabet{\MTPScript}{bold}{U}{mt2ms}{b}{it} +\DeclareMathAlphabet{\MTPbScript} {U}{mt2ms}{b}{it} +\DeclareMathAlphabet{\MTPCurly}{U}{mt2ms}{m}{n} +\DeclareMathAlphabet{\MTPFrak} {U}{mt2mf}{m}{n} +\SetMathAlphabet{\MTPFrak}{bold}{U}{mt2mf}{b}{n} +\fi +\ifx\mathbb i + \let\mathbb\relax + \DeclareMathAlphabet{\mathbb} {U}{mt2bb}{m}{it} +\fi +\ifx\mathbb j + \let\mathbb\relax + \DeclareMathAlphabet{\mathbb} {U}{mt2hrb}{m}{it} +\fi +\ifx\mathbb b + \let\mathbb\relax + \DeclareMathAlphabet{\mathbb} {U}{mt2bb}{m}{n} + \SetMathAlphabet{\mathbb}{bold}{U}{mt2bb}{b}{n} +\fi +\ifx\mathbb d + \let\mathbb\relax + \DeclareMathAlphabet{\mathbb} {U}{mt2bb}{b}{n} +\fi +\ifx\mathbb h + \let\mathbb\relax + \DeclareMathAlphabet{\mathbb} {U}{mt2hrb}{m}{n} + \SetMathAlphabet{\mathbb}{bold}{U}{mt2hrb}{b}{n} +\fi +\ifx\mathbb k + \let\mathbb\relax + \DeclareMathAlphabet{\mathbb} {U}{mt2hrb}{b}{n} +\fi +\ifx\mathbb y + \let\mathbb\relax + \DeclareFontFamily{U}{msb}{}% + \DeclareFontShape{U}{msb}{m}{n}{<-7>msbm5<7-9>msbm7<9->msbm10}{}% + \DeclareMathAlphabet{\mathbb}{U}{msb}{m}{n} +\fi +\DeclareMathSymbol{0}{\mathalpha}{letters}{"30} +\DeclareMathSymbol{1}{\mathalpha}{letters}{"31} +\DeclareMathSymbol{2}{\mathalpha}{letters}{"32} +\DeclareMathSymbol{3}{\mathalpha}{letters}{"33} +\DeclareMathSymbol{4}{\mathalpha}{letters}{"34} +\DeclareMathSymbol{5}{\mathalpha}{letters}{"35} +\DeclareMathSymbol{6}{\mathalpha}{letters}{"36} +\DeclareMathSymbol{7}{\mathalpha}{letters}{"37} +\DeclareMathSymbol{8}{\mathalpha}{letters}{"38} +\DeclareMathSymbol{9}{\mathalpha}{letters}{"39} +\DeclareMathSymbol{!}{\mathclose}{letters}{"8A} +\DeclareMathSymbol{+}{\mathbin}{symbols}{67} +\DeclareMathSymbol{:}{\mathrel}{symbols}{"57} +\DeclareMathSymbol{;}{\mathpunct}{symbols}{"49} +\DeclareMathSymbol{?}{\mathclose}{letters}{"8B} +\DeclareMathSymbol{=}{\mathrel}{symbols}{"44} +\DeclareMathDelimiter{(}{\mathopen}{letters}{46}{largesymbols}{0} +\DeclareMathDelimiter{)}{\mathclose}{letters}{47}{largesymbols}{1} +\DeclareMathDelimiter{[}{\mathopen} {letters}{140}{largesymbols}{"02} +\DeclareMathDelimiter{]}{\mathclose}{letters}{141}{largesymbols}{"03} +\DeclareMathDelimiter{/}{\mathord}{letters}{"3D}{largesymbols}{"0E} +\ifmtp@greekalpha + \DeclareMathSymbol{\alpha}{\mathalpha}{letters}{"0B} + \DeclareMathSymbol{\beta}{\mathalpha}{letters}{"0C} + \DeclareMathSymbol{\gamma}{\mathalpha}{letters}{"0D} + \DeclareMathSymbol{\delta}{\mathalpha}{letters}{"0E} + \DeclareMathSymbol{\epsilon}{\mathalpha}{letters}{"0F} + \DeclareMathSymbol{\zeta}{\mathalpha}{letters}{"10} + \DeclareMathSymbol{\eta}{\mathalpha}{letters}{"11} + \DeclareMathSymbol{\theta}{\mathalpha}{letters}{"12} + \DeclareMathSymbol{\iota}{\mathalpha}{letters}{"13} + \DeclareMathSymbol{\kappa}{\mathalpha}{letters}{"14} + \DeclareMathSymbol{\lambda}{\mathalpha}{letters}{"15} + \DeclareMathSymbol{\mu}{\mathalpha}{letters}{"16} + \DeclareMathSymbol{\nu}{\mathalpha}{letters}{"17} + \DeclareMathSymbol{\xi}{\mathalpha}{letters}{"18} + \DeclareMathSymbol{\pi}{\mathalpha}{letters}{"19} + \DeclareMathSymbol{\rho}{\mathalpha}{letters}{"1A} + \DeclareMathSymbol{\sigma}{\mathalpha}{letters}{"1B} + \DeclareMathSymbol{\tau}{\mathalpha}{letters}{"1C} + \DeclareMathSymbol{\upsilon}{\mathalpha}{letters}{"1D} + \DeclareMathSymbol{\phi}{\mathalpha}{letters}{"1E} + \DeclareMathSymbol{\chi}{\mathalpha}{letters}{"1F} + \DeclareMathSymbol{\psi}{\mathalpha}{letters}{"20} + \DeclareMathSymbol{\omega}{\mathalpha}{letters}{"21} + \DeclareMathSymbol{\varepsilon}{\mathalpha}{letters}{"22} + \DeclareMathSymbol{\vartheta}{\mathalpha}{letters}{"23} + \DeclareMathSymbol{\varpi}{\mathalpha}{letters}{"24} + \DeclareMathSymbol{\varrho}{\mathalpha}{letters}{"25} + \DeclareMathSymbol{\varsigma}{\mathalpha}{letters}{"26} + \DeclareMathSymbol{\varphi}{\mathalpha}{letters}{"27} + \DeclareMathSymbol{\varkappa}{\mathalpha}{letters}{126}% new + \DeclareMathSymbol{\varbeta}{\mathalpha}{letters}{176} % new + \DeclareMathSymbol{\vardelta}{\mathalpha}{letters}{178}% new +\else + \DeclareMathSymbol{\varkappa}{\mathord}{letters}{126}% new + \DeclareMathSymbol{\varbeta}{\mathord}{letters}{176} % new + \DeclareMathSymbol{\vardelta}{\mathord}{letters}{178}% new +\fi +\ifx\Gamma s + \let\Gamma\@undefined + \DeclareMathSymbol{\Gamma}{\mathalpha}{letters}{"00} + \DeclareMathSymbol{\Delta}{\mathalpha}{letters}{"01} + \DeclareMathSymbol{\Theta}{\mathalpha}{letters}{"02} + \DeclareMathSymbol{\Lambda}{\mathalpha}{letters}{"03} + \DeclareMathSymbol{\Xi}{\mathalpha}{letters}{"04} + \DeclareMathSymbol{\Pi}{\mathalpha}{letters}{"05} + \DeclareMathSymbol{\Sigma}{\mathalpha}{letters}{"06} + \DeclareMathSymbol{\Upsilon}{\mathalpha}{letters}{"07} + \DeclareMathSymbol{\Phi}{\mathalpha}{letters}{"08} + \DeclareMathSymbol{\Psi}{\mathalpha}{letters}{"09} + \DeclareMathSymbol{\Omega}{\mathalpha}{letters}{"0A} +\else + \let\Gamma\@undefined + \DeclareMathSymbol{\Gamma}{\mathalpha}{letters}{"80} + \DeclareMathSymbol{\Delta}{\mathalpha}{letters}{"81} + \DeclareMathSymbol{\Theta}{\mathalpha}{letters}{"82} + \DeclareMathSymbol{\Lambda}{\mathalpha}{letters}{"83} + \DeclareMathSymbol{\Xi}{\mathalpha}{letters}{"84} + \DeclareMathSymbol{\Pi}{\mathalpha}{letters}{"85} + \DeclareMathSymbol{\Sigma}{\mathalpha}{letters}{"86} + \DeclareMathSymbol{\Upsilon}{\mathalpha}{letters}{"87} + \DeclareMathSymbol{\Phi}{\mathalpha}{letters}{"88} + \DeclareMathSymbol{\Psi}{\mathalpha}{letters}{"89} + \DeclareMathSymbol{\Omega}{\mathalpha}{letters}{"7F} +\fi + \DeclareMathSymbol{\upGamma}{\mathord}{letters}{"80} + \DeclareMathSymbol{\upDelta}{\mathord}{letters}{"81} + \DeclareMathSymbol{\upTheta}{\mathord}{letters}{"82} + \DeclareMathSymbol{\upLambda}{\mathord}{letters}{"83} + \DeclareMathSymbol{\upXi}{\mathord}{letters}{"84} + \DeclareMathSymbol{\upPi}{\mathord}{letters}{"85} + \DeclareMathSymbol{\upSigma}{\mathord}{letters}{"86} + \DeclareMathSymbol{\upUpsilon}{\mathord}{letters}{"87} + \DeclareMathSymbol{\upPhi}{\mathord}{letters}{"88} + \DeclareMathSymbol{\upPsi}{\mathord}{letters}{"89} + \DeclareMathSymbol{\upOmega}{\mathord}{letters}{"7F} + \DeclareMathSymbol{\upalpha}{\mathord}{letters}{"92} + \DeclareMathSymbol{\upbeta}{\mathord}{letters}{"93} + \DeclareMathSymbol{\upgamma}{\mathord}{letters}{"94} + \DeclareMathSymbol{\updelta}{\mathord}{letters}{"95} + \DeclareMathSymbol{\upepsilon}{\mathord}{letters}{"96} + \DeclareMathSymbol{\upzeta}{\mathord}{letters}{"97} + \DeclareMathSymbol{\upeta}{\mathord}{letters}{"98} + \DeclareMathSymbol{\uptheta}{\mathord}{letters}{"99} + \DeclareMathSymbol{\upiota}{\mathord}{letters}{"9A} + \DeclareMathSymbol{\upkappa}{\mathord}{letters}{"9B} + \DeclareMathSymbol{\uplambda}{\mathord}{letters}{"9C} + \DeclareMathSymbol{\upmu}{\mathord}{letters}{"9D} + \DeclareMathSymbol{\upnu}{\mathord}{letters}{"9E} + \DeclareMathSymbol{\upxi}{\mathord}{letters}{"9F} + \DeclareMathSymbol{\uppi}{\mathord}{letters}{160} + \DeclareMathSymbol{\uprho}{\mathord}{letters}{161} + \DeclareMathSymbol{\upsigma}{\mathord}{letters}{162} + \DeclareMathSymbol{\uptau}{\mathord}{letters}{163} + \DeclareMathSymbol{\upupsilon}{\mathord}{letters}{164} + \DeclareMathSymbol{\upphi}{\mathord}{letters}{165} + \DeclareMathSymbol{\upchi}{\mathord}{letters}{166} + \DeclareMathSymbol{\uppsi}{\mathord}{letters}{167} + \DeclareMathSymbol{\upomega}{\mathord}{letters}{168} + \DeclareMathSymbol{\upvarepsilon}{\mathord}{letters}{169} + \DeclareMathSymbol{\upvartheta}{\mathord}{letters}{170} + \DeclareMathSymbol{\upvarpi}{\mathord}{letters}{171} + \DeclareMathSymbol{\upvarrho}{\mathord}{letters}{172} + \DeclareMathSymbol{\upvarsigma}{\mathord}{letters}{173} + \DeclareMathSymbol{\upvarphi}{\mathord}{letters}{174} + \DeclareMathSymbol{\upvarkappa}{\mathord}{letters}{175} + \DeclareMathSymbol{\upvarbeta}{\mathord}{letters}{177} + \DeclareMathSymbol{\upvardelta}{\mathord}{letters}{179} +\DeclareMathSymbol{\triangleleft}{\mathbin}{symbols}{"47} +\DeclareMathSymbol{\triangleright}{\mathbin}{symbols}{"46} +\DeclareMathSymbol{\ddagger}{\mathbin}{letters}{"8F} +\DeclareMathSymbol{\dagger}{\mathbin}{letters}{"8E} +\let\Relbar\@undefined +\DeclareMathSymbol{\Relbar}{\mathrel}{symbols}{"48} +\DeclareMathSymbol{\ldotp}{\mathpunct}{letters}{"3A} +\let\colon\@undefined % for amsmath! +\DeclareMathSymbol{\colon}{\mathpunct}{symbols}{"57} +\@ifpackageloaded{mathdots}{}{% + \newcommand\hb@xmdot{\hbox{$\m@th.$}} + \def\vdots{\vbox{\baselineskip4\p@ \lineskiplimit\z@ + \kern6\p@\hb@xmdot\hb@xmdot\hb@xmdot}} + \def\ddots{\mathinner{\mkern1mu\raise7\p@\vbox{\kern7\p@ + \hb@xmdot}\mkern2mu + \raise4\p@\hb@xmdot\mkern2mu\raise\p@\hb@xmdot\mkern1mu}} +} +\DeclareMathAccent{\vec}{\mathord}{symbols}{69} +\DeclareMathAccent{\grave}{\mathord}{symbols}{74} +\DeclareMathAccent{\acute}{\mathord}{symbols}{75} +\DeclareMathAccent{\check}{\mathord}{symbols}{76} +\DeclareMathAccent{\breve}{\mathord}{symbols}{77} +\DeclareMathAccent{\bar}{\mathord}{symbols}{78} +\DeclareMathAccent{\hat}{\mathord}{symbols}{79} +\DeclareMathAccent{\dot}{\mathord}{symbols}{80} +\DeclareMathAccent{\tilde}{\mathord}{symbols}{81} +\DeclareMathAccent{\ddot}{\mathord}{symbols}{82} +\DeclareMathAccent{\mathring}{\mathord}{symbols}{86} +\DeclareMathSymbol{\braceld}{\mathord}{largesymbols}{"82} +\DeclareMathSymbol{\bracerd}{\mathord}{largesymbols}{"83} +\DeclareMathSymbol{\bracelu}{\mathord}{largesymbols}{"84} +\DeclareMathSymbol{\braceru}{\mathord}{largesymbols}{"85} +\DeclareMathSymbol{\mathparagraph}{\mathord}{letters}{"91} +\DeclareMathSymbol{\mathsection}{\mathord}{letters}{"90} +\def\curlybraces{\def\lbrace{\delimiter"4266308 }\let\{=\lbrace + \def\rbrace{\delimiter"5267309 }\let\}=\rbrace} +\def\straightbraces{\def\lbrace{\delimiter"42B93AE }\let\{=\lbrace + \def\rbrace{\delimiter"52BA3AF }\let\}=\rbrace} +\def\morphedbraces{\def\lbrace{\delimiter"42663B6 }\let\{=\lbrace + \def\rbrace{\delimiter"52673B7 }\let\}=\rbrace} +\let\lcbrace=\lbrace\let\rcbrace=\rbrace +\ifx\mtp@br c \curlybraces \fi +\ifx\mtp@br s \straightbraces \fi +\ifx\mtp@br m \morphedbraces \fi +\DeclareMathSymbol{\slsumop}{\mathop}{largesymbols}{160} +\DeclareMathSymbol{\slprodop}{\mathop}{largesymbols}{162} +\DeclareMathSymbol{\slcoprodop}{\mathop}{largesymbols}{164} +\DeclareMathSymbol{\upsumop}{\mathop}{largesymbols}{"50} +\DeclareMathSymbol{\upprodop}{\mathop}{largesymbols}{"51} +\DeclareMathSymbol{\upcoprodop}{\mathop}{largesymbols}{"60} +\let\slsum\empty +\let\slprod\empty +\let\slcoprod\empty +\let\upsum\empty +\let\upprod\empty +\let\upcoprod\empty +\DeclareMathSymbol{\openclubsuit}{\mathord}{symbols}{"80} +\DeclareMathSymbol{\shadedclubsuit}{\mathord}{symbols}{"81} +\DeclareMathSymbol{\openspadesuit}{\mathord}{symbols}{"82} +\DeclareMathSymbol{\shadedspadesuit}{\mathord}{symbols}{"83} +\DeclareMathSymbol{\hslash}{\mathord}{symbols}{175} +\DeclareMathSymbol{\digamma}{\mathord}{symbols}{177} +\DeclareMathSymbol{\dbar}{\mathord}{letters}{181} +\DeclareMathSymbol{\updbar}{\mathord}{letters}{182} +\DeclareMathSymbol{\comp}{\mathbin}{symbols}{66} +\DeclareMathSymbol{\setdif}{\mathbin}{symbols}{88} +\DeclareMathSymbol{\cupprod}{\mathbin}{symbols}{89} +\DeclareMathSymbol{\capprod}{\mathbin}{symbols}{90} +\DeclareMathSymbol{\simarrow}{\mathrel}{symbols}{176} +\DeclareMathSymbol{\varland}{\mathbin}{symbols}{178} +\DeclareMathSymbol{\contraction}{\mathbin}{symbols}{179} +\DeclareMathSymbol{\coloneq}{\mathrel}{symbols}{180} +\DeclareMathSymbol{\eqcolon}{\mathrel}{symbols}{181} +\DeclareMathSymbol{\hateq}{\mathrel}{symbols}{182} +\DeclareMathSymbol{\circdashbullet}{\mathrel}{symbols}{183} +\DeclareMathSymbol{\bulletdashcirc}{\mathrel}{symbols}{184} +\DeclareMathSymbol{\bigcupprod}{\mathop}{largesymbols}{"8E} +\DeclareMathSymbol{\bigcapprod}{\mathop}{largesymbols}{"90} +\DeclareMathSymbol{\bigvarland}{\mathop}{largesymbols}{166} +\DeclareMathSymbol{\bigast}{\mathop}{largesymbols}{168} +\DeclareMathAccent{\dotup}{\mathord}{symbols}{"54} +\DeclareMathAccent{\ddotup}{\mathord}{symbols}{"55} +\DeclareMathAccent{\dddotup}{\mathord}{symbols}{173} +\DeclareMathAccent{\ddddotup}{\mathord}{symbols}{174} +\let\oacc\mathring +\DeclareMathAccent{\what} {\mathord}{symbols}{"79} +\DeclareMathAccent{\wtilde}{\mathord}{symbols}{"7A} +\DeclareMathAccent{\wcheck}{\mathord}{symbols}{"7B} +\DeclareMathAccent{\wbar} {\mathord}{symbols}{"78} +\DeclareMathAccent{\wwhat} {\mathord}{largesymbols}{"80} +\DeclareMathAccent{\wwtilde}{\mathord}{largesymbols}{"81} +\DeclareMathAccent{\wwcheck}{\mathord}{largesymbols}{"7D} +\DeclareMathAccent{\wwbar} {\mathord}{symbols} {"53} +\DeclareMathSymbol{\hbar} {\mathord}{symbols}{"84} +\let\notin\@undefined +\DeclareMathSymbol{\notin} {\mathrel}{symbols}{"85} +\let\angle\@undefined +\DeclareMathSymbol{\angle} {\mathord}{symbols}{"86} +\let\models\@undefined +\DeclareMathSymbol{\models}{\mathrel}{symbols}{"88} +\let\bowtie\@undefined +\DeclareMathSymbol{\bowtie}{\mathrel}{symbols}{"89} +\let\cong\@undefined +\DeclareMathSymbol{\cong} {\mathrel}{symbols}{"8A} +\let\Longleftrightarrow\@undefined +\DeclareMathSymbol{\Longleftrightarrow} {\mathrel}{symbols}{"94} +\let\rightleftharpoons\@undefined +\DeclareMathSymbol{\rightleftharpoons} {\mathrel}{symbols}{"95} +\DeclareMathSymbol{\notless} {\mathrel}{symbols}{"96} +\DeclareMathSymbol{\notleq} {\mathrel}{symbols}{"97} +\DeclareMathSymbol{\notprec} {\mathrel}{symbols}{"98} +\DeclareMathSymbol{\notpreceq} {\mathrel}{symbols}{"99} +\DeclareMathSymbol{\notsubset} {\mathrel}{symbols}{"9A} +\DeclareMathSymbol{\notsubseteq} {\mathrel}{symbols}{"9B} +\DeclareMathSymbol{\notsqsubseteq} {\mathrel}{symbols}{"9C} +\DeclareMathSymbol{\notgr} {\mathrel}{symbols}{"9D} +\DeclareMathSymbol{\notgeq} {\mathrel}{symbols}{"9E} +\DeclareMathSymbol{\notsucc} {\mathrel}{symbols}{"9F} +\DeclareMathSymbol{\notsucceq} {\mathrel}{symbols}{160} +\DeclareMathSymbol{\notsupset} {\mathrel}{symbols}{161} +\DeclareMathSymbol{\notsupseteq} {\mathrel}{symbols}{162} +\DeclareMathSymbol{\notsqsupseteq} {\mathrel}{symbols}{163} +\let\neq\@undefined +\DeclareMathSymbol{\neq} {\mathrel}{symbols}{164} +\let\ne=\neq +\DeclareMathSymbol{\notequiv} {\mathrel}{symbols}{165} +\DeclareMathSymbol{\notsim} {\mathrel}{symbols}{166} +\DeclareMathSymbol{\notsimeq} {\mathrel}{symbols}{167} +\DeclareMathSymbol{\notapprox} {\mathrel}{symbols}{168} +\DeclareMathSymbol{\notcong} {\mathrel}{symbols}{169} +\DeclareMathSymbol{\notasymp} {\mathrel}{symbols}{170} +\let\nless=\notless +\let\nleq=\notleq +\let\nprec=\notprec +\let\npreceq=\notpreceq +\let\nsubset=\notsubset +\let\nsubseteq=\notsubseteq +\let\nsqsubseteq=\notsqsubseteq +\let\ngtr=\notgr +\let\ngeq=\notgeq +\let\nsucc=\notsucc +\let\nsucceq=\notsucceq +\let\nsupset=\notsupset +\let\nsupseteq=\notsupseteq +\let\nsqsupseteq=\notsqsupseteq +\let\ncong=\notcong +\let\nasymp=\notasymp +\let\nequiv=\notequiv +\let\nsimeq=\notsimeq +\let\napprox=\notapprox +\@ifpackageloaded{amsmath}{}{% + \let\doteq\@undefined + \let\hookleftarrow\@undefined + \let\hookrightarrow\@undefined + \let\longleftarrow\@undefined + \let\longrightarrow\@undefined + \let\Longleftarrow\@undefined + \let\Longrightarrow\@undefined + \let\mapsto\@undefined + \let\longmapsto\@undefined + \let\longleftrightarrow\@undefined + \DeclareMathSymbol{\doteq} {\mathrel}{symbols}{"87} + \DeclareMathSymbol{\hookleftarrow} {\mathrel}{symbols}{"8B} + \DeclareMathSymbol{\hookrightarrow}{\mathrel}{symbols}{"8C} + \DeclareMathSymbol{\longleftarrow} {\mathrel}{symbols}{"8D} + \DeclareMathSymbol{\longrightarrow}{\mathrel}{symbols}{"8E} + \DeclareMathSymbol{\Longleftarrow} {\mathrel}{symbols}{"8F} + \DeclareMathSymbol{\Longrightarrow}{\mathrel}{symbols}{"90} + \DeclareMathSymbol{\mapsto} {\mathrel}{symbols}{"91} + \DeclareMathSymbol{\longmapsto}{\mathrel}{symbols}{"92} + \DeclareMathSymbol{\longleftrightarrow} {\mathrel}{symbols}{"93} +} +\DeclareMathSymbol{\iintop}{\mathop}{largesymbols}{"92} +\DeclareMathSymbol{\iiintop}{\mathop}{largesymbols}{"94} +\DeclareMathSymbol{\oiintop}{\mathop}{largesymbols}{"96} +\DeclareMathSymbol{\oiiintop}{\mathop}{largesymbols}{"98} +\DeclareMathSymbol{\cwointop}{\mathop}{largesymbols}{"9A} +\DeclareMathSymbol{\awointop}{\mathop}{largesymbols}{"9C} +\DeclareMathSymbol{\cwintop}{\mathop}{largesymbols}{"9E} +\DeclareMathSymbol{\barintop}{\mathop}{largesymbols}{170} +\DeclareMathSymbol{\slashintop}{\mathop}{largesymbols}{172} +\let\oiint\empty +\let\oiiint\empty +\let\cwoint\empty +\let\awoint\empty +\let\cwint\empty +\let\barint\empty +\let\slashint\empty +\AtBeginDocument{% + \@ifpackageloaded{amsmath}{% + \let\Relbar\@undefined + \DeclareMathSymbol{\Relbar}{\mathrel}{symbols}{"48} + \def\accentclass@{0} + \def\iint{\DOTSI\iintop\ilimits@} + \def\iiint{\DOTSI\iiintop\ilimits@} + \def\oiint{\DOTSI\oiintop\ilimits@} + \def\oiiint{\DOTSI\oiiintop\ilimits@} + \def\cwoint{\DOTSI\cwointop\ilimits@} + \def\awoint{\DOTSI\awointop\ilimits@} + \def\cwint{\DOTSI\cwintop\ilimits@} + \def\barint{\DOTSI\barintop\ilimits@} + \def\slashint{\DOTSI\slashintop\ilimits@} + \gdef\slsum{\DOTSB\slsumop\slimits@} + \gdef\slprod{\DOTSB\slprodop\slimits@} + \gdef\slcoprod{\DOTSB\slcoprodop\slimits@} + \gdef\upsum{\DOTSB\upsumop\slimits@} + \gdef\upprod{\DOTSB\upprodop\slimits@} + \gdef\upcoprod{\DOTSB\upcoprodop\slimits@} + }{% + \def\iint{\iintop\nolimits} + \def\iiint{\iiintop\nolimits} + \def\oiint{\oiintop\nolimits} + \def\oiiint{\oiiintop\nolimits} + \def\cwoint{\cwointop\nolimits} + \def\awoint{\awointop\nolimits} + \def\cwint{\cwintop\nolimits} + \def\barint{\barintop\nolimits} + \def\slashint{\slashintop\nolimits} + \let\slsum\slsumop\let\slprod\slprodop\let\slcoprod\slcoprodop + \let\upsum\upsumop\let\upprod\upprodop\let\upcoprod\upcoprodop +\newdimen\big@size +\addto@hook\every@math@size{\setbox\z@\vbox{\hbox{$($}\kern\z@}% + \global\big@size 1.2\ht\z@} +\def\bBigg@#1#2{% + {\hbox{$\left#2\vcenter to#1\big@size{}\right.\n@space$}}} +\def\big{\bBigg@\@ne} +\def\Big{\bBigg@{1.5}} +\def\bigg{\bBigg@\tw@} +\def\Bigg{\bBigg@{2.5}} + }% + \ifmtp@slops + \let\sum\slsum\let\prod\slprod\let\coprod\slcoprod + \else + \let\sum\upsum\let\prod\upprod\let\coprod\upcoprod + \fi + \let\dddot\@undefined\let\ddddot\@undefined + \DeclareMathAccent{\dddot}{\mathord}{symbols}{171} + \DeclareMathAccent{\ddddot}{\mathord}{symbols}{172} +} +\newbox\prePbox@ +\newbox\Pbox@ +\newif\ifPEX@ +\def\PEX@#1{\setbox\Pbox@\vbox{$$\left.\vcenter{\copy\prePbox@}\right)$$}% + \setbox\Pbox@\vbox{\unvbox\Pbox@\unskip\unpenalty + \setbox\Pbox@\lastbox + \setbox\Pbox@\hbox{\unhbox\Pbox@\setbox\Pbox@\lastbox + \setbox\Pbox@\hbox{\unhbox\Pbox@\setbox\Pbox@\lastbox + \setbox\z@\hbox{#1}% + \ifdim\dp\Pbox@>\dp\z@\global\PEX@true\else + \global\PEX@false\fi}}}} +\def\EXtest@#1{\setbox\prePbox@\hbox{$\displaystyle{#1}$}% + \PEX@{\MTEXA@\char32}% + \ifPEX@ + {\textfont3=\MTEXE@\PEX@{\MTEXE@\char12}}% + \ifPEX@ + {\textfont3=\MTEXF@\PEX@{\MTEXF@\char12}}% + \ifPEX@ + \def\EXtest@@{\textfont3=\MTEXG@}% + \else + \def\EXtest@@{\textfont3=\MTEXF@}% + \fi + \else + \def\EXtest@@{\textfont3=\MTEXE@}% + \fi + \else + \def\EXtest@@{\textfont3=\MTEXA@}% + \fi} +\def\vc@nt@r#1{\hbox{$\vcenter{\hbox{$\displaystyle{#1}$}}$}} +\newbox\LRbox@ +\def\LEFTRIGHT@#1#2#3{\setbox\LRbox@\vc@nt@r{#3}% + \EXtest@{\vc@nt@r{#3}}% + \vcenter{\hbox{\curlybraces\EXtest@@$\displaystyle\left#1\box\LRbox@\right#2$}}}% +\def\PARENS#1{\LEFTRIGHT@(){#1}}% +\newif\ifspecdelim@ +\def\specdelim@#1{\ifx#1(\specdelim@true + \else\ifx#1)\specdelim@true + \else\ifx#1<\specdelim@true + \else\ifx#1\langle\specdelim@true + \else\ifx#1>\specdelim@true + \else\ifx#1\rangle\specdelim@true + \else\ifx#1/\specdelim@true + \else\ifx#1\backslash\specdelim@true + \else\ifx#1\lbrace\specdelim@true + \else\ifx#1\rbrace\specdelim@true + \else\ifx#1\lcbrace\specdelim@true + \else\ifx#1\rcbrace\specdelim@true + \else\specdelim@false\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} +\def\LEFTRIGHT#1#2#3{% + \specdelim@#1% + \ifspecdelim@ + \LEFTRIGHT@#1.{\vc@nt@r{#3}}% + \else + \left#1 + \vc@nt@r{#3}% + \right.% + \fi + \kern-2\nulldelimiterspace\mskip-\thinmuskip + \specdelim@#2% + \ifspecdelim@ + \LEFTRIGHT@.#2{\vphantom{\vc@nt@r{#3}}}% + \else + \left.% + \vphantom{\vc@nt@r{#3}}% + \right#2% + \fi} +\def\vcorrection#1{\vrule width\z@ height#1\relax} +\newcommand{\ccases}[1]{{% + \def\arraystretch{1.2}% + \LEFTRIGHT\lbrace.{\,\array{@{}l@{\quad}l@{}}#1\endarray}% +}} +\newbox\HATbox@ +\def\widehat{\mathpalette\@widehat} +\def\@widehat#1#2{\setbox\HATbox@\hbox{$#1{#2}$}% +\setbox0\hbox{\MTEXF@;}% +\ifdim\wd\HATbox@>\wd0 +\def\HAT@{\textfont3=\MTEXG@}% +\else +\setbox0\hbox{\MTEXE@9}% +\ifdim\wd\HATbox@>\wd0 +\def\HAT@{\textfont3=\MTEXF@}% +\else +\setbox0\hbox{\MTEXA@ d}% +\ifdim\wd\HATbox@>\wd0 +\def\HAT@{\textfont3=\MTEXE@}% +\else +\def\HAT@{\textfont3=\MTEXA@}% +\fi +\fi +\fi +\hbox{\HAT@$\mathaccent"0362 {\box\HATbox@}$}}% +\newbox\TDbox@ +\def\widetilde{\mathpalette\@widetilde} +\def\@widetilde#1#2{\setbox\TDbox@\hbox{$#1{#2}$}% +\setbox0\hbox{\MTEXF@ K}% +\ifdim\wd\TDbox@>\wd0 +\def\TD@{\textfont3=\MTEXG@}% +\else +\setbox0\hbox{\MTEXE@ I}% +\ifdim\wd\TDbox@>\wd0 +\def\TD@{\textfont3=\MTEXF@}% +\else +\setbox0\hbox{\MTEXA@ d}% +\ifdim\wd\TDbox@>\wd0 +\def\TD@{\textfont3=\MTEXE@}% +\else +\def\TD@{\textfont3=\MTEXA@}% +\fi +\fi +\fi +\hbox{\TD@$\mathaccent"0365 {\box\TDbox@}$}} +\newbox\CHbox@ +\def\widecheck{\mathpalette\@widecheck} +\def\@widecheck#1#2{\setbox\CHbox@\hbox{$#1{#2}$}% +\setbox0\hbox{\MTEXF@[}% +\ifdim\wd\CHbox@>\wd0 +\def\CHECK@{\textfont3=\MTEXG@}% +\else +\setbox0\hbox{\MTEXE@ Y}% +\ifdim\wd\CHbox@>\wd0 +\def\CHECK@{\textfont3=\MTEXF@}% +\else +\setbox0\hbox{\MTEXA@ z}% +\ifdim\wd\CHbox@>\wd0 +\def\CHECK@{\textfont3=\MTEXE@}% +\else +\def\CHECK@{\textfont3=\MTEXA@}% +\fi +\fi +\fi +\hbox{\CHECK@$\mathaccent"037A {\box\CHbox@}$}}% +\def\widehatdown#1#2{\setbox\HATbox@\hbox{$\displaystyle{#2}$}% + \setbox\z@\hbox{\MTEXF@;}% + \ifdim\wd\HATbox@>\wd\z@ + \def\HAT@{\textfont3=\MTEXG@}% + \else + \setbox\z@\hbox{\MTEXE@9}% + \ifdim\wd\HATbox@>\wd\z@ + \def\HAT@{\textfont3=\MTEXF@}% + \else + \setbox\z@\hbox{\MTEXA@ d}% + \ifdim\wd\HATbox@>\wd\z@ + \def\HAT@{\textfont3=\MTEXE@}% + \else + \def\HAT@{\textfont3=\MTEXA@}% + \fi + \fi + \fi + \dimen@\ht\HATbox@\advance\dimen@-#1\relax + \ht\HATbox@\dimen@ + \hbox{\HAT@$\mathaccent"0362 {\box\HATbox@}$}}% +\def\widetildedown#1#2{\setbox\TDbox@\hbox{$\displaystyle{#2}$}% + \setbox\z@\hbox{\MTEXF@ K}% + \ifdim\wd\TDbox@>\wd\z@ + \def\TD@{\textfont3=\MTEXG@}% + \else + \setbox\z@\hbox{\MTEXE@ I}% + \ifdim\wd\TDbox@>\wd\z@ + \def\TD@{\textfont3=\MTEXF@}% + \else + \setbox\z@\hbox{\MTEXA@ d}% + \ifdim\wd\TDbox@>\wd\z@ + \def\TD@{\textfont3=\MTEXE@}% + \else + \def\TD@{\textfont3=\MTEXA@}% + \fi + \fi + \fi + \dimen@\ht\TDbox@\advance\dimen@-#1\relax + \ht\TDbox@\dimen@ + \hbox{\TD@$\mathaccent"0365 {\box\TDbox@}$}} +\def\widecheckdown#1#2{\setbox\CHbox@\hbox{$\displaystyle{#2}$}% + \setbox\z@\hbox{\MTEXF@[}% + \ifdim\wd\CHbox@>\wd\z@ + \def\CHECK@{\textfont3=\MTEXG@}% + \else + \setbox\z@\hbox{\MTEXE@ Y}% + \ifdim\wd\CHbox@>\wd\z@ + \def\CHECK@{\textfont3=\MTEXF@}% + \else + \setbox\z@\hbox{\MTEXA@ z}% + \ifdim\wd\CHbox@>\wd\z@ + \def\CHECK@{\textfont3=\MTEXE@}% + \else + \def\CHECK@{\textfont3=\MTEXA@}% + \fi + \fi + \fi + \dimen@\ht\CHbox@\advance\dimen@-#1\relax + \ht\CHbox@\dimen@ + \hbox{\CHECK@$\mathaccent"037A {\box\CHbox@}$}}% +\def\arc{\mathaccent"03C3 } +\def\Arc{\mathaccent"03BE } +\newbox\ARCbox@ +\def\widearc#1{\setbox\ARCbox@\hbox{$\displaystyle{#1}$}% + \setbox\z@\hbox{\MTEXF@\char'267}% + \ifdim\wd\ARCbox@>\wd\z@ + \hbox{\textfont3=\MTEXG@ $\mathaccent"03B1 {\box\ARCbox@}$}% + \else + \setbox\z@\hbox{\MTEXE@\char'326}% + \ifdim\wd\ARCbox@>\wd\z@ + \hbox{\textfont3=\MTEXF@ $\mathaccent"03B1 {\box\ARCbox@}$}% + \else + \setbox\z@\hbox{\MTEXA@ \char'302}% + \ifdim\wd\ARCbox@>\wd\z@ + \hbox{\textfont3=\MTEXE@ $\mathaccent"03D0 {\box\ARCbox@}$}% + \else + \hbox{\textfont3=\MTEXA@ $\mathaccent"03BF {\box\ARCbox@}$}% + \fi + \fi + \fi} +\newbox\preSbox@ +\newbox\Sbox@ +\newif\ifSQEX@ +\def\SQEX@#1{\setbox\Sbox@\vbox{$$\radical"270370{\copy\preSbox@}$$}% +\setbox\Sbox@\vbox{\unvbox\Sbox@\unskip\unpenalty +\setbox\Sbox@\lastbox\setbox\Sbox@\hbox{\unhbox\Sbox@\setbox\Sbox@\lastbox +\setbox\Sbox@\hbox{\unhbox\Sbox@\setbox\Sbox@\lastbox\setbox\Sbox@\lastbox +\setbox0\hbox{#1}% +\ifdim\dp\Sbox@>\dp0\global\SQEX@true\else +\global\SQEX@false\fi}}}} +\newcount\SQcount@ +\def\SQtest@#1{\setbox\preSbox@\hbox{$\displaystyle{#1}$}% +\SQEX@{\MTEXA@ s}% +\ifSQEX@ +{\textfont3=\MTEXE@\SQEX@{\MTEXE@ u}}% +\ifSQEX@ +{\textfont3=\MTEXF@\SQEX@{\MTEXF@ u}}% +\ifSQEX@ +\def\SQtest@@{\textfont3=\MTEXG@}\global\SQcount@3 +\else +\def\SQtest@@{\textfont3=\MTEXF@}\global\SQcount@2 +\fi +\else +\def\SQtest@@{\textfont3=\MTEXE@}\global\SQcount@1 +\fi +\else +\def\SQtest@@{\textfont3=\MTEXA@}\global\SQcount@0 +\fi} +\newbox\SQRTbox@ +\def\SQR@@T#1{\setbox\SQRTbox@\hbox{$\displaystyle{#1}$}% +\SQtest@{#1}% +\hbox{\SQtest@@$\displaystyle\radical"270370{\box\SQRTbox@}$}} +\newcount\UPROOT@ +\newcount\LEFTROOT@ +\def\LEFTROOT#1{\relax + \ifmmode\LEFTROOT@#1\relax + \else\PackageError{mtpro2} + {\protect\LEFTROOT\space allowed only in math mode} + {Type <return> to proceed; the command will be ignored.} + \fi} +\def\UPROOT#1{\relax + \ifmmode\UPROOT@#1\relax + \else\PackageError{mtpro2} + {\protect\UPROOT\space allowed only in math mode} + {Type <return> to proceed; the command will be ignored.} + \fi} +\def\ROOT#1\OF#2{\setbox\rootbox\hbox{$\m@th\scriptscriptstyle{#1}$}% +\mathpalette\R@@T{#2}} +\def\R@@T#1#2{\setbox\z@\hbox{$\UPROOT@\z@\LEFTROOT@\z@\m@th#1\SQR@@T{#2}$}% +\dimen@\ht\z@\advance\dimen@-\dp\z@ +\dimen@ii\dimen@ +\setbox\tw@\hbox{$\m@th#1\mskip\UPROOT@ mu$}\advance\dimen@ii by1.667\wd\tw@ +\setbox\tw@\hbox{$\m@th#1\mskip10mu$}% +\ifcase\SQcount@\advance\dimen@3\wd\tw@\or\advance\dimen@1.5\wd\tw@\or +\advance\dimen@\wd\tw@\fi +\mkern1mu\kern.13\dimen@\mkern-\LEFTROOT@ mu +\raise.5\dimen@ii\copy\rootbox % was .44 +\mkern-1mu\kern-.13\dimen@\mkern\LEFTROOT@ mu\box\z@\kern-\wd\rootbox +\LEFTROOT\z@\UPROOT\z@} +\DeclareRobustCommand\SQRT{\@ifnextchar[\SQRT@\SQR@@T} +\def\SQRT@[#1]{\ROOT #1\OF} +\def\space@.{\futurelet\space@\relax} +\space@. % +\def\FNSS@#1{\let\FNSS@@#1\futurelet\next\FNSS@@@} +\def\FNSS@@@{\ifx\next\space@\def\FNSS@@@@. {\futurelet\next\FNSS@@@}\else +\def\FNSS@@@@.{\FNSS@@}\fi\FNSS@@@@.} +{\catcode`\_=12 +\global\let\sbxii@=_} +{\catcode`\_=8 +\global\let\sbviii@=_} +\newcount\limtype@ +\newcount\xlfont@ +\newcount\xlposition@ +\newcount\xlposition@ii +\newcount\optype@ +\newcount\x@count +\def\xl{\xlposition@ii\z@\xlfont@\z@\x@count\thr@@\futurelet\next\xl@} +\def\xl@{% +\optype@\z@ +\limtype@\z@ +\ifx\next\bigodot\xlposition@96\else +\ifx\next\bigoplus\xlposition@97\else +\ifx\next\bigotimes\xlposition@98\else +\ifx\next\bigsqcup\xlposition@99\else +\ifx\next\bigcup\xlposition@100\else +\ifx\next\bigcap\xlposition@101\else +\ifx\next\biguplus\xlposition@102\else +\ifx\next\bigwedge\xlposition@103\else +\ifx\next\bigvee\xlposition@104\else +\ifx\next\upsum\xlposition@105\else +\ifx\next\upprod\xlposition@106\else +\ifx\next\upcoprod\xlposition@107\else +\ifx\next\bigcupprod\xlposition@110\else +\ifx\next\bigcapprod\xlposition@111\else +\ifx\next\bigvarland\xlposition@122\else +\ifx\next\bigast\xlposition@123\else +\ifx\next\slsum\optype@\@ne\xlposition@119\else +\ifx\next\slprod\optype@\@ne\xlposition@120\else +\ifx\next\slcoprod\optype@\@ne\xlposition@121\else +\ifx\next\int\limtype@\@ne\optype@\@ne\xlposition@108\else +\ifx\next\oint\limtype@\@ne\optype@\@ne\xlposition@109\else +\ifx\next\cwoint\limtype@\@ne\optype@\@ne\xlposition@112\else +\ifx\next\awoint\limtype@\@ne\optype@\@ne\xlposition@113\else +\ifx\next\cwint\limtype@\@ne\optype@\@ne\xlposition@114\else +\ifx\next\iint\limtype@\@ne\optype@\@ne\xlposition@115\else +\ifx\next\iiint\limtype@\@ne\optype@\@ne\xlposition@116\else +\ifx\next\oiint\limtype@\@ne\optype@\@ne\xlposition@117\else +\ifx\next\oiiint\limtype@\@ne\optype@\@ne\xlposition@118\else +\ifx\next\barint\limtype@\@ne\optype@\@ne\xlposition@124\else +\ifx\next\slashint\limtype@\@ne\optype@\@ne\xlposition@125\else +\PackageError{mtpro2}% + {Invalid use of \protect\xl}% + {\protect\xl\space can be applied to `large operators' only.}% +\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi +\def\next@##1{\futurelet\next\getxlims@}\next@} +\def\getxlims@{% +\let\lowerlim@\relax\let\upperlim@\relax +\ifx\next\limits +\def\next@##1{\limtype@\z@\futurelet\next\getxlims@}% +\else\ifx\next\nolimits +\def\next@##1{\limtype@\@ne\futurelet\next\getxlims@}% +\else\ifx\next\sbxii@ +\def\next@##1{\getxlowerlim@}% +\else\ifx\next\sbviii@ +\def\next@##1{\getxlowerlim@}% +\else\ifcat\sbviii@\noexpand\next +\def\next@##1{\getxlowerlim@}% +\else\ifcat^\noexpand\next +\def\next@##1{\getxupperlim@}% +\else +\let\next@\uselims@ +\fi\fi\fi\fi\fi\fi +\next@} +\def\getxlowerlim@#1{\def\lowerlim@{#1}\FNSS@\getxupperlim@@} +\def\getxupperlim@#1{\def\upperlim@{#1}\FNSS@\getxlowerlim@@} +\def\getxupperlim@@{% +\ifcat^\noexpand\next +\def\next@##1##2{\def\upperlim@{##2}\uselims@}% +\else +\let\next@\uselims@ % have limits now +\fi +\next@} +\def\getxlowerlim@@{% +\ifx\next\sbxii@ +\def\next@##1##2{\def\lowerlim@{##2}\uselims@}% +\else\ifx\next\sbviii@ +\def\next@##1##2{\def\lowerlim@{##2}\uselims@}% +\else\ifcat\sbviii@\noexpand\next +\def\next@##1##2{\def\lowerlim@{##2}\uselims@}% +\else +\let\next@\uselims@ % have limits now +\fi\fi\fi +\next@} +\def\uselims@{\ifnum\optype@=\z@\xlargeop@\else\xlargeopic@\fi} +\def\xlargeop@{% +\ifnum\limtype@=\z@ +\mathop{\hbox{$\vcenter{\hbox{% +\ifnum\xlfont@=\z@\MTXL@\else\MTXXXL@\fi +\char\xlposition@\relax +\ifnum\xlposition@ii=\z@\else\char\xlposition@ii\relax\fi +}}$}}_{\lowerlim@}^{\upperlim@}% +\else +\mathop{\hbox{$\vcenter{\hbox{% +\ifnum\xlfont@=\z@\MTXL@\else\MTXXXL@\fi +\char\xlposition@\relax +\ifnum\xlposition@ii=\z@\else\char\xlposition@ii\relax\fi +}}$}}\nolimits_{\lowerlim@}^{\upperlim@}% +\fi} +\newdimen\maxXLscripts@ +\def\xlargeopic@{% +\def\thecharacter@{\ifnum\xlfont@=\z@\MTXL@\else\MTXXXL@\fi\char\xlposition@\relax}% +\ifnum\limtype@=\@ne +\setbox\z@\hbox{\thecharacter@\/}% +\dimen@\wd\z@ +\setbox\z@\hbox{\thecharacter@}% +\advance\dimen@-\wd\z@ +\mathop{\hbox{$\vcenter{\hbox{\thecharacter@}}$}} +\nolimits_{\lowerlim@}^{\kern\dimen@\upperlim@}% +\else +\setbox\z@\hbox{\ifcase\x@count\kern\tw@\fontdimen8\MTXL@\or +\kern4\fontdimen8\MTXL@\or\kern\tw@\fontdimen8\MTXXXL@\or\kern1.7\fontdimen8\MTXL@\fi}% +\setbox\@ne\hbox{\thecharacter@}% +\setbox\tw@\hbox{$\scriptstyle{\lowerlim@}$}% +\setbox\thr@@\hbox{$\kern\wd\z@\scriptstyle{\upperlim@}$}% +\maxXLscripts@\wd\thr@@\ifdim\maxXLscripts@<\wd\tw@\maxXLscripts@\wd\tw@\fi +\dimen@ii.5\wd\tw@ \advance\dimen@ii-.5\wd\@ne +\dimen@.5\wd\thr@@ \advance\dimen@-\wd\z@ \advance\dimen@-.5\wd\@ne +\ifdim\dimen@>\z@ % if visible part of superscript extends to left of operator + \ifdim\dimen@>\dimen@ii % if visible part of superscript to left of subscript + \kern\dimen@\kern.5\wd\@ne\kern-.5\maxXLscripts@ + \else % only trim to subscript, + \kern\dimen@ii\kern.5\wd\@ne\kern-.5\maxXLscripts@ + \fi +\else % visible part of superscript entirely to right of operator, so trim to subscript + \ifdim\dimen@ii > \z@ + \kern\dimen@ii\kern.5\wd\@ne\kern-.5\maxXLscripts@ + \else + \kern.5\wd\@ne\kern-.5\maxXLscripts@ + \fi +\fi +\setbox\@ne\hbox{\thecharacter@\/}\dimen@ii\wd\@ne +\setbox\@ne\hbox{\thecharacter@}\advance\dimen@ii-\wd\@ne +\mathop{\hbox{$\vcenter{\hbox{\thecharacter@}}$}}_{\lowerlim@}^{\kern\wd\z@\upperlim@}% +\kern\dimen@ii +\fi +} +\def\XL{\xlposition@ii\z@\xlfont@\z@\x@count\z@\futurelet\next\XL@} +\def\XL@{\optype@\z@\limtype@\z@ +\ifx\next\bigodot\xlposition@0\else +\ifx\next\bigoplus\xlposition@1\else +\ifx\next\bigotimes\xlposition@2\else +\ifx\next\bigsqcup\xlposition@3\else +\ifx\next\bigcup\xlposition@4\else +\ifx\next\bigcap\xlposition@5\else +\ifx\next\biguplus\xlposition@6\else +\ifx\next\bigwedge\xlposition@7\else +\ifx\next\bigvee\xlposition@8\else +\ifx\next\upsum\xlposition@9\else +\ifx\next\upprod\xlposition@10\else +\ifx\next\upcoprod\xlposition@11\else +\ifx\next\bigcupprod\xlposition@14\else +\ifx\next\bigcapprod\xlposition@15\else +\ifx\next\bigvarland\xlposition@26\else +\ifx\next\bigast\xlposition@27\else +\ifx\next\slsum\optype@\@ne\xlposition@23\else +\ifx\next\slprod\optype@\@ne\xlposition@24\else +\ifx\next\slcoprod\optype@\@ne\xlposition@25\else +\ifx\next\int\limtype@\@ne\optype@\@ne\xlposition@12\else +\ifx\next\oint\limtype@\@ne\optype@\@ne\xlposition@13\else +\ifx\next\cwoint\limtype@\@ne\optype@\@ne\xlposition@16\else +\ifx\next\awoint\limtype@\@ne\optype@\@ne\xlposition@17\else +\ifx\next\cwint\limtype@\@ne\optype@\@ne\xlposition@18\else +\ifx\next\iint\limtype@\@ne\optype@\@ne\xlposition@19\else +\ifx\next\iiint\limtype@\@ne\optype@\@ne\xlposition@20\else +\ifx\next\oiint\limtype@\@ne\optype@\@ne\xlposition@21\else +\ifx\next\oiiint\limtype@\@ne\optype@\@ne\xlposition@22\else +\ifx\next\barint\limtype@\@ne\optype@\@ne\xlposition@28\else +\ifx\next\slashint\limtype@\@ne\optype@\@ne\xlposition@29\else +\PackageError{mtpro2}% + {Invalid use of \protect\XL}% + {\protect\XL\space can be applied to `large operators' only.}% +\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi +\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi +\def\next@##1{\futurelet\next\getxlims@}\next@} +\def\XXL{\xlposition@ii\z@\xlfont@\z@\x@count\@ne\futurelet\next\XXL@} +\def\XXL@{\optype@\z@\limtype@\z@ +\ifx\next\bigodot\xlposition@48\else +\ifx\next\bigoplus\xlposition@49\else +\ifx\next\bigotimes\xlposition@50\else +\ifx\next\bigsqcup\xlposition@51\else +\ifx\next\bigcup\xlposition@52\else +\ifx\next\bigcap\xlposition@53\else +\ifx\next\biguplus\xlposition@54\else +\ifx\next\bigwedge\xlposition@55\else +\ifx\next\bigvee\xlposition@56\else +\ifx\next\upsum\xlposition@57\else +\ifx\next\upprod\xlposition@58\else +\ifx\next\upcoprod\xlposition@59\else +\ifx\next\bigcupprod\xlposition@62 \xlposition@ii64\else +\ifx\next\bigcapprod\xlposition@63 \xlposition@ii65\else +\ifx\next\bigvarland\xlposition@76\else +\ifx\next\bigast\xlposition@77\else +\ifx\next\slsum\optype@\@ne\xlposition@73\else +\ifx\next\slprod\optype@\@ne\xlposition@74\else +\ifx\next\slcoprod\optype@\@ne\xlposition@75\else +\ifx\next\int\limtype@\@ne\optype@\@ne\xlposition@60\else +\ifx\next\oint\limtype@\@ne\optype@\@ne\xlposition@61\else +\ifx\next\cwoint\limtype@\@ne\optype@\@ne\xlposition@66\else +\ifx\next\awoint\limtype@\@ne\optype@\@ne\xlposition@67\else +\ifx\next\cwint\limtype@\@ne\optype@\@ne\xlposition@68\else +\ifx\next\iint\limtype@\@ne\optype@\@ne\xlposition@69\else +\ifx\next\iiint\limtype@\@ne\optype@\@ne\xlposition@70\else +\ifx\next\oiint\limtype@\@ne\optype@\@ne\xlposition@71\else +\ifx\next\oiiint\limtype@\@ne\optype@\@ne\xlposition@72\else +\ifx\next\barint\limtype@\@ne\optype@\@ne\xlposition@78\else +\ifx\next\slashint\limtype@\@ne\optype@\@ne\xlposition@79\else +\PackageError{mtpro2}% + {Invalid use of \protect\XXL}% + {\protect\XXL\space can be applied to `large operators' only.}% +\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi +\def\next@##1{\futurelet\next\getxlims@}\next@} +\def\XXXL{\xlposition@ii\z@\xlfont@\@ne\x@count\tw@\futurelet\next\XXXL@} +\def\XXXL@{\optype@\z@\limtype@\z@ +\ifx\next\bigodot\xlposition@0\else +\ifx\next\bigoplus\xlposition@1\else +\ifx\next\bigotimes\xlposition@2\else +\ifx\next\bigsqcup\xlposition@3\else +\ifx\next\bigcup\xlposition@4\else +\ifx\next\bigcap\xlposition@5\else +\ifx\next\biguplus\xlposition@6\else +\ifx\next\bigwedge\xlposition@7\else +\ifx\next\bigvee\xlposition@8\else +\ifx\next\upsum\xlposition@9\else +\ifx\next\uprod\xlposition@10\else +\ifx\next\ucoprod\xlposition@11\else +\ifx\next\bigcupprod\xlposition@14 \xlposition@ii16\else +\ifx\next\bigcapprod\xlposition@15 \xlposition@ii17\else +\ifx\next\bigvarland\xlposition@ 28 \xlposition@ii29\else +\ifx\next\bigast\xlposition@30\else +\ifx\next\slsum\optype@\@ne\xlposition@25\else +\ifx\next\slprod\optype@\@ne\xlposition@26\else +\ifx\next\slcoprod\optype@\@ne\xlposition@27\else +\ifx\next\int\limtype@\@ne\optype@\@ne\xlposition@12\else +\ifx\next\oint\limtype@\@ne\optype@\@ne\xlposition@13\else +\ifx\next\cwoint\limtype@\@ne\optype@\@ne\xlposition@18\else +\ifx\next\awoint\limtype@\@ne\optype@\@ne\xlposition@19\else +\ifx\next\cwint\limtype@\@ne\optype@\@ne\xlposition@20\else +\ifx\next\iint\limtype@\@ne\optype@\@ne\xlposition@21\else +\ifx\next\iiint\limtype@\@ne\optype@\@ne\xlposition@22\else +\ifx\next\oiint\limtype@\@ne\optype@\@ne\xlposition@23\else +\ifx\next\oiiint\limtype@\@ne\optype@\@ne\xlposition@24\else +\ifx\next\barint\limtype@\@ne\optype@\@ne\xlposition@31\else +\ifx\next\slashint\limtype@\@ne\optype@\@ne\xlposition@32\else +\def\next@{\PackageError{mtpro2}% + {Invalid use of \protect\XXXL}% + {\protect\XXXL\space can be applied to `large operators' only.}}% +\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi +\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi +\def\next@##1{\futurelet\next\getxlims@}\next@} +\def\undercbrace#1{\setbox\z@\hbox{$\displaystyle#1$}% + \dimen@\tMTPsize\relax + \expandafter\getpoints@\the\dimen@\getpoints@ + \dimen@\wd\z@ + \divide\dimen@\pointcount@ + \expandafter\getpoints@\the\dimen@\getpoints@ + \ifnum\pointcount@<4 + \ifdim\wd\z@<12pt + \def\thebrace@{\hbox{\MTEXE@\char144}}% + \else\ifdim\wd\z@<15pt + \def\thebrace@{\hbox{\MTEXE@\char145}}% + \else\ifdim\wd\z@<18pt + \def\thebrace@{\hbox{\MTEXE@\char146}}% + \else\ifdim\wd\z@<21pt + \def\thebrace@{\hbox{\MTEXE@\char147}}% + \else\ifdim\wd\z@<24pt + \def\thebrace@{\hbox{\MTEXE@\char148}}% + \else\ifdim\wd\z@<27pt + \def\thebrace@{\hbox{\MTEXE@\char149}}% + \else\ifdim\wd\z@<30pt + \def\thebrace@{\hbox{\MTEXE@\char150}}% + \else\ifdim\wd\z@<33pt + \def\thebrace@{\hbox{\MTEXE@\char151}}% + \else + \def\thebrace@{\hbox{\MTEXE@\char152}}% + \fi\fi\fi\fi\fi\fi\fi\fi + \else + \ifnum\pointcount@<12 + \advance\pointcount@149 + \def\thebrace@{\hbox{\MTEXE@\char\pointcount@}}% + \else + \ifnum\pointcount@<24 + \advance\pointcount@132 + \def\thebrace@{\hbox{\MTEXF@\char\pointcount@}}% + \else + \advance\pointcount@120 + \ifnum\pointcount@>149 \pointcount@149 \fi + \def\thebrace@{\hbox{\MTEXG@\char\pointcount@}}% + \fi + \fi + \fi + \mathop{\vtop{\ialign{\hfil##\hfil\cr$\displaystyle#1$\crcr\noalign + {\vskip3pt\nointerlineskip}\thebrace@\cr\noalign{\kern3pt}}}}\limits}% +\def\overcbrace#1{\setbox\z@\hbox{$\displaystyle#1$}% + \dimen@\tMTPsize\relax + \expandafter\getpoints@\the\dimen@\getpoints@ + \dimen@\wd\z@ + \divide\dimen@\pointcount@ + \expandafter\getpoints@\the\dimen@\getpoints@ + \ifnum\pointcount@<4 + \ifdim\wd\z@<12pt + \def\thebrace@{\hbox{\MTEXE@\char176}}% + \else\ifdim\wd\z@<15pt + \def\thebrace@{\hbox{\MTEXE@\char177}}% + \else\ifdim\wd\z@<18pt + \def\thebrace@{\hbox{\MTEXE@\char178}}% + \else\ifdim\wd\z@<21pt + \def\thebrace@{\hbox{\MTEXE@\char179}}% + \else\ifdim\wd\z@<24pt + \def\thebrace@{\hbox{\MTEXE@\char180}}% + \else\ifdim\wd\z@<27pt + \def\thebrace@{\hbox{\MTEXE@\char181}}% + \else\ifdim\wd\z@<30pt + \def\thebrace@{\hbox{\MTEXE@\char182}}% + \else\ifdim\wd\z@<33pt + \def\thebrace@{\hbox{\MTEXE@\char183}}% + \else + \def\thebrace@{\hbox{\MTEXE@\char184}}% + \fi\fi\fi\fi\fi\fi\fi\fi + \else + \ifnum\pointcount@<12 + \advance\pointcount@181 + \def\thebrace@{\hbox{\MTEXE@\char\pointcount@}}% + \else + \ifnum\pointcount@<24 + \advance\pointcount@148 + \def\thebrace@{\hbox{\MTEXF@\char\pointcount@}}% + \else + \advance\pointcount@136 + \ifnum\pointcount@>165 \pointcount@165 \fi + \def\thebrace@{\hbox{\MTEXG@\char\pointcount@}}% + \fi + \fi + \fi + \mathop{\vbox{\ialign{\hfil##\hfil\cr\noalign{\kern3\p@}\thebrace@\crcr + \noalign{\kern3\p@\nointerlineskip}$\displaystyle#1$\crcr}}}\limits}% +\ifmtp@ams +\DeclareSymbolFont{AMSa}{U}{mt2sya}{m}{n} +\SetSymbolFont{AMSa}{bold}{U}{mt2sya}{b}{n} +\SetSymbolFont{AMSa}{heavy}{U}{mt2sya}{eb}{n} +\global\let\sqsubset\undefined +\global\let\sqsupset\undefined +\global\let\mho\undefined +\global\let\Diamond\undefined +\global\let\leadsto\undefined +\@ifundefined{checkmark}{% + \edef\checkmark{\noexpand\mathhexbox{\hexnumber@\symAMSa}58} +}{} +\@ifundefined{circledR}{% + \edef\circledR{\noexpand\mathhexbox{\hexnumber@\symAMSa}72} +}{} +\@ifundefined{maltese}{% + \edef\maltese{\noexpand\mathhexbox{\hexnumber@\symAMSa}7A} +}{} +\@ifundefined{yen}{% + \edef\yen{\noexpand\mathhexbox{\hexnumber@\symAMSa}55} +}{} +\DeclareMathDelimiter{\ulcorner}{\mathopen} {AMSa}{"70}{AMSa}{"70} +\DeclareMathDelimiter{\urcorner}{\mathclose}{AMSa}{"71}{AMSa}{"71} +\DeclareMathDelimiter{\llcorner}{\mathopen} {AMSa}{"78}{AMSa}{"78} +\DeclareMathDelimiter{\lrcorner}{\mathclose}{AMSa}{"79}{AMSa}{"79} +\DeclareMathSymbol{\dashleftarrow}{\mathrel}{AMSa}{219} +\DeclareMathSymbol{\dashrightarrow}{\mathrel}{AMSa}{220} +\global\let\dasharrow\dashrightarrow +\DeclareMathSymbol{\Diamond} {\mathbin}{AMSa}{"DE} +\DeclareMathSymbol{\leadsto} {\mathbin}{AMSa}{"DD} +\DeclareMathSymbol{\boxdot} {\mathbin}{AMSa}{"00} +\DeclareMathSymbol{\boxplus} {\mathbin}{AMSa}{"01} +\DeclareMathSymbol{\boxtimes} {\mathbin}{AMSa}{"02} +\DeclareMathSymbol{\square} {\mathord}{AMSa}{"03} +\DeclareMathSymbol{\blacksquare} {\mathord}{AMSa}{"04} +\DeclareMathSymbol{\centerdot} {\mathbin}{AMSa}{"05} +\DeclareMathSymbol{\lozenge} {\mathord}{AMSa}{"06} +\DeclareMathSymbol{\blacklozenge} {\mathord}{AMSa}{"07} +\DeclareMathSymbol{\circlearrowright} {\mathrel}{AMSa}{"08} +\DeclareMathSymbol{\circlearrowleft} {\mathrel}{AMSa}{"09} +\DeclareMathSymbol{\leftrightharpoons} {\mathrel}{AMSa}{"0B} +\DeclareMathSymbol{\boxminus} {\mathbin}{AMSa}{"0C} +\DeclareMathSymbol{\Vdash} {\mathrel}{AMSa}{"0D} +\DeclareMathSymbol{\Vvdash} {\mathrel}{AMSa}{"0E} +\DeclareMathSymbol{\vDash} {\mathrel}{AMSa}{"0F} +\DeclareMathSymbol{\twoheadrightarrow} {\mathrel}{AMSa}{"10} +\DeclareMathSymbol{\twoheadleftarrow} {\mathrel}{AMSa}{"11} +\DeclareMathSymbol{\leftleftarrows} {\mathrel}{AMSa}{"12} +\DeclareMathSymbol{\rightrightarrows} {\mathrel}{AMSa}{"13} +\DeclareMathSymbol{\upuparrows} {\mathrel}{AMSa}{"14} +\DeclareMathSymbol{\downdownarrows} {\mathrel}{AMSa}{"15} +\DeclareMathSymbol{\upharpoonright} {\mathrel}{AMSa}{"16} +\global\let\restriction\upharpoonright +\DeclareMathSymbol{\downharpoonright} {\mathrel}{AMSa}{"17} +\DeclareMathSymbol{\upharpoonleft} {\mathrel}{AMSa}{"18} +\DeclareMathSymbol{\downharpoonleft}{\mathrel}{AMSa}{"19} +\DeclareMathSymbol{\rightarrowtail} {\mathrel}{AMSa}{"1A} +\DeclareMathSymbol{\leftarrowtail} {\mathrel}{AMSa}{"1B} +\DeclareMathSymbol{\leftrightarrows}{\mathrel}{AMSa}{"1C} +\DeclareMathSymbol{\rightleftarrows}{\mathrel}{AMSa}{"1D} +\DeclareMathSymbol{\Lsh} {\mathrel}{AMSa}{"1E} +\DeclareMathSymbol{\Rsh} {\mathrel}{AMSa}{"1F} +\DeclareMathSymbol{\rightsquigarrow} {\mathrel}{AMSa}{"20} +\DeclareMathSymbol{\leftrightsquigarrow}{\mathrel}{AMSa}{"21} +\DeclareMathSymbol{\looparrowleft} {\mathrel}{AMSa}{"22} +\DeclareMathSymbol{\looparrowright} {\mathrel}{AMSa}{"23} +\DeclareMathSymbol{\circeq} {\mathrel}{AMSa}{"24} +\DeclareMathSymbol{\succsim} {\mathrel}{AMSa}{"25} +\DeclareMathSymbol{\gtrsim} {\mathrel}{AMSa}{"26} +\DeclareMathSymbol{\gtrapprox} {\mathrel}{AMSa}{"27} +\DeclareMathSymbol{\multimap} {\mathrel}{AMSa}{"28} +\DeclareMathSymbol{\therefore} {\mathrel}{AMSa}{"29} +\DeclareMathSymbol{\because} {\mathrel}{AMSa}{"2A} +\DeclareMathSymbol{\doteqdot} {\mathrel}{AMSa}{"2B} +\global\let\Doteq\doteqdot +\DeclareMathSymbol{\triangleq} {\mathrel}{AMSa}{"2C} +\DeclareMathSymbol{\precsim} {\mathrel}{AMSa}{"2D} +\DeclareMathSymbol{\lesssim} {\mathrel}{AMSa}{"2E} +\DeclareMathSymbol{\lessapprox} {\mathrel}{AMSa}{"2F} +\DeclareMathSymbol{\eqslantless} {\mathrel}{AMSa}{"30} +\DeclareMathSymbol{\eqslantgtr} {\mathrel}{AMSa}{"31} +\DeclareMathSymbol{\curlyeqprec} {\mathrel}{AMSa}{"32} +\DeclareMathSymbol{\curlyeqsucc} {\mathrel}{AMSa}{"33} +\DeclareMathSymbol{\preccurlyeq} {\mathrel}{AMSa}{"34} +\DeclareMathSymbol{\leqq} {\mathrel}{AMSa}{"35} +\DeclareMathSymbol{\leqslant} {\mathrel}{AMSa}{"36} +\DeclareMathSymbol{\lessgtr} {\mathrel}{AMSa}{"37} +\DeclareMathSymbol{\backprime} {\mathord}{AMSa}{"38} +\DeclareMathSymbol{\risingdotseq} {\mathrel}{AMSa}{"3A} +\DeclareMathSymbol{\fallingdotseq}{\mathrel}{AMSa}{"3B} +\DeclareMathSymbol{\succcurlyeq} {\mathrel}{AMSa}{"3C} +\DeclareMathSymbol{\geqq} {\mathrel}{AMSa}{"3D} +\DeclareMathSymbol{\geqslant} {\mathrel}{AMSa}{"3E} +\DeclareMathSymbol{\gtrless} {\mathrel}{AMSa}{"3F} +\DeclareMathSymbol{\sqsubset} {\mathrel}{AMSa}{"40} +\DeclareMathSymbol{\sqsupset} {\mathrel}{AMSa}{"41} +\DeclareMathSymbol{\vartriangleright}{\mathrel}{AMSa}{"42} +\DeclareMathSymbol{\vartriangleleft} {\mathrel}{AMSa}{"43} +\DeclareMathSymbol{\trianglerighteq} {\mathrel}{AMSa}{"44} +\DeclareMathSymbol{\trianglelefteq} {\mathrel}{AMSa}{"45} +\DeclareMathSymbol{\bigstar} {\mathord}{AMSa}{"46} +\DeclareMathSymbol{\between} {\mathrel}{AMSa}{"47} +\DeclareMathSymbol{\blacktriangledown} {\mathord}{AMSa}{"48} +\DeclareMathSymbol{\blacktriangleright} {\mathrel}{AMSa}{"49} +\DeclareMathSymbol{\blacktriangleleft} {\mathrel}{AMSa}{"4A} +\DeclareMathSymbol{\vartriangle} {\mathrel}{AMSa}{"4D} +\DeclareMathSymbol{\blacktriangle} {\mathord}{AMSa}{"4E} +\DeclareMathSymbol{\triangledown} {\mathord}{AMSa}{"4F} +\DeclareMathSymbol{\eqcirc} {\mathrel}{AMSa}{"50} +\DeclareMathSymbol{\lesseqgtr} {\mathrel}{AMSa}{"51} +\DeclareMathSymbol{\gtreqless} {\mathrel}{AMSa}{"52} +\DeclareMathSymbol{\lesseqqgtr} {\mathrel}{AMSa}{"53} +\DeclareMathSymbol{\gtreqqless} {\mathrel}{AMSa}{"54} +\DeclareMathSymbol{\Rrightarrow} {\mathrel}{AMSa}{"56} +\DeclareMathSymbol{\Lleftarrow} {\mathrel}{AMSa}{"57} +\DeclareMathSymbol{\veebar} {\mathbin}{AMSa}{"59} +\DeclareMathSymbol{\barwedge} {\mathbin}{AMSa}{"5A} +\DeclareMathSymbol{\doublebarwedge} {\mathbin}{AMSa}{"5B} +\DeclareMathSymbol{\measuredangle} {\mathord}{AMSa}{"5D} +\DeclareMathSymbol{\sphericalangle} {\mathord}{AMSa}{"5E} +\DeclareMathSymbol{\varpropto} {\mathrel}{AMSa}{"5F} +\DeclareMathSymbol{\smallsmile} {\mathrel}{AMSa}{"60} +\DeclareMathSymbol{\smallfrown} {\mathrel}{AMSa}{"61} +\DeclareMathSymbol{\Subset} {\mathrel}{AMSa}{"62} +\DeclareMathSymbol{\Supset} {\mathrel}{AMSa}{"63} +\DeclareMathSymbol{\Cup} {\mathbin}{AMSa}{"64} +\global\let\doublecup\Cup +\DeclareMathSymbol{\Cap} {\mathbin}{AMSa}{"65} +\global\let\doublecap\Cap +\DeclareMathSymbol{\curlywedge} {\mathbin}{AMSa}{"66} +\DeclareMathSymbol{\curlyvee} {\mathbin}{AMSa}{"67} +\DeclareMathSymbol{\leftthreetimes} {\mathbin}{AMSa}{"68} +\DeclareMathSymbol{\rightthreetimes}{\mathbin}{AMSa}{"69} +\DeclareMathSymbol{\subseteqq} {\mathrel}{AMSa}{"6A} +\DeclareMathSymbol{\supseteqq} {\mathrel}{AMSa}{"6B} +\DeclareMathSymbol{\bumpeq} {\mathrel}{AMSa}{"6C} +\DeclareMathSymbol{\Bumpeq} {\mathrel}{AMSa}{"6D} +\DeclareMathSymbol{\lll} {\mathrel}{AMSa}{"6E} +\global\let\llless\lll +\DeclareMathSymbol{\ggg} {\mathrel}{AMSa}{"6F} +\global\let\gggtr\ggg +\DeclareMathSymbol{\circledS} {\mathord}{AMSa}{"73} +\DeclareMathSymbol{\pitchfork} {\mathrel}{AMSa}{"74} +\DeclareMathSymbol{\dotplus} {\mathbin}{AMSa}{"75} +\DeclareMathSymbol{\backsim} {\mathrel}{AMSa}{"76} +\DeclareMathSymbol{\backsimeq} {\mathrel}{AMSa}{"77} +\DeclareMathSymbol{\complement} {\mathord}{AMSa}{"7B} +\DeclareMathSymbol{\intercal} {\mathbin}{AMSa}{"7C} +\DeclareMathSymbol{\circledcirc} {\mathbin}{AMSa}{"7D} +\DeclareMathSymbol{\circledast} {\mathbin}{AMSa}{"7E} +\DeclareMathSymbol{\circleddash} {\mathbin}{AMSa}{"7F} +\DeclareMathSymbol{\updownarrows}{\mathrel}{AMSa}{"DF} +\DeclareMathSymbol{\downuparrows}{\mathrel}{AMSa}{224} +\DeclareMathSymbol{\updownharpoons}{\mathrel}{AMSa}{225} +\DeclareMathSymbol{\downupharpoons}{\mathrel}{AMSa}{226} +\DeclareMathSymbol{\upupharpoons}{\mathrel}{AMSa}{227} +\DeclareMathSymbol{\downdownharpoons}{\mathrel}{AMSa}{228} +\DeclareMathSymbol{\undercurvearrowleft}{\mathrel}{AMSa}{229} +\DeclareMathSymbol{\undercurvearrowright}{\mathrel}{AMSa}{230} +\DeclareMathSymbol{\midshaft} {\mathord}{AMSa}{"39} +\DeclareMathSymbol{\rarrowhead} {\mathord}{AMSa}{"4B} +\DeclareMathSymbol{\larrowhead} {\mathord}{AMSa}{"4C} +\DeclareMathSymbol{\lvertneqq} {\mathrel}{AMSa}{"80} +\DeclareMathSymbol{\gvertneqq} {\mathrel}{AMSa}{"81} +\DeclareMathSymbol{\lneqq} {\mathrel}{AMSa}{"88} +\DeclareMathSymbol{\gneqq} {\mathrel}{AMSa}{"89} +\DeclareMathSymbol{\nleqslant} {\mathrel}{AMSa}{"8A} +\DeclareMathSymbol{\ngeqslant} {\mathrel}{AMSa}{"8B} +\DeclareMathSymbol{\lneq} {\mathrel}{AMSa}{"8C} +\DeclareMathSymbol{\gneq} {\mathrel}{AMSa}{"8D} +\DeclareMathSymbol{\npreceq} {\mathrel}{AMSa}{"8E} +\DeclareMathSymbol{\nsucceq} {\mathrel}{AMSa}{"8F} +\DeclareMathSymbol{\precnsim} {\mathrel}{AMSa}{"90} +\DeclareMathSymbol{\succnsim} {\mathrel}{AMSa}{"91} +\DeclareMathSymbol{\lnsim} {\mathrel}{AMSa}{"92} +\DeclareMathSymbol{\gnsim} {\mathrel}{AMSa}{"93} +\DeclareMathSymbol{\nleqq} {\mathrel}{AMSa}{"94} +\DeclareMathSymbol{\ngeqq} {\mathrel}{AMSa}{"95} +\DeclareMathSymbol{\precneqq} {\mathrel}{AMSa}{"96} +\DeclareMathSymbol{\succneqq} {\mathrel}{AMSa}{"97} +\DeclareMathSymbol{\precnapprox} {\mathrel}{AMSa}{"98} +\DeclareMathSymbol{\succnapprox} {\mathrel}{AMSa}{"99} +\DeclareMathSymbol{\lnapprox} {\mathrel}{AMSa}{"9A} +\DeclareMathSymbol{\gnapprox} {\mathrel}{AMSa}{"9B} +\DeclareMathSymbol{\nsim} {\mathrel}{AMSa}{"9C} +\DeclareMathSymbol{\diagup} {\mathord}{AMSa}{"9E} +\DeclareMathSymbol{\diagdown} {\mathord}{AMSa}{"9F} +\DeclareMathSymbol{\varsubsetneq} {\mathrel}{AMSa}{160} +\DeclareMathSymbol{\varsupsetneq} {\mathrel}{AMSa}{161} +\DeclareMathSymbol{\nsubseteqq} {\mathrel}{AMSa}{162} +\DeclareMathSymbol{\nsupseteqq} {\mathrel}{AMSa}{163} +\DeclareMathSymbol{\subsetneqq} {\mathrel}{AMSa}{164} +\DeclareMathSymbol{\supsetneqq} {\mathrel}{AMSa}{165} +\DeclareMathSymbol{\varsubsetneqq} {\mathrel}{AMSa}{166} +\DeclareMathSymbol{\varsupsetneqq} {\mathrel}{AMSa}{167} +\DeclareMathSymbol{\subsetneq} {\mathrel}{AMSa}{168} +\DeclareMathSymbol{\supsetneq} {\mathrel}{AMSa}{169} +\DeclareMathSymbol{\nsubseteq} {\mathrel}{AMSa}{170} +\DeclareMathSymbol{\nsupseteq} {\mathrel}{AMSa}{171} +\DeclareMathSymbol{\nparallel} {\mathrel}{AMSa}{172} +\DeclareMathSymbol{\nmid} {\mathrel}{AMSa}{173} +\DeclareMathSymbol{\nshortmid} {\mathrel}{AMSa}{174} +\DeclareMathSymbol{\nshortparallel} {\mathrel}{AMSa}{175} +\DeclareMathSymbol{\nvdash} {\mathrel}{AMSa}{176} +\DeclareMathSymbol{\nVdash} {\mathrel}{AMSa}{177} +\DeclareMathSymbol{\nvDash} {\mathrel}{AMSa}{178} +\DeclareMathSymbol{\nVDash} {\mathrel}{AMSa}{179} +\DeclareMathSymbol{\ntrianglerighteq}{\mathrel}{AMSa}{180} +\DeclareMathSymbol{\ntrianglelefteq}{\mathrel}{AMSa}{181} +\DeclareMathSymbol{\ntriangleleft} {\mathrel}{AMSa}{182} +\DeclareMathSymbol{\ntriangleright} {\mathrel}{AMSa}{183} +\DeclareMathSymbol{\nleftarrow} {\mathrel}{AMSa}{184} +\DeclareMathSymbol{\nrightarrow} {\mathrel}{AMSa}{185} +\DeclareMathSymbol{\nLeftarrow} {\mathrel}{AMSa}{186} +\DeclareMathSymbol{\nRightarrow} {\mathrel}{AMSa}{187} +\DeclareMathSymbol{\nLeftrightarrow}{\mathrel}{AMSa}{188} +\DeclareMathSymbol{\nleftrightarrow}{\mathrel}{AMSa}{189} +\DeclareMathSymbol{\divideontimes} {\mathbin}{AMSa}{190} +\DeclareMathSymbol{\varnothing} {\mathord}{AMSa}{191} +\DeclareMathSymbol{\nexists} {\mathord}{AMSa}{192} +\DeclareMathSymbol{\Finv} {\mathord}{AMSa}{193} +\DeclareMathSymbol{\Game} {\mathord}{AMSa}{194} +\DeclareMathSymbol{\mho} {\mathord}{AMSa}{195} +\DeclareMathSymbol{\eth} {\mathord}{AMSa}{196} +\DeclareMathSymbol{\eqsim} {\mathrel}{AMSa}{197} +\DeclareMathSymbol{\beth} {\mathord}{AMSa}{198} +\DeclareMathSymbol{\gimel} {\mathord}{AMSa}{199} +\DeclareMathSymbol{\daleth} {\mathord}{AMSa}{200} +\DeclareMathSymbol{\lessdot} {\mathbin}{AMSa}{201} +\DeclareMathSymbol{\gtrdot} {\mathbin}{AMSa}{202} +\DeclareMathSymbol{\ltimes} {\mathbin}{AMSa}{203} +\DeclareMathSymbol{\rtimes} {\mathbin}{AMSa}{204} +\DeclareMathSymbol{\shortmid} {\mathrel}{AMSa}{205} +\DeclareMathSymbol{\shortparallel} {\mathrel}{AMSa}{206} +\let\smallsetminus=\setdif +\DeclareMathSymbol{\thicksim} {\mathrel}{AMSa}{207} +\DeclareMathSymbol{\thickapprox} {\mathrel}{AMSa}{208} +\DeclareMathSymbol{\approxeq} {\mathrel}{AMSa}{209} +\DeclareMathSymbol{\succapprox} {\mathrel}{AMSa}{210} +\DeclareMathSymbol{\precapprox} {\mathrel}{AMSa}{211} +\DeclareMathSymbol{\curvearrowleft} {\mathrel}{AMSa}{212} +\DeclareMathSymbol{\curvearrowright}{\mathrel}{AMSa}{213} +\newcommand{\Bbbk}{\mathbb{k}} +\DeclareMathSymbol{\backepsilon} {\mathrel}{AMSa}{214} +\DeclareMathSymbol{\nsqsubset} {\mathrel}{AMSa}{215} +\DeclareMathSymbol{\nsqsupset} {\mathrel}{AMSa}{216} +\let\Box\square +\let\lhd\vartriangleleft +\let\rhd\vartriangleright +\let\unrhd\trianglerighteq +\let\unlhd\trianglelefteq +\let\Join\bowtie +\fi +\def\defaultscriptratio{.7} +\def\defaultscriptscriptratio{.55} +\DeclareMathSizes{5}{5}{5}{5} +\DeclareMathSizes{6}{6}{5}{5} +\DeclareMathSizes{7}{7}{5}{5} +\DeclareMathSizes{8}{8}{6}{5} +\DeclareMathSizes{9}{9}{7}{5.5} +\DeclareMathSizes{\@xpt}{\@xpt}{7}{5.5} +\DeclareMathSizes{\@xipt}{\@xipt}{8}{6} +\DeclareMathSizes{\@xiipt}{\@xiipt}{8}{6} +\DeclareMathSizes{\@xivpt}{\@xivpt}{\@xpt}{7} +\DeclareMathSizes{\@xviipt}{\@xviipt}{\@xiipt}{\@xpt} +\DeclareMathSizes{\@xxpt}{\@xxpt}{\@xivpt}{\@xiipt} +\DeclareMathSizes{\@xxvpt}{\@xxvpt}{\@xxpt}{\@xviipt} +\DeclareTextSymbolDefault{\textless}{LMP1} +\DeclareTextSymbolDefault{\textgreater}{LMP1} +\DeclareTextAccentDefault{\t}{LMP2} +\DeclareTextSymbol{\textless}{LMP1}{`\<} +\DeclareTextSymbol{\textgreater}{LMP1}{`\>} +\DeclareTextAccent{\t}{LMP2}{65} +\DeclareTextSymbolDefault{\textasteriskcentered}{LMP2} +\DeclareTextSymbolDefault{\textbackslash}{LMP2} +\DeclareTextSymbolDefault{\textbar}{LMP2} +\DeclareTextSymbolDefault{\textbraceleft}{LMP2} +\DeclareTextSymbolDefault{\textbraceright}{LMP2} +\DeclareTextSymbolDefault{\textbullet}{LMP2} +\DeclareTextSymbolDefault{\textperiodcentered}{LMP2} +\DeclareTextAccentDefault{\textcircled}{LMP2} +\DeclareTextSymbol{\textasteriskcentered}{LMP2}{3} +\DeclareTextSymbol{\textbackslash}{LMP2}{110} +\DeclareTextSymbol{\textbar}{LMP2}{106} +\DeclareTextSymbol{\textbraceleft}{LMP2}{102} +\DeclareTextSymbol{\textbraceright}{LMP2}{103} +\DeclareTextSymbol{\textbullet}{LMP2}{15} +\DeclareTextSymbol{\textperiodcentered}{LMP2}{1} +\DeclareTextCommand{\textcircled}{LMP2}[1]{{% + \ooalign{% + \hfil \raise .07ex\hbox {\upshape#1}\hfil \crcr + \char13}}} +\@ifpackageloaded{textcomp}{}{% + \DeclareTextSymbolDefault{\textdagger}{LMP1} + \DeclareTextSymbolDefault{\textdaggerdbl}{LMP1} + \DeclareTextSymbolDefault{\textsection}{LMP1} + \DeclareTextSymbolDefault{\textparagraph}{LMP1} + \DeclareTextSymbol{\textdagger}{LMP1}{"8E} + \DeclareTextSymbol{\textdaggerdbl}{LMP1}{"8F} + \DeclareTextSymbol{\textsection}{LMP1}{"90} + \DeclareTextSymbol{\textparagraph}{LMP1}{"91}} +\def\@tempa{LY1} +\ifx\encodingdefault\@tempa + \DeclareMathSymbol{\mathsterling}{\mathord}{operators}{163} + \let\mathunderscore\@undefined + \DeclareMathSymbol{\mathunderscore}{\mathord}{operators}{95} +\else + \def\@tempa{T1} + \ifx\encodingdefault\@tempa + \DeclareMathSymbol\mathsterling{\mathord}{operators}{191} + \let\mathunderscore\@undefined + \DeclareMathSymbol\mathunderscore{\mathord}{operators}{95} + \fi +\fi +\begingroup + \catcode`\_=13 + \gdef_{\futurelet\next\s@@b} +\endgroup +\def\s@@b{\ifcat\relax\noexpand\next\expandafter\sb\else + \expandafter\s@@b@\fi} +\def\s@@b@#1{\sb{\futurelet\next\sb@#1}} +\def\sb@{% + \ifx\next\space@\def\next@. {\futurelet\next\sb@}\else + \def\next@.{% + \ifx\next f\mkern-\thr@@ mu\else + \ifx\next j\mkern-\tw@ mu\else + \ifx\next p\mkern-\tw@ mu\else + \ifx\next t\mkern\@ne mu\else + \ifx\next y\mkern-\@ne mu\else + \ifx\next A\mkern-\tw@ mu\else + \ifx\next B\mkern-\@ne mu\else + \ifx\next D\mkern-\@ne mu\else + \ifx\next H\mkern-\@ne mu\else + \ifx\next I\mkern-\@ne mu\else + \ifx\next K\mkern-\@ne mu\else + \ifx\next L\mkern-\@ne mu\else + \ifx\next M\mkern-\@ne mu\else + \ifx\next P\mkern-\@ne mu\else + \ifx\next X\mkern-\tw@ mu\else + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}% + \fi + \next@.} +\mathcode`\_=\string"8000 +\DeclareMathSymbol{\mtp@z}{\mathalpha}{letters}{`z} +\DeclareMathSymbol{\mtp@@z}{\mathalpha}{letters}{"B4} +\begingroup +\lccode`\~=`\z +\lowercase{\gdef ~{\ifnum\the\mathgroup=\m@ne \mtp@@z \else \mtp@z \fi}} +\endgroup +\endinput +%% +%% End of file `mtpro2.sty'. diff --git a/fonts/mtp2lite/texmf/tex/latex/mtpro2/omslbm.fd b/fonts/mtp2lite/texmf/tex/latex/mtpro2/omslbm.fd new file mode 100644 index 0000000000..a67ceba80e --- /dev/null +++ b/fonts/mtp2lite/texmf/tex/latex/mtpro2/omslbm.fd @@ -0,0 +1,20 @@ +%% +%% This is file `omslbm.fd', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% mtpro2.dtx (with options: `omslbm') +%% +%% Copyright 1996 1997 Frank Mittelbach and David Carlisle. +%% Copyright 2001--2009 Frank Mittelbach, David Carlisle, Walter Schmidt, Mike Spivak +\ProvidesFile{omslbm.fd}% + [2009/1/30 v2.2 + Lucida New Math Symbols (PCTeX/WaS)% +] +\DeclareFontFamily{OMS}{lbm}{\skewchar\font48} +\DeclareFontShape{OMS}{lbm}{m}{n}{<->s * [.9]hlcry}{} +\DeclareFontShape{OMS}{lbm}{b}{n}{<->s * [.9]hlcdy}{} +\endinput +%% +%% End of file `omslbm.fd'. diff --git a/fonts/mtp2lite/texmf/tex/latex/mtpro2/umt2bb.fd b/fonts/mtp2lite/texmf/tex/latex/mtpro2/umt2bb.fd new file mode 100644 index 0000000000..8de8017d00 --- /dev/null +++ b/fonts/mtp2lite/texmf/tex/latex/mtpro2/umt2bb.fd @@ -0,0 +1,21 @@ +%% +%% This is file `umt2bb.fd', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% mtpro2.dtx (with options: `umt2bb') +%% +%% Copyright 1996 1997 Frank Mittelbach and David Carlisle. +%% Copyright 2001--2009 Frank Mittelbach, David Carlisle, Walter Schmidt, Mike Spivak +\ProvidesFile{umt2bb.fd}% + [2009/1/30 v2.2 + MathTimePro II Blackboard Bold (PCTeX/WaS)% +] +\DeclareFontFamily{U}{mt2bb}{\skewchar\font45}% +\DeclareFontShape{U}{mt2bb}{m}{n}{<-7>mt2bbf<7-9>mt2bbs<9->mt2bbt}{}% +\DeclareFontShape{U}{mt2bb}{m}{it}{<-7>mt2bbif<7-9>mt2bbis<9->mt2bbit}{}% +\DeclareFontShape{U}{mt2bb}{b}{n}{<-7>mt2bbdf<7-9>mt2bbds<9->mt2bbdt}{}% +\endinput +%% +%% End of file `umt2bb.fd'. diff --git a/fonts/mtp2lite/texmf/tex/latex/mtpro2/umt2hrb.fd b/fonts/mtp2lite/texmf/tex/latex/mtpro2/umt2hrb.fd new file mode 100644 index 0000000000..5eff5d29be --- /dev/null +++ b/fonts/mtp2lite/texmf/tex/latex/mtpro2/umt2hrb.fd @@ -0,0 +1,21 @@ +%% +%% This is file `umt2hrb.fd', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% mtpro2.dtx (with options: `umt2hrb') +%% +%% Copyright 1996 1997 Frank Mittelbach and David Carlisle. +%% Copyright 2001--2009 Frank Mittelbach, David Carlisle, Walter Schmidt, Mike Spivak +\ProvidesFile{umt2hrb.fd}% + [2009/1/30 v2.2 + MathTimePro II Holey Roman Bold (PCTeX/WaS)% +] +\DeclareFontFamily{U}{mt2hrb}{\skewchar\font45}% +\DeclareFontShape{U}{mt2hrb}{m}{n}{<-7>mt2hrbf<7-9>mt2hrbs<9->mt2hrbt}{}% +\DeclareFontShape{U}{mt2hrb}{m}{it}{<-7>mt2hbif<7-9>mt2hbis<9->mt2hbit}{}% +\DeclareFontShape{U}{mt2hrb}{b}{n}{<-7>mt2hrbdf<7-9>mt2hrbds<9->mt2hrbdt}{}% +\endinput +%% +%% End of file `umt2hrb.fd'. diff --git a/fonts/mtp2lite/texmf/tex/latex/mtpro2/umt2mf.fd b/fonts/mtp2lite/texmf/tex/latex/mtpro2/umt2mf.fd new file mode 100644 index 0000000000..2057c4f88a --- /dev/null +++ b/fonts/mtp2lite/texmf/tex/latex/mtpro2/umt2mf.fd @@ -0,0 +1,20 @@ +%% +%% This is file `umt2mf.fd', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% mtpro2.dtx (with options: `umt2mf') +%% +%% Copyright 1996 1997 Frank Mittelbach and David Carlisle. +%% Copyright 2001--2009 Frank Mittelbach, David Carlisle, Walter Schmidt, Mike Spivak +\ProvidesFile{umt2mf.fd}% + [2009/1/30 v2.2 + MathTimePro II Fraktur (PCTeX/WaS)% +] +\DeclareFontFamily{U}{mt2mf}{}% +\DeclareFontShape{U}{mt2mf}{m}{n}{<-7>mt2mff<7-9>mt2mfs<9->mt2mft}{}% +\DeclareFontShape{U}{mt2mf}{b}{n}{<-7>mt2bmff<7-9>mt2bmfs<9->mt2bmft}{}% +\endinput +%% +%% End of file `umt2mf.fd'. diff --git a/fonts/mtp2lite/texmf/tex/latex/mtpro2/umt2ms.fd b/fonts/mtp2lite/texmf/tex/latex/mtpro2/umt2ms.fd new file mode 100644 index 0000000000..0e1b85a3b8 --- /dev/null +++ b/fonts/mtp2lite/texmf/tex/latex/mtpro2/umt2ms.fd @@ -0,0 +1,21 @@ +%% +%% This is file `umt2ms.fd', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% mtpro2.dtx (with options: `umt2ms') +%% +%% Copyright 1996 1997 Frank Mittelbach and David Carlisle. +%% Copyright 2001--2009 Frank Mittelbach, David Carlisle, Walter Schmidt, Mike Spivak +\ProvidesFile{umt2ms.fd}% + [2009/1/30 v2.2 + MathTimePro II Script (PCTeX/WaS)% +] +\DeclareFontFamily{U}{mt2ms}{\skewchar\font42}% +\DeclareFontShape{U}{mt2ms}{m}{n}{<-7>mt2mcf<7-9>mt2mcs<9->mt2mct}{}% +\DeclareFontShape{U}{mt2ms}{m}{it}{<-7>mt2msf<7-9>mt2mss<9->mt2mst}{}% +\DeclareFontShape{U}{mt2ms}{b}{it}{<-7>mt2bmsf<7-9>mt2bmss<9->mt2bmst}{}% +\endinput +%% +%% End of file `umt2ms.fd'. diff --git a/fonts/mtp2lite/texmf/tex/plain/mtpro2/mtp2.tex b/fonts/mtp2lite/texmf/tex/plain/mtpro2/mtp2.tex new file mode 100644 index 0000000000..798c22a045 --- /dev/null +++ b/fonts/mtp2lite/texmf/tex/plain/mtpro2/mtp2.tex @@ -0,0 +1,2881 @@ +% MTP2.TEX VERSION 1.12 (April 24, 2009) +% COPYRIGHT (C) 1992, 1993, 2000, 2002, 2004-2006, 2008, 2009 BY PUBLISH OR PERISH, INC. + +% We save the initial category codes of " and @. + +\expandafter\edef\csname qqcode\string @\endcsname{\the\catcode`\"} +\expandafter\edef\csname atcode\string @\endcsname{\the\catcode`\@} + +% We used \csname...\endcsname and \string @, because we can't make @ a letter +% until we've stored its old category code. + +% Prevent file from being read twice, by testing if \s@b@ hasn't yet been defined +% (and subsequently let \s@b@ be type 8 _ ). + +\expandafter\ifx\csname s\string @b\string @\endcsname\relax\else\endinput\fi +\catcode`\@=11 +\catcode`\"=12 +\catcode`\_=8 +\let\s@b@=_ + +% We need _ active in math, so it can insert corrections in some subscripts. +% \space@ is a token that has been let equal to a space. + +\def\space@.{\futurelet\space@\relax} +\space@. % % We must have the space after the period, not a new line. +\catcode`\_=12 +\mathcode`\_="8000 +\begingroup + \catcode`\_=\active + \gdef_{\futurelet\next\s@@b} +\endgroup +\def\s@@b{\ifcat\relax\noexpand\next\expandafter\s@b@\else + \expandafter\s@@b@\fi} +\def\s@@b@#1{\s@b@{\futurelet\next\s@b@@#1}} +\def\s@b@@{% + \ifx\next\space@\def\next@. {\futurelet\next\s@b@@}\else + \def\next@.{% + \ifx\next f\mkern-\thr@@ mu\else + \ifx\next j\mkern-\tw@ mu\else + \ifx\next p\mkern-\tw@ mu\else + \ifx\next t\mkern\@ne mu\else + \ifx\next y\mkern-\@ne mu\else + \ifx\next A\mkern-\tw@ mu\else + \ifx\next B\mkern-\@ne mu\else + \ifx\next D\mkern-\@ne mu\else + \ifx\next H\mkern-\@ne mu\else + \ifx\next I\mkern-\@ne mu\else + \ifx\next K\mkern-\@ne mu\else + \ifx\next L\mkern-\@ne mu\else + \ifx\next M\mkern-\@ne mu\else + \ifx\next P\mkern-\@ne mu\else + \ifx\next X\mkern-\tw@ mu\else + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}% + \fi + \next@.} + +% Definitions for characters on MT2MI... fonts + +\mathchardef\Gamma="0180 +\mathchardef\Delta="0181 +\mathchardef\Theta="0182 +\mathchardef\Lambda="0183 +\mathchardef\Xi="0184 +\mathchardef\Pi="0185 +\mathchardef\Sigma="0186 +\mathchardef\Upsilon="0187 +\mathchardef\Phi="0188 +\mathchardef\Psi="0189 +\mathchardef\Omega="017F +\mathchardef\varGamma="0100 +\mathchardef\varDelta="0101 +\mathchardef\varTheta="0102 +\mathchardef\varLambda="0103 +\mathchardef\varXi="0104 +\mathchardef\varPi="0105 +\mathchardef\varSigma="0106 +\mathchardef\varUpsilon="0107 +\mathchardef\varPhi="0108 +\mathchardef\varPsi="0109 +\mathchardef\varOmega="010A +\mathchardef\varkappa="017E +\mathchardef\upalpha="0192 +\mathchardef\upbeta="0193 +\mathchardef\upgamma="0194 +\mathchardef\updelta="0195 +\mathchardef\upepsilon="0196 +\mathchardef\upzeta="0197 +\mathchardef\upeta="0198 +\mathchardef\uptheta="0199 +\mathchardef\upiota="019A +\mathchardef\upkappa="019B +\mathchardef\uplambda="019C +\mathchardef\upmu="019D +\mathchardef\upnu="019E +\mathchardef\upxi="019F +\mathchardef\uppi="01A0 +\mathchardef\uprho="01A1 +\mathchardef\upsigma="01A2 +\mathchardef\uptau="01A3 +\mathchardef\upupsilon="01A4 +\mathchardef\upphi="01A5 +\mathchardef\upchi="01A6 +\mathchardef\uppsi="01A7 +\mathchardef\upomega="01A8 +\mathchardef\upvarepsilon="01A9 +\mathchardef\upvartheta="01AA +\mathchardef\upvarpi="01AB +\mathchardef\upvarrho="01AC +\mathchardef\upvarsigma="01AD +\mathchardef\upvarphi="01AE +\mathchardef\upvarkappa="01AF +\mathchardef\varbeta="01B0 +\mathchardef\upvarbeta="01B1 +\mathchardef\vardelta="01B2 +\mathchardef\upvardelta="01B3 +\mathchardef\dagger="218E +\mathchardef\ddagger="218F +\mathchardef\dbar="01B5 +\mathchardef\updbar="01B6 + +\def\dag{\mathhexbox18E} +\def\ddag{\mathhexbox18F} +\def\S{\mathhexbox190} +\def\P{\mathhexbox191} +\def\zstraight{\mathcode`\z="717A } % default, by INITEX +\def\zswash{\mathcode`\z="71B4 } + +\mathcode`\(="412E +\mathcode`\)="512F +\delcode`\(="12E300 +\delcode`\)="12F301 +\mathcode`\[="418C +\mathcode`\]="518D +\delcode`\[="18C302 +\delcode`\]="18D303 +\mathcode`\!="518A +\mathcode`\?="518B +\mathcode`\0="7130 +\mathcode`\1="7131 +\mathcode`\2="7132 +\mathcode`\3="7133 +\mathcode`\4="7134 +\mathcode`\5="7135 +\mathcode`\6="7136 +\mathcode`\7="7137 +\mathcode`\8="7138 +\mathcode`\9="7139 +\def\curlybraces{\def\lbrace{\delimiter"4266308 }\let\{=\lbrace + \def\rbrace{\delimiter"5267309 }\let\}=\rbrace} +\curlybraces +\def\straightbraces{\def\lbrace{\delimiter"42B93AE }\let\{=\lbrace\let\lcbrace=\lbrace + \def\rbrace{\delimiter"52BA3AF }\let\}=\rbrace\let\rcbrace=\rbrace} +\def\morphedbraces{\def\lbrace{\delimiter"42663B6 }\let\{=\lbrace\let\lcbrace=\lbrace + \def\rbrace{\delimiter"52673B7 }\let\}=\rbrace\let\rcbrace=\rbrace} + + + +% Old style numbers are no longer on the math italic font, calligraphic letters +% not on the symbol font. + +% We let \undefined@ be always undefined, just in case some one defines \undefined. + +\let\cal=\undefined@ +\let\mit=\undefined@ +\let\oldstyle=\undefined@ +\ifx\amstexloaded@\relax + \let\oldnos=\undefined@ + \let\Cal=\undefined@ +\fi + +% Definitions for characters on MT2SY... fonts + +\mathchardef\triangleleft="2247 +\mathchardef\triangleright="2246 +\mathchardef\comp="2242 +\mathchardef\setdif="2258 +\mathchardef\cupprod="2259 +\mathchardef\capprod="225A +\mathchardef\Relbar="3248 +\mathchardef\colon="6257 +\mathchardef\simarrow="32B0 +\mathchardef\varland="22B2 +\mathchardef\contraction="22B3 +\mathchardef\coloneq="32B4 +\mathchardef\eqcolon="32B5 +\mathchardef\hateq="32B6 +\mathchardef\hbar="0284 +\mathchardef\notin="3285 +\mathchardef\angle="0286 +\mathchardef\doteq="3287 +\mathchardef\models="3288 +\mathchardef\bowtie="3289 +\mathchardef\cong="328A +\mathchardef\hookleftarrow="328B +\mathchardef\hookrightarrow="328C +\mathchardef\longleftarrow="328D +\mathchardef\longrightarrow="328E +\mathchardef\Longleftarrow="328F +\mathchardef\Longrightarrow="3290 +\mathchardef\mapsto="3291 +\mathchardef\longmapsto="3292 +\mathchardef\longleftrightarrow="3293 +\mathchardef\Longleftrightarrow="3294 +\mathchardef\rightleftharpoons="3295 +\mathchardef\notless="3296 \let\nless=\notless +\mathchardef\notleq="3297 \let\nleq=\notleq +\mathchardef\notprec="3298 \let\nprec=\notprec +\mathchardef\notpreceq="3299 \let\npreceq=\notpreceq +\mathchardef\notsubset="329A \let\nsubset=\notsubset +\mathchardef\notsubseteq="329B \let\nsubseteq=\notsubseteq +\mathchardef\notsqsubseteq="329C \let\nsqsubseteq=\notsqsubseteq +\mathchardef\notgr="329D \let\ngtr=\notgr +\mathchardef\notgeq="329E \let\ngeq=\notgeq +\mathchardef\notsucc="329F \let\nsucc=\notsucc +\mathchardef\notsucceq="32A0 \let\nsucceq=\notsucceq +\mathchardef\notsupset="32A1 \let\nsupset=\notsupset +\mathchardef\notsupseteq="32A2 \let\nsupseteq=\notsupseteq +\mathchardef\notsqsupseteq="32A3 \let\nsqsupseteq=\notsqsupseteq +\mathchardef\neq="32A4 \let\ne=\neq +\mathchardef\notequiv="32A5 +\mathchardef\notsim="32A6 +\mathchardef\notsimeq="32A7 +\mathchardef\notapprox="32A8 +\mathchardef\notcong="32A9 +\mathchardef\notasymp="32AA +\mathchardef\digamma="02B1 +\mathchardef\hslash="02AF +\mathchardef\openclubsuit="0280 +\mathchardef\shadedclubsuit="0281 +\mathchardef\openspadesuit="0282 +\mathchardef\shadedspadesuit="0283 +\mathchardef\circdashbullet="32B7 +\mathchardef\bulletdashcirc="32B8 + +\mathcode`\+="2243 +\mathcode`\=="3244 +\mathcode`\;="6249 +\mathcode`\:="3257 + +\def\dotup{\mathaccent"0254 } +\def\ddotup{\mathaccent"0255 } +\def\oacc{\mathaccent"0256 } \let\mathring=\oacc +\def\wbar{\mathaccent"0278 } +\def\wwbar{\mathaccent"0253 } +\def\what{\mathaccent"0279 } +\def\wtilde{\mathaccent"027A } +\def\wcheck{\mathaccent"027B } +\def\vec{\mathaccent"0245 } +\def\t#1#2{{\edef\next@{\the\font}\the\textfont\tw@\accent"41 \next@#1#2}} + +% The accents on MT2SY... fonts are not in same position as on the text fonts. +% We store old values, in case they come from amstex, so aren't simply \mathaccent... + +\let\@grave@\grave +\let\@acute@\acute +\let\@check@\check +\let\@breve@\breve +\let\@bar@\bar +\let\@hat@\hat +\let\@dot@\dot +\let\@tilde@\tilde +\let\@ddot@\ddot +\def\grave{\ifnum\fam=\m@ne\mathaccent"024A \else\@grave@\fi} +\def\acute{\ifnum\fam=\m@ne\mathaccent"024B \else\@acute@\fi} +\def\check{\ifnum\fam=\m@ne\mathaccent"024C \else\@check@\fi} +\def\breve{\ifnum\fam=\m@ne\mathaccent"024D \else\@breve@\fi} +\def\bar{\ifnum\fam=\m@ne\mathaccent"024E \else\@bar@\fi} +\def\hat{\ifnum\fam=\m@ne\mathaccent"024F \else\@hat@\fi} +\def\dot{\ifnum\fam=\m@ne\mathaccent"0250 \else\@dot@\fi} +\def\tilde{\ifnum\fam=\m@ne\mathaccent"0251 \else\@tilde@\fi} +\def\ddot{\ifnum\fam=\m@ne\mathaccent"0252 \else\@ddot@\fi} +\def\dddot{\mathaccent"02AB } +\def\ddddot{\mathaccent"02AC } +\def\dddotup{\mathaccent"02AD} +\def\ddddotup{\mathaccent"02AE } + +% We redefine how ' and '' and ''', etc., work, so that there will be +% extra space before the first ' mark. Also, for constructions like +% f''^3, we want extra space after the last prime. Spacing is determined +% by counters \firstprimesep and \nonprimesep, with default +% values 2 and 7. \MTP resets \tenthpt@. + +\newif\iffirstprime@ +\newdimen\tenthpt@ +\tenthpt@=.1\p@ +\newcount\firstprimesep +\firstprimesep=2 +{\catcode`\'=\active \gdef'{^\bgroup\firstprime@true\prim@s}} +\def\prim@s{\iffirstprime@\kern\firstprimesep\tenthpt@\fi + \prime\firstprime@false\futurelet\next\pr@m@s} +\newcount\nonprimesep +\nonprimesep=7 +\def\pr@m@s{\ifx'\next\def\next@##1{\prim@s}\else + \ifx^\next\def\next@##1##2{\kern\nonprimesep\tenthpt@##2\egroup}\else + \let\next@\egroup\fi\fi\next@} + +% New definitions for the Ams-TeX constructions \Hat, ... (the command +% \MTP resets \newmu@). +% \getpoints@ from amstex.tex will be needed later anyway, so we (re)define it here. + +\ifx\amstexloaded@\relax\else + \alloc@0\count\countdef\insc@unt\pointcount@ % can't say \newcount, since that's outer +\fi +\def\getpoints@#1.#2\getpoints@{\pointcount@#1\relax} + +\ifx\amstexloaded@\relax + \alloc@1\dimen\dimendef\insc@unt\newmu@ % can't say \newdimen, since that's \outer + \newmu@5555\p@ + \def\dimentomu@{% + \multiply\accentdimen@100 + \expandafter\getpoints@\the\accentdimen@\getpoints@ + \multiply\pointcount@18 + \divide\pointcount@\@m + \dimen@\newmu@ + \dimen@ii5555\p@ + \divide\dimen@\dimen@ii + \divide\pointcount@\dimen@ + \global\accentmu@\pointcount@ + }% + \Makeacc@\Hat{24F}% + \Makeacc@\Check{24C}% + \Makeacc@\Tilde{251}% + \Makeacc@\Acute{24B}% + \Makeacc@\Grave{24A}% + \Makeacc@\Dot{250}% + \Makeacc@\Ddot{252}% + \Makeacc@\Dotup{254}% + \Makeacc@\Ddotup{255}% + \Makeacc@\Breve{24D}% + \Makeacc@\Bar{24E}% + \Makeacc@\Wbar{278 }% + \Makeacc@\Wwbar{253 }% + \Makeacc@\What{279 }% + \Makeacc@\Wtilde{27A }% + \Makeacc@\Wcheck{27B }% + \Makeacc@\Wwhat{380 }% + \Makeacc@\Wwtilde{381 }% + \Makeacc@\Wwcheck{37D }% + \Makeacc@\Oacc{256}% + \Makeacc@\Dddot{2AB } + \Makeacc@\Ddddot{2AC } + \Makeacc@\Dddotup{2AD} + \Makeacc@\Ddddotup{2AE } + \def\Vec{\relax\ifmmode\DN@{\mathaccent@{"0245 }}\else %%% Can't use \RIfM@ here!!! + \DN@{\nonmatherr@\Vec}\fi\next@}% +\fi + + +% We use \alloc@@ instead of \alloc@ for loading fonts, to disable writing to log file. + +\def\alloc@@#1#2#3#4#5{\global\advance\count1#1by\@ne + \ch@ck#1#4#2\allocationnumber=\count1#1 + \global#3#5=\allocationnumber} +\newfam\mbffam + +% Make sure that periods in math constructions come from the new math fonts, +% not the text fonts. + +\def\vdots{\vbox{\baselineskip4\p@\lineskiplimit\z@ + \kern6\p@\hbox{$\m@th.$}\hbox{$\m@th.$}\hbox{$\m@th.$}}} +\def\ddots{\mathinner{\mkern1mu\raise7\p@\vbox{\kern7\p@ + \hbox{$\m@th.$}}\mkern2mu + \raise4\p@\hbox{$\m@th.$}\mkern2mu\raise\p@\hbox{$\m@th.$}\mkern1mu}} + +% Similarly for AmS-TeX, making sure letters come from \textfont0. + +\ifx\amstexloaded@\relax + \def\varinjlim{\mathop{\vtop{\ialign{##\crcr + \hfil\the\textfont\z@ lim\hfil\crcr + \noalign{\nointerlineskip}\rightarrowfill\crcr + \noalign{\nointerlineskip\kern-\ex@}\crcr}}}} + \def\varprojlim{\mathop{\vtop{\ialign{##$$\crcr + \hfil\the\textfont\z@ lim\hfil\crcr + \noalign{\nointerlineskip}\leftarrowfill\crcr + \noalign{\nointerlineskip\kern-\ex@}\crcr}}}} + \def\varliminf{\mathop{\underline{\vrule height\z@ depth.2ex width\z@ + \hbox{\the\textfont\z@ lim}}}} + \def\varlimsup{\mathop{\overline{\hbox{\the\textfont\z@ lim}}}} + \def\spdot{^{\hbox{\raise\ex@\hbox{$\m@th.$}}}} + \def\spddot{^{\hbox{\raise\ex@\hbox{$\m@th..$}}}} + \def\spdddot{^{\hbox{\raise\ex@\hbox{$\m@th...$}}}} + \def\spddddot{^{\hbox{\raise\ex@\hbox{$\m@th....$}}}} +\fi + +% Allow \uproot and \leftroot with \sqrt and \root. The position +% of the root is more complicated than in plain TeX, mainly +% because there are several different fonts contributing radicals. + +\newcount\uproot@ +\newcount\leftroot@ +\ifx\amstexloaded@\relax\else + \def\nonmatherr@#1{\errmessage{\noexpand#1allowed only in math mode}} +\fi +\def\uproot#1{\relax\ifmmode\uproot@#1\relax\else\nonmatherr@\uproot\fi} +\def\leftroot#1{\relax\ifmmode\leftroot@#1\relax\else\nonmatherr@\leftroot\fi} +\def\UPROOT#1{\relax\ifmmode\uproot@#1\relax\else\nonmatherr@\UPROOT\fi} +\def\LEFTROOT#1{\relax\ifmmode\leftroot@#1\relax\else\nonmatherr@\LEFTROOT\fi} +\def\root#1\of#2{\setbox\rootbox\hbox{$\m@th\scriptscriptstyle{#1}$}% + \mathpalette\r@@t{#2}} +\def\r@@t#1#2{\setbox\z@\hbox{$\uproot@\z@\leftroot\z@\m@th#1\sqrt{#2}$}% + \dimen@\ht\z@\advance\dimen@-\dp\z@ + \dimen@ii\dimen@ + \ifdim\dimen@>30\p@\advance\dimen@ii-\sixt@@n\p@\else + \ifdim\dimen@>24\p@\advance\dimen@ii-8\p@\else + \ifdim\dimen@>18\p@\advance\dimen@ii-6\p@\else + \ifdim\dimen@>12\p@\advance\dimen@ii-4\p@\else + \ifdim\dimen@>10\p@\advance\dimen@ii-\tw@\p@\fi\fi\fi\fi\fi + \setbox\tw@\hbox{$\m@th#1\mskip\uproot@ mu$}\advance\dimen@ii by1.667\wd\tw@ + \mkern-\leftroot@ mu\mkern5mu\raise.6\dimen@ii\copy\rootbox + \mkern-8mu\mkern\leftroot@ mu\box\z@\leftroot\z@\uproot\z@} + +% Definitions for characters on the extension fonts + +\def\wwhat{\mathaccent"0380 } +\def\wwtilde{\mathaccent"0381 } +\def\wwcheck{\mathaccent"037D } +\mathchardef\bigcupprod="138E +\mathchardef\bigcapprod="1390 +\mathchardef\iintop="1392 \def\iint{\iintop\nolimits} +\mathchardef\iiintop="1394 \def\iiint{\iiintop\nolimits} +\mathchardef\oiintop="1396 \def\oiint{\oiintop\nolimits} +\mathchardef\oiiintop="1398 \def\oiiint{\oiiintop\nolimits} +\mathchardef\cwointop="139A \def\cwoint{\cwointop\nolimits} +\mathchardef\awointop="139C \def\awoint{\awointop\nolimits} +\mathchardef\cwintop="139E \def\cwint{\cwintop\nolimits} +\mathchardef\barintop="13AA \def\barint{\barintop\nolimits} +\mathchardef\slashintop="13AC \def\slashint{\slashintop\nolimits} +\mathchardef\bigvarland="13A6 +\mathchardef\bigast="13A8 + +% Parts for braces are in different places on the first extension font +% and we use specifically designed middles, instead of trying to construct +% them out of end pieces. + +\mathchardef\mbraceu="386 +\mathchardef\mbraced="387 +\mathchardef\braceld="382 +\mathchardef\bracerd="383 +\mathchardef\bracelu="384 +\mathchardef\braceru="385 +\def\downbracefill{$\m@th\braceld\leaders\vrule\hfill\mbraced + \leaders\vrule\hfill\bracerd$}% +\def\upbracefill{$\m@th\bracelu\leaders\vrule\hfill\mbraceu + \leaders\vrule\hfill\braceru$}% + +% Tops and bottoms for extensible braces not the same for left and right +% in mt2exa, so need new definitions for the following. + +\def\lmoustache{\delimiter"4382389 } +\def\rmoustache{\delimiter"538338A } +\def\lgroup{\delimiter"412E33A } +\def\rgroup{\delimiter"512F33B } +\def\bracevert{\delimiter"38D38D } + +\mathchardef\upsum="1350 +\mathchardef\upprod="1351 +\mathchardef\upcoprod="1360 +\mathchardef\slsum="13A0 +\mathchardef\slprod="13A2 +\mathchardef\slcoprod="13A4 +\def\sloperators{\let\sum\slsum\let\prod\slprod\let\coprod\slcoprod} +\def\upoperators{\let\sum\upsum\let\prod\upprod\let\coprod\upcoprod} +\upoperators + +% Now come the macros for dealing with the multiple extension fonts. +% They assume that \MTEXA@, \MTEXE@, \MTEXF@, and \MTEXG@ can +% be used to refer to the four extension fonts that have been loaded. + +\newbox\prePbox@ +\newbox\Pbox@ +\newif\ifPEX@ +\def\PEX@#1{\setbox\Pbox@\vbox{$$\left.\vcenter{\copy\prePbox@}\right)$$}% + \setbox\Pbox@\vbox{\unvbox\Pbox@\unskip\unpenalty + \setbox\Pbox@\lastbox + \setbox\Pbox@\hbox{\unhbox\Pbox@\setbox\Pbox@\lastbox + \setbox\Pbox@\hbox{\unhbox\Pbox@\setbox\Pbox@\lastbox + \setbox\z@\hbox{#1}% + \ifdim\dp\Pbox@>\dp\z@\global\PEX@true\else + \global\PEX@false\fi}}}} +\def\EXtest@#1{\setbox\prePbox@\hbox{$\displaystyle{#1}$}% + \PEX@{\MTEXA@\char32}% + \ifPEX@ + {\textfont3=\MTEXE@\PEX@{\MTEXE@\char12}}% + \ifPEX@ + {\textfont3=\MTEXF@\PEX@{\MTEXF@\char12}}% + \ifPEX@ + \def\EXtest@@{\textfont3=\MTEXG@}% + \else + \def\EXtest@@{\textfont3=\MTEXF@}% + \fi + \else + \def\EXtest@@{\textfont3=\MTEXE@}% + \fi + \else + \def\EXtest@@{\textfont3=\MTEXA@}% + \fi} + +\def\vc@nt@r#1{\hbox{$\vcenter{\hbox{$\displaystyle{#1}$}}$}} +\newbox\LRbox@ +\def\LEFTRIGHT@#1#2#3{\setbox\LRbox@\vc@nt@r{#3}% + \EXtest@{\vc@nt@r{#3}}% + \vcenter{\hbox{\curlybraces\EXtest@@$\displaystyle\left#1\box\LRbox@\right#2$}}}% +\def\PARENS#1{\LEFTRIGHT@(){#1}}% + + +\newif\ifspecdelim@ +\def\specdelim@#1{\ifx#1(\specdelim@true + \else\ifx#1)\specdelim@true + \else\ifx#1<\specdelim@true + \else\ifx#1\langle\specdelim@true + \else\ifx#1>\specdelim@true + \else\ifx#1\rangle\specdelim@true + \else\ifx#1/\specdelim@true + \else\ifx#1\backslash\specdelim@true + \else\ifx#1\lbrace\specdelim@true + \else\ifx#1\rbrace\specdelim@true + \else\specdelim@false\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} + +\def\LEFTRIGHT#1#2#3{% + \specdelim@#1% + \ifspecdelim@ + \LEFTRIGHT@#1.{\vc@nt@r{#3}}% + \else + \left#1 + \vc@nt@r{#3}% + \right.% + \fi + \kern-2\nulldelimiterspace\mskip-\thinmuskip + \specdelim@#2% + \ifspecdelim@ + \LEFTRIGHT@.#2{\vphantom{\vc@nt@r{#3}}}% + \else + \left.% + \vphantom{\vc@nt@r{#3}}% + \right#2% + \fi} +\def\vcorrection#1{\vrule width\z@ height#1\relax} +\def\ccases#1{\LEFTRIGHT\lbrace.{\,\vcenter{\normalbaselines\m@th + \ialign{$##\hfil$&\quad##\hfil\crcr#1\crcr}}}} +\ifx\amstexloaded@\relax + \def\ccases#1\endccases{\bgroup\spreadmlines@\jot\LEFTRIGHT\lbrace.{\matrix + \format\l&\quad\l\\#1\endmatrix}\egroup}% +\fi + +\newbox\HATbox@ +\def\widehat#1{\setbox\HATbox@\hbox{$\displaystyle{#1}$}% + \setbox\z@\hbox{\MTEXF@;}% + \ifdim\wd\HATbox@>\wd\z@ + \def\HAT@{\textfont3=\MTEXG@}% + \else + \setbox\z@\hbox{\MTEXE@9}% + \ifdim\wd\HATbox@>\wd\z@ + \def\HAT@{\textfont3=\MTEXF@}% + \else + \setbox\z@\hbox{\MTEXA@ d}% + \ifdim\wd\HATbox@>\wd\z@ + \def\HAT@{\textfont3=\MTEXE@}% + \else + \def\HAT@{\textfont3=\MTEXA@}% + \fi + \fi + \fi + \hbox{\HAT@$\mathaccent"0362 {\box\HATbox@}$}}% +\def\widehatdown#1#2{\setbox\HATbox@\hbox{$\displaystyle{#2}$}% + \setbox\z@\hbox{\MTEXF@;}% + \ifdim\wd\HATbox@>\wd\z@ + \def\HAT@{\textfont3=\MTEXG@}% + \else + \setbox\z@\hbox{\MTEXE@9}% + \ifdim\wd\HATbox@>\wd\z@ + \def\HAT@{\textfont3=\MTEXF@}% + \else + \setbox\z@\hbox{\MTEXA@ d}% + \ifdim\wd\HATbox@>\wd\z@ + \def\HAT@{\textfont3=\MTEXE@}% + \else + \def\HAT@{\textfont3=\MTEXA@}% + \fi + \fi + \fi + \dimen@\ht\HATbox@\advance\dimen@-#1\relax + \ht\HATbox@\dimen@ + \hbox{\HAT@$\mathaccent"0362 {\box\HATbox@}$}}% +\newbox\TDbox@ +\def\widetilde#1{\setbox\TDbox@\hbox{$\displaystyle{#1}$}% + \setbox\z@\hbox{\MTEXF@ K}% + \ifdim\wd\TDbox@>\wd\z@ + \def\TD@{\textfont3=\MTEXG@}% + \else + \setbox\z@\hbox{\MTEXE@ I}% + \ifdim\wd\TDbox@>\wd\z@ + \def\TD@{\textfont3=\MTEXF@}% + \else + \setbox\z@\hbox{\MTEXA@ d}% + \ifdim\wd\TDbox@>\wd\z@ + \def\TD@{\textfont3=\MTEXE@}% + \else + \def\TD@{\textfont3=\MTEXA@}% + \fi + \fi + \fi + \hbox{\TD@$\mathaccent"0365 {\box\TDbox@}$}} +\def\widetildedown#1#2{\setbox\TDbox@\hbox{$\displaystyle{#2}$}% + \setbox\z@\hbox{\MTEXF@ K}% + \ifdim\wd\TDbox@>\wd\z@ + \def\TD@{\textfont3=\MTEXG@}% + \else + \setbox\z@\hbox{\MTEXE@ I}% + \ifdim\wd\TDbox@>\wd\z@ + \def\TD@{\textfont3=\MTEXF@}% + \else + \setbox\z@\hbox{\MTEXA@ d}% + \ifdim\wd\TDbox@>\wd\z@ + \def\TD@{\textfont3=\MTEXE@}% + \else + \def\TD@{\textfont3=\MTEXA@}% + \fi + \fi + \fi + \dimen@\ht\TDbox@\advance\dimen@-#1\relax + \ht\TDbox@\dimen@ + \hbox{\TD@$\mathaccent"0365 {\box\TDbox@}$}} +\newbox\CHbox@ +\def\widecheck#1{\setbox\CHbox@\hbox{$\displaystyle{#1}$}% + \setbox\z@\hbox{\MTEXF@[}% + \ifdim\wd\CHbox@>\wd\z@ + \def\CHECK@{\textfont3=\MTEXG@}% + \else + \setbox\z@\hbox{\MTEXE@ Y}% + \ifdim\wd\CHbox@>\wd\z@ + \def\CHECK@{\textfont3=\MTEXF@}% + \else + \setbox\z@\hbox{\MTEXA@ z}% + \ifdim\wd\CHbox@>\wd\z@ + \def\CHECK@{\textfont3=\MTEXE@}% + \else + \def\CHECK@{\textfont3=\MTEXA@}% + \fi + \fi + \fi + \hbox{\CHECK@$\mathaccent"037A {\box\CHbox@}$}}% +\def\arc{\mathaccent"03C3 } +\def\Arc{\mathaccent"03BE } +\newbox\ARCbox@ +\def\widearc#1{\setbox\ARCbox@\hbox{$\displaystyle{#1}$}% + \setbox\z@\hbox{\MTEXF@\char'267}% + \ifdim\wd\ARCbox@>\wd\z@ + \hbox{\textfont3=\MTEXG@ $\mathaccent"03B1 {\box\ARCbox@}$}% + \else + \setbox\z@\hbox{\MTEXE@\char'326}% + \ifdim\wd\ARCbox@>\wd\z@ + \hbox{\textfont3=\MTEXF@ $\mathaccent"03B1 {\box\ARCbox@}$}% + \else + \setbox\z@\hbox{\MTEXA@ \char'302}% + \ifdim\wd\ARCbox@>\wd\z@ + \hbox{\textfont3=\MTEXE@ $\mathaccent"03D0 {\box\ARCbox@}$}% + \else + \hbox{\textfont3=\MTEXA@ $\mathaccent"03BF {\box\ARCbox@}$}% + \fi + \fi + \fi} + +\def\widecheckdown#1#2{\setbox\CHbox@\hbox{$\displaystyle{#2}$}% + \setbox\z@\hbox{\MTEXF@[}% + \ifdim\wd\CHbox@>\wd\z@ + \def\CHECK@{\textfont3=\MTEXG@}% + \else + \setbox\z@\hbox{\MTEXE@ Y}% + \ifdim\wd\CHbox@>\wd\z@ + \def\CHECK@{\textfont3=\MTEXF@}% + \else + \setbox\z@\hbox{\MTEXA@ z}% + \ifdim\wd\CHbox@>\wd\z@ + \def\CHECK@{\textfont3=\MTEXE@}% + \else + \def\CHECK@{\textfont3=\MTEXA@}% + \fi + \fi + \fi + \dimen@\ht\CHbox@\advance\dimen@-#1\relax + \ht\CHbox@\dimen@ + \hbox{\CHECK@$\mathaccent"037A {\box\CHbox@}$}}% + +\def\undercbrace#1{\setbox\z@\hbox{$\displaystyle#1$}% + \dimen@\tMTPsize\relax + \expandafter\getpoints@\the\dimen@\getpoints@ + \dimen@\wd\z@ + \divide\dimen@\pointcount@ + \expandafter\getpoints@\the\dimen@\getpoints@ + \ifnum\pointcount@<4 + \ifdim\wd\z@<12pt + \def\thebrace@{\hbox{\MTEXE@\char144}}% + \else\ifdim\wd\z@<15pt + \def\thebrace@{\hbox{\MTEXE@\char145}}% + \else\ifdim\wd\z@<18pt + \def\thebrace@{\hbox{\MTEXE@\char146}}% + \else\ifdim\wd\z@<21pt + \def\thebrace@{\hbox{\MTEXE@\char147}}% + \else\ifdim\wd\z@<24pt + \def\thebrace@{\hbox{\MTEXE@\char148}}% + \else\ifdim\wd\z@<27pt + \def\thebrace@{\hbox{\MTEXE@\char149}}% + \else\ifdim\wd\z@<30pt + \def\thebrace@{\hbox{\MTEXE@\char150}}% + \else\ifdim\wd\z@<33pt + \def\thebrace@{\hbox{\MTEXE@\char151}}% + \else + \def\thebrace@{\hbox{\MTEXE@\char152}}% + \fi\fi\fi\fi\fi\fi\fi\fi + \else + \ifnum\pointcount@<12 + \advance\pointcount@149 + \def\thebrace@{\hbox{\MTEXE@\char\pointcount@}}% + \else + \ifnum\pointcount@<24 + \advance\pointcount@132 + \def\thebrace@{\hbox{\MTEXF@\char\pointcount@}}% + \else + \advance\pointcount@120 + \ifnum\pointcount@>149 \pointcount@149 \fi + \def\thebrace@{\hbox{\MTEXG@\char\pointcount@}}% + \fi + \fi + \fi + \mathop{\vtop{\ialign{\hfil##\hfil\cr$\displaystyle#1$\crcr\noalign + {\vskip3pt\nointerlineskip}\thebrace@\cr\noalign{\kern3pt}}}}\limits}% +\def\overcbrace#1{\setbox\z@\hbox{$\displaystyle#1$}% + \dimen@\tMTPsize\relax + \expandafter\getpoints@\the\dimen@\getpoints@ + \dimen@\wd\z@ + \divide\dimen@\pointcount@ + \expandafter\getpoints@\the\dimen@\getpoints@ + \ifnum\pointcount@<4 + \ifdim\wd\z@<12pt + \def\thebrace@{\hbox{\MTEXE@\char176}}% + \else\ifdim\wd\z@<15pt + \def\thebrace@{\hbox{\MTEXE@\char177}}% + \else\ifdim\wd\z@<18pt + \def\thebrace@{\hbox{\MTEXE@\char178}}% + \else\ifdim\wd\z@<21pt + \def\thebrace@{\hbox{\MTEXE@\char179}}% + \else\ifdim\wd\z@<24pt + \def\thebrace@{\hbox{\MTEXE@\char180}}% + \else\ifdim\wd\z@<27pt + \def\thebrace@{\hbox{\MTEXE@\char181}}% + \else\ifdim\wd\z@<30pt + \def\thebrace@{\hbox{\MTEXE@\char182}}% + \else\ifdim\wd\z@<33pt + \def\thebrace@{\hbox{\MTEXE@\char183}}% + \else + \def\thebrace@{\hbox{\MTEXE@\char184}}% + \fi\fi\fi\fi\fi\fi\fi\fi + \else + \ifnum\pointcount@<12 + \advance\pointcount@181 + \def\thebrace@{\hbox{\MTEXE@\char\pointcount@}}% + \else + \ifnum\pointcount@<24 + \advance\pointcount@148 + \def\thebrace@{\hbox{\MTEXF@\char\pointcount@}}% + \else + \advance\pointcount@136 + \ifnum\pointcount@>165 \pointcount@165 \fi + \def\thebrace@{\hbox{\MTEXG@\char\pointcount@}}% + \fi + \fi + \fi + \mathop{\vbox{\ialign{\hfil##\hfil\cr\noalign{\kern3\p@}\thebrace@\crcr + \noalign{\kern3\p@\nointerlineskip}$\displaystyle#1$\crcr}}}\limits}% +\ifx\amstexloaded@\relax + \def\undersetcbrace#1\to#2{\undercbrace{#2}_{#1}} + \def\oversetcbrace#1\to#2{\undercbrace{#2}_{#1}} +\fi + +\newbox\preSbox@ +\newbox\Sbox@ +\newif\ifSQEX@ +\def\SQEX@#1{\setbox\Sbox@\vbox{$$\radical"270370{\copy\preSbox@}$$}% + \setbox\Sbox@\vbox{\unvbox\Sbox@\unskip\unpenalty + \setbox\Sbox@\lastbox\setbox\Sbox@\hbox{\unhbox\Sbox@\setbox\Sbox@\lastbox + \setbox\Sbox@\hbox{\unhbox\Sbox@\setbox\Sbox@\lastbox\setbox\Sbox@\lastbox + \setbox\z@\hbox{#1}% + \ifdim\dp\Sbox@>\dp\z@\global\SQEX@true\else + \global\SQEX@false\fi}}}} +\newcount\SQcount@ +\def\SQtest@#1{\setbox\preSbox@\hbox{$\displaystyle{#1}$}% + \SQEX@{\MTEXA@ s}% + \ifSQEX@ + {\textfont3=\MTEXE@\SQEX@{\MTEXE@ u}}% + \ifSQEX@ + {\textfont3=\MTEXF@\SQEX@{\MTEXF@ u}}% + \ifSQEX@ + \def\SQtest@@{\textfont3=\MTEXG@}\global\SQcount@3 + \else + \def\SQtest@@{\textfont3=\MTEXF@}\global\SQcount@2 + \fi + \else + \def\SQtest@@{\textfont3=\MTEXE@}\global\SQcount@1 + \fi + \else + \def\SQtest@@{\textfont3=\MTEXA@}\global\SQcount@0 + \fi} +\newbox\SQRTbox@ +\def\SQRT#1{\setbox\SQRTbox@\hbox{$\displaystyle{#1}$}% + \SQtest@{#1}% + \hbox{\SQtest@@$\displaystyle\radical"270370{\box\SQRTbox@}$}} +\def\ROOT#1\OF#2{\setbox\rootbox\hbox{$\m@th\scriptscriptstyle{#1}$}% + \mathpalette\R@@T{#2}} +\def\R@@T#1#2{\setbox\z@\hbox{$\uproot@\z@\leftroot\z@\m@th#1\SQRT{#2}$}% + \dimen@\ht\z@\advance\dimen@-\dp\z@ + \dimen@ii\dimen@ + \setbox\tw@\hbox{$\m@th#1\mskip\uproot@ mu$}\advance\dimen@ii by1.667\wd\tw@ + \setbox\tw@\hbox{$\m@th#1\mskip10mu$}%\advance\dimen@ by1.667\wd\tw@ + \ifcase\SQcount@\advance\dimen@3\wd\tw@\or\advance\dimen@1.5\wd\tw@\or + \advance\dimen@\wd\tw@\fi + \mkern1mu\kern.13\dimen@\mkern-\leftroot@ mu + \raise.44\dimen@ii\copy\rootbox + \mkern-1mu\kern-.13\dimen@\mkern\leftroot@ mu\box\z@\kern-\wd\rootbox + \leftroot\z@\uproot\z@} + +% Now come the macros for the extra large symbols. They assume that +% \MTXL@ and \MTXXXL@ refer to the fonts mt2xl and mt2xxxl that have been loaded. + +% \FNSS@ is \futurelet\next skipping spaces before the next token + +\def\FNSS@#1{\let\FNSS@@#1\futurelet\next\FNSS@@@} +\def\FNSS@@@{\ifx\next\space@\def\FNSS@@@@. {\futurelet\next\FNSS@@@}\else + \def\FNSS@@@@.{\FNSS@@}\fi\FNSS@@@@.} + +{\catcode`\_=12 + \global\let\sbxii@=_} +{\catcode`\_=8 + \global\let\sbviii@=_} + +\newcount\limtype@ % 0 when \limits is used, 1 when \nolimits is used +\newcount\xlfont@ % 0 if using mt2xl, 1 if using mt2xxxl +\newcount\xlposition@ % position of character (or first half of character) on mt2xl or mt2xxxl +\newcount\xlposition@ii % if non-zero, position of other half of character +\newcount\optype@ % 0 for operators needing no italic correction, 1 for others +\newcount\x@count % 0 for \XL, 1 for \XXL, 2 for \XXXL, 3 for \xl; used for + % calculating positioning of limits for operators needing italic correction + +% The definition of \xl is typical of all, except that \xlposition@ii is never +% needed for this size (or for \XL size). + +\def\xl{\xlposition@ii\z@\xlfont@\z@\x@count\thr@@\futurelet\next\xl@} +\def\xl@{% first come operators needing no italic correction + \optype@\z@ + % these all usually use limits + \limtype@\z@ + \ifx\next\bigodot\xlposition@96\else + \ifx\next\bigoplus\xlposition@97\else + \ifx\next\bigotimes\xlposition@98\else + \ifx\next\bigsqcup\xlposition@99\else + \ifx\next\bigcup\xlposition@100\else + \ifx\next\bigcap\xlposition@101\else + \ifx\next\biguplus\xlposition@102\else + \ifx\next\bigwedge\xlposition@103\else + \ifx\next\bigvee\xlposition@104\else + \ifx\next\upsum\xlposition@105\else + \ifx\next\upprod\xlposition@106\else + \ifx\next\upcoprod\xlposition@107\else + \ifx\next\bigcupprod\xlposition@110\else + \ifx\next\bigcapprod\xlposition@111\else + \ifx\next\bigvarland\xlposition@122\else + \ifx\next\bigast\xlposition@123\else + % then come operators needing italic correction + % first come those that usually use limits + \ifx\next\slsum\optype@\@ne\xlposition@119\else + \ifx\next\slprod\optype@\@ne\xlposition@120\else + \ifx\next\slcoprod\optype@\@ne\xlposition@121\else + % then those that usually don't use limits + \ifx\next\int\limtype@\@ne\optype@\@ne\xlposition@108\else + \ifx\next\oint\limtype@\@ne\optype@\@ne\xlposition@109\else + \ifx\next\cwoint\limtype@\@ne\optype@\@ne\xlposition@112\else + \ifx\next\awoint\limtype@\@ne\optype@\@ne\xlposition@113\else + \ifx\next\cwint\limtype@\@ne\optype@\@ne\xlposition@114\else + \ifx\next\iint\limtype@\@ne\optype@\@ne\xlposition@115\else + \ifx\next\iiint\limtype@\@ne\optype@\@ne\xlposition@116\else + \ifx\next\oiint\limtype@\@ne\optype@\@ne\xlposition@117\else + \ifx\next\oiiint\limtype@\@ne\optype@\@ne\xlposition@118\else + \ifx\next\barint\limtype@\@ne\optype@\@ne\xlposition@124\else + \ifx\next\slashint\limtype@\@ne\optype@\@ne\xlposition@125\else + \errmessage{Invalid use of \noexpand\xl}% + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \def\next@##1{\futurelet\next\getxlims@}\next@} % swallows the token after \xl or \xlnl + +\ifx\amstexloaded@\relax + \def\getxlims@{% + \let\lowerlim@\relax\let\upperlim@\relax + \ifx\next\limits + \def\next@##1{\limtype@\z@\futurelet\next\getxlims@}% + \else\ifx\next\nolimits + \def\next@##1{\limtype@\@ne\futurelet\next\getxlims@}% + \else\ifx\next\sbxii@ + \def\next@##1{\getxlowerlim@}% + \else\ifx\next\sbviii@ + \def\next@##1{\getxlowerlim@}% + \else\ifx\next\Sb + \let\next@\getxmultilowerlim@ + \else\ifcat\sbviii@\noexpand\next + \def\next@##1{\getxlowerlim@}% + \else\ifcat^\noexpand\next + \def\next@##1{\getxupperlim@}% + \else\ifx\next\Sp + \let\next@\getxmultiupperlim@ + \else + \let\next@\uselims@ % \uselims@ is what we will always do after getting the limits + \fi\fi\fi\fi\fi\fi\fi\fi + \next@} + \def\getxlowerlim@#1{\def\lowerlim@{#1}\FNSS@\getxupperlim@@} + \def\getxmultilowerlim@\Sb#1\endSb{\def\lowerlim@{\multilimits@#1\endSb}% + \FNSS@\getxupperlim@@} + \def\getxmultiupperlim@\Sp#1\endSp{\def\upperlim@{\multilimits@#1\endSp}% + \FNSS@\getxlowerlim@@} + \def\getxupperlim@#1{\def\upperlim@{#1}\FNSS@\getxlowerlim@@} + \def\getxupperlim@@{% + \ifcat^\noexpand\next + \def\next@##1##2{\def\upperlim@{##2}\uselims@}% have limits now + \else\ifx\next\Sp + \def\next@\Sp##1\endSp{\def\upperlim@{\multilimits@##1\endSp}\uselims@}% have limits now + \else + \let\next@\uselims@ % have limits now + \fi\fi + \next@} + \def\getxlowerlim@@{% + \ifx\next\sbxii@ + \def\next@##1##2{\def\lowerlim@{##2}\uselims@}% + \else\ifx\next\sbviii@ + \def\next@##1##2{\def\lowerlim@{##2}\uselims@}% + \else\ifcat\sbviii@\noexpand\next + \def\next@##1##2{\def\lowerlim@{##2}\uselims@}% + \else\ifx\next\Sb + \def\next@\Sb##1\endSb{\def\lowerlim@{\multilimits@##1\endSb}\uselims@}% + \else + \let\next@\uselims@ % have limits now + \fi\fi\fi\fi + \next@} +\else % definitions if amstex not loaded + \def\getxlims@{% + \let\lowerlim@\relax\let\upperlim@\relax + \ifx\next\limits + \def\next@##1{\limtype@\z@\futurelet\next\getxlims@}% + \else\ifx\next\nolimits + \def\next@##1{\limtype@\@ne\futurelet\next\getxlims@}% + \else\ifx\next\sbxii@ + \def\next@##1{\getxlowerlim@}% + \else\ifx\next\sbviii@ + \def\next@##1{\getxlowerlim@}% + \else\ifcat\sbviii@\noexpand\next + \def\next@##1{\getxlowerlim@}% + \else\ifcat^\noexpand\next + \def\next@##1{\getxupperlim@}% + \else + \let\next@\uselims@ % \uselims@ is what we will always do after getting the limits + \fi\fi\fi\fi\fi\fi + \next@} + \def\getxlowerlim@#1{\def\lowerlim@{#1}\FNSS@\getxupperlim@@} + \def\getxupperlim@#1{\def\upperlim@{#1}\FNSS@\getxlowerlim@@} + \def\getxupperlim@@{% + \ifcat^\noexpand\next + \def\next@##1##2{\def\upperlim@{##2}\uselims@}% + \else + \let\next@\uselims@ % have limits now + \fi + \next@} + \def\getxlowerlim@@{% + \ifx\next\sbxii@ + \def\next@##1##2{\def\lowerlim@{##2}\uselims@}% + \else\ifx\next\sbviii@ + \def\next@##1##2{\def\lowerlim@{##2}\uselims@}% + \else\ifcat\sbviii@\noexpand\next + \def\next@##1##2{\def\lowerlim@{##2}\uselims@}% + \else + \let\next@\uselims@ % have limits now + \fi\fi\fi + \next@} +\fi + +\def\uselims@{\ifnum\optype@=\z@\xlargeop@\else\xlargeopic@\fi} + +\def\xlargeop@{% + \ifnum\limtype@=\z@ + \mathop{\hbox{$\vcenter{\hbox{% + \ifnum\xlfont@=\z@\MTXL@\else\MTXXXL@\fi + \char\xlposition@\relax + \ifnum\xlposition@ii=\z@\else\char\xlposition@ii\relax\fi + }}$}}_{\lowerlim@}^{\upperlim@}% + \else + \mathop{\hbox{$\vcenter{\hbox{% + \ifnum\xlfont@=\z@\MTXL@\else\MTXXXL@\fi + \char\xlposition@\relax + \ifnum\xlposition@ii=\z@\else\char\xlposition@ii\relax\fi + }}$}}\nolimits_{\lowerlim@}^{\upperlim@}% + \fi} + +% The definition of \xlargeopic@ is complicated when there are limits, and the +% calculation uses \maxXLscripts@, which will store the maximum of the widths of the sub +% and superscripts. There is the additional complication that the amount to adjust the +% superscript differs for \XL and \XXL, and the adjustment is made in terms of an extra +% \fontdimen in the mtxxl font, which measures the horizontal distance between the +% lowest and highest points of the integral sign (for the \XXL versions these are exactly +% twice the \XL versions). +% Fortunately, none of the characters needing \xlargeopic@ need to be broken into two +% halves, so we don't have to worry about \xlposition@ii. + +\newdimen\maxXLscripts@ + +\def\xlargeopic@{% + \def\thecharacter@{\ifnum\xlfont@=\z@\MTXL@\else\MTXXXL@\fi\char\xlposition@\relax}% + \ifnum\limtype@=\@ne + \setbox\z@\hbox{\thecharacter@\/}% + \dimen@\wd\z@ + \setbox\z@\hbox{\thecharacter@}% + \advance\dimen@-\wd\z@ + \mathop{\hbox{$\vcenter{\hbox{\thecharacter@}}$}} + \nolimits_{\lowerlim@}^{\kern\dimen@\upperlim@}% + \else + \setbox\z@\hbox{\ifcase\x@count\kern\tw@\fontdimen8\MTXL@\or + \kern4\fontdimen8\MTXL@\or\kern\tw@\fontdimen8\MTXXXL@\or\kern1.7\fontdimen8\MTXL@\fi}% + \setbox\@ne\hbox{\thecharacter@}% + \setbox\tw@\hbox{$\scriptstyle{\lowerlim@}$}% + \setbox\thr@@\hbox{$\kern\wd\z@\scriptstyle{\upperlim@}$}% + % let \maxXLscripts@ be max of subscript and superscript boxes + \maxXLscripts@\wd\thr@@\ifdim\maxXLscripts@<\wd\tw@\maxXLscripts@\wd\tw@\fi + % let \dimen@ii be amount of subscript to left of int + \dimen@ii.5\wd\tw@ \advance\dimen@ii-.5\wd\@ne + % let \dimen@ be amount of visible superscript to left of int, namely + % [visible length] - [amount to right of left boundary of operator], i.e., + % [wd3 - \wd0] - 1/2(wd3 + wd1) + \dimen@.5\wd\thr@@ \advance\dimen@-\wd\z@ \advance\dimen@-.5\wd\@ne + \ifdim\dimen@>\z@ % if visible part of superscript extends to left of operator + \ifdim\dimen@>\dimen@ii % if visible part of superscript to left of subscript + % kern by - [1/2(\maxXLscripts@ - wd1) - \dimen@] + \kern\dimen@\kern.5\wd\@ne\kern-.5\maxXLscripts@ + \else % only trim to subscript, + % kern - [1/2(\maxXLscripts@ - wd1) - \dimen@ii] + \kern\dimen@ii\kern.5\wd\@ne\kern-.5\maxXLscripts@ + \fi + \else % visible part of superscript entirely to right of operator, so trim to subscript + \ifdim\dimen@ii > \z@ + \kern\dimen@ii\kern.5\wd\@ne\kern-.5\maxXLscripts@ + \else + \kern.5\wd\@ne\kern-.5\maxXLscripts@ + \fi + \fi + \setbox\@ne\hbox{\thecharacter@\/}\dimen@ii\wd\@ne + \setbox\@ne\hbox{\thecharacter@}\advance\dimen@ii-\wd\@ne + \mathop{\hbox{$\vcenter{\hbox{\thecharacter@}}$}}_{\lowerlim@}^{\kern\wd\z@\upperlim@}% + \kern\dimen@ii + \fi +} + +% Other sizes almost completely analagous + +\def\XL{\xlposition@ii\z@\xlfont@\z@\x@count\z@\futurelet\next\XL@} +\def\XL@{\optype@\z@\limtype@\z@ + \ifx\next\bigodot\xlposition@0\else + \ifx\next\bigoplus\xlposition@1\else + \ifx\next\bigotimes\xlposition@2\else + \ifx\next\bigsqcup\xlposition@3\else + \ifx\next\bigcup\xlposition@4\else + \ifx\next\bigcap\xlposition@5\else + \ifx\next\biguplus\xlposition@6\else + \ifx\next\bigwedge\xlposition@7\else + \ifx\next\bigvee\xlposition@8\else + \ifx\next\upsum\xlposition@9\else + \ifx\next\upprod\xlposition@10\else + \ifx\next\upcoprod\xlposition@11\else + \ifx\next\bigcupprod\xlposition@14\else + \ifx\next\bigcapprod\xlposition@15\else + \ifx\next\bigvarland\xlposition@26\else + \ifx\next\bigast\xlposition@27\else + \ifx\next\slsum\optype@\@ne\xlposition@23\else + \ifx\next\slprod\optype@\@ne\xlposition@24\else + \ifx\next\slcoprod\optype@\@ne\xlposition@25\else + \ifx\next\int\limtype@\@ne\optype@\@ne\xlposition@12\else + \ifx\next\oint\limtype@\@ne\optype@\@ne\xlposition@13\else + \ifx\next\cwoint\limtype@\@ne\optype@\@ne\xlposition@16\else + \ifx\next\awoint\limtype@\@ne\optype@\@ne\xlposition@17\else + \ifx\next\cwint\limtype@\@ne\optype@\@ne\xlposition@18\else + \ifx\next\iint\limtype@\@ne\optype@\@ne\xlposition@19\else + \ifx\next\iiint\limtype@\@ne\optype@\@ne\xlposition@20\else + \ifx\next\oiint\limtype@\@ne\optype@\@ne\xlposition@21\else + \ifx\next\oiiint\limtype@\@ne\optype@\@ne\xlposition@22\else + \ifx\next\barint\limtype@\@ne\optype@\@ne\xlposition@28\else + \ifx\next\slashint\limtype@\@ne\optype@\@ne\xlposition@29\else + \errmessage{Invalid use of \noexpand\XL}% + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \def\next@##1{\futurelet\next\getxlims@}\next@} + +\def\XXL{\xlposition@ii\z@\xlfont@\z@\x@count\@ne\futurelet\next\XXL@} +\def\XXL@{\optype@\z@\limtype@\z@ + \ifx\next\bigodot\xlposition@48\else + \ifx\next\bigoplus\xlposition@49\else + \ifx\next\bigotimes\xlposition@50\else + \ifx\next\bigsqcup\xlposition@51\else + \ifx\next\bigcup\xlposition@52\else + \ifx\next\bigcap\xlposition@53\else + \ifx\next\biguplus\xlposition@54\else + \ifx\next\bigwedge\xlposition@55\else + \ifx\next\bigvee\xlposition@56\else + \ifx\next\upsum\xlposition@57\else + \ifx\next\upprod\xlposition@58\else + \ifx\next\upcoprod\xlposition@59\else + \ifx\next\bigcupprod\xlposition@62 \xlposition@ii64\else + \ifx\next\bigcapprod\xlposition@63 \xlposition@ii65\else + \ifx\next\bigvarland\xlposition@76\else + \ifx\next\bigast\xlposition@77\else + \ifx\next\slsum\optype@\@ne\xlposition@73\else + \ifx\next\slprod\optype@\@ne\xlposition@74\else + \ifx\next\slcoprod\optype@\@ne\xlposition@75\else + \ifx\next\int\limtype@\@ne\optype@\@ne\xlposition@60\else + \ifx\next\oint\limtype@\@ne\optype@\@ne\xlposition@61\else + \ifx\next\cwoint\limtype@\@ne\optype@\@ne\xlposition@66\else + \ifx\next\awoint\limtype@\@ne\optype@\@ne\xlposition@67\else + \ifx\next\cwint\limtype@\@ne\optype@\@ne\xlposition@68\else + \ifx\next\iint\limtype@\@ne\optype@\@ne\xlposition@69\else + \ifx\next\iiint\limtype@\@ne\optype@\@ne\xlposition@70\else + \ifx\next\oiint\limtype@\@ne\optype@\@ne\xlposition@71\else + \ifx\next\oiiint\limtype@\@ne\optype@\@ne\xlposition@72\else + \ifx\next\barint\limtype@\@ne\optype@\@ne\xlposition@78\else + \ifx\next\slashint\limtype@\@ne\optype@\@ne\xlposition@79\else + \errmessage{Invalid use of \noexpand\XXL}% + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \def\next@##1{\futurelet\next\getxlims@}\next@} + +\def\XXXL{\xlposition@ii\z@\xlfont@\@ne\x@count\tw@\futurelet\next\XXXL@} +\def\XXXL@{\optype@\z@\limtype@\z@ + \ifx\next\bigodot\xlposition@0\else + \ifx\next\bigoplus\xlposition@1\else + \ifx\next\bigotimes\xlposition@2\else + \ifx\next\bigsqcup\xlposition@3\else + \ifx\next\bigcup\xlposition@4\else + \ifx\next\bigcap\xlposition@5\else + \ifx\next\biguplus\xlposition@6\else + \ifx\next\bigwedge\xlposition@7\else + \ifx\next\bigvee\xlposition@8\else + \ifx\next\upsum\xlposition@9\else + \ifx\next\uprod\xlposition@10\else + \ifx\next\ucoprod\xlposition@11\else + \ifx\next\bigcupprod\xlposition@14 \xlposition@ii16\else + \ifx\next\bigcapprod\xlposition@15 \xlposition@ii17\else + \ifx\next\bigvarland\xlposition@ 28 \xlposition@ii29\else + \ifx\next\bigast\xlposition@30\else + \ifx\next\slsum\optype@\@ne\xlposition@25\else + \ifx\next\slprod\optype@\@ne\xlposition@26\else + \ifx\next\slcoprod\optype@\@ne\xlposition@27\else + \ifx\next\int\limtype@\@ne\optype@\@ne\xlposition@12\else + \ifx\next\oint\limtype@\@ne\optype@\@ne\xlposition@13\else + \ifx\next\cwoint\limtype@\@ne\optype@\@ne\xlposition@18\else + \ifx\next\awoint\limtype@\@ne\optype@\@ne\xlposition@19\else + \ifx\next\cwint\limtype@\@ne\optype@\@ne\xlposition@20\else + \ifx\next\iint\limtype@\@ne\optype@\@ne\xlposition@21\else + \ifx\next\iiint\limtype@\@ne\optype@\@ne\xlposition@22\else + \ifx\next\oiint\limtype@\@ne\optype@\@ne\xlposition@23\else + \ifx\next\oiiint\limtype@\@ne\optype@\@ne\xlposition@24\else + \ifx\next\barint\limtype@\@ne\optype@\@ne\xlposition@31\else + \ifx\next\slashint\limtype@\@ne\optype@\@ne\xlposition@32\else + \def\next@{\errmessage{Invalid use of \noexpand\XXXL}}% + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \def\next@##1{\futurelet\next\getxlims@}\next@} + +% Bold math + +\def\hexnumber@#1{\ifcase#1 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or 8\or + 9\or A\or B\or C\or D\or E\or F\fi} + +% Just in case some one redefines \empty, we use \empty@ instead. + +\def\empty@{} + +\def\bm{\futurelet\next\bm@}% +\def\bm@{\ifx\next'\def\next@##1{\bprime@}\else + \ifx\next\yen\def\next@\yen{\ifmmode\mathchar"0\mtbsya@@55\relax\else + \mathhexbox\mtbsy@@55\relax\fi}\else + \ifcat\noexpand\next A\def\next@##1{{\fam\mtbmi@\relax\next}}\else + \ifcat\noexpand\next0\def\next@{\bm@@}\else + \def\next@{\errmessage{Invalid use of \string\bm}}\fi\fi\fi\fi + \next@} + +\newcount\firstbprimesep +\firstbprimesep=2 +\def\bprime@{^\bgroup\firstprime@true\bprim@s} +\def\bprim@s{\iffirstprime@\kern\firstbprimesep\tenthpt@\fi + \bmprime\firstprime@false\futurelet\next\bpr@m@s} +\newcount\nonbprimesep +\nonbprimesep=7 +\def\bpr@m@s{\ifx'\next\def\next@##1{\bprim@s}\else + \ifx^\next\def\next@##1##2{\kern\nonbprimesep\tenthpt@##2\egroup}\else + \let\next@\egroup\fi\fi\next@} + +\newif\ifnumeral@ +\newcount\codecount@ + +\def\bm@@#1{% + \codecount@=`#1\relax + \numeral@false + \ifnum\codecount@>47 \ifnum\codecount@<58 \numeral@true\fi\fi + \ifnumeral@ + {\fam\mtbmi@\relax#1}% + \else + \ifx#1+\mathchar"2\mtbsy@@43\relax + \else\ifx#1-\mathchar"2\mtbsy@@00\relax + \else\ifx#1=\mathchar"3\mtbsy@@44\relax + \else\ifx#1<\mathchar"3\mtbmi@@3C\relax + \else\ifx#1>\mathchar"3\mtbmi@@3E\relax + \else\ifx#1/\mathchar"0\mtbmi@@3D\relax + \else\ifx#1(\mathchar"4\mtbmi@@2E\relax + \else\ifx#1)\mathchar"5\mtbmi@@2F\relax + \else\ifx#1[\mathchar"4\mtbmi@@8C\relax + \else\ifx#1]\mathchar"5\mtbmi@@8D\relax + \else\ifx#1|\mathchar"0\mtbsy@@6A\relax + \else\ifx#1*\mathchar"2\mtbsy@@03\relax + \else\ifx#1.\mathchar"0\mtbmi@@3A\relax + \else\ifx#1,\mathchar"6\mtbmi@@3B\relax + \else\ifx#1;\mathchar"6\mtbsy@@49\relax + \else\ifx#1:\mathchar"3\mtbsy@@57\relax + \else\ifx#1!\mathchar"5\mtbmi@@8A\relax + \else\ifx#1?\mathchar"5\mtbmi@@8B\relax + \else\errmessage{Invalid use of \string\bm}% + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi +\fi} +\def\bmdefs@{% + \mathchardef\bmvarGamma="0\mtbmi@@00 + \mathchardef\bmvarDelta="0\mtbmi@@01 + \mathchardef\bmvarTheta="0\mtbmi@@02 + \mathchardef\bmvarLambda="0\mtbmi@@03 + \mathchardef\bmvarXi="0\mtbmi@@04 + \mathchardef\bmvarPi="0\mtbmi@@05 + \mathchardef\bmvarSigma="0\mtbmi@@06 + \mathchardef\bmvarUpsilon="0\mtbmi@@07 + \mathchardef\bmvarPhi="0\mtbmi@@08 + \mathchardef\bmvarPsi="0\mtbmi@@09 + \mathchardef\bmvarOmega="0\mtbmi@@0A + \mathchardef\bmGamma="0\mtbmi@@80 + \mathchardef\bmDelta="0\mtbmi@@81 + \mathchardef\bmTheta="0\mtbmi@@82 + \mathchardef\bmLambda="0\mtbmi@@83 + \mathchardef\bmXi="0\mtbmi@@84 + \mathchardef\bmPi="0\mtbmi@@85 + \mathchardef\bmSigma="0\mtbmi@@86 + \mathchardef\bmUpsilon="0\mtbmi@@87 + \mathchardef\bmPhi="0\mtbmi@@88 + \mathchardef\bmPsi="0\mtbmi@@89 + \mathchardef\bmOmega="0\mtbmi@@7F + \mathchardef\bmalpha="0\mtbmi@@0B + \mathchardef\bmbeta="0\mtbmi@@0C + \mathchardef\bmgamma="0\mtbmi@@0D + \mathchardef\bmdelta="0\mtbmi@@0E + \mathchardef\bmepsilon="0\mtbmi@@0F + \mathchardef\bmzeta="0\mtbmi@@10 + \mathchardef\bmeta="0\mtbmi@@11 + \mathchardef\bmtheta="0\mtbmi@@12 + \mathchardef\bmiota="0\mtbmi@@13 + \mathchardef\bmkappa="0\mtbmi@@14 + \mathchardef\bmlambda="0\mtbmi@@15 + \mathchardef\bmmu="0\mtbmi@@16 + \mathchardef\bmnu="0\mtbmi@@17 + \mathchardef\bmxi="0\mtbmi@@18 + \mathchardef\bmpi="0\mtbmi@@19 + \mathchardef\bmrho="0\mtbmi@@1A + \mathchardef\bmsigma="0\mtbmi@@1B + \mathchardef\bmtau="0\mtbmi@@1C + \mathchardef\bmupsilon="0\mtbmi@@1D + \mathchardef\bmphi="0\mtbmi@@1E + \mathchardef\bmchi="0\mtbmi@@1F + \mathchardef\bmpsi="0\mtbmi@@20 + \mathchardef\bmomega="0\mtbmi@@21 + \mathchardef\bmvarepsilon="0\mtbmi@@22 + \mathchardef\bmvartheta="0\mtbmi@@23 + \mathchardef\bmvarpi="0\mtbmi@@24 + \mathchardef\bmvarrho="0\mtbmi@@25 + \mathchardef\bmvarsigma="0\mtbmi@@26 + \mathchardef\bmvarphi="0\mtbmi@@27 + \mathchardef\bmvarkappa="0\mtbmi@@7E + \mathchardef\bmleftharpoonup="3\mtbmi@@28 + \mathchardef\bmleftharpoondown="3\mtbmi@@29 + \mathchardef\bmrightharpoonup="3\mtbmi@@2A + \mathchardef\bmrightharpoondown="3\mtbmi@@2B + \def\bmlparens{\delimiter"\mtbmi@@2E\mtbex@@00 }% + \def\bmrparens{\delimiter"\mtbmi@@2F\mtbex@@01 }% + \def\bmslash{\delimiter"\mtbmi@@3D\mtbex@@0E }% + \mathchardef\bmstar="2\mtbmi@@3F + \mathchardef\bmpartial="0\mtbmi@@40 + \mathchardef\bmflat="0\mtbmi@@5B + \mathchardef\bmnatural="0\mtbmi@@5C + \mathchardef\bmsharp="0\mtbmi@@5D + \mathchardef\bmsmile="3\mtbmi@@5E + \mathchardef\bmfrown="3\mtbmi@@5F + \mathchardef\bmell="0\mtbmi@@60 + \mathchardef\bmimath="0\mtbmi@@7B + \mathchardef\bmjmath="0\mtbmi@@7C + \mathchardef\bmwp="0\mtbmi@@7D + \def\bmlbrack{\delimiter"4\mtbmi@@8C\mtbex@@02 }% + \def\bmrbrack{\delimiter"5\mtbmi@@8D\mtbex@@03 }% + \mathchardef\bmdagger="2\mtbmi@@8E + \mathchardef\bmddagger="2\mtbmi@@8F + \mathchardef\bmupalpha="0\mtbmi@@92 + \mathchardef\bmupbeta="0\mtbmi@@93 + \mathchardef\bmupgamma="0\mtbmi@@94 + \mathchardef\bmupdelta="0\mtbmi@@95 + \mathchardef\bmupepsilon="0\mtbmi@@96 + \mathchardef\bmupzeta="0\mtbmi@@97 + \mathchardef\bmupeta="0\mtbmi@@98 + \mathchardef\bmuptheta="0\mtbmi@@99 + \mathchardef\bmupiota="0\mtbmi@@9A + \mathchardef\bmupkappa="0\mtbmi@@9B + \mathchardef\bmuplambda="0\mtbmi@@9C + \mathchardef\bmupmu="0\mtbmi@@9D + \mathchardef\bmupnu="0\mtbmi@@9E + \mathchardef\bmupxi="0\mtbmi@@9F + \mathchardef\bmuppi="0\mtbmi@@ A0 + \mathchardef\bmuprho="0\mtbmi@@ A1 + \mathchardef\bmupsigma="0\mtbmi@@ A2 + \mathchardef\bmuptau="0\mtbmi@@ A3 + \mathchardef\bmupupsilon="0\mtbmi@@ A4 + \mathchardef\bmupphi="0\mtbmi@@ A5 + \mathchardef\bmupchi="0\mtbmi@@ A6 + \mathchardef\bmuppsi="0\mtbmi@@ A7 + \mathchardef\bmupomega="0\mtbmi@@ A8 + \mathchardef\bmupvarepsilon="0\mtbmi@@ A9 + \mathchardef\bmupvartheta="0\mtbmi@@ AA + \mathchardef\bmupvarpi="0\mtbmi@@ AB + \mathchardef\bmupvarrho="0\mtbmi@@ AC + \mathchardef\bmupvarsigma="0\mtbmi@@ AD + \mathchardef\bmupvarphi="0\mtbmi@@ AE + \mathchardef\bmupvarkappa="0\mtbmi@@ AF + \mathchardef\bmvarbeta="0\mtbmi@@ B0 + \mathchardef\bmupvarbeta="0\mtbmi@@ B1 + \mathchardef\bmvardelta="0\mtbmi@@ B2 + \mathchardef\bmupvardelta="0\mtbmi@@ B3 + \mathchardef\bmdbar="0\mtbmi@@ B5 + \mathchardef\bmupdbar="0\mtbmi@@ B6 + \mathchardef\bmcdot="2\mtbsy@@01 + \mathchardef\bmtimes="2\mtbsy@@02 + \mathchardef\bmast="2\mtbsy@@03 + \mathchardef\bmdiv="2\mtbsy@@04 + \mathchardef\bmDiamond="2\mtbsy@@05 + \mathchardef\bmpm="2\mtbsy@@06 + \mathchardef\bmmp="2\mtbsy@@07 + \mathchardef\bmoplus="2\mtbsy@@08 + \mathchardef\bmominus="2\mtbsy@@09 + \mathchardef\bmotimes="2\mtbsy@@0A + \mathchardef\bmoslash="2\mtbsy@@0B + \mathchardef\bmodot="2\mtbsy@@0C + \mathchardef\bmbigcirc="2\mtbsy@@0D + \mathchardef\bmcirc="2\mtbsy@@0E + \mathchardef\bmbullet="2\mtbsy@@0F + \mathchardef\bmasymp="3\mtbsy@@10 + \mathchardef\bmequiv="3\mtbsy@@11 + \mathchardef\bmsubseteq="3\mtbsy@@12 + \mathchardef\bmsupseteq="3\mtbsy@@13 + \mathchardef\bmleq="3\mtbsy@@14 \let\bmle=\bmleq + \mathchardef\bmgeq="3\mtbsy@@15 \let\bmge=\bmgeq + \mathchardef\bmpreceq="3\mtbsy@@16 + \mathchardef\bmsucceq="3\mtbsy@@17 + \mathchardef\bmsim="3\mtbsy@@18 + \mathchardef\bmapprox="3\mtbsy@@19 + \mathchardef\bmsubset="3\mtbsy@@1A + \mathchardef\bmsupset="3\mtbsy@@1B + \mathchardef\bmll="3\mtbsy@@1C + \mathchardef\bmgg="3\mtbsy@@1D + \mathchardef\bmprec="3\mtbsy@@1E + \mathchardef\bmsucc="3\mtbsy@@1F + \mathchardef\bmcircdashbullet="3\mtbsy@@ B7 + \mathchardef\bmbulletdashcirc="3\mtbsy@@ B8 + \mathchardef\bmleftarrow="3\mtbsy@@20 \let\bmgets=\bmleftarrow + \mathchardef\bmrightarrow="3\mtbsy@@21 \let\bmto=\bmrightarrow + \def\bmuparrow{\delimiter"3\mtbsyt@@22\mtbex@@78 }% + \def\bmdownarrow{\delimiter"3\mtbsyt@@23\mtbex@@79 }% + \mathchardef\bmleftrightarrow="3\mtbsy@@24 + \def\bmuparrow{\delimiter"3\mtbsy@@22378 }% + \def\bmdownarrow{\delimiter"3\mtbsy@@23379 }% + \mathchardef\bmnearrow="3\mtbsy@@25 + \mathchardef\bmsearrow="3\mtbsy@@26 + \mathchardef\bmsimeq="3\mtbsy@@27 + \mathchardef\bmLeftarrow="3\mtbsy@@28 + \mathchardef\bmRightarrow="3\mtbsy@@29 + \def\bmUparrow{\delimiter"3\mtbsy@@2A\mtbex@@7E }% + \def\bmDownarrow{\delimiter"3\mtbsy@@2B\mtbex@@7F }% + \mathchardef\bmLeftrightarrow="3\mtbsy@@2C + \mathchardef\bmnwarrow="3\mtbsy@@2D + \mathchardef\bmswarrow="3\mtbsy@@2E + \mathchardef\bmpropto="3\mtbsy@@2F + \mathchardef\bmprime="0\mtbsy@@30 + \mathchardef\bminfty="0\mtbsy@@31 + \mathchardef\bmin="3\mtbsy@@32 + \mathchardef\bmni="3\mtbsy@@33 \let\bmowns=\bmni + \mathchardef\bmbigtriangleup="2\mtbsy@@34 + \mathchardef\bmtriangle="0\mtbsy@@34 + \mathchardef\bmbigtriangledown="2\mtbsy@@35 + \mathchardef\bmforall="0\mtbsy@@38 + \mathchardef\bmexists="0\mtbsy@@39 + \mathchardef\bmneg="0\mtbsy@@3A \let\lnot=\neg + \mathchardef\bmemptyset="0\mtbsy@@3B + \mathchardef\bmRe="0\mtbsy@@3C + \mathchardef\bmIm="0\mtbsy@@3D + \mathchardef\bmtop="0\mtbsy@@3E + \mathchardef\bmbot="0\mtbsy@@3F + \mathchardef\bmperp="3\mtbsy@@3F + \mathchardef\bmaleph="0\mtbsy@@40 + \mathchardef\bmcomp="2\mtbsy@@42 + \def\bmvec{\mathaccent"0\mtbsy@@45 }% + \mathchardef\bmtriangleright="2\mtbsy@@46 + \mathchardef\bmtriangleleft="2\mtbsy@@47 + \mathchardef\bmcolon="6\mtbsy@@57 + \mathchardef\bmsetdif="2\mtbsy@@58 + \mathchardef\bmcupprod="2\mtbsy@@59 + \mathchardef\bmcapprod="2\mtbsy@@5A + \mathchardef\bmcup="2\mtbsy@@5B + \mathchardef\bmcap="2\mtbsy@@5C + \mathchardef\bmuplus="2\mtbsy@@5D + \mathchardef\bmwedge="2\mtbsy@@5E \let\bmland=\bmwedge + \mathchardef\bmvee="2\mtbsy@@5F \let\bmlor=\bmvee + \mathchardef\bmvdash="3\mtbsy@@60 + \mathchardef\bmdashv="3\mtbsy@@61 + \def\bmlfloor{\delimiter"4\mtbsy@@62\mtbex@@04 }% + \def\bmrfloor{\delimiter"5\mtbsy@@63\mtbex@@05 }% + \def\bmlceil{\delimiter"4\mtbsy@@64\mtbex@@06 }% + \def\bmrceil{\delimiter"5\mtbsy@@65\mtbex@@07 }% + \def\bmlbrace{\delimiter"4\mtbsy@@66\mtbex@@08 }% + \def\bmrbrace{\delimiter"5\mtbsy@@67\mtbex@@09 }% + \def\bmlangle{\delimiter"4\mtbsy@@68\mtbex@@0A }% + \def\bmrangle{\delimiter"5\mtbsy@@69\mtbex@@0B }% + \mathchardef\bmmid="3\mtbsy@@6A + \def\bmvert{\delimiter"\mtbsy@@6A\mtbex@@0C }% + \mathchardef\bmparallel="3\mtbsy@@6B + \def\bmVert{\delimiter"\mtbsy@@6B\mtbex@@0D }% + \def\bmupdownarrow{\delimiter"3\mtbsy@@6C\mtbex@@3F }% + \def\bmUpdownarrow{\delimiter"3\mtbsy@@6D\mtbex@@77 }% + \def\bmbackslash{\delimiter"\mtbsy@@6E\mtbex@@0F }% + \def\bmarrowvert{\delimiter"\mtbsy@@6A\mtbex@@3C }% + \def\bmArrowvert{\delimiter"\mtbsy@@6\mtbex@@3D }% + \def\bmlgroup{\delimiter"4\mtbmi@@2E\mtbex@@3A }% + \def\bmrgroup{\delimiter"5\mtbmi@@2F\mtbex@@3B }% + \def\bmbracevert{\delimiter"\mtbex@@8D\mtbex@@8D }% + \mathchardef\bmsetminus="2\mtbsy@@6E + \mathchardef\bmwr="2\mtbsy@@6F + \def\bmsurd{{\mathchar"1\mtbsy@@70}}% + \mathchardef\bmamalg="2\mtbsy@@71 + \mathchardef\bmnabla="0\mtbsy@@72 + \mathchardef\bmsmallint="1\mtbsy@@73 + \mathchardef\bmsqcup="2\mtbsy@@74 + \mathchardef\bmsqcap="2\mtbsy@@75 + \mathchardef\bmsqsubseteq="3\mtbsy@@76 + \mathchardef\bmsqsupseteq="3\mtbsy@@77 + \mathchardef\bmclubsuit="0\mtbsy@@7C + \mathchardef\bmdiamondsuit="0\mtbsy@@7D + \mathchardef\bmheartsuit="0\mtbsy@@7E + \mathchardef\bmspadesuit="0\mtbsy@@7F + \mathchardef\bmhbar="0\mtbsy@@84 + \mathchardef\bmnotin="3\mtbsy@@85 + \mathchardef\bmangle="0\mtbsy@@86 + \mathchardef\bmdoteq="3\mtbsy@@87 + \mathchardef\bmmodels="3\mtbsy@@88 + \mathchardef\bmbowtie="3\mtbsy@@89 + \mathchardef\bmcong="3\mtbsy@@8A + \mathchardef\bmhookleftarrow="3\mtbsy@@8B + \mathchardef\bmhookrightarrow="3\mtbsy@@8C + \mathchardef\bmlongleftarrow="3\mtbsy@@8D + \mathchardef\bmlongrightarrow="3\mtbsy@@8E + \mathchardef\bmLongleftarrow="3\mtbsy@@8F + \mathchardef\bmLongrightarrow="3\mtbsy@@90 + \mathchardef\bmmapsto="3\mtbsy@@91 + \mathchardef\bmlongmapsto="3\mtbsy@@92 + \mathchardef\bmlongleftrightarrow="3\mtbsy@@93 + \mathchardef\bmLongleftrightarrow="3\mtbsy@@94 + \def\bmiff{\;\bmLongleftrightarrow\;}% + \mathchardef\bmrightleftharpoons="3\mtbsy@@95 + \mathchardef\bmnotless="3\mtbsy@@96 + \mathchardef\bmnotleq="3\mtbsy@@97 + \mathchardef\bmnotprec="3\mtbsy@@98 + \mathchardef\bmnotpreceq="3\mtbsy@@99 + \mathchardef\bmnotsubset="3\mtbsy@@9A + \mathchardef\bmnotsubseteq="3\mtbsy@@9B + \mathchardef\bmnotsqsubseteq="3\mtbsy@@9C + \mathchardef\bmnotgr="3\mtbsy@@9D + \mathchardef\bmnotgeq="3\mtbsy@@9E + \mathchardef\bmnotsucc="3\mtbsy@@9F + \mathchardef\bmnotsucceq="3\mtbsy@@ A0 + \mathchardef\bmnotsupset="3\mtbsy@@ A1 + \mathchardef\bmnotsupseteq="3\mtbsy@@ A2 + \mathchardef\bmnotsqsupseteq="3\mtbsy@@ A3 + \mathchardef\bmneq="3\mtbsy@@ A4 \let\bmne=\bmneq + \mathchardef\bmnotequiv="3\mtbsy@@ A5 + \mathchardef\bmnotsim="3\mtbsy@@ A6 + \mathchardef\bmnotsimeq="3\mtbsy@@ A7 + \mathchardef\bmnotapprox="3\mtbsy@@ A8 + \mathchardef\bmnotcong="3\mtbsy@@ A9 + \mathchardef\bmnotasymp="3\mtbsy@@ AA + \def\bmgrave{\ifnum\fam=\m@ne\mathaccent"0\mtbsy@@4A \else\@grave@\fi}% + \def\bmacute{\ifnum\fam=\m@ne\mathaccent"0\mtbsy@@4B \else\@acute@\fi}% + \def\bmcheck{\ifnum\fam=\m@ne\mathaccent"0\mtbsy@@4C \else\@check@\fi}% + \def\bmbreve{\ifnum\fam=\m@ne\mathaccent"0\mtbsy@@4D \else\@breve@\fi}% + \def\bmbar{\ifnum\fam=\m@ne\mathaccent"0\mtbsy@@4E \else\@bar@\fi}% + \def\bmhat{\ifnum\fam=\m@ne\mathaccent"0\mtbsy@@4F \else\@hat@\fi}% + \def\bmdot{\ifnum\fam=\m@ne\mathaccent"0\mtbsy@@50 \else\@dot@\fi}% + \def\bmtilde{\ifnum\fam=\m@ne\mathaccent"0\mtbsy@@51 \else\@tilde@\fi}% + \def\bmddot{\ifnum\fam=\m@ne\mathaccent"0\mtbsy@@52 \else\@ddot@\fi}% + \def\bmdotup{\mathaccent"0\mtbsy@@54 }% + \def\bmddotup{\mathaccent"0\mtbsy@@55 }% + \def\bmoacc{\mathaccent"0\mtbsy@@56 }% + \def\bmdddot{\mathaccent"0\mtbsy@@ AB }% + \def\bmddddot{\mathaccent"0\mtbsy@@ AC }% + \def\bmdddotup{\mathaccent"0\mtbsy@@ AD}% + \def\bmddddotup{\mathaccent"0\mtbsy@@ AE }% + \def\bmrelbar{\mathrel{\smash{\bm-}}}% + \mathchardef\bmhslash="\mtbsy@@ AF + \mathchardef\bmsimarrow="2\mtbsy@@ B0 + \mathchardef\bmdigamma="0\mtbsy@@ B1 + \mathchardef\bmvarland="2\mtbsy@@ B2 + \mathchardef\bmcontraction="2\mtbsy@@ B3 + \mathchardef\bmcoloneq="2\mtbsy@@ B4 + \mathchardef\bmeqcolon="2\mtbsy@@ B5 + \mathchardef\bmhateq="2\mtbsy@@ B6 + \ifx\amstexloaded@\relax + \Makeacc@\bmHat{\mtbsy@@4F}% + \Makeacc@\bmCheck{\mtbsy@@4C}% + \Makeacc@\bmTilde{\mtbsy@@51}% + \Makeacc@\bmAcute{\mtbsy@@4B}% + \Makeacc@\bmGrave{\mtbsy@@4A}% + \Makeacc@\bmDot{\mtbsy@@50}% + \Makeacc@\bmDdot{\mtbsy@@52}% + \Makeacc@\bmDotup{\mtbsy@@54}% + \Makeacc@\bmDdotup{\mtbsy@@55}% + \Makeacc@\bmBreve{\mtbsy@@4D}% + \Makeacc@\bmBar{\mtbsy@@4E}% + \Makeacc@\bmOacc{\mtbsy@@56}% + \Makeacc@\bmDddot{\mtbsy@@ AB}% + \Makeacc@\bmDdddot{\mtbsy@@ AC}% + \Makeacc@\bmDddotup{\mtbsy@@ AD}% + \Makeacc@\bmDdddotup{\mtbsy@@ AE}% + \fi + \def\bmwbar{\mathaccent"0\mtbsy@@78 }% + \def\bmwwbar{\mathaccent"0\mtbsy@@53 }% + \def\bmwhat{\mathaccent"0\mtbsy@@79 }% + \def\bmwtilde{\mathaccent"0\mtbsy@@7A }% + \def\bmwcheck{\mathaccent"0\mtbsy@@7B }% + \def\bmwwhat{\mathaccent"0\mtbex@@80 }% + \def\bmwwtilde{\mathaccent"0\mtbex@@81 }% + \def\bmwwcheck{\mathaccent"0\mtbex@@7D }% + \def\bmwidehat{\mathaccent"0\mtbex@@62 }% + \def\bmwidetilde{\mathaccent"0\mtbex@@65 }% + \def\bmwidecheck{\mathaccent"0\mtbex@@7A }% + \ifx\amstexloaded@\relax + \Makeacc@\bmWbar{\mtbsy@@78 }% + \Makeacc@\bmWwbar{\mtbsy@@53 }% + \Makeacc@\bmWhat{\mtbsy@@79 }% + \Makeacc@\bmWtilde{\mtbsy@@7A }% + \Makeacc@\bmWcheck{\mtbsy@@7B }% + \Makeacc@\bmWwhat{\mtbex@@80 }% + \Makeacc@\bmWwtilde{\mtbex@@81 }% + \Makeacc@\bmWwcheck{\mtbex@@7D }% + \fi + \mathchardef\bmcoprod="1\mtbex@@60 + \mathchardef\bmbigvee="1\mtbex@@57 + \mathchardef\bmbigwedge="1\mtbex@@56 + \mathchardef\bmbiguplus="1\mtbex@@55 + \mathchardef\bmbigcap="1\mtbex@@54 + \mathchardef\bmbigcup="1\mtbex@@53 + \mathchardef\bmintop="1\mtbex@@52 \def\bmint{\bmintop\nolimits}% + \mathchardef\bmprod="1\mtbex@@51 + \mathchardef\bmsum="1\mtbex@@50 + \mathchardef\bmbigotimes="1\mtbex@@4E + \mathchardef\bmbigoplus="1\mtbex@@4C + \mathchardef\bmbigodot="1\mtbex@@4A + \mathchardef\bmointop="1\mtbex@@48 \def\bmoint{\ointop\nolimits}% + \mathchardef\bmiintop="1\mtbex@@92 \def\bmiint{\bmiintop\nolimits}% + \mathchardef\bmiiintop="1\mtbex@@94 \def\bmiiint{\bmiiintop\nolimits}% + \mathchardef\bmoiintop="1\mtbex@@96 \def\bmoiint{\bmoiintop\nolimits}% + \mathchardef\bmoiiintop="1\mtbex@@98 \def\bmoiiint{\bmoiiintop\nolimits}% + \mathchardef\bmcwointop="1\mtbex@@9A \def\bmcwoint{\bmcwointop\nolimits}% + \mathchardef\bmawointop="1\mtbex@@9C \def\bmawoint{\bmawointop\nolimits}% + \mathchardef\bmcwintop="1\mtbex@@9E \def\bmcwint{\bmcwintop\nolimits}% + \mathchardef\bmbarintop="1\mtbex@@ AA \def\bmbarint{\bmbarintop\nolimits}% + \mathchardef\bmslashintop="1\mtbex@@ AC \def\bmslashint{\bmslashintop\nolimits}% + \mathchardef\bmbigvarland="1\mtbex@@ A6 + \mathchardef\bmbigast="1\mtbex@@ A8 + \mathchardef\bmbigsqcup="1\mtbex@@46 + \def\bmlmoustache{\delimiter"4\mtbex@@7A\mtbex@@40 }% + \def\bmrmoustahce{\delimiter"5\mtbex@@7B\mtbex@@41 }% + \def\bmlgroup{\delimiter"4\mtbmi@@2E\mtbex@@3A }% + \def\bmrgroup{\delimiter"5\mtbmi@@2F\mtbex@@3B }% + \def\bmbracevert{\delimiter"\mtbex@@3E\mtbex@@3E }% + \def\bmchoose{\atopwithdelims\bmlparens\bmrparens}% + \def\bmbrack{\atopwithdelims\bmlbrack\bmrbrack}% + \def\bmbrace{\atopwithdelims\bmlbrace\bmrbrace}% +} + +\def\boldmath{% + \textfont\z@\the\textfont\bffam + \scriptfont\z@\the\scriptfont\bffam + \scriptscriptfont\z@\the\scriptscriptfont\bffam + \textfont\@ne\the\textfont\mtbmi@ + \scriptfont\@ne\the\scriptfont\mtbmi@ + \scriptscriptfont\@ne\the\scriptscriptfont\mtbmi@ + \textfont\tw@\the\textfont\mtbsy@ + \scriptfont\tw@\the\scriptfont\mtbsy@ + \scriptscriptfont\tw@\the\scriptscriptfont\mtbsy@ + \textfont\thr@@\the\textfont\mtbex@ + \scriptfont\thr@@\the\scriptfont\mtbex@ + \scriptscriptfont\thr@@\the\scriptscriptfont\mtbex@ + \ifx\p@renwd\undefined@ + \else + \setbox\z@\hbox{\the\textfont\mtbex@ B}\p@renwd\wd\z@ + \fi + \ifx\amstexloaded@\relax + \buffer@\fontdimen13\the\textfont\mtbex@ + \buffer\buffer@ + \fi + \let\lmoustache\bmlmoustache % these 5 delimiters have different definitions for mt2exa ! + \let\rmoustache\bmrmoustahce + \let\lgroup\bmlgroup + \let\rgroup\bmrgroup + \let\bracevert\bmbracevert + \let\SQRT\sqrt + \def\ROOT##1\OF##2{\root##1\of{##2}}% + \def\PARENS##1{\left(##1\right)}% + \def\LEFTRIGHT##1##2##3{\left##1##2\right##3}% + \let\widehat\bmwidehat % these 3 wide accents have different definitions for mt2exa ! + \let\widetilde\bmwidetilde + \let\widecheck\bmwidecheck} + +% Heavy math + +\def\hm{\futurelet\next\hm@} +\def\hm@{\ifx\next'\def\next@##1{\hprime@}\else + \ifx\next\yen\def\next@\yen{\ifmmode\mathchar"0\mthsya@@55\relax\else + \mathhexbox\mthsy@@55\relax\fi}\else + \ifcat\noexpand\next0\def\next@{\hm@@}\else + \def\next@{\errmessage{Invalid use of \string\hm}}\fi\fi\fi + \next@} +\def\hma@@#1"#2#3#4#5\hma@@{\def\next@{#5}% + \ifx\next@\empty@ + \mathchar"0\mthsya@@#3#4\relax + \else + \mathchar"#2\mthsya@@#4#5\relax + \fi} + +\newcount\firsthprimesep +\firsthprimesep=2 +\def\hprime@{^\bgroup\firstprime@true\hprim@s} +\def\hprim@s{\iffirstprime@\kern\firsthprimesep\tenthpt@\fi + \hmprime\firstprime@false\futurelet\next\hpr@m@s} +\newcount\nonhprimesep +\nonhprimesep=7 +\def\hpr@m@s{\ifx'\next\def\next@##1{\hprim@s}\else + \ifx^\next\def\next@##1##2{\kern\nonhprimesep\tenthpt@##2\egroup}\else + \let\next@\egroup\fi\fi\next@} +\def\hm@@#1{% + \ifx#1+\mathchar"2\mthsy@@43\relax + \else\ifx#1-\mathchar"2\mthsy@@00\relax + \else\ifx#1=\mathchar"3\mthsy@@44\relax + \else\ifx#1<\mathchar"3\mthsy@@ EA\relax + \else\ifx#1>\mathchar"3\mthsy@@ EC\relax + \else\ifx#1/\mathchar"0\mthsy@@ EB\relax + \else\ifx#1(\mathchar"4\mthsy@@ E6\relax + \else\ifx#1)\mathchar"5\mthsy@@ E7\relax + \else\ifx#1[\mathchar"4\mthsy@@ F8\relax + \else\ifx#1]\mathchar"5\mthsy@@ F9\relax + \else\ifx#1|\mathchar"0\mthsy@@6A\relax + \else\ifx#1*\mathchar"2\mthsy@@03\relax + \else\ifx#1.\mathchar"0\mthsy@@ E8\relax + \else\ifx#1,\mathchar"6\mthsy@@ E9\relax + \else\ifx#1;\mathchar"6\mthsy@@49\relax + \else\ifx#1:\mathchar"3\mthsy@@57\relax + \else\ifx#1!\mathchar"5\mthsy@@ F6\relax + \else\ifx#1?\mathchar"5\mthsy@@ F7\relax + \else\errmessage{Invalid use of \string\hm}% + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} +\def\hmdefs@{% + \mathchardef\hmleftharpoonup="3\mthsy@@ E0 + \mathchardef\hmleftharpoondown="3\mthsy@@ E1 + \mathchardef\hmrightharpoonup="3\mthsy@@ E2 + \mathchardef\hmrightharpoondown="3\mthsy@@ E3 + \def\hmlparens{\delimiter"\mthsy@@ E6\mthex@@00 }% + \def\hmrparens{\delimiter"\mthsy@@ E7\mthex@@01 }% + \def\hmslash{\delimiter"\mthsy@@ EB\mthex@@0E }% + \mathchardef\hmstar="2\mthsy@@ ED + \mathchardef\hmpartial="0\mthsy@@ EE + \mathchardef\hmflat="0\mthsy@@ EF + \mathchardef\hmnatural="0\mthsy@@ F0 + \mathchardef\hmsharp="0\mthsy@@ F1 + \mathchardef\hmsmile="3\mthsy@@ F2 + \mathchardef\hmfrown="3\mthsy@@ F3 + \mathchardef\hmell="0\mthsy@@ F4 + \mathchardef\hmwp="0\mthsy@@ F5 + \def\hmlbrack{\delimiter"4\mthsy@@ F8\mthex@@02 }% + \def\hmrbrack{\delimiter"5\mthsy@@ F9\mthex@@03 }% + \mathchardef\hmdagger="2\mthsy@@ FA + \mathchardef\hmddagger="2\mthsy@@ FB + \mathchardef\hmcdot="2\mthsy@@01 + \mathchardef\hmtimes="2\mthsy@@02 + \mathchardef\hmast="2\mthsy@@03 + \mathchardef\hmdiv="2\mthsy@@04 + \mathchardef\hmDiamond="2\mthsy@@05 + \mathchardef\hmpm="2\mthsy@@06 + \mathchardef\hmmp="2\mthsy@@07 + \mathchardef\hmoplus="2\mthsy@@08 + \mathchardef\hmominus="2\mthsy@@09 + \mathchardef\hmotimes="2\mthsy@@0A + \mathchardef\hmoslash="2\mthsy@@0B + \mathchardef\hmodot="2\mthsy@@0C + \mathchardef\hmbigcirc="2\mthsy@@0D + \mathchardef\hmcirc="2\mthsy@@0E + \mathchardef\hmbullet="2\mthsy@@0F + \mathchardef\hmasymp="3\mthsy@@10 + \mathchardef\hmequiv="3\mthsy@@11 + \mathchardef\hmsubseteq="3\mthsy@@12 + \mathchardef\hmsupseteq="3\mthsy@@13 + \mathchardef\hmleq="3\mthsy@@14 \let\hmle=\hmleq + \mathchardef\hmgeq="3\mthsy@@15 \let\hmge=\hmgeq + \mathchardef\hmpreceq="3\mthsy@@16 + \mathchardef\hmsucceq="3\mthsy@@17 + \mathchardef\hmsim="3\mthsy@@18 + \mathchardef\hmapprox="3\mthsy@@19 + \mathchardef\hmsubset="3\mthsy@@1A + \mathchardef\hmsupset="3\mthsy@@1B + \mathchardef\hmll="3\mthsy@@1C + \mathchardef\hmgg="3\mthsy@@1D + \mathchardef\hmprec="3\mthsy@@1E + \mathchardef\hmsucc="3\mthsy@@1F + \mathchardef\hmcircdashbullet="3\mthsy@@ B7 + \mathchardef\hmbulletdashcirc="3\mthsy@@ B8 + \mathchardef\hmleftarrow="3\mthsy@@20 \let\hmgets=\hmleftarrow + \mathchardef\hmrightarrow="3\mthsy@@21 \let\hmto=\hmrightarrow + \def\hmuparrow{\delimiter"3\mthsy@@22\mthex@@78 }% + \def\hmdownarrow{\delimiter"3\mthsy@@23\mthex@@79 }% + \mathchardef\hmleftrightarrow="3\mthsy@@24 + \def\hmuparrow{\delimiter"3\mthsy@@22378 }% + \def\hmdownarrow{\delimiter"3\mthsy@@23379 }% + \mathchardef\hmnearrow="3\mthsy@@25 + \mathchardef\hmsearrow="3\mthsy@@26 + \mathchardef\hmsimeq="3\mthsy@@27 + \mathchardef\hmLeftarrow="3\mthsy@@28 + \mathchardef\hmRightarrow="3\mthsy@@29 + \def\hmUparrow{\delimiter"3\mthsy@@2A\mthex@@7E }% + \def\hmDownarrow{\delimiter"3\mthsy@@2B\mthex@@7F }% + \mathchardef\hmLeftrightarrow="3\mthsy@@2C + \mathchardef\hmnwarrow="3\mthsy@@2D + \mathchardef\hmswarrow="3\mthsy@@2E + \mathchardef\hmpropto="3\mthsy@@2F + \mathchardef\hmprime="0\mthsy@@30 + \mathchardef\hminfty="0\mthsy@@31 + \mathchardef\hmin="3\mthsy@@32 + \mathchardef\hmni="3\mthsy@@33 \let\hmowns=\hmni + \mathchardef\hmbigtriangleup="2\mthsy@@34 + \mathchardef\hmtriangle="0\mthsy@@34 + \mathchardef\hmbigtriangledown="2\mthsy@@35 + \mathchardef\hmnot="3\mthsy@@36 + \mathchardef\hmmapstochar="3\mthsy@@37 + \mathchardef\hmforall="0\mthsy@@38 + \mathchardef\hmexists="0\mthsy@@39 + \mathchardef\hmneg="0\mthsy@@3A \let\lnot=\neg + \mathchardef\hmemptyset="0\mthsy@@3B + \mathchardef\hmRe="0\mthsy@@3C + \mathchardef\hmIm="0\mthsy@@3D + \mathchardef\hmtop="0\mthsy@@3E + \mathchardef\hmbot="0\mthsy@@3F + \mathchardef\hmperp="3\mthsy@@3F + \mathchardef\hmaleph="0\mthsy@@40 + \mathchardef\hmcomp="2\mthsy@@42 + \def\hmvec{\mathaccent"0\mthsy@@45 }% + \mathchardef\hmtriangleright="2\mthsy@@46 + \mathchardef\hmtriangleleft="2\mthsy@@47 + \mathchardef\hmcolon="6\mthsy@@57 + \mathchardef\hmsetdif="2\mthsy@@58 + \mathchardef\hmcupprod="2\mthsy@@59 + \mathchardef\hmcapprod="2\mthsy@@5A + \mathchardef\hmcup="2\mthsy@@5B + \mathchardef\hmcap="2\mthsy@@5C + \mathchardef\hmuplus="2\mthsy@@5D + \mathchardef\hmwedge="2\mthsy@@5E \let\hmland=\hmwedge + \mathchardef\hmvee="2\mthsy@@5F \let\hmlor=\hmvee + \mathchardef\hmvdash="3\mthsy@@60 + \mathchardef\hmdashv="3\mthsy@@61 + \def\hmlfloor{\delimiter"4\mthsy@@62\mthex@@04 }% + \def\hmrfloor{\delimiter"5\mthsy@@63\mthex@@05 }% + \def\hmlceil{\delimiter"4\mthsy@@64\mthex@@06 }% + \def\hmrceil{\delimiter"5\mthsy@@65\mthex@@07 }% + \def\hmlbrace{\delimiter"4\mthsy@@66\mthex@@08 }% + \def\hmrbrace{\delimiter"5\mthsy@@67\mthex@@09 }% + \def\hmlangle{\delimiter"4\mthsy@@68\mthex@@0A }% + \def\hmrangle{\delimiter"5\mthsy@@69\mthex@@0B }% + \mathchardef\hmmid="3\mthsy@@6A + \def\hmvert{\delimiter"\mthsy@@6A\mthex@@0C }% + \mathchardef\hmparallel="3\mthsy@@6B + \def\hmVert{\delimiter"\mthsy@@6B\mthex@@0D }% + \def\hmupdownarrow{\delimiter"3\mthsy@@6C\mthex@@3F }% + \def\hmUpdownarrow{\delimiter"3\mthsy@@6D\mthex@@77 }% + \def\hmbackslash{\delimiter"\mthsy@@6E\mthex@@0F }% + \def\hmarrowvert{\delimiter"\mthsy@@6A\mthex@@3C }% + \def\hmArrowvert{\delimiter"\mthsy@@6\mthex@@3D }% + \def\hmlgroup{\delimiter"4\mthsy@@2E\mthex@@3A }% + \def\hmrgroup{\delimiter"5\mthsy@@2F\mthex@@3B }% + \def\hmbracevert{\delimiter"\mthex@@8D\mthex@@8D }% + \mathchardef\hmsetminus="2\mthsy@@6E + \mathchardef\hmwr="2\mthsy@@6F + \def\hmsurd{{\mathchar"1\mthsy@@70}}% + \mathchardef\hmamalg="2\mthsy@@71 + \mathchardef\hmnabla="0\mthsy@@72 + \mathchardef\hmsmallint="1\mthsy@@73 + \mathchardef\hmsqcup="2\mthsy@@74 + \mathchardef\hmsqcap="2\mthsy@@75 + \mathchardef\hmsqsubseteq="3\mthsy@@76 + \mathchardef\hmsqsupseteq="3\mthsy@@77 + \mathchardef\hmclubsuit="0\mthsy@@7C + \mathchardef\hmdiamondsuit="0\mthsy@@7D + \mathchardef\hmheartsuit="0\mthsy@@7E + \mathchardef\hmspadesuit="0\mthsy@@7F + \mathchardef\hmnotin="3\mthsy@@85 + \mathchardef\hmangle="0\mthsy@@86 + \mathchardef\hmdoteq="3\mthsy@@87 + \mathchardef\hmmodels="3\mthsy@@88 + \mathchardef\hmbowtie="3\mthsy@@89 + \mathchardef\hmcong="3\mthsy@@8A + \mathchardef\hmhookleftarrow="3\mthsy@@8B + \mathchardef\hmhookrightarrow="3\mthsy@@8C + \mathchardef\hmlongleftarrow="3\mthsy@@8D + \mathchardef\hmlongrightarrow="3\mthsy@@8E + \mathchardef\hmLongleftarrow="3\mthsy@@8F + \mathchardef\hmLongrightarrow="3\mthsy@@90 + \mathchardef\hmmapsto="3\mthsy@@91 + \mathchardef\hmlongmapsto="3\mthsy@@92 + \mathchardef\hmlongleftrightarrow="3\mthsy@@93 + \mathchardef\hmLongleftrightarrow="3\mthsy@@94 + \def\hmiff{\;\hmLongleftrightarrow\;}% + \mathchardef\hmrightleftharpoons="3\mthsy@@95 + \mathchardef\hmnotless="3\mthsy@@96 + \mathchardef\hmnotleq="3\mthsy@@97 + \mathchardef\hmnotprec="3\mthsy@@98 + \mathchardef\hmnotpreceq="3\mthsy@@99 + \mathchardef\hmnotsubset="3\mthsy@@9A + \mathchardef\hmnotsubseteq="3\mthsy@@9B + \mathchardef\hmnotsqsubseteq="3\mthsy@@9C + \mathchardef\hmnotgr="3\mthsy@@9D + \mathchardef\hmnotgeq="3\mthsy@@9E + \mathchardef\hmnotsucc="3\mthsy@@9F + \mathchardef\hmnotsucceq="3\mthsy@@ A0 + \mathchardef\hmnotsupset="3\mthsy@@ A1 + \mathchardef\hmnotsupseteq="3\mthsy@@ A2 + \mathchardef\hmnotsqsupseteq="3\mthsy@@ A3 + \mathchardef\hmneq="3\mthsy@@ A4 \let\hmne=\hmneq + \mathchardef\hmnotequiv="3\mthsy@@ A5 + \mathchardef\hmnotsim="3\mthsy@@ A6 + \mathchardef\hmnotsimeq="3\mthsy@@ A7 + \mathchardef\hmnotapprox="3\mthsy@@ A8 + \mathchardef\hmnotcong="3\mthsy@@ A9 + \mathchardef\hmnotasymp="3\mthsy@@ AA + \mathchardef\hmangle="2\mthsy@@86 + \mathchardef\hmdigamma="0\mthsy@@ B1 + \def\hmgrave{\ifnum\fam=\m@ne\mathaccent"0\mthsy@@4A \else\@grave@\fi}% + \def\hmacute{\ifnum\fam=\m@ne\mathaccent"0\mthsy@@4B \else\@acute@\fi}% + \def\hmcheck{\ifnum\fam=\m@ne\mathaccent"0\mthsy@@4C \else\@check@\fi}% + \def\hmbreve{\ifnum\fam=\m@ne\mathaccent"0\mthsy@@4D \else\@breve@\fi}% + \def\hmbar{\ifnum\fam=\m@ne\mathaccent"0\mthsy@@4E \else\@bar@\fi}% + \def\hmhat{\ifnum\fam=\m@ne\mathaccent"0\mthsy@@4F \else\@hat@\fi}% + \def\hmdot{\ifnum\fam=\m@ne\mathaccent"0\mthsy@@50 \else\@dot@\fi}% + \def\hmtilde{\ifnum\fam=\m@ne\mathaccent"0\mthsy@@51 \else\@tilde@\fi}% + \def\hmddot{\ifnum\fam=\m@ne\mathaccent"0\mthsy@@52 \else\@ddot@\fi}% + \def\hmdotup{\mathaccent"0\mthsy@@54 }% + \def\hmddotup{\mathaccent"0\mthsy@@55 }% + \def\hmoacc{\mathaccent"0\mthsy@@56 }% + \def\hmdddot{\mathaccent"0\mthsy@@ AB }% + \def\hmddddot{\mathaccent"0\mthsy@@ AC }% + \def\hmdddotup{\mathaccent"0\mthsy@@ AD }% + \def\hmddddotup{\mathaccent"0\mthsy@@ AE }% + \def\hmrelbar{\mathrel{\smash{\hm-}}}% + \mathchardef\hmsimarrow="2\mthsy@@ B0 + \mathchardef\hmdigamma="0\mthsy@@ B1 + \mathchardef\hmvarland="2\mthsy@@ B2 + \mathchardef\hmcontraction="2\mthsy@@ B3 + \mathchardef\hmcoloneq="2\mthsy@@ B4 + \mathchardef\hmeqcolon="2\mthsy@@ B5 + \mathchardef\hmhateq="2\mthsy@@ B6 + \ifx\amstexloaded@\relax + \Makeacc@\hmHat{\mthsy@@4F}% + \Makeacc@\hmCheck{\mthsy@@4C}% + \Makeacc@\hmTilde{\mthsy@@51}% + \Makeacc@\hmAcute{\mthsy@@4B}% + \Makeacc@\hmGrave{\mthsy@@4A}% + \Makeacc@\hmDot{\mthsy@@50}% + \Makeacc@\hmDdot{\mthsy@@52}% + \Makeacc@\hmDotup{\mthsy@@54}% + \Makeacc@\hmDdotup{\mthsy@@55}% + \Makeacc@\hmBreve{\mthsy@@4D}% + \Makeacc@\hmBar{\mthsy@@4E}% + \Makeacc@\hmOacc{\mthsy@@56}% + \Makeacc@\hmDddot{\mthsy@@ AB}% + \Makeacc@\hmDdddot{\mthsy@@ AC}% + \Makeacc@\hmDddotup{\mthsy@@ AD}% + \Makeacc@\hmDdddotup{\mthsy@@ AE}% + \fi + \def\hmwbar{\mathaccent"0\mthsy@@78 }% + \def\hmwwbar{\mathaccent"0\mthsy@@53 }% + \def\hmwhat{\mathaccent"0\mthsy@@79 }% + \def\hmwtilde{\mathaccent"0\mthsy@@7A }% + \def\hmwcheck{\mathaccent"0\mthsy@@7B }% + \def\hmwwhat{\mathaccent"0\mthex@@80 }% + \def\hmwwtilde{\mathaccent"0\mthex@@81 }% + \def\hmwwcheck{\mathaccent"0\mthex@@7D }% + \def\hmwidehat{\mathaccent"0\mthex@@62 }% + \def\hmwidetilde{\mathaccent"0\mthex@@65 }% + \def\hmwidecheck{\mathaccent"0\mthex@@7A }% + \ifx\amstexloaded@\relax + \Makeacc@\hmWbar{\mthsy@@78}% + \Makeacc@\hmWwbar{\mthsy@@53}% + \Makeacc@\hmWhat{\mthsy@@79}% + \Makeacc@\hmWtilde{\mthsy@@7A}% + \Makeacc@\hmWcheck{\mthsy@@7B}% + \Makeacc@\hmWwhat{\mthex@@80}% + \Makeacc@\hmWwtilde{\mthex@@81}% + \Makeacc@\hmWwcheck{\mthex@@7D}% + \fi + \mathchardef\hmcoprod="1\mthex@@60 + \mathchardef\hmbigvee="1\mthex@@57 + \mathchardef\hmbigwedge="1\mthex@@56 + \mathchardef\hmbiguplus="1\mthex@@55 + \mathchardef\hmbigcap="1\mthex@@54 + \mathchardef\hmbigcup="1\mthex@@53 + \mathchardef\hmintop="1\mthex@@52 \def\hmint{\hmintop\nolimits}% + \mathchardef\hmprod="1\mthex@@51 + \mathchardef\hmsum="1\mthex@@50 + \mathchardef\hmbigotimes="1\mthex@@4E + \mathchardef\hmbigoplus="1\mthex@@4C + \mathchardef\hmbigodot="1\mthex@@4A + \mathchardef\hmointop="1\mthex@@48 \def\hmoint{\ointop\nolimits}% + \mathchardef\hmointop="1\mthex@@48 \def\hmoint{\ointop\nolimits}% + \mathchardef\hmiintop="1\mthex@@92 \def\hmiint{\hmiintop\nolimits}% + \mathchardef\hmiiintop="1\mthex@@94 \def\hmiiint{\hmiiintop\nolimits}% + \mathchardef\hmoiintop="1\mthex@@96 \def\hmoiint{\hmoiintop\nolimits}% + \mathchardef\hmoiiintop="1\mthex@@98 \def\hmoiiint{\hmoiiintop\nolimits}% + \mathchardef\hmcwointop="1\mthex@@9A \def\hmcwoint{\hmcwointop\nolimits}% + \mathchardef\hmawointop="1\mthex@@9C \def\hmawoint{\hmawointop\nolimits}% + \mathchardef\hmcwintop="1\mthex@@9E \def\hmcwint{\hmcwintop\nolimits}% + \mathchardef\hmbarintop="1\mthex@@ AA \def\hmbarint{\hmbarintop\nolimits}% + \mathchardef\hmslashintop="1\mthex@@ AC \def\hmslashint{\hpmslashintop\nolimits}% + \mathchardef\hmbigvarland="1\mthex@@ A6 + \mathchardef\hmbigast="1\mthex@@ A8 + \mathchardef\hmbigsqcup="1\mthex@@46 + \def\hmlmoustache{\delimiter"4\mthex@@7A\mthex@@40 }% + \def\hmrmoustahce{\delimiter"5\mthex@@7B\mthex@@41 }% + \def\hmlgroup{\delimiter"4\mthsy@@2E\mthex@@3A }% + \def\hmrgroup{\delimiter"5\mthsy@@2F\mthex@@3B }% + \def\hmbracevert{\delimiter"\mthex@@3E\mthex@@3E }% + \def\hmchoose{\atopwithdelims\hmlparens\hmrparens}% + \def\hmbrack{\atopwithdelims\hmlbrack\hmrbrack}% + \def\hmbrace{\atopwithdelims\hmlbrace\hmrbrace}% +} +\def\heavymath{% + \textfont\@ne\the\textfont\z@ + \scriptfont\@ne\the\scriptfont\z@ + \scriptscriptfont\@ne\the\scriptscriptfont\z@ + \textfont\tw@\the\textfont\mthsy@ + \scriptfont\tw@\the\scriptfont\mthsy@ + \scriptscriptfont\tw@\the\scriptscriptfont\mthsy@ + \textfont\thr@@\the\textfont\mthex@ + \scriptfont\thr@@\the\scriptfont\mthex@ + \scriptscriptfont\thr@@\the\scriptscriptfont\mthex@ + \ifx\p@renwd\undefined@ + \else + \setbox\z@\hbox{\the\textfont\mthex@ B}\p@renwd\wd\z@ + \fi + \ifx\amstexloaded@\relax + \buffer@\fontdimen13\the\textfont\mthex@ + \buffer\buffer@ + \fi + \let\lmoustache\hmlmoustache + \let\rmoustache\hmrmoustahce + \let\lgroup\hmlgroup + \let\rgroup\hmrgroup + \let\bracevert\hmbracevert + \let\SQRT\sqrt + \def\ROOT##1\OF##2{\root##1\of{##2}}% + \def\PARENS##1{\left(##1\right)}% + \def\LEFTRIGHT##1##2##3{\left##1##2\right##3}% + \let\widehat\hmwidehat % these 3 wide accents have different definition for mt2exa ! + \let\widetilde\hmwidetilde + \let\widecheck\hmwidecheck +} + +% We give definitions of the following so that the \ifx\next clauses in \bma and \hma +% aren't confused if the ordinary mt2sya fonts aren't loaded. + +\def\nosya@#1{\errmessage{You haven't loaded a font with this symbol}} + +\def\ulcorner{\nosya@0} +\def\urcorner{\nosya@1} +\def\llcorner{\nosya@2} +\def\rrcorner{\nosya@3} +\def\checkmark{\nosya@4} +\def\circledR{\nosya@5} +\def\maltese{\nosya@6} +\def\smallsetminus{\nosya@7} +\def\leftrightharpoons{\nosya@8} + +\def\mtsyadef@#1#2#3#4 {\mathchardef#1="#2\mtsya@@#3#4} + +\def\syadefs@{\def\ulcorner{\delimiter"4\mtsya@@70\mtsya@@70 }% + \def\urcorner{\delimiter"5\mtsya@@71\mtsya@@71 }% + \def\llcorner{\delimiter"4\mtsya@@78\mtsya@@78 }% + \def\lrcorner{\delimiter"5\mtsya@@79\mtsya@@79 }% + \def\checkmark{\ifmmode\mathchar"\mtsya@@58\relax\else\mathhexbox\mtsya@@58\relax\fi}% + \def\circledR{\ifmmode\mathchar"\mtsya@@72\relax\else\mathhexbox\mtsya@@72\relax\fi}% + \def\maltese{\ifmmode\mathchar"\mtsya@@7A\relax\else\mathhexbox\mtsya@@7A\relax\fi}% + \def\yen{\ifmmode\mathchar"\mtsya@@55\relax\else\mathhexbox\mtsya@@55\relax\fi}% + \mtsyadef@\midshaft039 + \mtsyadef@\rarrowhead04B + \mtsyadef@\larrowhead04C + \mtsyadef@\dashleftarrow0DB + \mtsyadef@\dashrightarrow0DC + \let\dasharrow\dashrightarrow + \mtsyadef@\Diamond0DE + \mtsyadef@\leadsto3DD + \mtsyadef@\boxdot200 + \mtsyadef@\boxplus201 + \mtsyadef@\boxtimes202 + \mtsyadef@\square003 + \mtsyadef@\blacksquare004 + \mtsyadef@\centerdot205 + \mtsyadef@\lozenge006 + \mtsyadef@\blacklozenge007 + \mtsyadef@\circlearrowright308 + \mtsyadef@\circlearrowleft309 + \mtsyadef@\leftrightharpoons30B + \mtsyadef@\boxminus20C + \mtsyadef@\Vdash30D + \mtsyadef@\Vvdash30E + \mtsyadef@\vDash30F + \mtsyadef@\twoheadrightarrow310 + \mtsyadef@\twoheadleftarrow311 + \mtsyadef@\leftleftarrows312 + \mtsyadef@\rightrightarrows313 + \mtsyadef@\upuparrows314 + \mtsyadef@\downdownarrows315 + \mtsyadef@\upharpoonright316 + \let\restriction\upharpoonright + \mtsyadef@\downharpoonright317 + \mtsyadef@\upharpoonleft318 + \mtsyadef@\downharpoonleft319 + \mtsyadef@\rightarrowtail31A + \mtsyadef@\leftarrowtail31B + \mtsyadef@\leftrightarrows31C + \mtsyadef@\rightleftarrows31D + \mtsyadef@\Lsh31E + \mtsyadef@\Rsh31F + \mtsyadef@\rightsquigarrow320 + \mtsyadef@\leftrightsquigarrow321 + \mtsyadef@\looparrowleft322 + \mtsyadef@\looparrowright323 + \mtsyadef@\circeq324 + \mtsyadef@\succsim325 + \mtsyadef@\gtrsim326 + \mtsyadef@\gtrapprox327 + \mtsyadef@\multimap328 + \mtsyadef@\therefore329 + \mtsyadef@\because32A + \mtsyadef@\doteqdot32B + \let\Doteq\doteqdot + \mtsyadef@\triangleq32C + \mtsyadef@\precsim32D + \mtsyadef@\lesssim32E + \mtsyadef@\lessapprox32F + \mtsyadef@\eqslantless330 + \mtsyadef@\eqslantgtr331 + \mtsyadef@\curlyeqprec332 + \mtsyadef@\curlyeqsucc333 + \mtsyadef@\preccurlyeq334 + \mtsyadef@\leqq335 + \mtsyadef@\leqslant336 + \mtsyadef@\lessgtr337 + \mtsyadef@\backprime038 + \mtsyadef@\risingdotseq33A + \mtsyadef@\fallingdotseq33B + \mtsyadef@\succcurlyeq33C + \mtsyadef@\geqq33D + \mtsyadef@\geqslant33E + \mtsyadef@\gtrless33F + \mtsyadef@\sqsubset340 + \mtsyadef@\sqsupset341 + \mtsyadef@\vartriangleright342 + \mtsyadef@\vartriangleleft343 + \mtsyadef@\trianglerighteq344 + \mtsyadef@\trianglelefteq345 + \mtsyadef@\bigstar046 + \mtsyadef@\between347 + \mtsyadef@\blacktriangledown048 + \mtsyadef@\blacktriangleright349 + \mtsyadef@\blacktriangleleft34A + \mtsyadef@\vartriangle34D + \mtsyadef@\blacktriangle04E + \mtsyadef@\triangledown04F + \mtsyadef@\eqcirc350 + \mtsyadef@\lesseqgtr351 + \mtsyadef@\gtreqless352 + \mtsyadef@\lesseqqgtr353 + \mtsyadef@\gtreqqless354 + \mtsyadef@\Rrightarrow356 + \mtsyadef@\Lleftarrow357 + \mtsyadef@\veebar259 + \mtsyadef@\barwedge25A + \mtsyadef@\doublebarwedge25B + \mtsyadef@\measuredangle05D + \mtsyadef@\sphericalangle05E + \mtsyadef@\varpropto35F + \mtsyadef@\smallsmile360 + \mtsyadef@\smallfrown361 + \mtsyadef@\Subset362 + \mtsyadef@\Supset363 + \mtsyadef@\Cup264 + \let\doublecup\Cup + \mtsyadef@\Cap265 + \let\doublecap\Cap + \mtsyadef@\curlywedge266 + \mtsyadef@\curlyvee267 + \mtsyadef@\leftthreetimes268 + \mtsyadef@\rightthreetimes269 + \mtsyadef@\subseteqq36A + \mtsyadef@\supseteqq36B + \mtsyadef@\bumpeq36C + \mtsyadef@\Bumpeq36D + \mtsyadef@\lll36E + \let\llless\lll + \mtsyadef@\ggg36F + \let\gggtr\ggg + \mtsyadef@\circledS073 + \mtsyadef@\pitchfork374 + \mtsyadef@\dotplus275 + \mtsyadef@\backsim376 + \mtsyadef@\backsimeq377 + \mtsyadef@\complement07B + \mtsyadef@\intercal27C + \mtsyadef@\circledcirc27D + \mtsyadef@\circledast27E + \mtsyadef@\circleddash27F + \mtsyadef@\lvertneqq380 + \mtsyadef@\gvertneqq381 + \mtsyadef@\nleq382 + \mtsyadef@\ngeq383 + \mtsyadef@\nless384 + \mtsyadef@\ngtr385 + \mtsyadef@\nprec386 + \mtsyadef@\nsucc387 + \mtsyadef@\lneqq388 + \mtsyadef@\gneqq389 + \mtsyadef@\nleqslant38A + \mtsyadef@\ngeqslant38B + \mtsyadef@\lneq38C + \mtsyadef@\gneq38D + \mtsyadef@\npreceq38E + \mtsyadef@\nsucceq38F + \mtsyadef@\precnsim390 + \mtsyadef@\succnsim391 + \mtsyadef@\lnsim392 + \mtsyadef@\gnsim393 + \mtsyadef@\nleqq394 + \mtsyadef@\ngeqq395 + \mtsyadef@\precneqq396 + \mtsyadef@\succneqq397 + \mtsyadef@\precnapprox398 + \mtsyadef@\succnapprox399 + \mtsyadef@\lnapprox39A + \mtsyadef@\gnapprox39B + \mtsyadef@\nsim39C + \mtsyadef@\ncong39D + \mtsyadef@\diagup09E + \mtsyadef@\diagdown09F + \mtsyadef@\varsubsetneq3A0 + \mtsyadef@\varsupsetneq3A1 + \mtsyadef@\nsubseteqq3A2 + \mtsyadef@\nsupseteqq3A3 + \mtsyadef@\subsetneqq3A4 + \mtsyadef@\supsetneqq3A5 + \mtsyadef@\varsubsetneqq3A6 + \mtsyadef@\varsupsetneqq3A7 + \mtsyadef@\subsetneq3A8 + \mtsyadef@\supsetneq3A9 + \mtsyadef@\nsubseteq3AA + \mtsyadef@\nsupseteq3AB + \mtsyadef@\nparallel3AC + \mtsyadef@\nmid3AD + \mtsyadef@\nshortmid3AE + \mtsyadef@\nshortparallel3AF + \mtsyadef@\nvdash3B0 + \mtsyadef@\nVdash3B1 + \mtsyadef@\nvDash3B2 + \mtsyadef@\nVDash3B3 + \mtsyadef@\ntrianglerighteq3B4 + \mtsyadef@\ntrianglelefteq3B5 + \mtsyadef@\ntriangleleft3B6 + \mtsyadef@\ntriangleright3B7 + \mtsyadef@\nleftarrow3B8 + \mtsyadef@\nrightarrow3B9 + \mtsyadef@\nLeftarrow3BA + \mtsyadef@\nRightarrow3BB + \mtsyadef@\nLeftrightarrow3BC + \mtsyadef@\nleftrightarrow3BD + \mtsyadef@\divideontimes2BE + \mtsyadef@\varnothing0BF + \mtsyadef@\nexists0C0 + \mtsyadef@\Finv0C1 + \mtsyadef@\Game0C2 + \mtsyadef@\mho0C3 + \mtsyadef@\eth0C4 + \mtsyadef@\eqsim3C5 + \mtsyadef@\beth0C6 + \mtsyadef@\gimel0C7 + \mtsyadef@\daleth0C8 + \mtsyadef@\lessdot3C9 + \mtsyadef@\gtrdot3CA + \mtsyadef@\ltimes2CB + \mtsyadef@\rtimes2CC + \mtsyadef@\shortmid3CD + \mtsyadef@\shortparallel3CE + \let\smallsetminus=\setdif + \mtsyadef@\thicksim3CF + \mtsyadef@\thickapprox3D0 + \mtsyadef@\approxeq3D1 + \mtsyadef@\succapprox3D2 + \mtsyadef@\precapprox3D3 + \mtsyadef@\curvearrowleft3D4 + \mtsyadef@\curvearrowright3D5 + \mtsyadef@\undercurvearrowleft3E5 + \mtsyadef@\undercurvearrowright3E6 + \mtsyadef@\backepsilon3D6 + \mtsyadef@\nsqsubset3D7 + \mtsyadef@\nsqsupset3D8 + \mtsyadef@\nsqsubseteq3D9 + \mtsyadef@\nsqsupseteq3DA + \mtsyadef@\updownarrows3DF + \mtsyadef@\downuparrows3E0 + \mtsyadef@\updownharpoons3E1 + \mtsyadef@\downupharpoons3E2 + \mtsyadef@\upupharpoons3E3 + \mtsyadef@\downdownharpoons3E4 +} + +\def\bma{\futurelet\next\bma@}% +\def\bma@{% + \ifx\next\ulcorner + \def\next@\ulcorner{\delimiter"4\mtbsya@@70\mtbsya@@70 }% + \else\ifx\next\urcorner + \def\next@\urcorner{\delimiter"5\mtbsya@@71\mtbsya@@71 }% + \else\ifx\next\llcorner + \def\next@\llcorner{\delimiter"4\mtbsya@@78\mtbsya@@78 }% + \else\ifx\next\lrcorner + \def\next@\lrcorner{\delimiter"5\mtbsya@@79\mtbsya@@79 }% + \else\ifx\next\checkmark + \def\next@\checkmark{\ifmmode\mathchar"\mtbsya@@58\relax\else + \mathhexbox\mtbsya@@58\relax\fi}% + \else\ifx\next\circledR + \def\next@\circledR{\ifmmode\mathchar"\mtbsya@@72\relax\else + \mathhexbox\mtbsya@@72\relax\fi}% + \else\ifx\next\maltese + \def\next@\maltese{\ifmmode\mathchar"\mtbsya@@7A\relax\else + \mathhexbox\mtbsya@@7A\relax\fi}% + \else\ifx\next\smallsetminus + \def\next@\smallsetminus{\mathchar"2\mtbsy@@58\relax}% + \else\ifx\next\rightleftharpoons + \def\next@\rightleftharpoons{\mathchar"3\mtbsy@@95\relax}% + \else + \def\next@##1{\expandafter\bma@@\meaning##1\bma@@}% + \fi\fi\fi\fi\fi\fi\fi\fi\fi\next@}% +\def\bma@@#1"#2#3#4#5\bma@@{\def\next@{#5}% + \ifx\next@\empty@ + \mathchar"0\mtbsya@@#3#4\relax + \else + \mathchar"#2\mtbsya@@#4#5\relax + \fi} + +\def\hma{\futurelet\next\hma@}% +\def\hma@{% + \ifx\next\ulcorner + \def\next@\ulcorner{\delimiter"4\mthsya@@70\mthsya@@70 }% + \else\ifx\next\urcorner + \def\next@\urcorner{\delimiter"5\mthsya@@71\mthsya@@71 }% + \else\ifx\next\llcorner + \def\next@\llcorner{\delimiter"4\mthsya@@78\mthsya@@78 }% + \else\ifx\next\lrcorner + \def\next@\lrcorner{\delimiter"5\mthsya@@79\mthsya@@79 }% + \else\ifx\next\checkmark + \def\next@\checkmark{\ifmmode\mathchar"\mthsya@@58\relax\else + \mathhexbox\mthsya@@58\relax\fi}% + \else\ifx\next\circledR + \def\next@\circledR{\ifmmode\mathchar"\mthsya@@72\relax\else + \mathhexbox\mthsya@@72\relax\fi}% + \else\ifx\next\maltese + \def\next@\maltese{\ifmmode\mathchar"\mthsya@@7A\relax\else + \mathhexbox\mthsya@@7A\relax\fi}% + \else\ifx\next\smallsetminus + \def\next@\smallsetminus{\mathchar"2\mthsy@@58\relax}% + \else\ifx\next\rightleftharpoons + \def\next@\rightleftharpoons{\mathchar"3\mthsya@@95\relax}% + \else + \def\next@##1{\expandafter\hma@@\meaning##1\hma@@}% + \fi\fi\fi\fi\fi\fi\fi\fi\fi\next@}% + +% The following definitions also insure that \ifx\next clauses in +% things like \mfrak, \mscript aren't confused. + +\def\INVALID@#1{\errmessage{Invalid use of \string#1}} + +\def\altr{\INVALID@\altr} +\def\altx{\INVALID@\altx} +\def\alty{\INVALID@\alty} +\def\altz{\INVALID@\altz} +\def\altC{\INVALID@\altC} +\def\altG{\INVALID@\altG} +\def\altI{\INVALID@\altI} +\def\altL{\INVALID@\altL} +\def\altM{\INVALID@\altM} +\def\altN{\INVALID@\altN} +\def\altQ{\INVALID@\altQ} +\def\altS{\INVALID@\altS} +\def\altY{\INVALID@\altY} +\def\altZ{\INVALID@\altZ} + +% Now come the definitions for substituting families + +\newif\ifsubstituting@ % used in the \load... definitions + +\def\eatfive@#1#2#3#4#5#6\eatfive@{\def\next@{#6}} + +\def\substitute#1\for#2{\let\BH@\relax + \ifx#1\loadbm\let\BH@\empty@\fi + \ifx#1\loadhm\let\BH@\empty@\fi + \ifx#2\loadbm\let\BH@\empty@\fi + \ifx#2\loadhm\let\BH@\empty@\fi + \ifx\BH@\relax + \expandafter\eatfive@\string#2\eatfive@ + \expandafter\ifx\csname mt\next@ @\endcsname\undefined@ + \errmessage{No previous \string#2} + \else + \expandafter\eatfive@\string#2\eatfive@ + \edef\nameii@{\csname mt\next@ @\endcsname}% + \edef\nameii@@{\csname mt\next@ @@\endcsname}% + \expandafter\eatfive@\string#1\eatfive@ + \expandafter\edef\csname mt\next@ @\endcsname{\number\nameii@}% + \expandafter\edef\csname mt\next@ @@\endcsname{\hexnumber@\nameii@}% + \substituting@true + #1\relax + \substituting@false + \fi + \else + \errmessage{Can't use \string\loadbm\space or \string\loadhm\space + in \string\substitute.} + \fi +} + +% Mechanism for loading and naming fonts. + +\def\FONT@#1#2{\expandafter\ifx\csname#1#2\endcsname\relax + \expandafter\expandafter\expandafter\global + \expandafter\font\csname#1#2\endcsname=#1#2\fi + \def\next@{\let\next@}% + \expandafter\next@\csname#1#2\endcsname} + +% \PSZ@ used just to make sure there are no extra spaces after the point size + +\def\PSZ@{\edef\nextiii@{ at \the\dimen@}} + +\def\MTPMI@#1#2#3{% + \dimen@#1\relax\PSZ@ + \FONT@{mt2mit}\nextiii@\textfont\@ne\next@\skewchar\next@45 + \dimen@#2\relax\PSZ@ + \FONT@{mt2mis}\nextiii@\scriptfont\@ne\next@\skewchar\next@45 + \dimen@#3\relax\PSZ@ + \FONT@{mt2mif}\nextiii@\scriptscriptfont\@ne\next@\skewchar\next@45\relax +} +\def\MTPSY@#1#2#3{% + \dimen@#1\relax\PSZ@ + \FONT@{mt2syt}\nextiii@\textfont\tw@\next@\skewchar\next@48 + \dimen@#2\relax\PSZ@ + \FONT@{mt2sys}\nextiii@\scriptfont\tw@\next@\skewchar\next@48 + \dimen@#3\relax\PSZ@ + \FONT@{mt2syf}\nextiii@\scriptscriptfont\tw@\next@\skewchar\next@48\relax +} +\def\MTPEX@#1{% + \dimen@#1\relax\PSZ@ + \FONT@{mt2exa}\nextiii@ + \let\MTEXA@\next@ + \textfont\thr@@\next@ + \scriptfont\thr@@\next@ + \scriptscriptfont\thr@@\next@ + \ifx\p@renwd\undefined@ + \else + \setbox\z@\hbox{\next@ B}\p@renwd\wd\z@ + \fi + \ifx\amstexloaded@\relax + \buffer@\fontdimen13 \next@ + \buffer\buffer@ + \fi + \FONT@{mt2xl}\nextiii@\let\MTXL@\next@ + \multiply\dimen@\tw@\PSZ@\FONT@{mt2exe}\nextiii@\let\MTEXE@\next@ + \FONT@{mt2xxxl}\nextiii@\let\MTXXXL@\next@ + \multiply\dimen@\tw@\PSZ@\FONT@{mt2exf}\nextiii@\let\MTEXF@\next@ + \multiply\dimen@\tw@\PSZ@\FONT@{mt2exg}\nextiii@\let\MTEXG@\next@ +} +\newfam\mbffam +\def\MTPMB@#1#2#3{% + \dimen@#1\relax\PSZ@ + \FONT@{mt2mbt}\nextiii@\textfont\mbffam\next@\skewchar\next@32 + \dimen@#2\relax\PSZ@ + \FONT@{mt2mbs}\nextiii@\scriptfont\mbffam\next@\skewchar\next@32 + \dimen@#3\relax\PSZ@ + \FONT@{mt2mbf}\nextiii@\scriptscriptfont\mbffam\next@\skewchar\next@32 +} +\def\mbf#1{{\fam\mbffam\relax#1}} + +\def\MTPBMI@#1#2#3{% + \ifx\mtbmi@\undefined@ + \alloc@@8\fam\chardef\sixt@@n\mtbmi@ + \xdef\mtbmi@@{\hexnumber@\mtbmi@}% + \fi + \dimen@#1\relax\PSZ@ + \FONT@{mt2bmit}\nextiii@\textfont\mtbmi@\next@\skewchar\next@45 + \dimen@#2\relax\PSZ@ + \FONT@{mt2bmis}\nextiii@\scriptfont\mtbmi@\next@\skewchar\next@45 + \dimen@#3\relax\PSZ@ + \FONT@{mt2bmif}\nextiii@\scriptscriptfont\mtbmi@\next@\skewchar\next@45\relax +} +\def\MTPBSY@#1#2#3{% + \ifx\mtbsy@\undefined@ + \alloc@@8\fam\chardef\sixt@@n\mtbsy@ + \xdef\mtbsy@@{\hexnumber@\mtbsy@}% + \fi + \dimen@#1\relax\PSZ@ + \FONT@{mt2bsyt}\nextiii@\textfont\mtbsy@\next@\skewchar\next@48 + \dimen@#2\relax\PSZ@ + \FONT@{mt2bsys}\nextiii@\scriptfont\mtbsy@\next@\skewchar\next@48 + \dimen@#3\relax\PSZ@ + \FONT@{mt2bsyf}\nextiii@\scriptscriptfont\mtbsy@\next@\skewchar\next@48\relax +} +\def\MTPBEX@#1{% + \ifx\mtbex@\undefined@ + \alloc@@8\fam\chardef\sixt@@n\mtbex@ + \xdef\mtbex@@{\hexnumber@\mtbex@}% + \fi + \dimen@#1\relax\PSZ@ + \FONT@{mt2bexa}\nextiii@ + \textfont\mtbex@\next@ + \scriptfont\mtbex@\next@ + \scriptscriptfont\mtbex@\next@ +} +\def\MTPHSY@#1#2#3{% + \ifx\mthsy@\undefined@ + \alloc@@8\fam\chardef\sixt@@n\mthsy@ + \xdef\mthsy@@{\hexnumber@\mthsy@}% + \fi + \dimen@#1\relax\PSZ@ + \FONT@{mt2hsyt}\nextiii@\textfont\mthsy@\next@\skewchar\next@48 + \dimen@#2\relax\PSZ@ + \FONT@{mt2hsys}\nextiii@\scriptfont\mthsy@\next@\skewchar\next@48 + \dimen@#3\relax\PSZ@ + \FONT@{mt2hsyf}\nextiii@\scriptscriptfont\mthsy@\next@\skewchar\next@48\relax +} +\def\MTPHEX@#1{% + \ifx\mthex@\undefined@ + \alloc@@8\fam\chardef\sixt@@n\mthex@ + \xdef\mthex@@{\hexnumber@\mthex@}% + \fi + \dimen@#1\relax\PSZ@ + \FONT@{mt2hexa}\nextiii@ + \textfont\mthex@\next@ + \scriptfont\mthex@\next@ + \scriptscriptfont\mthex@\next@ +} +\def\MTP#1#2#3{% + \def\tMTPsize{#1}\def\sMTPsize{#2}\def\fMTPsize{#3}% + \MTPMI@{#1}{#2}{#3}% + \MTPSY@{#1}{#2}{#3}% + \MTPEX@{#1}% + \MTPMB@{#1}{#2}{#3}% + \tenthpt@#1\relax \divide\tenthpt@100 + \dimen@#1\relax + \ifx\amstexloaded@\relax + \ht\Mathstrutbox@.75\dimen@ + \dp\Mathstrutbox@.25\dimen@ + \setboxz@h{x\dimen@.2326ex\xdef\Ex@{\the\dimen@}}% + \ex@\Ex@ + \setboxz@h{$\mkern1mu$}\newmu@=\@M\wd\z@ + \fi + \dimen@ii=.38\dimen@ + \dimen@=.72\dimen@ + \edef\tmathstrut@{\vrule height \the\dimen@ depth \the\dimen@ii width\z@}% + \dimen@#2\relax + \dimen@ii=.22\dimen@ + \dimen@=.78\dimen@ + \edef\smathstrut@{\vrule height \the\dimen@ depth \the\dimen@ii width\z@}% + \dimen@#3\relax + \dimen@ii=.23\dimen@ + \dimen@=.76\dimen@ + \edef\fmathstrut@{\vrule height \the\dimen@ depth \the\dimen@ii width\z@}% + \def\mathstrut{\mathchoice{\tmathstrut@}{\tmathstrut@}{\smathstrut@}% + {\fmathstrut@}}% + } + +\def\loadbmAt#1#2#3{\MTPBMI@{#1}{#2}{#3}\MTPBSY@{#1}{#2}{#3}\MTPBEX@{#1}\bmdefs@} +\def\loadbm{\loadbmAt\tMTPsize\sMTPsize\fMTPsize} + +\def\loadhmAt#1#2#3{\MTPHSY@{#1}{#2}{#3}\MTPHEX@{#1}\hmdefs@} +\def\loadhm{\loadhmAt\tMTPsize\sMTPsize\fMTPsize} + +\def\usecalligraphic#1#2#3#4#5#6#7#8#9{% + \ifx\Calfam@\undefined@ + \alloc@@8\fam\chardef\sixt@@n\Calfam@ + \xdef\Calfam@@{\hexnumber@\Calfam@}% + \fi + \dimen@#2\relax\dimen@=#3\dimen@\PSZ@ + \FONT@{#1}\nextiii@\textfont\Calfam@\next@ + \dimen@#5\relax\dimen@=#6\dimen@\PSZ@ + \FONT@{#4}\nextiii@\scriptfont\Calfam@\next@ + \dimen@#8\relax\dimen@=#9\dimen@\PSZ@ + \FONT@{#7}\nextiii@\scriptscriptfont\Calfam@\next@ + \def\cal{\fam\Calfam@\relax}% + \def\nonmatherr@#1{\Err@{\string#1\space allowed only in math mode}}% + \def\Cal{\relax\ifmmode\expandafter\Cal@\else + \expandafter\nonmatherr@\expandafter\Cal\fi}% + \def\Cal@##1{{\Cal@@{##1}}}% + \def\Cal@@##1{\fam\Calfam@\relax##1}% + \ifx\amstexloaded@\relax + \def\Cal@@##1{\noaccents@\fam\Calfam@\relax##1}% + \fi} +\def\useCMcalAt#1#2#3{% + \usecalligraphic{cmsy10}{#1}{.9787}{cmsy7}{#2}{1.048}{cmsy5}{#3}{1.061}} +\def\useCMcal{\useCMcalAt\tMTPsize\sMTPsize\fMTPsize} +\def\useEulercalAt#1#2#3{% + \usecalligraphic{eusm10}{#1}{.9843}{eusm7}{#2}{1.05}{eusm5}{#3}{1.067}} +\def\useEulercal{\useEulercalAt\tMTPsize\sMTPsize\fMTPsize} +\def\useLucidacalAt#1#2#3{% + \usecalligraphic{hlcrie8r}{#1}{.9336}{hlcrie8r}{#2}{1}{hlcrie8r}{#3}{1.012}} +\def\useLucidacal{\useLucidacalAt\tMTPsize\sMTPsize\fMTPsize} +\def\useNewcalAt#1#2[#3]#4#5[#6]#7#8[#9]{% + \usecalligraphic{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}{#9}} +\def\useNewcal#1[#2]#3[#4]#5[#6]{\useNewcalAt{#1}\tMTPsize[#2]{#3}\sMTPsize[#4]% + {#5}\fMTPsize[#6]} + +\def\loadsyaAt#1#2#3{% + \ifsubstituting@ + \else + \ifx\mtsya@\undefined@ + \alloc@@8\fam\chardef\sixt@@n\mtsya@ + \xdef\mtsya@@{\hexnumber@\mtsya@}% + \fi + \fi + \dimen@#1\relax\PSZ@ + \FONT@{mt2syat}\nextiii@\textfont\mtsya@\next@ + \dimen@#2\relax\PSZ@ + \FONT@{mt2syas}\nextiii@\scriptfont\mtsya@\next@ + \dimen@#3\relax\PSZ@ + \FONT@{mt2syaf}\nextiii@\scriptscriptfont\mtsya@\next@ + \syadefs@} +\def\loadsya{\loadsyaAt\tMTPsize\sMTPsize\fMTPsize} + +\def\loadbsyaAt#1#2#3{% + \ifsubstituting@ + \else + \ifx\mtbsya@\undefined@ + \alloc@@8\fam\chardef\sixt@@n\mtbsya@ + \xdef\mtbsya@@{\hexnumber@\mtbsya@}% + \fi + \fi + \dimen@#1\relax\PSZ@ + \FONT@{mt2bsyat}\nextiii@\textfont\mtbsya@\next@ + \dimen@#2\relax\PSZ@ + \FONT@{mt2bsyas}\nextiii@\scriptfont\mtbsya@\next@ + \dimen@#3\relax\PSZ@ + \FONT@{mt2bsyaf}\nextiii@\scriptscriptfont\mtbsya@\next@ + \textfont\mtsya@\the\textfont\mtbsya@ + \scriptfont\mtsya@\the\scriptfont\mtbsya@ + \scriptscriptfont\mtsya@\the\scriptscriptfont\mtbsya@ + } +\def\loadbsya{\loadbsyaAt\tMTPsize\sMTPsize\fMTPsize} + +\def\loadhsyaAt#1#2#3{% + \ifsubstituting@ + \else + \ifx\mthsya@\undefined@ + \alloc@@8\fam\chardef\sixt@@n\mthsya@ + \xdef\mthsya@@{\hexnumber@\mthsya@}% + \fi + \fi + \dimen@#1\relax\PSZ@ + \FONT@{mt2hsyat}\nextiii@\textfont\mthsya@\next@ + \dimen@#2\relax\PSZ@ + \FONT@{mt2hsyas}\nextiii@\scriptfont\mthsya@\next@ + \dimen@#3\relax\PSZ@ + \FONT@{mt2hsyaf}\nextiii@\scriptscriptfont\mthsya@\next@ + \textfont\mtsya@\the\textfont\mthsya@ + \scriptfont\mtsya@\the\scriptfont\mthsya@ + \scriptscriptfont\mtsya@\the\scriptscriptfont\mthsya@ + } +\def\loadhsya{\loadhsyaAt\tMTPsize\sMTPsize\fMTPsize} + +\def\loadhrbAt#1#2#3{% + \ifsubstituting@ + \else + \ifx\mthrb@\undefined@ + \alloc@@8\fam\chardef\sixt@@n\mthrb@ + \xdef\mthrb@@{\hexnumber@\mthrb@}% + \fi + \fi + \dimen@#1\relax\PSZ@ + \FONT@{mt2hrbt}\nextiii@\textfont\mthrb@\next@ + \dimen@#2\relax\PSZ@ + \FONT@{mt2hrbs}\nextiii@\scriptfont\mthrb@\next@ + \dimen@#3\relax\PSZ@ + \FONT@{mt2hrbf}\nextiii@\scriptscriptfont\mthrb@\next@ + \def\hrb{\futurelet\next\hrb@}% + \def\hrb@{\ifx\next\imath\def\next@####1{\mathchar"0\mthrb@@7B\relax}% + \else\ifx\next\jmath\def\next@####1{\mathchar"0\mthrb@@7C\relax}% + \else\def\next@####1{{\zstraight\fam\mthrb@\relax####1}}\fi\fi + \next@}% +} +\def\loadhrb{\loadhrbAt\tMTPsize\sMTPsize\fMTPsize} + +\def\loadhrbdAt#1#2#3{% + \ifsubstituting@ + \else + \ifx\mthrbd@\undefined@ + \alloc@@8\fam\chardef\sixt@@n\mthrbd@ + \xdef\mthrbd@@{\hexnumber@\mthrbd@}% + \fi + \fi + \dimen@#1\relax\PSZ@ + \FONT@{mt2hrbdt}\nextiii@\textfont\mthrbd@\next@ + \dimen@#2\relax\PSZ@ + \FONT@{mt2hrbds}\nextiii@\scriptfont\mthrbd@\next@ + \dimen@#3\relax\PSZ@ + \FONT@{mt2hrbdf}\nextiii@\scriptscriptfont\mthrbd@\next@ + \def\hrbd{\futurelet\next\hrbd@}% + \def\hrbd@{\ifx\next\imath\def\next@####1{\mathchar"0\mthrbd@@7B\relax}% + \else\ifx\next\jmath\def\next@####1{\mathchar"0\mthrbd@@7C\relax}% + \else\def\next@####1{{\zstraight\fam\mthrbd@\relax####1}}\fi\fi + \next@}% +} +\def\loadhrbd{\loadhrbdAt\tMTPsize\sMTPsize\fMTPsize} + +\def\loadbbAt#1#2#3{% + \ifsubstituting@ + \else + \ifx\mtbb@\undefined@ + \alloc@@8\fam\chardef\sixt@@n\mtbb@ + \xdef\mtbb@@{\hexnumber@\mtbb@}% + \fi + \fi + \dimen@#1\relax\PSZ@ + \FONT@{mt2bbt}\nextiii@\textfont\mtbb@\next@ + \dimen@#2\relax\PSZ@ + \FONT@{mt2bbs}\nextiii@\scriptfont\mtbb@\next@ + \dimen@#3\relax\PSZ@ + \FONT@{mt2bbf}\nextiii@\scriptscriptfont\mtbb@\next@ + \def\bb{\futurelet\next\bb@}% + \def\bb@{\ifx\next\imath\def\next@####1{\mathchar"0\mtbb@@7B\relax}% + \else\ifx\next\jmath\def\next@####1{\mathchar"0\mtbb@@7C\relax}% + \else\def\next@####1{{\zstraight\fam\mtbb@\relax####1}}\fi\fi + \next@}% +} +\def\loadbb{\loadbbAt\tMTPsize\sMTPsize\fMTPsize} + +\def\loadbbdAt#1#2#3{% + \ifsubstituting@ + \else + \ifx\mtbbd@\undefined@ + \alloc@@8\fam\chardef\sixt@@n\mtbbd@ + \xdef\mtbbd@@{\hexnumber@\mtbbd@}% + \fi + \fi + \dimen@#1\relax\PSZ@ + \FONT@{mt2bbdt}\nextiii@\textfont\mtbbd@\next@ + \dimen@#2\relax\PSZ@ + \FONT@{mt2bbds}\nextiii@\scriptfont\mtbbd@\next@ + \dimen@#3\relax\PSZ@ + \FONT@{mt2bbdf}\nextiii@\scriptscriptfont\mtbbd@\next@ + \def\bbd{\futurelet\next\bbd@}% + \def\bbd@{\ifx\next\imath\def\next@####1{\mathchar"0\mtbbd@@7B\relax}% + \else\ifx\next\jmath\def\next@####1{\mathchar"0\mtbbd@@7C\relax}% + \else\def\next@####1{\zstraight\fam\mtbbd@\relax####1}\fi\fi + \next@}% +} +\def\loadbbd{\loadbbdAt\tMTPsize\sMTPsize\fMTPsize} + +\def\loadmscriptAt#1#2#3{% + \ifsubstituting@ + \else + \ifx\mtmscript@\undefined@ + \alloc@@8\fam\chardef\sixt@@n\mtmscript@ + \xdef\mtmscript@@{\hexnumber@\mtmscript@}% + \fi + \fi + \dimen@#1\relax\PSZ@ + \FONT@{mt2mst}\nextiii@\textfont\mtmscript@\next@ \skewchar\next@42 + \dimen@#2\relax\PSZ@ + \FONT@{mt2mss}\nextiii@\scriptfont\mtmscript@\next@ \skewchar\next@42 + \dimen@#3\relax\PSZ@ + \FONT@{mt2msf}\nextiii@\scriptscriptfont\mtmscript@\next@ \skewchar\next@42 + \def\mscript{\futurelet\next\mscript@}% + \def\mscript@{\ifx\next\imath\def\next@####1{\mathchar"0\mtmscript@@7B\relax}% + \else\ifx\next\jmath\def\next@####1{\mathchar"0\mtmscript@@7C\relax}% + \else\ifx\next\altG\def\next@####1{\mathchar"0\mtmscript@@07\relax}% + \else\ifx\next\altI\def\next@####1{\mathchar"0\mtmscript@@09\relax}% + \else\ifx\next\altQ\def\next@####1{\mathchar"0\mtmscript@@11\relax}% + \else\ifx\next\altY\def\next@####1{\mathchar"0\mtmscript@@19\relax}% + \else\ifx\next\altZ\def\next@####1{\mathchar"0\mtmscript@@1A\relax}% + \else\ifx\next\altr\def\next@####1{\mathchar"0\mtmscript@@32\relax}% + \else\ifx\next\altz\def\next@####1{\mathchar"0\mtmscript@@3A\relax}% + \else\ifx\next\altC\def\next@####1{\mathchar"0\mtmscript@@03\relax}% + \else\ifx\next\altL\def\next@####1{\mathchar"0\mtmscript@@0C\relax}% + \else\ifx\next\altS\def\next@####1{\mathchar"0\mtmscript@@13\relax}% + \else\def\next@####1{{\zstraight\fam\mtmscript@\relax####1}}\fi\fi\fi\fi\fi\fi\fi + \fi\fi\fi\fi\fi + \next@}% +} +\def\loadmscript{\loadmscriptAt\tMTPsize\sMTPsize\fMTPsize} + +\def\loadbmscriptAt#1#2#3{% + \ifsubstituting@ + \else + \ifx\mtbmscript@\undefined@ + \alloc@@8\fam\chardef\sixt@@n\mtbmscript@ + \xdef\mtbmscript@@{\hexnumber@\mtbmscript@}% + \fi + \fi + \dimen@#1\relax\PSZ@ + \FONT@{mt2bmst}\nextiii@\textfont\mtbmscript@\next@ \skewchar\next@42 + \dimen@#2\relax\PSZ@ + \FONT@{mt2bmss}\nextiii@\scriptfont\mtbmscript@\next@ \skewchar\next@42 + \dimen@#3\relax\PSZ@ + \FONT@{mt2bmsf}\nextiii@\scriptscriptfont\mtbmscript@\next@ \skewchar\next@42 + \def\bmscript{\futurelet\next\bmscript@}% + \def\bmscript@{\ifx\next\imath\def\next@####1{\mathchar"0\mtbmscript@@7B\relax}% + \else\ifx\next\jmath\def\next@####1{\mathchar"0\mtbmscript@@7C\relax}% + \else\ifx\next\altG\def\next@####1{\mathchar"0\mtbmscript@@07\relax}% + \else\ifx\next\altI\def\next@####1{\mathchar"0\mtbmscript@@09\relax}% + \else\ifx\next\altQ\def\next@####1{\mathchar"0\mtbmscript@@11\relax}% + \else\ifx\next\altY\def\next@####1{\mathchar"0\mtbmscript@@19\relax}% + \else\ifx\next\altZ\def\next@####1{\mathchar"0\mtbmscript@@1A\relax}% + \else\ifx\next\altr\def\next@####1{\mathchar"0\mtbmscript@@32\relax}% + \else\ifx\next\altz\def\next@####1{\mathchar"0\mtbmscript@@3A\relax}% + \else\ifx\next\altC\def\next@####1{\mathchar"0\mtbmscript@@03\relax}% + \else\ifx\next\altL\def\next@####1{\mathchar"0\mtbmscript@@0C\relax}% + \else\ifx\next\altS\def\next@####1{\mathchar"0\mtbmscript@@13\relax}% + \else\def\next@####1{{\zstraight\fam\mtbmscript@\relax####1}}\fi\fi\fi\fi\fi\fi + \fi\fi\fi\fi\fi\fi + \next@}% +} +\def\loadbmscript{\loadbmscriptAt\tMTPsize\sMTPsize\fMTPsize} + +\def\loadmcurlyAt#1#2#3{% + \ifsubstituting@ + \else + \ifx\mtmcurly@\undefined@ + \alloc@@8\fam\chardef\sixt@@n\mtmcurly@ + \xdef\mtmcurly@@{\hexnumber@\mtmcurly@}% + \fi + \fi + \dimen@#1\relax\PSZ@ + \FONT@{mt2mct}\nextiii@\textfont\mtmcurly@\next@ \skewchar\next@42 + \dimen@#2\relax\PSZ@ + \FONT@{mt2mcs}\nextiii@\scriptfont\mtmcurly@\next@ \skewchar\next@42 + \dimen@#3\relax\PSZ@ + \FONT@{mt2mcf}\nextiii@\scriptscriptfont\mtmcurly@\next@ \skewchar\next@42 + \def\mcurly{\futurelet\next\mcurly@}% + \def\mcurly@{\ifx\next\imath\def\next@####1{\mathchar"0\mtmcurly@@7B\relax}% + \else\ifx\next\jmath\def\next@####1{\mathchar"0\mtmcurly@@7C\relax}% + \else\ifx\next\altG\def\next@####1{\mathchar"0\mtmcurly@@07\relax}% + \else\ifx\next\altM\def\next@####1{\mathchar"0\mtmcurly@@0D\relax}% + \else\ifx\next\altN\def\next@####1{\mathchar"0\mtmcurly@@0E\relax}% + \else\ifx\next\altQ\def\next@####1{\mathchar"0\mtmcurly@@11\relax}% + \else\ifx\next\altY\def\next@####1{\mathchar"0\mtmcurly@@19\relax}% + \else\def\next@####1{{\zstraight\fam\mtmcurly@\relax####1}}\fi\fi\fi\fi\fi\fi\fi + \next@}% +} +\def\loadmcurly{\loadmcurlyAt\tMTPsize\sMTPsize\fMTPsize} + +\def\loadmfrakAt#1#2#3{% + \ifsubstituting@ + \else + \ifx\mtmfrak@\undefined@ + \alloc@@8\fam\chardef\sixt@@n\mtmfrak@ + \xdef\mtmfrak@@{\hexnumber@\mtmfrak@}% + \fi + \fi + \dimen@#1\relax\PSZ@ + \FONT@{mt2mft}\nextiii@\textfont\mtmfrak@\next@ + \dimen@#2\relax\PSZ@ + \FONT@{mt2mfs}\nextiii@\scriptfont\mtmfrak@\next@ + \dimen@#3\relax\PSZ@ + \FONT@{mt2mff}\nextiii@\scriptscriptfont\mtmfrak@\next@ + \def\mfrak{\futurelet\next\mfrak@}% + \def\mfrak@{\ifx\next\imath\def\next@####1{\mathchar"0\mtmfrak@@7B\relax}% + \else\ifx\next\jmath\def\next@####1{\mathchar"0\mtmfrak@@7C\relax}% + \else\ifx\next\altx\def\next@####1{\mathchar"0\mtmfrak@@38\relax}% + \else\ifx\next\alty\def\next@####1{\mathchar"0\mtmfrak@@39\relax}% + \else\ifx\next\altY\def\next@####1{\mathchar"0\mtmfrak@@19\relax}% + \else\def\next@####1{{\zstraight\fam\mtmfrak@\relax####1}}\fi\fi\fi\fi\fi + \next@}% +} +\def\loadmfrak{\loadmfrakAt\tMTPsize\sMTPsize\fMTPsize} + +\def\loadbmfrakAt#1#2#3{% + \ifsubstituting@ + \else + \ifx\mtbmfrak@\undefined@ + \alloc@@8\fam\chardef\sixt@@n\mtbmfrak@ + \xdef\mtbmfrak@@{\hexnumber@\mtbmfrak@}% + \fi + \fi + \dimen@#1\relax\PSZ@ + \FONT@{mt2bmft}\nextiii@\textfont\mtbmfrak@\next@ + \dimen@#2\relax\PSZ@ + \FONT@{mt2bmfs}\nextiii@\scriptfont\mtbmfrak@\next@ + \dimen@#3\relax\PSZ@ + \FONT@{mt2bmff}\nextiii@\scriptscriptfont\mtbmfrak@\next@ + \def\bmfrak{\futurelet\next\bmfrak@}% + \def\bmfrak@{\ifx\next\imath\def\next@####1{\mathchar"0\mtbmfrak@@7B\relax}% + \else\ifx\next\jmath\def\next@####1{\mathchar"0\mtbmfrak@@7C\relax}% + \else\ifx\next\altx\def\next@####1{\mathchar"0\mtbmfrak@@38\relax}% + \else\ifx\next\alty\def\next@####1{\mathchar"0\mtbmfrak@@39\relax}% + \else\ifx\next\altY\def\next@####1{\mathchar"0\mtbmfrak@@19\relax}% + \else\def\next@####1{{\zstraight\fam\mtbmfrak@\relax####1}}\fi\fi\fi\fi\fi + \next@}% +} +\def\loadbmfrak{\loadbmfrakAt\tMTPsize\sMTPsize\fMTPsize} + +\def\loadmhbiAt#1#2#3{% + \ifsubstituting@ + \else + \ifx\mtmhbi@\undefined@ + \alloc@@8\fam\chardef\sixt@@n\mtmhbi@ + \xdef\mtmhbi@@{\hexnumber@\mtmhbi@}% + \fi + \fi + \dimen@#1\relax\PSZ@ + \FONT@{mt2hbit}\nextiii@\textfont\mtmhbi@\next@ \skewchar\next@45 + \dimen@#2\relax\PSZ@ + \FONT@{mt2hbis}\nextiii@\scriptfont\mtmhbi@\next@ \skewchar\next@45 + \dimen@#3\relax\PSZ@ + \FONT@{mt2hbif}\nextiii@\scriptscriptfont\mtmhbi@\next@\skewchar\next@45 + \def\mhbi##1{\ifcat A##1{\fam\mtmhbi@\relax##1}% + \else\ifcat 0##1{\fam\mtmhbi@\relax##1}% + \else\mathchar"0\expandafter\mhbi@\meaning##1\mhbi@\relax\fi\fi}% + \def\mhbi@##1"##2##3##4##5\mhbi@{\mtmhbi@@##3##4}} +\def\loadmhbi{\loadmhbiAt\tMTPsize\sMTPsize\fMTPsize} + +\def\loadmbbiAt#1#2#3{% + \ifsubstituting@ + \else + \ifx\mtmbbi@\undefined@ + \alloc@@8\fam\chardef\sixt@@n\mtmbbi@ + \xdef\mtmbbi@@{\hexnumber@\mtmbbi@}% + \fi + \fi + \dimen@#1\relax\PSZ@ + \FONT@{mt2bbit}\nextiii@\textfont\mtmbbi@\next@ \skewchar\next@45 + \dimen@#2\relax\PSZ@ + \FONT@{mt2bbis}\nextiii@\scriptfont\mtmbbi@\next@ \skewchar\next@45 + \dimen@#3\relax\PSZ@ + \FONT@{mt2bbif}\nextiii@\scriptscriptfont\mtmbbi@\next@\skewchar\next@45 + \def\mbbi##1{\ifcat A##1{\fam\mtmbbi@\relax##1}% + \else\ifcat 0##1{\fam\mtmbbi@\relax##1}% + \else\mathchar"0\expandafter\mbbi@\meaning##1\mbbi@\relax\fi\fi}% + \def\mbbi@##1"##2##3##4##5\mbbi@{\mtmbbi@@##3##4}} +\def\loadmbbi{\loadmbbiAt\tMTPsize\sMTPsize\fMTPsize} + +% New load definitions can go here. + +% Return the category codes of " and @ to their original values. + +\catcode`\"=\qqcode@ +\catcode`\@=\atcode@ + +% Set things up for 10 point text. + +\MTP{10pt}{7pt}{5.5pt} + diff --git a/fonts/mtp2lite/texmf/tpm/package/mtp2lite.tpm b/fonts/mtp2lite/texmf/tpm/package/mtp2lite.tpm new file mode 100644 index 0000000000..d649ed05e0 --- /dev/null +++ b/fonts/mtp2lite/texmf/tpm/package/mtp2lite.tpm @@ -0,0 +1,95 @@ +<!DOCTYPE rdf:RDF SYSTEM "../tpm.dtd"> +<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:TPM="http://pctex.com/"> + <rdf:Description about="http://pctex.com"> + <TPM:Name>mtp2lite</TPM:Name> + <TPM:Author>Publish or Perish, Inc.</TPM:Author> + <TPM:Date>2009/02/17</TPM:Date> + <TPM:Version>2.1</TPM:Version> + <TPM:Creator>pctex</TPM:Creator> + <TPM:Title> +MathTime Pro II "Lite" fonts (non-free). + </TPM:Title> + <TPM:Description> +The mtpfonts package contains the non-free +MathTime Pro II "Lite" fonts developed by Publish or Perish, Inc. +and marketed by Personal TeX, Inc. www.pctex.com + </TPM:Description> + <TPM:Flags/> + <TPM:RunFiles size="1000000"> +texmf/doc/fonts/mtpro2/guide2.pdf +texmf/doc/fonts/mtpro2/mtpro2.pdf +texmf/doc/fonts/mtpro2/EULA-MTPro2Lite.txt +texmf/source/latex/mtpro2/mtpro2.dtx +texmf/source/latex/mtpro2/mtpro2.ins +texmf/doc/fonts/mtpro2/testMTP2LaTeX.tex +texmf/doc/fonts/mtpro2/testMTP2LaTeX.pdf +texmf/dvips/mtpro2/mtpro2.map +texmf/fonts/map/dvips/mtpro2/mtpro2.map +texmf/fonts/tfm/pctex/mtpro2/mt2exa.tfm +texmf/fonts/tfm/pctex/mtpro2/mt2exe.tfm +texmf/fonts/tfm/pctex/mtpro2/mt2exf.tfm +texmf/fonts/tfm/pctex/mtpro2/mt2exg.tfm +texmf/fonts/tfm/pctex/mtpro2/mt2mbf.tfm +texmf/fonts/tfm/pctex/mtpro2/mt2mbs.tfm +texmf/fonts/tfm/pctex/mtpro2/mt2mbt.tfm +texmf/fonts/tfm/pctex/mtpro2/mt2mif.tfm +texmf/fonts/tfm/pctex/mtpro2/mt2mis.tfm +texmf/fonts/tfm/pctex/mtpro2/mt2mit.tfm +texmf/fonts/tfm/pctex/mtpro2/mt2syf.tfm +texmf/fonts/tfm/pctex/mtpro2/mt2sys.tfm +texmf/fonts/tfm/pctex/mtpro2/mt2syt.tfm +texmf/fonts/tfm/pctex/mtpro2/mt2xl.tfm +texmf/fonts/tfm/pctex/mtpro2/mt2xxxl.tfm +texmf/fonts/type1/pctex/mtpro2/mt2exa.pfb +texmf/fonts/type1/pctex/mtpro2/mt2exe.pfb +texmf/fonts/type1/pctex/mtpro2/mt2exf.pfb +texmf/fonts/type1/pctex/mtpro2/mt2exg.pfb +texmf/fonts/type1/pctex/mtpro2/mt2mbf.pfb +texmf/fonts/type1/pctex/mtpro2/mt2mbs.pfb +texmf/fonts/type1/pctex/mtpro2/mt2mbt.pfb +texmf/fonts/type1/pctex/mtpro2/mt2mif.pfb +texmf/fonts/type1/pctex/mtpro2/mt2mis.pfb +texmf/fonts/type1/pctex/mtpro2/mt2mit.pfb +texmf/fonts/type1/pctex/mtpro2/mt2syf.pfb +texmf/fonts/type1/pctex/mtpro2/mt2sys.pfb +texmf/fonts/type1/pctex/mtpro2/mt2syt.pfb +texmf/fonts/type1/pctex/mtpro2/mt2xl.pfb +texmf/fonts/type1/pctex/mtpro2/mt2xxxl.pfb +texmf/fonts/type1/pctex/mtpro2/mt2exa.pfm +texmf/fonts/type1/pctex/mtpro2/mt2exe.pfm +texmf/fonts/type1/pctex/mtpro2/mt2exf.pfm +texmf/fonts/type1/pctex/mtpro2/mt2exg.pfm +texmf/fonts/type1/pctex/mtpro2/mt2mbf.pfm +texmf/fonts/type1/pctex/mtpro2/mt2mbs.pfm +texmf/fonts/type1/pctex/mtpro2/mt2mbt.pfm +texmf/fonts/type1/pctex/mtpro2/mt2mif.pfm +texmf/fonts/type1/pctex/mtpro2/mt2mis.pfm +texmf/fonts/type1/pctex/mtpro2/mt2mit.pfm +texmf/fonts/type1/pctex/mtpro2/mt2syf.pfm +texmf/fonts/type1/pctex/mtpro2/mt2sys.pfm +texmf/fonts/type1/pctex/mtpro2/mt2syt.pfm +texmf/fonts/type1/pctex/mtpro2/mt2xl.pfm +texmf/fonts/type1/pctex/mtpro2/mt2xxxl.pfm +texmf/tex/latex/mtpro2/mtpro2.sty +texmf/tex/latex/mtpro2/omslbm.fd +texmf/tex/latex/mtpro2/umt2bb.fd +texmf/tex/latex/mtpro2/umt2hrb.fd +texmf/tex/latex/mtpro2/umt2mf.fd +texmf/tex/latex/mtpro2/umt2ms.fd +texmf/tex/plain/mtpro2/mtp2.tex +texmf/tpm/package/mtp2lite.tpm +templates/LaTeX Article MTPro2Lite.tex +templates/Plain MTPro2.tex +templates/MTPro2 LaTeX test.tex + </TPM:RunFiles> + <TPM:DocFiles xmlns:TPM="http://pctex.com/" size="135000"> +texmf/doc/fonts/mtpro2/guide2.pdf +texmf/doc/fonts/mtpro2/mtpro2.pdf + </TPM:DocFiles> + <TPM:Provides>mtp2fonts</TPM:Provides> + <TPM:Requires/> + <TPM:Installation> + <TPM:Execute function="addMap" mode="mixed" parameter="mtpro2.map"/> + </TPM:Installation> + </rdf:Description> +</rdf:RDF> |