From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
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 <andy@insectnation.org>
+
+
+%% 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

