summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/uassign
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/uassign
Initial commit
Diffstat (limited to 'macros/latex/contrib/uassign')
-rw-r--r--macros/latex/contrib/uassign/README.md27
-rw-r--r--macros/latex/contrib/uassign/uassign.pdfbin0 -> 112902 bytes
-rw-r--r--macros/latex/contrib/uassign/uassign.sty202
-rw-r--r--macros/latex/contrib/uassign/uassign.tex186
4 files changed, 415 insertions, 0 deletions
diff --git a/macros/latex/contrib/uassign/README.md b/macros/latex/contrib/uassign/README.md
new file mode 100644
index 0000000000..c4c9c84dae
--- /dev/null
+++ b/macros/latex/contrib/uassign/README.md
@@ -0,0 +1,27 @@
+Version: 1.01
+Date: September 23, 2015
+Author: Nathan Esau
+Package: uassign
+
+# Overview
+
+## Description
+
+The purpose of the uassign package is to provide simple question and solution
+style environments for typesetting university assignments. The uassign package
+was designed with the following objectives in mind:
+
+* Simplicity: uassign package is small and easy to modify
+* Hide environments: ability to produce a question sheet (questions only) and
+ solution sheet (solutions only) or both. This is done by passing the
+ hidequestion or hideanswers option to the package
+* Flexibility: the uassign package doesn't create conflicts with other packages,
+ such as hyperref when included. Commands which could cause conflicts with
+ other packages are used only when certain options are passed to the uassign
+ package
+
+Environments: question, solution, example, exsolution, definition
+Commands: ientry
+Options: hidequestions, hideanswer, assignheader, notesheader, links
+Packages used: ifthen, hyperref, bookmark, color, enumerate, amsmath, amsthm,
+ fancyhdr, titlesec
diff --git a/macros/latex/contrib/uassign/uassign.pdf b/macros/latex/contrib/uassign/uassign.pdf
new file mode 100644
index 0000000000..1500c13c36
--- /dev/null
+++ b/macros/latex/contrib/uassign/uassign.pdf
Binary files differ
diff --git a/macros/latex/contrib/uassign/uassign.sty b/macros/latex/contrib/uassign/uassign.sty
new file mode 100644
index 0000000000..07befed26f
--- /dev/null
+++ b/macros/latex/contrib/uassign/uassign.sty
@@ -0,0 +1,202 @@
+\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
diff --git a/macros/latex/contrib/uassign/uassign.tex b/macros/latex/contrib/uassign/uassign.tex
new file mode 100644
index 0000000000..0b8c40c234
--- /dev/null
+++ b/macros/latex/contrib/uassign/uassign.tex
@@ -0,0 +1,186 @@
+\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}