% sansmathfonts.sty % % Provides complete sans serif math fonts % % author: Ariel Barton % % Copyright Ariel Barton, 2013--2022 % % 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. % The latest version of the license is in % http://www.latex-project.org/lppl.txt % and version 1.3 or later is part of all distributions of % LaTeX version 2003/06/01 or later. % % This work has the LPPL maintenance status "author-maintained". % % The complete list of files considered part of this work is in % the file `sansmathfonts.pdf' and its source code `sansmathfonts.tex'. % \ProvidesPackage{sansmathfonts}[2022/10/09] \newif \ifmath@sansmathfonts \math@sansmathfontstrue \newif \iftext@sansmathfonts \text@sansmathfontstrue \newif \ifI@sansmathfonts \I@sansmathfontsfalse \DeclareOption{notmath} {\math@sansmathfontsfalse} \DeclareOption{onlytext}{\math@sansmathfontsfalse} \DeclareOption{onlymath}{\text@sansmathfontsfalse} \DeclareOption{nottext} {\text@sansmathfontsfalse} \DeclareOption{I}{\I@sansmathfontstrue} \ProcessOptions \def\OTOne@sansmathfonts{OT1} \def\TOne@sansmathfonts{T1} \def\U@sansmathfonts{U} \ifx\OTOne@sansmathfonts \f@encoding \else \ifx\U@sansmathfonts \f@encoding \else \I@sansmathfontsfalse \PackageWarning{sansmathfonts} {The [I] package option is only compatible with the OT1 and U font encodings. To use the [I] option, please use the fontenc package with OT1 encoding: \string\usepackage[OT1]\string{fontenc\string}} \ifx\TOne@sansmathfonts \f@encoding \else \text@sansmathfontsfalse \PackageWarning{sansmathfonts} {Sans serif text fonts are only provided for OT1, T1, and U font encodings. I will not change the sans serif text font.} \fi \fi\fi \let\sfdefault@sansmathfonts\sfdefault \def\Usfdefault@sansmathfonts{cmss} \iftext@sansmathfonts \def\sfdefault@sansmathfonts{xcmss} \def\Usfdefault@sansmathfonts{xcmss} \ifI@sansmathfonts \def\sfdefault@sansmathfonts{cmsmf}% \def\Usfdefault@sansmathfonts{cmsmf}% \fi \fi \ifmath@sansmathfonts % Turn off Beamer math replacements \@ifpackageloaded{beamerbasefont}{\usefonttheme{professionalfonts}}{} % Sans serif math % Code borrowed from fontmath.ltx % (edited; cmr->cmsmf, cmm->cmssm, cmsy->cmsssy, cmex->cmssex) \DeclareFontSubstitution{OML}{cmssm}{m}{it} \DeclareFontSubstitution{OMS}{cmsssy}{m}{n} \DeclareFontSubstitution{OMX}{cmssex}{m}{n} \DeclareFontSubstitution{U}{\Usfdefault@sansmathfonts}{m}{n} \DeclareSymbolFont{operators} {OT1}{cmsmf} {m}{n} \DeclareSymbolFont{letters} {OML}{cmssm} {m}{it} \DeclareSymbolFont{symbols} {OMS}{cmsssy}{m}{n} \DeclareSymbolFont{largesymbols}{OMX}{cmssex}{m}{n} \SetSymbolFont{operators}{bold}{OT1}{cmsmf} {bx}{n} \SetSymbolFont{letters} {bold}{OML}{cmssm} {b}{it} \SetSymbolFont{symbols} {bold}{OMS}{cmsssy}{b}{n} % Code borrowed from concmath.sty (amsfonts/amssymb option) \AtBeginDocument{% \@ifpackageloaded{amsfonts}{% \DeclareSymbolFont{AMSa}{U}{ssmsa}{m}{n} \DeclareSymbolFont{AMSb}{U}{ssmsb}{m}{n} }{}% \@ifpackageloaded{esint}{% \DeclareSymbolFont{largesymbolsA}{U}{ssesint}{m}{n} }{} % \ifx\OTOne@sansmathfonts \f@encoding \else \ifx\U@sansmathfonts \f@encoding \else \ifI@sansmathfonts \PackageError{sansmathfonts} {The [I] package option is only compatible with the OT1 and U font encodings. To use the [I] option, please use the fontenc package with OT1 encoding: \string\usepackage[OT1]\string{fontenc\string}} {Please do not use the [I] option for the sansmathfonts package, or select your font encoding before you load the sansmathfonts package.} \fi \ifx\TOne@sansmathfonts \f@encoding \else \iftext@sansmathfonts \PackageError{sansmathfonts} {Sans serif text fonts are only provided for OT1, T1, and U font encodings.} {Please use the [onlymath] option for the sansmathfonts package, or select your font encoding before you load the sansmathfonts package.} \fi \fi \fi \fi } % beamer currently sets % \mathrm to upright serif and % \mathit to slanted sans serif. % They should be consistent, % and the setup should be such that if you aren't paying attention, % then you get the font of the rest of the letters, % that is, sans serif. % Code borrowed from fontmath.ltx % (edited; cmr->cmsmf) \DeclareSymbolFontAlphabet{\mathrm} {operators} \DeclareSymbolFontAlphabet{\mathnormal}{letters} \DeclareSymbolFontAlphabet{\mathcal} {symbols} \DeclareMathAlphabet {\mathbf}{OT1}{cmsmf}{bx}{n} \DeclareMathAlphabet {\mathit}{OT1}{cmsmf}{m}{it} \DeclareMathAlphabet {\mathtt}{OT1}{cmtt}{m}{n} \SetMathAlphabet\mathsf{bold}{OT1}{cmsmf}{bx}{n} \SetMathAlphabet\mathit{bold}{OT1}{cmsmf}{bx}{it} \fi \DeclareMathAlphabet {\mathserif}{OT1}{cmr}{m}{n} \DeclareMathAlphabet {\mathsf}{OT1}{cmsmf}{m}{n} % Use the improved sans family % (provides sans serif small caps fonts) \let\sfdefault\sfdefault@sansmathfonts