summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/suppose/suppose.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/suppose/suppose.sty')
-rw-r--r--macros/latex/contrib/suppose/suppose.sty140
1 files changed, 111 insertions, 29 deletions
diff --git a/macros/latex/contrib/suppose/suppose.sty b/macros/latex/contrib/suppose/suppose.sty
index fb2235e01a..e0df512bfc 100644
--- a/macros/latex/contrib/suppose/suppose.sty
+++ b/macros/latex/contrib/suppose/suppose.sty
@@ -1,4 +1,4 @@
-% suppose.sty 1.1 2021/03/26
+% suppose.sty 1.2 2021/04/01
% Andrew Lounsbury
%************************************************************************
@@ -17,57 +17,139 @@
%
% The Current Maintainer of this work is A. W. Lounsbury.
%
-% This work consists of the files suppose.sty.
+% This work consists of the file suppose.sty.
%************************************************************************
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{suppose}[2021/03/26 1.1 supposition symbols]
+\ProvidesPackage{suppose}[2021/04/01 1.2 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\btt=rm-lmtk10 % bold typewriter font
\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{\boldrulelength}%
+\setlength{\boldrulelength}{1.3ex}%
+\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.00225in}%
+ \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.0025in}%
+ \addtolength{\boldshift}{0.002in}%
+ \fi%
+ \renewcommand{\curfont}{\mathdutchcal}%
+ \renewcommand{\curboldfont}{\mathdutchbfcal}%
+ \addtolength{\rulelength}{0.1ex}%
+ \addtolength{\shift}{0.0025in}%
+ \addtolength{\boldrulelength}{0.1ex}%
+ \addtolength{\boldshift}{-0.003in}%
+}%
+\DeclareOption{eulerscript}{%
+ \ifdim\boldshift = 0.0425in%
+ \addtolength{\shift}{0.0000000000000000001in}%
+ \addtolength{\boldshift}{0.0015in}%
+ \fi%
+ \renewcommand{\curfont}{\EuScript}%
+ \renewcommand{\curboldfont}{\bfeuscript}%
+ \addtolength{\rulelength}{0.1ex}%
+ \addtolength{\shift}{-0.01275in}%
+ \addtolength{\boldshift}{-0.015in}%
+}%
+\DeclareOption{sans-serif}{%
+ \ifdim\boldshift = 0.0425in%
+ \addtolength{\shift}{0.001in}%
+ \fi%
+ \renewcommand{\curfont}{\sansserif}%
+ \renewcommand{\curboldfont}{\bfsansserif}%
+ \addtolength{\shift}{-0.01375in}%
+ \addtolength{\boldshift}{-0.006in}%
+}%
+\DeclareOption{tt}{%
+ \renewcommand{\curfont}{\itt}%
+ \renewcommand{\curboldfont}{\bolditt}%
+ \addtolength{\shift}{0.0114in}%
+ \addtolength{\boldrulelength}{0.1ex}%
+ \addtolength{\boldshift}{-0.0185in}%
+}%
+% The two main commands
\newlength{\Swidth}%
\settowidth{\Swidth}{S}%
\newcommand{\supp}{%
\makebox[\Swidth][r]{%
- \ $\rule[-0.5ex]{0.15ex}{1.3ex}\mspace{-0.25mu}$\ %
- }\llap{$S$}\mspace{5mu}%
+ $\rotatebox{\value{angle}}{%
+ \rule[-0.5ex]{0.15ex}{\rulelength}%
+ }$\hspace{\shift}\ %
+ }\llap{$\curfont{S}$}\mspace{5mu}%
}%
-\newcommand{\csup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{0.15ex}{1.45ex}\mspace{9mu}$}\llap{$\mathcal{S}$}\mspace{5mu}}%
+\newcommand{\bsup}{%
+ \makebox[\Swidth][r]{%
+ $\rotatebox{\value{angle}}{%
+ \rule[-0.5ex]{0.2ex}{\boldrulelength}%
+ }$\hspace{\boldshift}%
+ }\llap{$\curboldfont{S}$%
+}\mspace{5mu}}%
+% Commands for hard-coding
+\newcommand{\plainsupp}{\makebox[\Swidth][r]{$\rule[-0.5ex]{0.15ex}{1.3ex}\mspace{-0.25mu}$\ }\llap{$S$}\mspace{5mu}}%
+\newcommand{\csup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{0.15ex}{1.45ex}\mspace{8.5mu}$}\llap{$\mathcal{S}$}\mspace{5mu}}%
\newcommand{\dsup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{0.15ex}{1.45ex}\mspace{9.5mu}$}\llap{$\mathdutchcal{S}$}\mspace{5mu}}%
\newcommand{\esup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{0.15ex}{1.35ex}\mspace{5.25mu}$}\llap{$\EuScript{S}$}\mspace{5mu}}%
-\newcommand{\tsup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{0.15ex}{1.3ex}\mspace{4.5mu}$\ }\llap{\textit{\texttt{S}}}\mspace{5mu}}%
-\newcommand{\vsup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{0.15ex}{1.45ex}\mspace{8mu}$}\llap{\textit{{\fontfamily{lmss}\selectfont S}}}\mspace{5mu}}%
-% Bold version
-\newcommand{\bsup}{\makebox[\Swidth][r]{\ $\rule[-0.5ex]{0.20ex}{1.3ex}\mspace{6.5mu}$}\llap{$\boldsymbol{S}$}\mspace{5mu}}%
+\newcommand{\tsup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{0.15ex}{1.3ex}\mspace{5.5mu}$\ }\llap{\scalebox{1.1}{\textit{\texttt{S}}}}\mspace{5mu}}%
+
+\newcommand{\vsup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{0.15ex}{1.45ex}\mspace{7.75mu}$}\llap{\textit{{\fontfamily{lmss}\selectfont S}}}\mspace{5mu}}%
+% Bold
+\newcommand{\plainbsup}{\makebox[\Swidth][r]{$\rule[-0.5ex]{0.20ex}{1.3ex}\mspace{6.3mu}$}\llap{$\boldsymbol{S}$}\mspace{5mu}}%
\newcommand{\bcsup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{0.20ex}{1.5ex}\mspace{10mu}$}\llap{$\boldsymbol{\mathcal{S}}$}\mspace{5mu}}%
-\newcommand{\bdsup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{0.20ex}{1.5ex}\mspace{10.125mu}$}\llap{$\mathdutchbfcal{S}$}\mspace{5mu}}%
+\newcommand{\bdsup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{0.20ex}{1.5ex}\mspace{9.5mu}$}\llap{$\mathdutchbfcal{S}$}\mspace{5mu}}%
\newcommand{\besup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{0.20ex}{1.35ex}\mspace{6mu}$}\llap{$\boldsymbol{\EuScript{S}}$}\mspace{5mu}}%
-\newcommand{\btsup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{0.2ex}{1.3ex}\mspace{-1mu}$\ }\llap{\scalebox{1.2}{\bitt S}}\mspace{5mu}}%
-\newcommand{\bvsup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{0.20ex}{1.45ex}\mspace{9.5mu}$}\llap{\textbf{\textit{{\fontfamily{lmss}\selectfont S}}}}\mspace{5mu}}%
+\newcommand{\btsup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{0.2ex}{1.3ex}\mspace{-0.7mu}$\ }\llap{\scalebox{1.11}{\bitt S}}\mspace{5mu}}%
+\newcommand{\bvsup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{0.20ex}{1.45ex}\mspace{8.75mu}$}\llap{\textbf{\textit{{\fontfamily{lmss}\selectfont S}}}}\mspace{5mu}}%
% Slanted rule
-\newcommand{\ssup}{\makebox[\Swidth][r]{\ $\rotatebox{-15}{\rule[-0.5ex]{0.15ex}{1.3ex}}\mspace{5mu}$}\llap{$S$}\mspace{5mu}}%
+\newcommand{\ssup}{\makebox[\Swidth][r]{$\rotatebox{-15}{\rule[-0.5ex]{0.15ex}{1.3ex}}\mspace{5mu}$}\llap{$S$}\mspace{5mu}}%
\newcommand{\scsup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{0.15ex}{1.45ex}}\mspace{10mu}$}\llap{$\mathcal{S}$}\mspace{5mu}}%
-\newcommand{\sdsup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{0.15ex}{1.45ex}}\mspace{11mu}$}\llap{$\mathdutchcal{S}$}\mspace{5mu}}%
-\newcommand{\sesup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{0.15ex}{1.45ex}}\mspace{7mu}$}\llap{$\EuScript{S}$}\mspace{5mu}}%
-\newcommand{\stsup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{0.15ex}{1.3ex}}\mspace{5.5mu}$\ }\llap{\textit{\texttt{S}}}\mspace{5mu}}%
-\newcommand{\svsup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{0.15ex}{1.45ex}}\mspace{8.5mu}$}\llap{\textit{{\fontfamily{lmss}\selectfont S}}}\mspace{5mu}}%
+\newcommand{\sdsup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{0.15ex}{1.35ex}}\mspace{11mu}$}\llap{$\mathdutchcal{S}$}\mspace{5mu}}%
+\newcommand{\sesup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{0.15ex}{1.4ex}}\mspace{6.6mu}$}\llap{$\EuScript{S}$}\mspace{5mu}}%
+\newcommand{\stsup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{0.15ex}{1.3ex}}\mspace{6.5mu}$\ }\llap{\scalebox{1.11}{\textit{\texttt{S}}}}\mspace{5mu}}%
+\newcommand{\svsup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{0.15ex}{1.45ex}}\mspace{9mu}$}\llap{\textit{{\fontfamily{lmss}\selectfont S}}}\mspace{5mu}}%
% Slanted & bold
-\newcommand{\sbsup}{\makebox[\Swidth][r]{\ $\rotatebox{-15}{\rule[-0.5ex]{0.20ex}{1.3ex}}\mspace{5.5mu}$}\llap{$\boldsymbol{S}$}\mspace{5mu}}%
+\newcommand{\sbsup}{\makebox[\Swidth][r]{$\rotatebox{-15}{\rule[-0.5ex]{0.20ex}{1.3ex}}\mspace{5.5mu}$}\llap{$\boldsymbol{S}$}\mspace{5mu}}%
\newcommand{\sbcsup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{0.20ex}{1.45ex}}\mspace{12mu}$}\llap{$\boldsymbol{\mathcal{S}}$}\mspace{5mu}}%
\newcommand{\sbdsup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{0.20ex}{1.4ex}}\mspace{11mu}$}\llap{$\mathdutchbfcal{S}$}\mspace{5mu}}%
-\newcommand{\sbesup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{0.20ex}{1.45ex}}\mspace{8mu}$}\llap{$\boldsymbol{\EuScript{S}}$}\mspace{5mu}}%
-\newcommand{\sbtsup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{0.2ex}{1.3ex}}$\ }\llap{\scalebox{1.2}{\bitt S}}\mspace{5mu}}%
+\newcommand{\sbesup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{0.20ex}{1.45ex}}\mspace{7.2mu}$}\llap{$\boldsymbol{\EuScript{S}}$}\mspace{5mu}}%
+\newcommand{\sbtsup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{0.2ex}{1.4ex}}\mspace{0.25mu}$\ }\llap{\scalebox{1.11}{\bitt S}}\mspace{5mu}}%
\newcommand{\sbvsup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{0.20ex}{1.45ex}}\mspace{10mu}$}\llap{\textbf{\textit{{\fontfamily{lmss}\selectfont S}}}}\mspace{5mu}}%
-% Options
-\DeclareOption{mathcal}{\renewcommand{\supp}{\csup}\renewcommand{\bsup}{\bcsup}\renewcommand{\ssup}{\scsup}\renewcommand{\sbsup}{\sbcsup}}%
-\DeclareOption{dutchcal}{\renewcommand{\supp}{\dsup}\renewcommand{\bsup}{\bdsup}\renewcommand{\ssup}{\sdsup}\renewcommand{\sbsup}{\sbdsup}}%
-\DeclareOption{eulerscript}{\renewcommand{\supp}{\esup}\renewcommand{\bsup}{\besup}\renewcommand{\ssup}{\sesup}\renewcommand{\sbsup}{\sbesup}}%
-\DeclareOption{tt}{\renewcommand{\supp}{\tsup}\renewcommand{\bsup}{\btsup}\renewcommand{\ssup}{\stsup}\renewcommand{\sbsup}{\sbtsup}}%
-\DeclareOption{sans-serif}{\renewcommand{\supp}{\vsup}\renewcommand{\bsup}{\bvsup}\renewcommand{\ssup}{\svsup}\renewcommand{\sbsup}{\sbvsup}}%
-\DeclareOption*{\PackageWarning{suppose}{Unknown ‘\CurrentOption’}}%
-\ProcessOptions\relax% \ No newline at end of file
+%
+\DeclareOption*{\PackageWarning{suppose}{Unknown '\CurrentOption'}}%
+\ProcessOptions\relax%