From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex/contrib/maybemath/maybemath.sty | 92 ++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 macros/latex/contrib/maybemath/maybemath.sty (limited to 'macros/latex/contrib/maybemath/maybemath.sty') diff --git a/macros/latex/contrib/maybemath/maybemath.sty b/macros/latex/contrib/maybemath/maybemath.sty new file mode 100644 index 0000000000..0cbe49e855 --- /dev/null +++ b/macros/latex/contrib/maybemath/maybemath.sty @@ -0,0 +1,92 @@ +\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 + + +%% Mode names for bold, ext-bold, italic and sans-serif contexts +\def\@boldname{b}% +\def\@boldexname{bx}% +\def\@italname{it}% +\def\@sfname{cmss}% + + +%% Use the bold symbol if reqd for math fonts +\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 +\DeclareRobustCommand{\mayberm}[1]{\ensuremath{% + \ifx\f@shape\@italname% + {#1}% + \else% + {\mathrm{#1}}% + \fi% +}} + +%% Use \mathit if in italic context +\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 +\DeclareRobustCommand{\maybeitrm}[1]{\ensuremath{% + \ifx\f@shape\@italname% + {\mathit{#1}}% + \else% + {\mathrm{#1}}% + \fi% +}} + +%% Maybe-italic subscript shifting +\DeclareRobustCommand{\maybeitsubscript}[1]{\ensuremath{% + \ifx\f@shape\@italname% + {\!\mspace{1mu}#1}% + \else% + {#1}% + \fi% +}} + +%% Maybe-sans font change +\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} -- cgit v1.2.3