latex-packages-build/math/categories/mkessler-categories.sty

209 lines
4.8 KiB
Text
Raw Normal View History

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Copyright © 2022 Maximilian Keßler
%
% This work may be distributed and/or modified
%
% 1. under the LaTeX Project Public License and/or
% 2. under the GNU General Public License
%
% Distribution under conditions of the LaTeX Project Public License,
% requires either version 1.3 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 Maximilian Keßler.
%
%
% Distribution under the GNU General Public License requires either
% version 3 or (at your opinion) any later version.
%
% This package has been generated by PyTeX, available at
% https://github.com/kesslermaximilian/PyTeX
% and built from source file 'categories.pysty3'.
% 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-31-gc9bb0e8 (commit c9bb0e8)
% Source code version: same-aux-files (commit 7a35a13)
%
% This LaTeX package is free software and is dual-licensed
% under the LPPLv1.3c and the GPLv3 licenses.
% You may use it freely for your purposes.
% The latest version of the package sources can be obtained
% via GitLab under
% https://gitlab.com/latexci/packages/LatexPackages
% The latest version of the built packages can be obtained via GitLab under
% https://gitlab.com/latexci/packages/LatexPackagesBuild
% For further information see the urls above.
% Reportings of bugs, suggestions and improvements are welcome, see the README
% at the Git repository for further information.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ProvidesExplPackage{mkessler-categories}{2022/02/03}{same-aux-files}{Definitions of categories with automatic indexing}
%% Wrapper commands specific for defining categories
\RequirePackage{mkessler-symbindex}
\RequirePackage{translator}
\RequirePackage{amsmath}
\usedictionary{translator-mathematical-categories-dictionary}
\NewDocumentCommand{\category}{ m }
{
\operatorname{\textbf{#1}}
}
\NewDocumentCommand{\DeclareCategory}{ O{} m }
{
\DeclareSymbol[group = categories, #1]{#2}
}
\NewDocumentCommand{\DeclareSimpleCategory}{ o m o}
{
\IfValueTF{#1}
{
\IfValueTF{#3}
{
\DeclareCategory[operator = \category, description = #3, #1]{#2}
}
{
\DeclareCategory[operator = \category, #1]{#2}
}
}
{
\IfValueTF{#3}
{
\DeclareCategory[operator = \category, description = #3]{#2}
}
{
\DeclareCategory[operator = \category]{#2}
}
}
}
\NewDocumentCommand{\MakeCategoryIndex}{ }
{
\printindex[categories]
}
\makeindex
[
name = categories,
title = \translate{Index~of~categories}
]
%%%% Categories
\DeclareSimpleCategory
{ Top }
[
\translate{Top~(Category~description)}
]
\DeclareSimpleCategory
{ hTop }
[
\translate{hTop~(Category~description)}
]
\DeclareSimpleCategory
{ Set }
[
\translate{Set~(Category~description)}
]
\DeclareSimpleCategory
{ CHaus }
[
\translate{CHaus~(Category~description)}
]
\DeclareSimpleCategory
{ Grp }
[
\translate{Grp~(Category~description)}
]
\DeclareSimpleCategory
{ Ab }
[
\translate{Ab~(Category~description)}
]
\DeclareSimpleCategory
{ CRing }
[
\translate{CRing~(Category~description)}
]
\DeclareSimpleCategory
{ Ring }
[
\translate{Ring~(Category~description)}
]
\DeclareSimpleCategory
[
defaultargs = _k
]
{ Vect }
[
\translate{Vect~(Category~description)}
]
\DeclareSimpleCategory
{ Cat }
[
\translate{Cat~(Category~description)}
]
\DeclareSimpleCategory
[
defaultargs = _R
]
{ Mod }
[
\translate{Mod~(Category~description)}
]
\DeclareSimpleCategory
[
defaultargs = _k
]
{ Alg }
[
\translate{Alg~(Category~description)}
]
\DeclareSimpleCategory
{ Field }
[
\translate{Field~(Category~description)}
]
\DeclareSimpleCategory
[
defaultargs = _k
]
{ AffVar }
[
\translate{AffVar~(Category~description)}
]
\DeclareSimpleCategory
{ Sch }
[
\translate{Sch~(Category~description)}
]
\DeclareSimpleCategory
{ GrAb }
[
\translate{GrAb~(Category~description)}
]
\DeclareCategory
[
operator = \operatorname,
formula = \Delta,
ordered = Ordinal,
description = \translate{Ordinal ~ number ~ category ~ (Category ~ description)}
]
{OrdCat}