summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/sansmathaccent/sansmathaccent.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-03-28 23:07:19 +0000
committerKarl Berry <karl@freefriends.org>2013-03-28 23:07:19 +0000
commit5850fed93904f9c801051e5315f42df42b066580 (patch)
tree26fd1f005bb7042e47264192ea18fed585afe450 /Master/texmf-dist/tex/latex/sansmathaccent/sansmathaccent.sty
parent777b478d51f39ab6ad29ce5605efea19d094a089 (diff)
sansmathaccent (28mar13)
git-svn-id: svn://tug.org/texlive/trunk@29541 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/sansmathaccent/sansmathaccent.sty')
-rw-r--r--Master/texmf-dist/tex/latex/sansmathaccent/sansmathaccent.sty77
1 files changed, 67 insertions, 10 deletions
diff --git a/Master/texmf-dist/tex/latex/sansmathaccent/sansmathaccent.sty b/Master/texmf-dist/tex/latex/sansmathaccent/sansmathaccent.sty
index c0e8ff60909..f7f06374fbe 100644
--- a/Master/texmf-dist/tex/latex/sansmathaccent/sansmathaccent.sty
+++ b/Master/texmf-dist/tex/latex/sansmathaccent/sansmathaccent.sty
@@ -1,10 +1,10 @@
-% sansmathaccent.sty
+% sansmathaccent.sty, version 2
%
% Fixes a problem with accent placement in beamer and sfmath
%
% author: Ariel Barton
%
-% Copyright Ariel Barton, 2012
+% Copyright Ariel Barton, 2012, 2013
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -20,31 +20,88 @@
% The complete list of files considered part of this work is in
% the file `sansmathaccent.pdf' and its source code `sansmathaccent.tex'.
%
-\ProvidesPackage{sansmathaccent}[2012/04/26]
+\ProvidesPackage{sansmathaccent}[2013/03/28]
-\def\sansmathaccent@warning{sansmathaccent is not a standalone package; it should be used with beamer or sfmath.}
+\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{filehook.sty}{
+ \RequirePackage{filehook}
+ \AtBeginOfFile{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 'filehooks' package: one mathgroup may be wasted}
+ }
+
\AtBeginDocument{
- \def\sansmathaccent@cmss{cmss}
- \ifx\beamer@fmdef\sansmathaccent@cmss % Check to see if we are using cmss for math
- \DeclareSymbolFont{pureletters}{OT1}{mathkerncmss}{m}{sl}
+ \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}
+ \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 \typeout{\sansmathaccent@warning} \fi \ No newline at end of file
+\ifx \sansmathaccent@warning\empty \else
+ \PackageWarning{sansmathaccent}{\sansmathaccent@warning}
+\fi \ No newline at end of file