% suppose.sty    1.2.1  2021/04/09
% Andrew Lounsbury

%************************************************************************
%% suppose.sty
%% Copyright 2021 A. W. Lounsbury
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
% of this license or (at your option) any later version.
% The latest version of this license is in
%   http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
% This work has the LPPL maintenance status `maintained'.
% 
% The Current Maintainer of this work is A. W. Lounsbury.
%
% This work consists of the file suppose.sty. 
%************************************************************************
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{suppose}[2021/04/09 1.2.1 supposition symbols]
%
\RequirePackage{amsmath, euscript, graphicx}%
%
\DeclareMathAlphabet{\mathbfcal}{OMS}{cmsy}{b}{n}%
\DeclareMathAlphabet{\mathdutchcal}{U}{dutchcal}{m}{n}%
\DeclareMathAlphabet{\mathdutchbfcal}{U}{dutchcal}{b}{n}%
\newcommand*{\bfeuscript}[1]{\boldsymbol{\EuScript{#1}}}%
\newcommand*{\sansserif}[1]{\textit{{\fontfamily{lmss}\selectfont #1}}}%
\newcommand*{\bfsansserif}[1]{\textbf{\textit{{\fontfamily{lmss}\selectfont #1}}}}%
%
\font\bitt=rm-lmtko10 % bold italicized typewriter font
\newcommand*{\itt}[1]{\scalebox{1.11}{\textit{\texttt{#1}}}}%
\newcommand*{\bolditt}[1]{$\scalebox{1.11}{\bitt #1}$}%
%
\newcounter{angle} % angle at which the \rule's are rotated
\setcounter{angle}{0}%
\newlength{\shift} % horizontal shift of \rule's
\setlength{\shift}{-0.0025in}%
\newlength{\boldshift}%
\setlength{\boldshift}{0.0485in}%
\newlength{\rulelength}%
\setlength{\rulelength}{1.3ex}%
\newlength{\rulewidth}%
\setlength{\rulewidth}{0.15ex}%
\newlength{\boldrulelength}%
\setlength{\boldrulelength}{1.3ex}%
\newlength{\boldrulewidth}%
\setlength{\boldrulewidth}{0.25ex}%
\newcommand{\curfont}{\mathnormal}%
\newcommand{\curboldfont}{\boldsymbol}%
%
\DeclareOption{slant}{%
    \setcounter{angle}{-15}%
    \setlength{\shift}{-0.0075in}%
    \setlength{\boldshift}{0.0425in}%
}%
\DeclareOption{mathcal}{%
    \ifdim\boldshift = 0.0425in             % if slant option selected
        \addtolength{\shift}{0.00225in}%
        \addtolength{\boldshift}{0.0015in}%
    \fi%
    \renewcommand{\curfont}{\mathcal}%
    \renewcommand{\curboldfont}{\mathbfcal}%
    \addtolength{\rulelength}{0.1ex}%
    \addtolength{\boldrulelength}{0.15ex}%
    \addtolength{\shift}{-0.00125in}%
}%
\DeclareOption{dutchcal}{%
    \ifdim\boldshift = 0.0425in%
        \addtolength{\shift}{0.0012in}%
        \addtolength{\boldshift}{0.0012in}%
    \fi%
    \renewcommand{\curfont}{\mathdutchcal}%
    \renewcommand{\curboldfont}{\mathdutchbfcal}%
    \addtolength{\rulelength}{0.1ex}%
    \addtolength{\shift}{0.0025in}%
    \addtolength{\boldrulelength}{0.145ex}%
    \addtolength{\boldshift}{-0.0035in}%
    \addtolength{\boldrulewidth}{-0.025ex}%
}%
\DeclareOption{eulerscript}{%
    \ifdim\boldshift = 0.0425in%
        \addtolength{\shift}{0.0000000000000000001in}% 
        \addtolength{\boldshift}{0.00125in}%
    \fi%
    \renewcommand{\curfont}{\EuScript}%
    \renewcommand{\curboldfont}{\bfeuscript}%
    \addtolength{\rulelength}{0.1ex}%
    \addtolength{\shift}{-0.01275in}%
    \addtolength{\boldshift}{-0.01525in}%
}%
\DeclareOption{sans-serif}{%
    \ifdim\boldshift = 0.0425in%
        \addtolength{\shift}{0.001in}%
        \addtolength{\boldshift}{0.001in}%
    \fi%
    \renewcommand{\curfont}{\sansserif}%
    \renewcommand{\curboldfont}{\bfsansserif}%
    \addtolength{\shift}{-0.01375in}%
    \addtolength{\boldshift}{-0.005in}%
}%
\DeclareOption{tt}{%
    \ifdim\boldshift = 0.0425in%
        \addtolength{\shift}{0.001in}%
        \addtolength{\boldrulewidth}{-0.025ex}%
    \fi%
    \renewcommand{\curfont}{\itt}%
    \renewcommand{\curboldfont}{\bolditt}%
    \addtolength{\shift}{0.0114in}%
    \addtolength{\boldrulelength}{0.1ex}%
    \addtolength{\boldshift}{-0.02in}%
}%
\DeclareOption*{\PackageWarning{suppose}{Unknown '\CurrentOption'}}%
\ProcessOptions\relax%
%
% The two main commands
\newlength{\Swidth}%
\settowidth{\Swidth}{S}%
\newcommand{\supp}{%
    \makebox[\Swidth][r]{%
        $\rotatebox{\value{angle}}{%
            \rule[-0.5ex]{\rulewidth}{\rulelength}%
        }$\hspace{\shift}\ %
    }\llap{$\curfont{S}$}\mspace{5mu}%
}%
\newcommand{\bsup}{%
    \makebox[\Swidth][r]{%
        $\rotatebox{\value{angle}}{%
            \rule[-0.5ex]{\boldrulewidth}{\boldrulelength}%
        }$\hspace{\boldshift}%
    }\llap{$\curboldfont{S}$%
}\mspace{5mu}}%
%
% Commands for hard-coding
\newcommand{\plainsupp}{\makebox[\Swidth][r]{$\rule[-0.5ex]{\rulewidth}{1.3ex}\mspace{-0.25mu}$\ }\llap{$S$}\mspace{5mu}}%
\newcommand{\csup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{\rulewidth}{1.45ex}\mspace{8.5mu}$}\llap{$\mathcal{S}$}\mspace{5mu}}%
\newcommand{\dsup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{\rulewidth}{1.45ex}\mspace{9.5mu}$}\llap{$\mathdutchcal{S}$}\mspace{5mu}}%
\newcommand{\esup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{\rulewidth}{1.35ex}\mspace{5.25mu}$}\llap{$\EuScript{S}$}\mspace{5mu}}%
\newcommand{\tsup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{\rulewidth}{1.3ex}\mspace{5.5mu}$\ }\llap{\scalebox{1.1}{\textit{\texttt{S}}}}\mspace{5mu}}%
\newcommand{\vsup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{\rulewidth}{1.45ex}\mspace{7.75mu}$}\llap{\textit{{\fontfamily{lmss}\selectfont S}}}\mspace{5mu}}%
% Bold
\newcommand{\plainbsup}{\makebox[\Swidth][r]{$\rule[-0.5ex]{\boldrulewidth}{1.3ex}\mspace{6.3mu}$}\llap{$\boldsymbol{S}$}\mspace{5mu}}%
\newcommand{\bcsup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{\boldrulewidth}{1.45ex}\mspace{10.5mu}$}\llap{$\boldsymbol{\mathcal{S}}$}\mspace{5mu}}%
\newcommand{\bdsup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{0.225ex}{1.5ex}\mspace{9.5mu}$}\llap{$\mathdutchbfcal{S}$}\mspace{5mu}}%
\newcommand{\besup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{\boldrulewidth}{1.35ex}\mspace{6.4mu}$}\llap{$\boldsymbol{\EuScript{S}}$}\mspace{5mu}}%
\newcommand{\btsup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{\boldrulewidth}{1.3ex}\mspace{-0.675mu}$\ }\llap{\scalebox{1.11}{\bitt S}}\mspace{5mu}}%
\newcommand{\bvsup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{\boldrulewidth}{1.45ex}\mspace{9mu}$}\llap{\textbf{\textit{{\fontfamily{lmss}\selectfont S}}}}\mspace{5mu}}%
% Slanted rule
\newcommand{\ssup}{\makebox[\Swidth][r]{$\rotatebox{-15}{\rule[-0.5ex]{\rulewidth}{1.3ex}}\mspace{5mu}$}\llap{$S$}\mspace{5mu}}%
\newcommand{\scsup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{\rulewidth}{1.45ex}}\mspace{10mu}$}\llap{$\mathcal{S}$}\mspace{5mu}}%
\newcommand{\sdsup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{\rulewidth}{1.35ex}}\mspace{11mu}$}\llap{$\mathdutchcal{S}$}\mspace{5mu}}%
\newcommand{\sesup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{\rulewidth}{1.4ex}}\mspace{6.6mu}$}\llap{$\EuScript{S}$}\mspace{5mu}}%
\newcommand{\stsup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{\rulewidth}{1.3ex}}\mspace{6.8mu}$\ }\llap{\scalebox{1.11}{\textit{\texttt{S}}}}\mspace{5mu}}%
\newcommand{\svsup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{\rulewidth}{1.45ex}}\mspace{9mu}$}\llap{\textit{{\fontfamily{lmss}\selectfont S}}}\mspace{5mu}}%
% Slanted & bold
\newcommand{\sbsup}{\makebox[\Swidth][r]{$\rotatebox{-15}{\rule[-0.5ex]{\boldrulewidth}{1.3ex}}\mspace{5.5mu}$}\llap{$\boldsymbol{S}$}\mspace{5mu}}%
\newcommand{\sbcsup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{\boldrulewidth}{1.45ex}}\mspace{12mu}$}\llap{$\boldsymbol{\mathcal{S}}$}\mspace{5mu}}%
\newcommand{\sbdsup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{\boldrulewidth}{1.4ex}}\mspace{11mu}$}\llap{$\mathdutchbfcal{S}$}\mspace{5mu}}%
\newcommand{\sbesup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{\boldrulewidth}{1.45ex}}\mspace{7.6mu}$}\llap{$\boldsymbol{\EuScript{S}}$}\mspace{5mu}}%
\newcommand{\sbtsup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{\boldrulewidth}{1.4ex}}\mspace{0.5mu}$\ }\llap{\scalebox{1.11}{\bitt S}}\mspace{5mu}}%
\newcommand{\sbvsup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{\boldrulewidth}{1.45ex}}\mspace{10mu}$}\llap{\textbf{\textit{{\fontfamily{lmss}\selectfont S}}}}\mspace{5mu}}%