\documentclass[full]{l3doc} \title{The \pkg{mkessler-categories} package} \author{Maximilian Ke\ss ler} \usepackage{mkessler-categories} \NewDocumentCommand{\ShowCategory}{m} { \cs{#1} & $\csname #1\endcsname$ \\ } \begin{document} \maketitle \begin{abstract} This is a ready-to-use package providing symbols of mathematical categories with automatic indexing. It is certainly plausible that you prefer to name your categories slightly differently that the author. \end{abstract} \begin{documentation} \section{General notice} This package is based on the \pkg{mkessler-symbindex} package. We thus use \pkg{imakeindex} to generate the index file. \section{Functionality} \begin{function}{\category} \begin{syntax} \cs{category}\marg{category} \end{syntax} Makes the given argument \meta{category} behave like a math operator and prints its name in bold. This is just to ensure a unified style for printing categories, if you don't like it, redefine this macro. \end{function} \begin{function}{\DeclareCategory} \begin{syntax} \cs{DeclareCategory}\oarg{key=value list}\marg{category} \end{syntax} Has the same syntax as \cs{DeclareSymbol} from the \pkg{mkessler-symbindex} package, but adds the key \texttt{group = categories}. \end{function} \begin{function}{\DeclareSimpleCategory} \begin{syntax} \cs{DeclareSimpleCategory}\oarg{key=value list}\marg{category}\oarg{description} \end{syntax} Declares a \enquote{simple} category, i.e.~the category \cs{\meta{category}} is declared and will expand to \enquote{\cs{category}\marg{category}} when expanded. The optional \meta{description} is shown in the index when present. \end{function} \begin{function}{\MakeCategoryIndex} Prints the index of categories. \end{function} \section{Language integration} This package uses \pkg{translator} to translate the package descriptions. Currently, only English and German are supported. \section{Default categories} The package also provides default categories. These are shown in \autoref{tab:provided-categories}. You can view their appearance in the index and their descriptions in the index of this documentation. Unfortunately, the index is not (yet) compatible with the \texttt{l3doc} class which is used for this documentation, so ignore everything before the \enquote{@} characters. \begin{table}[htpb] \centering \begin{tabular}{c | c} Macro & Result \\ \hline \ShowCategory{Top} \ShowCategory{hTop} \ShowCategory{Set} \ShowCategory{CHaus} \ShowCategory{Grp} \ShowCategory{Ab} \ShowCategory{CRing} \ShowCategory{Ring} \ShowCategory{Vect} \ShowCategory{Cat} \ShowCategory{Mod} \ShowCategory{Alg} \ShowCategory{Field} \ShowCategory{AffVar} \ShowCategory{Sch} \ShowCategory{GrAb} \ShowCategory{OrdCat} \end{tabular} \caption{caption} \label{tab:provided-categories} \end{table} \end{documentation} \PrintIndex \end{document}