[Tex/LaTex] Using the stix font for \mathcal and \mathscr only

fontsmath-modestix

How do I limit the stix font package to only affect certain symbols? In my case I want to only change the font associated to \mathcal{} and \mathscr{}.

Best Answer

One has to go to stix.sty and extract the relevant information:

\documentclass{article}
\usepackage{amsmath}

\makeatletter
\DeclareFontEncoding{LS1}{}{}
\DeclareFontEncoding{LS2}{}{\noaccents@}
\DeclareFontSubstitution{LS1}{stix}{m}{n}
\DeclareFontSubstitution{LS2}{stix}{m}{n}
\makeatother

\DeclareMathAlphabet\mathscr{LS1}{stixscr}{m}{n}
\SetMathAlphabet\mathscr{bold}{LS1}{stixscr}{b}{n}
\DeclareMathAlphabet\mathcal{LS2}{stixcal}{m}{n}
\SetMathAlphabet\mathcal{bold}{LS2}{stixcal}{b}{n}

\begin{document}

This is \verb|\mathscr|: $\mathscr{A}\mathscr{B}$

This is \verb|\mathcal|: $\mathcal{A}\mathcal{B}$

\boldmath

This is \verb|\mathscr|: $\mathscr{A}\mathscr{B}$

This is \verb|\mathcal|: $\mathcal{A}\mathcal{B}$

\end{document}

enter image description here

Output of pdffonts:

name                                 type              emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
HHWGLO+CMR10                         Type 1            yes yes no       4  0
DTZOCG+CMTT10                        Type 1            yes yes no       5  0
LUIFQC+STIXMathScript-Regular        Type 1            yes yes no       6  0
OBDLAV+STIXMathCalligraphy-Regular   Type 1            yes yes no       7  0
GYLRUW+STIXMathScript-Bold           Type 1            yes yes no       8  0
UVZWHB+STIXMathCalligraphy-Bold      Type 1            yes yes no       9  0

For comparison

\documentclass{article}
\usepackage{amsmath}
\usepackage{mathrsfs}

\begin{document}

This is \verb|\mathscr|: $\mathscr{A}\mathscr{B}$

This is \verb|\mathcal|: $\mathcal{A}\mathcal{B}$

\boldmath

This is \verb|\mathscr|: $\mathscr{A}\mathscr{B}$

This is \verb|\mathcal|: $\mathcal{A}\mathcal{B}$

\end{document}

enter image description here