% sansmathaccent.sty, version 2 % % Fixes a problem with accent placement in beamer and sfmath % % author: Ariel Barton % % Copyright Ariel Barton, 2012, 2013, 2020 % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either % version 1.3 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 `sansmathaccent.pdf' and its source code `sansmathaccent.tex'. % \ProvidesPackage{sansmathaccent}[2020/01/31] \def\sansmathaccent@warning{sansmathaccent is not a standalone package; it should be used with beamer or sfmath} \@ifpackageloaded{bm}{\PackageWarning{sansmathaccent}{Please load bm after loading sansmathaccent}} \providecommand\beamer@font@check{ % Code borrowed from beamerbasefont % to see if we are using any font packages \def\beamer@cmr{cmr} \edef\beamer@fmdef{\mathfamilydefault} % supress for standard cm \ifx\beamer@fmdef\beamer@cmr\beamer@suppressreplacementstrue\fi % supress for mathtime serif and math minion serif \@ifpackageloaded{arevmath}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{} \@ifpackageloaded{hvmath}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{} \@ifpackageloaded{kpfonts}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{} \@ifpackageloaded{lucidabr}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{} \@ifpackageloaded{lucimatx}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{} \@ifpackageloaded{mathpmnt}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{} \@ifpackageloaded{mathpple}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{} \@ifpackageloaded{mathtime}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{} \@ifpackageloaded{mtpro}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{} \@ifpackageloaded{mtpro2}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{} } % Check to see if we are a Beamer document \@ifpackageloaded{beamerbasefont}{% \def\sansmathaccent@warning{} % Ensure proper placement of accents with bm % but don't waste a mathgroup unless we will in fact use % bm and pureletters \IfFileExists{scrlfile.sty}{ \RequirePackage{scrlfile} \BeforeFile{bm.sty}{ \beamer@font@check \ifbeamer@suppressreplacements\else \DeclareSymbolFont{pureletters}{OT1}{mathkerncmss}{m}{sl} \SetSymbolFont{pureletters}{bold}{OT1}{mathkerncmss}{bx}{sl} \fi } }{ \DeclareSymbolFont{pureletters}{OT1}{mathkerncmss}{m}{sl} \SetSymbolFont{pureletters}{bold}{OT1}{mathkerncmss}{bx}{sl} \PackageWarning{sansmathaccent}{Could not find 'scrlfile' package: one mathgroup may be wasted} } \AtBeginDocument{ \ifbeamer@suppressreplacements\else % Check to see if we are using cmss for math \def\sansmathaccent@cmss{cmss} \ifx\beamer@fmdef\sansmathaccent@cmss % Use properly kerned alphabets \DeclareSymbolFont{pureletters}{OT1}{mathkerncmss}{m}{sl}% \ifx\mv@bold\@undefined\else % Compatibility with the bm package \SetSymbolFont{pureletters}{bold}{OT1}{mathkerncmss}{bx}{sl} \fi \else % If we are using sans serif, but not cmss, for math, % make sure bm doesn't accidentally end up using bold cmss \ifx \symboldpureletters \undefined \else \DeclareSymbolFont{boldpureletters}{\encodingdefault} {\mathfamilydefault}{bx}{it} \fi \fi \fi } }{} % Check to see if we are a sfmath document % This is less fancy, because sfmath doesn't delay with AtBeginDocument \@ifpackageloaded{sfmath}{% \def\sansmathaccent@warning{} \edef\tmp@sfdefault{\math@sfdefault} \def\tmp@compare{cmss} \ifx\tmp@sfdefault\tmp@compare % Check to see if we are using cmss for math \DeclareSymbolFont{SFMath}{OT1}{mathkerncmss}{m}{sl} \SetSymbolFont{SFMath}{normal}{OT1}{mathkerncmss}{m}{sl} \SetSymbolFont{SFMath}{bold}{OT1}{mathkerncmss}{bx}{sl} \fi }{} \ifx \sansmathaccent@warning\empty \else \PackageWarning{sansmathaccent}{\sansmathaccent@warning} \fi