\ProvidesPackage{maybemath}[2005/2/22] \RequirePackage{amsmath} \RequirePackage{bm} %\RequirePackage{xspace} %% A few commands for making math fonts bold, upright, italic %% or sans-serif according to the context of surrounding text. %% It is particularly useful for avoiding problems with math %% boldness in section titles causing unwanted boldness %% in e.g. the table of contents. %% %% Thanks to Viet-Trung Luu on comp.text.tex for providing %% the first steps to solving this problem. %% %% This material is subject to the LaTeX Project Public License. %% See http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html %% for the details of that license. %% %% Author: Andy Buckley %% Use the bold symbol if reqd for math fonts {\def\@boldname{b}}% {\def\@boldexname{bx}}% \DeclareRobustCommand{\maybebm}[1]{\ensuremath{% \ifx\f@series\@boldname% {{\bm{#1}}}% \else\ifx\f@series\@boldexname% {{\bm{#1}}}% \else% {{#1}}% \fi\fi% }} %% Use \mathrm if not in italic context {\def\@italname{it}}% \DeclareRobustCommand{\mayberm}[1]{\ensuremath{% \ifx\f@shape\@italname% {#1}% \else% {\mathrm{#1}}% \fi% }} %% Use \mathit if in italic context {\def\@italname{it}}% \DeclareRobustCommand{\maybeit}[1]{\ensuremath{% \ifx\f@shape\@italname% {\mathit{#1}}% \else% {#1}% \fi% }} %% Use \mathrm if not in italic context %% and \mathit if in italic context {\def\@italname{it}}% \DeclareRobustCommand{\maybeitrm}[1]{\ensuremath{% \ifx\f@shape\@italname% {\mathit{#1}}% \else% {\mathrm{#1}}% \fi% }} %% Maybe-italic subscript shifting {\def\@italname{it}}% \DeclareRobustCommand{\maybeitsubscript}[1]{\ensuremath{% \ifx\f@shape\@italname% {\!\mspace{1mu}#1}% \else% {#1}% \fi% }} %% Maybe-sans font change {\def\@sfname{cmss}}% \DeclareRobustCommand{\maybesf}[1]{\ensuremath{% \ifx\f@family\@sfname% {\mathsf{#1}}% \else% {#1}% \fi% }} %% Convenience command for following bold and sans-serif contexts \DeclareRobustCommand{\maybebmsf}[1]{% {\maybebm{\maybesf{#1}}}% } %% For reference purposes :-) %\DeclareRobustCommand{\maybemath}{\texttt{maybemath}\xspace}