%    \begin{macrocode}
%<*classXimera>
%    \end{macrocode}
% \subsection{Loading packages}
% Since we want |\cancel| to work, we load it here to avoid polluting the |.jax| output.
%    \begin{macrocode}
\RequirePackage[makeroom]{cancel}
%    \end{macrocode}
% Quite a few packages are required by the document class. This is a
% list of required packages. As packages are added to this list, we
% should include a comment as to where they are being utilized. This
% will help keep this list from being redundant and/or outdated.
%    \begin{macrocode}
\RequirePackage[inline]{enumitem}
\RequirePackage[pagestyles]{titlesec} 
\RequirePackage{titletoc} 
\RequirePackage{titling}  
\RequirePackage{url}
\RequirePackage[table]{xcolor}
\RequirePackage{tikz}
\RequirePackage{pgfplots}
\usepgfplotslibrary{groupplots}
\usetikzlibrary{calc}
\RequirePackage{fancyvrb}
%    \end{macrocode}
% Load |forloop| for the problem environment dynamic naming and
% building.
%    \begin{macrocode}
\RequirePackage{forloop}
%    \end{macrocode}
% Now we load even more packages.
%    \begin{macrocode}
\RequirePackage{environ}% Included to allow saving of environment contents. This does *not* play well with various verbatem environments however and would be great to find a way around utilizing this package. One option is the "Suppress" command included below.
\RequirePackage{amssymb}% Included to have access to math typeset.
\RequirePackage{amsmath}% Included to have access to math typeset.
\RequirePackage{amsthm}%  Included to have access to math typeset.
\RequirePackage{xifthen}% http://ctan.org/pkg/xifthen
\RequirePackage{multido}% http://ctan.org/pkg/multido
\RequirePackage{listings} %% is this required???

\RequirePackage{xkeyval}

\RequirePackage{comment}
%</classXimera>
%    \end{macrocode}
% Various packages must be loaded early to avoid polluting the |.jax|
% file.
%    \begin{macrocode}
%<*classXimera>
\RequirePackage{gettitlestring}
\RequirePackage{nameref}
\RequirePackage{epstopdf}
%</classXimera>
%    \end{macrocode}
