From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex/contrib/mathalpha/README | 32 ++ .../latex/contrib/mathalpha/doc/mathalpha-doc.pdf | Bin 0 -> 985321 bytes .../latex/contrib/mathalpha/doc/mathalpha-doc.tex | 377 +++++++++++++ macros/latex/contrib/mathalpha/tex/mathalfa.sty | 2 + macros/latex/contrib/mathalpha/tex/mathalpha.sty | 596 +++++++++++++++++++++ 5 files changed, 1007 insertions(+) create mode 100644 macros/latex/contrib/mathalpha/README create mode 100644 macros/latex/contrib/mathalpha/doc/mathalpha-doc.pdf create mode 100644 macros/latex/contrib/mathalpha/doc/mathalpha-doc.tex create mode 100644 macros/latex/contrib/mathalpha/tex/mathalfa.sty create mode 100644 macros/latex/contrib/mathalpha/tex/mathalpha.sty (limited to 'macros/latex/contrib/mathalpha') diff --git a/macros/latex/contrib/mathalpha/README b/macros/latex/contrib/mathalpha/README new file mode 100644 index 0000000000..89f2b7e59e --- /dev/null +++ b/macros/latex/contrib/mathalpha/README @@ -0,0 +1,32 @@ +______________________________________ +The MATHALPHA (*AKA MATHALFA) package + +As of version 1.12, the name of the package mathalfa was changed to mathalpha. (When I made the first version over 10 years ago, 8.3 filenames were still preferred iny a few older systems, leasing to what might appear as an unfortunate error in English spelling.) This should make no difference in its usage---though the name is changed, it works the same under both names. On CTAN, though the package will be set up as mathalpha, an alias will find it under the name mathalfa. The documentation name has been changed to mathalpha-doc.{tex,pdf} so some changes in texdoc data and the like will be necessary. + +This package provides a standard means of setting math alphabets +associated with the macros \mathcal, \mathbb, \mathfrak and \mathscr +and, where available, their bold counterparts \mathbcal, \mathbbb, +\mathbfrak and \mathbscr. +It mostly bypasses the usual fd and sty files used to load these +alphabets in order to allow each to be scaled independently and +without silently quantizing the sizes. + +Version 1.12 Name of package changed from mathalfa to mathalpha. + +Version 1.11 adds the option scr=kp to point to kpfonts script alphabet. It also introduces a new name for the package, though you may call by either name, whichever is less offensive to you. + +Version 1.10 adds the option bb=dsserif to point to the new DSSerif font. + +Version 1.09 adds two more calligraphic/script alphabets, both upright---txupr is based on the math calligraphic font from the TX fonts, and boondoxupr is derived from the stix math script fonts, version 1.1. + +Version 1.08 adds two more alphabets---bb=libus sets blackboard bold to the double-struck alphabet from LibertinusT1Math, and cal=stix sets the calligraphic alphabet to the one in stix-mathcal.pfb. + +Copyright 2012--2019 Michael Sharpe +msharpe at ucsd dot edu + +License: + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either + version 1.3c of this license or (at your option) any + later version: +____________________ diff --git a/macros/latex/contrib/mathalpha/doc/mathalpha-doc.pdf b/macros/latex/contrib/mathalpha/doc/mathalpha-doc.pdf new file mode 100644 index 0000000000..f7639e1ad6 Binary files /dev/null and b/macros/latex/contrib/mathalpha/doc/mathalpha-doc.pdf differ diff --git a/macros/latex/contrib/mathalpha/doc/mathalpha-doc.tex b/macros/latex/contrib/mathalpha/doc/mathalpha-doc.tex new file mode 100644 index 0000000000..de4de05441 --- /dev/null +++ b/macros/latex/contrib/mathalpha/doc/mathalpha-doc.tex @@ -0,0 +1,377 @@ +% !TEX TS-program = pdflatexmk +\documentclass[11pt]{amsart} +%\pdfmapfile{+TXUprCal.map} +%\pdfmapfile{+BOONDOXUprScr.map} +\usepackage[margin=1in]{geometry} +\usepackage[parfill]{parskip}\usepackage{url} +\usepackage{graphicx} + \DeclareFontEncoding{LMR}{}{} + \DeclareFontSubstitution{LMR}{hlcm}{m}{n} +\DeclareFontFamily{U}{futm}{} +\DeclareFontShape{U}{futm}{m}{n}{ + <-> fourier-bb + }{} +\DeclareSymbolFont{Ufutm}{U}{futm}{m}{n} +\usepackage[T1,OT1]{fontenc} +\usepackage{amssymb} +\usepackage{hyperref} +\title{The \textsf{mathalpha, AKA mathalfa} package} +\author{Michael Sharpe} +\email{msharpe at ucsd dot edu} +\date{} + +\begin{document} +\maketitle +%\section{Introduction} +The math alphabets normally addressed via the macros \verb|\mathcal|, \verb|\mathbb|, \verb|\mathfrak| and \verb|\mathscr| are in a number of cases not well-adapted to the \LaTeX\ math font structure. Some suffer from one or more of the following defects: +\begin{itemize} +\item +font sizes are locked into a sequence that was appropriate for \textsf{metafont}--generated rather than scalable fonts; +\item there is no option in the loading package to enable scaling; +\item the font metrics are designed for text rather than math mode, leading to awkward spacing, subscript placement and accent placement when used for the latter; +\item the means of selecting a set of math alphabets varies from package to package. +\end{itemize} +The goal of this package is to provide remedies for the above, where possible. This means, in effect, providing virtual fonts with my personal effort at correcting the metric issues, rewriting the font-loading macros usually found in a \textsf{.sty} and/or \textsf{.fd} files to admit a scale factor in all cases, and providing a \textsf{.sty} file which is extensible and from which any such math alphabet may be specified using a standard recipe. + +For example, the following fonts are potentially suitable as targets for \verb|\mathcal| or \verb|\mathscr| and are either included as part of \TeX Live 2011, as free downloads from CTAN or other free sources, or from commercial sites. +\begin{verbatim} +cm % Computer Modern Math Italic (cmsy) +euler % euscript +rsfs % Ralph Smith Formal Script---heavily sloped +rsfso % based on rsfs, much less sloped +lucida % From Lucida New Math (commercial) +mathpi % Adobe Mathematical Pi or clones thereof (commercial) +mma % Mathematica fonts +pxtx % pxfonts/txfonts +mt % Mathtime (commercial) +mtc % Mathtime Curly (commercial) +zapfc % Adobe Zapf Chancery (URW clone is part of TeXLive) +esstix % ESSTIX-thirteen +boondox % calligraphic alphabet derived from stix fonts +boondoxo % based on boondox, but less oblique +dutchcal % regular and bold weights derived from ESSTIX13 +pxtx % from pxfonts and txfonts +bickham % from commercial Bickham Script +bickhams +stix % from STIX +txupr % upright calligraphic based on txfonts +boondoxupr % upright calligraphic based on STIX script +kp % regular and bold weights from kpfonts---script only +\end{verbatim} +In all that follows, you may use the package names \textsf{mathalpha} and \textsf{mathalfa} interchangeably. Once you have installed the support packages for these fonts and the \textsf{mathalpha} package, you may select a particular calligraphic font for \verb|\mathcal| using something like +\begin{verbatim} +\usepackage[cal=rsfso,calscaled=.96]{mathalpha} +\end{verbatim} +which loads \textsf{rsfso} at 96\% of natural size as the math calligraphic alphabet. You may at the same time select the output for \verb|\mathbb|, \verb|\mathfrak|, \verb|\mathbfrak| (since the Mathematica fonts have a bold version of bb) and \verb|\mathscr| with +\begin{verbatim} +\usepackage[cal=mathpi, +calscaled=.94, +bb=ams, +frak=mma, +frakscaled=.97, +scr=rsfs]{mathalpha} +\end{verbatim} +As initially configured, \textsf{mathalpha} makes available the following options: +\begin{description} +\item[cal=] Select the calligraphic alphabet from the list above. +\item[calscaled=] Select a scale factor for \textsf{cal}. +\item[scr=] Select the script alphabet from \textsf{rsfs, rsfso, euler, lucida, mathpi, mma, mtc, zapfc, esstix, boondox, boondoxo. dutchcal, pxtx, bickham, bickhams,txupr,boondoxupr,kp}. +\item[scrscaled=] Select a scale factor for \textsf{scr}. +\item[frak=] Select the fraktur alphabet from \textsf{euler, lucida, mathpi, mma, mt, esstix, boondox, pxtx}. +\item[frakscaled=] Select a scale factor for \textsf{frak}. +\item[bb=] Select the Blackboard bold alphabet from \textsf{ams, lucida, mathpi, mma, mt, mth, pazo, fourier, esstix, boondox, px, tx, txof}. +\item[bbscaled=] Select a scale factor for \textsf{bb}. +\item[scaled=] Select a scale for all alphabets chosen within mathalpha. +\item[showoptions] This option throws an error and shows a list of all installed option values for \textsf{bb}, \textsf{cal}, \textsf{frak} and \textsf{scr} on the console. +\end{description} + +\textsc{Notes} +\begin{itemize} +\item If bold versions exist, they are loaded and may be used with the macros \verb|\mathbcal|, \verb|\mathbbb|, \verb|\mathbfrak| and \verb|\mathbscr|. +\item If you prefer that the bold weight be the default target from \verb|\mathcal|, enter +\begin{verbatim} +\let\mathcal\mathbcal +\end{verbatim} +after loading the {\tt mathalpha} package. (You may find this a useful option if you specified {\tt cal=dutchcal}, as that font is quite light.) +\item +Use of \textsf{zapfc} as a value for either \textsf{cal} or \textsf{scr} requires that you install the \textsf{urwchancal} package from\\ + \url{http://mirror.tug.org/fonts/urwchancal}.\\ + (It is distributed as part of \TeX\ Live as of March 2011.) +\item Use of the \textsf{rsfso} as a value for either \textsf{cal} or \textsf{scr} requires that you install the \textsf{rsfso} package from\\ + \url{http://mirror.tug.org/fonts/rsfso}.\\ + (It is distributed as part of \TeX\ Live as of March 2011.) +\item Use of \textsf{mma} as a value requires that you have access to the older mathematic fonts from Mathematica versions near 3.\\ +The support files developed by Jens-Peer Kuska may be downloaded from \textsc{ctan}. (Search for {\tt Mathematica}.)\\ +In particular, {\tt wolfram.map} must be enabled. Virtual fonts with metrics that are suitable for math mode are also required. +\item Use of \textsf{mathpi} requires that you purchase and install the Adobe Mathematical Pi fonts (\#2 and \#6) or clones thereof.%If you choose to buy them, you may download support files, including virtual fonts with tuned metrics, from \\ +%\url{http://public.me.com/mjsharpe/mathpiTDS.zip}. +\item The {\tt pxtx} package consists of virtual fonts drawn from the math alphabets in the {\tt pxfonts} and {\tt txfonts} packages, with modified metrics. The calligraphic fonts are identical to those in the Mathematica package, but the others seem distinct. The {\tt pxtx} package is part of \TeX\ Live. +\item The Adobe Bickham Script Pro font collection in OpenType format is rather expensive but quite elegant. Its upper-case glyphs are well-suited for adaptation as a math calligraphic font once the slant is reduced. The \textsf{bickham} package makes available virtual fonts and \LaTeX\ support files for these fonts, and can be used as the target for \verb|\mathcal| and \verb|\mathscr| as well as their bold variants. You may use the target \textsf{bickham} to load regular and bold weight of BickhamScriptPro. The target \textsf{bickhams} instead loads \textsf{bickham-s} (the semibold weight) in place of \textsf{bickham-r}, the regular weight. Note that this requires that you install the newest version of the \textsf{bickham} package, which provides support for the semibold weight. +\item The ESSTIX collection is a creation of Elsevier Publishing in 2000, though never officially released by them. Before development was complete, the collection was donated to the STIX math font project, to which it seems to have been a precursor. Distribution has since been deprecated, but in my opinion, math alphabet fonts, especially math script fonts, are so rare that none should be allowed to become extinct. The BlackBoard Bold ESSTIX font (\textsf{ESSTIX14}) is close to both the mathpi and Fourier Blackboard Bold fonts, and the fraktur ESSTIX font (\textsf{ESSTIX15}) is similar to mathpi fraktur. However, the ESSTIX script font (\textsf{ESSTIX13}) seems to be a distinct and interesting face. The PostScript versions of these fonts have been hard to find, but the TrueType versions may be found embedded within the \textsf{Amaya} project, available at\\ +\url{http://www.w3.org/Amaya/}.\\ + The ESSTIX PostScript fonts, virtual math fonts and \LaTeX\ support files may be downloaded now from\\ +\url{http://mirror.ctan.org/fonts/esstix}.\\ +This provides virtual fonts with tfm names \textsf{esstixcal}, \textsf{esstixbb} and \textsf{esstixfrak}. As of May 2011, the \textsf{esstix} package is distributed as a part of \TeX\ Live. +\item The STIX fonts are currently (May 2011) distributed only in OpenType format. The PostScript BOONDOX fonts (in the USA, \emph{the boondocks} and \emph{the sticks} are essentially synonymous) containing their calligraphic, fraktur and double-struck (blackboard bold) alphabets in regular and bold weights were manufactured from STIX {\tt.otf} fonts using \textsf{FontForge}. Virtual fonts were then created using \textsf{fontinst} to customize the metrics for positioning accents and subscripts. A TDS package with the fonts and support files may be downloaded from\\ +\url{http://mirror.ctan.org/fonts/boondox}.\\ +\end{itemize} + +The following are my opinions. No objective judgment should be inferred. +\begin{itemize} +\item +If your interest in math fonts goes beyond the basic level, you should look into the commercial products \textsf{Lucida} from \url{http://www.tug.org/store/lucida/order.html} and \textsf{Mathtime Pro 2} from \url{http://pctex.com}. Both are high quality products, and are excellent values for the prices. Even if you only use small pieces of the collections, these are much better buys than most commercial text fonts. +\item +The Mathematica fonts are not of very high quality as a collection, but they have some good parts. In particular, the calligraphic math font may be turned into a useful target for \verb|\mathcal| after its metrics have been fine-tuned. + You are missing out on some good stuff if you don't install this free collection. +\item The {\tt txfonts} and {\tt pxfonts} packages provide a number of math alphabets that deserve more attention---the fraktur in particular is quite handsome but should perhaps be scaled up a bit. +\item +The \textsf{rsfs} package is not suitable for \verb|\mathcal|, being much too slanted. The best options for \verb|\mathcal| are \textsf{rsfso}, \textsf{esstix}, \textsf{boondoxo} and \textsf{mt}, the latter requiring the (non-free) \textsf{mtpro2} collection. +\item +If you own the \textsf{mtpro2} collection, look into the `curly' script font, which seems useful, though a bit heavy. +\item It is questionable whether there is value in the \textsf{Mathpi} fonts given that there are free close approximants to each of them. +\item The STIX (BOONDOX) calligraphic font is quite handsome. I prefer it to be less sloped, along the lines of rsfso. This is provided by the option {\tt boondoxo}, which provides virtual fonts sloped approximately like {\tt rsfso}. +\end{itemize} + +\textsc{Height Comparisons:} + +The CapHeight of a font is supposed to represent the height of capital letters in the font in units where 1000 is equal to 1{\tt em}, the size of \verb|\quad| which, for a font of nominal size 10{\tt pt} is in most cases equal to 10{\tt pt}. Script fonts often have irregularly sized capital letters, and the CapHeight should perhaps represent the median height of capitals. This is not always so. For example, \textsf{pzc} (Adobe Zapf Chancery) and \textsf{uzc} (its URW clone) have the same glyph metrics, but their CapHeights are listed respectively as 708 and 573. These numbers, taken from their AFM files, represent in the first case the second greatest height of capital letters and the second case the second smallest. If the CapHeight is to provide useful information about scaling the font, a more central value is 595, indicating that in most cases, Zapf Chancery usually needs to be scaled up by about 15\%. + + For the purpose of making scale factors to mediate between these disparate fonts, the following chart may be helpful. + +\begin{tabular}{l r} +Computer Modern Roman (cmr10)&683\\ +Zapf Chancery (pzcmi/uzcmi)&595\\ +Euler fraktur(eufm10)&690\\ +Euler script(eusm10)&695\\ +rsfs/rsfso&710\\ +%AMS fraktur (msbm10)&685\\ +Computer Modern calligraphic (cmsy10)&703\\ +Mathpi calligraphic (mh2scr)&720\\ +Mathpi fraktur (mh2)&762\\ +Mathpi Blackboard bold (mh6)&720\\ +pxtx calligraphic (txr-cal)&684\\ +pxtx calligraphic-bold (txb-cal)&684\\ +pxtx fraktur (txr-frak)&684\\ +pxtx fraktur-bold (txb-frak)&679\\ +pxtx openface (tx-of)&664\\ +pxtx openface-bold (txr-of)&678\\ +tx double-struck (txr-ds)&684\\ +px double-struck (pxr-ds)&693\\ +px double-struck-bold (pxb-ds)&698\\ +bickham calligraphic (bickham-r)&683\\ +Lucida calligraphic (lbms)&723\\ +Lucida Blackboard bold (lbma)&723\\ +Lucida fraktur (lbl)&741\\ +mtpro2 calligraphic (mt2mst)&702\\ +mtpro2 curly (mt2mct)&702\\ +mtpro2 Blackboard bold (mt2bbt)&690\\ +mtpro2 Holey Roman (mt2hrbt)&690\\ +Mathematica calligraphic (Mathematica5)&685\\ +Mathematica fraktur (Mathematica6)&690\\ +Mathematica Blackboard bold (Mathematica7)&662\\ +Mathpazo Blackboard bold (fplmbb)&692\\ +Fourier Blackboard bold (fourier-bb)&693\\ +ESSTIX Calligraphic (ESSTIX13)&692\\ +ESSTIX Blackboard bold (ESSTIX14)&696\\ +ESSTIX fraktur (ESSTIX15)&700\\ +BOONDOX Calligraphic &687\\ +BOONDOX Blackboard bold &662\\ +BOONDOX fraktur &695 +\end{tabular} + +Here are some samples from the fonts mentioned above: +\def\alf{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} +\newdimen\pbw \setlength{\pbw}{\textwidth} +\addtolength{\pbw}{-20pt} +\newdimen\cw \setlength{\cw}{\pbw}\divide\cw 26\relax +\newcommand{\al}{\hbox to\columnwidth{\hfil\parbox{\the\pbw}{% +\hbox{\hbox to \cw{\hfil A\hfil}% +\hbox to \cw{\hfil B\hfil}% +\hbox to \cw{\hfil C\hfil}% +\hbox to \cw{\hfil D\hfil}% +\hbox to \cw{\hfil E\hfil}% +\hbox to \cw{\hfil F\hfil}% +\hbox to \cw{\hfil G\hfil}% +\hbox to \cw{\hfil H\hfil}% +\hbox to \cw{\hfil I\hfil}% +\hbox to \cw{\hfil J\hfil}% +\hbox to \cw{\hfil K\hfil}% +\hbox to \cw{\hfil L\hfil}% +\hbox to \cw{\hfil M\hfil}% +\hbox to \cw{\hfil N\hfil}% +\hbox to \cw{\hfil O\hfil}% +\hbox to \cw{\hfil P\hfil}% +\hbox to \cw{\hfil Q\hfil}% +\hbox to \cw{\hfil R\hfil}% +\hbox to \cw{\hfil S\hfil}% +\hbox to \cw{\hfil T\hfil}% +\hbox to \cw{\hfil U\hfil}% +\hbox to \cw{\hfil V\hfil}% +\hbox to \cw{\hfil W\hfil}% +\hbox to \cw{\hfil X\hfil}% +\hbox to \cw{\hfil Y\hfil}% +\hbox to \cw{\hfil Z\hfil}}}}} +\long\def\sample#1#2{%#1=name, #2=font cmd +\vspace{1.5pt plus 1pt minus .5pt}\parbox{\textwidth}{#1\\[2pt plus .5pt minus .5pt]{#2}}} + +\textsf{\textbf{Fraktur:}} + +{\parindent=0pt +\sample{{\tt\small esstix} (ESSTIX fraktur):} {\usefont{U}{esstixfrak}{m}{n}\al} + +\sample{{\tt\small mathpi} (Mathpi fraktur):} {\usefont{U}{mathpifrak}{m}{n}\al} + +\sample{{\tt\small pxtx} (pxtx fraktur):} {\usefont{U}{tx-frak}{m}{n}\al} + +\sample{{\tt\small mt} (Mathtime Pro 2 fraktur):} {\usefont{U}{mt2mf}{m}{n}\al} + +\sample{{\tt\small euler} (Euler fraktur):} {\usefont{U}{euf}{m}{n}\al} + +\sample{{\tt\small mma} (Mathematica fraktur):} {\usefont{U}{mmamfrak}{m}{n}\al} + +\sample{{\tt\small lucida} (Lucida fraktur):} {\usefont{T1}{hlcf}{m}{n}\al} + +\sample{{\tt\small boondox} (BOONDOX fraktur):} {\usefont{U}{BOONDOX-frak}{m}{n}\al} + +\sample{{\tt\small euler} (Euler fraktur-bold):} {\usefont{U}{euf}{b}{n}\al} + +\sample{{\tt\small mma} (Mathematica fraktur-bold):} {\usefont{U}{mmamfrak}{b}{n}\al} + +\sample{{\tt\small pxtx} (pxtx fraktur-bold):} {\usefont{U}{tx-frak}{b}{n}\al} + +\sample{{\tt\small mt} (Mathtime Pro 2 fraktur-bold):} {\usefont{U}{mt2mf}{b}{n}\al} + +\sample{{\tt\small boondox} (BOONDOX fraktur-bold):} {\usefont{U}{BOONDOX-frak}{b}{n}\al} + +} +\def\spc{\hspace*{7pt}} +\textsf{\textbf{Calligraphic:}} + +{\parindent=0pt +\textsc{Upright:}\\[3pt] +\sample{{\small\tt \spc euler} (Euler script):}{\usefont{U}{eus}{m}{n}\al} + +\sample{{\small\tt \spc euler} (Euler script-bold):} {\usefont{U}{eus}{b}{n}\al} + +\sample{{\small\tt\spc mtc} (Mathtime Pro 2 Curly script):} {\usefont{U}{mt2ms}{m}{n}\al} + +\sample{{\small\tt\spc txupr} (TXUprCal):} {\usefont{U}{txuprcal}{m}{n}\al} + +\sample{{\small\tt\spc boondoxupr} (BOONDOXUprScr):} {\usefont{U}{boondoxuprscr}{m}{n}\al} + +\vspace{4pt}\textsc{Restrained:}\\[3pt] +\sample{{\small\tt \spc cm} (CM calligraphic, cmsy):} {\usefont{OMS}{cmsy}{m}{n}\al} + +\sample{{\small\tt \spc cm} (CM calligraphic-bold, cmbsy):} {\usefont{OMS}{cmsy}{b}{n}\al} + +\font\zapf=pzcmi at 13pt +\sample{{\small\tt\spc zapfc} (Zapf Chancery):} {\zapf \al}%{\usefont{T1}{pzc}{m}{it}\al} + +\sample{{\small\tt\spc lucida} (Lucida calligraphic):} {\usefont{OMS}{hlcy}{m}{n}\al} + +\sample{{\small\tt\spc lucida} (Lucida calligraphic-bold):} {\usefont{OMS}{hlcy}{b}{n}\al} + +\sample{{\small\tt\spc mma} (Mathematica script):} {\usefont{U}{mmamcal}{m}{n}\al} + +\sample{{\small\tt\spc mma} (Mathematica script-bold):} {\usefont{U}{mmamcal}{b}{n}\al} + +\sample{{\small\tt\spc pxtx} (pxtx script):} {\usefont{U}{tx-cal}{m}{n}\al} + +\sample{{\small\tt\spc pxtx} (pxtx script-bold):} {\usefont{U}{tx-cal}{b}{n}\al} + +\vspace{4pt}\textsc{Embellished:}\\[3pt] +\sample{{\small\tt\spc mt} (Mathtime Pro 2 script):} {\usefont{U}{mt2ms}{m}{it}\al} + +\sample{{\small\tt\spc mt} (Mathtime Pro 2 script-bold):} {\usefont{U}{mt2ms}{b}{it}\al} + +\sample{{\small\tt\spc mathpi} (Mathpi script):} {\usefont{U}{mathpical}{m}{n}\al} + +\sample{{\small\tt\spc esstix} (ESSTIX calligraphic):} {\usefont{U}{esstixcal}{m}{n}\al} + +\sample{{\small\tt\spc dutchcal} (dutchcal calligraphic):} {\usefont{U}{dutchcal}{m}{n}\al} + +\sample{{\small\tt\spc dutchcal} (dutchcal calligraphic-bold):} {\usefont{U}{dutchcal}{b}{n}\al} + +\sample{{\small\tt\spc bickham} (bickham calligraphic):} {\usefont{U}{bickham}{m}{n}\al} + +\sample{{\small\tt\spc bickham} (bickham calligraphic-bold):} {\usefont{U}{bickham}{b}{n}\al} + +\sample{{\small\tt\spc rsfso}:} {\usefont{U}{rsfso}{m}{n}\al} + +\font\calo=zxxrow7z at 11pt +\sample{{\small\tt\spc boondoxo} (BOONDOX Calligraphic Oblique):} {\calo \al} + +\font\calo=zxxbow7z at 11pt +\sample{{\small\tt\spc boondoxo} (BOONDOX Calligraphic Oblique-bold):} {\calo \al} + +\vspace{4pt}\textsc{Heavily Sloped:}\\[3pt] +\sample{{\small\tt\spc boondox} (BOONDOX Calligraphic):} {\usefont{U}{BOONDOX-cal}{m}{n}\al} + +\sample{{\small\tt\spc boondox} (BOONDOX Calligraphic-bold):} {\usefont{U}{BOONDOX-cal}{b}{n}\al} + +\font\calo=rsfs10 at 11pt +\sample{{\small\tt\spc rsfs}:} {\calo\al} + +\font\calo=jkpsyd at 11pt +\sample{{\small\tt\spc kp}: (kpfonts script regular)} {\calo\al} + +\font\calo=jkpbsyd at 11pt +\sample{{\small\tt\spc kp}: (kpfonts script medium)} {\calo\al} + +} + +\textsf{\textbf{Double-Struck (Blackboard Bold):}} + +{\parindent=0pt +\textsc{Hollowed-out Shapes:}\\[3pt] +\font\amsbb=msbm10 at 11pt +\sample{{\tt\small\spc ams} (AMS bb):} {\amsbb \al} + +\sample{{\tt\small\spc mth} (Mathtime Pro 2 Holey Roman):} {\usefont{U}{mt2hrb}{m}{n}\al} + +\sample{{\tt\small\spc mth} (Mathtime Pro 2 Holey Roman-bold):} {\usefont{U}{mt2hrb}{b}{n}\al} + +\sample{{\tt\small\spc txof} (tx of):} {\usefont{U}{tx-of}{m}{n}\al} + +\sample{{\tt\small\spc txof} (tx of bold):} {\usefont{U}{tx-of}{b}{n}\al} + +\vspace{4pt}\textsc{Geometric Shapes:}\\[3pt] +\sample{{\tt\small\spc lucida} (Lucida bb):} {\usefont{LMR}{hlcm}{m}{n}\al} + +\sample{{\tt\small\spc mathpi} (Mathpi bb):} {\usefont{U}{mathpibb}{m}{n}\al} + +\sample{{\tt\small\spc mt} (Mathtime Pro 2 bb):} {\usefont{U}{mt2bb}{m}{n}\al} + +\sample{{\tt\small\spc mma} (Mathematica bb):} {\usefont{U}{mmambb}{m}{n}\al} + +\sample{{\tt\small\spc pazo} (Mathpazo bb):} {\usefont{U}{fplmbb}{m}{n}\al} + +\sample{{\tt\small\spc px} (px bb):} {\usefont{U}{px-ds}{m}{n}\al} + +\sample{{\tt\small\spc px} (px bb bold):} {\usefont{U}{px-ds}{b}{n}\al} + +\sample{{\tt\small\spc fourier} (Fourier bb):} {\usefont{U}{futm}{m}{n}\al} + +\sample{{\tt\small\spc esstix} (ESSTIX bb):} {\usefont{U}{esstixbb}{m}{n}\al} + +\sample{{\tt\small\spc boondox} (BOONDOX bb):} {\usefont{U}{BOONDOX-ds}{m}{n}\al} + +{\tt\small\spc boondox} (BOONDOX bb-bold):\\[2pt] \hbox to \textwidth{\hspace*{.22in}{\def\spc{\hspace{9pt}}\usefont{U}{BOONDOX-ds}{b}{n}\spc C\spc D\spc H\spc N\spc P\spc Q\spc R\spc Z} (few glyphs available.)\hfil} + +\sample{{\tt\small\spc mt} (Mathtime Pro 2 bb-bold):} {\usefont{U}{mt2bb}{b}{n}\al} + +\sample{{\tt\small\spc mma} (Mathematica bb-bold):} {\usefont{U}{mmambb}{b}{n}\al} + +} + +\textsc{Notes:} +\begin{itemize} +\item +Lucida fonts generally need to be reduced in scale to match other math and text fonts. +\item Zapf Chancery need to be scaled up by 15\% or so. This font is not really suited for use as a math alphabet due to the disparate heights and depths and the long tails on some glyphs. Use with care. +\item Mathematica fraktur is quite readable, but not very attractive, seeming to have random variations in baseline and height. It's also a bit too heavy to be a good match to most other fonts. Similar comments could apply to Lucida fraktur, which has a very distinctive appearance with some features more similar to \textsf{Duc de Berry} than to other fraktur fonts. +\item The calligraphic fonts break down into four natural groups---(i) the upright styled Euler and Curly; (ii) the less-embellished CM, Lucida, Zapf Chancery, ESSTIX, dutchcal, Mathematica and pxtx; (iii) the moderately sloped but more embellished Mathpi, Mathtime, bickham, rsfso and boondoxo; (iv) the heavily sloped rsfs and the slightly less sloped boondox. My preference, if not using \textsf{mathtime} or \textsf{lucida}, is to set \verb|\mathcal| to one from group (ii) and \verb|\mathscr| to one from group (iii). +\item Blackboard bold can look poor in some cases. In my opinion, AMS bb and some of the others show up as ghostly (gray and indistinct) especially on the screen and may not appear to match the weights of other math glyphs. (AMS bb, Mathtime Pro 2 Holey Roman and the txof bb fonts appear to be formed by removing the interiors of solid glyphs from a bold, serifed font. Mathtime Pro 2 Holey Roman Bold is a much better fit to most math fonts of weight heavier than Computer Modern.) Fourier, Mathpi, ESSTIX and boondox bb appear to be very close in style, with mathpi bb a bit less sharp. Mathpazo bb, Mathematica bb, px bb and tx bb have a heavier appearance and should work better with fonts other than Computer Modern. + +\end{itemize} +\end{document} \ No newline at end of file diff --git a/macros/latex/contrib/mathalpha/tex/mathalfa.sty b/macros/latex/contrib/mathalpha/tex/mathalfa.sty new file mode 100644 index 0000000000..2d8e55925b --- /dev/null +++ b/macros/latex/contrib/mathalpha/tex/mathalfa.sty @@ -0,0 +1,2 @@ +% mathalfa.sty now redirects to mathalpha.sty +\RequirePackageWithOptions{mathalpha} diff --git a/macros/latex/contrib/mathalpha/tex/mathalpha.sty b/macros/latex/contrib/mathalpha/tex/mathalpha.sty new file mode 100644 index 0000000000..573cb915cf --- /dev/null +++ b/macros/latex/contrib/mathalpha/tex/mathalpha.sty @@ -0,0 +1,596 @@ +\NeedsTeXFormat{LaTeX2e} +\def\mathalphaVersion{1.12} +\def\mathalphaDate{2019/05/20} +\ProvidesPackage{mathalpha}[\mathalphaDate\space-\space\mathalphaVersion + mathalpha (License LPPL) Michael Sharpe] +\message{`mathalpha' v\mathalphaVersion, \mathalphaDate, a renaming of mathalfa (msharpe)} +\RequirePackage{xkeyval} +% available choices +\def\bb@lst{ams, lucida, mathpi, mma, mt, mth, pazo, fourier, esstix, boondox, px, tx, txof, libus, dsserif} +\def\cal@lst{cm, euler, rsfso, rsfs, lucida, mathpi, mma, mt, mtc, zapfc, esstix, boondox, boondoxo, dutchcal, pxtx, bickham, bickhams, stix,txupr,boondoxupr} +\def\frak@lst{euler, lucida, mathpi, mma, mt, esstix, boondox, pxtx} +\def\scr@lst{rsfs, rsfso, euler, lucida, mathpi, mma, mtc, zapfc, esstix, boondox, boondoxo, dutchcal, pxtx, bickham, bickhams,txupr,boondoxupr,kp} +\def\mathalfa@bbnr{-1}\def\mathalfa@calnr{-1} +\def\mathalfa@fraknr{-1}\def\mathalfa@scrnr{-1} +\def\minusone{-1} +% scaled +\define@key{mathalfa}{scaled}[1.0]{\def\mathalfa@bbscaled{s*[#1]}\def\mathalfa@calscaled{s*[#1]}\def\mathalfa@frakscaled{s*[#1]}\def\mathalfa@scrscaled{s*[#1]}}% all at once +% or separately +\def\@cmd{} +\define@key{mathalfa}{bbscaled}[1.0]{\def\mathalfa@bbscaled{s*[#1]}} +\define@key{mathalfa}{calscaled}[1.0]{\def\mathalfa@calscaled{s*[#1]}} +\define@key{mathalfa}{frakscaled}[1.0]{\def\mathalfa@frakscaled{s*[#1]}} +\define@key{mathalfa}{scrscaled}[1.0]{\def\mathalfa@scrscaled{s*[#1]}} +% alphabets +\edef\@cmd{\noexpand\define@choicekey*{mathalfa}{bb}[\noexpand\mathalfa@val\noexpand\mathalfa@bbnr]{\bb@lst}{}} +\@cmd +\edef\@cmd{\noexpand\define@choicekey*{mathalfa}{cal}[\noexpand\mathalfa@val\noexpand\mathalfa@calnr]{\cal@lst}{}} +\@cmd +\edef\@cmd{\noexpand\define@choicekey*{mathalfa}{frak}[\noexpand\mathalfa@val\noexpand\mathalfa@fraknr]{\frak@lst}{}} +\@cmd +\edef\@cmd{\noexpand\define@choicekey*{mathalfa}{scr}[\noexpand\mathalfa@val\noexpand\mathalfa@scrnr]{\scr@lst}{}} +\@cmd +% showoptions +\DeclareOption{showoptions}{\PackageError{mathalfa}{Package Options:\MessageBreak bb=\bb@lst\MessageBreak cal=\cal@lst\MessageBreak frak=\frak@lst\MessageBreak scr=\scr@lst\MessageBreak bbscaled=1.0, calscaled=1.0, frakscaled=1.0, scrscaled=1.0}{}} +\DeclareOption*{% + \begingroup + \edef\x{\endgroup + \noexpand\setkeys{mathalfa}{\CurrentOption}}% + \x} +\ProcessOptions* % run \DeclareOption* on each option specified, in order +% Convert scaled choices to macros +\expandafter\ifx\csname mathalfa@bbscaled\endcsname\relax \let\mathalfa@bbscaled\@empty +\fi +\expandafter\ifx\csname mathalfa@calscaled\endcsname\relax \let\mathalfa@calscaled\@empty\fi +\expandafter\ifx\csname mathalfa@frakscaled\endcsname\relax \let\mathalfa@frakscaled\@empty\fi +\expandafter\ifx\csname mathalfa@scrscaled\endcsname\relax \let\mathalfa@scrscaled\@empty\fi +% Check for lucida loaded +\newif\iflucid@loaded \lucid@loadedfalse +\expandafter\ifx\csname DeclareLucidaFontShape\endcsname\relax\else\lucid@loadedtrue\fi% +% Check for mtpro2 loaded +%\newif\ifmtp@loaded \mtp@loadedfalse +\def\mtp@loadedError{\PackageError{mathalfa}{You have already loaded the mtpro2 package. You should not use mathalfa to load additional mtpro2 options.}{}}% +% Check for amsfonts +\def\amsloaded{} +\@ifpackageloaded{amsfonts}{% + \let\amsloaded=Y% +}{}% +% Undefine some previous settings +\ifx\mathalfa@bbnr\minusone\else\let\mathbb\relax\let\mathbbb\relax\fi +%\ifx\mathalfa@calnr\minusone\else\let\mathcal\relax\fi +\ifx\mathalfa@fraknr\minusone\else\let\mathfrak\relax\let\mathbfrak\relax\fi +%\ifx\mathalfa@scrnr\minusone\else\let\mathscr\relax\fi +% Code to set up the math alphabets specified, not necessarily using the fd files +% Blackboard Bold +\ifcase\mathalfa@bbnr\relax% item 0 of {ams, lucida, mathpi, mma, mt, mth, pazo, fourier, esstix, boondox, px, tx, txof,libus,dsserif} + \DeclareFontFamily{U}{msb}{}% + \DeclareFontShape{U}{msb}{m}{n}{<-7>\mathalfa@bbscaled msbm5 + <7-9>\mathalfa@bbscaled msbm7 + <9->\mathalfa@bbscaled msbm10}{}% + \DeclareMathAlphabet{\mathbb}{U}{msb}{m}{n} +\or % lucida + \iflucid@loaded \PackageError{mathalfa}{Do not use lucida as an option to mathalfa after loading a lucida package}{}\fi +% \DeclareFontFamily{OMS}{lbm}{\skewchar\font48} +% \DeclareFontShape{OMS}{lbm}{m}{n}{<->\mathalfa@bbscaled hlcry}{} +% \DeclareFontShape{OMS}{lbm}{b}{n}{<->\mathalfa@bbscaled hlcdy}{} +% \DeclareMathAlphabet{\mathcal} {OMS}{lbm}{m}{n} +% \SetMathAlphabet{\mathcal}{bold}{OMS}{lbm}{b}{n} +% \DeclareMathAlphabet{\mathbcal} {OMS}{lbm}{b}{n} + \DeclareFontFamily{U}{hlcm}{} + \DeclareFontShape{U}{hlcm}{m}{n}{<->\mathalfa@bbscaled hlcra}{} + \DeclareMathAlphabet{\mathbb}{U}{hlcm}{m}{n} +\or % mathpi + \DeclareFontFamily{U}{mathpibb}{\skewchar \font =45} + \DeclareFontShape{U}{mathpibb}{m}{n}{ + <-> \mathalfa@bbscaled mathpibb}{} + \DeclareMathAlphabet{\mathbb}{U}{mathpibb}{m}{n} +\or % mma + \DeclareFontFamily{U}{mmambb}{\skewchar \font =45} + \DeclareFontShape{U}{mmambb}{m}{n}{ + <-> \mathalfa@bbscaled mmambb}{} + \DeclareFontShape{U}{mmambb}{b}{n}{ + <-> \mathalfa@bbscaled mmambbb}{} + \DeclareMathAlphabet{\mathbb}{U}{mmambb}{m}{n} + \SetMathAlphabet{\mathbb}{bold}{U}{mmambb}{b}{n} + \DeclareMathAlphabet{\mathbbb} {U}{mmambb}{b}{n} +\or % mt + \@ifpackageloaded{mtpro2}{\mtp@loadedError}{} + \DeclareFontFamily{U}{mtbb}{\skewchar\font45}% + \DeclareFontShape{U}{mtbb}{m}{n}{<-7>\mathalfa@bbscaled mt2bbf + <7-9>\mathalfa@bbscaled mt2bbs + <9->\mathalfa@bbscaled mt2bbt}{}% + \DeclareFontShape{U}{mtbb}{b}{n}{<-7>\mathalfa@bbscaled mt2bbdf + <7-9>\mathalfa@bbscaled mt2bbds + <9->\mathalfa@bbscaled mt2bbdt}{}% + \DeclareMathAlphabet{\mathbb} {U}{mtbb}{m}{n} + \SetMathAlphabet{\mathbb}{bold}{U}{mtbb}{b}{n} + \DeclareMathAlphabet{\mathbbb} {U}{mtbb}{b}{n} +\or % mth--hollowed out letters with more shape---' Holey Roman' + \@ifpackageloaded{mtpro2}{\mtp@loadedError}{} + \DeclareFontFamily{U}{mthrb}{\skewchar\font45}% + \DeclareFontShape{U}{mthrb}{m}{n}{<-7>\mathalfa@bbscaled mt2hrbf + <7-9>\mathalfa@bbscaled mt2hrbs + <9->\mathalfa@bbscaled mt2hrbt}{}% + \DeclareFontShape{U}{mthrb}{b}{n}{<-7>\mathalfa@bbscaled mt2hrbdf + <7-9>\mathalfa@bbscaled mt2hrbds + <9->\mathalfa@bbscaled mt2hrbdt}{}% + \DeclareMathAlphabet{\mathbb} {U}{mthrb}{m}{n} + \SetMathAlphabet{\mathbb}{bold}{U}{mthrb}{b}{n} + \DeclareMathAlphabet{\mathbbb} {U}{mthrb}{b}{n} +\or % pazo + \DeclareFontFamily{U}{fplmbb}{} + \DeclareFontShape{U}{fplmbb}{m}{n}{ + <->\mathalfa@bbscaled fplmbb}{} + \DeclareMathAlphabet{\mathbb} {U}{fplmbb}{m}{n} +\or % fourier + \DeclareFontFamily{U}{futm}{} + \DeclareFontShape{U}{futm}{m}{n}{ + <-> \mathalfa@bbscaled fourier-bb}{} + \DeclareMathAlphabet{\mathbb}{U}{futm}{m}{n}% should this be a symbol font? +\or % esstix + \DeclareFontFamily{U}{esstixbb}{\skewchar \font =45} + \DeclareFontShape{U}{esstixbb}{m}{n}{ + <-> \mathalfa@bbscaled esstixbb}{} + \DeclareMathAlphabet{\mathbb}{U}{esstixbb}{m}{n} +\or %boondox + \DeclareFontFamily{U}{BOONDOX-ds}{\skewchar \font =45} + \DeclareFontShape{U}{BOONDOX-ds}{m}{n}{ + <-> \mathalfa@bbscaled BOONDOX-r-ds}{} + \DeclareFontShape{U}{BOONDOX-ds}{b}{n}{ + <-> \mathalfa@bbscaled BOONDOX-b-ds}{} + \DeclareMathAlphabet{\mathbb}{U}{BOONDOX-ds}{m}{n} + \SetMathAlphabet{\mathbb}{bold}{U}{BOONDOX-ds}{b}{n} + \DeclareMathAlphabet{\mathbbb} {U}{BOONDOX-ds}{b}{n} +\or %px + \DeclareFontFamily{U}{px-math-ds}{\skewchar \font =45}% double-struck + \DeclareFontShape{U}{px-math-ds}{m}{n}{ + <-> \mathalfa@bbscaled pxr-ds}{} + \DeclareFontShape{U}{px-math-ds}{b}{n}{ + <-> \mathalfa@bbscaled pxb-ds}{} + \DeclareMathAlphabet{\mathbb}{U}{px-math-ds}{m}{n} + \SetMathAlphabet{\mathbb}{bold}{U}{px-math-ds}{b}{n} + \DeclareMathAlphabet{\mathbbb} {U}{px-math-ds}{b}{n} +\or %tx + \DeclareFontFamily{U}{tx-math-ds}{\skewchar \font =45}% double-struck + \DeclareFontShape{U}{tx-math-ds}{m}{n}{ + <-> \mathalfa@bbscaled txr-ds}{} + \DeclareMathAlphabet{\mathbb}{U}{tx-math-ds}{m}{n} +\or %txof + \DeclareFontFamily{U}{tx-math-of}{\skewchar \font =45}% openface + \DeclareFontShape{U}{tx-math-of}{m}{n}{ + <-> \mathalfa@bbscaled txr-of}{} + \DeclareFontShape{U}{tx-math-of}{b}{n}{ + <-> \mathalfa@bbscaled txb-of}{} + \DeclareMathAlphabet{\mathbb}{U}{tx-math-of}{m}{n} + \SetMathAlphabet{\mathbb}{bold}{U}{tx-math-of}{b}{n} + \DeclareMathAlphabet{\mathbbb} {U}{tx-math-of}{b}{n} +\or %libus + \DeclareFontFamily{U}{libusbb}{\skewchar\font=127}% + \DeclareFontShape{U}{libusbb}{m}{n}{ + <-> \mathalfa@bbscaled libus-mathbb}{} + \DeclareMathAlphabet{\mathbb}{U}{libusbb}{m}{n} +\or %dsserif + \DeclareFontFamily{U}{dsserif}{\skewchar\font=45}% + \DeclareFontShape{U}{dsserif}{m}{n}{ + <-> \mathalfa@bbscaled DSSerif}{} + \DeclareFontShape{U}{dsserif}{b}{n}{ + <-> \mathalfa@bbscaled DSSerif-Bold}{} + \DeclareMathAlphabet{\mathbb}{U}{dsserif}{m}{n} + \SetMathAlphabet{\mathbb}{bold}{U}{dsserif}{b}{n} + \DeclareMathAlphabet{\mathbbb} {U}{dsserif}{b}{n} +\fi +% \mathcal +\ifcase\mathalfa@calnr\relax% item 0 of {cm, euler, rsfso, rsfs, lucida, mathpi, mma, mt, mtc, zapfc, esstix, boondox, boondoxo, dutchcal,pxtx,bickham,stix,txupr,boondoxupr} + \DeclareFontFamily{U}{cmsy}{\skewchar\font48 } + \DeclareFontShape{U}{cmsy}{m}{n}{% + <-5.5>\mathalfa@calscaled cmsy5% + <5.5-6.5>\mathalfa@calscaled cmsy6% + <6.5-7.5>\mathalfa@calscaled cmsy7% + <7.5-8.5>\mathalfa@calscaled cmsy8% + <8.5-9.5>\mathalfa@calscaled cmsy9% + <9.5->\mathalfa@calscaled cmsy10}{} + \DeclareFontShape{U}{cmsy}{b}{n}{% + <-5.5>\mathalfa@calscaled cmbsy5% + <5.5-6.5>\mathalfa@calscaled cmbsy6% + <6.5-7.5>\mathalfa@calscaled cmbsy7% + <7.5-8.5>\mathalfa@calscaled cmbsy8% + <8.5-9.5>\mathalfa@calscaled cmbsy9% + <9.5->\mathalfa@calscaled cmbsy10}{} + \DeclareMathAlphabet{\mathcal} {U}{cmsy}{m}{n} + \SetMathAlphabet{\mathcal}{bold}{U}{cmsy}{b}{n} + \DeclareMathAlphabet{\mathbcal} {U}{cmsy}{b}{n} +\or % euler + \DeclareFontFamily{U}{eus}{\skewchar\font'60} + \DeclareFontShape{U}{eus}{m}{n}{<-6>\mathalfa@calscaled eusm5 + <6-8>\mathalfa@calscaled eusm7 + <8->\mathalfa@calscaled eusm10}{} + \DeclareFontShape{U}{eus}{b}{n}{<-6>\mathalfa@calscaled eusb5 + <6-8>\mathalfa@calscaled eusb7 + <8->\mathalfa@calscaled eusb10}{} + \DeclareMathAlphabet{\mathcal} {U}{eus}{m}{n} + \SetMathAlphabet{\mathcal}{bold}{U}{eus}{b}{n} + \DeclareMathAlphabet{\mathbcal} {U}{eus}{b}{n} +\or % rsfso + \DeclareFontFamily{U}{rsfso}{\skewchar \font =45} + \DeclareFontShape{U}{rsfso}{m}{n}{ + <-6> \mathalfa@calscaled rsfso5 + <6-8> \mathalfa@calscaled rsfso7 + <8-> \mathalfa@calscaled rsfso10}{} + \DeclareMathAlphabet{\mathcal}{U}{rsfso}{m}{n} +\or % rsfs + \DeclareFontFamily{U}{rsfs}{\skewchar\font127 } + \DeclareFontShape{U}{rsfs}{m}{n}{% + <-6>\mathalfa@calscaled rsfs5% + <6-8>\mathalfa@calscaled rsfs7% + <8->\mathalfa@calscaled rsfs10}{} + \DeclareSymbolFont{rsfs}{U}{rsfs}{m}{n} + \DeclareSymbolFontAlphabet{\mathcal}{rsfs} +\or % lucida + \iflucid@loaded \PackageError{mathalfa}{Do not use lucida as an option to mathalfa after loading a lucida package}{}\fi + \DeclareFontFamily{OMS}{lbm}{\skewchar\font48} + \DeclareFontShape{OMS}{lbm}{m}{n}{<->\mathalfa@calscaled hlcry}{} + \DeclareFontShape{OMS}{lbm}{b}{n}{<->\mathalfa@calscaled hlcdy}{} + \DeclareMathAlphabet{\mathcal} {OMS}{lbm}{m}{n} + \SetMathAlphabet{\mathcal}{bold}{OMS}{lbm}{b}{n} + \DeclareMathAlphabet{\mathbcal} {OMS}{lbm}{b}{n} +\or % mathpi + \DeclareFontFamily{U}{mathpical}{\skewchar \font =45} + \DeclareFontShape{U}{mathpical}{m}{n}{ + <-> \mathalfa@calscaled mathpical}{} + \DeclareMathAlphabet{\mathcal}{U}{mathpical}{m}{n} +\or % mma + \DeclareFontFamily{U}{mmamcal}{\skewchar \font =45} + \DeclareFontShape{U}{mmamcal}{m}{n}{ + <-> \mathalfa@calscaled mmamcal}{} + \DeclareFontShape{U}{mmamcal}{b}{n}{ + <-> \mathalfa@calscaled mmambcal}{} + \DeclareMathAlphabet{\mathcal}{U}{mmamcal}{m}{n} + \SetMathAlphabet{\mathcal}{bold}{U}{mmamcal}{b}{n} + \DeclareMathAlphabet{\mathbcal} {U}{mmamcal}{b}{n} +\or % mt + \@ifpackageloaded{mtpro2}{\mtp@loadedError}{} + \DeclareFontFamily{U}{mt2ms}{\skewchar\font42}% +% \DeclareFontShape{U}{mt2ms}{m}{n}{<-7>\mathalfa@calscaled mt2mcf% +% <7-9>\mathalfa@calscaled mt2mcs% +% <9->\mathalfa@calscaled mt2mct}{}% + \DeclareFontShape{U}{mt2ms}{m}{it}{<-7>\mathalfa@calscaled mt2msf% + <7-9>\mathalfa@calscaled mt2mss% + <9->\mathalfa@calscaled mt2mst}{}% + \DeclareFontShape{U}{mt2ms}{b}{it}{<-7>\mathalfa@calscaled mt2bmsf% + <7-9>\mathalfa@calscaled mt2bmss% + <9->\mathalfa@calscaled mt2bmst}{}% + \DeclareMathAlphabet{\mathcal} {U}{mt2ms}{m}{it} + \SetMathAlphabet{\mathcal}{bold}{U}{mt2ms}{b}{it} + \DeclareMathAlphabet{\mathbcal} {U}{mt2ms}{b}{it} +\or % mtc + \@ifpackageloaded{mtpro2}{\mtp@loadedError}{} + \DeclareFontFamily{U}{mt2ms}{\skewchar\font42}% + \DeclareFontShape{U}{mt2ms}{m}{n}{<-7>\mathalfa@calscaled mt2mcf% + <7-9>\mathalfa@calscaled mt2mcs% + <9->\mathalfa@calscaled mt2mct}{}% + \DeclareMathAlphabet{\mathcal} {U}{mt2ms}{m}{n} +\or % zapfc + \DeclareFontFamily{U}{urwchancal}{\skewchar \font =45} + \DeclareFontShape{U}{urwchancal}{m}{n}{% + <-> \mathalfa@calscaled urwchancal}{} + \DeclareMathAlphabet{\mathcal}{U}{urwchancal}{m}{n}% +\or % esstix + \DeclareFontFamily{U}{esstixcal}{\skewchar \font =45} + \DeclareFontShape{U}{esstixcal}{m}{n}{ + <-> \mathalfa@calscaled esstixcal}{} + \DeclareMathAlphabet{\mathcal}{U}{esstixcal}{m}{n} +\or %boondox + \DeclareFontFamily{U}{BOONDOX-cal}{\skewchar \font =45} + \DeclareFontShape{U}{BOONDOX-cal}{m}{n}{ + <-> \mathalfa@calscaled BOONDOX-r-cal}{} + \DeclareFontShape{U}{BOONDOX-cal}{b}{n}{ + <-> \mathalfa@calscaled BOONDOX-b-cal}{} + \DeclareMathAlphabet{\mathcal}{U}{BOONDOX-cal}{m}{n} + \SetMathAlphabet{\mathcal}{bold}{U}{BOONDOX-cal}{b}{n} + \DeclareMathAlphabet{\mathbcal} {U}{BOONDOX-cal}{b}{n} +\or %boondoxo + \DeclareFontFamily{U}{BOONDOX-calo}{\skewchar \font =45} + \DeclareFontShape{U}{BOONDOX-calo}{m}{n}{ + <-> \mathalfa@calscaled BOONDOX-r-calo}{} + \DeclareFontShape{U}{BOONDOX-calo}{b}{n}{ + <-> \mathalfa@calscaled BOONDOX-b-calo}{} + \DeclareMathAlphabet{\mathcal}{U}{BOONDOX-calo}{m}{n} + \SetMathAlphabet{\mathcal}{bold}{U}{BOONDOX-calo}{b}{n} + \DeclareMathAlphabet{\mathbcal} {U}{BOONDOX-calo}{b}{n} +\or %dutchcal + \DeclareFontFamily{U}{dutchcal}{\skewchar \font =45} + \DeclareFontShape{U}{dutchcal}{m}{n}{ + <-> \mathalfa@calscaled dutchcal-r}{} + \DeclareFontShape{U}{dutchcal}{b}{n}{ + <-> \mathalfa@calscaled dutchcal-b}{} + \DeclareMathAlphabet{\mathcal}{U}{dutchcal}{m}{n} + \SetMathAlphabet{\mathcal}{bold}{U}{dutchcal}{b}{n} + \DeclareMathAlphabet{\mathbcal} {U}{dutchcal}{b}{n} +\or %pxtx + \DeclareFontFamily{U}{txcal}{\skewchar \font =45} + \DeclareFontShape{U}{txcal}{m}{n}{ + <-> \mathalfa@calscaled txr-cal}{} + \DeclareFontShape{U}{txcal}{b}{n}{ + <-> \mathalfa@calscaled txb-cal}{} + \DeclareMathAlphabet{\mathcal}{U}{txcal}{m}{n} + \SetMathAlphabet{\mathcal}{bold}{U}{txcal}{b}{n} + \DeclareMathAlphabet{\mathbcal} {U}{txcal}{b}{n} +\or %bickham + \DeclareFontFamily{U}{bickhamcal}{\skewchar \font =45} + \DeclareFontShape{U}{bickhamcal}{m}{n}{ + <-> \mathalfa@calscaled bickham-r}{} + \DeclareFontShape{U}{bickhamcal}{b}{n}{ + <-> \mathalfa@calscaled bickham-b}{} + \DeclareMathAlphabet{\mathcal}{U}{bickhamcal}{m}{n} + \SetMathAlphabet{\mathcal}{bold}{U}{bickhamcal}{b}{n} + \DeclareMathAlphabet{\mathbcal} {U}{bickhamcal}{b}{n} +\or %bickhams + \DeclareFontFamily{U}{bickhamcal}{\skewchar \font =45} + \DeclareFontShape{U}{bickhamcal}{m}{n}{ + <-> \mathalfa@calscaled bickham-s}{} + \DeclareFontShape{U}{bickhamcal}{b}{n}{ + <-> \mathalfa@calscaled bickham-b}{} + \DeclareMathAlphabet{\mathcal}{U}{bickhamcal}{m}{n} + \SetMathAlphabet{\mathcal}{bold}{U}{bickhamcal}{b}{n} + \DeclareMathAlphabet{\mathbcal} {U}{bickhamcal}{b}{n} +\or %stix + \DeclareFontFamily{U}{stixcal}{\skewchar\font127 } + \DeclareFontShape{U}{stixcal}{m}{n} {<-> \mathalfa@calscaled stix-mathcal}{} + \DeclareFontShape{U}{stixcal}{b}{n} {<-> \mathalfa@calscaled stix-mathcal-bold}{} + \DeclareMathAlphabet{\mathcal}{U}{stixcal}{m}{n} + \SetMathAlphabet{\mathcal}{bold}{U}{stixcal}{b}{n} + \DeclareMathAlphabet{\mathbcal} {U}{stixcal}{b}{n} +\or %txupr + \DeclareFontFamily{U}{TXuprcal}{\skewchar \font =45} + \DeclareFontShape{U}{TXuprcal}{m}{n}{ + <-> \mathalfa@calscaled txUprCal-Regular}{} + \DeclareFontShape{U}{TXuprcal}{b}{n}{ + <-> \mathalfa@calscaled txUprCal-Bold}{} + \DeclareMathAlphabet{\mathcal}{U}{TXuprcal}{m}{n} + \SetMathAlphabet{\mathcal}{bold}{U}{TXuprcal}{b}{n} + \DeclareMathAlphabet{\mathbcal}{U}{TXuprcal}{b}{n} +\or %boondoxupr + \DeclareFontFamily{U}{boondoxuprcal}{\skewchar \font =45} + \DeclareFontShape{U}{boondoxuprcal}{m}{n}{ + <-> \mathalfa@calscaled BOONDOXUprScr-Regular}{} + \DeclareFontShape{U}{boondoxuprcal}{b}{n}{ + <-> \mathalfa@calscaled BOONDOXUprScr-Bold}{} + \DeclareMathAlphabet{\mathcal}{U}{boondoxuprcal}{m}{n} + \SetMathAlphabet{\mathcal}{bold}{U}{boondoxuprcal}{b}{n} + \DeclareMathAlphabet{\mathbcal}{U}{boondoxuprcal}{b}{n} +\fi +% \mathfrak +\ifcase\mathalfa@fraknr\relax% item 0 of {euler, lucida, mathpi, mma, mt, esstix, boondox, pxtx} + \DeclareFontFamily{U}{euf}{}% + \DeclareFontShape{U}{euf}{m}{n}{<-7>\mathalfa@frakscaled eufm5 + <7-9>\mathalfa@frakscaled eufm7 + <9->\mathalfa@frakscaled eufm10}{}% + \DeclareFontShape{U}{euf}{b}{n}{<-7>\mathalfa@frakscaled eufb5 + <7-9>\mathalfa@frakscaled eufb7 + <9->\mathalfa@frakscaled eufb10}{}% + \DeclareMathAlphabet{\mathfrak}{U}{euf}{m}{n} + \SetMathAlphabet{\mathfrak}{bold}{U}{euf}{b}{n} + \DeclareMathAlphabet{\mathbfrak}{U}{euf}{b}{n} +\or % lucida + \iflucid@loaded \PackageError{mathalfa}{Do not use lucida as an option to mathalfa after loading a lucida package}{}\fi + \DeclareFontFamily{U}{hlcf}{} + \DeclareFontShape{U}{hlcf}{m}{n}{<->\mathalfa@frakscaled hlcrf8r}{} + \DeclareMathAlphabet{\mathfrak}{U}{hlcf}{m}{n} +\or % mathpi + \DeclareFontFamily{U}{mathpifrak}{\skewchar \font =45} + \DeclareFontShape{U}{mathpifrak}{m}{n}{ + <-> \mathalfa@frakscaled mathpifrak}{} + \DeclareMathAlphabet{\mathfrak}{U}{mathpifrak}{m}{n} +\or % mma + \DeclareFontFamily{U}{mmamfrak}{\skewchar \font =45} + \DeclareFontShape{U}{mmamfrak}{m}{n}{ + <-> \mathalfa@frakscaled mmamfrak}{} + \DeclareFontShape{U}{mmamfrak}{b}{n}{ + <-> \mathalfa@frakscaled mmambfrak}{} + \DeclareMathAlphabet{\mathfrak}{U}{mmamfrak}{m}{n} + \SetMathAlphabet{\mathfrak}{bold}{U}{mmamfrak}{b}{n} + \DeclareMathAlphabet{\mathbfrak}{U}{mmamfrak}{b}{n} +\or % mt + %\@ifpackageloaded{mtpro2}{\mtp@loadedError}{} %allow use with mtpro2 + \DeclareFontFamily{U}{mt2mf}{}% + \DeclareFontShape{U}{mt2mf}{m}{n}{<-7>\mathalfa@frakscaled mt2mff% + <7-9>\mathalfa@frakscaled mt2mfs% + <9->\mathalfa@frakscaled mt2mft}{}% + \DeclareFontShape{U}{mt2mf}{b}{n}{<-7>\mathalfa@frakscaled mt2bmff% + <7-9>\mathalfa@frakscaled mt2bmfs% + <9->\mathalfa@frakscaled mt2bmft}{}% + \DeclareMathAlphabet{\mathfrak}{U}{mt2mf}{m}{n} + \SetMathAlphabet{\mathfrak}{bold}{U}{mt2mf}{b}{n} + \DeclareMathAlphabet{\mathbfrak}{U}{mt2mf}{b}{n} +\or % esstix + \DeclareFontFamily{U}{esstixfrak}{\skewchar \font =45} + \DeclareFontShape{U}{esstixfrak}{m}{n}{ + <-> \mathalfa@frakscaled esstixfrak}{} + \DeclareMathAlphabet{\mathfrak}{U}{esstixfrak}{m}{n} +\or % boondox + \DeclareFontFamily{U}{BOONDOX-frak}{\skewchar \font =45} + \DeclareFontShape{U}{BOONDOX-frak}{m}{n}{ + <-> \mathalfa@frakscaled BOONDOX-r-frak}{} + \DeclareFontShape{U}{BOONDOX-frak}{b}{n}{ + <-> \mathalfa@frakscaled BOONDOX-b-frak}{} + \DeclareMathAlphabet{\mathfrak}{U}{BOONDOX-frak}{m}{n} + \SetMathAlphabet{\mathfrak}{bold}{U}{BOONDOX-frak}{b}{n} + \DeclareMathAlphabet{\mathbfrak} {U}{BOONDOX-frak}{b}{n} +\or % pxtx + \DeclareFontFamily{U}{txfrak}{\skewchar \font =45} + \DeclareFontShape{U}{txfrak}{m}{n}{ + <-> \mathalfa@frakscaled txr-frak}{} + \DeclareFontShape{U}{txfrak}{b}{n}{ + <-> \mathalfa@frakscaled txb-frak}{} + \DeclareMathAlphabet{\mathfrak}{U}{txfrak}{m}{n} + \SetMathAlphabet{\mathfrak}{bold}{U}{txfrak}{b}{n} + \DeclareMathAlphabet{\mathbfrak} {U}{txfrak}{b}{n} +\fi +% \mathscr +\ifcase\mathalfa@scrnr\relax% item 0 of {rsfs, rsfso, euler, lucida, mathpi, mma, mtc, zapfc, esstix, boondox, boondoxo, dutchcal,pxtx, bickham, bickhams,txupr,boondoxupr} + %rsfs--avoid using mathrsfs so as to avoid rounding of sizes and to get scaling + \DeclareFontFamily{U}{rsfs}{\skewchar\font127 } + \DeclareFontShape{U}{rsfs}{m}{n}{% + <-6>\mathalfa@scrscaled rsfs5% + <6-8>\mathalfa@scrscaled rsfs7% + <8->\mathalfa@scrscaled rsfs10}{} + \DeclareSymbolFont{rsfs}{U}{rsfs}{m}{n} + \DeclareSymbolFontAlphabet{\mathscr}{rsfs} +\or % rsfso + \DeclareFontFamily{U}{rsfso}{\skewchar \font =45} + \DeclareFontShape{U}{rsfso}{m}{n}{ + <-6> \mathalfa@scrscaled rsfso5 + <6-8> \mathalfa@scrscaled rsfso7 + <8-> \mathalfa@scrscaled rsfso10}{} + \DeclareMathAlphabet{\mathscr}{U}{rsfso}{m}{n} +\or % euler + \DeclareFontFamily{U}{eus}{\skewchar\font'60} + \DeclareFontShape{U}{eus}{m}{n}{<-6>\mathalfa@scrscaled eusm5 + <6-8>\mathalfa@scrscaled eusm7 + <8->\mathalfa@scrscaled eusm10}{} + \DeclareFontShape{U}{eus}{b}{n}{\mathalfa@scrscaled<-6>eusb5<6-8>eusb7<8->eusb10}{} + \DeclareMathAlphabet{\mathscr} {U}{eus}{m}{n} + \SetMathAlphabet{\mathscr}{bold}{U}{eus}{b}{n} + \DeclareMathAlphabet{\mathbscr} {U}{eus}{b}{n} +\or % lucida + \iflucid@loaded \PackageError{mathalfa}{Do not use lucida as an option to mathalfa after loading a lucida package}{}\fi + \DeclareFontFamily{OMS}{lbm}{\skewchar\font48} + \DeclareFontShape{OMS}{lbm}{m}{n}{<->\mathalfa@scrscaled hlcry}{} + \DeclareFontShape{OMS}{lbm}{b}{n}{<->\mathalfa@scrscaled hlcdy}{} + \DeclareMathAlphabet{\mathscr} {OMS}{lbm}{m}{n} + \SetMathAlphabet{\mathscr}{bold}{OMS}{lbm}{b}{n} + \DeclareMathAlphabet{\mathbscr} {OMS}{lbm}{b}{n} +\or % mathpi + \DeclareFontFamily{U}{mathpical}{\skewchar \font =45} + \DeclareFontShape{U}{mathpical}{m}{n}{ + <-> \mathalfa@scrscaled mathpical}{} + \DeclareMathAlphabet{\mathscr}{U}{mathpical}{m}{n} +\or % mma + \DeclareFontFamily{U}{mmamcal}{\skewchar \font =45} + \DeclareFontShape{U}{mmamcal}{m}{n}{ + <-> \mathalfa@scrscaled mmamcal}{} + \DeclareFontShape{U}{mmamcal}{b}{n}{ + <-> \mathalfa@scrscaled mmambcal}{} + \DeclareMathAlphabet{\mathscr}{U}{mmacal}{m}{n} + \SetMathAlphabet{\mathscr}{bold}{U}{mmacal}{b}{n} + \DeclareMathAlphabet{\mathbscr} {U}{mmacal}{b}{n} +\or % mtc + \@ifpackageloaded{mtpro2}{\mtp@loadedError}{} + \DeclareFontFamily{U}{mt2msc}{\skewchar\font42}% + \DeclareFontShape{U}{mt2msc}{m}{n}{<-7>\mathalfa@scrscaled mt2mcf% + <7-9>\mathalfa@scrscaled mt2mcs% + <9->\mathalfa@scrscaled mt2mct}{}% + \DeclareMathAlphabet{\mathscr} {U}{mt2msc}{m}{n} +\or % zapfc->urwchancal + \DeclareFontFamily{U}{urwchanscr}{\skewchar \font =45} + \DeclareFontShape{U}{urwchanscr}{m}{n}{% + <-> \mathalfa@scrscaled urwchancal}{} + \DeclareMathAlphabet{\mathscr}{U}{urwchanscr}{m}{n}% +\or % esstix + \DeclareFontFamily{U}{esstixscr}{\skewchar \font =45} + \DeclareFontShape{U}{esstixscr}{m}{n}{ + <-> \mathalfa@scrscaled esstixcal}{} + \DeclareMathAlphabet{\mathscr}{U}{esstixscr}{m}{n} +\or %boondox + \DeclareFontFamily{U}{BOONDOX-scr}{\skewchar \font =45} + \DeclareFontShape{U}{BOONDOX-scr}{m}{n}{ + <-> \mathalfa@scrscaled BOONDOX-r-cal}{} + \DeclareFontShape{U}{BOONDOX-scr}{b}{n}{ + <-> \mathalfa@scrscaled BOONDOX-b-cal}{} + \DeclareMathAlphabet{\mathscr}{U}{BOONDOX-scr}{m}{n} + \SetMathAlphabet{\mathscr}{bold}{U}{BOONDOX-scr}{b}{n} + \DeclareMathAlphabet{\mathbscr} {U}{BOONDOX-scr}{b}{n} +\or %boondoxo + \DeclareFontFamily{U}{BOONDOX-scro}{\skewchar \font =45} + \DeclareFontShape{U}{BOONDOX-scro}{m}{n}{ + <-> \mathalfa@scrscaled BOONDOX-r-calo}{} + \DeclareFontShape{U}{BOONDOX-scro}{b}{n}{ + <-> \mathalfa@scrscaled BOONDOX-b-calo}{} + \DeclareMathAlphabet{\mathscr}{U}{BOONDOX-scro}{m}{n} + \SetMathAlphabet{\mathscr}{bold}{U}{BOONDOX-scro}{b}{n} + \DeclareMathAlphabet{\mathbscr} {U}{BOONDOX-scro}{b}{n} +\or %dutchcal + \DeclareFontFamily{U}{dutchscr}{\skewchar \font =45} + \DeclareFontShape{U}{dutchscr}{m}{n}{ + <-> \mathalfa@scrscaled dutchcal-r}{} + \DeclareFontShape{U}{dutchscr}{b}{n}{ + <-> \mathalfa@scrscaled dutchcal-b}{} + \DeclareMathAlphabet{\mathscr}{U}{dutchscr}{m}{n} + \SetMathAlphabet{\mathscr}{bold}{U}{dutchscr}{b}{n} + \DeclareMathAlphabet{\mathbscr}{U}{dutchscr}{b}{n} +\or %pxtx + \DeclareFontFamily{U}{txscr}{\skewchar \font =45} + \DeclareFontShape{U}{txscr}{m}{n}{ + <-> \mathalfa@scrscaled txr-cal}{} + \DeclareFontShape{U}{txscr}{b}{n}{ + <-> \mathalfa@scrscaled txb-cal}{} + \DeclareMathAlphabet{\mathscr}{U}{txscr}{m}{n} + \SetMathAlphabet{\mathscr}{bold}{U}{txscr}{b}{n} + \DeclareMathAlphabet{\mathbscr} {U}{txscr}{b}{n} +\or %bickham + \DeclareFontFamily{U}{bickhamscr}{\skewchar \font =45} + \DeclareFontShape{U}{bickhamscr}{m}{n}{ + <-> \mathalfa@scrscaled bickham-r}{} + \DeclareFontShape{U}{bickhamscr}{b}{n}{ + <-> \mathalfa@scrscaled bickham-b}{} + \DeclareMathAlphabet{\mathscr}{U}{bickhamscr}{m}{n} + \SetMathAlphabet{\mathscr}{bold}{U}{bickhamscr}{b}{n} + \DeclareMathAlphabet{\mathbscr} {U}{bickhamscr}{b}{n} +\or %bickhams + \DeclareFontFamily{U}{bickhamscr}{\skewchar \font =45} + \DeclareFontShape{U}{bickhamscr}{m}{n}{ + <-> \mathalfa@scrscaled bickham-s}{} + \DeclareFontShape{U}{bickhamscr}{b}{n}{ + <-> \mathalfa@scrscaled bickham-b}{} + \DeclareMathAlphabet{\mathscr}{U}{bickhamscr}{m}{n} + \SetMathAlphabet{\mathscr}{bold}{U}{bickhamscr}{b}{n} + \DeclareMathAlphabet{\mathbscr} {U}{bickhamscr}{b}{n} +\or %txupr + \DeclareFontFamily{U}{txuprscr}{\skewchar \font =45} + \DeclareFontShape{U}{txuprscr}{m}{n}{ + <-> \mathalfa@scrscaled txUprCal-Regular}{} + \DeclareFontShape{U}{txuprscr}{b}{n}{ + <-> \mathalfa@scrscaled txUprCal-Bold}{} + \DeclareMathAlphabet{\mathscr}{U}{txuprscr}{m}{n} + \SetMathAlphabet{\mathscr}{bold}{U}{txuprscr}{b}{n} + \DeclareMathAlphabet{\mathbscr}{U}{txuprscr}{b}{n} +\or %boondoxupr + \DeclareFontFamily{U}{Boondoxuprs}{\skewchar \font =45} + \DeclareFontShape{U}{Boondoxuprs}{m}{n}{ + <-> \mathalfa@scrscaled BOONDOXUprScr-Regular}{} + \DeclareFontShape{U}{Boondoxuprs}{b}{n}{ + <-> \mathalfa@scrscaled BOONDOXUprScr-Bold}{} + \DeclareMathAlphabet{\mathscr}{U}{Boondoxuprs}{m}{n} + \SetMathAlphabet{\mathscr}{bold}{U}{Boondoxuprs}{b}{n} + \DeclareMathAlphabet{\mathbscr}{U}{Boondoxuprs}{b}{n} +\or % kp + \DeclareFontFamily{U}{jkpsyd}{\skewchar\font =0} + \DeclareFontShape{U}{jkpsyd}{m}{n}{ + <-> \mathalfa@scrscaled jkpsyd% + }{} + \DeclareFontShape{U}{jkpsyd}{b}{n}{ + <-> \mathalfa@scrscaled jkpbsyd% + }{} + \DeclareMathAlphabet{\mathscr}{U}{jkpsyd}{m}{n} + \SetMathAlphabet{\mathscr}{bold}{U}{jkpsyd}{b}{n} + \DeclareMathAlphabet{\mathbscr}{U}{jkpsyd}{b}{n} +\fi +\ifnum\mathalfa@bbnr>-1\relax \def\Bbb{}\let\Bbb\mathbb\fi +\ifx\mathbcal\@undefined\def\mathbcal{\PackageError{mathalfa} + {There is no bold variant of the calligraphic font} + {Type to proceed; \protect\mathbcal\space will be ignored.} + }\fi% +\ifx\mathbbb\@undefined\def\mathbbb{\PackageError{mathalfa} + {There is no bold variant of the blackboard bold font} + {Type to proceed; \protect\mathbbb\space will be ignored.} + }\fi% +\ifx\mathbfrak\@undefined\def\mathbfrak{\PackageError{mathalfa} + {There is no bold variant of the fraktur font} + {Type to proceed; \protect\mathbfrak\space will be ignored.} + }\fi% +\ifx\mathbscr\@undefined\def\mathbscr{\PackageError{mathalfa} + {There is no bold variant of the script font} + {Type to proceed; \protect\mathbscr\space will be ignored.} + }\fi% + +\endinput -- cgit v1.2.3