% Package for CFA Research Lab.
%
% Made by combining and updating

% I don't know what the oldest LaTeX2e version with everything needed is.
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{cfalab}[2020/03/09 v0.1 CFA Laboratory LaTeX Tools]

% Other packages required.
\RequirePackage{etoolbox}
\RequirePackage{xspace}

% Symbols: All symbols are zero argument robust commands with special rules
% about the space following the c.s. token. Normally the space might be
% re-added according to the rules of the xspace package. They may be followed
% by a star (which the command will consume) to disable this behaviour.

% \newsymbolcmd{<name>}{<expansion>}
%    Creates a symbol with <name> that has the given <expansion>. Note that
%    the name must be given as a series of letters, not as an escaped name.
\newrobustcmd*\newsymbolcmd[2]{
    \csdef{#1}{\cfalab@symbol{#1}}
    \expandafter\robustify\csname #1\endcsname
    \csdef{cfalab@symbol@#1}{#2}
}
\def\cfalab@symbol#1{\@ifnextchar*{\cfalab@symstar{#1}}{\cfalab@symnostar{#1}}}
\def\cfalab@symstar#1*{\csuse{cfalab@symbol@#1}}
\def\cfalab@symnostar#1{\csuse{cfalab@symbol@#1}\xspace}

% Cforall with the forall symbol.
\newsymbolcmd{CFA}{\textsf{C}\raisebox{\depth}{\rotatebox{180}{\textsf{A}}}}

\newcommand\codeC[1]{\texttt{#1}}

\endinput
