90 lines
4 KiB
Text
90 lines
4 KiB
Text
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
|
% Copyright © 2022 Maximilian Keßler
|
||
|
%
|
||
|
% Permission is hereby granted, free of charge, to any person obtaining a copy
|
||
|
% of this software and associated documentation files (the “Software”), to deal
|
||
|
% in the Software without restriction, including without limitation the rights
|
||
|
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||
|
% copies of the Software, and to permit persons to whom the Software is
|
||
|
% furnished to do so, subject to the following conditions:
|
||
|
% The above copyright notice and this permission notice shall be included in all
|
||
|
% copies or substantial portions of the Software.
|
||
|
%
|
||
|
% THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||
|
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||
|
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||
|
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||
|
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||
|
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||
|
% SOFTWARE.
|
||
|
%
|
||
|
% This package has been generated by PyTeX, available at
|
||
|
% https://github.com/kesslermaximilian/PyTeX
|
||
|
% and built from source file 'mathalias.pysty'.
|
||
|
% It is STRONGLY DISCOURAGED to edit this source file directly, since local
|
||
|
% changes will not be versioned by Git and overwritten by the next build. Always
|
||
|
% edit the source file and build the package again.
|
||
|
%
|
||
|
% Build details:
|
||
|
% PyTeX version: v1.2.0-3-g5e077e7 (commit 5e077e7)
|
||
|
% Source code version: v2.4.4-1-g47449c5 (commit 47449c5)
|
||
|
%
|
||
|
% This LaTeX package is free software and distributed under the MIT License. You
|
||
|
% may use it freely for your purposes. The latest version of the package can be
|
||
|
% obtained via GitHub under
|
||
|
% https://github.com/kesslermaximilian/LatexPackages
|
||
|
% For further information see the url above.
|
||
|
% Reportings of bugs, suggestions and improvements are welcome, see the README
|
||
|
% at the Git repository for further information.
|
||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
|
|
||
|
\NeedsTeXFormat{LaTeX2e}
|
||
|
\ProvidesPackage{mkessler-mathalias}[2022/01/30 - Easy aliasing for math style commands]
|
||
|
|
||
|
|
||
|
|
||
|
\RequirePackage{xkeyval}
|
||
|
|
||
|
\newif\ifmkessler@mathalias@basic\mkessler@mathalias@basicfalse
|
||
|
\newif\ifmkessler@mathalias@extended\mkessler@mathalias@extendedfalse
|
||
|
|
||
|
\DeclareOptionX{basic}{\mkessler@mathalias@basictrue}
|
||
|
\DeclareOptionX{extended}{\mkessler@mathalias@extendedtrue\mkessler@mathalias@basictrue}
|
||
|
|
||
|
\DeclareOptionX*{\PackageWarning{mkessler-mathalias}{Unknown '\CurrentOption'}}
|
||
|
\ProcessOptionsX*\relax
|
||
|
|
||
|
|
||
|
%Usage: \makealiasesforwith\<mathcommand>{<prefix>}{<Set of letters>}
|
||
|
% to declare commands of form \<prefix><Letter> as \<mathcommand>{<Letter>} for each
|
||
|
% of the specfied letters
|
||
|
%
|
||
|
% E.g. \makealiasesforwith\mathcal{c}{ABC} will declare
|
||
|
% \cA \cB \cC \cD as \mathcal{A}, \mathcal{B}, \mathcal{C}
|
||
|
% This is also ensuring math context, so that
|
||
|
% \cA will be valid even in normal text.
|
||
|
|
||
|
\def\makealiasesforwith#1#2#3{
|
||
|
\def\mkessler@mathalias@makealias##1{
|
||
|
\expandafter\def\csname #2##1\endcsname{\ensuremath{#1{##1}}}
|
||
|
}
|
||
|
\def\mkessler@mathalias@recurse##1{
|
||
|
\ifx##1\mkessler@mathalias@dummy\else
|
||
|
\mkessler@mathalias@makealias{##1}\expandafter\mkessler@mathalias@recurse\fi
|
||
|
}
|
||
|
\mkessler@mathalias@recurse #3\mkessler@mathalias@dummy
|
||
|
}
|
||
|
|
||
|
\def\mkessler@mathalias@all{ABCDEFGHIJKLMNOPQRSTUVWXYZ}
|
||
|
|
||
|
\ifmkessler@mathalias@basic
|
||
|
\RequirePackage{amsfonts}
|
||
|
\makealiasesforwith\mathbb{}{CFKNQRZ}
|
||
|
\fi
|
||
|
|
||
|
\ifmkessler@mathalias@extended
|
||
|
\expandafter\makealiasesforwith\expandafter\mathcal\expandafter{\expandafter c\expandafter}\expandafter{\mkessler@mathalias@all}
|
||
|
\expandafter\makealiasesforwith\expandafter\mathfrak\expandafter{\expandafter f\expandafter}\expandafter{\mkessler@mathalias@all}
|
||
|
\expandafter\makealiasesforwith\expandafter\mathbb\expandafter{\expandafter b\expandafter}\expandafter{\mkessler@mathalias@all}
|
||
|
\fi
|