\documentclass[twocolumn,twoside,11pt]{report}

\usepackage[nobox]{assign}
\usepackage{hyperref}
\usepackage[margin=1.0in]{geometry}
\def\arraystretch{1.2}

\hypersetup{
	colorlinks,
	linkcolor={blue},
	linktoc=page
}

\setcounter{secnumdepth}{0}

\title{The \texttt{uassign} package}
\author{Nathan Esau}
\date{\today}

\begin{document}

\maketitle

\setcounter{secnumdepth}{-1}
\chapter{Overview}

\section{Description}
The purpose of the \texttt{uassign} package is to provide simple question and solution style environments for typesetting  university assignments. The \texttt{uassign} package was designed with the following objectives in mind:

\begin{itemize}
\item \textit{Simplicity}: \texttt{uassign} package is small and easy to modify
\item \textit{Hide environments}: Ability to produce a question sheet (questions only) and a solution sheet (solutions only) or both. This is done by passing the \texttt{hidequestions} or \texttt{hideanswers} option to the package.
\item \textit{Flexibility}: The \texttt{uassign} package doesn't create conflicts with other packages, such as \texttt{hyperref} when included. Commands which could cause conflicts with other packages are used only when certain options are passed to the \texttt{uassign} package.

\end{itemize}% see http://tex.stackexchange.com/questions/242036/multiline-code-listings-in-cweb

\section{Features}

\subsection{Environments}

\begin{table}[!htpb]
\centering
\begin{tabular}{l l l}
\hline
Environment & Description \\ \hline
\texttt{question} & Assignment questions \\ 
\texttt{solution} & Assignment solutions \\
\texttt{example} & Illustrative examples \\ 
\texttt{exsolution} & Solution to examples \\ 
\texttt{definition} & Definitions for terms \\ \hline
\end{tabular}
\caption{Environments provided by \texttt{uassign}}
\end{table}

\vspace{10mm}
\subsection{Commands}

\begin{table}[!htpb]
\centering
\begin{tabular}{l l l}
\hline
Command & Description \\ \hline
\verb|\ientry| & Bold-faced index entry \\ \hline
%\verb|\ebox| & Square box to end solution \\ \hline
\end{tabular}
\caption{Commands provided by \texttt{uassign}}
\end{table}

\subsection{Options}

\begin{table}[!htpb]
\centering
\begin{tabular}{l l}
\hline
Option & Description \\ \hline
\verb|hidequestions| & Hide \texttt{question} \\
\verb|hideanswers| & Hide \texttt{solution} \\ 
\verb|assignheader| & \texttt{fancyhdr} \\ 
\verb|notesheader| & \texttt{titlesec}, \texttt{fancyhdr} \\ 
\verb|links| & \texttt{hypersetup} format \\ \hline
\end{tabular}
\caption{Options provided by \texttt{uassign}}
\end{table}

\subsection{Packages used}

\begin{table}[!htpb]
\centering
\begin{tabular}{l l}
\hline
Package(s) & Usage \\ \hline
\texttt{ifthen} & Processing options \\ 
\texttt{hyperref} & Hyperlinks in pdf \\
\texttt{bookmark} & pdf bookmarks \\ 
\texttt{color} & Color links \\ 
\texttt{enumerate} & Options for \texttt{enumerate} \\ 
\texttt{amsmath, amsthm} & Math typesetting \\ 
\texttt{fancyhdr} & Format top of page header \\
\texttt{titlesec} & Format section, chapter \\ \hline
\end{tabular}
\caption{Packages used by \texttt{uassign}}
\end{table}

\section{Demonstration}

\subsection{question environment}

\begin{verbatim}
\begin{question}
What is the answer to life?
\end{question}
\end{verbatim}

\hrule
\begin{question}
What is the answer to life?
\end{question}

\vspace{3mm}
\hrule

\subsection{solution environment}

\begin{verbatim}
\begin{solution}
The answer is 42.
\end{solution}
\end{verbatim}

\hrule
\begin{solution}
The answer is 42.
\end{solution}

\vspace{3mm}
\hrule

\subsection{example environment}

\begin{verbatim}
\begin{example}
Explain what facebook is.
\end{example}
\end{verbatim}

\hrule
\begin{example}
Explain what facebook is.
\end{example}

\vspace{3mm}
\hrule

\subsection{exsolution environment}

\begin{verbatim}
\begin{solution}
Facebook is a social media site.
\end{solution}
\end{verbatim}

\hrule 
\begin{exsolution}
Facebook is a social media site.
\end{exsolution}

\vspace{3mm}
\hrule

\subsection{definition environment}

\begin{verbatim}
\begin{definition}
The \ientry{mean} is the average value.
\end{definition}
\end{verbatim}

\hrule
\begin{definition}
The \ientry{mean} is the average value.
\end{definition}

\vspace{3mm}
\hrule

\end{document}
