103 lines
2.7 KiB
TeX
103 lines
2.7 KiB
TeX
|
\documentclass[full]{l3doc}
|
||
|
|
||
|
\title{The \pkg{mkessler-mathalias} package}
|
||
|
\author{Maximilian Keßler}
|
||
|
|
||
|
\usepackage{mkessler-mathalias}
|
||
|
|
||
|
\begin{document}
|
||
|
|
||
|
\maketitle
|
||
|
|
||
|
\begin{abstract}
|
||
|
Lazy people prefer to write stuff like \cs{Z}, \cs{Q} to get the integers
|
||
|
$\mathbb{Z}$ and rationals $\mathbb{Q}$.
|
||
|
They also often use shortcuts like \cs{bA} for \cs{mathbb}\{A\} to get $\mathbb{A}$.
|
||
|
|
||
|
While the author does not encourage such usage,
|
||
|
this package provide a general syntax to generate such aliases.
|
||
|
\end{abstract}
|
||
|
|
||
|
\begin{documentation}
|
||
|
|
||
|
\section{(Don't) be lazy}
|
||
|
|
||
|
You actually should \emph{not} use this package.
|
||
|
This is poor \LaTeX style.
|
||
|
In case you don't care, or you must, because your co-workers do so,
|
||
|
this package is for you.
|
||
|
|
||
|
The author personally uses
|
||
|
\href{https://www.vim.org/}{Vim}
|
||
|
and the
|
||
|
\href{https://github.com/sirver/UltiSnips}{UltiSnips}
|
||
|
plugin to facilitate \LaTeX writing whilst producing a clean document
|
||
|
without those poor shortcut styles.
|
||
|
So in fact, \emph{be} lazy, but do it the proper way.
|
||
|
|
||
|
If you are, however, lazy, then put
|
||
|
|
||
|
\begin{verbatim}
|
||
|
\usepackage[extended]{mkessler-mathalias}
|
||
|
\end{verbatim}
|
||
|
in your preamble.
|
||
|
|
||
|
\section{Aliases}
|
||
|
|
||
|
\begin{function}{\MakeAliasesForWith}
|
||
|
\begin{syntax}
|
||
|
\cs{MakeAliasesForwith}\marg{macro}\marg{shortcut}\marg{token list}
|
||
|
\end{syntax}
|
||
|
|
||
|
For each \meta{token} in the \meta{token list},
|
||
|
this declares
|
||
|
\enquote{\cs{shortcut\meta{token}}}
|
||
|
as an abbreviation for
|
||
|
\enquote{\meta{macro}\marg{token}}.
|
||
|
|
||
|
\begin{texnote}
|
||
|
In \LaTeX3 syntax, this function would have signature \texttt{Nnn},
|
||
|
so give the \meta{macro} as a single token directly.
|
||
|
\end{texnote}
|
||
|
|
||
|
\begin{texnote}
|
||
|
Technically, the \meta{token list} can contain any tokens that
|
||
|
are fully expandable and thus accepted by \cs{csname} \ldots \cs{endcsname}.
|
||
|
However, as you want \emph{shortcuts}, you would typically invoke this
|
||
|
with tokens of category code 12.
|
||
|
\end{texnote}
|
||
|
\end{function}
|
||
|
|
||
|
As an example,
|
||
|
\begin{verbatim}
|
||
|
\MakeAliasesForWith\mathcal{c}{ABC}
|
||
|
\end{verbatim}
|
||
|
would define the three macros \cs{cA}, \cs{cB} and \cs{cC} to expand to
|
||
|
\cs{mathcal}\{A\},
|
||
|
\cs{mathcal}\{B\}
|
||
|
and
|
||
|
\cs{mathcal}\{c\},
|
||
|
respectively.
|
||
|
|
||
|
\section{Options for default aliases}
|
||
|
|
||
|
There are two options:
|
||
|
|
||
|
\begin{description}
|
||
|
\item[basic]
|
||
|
This declares \cs{C}, \cs{F}, \cs{K}, \cs{N}, \cs{Q}, \cs{R} and \cs{Z}
|
||
|
to expand to the \cs{mathbb} variants of these letters.
|
||
|
\item[extended]
|
||
|
Implies option \textbf{basic}.
|
||
|
Also defines shortcuts for \cs{mathbb}, \cs{mathfrak} and \cs{mathcal}
|
||
|
for each capital arabic letter with the prefixes \enquote{b},
|
||
|
\enquote{f} and \enquote{c}, respectively.
|
||
|
\end{description}
|
||
|
|
||
|
|
||
|
\end{documentation}
|
||
|
|
||
|
\PrintIndex
|
||
|
|
||
|
\end{document}
|