\NeedsTeXFormat{LaTeX2e} \ProvidesPackage{assign}[2015/09/23 v1.01 University assignments package] % Author: Nathan Esau % % Packages included: ifthen, hyperref, bookmark, color, enumerate, % amsmath, fancyhdr, titlesec % Options: notesheader, links, hideanswers, hidequestions, % assignheader % Environments: question, solution, example, exsolution, definition % Commands: ientry %% Project Public License, as described in lppl.txt in the base %% LaTeX distribution, either version 1.2 or (at your option) %% any later version. \RequirePackage{ifthen} \RequirePackage{hyperref} \RequirePackage{bookmark} \RequirePackage{color} \RequirePackage{enumerate} \RequirePackage{amsmath} \RequirePackage{fancyhdr} \RequirePackage{titlesec} \RequirePackage{amsthm} \makeatletter % Commands \newcommand{\ebox}[1]{% \hfill$\qed$ } \newcommand{\ientry}[1]{% \index{#1}\textbf{#1}} % Counters \newcounter{questioncounter} \newcounter{solutioncounter} % For hiding question environment \newboolean{showquestions} \setboolean{showquestions}{true} % For hiding solution environment \newboolean{showanswers} \setboolean{showanswers}{true} \DeclareOption{hideanswers}{\setboolean{showanswers}{false}} \DeclareOption{hidequestions}{\setboolean{showquestions}{false}} \DeclareOption{assignheader}{% \pagestyle{fancy} \fancyhf{} \renewcommand{\headrulewidth}{0pt} % Define rhead, lhead in assignment %\usepackage[margin=1.0in,headheight=27.18335pt]{geometry} \setlength{\headheight}{27.18335pt} \cfoot{\thepage} } \DeclareOption{notesheader}{% % Format header \pagestyle{fancy} \renewcommand{\chaptermark}[1]{\markboth{#1}{}} \fancyhf{} \renewcommand{\headrulewidth}{0pt} \fancyhead[CE]{\textit{\nouppercase{\leftmark}}} \fancyhead[CO]{\textit{\nouppercase{\rightmark}}} \fancyhead[LE,RO]{\thepage} \cfoot{} % Format chapter \titleformat{\chapter}[display] {\bfseries\filcenter} {\huge\thechapter} {1ex} { \vspace{2ex}% \LARGE} [\vspace{0.5ex}% {\titlerule[1.0pt]} \vspace{10.0ex} ] \titlespacing*{\chapter}{0pt}{-30pt}{40pt} % Format section \titleformat*{\section}{\centering\large\bfseries} \titleformat*{\subsection}{\centering\normalsize\bfseries\itshape} } \DeclareOption{links}{% % Hyper link setup \hypersetup{ colorlinks, linkcolor={blue}, linktoc=page, urlcolor=blue } % } \DeclareOption*{\PackageWarning{uassign}{Unknown ‘\CurrentOption’}} \ProcessOptions\relax % For hiding question and solution environments \newsavebox{\trashcan} % Question environment \ifthenelse{\boolean{showquestions}}{% % show the questions \newenvironment{question}{% % \bigskip \refstepcounter{questioncounter} \vspace{-5mm} \list{\thequestioncounter .}{% \settowidth{\leftmargin}{10. \hskip\labelsep}% \labelwidth\leftmargin\advance\labelwidth-\labelsep \partopsep=0pt\bigskip \item \begingroup }% \endgroup }{\endlist}}% {% % don't show the questions \newenvironment{question}{% \begin{lrbox}{\trashcan} \begin{minipage}{5cm} }% {% \end{minipage} \end{lrbox}}% } % Solution environment \ifthenelse{\boolean{showanswers}}{% % show the answers \newenvironment{solution}[1][1.5em]{% % \bigskip \refstepcounter{solutioncounter} \vspace{-5mm} \list{\ifthenelse{\boolean{showquestions}}{}{\thesolutioncounter .}}{% \settowidth{\leftmargin}{10. \hskip\labelsep}% \labelwidth\leftmargin\advance\labelwidth-\labelsep \partopsep=0pt\bigskip \ifthenelse{\boolean{showquestions}}{% \bigskip \item[] \textbf{Solution: } \medskip \item[]} {\item}% \begingroup }% \endgroup }{\endlist}}% {% % don't show the answers \newenvironment{solution}{% \begin{lrbox}{\trashcan} \begin{minipage}{5cm} }% {% \end{minipage} \end{lrbox}}% } \newcounter{examplecounter} %\numberwithin{examplecounter}{chapter} \newcounter{exsolutioncounter} %\numberwithin{solutioncounter}{chapter} \newcounter{defcounter} %\numberwithin{defcounter}{chapter} % Example environment \newenvironment{example}{ \bigskip \refstepcounter{examplecounter} \noindent\textbf{Example \theexamplecounter} }{} % Solution environment \newenvironment{exsolution}{ \bigskip \refstepcounter{exsolutioncounter} \noindent\textbf{Solution \theexsolutioncounter} \begingroup \endgroup }{} % Definition environment \newenvironment{definition}{ \bigskip \refstepcounter{defcounter} \noindent\textbf{Definition \thedefcounter} }{} \makeatother